MPLS(多协议标签交换)是一种用于高效数据传输的路由技术。它采用标签来引导数据包通过网络,旨在提高网络性能和服务质量。在 MPLS 中,当数据包在网络中传输时,可插入一个被称为 "shim header"(填充头)的结构,具体而言,这种头部是 MPLS 标签头。下面是关于 MPLS shim headers 的一些详细信息:
MPLS Shim Header 的结构
MPLS shim header 通常包括以下字段:
-
标签(Label):
- 20 位,用于标识流量的特定路径。每个 MPLS 标签都与一个特定的转发路径(LSP,标签交换路径)相关联。
-
实验(Exp):
- 3 位,用于差异化服务(Differentiated Services)。可以用于定义流量的优先级或服务质量(QoS)参数。
-
底层标签(S):
- 1 位,称为底层标签位,表示这是最后一个标签。值为 1 时表示这是最后一个标签,当为 0 时表示后面还有其他标签。
-
TTL(Time to Live):
- 8 位,用于防止数据包在网络中无限循环。每经过一个路由器,TTL 值会减少 1,当 TTL 值为 0 时,数据包被丢弃。
MPLS Header 的特点
- 灵活性: MPLS 可以在互联网上运行,不论底层网络协议是什么。它适用于 Ethernet、ATM、帧中继等多种网络。
- 高速转发: 由于在路由器进行标签查找和转发而非长时间的 IP 地址查找,MPLS 可提供快速的数据包处理。
- 支持多个协议: MPLS 支持多种协议,包括 IPv4、IPv6、以及其他非 IP 协议,使其成为多协议环境中高效的传输方式。
MPLS 工作原理
-
标签分配: 当数据帧进入 MPLS 网络时,入口路由器(Label Edge Router, LER)为数据帧分配标签并将其与一个转发路径(LSP)关联。
-
标签交换 : MPLS 网络中的每个路由器(Label Switch Router , LSR)根据标签来转发数据包,而不是基于目的地址。每经过一个 LSR,路由器会读取 MPLS shim header,查找相应的转发表,然后替换标签并转发。
-
出境节点处理: 最后,数据包到达出口路由器(LER),在这里标签被移除,数据包将被转发到目标网络或终端。
总结
MPLS shim headers 是 MPLS 中的重要组成部分,旨在增强数据传输的效率和灵活性。通过使用标签进行数据包的快速转发,MPLS 可以实现高效的网络服务,适用于多种类型的网络环境,尤其是在要求高 QoS 的场景中。
LSR 基于标签转发数据包,而非基于目标地址。