English Site
 高级搜索

网络大典博客 网络大典维基 网络大典问答 网络大典群组 佳文科技产品 网络大典首页

MPLS:多协议标签交换(Multi-Protocol Label Switching)

多协议标签交换(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 标签结构:

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协议栈结构

MPLS 协议栈结构

每种结构将在各独立文档中具体讲解。

相关协议:LDPCR-LDPRSVP-TEIPATMRSVPOSPF

组织来源:MPLS 由 IETF (http://www.ietf.org)定义在 RFC 3031和 RFC 3032中。

相关链接:
http://www.javvin.com/protocol/rfc3031.pdf:Multiprotocol Label Switching Architecture
http://www.javvin.com/protocol/rfc3032.pdf:MPLS Label Stack Encoding
http://www.javvin.com/protocol/rfc3443.pdf:Time To Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks
http://www.javvin.com/protocol/rfc3036.pdf:LDP Specification
http://www.javvin.com/protocol/rfc3209.pdf:RSVP-TE: Extensions to RSVP for LSP Tunnels
http://www.javvin.com/protocol/rfc3212.pdf:Constraint-Based LSP Setup using LDP
http://www.javvin.com/protocol/rfc3213.pdf:Applicability Statement for CR-LDP