1. BGP의 개요 및 핵심 역할
인터넷은 수만 개의 독립적인 네트워크 영역인 AS(Autonomous System, 자율 시스템)들의 거대한 결합체입니다. BGP(Border Gateway Protocol)는 이 수많은 AS들을 서로 연결해 주는 "사실상(de facto)의 인터넷 인터-도메인(Inter-domain) 라우팅 프로토콜"입니다.
- 인터넷의 접착제 (Glue of the Internet): 전 세계의 독립된 네트워크들을 하나로 묶어 거대한 글로벌 인터넷을 작동시키는 핵심 유기체 역할을 수행합니다.
- 존재 및 도달 가능성 광고: 특정 서브넷(Subnet)이 자신의 존재를 인터넷 전체에 알리고, 자신이 도달할 수 있는 목적지 목록을 광고할 수 있도록 지원합니다.
- 쉽게 말해, "내가 여기 존재하며, 나와 내 이웃을 통해 어디로 연결해 줄 수 있는지"*를 광고하는 수단입니다.
🔑 BGP가 각 AS에 제공하는 이중 핵심 기능

- eBGP (external BGP): 인접한 다른 외부 AS로부터 서브넷 도달 가능성(Reachability) 정보를 획득합니다.
- iBGP (internal BGP): eBGP를 통해 얻은 외부 도달 가능성 정보를 AS 내부의 모든 라우터에 전파합니다.
- 경로 결정: 도달 가능성 정보와 사전에 정의된 정책(Policy)을 기반으로 타 네트워크로 가는 최적의 경로를 산출합니다.
2. BGP의 기본 동작 및 세션 구성
BGP는 신뢰성 있는 정보 교환을 위해 네트워크 계층 프로토콜임에도 불구하고 전송 계층의 TCP 위에서 동작합니다.

- BGP 세션 (BGP Session): 두 BGP 라우터(서로를 "피어(Peers)" 또는 "이웃(Neighbors)"이라 부름)는 반영구적인 TCP 연결(Port 179)을 수립하여 BGP 메시지를 교환합니다.
- 경로 벡터 프로토콜 (Path Vector Protocol):
- BGP는 목적지 네트워크 프리픽스(Prefix)로 가기 위해 거쳐 가야 할 AS들의 순서가 적힌 경로 목록(Vector) 자체를 광고합니다. 이 덕분에 무한 루프 경로가 발생하는 현상을 원천 차단할 수 있습니다.
- BGP 광고의 약속 (Promise):
- 예를 들어, AS3의 게이트웨이 라우터가 AS2 게이트웨이에게 "path AS3, X" 경로를 광고했다는 것은, "네가 나(AS3)에게 목적지 X로 가는 패킷을 던져주면, 내가 내 내부망을 책임지고 거쳐서 X까지 확실하게 전달해 주겠다"고 약속하는 것과 같습니다.
3. BGP 경로 속성과 정책 기반 라우팅
BGP에서 단순히 하나의 경로를 수신하는 것은 '목적지 주소'만을 얻는 것을 의미하지 않습니다. BGP의 경로는 프리픽스(Prefix)와 여러 경로 속성(Path Attributes)의 조합으로 구성됩니다.
BGP Route = text + Attributes
1) 가장 중요한 2대 핵심 속성
BGP 라우터가 최적의 경로를 판별하고 결정하는 데 사용하는 가장 중추적인 속성입니다.
- AS-PATH (AS 경로):
- 프리픽스 광고가 발신지에서 출발하여 목적지까지 도달하는 과정에서 거쳐 온 AS들의 일련의 번호 목록입니다.
- 목적 1 (루프 방지): 만약 특정 라우터가 수신한 광고의 AS-PATH에 자기 자신의 AS 번호가 포함되어 있다면, 경로에 루프가 발생했다고 판단하고 해당 광고를 즉시 폐기(Decline)합니다.
- 목적 2 (경로 평가): 거쳐 가는 AS 개수가 적은 경로(즉, AS-PATH의 길이가 짧은 경로)를 더 좋은 경로로 우선 고려합니다.
- NEXT-HOP (다음 홉):
- 현재 AS를 벗어나 NEXT-HOP에서 가리키는 외부 AS로 진입하기 위한 가장 첫 번째 외부 라우터 인터페이스의 IP 주소입니다.
- 주의: 일반 내부 라우팅에서의 Next-Hop은 물리적으로 인접한 바로 다음 라우터를 의미하지만, BGP의 NEXT-HOP 속성은 대개 다음 외부 AS의 경계 라우터 인터페이스를 가리킵니다.
2) 정책 기반 라우팅 (Policy-Based Routing)
BGP는 기술적 속도보다 회사 간 비즈니스 계약이나 경제성, 보안성을 더 최우선시합니다.
- 수입 정책 (Import Policy):
- 이웃 AS로부터 경로 정보를 담은 광고를 수신했을 때, 이를 라우팅 테이블에 추가할 것인지 거부할 것인지 결정하는 기준입니다.
- 예: "경쟁사나 보안상 취약한 AS Y를 거쳐오는 경로는 수입 정책에서 차단하여 절대 사용하지 않는다."
- 광고 정책 (Export / Advertise Policy):
- 내가 알고 있는 목적지 경로 정보를 이웃 AS들에게 알려줄 것인지 말 것인지 결정하는 기준입니다.
- 예: "나에게 돈을 내는 고객의 경로 정보는 광고하지만, 나에게 돈을 내지 않는 다른 경쟁사 ISP들끼리의 트래픽 경로 정보는 내가 알고 있더라도 광고하지 않는다."
4. BGP 경로 광고 및 전파 과정 (eBGP & iBGP)
BGP 라우팅 광고가 실제 네트워크 망 전체로 흘러가며 AS-PATH를 생성하는 과정은 다음과 같습니다.

