본문 바로가기

네트워크/Routing Protocol - BGP

BGP (Border Gateway Protocol) Neighbor 수립 과정

728x90

 BGP (Border Gateway Protocol) Neighbor 관계 수립 과정

 

자동으로 Neighbor 관계를 맺는 IGP와 달리 BGP Neighbor는 관리자가 Neighbor 설정을 해야 Neighbor 관계를 맺습니다. Neighbor 관계 맺기 위해 TCP Port 179번을 사용하며, BGP는 finite-state machine (FSM)을 이용하여 BGP PEER와 운영 상태를 관리 합니다.

 

 

 

  ○ IDLE State

 

BGP FSM의 첫 단계 입니다. 해당 상태에는 BGP Peer 연결을 위해 모든 자원을 초기화하고 외부 BGP 연결을 대기하는 상태 입니다. 해당 과정에서 문제가 발생하면 ConnectRetryTimer를 60초로 설정하고 0으로 감소 할때 까지 대기 하고 다시 연결을 시도 합니다. 이 상태에서 다시 문제가 발생하게 된다면 ConnectRetryTimer의 시간을 이전 값의 2배로 설정하고 0으로 감소 할 때 까지 대기 합니다. 

 

IDLE 상태 진입은 인터페이스에 IP 할당 후 Router BGP 명령어를 통해 활성화 하면 IDLE 상태로 진입 합니다.  해당 상태를 확인할 수 있는 방법은 Debugging을 통해서만 확인 가능합니다. 

 

  ○ Connect State

 

BGP가 Neighbor IP 주소로 TCP 연결을 시도하는 단계 입니다. 만약 3-Handshake가 완료된다면 ConnectRetryTImer를 초기화 하고 Open 메시지를 Neighbor에게 전송합니다. Open 메시지를 전송하면 OpenSent State로 변경 됩니다. 

 

Connect 단계에서 RID를 비교하여 더 높은 RID를 가진 장비가 TCP Session을 관리하게 됩니다.  해당 장비가 TCP Source Port 179번을 사용 합니다.

 

만약, TCP 연결에 실패하게 된다면 Active 상태로 전환 되고, 다른 입력값을 받게 된다면 상태는 IDLE로 변경 됩니다. 

 

 

  ○ Active State

 

Connect 단계에서 실패 후 Active 단계에서 BGP는 새로운 TCP 연결을 시도 합니다.  연결이 성공하면 Open 메시지를 전송하고 OpenSent 단계로 상태를 변경 합니다. 연결에 실패하면 Connect 단계로 변경되며 ConnectRetryTimer가 초기화 됩니다. 

 

 

 

  ○ OPEN Sent State

 

TCP 연결이 정상적으로 수립되었고 BGP Peer 라우터가 OPEN Message를 정상적으로 전송한 경우 입니다. BGP OPEN Message는 BGP Session 맺기 위한 협상정보를 가지고 있고 포함되는 정보는 아래와 같습니다.

  • The BGP Version number
    - Binary: 00000100, Decimal: 4) (IPv4 용도로 Version 4 사용 함
  • The AS Number
    - Open Message에 있는 AS Number와 수신한 라우터의 AS Number가 다를 경우 Neighbor가 수립되지 않습니다.
  • The Hold Down Time value 
    - Hold Time은 기본적으로 KeepAlive값의 3배수의 TImer 값을 가집니다. BGP Peer 사이 Hold TIme이 서로 다를 경우 협상을 통해 값을 선택 합니다. 만약 Hold TIme값이 0일 경우 BGP Peer 사이에 KeepAlive메시지를 전송하지 않습니다. 
  • The BGP Identifier (management IP address of the router) and Optional Parameters
    - BGP를 식별하기 위한 유일한 정보인 Router ID (RID)이 포함 됩니다. 

Open 메시지에서 오류가 없을 경우 OPEN Confirm 단계로 넘어가고, 오류가 발생할 경우 NOTIFICATION 메시지가 전송되며 IDLE 상태로 전환 됩니다.

 

  ○ OPEN Confirm State

 

BGP가 Keepalive 또는 NOTIFICATION 메시지를 기다리는 단계 입니다. Neighbor로 부터 Keepalive 메시지를 받으면 Established 단계로 넘어가게 되고, Hold TIme 이내 Keepalive 메시지를 받지 못한다면 IDLE 상태로 전환 됩니다. 

 

 

  ○ ESTABLISHED State

 

정상적으로 BGP Session 수립이 완료되어 Neighbor로 부터 라우팅 정보를 교환할 수 있는 상태 입니다. Neighbor로 부터 Keepalive나 Update 메시지를 받으면 Hold TIme을 초기화 시키고 Hold TIme 이내 받지 못한다면 IDLE 상태로 전환 됩니다. 

 

 show ip bgp summary 명령어를 통해 상태와 Neighbor 정보 및 교환된 라우팅 정보를 확인 할 수 있습니다. 

 

728x90