네트워크 전문가가 되기 위한 고속 성장 일지 by Net Wiz Team

3.4 Configure and verify single area OSPFv2 본문

CCNA-Fundamental

3.4 Configure and verify single area OSPFv2

리리아나(Net Wiz) 2024. 3. 1. 16:31

3.4 Configure and verify single area OSPFv2

(Backbone Area == area 0번)

OSPF(Open Shortest Path First) : TCP/IP 환경에서 가장 많이 사용되고 있는 라우팅 프로토콜, 'shortest path first' 알고리즘이 경로선출에 사용됨, Link-state 알고리즘을 사용하는 대표적인 IGP 라우팅 프로토콜, classless 라우팅 기능이 보장되기 때문에 VLSM 환경과 CIDR 기능이 필요한 환경에서 적합

 

OSPF 패킷 유형

① hello 패킷 : neighbor 관계를 성립하기 위해 OSPF 초기 단계때 교환, neighbor 관계가 성립되면 주기적인 교환으로 neighbor 관계 유지

② DBD(database description) 패킷 : OSPF는 자신이 생성한 LSA(link-state advertisement) 정보 및 neighbor로부터 수신한 LSA 정보를 LSDB(link-state database)로 구성하여 관리, 이때 LSDB에 있는 광고 정보들을 DBD 패킷으로 요약하여 neighbor라우터와 교환

③ LSR(link-state request) 패킷 : neighbor 라우터로부터 수신한 DBD 패킷 내용을 확인한 후, 자신의 LSDB 정보에 없는 정보가 있다면 neighbor 라우터에게 상세한 LSA 정보를 요청할 때 사용

④ LSU(link-state update) 패킷 : neighbor 라우터로부터 LSR 패킷을 수신하거나, 네트워크 상태가 변경될 경우 라우팅 정보를 업데이트할 때 사용

⑤ LSAck 패킷 : OSPF, DBD, LSU 패킷을 수신하면 수신 확인을 알림하기 위해 사용

 

3.4.a Neighbor adjacencies

① down state : 라우터에 ospf 프로세스가 시작되어 인접 라우터에게 hello 패킷을 전송하지만, 아직 인접 라우터로부터 hello 패킷을 수신하지 못한 상태, 또는 neighbor 관계가 성립된 상태에서 dead 타이머 안에 hello 패킷을 수신하지 못할 경우에도 down state가 됨

② init state : neighbor 라우터로 hello 패킷을 받았으나 상대방은 받지 못한 상태, 이때 neighbor 라우터로 수신한 hello 패킷 neighbor 항목에 자신의 라우터 id가 없으므로 자신이 전송한 hello 패킷을 수신하지 못한걸로 간주함

③ two-way state : 상호 라우터 간에 hello 패킷이 교환된 상태, broadcast, nonbroadcast 환경에서는 two-way 상태일 때 waiting 타이머 동안 DR/BDR 선출 과정을 실시함, 이때 DR은 LSA 광고를 실시하는 대표 라우터를 의미하며, BDR은 백업 DR을 의미함, 그리고 DR과 BDR이 아닌 라우터들을 DROTHER라고 하는데, 오직 :DR과 BDR하고만 neighbor 관계를 성립하고, DROTHER간에는 two-way 상태까지만 진행하고 대기함

④ exstart state : neighbor 관계 성립과 LSDB 상태를 동기화하기 위한 첫 단계이며, 마스터라우터와 슬레이브 라우터 선출, DBD 패킷을 교환하는 데 라우터 id를 서로 비교해서 라우터 id가 높은것이 마스터 라우터가 되고, 그 다음이 슬레이브 라우터가 됨

⑤ exchange state : 자신의 LSDB에 저장된 LSA 헤더 정보를 DBD 패킷으로 생성하여 neighbor 라우터 간에 교환하는 단계, DBD 패킷을 수신한 neighbor 라우터는 자신의 LSDB 정보와 neighbor 라우터로부터 수신한 DBD 패킷 내용을 비교하여 자신보다 선순위 정보가 있다면, 선순위 상세 정보를 요청하기 위해 link-state 요청 리스트에 이 내용을 기록함.

만약 link-state 요청 리스트에 기록된 요청 내용이 없다면 , 바로 full state로 전환함

⑥ loading state : link-state 요청 리스트에 요청 내용이 기록되어 있다면, 해당 라우터는 LSR 패킷을 neighbor 라우터에게 전송하여 특정 LSA 상세 정보를 요청하는 단계, 이때 LSR패킷을 수신한 neighbor 라우터는 LSA 전체 정보를 LSU 패킷으로 생성하여 라우팅 업데이트를 실시

⑦ full state : neighbor 라우터 간에 라우팅 업데이트 교환이 완료된 상태, 이제부터 자신의 LSDB 상태와 neighbor 라우터의 LSDB 상태가 동일한 상태가 시작됨