단계별 흐름 예시
- AS3 -> AS2 (eBGP 광고):
- 목적지 $X$를 보유한 AS3의 경계 라우터 3a가 인접한 AS2의 경계 라우터 2c에게 [AS3, X]라는 경로를 광고합니다. (서로 다른 AS 간이므로 eBGP 사용)
- AS2 내부 전파 (iBGP 전파):
- 경로 정보를 받은 2c는 수입 정책 통과 확인 후, iBGP를 통해 AS2 내부의 모든 라우터(2a, 2b, 2d)에게 이 경로를 그대로 전파합니다.
- AS2 -> AS1 (eBGP 광고 및 AS-PATH 업데이트):
- AS2의 반대쪽 경계 라우터인 2a가 AS1의 경계 라우터 1c에게 이 경로를 다시 광고합니다.
- 이때 AS2는 경로 앞에 자신의 AS 번호를 추가(Prepend)하여 광고 포맷을 [AS2, AS3, X]로 업데이트하여 전송합니다.
💡 중복 경로 발생 시의 선택 (Multiple Paths)

만약 경계 라우터 1c가 다음 그림과 같이 두 가지 경로를 동시에 알게 된다면 어떻게 될까요?
- 경로 1: AS2를 경유하는 경로 -> [AS2, AS3, X]
- 경로 2: AS3와 직접 연결된 링크를 통한 경로 -> [AS3, X]
1c는 자사 수입 정책(Import Policy)을 검토하여 더 비용이 적고 홉 수가 짧은 [AS3, X] 경로를 선택합니다. 그리고 이 최종 선택된 최적 경로만을 iBGP를 사용하여 AS1 내부의 동료 라우터들(1a, 1b, 1d)에게 광고합니다.
5. BGP 4대 핵심 메시지
BGP 피어 관계가 맺어지고 유지되는 동안 TCP 세션 내부에서는 아래의 4가지 규격화된 메시지가 오고 갑니다.
| 메시지 타입 (Type) | 주요 역할 및 기능 | 상세 설명 |
| OPEN | TCP 연결 개시 및 피어 관계 설정 | 상대 피어와 TCP 연결을 성공적으로 맺은 직후 전송되며, AS 번호, BGP 버전, 인증 키 등을 확인해 정상 세션을 맺는 악수(Handshake) 역할을 합니다. |
| UPDATE | 새로운 경로 광고 및 만료된 경로 철회 | 네트워크에 변경 사항이 생겼을 때 전송되는 핵심 메시지입니다. 신규 목적지($Prefix$+$Attributes$) 정보를 알리거나, 유효하지 않게 된 기존의 '철회 경로(Withdrawn Routes)' 목록을 배포합니다. |
| KEEPALIVE | 세션의 정상 상태 유지 및 확인 | 업데이트할 경로가 오랫동안 없어도, 상대방과의 BGP 세션이 죽지 않고 살아있음을 주기적으로 확인하기 위해 보냅니다. 또한 OPEN 요청에 대한 수락(ACK) 응답 역할도 수행합니다. |
| NOTIFICATION | 에러 발생 통보 및 세션 즉시 종료 | 메시지에 오류가 감지되었거나(포맷 에러 등), 피어 타이웃 등으로 연결을 더 이상 유지할 수 없을 때 에러 상세를 상대방에게 통보하고 BGP 연결을 끊어버립니다. |
6. BGP와 도메인 내부 라우팅(IGP/OSPF)의 결합
BGP가 외국의 주소(목적지 X)를 수집하여 자사 AS 내부 동료 라우터들에게 iBGP로 알려주더라도, 내부 라우터들이 그 게이트웨이까지 가는 경로를 모르면 아무 소용이 없습니다.
따라서 외부 라우팅(BGP)과 내부 라우팅(IGP/OSPF)은 서로 유기적으로 상호 작용하며 최종 포워딩 테이블(Forwarding Table)을 결정합니다.
⚙️ 동작 메커니즘 예시 (라우터 1d 시점)

