简介
本文档介绍边界网关协议(BGP)权重路径属性在网络故障切换场景中的重要性。
先决条件
要求
Cisco 建议您了解以下主题:
- 边界网关协议 (BGP)
- 路由协议重分发
- 运行Cisco IOS®的Cisco路由器
使用的组件
本文档中的信息基于采用Cisco IOS® 15.6(2)版的Cisco路由器
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
BGP通常用于在通过内部网关协议(IGP)从LAN区域网络(LAN)收到网络前缀后将网络前缀通告到WAN(WAN),反之亦然。如果没有正确的配置,BGP在网络从链路故障中恢复后可能无法通过WAN恢复原始路由路径。
在故障转移场景中部署的路由器可能会出现路由滞留的情况,从而导致发生故障和恢复网络事件后,流量通过备份路径重定向。这可能是由于BGP权重路径属性的性质。
发生网络故障后(通常通过WAN链路),网络可以收敛并使用通过IGP接收的可用备用路径。
但是,恢复主路径后,路由器仍然可以使用备用路径,并且无法通过WAN链路恢复原始路由。
可以看到非对称路由路径和次优路由路径等后果。
在使用两个WAN路由器的冗余方案中,它们可以运行BGP以与WAN交换网络前缀。类似IGP的增强型内部网关路由协议(EIGRP)可用于与LAN网络设备交换网络前缀。这些协议之间的相互重分发通常是实现完全网络连接所必需的。
注意:本文档使用术语前缀和路由可以互换使用。
在下一个拓扑中可以看到此高级设计:
在本地发起的路由中设置的BGP权重路径属性
下一个场景描述故障转移情况下BGP权重路径属性的行为。
步骤1:路由通过BGP接收。
如图所示,名为WAN RTR的路由器通过BGP接收192.168.1.0/24网络。
管理距离(AD)为20时,该路由会安装到路由表中。
BGP表:
WAN_RTR |
WAN_RTR#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
*> 192.168.1.0 10.1.2.2 0 0 2 i
|
路由表显示了BGP安装的路由:
WAN_RTR |
WAN_RTR#show ip route
<snip>
B 192.168.1.0/24 [20/0] via 10.1.2.2, 00:00:42
|
第二步:路由通过EIGRP接收。
BGP会话由于链路故障而中断。通过网络收敛,同一路由192.168.1.0/24现在通过EIGRP接收。
关键是BGP可以通告或重新分发EIGRP路由(在下一路由器配置的帮助下)。如果是这种情况,EIGRP路由现在已添加到BGP表中。
注意:当路由器在本地发起网络前缀时,BGP权重路径属性默认设置为32768。
BGP配置:
WAN_RTR |
WAN_RTR#show running-config | begin router bgp
<snip> router bgp 1
redistribute eigrp 1
neighbor 10.1.2.2 remote-as 2
! |
注:BGP命令network 192.168.1.0 mask 255.255.255.0可显示相同结果。
BGP表:
WAN_RTR |
WAN_RTR#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
*> 192.168.1.0 10.1.3.3 156160 32768 ?
|
路由表显示了EIGRP安装的路由:
WAN_RTR |
WAN_RTR#show ip route
<snip>
D 192.168.1.0/24 [90/156160] via 10.1.3.3, 00:00:02, FastEthernet0/1
WAN_RTR# |
第三步:路由再次通过BGP接收。
EIGRP路由现在重分发到BGP中,并且在通过BGP再次收到原始路由后,BGP表中现在有2个用于192.168.1.0/24网络的条目。
BGP表:
WAN_RTR |
WAN_RTR#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
* 192.168.1.0 10.1.2.2 0 0 2 i
*> 10.1.3.3 156160 32768 ?
|
在BGP表中:
— 仍然可以看到步骤2中由重分配到BGP的EIGRP路由创建的条目。
— 原始路由通过重新建立的BGP会话添加回来。
从BGP最佳路径选择角度:
— 重分配到BGP的EIGRP路由的Weight path属性的值设置为32768,因为它是从BGP角度在路由器本地发起的。
— 通过与WAN的BGP会话接收的原始路由的“权重”路径属性的值为0。
— 第一条路由具有最高权重,因此在BGP表中被选为最佳路由。
— 这会导致路由表不会收敛到原始状态并保留EIGRP路由条目。
注:BGP Weight Path属性是BGP在Cisco IOS路由器的BGP表中选择最佳路径时检查的第一个路径属性。BGP首选具有最高权重的条目的路径。权重是Cisco特定的参数,仅在配置该参数的路由器中具有本地意义。通过BGP最佳路径选择算法获得更多信息。
路由表:
WAN_RTR |
WAN_RTR#show ip route
<snip>
D 192.168.1.0/24 [90/156160] via 10.1.3.3, 00:08:55, FastEthernet0/1
|
修改BGP权重路径属性
使用weight命令或route-map,可以在配置的每个BGP对等体中修改BGP权重路径属性的默认值。
以下命令将从BGP对等体接收的所有路由的权重路径属性设置为40000。
示例 1
使用weight命令 |
router bgp 1
neighbor 10.1.2.2 weight 40000 |
示例 2
使用route-map命令设置权重路径属性 |
route-map FROM-WAN permit 10
set weight 40000
!
router bgp 1
neighbor 10.1.2.2 route-map FROM-WAN in
!
clear ip bgp * soft in |
示例 3
使用route-map命令为某些路由设置权重路径属性 |
ip prefix-list NETWORKS permit 192.168.1.0/24
!
route-map FROM-WAN permit 10
match ip address prefix NETWORKS
set weight 40000
route-map FROM-WAN permit 100
!
router bgp 1
neighbor 10.1.2.2 route-map FROM-WAN in
!
clear ip bgp * soft in |
随着Weight路径属性的值增加,通过BGP接收的原始路由优先于下一情况:
步骤1:路由通过BGP接收。
BGP Table显示通过BGP接收的路由现在的Weight值为40000而不是零。
BGP表:
WAN_RTR |
WAN_RTR#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
*> 192.168.1.0 10.1.2.2 0 40000 2 i
WAN_RTR# |
路由表:
WAN_RTR |
WAN_RTR#show ip route
<snip>
B 192.168.1.0/24 [20/0] via 10.1.2.2, 00:09:53
|
第二步:路由通过EIGRP接收。
本地路由在BGP表中仍然具有32768值。
BGP表:
WAN_RTR |
WAN_RTR#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
*> 192.168.1.0 10.1.3.3 156160 32768 ?
|
路由表:
WAN_RTR |
WAN_RTR#show ip route
<snip>
D 192.168.1.0/24 [90/156160] via 10.1.3.3, 00:01:41, FastEthernet0/1
|
第三步:路由再次通过BGP接收。
使用Weight 40000,通过BGP接收的路由现在会优先于本地发起的路由。这使网络正确收敛到原始状态。
BGP表:
WAN_RTR |
WAN_RTR#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
*> 192.168.1.0 10.1.2.2 0 40000 2 i
|
路由表:
WAN_RTR |
WAN_RTR#show ip route
<snip>
B 192.168.1.0/24 [20/0] via 10.1.2.2, 00:00:25
|
实际案例场景
以下一个场景为例:
步骤1:原始网络状态。
核心层第3层交换机通过EIGRP从WAN RTR A和WAN RTR B接收192.168.1.0/24路由。WAN RTR A上的路径已选定。
下一个输出显示CORE交换机如何与两个WAN路由器保持EIGRP邻接关系,并显示WAN RTR A被选举到192.168.1.0/24网络。
核心 |
CORE#show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.2.2 (WAN_RTR_A) Fa0/0 10 00:05:15 79 1066 0 10
1 10.1.3.3 (WAN_RTR_B) Fa0/1 12 00:06:22 76 456 0 5
CORE#show ip route
<snip>
D EX 192.168.1.0/24 [170/28416] via 10.1.2.2, 00:00:32, FastEthernet0/0
CORE#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(10.10.10.10)
<snip>
P 192.168.1.0/24, 1 successors, FD is 28416, tag is 4
via 10.1.2.2 (28416/2816), FastEthernet0/0
via 10.1.3.3 (281856/2816), FastEthernet0/1 |
第二步:主WAN链路故障。
在链路发生故障时,CORE交换机现在通过第二佳EIGRP路径(WAN RTR B)安装路由。
核心 |
CORE#show ip route
<snip>
D EX 192.168.1.0/24 [170/281856] via 10.1.3.3, 00:00:05, FastEthernet0/1
CORE#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(10.10.10.10)
<snip>
P 192.168.1.0/24, 1 successors, FD is 28416, tag is 4
via 10.1.3.3 (281856/2816), FastEthernet0/1 |
第三步:恢复主WAN链路。
主WAN链路已恢复。但是,CORE交换机仍然通过备用路径进行路由,如下面的输出所示:
核心 |
CORE#show ip route
<snip>
D EX 192.168.1.0/24 [170/281856] via 10.1.3.3, 00:06:09, FastEthernet0/1
CORE#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(10.10.10.10)
<snip>
P 192.168.1.0/24, 1 successors, FD is 28416, tag is 4
via 10.1.3.3 (281856/2816), FastEthernet0/1 |
此行为的原因在于前面讨论过的BGP权重路径属性。
在当前状态下,WAN RTR A显示路由表中通过EIGRP的路由,以及BGP表中从EIGRP重新分发的路由,因为权重路径属性的最大值比从重新建立的WAN链路中通过BGP接收的路由的权重值更高。
WAN_RTR_A |
WAN_RTR_A#show ip bgp
<snip>
Network Next Hop Metric LocPrf Weight Path
* 192.168.1.0 10.2.4.4 0 0 4 i
*> 10.1.2.1 284416 32768 ?
WAN_RTR_A#show ip bgp summary
BGP router identifier 10.20.20.20, local AS number 2
<snip>
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.2.4.4 4 4 12 12 16 0 0 00:03:54 (UP) 4
WAN_RTR_A#show ip route
<snip>
D EX 192.168.1.0/24 [170/284416] via 10.1.2.1, 00:08:22, FastEthernet0/0
|
本文档中涉及的行为在现场已广泛可见。网络拓扑和初始症状可能与所涵盖的示例不同。但是,根本原因可以是,并且通常如本文档所述。必须验证配置和方案是否满足网络部署中出现此情况的变量。