⑧ attempt state : non-broadcast 환경에서만 적용되는 모드이며, 'neighbor' 명령어를 이용하여 유니캐스트로 hello 패킷을 전송한 다음, 아직 인접 라우터로부터 hello 패킷을 수신하지 못한 상태

 

OSPF neighbor 성립 조건

- 같은 세그먼트를 공유하는 서브넷은 동일한 area에 포함되도록 설계 및 구성해야 함

- 같은 세그먼트를 공유하는 인터페이스에 hello 주기와 dead 주기가 동일해야 함 

- 같은 세그먼트를 공유하는 인터페이스에 MTU 사이즈가 동일해야함

- OSPF 인증 구현 시 인증내용(키, 패스워드)가 동일해야함

- 인접 라우터와 라우터 id가 중복되면 안됨

- stub area 구간에 포함된 라우터들은 stub 설정을 해야함

 

3.4.b Point-to-point

- 단 두대의 라우터만이 존재하며, 서로 일대일 통신을 함

- 두 대의 라우터만이 연결된 환경이기 때문에  DR/BDR 선출하지 않는다.

- broadcast가 가능하기 때문에 neighbor는 자동으로 맺는다.

- hello interval/dead interval : 10/40

- 멀티캐스트 주소 224.0.0.5로 패킷을 전송

- HDLC, PPP, point to point sub interface의 기본 네트워크 타입

 

3.4.c Broadcast (DR/BDR selection)

- 2대 이상 라우터가 하나의 네트워크/링크에 공존하며, broadcast 및 multicast 특징을 제공함

- 여러대의 라우터가 연결된 환경이기 때문에 DR/BDR을 선출한다.

- broadcast가 가능하기 때문에 neighbor는 자동으로 맺는다.

- hello interval/dead interval : 10/40

- DR/BDR은 멀티캐스트 주소 224.0.0.5로, DROTHER는 224.0.0.6으로 패킷을 전송

- ethernet의 기본 네트워크 타입

 

DR(Designated Router) : LSA(Link State Advertisement) 중계역할을 하는 라우터

BDR(Backup Designated Router) : DR에 장애가 발생하면 대신 DR 역할을 하는 라우터

 

broadcast 환경과 NBMA 환경은 multi access 네트워크 타입이므로 모든 OSPF 라우터들 간에 neighbor 관계를 N:N으로 성립하면, 많은 양의 LSA 광고와  LSA 승인 확인을 하기 위한 LSAck 양이 증가되므로 부하현상이 빈번하게 발생한다.

이 문제를 해결하기 위해 대표 라우터 DR을 선출하여, 모든 라우터들은, DR 라우터하고만 neighbor 관계를 성립하여 DR에게 LSA 광고를 실시한다. DR 라우터가 수신한 LSA 광고를 모든 라우터들에게 대표로 광고하고, DR에게만 LSAck를 수신하기 때문에 부하 현상이 발생되는 것을 방지할 수 있다.

 

* DB/BDR 선출 과정

① OSPF 우선순위가 가장 높은 라우터가 DR이 된다. 다음 순위의 라우터가 BDR이 된다.

OSPF 우선순위가 0이면 DR이나 BDR이 될 수 있다.

② OSPF 우선순위가 모두 동일하면 (기본값 1), 라우터 ID가 높은 것이 DR, 그 다음은 BDR이 된다.

③ 한 번 DR/BDR이 선출되면 더 높은 우선 순위의 라우터가 추가되어도 라우터를 재부팅하거나 clear ip ospf process 명령어를 사용하기 전에는 DR/BDR을 다시 선출하지 않는다.

④ DR이 다운되면 BDR이 DR이 되고, BDR을 새로 선출한다. BDR이 다운되면 BDR을 새로 선출한다.

 

3.4.d Router ID

OSPF는 대규모 네트워크 환경에서 사용하는 경우가 많기 때문에 라우터들을 손쉽게 구분하기 위한 식별자(Router ID) 사용 

라우터 아이디는 IPv4 주소 형식을 사용하며, 이때 라우터 인터페이스에 설정된 IP 주소를 이용

단, Layer 2계층 동작이 가능한 인터페이스에 IP 주소가 설정되어 있어야 함

 

라우터 아이디 선출 방법

라우터 아이디 선출 단위 인터페이스 선출된 라우터 아이디
물리적인 인터페이스만 있을 경우
그 중에 IP주소가 가장 큰 숫자
Fa0/0 : 13.13.11.1/24
S1/0 : 13.13.9.1/24
13.13.11.1
Loopback 인터페이스가 있을 경우
Loopback 중에 IP주소가 가장 큰 숫자
Fa0/0 : 13.13.11.1/24
S1/0 : 13.13.9.1/24
Lo0 : 13.13.1.1/24
13.13.1.1
router ospf 1
router-id 1.1.1.1 인 경우
‘router-id’명령어로 지정한 숫자
Fa0/0 : 13.13.11.1/24
S1/0 : 13.13.9.1/24
Lo0 : 13.13.1.1/24
1.1.1.1

출처

https://packetlife.net/blog/2008/jun/19/ospf-network-types/