第八章 MPLS交换技术
? 8.1 MPLS总体介绍
? 8.2 标记分发协议( LDP)
? 8.3 标记交换路径( LSP)
8.1 MPLS总体介绍
? MPLS是一种交换和路由的综合体,它将网
络层路由和链路层交换融合在了一起,以十分
简洁的方式完成信息的传送。
? 8.1.1 MPLS技术发展动力
? 1,MPLS简化了分组转发机制
? MPLS标记交换分组转发是基于定长短标记
的完全匹配, 而不是像路由器那样需要运行最
长匹配算法 。
? 2,MPLS实现了有效的显式路由功能
? 显式路由技术是一种很有效的骨干网路由
技术, 它是指网络中某个 LSR( 通常是标记交
换路径的入口节点或出口节点 ) 规定好 LSP中
的部分或全部的 LSR,而不是每个 LSR自己独
立决定下一跳的选择 。
? 3,MPLS有利于实现流量工程
? Internet的迅速发展以及各种业务对带宽需
求的增加, 使流量工程显得特别重要 。
? 4,MPLS支持 QoS选路
? QoS选路是指对特定的数据流, 按其 QoS要
求来为它选择路由的方法 。
? ( 1) 在有些情况下, 要求为指定的每个数
据流都保留一定的带宽 。
? ( 2) 考虑为一个指定带宽的数据流寻找路
由的情况, 路由选择将受所需带宽的限制 。
? ( 3) 对 QoS路由计算来说, 由于各种原因,
有时候路由器用于计算的信息可能有些过时 。
? 5,从 IP分组到转发等价类的映射
? 从 IP分组到服务等级的映射可能需要
知道发送 IP分组的用户, 从而才可能根
据源地址, 目的地址, 输入接口或其他
特征实现分组过滤, 但某些信息只能在
网络入口节点才能获得 。
? 6,MPLS支持多网络功能划分
? MPLS引入了标记粒度的概念, 使其
能分层地将处理功能划分给不同的网络
单元, 让靠近用户的网络边缘节点承担
更多的工作;与此同时, 核心网络则尽
可能地简单, 例如, 只处理纯标记转发 。
? 7,MPLS实现了用户不同服务级别要求的单一转发规

