目錄

簡介

必要條件

需求

採用元件

背景資訊

AIGP指標屬性概述

BGP最佳路徑選取演演算法的變更

重要注意事項

適用於舊版路由器的解決方案

設定

啟用AIGP屬性的傳輸

發起AIGP

用於禁用AIGP繫結的旋鈕

適用於舊版路由器的解決方案

將AIGP轉換為成本社群

AIGP到MED的轉換

驗證

疑難排解

簡介

本檔案介紹如何設定Cisco IOS®中邊界閘道通訊協定(BGP)所承載的累積內部閘道通訊協定(AIGP)指標屬性。

必要條件

需求

本文件沒有特定需求。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

背景資訊

本節概述了AIGP指標屬性及其使用的一些重要注意事項。

AIGP指標屬性概述

公司可能希望實施一種網路設計，即使用多個內部網關協定(IGP)來拆分網路，每個協定都包含一個BGP自治系統。這是出於可擴充性的原因，因為網路對於一個IGP來說變得太大。BGP在承載某些路由時有助於擴展，否則這些路由將由IGP承載。使用AIGP的解決方案適用於具有不同受同一管理控制的BGP自治系統的網路。

以下是範例：

端到端服務是多協定標籤交換(MPLS)VPN。當網路中有大量提供商邊緣(PE)路由器時，IGP必須攜帶太多路由。解決方案是讓BGP承載PE路由器的環回介面。用於確保MPLS標籤交換路徑(LSP)不端到端中斷的解決方案是使用BGP IPv4 +標簽。這意味著PE路由器和連線不同IGP域的邊界路由器之間使用RFC 3107。

此解決方案的問題在於，邊界路由器或PE路由器無法再根據最短端到端度量來決定最佳路徑，因為不再有在整個網路中運行的IGP。此問題的解決方案是新的BGP屬性，稱為累計IGP指標屬性或AIGP指標屬性。此BGP不可傳遞屬性攜帶路徑的累計度量，以便BGP發言人接收這些路徑的端到端度量的知識。

BGP發言者必須在轉發路由之前將下一跳度量中的路由新增到AIGP度量屬性中的當前值。

附註：在比較本地優先順序後，立即執行一個路由的路徑比較。請參閱BGP最佳路徑選取演演算法思科檔案，以取得有關BGP最佳路徑選取演演算法的詳細資訊。

此解決方案類似於將多出口鑑別器(MED)設定為IGP度量的解決方案。但是在這種情況下，步驟6（最低MED）會決定最佳路徑。此步驟在步驟4之後，其中最短路徑決定最佳路徑。通常在到達步驟6之前已找到最佳路徑。使用AIGP解決方案時，會更改正常的BGP決定，以便在步驟3之後檢查AIGP，以確定路由是否已在本地通告。如果不同的鄰居自治系統(AS)與BGP發言人對等，則表示必須啟用always-compare-med值。

AIGP指標屬性在RFC 7311中指定，該屬性是BGP的累計IGP指標屬性。為了在成本社群中承載AIGP指標值，需要使用draft-retana-idr-aigp-cost-community(使用成本社群承載累計IGP指標)中指定的步驟。

附註：歸屬BGP AIGP指標可在不同路由域通過BGP互連的網路中提供最佳路由。

BGP最佳路徑選取演演算法的變更

使用AIGP時，系統會對BGP最佳路徑選取演演算法作以下變更：

- 修改BGP最佳路徑選擇演算法，以便在步驟3（本地通告路由）後立即並在驗證下一跳有效後比較AIGP。

- 當路由器根據AIGP路徑考慮AIGP路徑時，會將AIGP指標的值新增到通往下一躍點的指標中。

- 當路由器針對非AIGP路徑考慮AIGP路徑時，BGP會預設優先使用具有AIGP屬性的路徑。

- 將最低的IGP指標與BGP下一躍點比較時，會考慮AIGP成本。

