MPLS协议基础

更新时间:2024-02-29 11:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程 DA000015 MPLS协议基础 ISSUE 1.0

DA000015 MPLS协议原理 ISSUE1.0

目 录

目 录

课程说明 ....................................................................................................................................... 1

课程介绍 .......................................................................................................................................1 课程目标 .......................................................................................................................................1

第1章 MPLS协议原理 ................................................................................................................. 2

1.1 MPLS 概述 .............................................................................................................................2

1.1.1 传统IP转发 .................................................................................................................4 1.1.2 MPLS 标签交换过程 ....................................................................................................5 1.1.3 MPLS基本网络拓扑结构 .............................................................................................6 1.1.4 MPLS基本概念 ...........................................................................................................7 1.1.5 标签交换 ......................................................................................................................8 1.1.6 倒数第二跳弹出 ........................................................................................................ 10 1.2 标签及标签栈 ...................................................................................................................... 11

1.2.1 MPLS 标签结构 ........................................................................................................ 11 1.2.2 MPLS 标签栈 ............................................................................................................ 12 1.2.3 MPLS TTL 处理 ........................................................................................................ 13 1.2.4 MPLS 标签空间 ........................................................................................................ 14 1.3 MPLS LDP 协议 .................................................................................................................. 16

1.3.1 LSP的建立 ............................................................................................................... 16 1.3.2 LDP协议概述 ........................................................................................................... 17 1.3.3 LDP消息 .................................................................................................................. 18 1.3.4 LDP会话的建立和维护 ............................................................................................. 20 1.3.5 标签分配和管理 ........................................................................................................ 23 1.3.6 标签分发模式 ............................................................................................................ 24 1.3.7 标签控制方式 ............................................................................................................ 27 1.3.8 标签保留方式 ............................................................................................................ 29 1.3.9 LSP环路检测 ........................................................................................................... 31

华为技术有限公司 版权所有, 未经许可不得扩散

i

DA000015 MPLS协议原理 ISSUE1.0

课程说明

课程说明

课程介绍

本课程主要介绍MPLS(Multiprotocol Label Switching)-多协议标签交换协议的基本原理。

Multiprotocol(多协议)是指MPLS 能够承载多种网络层协议,MPLS通常处于网络模型的二层和三层之间。

课程目标

完成本课程的学习后,您应该能够:

? ? ?

掌握MPLS协议的基本概念 掌握MPLS报文标签交换过程 掌握MPLS LDP协议的基本原理

华为技术有限公司 版权所有, 未经许可不得扩散

1

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

第1章 MPLS协议原理

1.1 MPLS 概述

MPLS 概述??MPLS 最初是用来提高路由器的转发速度而提出一个协议。由于MPLS在目前IP网络中非常关键的两项技术:VPN和流量工程(Traffic Engeering)中表现,MPLS已日益成为扩大IP网络规模的重要标准。?1996年,Ipsilon公司推出了IP Switching协议,通过标签交换数据包,引发了路由器技术的一次大革命。?1997年,IETF成立一个MPLS(MultiprotocolLabel Switching)工作组,作为独立于厂商的一系列标准的名称:??Multi-Protocol:支持多种三层协议,如IP、IPv6、IPX、SNA等Label Switching:给报文打上标签,以标签交换取代IP转发华为机密,未经许可不得扩散文档密级:内部公开 MPLS(Muxtiprotocol Label Switch)最初是用来提高路由器的转发速度而提出一个协议,但是由于MPLS在流量工程(Traffic Engeering)和VPN这一在目前IP网络中非常关键的两项技术中表现。MPLS已日益成为扩大IP网络规模的重要标准。

MPLS协议的关键是引入了标签(Label)的概念。它是一种短的易于处理的、不包含拓扑信息、只具有局部意义的信息内容。Label短是为了易于处理,通常可以用索引直接引用。只具有局部意义是为了便于分配。熟识ATM的人可能很自然地想到ATM中的VPI/VCI。可以这么说ATM中的VPI/VCI就是一种标签。所以说ATM实际上就是一种标签交换。

1996年,Ipsilon公司推出了IP Switching协议,在数据通讯界立即引起具大震动。 Ipsilon公司由一个默默无闻的小公司,一举成为数据通讯界众所周知的公司,并由此引发了路由器技术的一次大革命,各公司纷纷推出自己的三层交换方案。

显然,各厂家独立的基于标签交换的解决方案是不可能被其他厂家接受的,需要形成统一的标准。所以在1997年,IETF成立一个工作组,经过多次商

2

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

讨。MPLS(Multiprotocol Label Switching)这个术语被确实下去,作独立于厂商的一系列标准的名称。MPLS的宗旨就是要集成标签切换转发的高性能和网络层路由的灵活性的扩展性。

MPLS早期工作集中在IPV4上,但其核心技术可扩展到多种网络协议上(如IPV6,IPX,Appletalk,SNA等)。MPLS不局限于任何特定的链路层技术,它能在网络层实体间使用任意媒体传输网络层分组。

MPLS报文转发是基于标签的。IP包在进入MPLS网络时,MPLS入口的边缘路由器分析IP包的内容并且为这些IP包选择合适的标签,然后所有MPLS网络中节点都是依据这个简短标签来作为转发判决依据。当该IP包最终离开MPLS网络时,标签被出口的边缘路由器分离。

华为技术有限公司 版权所有, 未经许可不得扩散

3

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.1.1 传统IP转发

