Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

BGP (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 23:10

BGP

이름

BGP (Border Gateway Protocol)

분류

라우팅 프로토콜

목적

자율 시스템(AS) 간 라우팅 정보 교환

표준

RFC 4271

유형

경로 벡터 프로토콜

운영 방식

TCP 포트 179 사용

주요 기능

인터넷 백본 라우팅

기술적 상세

버전

BGP-4 (현재 표준)

메시지 유형

OPEN, UPDATE, NOTIFICATION, KEEPALIVE

경로 속성

AS_PATH, NEXT_HOP, LOCAL_PREF, MED 등

라우팅 정책

수입/수출 필터링, 경로 선택

자율 시스템 번호

ASN (Autonomous System Number)

피어링

eBGP (외부), iBGP (내부)

수렴 시간

상대적으로 느림

보안 메커니즘

MD5 인증, RPKI (Resource Public Key Infrastructure)

주요 취약점

라우팅 하이재킹, 경로 누출

관련 기술

MP-BGP, BGPsec

1. 개요

BGP(Border Gateway Protocol)는 인터넷의 핵심 라우팅 프로토콜이다. 이 프로토콜은 서로 다른 자율 시스템(AS) 간에 라우팅 정보를 교환하여, 인터넷 상의 데이터 패킷이 최적의 경로로 전송될 수 있도록 한다. BGP는 경로 벡터 프로토콜로 분류되며, 현재 사용되는 버전은 BGP-4이다.

BGP의 주요 역할은 AS 간의 연결 가능성 정보를 전파하고, 다양한 정책에 기반한 경로 선택을 수행하는 것이다. 인터넷 서비스 제공자(ISP)나 대규모 기업 네트워크는 BGP를 사용하여 자신의 네트워크 경로를 광고하고, 다른 네트워크로부터의 경로를 학습한다. 이를 통해 전 세계 수만 개의 자율 시스템이 서로 연결되어 하나의 글로벌 인터넷을 구성한다.

개별 AS 내부에서 사용되는 IGP(내부 게이트웨이 프로토콜)와 달리, BGP는 EGP(외부 게이트웨이 프로토콜)에 속한다. BGP의 동작은 신뢰성 있는 TCP 연결(포트 179)을 기반으로 하여, 라우팅 정보의 손실 없이 안정적으로 교환되도록 설계되었다. 이 프로토콜은 복잡한 경로 속성과 정책 기반 제어를 지원하여, 네트워크 운영자가 트래픽 흐름을 세밀하게 관리할 수 있게 한다.

BGP는 인터넷의 백본을 이루는 사실상의 표준 프로토콜로서, 그 안정성과 확장성이 매우 중요하다. 그러나 초기 설계 시 보안이 충분히 고려되지 않아 BGP 하이재킹과 같은 보안 취약점도 존재한다. 이에 따라 RPKI(Resource Public Key Infrastructure)와 같은 보안 강화 기술이 발전하고 있다.

2. BGP의 기본 원리

BGP는 인터넷의 핵심 라우팅 프로토콜로, 서로 다른 자율 시스템 간의 최적 경로 정보를 교환하는 데 사용된다. 경로 벡터 프로토콜에 기반을 두며, 거리 벡터 프로토콜과 링크 상태 프로토콜과는 구별되는 특성을 가진다. BGP의 주요 목표는 다양한 네트워크 정책에 따라 신뢰할 수 있고 효율적인 라우팅 정보의 전파를 보장하는 것이다.

BGP의 핵심 작동 단위는 자율 시스템이다. AS는 단일 기술 관리 하에 운영되는 라우터와 네트워크의 집합체를 의미한다. 각 AS는 고유한 AS 번호를 할당받으며, 이 번호는 BGP 메시지에서 해당 네트워크의 출처를 식별하는 데 사용된다. AS 번호는 IANA와 같은 기관을 통해 지역 인터넷 레지스트리에게 할당된다[1].

BGP는 네 가지 기본 메시지 유형을 통해 통신한다. 이 메시지들은 TCP 포트 179를 사용하여 신뢰적인 연결 위에서 교환된다.

메시지 유형

설명

OPEN

BGP 피어링 세션을 초기화하고 매개변수를 협상한다.

UPDATE

새로운 라우팅 경로를 광고하거나, 기존 경로를 철회한다.

KEEPALIVE

연결이 활성 상태임을 확인하고 세션을 유지한다.

NOTIFICATION

오류가 감지되면 세션을 즉시 종료한다.

UPDATE 메시지는 BGP의 핵심으로, 네트워크 도달 가능성 정보를 전달한다. 하나의 UPDATE 메시지는 여러 개의 새로운 경로(NLRI)를 광고하거나, 더 이상 유효하지 않은 여러 경로를 철회할 수 있다. 각 경로 정보는 BGP 속성이라는 다양한 특성들의 집합과 함께 전송되며, 이 속성들은 이후 경로 선택 과정에서 결정적인 역할을 한다.

2.1. 경로 벡터 프로토콜

경로 벡터 프로토콜은 BGP가 사용하는 라우팅 알고리즘의 기본 분류이다. 이는 거리 벡터 프로토콜과 연결 상태 프로토콜과 구별되는 독특한 방식을 채택한다. 경로 벡터 프로토콜은 목적지 네트워크에 도달하기 위해 거쳐야 하는 AS(Autonomous System)의 전체 경로, 즉 AS 경로(AS_PATH)를 벡터 정보로 전파하고 유지한다.

이 방식의 핵심은 단순히 목적지까지의 거리(홉 수)만을 고려하는 것이 아니라, 경로 상의 AS 순서를 기록하고 검증한다는 점이다. 각 BGP 라우터는 수신한 경로 정보에 자신의 AS 번호를 추가하여 다음 피어에게 전달한다. 이를 통해 네트워크는 루프를 방지할 수 있다. 만약 라우터가 자신의 AS 번호가 이미 포함된 경로 정보를 수신하면, 해당 경로는 루프를 형성하는 것으로 판단하여 폐기한다.

경로 벡터 방식은 인터넷과 같은 정책 기반 라우팅 환경에 매우 적합하다. 각 AS 운영자는 AS_PATH 속성을 포함한 다양한 BGP 속성을 검토하여, 특정 AS를 통과하는 경로를 선호하거나 차단하는 라우팅 정책을 수립할 수 있다. 이는 단순한 최단 경로 선택이 아닌, 사업적 합의나 보안, 트래픽 엔지니어링 등을 고려한 복잡한 의사결정을 가능하게 한다.

프로토콜 유형

주요 정보

루프 방지 메커니즘

주요 특징

거리 벡터 (예: RIP)

목적지, 거리(홉), 다음 홉

분할 범위, 독극 수평선

단순하지만 확장성 낮음, 느린 수렴

연결 상태 (예: OSPF, IS-IS)

전체 토폴로지 맵

각 라우터가 SPF 알고리즘으로 독립 계산

빠른 수렴, 높은 자원 소모

경로 벡터 (예: BGP)

목적지, 전체 AS 경로, 다음 홉

AS_PATH 검증 (자신의 AS가 있으면 폐기)

정책 기반 라우팅에 적합, 확장성 높음

2.2. AS(Autonomous System)와 AS 번호

자율 시스템(Autonomous System, AS)은 단일한 라우팅 정책 하에 운영되는 하나 이상의 IP 네트워크 집합을 의미한다. 인터넷은 수만 개의 AS들이 상호 연결되어 구성된 거대한 네트워크의 네트워크이다. 각 AS는 일반적으로 한 개의 인터넷 서비스 제공업체(ISP), 대규모 기업, 대학, 또는 정부 기관과 같은 단일 관리 주체에 의해 운영된다. AS 내부에서는 OSPF나 EIGRP와 같은 IGP(내부 게이트웨이 프로토콜)를 사용하여 라우팅을 수행한다.

각 AS는 전 세계적으로 고유한 식별 번호인 AS 번호(Autonomous System Number, ASN)를 할당받는다. ASN은 BGP에서 해당 AS의 경로를 광고하고, 경로의 출처 및 통과 지점을 추적하는 데 필수적인 역할을 한다. ASN은 16비트 정수로, 1부터 65535까지의 범위를 가졌으나, 32비트 ASN(65536부터 4294967295까지)으로 확장되었다. ASN은 IANA(Internet Assigned Numbers Authority)가 지역 인터넷 레지스트리(RIR)에 블록으로 할당하면, RIR이 최종 사용자에게 개별 번호를 할당한다[2].

AS 번호는 BGP 경로 속성인 AS_PATH에 기록된다. 한 AS에서 다른 AS로 경로가 전파될 때마다, 자신의 ASN을 AS_PATH 목록의 앞부분에 추가한다. 이를 통해 BGP 라우터는 경로가 통과한 AS들의 순서를 알 수 있고, 이를 바탕으로 루프 방지와 경로 선택 정책을 수립한다. AS는 크게 다음과 같이 분류된다.

AS 유형

설명

스텁 AS

단일한 연결점(업스트림 AS)만을 가지는 말단 AS이다. 대부분의 기업 네트워크가 이에 해당한다.

멀티호밍 AS

복수의 업스트림 AS에 연결되어 중복성을 확보하거나 트래픽 제어를 하는 AS이다.

트랜짓 AS

다른 AS들 사이의 트래픽을 중계(Transit)하는 역할을 하는 AS이다. 대형 ISP 네트워크가 이에 해당한다.

AS 번호 체계는 인터넷의 계층적이고 분산된 구조를 반영하며, BGP가 수만 개의 독립적인 네트워크를 조율하여 글로벌 연결성을 제공할 수 있는 기반이 된다.

2.3. BGP 메시지 유형

BGP는 네트워크 정보를 교환하고 제어하기 위해 네 가지 기본 메시지 유형을 사용한다. 이러한 메시지들은 TCP 포트 179를 통해 BGP 피어링 세션이 형성된 후 피어 간에 교환된다.

주요 메시지 유형은 다음과 같다.

메시지 유형

설명

OPEN

BGP 세션을 초기화하는 데 사용된다. 이 메시지에는 BGP 버전, 로컬 [[AS(Autonomous System)와 AS 번호

UPDATE

라우팅 정보 베이스(RIB)를 교환하는 데 사용되는 가장 중요한 메시지이다. 새로운 경로를 광고하거나, 더 이상 유효하지 않은 기존 경로를 철회한다. 하나의 UPDATE 메시지는 동시에 여러 경로를 광고하거나 철회할 수 있다.

KEEPALIVE

피어 간의 연결이 활성 상태임을 확인하는 데 사용된다. OPEN 메시지 교환 후 정해진 간격(일반적으로 홀드 타임의 1/3)으로 주고받으며, 상대방으로부터 KEEPALIVE나 UPDATE 메시지를 일정 시간 내에 받지 못하면 연결이 중단된 것으로 판단한다.

NOTIFICATION

오류가 감지되었을 때 세션을 즉시 종료하는 데 사용된다. 메시지에는 오류 코드와 오류 하위 코드가 포함되어 있어, 상대 피어에게 오류의 원인을 알린다.

UPDATE 메시지는 BGP의 핵심으로, 네트워크 도달 가능성 정보를 전달한다. 이 메시지는 철회된 경로 목록과 새로운 경로의 속성 및 네트워크 프리픽스 목록으로 구성된다. 경로 속성에는 AS_PATH, NEXT_HOP, LOCAL_PREF 등이 포함되어, 이후 BGP Best Path 선택 과정에서 최적 경로를 결정하는 데 중요한 역할을 한다. NOTIFICATION 메시지는 프로토콜 오류, 잘못된 메시지 형식, 홀드 타이머 만료 등 다양한 문제 상황에서 세션을 정상적으로 종료시키는 메커니즘을 제공한다.

3. BGP 동작 방식

BGP 동작 방식은 이웃(Neighbor) 형성, 경로 선택 알고리즘을 통한 최적 경로 결정, 그리고 정책 기반의 경로 전파라는 세 가지 핵심 단계로 구성된다. 이 과정은 인터넷의 자율 시스템 간 라우팅 정보를 신뢰성 있게 교환하고 통제하는 기반을 제공한다.

BGP 라우터는 먼저 지정된 피어 라우터와 TCP 연결(포트 179)을 수립하여 이웃 관계를 형성한다. 이 과정에서 OPEN 메시지를 교환하여 BGP 버전, AS 번호 등의 매개변수를 협상한다. 성공적으로 연결이 맺어지면 양측은 KEEPALIVE 메시지를 정기적으로 교환하여 세션의 활성 상태를 유지한다. 초기 연결 시 또는 라우팅 정보에 변경이 발생하면, 각 라우터는 자신의 전체 BGP 라우팅 테이블을 UPDATE 메시지를 통해 상대방에게 전송한다.

라우터는 여러 피어로부터 동일한 목적지에 대한 여러 경로를 수신하면, 사전에 정의된 일련의 단계를 거쳐 하나의 최적 경로(Best Path)를 선택한다. 이 선택 과정은 다양한 BGP 속성을 순차적으로 비교하여 이루어진다. 가장 높은 가중치(Local Preference)를 부여받은 경로, 가장 짧은 AS 경로(AS Path)를 가진 경로, 가장 낮은 출발지 유형(Origin Code)을 가진 경로 순으로 우선순위가 결정된다[3]. 선택된 최적 경로는 로컬 라우팅 테이블에 설치되고, 데이터 전송에 사용된다.

최적 경로가 결정된 후, BGP 라우터는 이 경로를 다른 이웃들에게 전파한다. 이때 eBGP 피어와 iBGP 피어에게 전파하는 규칙이 다르다. 일반적으로 eBGP 피어로부터 학습한 경로는 다른 모든 eBGP 및 iBGP 피어에게 재광고되는 반면, iBGP 피어로부터 학습한 경로는 다른 iBGP 피어에게는 전파되지 않는다[4]. 무엇보다도 BGP의 핵심은 사전에 구성된 라우팅 정책에 따라 경로의 전파를 필터링하거나 속성 값을 수정할 수 있다는 점이다. 네트워크 운영자는 이를 통해 트래픽 흐름을 제어하거나 특정 업체와의 상업적 계약에 따른 라우팅 행동을 구현한다.

3.1. 이웃(Neighbor) 형성

BGP 라우터 간에 안정적인 연결을 설정하는 과정을 이웃 형성 또는 피어링(Peering)이라고 부른다. 이 과정은 BGP 세션이 실제 라우팅 정보를 교환하기 전에 반드시 완료되어야 한다.

이웃 형성은 일반적으로 수동 구성으로 시작된다. 관리자는 각 BGP 라우터에 상대방 라우터의 IP 주소와 소속 AS(Autonomous System) 번호를 명시적으로 설정한다. 이후 라우터들은 설정된 대상과 TCP 포트 179번을 사용하여 신뢰할 수 있는 연결을 수립하려고 시도한다. 연결 수립 과정은 일반적으로 다음과 같은 단계를 거친다.

단계

설명

Idle

초기 상태. 모든 연결이 중단된 상태이다.

Connect

TCP 연결을 시도하는 상태이다.

Active

TCP 연결 시도가 실패하면 이 상태로 전환되어 재시도를 준비한다.

OpenSent

TCP 연결이 성공하면 BGP OPEN 메시지를 보내고 상대방의 OPEN 메시지를 기다린다.

OpenConfirm

상대방의 OPEN 메시지를 받고 KEEPALIVE 메시지를 기다리는 상태이다.

Established

KEEPALIVE 메시지 교환이 완료되어 BGP 피어링 세션이 정상적으로 형성된 상태이다. 이제 라우팅 정보를 교환할 수 있다.

세션이 Established 상태가 되면, 양측은 초기에 전체 BGP 테이블을 교환한다. 그 이후에는 네트워크 상태 변화가 있을 때만 증분 업데이트를 보낸다. 세션을 유지하기 위해 정기적으로 KEEPALIVE 메시지를 교환하며, 일정 시간 동안 메시지가 오가지 않으면 세션은 종료된다. 이웃 관계는 일반적으로 직접 연결된 라우터 사이(eBGP) 또는 동일한 자율 시스템 내부의 라우터 사이(iBGP)에서 형성된다.

3.2. 경로 선택 알고리즘

BGP는 수신한 여러 동일 목적지 경로 중 하나를 최적 경로(Best Path)로 선택하기 위해 결정론적 알고리즘을 사용합니다. 이 알고리즘은 여러 단계로 구성되며, 각 단계는 특정 BGP 속성의 값을 비교하여 후보 경로를 순차적으로 걸러냅니다. 한 단계에서 단 하나의 최적 경로가 결정되면 나머지 단계는 생략합니다.

경로 선택의 주요 단계는 다음과 같습니다.

1. 가중치(Weight) 비교 (시스코 전용 속성): 가장 높은 로컬로 설정된 가중치 값을 가진 경로를 선호합니다. 이는 라우터 로컬에서만 유효한 속성입니다.

2. 로컬 프리퍼런스(Local Preference) 비교: 가장 높은 로컬 프리퍼런스 값을 가진 경로를 선호합니다. 이 속성은 동일 AS(Autonomous System) 내의 모든 라우터에 경로 선호도를 알리는 데 사용됩니다.

3. 로컬에서 생성된 경로 선호: 라우터 자신이 네트워크 명령어를 통해 생성한 경로를, eBGP나 iBGP를 통해 학습한 경로보다 선호합니다.

4. AS_PATH 길이 비교: 가장 짧은 AS_PATH 속성 길이를 가진 경로를 선호합니다.

5. 오리진(Origin) 코드 비교: 오리진 타입 코드가 IGP(내부 게이트웨이 프로토콜)인 경로가 EGP(구형 외부 게이트웨이 프로토콜)나 Incomplete보다 우선합니다.

6. MED(Multi-Exit Discriminator) 비교: 가장 낮은 MED 값을 가진 경로를 선호합니다. 이 속성은 다른 AS로부터 수신된 여러 진입점 경로를 비교할 때 사용됩니다.

7. eBGP 경로 선호: eBGP를 통해 학습한 경로를 iBGP를 통해 학습한 경로보다 선호합니다.

8. IGP 메트릭 비교: BGP 넥스트 홉까지의 IGP 비용이 가장 낮은 경로를 선호합니다.

9. 가장 오래된 eBGP 경로 선호 (선택적): eBGP 피어링이 가장 오래 지속된 안정적인 경로를 선호하도록 구성할 수 있습니다.

10. 라우터 ID 비교: 가장 낮은 BGP 라우터 ID를 가진 피어로부터 학습한 경로를 선호합니다.

11. 클러스터 리스트 길이 비교: 가장 짧은 클러스터 리스트 길이를 가진 경로를 선호합니다.

12. 피어 IP 주소 비교: 가장 낮은 피어 IP 주소를 가진 피어로부터 학습한 경로를 선호합니다.

이 알고리즘은 구현 벤더에 따라 약간의 차이가 있을 수 있습니다. 예를 들어, 가중치(Weight)는 시스코 전용 속성입니다. 또한, 네트워크 운영자는 라우팅 정책을 통해 특정 속성(예: 로컬 프리퍼런스, MED)의 값을 수정함으로써 알고리즘의 선택 결과에 영향을 미칠 수 있습니다. 이는 트래픽 엔지니어링이나 비즈니스 관계에 따른 경로 제어를 가능하게 합니다.

3.3. 경로 전파와 정책

BGP는 단순히 최단 경로를 찾는 것이 아니라, 사업 정책에 따라 경로를 선택하고 전파하는 정책 기반 라우팅 프로토콜이다. 각 AS(Autonomous System)의 관리자는 자체적인 라우팅 정책을 수립하여, 어떤 경로를 수용할지, 또 어떤 이웃에게 어떤 경로를 알릴지 제어한다. 이 정책은 주로 상업적 계약, 트래픽 엔지니어링, 보안 요구사항에 기반한다.

경로 전파의 기본 규칙은 다음과 같다. eBGP (External BGP) 피어로부터 학습한 경로는 일반적으로 다른 모든 eBGP 피어와 iBGP (Internal BGP) 피어에게 전파된다. 반면, iBGP 피어로부터 학습한 경로는 다른 iBGP 피어에게는 절대 전파되지 않는다. 이는 iBGP 네트워크 내에서 라우팅 정보 루프를 방지하기 위한 핵심 규칙이다. iBGP 학습 경로를 다른 AS로 전파하려면, 해당 경로를 eBGP 피어에게 재광고해야 한다.

정책 적용은 주로 인바운드와 아웃바운드 방향으로 이루어진다. 인바운드 정책은 피어로부터 수신된 경로에 적용되어, 특정 경로 접두사를 거부하거나, BGP 속성 값을 수정(예: LOCAL_PREF 증가)할 수 있다. 아웃바운드 정책은 특정 피어에게 광고할 경로를 필터링하거나 속성을 조작(예: AS_PATH 프리펜딩 또는 MED 값 설정)한다. 일반적인 정책 도구로는 접두사 리스트, AS 경로 리스트, 커뮤니티 리스트를 활용한 경로 필터링이 있다.

아래 표는 일반적인 BGP 정책 결정 요소와 그 목적을 보여준다.

정책 결정 요소

주요 목적

상업적 계약 (트랜짓, 피어링, 프로바이더)

비용 절감 및 트래픽 흐름 제어

네트워크 보안 및 안정성

악의적이거나 오류가 있는 경로 광고 차단

트래픽 엔지니어링

링크 활용도 최적화 및 지연 시간 최소화

규정 준수

특정 지역의 데이터 주권 법규 준수

이러한 정책 기반의 경로 제어는 인터넷이 수많은 독립적인 관리 주체들로 구성되어 있음에도 효율적으로 동작할 수 있게 하는 근간이 된다. 그러나 잘못 구성된 정책은 라우팅 루프나 경로 누락을 초래할 수 있으며, 악의적인 정책은 BGP 하이재킹과 같은 보안 사고로 이어질 수 있다.

4. BGP 구성 요소

BGP 구성 요소는 BGP 프로토콜이 동작하기 위해 필요한 핵심적인 물리적 및 논리적 요소들을 의미한다. 이 구성 요소들은 상호작용하여 인터넷의 자율 시스템 간 라우팅 정보를 교환하고 결정하는 역할을 수행한다.

주요 구성 요소로는 BGP 라우터, BGP 피어링 세션, 그리고 라우팅 정보 베이스(RIB)가 있다. BGP 라우터는 BGP 프로토콜을 실행하여 경로 정보를 교환하는 네트워크 장비이다. 이 라우터는 eBGP 또는 iBGP 세션을 통해 다른 BGP 라우터와 연결된다. BGP 피어링 세션은 두 BGP 라우터 간에 형성되는 TCP 연결(일반적으로 포트 179 사용)을 말하며, 이를 통해 라우팅 업데이트 메시지가 교환된다. 세션은 수동으로 구성되어야 하며, 성공적으로 형성되면 이웃(Neighbor) 또는 피어(Peer) 관계가 수립된다.

라우팅 정보 베이스는 BGP 라우터가 유지 관리하는 여러 테이블의 집합이다. 주요 테이블은 다음과 같다.

테이블 이름

설명

수신 RIB (Adj-RIB-In)

피어로부터 수신한 모든 경로 정보를 보관하는 테이블이다.

로컬 RIB (Loc-RIB)

BGP Best Path 선택 과정을 거쳐 최적의 경로로 선정된, 실제 라우팅에 사용될 경로들이 저장되는 테이블이다.

송신 RIB (Adj-RIB-Out)

로컬 RIB의 경로들에 대해 구성된 발신 정책을 적용한 후, 특정 피어에게 광고하기 위해 준비된 경로들이 저장되는 테이블이다.

이러한 구성 요소들은 함께 작동한다. 피어링 세션을 통해 수신된 경로는 먼저 Adj-RIB-In에 저장된다. 이후 로컬 라우터의 정책과 BGP 경로 선택 알고리즘을 적용하여 최적의 경로를 선정하고 Loc-RIB에 설치한다. 마지막으로, 다른 피어들에게 광고할 경로는 발신 정책을 거쳐 Adj-RIB-Out에 배치된 후 피어링 세션을 통해 전파된다. 이 구조는 네트워크 운영자가 세부적인 라우팅 정책을 수립하고 제어할 수 있는 기반을 제공한다.

4.1. BGP 라우터

BGP 라우터는 BGP 프로토콜을 실행하여 AS 간 또는 내부 경로 정보를 교환하는 네트워크 장비이다. 일반적인 라우터와 달리, BGP 라우터는 인터넷 백본과 같은 대규모 네트워크의 경계에서 동작하며, 정책 기반의 라우팅 결정을 내리는 데 특화되어 있다. 이 라우터는 BGP 피어링 세션을 통해 다른 BGP 라우터와 연결되어 경로 벡터 정보를 주고받는다.

BGP 라우터의 핵심 기능은 라우팅 정보 베이스(RIB)를 유지 관리하는 것이다. RIB는 학습된 모든 BGP 경로를 저장하며, 크게 세 부분으로 나뉜다. Adj-RIB-In은 피어로부터 수신한 원본 경로를, Loc-RIB는 로컬 라우팅 정책을 적용해 선택된 최적 경로를, Adj-RIB-Out은 피어에게 광고하기 위해 선별된 경로를 각각 보관한다[5]. 라우터는 복잡한 BGP Best Path 선택 과정을 통해 수만 개의 가능한 경로 중에서 하나의 최적 경로를 Loc-RIB에 설치한다.

BGP 라우터의 역할은 사용 위치에 따라 크게 달라진다. AS의 경계에 위치하여 다른 자치 시스템의 라우터와 eBGP 세션을 형성하는 라우터는 주로 경로를 필터링하고 정책을 적용하는 업무를 담당한다. 반면, 큰 AS 내부에서는 모든 BGP 라우터가 완전한 메시(full mesh) 형태로 iBGP 세션을 구성하거나, 라우트 리플렉터를 사용하여 내부적으로 학습된 경로 정보를 전파한다.

라우터 유형

세션 유형

주요 역할

경계 라우터

eBGP

외부 AS와의 경로 교환, 인바운드/아웃바운드 정책 적용

코어 라우터

iBGP

AS 내부에서 BGP 경로 정보 전파, 내부 연결성 제공

라우트 리플렉터

iBGP (클라이언트에 대해)

iBGP 완전 메시 요구사항을 완화, 경로를 리플렉트

고성능 BGP 라우터는 수백만 개에 이르는 IP 프리픽스 경로를 처리할 수 있어야 하며, 안정적인 피어링 세션 유지와 빠른 수렴(convergence)이 필수적이다. 또한, BGP 하이재킹과 같은 보안 위협으로부터 네트워크를 보호하기 위해 경로 유효성 검증(*예: RPKI를 이용한 Origin Validation) 기능을 구현하기도 한다.

4.2. BGP 피어링 세션

BGP 피어링 세션은 서로 다른 BGP 라우터 간에 설정되는 TCP 기반의 연결입니다. 이 세션을 통해 라우터들은 라우팅 정보 베이스(RIB)를 교환하고 네트워크 도달성 정보를 공유합니다. 세션은 TCP 포트 179를 사용하여 설정되며, 신뢰성 있는 전송을 보장합니다. 피어링 세션의 상태는 'Idle', 'Connect', 'Active', 'OpenSent', 'OpenConfirm', 'Established'의 6가지 단계를 거쳐 최종적으로 'Established' 상태가 되어야만 실제 라우팅 정보 교환이 가능해집니다.

피어링 세션은 물리적으로 직접 연결된 라우터 사이에 설정될 수도 있고, 멀티홉(Multi-hop)을 통해 여러 네트워크 장비를 거쳐 설정될 수도 있습니다. 세션을 성공적으로 수립하기 위해서는 양측 라우터가 서로의 IP 주소를 정확히 알고 있어야 하며, 필요한 경우 AS 번호를 인증 매개변수로 사용합니다. 세션이 수립된 후에는 주기적인 KEEPALIVE 메시지를 교환하여 연결 상태를 유지합니다.

BGP 피어링의 주요 유형과 특징은 다음과 같습니다.

세션 유형

연결 대상

일반적인 TTL 값

주 목적

eBGP 피어링

서로 다른 [[AS(Autonomous System)와 AS 번호

자율 시스템]](AS)에 속한 라우터

1 (직접 연결 가정)

iBGP 피어링

같은 AS 내부에 속한 라우터

255 (멀티홉 허용)

AS 내부에서 일관된 라우팅 정보 전파

eBGP 세션에서는 일반적으로 NEXT_HOP, AS_PATH, LOCAL_PREF 같은 BGP 속성이 수정되지만, iBGP 세션에서는 AS_PATH 속성이 업데이트되지 않는 등 중요한 동작 차이가 존재합니다. 또한 iBGP 피어링은 전체 메시(full-mesh) 구성이 권장되거나, 라우트 리플렉터(Route Reflector)를 사용하여 확장성을 높입니다.

4.3. 라우팅 정보 베이스(RIB)

라우팅 정보 베이스(Routing Information Base, RIB)는 BGP 라우터가 학습하고 유지 관리하는 모든 경로 정보의 총체적인 저장소이다. BGP 라우터는 여러 BGP 피어링 세션을 통해 수많은 네트워크 경로를 수신하며, 이 모든 원본 데이터는 RIB에 보관된다. RIB는 단순한 정보 저장소를 넘어, 최적의 경로를 선정하고 실제 포워딩에 사용할 정보를 도출하기 위한 기반이 된다.

RIB는 일반적으로 세 가지 주요 논리적 테이블로 구성된다.

* Adj-RIB-In: 특정 BGP 피어로부터 수신된 모든 경로 광고를 그대로 저장하는 테이블이다. 아직 어떠한 입력 정책도 적용되지 않은 원시 데이터 상태이다.

* Loc-RIB: Adj-RIB-In의 경로들에 대해 로컬 라우터의 입력 정책(예: 경로 필터링, 속성 수정)을 적용하고, BGP Best Path 선택 과정을 거쳐 최종적으로 선택된 최적 경로(Best Path)들을 보관하는 테이블이다. 이 테이블의 경로들이 해당 라우터의 BGP 라우팅 테이블을 구성한다.

* Adj-RIB-Out: 로컬 라우터가 다른 BGP 피어들에게 광고하기로 결정한 경로들을 보관하는 테이블이다. Loc-RIB의 경로에 출력 정책을 적용한 결과가 여기에 저장되며, 이 내용이 실제로 이웃 라우터로 전파된다.

이러한 구조는 BGP의 결정론적이고 정책 기반인 동작 방식을 구현하는 핵심이다. 라우터는 수신된 모든 경로(Adj-RIB-In)를 바탕으로 최적 경로를 계산하고(Loc-RIB), 이를 다시 정책에 따라 선택적으로 주변에 알린다(Adj-RIB-Out). 최종적으로 Loc-RIB의 최적 경로 중 일부는 글로벌 라우팅 테이블에 설치되어 실제 IP 패킷 포워딩을 안내한다. RIB의 상태를 모니터링하는 것은 네트워크 장애 진단, 라우팅 정책 검증, 비정상적인 경로 전파 탐지에 필수적이다.

5. BGP의 종류

BGP는 운영 범위와 목적에 따라 주로 두 가지 유형으로 구분된다. 이는 자율 시스템(AS) 간의 관계에 따라 정의된다.

첫 번째 유형은 eBGP이다. eBGP는 서로 다른 자율 시스템에 속한 BGP 라우터 사이에서 실행된다. 이는 인터넷의 백본을 이루는 핵심 프로토콜로, 서로 다른 ISP(인터넷 서비스 제공자)나 대기업 네트워크 간에 라우팅 정보를 교환하는 데 사용된다. eBGP 세션을 통해 수신된 경로는 기본적으로 AS_PATH 속성에 자신의 AS 번호를 추가하여 다른 이웃에게 다시 전파된다.

두 번째 유형은 iBGP이다. iBGP는 동일한 자율 시스템 내부에 있는 BGP 라우터들 사이에서 실행된다. 주된 목적은 외부(eBGP)에서 학습한 경로 정보를 AS 내부의 모든 BGP 라우터에게 일관되게 전달하는 것이다. iBGP 피어 간에는 학습한 경로의 AS_PATH 속성을 변경하지 않으며, 해당 경로를 다른 iBGP 피어에게 전파할 때는 기본적으로 재광고하지 않는다는 특징이 있다. 따라서 AS 내부의 모든 iBGP 라우터는 일반적으로 완전한 메시(full mesh) 형태로 연결되거나, 라우트 리플렉터와 컨페더레이션 같은 기술을 사용하여 확장성을 높인다.

비교 항목

eBGP

iBGP

연결 관계

서로 다른 AS 간

동일한 AS 내부

주요 목적

AS 간 라우팅 정보 교환

AS 내부에서 외부 경로 정보 분배

기본 홉 카운트

1[6]

0 (변경 없음)

AS_PATH 변경

경로를 광고할 때 자신의 AS 번호 추가

변경하지 않음

기본 광고 규칙

모든 이웃에게 광고

iBGP 피어로부터 학습한 경로는 다른 iBGP 피어에게 광고하지 않음[7]

5.1. eBGP (External BGP)

eBGP는 서로 다른 자율 시스템(AS)에 속한 BGP 라우터 간에 실행되는 BGP의 한 형태이다. 주로 인터넷의 핵심 백본을 이루는 ISP들 사이에서, 또는 기업 네트워크와 ISP 사이에서 서로의 라우팅 테이블을 교환하고 인터넷 전체의 연결성을 제공하는 데 사용된다.

eBGP 세션은 일반적으로 물리적으로 직접 연결된 두 라우터 사이에 형성된다. 세션이 설정되면, 양측 라우터는 자신의 AS 내에서 학습한 모든 네트워크 경로를 상대방에게 광고한다. eBGP에서 광고되는 경로에는 AS_PATH 속성이 포함되며, 이 속성에는 해당 경로가 통과한 AS 번호의 목록이 기록된다. 이는 루프를 방지하는 핵심 메커니즘으로 작동한다. 라우터는 자신의 AS 번호가 이미 AS_PATH에 포함된 경로를 수신하면, 해당 경로를 폐기한다.

eBGP와 iBGP의 주요 차이점은 다음과 같다.

구분

eBGP

iBGP

피어 관계

서로 다른 AS 간

동일한 AS 내부

기본 AD(관리 거리)

20[8]

200

AS_PATH 처리

자신의 AS 번호를 추가

AS_PATH를 변경하지 않음

NEXT_HOP 속성

자신의 IP 주소로 변경

기본적으로 변경하지 않음

기본 TTL 값

1 (직접 연결 가정)

255

eBGP는 인터넷을 수많은 독립적인 AS들의 집합체로 만들어 주는 프로토콜이다. 각 AS는 eBGP를 통해 외부 세계에 자신의 네트워크 존재를 알리고, 다른 AS로부터의 경로를 학습함으로써 전 세계적인 라우팅 정보의 분산과 조정을 가능하게 한다.

5.2. iBGP (Internal BGP)

iBGP는 동일한 자율 시스템 내부에서 실행되는 BGP의 한 형태이다. eBGP가 서로 다른 AS 간의 경로를 교환하는 데 사용되는 반면, iBGP는 단일 AS 내부의 B우터들이 서로 BGP 경로 정보를 공유하고 일관된 라우팅 정책을 유지하도록 한다.

iBGP 피어링은 일반적으로 물리적으로 직접 연결되지 않은 라우터들 사이에서도 구성된다. 이는 AS 내부의 모든 BGP 라우터가 외부로부터 학습한 경로 정보를 서로 완전히 공유해야 하기 때문이다. iBGP 피어 간에는 AS_PATH 속성이 변경되지 않으며, 이는 경로가 동일한 AS 내부를 순환하는 것을 방지하는 데 도움이 된다. iBGP 세션을 구성할 때 주의해야 할 중요한 규칙은 BGP 스플릿 호라이즌 규칙이다. 이 규칙에 따라, 한 iBGP 피어로부터 학습한 경로는 다른 iBGP 피어에게 다시 전파되지 않는다[9]. 따라서 AS 내의 모든 iBGP 라우터들은 완전한 메시(full mesh) 형태로 피어링을 구성하거나, 라우트 리플렉터나 BGP 컨페더레이션과 같은 기술을 사용하여 이 규칙을 우회하고 확장성을 확보해야 한다.

iBGP의 주요 역할은 eBGP를 통해 수신된 외부 경로를 AS 내부의 모든 라우터에게 전달하는 것이다. 예를 들어, AS의 경계 라우터가 eBGP를 통해 인터넷 경로를 학습하면, iBGP를 통해 AS 내부의 다른 라우터들에게 그 경로를 알린다. 내부 라우터들은 이 정보를 받아 자신의 라우팅 테이블을 구성하고, 최종적인 데이터 패킷의 전송 경로를 결정한다. iBGP와 IGP는 구분되는 프로토콜이다. IGP(OSPF, IS-IS, EIGRP 등)는 AS 내부의 토폴로지와 링크 상태 정보를 기반으로 최단 경로를 계산하는 반면, iBGP는 AS 간 경로 정보의 전달과 정책 적용에 중점을 둔다. 일반적으로 iBGP 세션을 위한 네트워크 연결성은 IGP가 제공한다.

6. BGP 속성과 경로 선택

BGP는 수신한 동일 목적지에 대한 여러 경로 중 하나를 최적 경로(Best Path)로 선택하기 위해 다양한 경로 속성을 사용합니다. 이러한 속성은 경로에 첨부된 정보로, BGP 결정 과정의 핵심 기준이 됩니다. 속성은 처리 방식에 따라 WELL-KNOWN 필수 속성, WELL-KNOWN 임의 속성, 선택적 전이 속성, 선택적 비전이 속성으로 분류됩니다.

WELL-KNOWN 속성은 모든 BGP 구현체가 인식하고 반드시 전파해야 하는 기본 속성입니다. 대표적으로 다음이 포함됩니다.

* AS_PATH: 경로가 통과한 AS 번호의 시퀀스 목록입니다. 루프 방지와 경로 선택의 주요 기준으로 사용됩니다.

* NEXT_HOP: 해당 경로의 다음 홉 IP 주소를 나타냅니다.

* ORIGIN: 경로가 어떻게 BGP에 주입되었는지(IGP, EGP, 불완전)를 나타냅니다.

* LOCAL_PREF: 동일 AS 내의 iBGP 피어 간에만 교환되며, 높은 값을 가진 경로를 선호합니다. AS 내부의 출구 선택 정책을 정의합니다.

* MULTI_EXIT_DISC (MED): 인접한 AS 간에 여러 연결점이 있을 때, 상대 AS로의 입구를 권고하기 위해 사용됩니다. 낮은 MED 값을 선호합니다.

선택적 속성은 모든 라우터가 인식할 필요는 없으며, 전파성에 따라 전이(Transitive) 또는 비전이(Non-transitive)로 구분됩니다. 가장 중요한 선택적 속성은 COMMUNITY입니다. 이는 경로에 태그를 붙여 그룹화하고, 다른 라우터에서 정책 기반의 공통 처리를 가능하게 합니다. 예를 들어 특정 커뮤니티 값을 가진 경로는 로컬 프리퍼런스를 낮추거나 특정 피어에게 광고하지 않도록 설정할 수 있습니다.

BGP 라우터는 최적 경로를 선택하기 위해 다음과 같은 순서로 속성을 단계적으로 비교하는 알고리즘을 실행합니다[10].

1. 가장 높은 WEIGHT (벤더별 로컬 속성)를 가진 경로를 선택합니다.

2. 가장 높은 LOCAL_PREF 값을 가진 경로를 선택합니다.

3. 로컬 라우터에서 시작된 경로(Next-hop이 0.0.0.0)를 선택합니다.

4. 가장 짧은 AS_PATH 길이를 가진 경로를 선택합니다.

5. 가장 낮은 ORIGIN 코드(IGP < EGP < Incomplete)를 가진 경로를 선택합니다.

6. 가장 낮은 MED 값을 가진 경로를 선택합니다.

7. eBGP 경로를 iBGP 경로보다 선호합니다.

8. NEXT_HOP까지의 IGP 메트릭이 가장 작은 경로를 선택합니다.

9. 추가적인 타이브레이커(예: 가장 오래된 경로, 라우터 ID 비교 등)를 적용합니다.

6.1. WELL-KNOWN 속성

WELL-KNOWN 속성은 모든 BGP 구현체가 인식하고 지원해야 하는 필수적인 경로 속성이다. 이 속성들은 경로 정보의 정확한 해석과 전파를 보장하는 데 핵심적인 역할을 한다. WELL-KNOWN 속성은 다시 모든 BGP 라우터가 경로 광고에 반드시 포함해야 하는 Mandatory(필수) 속성과, 특정 조건에서만 포함되는 Discretionary(임의) 속성으로 구분된다.

Mandatory WELL-KNOWN 속성에는 다음 세 가지가 포함된다.

* ORIGIN: 경로가 어떻게 BGP에 진입했는지를 나타낸다. IGP(내부 게이트웨이 프로토콜)에서 학습된 'IGP', EGP에서 학습된 'EGP', 그 외 수단을 통해 학습된 'INCOMPLETE' 값을 가진다.

* AS_PATH: 경로가 통과한 자율 시스템 번호의 순서된 목록이다. 루프 방지와 경로 선택의 주요 기준으로 사용된다.

* NEXT_HOP: 해당 네트워크에 도달하기 위해 다음으로 패킷을 전송해야 하는 라우터의 IP 주소를 지정한다.

Discretionary WELL-KNOWN 속성에는 다음과 같은 것들이 있다.

* LOCAL_PREF: 동일한 자율 시스템 내의 iBGP 피어 간에 경로 선호도를 나타내는 값이다. 높은 값이 더 선호된다. 이 속성은 AS 내부에서만 유효하며, 다른 AS로 전파되지 않는다.

* ATOMIC_AGGREGATE: 경로가 더 세부적인 경로들을 요약(집계)하는 과정에서 정보가 손실되었음을 나타내는 플래그다. 이는 수신자에게 이 경로가 최적의 경로가 아닐 수 있음을 알리는 역할을 한다.

이 속성들의 활용은 아래 표와 같이 요약할 수 있다.

속성

분류

설명

전파 범위

ORIGIN

Mandatory

경로의 원천(IGP, EGP, INCOMPLETE)

AS 간 전파

AS_PATH

Mandatory

경로가 통과한 AS 번호 목록

AS 간 전파

NEXT_HOP

Mandatory

다음 홉의 IP 주소

AS 간 전파

LOCAL_PREF

Discretionary

동일 AS 내에서의 경로 선호도

AS 내부(iBGP)만

ATOMIC_AGGREGATE

Discretionary

경로 집계로 인한 정보 손실 표시

AS 간 전파

6.2. 선택적 속성

선택적 속성은 BGP 라우터가 인식할 수 있지만, 모든 구현체가 지원하거나 전파해야 할 의무가 없는 속성입니다. 이 속성들은 BGP 경로에 추가적인 정보를 태그하거나, 특정 정책 기반의 라우팅을 구현하는 데 사용됩니다. 선택적 속성은 다시 두 가지 하위 범주로 나뉩니다: 선택적 이행(Transitive)과 선택적 비이행(Non-transitive)입니다.

선택적 이행 속성은 인식하지 못하는 BGP 라우터가 해당 속성을 변경 없이 다른 피어에게 전파해야 합니다. 대표적인 예로 로컬 프리퍼런스가 있으며, 이는 AS 내부(iBGP)에서만 사용되어 외부로부터 수신한 여러 경로 중 어느 것을 선호할지 결정하는 데 쓰입니다. 다른 중요한 선택적 이행 속성으로는 AGGREGATOR가 있습니다. 이 속성은 경로가 요약(집계)되었을 때, 어떤 라우터가 요약을 수행했는지에 대한 정보를 포함합니다.

선택적 비이행 속성은 인식하지 못하는 B우터가 해당 경로를 전파할 때 이 속성을 제거해도 됩니다. 가장 널리 사용되는 속성은 MED(Multi-Exit Discriminator)입니다. MED는 한 AS가 인접한 다른 AS에게 여러 개의 연결 지점이 있을 때, 어느 진입점을 선호하는지 알려주기 위해 사용됩니다. 값이 낮은 MED를 가진 경로가 더 선호됩니다. 또한, COMMUNITY 속성은 경로에 태그를 달아 그룹화하고, 이를 기반으로 일괄적인 정책(예: 특정 커뮤니티 태그를 가진 경로는 재분배하지 않음)을 적용하는 데 유용합니다.

속성 이름

코드

범주

주요 용도

LOCAL_PREF

5

선택적 이행

AS 내부에서 수신 경로의 우선순위 결정

AGGREGATOR

7

선택적 이행

경로 요약을 수행한 라우터의 AS 번호와 IP 주소 표시

[[MULTI_EXIT_DISC

MED]]

4

선택적 비이행

COMMUNITY

8

선택적 비이행

경로에 태그를 달아 그룹화 및 정책 적용

이러한 선택적 속성들은 네트워크 운영자가 복잡한 트래픽 엔지니어링과 정책 기반 라우팅을 구현할 수 있는 강력한 도구를 제공합니다.

6.3. BGP Best Path 선택 과정

BGP 라우터는 동일한 목적지 네트워크에 대한 여러 경로를 학습할 수 있다. 이때 최적의 단일 경로를 선택하기 위해 엄격한 순서로 평가 기준을 적용하는 알고리즘을 사용한다. 이 과정을 BGP Best Path 선택 알고리즘이라 부르며, 주요 벤더 간에 약간의 차이는 있을 수 있지만 기본적인 논리는 동일하다.

선택 과정은 다음과 같은 순차적 단계로 구성된다. 각 단계에서 후보 경로가 하나로 줄어들 때까지 다음 단계로 넘어간다.

1. 가중치(Weight) 최고값: 라우터 로컬에서 설정된 시스코 전용 속성이다. 가장 높은 값을 가진 경로를 선택한다.

2. 로컬 프리퍼런스(Local Preference) 최고값: AS 내부에서 신뢰도를 나타내는 표준 속성이다. 가장 높은 값을 가진 경로를 선택한다.

3. 로컬에서 생성된 경로: 라우터 자신이 네트워크 명령어를 통해 생성한 경로를 다른 모든 경로보다 선호한다.

4. AS_PATH 길이 최단: AS_PATH 속성에 포함된 AS 번호의 개수가 가장 적은 경로를 선택한다.

5. 오리진(Origin) 코드 최저값: 경로의 기원을 나타내며, IGP(코드 i)가 EGP(코드 e)보다, EGP가 Incomplete(코드 ?)보다 우선한다.

6. MED(Multi-Exit Discriminator) 최저값: 인접 AS로부터 수신된 속성으로, 동일한 AS로 들어오는 여러 진입점 중 하나를 권장한다. 가장 낮은 값을 가진 경로를 선택한다.

7. eBGP 경로 우선: 다음 홉이 동일한 AS 내부(iBGP 피어)에 있는 경로보다, 외부 AS(eBGP 피어)로부터 학습된 경로를 선호한다.

8. IGP 메트릭 최소값: BGP 다음 홉으로 가는 데 필요한 IGP 비용이 가장 낮은 경로를 선택한다.

9. 가장 오래된 경로: BGP 구현체에 따라 가장 오랫동안 안정적으로 유지된 경로를 선호할 수 있다.

10. 라우터 ID 최소값: 여전히 동점일 경우, 경로를 보낸 BGP 라우터의 라우터 ID가 가장 낮은 값을 가진 경로를 최종 선택한다.

이러한 다단계 결정 과정은 네트워크 운영자가 트래픽 엔지니어링을 위해 다양한 BGP 속성을 조정하여 특정 경로를 선호하도록 유도할 수 있는 정교한 메커니즘을 제공한다.

7. 보안과 안정성

BGP는 인터넷의 핵심 라우팅 프로토콜로 동작하지만, 설계 당시 보안이 고려되지 않아 여러 취약점을 내포하고 있다. 가장 큰 문제는 경로 정보의 진위를 검증할 수 있는 메커니즘이 기본적으로 존재하지 않는다는 점이다. 이로 인해 라우터는 수신한 경로 광고의 정당성을 신뢰할 수밖에 없으며, 이는 악의적이거나 실수로 인한 잘못된 경로 전파를 가능하게 한다.

주요 보안 위협으로는 BGP 하이재킹이 있다. 이는 합법적인 AS 번호를 도용하거나 권한 없는 IP 주소 블록을 광고하여 트래픽을 가로채거나 재전송하는 공격이다. 하이재킹은 데이터 도청, 서비스 거부(DoS) 공격, 또는 트래픽 분석을 목적으로 수행될 수 있다. 또한, 라우팅 정보의 일관성이 깨지는 라우팅 루프나 경로 불안정성을 초래하여 네트워크 전반의 성능과 안정성을 해칠 수 있다.

이러한 취약점을 해결하기 위한 여러 보안 강화 방안이 개발되고 도입되고 있다. 대표적인 기술이 RPKI(Resource Public Key Infrastructure)이다. RPKI는 IP 주소 자원의 소유권을 암호화 방식으로 검증할 수 있는 체계를 제공한다. 주소 자원의 소유자는 공개 키 인증서를 발급받아 특정 AS 번호가 특정 IP 주소 블록을 광고할 권한이 있음을 서명한다. 이를 통해 수신 라우터는 경로 광고의 유효성을 검증할 수 있다.

보안 방안

설명

주요 목적

RPKI 및 ROA

IP 주소와 AS 번호의 소유권을 암호화 인증서로 바인딩하여 경로 발신의 권한을 검증함

BGP 하이재킹 방지

BGPsec

AS 경로 전체에 대한 암호화 서명을 제공하여 경로 변조를 방지함

경로 위변조 방지

피어링 세션 보안 (TCP MD5, TCP-AO)

BGP 피어링 세션에 인증 및 무결성 보호를 적용함

세션 하이재킹 방지

필터링 및 정책 (Max-prefix, AS_PATH)

수신 경로에 대해 사전 정의된 정책(AS_PATH 길이, 접두사 수 등)으로 필터링함

실수나 악의적 광고 완화

이외에도 네트워크 운영자는 수동적인 방어 조치로 접두사 필터링과 AS_PATH 필터링을 적용하고, 피어와의 세션에 TCP MD5 시그니처 또는 더 발전된 TCP-AO(Authentication Option)를 사용하는 것이 권장된다. 그러나 이러한 보안 기술들의 전면적인 채용은 여전히 진행 중인 과제이며, 인터넷 생태계 전체의 협력이 필요하다.

7.1. BGP 보안 취약점

BGP는 설계상 신뢰를 기반으로 하여, 경로 정보의 진위를 기본적으로 검증하지 않는다. 이는 인터넷의 핵심 라우팅 프로토콜로서 근본적인 보안 취약점을 내포한다. 가장 큰 문제는 BGP 라우터가 수신한 경로 광고의 정당성을 확인할 수단이 없다는 점이다. 이로 인해 악의적이거나 실수로 잘못된 경로가 광고되면, 전 세계 트래픽이 의도하지 않은 경로로 우회될 수 있다.

주요 취약점은 BGP 하이재킹과 경로 누출이다. BGP 하이재킹은 공격자가 자신이 소유하지 않은 IP 주소 블록에 대한 경로를 불법적으로 광고하여 트래픽을 끌어오는 행위이다. 경로 누출은 일반적으로 실수로 발생하며, 한 AS(Autonomous System)가 받은 상세 경로를 필터링 없이 다른 AS로 다시 광고함으로써 비최적의 라우팅이나 전 세계적인 라우팅 불안정을 초래한다.

또 다른 취약점은 세션 하이재킹이다. BGP 피어링 세션은 TCP 연결을 기반으로 하며, 인증 메커니즘이 없거나 약하면 공격자가 세션을 가로채거나 스푸핑하여 악성 라우팅 업데이트를 주입할 수 있다. 이 외에도 재전공 공격, DoS 공격, 그리고 라우팅 정책의 복잡성으로 인한 오류 가능성도 중요한 취약점으로 꼽힌다.

이러한 취약점들은 인터넷의 안정성과 신뢰성에 직접적인 위협이 된다. 과거에는 잘못된 경로 광고로 인해 주요 웹사이트나 국가의 트래픽이 수 시간 동안 차단되거나 감시당하는 대규모 사고가 여러 차례 발생했다[11].

7.2. BGP 하이재킹

BGP 하이재킹은 악의적인 행위자가 AS(Autonomous System) 번호나 IP 주소 블록의 합법적 소유권 없이, 잘못된 라우팅 정보를 BGP를 통해 인터넷에 광고하는 공격이다. 이로 인해 인터넷 트래픽이 의도하지 않은 경로로 우회되거나, 가로채어지거나, 폐기될 수 있다. 공격자는 자신의 네트워크를 목표 IP 주소 공간으로 가는 최적의 경로인 것처럼 위장하여, 다른 AS의 라우터들이 해당 트래픽을 공격자의 네트워크로 보내도록 유도한다.

BGP 하이재킹은 주로 두 가지 방식으로 발생한다. 첫째는 합법적인 AS 번호를 도용하거나 허위로 등록하여 경로를 광고하는 경우이다. 둘째는 더 흔하게, 합법적인 AS가 실수로나 악의적으로 자신이 소유하지 않은 IP 주소 블록에 대한 경로를 광고하는 경우이다. 공격의 목적은 다양하여, 트래픽 감시(스누핑), 서비스 거부(DDoS) 공격의 일환, 또는 특정 트래픽을 가로채어 수익을 창출하는 것 등이 포함된다.

이 공격이 가능한 근본적인 이유는 BGP의 신뢰 기반 구조에 있다. BGP는 기본적으로 한 AS가 광고하는 경로 정보의 진위를 자동으로 검증하지 않는다. 이는 '경로의 유효성(Validity)'보다 '경로의 존재(Existence)'에 기반하여 동작하는 역사적 설계 원칙 때문이다[12]. 따라서 피어 AS로부터 수신한 경로 광고가 실제 해당 IP 주소 블록의 소유자로부터 비롯된 것인지 확인하는 메커니즘이 부재하다.

주요 사례와 영향을 보여주는 표는 다음과 같다.

연도

사례 개요

영향

2008년

파키스탄의 한 ISP가 유튜브의 IP 주소 블록을 실수로 광고하여 전 세계 유튜브 트래픽이 파키스탄으로 우회됨[13].

유튜브 서비스가 전 세계적으로 수시간 동안 중단됨.

2014년

터키의 한 ISP가 주요 인터넷 교환점(IX)에 대한 IP 주소를 하이재킹하여 트래픽을 가로챔.

비트코인 거래소 등 다수의 글로벌 서비스 트래픽이 터키로 유입됨.

2018년

러시아의 한 통신사가 아마존, 마이크로소프트, 클라우드플레어 등 주요 클라우드 제공업체의 IP 주소를 광고함.

해당 업체들의 트래픽 일부가 러시아를 통과하게 되어 서비스 지연 발생.

이러한 취약점을 완화하기 위해 RPKI(Resource Public Key Infrastructure)와 같은 보안 프레임워크가 도입되고 있다. RPKI는 IP 주소 자원의 소유권을 암호화 방식으로 인증하여, BGP 라우터가 수신한 경로 광고의 유효성을 검증할 수 있도록 한다. 또한, 네트워크 운영자들은 수동적 구성인 IRR(Internet Routing Registry) 데이터베이스를 참조하거나, 피어와의 세션에 BGP 필터링 정책을 엄격히 적용하는 등의 방어 조치를 취한다.

7.3. 보안 강화 방안 (RPKI 등)

BGP는 신뢰를 기반으로 동작하는 프로토콜로, 본질적으로 보안 메커니즘이 부족하여 BGP 하이재킹이나 실수로 인한 잘못된 경로 전파와 같은 취약점에 노출되어 있다. 이를 해결하기 위해 여러 보안 강화 방안이 개발 및 배포되고 있다.

가장 중요한 보안 프레임워크 중 하나는 RPKI(Resource Public Key Infrastructure)이다. RPKI는 자율 시스템(AS)이 소유한 IP 주소 블록과 AS 번호를 암호화 방식으로 인증할 수 있는 공개 키 인프라이다. RPKI를 통해 발행된 ROA(Route Origin Authorization) 객체는 특정 IP 주소 프리픽스를 어떤 AS 번호가 광고(Originate)할 수 있는지를 공식적으로 인증한다. 수신 라우터는 BGP 업데이트 메시지의 출처를 ROA 데이터와 비교하여 검증할 수 있으며, 이는 악의적이거나 실수로 인한 잘못된 경로 출처 광고를 차단하는 데 핵심적인 역할을 한다.

RPKI 외에도 BGP 세션 자체의 보안을 강화하는 프로토콜이 사용된다. BGPsec은 경로 전파 과정에서 각 AS 홉(hop)의 서명을 추가하여 경로 자체의 무결성과 인증을 보장하는 프로토콜이다. 또한, BGP 피어링 세션을 보호하기 위해 TCP MD5 서명이나 TCP-AO(TCP Authentication Option)를 사용하여 세션 하이재킹을 방지할 수 있다. 운영 측면에서는 망 관리자들이 IRR(Internet Routing Registry)에 정확한 라우팅 정책 정보를 등록하고, 필터링 정책을 엄격히 적용하여 비인가된 경로를 수신하지 않도록 하는 것이 중요하다.

보안 방안

설명

주요 목적

RPKI / ROA

IP 주소 자원의 소유권과 광고 권한을 암호화로 인증

경로 출처 검증(Origin Validation)

BGPsec

경로 전파 경로(AS_PATH)의 각 홉에 대한 서명 제공

경로 무결성 및 인증 보장

TCP MD5 / TCP-AO

BGP 피어링 세션의 메시지 무결성 보호

세션 하이재킹 방지

IRR 및 필터링

사전 등록된 라우팅 정보 기반 수신 경로 필터링

비정상 경로 수신 차단

이러한 기술들은 상호 보완적으로 작동하여 인터넷 라우팅 시스템의 신뢰성을 높인다. 특히 RPKI의 전 세계적 배포는 점차 확대되어 많은 네트워크 운영자들이 필수 보안 조치로 채택하고 있다.

8. BGP의 현대적 활용과 발전

BGP는 전통적으로 ISP 간의 인터넷 백본 연결을 위한 핵심 라우팅 프로토콜이었다. 그러나 클라우드 컴퓨팅과 하이퍼스케일 데이터센터의 등장으로, BGP의 활용 영역은 인터넷 핵심을 넘어 대규모 사설 네트워크 내부로 확장되었다. 특히 데이터센터 네트워크에서 클로스(Clos) 네트워크 아키텍처와 결합하여, 수천 대의 서버를 연결하는 스케일아웃 리프-스파인(Leaf-Spine) 토폴로지의 기본 라우팅 프로토콜로 채택된다. 이 환경에서 BGP는 높은 확장성과 정책 기반 라우팅 기능을 제공하여, 효율적인 이스트-웨스트 트래픽 처리를 가능하게 한다.

SDN의 발전은 BGP의 역할을 재정의하는 계기가 되었다. SDN 컨트롤러는 중앙 집중식 제어 평면을 통해 네트워크 정책을 관리하고, BGP는 데이터 평면에서 효율적인 경로 전파를 담당하는 하이브리드 모델이 등장했다. 대표적인 예로 BGP EVPN이 있다. 이는 BGP를 확장하여 이더넷 VPN 서비스에 대한 제어 정보(예: MAC 주소 학습)를 전송함으로써, 데이터센터 내 가상화 오버레이 네트워크의 구성을 단순화하고 최적화한다. SDN 컨트롤러는 정책을 정의하고, BGP는 이를 네트워크 전반에 안정적으로 배포하는 역할을 수행한다.

BGP의 발전은 보안과 자동화 측면에서도 두드러진다. RPKI 기반의 BGP 오리진 검증은 라우팅 정보의 신뢰성을 높이기 위해 점차 표준으로 자리 잡고 있다. 또한, 네트워크 구성의 복잡성 증가에 대응하여 BGP 구성과 운영의 자동화가 필수 요소가 되었다. NETCONF, gNMI 같은 모델 기반 관리 프로토콜과 YANG 데이터 모델을 활용하여 BGP 설정을 프로그래밍 방식으로 배포하고 관리하는 사례가 늘고 있다. 이는 NFV 환경과 클라우드 네이티브 인프라에서 탄력적인 네트워크 서비스 구축을 위한 토대를 제공한다.

8.1. 대규모 데이터센터 네트워크

대규모 데이터센터 네트워크는 수만 대의 서버를 연결하고, 높은 대역폭과 낮은 지연 시간, 그리고 탄력적인 확장성을 요구합니다. 전통적인 스패닝 트리 프로토콜 기반의 2계층 설계는 이러한 요구사항을 충족시키기 어려워, 3계층 라우팅 프로토콜을 기반으로 한 설계로 진화했습니다. 이 과정에서 BGP는 단순한 인터넷 백본 연결 프로토콜을 넘어 데이터센터 내부 네트워크의 핵심 라우팅 프로토콜로 자리 잡았습니다.

데이터센터 내부에서 BGP를 활용하는 방식은 주로 iBGP와 eBGP를 혼용합니다. 대표적인 설계 패턴인 클로스 네트워크에서는 모든 스위치(혹은 라우터)가 서로 연결되는 완전 메시 구조를 형성하며, 각 노드는 AS 번호를 할당받아 eBGP 세션으로 피어링합니다. 이 방식은 다음과 같은 장점을 제공합니다.

* 간결한 구성과 빠른 수렴: 스패닝 트리의 복잡한 상태 전이 없이, BGP의 경로 벡터 알고리즘을 통해 효율적으로 경로를 학습하고 수렴합니다.

* ECMP 활성화: 등가 비용 다중 경로 라우팅을 통해 트래픽을 여러 경로에 분산시켜 대역폭을 극대화하고 지연 시간을 줄입니다.

* 정책 기반 제어의 용이성: BGP의 풍부한 속성(AS_PATH, LOCAL_PREF, MED 등)을 이용해 트래픽 엔지니어링과 세밀한 경로 제어가 가능합니다.

또한, 패브릭 내 서버를 호스팅하는 토르(ToR) 스위치는 서버의 가상 네트워크 정보를 BGP를 통해 광고하는 경우가 많습니다. 이를 위해 EVPN 주소 패밀리와 BGP 확장을 사용하여 2계층 가상 네트워크 정보를 3계층 제어 평면에서 전파합니다. 이는 네트워크 가상화와 다중 테넌시 지원을 위한 현대적 접근법입니다.

이러한 BGP 기반의 데이터센터 네트워크 설계는 마이크로소프트, 구글, 페이스북과 같은 하이퍼스케일 업체에 의해 주도되었으며, 그 설계 철학과 실제 적용 사례는 오픈소스 라우팅 소프트웨어인 FRRouting과 같은 프로젝트를 통해 광범위하게 공유되고 표준화되었습니다.

8.2. SDN(Software-Defined Networking)과의 통합

SDN은 네트워크의 제어 평면과 데이터 평면을 분리하여 중앙 집중식 컨트롤러를 통해 네트워크를 프로그래밍 가능하게 관리하는 패러다임이다. 전통적인 BGP는 분산형 경로 결정 방식을 따르지만, 대규모 및 복잡한 네트워크 환경에서의 정교한 트래픽 엔지니어링과 글로벌 최적화에는 한계가 있었다. SDN과 BGP의 통합은 이러한 한계를 극복하고 네트워크 운영의 유연성과 자동화 수준을 높이는 방향으로 발전하고 있다.

주요 통합 방식으로는 SDN 컨트롤러가 BGP 스피커 역할을 수행하는 모델이 있다. 이 모델에서 컨트롤러는 표준 BGP 프로토콜을 사용하여 외부 AS와 피어링하여 전체 네트워크를 대표해 라우팅 정보를 교환한다. 수집된 외부 경로 정보는 컨트롤러의 글로벌 뷰를 바탕으로 처리된 후, OpenFlow나 NETCONF 같은 남부방향 인터페이스 프로토콜을 통해 각 스위치에 최적의 포워딩 규칙으로 설치된다. 이를 통해 네트워크 운영자는 중앙에서 정책을 정의하고, 트래픽 흐름을 세밀하게 제어하며, 실시간으로 네트워크 상태에 대응할 수 있다.

통합의 이점과 활용 사례는 다음과 같다.

활용 분야

설명

데이터센터 네트워크

스파인-리프 아키텍처에서 컨트롤러가 BGP를 통해 외부 업링크 경로를 학습하고, 내부 ECMP 경로 제어와 결합하여 최적의 트래픽 분산을 구현한다.

트래픽 엔지니어링

실시간 트래픽 모니터링 데이터와 결합해 BGP 경로 속성(예: LOCAL_PREF, AS_PATH)을 동적으로 조정하여 대역폭 활용률을 극대화하거나 혼잡을 회피한다.

보안 및 안정성

컨트롤러가 BGP 업데이트 메시지를 실시간 분석하여 BGP 하이재킹 또는 라우팅 이상을 탐지하고, 자동화된 완화 정책(예: 경로 무효화)을 적용할 수 있다.

서비스 프로비저닝

클라우드 환경에서 가상 네트워크나 테넌트 간 연결을 자동으로 설정할 때, BGP를 자동 구성하여 신속한 서비스 배포를 가능하게 한다.

이러한 통합은 네트워크를 더욱 지능적이고 반응적으로 만든다. 그러나 SDN 컨트롤러의 단일 장애점 위험, 기존 BGP 네트워크와의 점진적 통합 과제, 그리고 복잡성 증가에 따른 운영 부담 등 해결해야 할 과제도 존재한다. 전반적으로 SDN과 BGP의 융합은 소프트웨어 정의 접근법의 장점과 검증된 인터도메인 라우팅 프로토콜의 안정성을 결합하여 현대 네트워크 인프라의 진화를 주도하는 중요한 트렌드이다.

9. 관련 프로토콜 및 기술

BGP는 네트워크 계층에서 동작하는 경로 벡터 프로토콜로, 다른 여러 네트워킹 프로토콜 및 기술과 밀접하게 연관되어 작동하거나 비교 대상이 된다.

IGP(내부 게이트웨이 프로토콜)는 BGP와 대비되는 개념이다. BGP가 AS 간 라우팅을 담당한다면, IGP는 하나의 AS 내부에서 라우팅 정보를 교환하는 데 사용된다. 대표적인 IGP로는 OSPF, IS-IS, EIGRP 등이 있으며, 이들은 AS 내부의 최적 경로를 신속하게 계산하고 장애에 빠르게 대응하는 데 특화되어 있다. BGP는 종종 이러한 IGP에 의존하여 넥스트 홉에 대한 도달 가능성 정보를 얻는다.

MP-BGP(Multiprotocol BGP)는 기존 BGP-4를 확장한 프로토콜이다. 기존 BGP가 IPv4 유니캐스트 라우팅 정보만 전송할 수 있었던 반면, MP-BGP는 다양한 주소 체계(예: IPv6, MVPN)와 네트워크 계층 프로토콜을 지원하기 위한 추가 속성을 도입했다. 이는 현대 네트워크에서 멀티캐스트 라우팅이나 VPN 서비스(예: L3VPN)를 제공하는 데 핵심적인 역할을 한다.

BGP의 안정성과 보안을 강화하기 위한 기술도 발전했다. RPKI(자원 공개키 인프라)는 BGP 경로 발신의 유효성을 암호학적으로 검증하는 표준 프레임워크이다. 또한, BGPsec은 BGP 업데이트 메시지 자체에 서명을 추가하여 경로 위변조를 방지하는 프로토콜 확장안이다. 한편, 대안적 라우팅 아키텍처로 제안된 SCION은 BGP의 중앙집중적 신뢰 모델을 탈피하여 보안과 견고성을 높이는 것을 목표로 한다.

관련 프로토콜/기술

설명

BGP와의 관계

OSPF / IS-IS

AS 내부에서 사용되는 링크 상태 IGP

BGP의 내부 경로 결정을 지원

MP-BGP

다중 프로토콜을 지원하는 BGP 확장

BGP-4의 기능적 확장

RPKI / BGPsec

BGP 경로 발신의 신원과 무결성을 검증하는 보안 프레임워크

BGP 보안 취약점 해결을 위한 보조 기술

SDN

네트워크 제어 평면과 데이터 평면의 분리

BGP를 소프트웨어로 제어 및 자동화하는 데 활용

10. 참고 자료

  • Wikipedia - 경계 경로 프로토콜

  • 나무위키 - BGP

  • IETF - A Border Gateway Protocol 4 (BGP-4)

  • KISA 인터넷기술 - BGP(Border Gateway Protocol)란?

  • APNIC - BGP Tutorial

  • Cloudflare - What is BGP? | BGP routing explained

  • Cisco - Border Gateway Protocol (BGP) Overview

  • Google Scholar - BGP 관련 학술 논문

리비전 정보

버전r1
수정일2026.02.14 23:10
편집자unisquads
편집 요약AI 자동 생성