동적 경로 EIGRP 프로토콜

oogu ㅣ 2022. 4. 25. 23:18

@ EIGRP(Enhanced Interior Gateway Routing Protocol)

 - Cisco 전용 라우팅 프로토콜
 - Advanced Distance Vector
 - Classless Routing Protocol
 - VLSM, CIDR 
 - auto-summary -> no auto-summary
 - IGP


1. EIGRP 설정

Router(config)# router eigrp [1~65535 AS Number] -> 의미 없음, 아무거나 입력!
Router(config-router)# no auto-summary
Router(config-router)# network A.0.0.0
Router(config-router)# network B.B.0.0
Router(config-router)# network C.C.C.0
Router(config-router)# passive-interface [Interface Name]

 - 설정시 주의 사항 : AS 번호가 동일해야지만, 네이버 성립 및 라우팅 업데이트 가능!

@ R1, R2, R3

router eigrp 100
 no auto-summary
 network 13.0.0.0
 passive-interface fa0/0

R1,R2,R3#show run
R1,R2,R3#show ip eigrp neighbor
R1,R2,R3#show ip route

 - EIGRP 설정이 완료되었다면, 네이버 테이블 확인 -> 라우팅 테이블 확인 -> Ping 테스트 실시

 

neighbor 테이블 확인

neighbor 테이블 확인

R2 라우터에서 R1, R3 라우터가 neighbor 테이블에 있기 때문에 라우팅 업데이트가 가능하다!

R1#ping 13.13.20.1
R1#ping 13.13.30.1

R2#ping 13.13.10.1
R2#ping 13.13.30.1

R3#ping 13.13.20.1
R3#ping 13.13.10.1



2. 네이버 성립 및 라우팅 업데이트

 - 네이버 성립 -> 라우팅 업데이트 실시
 - 주기적인 전체 라우팅 업데이트 X -> 추가된 부분만 라우팅 업데이트 실시(증분 업데이트)


3. 네이버 성립 조건

 - AS 번호 동일
 - K 상수 동일 -> show ip protocol - 동일하므로 신경 쓸 필요 ㄴㄴ


R1#show ip protocols 
Routing Protocol is "eigrp 100"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Default networks flagged in outgoing updates
  Default networks accepted from incoming updates
  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
  EIGRP maximum hopcount 100
~ 중간 생략 ~


4. EIGRP 패켓 유형

 - Hello : 네이버 관계 성립하기 위해서 교환하는 패켓, 주기적인 교환으로 네이버 관계 유지
 - Update : 네이버 관계를 성립한 라우터 간에 라우팅 업데이트를 실시할때 사용하는 패켓
 - Query : EIGRP 네트워크 장애 발생시, 네이버 라우터에게 도달 불가능한 정보 및 대체 경로를 질의 패켓
 - Reply : Query 패켓에 대한 응답을 할때 사용하는 패켓 - 못가면 42억
 - Ack : Update, Query, Reply 수신을 확인하기 위해서 전송하는 패켓

 

Hello 패킷

AS랑 K 상수가 hello 패킷에 있어 동일하면 네이버 맺는다.

 

Reply 패킷

경로가 없으면 42억 값이 된다.

 



5. EIGRP 동작 과정

 - '05_EIGRP 동작 과정.ppt' 참고
 - '05_EIGRP 라우팅 프로토콜.pcap' 참고


6. EIGRP 토폴로지 테이블 - show ip eigrp topology

 - 라우팅 테이블에 등록하기 이전에, EIGRP 경로가 관리되는 테이블
 - 토폴로지 테이블 등록된 경로 중에, 최적 경로만 라우팅 테이블에 등록됨

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

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

~ 중간 생략 ~

P 13.13.30.0/24, 1 successors, FD is 2707456
        via 13.13.12.2 (2707456/2195456), Serial1/0

 - P  : Passive 상태, 경로 계산이 완료된 상태 -> 라우팅 테이블 등록된 상태 
 - A  : Active 상태, 경로 계산이 진행되는 상태 -> 라우팅 테이블 등록/삭제 불가능 상태
 - 13.13.30.0/24  : 목적지 네트워크 이름
 - successors  : 최적 경로 상에 네이버 라우터 = 최적 경로
 - FD is 2707456  : 로컬 라우터에서 목적지까지 EIGRP 메트릭
 - via 13.13.12.2  : 경유하는 라우터 = 넥스트-홉 라우터
 - (2707456/  : FD 메트릭, 로컬 라우터에서 목적지까지 EIGRP 메트릭
 - /2195456) : AD 메트릭, 네이버 라우터에서 목적지까지 EIGRP 메트릭
 -Serial1/0 : 패켓을 출력하는 라우팅 인터페이스


