OSPF(1/2)

<이론>

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에 의해 자동축약한다.

 

R1이 DR

 

동일 네트워크 = 동일 세그먼트에서 역할을 선출해야함 (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