MPLS
MPLS出现之初是为了解决路由器经过路由表进行路由消耗资源太大的问题。
MPLS出现之前,数据包在网络中传输主要依靠的是路由协议直接驱动,寻找转发路径进行数据包的转发。也就是我们通常所说的IP寻址。
IP寻址原理是路由器对传入路由器的数据包进行解析,解析数据包的三层头,根据三层头里的目标IP进行下一跳的转发,进而实现数据的逐条转发到达目的地。
间接交付即为逐条转发数据包到目的地
MPLS出现后,在数据包的二层和三层头之间添加了一个2.5层包头,这个2.5层专门用来进行数据包的转发,也叫标签转发,相比传统路由表,在MPLS转发时只需要查看入栈标签,然后匹配到出站接口和标签,数据包就完成了本站的数据转发进入下一站。
2.5层包头用于转发
那么MPLS如何为每台路由器计算出标签转发表呢?那就需要各类相关协议进行配合运转进而在网络中互联的每台路由器上生成标签转发表。例如需要LDP协议生成tunnel标签,路由协议生成pw标签,在此不深入讲解了!
MPLS-TP
MPLS-TP相较于MPLS来说,最大的不同点就是MPLS-TP不涉及动态协议,其报文结构如下。
L2VPN
网络中设备在进行MPLS-TP报文传输时,IP报文进入设备到传出设备的报文结构会有所变化。
以下为2层报文传输示例
报文传入MPLS-TP设备前,按TCP/IP四层模型封装的报文,包含二层头,三层头,payload等等。
IP数据包
数据报文传入MPLS-TP设备后,设备经过路由寻路,确定该报文要走L2VPN进行转发,那么数据报文在传出设备的时候就会被封装上对应的包头以在MPLS-TP网络中进行转发。
L2VPN数据包
MPLS-TP设备为原有的数据包增加了2层标签,以及额外的一个二层头,这个二层头是用来在MPLS-TP内部转发时使用的。
为了便于理解,这里可以分享一张抓包的截图。
L2VPN报文
从上往下,Ethernet 为二层头,标识了源目MAC地址;Label 318为第一层标签即tunnel标签,Lable 319为第二层标签即pw标签,Pw control为2.5层头里的控制字,这之后从Ethernet开始的报文才是原始数据报文。这之前的所有包头都是MPLS-TP设备添加用来在MPLS-TP网络中进行数据转发使用的。
创业项目群,学习操作 18个小项目,添加 微信:923199819 备注:小项目!
如若转载,请注明出处:https://www.zodoho.com/64931.html