- iBGP 정보 확인:
- 라우터 1d는 iBGP 광고를 수신해 *"목적지 X로 패킷을 보내려면, 우선 우리 AS의 출구인 게이트웨이 라우터 1c로 패킷을 배달해야 한다"*는 사실을 배웁니다.
- OSPF(IGP) 테이블 조회:
- 1d는 내부 라우팅 프로토콜(OSPF)을 조회하여, 자사 네트워크 내부망 안에서 1c에게 패킷을 보내기 위한 실제 물리 인터페이스 포트가 어디인지 확인합니다.
- 조회 결과: "1c로 가려면 인터페이스 1(interface 1)을 사용하여 내보내라"라는 경로를 찾아냅니다.
- 최종 결합 (Recursive Lookup):
- 이 두 정보를 종합하여 1d는 자신의 최종 포워딩 테이블을 다음과 같이 완성합니다.
- 목적지: X
- 나가는 포트(Interface): 1
- 이 두 정보를 종합하여 1d는 자신의 최종 포워딩 테이블을 다음과 같이 완성합니다.
7. 뜨거운 감자 라우팅 (Hot Potato Routing)
뜨거운 감자 라우팅은 자율 시스템(AS)이 내부 트래픽 처리 비용을 최소화하기 위해 사용하는 극단적이고도 합리적인 이기주의적 라우팅 방식입니다.
비유: 손에 아주 뜨거운 감자가 쥐어지면, 아무에게나 일단 가장 빨리 던져서 손에서 없애버려야 살 수 있습니다. 네트워크도 마찬가지입니다.
- 동작 원리: 목적지까지 가기 위한 외부 인터넷 세계의 거리나 비용은 일절 무시하고, "우리 AS 내부 영역에서 가장 적은 비용(Least Intra-domain Cost)으로 도달할 수 있는 가장 가까운 출구"로 패킷을 일단 던져버리는 라우팅 방식입니다.
🔍 실제 분석 사례 (라우터 2d 시점)

- 목적지 X로 가기 위한 두 출구:
- 출구 A (경계 라우터 2a): 외부 경로는 [AS1, AS3, X] (홉 수: 2) -> OSPF 내부 비용: 201
- 출구 B (경계 라우터 2c): 외부 경로는 [AS3, X] (홉 수: 1) -> OSPF 내부 비용: 263
- BGP의 결정:
- 외부 경로만 보면 출구 B(2c)를 쓰는 것이 훨씬 효율적입니다.
- 그러나 뜨거운 감자 라우팅에 의해 라우터 2d는 내부 비용이 더 적게 소모되는(201 < 263) 출구 A(2a)를 선택해 패킷을 AS 외부로 방출합니다. 자사 네트워크 망 내부의 장비와 대역폭을 조금이라도 덜 사용하기 위함입니다.
8. 현실 비즈니스 관계와 BGP 광고 정책

