众所周知,在MPLS VPN网络中,所有的PE路由器都只会维护直连VPN所需要的ipv4路由信息,这个特性是通过只输入特定的VPN-IPv4路由实现的,这些特定的路由与VRF中RT的配置相关,然而,这种实现方式会产生一个问题,在PE路由器的MP-BGP路由表中会维护所有的BGP路由,即使有些路由未被用于任何VRF,这样无论是在PE路由器内存方面,还是在将这些信息跨越骨干网络通告给不使用它的PE路由器方面,这都是很明显的资源浪费。
基于以上的认识,MP-BGP通过一些机制来避免上诉问题的发生:“PE路由器上的自动路由过滤(ARF):由于PE路由器可能接收到一些他们不需要的路由信息,因此,我们希望能够在入口对PE路由器收到的MP-IBGP路由更新进行过滤,自动路由过滤特性满足了过滤的需求,当PE路由器收到的MP-IBGP路由所含的RT值,与任何PE中配置的VRF不匹配时,PE路由器会将其丢弃,以减少PE所需储存在内存中的信息量,所有的PE路由器默认启用该特性,无需使用任何额外的配置来启用它。
如果该PE路由器同时为其他PE路由器充当路由反射器,或者说该PE路由器同时作为MP-EBGP的对等体需要交互跨域VPN信息时,我们需要禁用该特性,使用命令:no bpg default router-filter " BGP路由刷新:由于PE路由器上启用了自动路由过滤功能,当PE路由器的配置发生变化时,比如添加了新的VRF或者删除了已有的VRF,PE路由器对于VPN路由的"需求"可能得不到及时的满足,因此,BGP提供了路由刷新机制来实现这一目标,当使用了这个特性之后,在更改配置后的一段短时间以后,PE路由器就会要求他的MP-IBGP邻居重传路由更新,以获得丢失的VPN-IPv4信息,同时,我们也可以利用该功能,使用命令clear ip bgp * vpnv4 unicast in,手工的刷新VPN路由信息,键入该命令后,路由器将向所有的PE邻居发送一条路由刷新请求。
ORF:路由刷新和自动路由过滤机制(AFR)特性能够减少PE路由器需要维护的路由信息数量,但是无用的路由信息还是会在网络中传播,而只是在到达特定的PE路由器之后被丢弃,为了避免网络资源的浪费,BGP提供ORF特性向其邻居通告自己的入向路由过滤器,从而使得不必要的路由信息在到达接收方PE路由器之前就能够被过滤掉,ORF字段在两PE路由器器建立会话阶段通过OPEN消息进行交换。
分离PE路由器之间的MP-IBGP会话每台PE路由器只需要收到它们服务的VPN的路由,因此,我们可以将MPLS VPN网络根据VPN服务对象的不同将不同的PE路由器划入独立的MP-IBGP集群中去,同一个集群中PE路由器建立full mesh的MP-IBGP会话。
路由反射器和联盟在大型网络中,full mesh的BGP会话对于网络的可扩展性有非常大的限制,可通过路由反射器和联盟来减少域内的MP-IBGP会话数量。
路由反射器组:通过在路由反射器上配置一个RT列表指定特定的VPN路由,通过配置路由反射器组,使得该路由反射器利用ORF通告其入站路由过滤器,这样使PE客户端路由器不会将无用的路由发送到路由反射器上。相关命令:bgp rr-group {extcom-list-number}
【编辑推荐】