네트워크/라우터

라우터) EIGRP 심화 - Unequal Load Balancing

마리사라 2022. 12. 28. 15:46
반응형

이번 강의는 EIGRP의 심화 내용 중 하나인 Unequal Load Balancing에 대해서 알아보겠습니다.

네트워크는 위와 같이 구성하겠습니다.


1. Unequal Load Balancing

네트워크는 항상 평화롭지 않습니다. 만약 네트워크가 예기치 못한 경우로 인해 붐비거나 해당 네트워크로 가는 라우터의 기능이 정지될 수도 있습니다. 그럴 때를 대비해서 모든 라우터는 백업 경로를 두게 됩니다.

 

기본적으로 라우터는 Load Balancing이라고 하는 기능을 탑재하고 있습니다. 만약 네트워크가 R1 - R2/R3 - R4라면 R1에서 R4로 가는 경로는 R2를 거치는 경로R3를 거치는 경로의 두 가지가 있을 수 있습니다. 이때 R1은 R2로 가는 경로와 R3로 가는 경로를 비교해서 더 나은 경로로 패킷을 보낼 것입니다. 만약 두 경로의 비용이 같다면 둘 중 어느곳으로도 줄 수 있을 것입니다. 이때 R1은 네트워크의 부하를 생각해서 R2 경로와 R3경로를 번갈아 가면서 사용하게 되는데, 이를 Load Balancing이라고 합니다.

 

하지만 위의 경우는 다릅니다. 기본적으로 R1에서 R3를 거쳐서 가는 것이 더 가깝기 때문입니다. 만약 R1에서 R2를 거친다면 Fast Ethernet의 대역폭이 더 크다고 해도 결국 0이 아니기 때문에 R1에서 R3로 바로 가는 것보다 Metric 값의 합이 더 커질 것입니다.

 

 

따라서 위와 같은 네트워크에서는 기본적으로 R1의 패킷은 모두 R3를 사용하는 경로로 보내질 것입니다. 하지만 이렇게 된다면 R3가 과도한 부담을 지게 됩니다. 이러한 현상을 해결하기 위해 있는 방식이 바로 Unequal Load Balancing입니다.


2. 실습

우선 R1이 어떻게 경로를 계산하는지 보기 위해 다음과 같은 명령을 입력합니다.

Router#show ip eigrp topology all-links

토폴로지 상에서 R1에서 R4로 가는 길은 1.1.13.0 네트워크를 사용하는 길 하나만 잡힙니다. 이것은 R1이 R4로 가는 길은 1.1.13.3으로 보내는 게 최적이라고 생각한다는 뜻입니다. 그런데  via 1.1.13.3 뒤에는 괄호가 있습니다. 이 괄호 안의 값이 경로를 계산하는 데 사용되는 값입니다.

 

괄호 안에는 두 값이 /로 나누어져 있습니다. 이때 앞의 값을 FD, 뒤의 값을 AD라고 합니다.

  • FD(Feasible Distance) : 자신을 중심으로 목적지 까지의 Metric값의 합
  • AD(Advertised Distance) : 자신의 다음 라우터(Next Hop)로부터 목적지까지의 Metric 값의 합

이때 최적의 경로는 FD값을 기준으로 정해집니다. 즉, R1에서 R2를 거쳐서 가는 길의 FD값의 합보다 R1에서 R3로 바로 가는 길의 FD 값의 합이 더 작기 때문에 1.1.34.0으로 가는 길은 R3로 보내는 것이 최적이라고 판단합니다.

 

하지만 라우터는 최악의 상황을 생각해야 하기 때문에 Feasible Successor(후속 경로)를 찾으려고 합니다. 이때 후속 경로의 조건은 다음과 같습니다.

  1. FD보다 작은 AD를 가진 경로
  2. 1의 조건을 만족한 경로 중에서 FD가 가장 작은 경로
  3. 1의 조건을 만족한 경로 중에서 FD 값 * variance 값보다 작은 FD 경로

이때 사용되는 FD값을 구하기 위해 이전에 배웠던 공식을 사용해야 합니다.

2022.12.22 - [네트워크/네트워크 기초] - 네트워크 기초) 7. EIGRP(Enhanced Interior Gateway Routing Protocol)

 

네트워크 기초) 7. EIGRP(Enhanced Interior Gateway Routing Protocol)