传统IP转发分析IP报文头路由表最长匹配查找映射到下一跳分析IP报文头路由表最长匹配查找映射到下一跳分析IP报文头路由表最长匹配查找映射到下一跳??每一跳分析IP报文头,效率低IP的逐跳转发,在经过的每一跳处,必须进行路由表的最长匹配查找(可能多次),速度缓慢。?所有路由器都要知道整个网络的所有路由华为机密,未经许可不得扩散文档密级:内部公开 物理层从路由器的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送到网络层。网络层首先看报文是否是送给本机的,若是,去掉网络层封装,送给上层。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃。

IP的逐跳转发,在经过的每一跳处,必须进行路由表的最长匹配查找(可能多次),速度缓慢。并且所有的路由器需要知道全网的路由或者根据默认路由。

4

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.1.2 MPLS 标签交换过程

MPLS 标签交换过程10.1.1.110.1.1.1L=3020L=查看路由表插入标签10.0.0.0/8 ?L=20标签交换L=20?L=30去掉标签查找路由表L=30?MPLS的标签转发,通过事先分配好的标签,为报文建立了一条标签转发通道?在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找)华为机密,未经许可不得扩散文档密级:内部公开 MPLS的标签转发,通过事先分配好的标签,为报文建立了一条标签转发通道(LSP),在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找)。

MPLS中,将所有进入网络的分组划分成转发等价类(FEC),并将每个特定FEC映射到下一跳,即进入网络的每一特定分组都被指定到某个特定的FEC中。每一特定FEC都被编码为一个短而定长的值,称为标签,标签加在分组前成为标签分组,再转发到下一跳。在后续的每一跳上,不再需要分析分组头,而是用标签作为指针,指向下一跳的输出端口和一个新的标签,标签分组用新标签替代旧标签后经指定的输出端口转发。

MPLS对特定分组进行FEC的指定,且只在分组进入网络时指定一次。后续路由器不再分析分组头,所有转发都根据标签进行。MPLS的转发模式和常规网络层转发相比,除了明显地简化转发、提高转发速度外,并且易于实现下述功能:显式路由(源路由),COS,QoS,流量工程等。

IP报文进入MPLS 的网络以后才进行标签交换,那么MPLS的网络结构是怎样的呢?

华为技术有限公司 版权所有, 未经许可不得扩散

5

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.1.3 MPLS基本网络拓扑结构

MPLS基本网络拓扑结构LERMPLS域LSRLERIP域IPLERLSRIP域LSPMPLSLSRLERIP域???LSR:Label Switch RouterLER:Label Edge RouterLSP:Label Switch Path华为机密,未经许可不得扩散文档密级:内部公开 MPLS网络的典型结构如图所示。MPLS的基本组成单元是MPLS标签交换路由器(LSR)。由MPLS LSR构成的网络区域称为MPLS域,位于MPLS域边缘与其它网络或用户相连的LSR称为边缘LSR(LER),而位于MPLS域内部的LSR则称为核心LSR。LSR既可以是专用的MPLS LSR也可以是由ATM等交换机升级而成的ATM-LSR。MPLS网络与传统IP网络的不同主要在于MPLS域中使用了标签交换路由器,域内部LSR之间使用MPLS协议进行通信而在MPLS域的边缘由MPLS边缘路由器进行与传统IP技术的适配。一个的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP。

报文在MPLS域内进行标签交换的时候是通过唯一确定的LSP, 在IP网络中报文转发路径是不确定的,可能同时存在多条路径。

当报文在进入MPLS域时,LER是如何将其导入一条唯一确定的路径呢?首先我们介绍一些MPLS的基本概念。

6

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.1.4 MPLS基本概念

MPLS 基本概念?Label:标签是一种短的,易于处理的,不包含拓扑信息,只具有局部意义的信息内容。FEC(Forwarding Equivalence Class):将具有相同特性的报文导入到同一条LSPNHLFE(Next Hop Label Forwarding Entry):描述标签操作????下一跳标签操作类型:push/pop/swap??FTN(FEC to NHLFE):将FEC映射到NHLFEILM(Incoming Label Map):将MPLS标签映射到NHLFE华为机密,未经许可不得扩散文档密级:内部公开 标签(Label),是一个比较短的,定长的,非结构化,通常只具有局部意义的标识,这些标签通常位于数据链路层的数据链路层封装头和三层数据包之间,用来提高数据分组的转发性能。

FEC:Forwarding Equivalence Class,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组,例如目的地址前缀相同的数据分组。通常对一个FEC分配相同的标签。

NHLFE:Next Hop Label Forwarding Entry,在LSP沿途的LSR上都已建立了输入/输出标签的映射表,该表的元素叫下一跳标签转发条目,简称NHLFE。对于接收到的标签分组,LSR只需根据标签从表中找到相应的NHLFE,并用新的标签来替换原来的标签,然后对标签分组进行转发。NHLFE内容至少包含了输入/输出标签和下一跳。相当于IP网络中的路由表。 数据分组在进入MPLS时,首先被归类为不同的FEC,然后就是把这些FEC同NHLFE相映射,进入到达利用标签切换来转发数据分组的目的,FEC同NHLFE的映射关系有两种,FEC到NHFLE映射(FTN)和入标签映射(Incoming Label Map, ILM),前者用来转发未标签化的分组(Edge LSR,LER),但在转发后,分组也已经标签化了。后者用来转发已经标签化了的分组(Core LSR)。

我们来具体分析一下标签的交换过程。

华为技术有限公司 版权所有, 未经许可不得扩散

7

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.1.5 标签交换

