5.4 ISP 간 라우팅: BGP(Border Gateway Protocol)
BGP는 인터넷에서 **AS 간의 라우팅(Inter-AS Routing)**을 수행하는 중요한 프로토콜이다.
앞서 본 OSPF는 AS 내부에서 라우팅을 처리하는 프로토콜로, BGP는 여러 AS를 연결해주는 역할을 담당한다.
BGP의 중요성
• 인터넷의 “접착제” 역할:
BGP는 전 세계 수천 개의 ISP(Autonomous Systems)를 연결하는 프로토콜로, 인터넷이 하나의 네트워크처럼 동작할 수 있도록 해준다.
• 인터넷에서 가장 중요한 프로토콜 중 하나:
• IP 프로토콜과 함께 인터넷의 핵심 프로토콜로 꼽힌다.
• BGP는 AS 간 트래픽 경로를 결정하기 때문에, 인터넷을 심층적으로 이해하기 위해서는 BGP를 학습하는 것이 필수적이다.
BGP의 역할
1. Prefix 접근성 정보의 공유:
• BGP는 각 라우터가 **접근 가능한 경로(Prefix)**를 인접 AS로 광고할 수 있도록 한다.
• 예: “이 서브넷은 존재하며, 나를 통해 접근 가능하다.“라고 선언.
2. 최적 경로 선택:
• 여러 경로가 존재할 경우, BGP는 “최적의 경로”를 선택한다.
• 선택 기준은 정책(Policy) 및 경로 정보에 따라 다르다.
5.4.1 BGP의 작동 방식
BGP는 라우터가 단순히 특정 IP 주소로 패킷을 전달하는 방식이 아닌, 프리픽스(Prefix) 기반으로 작동한다. 즉, 패킷이 전달될 경로는 서브넷(예: 138.16.68/22)으로 정의된다.
BGP의 두 가지 주요 작업
1. 접근성 정보 얻기:
• BGP는 인접 AS로부터 서브넷이 접근 가능한 경로 정보를 수집한다.
• 예: “138.16.68/22는 AS3를 통해 접근 가능하다.“라는 정보.
2. 최적 경로 결정:
• BGP는 여러 경로 중에서 “정책”과 “접근성” 정보를 기반으로 최적 경로를 결정한다.
5.4.2 BGP 경로 정보 광고
BGP는 각 라우터가 네트워크 전체에 경로 정보를 알릴 수 있도록 돕는다. 이를 위해 BGP는 두 가지 형태로 동작한다:
1. 외부 BGP(eBGP):
• AS 간 라우터들이 경로 정보를 교환.
• 예: AS1과 AS2 간 경로 정보 교환.
2. 내부 BGP(iBGP):
• 동일 AS 내 라우터들 간에 경로 정보 교환.
Figure 5.8의 예제:
• AS3에 위치한 서브넷 가 AS2를 통해 AS1에 접근 가능하다는 정보를 BGP가 광고한다.
• 이 정보는 다음 단계로 전파된다:
1. AS3는 AS2로 “AS3 “라는 메시지를 보낸다.
2. AS2는 AS1로 “AS2 AS3 “라는 메시지를 보낸다.
3. AS1의 모든 라우터가 에 접근 가능한 경로를 알게 된다.
5.4.3 최적 경로 결정
BGP는 다양한 경로 중에서 최적 경로를 선택한다. 경로 선택 시 사용하는 주요 속성은 다음과 같다:
1. AS-PATH:
• 경로에 포함된 AS의 리스트.
• 경로가 짧을수록 선호된다.
2. NEXT-HOP:
• AS 간 경로의 시작점이 되는 라우터의 IP 주소.
Figure 5.10 예제:
AS1에서 AS3로 가는 경로는 두 가지가 있을 수 있다:
1. : 이 경로는 AS2를 거쳐 AS3로 연결된다.
2. : 직접 AS3로 가는 경로.
각 경로는 AS-PATH와 NEXT-HOP 정보를 포함하며, BGP는 이를 기반으로 최적 경로를 선택한다.
핫 포테이토 라우팅(Hot Potato Routing)
핫 포테이토 라우팅은 패킷을 AS 내부에서 빠르게 전달하기 위한 기법이다:
• 라우터는 AS 내부에서 비용이 가장 낮은 경로를 찾아, 패킷을 다음 AS로 넘긴다.
• 이는 “뜨거운 감자를 빨리 넘긴다”는 비유에서 나온 표현으로, AS 내부에서 비용을 최소화하는 데 초점이 맞춰져 있다.
Figure 5.11 예제:
1. AS1의 라우터는 AS2로 패킷을 보낼 경로를 결정한다.
2. 내부 경로의 비용이 가장 낮은 경로를 선택하여 AS2로 전달.
BGP는 복잡하고 강력한 프로토콜로, 인터넷의 전체적인 동작을 이해하기 위해 반드시 학습해야 한다.
BGP 경로 선택 알고리즘
BGP의 경로 선택 과정은 단순한 핫 포테이토 라우팅(Hot Potato Routing)을 넘어, 다양한 정책과 경로 속성을 반영한 복잡한 알고리즘을 사용한다.
경로 선택 과정
BGP는 다음과 같은 순서로 경로를 평가하여 최적 경로를 선택한다:
1. Local Preference 값에 따른 선택:
• 각 경로에는 Local Preference 값이 할당되며, 값이 클수록 우선순위가 높다.
• Local Preference는 네트워크 관리자가 정책적으로 설정하며, 동일 AS 내부의 경로를 선호하거나 특정 경로를 우선 선택하는 데 사용된다.
2. AS-PATH의 길이에 따른 선택:
• Local Preference 값이 동일한 경로 중에서는 AS-PATH가 가장 짧은 경로를 선택한다.
• AS-PATH는 경로 상에 포함된 AS의 수를 나타내며, 짧은 경로는 대개 더 빠르고 효율적인 경로로 간주된다.
3. Hot Potato Routing 적용:
• AS-PATH 길이가 동일한 경우, 핫 포테이토 라우팅을 적용하여 가장 가까운 NEXT-HOP 라우터를 선택한다.
• 이는 AS 내부에서 트래픽 전송 비용을 최소화하려는 전략이다.
4. 라우터 식별자에 따른 선택:
• 위의 모든 조건이 동일하다면, 라우터 식별자(Identifier)를 사용해 경로를 선택한다.
예제
Figure 5.10의 네트워크에서 라우터 1b가 프리픽스 로 가는 두 가지 경로를 고려한다고 하자:
1. 경로 1: AS2를 경유하는 경로 (AS-PATH: AS2 AS3).
2. 경로 2: AS3로 바로 가는 경로 (AS-PATH: AS3).
• 핫 포테이토 라우팅만 고려할 경우, AS2를 거쳐가는 경로가 선택될 수 있다.
• 하지만 경로 선택 알고리즘에 따라 AS-PATH가 더 짧은 두 번째 경로가 우선적으로 선택된다.
IP-Anycast와 BGP
BGP는 IP-Anycast 서비스 구현에도 자주 사용된다. IP-Anycast는 동일한 IP 주소를 여러 지리적으로 분산된 서버에 할당하여, 사용자가 가장 가까운 서버와 연결되도록 한다.
IP-Anycast의 동작 방식
• CDN(콘텐츠 전송 네트워크)이나 DNS 루트 서버와 같은 시스템에서 사용된다.
• BGP는 AS-PATH 길이를 기준으로 가장 가까운 서버로 트래픽을 전달한다.
Figure 5.12에서:
• CDN 서버 A와 서버 B가 동일한 IP 주소(예: 212.21.21.21)를 사용.
• BGP는 AS-PATH를 기준으로 가장 가까운 서버로 트래픽을 전달.
라우팅 정책과 BGP
BGP의 강력한 특징 중 하나는 정책 기반 라우팅을 지원한다는 것이다. 이는 네트워크 관리자가 BGP 속성을 조정하여 트래픽 흐름을 제어할 수 있게 한다.
정책 기반 라우팅의 주요 사례
• 특정 경로의 광고를 제한하여 불필요한 트래픽을 차단.
• 고객 네트워크와 제공자 네트워크 간의 트래픽 흐름 제어.
• 멀티홈 ISP(여러 제공자와 연결된 ISP)가 트래픽을 특정 경로로만 전송.
Figure 5.13의 시나리오에서:
• AS X는 AS B와 C로 트래픽을 전달할 수 있지만, 정책적으로 특정 경로를 광고하지 않아 트래픽 흐름을 제한.
왜 Inter-AS와 Intra-AS 라우팅 프로토콜이 다른가?
1. 정책적 차이:
• Inter-AS 라우팅은 각 AS의 정책을 반영해야 하므로, BGP처럼 정책 기반 라우팅이 필요하다.
• Intra-AS 라우팅은 OSPF처럼 성능 중심의 프로토콜이 적합하다.
2. 규모(Scalability):
• Intra-AS 라우팅은 AS 내부에서 작동하며, 일반적으로 규모 확장 문제가 적다.
• Inter-AS 라우팅은 전 세계의 AS를 연결하므로, 확장성을 고려해야 한다.
3. 성능:
• Intra-AS 라우팅은 성능 중심이며, Inter-AS 라우팅은 정책을 우선시한다.
'Book > COMPUTER NETWORKING A TOP-DOWN-APPROACH' 카테고리의 다른 글
5.6 ICMP: The Internet Control Message Protocol (0) | 2024.12.03 |
---|---|
5.5 The SDN Control Plane (1) | 2024.12.03 |
5.3 Intra-AS Routing in the Internet:OSPF (0) | 2024.12.03 |
5.2 Routing Algorithms (0) | 2024.12.03 |
CH5. The Network Layer: Control Plane (5.1 Introduction) (0) | 2024.12.03 |