- 如果通向下一跳的路由具有AIGP度量，則該度量將新增到通向下一跳的IGP度量中。此總和是路由的新IGP指標（內部成本）。當BGP路由遞迴到另一個BGP路由時，會發生這種情況。

重要注意事項

如果網路中的IGP屬於不同型別(開放最短路徑優先(OSPF)、中間系統到中間系統(IS-IS)、增強型內部閘道路由通訊協定(EIGRP))，則使用AIGP屬性產生的指標不會導致一致或合理的結果。如果在不同的域中使用相同的IGP，則必須使用相同的度量設定以確保一致的結果。

為使邊界路由器或PE路由器能夠確定多條路徑（基於AIGP衍生指標），它們必須首先接收多條路徑。因此，可能需要啟用其他路徑(ADD-Path)或通告最佳外部BGP功能。

為AIGP啟用的BGP對等體以及未置於單獨更新組中的對等體。此外，在成本群體中為AIGP啟用的BGP對等體會置於單獨的更新組中。

適用於舊版路由器的解決方案

如果網路中有路由器無法使用AIGP（舊版路由器），則有兩種可能的解決方案：

- 路由器可以將AIGP轉換為開銷社群，將其連線到路由，並將路由通告到舊版路由器。

- 路由器可以將AIGP轉換為MED，將其連線到路由，並將路由通告給舊版路由器。

設定

本節介紹如何配置AIGP度量屬性。

啟用AIGP屬性的傳輸

必須與明確啟用內部BGP(iBGP)和外部BGP(eBGP)會話的 neighbor ip-address aigp 指令。

以下是驗證BGP對等點是否啟用AIGP的方式：

P3#show bgp ipv4 unicast neighbors 10.1.9.2 | in AIGP

For address family: IPv4 Unicast

AIGP is enabled

發起AIGP

可以將AIGP設定為IGP度量或值。此外，AIGP只能針對某些特定路由設定，通過 route-map.當AIGP的發起者看到IGP指標發生變化時，它應該傳送一個新的BGP更新，其中包含受影響的路由的新AIGP值。

AIGP度量可以自動設定為IGP度量或某個任意32位值：

P1(config-route-map)#set aigp-metric ?

<0-4294967295>  manual value

igp-metric      metric value from rib

此示例說明如何將AIGP度量設定為IGP路由的度量：

ip prefix-list loopback seq 5 permit 10.100.1.1/32

!

route-map redistribute-loopback permit 10

match ip address prefix-list loopback

set aigp-metric igp-metric

用於禁用AIGP繫結的旋鈕

如果啟用此命令，則BGP不會使用AIGP斷開，除非兩個路徑都具有AIGP度量屬性。這表示當一條路徑沒有AIGP屬性時，不會在兩個路徑之間的最佳路徑選取流程中評估AIGP屬性。

以下是範例：

router bgp 65000

bgp bestpath aigp ignore

適用於舊版路由器的解決方案

如果路由器PE2沒有支援AIGP度量屬性的軟體（它是傳統路由器），則可以使用兩種解決方案。

將AIGP轉換為成本社群

配置路由器P3和P4，以便將IGP成本轉換為路由器可以通告給舊版路由器的成本群體：

P3#show run | beg router bgp

router bgp 65000

address-family ipv4

neighbor 10.1.9.2 activate

neighbor 10.1.9.2 send-community both

neighbor 10.1.9.2 aigp send cost-community 100 poi igp-cost transitive

P4#show run | beg router bgp

router bgp 65000

address-family ipv4

neighbor 10.1.10.2 activate

neighbor 10.1.10.2 send-community both

neighbor 10.1.10.2 aigp send cost-community 100 poi igp-cost transitive

您必須允許傳送的路由器傳送延伸社群。這意味著您必須指定 send-community extended 或 send-community both 屬性(neighbor x.x.x.x send-community)。

以下是範例：

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 6

