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
'Network' 카테고리의 다른 글
[Network] OSPF (0) | 2025.01.06 |
---|---|
[Network] 장비별 패킷 추출 방법 [Catalyst, Nexus, ESXi, NSX-T] (0) | 2024.08.02 |
[Network] 외부 네트워크와의 ARP 동작 방식 (0) | 2024.07.05 |
[Network] ARP 동작 방식 (0) | 2024.07.03 |
[Network] STP (Spanning Tree Protocol) (2) | 2024.05.08 |