본문 바로가기
Network/Routing

BGP 개요

by SH.S 2025. 4. 8.

BGP 개요

BGP는 독립적으로 운영되고 있는 각각의 대규모 네트워크 간에 연결을 위해 사용하는 라우팅 프로토콜이다. 즉, 간단히 설명해서 서로 다른 AS간 연결을 위해 사용하는 프로토콜을 말한다. 1989년 BGP 버전1이 나왔고, 1995년 CIDR 및 서브넷팅 도입을 적용한 버전4가 나왔다. 현재 그냥 BGP라고 하면 버전4를 의미한다.  
 
흔히 알고 있는 OSPF, EIGRP 등의 프로토콜은 Multicast 통신을 하지만 BGP는 Unicast 통신을 하기 때문에 IGP들과는 달리 직접 연결된 장비가 아니더라도 원하는 장비와 이웃관계를 맺을 수 있다. TCP를 사용하기 때문에 7계층 프로토콜 이라고도 한다. 

또한 경로를 결정하는 방식이 IGP와 다르다. IGP는 각 프로토콜이 사용하는 매트릭방식에 의해 값이 가장 낮은(가장 빠르다고 추측되는) 방향으로 정하는 데에 반해 BGP는 정책을 세워 그 정책에 맞는 경로를 선택한다.  

 

 

BGP 특징

  • Distance vector계열의 프로토콜로 분류된다.  
  • TCP를 베이스로 만들어졌기 때문에(TCP 179) BGP에서 따로 ACK가 필요하지 않다. 
  • 목적지까지의 가장 빠른 길을 찾는 것이 아닌, 정책을 기반으로 경로가 설정된다.
  • BGP는 경로 iBGP와 eBGP로 구분된다.  
    • iBGP (Internal BGP) : 동일 AS 내부의 변방 라우터들 간 내부접속 
    • eBGP (External BGP) : 다른 AS 상호간에 변방 라우터들끼리 접속 
  • 업데이트는 네트워크의 변화가 있을 경우에만 하며, 연결성 확인을 위해 60초마다 Keep-alive를 보냄 
  • 순간적 Flapping을 방지하기 위해 업데이트 시간 대기 
    • iBGP : 5초 
    • eBGP : 30초 

 

iBGP

동일한 AS내에서 BGP를 사용하는 것을 iBGP라고 한다. iBGP는 AS내에서 관리하는 네트워크의 범위가 너무 큰 경우에 사용하거나, eBGP로 학습  받은 경로 정보를 내부 라우터들과 동기화하는 경우에 쓴다. 
 
관리하고 있는 네트워크의 범위가 큰 경우에 Link-state 프로토콜을 사용하여 부분적으로 데이터베이스와 라우팅 테이블의 양을 줄일 수는 있지만, 이 프로토콜도 결국엔 모든 링크 정보를 저장해서 관리해야 되기 때문에 한계가 생길 수 밖에 없다. 이런 경우에 iBGP를 사용하여 장비의 부담을 덜어 줄 수 있다. 
 
그리고 외부로부터 BGP로 전달받은 경로 정보를 내부 AS내의 다른 라우터에게 전달하고자 할 때 iBGP를 사용하여 경로 정보를 동기화 하는 것이 좋은데, 만약 내부에서 동작 중인 IGP 프로토콜로 재분배를 하면 모든 경로 정보가 유입되지 않도록 필터링을 해줘야 한다. 그렇지 않으면 너무 많은 경로 정보로 인해 과부하가 발생하게 된다.  

 

 

eBGP

다른 AS에 있는 라우터들간 BGP연결을 하는 경우, 이를 eBGP라고 한다.  
서로 다른 AS를 연결하는 방식으로 재분배를 사용할 수 있지만, 중간에 연결되는 지점의 Transit AS인 경우나 자신의 AS와의 연결에서 특별히 설정하고 싶은 정책이 있을 경우 BGP를 사용한다. 
 
IBGP와는 달리 특별히 경로를 이중화하는 경우가 아니라면 Neighbor 설정에 사용되는 Source 주소는 실제 물리 인터페이스의 주소를 그대로 사용한다.  

 


관련 표준 문서  

  • RFC 1771 (A Border Gateway Protocol 4, BGP-4)  >>  RFC 4271 로 갱신됨 
  • RFC 1772 (Application of the Border Gateway Protocol in the Internet) 
  • RFC 1773 (Experience with BGP-4 protocol)  
  • RFC 1774 (BGP-4 Protocol Analysis) 등 

'Network > Routing' 카테고리의 다른 글

[Config] iBGP & eBGP 설정하기  (0) 2025.04.08
[Config] 프레임릴레이(Frame-relay)  (0) 2018.08.16
Frame-relay  (0) 2018.08.16
경로 필터링 (Route Filtering)  (2) 2016.07.26
재분배 (Redistribution)  (0) 2016.07.01