多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。
MPLS 独立于第二和第三层协议,诸如 ATM 和 IP。它提供了一种方式,将 IP 地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。
它是现有路由和交换协议的接口,如 IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSPF)等等。 在 MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。现今使用着一些标签分发协议,如标签分发协议(LDP)、RSVP 或者建于路由协议之上的一些协议,如边界网关协议(BGP)及 OSPF。
因为固定长度标签被插入每一个包或信元的开始处,并且可被硬件用来在两个链接间快速交换包,所以使数据的快速交换成为可能。 MPLS 主要设计来解决网路问题,如网路速度、可扩展性、服务质量(QoS)管理以及流量工程,同时也为下一代 IP 中枢网络解决宽带管理及服务请求等问题。
ATM和标签交换。
由标签交换控制部件(Label Switching Control Component) 控制的ATM接口称为LC-ATM (标签交换控制的ATM)接口。 在这类接口上传输的包为加上标签的包, 其标签栈顶部的标签在VPI/VCI域中。 ATM-LSR之间通过标签分配协议(LDP) 来协商决定标签使用部分还是全部VPI/VCI域。
一个ATM-LSR通常具有若干个LC-ATM接口, 这些接口之间以标签方式传输数据包, 而标签分配过程则通过ATM-LSR之间的非标签接口进行。 当然ATM-LSR为了和其它标签路由器或非标签路由器连接, 也可以具有一般的非标签或标签传输接口 (如一般的ATM接口或基于帧的标签接口)。 通常LC-ATM接口同时支持直接的和基于帧的标签接口相连。
ATM-LSR的特性。
MPLS构架的规定相当灵活, 但由于硬件和ATM标准的约束, ATM-LSR具有一定的特殊性, 在于:
1.由于标签互换(Label Swapping) 过程基于信元头中特定的域(VCI或VCI/VPI), 所以标签的位置和长度就受到了限制。
2.一般的ATM-LSR 不支持多点到点或点到多点(树形) 的VC连接, 即大多数ATM-LSR 不支持上面提到的VC合并。
3.由于受到 ATM信元格式的限制, ATM-LSR通常不支持通常 IP路由器对IP包头所进行的 TTL递减操作功能。
ATM的标签交换控制。
ATM交换机通过标签控制部件支持标签交换, 标签控制包括标签分配、 发布、 以及维护过程。 标签绑定信息可以通过多种方式传递, 主要是LDP。 标签控制部件只使用从网络层路由选择协议(如OSPF,IS-IS等) 直接得到的信息。 在某些情况下, 标签绑定信息可能通过其它协议发布, 如RSVP、 BGP等(此时ATM交换机应该支持这些协议)。
而ATM-LSR中的标签控制部件并不排斥ITU和ATM论坛所定义的ATM控制部件, 也就是说在一个LC-ATM接口上可以同时支持标签控制和标准的ATM控制方式。 这两部分可以相互独立地工作, 其间只需要交流少部分信息, 如两个部分各自使用的VCI/VPI空间等。
VPI/VCI的使用。
标签交换是通过将标签值与转发等效类(FEC)相关联, 从而使用标签及其互换实现数据包的转发。 在ATM-LSR应用中, 标签值携带在VPI/VCI域或VCI域中, 后者通过VP连接两个LSR。 ATM-LSR之间还需要一个连接来传送非标签的IP包, 用于传送LDP或路由协议包, 这个非MPLS连接上使用RFC1483所规定的LLC/SNAP封装。
LC-ATM接口可以通过配置使用标签值范围以外的VPI/VCI 来传送控制信息或其它非标签包, 用于这个目的的VCI值为0~32。 这里可以使用 RFC1483中规定的空(null)封装或LLC/SNAP封装。