私网标签分配
通过MPBGP为VPNv4路由分配内层标签
PE从CE接收到IPv4路由后,对该路由加上相应VRF的RD(RD手动配置),使其成为一条VPNV4路由,然后在路由通告中更改下一跳属性为自己,通常是自己的Loopback地址,并为这条路由加上私网标签,该标签由MP-IBGP协议随机生成(无需配置),同时加上Export Route Target属性,然后发送给它所有的PE邻居。VRP5.3中,在PE1上需要启动MPLS,然后MP-BGP即可以为私网路由分配标签。PE之间便可以正确交互私网路由信息。
SOO主要用于防止VPN某站点有多个CE接入不同的PE时,从CE发往PE的VPN路由可能经过骨干网又回到了该站点的路由环路。
MP-BGP路由注入VRF
接收端PEB收到发送端PEA发布的路由后,将VPN-v4 路由变为IPV4路由,并且根据本地VRF的import RT属性加入到相应的VRF中,保留私网标签,留做转发时使用,然后通过PE和CE之间的路由协议将IPv4路由信息发布给相应的CE,下一跳为接收端PEB的接口地址。
把没有丢弃的路由与本地的各个VPN实例的Import Target属性匹配。VPNv4路由与本地VPN实例的Import VPN-Target进行匹配的过程称为私网路由交叉。
为了将私网流量通过公网传递到另一端,需要有一条公网隧道承载这个私网流量。因此私网路由交叉完成后,需要根据目的IPv4前缀进行路由迭代,查找合适的隧道(本地交叉的路由除外);只有隧道迭代成功,该路由才被放入对应的VPN实例路由表。将路由迭代到相应的隧道的过程叫做隧道迭代。
公网标签分配过程
私网数据交换需要跨越MPLS骨干网络,在这个过程中需要进行标准的MPLS转发,公网标签即外层标签分配的过程如下:
首先PE和P路由器通过骨干网IGP学习到BGP下一跳的地址。通过运行LDP协议分配公网标签,建立LSP通道。标签栈用于报文转发,外层标签用来指示如何到达BGP下一跳,内层标签表示报文的出接口或属于哪个VRF。MPLS节点转发是基于外层标签转发,而不管内层标签是多少。