HCIP-17.2.9 MPLS VPN数据转发
三个阶段
- CE设备到PE设备的数据转发
- 公网设备上的数据转发
- PE设备到CE设备的数据转发
1.CE设备到PE设备的数据转发
数据从CE设备到PE设备的转发:
如图所示,CE4所连接的VPN2的用户要与对端VPN2中的172.16.1.1/32永不通信,PE2收到数据包后,查找本地VPN2的路由表,发现数据包需要进行标签风猪肝,分配的私网标签为1027,到达目标地址的下一跳为PE1
PE2通过查找LFIB表,发现到达PE1被分配的公网标签为1030,出接口为G0/0/0,PE2将数据包进行MPLS封装,内层为1027,外层为1030,从接口G0/0/0转发出去。
2.公网设备上的数据转发
数据包在公网上的传递过程:
如图所示,PE2收到VPN用户的数据包后,封装上MPLS的标签,将私网数据通过MPLS建立的标签隧道进行转发,PE2上数据包封装的公网标签为1030,转发给P设备后,查找LFIB表,进标签为1030的数据包,对应的出标签为3,即公网标签剥掉后,将数据包发给PE1,PE1收到的是只有内存私网标签的数据包。
3.PE设备到CE设备的数据转发
数据包转发给相应的VPN过程:
如图所示,PE1收到只有一层标签的数据包,查找标签表,发现标签为1027的数据包对应的下一跳为CE2,于是PE2将数据包剥离私网标签,进行IP封装,查找出接口,将数据包发送给CE2处理。
至此数据包到达正确的目标用户。数据转发的过程是双向的,但过程是类似的。
总结 13 – 24
13.RD:Route Distinguisher 值,一一对应PVN实例一一公司站点
RD值的作用:在一台路由器上创建多个路由表来隔离路由,每个路由表就是对于一个vpn实例对应一个站点,同一个PE设备上分配给每个VPN实例的RD值必须唯一,一个VPN实例只能配置一个RD值。
14.VRF:VPN Routing and Forwarding Table:VPN路由转发表
15.RT:Route Target 封装在BGP的扩展Community属性中,在路由传递过程中作为可选的传递属性进行传递
RT值的作用:路由取舍,路由喜好,路由导入,为了灵活的导入、导出路由,同一个vpn实例RT值(export、import)可以配置多个
16.VPNv4路由:传递IP前缀+RD+RT+Label
17.为什么业务数据传输时不采用RD值进行标识而采用内层标签?
- RD值8字节太大(MPLS标签4字节)
- 骨干网早期已经部署了MPLS
- 靠MPLS多层标签可以对业务流量进行区分,方便做QoS
18.内、外层标签的区别
- 外层标签(Outer MPLS Label)在MPLS VPN中被称为公网标签,用户MPLS网络中转发数据。一般公网标签会在到达PE设备时已被倒数第二跳剥掉,漏出内层标签(Inner MPLS Label),内层标签在MPLS VPN中被称为私网标签,用户将数据正确发送到相应的VPN中,PE依靠内层标签区分数据包属于哪个VPN。
19.MPLS VPN工作过程分为哪两个部分?
- 路由传递过程
- 数据转发过程
20.MPLS VPN路由传递过程分为哪几个阶段
(1)PE与CE之间的路由交换
(2)PE将来自CE端的私网路由添加RD、RT、内层标签等信息称为VPNv4路由,并通过MP-BGP传递给对端PE
(3)对端PE将学习到的VPNv4路由根据其中的RT值,注入到相应的VPN实例中
21.查看MP-BGP给路由增加RD、RT、Label
dis bgp vpnv4 vpn-ins vpn100 routing-t 192.168.5.0
dis bgp vpnv4 all routing-t 192.168.5.0
22.VRF路由表
dis ip routing-t vpn-ins vpn100 verbose
dis fib vpn-ins vpn100 verbose
23.LFIB表
dis mpls lsp
24.MPLS VPN数据转发
CE4将原始IP报文发送给PE2:(1)PE2根据本地VRF路由表verbose(即fib verbose)表现需要进行标签转发(2)PE2根据VRF表(verbose里面有内层标签和BGP下一跳信息)封装内网标签1027(3)PE2根据VRF表中的BGP下一跳信息(下一跳为PE1)在LFIB表找到去往PE1的标签封装(外层公网标签)
VRF表结构:
PE2的LFIB表结构
数据到达PE1后,先查询LFIB表,再查询相应的VPN实例的VRF表
PE1的LFIB表
PE1相应实例的VRF表