EIGRP (Enhanced Interior Gateway Routing Protocol)
- Cisco에서 개발한 라우팅 프로토콜(IGRP도 Cisco에서 개발한 라우팅 프로토콜)
- Cisco 장비에만 지원되는 라우팅 프로토콜이기때문에 다른 벤더 제품과 호환성 문제점
발생
- PDM 기능을 이용하여 IP, IPX, Appletalk 라우팅 가능
- 균등 로드 분산 & 비균등 로드 분산 (기본 4개 ~ 최대 6개)
- 클래스레스 라우팅
프로토콜(Classless Routing Protocol) <- RIPv2 동일
1) 서브넷 마스크가 다양한 구간에서 라우팅 업데이트 가능
2) VLSM, CIDR 환경에서 라우팅 업데이트
가능
3) 라우팅 업데이트 서브넷 마스크를 포함하여 서브넷을 명확하게
구분한다.
4) 클래스 경계에서 자동 클래스풀 요약을
실시
5) 클래스가 단절된 비연속 서브넷 구간에서는 라우팅 업데이트가 차단될수
있다.
6) 해결책 : 자동 요약 해지 = no
auto-summary
- EIGRP는 기존 Distance Vector 라우팅 프로토콜(RIPv1, RIPv2, IGRP)에 대한 단점 보완한
Advance Distance Vector 라우팅 프로토콜이다.
1) 기존 Distance Vector 라우팅 프로토콜(RIPv1, RIPv2, IGRP) 단점
- 주기적인 전체 라우팅 업데이트 실시
- 토폴로지 변경시 RIP 타이머, IGRP 타이머
사용
- 토폴로지 변경에 대한 갱신 시간이 느리다. <- 컨버젼스가
느리다.
- 네트워크 경로 정보를 별도로 관리하는 테이블이
없다.
2) Advanced Distance Vector 라우팅 프로토콜
- 주기적인 전체 라우팅 업데이트를 실시하지 않는다.
- 토폴로지 변경시 변경된 사항만
업데이트한다.
- EIGRP 패켓을 이용하여 토폴로지 변경에 대한 갱신을 신속하게
처리한다.
- 컨버젼스가 빠르다.
- 네트워크 경로 정보를 관리하는 토폴로지 테이블을
구성한다.
- EIGRP 동작 특징
1) 상호 라우터간에 인접 관계(네이버)를 성립한 이후, 라우팅 업데이트를 실시한다.
2) 이때, 인접 관계는 Hello 패켓을 교환하여 실시하며, 라우팅 업데이트는 Update 패켓을 이용하여 실시한다.
3) 업데이트 정보를 수신하면 각각의 라우터들은 토폴로지 테이블을 구성하여 네트워크 경로 정보를 관리한다.
4) 토폴로지 정보를 기반으로 Dual 알고리즘을 이용하여 최적 경로 및 후속 경로를 선출한다.
5) 선출된 최적 경로는 라우팅 테이블에 등록되어 동작한다.
6) 만약, 최적 경로가 장애가 발생되면, 바로 후속 경로가 라우팅 테이블에 등록되어 동작한다.
7) 주기적 전체 라우팅 업데이트를 하지 않는 대신, 인접 관계(네이버)를 유지하기 위한
Hello 패켓은 주기적으로 교환한다.
- EIGRP 3가지 유형의 테이블
1) EIGRP 네이버 테이블
- 인접 관계(네이버)를 성립한 이웃한 라우터의 정보를 관리한다.
- 즉, 라우팅 업데이트를 주고 받을수 있는 상태인 네이버 라우터가 출력된다.
- 'show ip eigrp neighbors' Command 사용
2) EIGRP 토폴로지 테이블
- 네이버 라우터에게 수신한 라우팅 업데이트 정보를 관리한다.
- 토폴로지 정보를 기반으로 Dual 알고리즘을 이용하여 최적 경로 및 후속 경로를
선출한다.
- 'show ip eigrp topology', 'show ip eigrp topology all-link'
Command 사용
3) 라우팅 테이블
- 토폴로지 테이블에 선출된 최적 경로가 등록되어 동작한다.
- 만약, 최적 경로가 장애가 발생되면 후속 경로가 등록되어 동작한다.
- EIGRP 5가지 유형의 패켓
1) Hello
- EIGRP 프로세서 시작되면 생성되어 인터페이스로 멀티케스트 224.0.0.10을 사용하여 전송된다.
- 인접 관계(네이버)를 성립하며, 인접 관계(네이버)를 유지한다.
- Hello 패켓 내용 : AS Number, K 상수(Default : K1=1, K2=0, K3=1,
K4=0, K5=0)
- EIGRP 인접 조건 : 라우터들은 AS 주소와 K 상수값이 동일해야한다.
- Point-to-Point 구간에서는 HELLO 주기 5 초 HOLD 주기 15 초
- Broadcast 구간에서는 HELLO 주기 5 초 HOLD 주기 15 초
- Nonbroadcast 구간에서는 HELLO 주기 60 초 HOLD 주기 180
초
- EIGRP 네이버 테이블 생성 가능
2) Update
- 라우팅 업데이트 정보를 포함한 패켓이다.
- Point-to-Point, NBMA 환경에서는 유니케스트로 업데이트 실시
- 이외 Broadcast 환경에서는 멀티케스트 224.0.0.10을 이용하여 업데이트
실시
- EIGRP 토폴로지 테이블 생성 가능 및 최적 경로/후속 경로 선출 가능
3) Query
- 로컬 네트워크 장애 발생 및 최적 경로가 장애가 발생되면 네이버 라우터들에대체 경로가 있는지
알기 위해서 질의하는 패켓이다.
- Point-to-Point, NBMA 환경에서는 유니케스트로 질의
- 이외 Broadcast 환경에서는 멀티케스트 224.0.0.10을 이용하여 질의
4) Reply
- Query에 대한 응답 패켓이다.
- '대체 경로가 있다/없다' 내용이 포함된다.
- 전 구간에서 유니케스트로 응답
5) ACK
- Update, Query, Reply 패켓 수신에 대한 확인 메세지
- EIGRP 패켓 교환 디버깅 : debug eigrp packet
1) Hello 패켓
# debug eigrp packet hello
# debug ip packet
2) Update 패켓, ACK 패켓
# debug eigrp packet update ack
3) Query, Reply, ACK
# debug eigrp packet query reply ack
- EIGRP 패켓 내용 디버깅 : debug ip eigrp
1) Update 패켓 내용
R1#debug ip eigrp
IP-EIGRP Route Events
debugging is on
IP-EIGRP(Default-IP-Routing-Table:13): Processing incoming UPDATE packet
IP-EIGRP(Default-IP-Routing-Table:13): Int 200.200.200.0/24 M 2297856 - 1657856 640000 SM 128256 - 256 128000
1) M 2297856 : EIGRP 최적 경로 메트릭, FD(Feasible Distance)라고
한다.
2) FD(Feasible Distance) : 출발지에서 목적지까지 메트릭
3) 1657856 640000 : EIGRP BW + EIGRP Delay
4) SM 128256 : AD(Advertised Distance)라고 한다.
5) AD(Advertised Distance) : 넥스트-홉 라우터에서 목적지까지 메트릭
6) 256 128000 : EIGRP BW + EIGRP Delay
IP-EIGRP(Default-IP-Routing-Table:13): route installed for 200.200.200.0
2) Query 패켓 내용
IP-EIGRP(Default-IP-Routing-Table:13): Processing incoming QUERY packet
IP-EIGRP(Default-IP-Routing-Table:13): Int 200.200.200.0/24 M 4294967295 - 0 4294967295 SM 4294967295 - 0 4294967295
IP-EIGRP(Default-IP-Routing-Table:13): 200.200.200.0/24 routing table not updated thru 13.13.12.2
IP-EIGRP(Default-IP-Routing-Table:13): 200.200.200.0/24 - not in IP routing table
- EIGRP 메트릭 : Bandwidth, Delay, 신뢰도, Load,
MTU : K 상수값
R1#show interface serial 1/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
1) (K1 x Bandwidth) + [(K2 x Bandwidth) / (256 - Load)] + (K3 x Delay)
2) K Value : K1=1, K2=0, K3=1, L4=0, K5=0
3) EIGRP Metirc = EIGRP BW + EIGRP Delay
4) EIGRP BW = (10^7 / 목적지까지 가장 작은 Bandwidth) x 256
5) EIGRP Delay = (목적지까지 합산한 Delay / 10) x 256
- EIGRP 토폴로지 테이블
R1#show ip eigrp topology
IP-EIGRP Topology Table for
AS(13)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R -
Reply,
r - reply Status, s - sia Status
P 13.13.1.0/24, 1 successors, FD is 28160
via Connected,
FastEthernet0/0
P 13.13.2.0/24, 1 successors, FD is 2172416
via
13.13.12.2 (2172416/28160), Serial1/0
P 13.13.3.0/24, 1 successors, FD is
2684416
via 13.13.12.2 (2684416/2172416), Serial1/0
P
13.13.12.0/24, 1 successors, FD is 2169856
via Connected,
Serial1/0
P 13.13.23.0/24, 1 successors, FD is 2681856
via
13.13.12.2 (2681856/2169856), Serial1/0
P 172.16.1.0/24, 1 successors, FD is
128256
via Connected, Loopback172
P 172.16.3.0/24, 1 successors,
FD is 2809856
via 13.13.12.2 (2809856/2297856),
Serial1/0
- Dual 알고리즘
1) 토폴로지 정보를 기반으로 최적 경로(Successor)와 최적 경로가 동작하지 않을때 바로 사용할 수 있는
후속 경로(Feasible Successor)를
선출한다.
2) 2가지 유형의 메트릭이
사용된다.
- FD(Feasible Distance) : 출발지 라우터에서 목적지까지 메트릭
- AD(Advertised Distance) : 넥스트-홉 라우터에서 목적지까지
메트릭
- 실제 EIGRP 메트릭은 FD이며, AD는 후속 경로를 선출할때 사용된다.
3) 최적 경로(Successor)는 FD가 가장 작은 경로로 선출되며, 후속 경로(Feasible
Successor)는
다음 조건에 만족되어야 선출된다.
1. 최적 경로(Successor)의 FD보다 작은 AD를 갖고 있는 경로
2. '1'번 조건이 만족된 경로의 FD가 남아있는 경로중에 가장 작아야한다.
Ex) 다음 중 후속 경로가 있는 네트워크 정보는 누구인가? 3번
1) P 172.16.2.0/24, 2 successors, FD is 2297856
via
13.13.12.2 (2297856/128256), Serial0/0
via 13.13.14.2
(2297856/128256), Serial0/1
2) P 172.16.2.0/24, 1 successors, FD is 2297856
via
13.13.12.2 (2297856/128256), Serial0/0
via 13.13.14.2
(3756017/2297856), Serial0/1
3) P 172.16.2.0/24, 1 successors, FD is 2297856
via
13.13.12.2 (2297856/128256), Serial0/0
via 13.13.14.2
(2756017/2044256), Serial0/1
4) P 172.16.2.0/24, 1 successors, FD is 2297856
via
13.13.12.2 (2297856/128256), Serial0/0
via 13.13.14.2
(3756017/2997856), Serial0/1
- EIGRP 경로 유형
1) 내부 EIGRP 경로(Internal EIGRP Route) : 같은 AS 안에 EIGRP 경로 정보
내부 EIGRP 경로 신뢰도 : 90 <- 'D' 코드로 등록
2) 외부 EIGRP 경로(External EIGRP Route) : 외부 도메인에서 우리 EIGRP로 온
정보
외부 EIGRP 경로 신뢰도 : 170 <- 재분배 환경에서 피드백 구조시 루프
해결
<- 'D EX' 코드로
등록
3) 요약 EIGRP 경로(Summary EIGRP Route) : 요약된 EIGRP 경로 정보
요약
EIGRP 경로 신뢰도 : 5 <- 불필요한 경로를 참조하는걸 방지
- EIGRP 설정 방법
1) 클래스풀 형식 설정 방법
Router(config)# router eigrp [1~65535 AS
Number]
Router(config-router)# eigrp router-id [A.B.C.D IPv4 주소
형식]
Router(config-router)# no auto-summary
Router(config-router)# network
[A.B.C.D 로컬 네트워크]
- AS 번호가 동일해야한다.
- 로컬 네트워크는 클래스풀 형식으로 선언한다.
2) 'Wildcard Mask'를 이용한 설정
방법
Router(config)# router eigrp [1~65535 AS
Number]
Router(config-router)# eigrp router-id [A.B.C.D IPv4 주소
형식]
Router(config-router)# no auto-summary
Router(config-router)# network
[A.B.C.D 로컬 네트워크][Wildcard Mask]
- 'Wildcard Mask'를 사용하는 이유는 다음과
같다.
Ex) R1
S 0/0 : 31.31.12.1/24 <- EIGRP 31인 네트워크
Fa 0/0 : 31.31.1.1/24
<- EIGRP 31이 아닌 네트워크
위의 환경에서 클래스풀 형식으로 설정하게 되면 다음과 같다.
router eigrp 31
network 31.0.0.0 <- EIGRP 31이 아닌 네트워크도 포함되게
된다.
!
'Wildcard Mask'를 사용하면 다음과 같다.
router eigrp 31
network 31.31.12.0 0.0.0.255 <- EIGRP 31 네트워크만
선언된다.
!
# EIGRP MD5 인증 설정 (키값과 패스워드는 동일해야
한다)
Router(config)# key chain EIGRP_KEY
Router(config-keychain)# key
[0-2147483647]
Router(config-keychain-key)# key-string
[TEXT]
Router(config-keychain-key)# exit
Router(config-keychain)#
exit
Router(config)# interface [인증을 하고자 하는 라우터와 연결된
인터페이스]
Router(config-if)# ip authentication mode eigrp X
md5
Router(config-if)# ip authentication key-chain eigrp X
EIGRP_KEY
1) 인증 실패 디버깅
R1#debug eigrp packets probe
EIGRP Packets debugging is on
(PROBE)
R1#
*Mar 1 01:06:24.083: EIGRP: Serial1/0: ignored packet from 31.31.12.2, opcode = 5 (missing authentication)
2) 인증 성공 디버깅
R1#debug eigrp packets probe
EIGRP Packets debugging is on
(PROBE)
R1#
*Mar 1
02:29:55.723: EIGRP: received packet with MD5 authentication, key id =
13
R1#
*Mar 1 02:30:00.619: EIGRP: received packet with MD5
authentication, key id = 13
# 브로드케스트 환경에서 실시하는 멀티케스트 업데이트를 유니케스트 방식으로 전환
Router(config)# router eigrp 31
Router(config-router)# neighbor
[유니케스트 목적지 IP 주소][발신 인터페이스]
# 자동 요약 해지후 수동 요약 기능
Router(config)# interface [업데이트가 나가는 발신 인터페이스]
Router(config-if)#
ip summary-address eigrp X [요약 IP 주소][서브넷 마스크]
1.기본설정을 한다..
R1
ho R1
int lo 172
ip add 172.16.1.1 255.255.255.0
int f
0/0
ip add 13.13.10.1 255.255.255.0
no shut
int s 1/0
ip add
13.13.12.1 255.255.255.0
no shut
R2
ho R2
int f 0/0
ip add 13.13.20.1 255.255.255.0
no
shut
int s 1/0
ip add 13.13.23.2 255.255.255.0
no shut
int s
1/1
ip add 13.13.12.2 255.255.255.0
no shut
R3
ho R3
int lo 172
ip add 172.16.3.1 255.255.255.0
int f
0/0
ip add 13.13.30.1 255.255.255.0
no shut
int s 1/1
ip add
13.13.23.3 255.255.255.0
no shut
2.eigrp 를 설정합니다 단 wildcard mask 를 이용하여 설정한다 router-id는 각각의 loopback 로 지정한다.
R2 에는 loopback 172 생성후 172.16.2.1 ip 할당 자동요약을 꺼준다.
R1
router eigrp 100
eigrp router-id 172.16.1.1
net 172.16.1.0
0.0.0.255
net 13.13.10.0 0.0.0.255
net 13.13.12.0 0.0.0.255
no
au
R2
int lo 172
ip add 172.16.2.1 255.255.255.0
router eigrp
100
eigrp router-id 172.16.2.1
net 172.16.2.0 0.0.0.255
net 13.13.12.0
0.0.0.255
net 13.13.20.0 0.0.0.255
net 13.13.23.0 0.0.0.255
no
au
R3
router eigrp 100
eigrp router-id 172.16.3.1
net 172.16.3.0
0.0.0.255
net 13.13.23.0 0.0.0.255
net 13.13.30.0 0.0.0.255
no
au
다 설정한 이후에 sh ip eigrp nei 로 neighbor을 확인하고 sh ip route 로 라우팅 테이블을 확인한다.
3.R1 , R2 , R3 의 구간은 MD5를 이용하여 인증한다 .인증한 이후에는 sh ip eigrp nei 로 neighbor 을 확인하거나
debug eigrp packet 으로 확인한다.
R1,R2,R3
key chain AAA
key 13
key-string cisco
R1
int s1/0
ip authentication key-chain eigrp 100 AAA
ip
authentication mode eigrp 100 md5
R2
int s1/0
ip authentication key-chain eigrp 100 AAA
ip
authentication mode eigrp 100 md5
int s1/1
ip authentication key-chain eigrp 100 AAA
ip
authentication mode eigrp 100 md5
R3
int s1/1
ip authentication key-chain eigrp 100 AAA
ip
authentication mode eigrp 100 md5
4. R1 라우터에서 loopback 100 을 만들어서 10.10.0.1/24 ~
10.10.3.1/24 의 ip 를 설정한다
단 10.10.0.1 을 제외한 나머지들은 secondary 로 설정한다.
그리고 eigrp 로 정의해준다.
R1
int lo 100
ip add 10.10.0.1 255.255.255.0
ip add 10.10.1.1
255.255.255.0 se
ip add 10.10.2.1 255.255.255.0 se
ip add 10.10.3.1
255.255.255.0 se
10.10.000000 00.0
10.10.000000
01.0
10.10.000000 10.0
10.10.000000 11.0
/22 255.255.252.0
router eigrp 100
net 10.10.0.0 0.0.3.255
int s 1/0
ip summary-address 10.10.0.0 255.255.0.0
다설정한후에 R3 라우터에서 sh ip route 로 내용을 확인한다.
그리고 R1 라우터에서
10.10.0.0 /16 으로 수동요약을 한 이후에 다시 R3 라우터에서 라우팅 테이블을 확인한다.
5.R1 라우터에서 loopback 128 을 만든후 128.1.1.1 /24 ~
128.1.5.1 /24 의 ip 를 설정한다.
단 128.1.1.1 을 제외한 나머지들은 secondary 로 설정한다.
다 설정한 후에 loopback 128 의 내용을
ripv2 로 정의해준다
R1 를 제외한 나머지라우터에서 라우팅
테이블을 확인한후에 R1 에서 단방향 재분배를 설정해준다.
int lo 128
ip add 128.1.1.1
255.255.255.0
ip add 128.1.2.1 255.255.255.0 se
ip add 128.1.3.1
255.255.255.0 se
ip add 128.1.4.1 255.255.255.0 se
ip add 128.1.5.1
255.255.255.0 se
router rip
ver 2
net 128.1.0.0
no
au
router eigrp
100
redistribute rip 100 metric 1544(bandwidth) 20000(delay) 255(reli) 1(load) 1500(mtu)
CCNA에서는 재분배를 다루지는 않지만 외부 경로를 확인해보기 위해 5번 문제를 해보는 것입니다.
'로그 저장소 :) > 네트웍.Network' 카테고리의 다른 글
[CCNA] Router (0) | 2012.10.28 |
---|---|
[CCNA] Introduce (0) | 2012.10.28 |
[CCNA] Network (0) | 2012.10.28 |
[CCNA] Wildmask & 주소요약 (0) | 2012.10.28 |
[CCNA] 라우팅 프로토콜 1 (0) | 2012.10.27 |