7. EIGRP Dual 알고리즘

 - EIGRP 토폴로지 정보를 기반으로 경로를 선출하는 알고리즘
 - EIGRP 경로 선출 과정

① 최적 경로 선출 : FD 메트릭이 가장 작은 경로
② 후속 경로 선출 : 최적 경로 FD > AD 작은 경로 - 최적 경로가 문제 생기면

Ex) 다음 중 후속 경로가 있는 경우는 몇번인가?  

Router#show ip eigrp topology all-link

① P 13.13.30.0/24, 1 successors, FD is 2809856
         via 13.13.12.2 (2809856/2297856), Serial1/0  <- 최적 경로
         via 13.13.13.3 (2993144/2809856), Serial1/1  <- 후속 경로 

② P 13.13.30.0/24, 1 successors, FD is 2809856
         via 13.13.12.2 (2809856/2297856), Serial1/0  <- 최적 경로 
         via 13.13.13.3 (2993144/1809856), Serial1/1  <- 후속 경로  

③ P 13.13.30.0/24, 1 successors, FD is 2809856
         via 13.13.12.2 (2809856/2297856), Serial1/0  <- 최적 경로  
         via 13.13.13.3 (3193144/2909856), Serial1/1  <- 후속 경로  

④ P 13.13.30.0/24, 2 successors, FD is 2809856
         via 13.13.12.2 (2809856/2297856), Serial1/0  <- 최적 경로  
         via 13.13.13.3 (2809856/2297856), Serial1/1  <- 최적 경로  

정답 : 2번
1번은 장애 생기면 a로 바뀌고 쿼리 보내고 리플라이받고 경로 지정하고 p로 바뀐다. 
2번은 바로 경로로 등록한다.

8. 균등 로드 분산

 - 목적지에 대한 최적 경로가 여러 개가 있을 경우, 라우팅 테이블에 그 경로들을 등록시킴
 - 위에 ④ 같은 경우
 - '05_EIGRP 균등&비균등 로드 분산.pkt' 파일 실습

R2 eigrp 토폴로지

R2 eigrp 에서 13.13.40.0 으로 가는 경로가 두 가지가 있다. -> FD 값이 같기 때문 

R2 라우팅 테이블

R2에서 13.13.40.0 가는 경로가 eigrp에서 두 개가 최적 경로로 지정되어있어 라우팅 테이블에도 두 개 경로가 나온다. -> 로드 분산


9. 비균등 로드 분산

 - 후속 경로를 라우팅 테이블에 등록하여, 최적 경로와 후속 경로를 동시에 사용하는 기능
 - 'variance' 명령어 사용  -> 후속경로만 라우팅 테이블에 들어갈 수 있다.
 - '05_EIGRP 균등&비균등 로드 분산.pkt' 파일 실습

@ R2 

int s1/0 -> BW 2048 값이 이렇게 변경됨
 bandwidth 2048 (k)

@ R3

int s1/0
 bandwidth 2048
!
int s1/1
 bandwidth 2048

@ R4

int s1/1
 bandwidth 2048

R2#show ip eigrp topology 
IP-EIGRP Topology Table for AS 100

~ 중간 생략 ~

P 13.13.40.0/24, 1 successors, FD is 2276352
         via 13.13.23.3 (2276352/1764352), Serial1/0 <- 최적 경로
         via 13.13.12.1 (2684416/2172416), Serial1/1 <- 후속 경로
P 13.13.14.0/24, 1 successors, FD is 2681856
         via 13.13.12.1 (2681856/2169856), Serial1/1

R2#show ip route eigrp
     13.0.0.0/24 is subnetted, 6 subnets