标签交换标签操作:push分析IP头FEC绑定LSPFTN->NHLFE10.1.1.110.1.1.1L1A入口LERBLSRCLSRD出口LERA:FEC下一跳10.0.1.0/24BNHLFE发送接口Eth 1标签操作加上标签L1其他…华为机密,未经许可不得扩散文档密级:内部公开 当一个IP报文进入到MPLS域时,入口LER会分析报文。一般根据IP地址前缀或者主机地址来划分FEC,入口LER将其映射到NHLFE,向IP报文头中插入一个标签L1,通过ethernet1 将其转发到LSR B。

标签转发标签操作:push标签操作:swap分析IP头FEC绑定LSPFTN->NHLFEILM->NHLFE10.1.1.1L2A入口LERBLSRCLSRDB入标签下一跳L1C发送接口E0NHLFE标签操作去掉原来的标签,加上标签L2其他…华为机密,未经许可不得扩散文档密级:内部公开 LSRB 接收到如标签为L1的报文后,查找NHLFE,将入标签L1交换为L2。

8

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

标签转发标签操作:push标签操作:swap分析IP头FEC绑定LSPFTN->NHLFEILM->NHLFE标签操作:swapILM->NHLFE10.1.1.1L3A入口LERBLSRCLSRDC入标签下一跳L2D发送接口Eth 0NHLFE标签操作去掉原来的标签,加上标签L3其他…华为机密,未经许可不得扩散文档密级:内部公开 LSRC的操作过程与LSRB的过程类似。

标签转发标签操作:push标签操作:swap分析IP头FEC绑定LSPFTN->NHLFEILM->NHLFE标签操作:pop标签操作:swapILM->NHLFEILM->NHLFE分析IP头映射到下一跳10.1.1.1A入口LERBLSRCLSRD出口LERD:入标签下一跳L3华为机密,未经许可不得扩散NHLFE发送接口标签操作去掉标签文档密级:内部公开其他…D 出接口的LSR收到标签L3后,首先弹出标签,根据目的IP地址查找路由表,进行传统的IP 转发。实际上对于出口LER,收到的标签L3对其转发来讲已经没有意义。如果出口LER只进行IP报文的转发而不在分析标签,转发的效率会提高。

华为技术有限公司 版权所有, 未经许可不得扩散

9

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.1.6 倒数第二跳弹出

PHP标签操作:push分析IP头FEC绑定LSPFTN->NHLFE标签操作:swapILM->NHLFE标签操作:popILM->NHLFE分析IP头映射到下一跳10.1.1.110.1.1.1A入口LER?BLSRCLSRD出口LER在最后一跳,最外层的标签已经没有意义,因此可以在倒数第二跳将标签弹出,减少最后一跳的负担。如果只有一层标签,则最后一跳直接进行IP转发;否则,对内层标签做标签转发。?华为机密,未经许可不得扩散文档密级:内部公开 Penultimate Hop Popping:倒数第二跳弹出

标签在倒数第二个LSR弹出,而不是在LSP的出口LSR弹出,这样做的目的是允许边缘节点不支持MPLS或是降低对边缘节点处理能力的要求。 使用倒数第二跳弹出时,倒数第二个LSR根据原先位于栈顶的标签决定向哪里转发分组;LSP出口LSR收到分组时,位于栈顶的标签就是它在作出自己的转发决定时需要查看的标签。如果分组中只包含一个标签,则使用倒数第二跳弹出后,LSP出口LSR查看分组的网络层分组头作出转发决定。 LSR如何知道自己是倒数第二跳呢?倒数第一跳的路由器为其分配一个特殊的标签,标签值为3。

我们知道了报文在MPLS域中通过标签交换完成转发,标签的具体结构是怎样的呢?

10

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.2 标签及标签栈

1.2.1 MPLS 标签结构

MPLS标签结构LABEL0EXPS1920222324TTL31?MPLS 使用32-bit label 标签允包括以下四部分:????20-bit 标签:0~1048575,0~15为系统使用3-bit 实验域,目前被用于Qos1-bit 栈底标识,1表示此标签为栈底标签8-bit TTL ,同IP报文头中的TTL华为机密,未经许可不得扩散文档密级:内部公开 通常,MPLS包头有32Bit,其中有:

20Bit用作标签(Label)范围0~1048575,0~15为系统使用,其中4~15保留。3个Bit的EXP, 协议中没有明确,目前被用于QoS;1个Bit的S,用于标识是否是栈底,S-bit为1标明该标签为栈底。8个Bit的TTL,作用和IP报文头中TTL相同。

通常标签位于链路层帧头和网络层报文之间,称为帧模式。以太网/SONET/SDH分组封装即采用这种格式。在ATM网络中,在链路层封装报文时可以采用帧模式,也可以采用信元模式。信元模式直接用VPI/VCI作为标签。

以太网以太网报头Label/SONET/PPP报头/SDH分组ATM报头Label帧模式ATM分组信元模式的VPI/VCI ATM分组三层数据三层数据三层数据

华为技术有限公司 版权所有, 未经许可不得扩散

11

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.2.2 MPLS 标签栈

MPLS 标签栈FrameHeaderLabel 1Label 2Label 3IP HeaderPayloadPID=MPLS-IPS=0S=0S=1?链路层协议增了对MPLS的标识:??在PPP中:增加了一种新的NCP:MPLSCP,使用0x8281来标识在以太网中:使用值是0x8847(单播)和0x8848(组播)来表示承载的是MPLS报文(0800是IP报文)??S-bit 通过0或1来标明下一个头部为MPLS的头部还是IP的头部。接受MPLS报文的路由器只使用最外层的标签进行转发华为机密,未经许可不得扩散文档密级:内部公开 当一个链路层协议收到一个MPLS报文后,如何判断这是一个MPLS报文,应该送给MPLS处理,而不是象普通的IP报文那样,直接送给IP层处理? 在PPP中增加了一种新的NCP:MPLSCP,使用0x8281来标识。 在以太网中使用值是0x8847(单播)和0x8848(组播)来表示承载的是MPLS报文(0800是IP报文)。

