IT 이야기/Network

IP 라우팅 프로토콜

클톡(CloudTalk) 2016. 4. 18. 15:12

IP 라우팅 프로토콜

1) RIP (Routing Information Protocol)

  버클리 대학에서 개발한 RIP은 오늘날 네트웍에서 가장 널리 사용되고 있는 라우팅 프로토콜이다. RIP에서는 액티브(Active: Router)와 패시브(Passive: Host) 두 가지 유형의 사용자를 정의하고 있다. 액티브 사용자는 자신이 속해있는 네트워크 내에서 데이타그램 패킷을 통해 매 30초마다 라우팅 정보를 방송한다. 반면에, 패시브 사용자는 RIP 정보를 수신하여 경로를 갱신하지만 스스로 라우팅 정보를 송신하지는 않는다.

(1) RIP 절차

  1. 라우팅 테이블은 데이타그램 패킷을 통하여 모든 라우터에 방송된다.
  2. RIP에서는 최대 Hop을 16으로 제한하므로 16 이상의 경우는 도달할 수 없는 네트워크를 의미한다.
  3. 매 30초마다 라우팅 정보를 방송한다.
  4. 만약 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주한다.

(2) RIP 규칙

  1. RIP로 수신한 라우팅 정보는 단지 180초 동안만 유효하다.
  2. 현재의 Hop수 보다 낮은 Hop수의 라우팅 정보를 수신하면, 새로 수신한 라우팅 정보로 대체하여 효율적인 경로를 선택한다.

(3) RIP의 단점

  1. Hop 수가 16으로 제한되어 있어 대규모 네트워킹에서는 RIP을 적용할 수 없다.
  2. RIP에서 사용하는 벡터 인스턴스 알고리즘은 네트웍의 고장 또는 변화가 일어난 이후에 이 사실이 전체 네트웍에 전달되어 안정화되는데 까지 많은 시간이 소요된다. 이 문제는 Spilt Horizon, Hold Down, Poison Reverse 등의 방법으로 해결한다.
    - Spilt Horizon : 정보가 입력된 곳으로는 재전송하지 않는다.
    - Hold Down : 어떠한 경로가 장애가 발생하였을 경우 테이블에서 그 경로를 제거시키기 전에 일정한 시간 동안 그 목적지로 가는 다른 어떤 경로도 존재하지 않을 경우에 대해 제거한다. 그러나 이것은 오래된 경로가 문제가 발생되어 없어져서 새로운 경로에 대한 적응에 지연 시간을 갖는 단점도 있다.
    - Poison Reverse : 고장나는 경우 즉시 해당 경로의 Hop을 16으로 정정 후 여러 차례 전송한다.
Router(config)# router rip
Router(config-router)# network network-number  