D       13.13.14.0 [90/2681856] via 13.13.12.1, 00:58:34, Serial1/1
D       13.13.34.0 [90/2273792] via 13.13.23.3, 00:58:37, Serial1/0
D       13.13.40.0 [90/2276352] via 13.13.23.3, 00:58:34, Serial1/0

R2(config)#router eigrp 100
R2(config-router)#variance 2 -> 최적 경로 FD 값을 2배로 만듬
R2(config-router)#end

R2#show ip route eigrp
     13.0.0.0/24 is subnetted, 6 subnets
D       13.13.14.0 [90/2681856] via 13.13.12.1, 00:01:15, Serial1/1
D       13.13.34.0 [90/2273792] via 13.13.23.3, 00:01:17, Serial1/0
D       13.13.40.0 [90/2276352] via 13.13.23.3, 00:01:17, Serial1/0
                         [90/2684416] via 13.13.12.1, 00:01:15, Serial1/1


Ex) R1에서 'variance 2'를 실시할 경우, 비균등 로드 분산이 가능한 경우는 몇번인가?

R1#show ip eigrp topology all-link
IP-EIGRP Topology Table for AS(100)/ID(13.13.1.1)

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

P 100.100.1.0/24, 1 successors, FD is 2807456, serno 186
         via 13.13.10.3 (2807456/2295456), Serial1/1 <---------- 최적 경로
         via 13.13.9.2 (3219456/2707456), Serial1/0 <----------- ①

P 198.198.1.0/24, 1 successors, FD is 2323456, serno 185
         via 13.13.10.3 (2323456/409600), Serial1/1 <---------- 최적 경로
         via 13.13.9.2 (2835456/2323456), Serial1/0 <----------- ②

P 128.128.1.0/24, 1 successors, FD is 2323456, serno 176
         via 13.13.10.3 (2323456/409600), Serial1/1 <---------- 최적 경로
         via 13.13.9.2 (2835456/2323456), Serial1/0 <----------- ③

인터페이스 기본 BW 값
BW 값 변경 코드

BW 값이 1544 -> 2048로 증가해서 최적의 경로로 13.13.23.3 이 선정되고 BW 값이 기본(1544)인 13.13.12.1 이 후속 경로로 설정된 모습이다.

따라서 eigrp에서 최적의 경로인 13.13.23.3만 라우팅 테이블에 등록된 모습이다.

 


10. EIGRP 메트릭

 - Bandwidth & Delay 값을 기반으로 계산함 -> 이것만 잘 알면 됨

링크간 Bandwidth 값이 높으면 최적 경로가 된다.

 - Vector 메트릭 : MTU(인터페이스가 처리 할 수 있는 최대 패킷 사이즈), Bandwidth(대역폭), Delay(인터페이스에서 발생할 수 있는 딜레이 시간), reliability(신뢰도,인터페이스나 케이블에 문제가 있으면 분자 값이 떨어진다.), load(부하현상,들어오는 속도 > 나가는 속도 일 경우, 부하 있으면 분자값이 올라감)
 - K 상수 : K1=1, K2=0, K3=1, K4=0, K5=0

R1#show int s1/0
Serial1/0 is up, line protocol is up 
  Hardware is M4T
  Internet address is 13.13.12.1/24
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255

R1#show ip protocols 
Routing Protocol is "eigrp 100"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Default networks flagged in outgoing updates
  Default networks accepted from incoming updates
  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0


 - EIGRP 메트릭 계산 방법

[K1 x Bandwidth + K2 x Bandwidth / (256 - Load) + K3 x Delay] x 256

[1 x Bandwidth + 0 x Bandwidth / (256 - Load) + 1 x Delay] x 256

[Bandwidth + 0 + Delay] x 256

[Bandwidth + Delay] x 256

 Bandwidth = 10^10 / 목적지까지 가장 작은 Bandwidth(bps)
 Delay = 목적지까지 합산 Delay / 10


Ex) R1에서 '13.13.30.0/24' 메트릭 계산

    BW 1544k, DLY 20000 usec        BW 1544k, DLY 20000 usec     BW 100000k, DLY 1000 usec
R1---------------------------------R2---------------------------------R3----------------------| 13.13.30.0/24

 Bandwidth = 10^10 / 1544000 = 6476   
 Delay = 41000 / 10 = 4100

 EIGRP Metric = [6476 + 4100] x 256 = 10576 x 256 = 2707456