MPLS分组上可以承载一系列按照“后进先出”方式组织起来的标签,这种结构称做标签栈,从栈顶开始处理标签。

若一个分组的标签栈深度为m,则位于栈底的标签为1级标签,位于栈顶的标签为m级标签。未打标签的分组可看作标签栈为空(即标签栈深度为零)的分组。S-bit 通过0或1来标明下一个头部为MPLS的头部还是IP的头部。 接受MPLS报文的路由器只使用最外层的标签进行转发。

12

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.2.3 MPLS TTL 处理

MPLS TTL处理?把整个MPLS域看做一跳:IP TTL --MPLS TTL=255MPLS TTL --IP TTL --入口LERLSR出口LER?把MPLS TTL计入IP TTL:IP TTL --MPLS TTL=IP TTLMPLS TTL --IP TTL=MPLS TTLMPLS TTL --入口LERLSR出口LER华为机密,未经许可不得扩散文档密级:内部公开 IP报文进入MPLS域时,MPLS对TTL的处理有两种方式:一种方式MPLS的TTL值不记入IP的TTL中,即将整个MPLS域看作一跳,IP报文在离开MPLS域时,IP 报文的TTL值减1;一种方式将MPLS的TTL记入到IP的TTL,IP报文在进入到MPLS域时,入口LER在插入标签时将IP的TTL值拷贝到MPLS 的TTL域中,每经过一次标签交换MPLS的TTL值减1,IP的TTL值不变,在出口LER,将MPLS 的TTL值拷贝到IP的TTL域中。

华为技术有限公司 版权所有, 未经许可不得扩散

13

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.2.4 MPLS 标签空间

标签空间:基于接口的标签空间X = 25AX = 20DX = 25Network X??标签的分配在不同的接口上是独立的相同的标签在不同的接口上可以重复使用华为机密,未经许可不得扩散文档密级:内部公开 标签空间的概念主要是与标签的分配与分发有关,它将规定使用标签的范围以及不同接口上使用的标签是否能够重合等问题。标签空间有两种: 基于端口范围标签空间,使用端口资源作为标签的端口通常使用这种标签。例如使用VCI作为标签的处于标签控制下ATM端口,或者使用DLCI作为标签的处于标签控制之下的帧中继端口。只有当LDP对等实体是通过特定端口直接相连,并且标签仅仅用于通过特定端口的数据传输的时候,才能够使用基于每端口范围的的标签空间。此时,标签在每一个端口上是唯一的。

14

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

标签空间:基于平台的标记空间X = 25AX = 25X = 20DNetwork X??标签的分配在全局是唯一的相同的标签在不同的接口上可以不能重复使用华为机密,未经许可不得扩散文档密级:内部公开 基于平台范围的标签。当端口之间能够共享标签资源时,通常使用基于每平台范围的标签空间。此时,标签在一个平台(一台LSR)上是唯一的。 到目前为止,我们介绍了MPLS 标签交换的过程以及标签的结构,但是标签是和分配的呢?入口LER如何知道将FEC导入到特定的LSP中去呢?

华为技术有限公司 版权所有, 未经许可不得扩散

15

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3 MPLS LDP 协议

1.3.1 LSP的建立

LSP的建立?LSP驱动方式:??流驱动:收到的报文驱动LSP建立拓扑驱动:拓扑信息(路由)驱动LSP建立?信令协议,用于在LSR之间分配标签,建立LSP:????LDP : Label Distribution Protocol, CR-LDP : Constrained RouteLDP,RSVP-TEMP-BGP华为机密,未经许可不得扩散文档密级:内部公开 MPLS中,Label的分发可以使用流驱动,也可以使用拓扑驱动。

当使用流驱动时,数据流被动态分配标签,LSP Ingress和LSP Egress动态地变化。在MPLS网络的核心,也有LSP的边缘节点。流驱动中,LER不是一个固定的物理设备。

当使用拓扑驱动时,连接只在两个MPLS Domain的边缘节点之间建立,LSP是静态的。拓扑驱动中,MPLS Domain的边缘节点就是LER。

MPLS没有规定建立连接的策略,如何决定建立连接,由各个节点自己决定。 要建立LSP,还必须借助于信令协议,目前被广大厂商所认同也比较成熟的有LDP(Label Distribution Protocol)。在流量工程中会使用CR-LDP,约束路由-LDP协议。此外也有人提出可以在路由协议中进行扩展(如BGP扩展),使其可以携带标签分发的信息,从而达到建立LSP的目的。这里我们介绍在实际中使用最为广泛的LDP协议。

16

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.2 LDP协议概述

LDP协议概述?LDP是Label Distribution Protocol(即“标签分发协议”)的缩写,是MPLS技术的核心协议之一。?对数据分组进行分类和建立标签交换路径,并对标签交换路径进行维护LDP协议建立在UDP和TCP之上,使用端口号646LDP有两种建立邻居关系的机制:?本地邻居?远程邻居??华为机密,未经许可不得扩散文档密级:内部公开 LDP是 Label Distribution Protocol(即“标记分发协议”)的缩写,是MPLS技术的核心协议之一。LDP协议包括一组用于在LSR之间建立LSP的消息和处理过程。LDP协议通过将网络层的路由信息直接映射到建立在数据链路层的 交换式通道(LSP)上。

