考虑PE和CE路由器使用外部BGP对等对方的物理地址的情况。请注意,该示例显示了在使用或不使用MPLS的情况下需要多径BGP的场景。CE1和PE1正在运行EBGP以共享路由。示例7-13查看CE1上的路由表以到达服务器10.2.4.1。虽然存在两个路径达到10.2.4.1,但路由表中只有一条路径。如第6章所示,CEF将遵循路由表,并且仅在FIB中安装一个路径,因为该路由表中的所有路径。
例7-13 10.2.4.1的CE1路由和FIB表项
CE1 #显示IP路由10.2.4.1路由表项for 10.2.0.0/16 Known via "bgp 65001", distance 20, metric 0 Tag 65100, type external Last update from 10.3.1.1 00:04:40 ago显示IP CEF 10.2.4.110.2.0.0/16, version 14, epoch 0, cached adjacency to Serial3/0 0包,0字节通过10.3.1.1,0依赖,递归下一跳10.3.1.1,Serial3/0通过10.3.1.0/30有效的缓存邻接
问题是BGP只通过路由表的最佳路径。在实施例7-14中,通过10.3.1.1的路径是最好的路径。PE1通过两个BGP邻居连接传递两条路径。但是,CE上的BGP只能选择一个路径作为最佳路径。CEF仅使用路由表中指定的内容。因此,问题是如何获取BGP在CE路由表中安装这两个路径。
例7-14 CE1的BGP表
CE1 #显示IP BGP 10.2.4.1BGP routing table entry for 10.2.0.0/16, version 3 Paths:(2 available, best #2, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.3.1.5 65100 65005 10.3.1.5 from 10.3.1.5 (192.168.2.2) Origin IGP, localpref 100, valid, external 65100 65005 10.3.1.1 from 10.3.1.1 (192.168.2.2) Origin IGP, localpref 100, valid, external, best . BGP routing table entry for 10.2.0.0/16, version 3
选项是配置BGP多路径,允许BGP在路由表中同时安装这两条路径,如例7-15所示。
示例7-15 CE1的BGP多径配置
CE1 #配置终端输入配置命令,一行一个。结尾CNTL / Z。CE1(配置)#路由器BGP 65001.CE1(Config-Router)#maximum-path 2CE1(Config-Router)#结束CE1 # CE1 #显示运行|B路由器BGP.路由器BGP 65001无同步BGP日志邻居 - 更改网络10.1.0.0 MASK 255.255.0.0邻居10.3.1.1远程-A至65100邻居10.3.1.5远程-AS 65100最大路径2无自动摘要!!简洁省略的输出
注意,在添加了最大路径配置之后,CE1仍然将一条路径标记为最佳路径,但它也将这两条路径标记为多路径并将它们安装到路由表中。在CE1上启用eBGP多路径后,CE1将同时使用两条路径到达10.2.4.1。
例7-16 BGP多路径校验
CE1 #显示IP BGP 10.2.4.1for 10.2.0.0/16, version 5的BGP路由表项路径:(2 available, best #2, table Default-IP-Routing-Table)来自10.3.1.1 (192.168.2.2)Origin IGP, localpref 100, valid, external, multipath, best CE1#显示IP路由10.2.4.1路由表项for 10.2.0.0/16已知via "bgp 65001",距离20,metric 0 Tag 65100, type external* 10.3.1.1, from 10.3.1.1, 00:10:41 ago Route metric is 0, traffic share count is 1 AS Hops 2 10.3.1.5, from 10.3.1.5, 00:10:41 ago Route metric is 0, traffic share count is 1 AS Hops 2 CE1#显示IP CEF 10.2.4.110.2.0.0/16, version 15, epoch 0, per-destination sharing 0 packets, 0 bytes via 10.3.1.1, 0 dependencies, recursive traffic share 1 next hop 10.3.1.1, Serial3/0 via 10.3.1.0/30 valid adjacency via 10.3.1.5, 0 dependencies, recursive traffic share 1 next hop通过前缀tmstats切换的0字节:外部0包,0字节内部0包,0字节
解决了从CE到PE方向的负荷分担问题。然而,在体育教育向体育教育的方向上仍然存在一个问题。为了让PE1同时使用这两条路径到达10.1.1.1,PE1上还需要多路径。请记住,对于MPLS VPN,如果这是已知的唯一方法,那么所有远程位置都将跨越核心指向PE1,以到达CE1或CE1后面的目的地。在没有使能多路径的情况下,PE1的LFIB显示例7-17所示信息。
例7-17 PE1的LFIB无多路径配置验证
PE1 #查看MPLS forwarding VRF red 10.1.1.1本地外出前缀字节标签标签下一跳标签标签或VC或隧道ID切换接口19未标记的10.1.0.0/16 [0 SE2 / 0 POINT2POINT
LFIB中只有一条路径是已知的。查看例7-18中PE1的路由表和CEF表。
例7-18 PE1的VRF红色路由和FIB表在没有多路径配置的情况下的校验
PE1 #Show IP cef VRF red 10.1.1.110.1.0.0/16,版本11,epoch 0,缓存邻接到序列号0 0 0包,0字节标签信息集本地标签:19通孔10.3.1.2,0依赖项,递归下一跳10.3.1.2,串口2/0通过10.3.1.0 / 30有效的缓存邻接标签与SE2 / 0,POINT2POINT,施加的标签:{} PE1#查看IP route VRF red 10.1.1.1路由表项for 10.1.0.0/16 Known via "bgp 65100", distance 20, metric 0 Tag 65001, type external Last update from 10.3.1.2 00:02:59 ago路由描述块:* 10.3.1.2,from 10.3.1.2, 00:02:59 ago路由metric为0,traffic share count is 1 AS Hops 1
VRF红色路由表和相应的CEF表中只有一条路径是已知的。现在,例7-19显示了该VRF的BGP表,以验证该级别是否有多条路径可用。
示例7-19 VRF RED的BGP表验证
PE1 #显示IP BGP vpnv4 VRF red 10.1.1.1BGP routing table entry for 1:1:10.1.0.0/16, version 25296 Paths:(2 available, best #2, table red) Advertised to non peer-group peers: 10.3.1.6 192.168.4.4 65001 10.3.1.6 from 10.3.1.6 (10.3.1.6) Origin IGP, metric 0, localpref 100, valid, external Extended Community:RT:1:1, mpls labels in/out 19/nolabel 65001 10.3.1.2 from 10.3.1.2 (10.3.1.6) Origin IGP, metric 0, localpref 100, valid, external, best Extended Community: RT:1:1, mpls labels in/out 19/nolabel
因此,这两个路径都在BGP表中,但路由中只有一条路径可用,用于VRF红色的CEF表。示例7-20显示了用于添加该VRF的多径的配置。
示例7-20 PE1上的多径配置
PE1 #CONF T.输入配置命令,一行一个。结尾CNTL / Z。PE1(配置)#路由器BGP 65100.PE1 (config-router) #Address-family ipv4 VRF红色PE1 (config-router-af) #maximum-path 2
现在,查看例7-21中的BGP表,两条路径都被标记为multipath。
示例7-21在PE1上验证BGP多径配置
PE1 #显示IP BGP vpnv4 VRF red 10.1.1.1BGP routing table entry for 1:1:10.1.0.0/16, version 25298 Paths:(2 available, best #2, table red) Multipath: eBGP Flag: 0x800 Advertised to non peer-group peers: 10.3.1.6 192.168.4.4 65001 10.3.1.6 from 10.3.1.6 (10.3.1.6) Origin IGP, metric 0, localpref 100, valid, external, Multipath Extended Community:RT:1:1, mpls labels in/out 19/nolabel 65001 10.3.1.2 from 10.3.1.2 (10.3.1.6) Origin IGP, metric 0, localpref 100, valid, external, multipath, best Extended Community: RT:1:1, mpls labels in/out 19/nolabel
在例7-22中,这两条路径分别在VRF路由表、VRF CEF表和LFIB中。
例7-22 PE1多路径负载分担验证
PE1 #查看IP route VRF red 10.1.1.1Routing entry for 10.1.0.0/16 Known via "bgp 65100", distance 20, metric 0 Tag 65001, type external Last update from 10.3.1.6 00:01:19 ago* 10.3.1.2, from 10.3.1.2, 00:05:40 ago Route metric is 0, traffic share count is 1 AS Hops 1 10.3.1.6, from 10.3.1.6, 00:05:40 ago Route metric is 0, traffic share count is 1 AS Hops 1 PE1#Show IP cef VRF red 10.1.1.110.1.0.0/16,版本12,epoch0,每目标共享0数据包,0字节标记信息集本地标签:19通孔10.3.1.2,0依赖项,递归流量共享1下一跳10.3.1.2,串口2/0通过10.3.1.0/30有效的邻接标记与SE2 / 0,POINT2POINT,施加的标签:{}通过10.3.1.6,0依赖项,递归流量共享1下一跳10.3.1.6,erial3 / 0通过10.3.1.4/30有效邻接标记重写与SE3 / 0,POINT2POINT,施加的标签:{} 0数据包,0字节通过前缀TMSTATS切换:外部0数据包,0字节内部0数据包,0字节PE1#查看MPLS forwarding VRF red 10.1.1.1本地传出前缀字节标签标签出现的下一跳标签标签或VC或隧道ID切换接口19未标记的10.1.0.0/16 [0 SE2 / 0 POINT2POINT UNTAGGED 10.1.0.0 / 16 [0 SE3 / 0 POINT2POINT
对于MPLS VPN,可以使用显示IP cef VRF<名称>确切路线命令查看流量在PE上经过的路径,示例7-23。
例7-23 10.2.4.1中PE1上的路径校验
PE1 #显示IP cef VRF red exact-route 10.2.4.1 10.1.1.110.2.4.1 -> 10.1.1.1: Serial2/0(下一跳10.3.1.2)
来自服务器10.2.4.1的Traceroute确认从10.2.4.1到10.1.1.1的流量通过PE1上的串行2/0采用路径。流量来自10.2.9.3至10.1.1.1采用不同的路径,如示例7-24所示。
例7-24 10.2.9.3中的PE1上的路径校验
PE1 #显示IP cef VRF red exact-route 10.2.9.3 10.1.1.110.2.9.3 -> 10.1.1.1: Serial3/0(下一跳10.3.1.6)
在PE和CE路由器之间这种情况下加载共享的另一种方法是使用EBGP多跳。通过BGP凝视环回地址并使用STARES到达环回地址将允许CEF执行递归并使用这两个路径。
在这种情况下,使用静态或其他路由协议,如开放最短路径优先协议(OSPF)、增强内部网关路由协议(EIGRP)或路由信息协议(RIP),也可以实现负载分担。关键是要理解CEF是一个基本的构建块,它依赖于路由表。从MPLS网络到CE网络(标签到IP), PE路由器必须查看进入的MPLS包,并对源IP地址和目的IP地址进行哈希,以确定出接口。因此,流量共享仍然是以流量为基础的。
有些客户使用多链路PPP (multilink PPP)代替CEF在PE和CE之间进行负载分担。查看Cisco.com上的Feature Navigator或Software Advisor,以验证在MPLS VPN情况下,您的硬件或软件是否可用。
在所有情况下,PE和CE之间添加多条链路都会消耗内存和CPU资源。在添加链接和复杂性时要小心,以避免网络可伸缩性问题。
PE-CE负载共享:站点多归属于不同的pe
在某些情况下,可能需要在vpn之间与连接到多个PE路由器的其他CE路由器共享资源。通过引入vrf之间的路由,可以通过创建外网实现不同vpn之间的资源共享。在这样一个多主机环境中,有时跨所有已知路径进行负载共享是很方便的。eBGP和iBGP的BGP Multipath Load Sharing特性允许在MPLS vpn中配置eBGP和iBGP路径的多路径负载分担。这就是所谓的eiBGP多路径。
eiBGP多路径特性使核心路由器能够通过iBGP路径或eBGP路径将流量通过多条路径发送到目的地。在MPLS VPN网络中,在从eBGP和iBGP路径引入路径的VRF中,PE路由器可以同时使用eBGP和iBGP路径,并将它们安装到路由表中。通常情况下,pe只使用eBGP路径到达CE目的地。PE在eBGP路径上发送的报文作为IP报文离开,iBGP路径上发送的报文作为MPLS报文离开。当其他PE收到MPLS报文时,PE只查找标签,这样eiBGP多路径不会产生环路。缺省情况下,eiBGP multipath通过安装多条路径实现负载分担不均。
配置eiBGP多路径特性时,请使用maximum-paths eibgp< n >命令。此命令最多可安装n如果第一个自主系统(AS)相同,并且如果路径选择算法中的适当步骤均相等。多退出鉴别器(MED)不是确定路径是否适合多径的标准的一部分,因为这是不同类型路线的比较。
在图7-6中,对于VRF蓝色的流量,通过PE1,PE1将始终使用EBGP路径。在示例7-25中,请注意,EBGP路径是通过LFIB和VRF路由表已知的唯一路径。
MPLS VPN外部网
示例7-25验证10.2.0.0的LFIB和路由表
PE1 #查看MPLS转发VRF蓝色10.2.0.0本地传出前缀字节标签标签外出的下一跳标签标签或VC或隧道ID交换接口20未标记10.2.0.0 / 16 [0 SE3 / 0 POINT2POINT PE1#显示IP路由VRF Blue 10.2.0.0路由条目10.2.0.0/16已知通过“bgp 65100”,距离20,metric 0 tag 65005,键入外部上次更新从10.9.1.2 00:04:222前路由描述符块:* 10.9.1.2,从10.9.1.2,00:04:22前路由度量为0,流量份额计数为1跳1
但是,查看示例7-26中的BGP表,已知两个路径:通过外部BGP的一条路径,另一条路径通过来自PE2的内部BGP学习的VRF红色的导入路径。