External LSA는 앞에서 설명했듯이 ‘E1’과 ‘E2’로 구분되고 Default가 ‘E2’이다. 다음과 같은 Topology에서 각 라우터가 Bestpath를 어떻게 계산하는지 알아보기로 하자.

Case 1. E2로 ASBR에서 Metric 값을 다르게 전송한 경우

R3#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 10
  Last update from 10.10.23.2 on FastEthernet2/0, 00:00:14 ago
  Routing Descriptor Blocks:
  * 10.10.23.2, from 2.2.2.2, 00:00:14 ago, via FastEthernet2/0
      Route metric is 20, traffic share count is 1
R4#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 10
  Last update from 10.10.24.2 on FastEthernet1/0, 00:00:58 ago
  Routing Descriptor Blocks:
  * 10.10.24.2, from 2.2.2.2, 00:00:58 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1
R5#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 21
  Last update from 10.10.45.4 on FastEthernet3/0, 00:01:20 ago
  Routing Descriptor Blocks:
  * 10.10.45.4, from 2.2.2.2, 00:01:20 ago, via FastEthernet3/0
      Route metric is 20, traffic share count is 1
R6#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 21
  Last update from 10.10.46.4 on FastEthernet1/0, 00:01:58 ago
  Routing Descriptor Blocks:
  * 10.10.46.4, from 2.2.2.2, 00:01:58 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1

  모든 장비가 E2의 metric 값이 낮은 ’20’을 Bestpath로 선출하는 것을 알 수 있다. E2는 Forwarding address의 metric 값을 전체 metric 값에 포함시키지 않기 때문에 Update가 되더라도 항상 metric 값이 동일하다. 그렇기 때문에 처음 redistribute할 때, 두대의 ABSR이 metric 값을 다르게 설정하면 자연스럽게 한쪽을 Primary 경로로 다른 한쪽을 Backup 경로로 만들 수 있게 된다.

Case 2. E2로 ASBR에서 Metric 값을 동일하게 전송한 경우

R3#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 5
  Last update from 10.10.13.1 on FastEthernet1/0, 00:00:17 ago
  Routing Descriptor Blocks:
  * 10.10.13.1, from 1.1.1.1, 00:00:17 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1
R4#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 5
  Last update from 10.10.14.1 on FastEthernet2/0, 00:01:22 ago
  Routing Descriptor Blocks:
  * 10.10.14.1, from 1.1.1.1, 00:01:22 ago, via FastEthernet2/0
      Route metric is 20, traffic share count is 1
R5#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 16
  Last update from 10.10.45.4 on FastEthernet3/0, 00:01:34 ago
  Routing Descriptor Blocks:
  * 10.10.45.4, from 1.1.1.1, 00:01:34 ago, via FastEthernet3/0
      Route metric is 20, traffic share count is 1
R6#show ip route 7.7.7.7
Routing entry for 7.7.7.7/32
  Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 16
  Last update from 10.10.46.4 on FastEthernet1/0, 00:02:32 ago
  Routing Descriptor Blocks:
  * 10.10.46.4, from 1.1.1.1, 00:02:32 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1

  두대의 ASBR이 모두 E2로 metric 값을 동일하게 전달하게 되면 각각의 Router들은 Forwarding address 까지의 metric 값이 낮은 경로를 Best-Path로 선출한다. Forwarding address가 설정되지 않은 경우는 ASBR 까지의 metric이 Forwarding metric이 되기 때문에 보다 가까운 ASBR을 Bestpath로 선출하게 된다.

Router R1까지 거리 R2까지 거리 Bestpath
R3 5 10 R1 (5)
R4 5 10 R1 (5)
R5 16 21 R1 (16)
R6 16 21 R1 (16)

  우리가 일반적으로 Network을 설계할 때 다중 경로가 있는 경우, 각 장비가 Bestpath를 계산하여 가까운 경로를 찾아가도록 하거나 Primary/Backup 경로로 설계하는 것이 일반적이다. 이러한 경우, E2를 이용하여 metric 값을 동일하게 설정하거나 상이하게 설정하여 모두 가능하다.

Case 3. E1을 사용해야 하는 경우

  그럼, E1은 언제 필요할까? E1은 특수한 경우에 필요하다. 다음 Topology에서 고객이 원하는 설계가 E2로 가능한지 한번 생각해 보자.

  • 고객의 조건 : R3만 R1를 Bestpath로, 나머지는 R2를 Bestpath로 구성

  이러한 경우는 Interface의 Cost 값을 변경하지 않는한 E2로는 구성이 불가능하다. 만일 R1과 R2에서 metric 값을 다르게 조정하면 모든 장비가 낮은 metric 값을 우선하게 될 것이고, 동일하게 metric 값을 설정한다면 R5는 R1이 R2보다 metric 값이 작기 때문에 R1을 Bestpath로 선출하게 될 것이다.

  이 경우에 Forwarding metric 까지 합하여 Bestpath를 선출하는 E1이 필요한 것이다.

  E1으로 다음과 같이 설정하면 고객의 조건을 만족을 시킬 수 있다.

Router To R1 To R2 Bestpath
R1 E1 Total R2 E1 Total
R3 10 50 60 40 35 75 R1
R4 40 50 90 10 35 45 R2
R5 20 50 70 30 35 65 R2
R6 30 50 80 20 35 55 R2

  그럼, E1과 E2 중 어떤 Type을 사용하는 것이 좋은가? 위에서 확인한데로 E1이 반드시 필요한 경우가 아니라면 E2를 사용하는 것이 좋다. E1의 경우는 External 경로에 대해 항상 Forwarding metric을 합산하여 계산하기 때문에 적은 용량이라 할지라도 모든 장비의 리소스를 추가적으로 사용하게 된다.

  OSPF는 CPU와 Memory를 많이 사용하는 Routing Protocol이기 떄문에 부하를 조금이라도 적게 사용하기 위해서는 E2를 사용하여야 하며, 그래서 Default도 E2로 되어 있는 것이다.