今天的文章有点长,但是都是干货,耐心看下去,不会让你失望的哦!
随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。
但由于MPLS结合了IP网络强大的三层路由功能和传统二层网络高效的转发机制,在转发平面采用面向连接方式,与现有二层网络转发方式非常相似,这些特点使得MPLS能够很容易地实现IP与ATM、帧中继等二层网络的无缝融合,并为流量工程TE(Traffic Engineering)、虚拟专用网VPN(Virtual Private Network)、服务质量QoS(Quality of Service)等应用提供更好的解决方案。
那今天我们就拿好小本本 认真了解MPLS多协议标签交换MPLS:
在传统的IP转发机制中,路由器是基于CPU(软转发)和模糊匹配的方式进行数据转发,转发效率非常低;MPLS目的就是取代传统IP的转发机制;通过在IP数据包前添加标签,在路由器上形成LFIB表,路由器在数据转发时基于ASIC精确匹配标签进行转发,从而大大提高了三层的转发效率。
注:随着ASIC技术的发展,当前路由器的硬件性能和速率都比较高了,MPLS的优势已经不是很明显了;现在MPLS的优势主要体现于其扩展应用方面,如MPLS-VPN、MPLS-TE流量工程和服务质量QoS。
1
工作原理
MPLS是一项旨在网络中提高IP包转发速率的技术,它需要在一个传输网络中整体部署(运营商内网)。
对于部署了MPLS的网络,会在网络入口处的路由器上对进入流量进行分类,然后为不同类别的流量打上一个标签。
流量进入网络后就被打上了不同的标签;网络内部的路由器在收到流量的时候,是按照标签来进行流量转发的,不再去查找IP路由表;流量发出网络时就被移除标签。
MPLS的报头和报文封装:
Layer2/MPLS*x/IPv4/DATA/FCS,可包含多重标签
-
标签长度:20bits,取值0-1048575,0-15是特殊标签,其他正常使用。
-
EXP(试验位)长度3bits,用于二层QOS
-
S(标记位)长度1bit,用于表示是外层标签/内层标签。
-
TTL长度8bits
MPLS有两种封装模式:帧模式和信元模式(ATM)。
帧模式封装是直接在报文的二层头部和三层头部之间增加一个MPLS标签头,以太网/PPP采用这种封装模式。
2
路由器的交换机制
1.进程交换:路由器针对收到的每个数据包都需要进行三层和二层表项的查询,其中三层表项查询是为了确定出接口和下一条,二层表项查询(ARP)是为了获取目的MAC地址实现二层的重新封装;并且是基于CPU进行查询,效率很低。
2.快速交换:也称为网流式交换(一次路由多次交换或一次查表多次转发)。
基于数据流进行转发,路由器可以基于流量的七元组(源目IP地址、源目端口号、协议号、ToS字段、相同的入接口)进行数据流归纳。
将满足相同七元组条件的数据包形成一股流,在进行数据转发的时候提取这股流的第一个数据包查三层表确定出接口查二层表确定封装信息,并把转发第一个