LDP协议建立在UDP和TCP之上,使用的端口号为646。LDP协议可以建立两种邻居关系,本地邻居和远程邻居。

华为技术有限公司 版权所有, 未经许可不得扩散

17

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.3 LDP消息

LDP消息?在LDP协议中,存在4种LDP消息:?发现(Discovery)消息:?用于通告和维护网络中LSR的存在。?会话(Session)消息?用于建立,维护和结束LDP对等实体之间的会话连接。?通告(Advertisement)消息?用于创建、改变和删除特定FEC-标签绑定。?通知(Notification)消息?用于提供消息通告和差错通知。华为机密,未经许可不得扩散文档密级:内部公开 在LDP协议中,存在4种LDP消息:

发现(Discovery)消息,用于通告和维护网络中LSR的存在。

会话(Session)消息,用于建立维护和结束LDP对等实体之间的会话连接。 3) 通告(Advertisement)消息,用于创建、改变和删除特定FEC-标记绑定。 4) 通知(Notification)消息,用于提供建议性的消息和差错通知。 发现消息提供了这样一种机制,LSR可以通过周期性地发送HELLO消息表明它在网络中的存在。使用“发向所有路由器”的子网组播地址,HELLO消息将以UDP分组的形式发往LDP端口。当LSR决定要与通过HELLO消息发现的其它LSR建立LDP会话时,LSR将通过TCP端口发起LDP初始化进程。

一旦初始化过程成功结束,两个LSR就成为LDP对等实体,并且可以交换通告消息。本地LSR可以自行决定何时发送标记请求或标记映射消息。通常,当LSR需要标记的时候,LSR就可以向LDP对等实体发送标记请求消息;当LSR希望LDP对等实体使用某一标记的时候,LSR就可以向LDP对等实体发送标记映射消息。

为了保证LDP正确操作,需要可靠并有序的消息传输,因此LDP使用TCP协议来传送会话、通告和通知消息,实际上,只有发现消息是使用UDP协议来传送的。

18

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

华为技术有限公司 版权所有, 未经许可不得扩散

19

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.4 LDP会话的建立和维护

LDP会话的建立和维护邻居发现:通过互发hello报文(UDP/prot:646/IP:224.0.0.2)建立TCP连接:由地址大的一方主动发起。(TCP/port:646)会话初始化:由Master发出初始化消息,并携带协商参数。由slave检查参数能否接受,如果能则发送初始化消息,并携带协商参数。并随后发送keepalive消息。master检查参数能否接受,如果能则发送keepalive消息。相互收到keepalive消息,会话建立。MMMMM期间收到任何差错消息,均关闭会话,断开TCP连接华为机密,未经许可不得扩散文档密级:内部公开 两个LSR之间交换LDP Hello消息将触发LDP会话建立过程。 下面简要介绍LDP会话的建立和维护。以LSR1和LSR2为例来说明会话的建立和维护。 1、在建立会话之前,LSR1、LSR2在每个接口的UDP端口646发送Hello消息,消息中包括一个LDP标识符,同时也要接收UDP端口646的消息。 2、LSR1、LSR2接收到Hello消息后,判断是否已经同发送方建立会话,如果没有,开始准备建立会话。

3、LSR1、LSR2根据双方地址决定在会话建立中哪个是主动方,哪个是被动方,地址大的一方为主动。(NON EXISTENT状态) 4、建立支持会话的TCP连接(INITIALIZED状态)。 5、主动方发送Init消息,进入OPENSENT状态;

被动方接收到可以接收的Init消息,进入OPENREC状态,同时向对方发送Init消息和KeepAlive消息;

6、进入OPENSEND的一方接收到可以接收的Init消息进入OPENREC状态,同时向对方发送KeepAlive消息。

进入OPENREC的一方接收到KeepAlive消息进入OPERATIONAL状态。

20

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

LDP邻居状态机接收到Keep Alive以外消息或超时;发送会话连接建立NON EXISTENT接收到Init以外消息或超时发送Init消息(主动方)INITIALIZED收到可接受的Init消息;发送Init消息发送Keep Alive消息(被动方)OPENREC接收到可接收的Init消息;发送Keep Alive消息OPENSENT接收到Init以外消息或超时;接收到Keep Alive消息OPERATIONAL其他LDP消息LDP会话建立的状态迁移图华为机密,未经许可不得扩散文档密级:内部公开接收到Shutdown消息或超时;发送Shutdown消息 附:

会话协商中的指数后退法:

两个LSR的会话参数配置有可能不兼容,此时,这两个LSR之间可能会陷入无穷的消息序列之中,不停的发送差错通知消息拒绝另外一方的会话初始化请求。

LSR必须使用指数后退的方式抑制重新建立LDP会话的次数。同时如果LSR检测到这种情况,LSR应该采取措施,通知操作员。初始化消息被拒绝至少15秒以后,LSR才可以重新发送LDP会话初始化消息,如果初始化消息又被拒绝,在再次发送LDP初始化消息之前,至少延时2分钟。主动方LSR必须延时一段时间才能重新建立LDP会话的传输层连接。除非管理员重新配置其中的一个LSR,被抑制的初始化消息序列不可能自动停止。 在对参数重新配置之后,如果会话初始化请求不再被拒绝,这时,可以取消对于随后会话建立过程的抑制。但是,由于会话建立过程中的不对称性,除非采取进一步行动,主动方LSR将无法知道被动LSR的参数是否被重新配置。 Hello邻接体维护

