728x90
반응형

BGP (Border Gateway Protocol): 인터넷 라우팅의 핵심 프로토콜

BGP의 기본 개념

BGP(Border Gateway Protocol)는 인터넷의 백본을 형성하는 핵심 라우팅 프로토콜이다. 자치 시스템(AS, Autonomous System) 간의 라우팅 정보를 교환하는 데 사용되는 경로 벡터(Path-Vector) 프로토콜이다. 주요 특징은 다음과 같다:

  • 프로토콜 유형: 경로 벡터(Path-Vector) 프로토콜
  • 전송 계층: TCP 포트 179 사용
  • 라우팅 방식: 정책 기반 라우팅(Policy-based Routing)
  • 통신 방식: 유니캐스트 방식

BGP는 대규모 네트워크의 라우팅을 처리하도록 설계되어 인터넷과 같은 거대한 네트워크 환경에서 효율적으로 작동한다.

BGP의 유형

BGP는 운영 환경에 따라 두 가지 유형으로 구분된다:

  1. IBGP(Internal BGP)

    • 동일한 AS 내부에서 BGP 라우터 간 라우팅 정보 교환
    • AS 내부의 일관된 라우팅 정보 유지 목적
    • 동일 AS 번호를 사용하는 라우터 간 통신
  2. EBGP(External BGP)

    • 서로 다른 AS 간의 라우팅 정보 교환
    • 인터넷 백본 형성의 핵심 요소
    • 다른 AS 번호를 가진 라우터 간 통신

BGP 메시지 유형

BGP는 라우터 간 통신을 위해 다음 네 가지 메시지 유형을 사용한다:

  1. Open Message

    • BGP 세션 수립을 위한 초기 메시지
    • AS 번호, BGP 식별자, Hold Time 등의 정보 포함
    • 피어 간 연결 설정의 첫 단계
  2. Update Message

    • 라우팅 정보 전달 및 업데이트
    • 새로운 경로 정보 광고 또는 이전 경로 철회
    • 경로 속성(Path Attributes) 정보 포함
  3. Notification Message

    • 오류 상황 보고 및 BGP 세션 종료
    • 오류 코드와 하위 코드 포함
    • 문제 발생 시 즉시 세션 종료
  4. Keepalive Message

    • BGP 세션 유지를 위한 주기적 메시지
    • 일반적으로 Hold Time의 1/3 간격으로 전송
    • 데이터 없이 헤더만 포함된 간단한 메시지

AS(Autonomous System) 유형

자치 시스템(AS)은 단일 관리 엔티티에 의해 운영되는 네트워크 집합으로, BGP 라우팅에서 중요한 역할을 한다. AS는 다음과 같이 분류된다:

  1. Stub AS

    • 단일 출구점을 가진 AS
    • 하나의 경유 AS만 연결
    • 일반적으로 중소기업이나 작은 조직에서 사용
  2. Multi-Homed AS

    • 둘 이상의 AS와 연결
    • 독립적인 통신 경로 확보
    • 트래픽 전달(Transit) 역할은 수행하지 않음
    • 이중화를 통한 안정성 확보
  3. Transit AS

    • 다른 AS 간의 트래픽을 중계하는 역할
    • 대형 ISP가 주로 해당
    • 인터넷 백본 형성의 핵심 요소
graph TB
    subgraph "인터넷 BGP 라우팅 구조"
        ISP1[Transit AS 100<br>대형 ISP]
        ISP2[Transit AS 200<br>대형 ISP]
        ISP3[Transit AS 300<br>대형 ISP]

        MULTI1[Multi-Homed AS 400<br>기업 네트워크]
        MULTI2[Multi-Homed AS 500<br>기업 네트워크]

        STUB1[Stub AS 600<br>소규모 조직]
        STUB2[Stub AS 700<br>소규모 조직]

        ISP1 --- ISP2
        ISP2 --- ISP3
        ISP3 --- ISP1

        ISP1 --- MULTI1
        ISP2 --- MULTI1

        ISP2 --- MULTI2
        ISP3 --- MULTI2

        MULTI1 --- STUB1
        MULTI2 --- STUB2
    end

BGP의 라우팅 동작 원리

BGP는 최적 경로(Best Path) 선택을 위해 복잡한 경로 선택 알고리즘을 사용한다:

  1. BGP 세션 설정

    • TCP 연결 수립 (포트 179)
    • Open 메시지 교환으로 BGP 세션 시작
    • Keepalive 메시지로 세션 유지
  2. 경로 정보 교환

    • Update 메시지를 통한 라우팅 정보 교환
    • 도달 가능한 네트워크 정보 및 경로 속성 전달
    • 철회된 경로 정보 공유
  3. 최적 경로 선택

    • 여러 경로 속성을 기반으로 최적 경로 결정
    • Weight, Local Preference, AS Path 길이 등 고려
    • 정책 기반 라우팅으로 네트워크 관리자의 의도 반영
