BGP란?
BGP
BGP의 정의
- Border Gateway Protocol 약자로 서로 다른 AS를 연결해주는 경계 게이트웨이 프로토콜
- ISP와 EGP의 단점을 보완해서 만든 프로토콜
- IGP와 EGP 차이
IGP(내부 게이트웨이 프로토콜) - OSPF, EIGRP, RIP 등 ESP(외부 게이트웨이 프로토콜) AS 내부 간에서 이루어지는 라우팅 프로토콜 AS와 AS 간 이루어지는 프로토콜 Distance Vector, Link State 라우팅 방식 허용 Path Vector 라우팅 방식 사용
수렴 속도가 빠름 (멀티 캐스트 방식) 수렴 속도가 느림(애니 캐스트 방식) 설정이 비교적 간단하며, Metric 값 조정으로 경로 조정 설정이 복잡하며, 경로 조정 시에도 고려 사항이 많음 특수한 경우를 제외한 Neighbor가 자동 할당 수동으로 Neighbor 설정이 필요
- IGP와 EGP 차이
- 대용량 라우팅 정보를 교환하는데 최적화
- 경로 벡터 프로토콜: 목적지까지 전체 경로 정보(AS Path)를 포함
- TCP 포트 179사용: 신뢰성 있는 통신 보장
- AS 번호: 각 네트워크를 식별하는 고유 번호
BGP 통신 과정
- 이웃 관계 설정
- TCP 연결 수립
- BGP OPEN 메시지 교환
- Keepalive 메시지로 연결 유지
- 라우팅 정보 교환
- UPDATE 메시지를 통한 경로 정보 교환
- 경로 속성 기반 결정
- 경로 선택 과정
- 다양한 속성 평가(LOCAL_PREF, AS_PATH 길이, ORIGIN, MED 등)
- 최적 경로를 라우팅 테이블에 설치
BGP 메시지 유형
- OPEN: 연결 초기화
- UPDATE: 경로 정보 전달 및 철회
- KEEPALIVE: 연결 유지
- NOTIFICATION: 오류 통보 및 연결 종료
- ROUTE-REFRESH: 정책 변경 시 경로 재요청
BGP 주요 특징 및 적용 분야
- 특징
- 정책 기반 라우팅: 다양한 속성을 통한 경로 제어
- 확장성: 대규모 라우팅 테이블 처리 가능
- 느린 수렴: 경로 변경 시 전체 네트워크 수렴에 시간 소요
- 라우팅 루프 방지: AS Path 정보를 통한 루프 탐지
- 적용 분야
- ISP 간 연결: 인터넷 서비스 제공자 간 트래픽 교환
- 엔터프라이즈 멀티호밍: 여러 ISP 연결 관리
- 데이터센터 네트워킹: 대규모 데이터센터 네트워크 구성
- MPLS VPN: 서비스 제공자 네트워크에서의 고객 격리
BGP 기술적 특성
- 경로 속성
- WEIGHT: Cisco 전용 속성, 높을수록 우선
- LOCAL_PREF: 로컬 선호도, 높을수록 우선(iBGP 내에서 사용)
- AS_PATH: 경유하는 AS 목록, 짧을수록 우선
- ORIGIN: 경로 출처 (IGP < EGP < INCOMPLETE)
- MED: 낮을수록 우선, 이웃 AS에 선호 출구점 표시
- BGP 타입: eBGP(외부) 경로가 iBGP(내부) 경로보다 우선
- IGP 메트릭: 다음 홉까지의 IGP 비용, 낮을수록 우선
- 라우터 ID: 모든 조건이 동일할 때 라우터 ID가 낮은 경로 선택
- BGP 테이블 구조
- Adj-RIB-In: 이웃으로부터 수신한 경로
- Loc-RIB: 최적 경로로 선택된 경로(실제 라우팅 테이블)
- Adj-RIB-Out: 이웃에게 알릴 경로
- BGP 상태 머신
- Idle: 초기 상태, 연결 시도 준비
- Connect: TCP 연결 시도 중
- Active: TCP 연결 실패, 재시도 중
- OpenSent: OPEN 메시지 전송 후 응답 대기
- OpenConfirm: OPEN 메시지 교환 완료, KEEPALIVE 대기
- Established: 완전히 설정된 세션, 라우팅 업데이트 가능
고급 BGP 기능
- 경로 필터링 및 조작
- Prefix List: IP 주소 범위 기반 필터링
- AS Path Filter: AS 경로 패턴 기반 필터링
- Route Map: 복잡한 정책 구현을 위한 도구
- Community: 경로 그룹화 및 정책 적용
- 로컬 프리퍼런스: 출구 트래픽 제어
- MED: 인그레스 트래픽 영향
- BGP 확장 기능
- BGP 커뮤니티: 표준/확장 커뮤니티를 통한 라우팅 정책 구현
- Route Reflector: iBGP 확장성 향상
- BGP Confederation: 큰 AS를 작은 하위 AS로 분할
- Multiprotocol BGP: IPv6, MPLS VPN 등 다양한 프로토콜 지원
- BGP FlowSpec: 트래픽 필터링 및 DDOS 방어
- BGP ORF: 불필요한 업데이트 감소
BGP 최적화 기술
- 안정성 향상 메커니즘
- Route Dampening: 불필요한 경로 억제
- Graceful Restart: 제어 평면 장애 시 포워딩 유지
- BGP PIC: 빠른 경로 수렴
- BFD: 빠른 실패 감지
- GSHUT: 계획된 유지보수 시 트래픽 분산 종료
- 확장성 개선
- BGP Add-path: 다중 경로 전파
- BGP 업데이트 그룹: 유사한 정책을 가진 피어 그룹화
- Route Reflection: 전체 Mesh Topology 제거
AS란?
- 단일 관리 주체(기관, 기업, ISP 등)의 통제하에 있는 라우터 집합과 네트워크를 의미(= 거대한 네트워크 집단)
- 특징
- AS 번호: AS는 전 세계적으로 고유한 식별 번호를 가짐
- 독립적 라우팅 정책: 내부 트래픽 흐름과 외부 연결에 대한 정책을 독자적으로 결정
- 내부 라우팅 프로토콜: AS 내부에서는 OSPF, EIGRP, IS-IS와 같은 IGP 사용
- 외부 연결: 다른 AS와는 BGP를 통해 연결
- 종류
- 단일 홈 AS: 하나의 ISP에만 연결된 AS
- 다중 홈 AS: 복수의 ISP에 연결되지만 트래픽을 전달하지 않는 AS
- 중계 AS: 다른 AS 간의 트래픽을 전달하는 AS (대형 ISP 등)
- AS 번호 할당
- 공인 ASN: IANA을 통해 할당
- APNIC(아시아-태평양), ARIN(북미), RIPE NCC(유럽), LACNIC(남미), AfriNIC(아프리카)
- 사설 ASN: 내부 사용 목적으로 예약된 번호 범위(64512-65534)
- 공인 ASN: IANA을 통해 할당
- AS 중요성
- 인터넷의 분산 구조를 가능하게 함
- 네트워크 관리 자율성 제공
- 라우팅 테이블 크기 축소에 기여
- 네트워크 장애 격리 효과
- BGP를 통한 전역 라우팅의 기본 단위