一、MPLS背景
90年代初,互联网流量快速增长,而由于当时硬件技术的限制,路由器采用最长匹配算法逐跳转发数据包,成为网络数据转发的瓶颈。快速路由技术成为当时研究的一个热点。 在各种方案中,IETF确定MPLS协议作为标准的协议。MPLS采用短而定长的标签进行数据转发,大大提高了硬件限制下的转发能力;而且MPLS可以扩展到多种网络协议(如IPv6,IPX等)。

- MPLS协议从各种链路层协议(如PPP、ATM、帧中继、以太网等)得到链路层服务,又为网络层提供面向连接的服务。MPLS能从IP路由协议和控制协议中得到支持,路由功能强大、灵活,可以满足各种新应用对网络的要求。
二、MPLS基本结构
2.1 MPLS网络结构
- LSP(Label Switched Path):标签交换路径,即到达同一目的地址的报文在MPLS网络中经过的路径。
- FEC(Forwarding Equivalent Class):一般指具有相同转发处理方式的报文。在MPLS网络中,到达同一目的地址的所有报文就是一个FEC。

在MPLS网络中,路由器的角色分为两种:
- LER(Label Edge Router): 在MPLS网络中,用于标签的压入或弹出,如上图中的RTB,RTD。
- LSR(Label Switched Router):在MPLS网络中,用于标签的交换,如图中的RTC。
- 根据数据流的方向,LSP的入口LER被称为入节点(Ingress);位于LSP中间的LSR被称为中间节点(Transit);LSP的出口LER被称为出节点(Egress)。
- MPLS报文由Ingress发往Transit,则Ingress是Transit的上游节点,Transit是Ingress的下游节点;同理,Transit是Egress的上游节点,Egress是Transit的下游节点。
- FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或VPN等为划分依据的任意组合。
2.2 MPLS体系结构

- 控制平面:负责产生和维护路由信息以及标签信息。
- 路由信息表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):简称标签转发表,由标签分发协议建立LFIB,负责带MPLS标签报文的转发。
- MPLS路由器上,报文的转发过程:当收到普通IP报文时,查找FIB表,如果Tunnel ID为0x0,则进行普通IP转发;如果查找FIB表,Tunnel ID为非0x0,则进行MPLS转发。当收到带标签的报文时,查找LFIB表,如果对应的出标签是普通标签,则进行MPLS转发;查找LFIB表,如果对应的出标签是特殊标签,如标签3,则将报文的标签去掉,进行IP转发。
2.3 MPLS数据报文结构
- 标签(Label)是一个短而定长的、只有本地意义的标识,用于唯一标识去往同一目的地址的报文分组。

MPLS标签封装在链路层和网络层之间,可以支持任意的链路层协议 - MPLS标签的长度为4个字节,共分4个字段:
| 表项 | 长度 | 释义 |
|---|---|---|
| Label | 20bit | 标签值域 |
| Exp | 3bit | 用于扩展。现在通常用做CoS(Class of Service),当设备发生阻塞时,优先发送优先级高的报文 |
| S | 1bit | 栈底标识。MPLS支持多层标签,即标签嵌套。S值为1时表明为最底层标签 |
| TTL | 8bit | 和IP报文中的TTL(Time To Live)意义相同 |
- 标签空间是指标签的取值范围。标签空间划分如下:
0~15:特殊标签。如标签3,称为隐式空标签,用于倒数第二跳弹出;
16~1023:静态LSP和静态CR-LSP(Constraint-based Routed Label Switched Path)共享的标签空间;
1024及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering)、MP-BGP(MultiProtocol Border Gateway Protocol)等动态信令协议的标签空间。
三、LSP建立
建立LSP的方式有两种:
- 静态LSP:用户通过手工方式为各个转发等价类分配标签建立转发隧道;
- 动态LSP:通过标签发布协议动态建立转发隧道。
2.1 静态LSP建立
- 静态LSP的特点:
- 不使用标签发布协议,不需要交互控制报文,资源消耗比较小;
- 通过静态方式建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。
- 静态LSP适用于拓扑结构简单并且稳定的网络。

配置静态LSP时,管理员需要为各路由器手工分配标签,需要遵循的原则是:前一节点出标签的值等于下一个节点入标签的值。
如图所示拓扑,MPLS网络中有一个100.1.1.1/32的用户,静态为该路由建立一条LSP,配置过程如下:
- 配置LSR ID用来在网络中唯一标识一个MPLS路由器。缺省没有配置LSR ID,必须手工配置。为了提高网络的可靠性,推荐使用LSR某个Loopback接口的地址作为LSR ID。
配置命令:mpls lsr-id lsr-id - 在MPLS域的所有节点与相应的接口上开启MPLS协议。
配置命令:system-view
mpls
interface interface-type interface-number
mpls
在Ingress进行以下配置:
static-lsp ingress lsp-name destination ip-address { mask-length | mask } { nexthop next-hop-address | outgoing-interface interface-type interface-number } * out-labe
MPLS协议详解:标签转发与动态LSP构建

本文详细介绍了MPLS协议的背景、基本结构、标签分配方式、LSP建立过程,以及LDP发现与邻居建立。重点讲解了静态与动态LSP配置,以及MPLS数据转发和PHP技术的应用。
最低0.47元/天 解锁文章
8214

被折叠的 条评论
为什么被折叠?



