BGP란?

BGP

BGP의 정의

  • Border Gateway Protocol 약자로 서로 다른 AS를 연결해주는 경계 게이트웨이 프로토콜
  • ISP와 EGP의 단점을 보완해서 만든 프로토콜
    • IGP와 EGP 차이
      IGP(내부 게이트웨이 프로토콜) - OSPF, EIGRP, RIP 등ESP(외부 게이트웨이 프로토콜)
      AS 내부 간에서 이루어지는 라우팅 프로토콜AS와 AS 간 이루어지는 프로토콜
      Distance Vector, Link State 라우팅 방식 허용

      Path Vector 라우팅 방식 사용

      수렴 속도가 빠름 (멀티 캐스트 방식)수렴 속도가 느림(애니 캐스트 방식)
      설정이 비교적 간단하며, Metric 값 조정으로 경로 조정설정이 복잡하며, 경로 조정 시에도 고려 사항이 많음
      특수한 경우를 제외한 Neighbor가 자동 할당수동으로 Neighbor 설정이 필요
  • 대용량 라우팅 정보를 교환하는데 최적화
    • 경로 벡터 프로토콜: 목적지까지 전체 경로 정보(AS Path)를 포함
    • TCP 포트 179사용: 신뢰성 있는 통신 보장
    • AS 번호: 각 네트워크를 식별하는 고유 번호

BGP 통신 과정

  1. 이웃 관계 설정
    • TCP 연결 수립
    • BGP OPEN 메시지 교환
    • Keepalive 메시지로 연결 유지
  2. 라우팅 정보 교환
    • UPDATE 메시지를 통한 경로 정보 교환
    • 경로 속성 기반 결정
  3. 경로 선택 과정
    • 다양한 속성 평가(LOCAL_PREF, AS_PATH 길이, ORIGIN, MED 등)
    • 최적 경로를 라우팅 테이블에 설치

BGP 메시지 유형

  1. OPEN: 연결 초기화
  2. UPDATE: 경로 정보 전달 및 철회
  3. KEEPALIVE: 연결 유지
  4. NOTIFICATION: 오류 통보 및 연결 종료 
  5. ROUTE-REFRESH: 정책 변경 시 경로 재요청

BGP 주요 특징 및 적용 분야

  • 특징
    • 정책 기반 라우팅: 다양한 속성을 통한 경로 제어
    • 확장성: 대규모 라우팅 테이블 처리 가능
    • 느린 수렴: 경로 변경 시 전체 네트워크 수렴에 시간 소요
    • 라우팅 루프 방지: AS Path 정보를 통한 루프 탐지
  • 적용 분야
    • ISP 간 연결: 인터넷 서비스 제공자 간 트래픽 교환
    • 엔터프라이즈 멀티호밍: 여러 ISP 연결 관리
    • 데이터센터 네트워킹: 대규모 데이터센터 네트워크 구성
    • MPLS VPN: 서비스 제공자 네트워크에서의 고객 격리

BGP 기술적 특성

  • 경로 속성
    • WEIGHT: Cisco 전용 속성, 높을수록 우선
    • LOCAL_PREF: 로컬 선호도, 높을수록 우선(iBGP 내에서 사용)
    • AS_PATH: 경유하는 AS 목록, 짧을수록 우선
    • ORIGIN: 경로 출처 (IGP < EGP < INCOMPLETE)
    • MED: 낮을수록 우선, 이웃 AS에 선호 출구점 표시
    • BGP 타입: eBGP(외부) 경로가 iBGP(내부) 경로보다 우선
    • IGP 메트릭: 다음 홉까지의 IGP 비용, 낮을수록 우선
    • 라우터 ID: 모든 조건이 동일할 때 라우터 ID가 낮은 경로 선택
  • BGP 테이블 구조
    • Adj-RIB-In: 이웃으로부터 수신한 경로
    • Loc-RIB: 최적 경로로 선택된 경로(실제 라우팅 테이블)
    • Adj-RIB-Out: 이웃에게 알릴 경로
  • BGP 상태 머신
    1. Idle: 초기 상태, 연결 시도 준비
    2. Connect: TCP 연결 시도 중
    3. Active: TCP 연결 실패, 재시도 중
    4. OpenSent: OPEN 메시지 전송 후 응답 대기
    5. OpenConfirm: OPEN 메시지 교환 완료, KEEPALIVE 대기
    6. Established: 완전히 설정된 세션, 라우팅 업데이트 가능

고급 BGP 기능

  • 경로 필터링 및 조작
    • Prefix List: IP 주소 범위 기반 필터링
    • AS Path Filter: AS 경로 패턴 기반 필터링
    • Route Map: 복잡한 정책 구현을 위한 도구
    • Community: 경로 그룹화 및 정책 적용
    • 로컬 프리퍼런스: 출구 트래픽 제어
    • MED: 인그레스 트래픽 영향
  • BGP 확장 기능
    • BGP 커뮤니티: 표준/확장 커뮤니티를 통한 라우팅 정책 구현
    • Route Reflector: iBGP 확장성 향상
    • BGP Confederation: 큰 AS를 작은 하위 AS로 분할
    • Multiprotocol BGP: IPv6, MPLS VPN 등 다양한 프로토콜 지원
    • BGP FlowSpec: 트래픽 필터링 및 DDOS 방어
    • BGP ORF: 불필요한 업데이트 감소

BGP 최적화 기술

  • 안정성 향상 메커니즘
    • Route Dampening: 불필요한 경로 억제
    • Graceful Restart: 제어 평면 장애 시 포워딩 유지
    • BGP PIC: 빠른 경로 수렴
    • BFD: 빠른 실패 감지
    • GSHUT: 계획된 유지보수 시 트래픽 분산 종료
  • 확장성 개선
    • BGP Add-path: 다중 경로 전파
    • BGP 업데이트 그룹: 유사한 정책을 가진 피어 그룹화
    • Route Reflection: 전체 Mesh Topology 제거

AS란?

  • 단일 관리 주체(기관, 기업, ISP 등)의 통제하에 있는 라우터 집합과 네트워크를 의미(= 거대한 네트워크 집단)
  • 특징
    • AS 번호: AS는 전 세계적으로 고유한 식별 번호를 가짐
    • 독립적 라우팅 정책: 내부 트래픽 흐름과 외부 연결에 대한 정책을 독자적으로 결정
    • 내부 라우팅 프로토콜: AS 내부에서는 OSPF, EIGRP, IS-IS와 같은 IGP 사용
    • 외부 연결: 다른 AS와는 BGP를 통해 연결
  • 종류
    • 단일 홈 AS: 하나의 ISP에만 연결된 AS
    • 다중 홈 AS: 복수의 ISP에 연결되지만 트래픽을 전달하지 않는 AS
    • 중계 AS: 다른 AS 간의 트래픽을 전달하는 AS (대형 ISP 등)
  • AS 번호 할당
    • 공인 ASN: IANA을 통해 할당
      • APNIC(아시아-태평양), ARIN(북미), RIPE NCC(유럽), LACNIC(남미), AfriNIC(아프리카)
    • 사설 ASN: 내부 사용 목적으로 예약된 번호 범위(64512-65534)
  • AS 중요성
    • 인터넷의 분산 구조를 가능하게 함
    • 네트워크 관리 자율성 제공
    • 라우팅 테이블 크기 축소에 기여
    • 네트워크 장애 격리 효과
    • BGP를 통한 전역 라우팅의 기본 단위

참고

https://somaz.tistory.com/144

https://blog.naver.com/taeheon714/222384978033