目录

简介

先决条件

要求

使用的组件

背景信息

AIGP指标属性概述

对BGP最佳路径选择算法的更改

重要注意事项

传统路由器解决方案

配置

启用AIGP属性的传输

发起AIGP

禁用AIGP断线的Knob

传统路由器解决方案

AIGP到成本社区的转换

AIGP到MED的转换

验证

故障排除

简介

本文档介绍如何配置Cisco IOS®中边界网关协议(BGP)携带的累积内部网关协议(AIGP)度量属性。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

本部分概述AIGP度量属性以及有关其使用的一些重要注意事项。

AIGP指标属性概述

公司可能希望实施网络设计，其中网络使用多个内部网关协议(IGP)进行拆分，每个协议都使用一个BGP自治系统。这是出于可扩展性原因，即网络对于一个IGP而言变得太大。当BGP传输IGP传输的某些路由时，BGP有助于扩展。使用AIGP的解决方案适用于具有不同BGP自治系统且处于一个管理控制下的网络。

示例如下：

端到端服务是多协议标签交换(MPLS)VPN。当网络中存在大量提供商边缘(PE)路由器时，IGP必须承载太多路由。解决方案是让BGP传输PE路由器的环回接口。用于确保MPLS标签交换路径(LSP)不会端到端中断的解决方案是使用BGP IPv4 +标签。这意味着PE路由器和边界路由器之间使用RFC 3107，边界路由器连接不同的IGP域。

此解决方案的问题在于边界路由器或PE路由器无法再根据最短度量端到端确定最佳路径，因为整个网络中不再有一个IGP运行。此问题的解决方案是新的BGP属性，称为“累计IGP度量属性”或AIGP度量属性。此BGP非传递属性承载路径的累计度量，以便BGP发言者接收这些路径的端到端度量的知识。

在转发路由之前，BGP发言者必须将路由添加到AIGP度量属性中的当前值中的下一跳度量。

注意：在比较本地优先级后，立即执行一条路由的路径比较。有关BGP最佳路径选择算法的详细信息，请参阅BGP最佳路径选择算法Cisco文档。

此解决方案类似于将多出口鉴别器(MED)设置为IGP度量的解决方案。但是，在本例中，步骤6（最低MED）决定最佳路径。此步骤在步骤4之后进行，其中最短路径决定最佳路径。通常在到达步骤6之前已找到最佳路径。使用AIGP解决方案时，会更改正常BGP决策，以便在步骤3后检查AIGP，以确定路由是否在本地通告。如果与BGP发言者的邻居自治系统(AS)不同，则意味着必须启用始终比较-med值。

AIGP度量属性在RFC 7311中指定，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对等体和未启用的BGP对等体将放入单独的更新组。此外，在成本社区中为AIGP启用的BGP对等体将放置到单独的更新组中。

传统路由器解决方案

如果网络中有路由器不支持AIGP（传统路由器），则有两种可能的解决方案：

- 路由器可以将AIGP转换为开销社区，将其附加到路由，并将路由通告给传统路由器。

- 路由器可以将AIGP转换为MED，将其附加到路由，并将路由通告给传统路由器。

配置

本节介绍如何配置AIGP度量属性。

启用AIGP属性的传输

必须为与的内部BGP(iBGP)和外部BGP(eBGP)会话明确启用AIGP 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断线的Knob

如果启用此按钮，则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 attributes(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

这是10.100.1.1/32的路由，如路由器P4所示：

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。

使用以下信息验证路由器P3和P4上指向路由器PE2(10.100.1.7)的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收到的路径比从路由器P4在路由器PE2上收到的路径长，则路由器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仍具有从路由器P3到AIGP的路径。路由器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 命令。

故障排除

目前没有针对此配置的故障排除信息。