Skip to main content

新页面

协议栈结构

MPLS消息封装在链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS在二层的类型标识为:Type=MPLS label switched packet (0x8847)。

MPLS L2VPN协议栈结构
   +-------------------------------+
  |             IP Header         |
  +-------------------------------+
  |             L2               |
  +-------------------------------+
  | (One or more MPLS labels)   |
  +                               +
  |       MPLS Label stack       |
  +-------------------------------+
  |             L2               |
  +-------------------------------+
  |             L1               |
  +-------------------------------+
MPLS L3VPN协议栈结构
   +-------------------------------+
  |             IP Header         |
  +-------------------------------+
  | (One or more MPLS labels)   |
  +                               +
  |     MPLS Label stack         |
  +-------------------------------+
  |             L2               |
  +-------------------------------+
  |             L1               |
  +-------------------------------+

MPLS

MPLS(Multiprotocol Label Switching)位于TCP/IP协议栈中的链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS以标签交换替代IP转发。标签是一个短而定长的、只具有本地意义的连接标识符,与ATM的VPI/VCI以及Frame Relay的DLCI类似。标签封装在链路层和网络层之间。MPLS不局限于任何特定的链路层协议,能够使用任意二层介质传输网络分组。

MPLS标签

MPLS网络基于标签(Label)进行转发,标签封装在链路层和网络层之间。这样,标签能够被任意的链路层所支持。标签在分组中的封装位置如所示。

MPLS报文格式
                 |  One or more   |
                |   MPLS Lable   |
+----------------+----------------+----------------+
|   L2 Header   |MPLS Lable Stack| MPLS Payload |
+----------------+----------------+----------------+

MPLS标签是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC(Forwarding Equivalence Class,转发等价类)。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台路由器上,一个标签只能代表一个FEC。标签与ATM的VPI/VCI以及Frame Relay的DLCI类似,是一种连接标识符。标签长度为4个字节,如图 MPLS标签格式所示。

报文格式

MPLS标签格式
 0              7
+----------------+
| Label value   |
+----------------+
| EXP           |
+----------------+
| S             |
+----------------+
| TTL           |
+----------------+
MPLS标签字段含义
字段 长度 含义
Label value 20比特 标签值字段,用来标识一个FEC。
EXP 3比特 用于扩展。现在通常用做CoS(Class of Service),其作用与Ethernet802.1p的作用类似。
S 1比特 MPLS支持多重标签。值为1时表示为最底层标签。
TTL 8比特 和IP分组中的TTL意义相同,可以用来防止环路。

参考标准

标准 描述
RFC 3031 Multiprotocol Label Switching Architecture
RFC 3032 MPLS Label Stack Encoding
RFC 3034 Use of Label Switching on Frame Relay Networks Specification
RFC 3035 MPLS using LDP and ATM VC Switching