Routing Protocol 3 / GNS3
## EIGRP(Enhanced IGRP) ##
- EIGRP는 Cisco 전용 라우팅 프로토콜이었지만, 2016년 5월에 RFC 표준으로 등록되었다.(RFC7868)
- IP Protocol 88번을 사용, IP 헤더 뒤에 EIGRP 메시지가 따라온다.
Multicast 주소 224.0.0.10을 사용하여 EIGRP Device만 정보를 수신할 수 있도록 한다.
(88 - EIGRP)
(6 - TCP)
(17 - UDP)
- EIGRP의 AD값은 다음과 같다.
=> internal(내부) : 90
external(외부) : 170
summary (축약) : 5
- EIGRP의 Metric은 Composit Metric을 사용한다.
=> Bandwidth(대역폭) / Delay(지연) / Reliability(신뢰성) / Load(부하)를 특정 공식에 대입한
값을 사용.
** EIGRP 특징 **
1) PDM(Protocol Dependent Module)을 지원하기 때문에 IP 주소 뿐 아니라 다른 Network 계층
(L3)의 Protocol 정보도 교환이 가능하다. (ex. IPX/Apple talk ..)
=> 각 network 계층 protocol 마다 독립된 모듈을 사용할 수 있다.
2) 인접 EIGRP Router와 hello 메시지를 교환하여 Neighbor 관계를 형성한다. 그 후 주기적
Update 대신 가벼운 hello 메시지를 반복적으로 교환하면서 keepalive 체크를 수행한다.
3) EIGRP는 AS로 구분하여 Bounded Update가 가능하다.
=> 모든 Router를 EIGRP로 설정하여도 서로 AS 번호가 다른 경우 정보를 교환하지 않는다.
=> 관리자가 의도적으로 AS 번호를 다르게 구성하여 EIGRP의 Update 범위를 제한하는 것
이 가능하다.
=> BGP의 AS와 EIGRP AS는 이름은 동일하지만 서로 다른 개념이다. EIGRP의 AS는 훨씬
작은 개념으로 관리자가 임의적으로 할당한다.
4) RTP(Reliable Transport Protocol), 즉 신뢰성 있는 전송이 가능하다.
=> EIGRP의 경우 IP base로 동작하기 때문에 별도의 EIGRP ACK Packet을 사용하여 상대방
장비가 전송한 Update/Query/Reply 패킷을 수신했다는 것을 확인 시켜준다.
===========================================================================================================
** 기존 RIPv2 설정 삭제 ** (그전 게시물 실습)
<R1,R2,R3,R4>
conf t
no router rip
[show ip eigrp neighbor : EIGRP neighbor 확인]
=> 만약 EIGRP neighbor가 형성되지 않을 경우 다음을 확인한다.
1) 인접 구간 ping test, 실패시 interface 상태 및 설정 체크.
2) 인접 구간 ping test 성공시 EIGRP 설정 체크.
show ip eigrp topology : Topology table 확인
===========================================================================================================
## EIGRP Packet ##
- EIGRP는 5개의 EIGRP Packet을 사용하여 neighbor 관계를 형성하고, 정보를 교환한다.
[1. Hello]
-> EIGRP 네이버 관계를 형성하고, Keepalive 체크하는 목적으로 사용
-> 동일 link에 연결된 EIGRP Device들은 서로 Hello Packet을 교환하면 상대방의 정보를 자신
의 'EIGRP Neighbor Table'에 등록.
(EIGRP Neighbor Table 확인 => [show ip eigrp neighbor] 명령어)
-> 모든 EIGRP Device와 네이버 관계를 형성하는 것이 아니라 다음 조건이 일치해야 네이버
관계를 형성한다.
=> AS 번호 / K-value(상수) / Authentication(인증) / 동일 Subnet 대역
-> 네이버 관계를 형성한 장비들은 주기적으로 Hello Packet을 교환하면서 상대방 장비가 살아
있는 것을 확인한다.
이때 Hello Packet의 교환 주기는 다음과 같다.
=> Ethernet / Point-to-Point(PPP, HDLC) / T1 이상의 NBMA
< Hello-interval : 5초 / Hold-Time : 15초>
=> T1(1,544Kbps) 이하의 NBMA
< Hello-interval : 60초/ Hold-Time : 180초>
[2. Update]
-> EIGRP Neighbor 관계를 형성하고 자신의 Topology Table에 등록된 정보를 Neighbor 장비에
게 알려주는 목적으로 사용된다.
-> 또한 망에 변화가 발생했을 경우 변화된 내용을 알려주는 목적으로 사용된다. (Flush
Update)
[3. Query]
-> 특정 목적지에 대한 Best Path(Successor) 경로에 장애가 발생되었고, EIGRP Topology Table
에 'Loop가 없다고 확인된 Backup Path(Feasible Successor)' 정보가 없는 경우 Query 패킷을
인접 Neighbor에게 전송하여 다른 경로가 있는지 물어본다.
-> 만약 'Loop가 없다고 확인된 Backup Path(Feasible Successor)' 정보가 있는 경우에는 즉시 해
당 경로로 변경하기 때문에 Query 패킷이 발생되지 않는다.
[4. Reply]
-> 상대방이 요청한 Query 패킷에 대한 응답이다.
-> 만약 Query를 수신한 장비가 대체 경로를 모르는 경우에도 Reply로 답변해야 한다.
-> 만약 Query 패킷을 수신한 후 3분 안에 Reply를 전송하지 않을 경우 Neighbor 관계가 단절된
다.
(SIA-Stuck In Active 원인)
[5. Ack]
-> EIGRP의 경우 IP Base로 동작, 즉 신뢰성이 없다.
-> 때문에 EIGRP는 상대방 장비에게 Update/Query/Reply 패킷을 수신했을 경우 별도의 EIGRP
ACK 패킷을 사용하여 수신 여부를 확인시켜 준다.
-> 만약 상대방 장비로부터 EIGRP ACK 패킷을 수신하지 못하는 경우 최대 16회 동안 반복 전
송을 수행한다.
-> 최대 16회 반복 전송될 동안 상대로부터 EIGRP ACK를 수신하지 못한 경우에는 상대방 장
비에 문제가 있다고 판단하여 EIGRP Neighbor 관계를 끊는다.
SRTT : Update나 Query를 보낼때 걸리는 왕복시간
RTO : RTO시간이 끝나도록 ACK가 오지않으면 재전송까지의 시간 (16회 반복)
-> RTP(Reliable Transport Protocol)를 가능하게 해준다.
** Topology table에는 이동가능한 모든 경로가 저장된 후(Backup) 가장 Best Path를 Routing
Table에 저장한다.
170.100.4.1
170.100.5.1
170.100.6.1
170.100.7.1
=> 관리자가 [170.100.6.0/24] 대역만 광고하기를 원하는 경우, 위와 같이 network 명령어를 입
력해도 자동으로 Classful 범위인 [170.100.0.0]으로 변경되기 때문에 모든 대역이 광고 범위
에 포함된다.
때문에 특정 대역만 광고할 경우 wildcard mask를 사용하여 해당 범위만 정확히 지정해줘야
한다.
** Wildcard mask(중요!!!) **
- 특정 network의 범위를 지정할 수 있다. 표현방식은 subnet mask의 반대로 고정된 bit자리에는
'0'을 채우고 변경가능한 bit 자리에는 '1'을 채운다.
<Ex>
/24 => 11111111.11111111.11111111.00000000 (255.255.255.0) : subnet
00000000.00000000.00000000.11111111 (0.0.0.252) : wildcard mask
/30 => 11111111.11111111.11111111.11111100(255.255.255.252) : subnet
00000000.00000000.00000000.00000011(0.0.0.3) : wildcard mask
- RIP의 경우 wildcard mask를 지원하지 않는다.
EIGRP의 경우 옵션, OSPF의 경우는 wildcard mask가 필수이다.
Delay를 바꾼다고 실제 Delay 수치가 바뀌는 것은 아님 / Metric 공식에 활용된다.
============================================================================================================
## EIGRP Metric ##
- 단순히 Hop-Count를 Metric으로 사용했던 RIP과 다르게 EIGRP의 경우 다음과 같은 요소를
사용한다.
- Bandwidth(K1), Load(K2), Delay(K3), Reliability(K4/K5)를 특정 공식에 대입한 결과.
=> 하지만 기본적으로 Metric 공식에 사용되는 요소는 Bandwidth(K1)과 Delay(K3)이다.
=> 결과적으로 Default K-Value는 [K1=1, K2=0, K3=1, K4=0, K5=0]이다.
=> Load(K2)와 Reliability(K4/K5)의 경우 고정된 값이 아니라 동적인 값을 갖는다. 결과적으
로 K2/K4/K5를 사용할 경우 안정성에 문제가 있을 수 있다.
=> EIGRP 설정 모드 안에서 [metric weight 0 <K1> <K2> <K3> <K4> <K5>] 명령어로
K-Value 변경이 가능하다.
- 실제 EIGRP Metric 공식은 (10^7/가장 느린 BW + 모든 Delay 합/10) * 256이다.
이때 Bandwidth와 Delay는 출구 Interface의 값을 사용한다.
- EIGRP의 경우 Metric 조건에 Bandwidth와 Delay가 사용되기 때문에 관리자가 Interface의
Bandwidth와 Delay를 현재 상황에 맞춰서 변경해줘야 한다.
=> Interface의 Bandwidth와 Delay는 실제 대역폭과 지연 값에 영향을 주지 않고, 단지 EIGRP
와 OSPF의 Metric 공식에 사용될 뿐이다.
=========================================================================
## GNS3와 실장비 차이점 ##
1. Serial 케이블에 DCE와 DTE 구분이 없다. 별도의 Clock rate를 설정하지 않아도 통신이 가능
하다.
2. hostname / no ip domain lookup / line console 0 에 기본 명령어들이 자동으로 입력되어있다.
3. console 포트에 [privilege level 15] 명령어가 기본적으로 입력되어 있기 때문에 user 모드(>)
를 거치지 않고 바로 Privileged 모드(#)로 들어온다.
<
int s 1/1
no peer neighbor-route
[do show ip route]에서 ppp일때 32 prifix로 출력되는것을 보여지지않게 할 수 있다.
>
[clear ip route * ](함부로 사용 X) : ip route 클리어
-debug : [debug ip rip] / [undebug all]
===========================================================================================================
[1. Manual-Summary]
<Gwang_ju>
conf t
int lo 1
ip add 150.100.4.1 255.255.255.0
ip add 150.100.5.1 255.255.255.0 sec
ip add 150.100.6.1 255.255.255.0 sec
ip add 150.100.7.1 255.255.255.0 sec
!
router rip
network 150.100.0.0
!
<Busan>
conf t
int lo 1
ip add 150.100.8.1 255.255.255.0
ip add 150.100.9.1 255.255.255.0 sec
ip add 150.100.10.1 255.255.255.0 sec
ip add 150.100.11.1 255.255.255.0 sec
!
router rip
network 150.100.0.0
!
[Subnetting에서 역순으로 묶기] : Super netting
150.100.4.0/24
150.100.5.0/24
150.100.6.0/24
150.100.7.0/24
<일치하는 곳까지 끊기>
150.100.000001 | 00.00000000
150.100.000001 | 01.00000000
150.100.000001 | 10.00000000
150.100.000001 | 11.00000000
----------------------------
150.100.000001 | 00.00000000 => 150.100.4.0/22
150.100.8.0/24
150.100.9.0/24
150.100.10.0/24
150.100.11.0/24
150.100.000010 | 00.00000000
150.100.000010 | 01.00000000
150.100.000010 | 10.00000000
150.100.000010 | 11.00000000
----------------------------
150.100.000010 | 00.00000000 => 150.100.8.0/22
<Gwang_ju>
int s 1/0
ip summary-address ?
## Longest Match ##
=> manual-summary 수행 후 각 router의 routing table에 상대방의 상세 정보 대신 축약된 정보
가 보인다.
그래도 통신에 문제가 없는 것은 classless하게 summary를 수행하였기 때문에 서로 식별이
가능하고, Longest match에 의해서 상대방에 전송되기 때문이다.
200.100.00000001.00000000
200.100.00000010.
200.100.00000011
200.100.00000100
200.100.00000 000.0
--------------------------------------------------------------------------------------------------------------------------
<실습>
각 Router에는 Loop를 만들어 준다.
R1에서는 170.100.6.1/24만 광고를 하도록 한다.
댓글
댓글 쓰기