#14 BGP 프로토콜 개념과 동작 원리

2025. 2. 2. 11:01IT Infra

 

안녕하세요! 콱!꼬챙 입니다.

 

오늘은 BGP 프로토콜 개념과 동작 원리에 대해 공부해 보아요 ~

 

 

 

#14 BGP 프로토콜 개념과 동작 원리

1. BGP 프로토콜의 개념과 중요성 (BGP Protocol, Internet Backbone Routing)

BGP(Border Gateway Protocol)는 인터넷의 자율 시스템(AS, Autonomous System) 간 라우팅을 담당하는 프로토콜로, 인터넷 백본을 형성하는 핵심 기술이다. AS는 개별 네트워크 운영자가 관리하는 독립적인 네트워크 그룹으로, 각 AS 간의 데이터 교환을 효과적으로 조율하기 위해 BGP가 사용된다.

BGP는 내부 네트워크에서 사용되는 OSPF(Open Shortest Path First) 또는 RIP(Routing Information Protocol)와 같은 내부 게이트웨이 프로토콜(IGP)과 달리, 외부 게이트웨이 프로토콜(EGP)로 분류된다. 즉, BGP는 단일 조직 내 네트워크 라우팅을 관리하는 것이 아니라, 인터넷을 구성하는 수많은 독립 네트워크 간의 연결을 조정하는 역할을 한다. 현재 운영되는 인터넷은 수십만 개의 AS로 구성되어 있으며, 이들 간의 경로 선택과 트래픽 흐름은 BGP를 통해 결정된다.

BGP는 단순한 최단 경로 라우팅이 아닌 정책 기반 라우팅을 수행한다. 즉, AS 간의 관계(예: 피어링, 트랜짓 계약)에 따라 특정 경로를 우선적으로 선택하거나 제한하는 기능을 제공한다. 이러한 점에서 BGP는 네트워크 운영자의 정책을 반영하는 매우 유연한 프로토콜로, 인터넷 인프라에서 필수적인 역할을 한다.

 


 

2. BGP의 기본 동작 방식과 메시지 유형 (BGP Operation, Message Types)

BGP는 TCP(Transmission Control Protocol) 포트 179를 사용하여 안정적인 연결을 유지하며, BGP 라우터 간에는 네 가지 주요 메시지를 교환하여 경로 정보를 공유하고 유지한다.

  1. OPEN 메시지: BGP 피어(peer) 간의 연결을 설정할 때 사용된다. BGP 버전, AS 번호, Hold Timer, BGP Identifier 등의 정보를 포함한다.
  2. UPDATE 메시지: 새로운 경로 정보를 광고하거나 기존 경로를 철회할 때 사용된다. UPDATE 메시지를 통해 네트워크 변화가 반영되며, 경로 속성(Attribute) 정보가 포함된다.
  3. KEEPALIVE 메시지: BGP 피어 간의 연결을 유지하기 위해 주기적으로 전송되는 메시지로, 설정된 Hold Timer 내에 수신되지 않으면 연결이 끊어진 것으로 간주된다.
  4. NOTIFICATION 메시지: 오류 발생 시 전송되며, BGP 세션을 종료하는 역할을 한다.

BGP는 네트워크 안정성을 보장하기 위해 변화가 발생할 때만 경로 정보를 갱신하는 방식으로 동작한다. 이는 OSPF와 같은 링크 상태 프로토콜이 주기적으로 전체 라우팅 정보를 교환하는 것과 대조적이며, 인터넷 규모의 네트워크에서 불필요한 트래픽을 줄이는 데 큰 장점이 된다.

 


 

3. BGP 경로 선택 알고리즘과 경로 속성 (BGP Path Selection, Attributes)

