Book/CCNA

Routing Protocol-RIP

Hayley Shim 2016. 1. 5. 14:34

Routing Protocols

 

1. Routing Information Protocol(RIP) :  * 참고 : http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=178&id=439

- distance vector 라우팅 프로토콜.

- 매 30초마다 모든 전체 라우팅 테이블을 active interface로 전송함. RIP는 원격 네트워크로의 최선의 통로를 결정하는 방법으로 hop 수만을 사용함. 최대 허용 hop 수는 15이므로 16은 도달불능으로 간주됨

- RIP는 소규모 네트워크에서는 잘 작동하지만 느린 WAN 링크를 가진 대규모 네트워크 혹은 많은 수의 라우터들이 설치된 네트워크에서는 비효율적

- RIP 버전 1은 단지 classful routing만을 사용하는데 이는 모든 네트워크상의 장비가 동일한 서브넷 마스크를 사용해야만 한다는 것을 의미함. 이는 RIP 버전1이 서브넷 업데이트와 함께 마스크 정보를 송신하지 않기 때문

- RIP 버전 2는 prefix 라우팅을 제공하며 경로 업데이트들과 함께 서브넷 마스크 정보를 보냄. 단, RIPv2라우팅 업데이트 정보에 서브넷 마스크 정보를 포함하여 VLSM 지원. 이를 classless routing 이라 부름

 

RIP 메세지 종류

  ㅇ RIP 요청메세지
     - 다른 라우터에게 라우팅 테이블 일부 또는 전부를 요청
        . 보통, 네트워크에 처음 연결된 라우터에서 발송

  ㅇ RIP 응답메세지
     - 해당 라우터 자신의 라우팅 테이블 일부 또는 전부를 송출
        . 단, RIP 요청메세지에 대한 응답으로 만 송출하지 않음 (트리거드 업데이트 등)

 

RIP 패킷 형식

 

 RIP 패킷 각 필드

  ㅇ Command                   
       1 : RIP Request for routing table information
       2 : RIP Response containing routing table information
       3 : trace on (현재 안쓰임), 4 : trace off (현재 안쓰임), 5 : SUN社 전용

  ㅇ Version
     - 버젼 1 또는 2 (여기서는 1로 기준하여 설명됨)

  ㅇ Address Family Identifier
     - RIP는 여러가지 다른 형태의 프로토콜에서 사용이 가능
     - IP에 대하여는 Address Family Identifier = 2

  ㅇ IP address

  ㅇ Metric (Hop Count of the Entry)
     - 이 값이 16을 가지면 네트워크에 도달하지 못한다

  ※ 위 메세지 형식에서,
     Address Family Identifier 부터 Metric까지는 동일 RIP 패킷내에서 25번까지 되풀
     이되어 나타날 수 있음

 

RIP 타이머

- RIP는 그 성능을 조절하기 위해 세 가지 다른 종류의 타이머 사용

1) Route update timer : 주기적으로 라우팅 업데이트간의 간격(통상 30초)을 설정하는데 그 동안 라우터는 모든 인접 라우터로 자신의 라우팅 테이블의 완벽한 사본을 보내게 됨. 라우팅 테이블 전체를 브로드캐스트 또는 멀티캐스트 방식으로 송출

2) Route invalid timer : 라우터가 경로가 무효하게 됨을 결정하기 이전에 만료되어야만 하는 시간의 길이(90초)를 결정. 만일 그 기간 동안 특정한 경로에 관해 어떤 업데이트도 수신하지 못했다면 이 타이머를 무효로 판단. 그런 일이 발생하면 라우터는 모든 이웃한 라우터들에게 업데이트를 전송하여 그 경로가 무효함을 알리게 됨


  ㅇ Garbage Collection 타이머 : 120초  (Garbage Collection Timer)
     - 도착불가능 16(무한)으로 표시하고 주변에 알리며, 즉각 삭제 유예하는 시간

  ㅇ Timeout 타이머  : 180초
     - 라우팅 테이블에 있는 매 경로 마다 만료(Timeout) 타이머를 둠
        . 업데이트 정보(RIP 응답메세지)에
           .. 해당 경로가 있으면 만료 타이머를 초기화하고,
           .. 만료 타이머 종료시까지 해당 경로가 없으면 도착 불가능(16,무한)으로 표시

3) Route flush timer : 경로가 무효화되어 라우팅 테이블로부터 삭제될 때까지의 시간(240초)을 설정. 업데이트 없는 경로에 대해서는 라우팅 테이블에서 해당 경로를 제거. 경로가 테이블로부터 제거되기 전에 라우터는 그 경로의 임박한 운명을 인접라우터에 알림. Route invalid timer의 값은 Route flush timer의 값보다는 작아야만 한다. 이는 라우팅 테이블이 업데이트 되기 전에 라우터가 무효한 경로에 관해 인접 라우터에게 알릴 충분한 시간을 제공


  ㅇ Triggered Update (트리거 갱신)
     - 토폴로지 변화시 업데이트 타이머 종료전이라도 즉각 라우팅 업데이트 정보 송출

 

