@ OSPF(Open Shortest Path First) -> 라우팅 업데이트 프로토콜 중 가장 많이 사용함
- Link-State 알고리즘 -> 유용하다.
- Classless Routing Protocol
- VLSM, CIDR
- IGP
- SPF 알고리즘을 사용하는 개방된 라우팅 프로토콜
- neighbor가 있다.
1. 라우터 아이디(Router-ID)
- OSPF 라우터를 구분하기 위한 식별자
- 형식 : IPv4 주소 형식
1) 물리적인 인터페이스만 있을 경우, 그 중에 IP 주소가 가장 높은 IP 주소로 선출
F0/0 : 13.13.10.1
S1/0 : 13.13.12.1 <- 라우터 아이디 선출
2) Loopback 인터페이스가 있을 경우, Loopback 중에 IP 주소가 가장 높은 IP 주소로 선출
F0/0 : 13.13.10.1
S1/0 : 13.13.12.1
Lo1 : 11.11.11.11 <- 라우터 아이디 선출
- 단, Down 상태인 인터페이스 IP 주소로는 선출하지 않는다.
3) 'router-id' 명령어를 이용한 수동 선출 -> 이걸로 실무에서 사용함
R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
Ex) R1에서 OSPF를 설정할 경우, 라우터 아이디는 어떻게 되는가?
R1#show ip int brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES unset administratively down down
FastEthernet0/1 13.13.23.3 YES DHCP up up
Serial1/0 211.241.22.1 YES maunal down down
Serial1/1 unassigned YES unset administratively down down
Serial1/2 unassigned YES unset administratively down down
Serial1/3 unassigned YES unset administratively down down
Loopback0 13.13.3.3 YES manual administratively down down
2. OSPF 설정
Router(config)# router ospf [1~65535 Process-ID] -> 하나의 라우터의 여러개의 ospf를 실행시키기 위한 번호-> 번호가 다르면 다른 ospf 환경이다.
Router(config-router)# router-id x.x.x.x
Router(config-router)# network [로컬 네트워크] [와일드카드 마스크] area [area 주소]
Router(config-router)# passive-interface [Interface Name]
와일드카드 마스크 -> 서브넷 마스크를 리버스
환경
@ R1
router ospf 1
router-id 1.1.1.1
network 13.13.10.0 0.0.0.255 area 0
network 13.13.12.0 0.0.0.255 area 0
passive-interface fa0/0
@ R2
router ospf 1
router-id 2.2.2.2
network 13.13.20.0 0.0.0.255 area 0
network 13.13.12.0 0.0.0.255 area 0
network 13.13.23.0 0.0.0.255 area 0
passive-interface fa0/0
@ R3
router ospf 1
router-id 3.3.3.3
network 13.13.30.0 0.0.0.255 area 0
network 13.13.23.0 0.0.0.255 area 0
passive-interface fa0/0
R1,R2,R3#show run
R1,R2,R3#show ip protocol
R1,R2,R3#show ip ospf neighbor
R1,R2,R3#show ip route
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
3. OSPF 메트릭 -> 구간 별 cost 값을 다 더해서 계산함
- Cost = 10^8 / Bandwidth
Ex) R1에서 '13.13.30.0/24'까지 OSPF 메트릭(Cost)은 얼마인가?
1544k 1544k 100M
R1---------------------------R2--------------------------R3-----------------| 13.13.30.0/24
cost = 64 cost = 64 cost = 1
64 + 64 + 1 = 129
R1#show ip ospf int s1/0
출력 : Process ID 1, Router ID 1.1.1.1, Network Type POINT-TO-POINT, Cost: 64
R2#show ip ospf int s1/0
출력 : Process ID 1, Router ID 2.2.2.2, Network Type POINT-TO-POINT, Cost: 64
R3#show ip ospf int fa0/0
출력 : Process ID 1, Router ID 3.3.3.3, Network Type BROADCAST, Cost: 1
R1#show ip route 13.13.30.0
Routing entry for 13.13.30.0/24
Known via "ospf 1", distance 110, metric 129, type intra area
Last update from 13.13.12.2 on Serial1/0, 00:32:02 ago
Routing Descriptor Blocks:
* 13.13.12.2, from 3.3.3.3, 00:32:02 ago, via Serial1/0
Route metric is 129, traffic share count is 1
4. OSPF 신뢰도
[참고] 경로 신뢰도
Connected 0
Static 1
EIGRP 90
OSPF 110
RIP 120
EIGRP External 170
5. OSPF 동작 과정
- '06_OSPF 동작 과정.ppt' 참조
- Down -> Init -> Two-Way -> Exstart -> Exchange -> Loading - Full
모르는사람보냄 서로 암
Down
: 옆에 누가 있는지 모르고 보냄
Init
: 옆에 누가 있는지 알고 보냄
Two-Way
: 서로 알음
Exstart
: rid 값이 더 높은 애가 Master , 작은애가 Slave, 라우터 아이디를 보고 마스터 슬레이브를 선정
Exchange
: 라우팅 업데이트, 마스터가 데이터 베이스 테이블에 있는 요약된 link-state 정보(DBD)를 보낸다.
Loading - Full
: 마스터가 준 테이블 정보를 슬레이브가 받고 뭐가 없는지 비교 후 없는 정보(LSR)를 마스터에게 요청한다.
마스터가 주면(LSU) 데이터 베이스 동기화가 된다. -> Full
아래는 패킷 트레이서에서 안됨
R1#debug ip ospf adj
OSPF adjacency events debugging is on
R1#
R1#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
R1#
*Mar 1 00:49:57.903: OSPF: Interface Loopback172 going Down
*Mar 1 00:49:57.903: OSPF: 1.1.1.1 address 172.16.1.1 on Loopback172 is dead, state DOWN
*Mar 1 00:49:57.907: OSPF: Interface FastEthernet0/0 going Down
*Mar 1 00:49:57.911: OSPF: 1.1.1.1 address 13.13.10.1 on FastEthernet0/0 is dead, state DOWN
*Mar 1 00:49:57.911: OSPF: Neighbor change Event on interface FastEthernet0/0
*Mar 1 00:49:57.915: OSPF: DR/BDR election on FastEthernet0/0
*Mar 1 00:49:57.915: OSPF: Elect BDR 0.0.0.0
*Mar 1 00:49:57.915: OSPF: Elect DR 0.0.0.0
*Mar 1 00:49:57.919: OSPF: Elect BDR 0.0.0.0
*Mar 1 00:49:57.919: OSPF: Elect DR 0.0.0.0
*Mar 1 00:49:57.923: DR: none BDR: none
*Mar 1 00:49:57.923: OSPF: Flush network LSA immediately
*Mar 1 00:49:57.927: OSPF: Remember old DR 1.1.1.1 (id)
*Mar 1 00:49:57.927: OSPF: Interface Serial1/0 going Down
*Mar 1 00:49:57.931: OSPF: 1.1.1.1 address 13.13.12.1 on Serial1/0 is dead, state DOWN
*Mar 1 00:49:57.931: OSPF: 2.2.2
R1#.2 address 13.13.12.2 on Serial1/0 is dead, state DOWN
*Mar 1 00:49:57.935: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial1/0 from FULL to DOWN, Neighbor Down: Interface down or detached
*Mar 1 00:49:58.571: OSPF: Interface Loopback172 going Up
*Mar 1 00:49:58.575: OSPF: Interface FastEthernet0/0 going Up
*Mar 1 00:49:58.575: OSPF: Interface Serial1/0 going Up
*Mar 1 00:49:58.591: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq 0x80000001, process 1
*Mar 1 00:49:58.595: OSPF: We are not DR to build Net Lsa for interface FastEthernet0/0
*Mar 1 00:49:58.603: OSPF: 2 Way Communication to 2.2.2.2 on Serial1/0, state 2WAY
*Mar 1 00:49:58.603: OSPF: Send DBD to 2.2.2.2 on Serial1/0 seq 0x2A2 opt 0x52 flag 0x7 len 32
*Mar 1 00:49:58.627: OSPF: Rcv DBD from 2.2.2.2 on Serial1/0 seq 0x26DD opt 0x52 flag 0x7 len 32 mtu 1500 state EXSTART
*Mar 1 00:49:58.631: OSPF: NBR Negotiation Done. We are the SLAVE
*Mar 1 00:49:58.635: OSPF: Send DBD to 2.2.2.2 on Serial1/
R1#0 seq 0x26DD opt 0x52 flag 0x2 len 52
*Mar 1 00:49:58.675: OSPF: Rcv DBD from 2.2.2.2 on Serial1/0 seq 0x26DE opt 0x52 flag 0x3 len 72 mtu 1500 state EXCHANGE
*Mar 1 00:49:58.679: OSPF: Send DBD to 2.2.2.2 on Serial1/0 seq 0x26DE opt 0x52 flag 0x0 len 32
*Mar 1 00:49:58.739: OSPF: Rcv DBD from 2.2.2.2 on Serial1/0 seq 0x26DF opt 0x52 flag 0x1 len 32 mtu 1500 state EXCHANGE
*Mar 1 00:49:58.743: OSPF: Exchange Done with 2.2.2.2 on Serial1/0
*Mar 1 00:49:58.747: OSPF: Send LS REQ to 2.2.2.2 length 24 LSA count 2
*Mar 1 00:49:58.747: OSPF: Send DBD to 2.2.2.2 on Serial1/0 seq 0x26DF opt 0x52 flag 0x0 len 32
*Mar 1 00:49:58.815: OSPF: Rcv LS UPD from 2.2.2.2 on Serial1/0 length 184 LSA count 2
*Mar 1 00:49:58.819: OSPF: Synchronized with 2.2.2.2 on Serial1/0, state FULL
*Mar 1 00:49:58.823: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial1/0 from LOADING to FULL, Loading Done
R1#
*Mar 1 00:50:03.971: OSPF: Rcv LS UPD from 2.2.2.2 on Serial1/0 length 100 LSA count 1
*Mar 1 00:50:04.327: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq 0x80000005, process 1
R1#
R1#undebug all
All possible debugging has been turned off
R1#
6. OSPF 라우팅 업데이트 및 변경 사항
- 네트워크 추가 및 삭제될 경우, LSU 패켓을 통해서만 업데이트 실시
LSU로 알려줄 때 추가된 것 말고도 기존거 포함해서 보내준다. -> 같은 area 일 경우
같은 Area
: LSU로 알려줄 때 추가,삭제된 것 말고도 기존거 포함해서 보내준다.
다른 Area
: 추가,삭제된 내용만 보내준다.
7. Area 설계
-다중 Area 설계
- OSPF 광고 패켓 크기(LSU 패켓 크기)을 최소화하기 위해서 Area 설계를 실시한다.
- 같은 Area 안에서는 전체 광고되지만, 다른 Area로는 추가/삭제된 정보만 광고한다.
- Area 설계 방법 : 모든 Area는 Area 0을 경유하도록 설계해야 한다.
Area 설계 약속
- Area 0 = Backbone Area (모든 Area가 경유하는 Area)
- ABR = Area 0과 Area X 사이에 있는 라우터
- ASBR = 외부 네트워크 정보를 OSPF 환경으로 라우팅 업데이트하는 라우터
8. OSPF 테이블 유형
1) 네이버 테이블
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 0 FULL/ - 00:00:30 13.13.12.2 Serial1/0
state가 full 이면 데이터베이스 동기화가 된 상태이다.
2) 데이터베이스 테이블(Link-State Database = LSDB)
R1#show ip ospf database
OSPF Router with ID (1.1.1.1) (Process ID 1)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
1.1.1.1 1.1.1.1 1571 0x80000005 0x00b877 3
2.2.2.2 2.2.2.2 1509 0x80000007 0x003ed1 5
3.3.3.3 3.3.3.3 1495 0x80000005 0x00d71c 3
ADV Router가 광고를 했다 Link ID 라우터가 Link count개를
@ R3 Area 0 링크 - 3개
13.13.23.0/24
13.13.30.0/24
R2와 연결된 S1/1 주소 13.13.23.3 -> link state이기 때문에
@ R2 Area 0 링크 - 5개
13.13.12.0/24
13.13.20.0/24
13.13.23.0/24
R3와 연결된 S1/0 주소 13.13.23.2 -> link state이기 때문에
R1과 연결된 S1/1 주소 13.13.12.2 -> link state이기 때문에
@ R1 Area 0 링크 - 3개
13.13.10.0/24
13.13.12.0/24
R2와 연결된 S1/0 주소 13.13.12.1 -> link state이기 때문에
R1#show ip ospf database router -> 테이블 자세히 확인
OSPF Router with ID (1.1.1.1) (Process ID 1)
Router Link States (Area 0)
LS age: 271
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 1.1.1.1
Advertising Router: 1.1.1.1
LS Seq Number: 80000006
Checksum: 0xE351
Length: 72
Number of Links: 3
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 2.2.2.2
(Link Data) Router Interface address: 13.13.12.1
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.12.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.10.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 10
LS age: 273
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 2.2.2.2
Advertising Router: 2.2.2.2
LS Seq Number: 80000007
Checksum: 0x8064
Length: 84
Number of Links: 5
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 1.1.1.1
(Link Data) Router Interface address: 13.13.12.2
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.12.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.20.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 10
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 3.3.3.3
(Link Data) Router Interface address: 13.13.23.2
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.23.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64
LS age: 1063
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 3.3.3.3
Advertising Router: 3.3.3.3
LS Seq Number: 80000004
Checksum: 0x7682
Length: 72
Number of Links: 3
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.30.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 10
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 2.2.2.2
(Link Data) Router Interface address: 13.13.23.3
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 13.13.23.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64
3) 라우팅 테이블
R1#show ip route ospf
13.0.0.0/24 is subnetted, 5 subnets
O 13.13.20.0 [110/65] via 13.13.12.2, 01:35:19, Serial1/0
O 13.13.23.0 [110/128] via 13.13.12.2, 01:35:29, Serial1/0
O 13.13.30.0 [110/129] via 13.13.12.2, 01:34:29, Serial1/0
9. OSPF 경로 유형
- O : Intra-Area 경로, 같은 Area 네트워크
- O IA : Inter-Area 경로, 다른 Area 네트워크
- O E2 : External 경로, 외부 네트워크
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)#int lo 11
R3(config-if)#ip address 200.200.1.1 255.255.255.0
R3(config-if)#int lo 12
R3(config-if)#ip address 200.200.2.1 255.255.255.0
R3(config-if)#int lo 13
R3(config-if)#ip address 200.200.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 ospf 1
R3(config-router)#network 200.200.0.0 0.0.255.255 area 13
R3(config-router)#redistribute rip subnets
R3(config-router)#end
R3#show run
R1#show ip route ospf
- O : Intra-Area 경로, 같은 Area 네트워크
- O IA : Inter-Area 경로, 다른 Area 네트워크
- O E2 : External 경로, 외부 네트워크
Intra-area : 3개
Inter-area : 3개
External-2 : 3개
R1#show ip ospf database
OSPF Router with ID (1.1.1.1) (Process ID 1)
Router Link States (Area 0) <- 같은 Area 정보, 같은 Area 안에 모든 라우터가 광고한 정보
Link ID ADV Router Age Seq# Checksum Link count
1.1.1.1 1.1.1.1 1253 0x80000006 0x00b678 3
2.2.2.2 2.2.2.2 1191 0x80000008 0x003cd2 5
3.3.3.3 3.3.3.3 785 0x80000008 0x00da13 3
Summary Net Link States (Area 0) <- 다른 Area 정보
Link ID ADV Router Age Seq# Checksum ABR(3.3.3.3)이 광고한 정보
200.200.1.1 3.3.3.3 780 0x80000001 0x008836
200.200.2.1 3.3.3.3 780 0x80000002 0x007b41
200.200.3.1 3.3.3.3 780 0x80000003 0x006e4c
Type-5 AS External Link States <- 외부 네트워크 정보
Link ID ADV Router Age Seq# Checksum Tag ASBR(3.3.3.3)이 광고한 정보
100.100.1.0 3.3.3.3 785 0x80000001 0x009654 0
100.100.2.0 3.3.3.3 785 0x80000001 0x008b5e 0
100.100.3.0 3.3.3.3 785 0x80000001 0x008068 0
10. ABR, ASBR 라우터 확인
- ABR : Area 0과 Area X 사이에 있는 라우터
- ASBR : 외부 네트워크 정보를 OSPF 환경으로 라우팅 업데이트하는 라우터
R3#show ip ospf
Routing Process "ospf 1" with ID 3.3.3.3
Start time: 00:14:19.748, Time elapsed: 01:11:19.772
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
It is an area border and autonomous system boundary router
Redistributing External Routes from,
rip, includes subnets in redistribution
~ 중간 생략 ~
11. DR/BDR
- '06_OSPF DR&BDR 관련 예제.pkt' 참조
- Multi Access 환경에서 DR/BDR을 선출한다. (단, Point-to-Point 환경은 선출 X)
- Multi Access 환경 : Ethenet 환경
- DR(반장 역할)을 통해서 OSPF 광고를 실시하여, OSPF 광고 개수를 최소화시킨다.
- DR 선출 과정
① OSPF 우선 순위가 높은 라우터가 DR, 두번째가 BDR
② OSPF 라우터 아이디가 높은 라우터가 DR, 두번째가 BDR
- DR/BDR 아닌 라우터들은 'DROTHER'라고 한다.
- DR/BDR은 우선 순위를 조정하여 수동 선출하는 것을 권장한다.
Router(config-if)# ip ospf priority [0~255]
- 우선 순위의 기본값은 '1'이며, 우선 순위가 '0'이면 무조건 DROTHER로 동작한다.
R3#show ip ospf neighbor
모든 라우터 우선순위가 같기 때문에 라우터 아이디로 DR, BDR을 선출한다. 따라서 5.5.5.5 -> DR 4.4.4.4 -> BDR
R3 입장에서 DR, BDR 과는 데이터베이스 동기화가 끝났다 -> State 가 FULL이라서
나머지 R1과 R2는 2WAY 상태이다. -> 서로 알지만 동기화를 할 수 없는 상태
따라서 R3에서 수정,삭제가 발생하면 DR,BDR로 보내지고 DR이 R3의 수정,삭제 내용을 다른 라우터들에게 보내게 된다.
@ R1(DR)
int fa0/1
ip ospf priority 255
@ R2(BRD)
int fa0/1
ip ospf priority 254
@ R3, R4, R5(DROTHER)
int fa0/1
ip ospf priority 0
R3#show ip ospf neighbor
우선 순위가 0 이면 절대 DR,BDR이 안된다.
12. OSPF 기본 경로 라우팅 업데이트
ISP------------------------------------[F0/1]R1---------------R2--------------R3
211.242.181.58/30 211.242.181.57/30
@ R1
R1#conf t
R1(config)#int lo211 // F0/1는 네트워크 연결이 없기 때문에 loopback 211 인터페이스를 활용함
R1(config-if)#ip address 211.242.181.57 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#
R1(config-if)#ip route 0.0.0.0 0.0.0.0 211.242.181.58
R1(config)#
R1(config)#router ospf 1
R1(config-router)#default-information originate
R1(config-router)#end
R1#
R1#show run
R1#show ip route
R2,R3#show ip route ospf
'네트워크' 카테고리의 다른 글
스위치 특징, VLAN (0) | 2022.05.02 |
---|---|
와일드카드 마스크, ACL (0) | 2022.04.27 |
동적 경로 EIGRP 프로토콜 (0) | 2022.04.25 |
Cisco IOS 명령어(4) - 정적 경로, 동적 경로(RIPv1, RIPv2) (0) | 2022.04.23 |
Cisco IOS 명령어(3) - 정적 경로 (0) | 2022.04.21 |