R1#show ip route 13.13.30.0
Routing entry for 13.13.30.0/24
  Known via "eigrp 100", distance 90, metric 2707456, type internal
  Redistributing via eigrp 100
  Last update from 13.13.12.2 on Serial1/0, 01:09:17 ago
  Routing Descriptor Blocks:
  * 13.13.12.2, from 13.13.12.2, 01:09:17 ago, via Serial1/0
      Route metric is 2707456, traffic share count is 1
      Total delay is 41000 microseconds, minimum bandwidth is 1544 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2



11. 수동 요약 기능

 - 경로 개수를 최소화하여 라우팅 업데이트 실시
 - 장점 : 라우팅 테이블 크기 최소화 및 메모리 사용률 최소화
예시)

많은 Access 라우터는 Distribution 라우터에게 자신의 라우팅 테이블 정보를 넘겨 주게된다. 그리고 Distribution 라우터가 코어 라우터에게 라우팅 테이블 정보를 넘겨줄 때 요약하지 않으면 많은 Access 라우터 라우팅 정보를 다 가지게 된다. 이렇게 되면 메모리 사용이 많아지기 때문에 Distribution 라우터가 코어 라우터에게 라우팅 정보를 줄 때는 요약해서 라우팅 업데이트를 실시한다.  -> 요약된 정보만 보고 Distribution 라우터에게 주면 Distribution 라우터가 라우팅 테이블을 확인해서 Access 라우터에게 주면 되기 때문이다.


R1(config)#int lo 1
R1(config-if)#ip address 128.28.8.1 255.255.255.0
R1(config-if)#int lo 2
R1(config-if)#ip address 128.28.9.1 255.255.255.0
R1(config-if)#int lo 3
R1(config-if)#ip address 128.28.10.1 255.255.255.0
R1(config-if)#int lo 4
R1(config-if)#ip address 128.28.11.1 255.255.255.0
R1(config-if)#int lo 5
R1(config-if)#ip address 128.28.12.1 255.255.255.0
R1(config-if)#
R1(config-if)#router eigrp 100
R1(config-router)#network 128.28.0.0
R1(config-router)#passive-interface lo1
R1(config-router)#passive-interface lo2
R1(config-router)#passive-interface lo3
R1(config-router)#passive-interface lo4
R1(config-router)#passive-interface lo5
R1(config-router)#end
R1#show run

R2#show ip route

R3#show ip route eigrp

13.0.0.0/24 is subnetted, 5 subnets

D 13.13.10.0 [90/2684416] via 13.13.23.2, 00:04:22, Serial1/1

D 13.13.12.0 [90/2681856] via 13.13.23.2, 00:04:22, Serial1/1

D 13.13.20.0 [90/2172416] via 13.13.23.2, 00:04:22, Serial1/1

128.28.0.0/24 is subnetted, 5 subnets

D 128.28.8.0 [90/2809856] via 13.13.23.2, 00:01:20, Serial1/1

D 128.28.9.0 [90/2809856] via 13.13.23.2, 00:01:20, Serial1/1

D 128.28.10.0 [90/2809856] via 13.13.23.2, 00:01:20, Serial1/1

D 128.28.11.0 [90/2809856] via 13.13.23.2, 00:01:20, Serial1/1

D 128.28.12.0 [90/2809856] via 13.13.23.2, 00:01:20, Serial1/1



R3#sh ip route summary

IP routing table name is Default-IP-Routing-Table(0)

IP routing table maximum-paths is 16

Route Source Networks Subnets Overhead Memory (bytes)

connected           0         2           144       256

static                  0         0             0         0

eigrp 100             0        8             576    1024

internal               2                                2296

Total                   2         10         720      3576



Ex) R2는 R3에게 '128.28.8.0/24 ~ 128.28.12.0/24'를 수동 요약하여 라우팅 업데이트하여라.

  128.28.00001 000.0
  128.28.00001 001.0
  128.28.00001 010.0
  128.28.00001 011.0
  128.28.00001 100.0
-----------------------------------------------------> 128.28.8.0/21
255.255.11111 000.0 <- 255.255.248.0 <- /21

