본문 바로가기
Network/OSPF

[OSPF] OSPF 개념 및 특징

by chan10 2025. 3. 30.

OSPF란?

OSPF는 AS 내에서 사용하는 라우팅 프로토콜 중 하나로 Cisco 전용으로 사용되는 EIGRP와 달리 RFC 2328로 등록된 표준 프로토콜 입니다. (2016년 Cisco EIGRP도 RFC 7868 표준으로 등록되었습니다.)

Link-State 라우팅 프로토콜을 사용하여 라우터 간 연결된 링크 상태를 기반으로 라우팅 경로를 결정합니다. 각 라우터는 자신의 링크 상태 정보가 담긴 LSA(Link State Advertisement) 패킷을 다른 라우터와 교환합니다.

 

OSPF 특징

Shortest Path First(SPF)(=Dijkstra) Algorithm 사용

OSPF에서는 최단 경로를 계산하기 위해 Shortest Path First (SPF) Algorithm, 즉 Dijkstra Algorithm을 사용합니다. SPF Algorithm은 라우터가 네트워크 전체의 토폴로지를 기반으로 목적지까지의 최적 경로를 계산하는 방식입니다. 이를 통해 OSPF는 빠르고 효율적인 라우팅이 가능합니다. 만약 특정 목적지까지 동일한 메트릭을 가진 경로가 여러 개 존재하는 경우, ECMP(Equal-Cost Multi-Path) 기능을 통해 여러 경로를 동시에 사용할 수 있습니다. 각 OSPF 라우터는 SPF Tree를 구성할 때, 자신을 최상위 루트 노드(Top Node)로 간주합니다. 이후, 네트워크의 링크 상태 정보를 바탕으로 모든 목적지까지의 최단 경로를 계산하며, 이를 통해 OSPF 네트워크 내에서 각 목적지로 도달하기 위한 최적의 경로를 결정하게 됩니다.

 

네트워크 토폴로지 전체 경로정보 인지

Link State Routing 프로토콜에서 각 라우터는 네트워크 전체의 토폴로지를 인지하여 최적의 경로를 계산합니다. 이를 위해 라우터들은 LSA(Link-State Advertisement)를 주고받으며, 이를 바탕으로 LSDB(Link-State Database)를 구성합니다. 동일한 Area에 속한 모든 라우터는 동일한 LSDB를 유지하며, 이를 기반으로 SPF(Shortest Path First) Algorithm을 실행하여 최적의 경로를 독립적으로 계산합니다. 동일한 Area에 속한 라우터들은 같은 LSDB를 유지하지만, 다른 Area에 속한 라우터들은 서로 다른 LSDB를 유지합니다. 각 라우터는 계산된 경로 정보를 라우팅 테이블에 반영하며, 이를 통해 네트워크의 데이터 전송이 이루어진다.

 

DR / BDR 선출

OSPF에서는 멀티액세스 네트워크(예: 이더넷)환경에서 트래픽 최적화를 위해 DR(Designated Router)과 BDR(Backup Designated Router)을 선출합니다. DR은 LSA를 대표로 전달하여 라우팅 업데이트를 효율적으로 관리하며, BDR은 DR 장애 시 이를 대신합니다. DR/BDR 선출은 OSPF 우선순위 값(Priority)과 라우터 ID를 기준으로 결정됩니다. OSPF 라우터 간에 통신을 위해서는 224.0.0.5 & 224.0.0.6 2개의 멀티캐스트 주소를 사용합니다.

 

계층적 네트워크 설계

OSPF는 계층적 네트워크 설계를 위해 Two-Tier 아키텍처를 사용하며, 이를 실현하기 위해 Area 개념을 사용합니다. OSPF에서 가장 중요한 영역은 Area 0(Backbone Area)로, 네트워크의 중심 역할을 하며 모든 OSPF 네트워크는 반드시 Area 0을 포함해야 합니다. Backbone Area는 다른 영역(Non-Backbone Area)과의 경로 정보를 교환하는 역할을 합니다. Non-Backbone Area는 반드시 Area 0에 연결되어야 하며, 서로 다른 Non-backbone Area 간의 라우팅 정보는 Backbone Area를 거쳐 전달됩니다.

 

클래스리스 라우팅(Classless)

OSPF는 서브넷 마스크 정보를 함께 전달하기 때문에 VLSM(가변 길이 서브넷 마스크) 및 CIDR(Classless Inter-Domain Routing)을 지원합니다.

 

부분 라우팅 업데이트 및 멀티캐스트 사용

라우팅 정보를 업데이트할 때 전체 네트워크 정보 대신, 변경된 부분만 전송하여 네트워크 오버헤드를 최소화합니다. 또한, 라우팅 업데이트 시 브로드캐스트가 아닌 멀티캐스트(224.0.0.5, 224.0.0.6)를 사용하여 불필요한 트래픽을 줄이고, OSPF를 지원하는 라우터들만 업데이트를 수신하도록 효율적으로 동작합니다.

 

라우팅 루프 방지

OSPF는 루프 방지를 위해 최단 경로 트리(Shortest Path Tree)를 유지하고, 자동으로 최적의 경로를 선택하여 라우팅 루프를 방지합니다.

 

OSPF Process

OSPF에서는 하나의 라우터에서 여러 개의 OSPF 프로세스를 동시에 실행할 수 있습니다. 각각의 OSPF 프로세스는 독립적인 LSDB(Link-State Database)를 유지하며, 동일한 라우터 내에서도 서로 다른 OSPF 프로세스 간에는 경로 정보가 자동으로 공유되지 않습니다. 따라서, 하나의 OSPF 프로세스에서 학습한 네트워크 정보를 다른 OSPF 프로세스에서 직접 사용할 수 없습니다.

OSPF에서 네트워크 광고(Network Advertisement)는 하나의 특정 OSPF 프로세스에서만 수행되며, 여러 개의 프로세스가 있다고 해도 서로의 정보를 교환하지 않습니다. 만약 서로 다른 OSPF 프로세스 간의 경로 정보를 공유해야 한다면, Route Redistribution(경로 재분배) 기능을 사용해야 합니다.

 

📌 OSPF에서 사용하는 주요 용어

용어 의미
Router ID (RID) OSPF 라우터를 식별하는 고유한 ID (보통 가장 높은 루프백 인터페이스 IP 사용)
Hello 패킷 OSPF 인접 라우터를 찾고 유지하기 위한 패킷
DR (Designated Router) 멀티액세스 네트워크에서 LSA를 대표로 전달하는 라우터
BDR (Backup Designated Router) DR이 다운될 경우를 대비한 백업 라우터
Neighbor OSPF를 실행하는 두 라우터가 서로 인식한 관계 (Hello 패킷 교환)
Adjacency 두 OSPF 라우터가 완전히 동기화되어 라우팅 정보를 공유하는 관계
LSA (Link-State Advertisement) 라우터와 네트워크 정보를 담아 전송하는 OSPF 메시지
LSDB (Link-State Database) LSA들이 저장된 데이터베이스, 모든 라우터가 동일한 LSDB를 가짐
SPF 알고리즘 OSPF에서 최단 경로를 계산하는 다익스트라 알고리즘

 

 

[참고사이트]

https://white-polarbear.tistory.com/28

https://louis-j.tistory.com/entry/OSPF-OSPFOpen-Shortest-Path-First의-개념