본문 바로가기
Network

[Network] BGP

by 치즈잼 2025. 3. 19.
728x90
BGP와 관련된 내용을 정리해 보았습니다.

BGPv4 (Border Gateway Protocol Version 4)

  • BGP : AS와 AS 간에 수많은 라우팅 정보를 교환할 때 사용하는 EGP 프로토콜
  • IGP에 비해 컨버전스는 느리지만 대용량의 라우팅 정보를 교환할 수 있기 때문에 AS 사이에서 라우팅 업데이트 용도로 사용
  • AS 주소 단위로 인접 라우터와 네이버 관계를 성립, 라우팅 업데이트 실시
  • TCP 포트 번호 179번을 이용하여 TCP 3-way Handshaking 실시 후 네이버 관계 성립
  • 네이버 관계를 성립한 라우터 간에 유니캐스트 라우팅 업데이트 실시

BGP 개요

  • IGP는 각 라우팅 프로토콜들이 사용하는 메트릭에 따라 가장 빠른 경로를 최적 경로로 선출
  • BGP는 라우팅의 성능보다는 조직간에 정해진 정책에 의해서 최적 경로를 선출

IGP BGP

용도 AS 안에서 라우팅 업데이트 AS와 AS 간에 라우팅 업데이트
장점 컨버전스 빠름 대용량의 라우팅 정보 교환 가능
단점 대용량의 라우팅 정보 교환 불가능 컨버전스 느림
업데이트 라우터와 라우터 간에 실시 AS와 AS간에 실시
메트릭 RIP(Hop),EIGRP(BW,DLY),OSPF(Cost) BGP Attribute
Next-Hop 바로 다음 라우터 바로 다음 AS 지역 도메인
로드 분산 Maximum-Path 4 Maximum-Path 1
  • IGP는 장애가 발생하면 AS 안에서만 컨버전스가 실시
  • BGP는 장애 발생 시 다른 AS와의 컨버전스가 발생되기 때문에 특징 지역, 국가, 전세계의 네트워크에 영향을 줄 수 있다.
  • 수천개 ~ 20만개 이상의 네트워크 정보가 라우팅 테이블에 등록

BGP 필요성과 AS 개념


  • 인터넷이라는 네트워크가 가능한 이유는 수많은 ISP업체로부터 다양한 서비스를 제공받고 있기 때문이다.
  • BGP를 이용하여 지역 도메인 사이에 수많은 라우팅 정보를 교환해야 하며, 각 도메인 간에 정책을 이용하여 트래픽 제어를 담당해야 한다.
  • AS : 자체적인 정책으로 관리되는 Network를 가진 조직, 각각의 지역 도메인들을 구분하는 단위
  • 서로의 라우팅 정보들을 업데이트, 라우팅 업데이트에 대한 근원을 알기 위해 AS주소 사용
  • 인터넷에 연결된 조직들은 독립적인 IP Block과 자체적인 정책으로 운영되는 Network를 가지고 있으며 각각 조직들을 구분하기 위해 AS 주소를 할당하고, 라우팅 정보 교환 위해 BGP 사용

  • AS는 라우팅 도메인(네트워크 도메인) 이라는 의미를 갖고 있지만, 인터넷 상에서 구분되는 도메인이라는 뜻은 특정 정책이 영향을 미치는 논리적인 범위이므로 KT, Dacom, 대기업의 망과 같은 인터넷에 연결된 조직들을 의미
  • AS 주소 체계는 16bit, 사용할 수 있는 범위는 1~65535
  • 사설 AS : 64512~65534
  • 예비용 AS : 65535

  • 인터넷은 TCP/IP를 사용하는 대규모 네트워크이며, 모든 시스템들과 통신이 가능해야 한다. → 지구상에 존재하는 IP 서브넷 정보들을 알고 있어야 한다.
  • IGP시 장비 부하, 대역폭 고갈 문제 발생
  • BGP를 이용해 AS 간에 대용량 라우팅 정보 교환, 관리

  • BGP는 인터넷에 연결된 조직을 보다 더 효율적으로 관리하기 위하여 AS 단위로 동작하는 라우팅 프로토콜
  • 확장성에 우선순위를 두고 개발, 수많은 경로 정보들을 효율적으로 관리하는데 목적
  • 경로정보 교환하는 조직들 사이에 IGP보다 더 강한 정책 필요, 경로 정보에 안정성이 보장되어야 한다.

BGP 라우팅 정책

BGP 구현 조건

  • 공인 AS주소, 공인 IP 블락, 라우터 전송 장비 필요