LDP规定了一整套机制对Hello邻接体和LDP会话进行监测。LDP利用它接收的的Hello消息确认对等LSR希望继续使用在Hello消息中指明的标记空间。LSR为每个Hello邻接体维护一个Hello保持定时器,当LSR从特定Hello邻接体接收到Hello消息后,相应的Hello保持定时器将被重新启动。如果直到Hello保持定时器超时,LSR仍然没有从特定Hello邻接体收到下一个Hello消息,那么LSR将认为Hello邻接体不再希望在当前链路或目标

华为技术有限公司 版权所有, 未经许可不得扩散

21

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

(在使用目标Hello的情况下)上使用当前的标记空间进行标记交换,或者Hello邻接体发生了故障,不能正常工作。LSR将随后删除特定Hello邻接体。

LDP会话维护

LDP同样也规定了一整套机制对LDP会话的完整性进行监测。LDP通过从会话连接上接收到的LDP PDU来监测LDP会话的完整性。LSR针对每个LDP会话连接维护一个会话保持定时器,当LSR接收到来自特定会话连接的LDP PDU后,会话保持定时器定时器将被重新启动。如果直到会话保持定时器超时,LSR仍然没有从LDP对等实体收到LDP PDU,那么LSR将认为LDP会话传输连接出现错误或者LDP 对等实体设备故障,并关闭TCP连接,结束LDP会话。

在LDP会话建立之后,LSR必须使LDP对等实体在会话保持时间间隔内至少收到一个LDP PDU,从而保证LDP 对等实体重新启动会话保持定时器。LSR可以发送任何LDP协议消息来满足这个要求;如果LSR没有其它的消息发送给LDP 对等实体,那么LSR将发送会话保持消息。LSR可以选择在任何时候结束与LDP对等实体的LDP会话;如果LSR选择结束LDP会话,LSR将向LDP对等实体发送“关闭”通知消息,通知这一事件。

22

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.5 标签分配和管理

标签分配和管理?标签分配模式???DoD:downstream-on-demand下游按需标记分发DU: downstream unsolicited下游自主标记分发上游与下游:在一条LSP上,沿数据包传送的方向,相邻的LSR分别叫上游LSR和下游LSR。下游是路由的始发者。?标签控制模式??有序方式(Odered)标签控制独立方式(Independent)标签控制?标签保留方式??保守方式(Conservative )保留标签自由方式(Liberal )保留标签文档密级:内部公开华为机密,未经许可不得扩散 在LDP会话建立,双方都进入OPERATIONAL状态后,通过发送其他LDP消息进行标签的分配和管理。

MPLS建议了两种标签分发方式:DoD和DU

MPLS使用独立的(independent)还是有序的(ordered)LSP控制方式决定了LSR在LSP建立过程中的行为

MPLS协议中使用了两种标签保留的方式:保守方式和自由方式

华为技术有限公司 版权所有, 未经许可不得扩散

23

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.6 标签分发模式

MPLS建议了两种标签分发方式:

标签分发模式:DoD路由触发171.68.4.0/24分配到171.68.1.0/24的标签为18分配到171.68.1.0/24的标签为19171.68.1.0/24上游LSRALSRBLSRC请求到目的地171.68.1.0/24的标签下游请求到目的地171.68.1.0/24的标签?上游LSR向下游LSR发送标签请求消息(包含FEC的描述信息)?下游LSR为此FEC分配标签,并将绑定的标签通过标签映射消息反馈给上游LSR 华为机密,未经许可不得扩散文档密级:内部公开 MPLS允许LSR对于明确提出标记请求的其它LSR分配FEC-标记绑定,这种方式叫下游按需(Downstream On Demand )标记分发。

上游标签交换路由器(LSR)为某个FEC向下一跳LSR请求分配标签。 该过程可简单描述如下:

1、LSR1发现一个新的FEC;发现新的FEC与具体实现有关,没有统一的标准,一般根据发送到某些地址的数据包流量来判断,数据包流量大到一定数值时,认为发现一个新的FEC;

2、在路由表中查找该FEC的下一跳信息,路由表是路由模块维护的; 3、向下一跳发送标签请求消息;

在FEC的下一跳LSR A的工作过程如下: 1、接收到标签请求消息;

2、根据LSRB的具体情况可能采取不同的处理方法(分三种情况) 情况1)如果根据LSRB发现可以给该FEC分配标签

24

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

则 3、为该FEC分配一个入口标签; 4、将该入口标签发送给LSR A

A为FEC请求标签B为FEC分配标签情况1

情况2)如果LSRB发现可以给LSRA分配标签,同时要向LSRB中FEC的下一跳LSRC为FEC请求标签 则 3、为该FEC分配一个入口标签; 4、将该入口标签发送给LSR A; 5、向下一跳C发送标签请求消息。

A为FEC请求标签为FEC分配标签为FEC请求标签BC情况2

情况3)如果B发现不可以给A分配标签,需要等待B中FEC的下一跳C为FEC分配标签。

则 3、向下一跳C发送标签请求消息; 4、接收到C的标签映射消息; 5、为该FEC分配一个入口标签; 6、将该入口标签发送给LSR A。

华为技术有限公司 版权所有, 未经许可不得扩散

25

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

A为FEC请求标签BC为FEC请求标签为FEC分配标签为FEC分配标签情况3