Paths: (2 available, best #1, table default)

Advertised to update-groups:

6

Refresh Epoch 2

65000 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, localpref 100, valid, external, best

Extended Community: Cost(transitive):igp:100:6

mpls labels in/out 17/16

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 15

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, localpref 100, valid, external

Extended Community: Cost(transitive):igp:100:11

mpls labels in/out 17/30

rx pathid: 0, tx pathid: 0

如圖所示，路由器PE2選擇了成本最低(100:6與100:11)的路徑作為最佳路徑。

AIGP到MED的轉換

配置路由器P3和P4，以便將IGP成本轉換為路由器可以通告給舊式路由器的MED。

路由器P3上的配置如下：

router bgp 65000

address-family ipv4

neighbor 10.1.9.2 activate

neighbor 10.1.9.2 send-community both

neighbor 10.1.9.2 aigp send med

路由器P4上的配置如下：

router bgp 65000

address-family ipv4

neighbor 10.1.10.2 activate

neighbor 10.1.10.2 send-community both

neighbor 10.1.10.2 aigp send med

驗證

的輸出 debug bgp ipv4 unicast updates in 命令顯示AIGP指標屬性的用法：

PE2#

BGP(0): 10.1.9.4 rcvd UPDATE w/ attr: nexthop 10.1.9.4, origin ?, aigp-metric 22,

merged path 65000 65001, AS_PATH

當您檢視本文檔部分中提供的影象時，可以看到，網路AS 6500中的所有鏈路的OSPF開銷為10，路由器P1和P4之間以及P2和P3之間的鏈路的OSPF開銷為100，路由器P3和P1之間的鏈路的開銷為5。

如路由器P3所示，這是10.100.1.1/32的路由：

P3#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 9

Paths: (2 available, best #1, table default)

Additional-path-install

Path advertised to update-groups:

5

Refresh Epoch 5

65001

10.100.1.3 (metric 6) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x0, tx pathid: 0x0

Path not advertised to any peer

Refresh Epoch 5

65001

10.100.1.5 (metric 21) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, backup/repair, all

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x1, tx pathid: 0x1

這是路由器P4上看到的10.100.1.1/32的路由：

P4#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 9

Paths: (2 available, best #2, table default)

Additional-path-install

Path not advertised to any peer

Refresh Epoch 5

65001

10.100.1.3 (metric 16) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, backup/repair, all

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x0, tx pathid: 0x1

Path advertised to update-groups:

35

Refresh Epoch 5

65001

10.100.1.5 (metric 11) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x1, tx pathid: 0x0

如路由器PE2所示，這是10.100.1.1/32的路由：

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 4

Paths: (2 available, best #2, table default)

Advertised to update-groups:

5

Refresh Epoch 1

65000 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, localpref 100, valid, external

mpls labels in/out 18/17

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, localpref 100, valid, external, best

mpls labels in/out 18/30

rx pathid: 0, tx pathid: 0x0

路由器P3上的最佳路徑是具有IGP指標6的路徑，路由器P1是下一跳。路由器P4上的最佳路徑是具有IGP指標11的路徑，路由器P2是下一跳。路由器P3和P4向路由器PE2傳送它們的最佳路徑。路由器PE2選擇來自路由器P4的路徑作為最佳路徑，之所以這樣決定，是因為路由器PE2上的兩個BGP路徑非常相似，並且步驟10是分路器：最舊的外部路徑獲勝。這意味著從路由器PE2到路由器PE1的流量採用路徑PE2-P4-P2-PE1。但是，當您考慮IGP成本時，最短的總路徑是PE2-P3-P1-PE1。

使用以下資訊驗證通向路由器PE2(10.100.1.7)的路由器P3和P4上的AIGP度量屬性：

路由器P3的輸出如下：

router bgp 65000

address-family ipv4

bgp additional-paths select all

bgp additional-paths receive

bgp additional-paths install

neighbor 10.1.9.2 activate

neighbor 10.1.9.2 aigp

neighbor 10.1.9.2 send-label

neighbor 10.100.1.7 activate

neighbor 10.100.1.7 aigp

neighbor 10.100.1.7 next-hop-self

neighbor 10.100.1.7 send-label

路由器P4的輸出如下：

router bgp 65000

address-family ipv4

bgp additional-paths select all

bgp additional-paths receive

bgp additional-paths install

neighbor 10.1.10.2 activate

neighbor 10.1.10.2 aigp

neighbor 10.1.10.2 send-label

neighbor 10.100.1.7 activate

neighbor 10.100.1.7 aigp

neighbor 10.100.1.7 next-hop-self

neighbor 10.100.1.7 send-label

您可以看到路由器P3現在具有：

P3#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 30

Paths: (2 available, best #2, table default)

Additional-path-install

Path not advertised to any peer

Refresh Epoch 11

65001

10.100.1.5 (metric 21) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal,

backup/repair, all

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 28/31

rx pathid: 0x1, tx pathid: 0x1

Path advertised to update-groups:

5

Refresh Epoch 11

65001

10.100.1.3 (metric 6) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 28/30

rx pathid: 0x0, tx pathid: 0x0

路由器P4現在具有：

P4#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 30

Paths: (2 available, best #1, table default)

Additional-path-install

Path advertised to update-groups:

35

Refresh Epoch 11

65001

10.100.1.5 (metric 11) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 16/31

rx pathid: 0x1, tx pathid: 0x0

Path not advertised to any peer

Refresh Epoch 11

65001

10.100.1.3 (metric 16) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal,

backup/repair, all

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 16/30

rx pathid: 0x0, tx pathid: 0x1

路由器P3和P4上路徑的IGP度量沒有更改，但路由器PE2現在從路由器P3和P4接收具有AIGP屬性的路由。

路由器PE2可以看到兩條路徑。每個路徑都有AIGP屬性，而具有最低AIGP指標屬性的路徑現在會獲選：

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 6

Paths: (2 available, best #1, table default)

Advertised to update-groups:

5

Refresh Epoch 1

65000 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, aigp-metric 6, localpref 100, valid, external, best

mpls labels in/out 18/17

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, aigp-metric 11, localpref 100, valid, external

mpls labels in/out 18/30

rx pathid: 0, tx pathid: 0

如果從路由器P3收到的路徑長於從路由器PE2上的路由器P4收到的路徑，則路由器PE2仍會從路由器P3中選擇最佳路徑。您可以增加路由器P3通告的路徑，通過 route-map 和 as-prepending.

router bgp 65000

address-family ipv4

neighbor 10.1.9.2 route-map as_path out

route-map as_path permit 10

set as-path prepend last-as 1

現在，路由器PE2具有來自路由器P3的路由，在AS路徑中增加一個AS:

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 7

Paths: (2 available, best #1, table default)

Advertised to update-groups:

5

Refresh Epoch 1

65000 65001 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, aigp-metric 6, localpref 100, valid, external, best

mpls labels in/out 18/nolabel

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, aigp-metric 11, localpref 100, valid, external

mpls labels in/out 18/30

rx pathid: 0, tx pathid: 0

由於AIGP度量屬性，路由器PE2仍然從路由器P3中選擇最佳路徑。在檢查AS路徑長度之前執行AIGP檢查。

如果刪除在路由器P4上將AIGP傳送到路由器PE2的功能，則路由器PE2會收到來自路由器P4的沒有AIGP度量屬性的路徑。但是，路由器PE2仍然具有來自帶有AIGP的路由器P3的路徑。路由器PE2優先使用帶AIGP的路徑，而不是不使用AIGP的路徑，並且它從路由器P3中選擇最佳路徑：

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 2

Paths: (2 available, best #2, table default)

Advertised to update-groups:

6

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, localpref 100, valid, external

mpls labels in/out 17/30

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

65000 65001 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, aigp-metric 6, localpref 100, valid, external, best

mpls labels in/out 17/nolabel

rx pathid: 0, tx pathid: 0x0

附註：如果您希望路由器PE2在BGP最佳路徑選擇過程中忽略AIGP，請配置 bgp bestpath aigp ignore 指令。

疑難排解

目前尚無適用於此組態的具體疑難排解資訊。