소개
이 문서에서는 BGP(Border Gateway Protocol) 최적 경로 알고리즘의 기능을 설명합니다.
배경 정보
BGP 라우터는 일반적으로 동일한 대상에 대한 여러 경로를 수신합니다. BGP 최적 경로 알고리즘은 IP 라우팅 테이블에서 설치하고 트래픽 포워딩에 사용하기에 가장 좋은 경로가 어느 것인지를 확인합니다.
라우터에서 경로를 무시하는 이유
라우터가 특정 접두사에 대해 수신하는 모든 경로가 목록으로 정리되어 있다고 가정합니다. 이 목록은 show ip bgp longer-prefixes
명령을 실행합니다. 이와 같은 경우 일부 경로는 최적 경로의 후보로 간주되지 않습니다. 이러한 경로에는 일반적으로 의 출력에 유효한 플래그가 없습니다. show ip bgp longer-prefixes
명령을 실행합니다. 이러한 상황에서는 라우터가 경로를 무시합니다.
-
에서 동기화되지 않은 것으로 표시된 경로 show ip bgp longer-prefixes
성과.
BGP 동기화가 활성화된 경우, IP 라우팅 테이블에 접두사에 대해 일치하는 항목이 있어야 iBGP(internal BGP) 경로를 유효한 경로로 간주할 수 있습니다. BGP 동기화는 Cisco IOS® 소프트웨어에서 기본적으로 활성화되어 있습니다. 일치하는 경로를 OSPF(Open Shortest Path First) 인접 디바이스에서 학습하는 경우, 해당 OSPF 라우터 ID는 iBGP 인접 디바이스의 BGP 라우터 ID와 일치해야 합니다. 대부분의 사용자는 no synchronization
BGP 하위 명령입니다.
참고: Cisco IOS® Software Release 12.2(8)T 이상에서는 동기화가 기본적으로 비활성화되어 있습니다.
-
NEXT_HOP이 액세스 불가한 경로.
이 경로와 연결되는 NEXT_HOP에 대한 IGP(Interior Gateway Protocol) 경로가 있음을 확인합니다.
-
로컬 AS(Autonomous System)가 AS_PATH에 나타나는 경우, eBGP(external BGP) 인접 라우터로부터의 경로.
이러한 경로는 라우터로 들어오는 경우 거부되며 BGP RIB(Routing Information Base)에도 설치되지 않습니다. 사용자가 구성하지 않는 한 액세스, 접두사, AS_PATH 또는 커뮤니티 목록을 통해 구현된 라우팅 정책에 의해 거부된 모든 경로에도 동일하게 적용됩니다 neighbor soft-reconfiguration inbound
제공합니다.
-
활성화한 경우 bgp enforce-first-as
그리고 UPDATE에는 인접 디바이스의 AS가 AS_SEQUENCE의 첫 번째 AS 번호로 포함되지 않습니다.
이와 같은 경우에는 라우터가 알림을 보내고 세션을 종료합니다.
-
에 (received-only)로 표시된 경로 show ip bgp longer-prefixes
성과
정책에 따라 이 경로를 거부했습니다. 그러나 사용자가 경로를 구성했으므로 라우터가 경로를 저장했습니다 soft-reconfiguration inbound
경로를 전송하는 네이버에 대해 설명합니다.
최적 경로 알고리즘의 작동 방식
BGP는 첫 번째 유효한 경로를 현재 최적 경로로 지정합니다. 그런 다음 BGP는 유효 경로 목록의 끝에 도달할 때까지 최적 경로를 목록의 다음 경로와 비교합니다. 이 목록에서는 최상의 경로를 결정하는 데 사용되는 규칙을 제공합니다.
-
최고 WEIGHT의 경로를 선호합니다.
참고: WEIGHT는 Cisco 관련 매개변수입니다. 구성된 라우터의 로컬 범위에만 적용됩니다.
-
최고 LOCAL_PREF의 경로를 선호합니다.
참고: LOCAL_PREF가 없는 경로는 bgp default local-preference
명령 또는 100의 값을 갖는 것이 기본값입니다.
-
를 통해 로컬에서 시작된 경로가 우선합니다. network
또는 aggregate
BGP 하위 명령 또는 IGP로부터의 재배포를 통해.
에서 소싱된 로컬 경로 network
또는 redistribute
명령은에서 제공하는 로컬 집계보다 우선합니다. aggregate-address
명령을 실행합니다.
참고: 다음 항목에 유의하십시오.
- AIGP가 구성된 경우 bgp bestpath aigp ignore
명령이 구성되지 않은 경우 결정 프로세스에서 AIGP 메트릭을 고려합니다. 자세한 내용은 BGP용 AIGP 메트릭 속성 구성을 참조하십시오.
-
가장 짧은 AS_PATH의 경로를 선호합니다.
참고: 다음 항목에 유의하십시오.
- 이 단계는 를 구성한 경우 건너뜁니다. bgp bestpath as-path ignore
명령을 실행합니다.
- AS_SET는 세트에 포함된 AS 개수에 상관없이 1입니다.
- AS_CONFED_SEQUENCE 및 AS_CONFED_SET는 AS_PATH 길이에 포함되지 않습니다.
-
원본 유형이 가장 낮은 경로를 선호합니다.
참고: IGP가 EGP(외부 게이트웨이 프로토콜)보다 낮고 EGP가 INCOMPLETE보다 낮습니다.
-
MED(multi-exit discriminator)가 가장 낮은 경로를 선호합니다.
참고: 다음 항목에 유의하십시오.
- 첫 번째 (인접) AS가 두 경로에서 같은 경우에만 이 비교가 이루어집니다. 모든 연합 하위 AS는 무시됩니다.
다시 말해 AS_SEQUENCE의 첫 번째 AS가 여러 경로에서 동일한 경우에만 MED를 비교합니다. 앞에 오는 모든 AS_CONFED_SEQUENCE는 무시됩니다.
- 경우 bgp always-compare-med
이 활성화되어 있으면 모든 경로에 대해 MED가 비교됩니다.
전체 AS를 대상으로 이 옵션을 비활성화해야 합니다. 그렇지 않으면 라우팅 루프가 발생할 수 있습니다.
- 경우 bgp bestpath med-confed
가 활성화되면 AS_CONFED_SEQUENCE로만 구성된 모든 경로에 대해 MED가 비교됩니다.
이 경로는 로컬 연합 내에서 시작했습니다.
- MED가 4,294,967,295인 인접 라우터로부터 수신한 경로의 MED가 BGP 테이블에 추가되기 전에 변경되었습니다. MED가 4,294,967,294로 변경됩니다.
- MED가 4,294,967,295인 인접 라우터로부터 수신한 경로의 MED가 유효한 것으로 간주되어 BGP 테이블에 추가되었고, 그에 따라 Cisco 버그 ID CSCef34800에 대해 코드가 수정됩니다.
- MED 없이 수신된 경로는 MED 0으로 지정됩니다(활성화하지 않은 경우). bgp bestpath med missing-as-worst
.
을 활성화한 경우 bgp bestpath med missing-as-worst
경로에 MED 4,294,967,294가 할당됩니다.
을 활성화한 경우 bgp bestpath med missing-as-worst
경로에는 Cisco 버그 ID CSCef34800에 대해 수정된 코드에 적용되는 MED 4,294,967,295가 할당됩니다.
-이 bgp deterministic-med
명령도 이 단계에 영향을 미칠 수 있습니다.
BGP 라우터에서 최적 경로 선택에 MED(Multi-Exit Discriminator)를 사용하는 방법의 데모를 참조하십시오.
-
iBGP 경로보다 eBGP 경로를 선호합니다.
최적 경로가 선택된 경우 9단계(다중 경로)로 진행합니다.
참고: AS_CONFED_SEQUENCE 및 AS_CONFED_SET가 포함된 경로는 연합에 대해 로컬입니다. 따라서 이 경로는 내부 경로로 간주합니다. 연합 외부와 연합 내부를 구별하지 않습니다.
-
BGP Next Hop에 대한 IGP 메트릭이 가장 낮은 경로를 선호합니다.
최적 경로가 이미 선택되었더라도 계속합니다.
-
BGP 다중 경로를 위해 여러 경로가 라우팅 테이블에서 설치되어야 하는지를 확인합니다.
최적 경로가 아직 선택되지 않았다면 계속합니다.
-
두 경로 모두 외부인 경우 먼저 수신된 경로(오래된 경로)가 우선합니다.
다음 결정 기준(11단계, 12단계, 13단계)에 따라 새 경로가 선호 경로이더라도, 이 단계에서는 새 경로가 기존 경로를 대체하지 않으므로 경로 플랩을 최소화합니다.
다음 중 하나라도 해당될 경우 이 단계를 건너뜁니다.
-
다음을 활성화했습니다. bgp best path compare-routerid
명령을 실행합니다.
참고: Cisco IOS® Software 릴리스 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T 및 12.1.3.E에서 이 명령을 도입했습니다.
-
같은 라우터에서 경로를 수신했기 때문에 다중 경로의 라우터 ID가 같습니다.
-
현재 최적 경로가 없습니다.
경로를 제공하는 인접 라우터가 중단되는 등의 상황에서는 현재 최적 경로가 사라질 수 있습니다.
-
BGP 라우터에서 제공하고, 라우터 ID가 가장 낮은 경로를 선호합니다.
라우터 ID는 라우터의 가장 높은 IP 주소이며, 루프백 주소를 선호합니다. 또한 bgp router-id
명령을 사용하여 라우터 ID를 수동으로 설정합니다.
참고: 경로에 RR(경로 리플렉터) 특성이 포함된 경우 경로 선택 프로세스에서 발신자 ID가 라우터 ID로 대체됩니다.
-
여러 경로의 발신자 또는 라우터 ID가 동일할 경우 클러스터 목록 길이가 가장 짧은 경로가 우선합니다.
이는 BGP RR 환경에만 있습니다. 클라이언트가 RR과 또는 다른 클러스터의 클라이언트와 피어링하는 것을 허용합니다. 이 시나리오에서 클라이언트는 RR 관련 BGP 속성을 알고 있어야 합니다.
-
가장 낮은 네이버 주소에서 시작하는 경로가 우선합니다.
이 주소는 BGP에서 사용되는 IP 주소입니다 neighbor
설정. 이 주소는 로컬 라우터와의 TCP 연결에 쓰인 원격 피어에 해당합니다.
예: BGP 최적 경로 선택
이 예에서는 네트워크 10.30.116.0/23에 대해 9개의 경로를 사용할 수 있습니다. 이 show ip bgp network
명령은 지정된 네트워크에 대한 BGP 라우팅 테이블의 엔트리를 표시합니다.
Router R1#show ip bgp vpnv4 rd 1100:1001 10.30.116.0/23
BGP routing table entry for 1100:1001:10.30.116.0/23, version 26765275
Paths: (9 available, best #6, no table)
Advertised to update-groups:
1 2 3
(65001 64955 65003) 65089, (Received from a RR-client)
172.16.254.226 (metric 20645) from 172.16.224.236 (172.16.224.236)
Origin IGP, metric 0, localpref 100, valid, confed-internal
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65008 64955 65003) 65089
172.16.254.226 (metric 20645) from 10.131.123.71 (10.131.123.71)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65001 64955 65003) 65089
172.16.254.226 (metric 20645) from 172.16.216.253 (172.16.216.253)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65001 64955 65003) 65089
172.16.254.226 (metric 20645) from 172.16.216.252 (172.16.216.252)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(64955 65003) 65089
172.16.254.226 (metric 20645) from 10.77.255.57 (10.77.255.57)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(64955 65003) 65089
172.16.254.226 (metric 20645) from 10.57.255.11 (10.57.255.11)
Origin IGP, metric 0, localpref 100, valid, confed-external, best
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
!--- BGP selects this as the Best Path on comparing
!--- with all the other routes and selected based on lower router ID.
(64955 65003) 65089
172.16.254.226 (metric 20645) from 172.16.224.253 (172.16.224.253)
Origin IGP, metric 0, localpref 100, valid, confed-internal
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65003) 65089
172.16.254.226 (metric 20645) from 172.16.254.234 (172.16.254.234)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
65089, (Received from a RR-client)
172.16.228.226 (metric 20645) from 172.16.228.226 (172.16.228.226)
Origin IGP, metric 0, localpref 100, valid, confed-internal
Extended Community: RT:1100:1001
mpls labels in/out nolabel/278
BGP는 이 문서에 설명된 다양한 특성을 고려하여 이 9개의 경로 중 최상의 경로를 선택합니다. 여기에 표시된 출력에서 BGP는 사용 가능한 경로를 비교하고 하위 라우터 ID를 기반으로 경로 6을 최상의 경로로 선택합니다.
Comparing path 1 with path 2:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
The paths have different neighbor AS's so ignoring MED
Both paths are internal
(no distinction is made between confed-internal and confed-external)
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 1 because it has a lower Router-ID.
Comparing path 2 with path 3:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
Both paths have the same neighbor AS, 65089, so comparing MED.
Both paths have a MED of 0
Both paths are confed-external
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 3 because it has a lower Router-ID.
Comparing path 2 with path 4:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
Both paths have the same neighbor AS, 65089, so comparing MED.
Both paths have a MED of 0
Both paths are confed-external
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 4 because it has a lower Router-ID.
Comparing path 2 with path 5:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
Both paths have the same neighbor AS, 65089, so comparing MED.
Both paths have a MED of 0
Both paths are confed-external
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 5 is better than path 2 because it has a lower Router-ID.
Comparing path 5 with path 6:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
Both paths have the same neighbor AS, 65089, so comparing MED.
Both paths have a MED of 0
Both paths are confed-external
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 5 because it has a lower Router-ID.
Comparing path 6 with path 7:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
Both paths have the same neighbor AS, 65089, so comparing MED.
Both paths have a MED of 0
Both paths are internal
(no distinction is made between confed-internal and confed-external)
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 7 because it has a lower Router-ID.
Comparing path 6 with path 8:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
Both paths have the same neighbor AS, 65089, so comparing MED.
Both paths have a MED of 0
Both paths are confed-external
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 8 because it has a lower Router-ID.
Comparing path 6 with path 9:
Both paths have reachable next hops
Both paths have a WEIGHT of 0
Both paths have a LOCAL_PREF of 100
Both paths are learned
Both paths have AS_PATH length 1
Both paths are of origin IGP
The paths have different neighbor AS's so ignoring MED
Both paths are internal
(no distinction is made between confed-internal and confed-external)
Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 9 because it has a lower Router-ID.
The best path is #6
경로 선택 프로세스 사용자 지정
BGP Cost Community라고 하는 확장 커뮤니티 속성이 최적 경로 선택 프로세스를 사용자 지정하는 방법을 제공합니다. 최적 경로 알고리즘 작동 방식 섹션에서 설명하는 알고리즘에 비용 커뮤니티 비교 단계가 추가됩니다. 이 단계는 알고리즘의 필수 단계(삽입 지점) 다음에 옵니다. 비용 값이 가장 낮은 경로를 선호합니다.
참고: 다음 항목에 유의하십시오.
- 이 단계는 를 실행한 경우 건너뜁니다. bgp bestpath cost-community ignore
명령을 실행합니다.
- 비용 커뮤니티 설정 구문에서 비용 커뮤니티 ID 번호(0부터 255까지) 및 비용 번호 값(0부터 4,294,967,295까지)이 구성됩니다. 비용 번호 값에 따라 경로 선호가 결정됩니다. 비용 번호 값이 가장 낮은 경로를 선호합니다. 비용 번호 값이 구체적으로 구성되지 않은 경로는 기본 비용 번호 값인 2,147,483,647이 지정됩니다. 이 값은 0과 4,294,967,295의 중간점입니다. 그런 다음 최적 경로 선택 프로세스에 따라 경로를 평가합니다. 두 경로에 같은 비용 번호 값이 구성된 경우, 경로 선택 프로세스는 커뮤니티 ID가 가장 낮은 경로를 선호합니다. 경로의 pre-bestpath 비용 커뮤니티가 같지 않을 경우, pre-bestpath 비용 커뮤니티가 더 낮은 경로가 최적 경로로 선택됩니다.
- ABSOLUTE_VALUE는 경로의 기본 설정 정도를 결정하는 첫 번째 단계로 간주됩니다. 예를 들어, EIGRP가 BGP VPNv4에 재배포되었다면 ABSOLUTE_VALUE 유형이 비용 커뮤니티에 사용됩니다. IGB_Cost는 Next Hop과의 내부(IGP) 거리를 비교한 후에 고려합니다. 따라서 최적 경로 알고리즘 작동 방법 알고리즘의 8단계 이후에 IGP_COST 삽입 시점의 비용 커뮤니티를 고려합니다.
BGP 다중 경로
BGP 다중 경로를 사용하면 동일한 대상에 대한 여러 BGP 경로의 IP 라우팅 테이블에 설치할 수 있습니다. 이러한 경로는 로드 공유에 최적 경로와 함께 테이블에 설치됩니다. BGP 다중 경로는 최적 경로를 선택할 때는 영향을 주지 않습니다. 예를 들어 라우터는 여전히 알고리즘 당 최적 경로로 경로 중 하나를 지정하고 이 최적 경로를 네이버에 광고합니다.
다음은 BGP 다중 경로 기능입니다.
다중 경로의 후보가 되려면 동일한 대상에 대한 경로에 최적의 경로 특성과 동일한 다음 특성이 있어야 합니다.
-
무게
-
로컬 기본 설정
-
AS-PATH 길이
-
근원
-
MED
-
다음 중 하나입니다.
일부 BGP 다중 경로 기능은 다중 경로 후보에게 다음과 같은 추가 요구 사항을 제시합니다.
다음은 eBGP 다중 경로에 대한 추가 요구 사항입니다.
다음은 iBGP 다중 경로에 대한 추가 요구 사항입니다.
-
경로는 iBGP(internal neighbor)에서 학습해야 합니다.
-
BGP next hop에 대한 IGP 메트릭은 최상의 경로 IGP 메트릭과 같아야 합니다. 단, 라우터가 동일하지 않은 비용 iBGP 다중 경로에 대해 구성되어 있어야 합니다.
BGP는 IP 라우팅 테이블에 다중 경로 후보로부터 최근에 수신한 경로를 n개까지 추가합니다. 현재 n의 최대값은 6입니다. 다중 경로가 비활성화된 경우 기본값은 1입니다.
비용이 동일하지 않은 로드 밸런싱에 BGP 링크 대역폭을 사용할 수도 있습니다.
참고: 동일한 next-hop-self는 내부 피어로 전달되기 전에 eBGP 다중 경로 중에서 선택된 최상의 경로에서 수행됩니다.
관련 정보