2) IGRP (Interior Gateway Routing Protocol)

  시스코(Cisco)사에서 독자적으로 개발한 프로토콜로, 독립적 네트워크 내에서만 사용하기 위해 개발된 것이다. RIP과 유사하게 IGRP는 Hop수를 기준으로 한 정보를 전송한다. 라우팅 경로의 결정은 회선의 전송 능력, 전송 지연 시간, 회선의 사용율, 신뢰성(에러율), MTU를 바탕으로 결정한다. IGRP는 또한 복수의 경로 상에서의 로드 밸런싱(Load Balancing) 기능을 지원한다.

  IGRP는 Internal Gateway Protocol (IGP)용으로 설계되었는데, 일반적으로 IGP는 최적의 경로를 만들어 내는 것과 변화에 대한 빠른 반응에 중점을 둔다. 반면, EGP는 네트웍의 안정과 관리 제어가 필요한 곳에서 사용된다.

  IGRP는 Xerox의 RIP과 버클리의 RIP, Dave Mills의 Hello와 약간 비슷하다. 그러나 다른 점은 보다 크고 복잡한 네트웍을 위해 개발되었다.

  IGRP 라우팅 알고리즘은 Distance Vector 프로토콜이다. 이 방법은 Bellman-Ford 알고리즘으로 알려져 있으며, RFC 1058에 보다 자세한 설명이 되어 있다. 이러한 프로토콜은 오직 인접한 라우터들과의 라우팅 정보교환을 수행한다. 이러한 라우팅 정보에는 나머지 네트웍이 정보들은 네트웍과 거리라는 축약된 정보로 받아들여 진다.

  IGRP는 일반적인 Bellman-Ford 알고리즘을 세가지 방식에서 큰 차이를 가지는데, 경로 설정에 따른 메트릭 계산을 다양한 값을 가지고 하는 것과, 일정 범위 안에 속하는 메트릭을 가진 복수 경로상에서 트래픽을 분산시킬 수 있는 것과, 마지막으로 네트웍이 위상이 변하였을 때 몇 가지 기법들을 사용하여 안정화시킬 수 있는 방법들을 제공하는 것이다.

  또한 라우팅 루프를 방지하기 위해 어떠한 변화에 대해 일정한 시간이 경과되지 않은 상태에 새로운 정보가 들어오면 무시된다.

  라우터는 직접 연결된 모든 네트웍의 정보를 가지고 시작하는데, 인접 라우터와 라우팅 정보 갱신을 교환하므로 다른 네트웍데 대한 정보를 얻는다. 그리고 각 네트웍에 도달하는 가장 좋은 경로 중 하나를 선택한다. 경로는 전송해야 할 패킷과 사용될 네트웍 인터페이스, 그리고 메트릭 정보는 다음 라우터에 의해 결정되어 진다. 두개 이상의 경로에 대해 트래픽을 분산시킬 수가 있는데, IGRP는 두 개 이상의 경로가 같다고 판단될 때 수행한다. 관리자는 그 경로에 대해 거의 같게 하여 트래픽을 분산시켜 줄 수가 있다. 이 경우 트래픽은 더 좋은 메트릭을 가진 경로를 따라 전송된다. 9600bps와 19200bps라인 사이에서의 트래픽에 대해 분산시킬 수가 있는데, 19200bps 라인이 9600bps라인보다 거의 두 배 이상의 트래픽을 보낼 수 있다.

  복합 메트릭을 사용하는데는 두 가지의 이점이 있다. 데이터의 전송에 있어서 다양한 타입의 서비스를 지원하는 것과 최적 경로 산출에 있어서의 정확도를 향상시킬 수 있다는 것이다. 다양한 타입의 서비스는 경로로 변형을 시켜서 보내는 데이터 패킷을 말하는데, 예를 들면, TCP/IP 프로토콜은 패킷 처리에 있어서 높은 회선 속도와 낮은 지연 시간, 높은 회선 신뢰도들이 상대적으로 다른 것에 비해 중요하다. 대량의 파일 전송 응용들이 높은 회선 속도를 요구하는데 반해, 상호작용하는 텔넷과 같은 응용 프로그램들은 낮은 회선 지연 속도를 요구한다. 이러한 요구는 메트릭 계산에 있어서 상대적으로 반영되어 계산된다.

IGRP에서 사용하는 메트릭은 다음과 같다.

(1) 위상 지연 시간

위상 지연 시간은 네트웍에 아무런 사용도 없다고 가정한 상태에서의 목적지까지 가는 경로를 통해 얻어지는 시간을 말한다. 물론 사용량이 많다면 부가적인 지연 시간이 존재한다. 그렇지만, 사용량은 실제 지연 시간을 측정하려고 시도하는 것이 아니라 채널 점유로 사용되는 것에 의한 양이다.

(2) 회선 전송 속도

경로상에 있는 회선의 전송 속도는 가장 느린 회선의 초당 비트 전송 속도이다. 즉, 목적지까지 가는 경로상의 회선 속도가 다양할 경우 그 중 가장 적은 속도를 가진 회선 속도를 의미한다.

(3) 경로상의 채널 점유

채널 점유는 현재 얼마나 많은 회선 속도를 사용하고 있는가를 가리키는데, 그것은 사용량에 대해 변화되는 것을 측정한다.

(4) 경로의 신뢰도

신뢰도는 현재의 에러율을 가리키는데, 이것은 손상받지 않고 목적지까지 도착되는 패킷의 양을 측정하여 계산한다.

(5) 기타

