MPLS 初见

        这是一篇记录学习的笔记,简单认识 MPLS。

1,MPLS 是什么?

        MPLS: MultiProtocol Label Switching,多协议标签交换, 是一种应用于运营商IP骨干网的数据交换技术。

2,MPLS 的起源

        20 世纪90年代中期,路由器技术的发展远远滞后于网络的发展速度与规模,主要表现在转发效率低下及无法提供QoS保证。其本质原国为:当时路由查找算法使用最长匹配原则,必须使用软件查找最佳的路由表项。IP路由转发的依据就是 iP 路由表项,而 IP 报文的报头中仅含有“目的IP地址”字段,而没有对应的“子网掩码”字段,所以从IP报文不可直接确定所用的IP路由表项,IP报文的转发需要从当前 IP路由表中选择一条最佳的转发路径。这就是 IP 路由中的“最长匹配原则”,即根据IP报文中的“目的IP地址”选择一个可以匹配,且子网掩码最长(代表最准确)的路由表项来为该IP报文进行转发。选择了 IP路由表项才能确定从本地设备转发的出接口和下一跳IP地址,这样的IP路由表项选择是第经过一跳设备都要进行的,所以IP路由转发方式比较消耗资源。加之当初没有像ASIC这样的集成电路技术,IP路由表项的选择纯粹是依据软件系统计算完成的,效率比较低下。正因为IP路由转发效率比较低,有人在想是不是可以采用另外一种标识来实现同样的目的,且不用每一跳都经过复杂的计算就可以确定正常的数据转发路径,以提高转发效率。ATM(Asynchronous Transfer Mode,异步传输模式)技术就是其中的杰出代表。ATM采用定长标签(即信元),并且只需要维护比路由表规模小得多的标签表,就能够提供比IP路由方式高得多的转发性能。也正因为如此,当时还出现过IP和ATM竞争的场面。然而ATM过于复杂的设计导致没有多少厂商能够完全领会并成功生产所需的软件、硬件产品,而且其无法与iP网络很好地融合导致最终没有广泛应用。如何结合iP与ATM的优点成为当时的热闹话题。MPLS技术就是在这种背景下产生的。---------- 摘自《华为MPLS技术学习指南》

3,MPLS 是什么样的?

     mpls的组成是这样的:

+0---------------19-------22---23------------31
|  Label value   |  Exp   | Bos |  TTL        |
+----------------|--------|-----|-------------|

字段

长度

含义

Label value20比特标签值字段,用来标识一个FEC。
EXP3比特用于扩展。现在通常用做CoS(Class of Service),其作用与Ethernet802.1p的作用类似。
S1比特MPLS支持多重标签。值为1时表示为最底层标签。
TTL8比特和IP分组中的TTL意义相同,可以用来防止环路。

那其实从报文里看的话,MPLS 就是一段32bit的数据,其位置位于二层头和三层头之间,如我们抓一段带有 MPLS 的包 :

上面所说的二层和三层,通常是指数据链路层和网络层,二层是通过 Mac地址寻址,如上图中的

Ethernet II, Src: 00:20:8f:1e:52:09, Dst: 00:0b:16:21:2c:37;三层是通过IP寻址,如上图中的 Internet Protocol,Src Addr:198.19.1.2(198.19.1.2), Dst Addr: 198.19.1.1 (198.19.1.1)。可以对照上面 mpls 的组成看:

 这个数据包里,MPLS 的标签值1611, Exp 段值是0, S段值为1(因为只有一个标签,即为栈底标签)。下图是一个多标签的情况:

 

这就是一个包含MPLS消息的数据帧,以下是关于数据帧的知识点。常见的数据帧格式类型有:

Ethernet II 和 IEEE802_3,其格式为:

带 VLAN 的数据帧,其中 Etype 字段会指示协议类型: 

各字段含义:

 如下数据帧所示,在DMac,SMac之后 就是 TPID 字段,其值为0x8100

 同样紧跟在TPID后的是 PRI(占3bit)、CFI(占1bit)、VID(占12bit),如下:

然后紧跟着 Length/Type 字段,该字段有 2 种含义:

  • Length:如果该字段值小于或等于十进制1500(或十六进制0x05DC)时,该字段指后续数据的字节长度,但不包括FCS字段。
  • Type:如果该字段值大于或等于十进制1536(或十六进制0x0600)时,该字段指链路直接封装的上层协议类型。

 很明显这个数据帧里的 Type 指的是封装的上层协议类型,即0x8847(看上面的Type类型表,指的就是 MPLS)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MPLS(Multiprotocol Label Switching)标签是一种用于在数据包转发过程中进行路由和转发的技术。它通过在数据包头部添加一个标签(Label),来标识数据包的转发路径。MPLS标签可以在网络中的各个节点上进行交换和转发,从而实现快速、高效的数据传输。 MPLS标签由20位的标签值组成,用于唯一标识一个特定的转发路径。在数据包进入MPLS网络时,路由器会根据目的IP地址和路由表信息为该数据包分配一个MPLS标签,并将其添加到数据包的头部。在后续的转发过程中,路由器只需根据标签值进行转发,而无需再进行复杂的IP查找和解析操作,从而提高了转发速度和网络性能。 MPLS标签的转发是基于标签交换的,即路由器根据标签值来确定数据包的下一跳路径。当数据包到达下一个节点时,该节点会根据标签值查找相应的转发表,并将数据包转发到正确的出接口。在数据包到达目的地时,最后一个节点会将MPLS标签移除,并将数据包交付给上层协议进行进一步处理。 MPLS标签具有以下几个重要的特点: 1. 快速转发:MPLS标签交换的方式可以提高数据包的转发速度,减少网络延迟。 2. 灵活性:MPLS标签可以根据网络需求进行灵活配置和调整,实现不同的服务质量和路由策略。 3. 路由隔离:MPLS标签可以将不同的流量隔离到不同的转发路径上,提高网络的安全性和可靠性。 4. 多协议支持:MPLS标签可以支持多种网络协议,如IP、以太网等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值