RIP 프로토콜의 문제점과 해결방안을 알아보겠습니다. 전에 했던 그림 그대로 가져왔습니다.
3대의 라우터가 있고 각자 hop count를 주고받아 라우팅 테이블을 업데이트 하였습니다.
1 라우팅 테이블 | 2 라우팅 테이블 | 3 라우팅 테이블 | |||
A | 0 | B | 0 | C | 0 |
B | 0 | C | 0 | D | 0 |
C | 1 | A | 1 | B | 1 |
D | 2 | D | 1 | A | 2 |
그러다가 A네트워크에 문제가 생겨 Down 상태가 됩니다. 이때 계속 방치하게 되면 RIP의 라우팅 루프(Routing Loop)가 생깁니다.
1 라우팅 테이블 | 2 라우팅 테이블 | 3 라우팅 테이블 | |||
A | down | B | 0 | C | 0 |
B | 0 | C | 0 | D | 0 |
C | 1 | A | 1 | B | 1 |
D | 2 | D | 1 | A | 2 |
A네트워크가 다운되어 A로 못내보내는 1라우터는 2라우터에게서 A네트워크의 정보를 받습니다.
하지만 2라우터는 A가 다운된지 모르기 때문에 hop count를 넘기면서 1라우터는 hop count가 증가합니다.
1 라우팅 테이블 | 2 라우팅 테이블 | 3 라우팅 테이블 | |||
A | 2 | B | 0 | C | 0 |
B | 0 | C | 0 | D | 0 |
C | 1 | A | 1 | B | 1 |
D | 2 | D | 1 | A | 2 |
hop count가 변하니까 서로 인접한 라우터끼리 계속 업데이트 되면서 각자 hop count가 증가하게됩니다.
1 라우팅 테이블 | 2 라우팅 테이블 | 3 라우팅 테이블 | |||
A | 2 | B | 0 | C | 0 |
B | 0 | C | 0 | D | 0 |
C | 1 | A | 3 | B | 1 |
D | 2 | D | 1 | A | 4 |
계속 증가하여 hop count가 16이 되어 통신에 제한이 생기게 됩니다.
1 라우팅 테이블 | 2 라우팅 테이블 | 3 라우팅 테이블 | |||
A | 16 | B | 0 | C | 0 |
B | 0 | C | 0 | D | 0 |
C | 1 | A | 16 | B | 1 |
D | 2 | D | 1 | A | 16 |
이런 문제점을 해결하기 위한 5가지 방안이 있습니다.
1. Split Horizon
이 방법은 1라우터가 A네트워크 정보를 2에게 전달한 것이기 때문에 2라우터에게서 A네트워크에 대한 정보를 받지 않도록 합니다. 즉 두 라우터 간 루핑을 막을 수 있으나 큰 범위의 네트워크에서는 못 막습니다.
2. Route Poisoning
이 방법은 네트워크 다운시 매트릭(hop count)을 16으로 바꾸어 버립니다. 그리고 인접라우터에서 들어오는 (ex. 2라우터에서 1라우터로) 해당 네트워크에 대한 정보를 무시합니다.
3. Poison Reverse
이 방법은 네트워크 다운시 매트릭을 16으로 바꾸는 것은 동일하나 이를 전달하면서 대체 경로(A네트워크로 가는)가 없을 경우 해당 라우터도 매트릭을 16으로 바꾸며 진행합니다. 대체 경로가 있어야 적용되는 방법입니다.
4. Hold Down Timer
이 방법은 네트워크에 3분간 수신이 없을시 holddown 상태로 변하게 되고, 이후 1분동안 더 수신이 없으면 라우팅 테이블에서 해당 네트워크를 제거하는 방법입니다.
5. Triggered Updates
원래 RIP 프로토콜의 갱신 시간은 30초 주기로 일어나게 되는데 이 방법은 라우터에 변화가 일어나는 경우 바로 갱신을 진행하는 방법으로 루핑을 방지합니다.
간단한 설명과 함께 라우팅 루핑 발생과 해결방법을 보았습니다. 이론 위주로 먼저 쭉 알아보고 패킷트레이서로 실행하는 방향으로 가겠습니다.
'Network' 카테고리의 다른 글
8. Routing Protocol(OSPF) (0) | 2017.01.14 |
---|---|
7. Routing Protocol(EIGRP) (0) | 2017.01.05 |
5. Routing Protocol_1(RIP) (0) | 2016.12.23 |
4. Routing Protocol (0) | 2016.12.21 |
3. IP 주소 (0) | 2016.12.19 |
댓글