BGP 구성이 필요한 경우

  • 많은 AS와 연결하여 수많은 라우팅 업데이트가 필요한 경우
  • AS와 AS 간에 라우팅 정책이 필요한 경우
  • 자신의 네트워크 정보를 인터넷상에 광고해야 할 경우
  • MBGP를 이용한 MPLS VPN을 구현하는 경우

BGP 구성이 불 필요한 경우

  • 하나의 AS와 연결되어 라우팅 업데이트를 실시할 경우
  • 대역폭이 낮은 회선을 사용하는 경우
  • 라우터의 자원이 BGP를 사용하기 적당하지 않는 경우
  • BGP 구현 조건이 맞지 않거나, BGP 경험 지식이 부족한 경우

BGP 테이블 유형

  • BGP는 TCP 연결을 실시하여 네이버를 성립한 후, 네이버와의 상태 정보를 관리하기 위한 네이버 테이블과 상태 테이블을 구성한다.
  • 네이버로부터 라우팅 정보를 수신하면 인바운드 정책을 적용한 다음, BGP 포워딩 테이블에 등록하여 관리한다.
  • BGP 포워딩 테이블에 등록된 정보를 기반으로 최적 경로를 선출하며, 선출된 최적 경로는 다른 라우팅 경로들과 신뢰도를 비교한 다음, 라우팅 테이블에 등록
  • BGP 포워딩 테이블에 등록된 경로를 네이버에게 업데이트 할 경우, 아웃바운드 정책을 적용한 다음, 라우팅 정보를 전송

BGP 메세지 유형


Open 메세지

  • TCP 연결 설정이 완료되면 처음으로 교환되는 메세지
  • 네이버를 성립하기 위한 초기 단계에만 교환하며, 네이버가 성립된 이후에는 교환하지 않음

Update 메세지

  • BGP 네이버 간에 개별적인 업데이트 정보를 담은 메세지, 라우팅 업데이트 시 사용

Keepalive 메세지

  • Open 메세지에 대한 응답을 할 때 사용
  • 주기적인 교환으로 네이버 성립 상태를 유지할 때 사용
  • Keepalive 전송 주기는 60초로 설정, Hold 주기는 180초로 설정

Notification 메세지

  • 네이버를 성립할 때 발생하는 오류 내용을 알려주는 메세지
  • 주로 네이버 라우터 간에 AS 주소가 잘못 지정되어 있거나, 라우터 아이디가 중복되면 Notification 메세지를 전송 함으로써 문제를 해결할 수 있다.
  • 단, TCP 연결에는 문제가 없을 경우에만 전송되는 메세지
  • TCP 연결도 안된 네이버 간에는 전송하지 않는다.

BGP 동작 단계

  • 네이버를 성립하고자 하는 라우터와 Open 메세지를 교환하고, TCP 연결이 완료되면 네이버 관계를 성립
  • TCP 연결이 끝난 BGP 라우터는 네이버를 성립하기 위해서 다음과 같은 단계를 진행

Idle 상태

  • BGP가 동작하기 위한 초기 단계
  • 상대방 라우터와 네이버를 성립하기 위해 ‘Neighbor’ 명령어를 사용하는데, Idle 상태가 시작되면 ‘neighbor’ 명령어로 지정한 IP 주소를 라우팅 테이블에서 검색하여 TCP 연결을 시도

Connect 상태

  • ‘neighbor’ 명령어로 지정한 IP 주소가 라우팅 테이블에 보장되어, 상대방 라우터와 TCP 3-Way 핸드 쉐이킹 동작이 완료된 상태

OpenSent 상태

  • Open 메세지를 생성하여 네이버에게 전송하고, 네이버로부터 5초안에 Open 메세지를 수신하기 위한 대기 상태

Active 상태

  • OpenSent 상태에서 네이버로부터 Open 메세지를 5초 이내에 수신하지 못한 상태
  • Open 메세지를 수신할 때 까지 네이버에게 Open 메세지를 주기적으로 전송

OpenConfirm 상태

  • BGP 네이버 간에 Open 메세지 교환이 완료된 상태

Established 상태

  • BGP 네이버가 정상적으로 성립이 되어, 라우팅 업데이트가 가능한 상태

만약, 네이버와 ‘Active’ 상태가 장기간 지속되고 있다면, 다음과 같은 사항 확인

  • 네이버로 지정한 해당 IP 주소가 라우팅 테이블에 존재하는지 확인
  • 네이버로 지정한 해당 IP 주소로 Ping이 성공되는지 확인
  • 네이버의 AS 주소가 올바르게 설정되었는지 확인
  • 네이버를 성립하기 위한 BGP 관련 설정이 빠져있는지 확인

 

728x90