bxm's IT Story
EIGRP 최대 장점 중 하나 - Unequal Cost Load Balancing 본문
공통]
ena
conf t
no ip domain lookup
line c 0
logg sy
exec-timeout 0
exit
line vty 0 4
pass cisco
exit
int s1/0
no shut
enc fram
no fram inver
clock rate 64000
end
R1]
conf t
int lo0
ip add 22.22.1.1 255.255.255.0
exit
int s1/0.12 p
ip add 22.22.12.1 255.255.255.0
fram inter 102
int s1/0.13 p
ip add 22.22.13.1 255.255.255.0
fram inter 103
R2]
conf t
int lo0
ip add 22.22.2.2 255.255.255.0
exit
int s1/0.12 p
ip add 22.22.12.2 255.255.255.0
fram inter 201
int s1/0.24 p
ip add 22.22.24.2 255.255.255.0
fram inter 204
R3]
conf t
int lo0
ip add 22.22.3.3 255.255.255.0
exit
int s1/0.13 p
ip add 22.22.13.3 255.255.255.0
fram inter 301
int s1/0.34 p
ip add 22.22.34.3 255.255.255.0
fram inter 304
R4]
conf t
int lo0
ip add 22.22.4.4 255.255.255.0
exit
int s1/0.24 p
ip add 22.22.24.4 255.255.255.0
fram inter 402
int s1/0.34 p
ip add 22.22.34.4 255.255.255.0
fram inter 403
PING 테스트
R1]
ping 22.22.12.2
ping 22.22.13.3
## 통신 양호
R2]
ping 22.22.12.1
ping 22.22.24.4
## 통신 양호
R3]
ping 22.22.13.1
ping 22.22.34.4
## 통신 양호
R4]
ping 22.22.24.2
ping 22.22.34.3
## 통신 양호
R1~R4,, EIGRP 넣어주기
R1]
conf t
router eigrp 22
eigrp router-id 22.22.1.1
network 22.22.1.1 0.0.0.0
network 22.22.12.1 0.0.0.0
network 22.22.13.1 0.0.0.0
no auto-summary
passive-interface lo0
R2]
conf t
router eigrp 22
eigrp router-id 22.22.2.2
network 22.22.2.2 0.0.0.0
network 22.22.12.2 0.0.0.0
network 22.22.24.2 0.0.0.0
no auto-summary
passive-interface lo0
R3]
conf t
router eigrp 22
eigrp router-id 22.22.3.3
network 22.22.3.3 0.0.0.0
network 22.22.13.3 0.0.0.0
network 22.22.34.3 0.0.0.0
no auto-summary
passive-interface lo0
R4]
conf t
router eigrp 22
eigrp router-id 22.22.4.4
network 22.22.4.4 0.0.0.0
network 22.22.24.4 0.0.0.0
network 22.22.34.4 0.0.0.0
no auto-summary
passive-interface lo0
EIGRP 까지 기본값 설정 완료!! R1->R4로도 통신 원활 확인!!
공통]
show ip route
[공통]
show ip eigrp nei
연결이 모두 잘 되어있음을 확인!!
## DUAL(Diffusing Update Algorithm) 알고리즘 ##
- EIGRP가 사용하는 알고리즘.
- DUAL에서 사용되는 용어는 아래와 같다.
[용어 정리]
* [속도] T1[1.544Mbps] < T2[6.312Mbps]
1) FD(Feasible Distance)
- 출발지에서 목적지 network까지의 전체 Metric을 의미한다.
- FD 값이 가장 낮은 경로가 Best Path로 선출된다. (여기 실습에서는 FD1 !!)
2) AD(Advertised Distance) 또는 RD라고 함.
- 출발지 장비의 Next-hop 부터 목적지 network 까지의 Metric을 의미한다.
3) Successor
- FD_Best Path(최적 경로) 상의 출발지의 next-hop 라우터를 의미한다. 즉, FD가 가장 낮은 경로의 다음 Router를
의미한다.
4) Feasible Successor
- Loop가 없다고 확인된 Backup Path 상의 next-hop 라우터를 의미한다.
- 출발지 Router에서 다음 조건이 일치하는 Backup Path가 존재할 경우 Loop가 없다고 확신할 수 있다.
※ [Best Path(최적 경로)의 FD] > [Backup Path(후속 경로)의 AD]
==> RD2가 FD1보다 크면 안 된다.(실제 RD2_R3->R4에서 Delay를 주면 더 커질 수 있음.)
그러면 최적 경로가 아님.
## 만약에 RD2 값이 Delay를 무한정 주게 되어, RD2값이 FD1 값보다 더 크게 할 수 있다!!
## 하지만 뒷동산을 가는 지름길(FD1)이 있고, 대체 경로(RD2)로 서울-호주-옆동네-뒷동산을 가면
## 대체 경로는 의미가 없음!! 그래서 위의 조건을 만족해야 하는 것임.
- 위의 조건이 만족되는 경로가 존재하는 경우 해당 경로는 Loop가 없는 Backup Path라는 것을 확신하고,
해당 경로 정보를 자신의 'EIGRP Topology Table'에 등록한다.
- 위의 조건에 만족이 되지 않는 Backup 경로는 Topology Table에 등록되지 않고, Best Path 장애시 Query 패킷을
사용하여 확인 후 Loop가 없다면 Routing table에 등록된다.
R1]
show ip route
## R1에서 R4로 가는 경로 Metric을 다시 한번 보게 되면 위로 가는 경로와, 아래로 가는 경로의 값이 같음을
## 확인할 수 있다. 하지만 우리는 위에 그림판으로 그린 그림에서 위로 가는 경로가 T2로 아래보다 더 빠르므로
## 아래 R3의 오른쪽 부분의 Delay 값을 살짝 늘려서 더 느리게 해보자.
## 원래 R3의 왼쪽 T1과 만나는 s1/0.13 부분을 바꿨었는데 자꾸 Metric 값이 안먹어서 오른쪽으로 바꿈.
R3]
conf t
int s1/0.34
delay 2100
## 기본값이 20,000 ms 였으니까 /10 되면 원래는 2,000임. 그래서 delay를 살짝 더 올려서 2,100 정도로 늘려보자!
R1, R3]
clear ip eigrp nei
clear ip ro *
## 라우팅 테이블 초기화
R1]
show ip eigrp topology detail-links
## 모든 라우팅 정보를 가지고 있는 것을 eigrp에서는 토폴로지라고 한다.
## DUAL(Diffusing Update Algorithm) 알고리즘 동작원리##
1) | Successor로부터 기존의 Metric보다 더 좋은 Metric을 전달 받았을 때 | 변화 없음. 그냥 더 좋은 것임. |
2) | " 더 나쁜 Metric을 전달 받고, 피저블 석세서가 존재할 때 |
피저블 석세서가 석세서로 바뀌고, 대체경로가 최적 경로로 변함 |
3) | " 더 나쁜 Metric을 전달 받고, 피저블 석세서가 존재하지 않을 때 |
확산(Diffusing)한다!! 계속 피저블 석세서를 찾아 헤맴. ("거기 누구 없어요!!") 그래서 DUAL 알고리즘이라고 함 |
R1]
show ip route
## 하지만 12.2로 패킷을 2개 보내는 동안, 13.3 으로도 패킷 1개 정도는 보내자!!
## 이럴 때는 일정 조건을 갖춰야 한다.
★★★★ [Unequal Cost 부하 분산 조건] ★★★★
1. FD1 > RD2 (피저블 석세서가 존재한다는 뜻. 피저블 석세서가 존재하지 않으면 부하 분산이라는 말 자체가 성립이 X)
2. FD1 * Variance(어떤 정수값) > FD2
## 여기서 적당한 정수값은 뭐가 있을까? 2가
R1]
show ip protocols
## 현재 variance 값 확인하는 명령어
conf t
router eigrp 22
variance 2
show ip route
## variance 값이 변경된 것을 확인
show ip protocols
R2]
conf t
int s1/0.24
shutdown
## 이렇게 하면 R2 <-> R1 <-> R3 <-> R4 기존에 했던 Line mesh 형태로 변환된다!!
## 과제. R2에서 루프백 5개를 만드는데 다음과 같이 4개의 네트워크를
만들고 EIGRP로 광고하세요.
5.5.8.1/24
5.5.9.1/24
5.5.10.1/24
5.5.11.1/24
5.5.12.1/24
5.5.13.1/24
5.5.14.1/24
5.5.15.1/24
R2]
conf t
int lo5
ip add 5.5.8.1 255.255.255.0
ip add 5.5.9.1 255.255.255.0 sec
ip add 5.5.10.1 255.255.255.0 sec
ip add 5.5.11.1 255.255.255.0 sec
ip add 5.5.12.1 255.255.255.0 sec
ip add 5.5.13.1 255.255.255.0 sec
ip add 5.5.14.1 255.255.255.0 sec
ip add 5.5.15.1 255.255.255.0 sec
router eigrp 22
network 5.5.8.0 0.0.7.255
R1]
## 이제 R2쪽에서의 IP들이 보일 것임.
show ip route
## 라우팅 테이블이 지금 너무 많아졌으므로,
## 이제 위의 R2에 추가된 5.5.(8~15).0 네트워크들을 R4로 보내고,
## R4에서 0.0.0.0/0 을 왼쪽으로 보내면
R2]
conf t
int s1/0.24
ip summary-address eigrp 22 5.5.8.0 255.255.248.0
## 255 - 7(wildmask 값)
R4]
show ip route
R1]
conf t
int s1/0.12
ip summary-address eigrp 22 0.0.0.0 0.0.0.0
## R2에게 Default route를 설정해줘서 모르는 것 나한테 다 물어봐!! 하고 주소를 넘겨줌.
R2]
clear ip ro *
show ip route
## 여기서 살짝 불편한게 생김! R2에서 5.5.9.1/24 를 no ip add로 죽여도,
## R1에서는 R2에서 넘겨받은 5.5.8.0/21 이 있기에 R2로 ping을 보냄.
## 근데 R2는 이미 5.5.9.1/24가 죽었기에, 자신이 가지고 있는 0.0.0.0 0.0.0.0을 통해 '모르는 것 다 R1 너한테
가랬지?' 하고, R1으로 다시 보냄. 그러면 서로 Loop를 돌아서 R1과 R2 둘다 죽어버림. 과부하!!
R2]
conf t
int lo5
no ip address 5.5.9.1 255.255.255.0 sec
## 5.5.9.1/24를 R2에서 죽였음.
R1]
clear ip eigrp nei
clear ip ro *
## 라우팅 테이블 Refresh
show ip route
## 근데 R2에서는 이미 5.5.9.1/24가 죽어버렸기에 "나는 모르오~" 하고 R1의 Default로 계속 보냄.
## 그럼 서로 계속 떠넘김.
## 그래서 이러한 서로 계속 떠넘기기의 Loop를 방지하기 위해서 NULL 0를 만들음.
R2]
show run
## 축약을 한 네트워크의 AD값은 5다. 기본값으로 설정이 되어버림!! 내가 안했음!!
## 기존에 R1에서 추가했던 Default route와, R2에서 축약으로 추가했던 IP들을 전부 취소해보자
R1]
conf t
int s1/0.12
no ip summary-address eigrp 22 0.0.0.0 0.0.0.0
end
ping 22.22.4.4
## 통신이 잘 된다.
## 그럼 이제 R1->R3 // R3->R4로 Default route를 줘보자.
conf t
int s1/0.13
ip summary-address eigrp 22 0.0.0.0 0.0.0.0
end
R3]
show ip route
## default가 13.1을 향한다.
## 아! 이제 내가 모르는 것은 R1으로 보내면 되겠구나 ㅎㅎ
R4]
show ip route
## R4에서도 마찬가지로 R3의 34.3을 바라보고 있음. (R1쪽을 바라보고 있는 것임)
R3]
## R3에서 R4로 default 축약을 한번 더 줘보자!! 이 전까지는 R1->R3한테만 주었기 때문에
## 이제는 R3->R4로 직접적으로 준 것임.
conf t
int s1/0.34
ip summary-address eigrp 22 0.0.0.0 0.0.0.0
R4]
show ip route
## Connected로 직접적으로 Default 값이 연결된 것을 확인할 수 있다!
ping 22.22.2.2
## 그런데! 이 상태에서 ping 22.22.2.2 을 날리면 통신이 안된다!
## R1에서 생성된 0.0.0.0(AD값_5) / 0(AD값_90)
## R3에서 생성된 0.0.0.0(AD값_5) / 0(AD값_90) 에서 R3에서 생성된 AD값 5가 더 우등하기 때문에
## R3에서 NULL0가 생겨버림. 블랙홀 생성! 왼쪽으로 더 이상 안넘어가지게 된다.
## 블랙홀 퇴치 (R3에서 NULL0 없애기)
conf t
int s1/0.34
no ip summary-address eigrp 22 0.0.0.0 0.0.0.0
ip summary-address eigrp 22 0.0.0.0 0.0.0.0 100
R4]
ping 22.22.1.1
## 이제 정상적으로 R1 쪽으로 통신이 된다.
'Network > Cisco (KEDU)' 카테고리의 다른 글
Ether Channel (0) | 2021.06.28 |
---|---|
EIGRP 에서의 문제점 - SIA 현상 (Stuck In Active) (0) | 2021.06.23 |
Dynamic Routing Protocol - RIP EIGRP 재분배 (0) | 2021.06.21 |
Dynamic Routing Protocol - EIGRP(2) (0) | 2021.06.21 |
Dynamic Routing Protocol - EIGRP(1) (0) | 2021.06.21 |