RIP 문제점

  ㅇ Slow Convergence (늦은 수렴성)
     - 라우터들끼리 주기적으로(30초 간격) 경로 업데이트를 하며 경로 재계산함에 따라
        . 몇 개 라우터 만 지나도 수분 이상 걸림

  ㅇ 라우팅 트래픽 부하
     - 전체 경로를 담은 라우팅 테이블주기적으로 보로드캐스트함에 따라    
        . network에 이에따른 traffic 부하를 줌

  ㅇ Count-to-Infinity Problem 
     - 느린 수렴 시간 때문에, 나쁜 경로를 다른 라우터에게 전하면 그 라우터는 더 느리게
       더 나쁜 정보로써 다른 라우터에게 전하게되면서 결국 무한(16) 홉 수로 가는 현상

  ㅇ 라우팅 루프
     - 전 라우터들 사이에 동기화를 시켜주지 않으면 패킷의 경로가 부적절하게될 수 있음
     - 매 30초 마다 업데이트되는 까닭에 다운(Down) 등의 나쁜 소식이 늦게 전달되어 잘못된 경로로 무한 루프(Infinite Loop)를 도는 사태 발생

라우팅 루프를 방지하기 위한 기능

1. Maximun hop count  : hop수는 패킷이 라우터를 통과할 때마다 무한히 증가. 이러한 문제해결의 한 방법은 최대 hop 수를 정의하는 것. distance vector(RIP)는 15번까지의 hop 수를 허용하며 따라서 16번의 hop 수를 요구하는 어떤 것들도 도달불능으로 판단됨. 패킷들은 계속 루프에 들어가서 보통으로 전송되는 대신 16번 동안 루프를 따라 돌다가 소멸함

 

2. Hold downs

- 다운된 경로를 부활시킬 때까지 일정한 시간을 요구하는 등 다음의 최적경로를 찾기에 앞서 네트워크가 어느 정도 안정할 때까지 기다리게 하는 방법으로 경로가 급격히 변화하지 않도록 해줌

- hold down 타이머 : 라우터가 인접한 라우터들로부터 우선적으로 엑세스할 수 있는 네트워크가 동작하지 않고 접속불가 상태라는 업데이트를 받았을 때 가동

- 인접라우터에서 본래의 네트워크 항목보다 더 적절한 측정값(metric)을 가진 새로운 업데이트를 받는다면 hold down은 제거되어 데이터가 넘겨짐. 단, hold down 타이머 기한이 끝나기 전에 인접라우터에서 업데이트를 받고 그 측정값이 이전의 경로보다 작은 경우 무시되고 hold down 타이머는 계속 동작

- triggered update : 네트워크 안의 변화를 인접 라우터들에게 알리기 위해 hold down 타이머를 reset 하는 것. 인터네트워크 상에 감지된 변화에 따라 바로 인접 라우터들에게 전송되는 새로운 라우팅 테이블을 만듦

- triggered update가 hold down 타이머를 reset할 경우

1)  hold down 타이머가 종료된 경우

2) 라우터가 인터네트워크 내의 링크 수에 비례하여 처리작업을 수신하는 경우

3) 네트워크 상태 변화를 알려주는 다른 업데이트가 수신된 경우

 

3. split horizon

- distance vector 네트워크에서 정보가 온 방향으로는 정보를 되돌리는 것을 금지시킴으로써 부정확한 라우팅 정보와 라우팅의 오버헤드를 경감시킴. 즉, 라우터 A가 라우터 B로부터 수신한 업데이트된 정보를 다시 라우터 B로 되돌리는 것을 막을 수 있음

 

4. Route Poisoning

- 모순된 업데이트에 의해 발생하는 문제를 피하기 위한 방법. 예를 들면, 네트워크 5가 다운되었을 때, 라우터 E는 라우팅 테이블 엔트리에 네트워크 5는 16 혹은 infinity로 표시함으로써 경로 poisoning을 시작함. 이러한 네트워크 5로의 경로를 poisoning함으로써 라우터 C는 네트워크 5로의 경로에 과한 부정확한 업데이트를 받지 않게 됨. 라우터 C가 라우터 E로부터 라우터 poisoning을 수신하면 poison reverse라 불리우는 업데이트를 라우터 E로 돌려보냄. 이로써 세그먼트상의 모든 경로들이 poisoned route information을 받은 것을 확실하게 해줌

 

광고 수익은 기부 활동에 사용됩니다

정보를 얻으신 분들은 광고 클릭 부탁드려요 :)

 

'Book > CCNA' 카테고리의 다른 글

Routing Protocol-OSPF  (0) 2016.01.11
VLANs  (0) 2016.01.05
IP Routing  (0) 2016.01.05
TroubleShooting TCP/IP  (0) 2016.01.05
Summarization  (0) 2016.01.05