? 8,MPLS提高了网络扩展性
? 8.1.2 MPLS网络体系结构
? MPLS网络体系结构描述了实现标记
交换的机制, 这种技术兼有基于第二层
交换的分组转发技术和第三层路由技术
的优点 。
? 一, 基本体系结构
? MPLS体系结构被分为两个独立的组
件:转发组件 ( 也叫数据层面 ) 和控制
组件 ( 也叫控制层面 ) 。
? 1,控制层面
? 每个 MPLS节点都必须运行一种或多
种 IP路由协议 ( 或依赖静态路由技术 ),
以便与网络中的其他 MPLS节点交换 IP路
由信息 。
? 2,数据层面
? ( 1) 标记转发
? 标记转发信息表 ( TFIB) 是转发层面
数据库, 用于转发通过 MPLS网络被标
记的分组 。
? 当一个携带标记的分组被标记交换机
接收到时,该交换机用这个标记作为其
标记转发信息表( TFIB) 的指针,若该
交换机在 TFIB中找到一个输入标记等于
分组携带标记的条目,用条目中的输出
标记替换分组中的标记,并将分组转发
到输出标记中指示的输出接口。
? MPLS是在标记 ( Tag) 交换的基础上
发展起来的 。 MPLS的实质是将路由器
移到网络的边缘, 将快速, 简单的交换
机置于网络中心 。 对一个连接请求实现
一次路由选择, 多次交换 。 其主要目的
是将标记交换转发数据报的基本技术与
网络层路由选择有机地集成 。
? ( 2)标记交换设备
? 和任何新出现的技术一样,MPLS也引入了
一些新术语,用于描述组成其体系结构的设备。
? 边缘 -LSR在图 8.1的基础上扩展了 MPLS节
点体系结构,在数据层面上加入了额外的组件
( IP转发表)。标准的 IP转发表是使用 IP路由
表构建的,并扩展了标记信息。
? ATM-LSR是可以用作 LSR的 ATM交换机。
? 二, 网络边缘的标记放置
? 根据前述内容可知, 标记加入指的是
在分组进入 MPLS域时给它预先设置标
记的操作 。 这是一种边缘功能 。
? 三, MPLS分组转发和标记交换路径
? 所有的分组都是通过入口 LSR进入
MPLS网络, 并通过出口 LSR离开 MPLS
网络 。 这种机制创建了标记交换路径
( Label Switched Path,LSP), 它指的
是对于特定的转发等价类 ( FEC), 标
记分组到达出口 LSR必须经过的一组路
径 。
? 四, 其他 MPLS应用
? 到目前为止, 所讨论的 MPLS体系结
构使得在一个统一的 IP主干 ( IP+ ATM
体系结构 ) 中可以将传统的路由器和
ATM交换机平滑地集成起来 。
? 8.1.3 MPLS工作原理
? MPLS的出现是源于早期的 IP交换,
其目的是将目前的各种 IP路由和 ATM交
换技术兼容并蓄, 以提供一种更具弹性,
扩充性以及效率更高的宽带交换路由器 。
与标记交换 ( Tag Switching), ATM交
换等技术类似, MPLS 引入了标记
( Label) 的概念, 在 MPLS网中数据的
传输靠标记引导 。
? 当一个未被标记的分组( IP包、帧中
继或 ATM信元)到达 MPLS标记边缘路
由器( LER) 时,入口 LER根据输入分
组头查找路由表以确定通向目的地的标
记交换路径 LSP,把查找到的对应 LSP的
标记插入到分组头中,完成端到端 IP地
址与 MPLS标记的映射。
? 8.1.4 实现 MPLS的关键技术
? MPLS技术的成功之处在于它在无连
接的 IP网络中引入了面向连接的机制,
利用标记交换机制转发分组 。 其核心思
想就是:边缘的路由, 核心的交换 。 为
此, MPLS在实现过程中引入了许多关
键的技术和概念 。
? 一、标记及其相关概念
? 1.标记的含义
? 标记( Tag或 Label) 是简短的、长度固定
的、具有本地意义的标识符,用以表征转发等
价类( FEC)。
? ( 1) 标记长度
? 从最基本的角度讲, 标记可以看作是分组
头的缩写或用户数据流标识的缩写, 是用来作
为路由器转发分组的一个判别索引, 在某种程
度上与 ATM中的 VPI/VCI相似 。
? ( 2) 本地性
? 标记的语义具有严格的本地 ( 或局部 ) 意
义, 即只在逻辑相邻的节点间有意义, 上游路
由器的输出标记就是下游路由器的输入标记 。
? ( 3) 转发等价类
? 转发等价类 ( FEC) 是一系列具有某些共
性的数据流集合, 这些数据在转发的过程中被
LSR以相同的方式进行处理, 正是从转发处理
这个角度讲这些数据, 等价, 。
? 2,相关概念
? ( 1) 标记绑定
? 将一个标记指派给 FEC就称之为, 标
记绑定, 。
? ( 2) 标记粒度
? 在实际应用中, 一个 FEC可以被映射
到多个标记上, 也就是说, 转发等价类
与标记的映射关系是一对多的关系 。
? ( 3) 标记堆栈
? 在 MPLS中还有一个重要的概念, 就
是, 标记堆栈,, 它是指一系列有顺序
的标记条目 。
? 二, MPLS封装
? 1,MPLS封装的含义
? 为了将标记与分组一起转发, 要求在
转发之前对标记进行适当的编码和封装 。
所谓封装, 是指对标记或标记堆栈及其
用于标记交换的附加信息进行编码, 使
之可以附加在分组上进行传送 。
? 2,MPLS封装的实现
? 当采用 MPLS专用硬件和软件转发标
记分组时, MPLS在数据链路层与网络
层头间定义了一层, 垫片 ( Shim),来
实现标记编码与封装 。
? MPLS封装主要包括标记, 存活时间
域 ( Time to Live,TTL), 服务类型
( Class of Service,CoS), 标记堆栈指
示, 下一个 MPLS封装类型指示, 校验
和等内容 。
? 三, 标记交换路由器 ( LSR) 与标记边缘交换
路由器 ( LER)
? 标记交换路由器 ( LSR) 是 MPLS网
络中的基本单元, 其结构如图 8.10所示,
包括控制单元和转发单元两部分 。
? 标记交换路由器( LSR) 主要运行
MPLS控制协议和第三层路由协议,从
图 8.10中可以看到,LSR中包含了一个
路由协议处理单元,该单元可以使用任
何一种现有的路由协议(如 OSPF,BGP
等),其工作就是生成路由表。
? 标记交换路由器( LSR) 要完成路由
器的路由控制功能和标记管 理 维护功能。
? 四, 标记分发协议 ( LDP)
? 标记分发协议 ( LDP) 是控制标记交
换路由器之间交换标记与 FEC绑定信息,
协调 LSR间工作的一系列规程 。
? 五, 标记交换路径 ( LSP)
? 标记交换路径 ( LSP) 是指在某逻辑
层上由多个 LSR组成的交换式分组传输
通路 。
8.2 标记分发协议( LDP)
? 8.2.1 LDP及其消息
? 一, 关于 LDP的基本解释
? 标记分发协议 ( LDP) 是在 MPLS网
络中定义的, 专门用于标记交换路由器
( LSR) 之间相互通知, 以便建立和维
护标记交换路径, 并在 LSR之间转发业
务所用的标记语义的一系列处理程序 。
? 二, LDP对等层及 LDP交换消息
? 使用 LDP进行交换标记和流映射信息
处理的逻辑相邻的 LSR称为 LDP对等体 。
? ( 1) 发现 ( Discovery) 消息:用于
通告和维护网络中标记交换路由器
( LSR) 的存在 。
? ( 2) 会话 ( Session) 消息:用于建
立, 维护和终止 LDP对等实体之间的会
话连接 。
? ( 3)通告( Advertisement) 消息:用
于创建、改变和删除 FEC-标记绑定。
? ( 4)通知( Notification) 消息:用于
提供建议性的消息和差错通知。
? 三, LDP消息结构
? 所有的 LDP消息都采用类型 -长度 -值
( Type-Length-Value,TLV) 的分组结
构编码方案, 而 TLV编码对象的值字段
又可以包含一个或多个 TLV或是 TLV的
嵌套结构 。
? 8.2.2 LDP操作
? 一, 转发等价类 ( FEC)
? 分组到标记交换路径 ( LSP) 的映射主
要是通过 LSP与 FEC之间的绑定来实现的 。
? 二, 标记空间, LDP标识, 会话与传输
? 1,标记空间
? 标记空间是指一系列标记的集合 。 标
记空间的概念对于讨论标记赋值与分发
十分有用 。 标记分配和标记分发就是在
标记空间中选择尚未使用的标记并向提
出标记请求的对等体分发此标记 。
? 2,LDP标识
? 一个 LDP标识有 6字节长, 它用于确定
LSR标记空间 。 其前 4字节表示 LSR的 IP
地址, 后 2字节指定 LSR中的特定标记空
间 。
? 3,LDP会话 ( LDP session)
? LDP会话用于不同 LSR间进行标记信
息交换 。 当一个 LSR用 LDP广播多个标
记空间给另一个 LSR时, 它为每一个标
记空间使用分离的 LDP会话 。
? 4,LDP传输
? LDP会话传输采用可靠的 TCP连接进
行。
? 5,非相邻 LSR间的 LDP会话
? 如果一个标记交换路由器 A( 记为
LSRa), 根据一些业务工程匹配准则,
要通过一条 LSP给一个不与它直接相连
的标记交换路由器 B( 记为 LSRb) 发送
业务, 那么在 LSRa与 LSRb之间的会话
就称为非相邻 LSR间的 LDP会话 。
? 三, LDP对等层的侦测
? LDP对等层侦测是指 LSR通过周期性
地发送一些消息来发现其可能的 LDP对
等体, 而且不再需要静态配置 LSR标记
交换 。 目前有基本和扩展两种侦测机理 。
? 基本的侦测是用于找出与本 LSR在链
路层上直接相连的 LSR。
? 扩展的侦测与基本的侦测相比, 它有
两方面的不同 。
? ( 1) 目标问候消息是发往特定的 IP地
址, 而不是与某一输出接口相连的所有
具有相同组播地址的路由器组 。
? ( 2) 扩展侦测目标问候消息的发送是
非对称的 。
? 四, LDP会话的建立与维护
? 两个 LSR间通过交换 LDP侦测问候消
息来触发 LDP会话的建立, 这个过程包
括传输连接的建立和会话初始化两个步
骤 。
? 1,传输连接的建立
? 2,会话初始化
? LSR1和 LSR2建立传输连接后, 它们
将通过 LDP初始化消息交换来协商会话
参数 。
? ( 1) 第一种情况, LSR1是被动者
? ( 2) 第二种情况, LSR1是主动者
? 五, 会话初始化的状态机描述
? 用状态机的办法来描述会话初始化的
状态转移显得更为直观 。 通常定义 LDP
状态机有 5个可能的状态及相应的状态行
为 。
? 当一对 LSR通过共享同一标记空间的
多条链路相连时, 它们的 LDP层会话就
会有多个问候邻接 ( Hello adjacency) 。
? 六, 标记分发与管理
? LSR的每一接口都需要配置好标记的
分发模式, 并在会话初始化期间交换分
发模式信息 。
? 1,标记分发控制模式
? LSR可以同时支持独立的和有序的两
种标记分发控制模式, 一条标记交换路
径 ( LSP) 的初始化设置是由 LSR工作于
独立的还是有序的 LSP控制模式来决定
的 。
? ( 1)独立的标记分发控制模式
? 所谓独立的标记分发控制模式是指关于什
么时候生成标记并将生成的标记通知给上游对
等层,每个 LSR可以独立做出决定。
? ( 2) 有序的标记分发控制模式
? 所谓有序的标记分发控制模式是指根据特
定 FEC的出口 LSR或 LSR已从它的下游 LSR处
收到标记绑定时, LSR才将标记 -FEC绑定通知
给对等层, LSP的形成是一个从出口到入口的
,流, 。
? 2,标记保持模式
? 标记保持模式可分为保守的标记保持
模式和自由的 ( Liberal) 标记保持模式 。
? ( 1) 保守的标记保持模式的特点
? ( 2) 自由的标记保持模式的特点
? 七, LDP标识与下一跳地址
? LSR 维 护 其 标 记 信 息 库 ( Label
Information Base,LIB) 中的标记 。
? 八, 循环探测与预防
? 循环 ( LOOP) 探测是标记交换路由
器 ( LSR) 的可配置选项, 配置了循环
探测的 LSR可以发现有循环的标记交换
路径 ( LSP), 并防止标记请求消息在
LSR之间循环传送 。
? 1,标记请求消息的循环探测
? 路径矢量和跳数计数主要使用在不具
有合并能力的 LSR上来防止标记请求消
息的循环 。 LSR要使用跳数计数来实现
标记请求消息的循环检测必须满足下面
的规则 。
? 2,标记映射消息的循环侦测
? 通过使用路径矢量法和跳数计数法在
标记映射消息里可以发现并终止有循环
的 LSP。
? 8.2.3 LDP协议规范
? LDP消息交换是通过在 LDP会话的
TCP 连 接 上 发 送 LDP 协 议 数 据 单 元
( LDP PDU) 来实现的 。
? 一, TLV编码及处理
? 1,TLV编码格式
? 在 LDP消息中, 携带的大量信息都采
用类型 -长度 -值 ( Type-Length-Value,
TLV) 编码方案, 如图 8.18所示给出了
TLV的编码格式 。
图 8.18 LDP TLV编码格式
? 2,常用参数的 TLV编码
? 有几种常用参数被多种 LDP消息所使
用, 这些常用参数的 TLV编码如下述 。
? ( 1) FEC TLV编码
? FEC TLV编码就是指 FEC各构成要素
的编码 。
? ( 2) 标记 TLV编码
? 标记 TLV对标记进行解码, 标记 TLV
由标记公布, 标记请求, 标记取消及标
记映射等消息携带 。
? ( 3) ATM标记 TLV
? 在 ATM链路上进行信息传输的 LSR,
其 ATM标记 TLV的编码格式如图 8.23所
示 。
0 A T M 标记 ( 0x0201 ) ( 14 b i t )
长度 ( 2 字节)
0
预留 ( 2 b i t ) V 比特 ( 2 b i t )
V P I ( 12 b i t ) V C I ( 16 b i t )
图 8.23 ATM标记 TLV编码
? ( 4) FR标记 TLV
? 一个要使用帧中继链路的 LSR将使用
帧中继标记 TLV对标记进行编码, 帧中
继标记 TLV编码的格式如图 8.24所示 。
0 帧中继标记 ( 0x0201 ) ( 14 bi t )
长度 ( 2 字节)
0
预留 ( 7 bi t ) D L C I 长度 ( 2 bi t )
D L C I ( 23 bi t )
图 8.24 帧中继标记 TLV编码
? ( 6) 跳数计数 TLV
? 跳数计数 TLV作为可选项出现于 LSP
的建立过程中, 用来计算沿着整个 LSP
所经过的 LSR数 。
? ( 7) 路径矢量 TLV
? 路径矢量 TLV用在标记请求消息里时,
是记录消息所经路径上的 LSR; 用在标
记映射消息里时, 是记录在建立 LSP时
标记映射消息所经过的 LSR。
? ( 8) 状态 TLV
? 状态 TLV一般在通知消息中携带, 用
于指定发生的事件是什么, 其编码格式
如图 8.28所示 。
长度 ( 2 字节)
状态代码 ( 4 字节)
0 状态 ( 0x0300 ) ( 14 b i t )0
消息 ID
消息类型
图 8.28 状态 TLV编码格式
? 二, LDP消息
? 所有的 LDP消息都采用图 8.30所示的
格式 。
消息长度 ( 2 字节)
消息 ID ( 4 字节)
U ( 1 b i t )
消息类型 ( 15 b i t )
命令参数 (可变长)
可选参数 (可变长)
图 8.30 LDP消息格式
? 三, LDP消息的处理
? 1,通知消息的处理
? 当某一 LSR在信息处理过程中发现异常情
况时, 它就将事件的状态代码进行编码处理,
然后, 发送给它的对等层 。
? 2,问候消息的处理
? 当一个 LSR从另一个 LSR收到问候消息后,
它就开始维护一个相应的问候邻接, 同时启动
问候邻接保持时间计时器, 在计时时间范围内
收到相应的问候消息就重置计时器为初值, 否
则计时时间到后就终止连接 。
? 3,初始化消息的处理
? 初始化消息主要是设置 LSR间相互通
信的协议版本, 最大数据传输单元, 标
记分发 ( 公布 ) 规则, 循环侦测采用的
方案以及 ATM或帧中继中标记空间的划
分等 。
? 4,会话保持时间消息的处理
? LSR每收到一个会话保持时间消息,
它就重置在消息中指定的计时器 。
? 5.地址消息的处理
? 收到地址消息的 LSR使用该消息中所
含的地址信息去维护一个地址数据库,
该数据库保存着 LDP标识与下一跳地址
之间的映射关系。
? 6,标记映射消息的处理
? 标记映射消息是 LSR用来将标记与
FEC间的映射关系分配给 LDP对等层的 。
? 7,标记请求消息的处理
? 标记请求消息是由上游 LSR向下游显
式地申请一个 FEC标记映射的消息 。
? 8,标记退出请求消息的处理
? 在下列情况之一发生时, LSR将发出
标记退出请求消息 。
? ( 1) 该 LSR的下一跳节点对 FEC的映
射发生了改变 。
? ( 2)该 LSR是一个不具合并能力的中
间节点,并从它的上游节点处收到了标
记退出请求消息。
? ( 3)该 LSR是具有合并能力的中间节
点,但发出标记退出请求的 LSR是它上
游的惟一一个 LSR。
? 9,标记取消消息的处理
? 当发生下列事件之一时, LSR发出标
记取消消息 。
? ( 1) 先前为 FEC公布的标记识别不
出来 。
? ( 2) 该 LSR单方面决定不再对某一
FEC作标记交换, 则相应的标记要取消 。
? 10,标记释放消息的处理
? 当 LSR不再需要先前它从对等层那里
申请到的标记时, 它就给对等层发送一
个标记释放消息 。
8.3 标记交换路径( LSP)
? 8.3.1 标记交换路径概述
? 标记交换路径 ( Label Switched Path,LSP)
是指具有某特定 FEC的分组, 在传输时经过的
标记交换路由器集合构成的数据传输通路 。
? 1,LSP的属性描述
? 由于 MPLS支持层次化的网络拓扑结
构, 因此在对某一分组传输路径进行描
述时, 还必须指明当前的标记交换路径
位于第几层 。
? 2,LSP的分类
? 在 MPLS框架协议中, 规定 MPLS支持
点到点, 点到多点, 多点到点和多点到
多点四种 LSP。
? 8.3.2 LSP路由选择
? 在 MPLS域中, 路由选择是指为特定的 FEC
选择一条 LSP,以便用于传输 FEC对应的分组 。
IETF为 MPLS指定了两种路由选择方式:逐跳
式路由 LSP和显式路由 LSP。
? 1,逐跳式路由 LSP
? 逐跳式路由 LSP方式允许各节点独立地为每
个 FEC选择下一跳, 也就是指该条 LSP的路由
是通过逐跳式选路方式所确定的 。
? 2,显式路由 LSP
? 显式 LSP路由中, 每个 LSR不是自己
独立决定下一跳的选择, 而是由某个
LSR( 通常是 LSP的入口或出口节点 )
规定好 LSP中的部分或全部的 LSR。
? 8.3.3 LSP隧道
? 有时路由器 Ru需要采用显式路由的方
式将一些特殊的数据包 P传给路由器 Rd,
但 Ru和 Rd可能不是一跳接一跳路径上的
相连贯的路由器, Rd可能也不是 P的最
终接收者 。
? 将隧道技术应用到 MPLS网络中是可
能的, 因为我们可以使用标记交换而不
是网络层的封装让分组穿过隧道转发 。
? 在 MPLS中可以很容易地通过显式 LSP路由
隧道来实现显式路由, 因为只需要做如下三点
即可 。
? ( 1) 选择哪些分组要通过显式 LSP路由隧
道发送 。
? ( 2) 设置好显式 LSP路由隧道 。
? ( 3) 要确保在隧道中发送的分组不会产生
循环 。
? 层次化的 LSP隧道,实际上是指 LSP的隧道
嵌套。
? 8.3.4 LSP的快速重选路由
? 当发生网络拥塞和部分链路失效时,
对 MPLS网络中的重要业务进行快速重
选路由是体现网络强壮的一个重要指标 。
? 1,备份路径安排
? 这个方法的主要思想是在失效的节点
处将业务倒转到受保护 LSP的源头处,
然后转向备份 LSP上传送数据流 。
? 2,LSP的 1∶ 1保护
? 如果要用 1∶ 1的路径保护, 就需要为每条
LSP都建立备份 LSP。 当某交换机检测到下游
链路失效后, 它只需简单地将业务流转接到替
代的 LSP上去即可 。
? 3,LSP的 1∶ N保护
? 采用 1∶ N保护是指一条备份 LSP可为多条
主通路使用 。 在 1∶ N情况下的重选路由差别
是:它不是简单地将业务转到替代路径上发送,
而是使用标记堆栈的方法 。
? 4,带宽预留的考虑
? 一般说来, 没有必要规定要为备份路
径分配多少带宽资源 。 主通路的保持优
先权可以作为备份路径的流量触发通路
抢占优先权 。 这里之所以叫流量触发,
是因为只有数据流切换到备份路径上传
输, 备份路径才能使用网络资源 。