디스턴스 벡터 라우팅 알고리즘 문제 해결 방법
저번 시간에는 디스턴스 벡터 라우팅 알고리즘의 문제점에 대하여 알아봤는데 이번 시간에는 디스턴스 벡터 라우팅 알고리즘 문제 해결책에 대하여 알아보도록 하겠습니다.
1) Maximum Hop Count를 이용한 방법
RIP 라우팅 프로토콜의 경우 최대 홉 카운트를 15로 지정해 놓고 홉 카운트가 16 이상이 된다면 그 경로에 대하여 unreachable로 간주합니다.
그 후 flush time이 지난 후 라우팅 테이블에서 삭제하는데 이렇듯 최대 홉 카운트롤 정해놓으면 라우터에서 루핑이 발생할지라도 홉 카운트가 16이 되면 멀출 수 있습니다.
다만 위에서 말한것처럼 RIP는 최대 홉 카우트가 15인데 이 경우는 대규모 네트워크를 구성할 수 없다는 단점이 있습니다.
전 시간에 이웃라우터에게 잘못된 정보를 받아 홉 카운트가 끊임없이 상승하는 예제를 알아봤었는데 최대 홉 카운트를 지정한다면 홉 카운트가 계속해서 상승하는 것을 막을 수 있습니다.
2) Hold down Timer를 이용한 방법
A 네트워크 - 라우터 A - 라우터 B - 라우터 C, D, E 이렇게 연결이 되어있다고 가정했습니다.
이 때 라우터 A 쪽에 연결되어 있는 네트워크 A가 단절되었을 경우 이 사실을 라우터 B에게 알려주는데 그러면 라우터 B는 네트워크 A에 대하여 Hold down 타이머를 시작합니다.
Hold down 타이머가 동작하고 이는 동안에는 외부에서 해당 네트워크에 대한 라우팅 경로 정보를 받았을 때 원래 가지고 있던 매트릭 값보다 큰 값이 들어온다면 무시합니다.
저번 시간에 배운 내용 중에 이웃 라우터가 잘못된 정보를 주어 점점 홉 카운트가 높아지는 현상이 발생하였었는데 이 Hold down Timer를 이용한다면 자신의 매트릭 값보다 큰 값이 들어오는 경우 무시해버리기 때문에 위 같은 문제를 예방할 수 있습니다.
3) Split Horizon을 이용한 방법
역시 2번 예제와 같은 네트워크 구성을 예시로 사용하겠습니다.
라우터 B는 A 네크워크에 대한 정보를 라우터 A에게 받은 상태인데 이때 라우터 B는 A 네트워크에 대한 정보를 라우터 A에게 보낼 수 없습니다.
즉 라우팅 정보가 들어온 곳으로 같은 정보를 보낼 수 없다는 것입니다.
여기서 주의해야 할 점은 라우터 B는 모든 라우팅 정보를 라우터 A에게 보내지 않는 것이 아니라 A 네트워크에 대한 정보만 보내지 않는다는 것입니다.
따라서 스플릿 호라이즌은 전체 라우터의 루핑에 대해서가 아닌 두 개의 라우터에 루핑만을 방지하기 위한 방법입니다.
4) Router Poisoning을 이용한 방법
네트워크 A가 다운되었을 경우 라우터 A는 네트워크 A에 대하여 매트릭 값을 16으로 바꿔버립니다.
즉 사용할 수 없는 값을 지정하는데 이 때 라우터 B에서 네트워크 A에 관한 업데이트 정보가 들어오더라도 네트워크 A에 매트릭 값은 이미 16이기 때문에 전부 무시합니다.
5) Poison Reverse을 이용한 방법
스플릿 호라이즌처럼 라우팅 정보를 보내온 쪽으로 알려주지 않는 것이 아닌 라우팅 정보를 되돌려 주기는 하나 이 값을 무한대 값으로 사용하는 방식입니다.
개수가 무한대라는 것은 라우터 포이즈닝의 방법과 마찬가지로 해당 네트워크에 대한 정보를 무시한다는 뜻입니다.
자 이처럼 디스턴스 백터 알고리즘의 문제 해결책 5가지에 대하여 알아봤습니다.
다음 시간에는 VLSM에 대하여 간략히 알아 보도록 하겠습니다.