이번 강의는 RIP와 비슷한 동적 라우팅 기술인 EIGRP에 대해서 알아보겠습니다, 1. EIGRP EIGRP(강화형 내부 게이트웨이 라우팅 프로토콜)은 라우터의 사실상 표준 기업인 Cisco에서 만든 라우팅 프로토

marisara.tistory.com

만약 R1-R2 경로를 후속 경로로 만들고 싶다면 R1-R3 경로의 Metric값이 R2-R3 경로의 Metric 값보다 1 이상 크고 R1-R2 경로의 Metric 값보다 작아지게 만들면 됩니다. 만약 R1-R2 경로의 Metric값 보다 더 큰 값만큼 커지게 되면 R1-R3 경로는 R1-R2-R3 경로보다 Metric값이 커지게 되므로 R1-R2 경로가 후속 경로가 아니라 최적 경로가 되기에 그 이상 커져서는 안 됩니다.

 

이제 후속 경로를 직접 만들어 보겠습니다. 후속 경로를 만드는 방법은 다음과 같습니다.

  1. 지연을 늘린다.
  2. 대역폭을 낮춘다.
  3. variance 값을 높인다.

 

[지연]

우선 Serial 인터페이스에서의 Delay는 2000ms가 기본입니다. 따라서 2000ms보다 높은 값을 주면 Metric값이 커지게 될 것입니다. 저는 임의로 2001이라는 값을 주겠습니다.

#R1
Router(config)#int s0/0
Router(config-if)#delay 2001

 

 

이제 다시 R1에서 eigrp 토폴로지를 확인합니다.

1.1.34.0 네트워크로 가는 길에 1.1.12.2가 붙은 것을 볼 수 있습니다. 이때 R3 경로의 FD값보다 R2 경로의 AD값이 더 작은 것을 확인할 수 있습니다.

 

[대역폭]

대역폭을 수정하기 전에 no 명령어로 지연값을 주었던 것을 없애줍니다.

Router(config-if)#no delay

잘 사라졌다면 토폴로지 상에서 R1-R2 경로가 사라져 있을 것입니다.

 

이제 대역폭을 수정해 줍니다. 대역폭은 R1-R2 경로의 대역폭을 늘리는 방법과 R1-R3의 대역폭을 줄이는 방법이 있습니다. 현실에서 대역폭을 늘리는 방법은 사용하기 어려우니 R1-R3 경로의 대역폭을 줄이도록 하겠습니다. Serial의 대역폭은 1544였으니 1543으로 1만 줄여보겠습니다.

#R1
Router(config)#int s0/0
Router(config-if)#bandwidth 1543

 

다시 토폴로지를 확인해 줍니다.

이번에도 정상적으로 등록된 것을 볼 수 있습니다.

 

[variance]

이번에도 대역폭 값을 삭제합니다.

Router(config-if)#no bandwidth

 

variance 값은 부하 분산을 위해 FD값을 어디까지 허용할지 결정하는 값입니다. 기본값은 1이며 FD * variance 값보다 작은 FD값을 가진 경로가 후속 경로가 됩니다. 따라서 variance 값을 변경하는 것으로 후속 경로가 될 수 있는 FD 값의 범위가 늘어납니다.

 

variance 값을 변경하는 명령은 다음과 같습니다.

#R1
Router(config)#router eigrp 100
Router(config-router)#variance 2

variance 값을 2를 주게 되면 FD의 2배보다 작은 FD 값들을 가진 경로는 전부 후속 경로가 될 수 있습니다.

 

이제 토폴로지를 확인해 보겠습니다. 저는 패킷 트레이서의 오류인지 variance를 변경해도 토폴로지가 변하지 않아서 다른 프로그램을 사용하여 동일하게 구성했습니다.

1.1.34.0 네트워크로 가는 길에 R2를 거쳐서 가는 방법이 추가된 것을 볼 수 있습니다.


3. 마치며

이번에는 Unequal Load Balancing에 대해서 알아보았습니다. 다음에는 EIGRP에서 Default Network를 사용하는 방법에 대해서 알아보겠습니다.

 

(12/29 추가)

variance 관련하여 오류가 있어 지적해주신 분이 계셨습니다. 그에 맞게 내용을 수정했습니다. 지적 감사합니다.

반응형