许多网络中拥有多个相对独立的业务系统,既需要采用MPLS VPN技术进行隔离,也需要在一些特定条件下做到受控访问。因此要采用MPLS VPN技术进行隔离。但由于涉及到联合审批、网上公文传送等跨VPN业务,又需要各VPN之间也就是各VRF(VPN Routing Forwarding,VPN路由转发)之间能够建立直接的通信。有一种方法可以在实现VRF之间通信的同时,大大减少PE(Provider Edge,服务提供者边界路由器)设备中的路由配置。
这种方法通过在现有VRF静态路由的基础上加以扩展,通过配置到其他VRF的下一跳为出接口名的子网静态路由,即在PE的各个VRF中配置到其他VRF的子网路由前缀和出接口名称的静态路由,也就是配置的时候可以不指定具体的下一跳,在转发报文前使用ARP获得二层头中的目的MAC地址,这样就可以在PE上通过有限的几条扩展静态路由代替大量的主机静态路由,减少PE的内存消耗,实现VRF之间的快速通信,提高了带宽利用率。
以PE内的两个VRF:VRFa、VRFb为例对本方法的具体实现步骤进行说明。若采用原来的静态路由配置,要在PE设备上进行如下配置,即要为PE配置不同的下一跳地址:
ip route vrf VRFa 10.1.2.2 255.255.255.255 eth 0/1 10.1.2.2
……
这样可以从VRFb中的任何一个PC访问VRFa中的CE设备,也可以从VRFa中的CE设备访问VRFb中的任何一台PC,实现了VRFa和VRFb的互访。但如果需要对其扩展,如在VRFb的site中增加20台PC,并分配IP地址为10.1.2.x等,就导致必须再在PE中配置20条诸如ip route vrf VRFa 10.1.2.x 255.255.255.255 eth 0/1 10.1.2.x的静态路由,这就大大增加了配置的重复性,限制了静态路由的应用。本方法则采用静态路由的简化配置即可实现不同VRF之间的通信。首先,在CE上和PC上要分别配置默认路由指向PE,这里,CE和PE间及PC和PE间的路由分发可以采用OSPF或者RIP等方式,目的是生成CE到PE的路由。然后在PE上进行如下配置:
ip route vrf VRFa 10.1.2.0 255.255.255.0 eth 0/1
该命令指明了从VRFa中来的报文,如果要发送到10.1.2.0/24,就必须从eth 0/1出去;
ip route vrf VRFb 10.1.1.0 255.255.255.0 eth 0/0
该命令指明了从VRFb中来的报文,如果要发送到10.1.1.0/24,就必须从eth 0/0出去。
这样,由于路由所在的VRF和出接口的VRF不同,就实现了VRF的互访,两个不同的VRFa和VRFb就可以通信了。