<이론>
OSPF(Open Shortest Path First)
출발지부터 도착지까지의 cost값을 계산 후 cost값이 작은 경로를 먼저 사용하겠다. (네비게이션)
O - 개방형 (아무나 들어올 수 있다.) 표준형 프로토콜
SPF - SPF 알고리즘 - 딕스트라 알고리즘 (최단거리 먼저 사용)
전체 토폴로지를 알고 있기 때문에, 어떤 경로로 가는지는 신경쓰지 않음
<특징>
0. 네트워크 정보 축약 기능 제공 - ABR / ASBR
ABR 축약 대상 - O IA -> LSA 3번 타입으로 전달하는 정보 축약
conf t
router ospf 1
area X range NI SM <-- 축약할 Area 번호
(자신이 속한 Area 정보를 백본 Area 에게 축약 전달한다.)
ABR은 축약된 네트워크에 대해 NULL0를 설정한다.
ASBR 축약 대상 - O E2 -> LSA 5
conf t
router ospf 1
summary-address NI SM
(자신이 속한 외부 네트워크 정보를 같은 Area에게 축약 전달 --> ABR에 의해 백본에 전달)
다른 네트워크에서 전달되는 정보를 우리 네트워크로 가져올 때 (ASBR)
--> 디폴트 경로를 갖고 있다. (ip route 0.0.0.0 0.0.0.0)
전달하는 방법
--> default-information originate metric 100 metric-type 1
1. 출발 - 도착까지 모든 경우의 수를 계산하려면 topology table이 필요함
--> link-state routing protocol
topology table을 구성할 때 identification(식별자)가 필요하다.
EIGRP에서 SIA 발생원인 = Query에 대한 응답이 늦기 때문 (네트워크 규모, 혼잡상태)
해결법 - 네트워크 규모 조정
OSPF는 Area구조를 이와 같은 문제점을 해결함 (대규모 네트워크 구축에 적합)
2.COST - Metric 연산
COST값이 적다. = 속도가 빠르다.
RIP = Hop
EIGRP = 대역폭 지연 신뢰도 부하 MTU
OSPF = 대역폭에 따른 지정값 -> Serial 1.544 Mbps --> 64
Fast 100 Mbps --> 100보다 빠르면 전부 1 사용
3.피져블 석세서가 존재하지 않음
convergence time = 빠름
4. UDP 프로토콜을 사용한다.
89번
5.OSPF는 각 네트워크 타입(po,mul)에 따라 Hello/Dead Interval이 다르다.
6. (중요)계층적 구조를 갖는다. (Area로 구분)
--------------------------------------------------------------------------------------------
RIP나 EIGRP는 정보의 교류에 있어 평등함
RIP = 소규모 네트워크
EIGRP = 내부정보(AD - 90)와 외부정보(AD - 170)를 구분함
OSPF = 대규모 네트워크
--------------------------------------------------------------------------------------------
Area 0 = 백본 Area
Area x = 백본 Area가 아닌 것
모든 Area는 반드시 Area 0 과 연결된다.
모든 정보는 반드시 백본에 의해 정보가 전달된다. (A1에서 A2로 전달 시, A0을 거쳐야 함)
--> Area0은 모든 네트워크의 정보를 다 가지고 있다.
Area에 대한 정보는 ABR에 의해 통제가 가능하다.
ABR에 의해 자동축약한다.
동일 네트워크 = 동일 세그먼트에서 역할을 선출해야함 (multi 환경일 때)
--> p2p일 때 DR/BDR을 선출하지 않음
동일 세그먼트에서 존재하는 모든 멤버 라우터는 자신의 priority값으로 선출한다.
--> 기본값 1
범위 : 0 ~ 255
0 = 무조건 DROTHER
255 = 무조건 DR (우선순위가 가장 높다.)
차순위 = BDR로 선출한다.
우선순위가 같은 경우 : Router-id로 선출한다. (숫자가 높은 것)
<역할>
DR - 대장 라우터
BDR - 부대장 라우터
대장 라우터가 계산한 결과값, 정보는 부대장과 공유함
DROTHER에게는 정보를 알려주기만 함, 받은 정보를 토대로 라우팅을 구현
<DR 선출기준>
동일 Segment에 존재하는 모든 라우터는 DR에게 보고해야 됨
DR은 모든 결과값을 계산 후 통보해야함 = R1
R1이 다운 시 BDR 선출이 필요한데 R2에서 R3로 직접적인 통신할 방법이 없다. = BDR 선출 필요 X
R2와 R3는 neighbor관계이지만, R1을 통해 교류하기 때문에 서로 정보를 교환하지 않는다.
--> 모든 정보는 DR에 의해 통제되기 때문
<우선순위>
OSPF - 동일 Area = DR에 의해 수신한 정보
IA - 다른 Area = ABR에 의해 수신한 정보
E/N - 다른 AS = ASBR에 의해 만들어짐
<실습>
<테스트 랩 설정>
R1
conf t
int lo 0
ip add 1.1.1
ip add 1.1.1.1 255.255.255.0
int s1/0
enc fr
no sh
int s1/0.123 mul
ip add 1.123.0.1 255.255.255.0
fram map ip 1.123.0.2 102 b
fram map ip 1.123.0.3 103 b
end
R2
conf t
int lo 0
ip add 2.2.2.2 255.255.255.0
int s1/0
enc fr
no sh
int s1/0.123 po
ip add 1.123.0.2 255.255.255.0
fram int 201
int s1/0.23 po
ip add 1.23.0.1 255.255.255.0
fram int 203
end
R3
conf t
int lo 0
ip add 3.3.3.3 255.255.255.0
int s1/0
enc fr
no sh
int s1/0.123 mul
ip add 1.123.0.3 255.255.255.0
fram map ip 1.123.0.1 301 b
fram map ip 1.123.0.2 301 b
int s1/0.23 po
ip add 1.23.0.2 255.255.255.0
fram int 302
int s1/0.34 mul
ip add 1.34.0.1 255.255.255.0
fram map ip 1.34.0.2 304 b
int s1/0.43 po
ip add 1.43.0.1 255.255.255.0
fram int 314
end
R4
conf t
int lo 0
ip add 4.4.4.4 255.255.255.0
int s1/0
enc fr
no sh
int s1/0.34 mul
ip add 1.34.0.2 255.255.255.0
fram int 403
int s1/0.43 po
ip add 1.43.0.2 255.255.255.0
fram int 413
<0SPF 설정>
R1
conf t
router ospf 1
network 1.1.1.0 0.0.0.255 area 0
network 1.123.0.0 0.0.0.255 area 0
nei 1.123.0.2
nei 1.123.0.3
end
conf t
r1 int s1/0.123 ip ospf pri 255
R2 (ip ospf network point-to-multipoint = p2p 일 때)
conf t
int s1/0.123
ip ospf network point-to-multipoint
ip ospf pri 0
ex
router ospf 1
network 2.2.2.0 0.0.0.255 area 0
network 1.123.0.0 0.0.0.255 area 0
network 1.23.0.0 0.0.0.255 area 0
nei 1.123.0.1
R3
conf t
int s1/0.123
ip ospf pri 0
ex
router ospf 1
network 1.123.0.0 0.0.0.255 area 0
network 1.23.0.0 0.0.0.255 area 0
network 3.3.3.0 0.0.0.255 area 0
network 1.34.0.0 0.0.0.255 area 1
network 1.43.0.0 0.0.0.255 area 1
nei 1.123.0.1
nei 1.123.0.2
nei 1.34.0.2
R4
conf t
router ospf 1
net 4.4.4.0 0.0.0.255 area 1
net 1.34.0.0 0.0.0.255 area 1
net 1.43.0.0 0.0.0.255 area 1
nei 1.34.0.1
<설정 확인>
sh ip ro
루프백 정보로 전달 시 자동으로 프리픽스 32로 세팅함
네트워크 정보로 전달하고 싶을 때
conf t
int lo 0
ip ospf network point-to-point
sh ip ospf database
sh ip ospf neighbor
N/A = 통신할 필요 없음
FULL = 라우팅 정보 주고받음
FULL / - = p2p 인 경우 DR BDR 구분할 필요 없어서 하이픈으로 표시
FULL / BDR = mul이기 때문에 BDR 선출
--> 구조상 R1이 DR이 되어야 하는데 순서가 꼬여있다.
R2, R3는 DROTHER이 되야 한다.
debug ip ospf adj
clear ip ospf process
<실습 2>
1. 네이버 관계를 맺는 조건
Hello 패킷 관찰
- 인접한 라우터와 먼저 네이버 관계 수립
- 물리적으로 직접 연결되는 라우터 중에서 헬로 패킷을 수신하고 , 헬로 패킷에 포함된 네이버 리스트에 자신의 라우터 ID가 포함되어 있으면 네이버 관계임을 알 수 있다.
- 서브넷 마스크 일치
- Router ID 일치
- Authentication 인증 정보 일치
- Stub Flags 가 일치
- Area ID 일치
- Hello / Dead Interval 이 동일해야 한다. p2p - 10 / 40 , mul - 30 / 120
2. OSPF 패킷 종류 (5가지) -> wireshark
- wireshark에서 찾은 패킷 종류
패킷 종류 | 설명 |
Hello | 네이버 관계 성립 / 유지 ---> adj |
DBD | DB 간략한 정보 |
LSR(LSQ) | DBD에서 자신의 DB와 상태값이 다른 정보에 대한 Request 요청 |
LSU | Request에 대한 응답 |
LSAck | 응답 확인 수신 확인 (DBD / LSR / LSU) |
3. 상태값 확인 -> debug
down - 네이버에게 hello 패킷을 받지 못한 상태 , DR/BDR 선출 단계에서 다른 라우터의 참가를 기다림 (40초)
init - 상대방에게 Hello를 전달한 후 상대방의 Hello 패킷에서 나의 정보를 발견하지 못한 상태
two-way - 네아버와 쌍방향 통신이 이루어진 상태, 처음 네이버가 맺어지면 DR/BDR 선출
exstart - 라우팅 정보를 교환하는 adjacent 네이버가 되는 단계. master 라우터와 slave 라우터 선출 (라우터 ID 기반)
exchange - OSPF의 라우팅 정보인 LSA의 헤더를 DDP(상세 정보) 또는 DBD(요약 정보) 패킷에 담아 상대방에게 전송
- Master가 Slave에게 DBD 정보를 줌 , DBD = DDP 같은 뜻
loading -상대방의 DDP 패킷 수신이 끝난 후 자신에게 없는 정보가 있으면 LSA상세 정보 보내줄 것을 요청하여 정보 수신
full - 라우팅 정보 교환이 끝난 상태, 패킷 전달 가능
<실습3>
R4
conf t
int s1/0
ip add 1.45.0.1 255.255.255.0
no sh
router eigrp 100
redistribute ospf 1 metric 1544 100 1 255 1500
end
(bandwidth / load / reliability / delay / MTU)
conf t
router ospf 1
redistribute eigrp 100 subnets
R5
conf t
int s1/0
ip add 1.45.0.2 255.255.255.0
no sh
end
<재분배 후 R5 상태값>
OSPF - 내부 Area 정보 - 라우터의 인터페이스 기준으로 같은 Area에 소속된 정보
O IA - 같은 OSPF이면서 다른 Area에 소속된 정보
O E2 - 다른 라우팅 프로토콜
OSPF로 들어오는 외부정보 : E / N Code로 분류한다.
라우팅 정보 우선순위 O > O IA > O E
<R1의 ospf database>
LSA - 링크 상태 정보 전달 패킷
Type - 정보의 출처와 전달 범위 지정
라우터 상세값 - sh ip ospf database router
sh ip ospf database external
LSA 1 - Router Link States - 동일 세그먼트상에서 각 라우터가 DR에게 전송하는 정보
출처 - 각 라우터
전달 범위 - 동일 세그먼트
Link ID (3개의 네트워크가 존재)
1.1.1.1
2.2.2.2
3.3.3.3
LSA 2 - Net Link States - 동일 세그먼트상에서 DR이 각 멤버 라우터에게 전달하는 정보
출처 - DR
전달 범위 - 동일 세그먼트
1.1.1.1이 1.123.0.1에 대한 정보를 전달하고 있다.
LSA 3 - Summary Net Link States - 동일 Area 상에서 ABR이 내부 라우터에게 전달하는 정보
출처 - ABR
전달 범위 - 동일 Area
Area 0 --> Area 1에 전송
Area 1 --> Area 0에 전송
LSA 4 - Summary ASB Link States - ABR이 자신이 속한 Area에 ASBR이 존재함을 알려준다.
출처 - ABR
전달 범위 - 동일 Area
ASBR의 라우터 ID를 전달한다.
ADV Router 3.3.3.3 = ABR
LSA 5 - Type-5 AS External Link States - ASBR에 의해 생성된 정보를 Area0(백본 에이리어)에 전달한다.
출처 : ASBR
전달 범위 - OSPF 전체
ASBR은 외부 정보를 가지고 오는데, Area를 통해 백본 Area에게 전달하는게 주요 목적
'네트워크' 카테고리의 다른 글
ASAv (0) | 2023.08.08 |
---|---|
OSPF (2/2) (0) | 2023.07.19 |
VRRP (0) | 2023.07.11 |
L3 Switch (0) | 2023.07.10 |
prefix-list (0) | 2023.06.23 |