BGP는 단순히 홉 수를 기준으로 최적 경로를 결정하는 것이 아니라, 다양한 경로 속성을 기반으로 정책적인 라우팅 결정을 내린다. BGP 경로 선택 알고리즘은 다음과 같은 우선순위를 따른다.

  1. Prefers Highest Local Preference: Local Preference 값이 높은 경로를 우선 선택한다.
  2. Prefers Shortest AS Path: AS 경로(AS Path) 길이가 짧은 경로를 선호한다.
  3. Prefers Lowest Origin Type: 경로의 기원(IGP, EGP, Incomplete) 중 IGP가 가장 선호된다.
  4. Prefers Lowest MED (Multi-Exit Discriminator): MED 값이 낮은 경로를 선호한다.
  5. Prefers eBGP over iBGP: 외부 BGP(eBGP) 경로가 내부 BGP(iBGP) 경로보다 우선된다.
  6. Prefers the Closest Next-Hop Router: IGP에서 최단 거리로 접근할 수 있는 Next-Hop 경로를 선택한다.
  7. Prefers Oldest Route: 경로 변경이 잦은 경우 안정적인 기존 경로를 유지한다.
  8. Prefers Router ID: 위의 조건이 모두 동일하면, 가장 작은 Router ID를 가진 라우터를 선택한다.

BGP는 이러한 다양한 속성을 활용하여 단순한 거리 기반 라우팅이 아니라, 비즈니스 정책과 네트워크 운영자의 요구를 반영한 고급 라우팅 결정을 수행할 수 있다.

 


 

4. 내부 BGP(iBGP)와 외부 BGP(eBGP)의 차이 (iBGP vs. eBGP)

BGP는 내부(Internal BGP, iBGP)와 외부(External BGP, eBGP)로 나뉜다. 두 방식은 AS 내부와 외부에서의 동작 방식이 다르며, 이를 통해 네트워크 경계를 명확히 구분할 수 있다.

  • iBGP(Internal BGP): 동일한 AS 내에서 BGP 라우터 간 경로 정보를 공유하는 방식이다. iBGP는 AS 내부에서 사용되므로, AS Path를 변경하지 않으며, 루프 방지를 위해 Full Mesh 연결(모든 BGP 라우터가 직접 연결)을 요구한다. 이를 해결하기 위해 Route Reflector(RR) 및 Confederation 등의 확장 기능이 도입되었다.
  • eBGP(External BGP): 서로 다른 AS 간의 BGP 라우팅을 담당하며, AS Path를 갱신하여 루프 방지를 수행한다. eBGP는 일반적으로 직접 연결(Direct Connection)이 필요하며, 최적 경로 선택 시 AS Path 길이를 주요 기준으로 사용한다.

이러한 차이로 인해 iBGP는 내부 네트워크에서 세밀한 경로 조정이 필요할 때 사용되며, eBGP는 AS 간 트래픽 전달을 조율하는 역할을 수행한다.

 


 

5. BGP의 확장성과 최신 기술 동향 (BGP Scalability, Future Developments)

인터넷 트래픽 증가와 함께 BGP의 확장성이 중요한 이슈가 되고 있다. 이를 해결하기 위해 다양한 기술이 도입되고 있으며, 대표적인 확장 기술은 다음과 같다.

  • BGP Route Reflector (RR): Full Mesh 연결의 필요성을 줄이고, 특정 라우터를 중심으로 경로를 반영하여 확장성을 향상시킨다.
  • BGP Confederation: 대형 AS를 소규모 서브-AS로 분할하여 관리 부담을 줄이고 경로 최적화를 수행한다.
  • MPLS와 BGP 결합: MPLS(Multi-Protocol Label Switching)와 결합하여 더 효율적인 트래픽 엔지니어링을 가능하게 한다.
  • Segment Routing (SR-BGP): SDN(Software-Defined Networking) 기술과 결합하여 더욱 유연한 라우팅 정책을 구현한다.

앞으로 BGP는 기존의 정책 기반 라우팅을 넘어, AI 기반 트래픽 분석 및 자율 네트워크 최적화를 지원하는 방향으로 발전할 것으로 전망된다.

 

결론

BGP는 단순한 라우팅 프로토콜이 아니라, 인터넷을 구성하는 핵심 기술로서, 전 세계 네트워크 운영자가 정책을 반영하고 최적의 트래픽 흐름을 유지하는 데 필수적이다. 기존 거리 기반 라우팅 프로토콜과 달리 정책 기반 경로 선택을 수행하며, 확장성을 고려한 다양한 최적화 기법이 적용되고 있다. 향후 SDN 및 AI 기반 네트워크 최적화 기술과 결합하여 더욱 발전할 것으로 기대된다.