1. OSPF 경로 계산 메커니즘 (Cost & Metric)
OSPF는 링크 상태(Link-State) 라우팅 프로토콜로, 인터페이스의 대역폭(Bandwidth)을 기반으로 목적지까지의 Cost(비용)를 계산하여 최적 경로를 산출합니다.
① Cost 계산 공식 및 Reference Bandwidth
$$\text{Cost} = \frac{\text{Reference Bandwidth (기본 } 100\text{ Mbps)}}{\text{Interface Bandwidth}}$$
- 정수 처리 방식: 계산 결과가 1보다 작은 소수점으로 떨어지더라도 라우터 내부 변수 특성상 최소 Cost 값인 1로 처리됩니다.
- Reference Bandwidth 변경 (auto-cost reference-bandwidth):
- 기가비트(1 Gbps) 이상의 고속 네트워크 환경에서는 대역폭 차이를 정밀히 구별하기 위해 기준 대역폭을 상향 조정해야 합니다.
- 해당 설정은 동일한 Autonomous System(AS) 또는 OSPF Area 내의 모든 라우터에 동일하게 적용해야 정확한 경로 산출이 가능합니다 [cite: 코스트의 레퍼런스 밴드위드스를 바꾸려면 네트워크, 우리 에어리어에 있는 모든 기기의 값을 바꿔야 함., 근데 이건 우리 as망에서는 통용되는 얘기.].
2. OSPF 라우팅 테이블 및 트리(Tree) 생성 알고리즘
OSPF 라우터는 네트워크 링크 상태를 수집한 후 다익스트라(Dijkstra) 알고리즘을 사용해 자신을 뿌리(Root)로 하는 최단 경로 트리(Shortest Path Tree - SPT)를 생성하고 최적 라우팅 테이블을 도출합니다.
Plaintext
[네트워크 토폴로지 예시]
(S1) --- [R1] ======= [R2] --- (S3)
|| ||
\\=== [R3] ==//
||
(S4)
- 직접 연결(Directly Connected / Connected C):
- 라우터와 직접 연결된 인터페이스 네트워크(예: R1 관점의 S1, S2)는 경로 계산이 필요 없어 Metric/Cost = 0 처리됩니다 [cite: 라우터가 나와 직접 연결된 곳으로 간다고 하면 계산이 필요 x, 다이렉트로 연결되어 있음임 이때에는 비용을 비교하지 않는다., R1 입장에서 S1, S2는 코스트 0].
- 인접 링크 비용 기록: 각 라우터는 자신과 인접한 네트워크 및 타 라우터까지의 Cost를 파악해 데이터베이스를 구성합니다.
- SPT 트리 기반 최적 경로 선출:
- 목적지까지 여러 경로가 존재할 경우, 누적 Cost 합산 값이 가장 작은 단 하나의 경로만 라우팅 테이블에 등록됩니다 [cite: Metric은 목적지까의 비용(cost)이나 거리(Distance)를 의미하며, 일반적으로 값이 작을수록 더 좋은 경로이다., 최적의 적은 코스트가 나오는 하나를 찾는 것이므로, 하나만 완성되면 됨.].
- 경유지 게이트웨이(Gateway G)는 최종 목적지가 아닌 자신과 직접 연결된 다음 타겟 라우터(Next-Hop Router)의 인터페이스 주소로 표기됩니다.
3. OSPF 프로토콜 핵심 동작 규칙
① Router-ID 및 DR/BDR 선출
- Router-ID: OSPF 프로세스 내에서 라우터를 식별하는 유일한 IP 형식의 값입니다.
- 자동 결정 우선순위: 수동 지정 Router-ID > Loopback 인터페이스 IP 중 최고가 > 활성화된 물리 인터페이스 IP 중 최고가.
- DR (Designated Router) / BDR (Backup Designated Router):
- 스위치와 같이 다중 접속(Multi-Access / Broadcast) 네트워크 환경에서 LSA 패킷 플러딩 폭주를 막기 위해 대표 라우터(DR)를 선출합니다 [cite: 라우터아이디 결정하는 이유는 뭘 결정하려는 것이다? DR을 결정하려는 것, 만약에 멀티캐스트 네트워크에 이용한다 하면 제일 높은 게 DR, 그다음이 BDR이 됨.].
- 라우터 간 Point-to-Point(1:1) 시리얼 링크 연결 시에는 DR/BDR 선출 과정을 거치지 않습니다 [cite: 라우터는 보통 1:1로 연결하지 멀티로 연결하지 않는다., 라우터끼리 시리얼로 연결되어 있음. 뭘로 연결되어 있건 간에 1:1로 연결되어 있으면... 노상관].
② Area 0 (Backbone Area) 필수 정책
- OSPF망을 구성할 때 모든 Area는 반드시 Area 0 (백본 에어리어)을 기본으로 보유해야 하며, 타 Area는 Area 0을 거쳐 통신해야 합니다.
③ Passive-Interface 사용 이유
- 사용자 PC나 엔드 디바이스가 연결된 인터페이스(예: g0/0)에 OSPF Hello 패킷이 불필요하게 전송되는 것을 차단하여 대역폭 소모 및 보안 리스크를 방지합니다.
4. OSPF 실습 CLI 설정 (Cisco IOS)
📌 실습 1: 3개 라우터 시리얼 교차 연결 (Area 0 기반)
Plaintext
! ===== [R1 라우터 설정] =====
enable
conf t
hostname R1
no ip domain-lookup
interface g0/0
ip address 1.1.1.1 255.255.255.0
no shutdown
interface s0/0/0
ip address 12.1.1.1 255.255.255.0
no shutdown
interface s0/0/1
ip address 31.1.1.1 255.255.255.0
no shutdown
! OSPF 프로세스 및 네트워크 선언 (와일드카드 마스크 사용)
router ospf 1
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 12.1.1.1 0.0.0.0 area 0
network 31.1.1.1 0.0.0.0 area 0
passive-interface g0/0
end
copy running-config startup-config
Plaintext
! ===== [R2 라우터 설정] =====
enable
conf t
hostname R2
no ip domain-lookup
interface g0/0
ip address 2.2.2.1 255.255.255.0
no shutdown
interface s0/0/0
ip address 23.1.1.2 255.255.255.0
no shutdown
interface s0/0/1
ip address 12.1.1.2 255.255.255.0
no shutdown
router ospf 1
router-id 2.2.2.1
network 2.2.2.1 0.0.0.0 area 0
network 12.1.1.2 0.0.0.0 area 0
network 23.1.1.2 0.0.0.0 area 0
passive-interface g0/0
end
copy running-config startup-config
Plaintext
! ===== [R3 라우터 설정] =====
enable
conf t
hostname R3
no ip domain-lookup
interface g0/0
ip address 3.3.3.1 255.255.255.0
no shutdown
interface s0/0/0
ip address 31.1.1.3 255.255.255.0
no shutdown
interface s0/0/1
ip address 23.1.1.3 255.255.255.0
no shutdown
router ospf 1
router-id 3.3.3.1
network 3.3.3.1 0.0.0.0 area 0
network 23.1.1.3 0.0.0.0 area 0
network 31.1.1.3 0.0.0.0 area 0
passive-interface g0/0
end
copy running-config startup-config
5. 점검 및 유용한 트러블슈팅 명령어
- show ip ospf neighbor: 이웃 관계 형성 여부 및 상대 라우터 ID, DR/BDR 상태 확인.
- show ip route ospf: OSPF 프로토콜을 통해 학습한 라우팅 정보만 필터링하여 확인.
- show ip ospf interface [인터페이스명]: 특정 인터페이스의 Cost, Network Type, Hello/Dead Timer 주기 확인.
- clear ip ospf process: OSPF 이웃 관계 및 라우팅 데이터베이스 재설정(초기화).
- debug ip ospf events / debug ip ospf adj: OSPF 수신/송신 정보 및 상태 변화를 실시간으로 모니터링.