본문 바로가기

Ryu's Tech

EIGRP의 Equal Cost Load Balancing






R1#sh ip ro
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
D       10.1.3.8/30 [90/40640000] via 10.1.103.3, 00:02:52, Serial1/1
D       10.1.2.8/30 [90/40640000] via 10.1.102.2, 00:02:52, Serial1/0
C       10.1.1.8/30 is directly connected, Loopback19
D       10.1.3.0/30 [90/40640000] via 10.1.103.3, 00:02:52, Serial1/1
D       10.1.2.0/30 [90/40640000] via 10.1.102.2, 00:02:52, Serial1/0
C       10.1.1.0/30 is directly connected, Loopback11
D       10.1.3.4/30 [90/40640000] via 10.1.103.3, 00:02:52, Serial1/1
D       10.1.2.4/30 [90/40640000] via 10.1.102.2, 00:02:52, Serial1/0
C       10.1.1.4/30 is directly connected, Loopback15
C       10.1.103.0/29 is directly connected, Serial1/1
C       10.1.102.0/29 is directly connected, Serial1/0
D       10.1.203.0/29 [90/41024000] via 10.1.103.3, 00:02:52, Serial1/1
                      [90/41024000] via 10.1.102.2, 00:02:52, Serial1/0
R1#



또 간만에 metric 계산을 한번 해보겠습니다.
R1 -> R2 (loopback 21)
까지 가는 경로 metricdmf 계산하려 한다면 두가지 인터페이스의 값이 필요하죠?
아래와 같이 값이 나오는 군요 이제 계산을 해보겠습니다.


R1#sh int s1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  Description: R1 --> R2
  Internet address is 10.1.102.1/29
  MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec,

R2(config)#do sh int lo 21
Loopback21 is up, line protocol is up
  Hardware is Loopback
  Internet address is 10.1.2.1/30
  MTU 1514 bytes, BW 8000000 Kbit, DLY 5000 usec,


10의7승 나누기 64 ( 제일 낮은 bandwidth를 가지고 계산해야 하니깐요 ) = 156250이 나오는군요.

딜레이는 2000 + 500 하면 2500

그렇다면 두개를 더하면 158750 이니까 256을 곱하면?

40640000 입니다.
D       10.1.3.4/30 [90/40640000] via 10.1.103.3, 00:02:52, Serial1/1

정답이네요^^



이제 좀 더 중요한 부분을 보도록 하겠습니다.
D       10.1.203.0/29 [90/41024000] via 10.1.103.3, 00:09:09, Serial1/1
                      [90/41024000] via 10.1.102.2, 00:09:09, Serial1/0
R1#

이 말은 10.1.203.0 /29 네트워크로 가는 경로가 10.1.103.3으로 통하는 길과 10.1.102.2로 가는 두가지 경로가 있는데 두 경로의 metric값이 같기 때문에 로드밸런싱을 하는 것입니다.
로드 밸런싱은 경로를 적절하게 나눠서 쓰는 것입니다 확인을 해 볼까요?

먼저 Access-list를 통해서 디버그를 걸어 주도록 하겠습니다.

R1(config)# access-list 100 permit icmp any any echo
R1# debug ip packet 100
위의 두 명령어 보시면 대충 어떤 식으로 사용하는지 아시겠죠? 다양한 방면으로 응용이 가능할 겁니다.
그리고, R1에서 no ip cef 를 통해서 Cisco Express Forwarding 을 꺼 주셔야 합니다. 아니면 알아서 가까운 쪽으로 찾아 가거든요;