BGP는 상업 인터넷망의 질서를 잡기 위해 철저하게 경제적 이익 중심으로 라우팅 경로 정보를 통제(광고 여부 결정)합니다. 인터넷 서비스 공급자(ISP)들은 크게 아래와 같은 계약 관계에 처하게 됩니다.
- Provider (공급자): 서비스를 제공하는 상위 대형 ISP
- Customer (고객): 돈을 지불하고 트래픽을 위탁하는 하위 망 또는 기업 네트워크
통과 트래픽 제한 정책 (No-Transit Policy)

- 대원칙: ISP(공급자)는 오직 자신의 돈을 내는 고객과 통신하는 트래픽만 실어 날라주기를 원합니다. 자기와 비즈니스 계약이 없는 제3자 공급자 간의 단순 연결 통로(Transit) 노릇을 해주는 것은 대역폭 낭비이므로 철저히 거부합니다.
예제 시나리오 분석 (B의 영리한 광고 제어)
- 네트워크 구성:
- A는 w의 공급자이며, 동시에 B와 C의 고객입니다.
- B와 C는 동등한 레벨의 상위 공급자(ISP)입니다.
- 상황:
- A가 w로 가기 위해 자신을 거치라는 의미로 [A, w] 경로를 B와 C 모두에게 광고합니다.
- B는 [A, w] 경로를 학습하지만, 이를 경쟁사 대형 ISP인 C에게는 절대 광고하지 않기로(chooses not to advertise) 결정합니다.
- 이유: 만약 B가 C에게 이 사실을 광고한다면, C는 w로 가는 트래픽을 무상으로 [C, B, A, w] 경로를 통해 보낼 것입니다. 이 과정에서 C, A, w 중 어느 누구도 B에게 이 경유 트래픽에 대한 비용('Revenue')을 지불하지 않습니다.
- 결과: 이 광고 정책의 통제 덕분에 C는 B를 경유하여 w로 갈 수 있다는 것을 알지 못하게 되며, 직접 연결된 경로인 [C, A, w]를 강제로 사용하게 됩니다.
9. 내부 라우팅(Intra-AS) vs 외부 라우팅(Inter-AS) 비교
궁극적으로 인터넷 아키텍처가 단일 프로토콜을 쓰지 않고, 내부 라우팅과 외부 라우팅을 명확히 이원화하여 구축된 이유는 다음과 같은 구조적 차이점 때문입니다.
| 비교 요소 | AS 내부 라우팅 (Intra-AS / IGP) | AS 간 라우팅 (Inter-AS / EGP) |
| 주요 적용 프로토콜 | OSPF (Open Shortest Path First), RIP | BGP (Border Gateway Protocol) |
| 정책 통제 수준 (Policy) | 낮음 (조직이 단 하나이므로 복잡한 비즈니스 정책 개입이 없음) | 매우 높음 (관리자가 자신의 트래픽과 지나가는 트래픽 흐름을 완벽히 통제해야 함) |
| 확장성 관리 (Scale) | 중소 규모에 적합 (모든 라우팅 정보를 공유하므로 규모 성장에 한계 존재) | 초거대 규모 (인터넷 전체를 계층화하여 라우팅 테이블 크기와 부하를 극적으로 절감) |
| 최적화 성능 (Performance) | 극대화 지향 (최단 거리, 지연 최소화 등 오직 물리적 성능에 집중) | 정책이 성능보다 우위 (아무리 우수하고 빠른 최단 경로가 있어도 비즈니스 이익 정책이 앞섬) |
'NETWORK' 카테고리의 다른 글
| [네트워크] 링크 계층(CRC)과 다중 접속 프로토콜 (0) | 2026.06.01 |
|---|---|
| [네트워크] BGP와 SDN (0) | 2026.05.27 |
| [네트워크] 라우팅 알고리즘 - 다익스트라 (0) | 2026.05.13 |
| [네트워크] IPv4 vs IPv6 (0) | 2026.05.11 |
| [네트워크] DHCP와 NAT (0) | 2026.05.06 |