이 값은 메트릭 계산을 위해 사용되지는 않지만 부가적인 정보로 사용한다.

  • 경로 수(Hop count) : 목적지까지 가야되는 경로상의 라우터의 수를 말한다.
  • 최대 전송 단위(MTU) : 전체 경로를 따라가는 동안에 패킷의 분할 없이 보내지게 되는 최대 패킷 크기를 말한다. 즉, 경로 상에 있는 모든 네트웍의 최소 MTU 값과 같다.

최적 경로의 계산은 메트릭 값들을 복합하여 만든다.

  IGRP는 다음과 같은 특징을 가지고 있다.

  1. 네트웍의 규모가 크고 복잡하더라도 안정적으로 움직일 수 있도록 되어 있다. 잠깐 동안일지라도 라우팅 루프는 허용되지 않는다. 이것을 위해 Holddown, Triggered update, Split horizon, 그리고 Poisoning 기법들이 사용된다. Holddown과 triggered update는 잘못된 라우팅을 방지하는데 충분하지만, 다양한 종류의 네트웍 문제에는 완전하지 않다. 그러나 Split horizon과 poisoning을 사용하면 어떠한 경우에 있어서도 라우팅 루프를 방지한다.
  2. 네트웍 위사으이 변화에 대해 빠르게 반응한다.
  3. 라우팅 테이블의 갱신을 위해 꼭 필요한 정보의 변화만을 사용하므로 불필요한 대역폭을 사용하지 않아, 회선에 대한 오버헤드를 감소시킨다.
  4. IGRP는 거의 같은 메트릭 값을 갖는 여러 개의 복수 라우터들 사이에 트래픽을 분산시킨다.
Router(config)# router igrp autonomous-system
Router(config-router)# network network-number   

3) EIGRP(Enhanced Interior Gateway Routing Protocol)

  EIGRP는 시스코(Cisco)사에서 독자적으로 개발한 프로토콜로, IGRP와 같은 Distance vector 기법을 사용하며, 전파 특성과 운영 효율을 통해 더욱 향상시킨 프로토콜이다. 또한 라우팅 계산에 있어서 루프를 없애기 위해 Distrubuted Update 알고리즘(Dual)을 사용한다. 이 Dual 기법을 사용하여 그 어느 다른 라우팅 프로토콜보다 라우팅 전파 속도에 있어 우수하다. 또한 네트웍 계층 프로토콜에 독립적으로 확장되어 졌다.

  EIGRP는 다음과 같은 특징을 가지고 있다.

  1. EIGRP는 multicast Hello 패킷을 사용해서 인접 라우터들을 찾아낸다. 첫번째 Hello가 수신되면 그 인터페이스로 전체 라우팅 테이블을 전송한다. 그리고나서 변화가 생길 때마다 점진적인 갱신을 수행한다. 이러한 변화에 대한 통보는 적절하고 알려져 있는 프로토콜에 의해 신뢰할 만한 전송을 통해 이루어진다.
  2. 이 알고리즘은 네트웍 내에 언제나 라우팅 루프를 제거하고, 모든 라우팅 테이블들 사이에 일치된 정보를 가지는 것을 보장한다. 이 때 브리지에 의해 사용되는 스패닝 알고리즘과 유사한 기법을 사용한다.
  3. 라우팅 테이블 값들은 어느 목적지에든 도달할 수 있는 가장 좋은 경로를 포함하고 있는데, "logical successor"라는 보조 경로 또한 계산한다. 위상의 변화가 생겼을 때 이것을 통해 트래픽을 손실없이 다시 라우팅시킨다. 그래서 이 알고리즘을 Dual 알고리즘이라고 한다.
  4. IGRP에서 EIGRP로의 라우팅 테이블이 갱신되는 전이는 이루어진다. 또한 같은 AS 번호를 사용하는 IGRP 라우터와 EIGRP 라우터는 자동으로 재분배가 이루어진다. 그러나 다른 AS 번호를 사용하면 재 분배를 시켜주어야만 한다.
  5. EIGRP는 다양한 다른 라우티드 프로토콜들을 통합하여 동작되어질 수 있는데, 라우팅 정보의 갱신 트래픽을 줄여 중복된 노력을 제거한다. 예를 들어, IP RIP, AppleTalk RTMP, IPX RIP과 같은 다양한 프로토콜을 모두 각자의 라우팅에 의해 수행되는 것이 아니라 EIGRP 하나로 그러한 정보의 갱신이 가능하도록 하여, 전체적인 갱신 트래픽을 줄일 수 있다. 이 때 각 라우팅 프로토콜마다 테이블의 재 분배는 요구된다.
  6. EIGRP는 네트웍 레벨의 라우트 축약이 자동적으로 이루어지며 기본 값으로 되어 있다. 또한 VLSM을 지원하며, 라우트 필터링도 지원하고, 특정 인터페이스로부터 발생되는 라우팅 프로토콜 갱신을 방지할 수 있다.
  7. 인터페이스에 secondary IP 주소를 부여할 수 있는데, 이것은 OSPF Hello 프로토콜에 의해 인식되지 못한다. 이것은 호스트에 IP를 모두 할당하였거나 브리징 네트웍에서 라우트 네트웍으로의 변환이나, 연속적이지 않은 서브네트웍 주소가 있을 경우에 사용한다.
    Router(config)# router eigrp autonomous-system-number
    Router(config-router)# network network-number
    Router(config-router)# redistribute protocol[option]
    Router(config-router)# default-metric bandwidth delay reliability loading ntu      

    (EIGRP ↔ IGRP)
    Router(config-router)# default-metric number
    (EIGRP ↔ OSPF, RIP, EGP, BGP)

     

  8. IP Unnumbered 주소라는 기법은 시리얼 인터페이스에 IP 네트웍과 주소를 할당하지 않고 IP 처리를 하기 위해 사용되나, OSPF Hello 프로토콜에 의해 인식되지는 못한다.