R1#ping 10.1.203.2 repeat 10

Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 10.1.203.2, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 28/45/76 ms
R1#
*Mar  1 00:20:58.871: IP: s=10.1.102.1 (local), d=10.1.203.2 (Serial1/0), len 100, sending
*Mar  1 00:20:58.911: IP: s=10.1.103.1 (local), d=10.1.203.2 (Serial1/1), len 100, sending
*Mar  1 00:20:58.947: IP: s=10.1.102.1 (local), d=10.1.203.2 (Serial1/0), len 100, sending
*Mar  1 00:20:59.007: IP: s=10.1.103.1 (local), d=10.1.203.2 (Serial1/1), len 100, sending
*Mar  1 00:20:59.055: IP: s=10.1.102.1 (local), d=10.1.203.2 (Serial1/0), len 100, sending
*Mar  1 00:20:59.099: IP: s=10.1.103.1 (local), d=10.1.203.2 (Serial1/1), len 100, sending
*Mar  1 00:20:59.163: IP: s=10.1.102.1 (local), d=10.1.203.2 (Serial1/0), len 100, sending
*Mar  1 00:20:59.207: IP: s=10.1.103.1 (local), d=10.1.203.2 (Serial1/1), len 100, sending
*Mar  1 00:20:59.255: IP: s=10.1.102.1 (local), d=10.1.203.2 (Serial1/0), len 100, sending
*Mar  1 00:20:59.287: IP: s=10.1.103.1 (local), d=10.1.203.2 (Serial1/1), len 100, sending

잡줄은 한줄씩 지웠습니다. 보시는대로 적절하게 로드 밸런싱을 구현하고 있는 것을 볼 수 있네요 S1/0 과 S1/1을 번갈아 가면서 사용하죠?


라우팅 테이블을 좀 더 자세하게 확인해 봅시다.

R1#show ip eigrp topology

R1#sh ip eigrp topology
IP-EIGRP Topology Table for AS(100)/ID(10.1.1.9)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.1.3.8/30, 1 successors, FD is 40640000
        via 10.1.103.3 (40640000/128256), Serial1/1
P 10.1.2.8/30, 1 successors, FD is 40640000
        via 10.1.102.2 (40640000/128256), Serial1/0
P 10.1.1.8/30, 1 successors, FD is 128256
        via Connected, Loopback19
P 10.1.3.0/30, 1 successors, FD is 40640000
        via 10.1.103.3 (40640000/128256), Serial1/1
P 10.1.2.0/30, 1 successors, FD is 40640000
        via 10.1.102.2 (40640000/128256), Serial1/0
P 10.1.1.0/30, 1 successors, FD is 128256
        via Connected, Loopback11
P 10.1.3.4/30, 1 successors, FD is 40640000
        via 10.1.103.3 (40640000/128256), Serial1/1
P 10.1.2.4/30, 1 successors, FD is 40640000
        via 10.1.102.2 (40640000/128256), Serial1/0
P 10.1.1.4/30, 1 successors, FD is 128256
        via Connected, Loopback15
         
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.1.103.0/29, 1 successors, FD is 40512000
        via Connected, Serial1/1
P 10.1.102.0/29, 1 successors, FD is 40512000
        via Connected, Serial1/0
P 10.1.203.0/29, 2 successors, FD is 41024000
        via 10.1.103.3 (41024000/40512000), Serial1/1
        via 10.1.102.2 (41024000/40512000), Serial1/0
R1#

이건 그냥 라우팅 테이블하고 똑같은거나 다름없죠? 그렇다면 자세하게 들어가 보겠습니다.
R1#sh ip eigrp topology 10.1.203.0/29
IP-EIGRP (AS 100): Topology entry for 10.1.203.0/29
  State is Passive, Query origin flag is 1, 2 Successor(s), FD is 41024000
  Routing Descriptor Blocks:
  10.1.103.3 (Serial1/1), from 10.1.103.3, Send flag is 0x0
      Composite metric is (41024000/40512000), Route is Internal
      Vector metric:
        Minimum bandwidth is 64 Kbit
        Total delay is 40000 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 1
  10.1.102.2 (Serial1/0), from 10.1.102.2, Send flag is 0x0
      Composite metric is (41024000/40512000), Route is Internal
      Vector metric:
        Minimum bandwidth is 64 Kbit
        Total delay is 40000 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 1
R1#
R1#

앞에서처럼... 인터페이스에서... 볼 필요가 없었네요.... 허무하죠?;;;;
이제 이렇게 보고 계산하도록 하는게 좋겠네요 ^^
위의 명령어는 왠만하면 잘 알아 두는 게 좋곘죠?