20210527 (목) eigrp, ospf
9:35 review
Distance vector routing의 한계
RIP : Slow convergence time으로 인하여 루핑이 발생할 수 있음.
▶ 해결방안
Maximum hop count (hop count 16)
split horizon network
route poisoning
poison reverse
hold down timer
triggered update
EIGRP (Enhanced Interior Gateway Routing Protocol)
hybrid routing protocol
cisco 자체 표준 : 다른 vendor 사의 라우터에서는 사용불가
빠른수렴시간을 가짐
효율적인 bandwidth 사용 가능함
DUAL (Diffusing Update ALgorithm) 을 사용하여 Successor와 Feasible Successor 를 선정
multicast를 사용하여 라우팅 정보를 교환한다.
EIGRP 문제해결 URL : https://www.cisco.com/c/ko_kr/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/118974-technote-eigrp-00.html
EIGRP 메트릭
Bandwidth 대역폭) : 10^7/가장_느린_Bandwidth
Delay (지연) : 모든 경로의 Delay의_합/10
Reliability (신뢰도)
Load (부하)
MTU (Maximum Transfer Unit, 물리적으로 한번에 보낼 수 있는 최대크기)
Default K 상수값
K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0
K1 : Bandwidth, K2 : Load , K3 : Delay, K4 : Reliability, K5 : MTU
DUAL algorithm 관련 용여
FD (Feasible Distance)
Source Router에서 Destination까지 계산한 EIGRP Metric
AD(Advertised Distance)/RD(Reported Distance)
Source Router의 Next Hop에서 Destination까지 계산한 EIGRP Metric
Successor
EIGRP에서 Destination까지 가기 위한 Best Route
FD 중에서 가장 낮은 경로 상의 Nest Hop Router
Feasible Successor
EIGRP에서 Destination 까지 가기 위한 대체 경로
Successor가 동작하지 못할 때 Routing 경로 계산 없이 바로 Routing Table에 등록되는 경로
Router ID
라우팅 영역 내에서 고유한 Router ID
Loopback Interface 에 설정된 ID주소
Loopback Interface 가 없으면 Router Interfaec 의 IP 주소 중 가장 높은 주소를 Router ID로 선정한다
Router(config)#interface loopback 0
Router(config-if)#
%LINK-5-CHANGED: Interface Loopback0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
Router(config-if)#ip address 1.1.1.1 255.255.255.0
Router(config-if)#exit
R1(config)#router eigrp 7
R1(config-router)#
R1(config-router)#network 203.230.10.0
R1(config-router)#network 203.230.11.0
R1(config-router)#network 203.230.7.0
R1(config-router)#network 1.0.0.0
R1(config-router)#no auto-summary
▶ interface loopback 0 진입 → 아이피설정 → router eigrp 숫자 → network 루프팩 네트워크 주소 설정
----------------------------------------------
PC0 ~ R1 ~ R2 : RIP
PC1 ~ R3 ~ R2 : EIGRP
→ R2에 RIP 네트워크주소, EIGRP 네트워크 주소를 모두 등록한 뒤 show running-config : eigrp, rip 모두 등록되어있음.
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2#show run
!
router eigrp 7
redistribute rip metric 1 0 1 1 1
network 211.192.40.0
network 211.192.50.0
!
router rip
version 2
redistribute eigrp 7 metric 1
network 211.192.40.0
network 211.192.50.0
no auto-summary
!
→ redistribute 명령으로 통해 양쪽 route를 모두 설정
R2(config)#router eigrp 7
R2(config-router)#redistribute rip metric 1 1 1 1 1
R2(config-router)#exit
R2(config)#router rip
R2(config-router)#redistribute eigrp 7 metric 1
R1, R3 에서 show ip route 통해서 라우트 테이블 확인
R1(RIP)에서는 60번대 네트워크가 R로 표시됨
R1#show ip route
…
Gateway of last resort is not set
211.192.30.0/24 is variably subnetted, 2 subnets, 2 masks
C 211.192.30.0/24 is directly connected, GigabitEthernet0/0
L 211.192.30.1/32 is directly connected, GigabitEthernet0/0
211.192.40.0/24 is variably subnetted, 2 subnets, 2 masks
C 211.192.40.0/24 is directly connected, Serial0/0/0
L 211.192.40.2/32 is directly connected, Serial0/0/0
R 211.192.50.0/24 [120/1] via 211.192.40.1, 00:00:15, Serial0/0/0
R 211.192.60.0/24 [120/1] via 211.192.40.1, 00:00:15, Serial0/0/0
R2(EIGRP)에서는 30번대 네트워크에 EX 표시됨 (external eigrp)
R3#show ip route
…
Gateway of last resort is not set
D EX 211.192.30.0/24 [170/2560512256] via 211.192.50.1, 00:07:26, Serial0/0/1
D 211.192.40.0/24 [90/2681856] via 211.192.50.1, 00:17:30, Serial0/0/1
211.192.50.0/24 is variably subnetted, 2 subnets, 2 masks
C 211.192.50.0/24 is directly connected, Serial0/0/1
L 211.192.50.2/32 is directly connected, Serial0/0/1
211.192.60.0/24 is variably subnetted, 2 subnets, 2 masks
C 211.192.60.0/24 is directly connected, GigabitEthernet0/0
L 211.192.60.1/32 is directly connected, GigabitEthernet0/0
----------------------------------------------
OSPF (Open Shortest Path First)
Link State Routing Protocol
링크 상태 정보를 기준으로 라우팅 정보를 교환
Partial Update를 기본적으로 지원함
링크 상태가 변하면 변화된 링크 상태 정보를 다른 라우터에게 전달
업데이트 내용이 없어도 default 30분 간격으로 링크 상태 재생(Link State Refresh)를 이용하여 Update 정보를 교환함
표준 라우팅 프로토콜로 Vendor와 무관하게 사용이 가능함
Routing Metric 을 링크 Cost 값으로 사용
OSPF 는 area를 사용하여 계층적 라우팅 구조를 가짐
OSPF Network Topology
Broadcast Multi Access
Point to Point
NBMA (Non-Broadcast Multi Access)
OSPF 네이버 맺는 과정 (neighbor)
Down State : OSPF Router가 neighbor 를 맺기 이전 상태(어떤 정보도 교환하지 않은 상태)
Init State : OSPF Router가 처음 hello 패킷을 보내고 init 상태로 바뀜
Two way state : 상대방 라우터가 보낸 hello 패킷에서 자신을 발견하면 Two way state로 진입.
Exstart state : 두 Neighbor Router 간에 Master/Slave 관계를 수립하는 단계
※ OSPF Router 중 Router ID가 가장 높으면 Master, 낮으면 Slave
Exchange State : neighbor router들끼리 DBD 패킷을 이용해 자신의 Link State 정보를 서로에게전달
Loading State : LSR (Link State Request)을 사용하여 자신에게 없는 Link 정보에 대해 세부 정보를 요청
Full Adjcency State : Loading state를 거쳐서 Link State 정보를 모두 주고받은 (동기화된) 상태
OSPF Packet 종류
Hello : neighbor Router 를 탐색하거나 Link의 이상유무를 탐지하기 위한 패킷 (기본 10초간격)
DBD(DB Description) : OSPF Router의 Topology Database를 요약한 패킷
LSR(Link State Request) : 상대 Router가 보낸 DBD를 확인하고 자신에게 없는 네트워크 정보를 요청하는 패킷
LSU(Link State Update) : LSR 패킷에 대한 응답이나 Link State가 변동된 경우 변동된 Link State를 알리기 위한 패킷
LSA(Link State Acknoledgement) : OSPF 패킷에 대해 정상 수신했음을 알리는 패킷
※ wild card mask : 서브넷 마스크의 반대 (255.255.255.0 ↔ 0.0.0.255)
DR (Designated Router)
Broadcast Multi-Access 환경에서 DR, BDR Router가 선정됨.
DR 선정 기준은 Priority, Router-ID를 비교하여 선정함.
①Priority 기본값 : 1 (Priority 의 숫자가 큰 라우터를 선정)
②Priority가 동일하면 Router-ID를 비교하여 높은 Router가 DR로 선정
LSU를 주로 보내는 Router를 DR로 지정하여 Overhead 감소가 목적 (너무많은 Linkstate packet을 발생시키지 않도록)
BDR (Backup Designated Router)
DR 다음으로 Router의 ID가 높은 Router가 선정됨
DR에 문제가 발생한 경우 일반적으로 BDR이 차기 DR로 선정
-------------------------------------------------
R1, R2, R3 에 OSPF 라우팅테이블 설정을 해준다. 이 때, 루프백 주소를 넣게 되면 루프백 주소가 Router ID가 된다.
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#router ospf 10
R1(config-router)#network 210.110.11.0 0.0.0.255 area 0
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
R1(config-router)#network 10.1.1.1 0.0.0.0 area 0
R1(config-router)#
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#router ospf 10
R2(config-router)#network 210.116.12.0 0.0.0.255 area 0
R2(config-router)#network 192.168.1.0 0.0.0.255 area 0
R2(config-router)#network 10.1.2.1 0.0.0.0 area 0
R2(config-router)#
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#router ospf 10
R3(config-router)#network 210.110.13.0 0.0.0.255 area 0
R3(config-router)#network 192.168.1.0 0.0.0.255 area 0
R3(config-router)#network 10.1.3.1 0.0.0.0 area 0
R3(config-router)#
R1#show ip protocols
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 10.1.1.1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
210.110.11.0 0.0.0.255 area 0
192.168.1.0 0.0.0.255 area 0
10.1.1.1 0.0.0.0 area 0
Routing Information Sources:
Gateway Distance Last Update
10.1.1.1 110 00:02:40
10.1.2.1 110 00:02:23
10.1.3.1 110 00:01:21
Distance: (default is 110)
show ip ospf neighbor 명령어로 FULL로 맺어진 상태, DR, BDR, DROTHER로 선정되어있음을 볼 수 있다.
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.1.2.1 1 FULL/BDR 00:00:31 192.168.1.2 GigabitEthernet0/0
10.1.3.1 1 FULL/DROTHER 00:00:32 192.168.1.3 GigabitEthernet0/0
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.1.1.1 1 FULL/DR 00:00:36 192.168.1.1 GigabitEthernet0/0
10.1.3.1 1 FULL/DROTHER 00:00:36 192.168.1.3 GigabitEthernet0/0
라우터 전원을 껐다키면 각 라우터가 DR, BDR를 선정하는 패킷을 주고 받음을 볼수 있다. (debug 명령어)
R1#debug ospf adj
00:00:45: OSPF: Backup seen Event before WAIT timer on GigabitEthernet0/0
00:00:45: OSPF: DR/BDR election on GigabitEthernet0/0
00:00:45: OSPF: Elect BDR 10.1.3.1
00:00:45: OSPF: Elect DR 10.1.2.1
00:00:45: DR: 10.1.2.1 (Id) BDR: 10.1.3.1 (Id)
00:00:45: OSPF: Send DBD to 10.1.2.1 on GigabitEthernet0/0 seq 0x631733f opt 0x00 flag 0x7 len 32
00:00:45: OSPF: Send DBD to 10.1.3.1 on GigabitEthernet0/0 seq 0x60116ab9 opt 0x00 flag 0x7 len 32
00:00:45: OSPF: Build router LSA for area 0, router ID 10.1.1.1, seq 0xffffffff80000004
00:00:50: OSPF: end of Wait on interface GigabitEthernet0/1
00:00:50: OSPF: DR/BDR election on GigabitEthernet0/1
00:00:50: OSPF: Elect BDR 10.1.1.1
00:00:50: OSPF: Elect DR 10.1.1.1
00:00:50: OSPF: Elect BDR 0.0.0.0
00:00:50: OSPF: Elect DR 10.1.1.1
00:00:50: DR: 10.1.1.1 (Id) BDR: none
00:00:50: OSPF: Build router LSA for area 0, router ID 10.1.1.1, seq 0xffffffff80000004
00:00:50: OSPF: No full nbrs to build Net Lsa for interface GigabitEthernet0/1
t
00:00:50: OSPF: Rcv DBD from 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3a opt 0x00 flag 0x7 len 32 mtu 1500 state EXSTART
00:00:50: OSPF: NBR Negotiation Done. We are the SLAVE
00:00:50: OSPF: Send DBD to 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3a opt 0x00 flag 0x2 len 52
00:00:50: OSPF: Rcv DBD from 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a016 opt 0x00 flag 0x7 len 32 mtu 1500 state EXSTART
00:00:50: OSPF: NBR Negotiation Done. We are the SLAVE
00:00:50: OSPF: Send DBD to 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a016 opt 0x00 flag 0x2 len 52
00:00:50: OSPF: Rcv DBD from 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3b opt 0x00 flag 0x3 len 132 mtu 1500 state EXCHANGE
00:00:50: OSPF: Send DBD to 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3b opt 0x00 flag 0x0 len 32
00:00:50: OSPF: Rcv DBD from 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a017 opt 0x00 flag 0x3 len 132 mtu 1500 state EXCHANGE
00:00:50: OSPF: Send DBD to 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a017 opt 0x00 flag 0x0 len 32
00:00:50: OSPF: Rcv DBD from 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3c opt 0x00 flag 0x1 len 32 mtu 1500 state EXCHANGE
00:00:50: OSPF: Send DBD to 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3c opt 0x00 flag 0x0 len 32
00:00:50: Exchange Done with 10.1.3.1 on GigabitEthernet0/0
00:00:50: OSPF: Database request to 10.1.3.1
00:00:50: OSPF: sent LS REQ packet to 192.168.1.3, length 48
00:00:50: OSPF: Send DBD to 10.1.3.1 on GigabitEthernet0/0 seq 0x6d83cc3c opt 0x00 flag 0x0 len 32
00:00:50: OSPF: Rcv DBD from 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a018 opt 0x00 flag 0x1 len 32 mtu 1500 state EXCHANGE
00:00:50: OSPF: Send DBD to 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a018 opt 0x00 flag 0x0 len 32
00:00:50: Exchange Done with 10.1.2.1 on GigabitEthernet0/0
00:00:50: OSPF: Database request to 10.1.2.1
00:00:50: OSPF: sent LS REQ packet to 192.168.1.2, length 48
00:00:50: OSPF: Send DBD to 10.1.2.1 on GigabitEthernet0/0 seq 0x7c88a018 opt 0x00 flag 0x0 len 32
00:00:50: Synchronized with with 10.1.2.1 on GigabitEthernet0/0, state FULL
00:00:50: %OSPF-5-ADJCHG: Process 10, Nbr 10.1.2.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done
00:00:50: OSPF: Build router LSA for area 0, router ID 10.1.1.1, seq 0xffffffff80000004
00:00:50: Synchronized with with 10.1.3.1 on GigabitEthernet0/0, state FULL
00:00:50: %OSPF-5-ADJCHG: Process 10, Nbr 10.1.3.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done
00:00:50: OSPF: Build router LSA for area 0, router ID 10.1.1.1, seq 0xffffffff80000005