Nubes et Stella

BGP(Border Gateway Protocol) 본문

Knowledge/Network

BGP(Border Gateway Protocol)

SeongYeong Han 2023. 9. 30. 21:40

01. BGP(Border Gateway Protocol)란?

Border Gateway Protocol 한국어로 경계 게이트웨이 프로토콜이다. BGP는 **AS간에 연결을 해주기 위한 대표적인 외부 라우팅 프로토콜이다. 외부 라우팅 프로토콜이기 때문에 대부분 다른 인터넷망과의 연결이나 다른 ISP간에 연결에서 사용된다. 
 
BGP 라우팅을 위해 **경로 벡터 프로토콜을 사용하여 라우터간에 라우팅 정보를 수시로 교환하고 저장한다. 이 저장된 정보를 가지고 라우팅 하게 되며, 이 때 BGP는 TCP 179번 포트를 사용하여 유니캐스트 방식으로 동작한다. 
 
**경로 벡터 프로토콜 : 주변의 여러 라우터들에게 어떤 라우터가 어느 AS에 속해 있는지에 대한 정보를 소문 내는 프로토콜
 
**AS(Autonomous System) : 하나의 큰 조직/기관에서 관리되는 라우터로 뭉쳐져 있는 거대한 독립 네트워크이다. 때문에 AS내에서는 동일한 라우팅 프로토콜로 동작하는 특징이 있다.
 
 

02. iBGP & eBGP

BGP는 크게 iBGP와 eBGP로 나뉘게 되는데 iBGP(Internal BGP)는 AS내에서 라우팅 정보를 교환하기 위한 프로토콜이고, eBGP(External BGP)는 AS 사이에서 라우팅 정보를 교환하기 위한 프로토콜이다.
 

eBGP
iBGP

 
 

03. 동작방식

[과정]
01. 라우터X의 정보를 iBGP를 통해서 AS3내의 3a ~ 3d로 보낸다.
02. 다른 AS와 연결된 border gateway router인 3a는 eBGP를 통해서 AS1, AS2의 라우터에게 정보를 전달한다.
03. 각 AS의 border gateway router는 받은 정보를 iBGP를 통해서 내부 AS의 라우터에게 전달한다.
 
위 과정이 모두 끝나게 되면 AS1, AS2의 라우터들은 X로 라우팅 하기 위한 정보를 가지게 되어 통신이 가능하게 된다.
 
** Hot potato routing
위의 상황에서 2d가 X라우터로 가기위해서는 AS1을 거치는 방법과 AS3로 바로 가게 되는 2가지 경로를 얻게 된다. 이 때 AS외부로 보내기 위한 가장 짧은 코스트로 라우팅을 하게되는 방식이다.
예를 들어 2d - > 2a 코스트가 2d -> 2c 코스트 보다 작을 경우 이후의 상황은 생각하지 않고 2d는 2a로 라우팅 하게 된다.

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

본딩(Bonding)  (0) 2023.10.10