对于多协议标签交换MPLS的优点我们在这里不过多介绍了。这次主要介绍一下MPLS协议栈结构。那么首先还是让我们从多协议标签的概念入手,然后对它的标签结构和协议栈结构进行讲解。
多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。MPLS 独立于第二和第三层协议,诸如 ATM 和 IP。它提供了一种方式,将 IP 地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如 IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSRF)等等。
在 MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。现今使用着一些标签分发协议,如标签分发协议(LDP)、RSVP 或者建于路由协议之上的一些协议,如边界网关协议(BGP)及 OSPF。因为固定长度标签被插入每一个包或信元的开始处,并且可被硬件用来在两个链接间快速交换包,所以使数据的快速交换成为可能。
MPLS 主要设计来解决网路问题,如网路速度、可扩展性、服务质量(QoS)管理以及流量工程,同时也为下一代 IP 中枢网络解决宽带管理及服务请求等问题。
在这部分,我们主要关注通用 MPLS 框架。有关 LDP、CR-LDP 和 RSVP-TE 的具体内容可以参考个别文件。
MPLS协议栈结构
MPLS 标签结构:
20 | 23 | 24 | 32 bit |
Label | Exp | S | TTL |
Label ― Label 值传送标签实际值。当接收到一个标签数据包时,可以查出栈顶部的标签值,并且系统知道:A、数据包将被转发的下一跳;B、在转发之前标签栈上可能执行的操作,如返回到标签进栈顶入口同时将一个标签压出栈;或返回到标签进栈顶入口然后将一个或多个标签推进栈。
Exp ― 试用。预留以备试用。
S ― 栈底。标签栈中最后进入的标签位置,该值为0,提供所有其它标签入栈。
TTL ― 生存期字段(Time to Live),用来对生存期值进行编码。
MPLS 结构协议组包括:
MPLS:相关信令协议,如 OSPF、BGP、ATM PNNI等。
LDP:标签分发协议(Label Distribution Protocol)
CR-LDP:基于路由受限标签分发协议(Constraint-Based LDP)
RSVP-TE:基于流量工程扩展的资源预留协议(resource Reservation Protocol – Traffic Engineering)
下面图形描述了 MPLS协议栈结构:
;
MPLS协议栈结构