앞 장에서 설명한 Best-Path 선출 기준은 제조사와 상관없이 모든 장비가 동일하기 때문에 Best-Path 선출 기준이 달라서 발생하는 라우팅 Loop 문제는 생기지 않는다. 그러나, AD 값은 표준이 아니기 때문에 프로토콜의 AD 값은 제조사마다 다를 수 있다. 그리고, 동일 제조사의 장비라 하더라도 AD 값은 장비마다 다르게 설정할 수 있기 때문에 설정을 통해 AD 값을 변경하면 장비마다 다른 값을 가질 수 있다.

  그럼, AD 값이 장비마다 다른 경우 어떤 문제가 발생하는지 앞에서 확인했던 토폴로지를 통해 확인해 보자.

  상위 토폴로지 상의 모든 장비가 시스코 장비이고, RIP 라우팅 프로토콜과 OSPF 라우팅 프로토콜이 둘 다 구성되어 동작한다고 가정해 보자. 기본 설정 상태라면 OSPF 라우팅 프로토콜의 AD 값(110)이 RIP 라우팅 프로토콜의 AD 값(120) 보다 작기 때문에 모든 장비에서 OSPF 라우팅 프로토콜을 우선하게 될 것이다.

  OSPF 라우팅 프로토콜은 Bandwidth를 기준으로 Best-Path를 선출하기 때문에 모든 장비가 OSPF를 우선하게 된다면 다음 경로로 Packet이 전달될 것이다. OPSF 라우팅 프로토콜이 Best-Path를 계산하는 방법은 다른 장에서 자세히 설명하기로 하겠다.

  그런데, 만일 R2에서 RIP 라우팅 프로토콜의 AD 값을 OSPF 라우팅 프로토콜보다 작게 설정하거나, OSPF 라우팅 프로토콜의 AD 값을 RIP 라우팅 프로토콜보다 크게 설정하게 된다면 R2는 RIP 라우팅 프로토콜을 우선하게 되어 목적지까지 Hop 수가 적은 R7을 Best-Path로 선출할 것이다. 그리고, R7은 OSPF 라우팅 프로토콜을 우선하기 때문에 Bandwidth를 고려하여 R2를 Best-Path로 선출하면 Loop가 발생하게 된다.

  이 경우에 만일 R7이 R2를 Best-Path로 선출했다는 것을 R2에서 알고 있다면, R2는 라우팅 Loop를 인지하고 R7에게 Packet을 전송하지 않을 수 있다. 하지만, 장비들은 다른 장비의 Best-Path를 알 수 없기 때문에 Loop을 인지할 수 없다. 그래서, 동일 라우팅 프로토콜을 사용하고 있는 경우라면 Best-Path를 선출하는 알고리즘이 같기 때문에 문제가 발생하지 않으나, 다중 프로토콜을 사용할 때 문제가 발생할 수 있다. 이 문제를 해결하기 위해 Distance Vector 라우팅 프로토콜은 다음과 같이 동작하도록 만들어졌다.

  다음의 예제를 통하여 동작원리를 확인해 보도록 하자.

  R1, R2, R3에 모두  RIPv2 라우팅 프로토콜이 구성된 상태에서 R3의 라우팅 테이블과 RIP 데이터베이스를 보면, 1.1.1.1/32, 2.2.2.2/32, 10.10.12.0/24 네트워크를 모두 R2로 부터 업데이트를 받았기 때문에 Next-hop이 R2로 되어 있고, OIF도 Fa0/1로 등록될 것이다.

  여기서 다음 설정을 R2에 추가로 구성한 후 라우팅 테이블과 RIPv2 데이터베이스를 확인해 보자.

  R2에서 1.1.1.1/32 네트워크를 Static 경로를 설정하면 Static 라우팅 프로토콜이 RIP 라우팅 프로토콜보다 AD 값이 작기 때문에 R2의 라우팅 테이블에는 Static 라우팅 프로토콜이 등록될 것이다.

  만일, 이 상태에서 R2가 R3에게 RIP 정보를 업데이트하게 되면 R3는 R2를 Best-Path로 선출할 수 있게 된다. 그렇게 되면 R2는 Static 라우팅 프로토콜에 의해 R3를 Best-Path로 선출하고, R3는 RIP 라우팅 프로토콜에 의해 R2를 Best-Path로 선출하여 라우팅 Loop이 발생한다.

  이 문제를 해결하기 위해 Distance Vector 라우팅 프로토콜은 자신의 정보가 Best-Path가 되어 라우팅 테이블에 등록이 되어야만 타 장비에게 업데이트를 할 수 있도록 하였다.

  기존에 RIP 라우팅 프로토콜이 Best-Path인 경우에는 R3에게 1.1.1.1/32 네트워크에 대해 업데이트 해 주지만, 타 라우팅 프로토콜에 의해 Best-Path가 되지 못하면 타 장비에 업데이트를 하지 않는다. 이미 업데이트한 정보라면 해당 네트워크가 사라졌다고 업데이트하여 자신을 Best-Path로 선출하지 못하도록 만든다.

  그래서, R2에 Static 라우팅 프로토콜을 설정하면 1.1.1.1/32 정보에 대하여 Static 라우팅 프로토콜이 우선하므로 RIP 라우팅 프로토콜은 R3에게 해당 네트워크가 사라졌다고 업데이트를 하게 된다.

  그런데, 안타깝게도 Link-State 라우팅 프로토콜은 이것을 차단할 수 있는 알고리즘을 만들지 않았다. 아니, 정확하게 이야기한다면 Link-State 라우팅 프로토콜은 ‘하나의 Area 안에 있는 모든 장비의 데이터베이스가 동일해야 한다’는 원칙 때문에 이 문제를 해결할 수 없었다는 표현이 정확할 것이다.

  이 부분은 Link-State 라우팅 프로토콜의 동작원리에 대해 학습을 하면 자연스럽게 알 수 있는 부분이니, 여기서는 수수께끼처럼 남기고 이유를 다음 장에서 학습하기로 하자.