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

(2016-06-19)
1. BGP 자치시스템(AS) 상호 간에 적용되는 라우팅 프로토콜(Inter-Domain Routing Protocol)
     - 독립적으로 운용되는 대규모 네트워크 간에 주로 사용되는 라우팅 프로토콜


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 간 연결 경로(Path)로 이루어진 방향성 그래프의 집단으로 봄
     - BGP는 인터넷을 각각 유일한 AS 번호를 갖는 AS들이 임의로 연결된 AS 집합으로
       그래프를 그리고 있다고 가정 (AS 간에 Mesh Type 구성)

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

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

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

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

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

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

  ㅇ 클래스 없는 주소체계 지원
     - CIDR(Classless InterDomain 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 (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. BGP Synchronization 3. BGP 테이블 4. Confederation 5. Prefix List 6. Route Map 7. RR 8. Split Horizon 9. BGP Filtering 10. MP-BGP 11. 경로 벡터 라우팅 12. BGP Summarization
[BGP 경로 속성] [BGP AS,라우터 연결] [BGP 메세지]

 
        최근수정     요약목록     참고문헌