数据转发过程
VPN数据的转发
顶层公网标签
由LDP分配,指示LSR如何将标签报文从始发的源PE通过LSP标签交换到达目的PE
内层私网标签(VPN标签)
由MP-BGP分配,在将每一条客户路由变为VPNv4路由前缀时会自动为每一条VPNv4前缀关联一个标签
内层私网标签用于指示目的PE将该标签报文转发给特定VRF的特定接口,以及对应的标签动作。
CE2发出一个IP报文,目的地址为CE1,PE2收到报文后,封装内层标签15362,再封装外层标签1024,转发给P,P收到后,根据外层标签转发,因为P是倒数第二跳,所以弹出外层标签,保留内层标签,发送给PE1 ,PE1收到后根据内层标签判断出该报文属于哪个VRF,即哪个Site,然后PE1去掉私网标签,将IP报文转发给CE1。
- CE1发送一个VPN报文。
- Ingress PE从绑定了VPN实例的接口上接收VPN数据包后进行如下操作:
先根据绑定的VPN实例的RD查找对应VPN的转发表。
匹配目的IPv4前缀,查找对应的Tunnel ID。
将报文打上对应的标签(I-L),根据Tunnel-ID找到隧道。
将报文从隧道发送出去。此例的隧道是LSP,则打上公网(外层)MPLS标签头(O-L1)。
接着,该报文携带两层MPLS标签穿越骨干网。骨干网的每台P设备都对该报文进行外层标签交换。 - Egress PE收到该携带两层标签的报文,交给MPLS协议处理。MPLS协议将去掉外层标签(此例最后的外层标签是O-L2,但如果应用了倒数第二跳弹出,则此标签会在到达Egress PE之前的一跳弹出,Egress PE只能收到带有内层标签的报文)。
- 此时Egress PE就可以看见内层标签,发现该标签处于栈底,将内层标签剥离。
- Egress PE将报文从对应出接口发送给CE2。此时报文是个纯IP报文。
这样,报文就成功地从CE1传到CE2了。CE2按照普通的IP转发过程将报文传送到目的地。