BGP 소개
BGP는 자율 시스템 간 라우팅 프로토콜과 자율 시스템 내부 라우팅 프로토콜입니다. 자율 시스템은 공통 관리와 공통 라우팅 정책에 따르는 네트워크 또는 네트워크 그룹입니다. BGP는 인터넷을 위한 라우팅 정보 교환에 사용되며 인터넷 서비스 제공자(ISP) 간에 사용되는 프로토콜입니다.
라우팅 테이블 변경 사항
네이버 간 TCP 연결이 처음 설정되면 BGP 네이버가 전체 라우팅 정보를 교환합니다. 라우팅 테이블 변경 사항이 감지되면 BGP 라우터가 변경된 경로만 네이버로 전송합니다. BGP 라우터는 주기적인 라우팅 업데이트를 전송하지 않고 BGP 라우팅 업데이트는 목적지 네트워크로의 최적의 경로만 알립니다.
참고 |
AS 루프 탐지는 전체 AS 경로를 검사하고(AS_PATH 특성에 지정된대로) 로컬 시스템의 AS 번호가 AS 경로에 나타나지 않는지 확인하여 수행됩니다. 기본적으로 EBGP는 학습된 경로를 동일한 피어에 알려서 루프 확인을 수행하는 데 있어 ASA의 추가 CPU 주기를 방지하고 기존 발신 업데이트 작업의 지연을 방지합니다. |
BGP를 통해 학습된 경로에는 특정 목적지로 향하는 경로가 여럿일 때 최적의 경로를 결정하는 데 사용되는 속성이 포함되어 있습니다. 이러한 속성을 BGP 속성이라고 하며 경로 선택 과정에서 사용됩니다.
-
Weight — 이는 Cisco가 정의한 라우터에 대한 로컬 속성입니다. 가중치 속성은 주변의 라우터에 알려지지 않습니다. 라우터가 동일한 목적지에 대하여 하나 이상의 경로를 학습한 경우 가중치가 가장 높은 경로가 우선합니다.
-
Local preference — 로컬 기본 설정 속성은 로컬 AS로부터 출구 지점을 선택하는 데 사용됩니다. 가중치 속성과 달리 로컬 우선 속성은 로컬 AS 전체에 걸쳐 전파됩니다. AS에서 출구 지점이 여럿인 경우 로컬 우선 속성이 가장 높은 출구 지점이 특정 경로에 대한 출구 지점으로 사용됩니다.
-
Multi-exit discriminator — MED(multi-exit discriminator) 또는 메트릭 속성은 메트릭에 알려지는 AS로의 우선 경로에 관한 외부 AS에 대한 제안으로 사용됩니다. MED를 수신하는 외부 AS가 경로 선택을 위해 다른 BGP 속성을 사용할 수도 있기 때문에 제안이라고 하는 것입니다. MED 메트릭이 낮은 경로가 우선합니다.
-
Origin — 발신지 속성은 BGP가 특정 경로에 관해 어떻게 확인하는지 나타냅니다. 발신지 속성은 3가지 값을 가질 수 있으며 경로 선택에 사용됩니다.
-
IGP — 경로가 발신 AS 내부에 있습니다. 이 값은 경로를 BGP로 삽입하기 위해 네트워크 라우터 구성 명령을 사용할 때 설정됩니다.
-
EGP — 경로는 EBGP(Exterior Border Gateway Protocol)를 통해 확인됩니다.
-
Incomplete — 경로의 발신지가 알 수 없거나 확인되지 않았습니다. 경로가 BGP로 재배포되면 불완전한 발신지가 됩니다.
-
-
AS_path — 경로 알림이 자율 시스템을 통과할 때 경로가 전달된 AS 번호의 주문 목록에 AS 번호가 추가됩니다. 가장 짧은 AS_path 목록을 가진 경로만 IP 라우팅 테이블에 설치됩니다.
-
Next hop — EBGP next-hop 속성은 전달되는 라우터에 도달하기 위해 사용되는 IP 주소입니다. EBGP 피어의 경우 next-hop 주소는 피어 간 연결의 IP 주소입니다. IBGP의 경우 EBGP next-hop 주소가 로컬 AS로 전달됩니다.
-
Community — 커뮤니티 속성은 라우팅 결정(허용, 우선, 재배포)을 적용할 수 있는 커뮤니티라는 대상 그룹화 방법을 제공합니다. 경로 맵은 커뮤니티 속성을 설정하는 데 사용됩니다. 미리 정의된 커뮤니티 속성은 다음과 같습니다.
-
no-export — 이 경로를 EBGP 피어에게 알리지 않습니다.
-
no-advertise — 이 경로를 어느 피어에게도 알리지 않습니다.
-
internet — 이 경로를 인터넷 커뮤니티에 알립니다. 네트워크의 모든 라우터가 여기 포함됩니다.
-
BGP를 사용해야 하는 시기
대학 및 기업과 같은 고객 네트워크는 일반적으로 네트워크 내 라우팅 정보 교환을 위해 OSPF와 같은 IGP(Interior Gateway Protocol)를 활용합니다. 고객은 ISP에 연결하고 ISP는 BGP를 사용하여 고객 및 ISP 경로를 교환합니다. AS(autonomous system) 사이에서 BGP가 사용될 때 이 프로토콜을 EBGP(External BGP)라고 합니다. 서비스 공급자가 AS 내에서 경로 교환을 위해 BGP를 사용할 때의 프로토콜은 IBGP(Interior BGP)라고 합니다.
BGP를 IPv6 네트워크를 통해 IPv6 접두사를 위한 라우팅 정보를 전달하는 데도 사용할 수 있습니다.
BGP 경로 선택
BGP는 같은 경로에 대해 서로 다른 소스로부터 여러 공지를 수신할 수 있습니다. BGP는 최적의 경로로 하나의 경로만 선택합니다. 이 경로가 선택된 경우 BGP는 선택된 경로를 IP 라우팅 테이블에 놓고 네이버에 전파합니다. BGP는 제시된 순서대로 다음 기준에 따라 목적지에 대한 경로를 선택합니다.
-
경로가 접근할 수 없는 next hop을 지정하면 업데이트를 삭제합니다.
-
가중치가 가장 높은 경로가 우선합니다.
-
가중치가 동일한 경우 로컬 우선이 가장 높은 경로가 우선합니다.
-
로컬 우선이 동일한 경우 이 라우터에서 실행 중인 BGP에서 발생한 경로가 우선합니다.
-
경로가 시작되지 않은 경우 AS_path가 가장 짧은 경로가 우선합니다.
-
모든 경로의 AS_path 길이가 같은 경우 발신지 유형이 가장 낮은 경로(IGP가 EGP보다 낮고 EGP가 incomplete보다 낮은 경로)가 우선합니다.
-
발신지 코드가 동일한 경우 MED 속성이 가장 낮은 경로가 우선합니다.
-
MED가 같은 경로의 경우 내부 경로보다 외부 경로가 우선합니다.
-
그래도 경로가 동일한 경우 가장 가까운 IGP 네이버를 통한 경로가 우선합니다.
-
여러 경로에 BGP 다중 경로에 대한 라우팅 테이블에서의 설치 작업이 필요한지 결정합니다.
-
두 경로 모두 외부인 경우 먼저 수신된 경로가 우선합니다(오래된 경로).
-
BGP 라우터 ID가 지정한 대로 IP 주소가 가장 낮은 경로가 우선합니다.
-
여러 경로의 발신자 또는 라우터 ID가 동일할 경우 클러스터 목록 길이가 가장 짧은 경로가 우선합니다.
-
가장 낮은 네이버 주소에서 시작하는 경로가 우선합니다.
BGP 다중 경로
BGP 다중 경로를 사용하면 동일한 대상 접두사에 대해 비용이 동일한 여러 BGP 경로의 IP 라우팅 테이블에 설치할 수 있습니다. 그러면 대상 접두사에 대한 트래픽이 모든 설치된 경로에서 공유됩니다.
이러한 경로는 로드 공유에 최적의 경로와 함께 테이블에 설치됩니다. BGP 다중 경로는 최적의 경로를 선택할 때는 영향을 주지 않습니다. 예를 들어, 라우터는 알고리즘에 따라 경로 중 하나를 계속해서 최적의 경로로 지정하고 BGP 피어에 이 최적의 경로를 알립니다.
다중 경로의 후보가 되려면 동일한 대상에 대한 경로에 최적의 경로 특성과 동일한 다음 특성이 있어야 합니다.
-
무게
-
로컬 기본 설정
-
AS-PATH 길이
-
출처 코드
-
MED(Multi Exit Discriminator)
-
다음 중 하나입니다.
-
네이버 AS 또는 하위-AS(BGP 다중 경로 추가 전)
-
AS-PATH(BGP 다중 경로 추가 후)
-
일부 BGP 다중 경로 기능은 다중 경로 후보에게 다음과 같은 추가 요구 사항을 제시합니다.
-
경로는 외부 또는 연합-외부 네이버(eBGP)에서 확인되어야 합니다.
-
BGP next hop에 대한 IGP 메트릭은 최적의 경로 IGP 메트릭과 동일해야 합니다.
다음은 내부 BGP(iBGP) 다중 경로 후보에 대한 추가 요구 사항입니다.
-
경로는 내부 네이버(iBGP)에서 확인되어야 합니다.
-
라우터가 동일하지 않은 비용의 iBGP 다중 경로에 대해 구성되지 않은 경우 BGP next hop에 대한 IGP 메트릭은 최적의 경로 IGP 메트릭과 동일해야 합니다.
BGP는 다중 경로 후보에서 가장 최근에 수신한 경로를 최대 n개까지 IP 라우팅 테이블에 삽입합니다. 이때 n은 라우팅 테이블에 설치할 경로의 수이며 BGP 다중 경로를 구성할 때 지정된 수입니다. 다중 경로가 비활성화된 경우 기본값은 1입니다.
비용이 동일하지 않은 로드 밸런싱에 BGP 링크 대역폭을 사용할 수도 있습니다.
참고 |
동일한 next-hop-self는 내부 피어에 전달되기 전에 eBGP 다중 경로 중에서 선택된 최적의 경로에서 수행됩니다. |