장비에서 Best-Path를 찾는 과정은 다음과 같다.

Step 1. 각각의 라우팅 프로토콜이 자신의 데이터베이스를 기반으로 각자의 알고리즘을 통해 최적의 경로를 선출한다.

  각각의 라우팅 프로토콜은 독립적으로 동작하기 때문에 모든 라우팅 프로토콜에서 최적의 경로를 선출하는 기준이 동일할 필요는 없다. 해당 라우팅 프로토콜에서만 동일한 기준, 즉 동일한 알고리즘에 의해 최적의 경로를 선출하면 되는 것이다.

  예를 들어, RIP 라우팅 프로토콜은 목적지까지 Hop 수가 가장 작은 경로를 최적의 경로로 선출하고, OSPF 라우팅 프로토콜은 Bandwidth를 cost로 변경하여 목적지까지 cost의 합이 가장 작은 경로를 최적의 경로로 선출한다. 라우팅 프로토콜마다 자신의 알고리즘에 의해 계산된 값을 Metric이라 하고 가장 낮은 값이 최적의 경로로 선출된다.

  학교에서 학년 회장을 선출하려고 하는데 학급에서 대표를 한 명씩 선출하라고 했다고 가정해 보자. 대표를 선출하는 것은 학급마다 독립적이기 때문에 어떤 학급은 가장 인기가 많은 학우를 대표로 선출할 수도 있고, 어떤 학급은 공부를 가장 잘하는 학우를 대표로 선출할 수도 있는 것이다.

  다음으로는 선출된 학급 대표를 후보로 선정해서 학년 회장을 선출해야 할 것이다. 이런 경우, 각 학급마다 대표를 선출한 기준이 달랐기 때문에 특정 학급의 선출 기준을 가지고 대표를 선출할 수는 없을 것이다. 즉, 대표를 선출하기 위한 새로운 기준이 필요할 것이다.

  라우팅 프로토콜도 마찬가지로 각각의 라우팅 프로토콜에서 선출한 최적의 경로를 기반으로 장비에서 Best-Path를 선출해야 한다. 그 때, 라우팅 프로토콜마다  최적의 경로를 선출하는 기준이 다르기 때문에 새로운 기준이 필요한데 그것이 AD(Administrative Distance) 값이다. AD 값은 제조회사 마다 각 라우팅 프로토콜에 설정한 고유값이 존재하지만 각 장비에서 변경이 가능하다.

  각각의 라우팅 프로토콜에서 선출한 정보 중 Best-Path만이 라우팅 테이블에 올라가게 되는데, 라우팅 테이블은 라우팅 프로토콜마다 다른 방식으로 계산된 Metric의 값을 비교하지 않고 AD 값만을 비교하여 낮은 값이 Best-Path로 라우팅 테이블에 등록한다.

Step 2. 선출한 최적의 경로들의 AD 값을 비교하여 가장 낮은 값을 라우팅 테이블에 등록한다.

  그러면, 선출된 Best-Path만을 가지고 생성된 라우팅 테이블을 다음과 같다.

  라우팅 테이블이 완성되면 Packet이 들어왔을 때, 목적지 주소를 보고 라우팅을 수행하게 된다. 예를 들어, ‘192.168.10.5’를 목적지로 하는 Packet은 ‘192.168.10.0/24’에 포함되므로 ‘192.168.5.1’이 Next-hop이고, OIF가 Fa0/5가 된다. 그래서, Fa0/5에 연결된 ‘192.168.5.1’에게 Packet을 전송하게 되는 것이다. 이 때, 목적지 주소에 대한 정보가 라우팅 테이블에 존재하지 않으면 Packet을 drop시키게 된다.

  만일, ‘10.1.1.5’를 목적지로 하는 Packet이 들어오면 라우팅 테이블에서 일치하는 네트워크는 두 개의 네트워크 ‘10.1.1.0/24’, ‘10.0.0.0/8’가 된다. 이런 경우에는 보다 더 자세한 정보인 작은 네트워크를 우선하게 된다. 즉, ‘10.1.1.0/24’가 ‘10.0.0.0/8’ 보다 작은 네트워크이기 때문에 ‘10.1.1.0/24’ 네트워크를 보다 우선하게 되는 것이다.

  이처럼 라우팅 테이블에 일치하는 네트워크 정보가 여러 개인 경우, 서브넷(Subnet)의 길이가 더 긴 정보를 우선하게 되는데 이것을 ‘Longest-match’라고 부른다.

Step 3. Packet의 목적지 주소와 일치하는 네트워크 중에 ‘Longest-match’에 의해 Best-Path를 선출하여 전달한다.

  그래서, Best-Path 선출 순서는 ‘라우팅 프로토콜 알고리즘’, ‘Administrative Distance’, ‘Longest-match’이고, 우선 순위는 다음과 같이 되는 것이다.

  1순위 : Longest-match

  2순위 : Administrative Distance

  3순위 : 라우팅 프로토콜 알고리즘