如果下游为该FEC分配标签,就通过一个标签映射消息返回上游LSR,将该标签绑定信息返回上游LSR。

标签分发模式:DU分配到171.68.1.0/24的标签为18分配到171.68.1.0/24的标签为19上游171.68.4.0/24路由触发下游171.68.1.0/24?下游LSR在LDP会话建立成功,主动向其上游LSR发布标签映射消息?上游路由器保存标签,存放到标签映射表中华为机密,未经许可不得扩散文档密级:内部公开 下游自主标记通告和下游按需标记通告方式的主要区别在于由哪一个LSR负责发起标记映射请求和标记映射的通告进程。

两种标记分发技术可以同时用在一个网络中。但是对于任何特定的LDP会话,LSR必须知道LDP对等实体使用的标记分发方式,从而避免出现其中一个LSR使用下游自主标记分发方式,并假定其LDP对等实体也使用同样的方式这种情况,如果出现这种情况,而对等实体实际上却需要等待标记请求消息的话,LSP将无法正常建立。

在初始化的过程中,应当交换彼此的标记通告方式。

26

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.7 标签控制方式

LSR使用有序的(ordered)还是独立的(independent)LSP控制方式决定了LSR在LSP建立过程中的行为。作为一个可配置的可选项,LSR可以对这两种控制方式都提供支持。

标签控制模式:有序标签请求标签请求标签请求上游标签映射标签映射标签映射下游?只有收到它的下游返回的标签映射消息后才向其上游发送标签映射消息华为机密,未经许可不得扩散文档密级:内部公开 在使用有序的LSP控制时,只有当LSR收到特定FEC下一跳的特定FEC-标记映射消息或者LSR是LSP的出口节点时,LSR才可以向上游发送标记映射消息。如果LSR既不是特定FEC的出口节点也不存在对于特定FEC的标记绑定,那么LSR在对特定FEC进行FEC-标记绑定并向上游LSR返回特定FEC-标记绑定消息之前,必须等待收到下游LSR的特定FEC-标记响应消息。

注意对于特定FEC,LSR是否是出口节点可以随时间变化,这主要依赖于网络的状态和LSR参数配置。

华为技术有限公司 版权所有, 未经许可不得扩散

27

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

标签控制模式:独立标签请求标签请求标签请求上游标签映射标签映射标签映射下游?不管有没有收到它的下游返回的标签映射消息都立即向其上游发送标签映射消息华为机密,未经许可不得扩散文档密级:内部公开 在使用独立的LSP控制时,每个LSR可以在任何时候向和它相连的LSR通告标记映射。例如当工作在独立下游按需标记分发控制方式下,LSR可以立刻对上游的标记请求消息发出响应,而不需要等待来自下一跳LSR的标记映射消息。当工作在独立下游自主标记分发控制方式下,只要LSR准备好对于特定FEC进行标记转发,LSR就可以向和它相连的LSR通告特定FEC-标记映射消息。使用独立标记控制允许LSR在收到下游的标记映射消息之前,就可以向上游通告标记映射消息。

28

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.8 标签保留方式

标签保留方式-保守??保守方式(Conservative retention mode)只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。??优点:节省内存和标签空间。缺点:当IP路由收敛、下一跳改变时LSP收敛慢mappinglabel 20172.16.2/24mappinglabel 30LSR1LSR2mappinglabel 16LSR3LSR4mappinglabel 17不是到172.16.2/24的下一跳邻居发来的标签,丢弃LSR5华为机密,未经许可不得扩散文档密级:内部公开 在下游自主标记分发方式中,从任何相邻LSR都可以收到对于所有路由的标记映射消息。当使用保守标记保持方式时,只有用于数据转发的FEC-标记绑定才会被保留;即接收到的FEC-标记绑定来自路由的下一跳LSR。 在下游按需标记分发方式中,LSR仅仅向FEC下一跳LSR发送标记请求消息。由于下游按需标记分发方式主要用于标记资源有限的环境(如具有有限交叉连接空间的ATM交换机),因此下游按需标记分发方式通常会使用保守标记保持方式。保守标记保持方式的优点在于只有用于数据转发的标记才会被分配和维护。对于标记资源有限的LSR(如ATM交换机)而言,这一点是非常重要的。保守标记保持方式的一个缺点是如果路由改变了特定FEC的下一跳LSR,在分组能够继续进行标记转发之前,LSR必须等待来自新的下一跳的特定FEC-标记映射消息。

华为技术有限公司 版权所有, 未经许可不得扩散

29

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

标签保持方式-自由??自由方式(Liberal retention mode)保留来自邻居的所有发送来的标签??优点:当IP路由收敛、下一跳改变时减少了lsp收敛时间缺点:需要更多的内存和标签空间。mappinglabel 20172.16.2/24mappinglabel 30LSR1LSR2mappinglabel 16LSR3LSR4mappinglabel 17不是到172.16.2/24的下一跳邻居发来的标签,保留以后使用LSR5华为机密,未经许可不得扩散文档密级:内部公开 在下游自主标记分发方式下,LSR可以从任何相邻LSR收到对于所有路由的标记映射消息。当使用自由标记保持方式时,不论发送LSR是否是它所通告的特定FEC-标记映射的下一跳,LSR对于所有的标记映射都加以保留。当使用下游按需标记分发方式时,LSR可以选择向所有相邻LSR对于所有已知的地址前缀发送标记请求消息。但是,下游按需标记分发方式通常用于诸如ATM交换机等设备,在这种情况下,本规范推荐使用保守标记保持方式。

