作用
早期网络设备性能有限,用标签来代替数量庞大的路由,随着网络设备性能提高,MPLS高速转发就不再有优势了。
MPLS支持多层标签和转发平面面向连接的特性,使其在VPN(Virtual Private Network)、QoS(Quality of Service)等方面得到广泛应用。
结构
MPLS由控制平面(control plane)和转发平面(forwarding plane)组成
控制平面:负责产生和维护路由信息以及标签信息。
- 路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
- 标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
- 标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
- 转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
- 标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。
转发等价类
MPLS将具有相同特征的报文归为一类,称为转发等价类FEC(Forwarding Equivalence Class)。属于相同FEC的报文在转发过程中被LSR以相同方式处理。
FEC可以根据源地址、目的地址、源端口、目的端口、VPN等要素进行划分。例如,在传统的采用最长匹配算法的IP转发中,到同一条路由的所有报文就是一个转发等价类。
标签
标签(Label)是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台设备上,一个标签只能代表一个FEC。
MPLS报文与普通的IP报文相比增加了MPLS标签信息,MPLS标签的长度为4个字节。MPLS标签封装在链路层和网络层之间,可以支持任意的链路层协议
- Label:20bit,标签值域。
- Exp:3bit,用于扩展。现在通常用做CoS(Class of Service),当设备阻塞时,优先发送优先级高的报文。
- S:1bit,栈底标识。MPLS支持多层标签,即标签嵌套。S值为1时表明为最底层标签。
- TTL:8bit,和IP报文中的TTL(Time To Live)意义相同。
标签栈(Label Stack)是指标签的排序集合。如图所示,靠近二层首部的标签称为栈顶MPLS标签或外层MPLS标签(Outer MPLS label);靠近IP首部的标签称为栈底MPLS标签或内层MPLS标签(Inner MPLS label)。理论上,MPLS标签可以无限嵌套。目前MPLS标签嵌套主要应用在MPLS VPN中。
标签的取值范围
0~15:特殊标签。
16及以上:LDP、MP-BGP(MultiProtocol Border Gateway Protocol)等动态信令协议的标签空间。
0 |