R2(config)#int s1/0
R2(config-if)#ip summary-address eigrp 100 128.28.8.0 255.255.248.0
R2(config-if)#end
R2#show run

R2 s1/0으로 나오는 라우팅 업데이트가 요약되어서 받은걸 확인 할 수 있다. -> 128.28.8.0

 

R3#sh ip route summary

메모리 용량도 1024에서 512로 줄어든걸 확인 할 수 있다. -> 요약된 라우팅 정보를 받아서

R3#ping 128.28.8.1
R3#ping 128.28.9.1
R3#ping 128.28.10.1
R3#ping 128.28.11.1
R3#ping 128.28.12.1



12. MD5 해시 함수를 이용한 인증 기능 - 인증 개념만 알자

 - EIGRP 패켓 변조 방지

R1[S1/0]-----------------------------------[S1/1]R2

R1(config)#key chain EIGRP_K
R1(config-keychain)#key 13
R1(config-keychain-key)#key-string cisco
R1(config-keychain-key)#
R1(config-keychain-key)#int s1/0
R1(config-if)#ip authentication mode eigrp 100 md5
R1(config-if)#ip authentication key-chain eigrp 100 EIGRP_K
R1(config-if)#end

R1#show run
R1#show ip eigrp neighbor

R2(config)#key chain EIGRP_K
R2(config-keychain)#key 13
R2(config-keychain-key)#key-string cisco
R2(config-keychain-key)#
R2(config-keychain-key)#int s1/1
R2(config-if)#ip authentication mode eigrp 100 md5
R2(config-if)#ip authentication key-chain eigrp 100 EIGRP_K
R2(config-if)#end

R2#show run
R2#show ip eigrp neighbor



13. EIGRP 외부 경로

 - D : 내부 경로(신뢰도 : 90), 같은 AS 안에서 라우팅 업데이트 경로
 - D EX : 외부 경로(신뢰도 : 170), 외부 네트워크로부터 라우팅 업데이트 경로

 

B 네트워크에서는 동적 경로로 rip를 사용한다. B에서 A 라우팅 업데이트를 하기 위해서는 A에서 사용하는 동적경로가 다르기 때문에 rip -> eigrp로 변화가 필요하다. 따라서 rip에서 eigrp로 변화하고 라우팅 업데이트에 올라가면 EX가 붙는다.

 

R3(config)#int lo 1
R3(config-if)#ip address 100.100.1.1 255.255.255.0
R3(config-if)#int lo 2
R3(config-if)#ip address 100.100.2.1 255.255.255.0
R3(config-if)#int lo 3
R3(config-if)#ip address 100.100.3.1 255.255.255.0
R3(config-if)#
R3(config-if)#router rip
R3(config-router)#version 2
R3(config-router)#no auto-summary
R3(config-router)#network 100.0.0.0
R3(config-router)#
R3(config-router)#router eigrp 100
R3(config-router)#redistribute rip metric 1544 2000 255 1 1500 -> 자기가 가지고있는 rip정보를 eigrp로 바꿈

R1,R2#show ip route

R1#show ip route 




14. EIGRP 기본 경로 라우팅 업데이트

ISP------------------------------------[F0/1]R1---------------R2--------------R3
   61.41.162.130/30      61.41.162.129/30

@ R1

R1#conf t
R1(config)#int lo61  -> fa0/1이 인터넷과 연결이 안되어 있기 때문에 루프백 사용
R1(config-if)#ip address 61.41.162.129 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#ip route 0.0.0.0 0.0.0.0 61.41.162.130
R1(config)#
R1(config)#router eigrp 100
R1(config-router)#redistribute static -> static 경로를 eigrp로 바꿔서 업데이트 해준다.
R1(config-router)#end
R1#
R1#show run
R1#show ip route

R2,R3#show ip route

'네트워크' 카테고리의 다른 글

와일드카드 마스크, ACL  (0) 2022.04.27
동적 경로 OSPF  (0) 2022.04.26
Cisco IOS 명령어(4) - 정적 경로, 동적 경로(RIPv1, RIPv2)  (0) 2022.04.23
Cisco IOS 명령어(3) - 정적 경로  (0) 2022.04.21
Cisco IOS 명령어(2)  (0) 2022.04.20