BGP, BGP-4, BGPv4   Border Gateway Protocol   BGP 라우팅 프로토콜

(2022-05-19)

1. BGP (Border Gateway Protocol)자치시스템 (AS) 상호 간에 적용되는 라우팅 프로토콜 (Inter-Domain Routing Protocol)
     - 즉, 독립 운용되는 대규모 네트워크 (AS) 간에, 네트워크 정보를 교환하기 위해 주로 사용됨


2. BGP 역사 

  ㅇ BGP version 1 (1989), BGP version 4 (1995 : CIDRSupernetting 도입적용)
     - 그냥 BGP라함은 현재의 BGP-4를 의미


3. BGP 특징

  ㅇ AS 영역 별로 상호 간의 라우팅 정보 교환을 위한 라우팅 프로토콜  
     - EGP(Exterior Gateway Protocol) 또는 Interdomain Routing Protocol 라고 함
        . 즉, 물리적인 라우터 간에 라우팅하는 관점이 아니라, AS 영역 간에 라우팅이 이루어짐
        . 따라서, 라우터 간의 정보 교환이 아니라, AS 간의 정보 교환이 됨

  ㅇ 인터넷을 AS 간 연결 경로(Path)로 이루어진 방향성 그래프의 집단으로 봄
     - 인터넷을, 각각 유일한 AS 번호를 갖는 AS들이, 방향성을 갖고 연결된 AS 집합그래프로 봄
     - AS 간에 Mesh Type 구성

  ㅇ Distance Vector Routing Protocol (거리 벡터 라우팅 프로토콜)의 발전된 형태 
     - `Path Vector Routing Protocol (경로 벡터 라우팅 프로토콜)` 이라고도 불리움
        . 여기서, AS 경로(AS Path)는, 목적지 네트워크(AS)까지 거쳐야하는 AS Path를 나타냄
     - BGP는, 최적/최단의 경로를 찾는 라우팅 정보라기 보다는,
        . 도달 가능성 (Network Reachability)을 알리는 프로토콜임
     - 최적의 경로 정보(라우팅 테이블)를 상호 교환 함 
 
  ㅇ 끝없이 순환되는 문제점이 없도록 확실히 함
     - 즉, BGP는 Looping-free 하는 라우팅을 보장함
        . 순환을 피할 수 있도록, 목적지 AS까지 거치게되는 경로를 담은, AS 경로 정보를 제공 함

  ㅇ 보안 중시
     - 피어 관계 설정 및 네트워크 정보 생성/전달이 분리됨
     - 신뢰할 만한 TCP 연결에 의해, 라우팅 정보를 교환 
     - 교환되는 라우팅 정보는, BGP 라우터간에, 포트번호 179번을 통해, TCP에 의해 신뢰성있게 전달

  ㅇ 대규모 정보 처리
     - 약 2천개 이상의 방대한 네트워크 정보를 다루므로,
     - 자원의 효율적 처리를 위한 많은 요소들을 제공함  

  ㅇ 라우팅 정보의 점진적 부분 갱신  (Incremental, Partial, Triggered Update)
     - BGP는 주기적으로 정보를 갱신하지 않고, 
        . 단지 변화가 있을때 만, 이웃 라우터에게 갱신 정보Advertising 함
     - 전체 라우팅 정보는, 두 피어 라우터 간에, 처음 BGP Session을 맺은 직후에 만 필요
        . 이후 변화된 것 만 필요

     - 한편, 순간적 Flapping에 의해, 빈번한 업데이트 발생 방지를 위해 일정시간 대기
        . AS 내부 iBGP 간에 5초, AS 외부 eBGP 간에 30초 대기 후에 라우팅 업데이트 수행

     - 만일, 네트워크 변화가 전혀 없으면 주고받는 정보가 없게되므로,
        . 이를 위해 자신이 살아있음을 알리는 BGP 킵얼라이브메세지를 60초 마다 교환

  ㅇ 최상의 경로 선택을 위해 다양하고 풍부한 Routing Metric 사용  (Path Attribute)
     - 우선순위가 있는 각 Metric을 차례대로 참조하여 최상의 경로를 선택

  ㅇ 클래스 없는 주소체계 지원
     - CIDR (Classless Inter-Domain Routing) 지원
     - BGP는 각 주소 정보에 덧붙여 Prefix의 길이도 함께 전달 ☞ NLRI정책 기반의 라우팅 프로토콜  (Policy-based Routing)
     - BGP는 상대 영역의 라우팅 정책을 침범하지 않고도, 자신의 라우팅 정책을 구현 가능
        . 서로 경쟁적인 AS 간에 자신의 피해 예방을 위해 최소한의 정보 공유 등
        . 정치적 이유,보안 등에 의해 각 경로에 대해 선택적으로 버리거나 무시하거나,
          또는 정책적인 가중치 부여가 가능함


4. BGP 주요 개념 용어

  ㅇ BGP의 AS(자치시스템) 간의 연결유형 구분         ☞  BGP AS

  ㅇ BGP 경로 결정을 위한 라우팅 메트릭BGP Path Attribute
     - BGP에서 Route의 특성을 기술하는 매개변수들의 집합으로 Path Attribute이라 함

  ㅇ BGP 라우팅 프로토콜을 수행하는 라우터의 구분    ☞  BGP 라우터BGP 라우터Session 설정                      ☞  BGP 이웃 협상
     - EBGP (External BGP) Session : 다른 AS 상호 간에 변방 라우터들끼리 접속  
     - IBGP (Internal BGP) Session : 동일 AS 내부의 변방 라우터들 간 내부접속


5. BGP 메세지 포멧

  

  ㅇ BGP 공통 헤더BGP Message Header

  ㅇ 공통 헤더 바로 뒤에 각 메세지 종류 별로 다른 내용이 붙여지게 됨
      ☞ BGP Open Message,  BGP Update Message,  BGP Keepalive Message, 
         BGP Notification Message, ...


6. 관련 표준 RFC 1771, 4271 (A Border Gateway Protocol 4, BGP-4)
  ㅇ RFC 1772 (Application of the Border Gateway Protocol in the Internet)
  ㅇ RFC 1773 (Experience with BGP-4 protocol) 
  ㅇ RFC 1774 (BGP-4 Protocol Analysis) 등

BGP
   1. BGP 라우팅 프로토콜   2. 경로 벡터 라우팅   3. BGP 테이블   4. Confederation   5. RR   6. Split Horizon   7. BGP Filtering   8. BGP Summarization  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"