MPLS virtual private network PE-CE之间的路由协议(静态、RIP、IS-IS)

静态路由:

在PE-CE之间使用静态路由是最简单的做法,但是静态路由具有以下两个缺点。

  1. 不能自动适应拓扑的变化。
  2. 如果VPN客户路由多,配置比较繁杂。

所以建议在PE-CE之间拓扑比较简单和VPN客户路由不多的场景下使用静态路由。要为VPN 实例设置静态路由,必须在静态路由后面关联上相应的VPN实例。

如图所示,PE-CE 之间可以使用静态路由,这里以CE1和 PE1的配置为例说明配置方法:

MPLS virtual private network PE-CE之间的路由协议(静态、RIP、IS-IS)
[CE1]ip route-static 10.1.20.0 24 172.16.1.1#访问Site2的下一跳为 PE1
[PE1]ip route-static vpn-instance vpna 10.1.10.0 24 172.16.1.2#网VPN实例的路由表中配置静态路由,下一跳为CE1

要想其他PE学习到该静态路由,需要在VPr实例中将其引入到BGP中,从而形成VPNv4路由,再通过MP-BGP通告给其他 PE,
如下配置,在PE1上将VPN实例中的静态路由引入到MP-BGP中。

Bgp 100
ipv4-family vpn-instance vpnaimport-route static

RIP:

RIP是一种简单的距离矢量路由协议,工作机制和配置都比较简单。但由于跳数上的限制,而且收敛速度比较慢,导致该路由协议不能用于大规模网络。目前,在一些小型分支企业利用其来完成简单的路由功能。

在PE上为客户的VPN实例配置RIP时,注意一个RIP进程只能属于一个VPN实例。如果在启动RIP进程时不绑定到VPN实例,则该进程属于公网进程。属于公网的RIP进程是不需要绑定VPN 实例的。

如图所示,在PE-CE 之间使用RIP来交换私网路由信息,这里以CE1和 PE1的配置为例说明具体的部署方法。
MPLS virtual private network PE-CE之间的路由协议(静态、RIP、IS-IS)
CE1配置:

rip 1
undo summary
version 2
network 10.0.0.0network 172.16.0.0#

PE1配置:

rip 1 vpn-instance vpna
#配置RIP进程并关联至 VPN 实例
undo summary
version 2
network 172.16.0.0
import-route bgp

bgp 100

ipv4-family vpn-instance vpnaimport-route rip 1
#将 VPN 实例中的 RIP路由引入至MP-BGP

在入站PE处,将RIP路由引入至MP-BGP时, Metric值(跳数)会被复制到BGP路由的MED值中;在另一侧的出站PE路由器上,在将该BGP路由引入到 VPN实例时,直接使用MED值作为RIP路由的跳数。也就是说,BGP通过MED携带RIP路由的跳数到达另一侧的PE时,再通过MED值还原出真实的RIP跳数。这样做的目的就是从用户的角度看,中间的MPLS骨干网是透明的。如图所示,在Site1中CE1有个直连网络10.1.10.0/24宣告到RIP进程后,可以观察到PE1的VPN实例路由表中这条路由的Metric是一跳,如下输出所示:
MPLS virtual private network PE-CE之间的路由协议(静态、RIP、IS-IS)
在 Site2中的CE2上观察路由,如下输出所示:
MPLS virtual private network PE-CE之间的路由协议(静态、RIP、IS-IS)

IS-IS:

PE-CE之间的路由协议也可以使用IS-IS。IS-IS和OSPF一样,也是一种链路状态协议,广泛应用于运营商网络。但是和OSPF不一样的是,IS-IS直接工作在二层,而不是IP层。关于IS-IS的原理细节可以参考相关RFC的书籍,这里不再作详细介绍。

和OSPF 一样,IS-IS可以将一个路田域划万山石1HA可将,所右T1区城连接起来。和L2两种,L1为普通区域,L2为骨干区域,通过L2区域可将所有L1区域连接起来。

IS-IS路由器的角色有L1、L2、L1/2。Ll路由器位于L1区域内,只能完成区域内的路由学习和计算;L2路由器位于骨干区域,完成区域间路由的学习和计算;L1/2路由器连接L1和L2区域,完成区域间路由的传递。华为VRP系统默认的角色为L1/2路由器。

用户VPN站点连接到MPLS VPN骨干网的模式可以使用L1或L2,对于IS-IS来说,MPLS VPN骨干网就好像IS-IS第三层(L3)网络,这就使得每个站点内部可以独立运行IS-IS进程,而且能学习到其他站点的路由,不需要维护跟其他站点之间的邻接关系。如下图所示,一个使用IS-IS作为PE-CE间路由协议的简单网络及配置例子:
MPLS virtual private network PE-CE之间的路由协议(静态、RIP、IS-IS)
该VPN用户有两个站点,都是使用L1的方式连接到MPLS VPN骨干网。和其他协议一样,在PE上必须在相应的VRF 中创建IS-IS进程,如下是IS-IS在 VRF中的配置。

sysname PE1
Isis 1 vpn-instance VPN-Acost-style wide
network-entity 49.0001.0000.0000.0002.00import-route bgp

bgp 100

ipv4-family vpn-instance VPN-A
import-route isis 1 level-1

如上输出所示,启动IS-IS进程并将其关联到VPN实例VPN-A,在NET中定义区域地址和系统ID,并且在 BGP和 IS-IS进程实现双向路由引入。

就像OSPF一样,PE-CE运行IS-IS路由协议时,还得考虑CE双归属的场景下的路由环路问题。RFC 2966为IS-IS定义了一个Up/Down位,这个比特位的作用有点像OSPF的 DN比特位。如果该位置为0,说明了路由起源于L1区域;如果该位置为1,说明路由是从L2区域引入到L1区域的。在 MPLS VPN环境中,一台PE路由器在从BGP学到的VPNv4路由通告给IS-IS 时会将Up/Down位置为1。在同个站点的其他PE上,在将VPN实例中的IS-IS 路由引入到 BGP之前,会检查Up/Down位是否被置为1。如果已经设置为1,那么就不会将该IS-IS路由引入到BGP了,从而避免了潜在的路由环路。IS-IS TLV 128和 TLV 130的默认度量字段中,Up/Down 比特位于高位。

整理资料来源:《华为HCIE路由交换学习指南》

上一篇:2021-01-25


下一篇:MPLS virtual private network PE-CE之间的路由协议(OSPF)