RIP(Routing Information Protocol)

윤정현·2024년 8월 27일

RIP(Routing Information Protocol)

  • 거리 벡터 라우팅 프로토콜(Distance Vector Routing Protocol)
    , 거리와 방향을 기준으로 데이터가 담긴 패킷을 전달

  • AS내부를 구성하는 IGP(Interior Gateway Protocol)이다.

  • Hop Count를 기준으로 Hop Count가 가장 작은 최적의 경로를 찾는다.
    (최대 15홉, 16은 무제한 즉, 네트워크나 호스트가 도달할수 없음을 의미)

  • 자신의 라우팅 테이블을 30초 주기로 전파한다.
    (업데이트시 경로 이상이나 새로 생긴 경로 등의 정보를 갱신)

RIPv1 / RIPv2

RIPv1RIPv2
라우팅 테이블 전송 방식BroadcastingMulticasting
사용하는 주소255.255.255.255
(브로드캐스트 주소)
224.0.0.9
(멀티캐스트 주소)
자동 축약XO
VLSM 지원XO
Classless 체계 사용 가능 여부XO
* VLSM (가변길이서브넷), 이중 서브넷팅이라고 생각하면된다.

RIPv1의 문제점

  • Classful routing protocol을 사용하여 서브넷 경계가 자동요약이 일어나기 때문에 서브넷 구간에 라우팅 문제가 발생할 수 있습니다

RIPv1 문제를 해결하기 위한 RIPv2

  • Classless routing protocol을 사용하여 no auto-summary 명령어를 이용하여 자동요약을 해지시킨다.

    Passsive-interface 명령어를 사용하여 불필요한 인터페이스로 RIP 업데이트 전송하는 패킷을 차단시킨다.

장점

  • 소규모 네트워크 상에서 효율적이다.(메모리 자원 적게 사용)

  • 다른 라우팅 프로토콜에 비해 구성이 간편하다.

  • 표준 라우팅 프로토콜로써 모든 제조사의 라우터에서 지원하는 프로토콜

  • Cisco 라우터의 경우 4~6개의 경로에 대한 로드밸런싱이 가능하다.

단점

  • 라우터끼리 동기화를 시켜주지 않으면, 서로 정보가 달라 Routing looping이 발생할 수 있다.

  • 전체 경로를 담은 라우팅 정보를 브로드 캐스팅 함에 따라서, traffic 에 부하를 준다.

  • 라우터끼리 각 30초마다 정보를 보내므로, 라우터가 많아지면 수분 이상이 걸린다. Low Convergence를 가진다.

  • Hop Count가 15 까지밖에 존재하지 않아 규모가 큰 네트워크에서 사용하기에는 무리가 있다.

경로 결정

  • TCP/IP는 데이터그램이 라우터를 지날떄 마다 홉을 센다.
    (RIP 거리는 라우터와 네트워크 사이의 거리를 라우터 수로 계산)

  • 라우터가 네트워크와 직접 연결되있으면 1홉임

  • 1개 라우터를 거치면 2홉

  • 같은 네트워크에 있는 라우터가 N의 비용으로 네트워크 X로 갈 수 있다는 메세지를 받으면 그 라우터는 자신은 네트워크 X로 N+1 만에 갈 수 있다고 계산함

RIP Timer

주기적인 RIP 라우팅 업데이트를 할 때 시간 간격을 제어하거나, 네트워크 토폴로지가 변경될 때 RIP 경로를 갱신할 때 사용된다.

  • Update Timer (0 ~ 30초)
    주기적으로 라우팅 업데이트할 때 사용되는 시간 (수신하면 0초로 리셋)

  • Invaild Timer (30 ~ 180초)
    라우터가 다른 라우터로부터 180초 이상 업데이트를 받지 못하는 경우
    업데이트 하지 않는 라우터의 경로를 사용 할 수 없는

  • Hold Down Timer (180 ~ 360초)
    라우팅 업데이트를 수신하지 않는다.

  • Flushed Timer (0 ~ 240초)
    라우터가 다른 라우터로부터 240초 이상 업데이트를 받지 못하는 경우
    업데이트 하지 않는 라우터의 모든 라우팅 테이블 항목을 제거한다.

Routing Looping

  • 위 그림과 같이 구성하였을 때, n1이 다운되면, 라우터 A는 자신의 n1인터페이스가 다운됨을 감지하고, 자신의 라우팅 테이블에 해당 n1의 경로가 없다고 표시한다.
    하지만, 이 변경된 값을 이웃한 라우터 B에게 즉시 알리지 못하고, 최대 30초 기간의 update 타이머 기간동안 기다린다.

  • A가 기다리는 도중에 라우터 B로부터 '나 B가 n1으로 가는 Hop=2인 경로를 알고 있다'고 하는 메시지를 받을 수도 있다.
    이것에 대하여, 라우터 a는 b를 공유하면, Hop=3에 n1으로 갈수 있다고 착각하여, 자신의 라우팅 정보를 수정한다.

  • 라우터 A는 자신의 라우팅 정보(n1으로의 h=3)를 일정시간 뒤에 B에게 보내면, 라우터 B는 전에 A가 나에게 말하길 n1은 A가 Hop 1 만에 도달가능하다고 했었는데, 이번에는 A가 Hop 3의 경비로 도달가능하다.
    라고 판단하고 n1에 대한 경로정보로 A를 경유하여 Hop=4로 갈 수 있다고 잘못 갱신한다.

  • 이러한 과정은 계속 반복될 것이며 결국은 Cost Hop이 무한히 증가해버리는 라우팅 루핑에 빠지게 된다.

