clip_p_w_picpath002

VRF可以在PE路由器上隔离用户路由,但是这些成千上万的客户路由如何在运营商的网络中传输呢?BGP无疑是最理想的候选人。客户×××路由从IPv4前缀,加上我们在VRF中配置的RD后成为96bits的×××v4前缀,从而使得每一个客户的×××v4路由具有唯一性,可以很安全的在运营商网络中传输。接下去我们来看看详细的路由传播过程:

clip_p_w_picpath004

    PE-CE的动态路由协议有多种选择,如Static、RIP、EIGRP、OSPF、IS-IS、BGP等等。PE-CE之间跑路由协议的目的是为了让PE学习到客户的×××路由。由于PE上连接特定CE的接口是属于特定VRF的,因此从这个接口上学习到的客户路由都会进入该VRF的路由表。

clip_p_w_picpath006

    PE之间运行的是MP-BGP多协议的BGP,经过扩展的BGP协议能够承载×××v4路由。

在经过前面的步骤,PE的VRF路由表里已经学习到了客户的路由,接下去要让MP-BGP知晓这些路由,如果PE-CE之间运行的是非BGP协议,那么当然,需要将VRF路由表中的客户路由重发布到BGP中,如果PE-CE之间运行的已经是BGP了,自然不用再做重发布了。

客户的IPv4路由被注入MP-BGP后,RD被添加到了这些IPv4路由前缀前面,就构成了×××v4路由前缀,同时RTs也被附加到×××v4路由前缀。(红茶三杯http://weibo.com/vinsoney版权所有,转载请注明出处)

clip_p_w_picpath008

由于PE之间已经建立起了MP-BGP的邻接,因此PE将×××v4路由前缀(连同这个前缀关联的MPLS标签、RTs等属性)一并通告给另一端的PE。

clip_p_w_picpath010

对端的PE也配置了VRF,VRF中定义了import RTs。它根据RTs将收到的×××v4路由前缀导入特定的VRF,RD被从×××v4路由中移除。

clip_p_w_picpath012经过上面这部,IPv4路由就被注入到了VRF路由表中。当然,这些路由现在是BGP的路由条目。

clip_p_w_picpath014

同样的,PE-CE之间跑的路由协议帮助我们将PE上的IPv4路由最终更新给CE。