반응형
1. BGP의 정의와 역할
BGP는 Border Gateway Protocol의 약자로, 인터넷에서 사용되는 가장 중요한 라우팅 프로토콜 중 하나다. BGP는 자율 시스템(Autonomous System, AS) 간의 경로 정보를 교환하고, 네트워크 경로를 선택하며, 인터넷과 같은 대규모 분산 네트워크에서 안정성을 유지하는 데 핵심적인 역할을 한다.
학문적 정의와 특성
- 경로 벡터 프로토콜(Path Vector Protocol): AS 간의 경로 정보를 속성(Attribute) 형태로 교환하며, 이는 라우팅 루프 방지에 기여한다.
- TCP 기반 세션: BGP는 TCP 포트 179를 통해 세션을 설정하며, 이를 통해 신뢰성과 전달 보장을 제공한다.
- TCP를 사용한다는 것은 반드시 Neighbor Router가 인접할 필요(Next-Hop일 필요) 없다는 의미
- 상태 기반 동작: Finite State Machine(FSM)을 기반으로 작동하며, Idle, Connect, OpenSent, OpenConfirm, Established의 다섯 가지 상태를 순환한다.
역할
- 인터넷의 전반적인 경로 설계와 최적화.
- 다중 ISP 연결을 사용하는 네트워크에서의 경로 관리.
- 트래픽 최적화를 위한 정책 기반 라우팅 구현.
2. BGP의 확장과 복잡성
BGP의 확장 메커니즘
- MP-BGP (Multiprotocol BGP)
- IPv4뿐만 아니라 IPv6, MPLS, L2VPN, L3VPN 등을 지원하기 위해 확장된다.
- MP_REACH_NLRI와 MP_UNREACH_NLRI 속성을 사용하여 다중 주소 패밀리를 처리한다.
- Route Reflector (RR)
- iBGP의 Full-Mesh 요구사항을 완화하기 위해 도입되었다.
- RR과 클라이언트 간의 관계를 통해 경로 정보 전파를 최적화한다.
- Cluster ID를 사용하여 루프를 방지한다.
- Confederation
- 대규모 네트워크에서 AS를 소규모 AS로 나누어 관리 효율성을 높인다.
- Confederation 내부에서는 iBGP로 동작하지만, 외부에는 단일 AS로 나타낸다.
BGP 테이블의 폭증과 대응
- 전 세계적으로 인터넷이 확장됨에 따라 BGP 라우팅 테이블의 크기가 기하급수적으로 증가하고 있다.
- 이를 관리하기 위해 다음과 같은 기법이 사용된다:
- Prefix Aggregation: 라우팅 테이블 크기를 줄이기 위해 경로를 요약.
- Graceful Restart: BGP 피어가 재시작될 때 경로를 유지하여 중단을 최소화.
- ADD_PATH: 하나 이상의 경로를 전송하여 다중 경로의 균형을 제공합니다.
3. BGP의 동작 원리와 FSM 분석
BGP는 FSM(Finite State Machine)을 기반으로 동작하며, 이는 상태 전환을 통해 안정적인 연결과 데이터 교환을 보장한다.
FSM 상태
- Idle: 초기 상태. 세션을 설정하기 위한 TCP 연결 대기.
- Connect: TCP 연결을 시도하며, 성공 시 OpenSent 상태로 전환.
- OpenSent: Open 메시지를 수신하고, 적합성을 검증.
- OpenConfirm: Keepalive 메시지를 통해 연결 상태를 확인.
- Established: BGP 세션이 활성화되며, 경로 정보 교환이 시작
BGP 메시지 타입
- Open: 세션 초기화 및 네트워크 특성 교환. / BGP Neighbor와의 설정을 위한 메시지
- Hold-Time = Neighbor Router로부터 Keepalive, Update를 받지 않고, Neighbor Router가 살아있다고 판단할 수 있는 최대 시간. Neighbor Router가 구현한 시간과 자신이 구현한 시간이 다르면, 더 짧은 것을 선택하는 방식
- BGP Router ID = OSPF와 동일한 방법으로 선택되는 Router ID. Loopback Interface에 IP를 설정하지 않으면, Active IP 주소 중 가장 높다.
- Update: 경로 추가 및 제거 정보를 전달. / 네트워크 정보와 Path Attribute(Metric) 를 포함하는 Routing 정보
- 한 메시지당 한 Path 정보만 포함되고 다음과 같은 정보를 포함
- Withdrawn Route(유효하지 않는 루트) = 더 이상 Best Route가 아닌 네트워크 정보
- Path Attribute = IGP의 Metric
- Network Layer Reachability Information(유효한 루트) = 네트워크 정보 (Best Route)
- 한 메시지당 한 Path 정보만 포함되고 다음과 같은 정보를 포함
- Keepalive: 세션 유지를 위해 주기적으로 전송. / BGP Neighbor 와 최초의 TCP Connection 이후에 주기적으로 교환
- Neighbor Router(Peer)가 살아있는지 판단하기 위해 교환하는 메시지.
- Notification: 오류 상황을 알리고 세션을 종료. / 오류가 발생했을 때 보내는 메시지
- 오류가 발생했을 때 오류가 발생한 이유를 설명하는 오류코드를 포함
경로 선택 기준의 심화
- Communities: 경로 그룹화를 통해 정책 기반 라우팅 구현.
- Extended Communities: QoS나 MPLS와 같은 추가 정보 전달.
- AIGP (Accumulated IGP Metric): IGP Metric을 경로 선택 과정에 포함.
4. BGP의 주요 구성 요소 심화
- AS (Autonomous System)
- 자율 시스템은 인터넷에서 독립적으로 관리되는 네트워크 집합으로, AS 번호(ASN)를 통해 식별된다.
- 4바이트 ASN(32비트)을 지원하며, 이는 기존 2바이트 ASN의 한계를 극복.
- Router ID
- BGP 라우터를 고유하게 식별하기 위한 ID로, 일반적으로 가장 높은 루프백 인터페이스의 IP를 사용한다.
- BGP Path Attributes
- Well-known Mandatory: AS Path, Next Hop, Origin.
- Well-known Discretionary: Local Preference, Atomic Aggregate.
- Optional Transitive: Community, Aggregator.
- Optional Non-transitive: MED.
- BGP 메시지 구조
- Header: BGP 메시지의 기본 정보를 포함 (Length, Type 등).
- Body: 각 메시지 타입에 따라 가변적이며, 경로 정보 또는 상태 정보를 전달.
5. BGP 보안 문제와 해결책
보안 문제
- Prefix Hijacking: 잘못된 경로 광고로 인해 트래픽이 공격자로 유입.
- Route Leak: 정책에 어긋난 경로 전파.
- Man-in-the-Middle 공격: BGP 세션을 가로채 경로 정보를 수정.
해결책
- RPKI (Resource Public Key Infrastructure)
- BGP 경로의 인증을 위해 암호화 서명을 사용.
- BGP Monitoring Protocol (BMP)
- 실시간으로 BGP 세션을 모니터링하여 이상 탐지.
- Graceful Shutdown
- 예기치 않은 경로 변화 방지를 위한 안전한 종료.
반응형
'IT > ㄴ Cisco' 카테고리의 다른 글
[CISCO] BGP 구성 시 주의사항에 따른 솔루션 (Route Reflector 외) (0) | 2025.01.13 |
---|---|
[CISCO] EGP / IGP / EBGP / IBGP / BGP 솔루션 정리 (0) | 2025.01.13 |
[CISCO] OSPF Subnet Summary 정리 (0) | 2025.01.11 |
[CISCO] OSPF Virtual-Link 정리 (0) | 2025.01.11 |
[CISCO] OSPF Stub / NSSA 정리 (0) | 2025.01.11 |