配置就不说了,看前面的博文吧!1.CE与PEVRF私网路由的传播CE全局路由表中的IPV4路由,经过PE-CE间的路由协议(可以是RIP、OSPF、EIGRP、BGP等)传播到PE相应的VRF路由表中。在PE上,与CE进行路由交换的路由协议(路由协议进程或路由协议实例)都需要绑定到相应的VRF;在绑定的VRF的接口上,只能启动本VRF的路由协议;因此,在PE上,CE通告过来的路由信息将交给相应的VRF路由进程或路由实例处理,并将计算出来的IPV4路由加入到该进程或该实例相对应的VRF路由表中。2.PEVRF路由导出到MP_BGP表VRF路由表中的IPV4路由,通过network/redistribute发布至MP_BGP的时候,打上RD和RT(export),变成VPNv4路由,并分布MPLS私网标签(由MP_BGP从全局标签空间中随机分发,不会与公网标签有重叠),加入到MP_BGP表。同时,将这些MPLS私网标签存入本PE的MPLS标签转发表。3.PE-PEMP_BGPVPNv4路由传播PE将MP_BGP表中的VPNv4路由形成MP_BGP路由更新,通过PE-PE之间的MP_IBGP邻居传播给远端的PE,远端PE收到路由更新后,将这此VPNv4路由加入到MP_BGP表。4.MP_BGPVPNv4路由匹配导入VRF在PE上,MP_BGP表中的VPNv4路由自动与VRF的RT(import)进行匹配,匹配上的VPNv4路由,去掉RD、RT,变成ipv4路由,导入到相应的VRF路由表中;同时,将这些VPNv4路由所携带的MPLS私网标签存入该VRF路由表或VRF标签转发表中.5.PEVRF-CE私网路由传播VRF路由表中的从MP_BGPVPNv4导入的路由,通过redistribute重发布至本VRF的路由进程或路由实例的数据库中(PE-CEEBGP除外),经过PE-EC间路由协议(RIP、OSPF、BGP等)通告给CE,CE进行路由计算后,将这些路由加入到全局路由表中,如上图。LDP分发标签:首先PE1全局路由表中有1.1.1.1/32的直连路由,然后LDP为所有的IGP路由分发标签,因为是倒数第一跳,所以分发一个特殊标签3(大家注意一下,在MPLS转发表中不能看到我上面写的那个表,因为标签3是不会加入到MPLS中的,也就不会形成转发表了),P2收到后,保存至MPLS转发表中,同时P2通过IGP路由协议也能学习到1.1.1.1的路由,也为它分发标签为25,所以P2的MPLS转发表如上图(当然P2能收到这条路由的多个标签,会进行优选选跟IGP路由表中的下一跳相同的)。同理P3和PE4,都会收到标签和分发标签,然后进行优选进转发表中!见上图!MPLSVPN数据转发结合上面两张图,分析CE5访问CE6的过程:1.CE收到IP数据包,查找全局路由表转发,转发至PE的VRF接口CE5收到IP数据包,查找全局路由表,查到出接口为S8,下一跳为S7,将IP数据包转发至PE4的VRF接口2.PEVRF接口收到IP数据包,查找VRF路由表,压入私网标签和公网标签在PE4上,绑定了VRF的接口收到IP数据包,查找本VRF的VRF路由表或标签转发表,查到该数据包匹配的路由的私网OUT标签为33,下一跳为远端PE1的LOOPBACK地址1.1.1.1。该下一跳不是PE4直连的,需要进行递归查找,以1.1.1.1为目标地址查找本PE的全局路由表和MPLS标签转发表,查到1.1.1.1的公网OUT标签26,及出接口和下一跳。PE4将IP数据包先打上私网标签33再打上公网标签26(注意公网标签在最外面,栈底位为0,最里面的私网标签栈底位为1),再转发给下一个LSR也就是P3.3.P设备收到MPLS数据包,查找标签转发表,交换公网标签PE3收到数据包,查转发表,交换公网标签,用25替代26,TTL-1将数据转发给下一个LSR。4.倒数第二跳收到MPLS数据包,查找标签转发表,弹出公网标签P2收到MPLS数据包,查MPLS转发表,发现出标签为3,弹出公网标签,然后根据转发表直接将IP数据包发给下一跳。5.远端PE收到MPLS数据包,查找标签转发表,弹出私网标签PE1收到MPLS数据包,查找标签转发表,发现OUT标签是Untagged,删除标签根据下一跳转发,将数据发送出去。(如果OUT标签是Aggregate,则删除标签,查IP路由表完成转发,因为在MPLS转发表中没有出接口和下一跳)6.远端CE收到IP数据包,查找全局路由表转发CE6收到PE1发来的IP数据包,查找全局路由表进行数据转发,然后发回应答报文,以上过程逆过程!补充:MPLS标签操作PUSH向IP或MPLS报文中,压入一层或几层MPLS标签,并把该MPLS报文直接转发到下一个LSRSWAP把MPLS报文的最外层MPLS标签,交换成下一个LSR需要的MPLS标签,并把该MPLS报文直接转发到下一个LSRPOP删除MPLS报文的最外层MPLS标签,并把该报文直接转发到下一个LSRUntag删除MPLS标签,并把该IP报文直接转发到下一跳路由器Aggreate删除MPLS标签,查找IP路由表,并把该报文转发到下一跳路由器出自凡人世界