RIP 알고리즘 문제 해결

Max Hop Count : Hop Count가 15 를 넘지 않도록 한다.

  • Infinity Looping 문제점을 해결하기 위한 방법으로 최대 허용 Hop 수를 유한값으로 제한하여 Bad news가 유한개의 라우팅 정보 교환에 의해 결국 알려 질수있도록 한다.

Hold down timer : 일정 시간동안은 경로에 대한 새 정보를 받지 않게 한다.

  • 라우터는 어떤 네트워크가 도착 불가능해졌다는 정보를 받으면 타이머를 시작

  • 홀드 다운 타이머가 만료될 때 까지는 해당 경로가 접근 가능하다는 메시지를 버린다(타이머는 대부분 60~120초)

  • 경로가 더 이상 유효하지 않다는 정보를 최근에 받았을때 경로에 접근 할 수 있다는 잘못된 정보에도 라우터가 속지 않도록 할 수 있음

  • 오래된 정볼르 버릴 수 있는 일정시간을 두기 때문에 복잡한 인터네트워크에서 매우 유용함

Split Horizon : 이미 전달받은 네트워크에 대한 정보는 받지 않게 한다.

  • 무한 세기 문제는 기본 RIP 알고리즘에 가장 심각한 문제

  • 라우터가 인터네트워크를 보는 시야를 좁혀 특정 링크에 맞는 정보만 보내야 함 -> 수평 분할

  • 라우터가 자신이 접속하고 있는 네트워크로 RIP 응답 메시지를 보낼때 그 네트워크에서 배운 경로 정보는 보내지 않음

  • 많은 라우터가 간접적으로 연결되어 있는 경우 수평 분할로도 무한 세기 문제를 제거 X -> 홀드 다운 특성 이용

Poison Reverse : Split Horizon 과 유사, 라우팅 정보를 보내긴 하지만 Hop Count 를 16으로 설정하고 보낸다.

  • 기본 수평 분할 특성을 개선하기 위해 포이즌 리버스(poisoned reverse) 기능을 추가

  • 특정 인터페이스에서 습득하 경로를 전송하는게 아니라 그 인터페이스로 RIP 응답 메시지를 보낼 때 척도를 RIP 무한 또는 16으로 설정함

  • 다른 라우터가 특정 경로를 위해 자신의 인터페이스를 사용하지 못하도록 독을 치는것을 의미

주요 명령어

Router(config) #router rip
- Routing Mode 중 RIP 설정

Router(config-router) #version2
- RIPv2 설정

Router(config-rotuer) #network x.x.x.x
- 내게 인접한 네트워크주소

Router(config-router) #no auto-summary
- 자동 축약 해제

* auto-summary란 라우팅 정보에 포함된 네트워크와 라우팅정보가 전송되는 인터페이스의 주 네트워크가 다른 지점에서 자동 축약이 일어나는 것이다.

추가 명령어

Router(config-router) #passive-interface g0/0/0
- 불필요한 라우팅 정보를 보내지 않을때 사용 (부하 감소)

Router(config-router)#timers basic update invalid holddown flush
Router(config-router)#timers basic 50 100 150 300
- RIP Timer 설정

Loop 방지

트리거드 업데이트 방식

  • WAN처럼 대역폭이 제한된 네트워크 주기적으로 라우팅 업데이트 하는 대신, 변화가 있을 때 라우팅 업데이트를 한다.
    (WAN Point-to-Point, 시리얼 인터페이스에서만 지원)

R1(config)#int serial 0/0
R1(config-if)#ip rip triggered

루트 포이즈닝

  • 특정 네트워크가 장애나 삭제된 것을 인식한 라우터가 인접 라우터에게 metic 16 정보를 광고하여 더 이상 도달할 수 없는 네트워크 정보를 업데이트 해준다.

Router(config)#interface ethernet 1/2
Router(config-if)#ip rip poison-reverse

스프릿 호라이즌

  • 라우팅 정보를 수신한 라우터는 전달해준 인터페이스 포트를 기록해두고 해당 인터페이스로는 동일한 라우팅 정보를 중복 전달하지 않는다.

R0(config)#interface gigabitEthernet 0/0
R0(config-if)#ip split-horizon

profile
System Engineer

0개의 댓글