sequenceDiagram
    participant RouterA as Router A (AS 100)
    participant RouterB as Router B (AS 200)

    RouterA->>RouterB: TCP 연결 요청 (포트 179)
    RouterB->>RouterA: TCP 연결 수락
    RouterA->>RouterB: BGP Open 메시지
    RouterB->>RouterA: BGP Open 메시지

    loop 세션 유지
        RouterA->>RouterB: Keepalive 메시지
        RouterB->>RouterA: Keepalive 메시지
    end

    RouterA->>RouterB: Update 메시지 (경로 정보)
    RouterB->>RouterA: Update 메시지 (경로 정보)

    Note over RouterA,RouterB: 양측 모두 최적 경로 계산

    alt 오류 발생 시
        RouterA->>RouterB: Notification 메시지
        Note over RouterA,RouterB: 세션 종료
    end

BGP 경로 선택 프로세스

BGP는 다음과 같은 순서로 최적 경로를 선택한다:

  1. Weight (Cisco 전용) - 높은 값 선호
  2. Local Preference - 높은 값 선호
  3. 자체 생성된 경로 선호
  4. AS Path 길이 - 짧은 경로 선호
  5. Origin 타입 - IGP > EGP > Incomplete
  6. MED(Multi-Exit Discriminator) - 낮은 값 선호
  7. 외부 경로(EBGP) > 내부 경로(IBGP)
  8. 가장 가까운 IGP 넥스트 홉 선호
  9. 라우터 ID가 낮은 BGP 피어에서 받은 경로 선호

BGP의 실제 활용 사례

다중 ISP 연결 기업 네트워크

대기업이나 데이터 센터는 서비스 안정성을 위해 두 개 이상의 ISP와 연결하는 Multi-Homed AS 구성을 활용한다:

  • 이중화된 인터넷 연결: 한 ISP 연결이 실패해도 서비스 지속
  • 트래픽 엔지니어링: 정책 기반 라우팅으로 특정 트래픽을 특정 ISP로 라우팅
  • 비용 최적화: 트래픽 특성에 따라 적절한 ISP 선택

컨텐츠 전송 네트워크(CDN)

CDN 사업자는 BGP를 활용하여 전 세계 트래픽을 효율적으로 관리한다:

  • Anycast 라우팅: 동일 IP를 여러 위치에서 광고하여 가장 가까운 서버로 유도
  • 트래픽 로드밸런싱: BGP 속성을 조정하여 트래픽 분산
  • 장애 대응: 특정 데이터센터 장애 시 자동으로 다른 위치로 트래픽 전환

클라우드 서비스 제공자

AWS, Azure, GCP 같은 클라우드 제공업체는 BGP를 활용한 연결 서비스 제공:

  • Direct Connect/ExpressRoute: BGP를 통한 온프레미스-클라우드 연결
  • Transit Gateway: 여러 VPC 간 BGP 기반 라우팅
  • 글로벌 네트워크 연결: 여러 리전을 BGP로 연결하여 효율적인 트래픽 라우팅

BGP의 한계와 도전 과제

BGP는 인터넷의 핵심 프로토콜이지만 몇 가지 한계점이 존재한다:

  1. 보안 취약성

    • 기본적으로 인증 메커니즘이 약함
    • BGP 하이재킹(Hijacking) 공격 가능성
    • RPKI(Resource Public Key Infrastructure)와 같은 추가 보안 메커니즘 필요
  2. 확장성 문제

    • 대규모 라우팅 테이블 관리의 어려움
    • 인터넷 성장에 따른 리소스 요구사항 증가
    • 라우팅 테이블 폭발(Route Explosion) 문제
  3. 수렴 시간

    • 네트워크 변경 시 안정화까지 시간 소요
    • 플래핑(Flapping) 발생 시 성능 저하
    • 댐핑(Damping)과 같은 안정화 메커니즘 필요

결론

BGP는 인터넷의 핵심 라우팅 프로토콜로서 자치 시스템(AS) 간의 효율적인 트래픽 교환을 가능하게 한다. 경로 벡터 알고리즘과 정책 기반 라우팅을 통해 네트워크 관리자가 트래픽 흐름을 세밀하게 제어할 수 있게 해준다.

인터넷 서비스 제공자(ISP), 대기업, 클라우드 제공업체 등 대규모 네트워크 운영 조직에서는 BGP의 이해와 효율적인 관리가 네트워크 안정성과 성능 최적화의 핵심 요소이다. 보안과 확장성 문제가 존재하지만, 인터넷의 성장과 함께 BGP도 지속적으로 발전하고 있으며, 앞으로도 글로벌 네트워크 연결의 중심 역할을 수행할 것이다.

Keywords

BGP, Border Gateway Protocol, Path-Vector, 자치시스템, Autonomous System, 라우팅 프로토콜, IBGP, EBGP, 정책 기반 라우팅, 인터넷 백본, 최적 경로 선택, 트래픽 엔지니어링

728x90
반응형

+ Recent posts