
네트워크를 배우다 보면 OSPF와 BGP라는 이름을 자주 접하게 됩니다. 둘 다 "경로를 자동으로 학습하는 동적 라우팅 프로토콜"이라는 공통점이 있지만, 쓰이는 영역과 동작 방식은 완전히 다릅니다. OSPF는 회사나 학교처럼 하나의 조직 내부 네트워크(내부망)에서, BGP는 서로 다른 통신사나 기업 간 인터넷 연결(외부망)에서 쓰입니다. 이 글에서는 두 프로토콜의 개념, 동작 원리, 그리고 실무에서 어떻게 다르게 활용되는지를 쉽고 구체적으로 정리합니다.
1. OSPF란 무엇인가? — 내부망의 빠른 길 찾기
OSPF(Open Shortest Path First)는 링크 상태 알고리즘(Link-State Algorithm)을 사용하는 내부 라우팅 프로토콜(IGP, Interior Gateway Protocol)입니다. 쉽게 말해, 같은 조직 안에 있는 라우터들이 서로 "나는 어디에 연결됐어"라는 정보를 공유하고, 그 정보를 바탕으로 다익스트라(Dijkstra) 알고리즘으로 최단 경로를 계산합니다.
OSPF의 핵심 개념은 Area(구역)입니다. 라우터가 아주 많은 대규모 네트워크에서 모든 라우터가 전체 토폴로지 정보를 갖고 있으면 메모리와 CPU 낭비가 심합니다. 그래서 OSPF는 네트워크를 Area로 나누어 Area 내부에서만 상세 정보를 공유하고, Area 간에는 요약 정보만 주고받습니다. 이때 모든 Area는 반드시 Area 0(Backbone Area)에 연결되어야 합니다.
! OSPF 기본 설정 (Cisco IOS)
Router(config)# router ospf 1
Router(config-router)# router-id 1.1.1.1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 10.0.0.0 0.255.255.255 area 1
! 인접 라우터 및 상태 확인
Router# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:38 10.0.0.2 Gig0/1
! OSPF 라우팅 테이블 확인
Router# show ip route ospf
O 10.10.0.0/24 [110/2] via 10.0.0.2, Gig0/1
O IA 172.16.0.0/16 [110/20] via 10.0.0.2, Gig0/1
처음 OSPF를 설정할 때 인접 관계(Adjacency)가 잘 맺어지지 않아 한참 고생했습니다. 원인을 찾다 보니 두 라우터의 Hello Interval 값이 달랐습니다. OSPF는 Hello 간격, Dead Interval, Area ID, 인증 정보가 양쪽에서 일치해야 인접 관계가 성립합니다. 이것을 모르고 한쪽만 수정했다가 계속 "2-WAY" 상태에서 넘어가지 않았습니다. OSPF를 처음 공부한다면 State Machine(INIT → 2WAY → EXSTART → EXCHANGE → LOADING → FULL)을 꼭 이해해야 합니다. 인접 관계가 FULL 상태가 되어야 비로소 경로를 제대로 주고받을 수 있습니다.
2. BGP란 무엇인가? — 인터넷을 연결하는 외교관
BGP(Border Gateway Protocol)는 서로 다른 자율 시스템(AS, Autonomous System) 간에 경로 정보를 교환하는 외부 라우팅 프로토콜(EGP, Exterior Gateway Protocol)입니다. 쉽게 표현하면, KT, SKT, AWS, Google처럼 서로 다른 네트워크 조직들이 인터넷을 통해 연결되기 위해 쓰는 프로토콜입니다.
BGP는 단순히 "최단 경로"만 따르는 것이 아니라, 정책(Policy)에 따라 경로를 결정합니다. 예를 들어 "이 트래픽은 비용이 적은 A 회선을 쓰되, A가 다운되면 B로 가라", "이 경로는 비용을 줄이기 위해 피어링 파트너를 통해 보내라" 같은 복잡한 규칙을 구현할 수 있습니다. BGP는 TCP 179번 포트를 사용하며, 한 번 세션이 맺어지면 변경 사항만 증분으로 교환합니다.
| 구분 | iBGP (내부 BGP) | eBGP (외부 BGP) |
|---|---|---|
| 사용 범위 | 같은 AS 내부 라우터 간 | 서로 다른 AS 간 |
| AD 값 | 200 | 20 |
| Next-Hop 동작 | 변경 안 함 | 자신의 주소로 변경 |
| 주요 사용처 | ISP 내부, 대형 기업망 | ISP 간, 기업-ISP 연결 |
! BGP 기본 설정 (Cisco IOS)
Router(config)# router bgp 65001
Router(config-router)# bgp router-id 1.1.1.1
Router(config-router)# neighbor 203.0.113.2 remote-as 65002
Router(config-router)# network 192.168.100.0 mask 255.255.255.0
! BGP 피어 상태 확인
Router# show bgp summary
Neighbor V AS MsgRcvd MsgSent Up/Down State/PfxRcd
203.0.113.2 4 65002 1024 980 2d03h 150
처음 BGP를 접했을 때 "라우팅 프로토콜인데 왜 TCP를 쓰지?"라는 의문이 들었습니다. OSPF나 EIGRP는 자체 전송 메커니즘을 쓰는데, BGP는 TCP 위에서 동작합니다. 그 이유는 BGP가 교환하는 정보량이 방대하고(전 세계 라우팅 테이블은 90만 개 이상의 프리픽스), 안정적인 전송이 필수이기 때문입니다. BGP는 "빠른 속도"보다 "정확한 정책 적용과 안정성"을 우선합니다. 그래서 BGP 컨버전스는 OSPF보다 훨씬 느리지만, 그만큼 의도치 않은 경로 변경이 인터넷 전체에 영향을 주는 일을 방지합니다.
3. OSPF와 BGP의 핵심 차이 — 한눈에 비교
두 프로토콜은 목적 자체가 다릅니다. OSPF는 "조직 내부에서 가장 빠른 경로"를 찾는 것이 목표이고, BGP는 "조직 간 정책에 맞는 경로"를 찾는 것이 목표입니다.
| 항목 | OSPF | BGP |
|---|---|---|
| 분류 | IGP (내부 게이트웨이 프로토콜) | EGP (외부 게이트웨이 프로토콜) |
| 알고리즘 | 다익스트라 (SPF) | 경로 벡터 (Path Vector) |
| 전송 프로토콜 | IP 프로토콜 89번 | TCP 179번 |
| 경로 선택 기준 | 비용(Cost, 대역폭 기반) | 정책 (AS Path, MED, Local Preference 등) |
| 컨버전스 속도 | 빠름 (수 초~수십 초) | 느림 (수 분) |
| 확장성 | 수백~수천 라우터 | 인터넷 전체 (수십만 라우터) |
| 주요 사용처 | 기업 내부망, 데이터센터 | ISP 연결, 클라우드 연동, 멀티홈 |
| AD 기본값 | 110 | eBGP: 20 / iBGP: 200 |
실무에서 OSPF와 BGP를 동시에 운영하는 환경을 처음 접했을 때는 "두 프로토콜이 같은 라우터에서 돌면 충돌하지 않나?"라고 걱정했습니다. 실제로는 역할이 명확히 분리됩니다. 사내망 라우팅은 OSPF가, 인터넷 및 외부 클라우드 연결은 BGP가 담당하며, 두 프로토콜 간에 경로 재분배(Redistribution)로 필요한 정보만 선택적으로 공유합니다. 이 구조를 이해하고 나니 대형 네트워크 설계가 훨씬 명확하게 보이기 시작했습니다. OSPF와 BGP를 각각 따로 배우는 것보다, 두 프로토콜이 어떻게 함께 동작하는지를 같이 공부하는 것이 실무 감각을 키우는 데 훨씬 효과적입니다.
4. 실무 활용 시나리오 — 언제 무엇을 쓰는가?
개념을 알았으니 실제로 어떤 상황에서 어떤 프로토콜을 선택하는지 정리합니다.
시나리오 1 : 중소기업 사내망
지사 3곳과 본사를 연결하는 경우, OSPF로 전체를 하나의 Area로 구성하면 됩니다. 라우터 수가 적으면 Single Area OSPF로 충분합니다.
시나리오 2 : 대기업 멀티사이트
수십 개 거점이 있다면 OSPF를 Multi-Area로 설계하고, 거점 간 WAN 연결은 별도 Area로 분리해 SPF 계산 부하를 줄입니다.
시나리오 3 : ISP 이중 연결 (멀티홈)
KT와 SKT에 동시 연결된 기업이라면 eBGP로 두 ISP와 세션을 맺고, Local Preference와 AS Path Prepending으로 주/백업 회선을 제어합니다.
시나리오 4 : 클라우드(AWS/Azure) 연동
온프레미스와 클라우드를 VPN 또는 전용 회선으로 연결할 때 eBGP를 사용하고, 클라우드 측 라우터와 피어링합니다. AWS Direct Connect, Azure ExpressRoute 모두 BGP를 사용합니다.
! 경로 재분배 예시 (OSPF → BGP)
Router(config)# router bgp 65001
Router(config-router)# redistribute ospf 1 route-map OSPF_TO_BGP
Router(config)# route-map OSPF_TO_BGP permit 10
Router(config-route-map)# match ip address prefix-list INTERNAL_NETS
AWS Direct Connect를 처음 구성할 때 BGP 설정을 틀려서 클라우드와 연결이 안 된 적이 있습니다. ASN 번호를 프라이빗 ASN 범위(64512~65535)로 써야 하는데, 공인 ASN을 그냥 임의로 입력해서 생긴 문제였습니다. BGP는 실수 하나가 전체 외부 연결에 영향을 주므로, 설정 전에 AS 번호, 피어 IP, 광고할 프리픽스를 반드시 문서로 정리하고 시작하는 것을 권장합니다. 클라우드 환경에서의 BGP는 이제 선택이 아니라 필수 역량이 되었습니다.
마무리
OSPF는 조직 내부의 빠르고 안정적인 경로를 자동으로 관리하는 도구이고, BGP는 조직 경계를 넘는 인터넷 연결과 복잡한 트래픽 정책을 구현하는 도구입니다. 두 프로토콜은 대립하는 것이 아니라, 서로 역할을 나눠 함께 동작합니다. 처음에는 개념을 분리해서 익히고, 충분히 이해한 뒤에는 두 프로토콜이 어떻게 협력하는지를 공부하는 것이 실무 능력을 빠르게 키우는 방법입니다.
출처
- RFC 2328 — OSPF Version 2 — https://datatracker.ietf.org/doc/html/rfc2328
- RFC 4271 — BGP-4 — https://datatracker.ietf.org/doc/html/rfc4271
- Cisco — OSPF Design Guide — https://www.cisco.com/c/en/us/support/docs/ip/ospf/
- Cisco — BGP Best Practices — https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/
- AWS Direct Connect BGP Configuration — https://docs.aws.amazon.com/directconnect/latest/UserGuide/routing-and-bgp.html
- CCNP ENCOR Official Cert Guide (Cisco Press)
'IT적응기' 카테고리의 다른 글
| L2 스위치-L3 스위치(하드웨어 구조와 성능 차이) (0) | 2026.04.13 |
|---|---|
| ICMP의 역할 Ping-Traceroute가 네트워크 진단 도구 (0) | 2026.04.11 |
| "정적,동적 라우팅" 관리 효율성과 성능 - 3가지 기준 결론 낸다 (0) | 2026.04.10 |
| 라우팅 테이블 읽는 방법 어떻게 길을 찾는가? (0) | 2026.04.09 |
| 서브넷 마스크 계산법 - CIDR 표기법,서브넷 마스크 계산법 (0) | 2026.04.08 |