自由标记保持方式的主要优势在于LSR可以快速对路由变化作出响应,这主要是由于标记映射已经存在。自由标记保持方式的主要缺点在于当前不需要的标记映射同样也需要被分配和维护。

30

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

1.3.9 LSP环路检测

LSP环路检测??在MPLS域中建立LSP也要防止路径循环。防止LSP的路径循环有两种方式:?最大跳数方式:12332LSRALSRBLSRCLSRXLSRBLSRA,LSRB?路径向量方式:LSRALSRALSRCLSRA,LSRB,LSRCLSRA,LSRB,LSRC,……LSRXLSRX华为机密,未经许可不得扩散文档密级:内部公开 作为一个可选项,在非标记合并的情况下,环路检测提供了一种检测LSP环路发生和避免标记请求消息发生环路的机制。环路检测机制利用标记请求消息和标记映射消息中的路径向量(Path Vector)和跳数(Hop Count)。 基于Hop Count的方法

该方法的基本思想就是在每个LSR上,在标签请求消息或标签映射消息中,包括一个同该标签属性hop count(非负整数),为0时表示未知。对未知跳数值进行递增的结果仍然是未知跳数值(0)。预先设定一个MAXHOP的值。对该属性的处理过程描述如下: A)请求过程中

如果是发起该请求的LSR,Hop count设置为1;

如果是转发上游LSR的请求,Hop count设置为上游请求消息中的值加1,如果上游请求中值为0或没有,该值为0。

如果接收到的请求消息中的Hop count+1后大于预先设定的MAXHOP,认为发现环路,需要终止该LSP的建立。 B)标签分配过程中

如果是该FEC的Egress节点,映射消息中Hop count设置为1;

华为技术有限公司 版权所有, 未经许可不得扩散

31

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

如果是收到下游分配标签后向上游转发,Hop count设置为下游消息中的值加1,如果下游标签映射中值为0或没有,该值为0。

如果接收到的映射消息中的Hop count+1后大于预先设定的MAXHOP,认为发现环路,需要终止该LSP的建立。 基于Path Vector的方法

首先介绍以下Path Vector对象的概念,Path Vector是一组LSR ID的数据,用于表明建立该交换通道通过的LSRs。LSR ID用于唯一标识一个LSR。 A)请求过程中

如果是发起该请求的LSR,请求消息中包括一个Path Vector对象,其中仅包括该LSR的ID。长度为1;

如果是转发上游LSR的请求,Path Vector对象设置为上游请求消息中的值加自己的ID,如果上游请求中没有,包括自己的ID。

如果接收到的请求消息中的Path Vector对象已经包括该接收LSR的ID,认为发现环路,需要终止该LSP的建立。 B)标签分配过程中

如果是该FEC的Egress节点,映射消息中消息中包括一个Path Vector对象,其中仅包括该LSR的ID。长度为1。

如果是收到下游分配标签后向上游转发,Path Vector对象设置为下游消息中的值加自己的ID,如果下游标签映射中值为0或没有,包括自己的ID。 如果接收到的映射消息中的Path Vector对象已经包括该接收LSR的ID,认为发现环路,需要终止该LSP的建立。

基于Hop Count的方法通讯数据量少,开销小,但发现环路的时间较长,该方法必须支持。

基于Path Vector的方法通讯数据量多,开销大,但发现环路的时间较短; 该方法可以通过配置设定是否支持。

环路检测的手段可以保证出现环路一定可以发现,当然需要一定的时间开销,也可能有部分数据在环路发现前已经在建立的LSP中传输。

32

华为技术有限公司 版权所有, 未经许可不得扩散

DA000015 MPLS协议原理 ISSUE1.0

第1章 MPLS协议原理

如果是收到下游分配标签后向上游转发,Hop count设置为下游消息中的值加1,如果下游标签映射中值为0或没有,该值为0。

如果接收到的映射消息中的Hop count+1后大于预先设定的MAXHOP,认为发现环路,需要终止该LSP的建立。 基于Path Vector的方法

首先介绍以下Path Vector对象的概念,Path Vector是一组LSR ID的数据,用于表明建立该交换通道通过的LSRs。LSR ID用于唯一标识一个LSR。 A)请求过程中

如果是发起该请求的LSR,请求消息中包括一个Path Vector对象,其中仅包括该LSR的ID。长度为1;

如果是转发上游LSR的请求,Path Vector对象设置为上游请求消息中的值加自己的ID,如果上游请求中没有,包括自己的ID。

如果接收到的请求消息中的Path Vector对象已经包括该接收LSR的ID,认为发现环路,需要终止该LSP的建立。 B)标签分配过程中

如果是该FEC的Egress节点,映射消息中消息中包括一个Path Vector对象,其中仅包括该LSR的ID。长度为1。

如果是收到下游分配标签后向上游转发,Path Vector对象设置为下游消息中的值加自己的ID,如果下游标签映射中值为0或没有,包括自己的ID。 如果接收到的映射消息中的Path Vector对象已经包括该接收LSR的ID,认为发现环路,需要终止该LSP的建立。

基于Hop Count的方法通讯数据量少,开销小,但发现环路的时间较长,该方法必须支持。

基于Path Vector的方法通讯数据量多,开销大,但发现环路的时间较短; 该方法可以通过配置设定是否支持。

环路检测的手段可以保证出现环路一定可以发现,当然需要一定的时间开销,也可能有部分数据在环路发现前已经在建立的LSP中传输。

32

华为技术有限公司 版权所有, 未经许可不得扩散

本文来源:https://www.bwwdw.com/article/95ma.html

Top