4) OSPF (Open Shortest Path First)

  IETF(Internet Engineering Task Force)에서 개발한 프로토콜인 OSPF는 link-state 프로토콜을 사용하는 Shortest Path First라는 알고리즘을 사용한다. SPF 알고리즘에서는 모든 라우터가 토폴러지에 관한 모든 정보(네트워크 맵)을 완벽히 갖고 있다. 다음은 OSPF의 특징을 나타낸다.

  1. 사용자에 의한 경로의 지정, 가장 경제적인 경로의 지정, 복수 경로의 선정 등의 기능을 제공하며, 변화의 발생에 관한 정보가 RIP에 비하여 빨리 전파된다.
  2. 라우팅 정보를 인접한 라우터에 모두 전송하는 플러딩(flooding) 방식을 사용하므로 토폴러지에 관한 정보가 전체 네트워크 상의 라우터에서 동일하게 유지한다.
  3. 각 라우터는 자신을 네트워크의 중심점으로 간주하여 최단 경로의 트리를 구성한다.
  4. IP 주소의 효율적인 할당을 위해서 Variable Length Subnet Mask(VLSM)를 사용하며, 경로 축약을 통해  area와 VLSM을 결합시킨다.
  5. 여러 종류의 서비스를 제공하기 위하여 분리된 트리를 사용한다.
  6. 동일한 비용을 갖는 모든 경로에 트래픽을 분산시켜 전송한다.
  7. 라우터 ID는 전체 라우터들을 OSPF에서 식별하는데 사용된다. 이러한 식별은 인접된 라우터들의 관계를 설정하는 것과 네트웍에서 구동되는 SPF 알고리즘의 복사본들 사이에서의 메시지 조정을 위해 중요하다.
  8. Link State Advertisement (LSA)는 신뢰할 수 있는 메시지인데, Distance Vector 프로토콜에서의 라우팅 갱신과 유사한 목적으로 네트웍 위상 정보를 전달한다. 그러나 LSA는 무리적 회선의 상태가 변했을 때 구동된다. LSA는 또한 전체 네트웍 정보를 동기화시키기 위해서 매 30분마다 발생한다.
    라우터가 LSA 정보를 받으면, 전체 위상 데이터베이스에 그 정보가 있는지를 비교하여, 일치하면 30분 타이머를 초기화시키고, 아니면 데이터베이스를 갱신하고, 새로운 테이블을 이용하여 SPF 알고리즘을 통해 나온 LSA를 모든 네트웍이 동기화될 때까지 전송한다.
  9. OSPF 라우팅 프로토콜에는 세가지 네트웍 연결 형태가 지원된다.
    ● 포인트 투 포인트 : 모든 라우터들이 독립적으로 수행한다.
    ● Multiaccess : LAN에서 하나의 라우터가 Designed Router(DR)가 되고, 다른 모든 라우터들은 Multicast hello를 사용해서 인접 라우터 관계를 이 DR을 통해 배운다. 인접 라우터들은 multicast OSPF Hello 패킷을 사용해 통신하는데, 라우팅 정보 교환에 따른 트래픽을 줄이고, 경로 정보 데이터베이스를 동기화시킨다. 새로운 라우터는 multicast 주소 224.0.0.5를 모든 SPF 라우터들에게 Hello 메시지를 보냄으로 알려진다. 그리고 DB와 BDR의 주소를 알게 된다. 
    그러면, 새로운 라우터는 224.0.0.6으로 DB와 BDR에게 LSA를 보낸다. BDR은 타이머를 설정하고 DR에 LSA를 보내기 위해 기다린다. DR은 다른 라우터에게 LSA를 224.0.0.5로 보내고, 모든 라우터의 응답을 기다린다. 만약 BDR이 타이머가 종료되기 전에 DR LSA를 전달받지 못하면, DR이 되고, BDR을 선출한다.
    네트웍이 다운된 것을 DR에게 224.0.0.6으로 보내면 DR은 이것을 다른 라우터에게 224.0.0.5로 보내고, 다른 라우터들은 인접한 다른 네트웍으로 이 LSA를 보낸다.
    ● Nonbroadcast Multiaccess : X.25나 Frame-relay와 같은 Nonbroadcast Multiaccess 환경에서는 다른 모든 OSPF 라우터와 직접 통신할 수 없다. 이런 경우에는 인접 라우터와의 관계를 일일이 수작업으로 설정해 주어야 한다.
  10. LSA에는 2가지 종류가 있는데, 라우터 LSA와 Summary LSA가 있다. 라우터 LSA는 Area를 가진 LSA에 의해 만들어 진다. Summary LSA는 ABR에 의해 만들어지며, OSPF 라우팅 알고리즘을 수행하지는 않는다. 축약은 OSPF 데이터베이스와 라우팅 테이블을 감소시킨다. 라우팅 테이블에는 inter-area route로 표시된다. 또한, Area에 의한 위상 변화는 백본 Area의 변화를 야기시키지 않는다.
  11. OSPF 라우팅 정보에는 2가지 타입이 있다.
    ● Type 1 : internal과 external metric 값을 더한다.
    ● Type 2 : internal metric 값을 더하지 않는다.
  12. OSPF는 RIP과 같이 다른 회사의 장비와 상호 호환성을 제공하는 표준 프로토콜이다. 이 때 metric 계산은 서로 다른 방법을 사용할 수 있기 때문에 cost 값을 조정하여 경로설정을 할 수 있다.

Backbone Router(BR)
Area Border Router(ABR)
Internal Router(IR)
Autonomous System Boundary Router(ASBR)

Router(config)# router ospf process-id
Router(config-router)# network address wildcard-mask area area-id   

[표 3] 라우팅 프로토콜별 우선순위 값

Router SourceDefault Distance
Connected interface
Static route
External BGP
IGRP
OSPF
RIP
Hello
EGP
Internal BGP
Unknown
0
1
20
100
110
120
130
140
200
255

[표 4] 회선 속도에 따른 기본 Cost 값

Interface LineDefault Cost
56 Kbps
64 Kbps
T1 (1.544 Mbps)
E1 (2.048 Mbps)
4 Mbps T/R
Ethernet
16 Mbps T/R
FDDI
1785
1562
65
48
25
10
6
1



출처: http://www.digimoon.net/blog/234?category=11

(기존적인 라우팅 프로토콜은 숙지하는것이 좋습니다. 물론 자격증준비에도 도움이 많이 됩니다. 추천)

'IT 이야기 > Network' 카테고리의 다른 글

Engineer Information Processing (TIL) - 데이터 통신  (0) 2021.10.28