商业虚拟专用网络技术十 MPLS技术

一、MPLS协议

1、MPLS简介

在90年代传统路由器设备因其、转发性能低下,无法提供QOS保证。逐渐成为网络的瓶颈。为什么会出现这样的状况?
在这里插入图片描述

主要是因为路由器采用的转发效率不高,路由器使用的是IP转发,转发原则是最长匹配算法。路由器接入端口接收数据后,根据IP地址遍历路由表,在复杂网络中,这个表相当庞大,路由器需要耗费很长时间来完成。

在这里插入图片描述
ATM(Asynchronous Transfer Mode,异步传送模式)协议,采用定长的标签代替IP地址,数据包抵达ATM交换机后只需要一次查表,就能找出与其唯一匹配表项。确定报文的出接口。但是ATM控制信令实现复杂,并且ATM设备成本高昂,普及度不高,使得ATM技术没有被采用。

MPLS(Multiprotocol Label Switching,多协议标签交换)起源于IPv4,最初是为了提高转发速度而提出的,其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6,因特网协议版本6)、IPX(Internet Packet Exchange,网际报文交换)和CLNP(Connectionless Network Protocol,无连接网络协议)等。MPLS中的“M”指的就是支持多种网络协议。

MPLS原理是从原来的路由查找,改为简单快速的标签交换,使用一个短而定长的标签来封装网络层分组,并将封装后的报文转发到下一跳。化繁为简。

MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。工作在2.5层即第二层和第三层之间。

MPLS有帧模式(Frame Mode)和信元模式(Cell Mode)两种工作模式。

承载的二层协议包含:PPP、以太网、帧中继的帧数据和ATM信元数据。
承载的三层协议包含:IPv4、IPv6报文。

MPLS并不是一种业务或者应用,它实际上是一种隧道技术。这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性。

在这里插入图片描述

1.1、MPLS怎么选择路线

在网络中传输数据包从起始IP到目的IP路径常见的有三种方法:

  • 广播方式:在广播域内把数据包发给每一站点。
  • 路由协议:通过查找每个设备路由表逐跳查找和转发。
  • 流量工程:走最优路由,还有空闲的路由。基本IP的流量工程是面向无连接的,就是没有根据源来选择路线,谁的metric值小就优选谁。但是对设备要求极高。

MPLS传输方法是跟着标签走,向导在走过的路上做好标记,你只要沿着标签的指示走就可以了。MPLS控制层(路由表)与数据层分离,没有路由表也能转发。无连接的控制平面实现路由信息的传递和标签的分发,面向连接的数据平面实现报文在建立的标签转发路径上传送。MPLS域内,交换机不需要查看每个报文的目的IP地址,只需要根据封装在IP头外面的标签进行转发即可,这样可以大大提高效率。

2、MPLS基本结构

2.1、MPLS的网络结构

在这里插入图片描述
LSR(Label Switching Router,标签交换路由器):指进行MPLS标签交换和报文转发的网络设备。

LSP(Label Switched Path,标签交换路径):指IP报文在MPLS网络中经过的路径。**LSP是一条单向报文转发路径。**路径包含入节点—>中间节点—>出节点,也可以没有中间节点。在LSP中可以有0个、1个或多个中间节点,但有且只有一个入节点和一个出节点。
LSP

入节点(Ingress):报文进入Ingress LSR(入节点标签交换路由器)的入口,Ingress LSR负责为进入MPLS网络的报文添加标签。

中间节点(Transit):MPLS网络中内部的LSR,根据标签沿着由一系列LSR构成的LSP将报文传送给Egress LSR(出节点标签交换路由器)。

出节点(Egress):带标签的报文进入Egress LSR(出节点标签交换路由器)的入口,Egress LSR负责剥离报文中的标签,并转发到非MPLS网络。

上游LSR、下游LSR:上下游是相对的,PLS报文由Ingress发往Egress,则Ingress是Transit的上游点,Transit是Ingress的下游节点。

FEC(Forwarding Equivalence Class,转发等价类):MPLS将具有相同特征(目的地相同或具有相同服务等级等)的报文归为一类,称为FEC。可以通过地址、隧道、COS等来标识创建FEC。

不同目的地址(属于相同的网段)的IP报文,在ingress处被划分为相同的FEC,具有相同的标签,这样在LSR处,只需根据标签做快速的交换即可。而对于传统的IP路由,在每一跳处实际上都是一次重新划分FEC的过程。

对于FEC可以想象一条航行的客船,我们把到北京的目的地的乘客创建一个北京FEC,到南京的目的地的乘客创建一个北京FEC,也可以把一等舱的乘客创建一个FEC。

2.2、MPLS的标签结构

MPLS标签

标签(Label)是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台设备上,一个标签只能代表一个FEC。

特点:MPLS的标签转发,通过事先分配好的标签,为报文建立了一条标签转发通道(LSP),在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找)。

每个MPLS标签有32bit,分成四个区域,每个区域都有独特的含义和作用。
MPLS标签

(1)、Label:20bit,标签值域。是MPLS标签的核心内容,标签转发就是指根据MPLS标签的标签值查找标签转发表进行转发,它是标签转发表的关键索引。
(2)、EXP:3bit,用于扩展。用于标识报文QoS优先级,作用与Ethernet802.1P值或是IP包的DSCP值类似。
(3)、S:1bit,栈底标识,MPLS支持多层标签,即标签嵌套。用来标识在该MPLS标签后面是另一个MPLS标签还是载荷报文。S值为“1”时表明为最底层标签,后面是载荷报文;当S值为“0”时,表示该MPLS标签后面还有下一层MPLS标签。
(4)、TTL:8bit,存活时间与IP报文的TTL值相似。当报文进入MPLS网络时从该报文里的IP头复制出来,每经过一台LSR,MPLS标签的TTL值就减"1",作用与IP报文的TTL相似也是为了防止环路,在网络时循环转发。

Label

  • 0~15:特殊标签。如标签3,称为隐式空标签,用于倒数第二跳弹出;
  • 16~1023:静态LSP和静态CR-LSP共享的标签空间;
  • 1024及以上:LDP、RSVP-TE、MP-BGP等动态信令协议的标签空间。

MPLS标签嵌套,是指有多层MPLS标签,常见的MPLS应用中最多采用到三层MPLS标签嵌套。这是用于隧道、VPN等技术的基础。

MPLS标签嵌套
外层MPLS标签(Outer MPLS label):靠近二层首部的标签,或称为栈顶MPLS标签。
内层MPLS标签(Inner MPLS label):靠近IP首部的标签,或称为栈底MPLS标签。
标签栈(Label Stack)是指标签的排序集合。标签栈按后进先出方式组织标签,从栈顶开始处理标签。

在这里插入图片描述
报文传输到达路由器,设备解析完报文的链路头部后,如何区分数据链路层以太网数据帧的报文的载荷是MPLS标签包还是普通的网络层封装包,是通过以太网数据帧类型字段来区分。为MPLS分配的标识如下:

二层封装协议协议标识名称
PPPPPP Protocol field0x0281
Ethernet/802.3 LLC/SNAPEthertype0x8847
HDLCProtocol0x8847
Frame RelayNLPID0x0080

2.3、MPLS的体系结构

MPLS的体系结构

MPLS的体系结构由两部分组成:

  • 控制平面(Control Plane):控制平面进行LSR之间的路由信息和标签信息的交换。MPLS是一个控制平面驱动的协议。控制平面协议组件包括:BGP、MP-BGP、IGP、RSVP-TE、LDP、TDP等。
    • 路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由
    • 标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
    • 标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
  • 转发平面(Forwarding Plane):负责普通IP报文的转发以及带MPLS标签报文的转发。包括标签的六种动作等。标签动作:(PUSH、SWAP、POP、untag、aggregate、recursive)。
    • 转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
    • 标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。
      在这里插入图片描述

Cisco定义:

LFIB:标签转发表。
LIB:标签信息数据库。
FIB:转发信息数据库。

华为定义:

FTN(FEC to NHLFE):FIB。
NHLFE(Next hop lable forward entry)
ILM(Incoming lable map):LFIB+LIB。

3、MPLS标签

3.1、MPLS标签分配协议分类

标签分配协议有很多种,目前应用较为广泛的有下面几种:
(1)、LDP(Label Disrtibution Protocol,标签分发协议),最为通用的标签分配协议。
(2)、CR-LDP(Constraint-Based Label Disrtibution Protocol,路由受限的标签分发协议),对 LDP 能力的扩展, 如设置路径,超出了路由协议可使用范围。例如,我们可以根据明确的路由约束、服务质量(QoS)约束及其它约束,建立一个 LSP (标签交换路径)。
(3)、RSVP-TE(Resource ReSerVation Protocol-Traffic Engineering,基于流量工程扩展的资源预留协议 ),用于为 MPLS 网络建立标签交换路径。这个 RSVP 扩展协议主要用于在有或者没有资源预留的情况下支持明确传送 LSP 的实例。同时它也支持 LSP 的平滑重新路由、优先权及环路监测。
(4)、MP-BGP(Multiprotocol-BGP,BGP多协议扩展),该协议是对BGP的扩展,扩展的功能之一就是为BGP路由分配MPLS标签。

3.2、LDP标签分发协议

LDP(Label Distribution Protocol,标签分发协议)是多协议标签交换MPLS的一种控制协议,相当于传统网络中的信令协议,负责转发等价类FEC(Forwarding Equivalence Class)的分类、标签的分配以及标签交换路径LSP(Label Switched Path)的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。

作用:通过LDP协议,标签交换路由器LSR(Label Switched Router)可以把网络层的路由信息直接映射到数据链路层的交换路径上,动态建立起网络层的LSP。

3.2.1、LDP术语

1、LDP对等体
LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签消息的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签。

2、LDP邻接体
当一台LSR接收到对端发送过来的Hello消息后LDP邻接体建立。LDP邻接体存在两种类型∶

  • 本地邻接体(Local Adjacency ):以组播形式发送Hello消息(即链路Hello消息)发现的邻接体叫做本地邻接体。
  • 远端邻接体(Remote Adjacency ) ∶以单播形式发送Hello消息(即目标Hello消息)发现的邻接体叫做远端邻接体。

3、LDP会话
LDP会话用于LSR之间交换标签映射、释放等消息。只有存在对等体才能建立LDP会话,LDP会话分为两种类型∶

  • 本地LDP会话(Local LDP Session ):建立会话的两个LSR之间是直连的。
  • 远端LDP会话(Remote LDP Session)∶建立会话的两个LSR之间可以是直连的,也可以是非直连的。
    本地LDP会话和远端LDP会话可以共存。

3.3、LDP会话的建立与维护

3.3.1、LDP消息

1、LDP消息分为四类:
(1)、发现消息(Discovery Messages),用于LDP邻居的发现和维持;
(2)、会话消息(Session Messages):用于LDP邻居创建、维持和中止;
(3)、通告消息(Advertisement Messages):用来创建、改变和删除特定FEC-标签绑定;
(4)、通知消息(Notification Messages):用于向LDP邻居通知事件或者错误。

具体是LDP消息:

消息分类消息类型作用
发现消息Hello fieldLDP发现机制中邻居发现和维持
会话消息Initialization Message即初始化消息,用于协商LDP邻居参数
会话消息Keepalive Message即保活消息,用于TCP会话的建立和维护
通告消息Address MessageLSR使用该消息向邻居通告自己所有的接口IP
通告消息Address Withdraw Message地址撤销消息
通告消息Label Request Message请求FEC映射信息
通告消息Label Mapping Message通告FEC/Label映射信息
通告消息Label Withdraw Message标签撤销消息
通告消息Label Release Message标签释放消息
通告消息Label Abort Request Message标签终止请求消息
通知消息Notification Message错误通知消息

2、LDP会话的建立与维护:
LDP会话的建立与维护

(1)、在启动LDP协议后,路由器发出Hello报文,相邻路由器之间会通过交换Hello报文来完成相互“问候”,通过Hello报文可以获知邻居的基本信息,比如用来建立会话的地址原IP地址10.1.10.1,目标IP地址:224.0.0.2 port:646。

LDP的Hello消息使用UDP封装。UDP是无连接的协议,为了保证邻居的有效性和可靠性,Hello消息周期发送,发送周期为5s,使用组播224.0.0.2作为目的IP地址,意思是“发送给网络中的所有路由器”。然后,由地址大的一方发起TCP连接并最终建立邻居会话,这种方式的LDP会话就叫本地会话。

  • LDP用UDP(协议ID=17)发现邻居,用TCP(协议ID=6)建立邻接(LDP协议的目的端口号:646)
  • LDP协议将hello报文发往224.0.0.2(所有开启组播功能的路由器)的组播组,用于发现直连链路上的LDP邻居。
  • LDP的hello报文发送间隔是5s,hold time是3倍的hello时间15s。

(2)、LDP邻居之间相互发现或直接指定了邻居地址后,开始建立TCP连接,建立完TCP连接后,相互发送初始化报文进行参数协商。如果接受对方的参数,则会回复KeepAlive报文,完成LDP会话的建立;如果期间发生错误,则会发送Notification报文来报告相应的错误,最终导致连接被关闭。在会话建立后,双方会定期发送Hello报文以检测邻居状态,也会定期发送KeepAlive报文来检测 TCP连接状态。

UDP去发现邻居,TCP去建立邻居,目的端口号都为646。

LDP会话的相关参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。
LDP的keepalive报文的发送间隔是15s,old timer是3倍的keepalive时间45s。

(3)、会话建立后,LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系,从而建立LSP。

3.3.2、LDP PDU报文格式:

一个LDP PDU(LDP协议数据单元)由一个LDP头部和LDP消息组成。LDP消息由LDP消息首部和TLV(类型,长度,值)组成。LDP报文是基于TCP的(Hello报文基于UDP),端口号为646

1、LDP头部:
在这里插入图片描述

(1)、Version:2Byte无符号整数值,表示 LDP协议版本号,目前LDP协议版本号为Ox01。
(2)、PDU Length: 2Byte整数值,以字节为单位表示PDU长度,不包括版本号和PDU长度字段。PDU最大长度在会话初始化时协商确定,默认最大长度为4096Byte。
(3)、LDP Identifier标识符: 6Byte,唯一标识 PDU所属发送LSR的标签空间。前4Byte表示LSR-ID地址,后2Byte指定LSR中的特定标签空间。

2、LDP消息格式头
在这里插入图片描述

U: 1bit,未知 TLV bit,U=0返回通知,U=1忽略该报文。
Message Type: 14bit,表示报文所属的类型。
Message Length: 2Byte,以字节为单位表示报文长度,包括报文标识符、必选参数、可选参数等几部分。
Message ID:报文标识符,4Byte,用于标识报文。
Mandatory Parameters:必选参数可变长度,必选参数集。
Option Parameters:可选参数可变长度,可选参数集。
在这里插入图片描述
3、TLV编码格式
在这里插入图片描述1、U: 1bitTLV Unknown bits:未知TLV位,置0时,返回通知;置1时,则忽略该消息
2、TLV类型:14比特 标识TLV的类型,hello
3、TLV长度:16比特 TLV的长度。
5、Hold Time:邻居失效时间,即邻居失效时间为15s
4、Targeted Hello:置1时代表远端hello,置0时代表本地hello。

Initialization Message即初始化消息
在这里插入图片描述
在这里插入图片描述

Session KeepAlive Time:TCP连接的保持时间,通过TCP连接收到的LDP PDU时刷新
Session Label Advertisement:标识标签分配方式,置0时表示DU ;置1时表示DoD
Session Loop Detection:是否开启了环路检测功能,置0时Disabled,置1时Enable
Session Path Vector Limit:LSP支持的最大跳数,开启了Loop Detection(环路检测)才有效,默认32
Session Max PDU Length:LDP PDU的最大长度,默认值为4096字节。
Session Receiver LDP Identifier:初始化消息的接受者,即LSR-ID
Session Receiver Label Space ID:接受者的Label Space ID。基于平台的分发都是0

3.4、LSP的建立与维护

会话建立后,LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系,从而建立LSP。

建立LSP的方式有两种:

  • 静态LSP:用户通过手工方式为各个转发等价类分配标签建立转发隧道;
    很少用,适用于简单而且稳定的网络,不使用标签发布协议,不需要交互控制报文,资源消耗比较小。
  • 动态LSP:通过标签发布协议动态建立转发隧道。

在这里插入图片描述

PE OR LER 标签边界路由器
LSP 标签交换通道
LSR 标签交换路由器
CE 客户边界

MPLS网络中用户1访问用户2,需要通过标签边界路由器RA到RB、RC、标签边界路由器RD再到用户2,MPLS的路由器RA、RB、RC、RD使能LDP标签分发协议后,以组播形式发送Hello消息UDP报文。
(1)、相邻路由器之间会通过交换Hello报文来完成邻居的发现
(2)、开始建立TCP连接,TCP去建立LDP邻居,完成TCP连接后;
(3)、相互发送初始化报文进行参数协商。如果接受对方的参数,则会回复KeepAlive报文,完成LDP会话的建立。
这时由标签边界路由器RA到标签边界路由器RD的LSP建立。

LSP建立后,用户1发送数据报文将依次RA、RB、RC、RD到达用户2,那么RB就是RA的下游设备,RC就是RB的下游设备,是依据数据报文的传输方向来判断上、下游关系。

案例:
在这里插入图片描述
配置好IGP静态路由
R1路由器配置

[R1]mpls lsr-id 11.1.1.1     //配置LDP实例的LSR ID
[R1]mpls                     //使能本节点的全局MPLS
[R1-mpls]q
[R1]mpls ldp                 //使能标签分发协议LDP
[R1]int g0/0/1               //端口使能MPLS、LDP
[R1-GigabitEthernet0/0/1]mpls
[R1-GigabitEthernet0/0/1]mpls ldp

R3、R4配置一样这里忽略。
查看LDP的会话

<R3>dis mpls ldp session             //查看LDP的会话
 LDP Session(s) in Public Network
 Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
 A '*' before a session means the session is being deleted.
 PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
11.1.1.1:0         Operational DU   Active   0000:00:00  3/3                          R1发起会话。
44.1.1.1:0         Operational DU   Passive  0000:00:05  23/23

[R4]ping lsp ip 11.1.1.1 32
然后开始抓包,可以看到在eth2和IP之间增加了一Multiprotocol,标签1025。
在这里插入图片描述
在这里插入图片描述

3.5、标签分配过程

标签分配过程
in标签是我分给别人的
Out标签是别人分给我的
在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR,即标签由下游指定,标签的分配按从下游到上游的方向分发。

(1)、入标签(In Label):由LSR为FEC44.1.1.1分配的MPLS标签,报文到达LSR后,LSR将报文所携带的MPLS标签值与MPLS标签转发表LFIB的入标签进行对比,匹配相同的值时,就按照此表项转发该报文。同时,LSR会将为44.1.1.1分配的入标签信息通过Label mapping消息通知上游LSR。上图中1025为R3路由器的入标签,3为出标签。R4路由器为最下游设备,出标签为"NULL"。

(2)、出标签(OUT Label):下游LSR为FEC44.1.1.1分配的标签,下游LSR通过Label mapping消息发送到此LSR,在此LSR上记录为该FEC的出标签。LSR在转发MPLS报文时,将报文携带的标签值改成对应的MPLS标签转发表LFIB的出标签值。上图中R3路由器的3为出标签。

任何一台的LSR设备只会将针对某一FEC的Label mapping消息发送给该FEC的上游设备,而绝不会发送给下游设备。这样是确保只要路由表没有环路,MPLS的标签转发表也不会有环路。

R1、R3、R4使用ospf网络连接,不是MP-BGP隧道方式,这里只说明LDP。
R1环回接口LoopBack0 11.1.1.1/24,R3环回接口LoopBack0 33.1.1.1/24,R4环回接口LoopBack0 44.1.1.1/24。

[R1]mpls lsr-id 11.1.1.1            //配置LDP实例的LSR ID
[R1]mpls                            //使能本节点的全局MPLS
Info: Mpls starting, please wait... OK!
[R1-mpls]q
[R1]mpls ldp                       //使能标签分发协议LDP
只能物理口使用MPLS多协议标签,和mpls ldp标签分发协议
[R1]int g0/0/1                    //端口使能MPLS、LDP
[R1-GigabitEthernet0/0/1]mpls  
[R1-GigabitEthernet0/0/1]mpls ldp

R3、R4配置一样这里忽略。
在这里插入图片描述

R1、R3、R4通过OSPF路由协议获取路由信息生成路由表,转发信息表FIB是从RIB路由表中提取必要的路由信息生成,负责普通IP报文的转发。

1、OSPF路由表:

<R1>dis ip rout pro ospf
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
       33.1.1.1/32  OSPF    10   1           D   13.1.1.3        g0/0/1
       34.1.1.0/24  OSPF    10   2           D   13.1.1.3        g0/0/1
       44.1.1.1/32  OSPF    10   2           D   13.1.1.3        g0/0/1

2、完成LDP会话
(1)、交换Hello报文来完成邻居的发现;
(2)、建立TCP连接,完成LDP邻接信息;
查看TCP的状态

<R3>dis tcp status
TCPCB    Tid/Soid Local Add:port        Foreign Add:port      VPNID  State
b4af4658 6  /1    0.0.0.0:23            0.0.0.0:0             23553  Listening
b4af4cac 167/6    33.1.1.1:646          44.1.1.1:50459        0      Established
b4af4df0 167/3    33.1.1.1:50333        11.1.1.1:646          0      Established

查看MPLS LDP的邻居

<R3>dis mpls ldp peer     
 PeerID                 TransportAddress       DiscoverySource
 11.1.1.1:0             11.1.1.1           GigabitEthernet0/0/1
 44.1.1.1:0             44.1.1.1           GigabitEthernet0/0/2

(3)、参数协商,完成LDP会话的建立,这时R1和R4是边界路由器PE,它们之间建有LSP标签交换通道完成。
本地LDP会话

<R3>dis mpls ldp session       
PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
 11.1.1.1:0         Operational DU   **Active**   0000:00:08  35/35
 44.1.1.1:0         Operational DU   Passive  0000:00:04  19/19

查看LSP通道

<R1>tracert lsp ip 44.1.1.1 32     //查看到44.1.1.1的LSP通道
  LSP Trace Route FEC: IPV4 PREFIX 44.1.1.1/32 , press CTRL_C to break.
  TTL   Replier            Time    Type      Downstream 
  0                                Ingress   13.1.1.3/[1025 ]标签1025
  1     13.1.1.3           30 ms   Transit   34.1.1.4/[3 ]
  2     44.1.1.1           20 ms   Egress  

3、从RIB路由表中提取必要的路由信息生成FIB(转发表)转发信息库:

<R1>dis fib 44.1.1.1 32 verbose
Destination: 44.1.1.1            Mask     : 255.255.255.255     
Nexthop    : 13.1.1.3            OutIf    : GigabitEthernet0/0/1
LocalAddr  : 13.1.1.1            LocalMask: 0.0.0.0    

4、由LDP标签分发协议在LSR上建立LFIB标签转发信息表:

 <R1>dis mpls lsp include 44.1.1.1 32    
                 LSP Information: LDP LSP
FEC                In/Out Label            In/Out IF             Vrf Name       
44.1.1.1/32        NULL/1025              -/GE0/0/1                                     
44.1.1.1/32        1025/1025              -/GE0/0/1  

出标签1025

3.6、标签分配和管理方式

在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR,即标签由下游指定,标签的分配按从下游到上游的方向分发。

3.6.1、标签发布方式:

  • DU(Downstream Unsolicited,下游自主方式)
  • DoD(Downstream on Demand,下游按需方式)
    标签发布方式

华为设备默认采用DU的方式发布标签。DU无需等待上游的请求消息,可以直接向邻居分配标签。在网络拓扑发生变化时,采用DU方式可以快速反应为新的拓扑分发标签,收敛时间相对于DoD方式较短。

3.6.2、标签分配控制方式(Label Distribution Control Mode)

  • Independent(独立标签分配控制方式):本地LSR可以自主地分配一个标签绑定到某个IP分组,并通告给上游LSR,而无需等待下游的标签。

    LSR 不管自己是不是该FEC的最下游LSR,也不管有没有收到下游LSR发布的Label mapping消息,都可以直接为此FEC分配标签。并向上游设备发布Label mapping消息。任何一个数据流经过MPLS网络时都可以进行MPLS转发,这个数据流的目的地址可能在非MPLS网络里。
    独立标签分配控制方式

  • Ordered(有序标签分配控制方式):只有当该LSR已经具有此IP分组的下一跳的标签,或者该LSR就是该IP分组的出节点时,该LSR才可以向上游发送此IP分组的标签。

    该FEC的标签转发表将从这个LSP最下游的LSR开始,依次往上按顺序逐台LSR分配标签。对一些不是直接接入的MPLS网络用户,将无法进行MPLS转发。
    在这里插入图片描述

标签分配控制方式和标签发布方式的组合:

标签分配控制方式下游自主方式DU下游按需方式DoD
独立标签分配控制方式DU + Independent:LSR(Transit)无需等待下游(Egress)的标签,就会直接向上游(Ingress)分发标签。DoD + Independent:发送标签请求的LSR(Ingress)的直连下游(Transit)会直接回应标签,而不必等待来自最终下游(Egress)的标签。
有序标签分配控制方式DU + Ordered:LSR(Transit)只有收到下游(Egress)的标签映射消息,才会向上游(Ingress)分发标签。DoD + Ordered:发送标签请求的LSR(Ingress)的直连下游(Transit)只有收到最终下游(Egress)的标签映射消息,才会向上游(Ingress)分发标签。

3.6.3、标签保持方式(Label Retention Mode)

  • Conservative(保守标签保持方式):对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。

    在此FEC中分配标签,对于22.1.1.0/24网段,R2的下一跳是R3,虽然R2是R3和R5的上游LSR,但是在保守方式下,R2只会保留路由表中下一跳的发送过来的标签消息,而对于非下一跳发送过来的标签消息则丢弃不做最记录。
    保守标签保持方式
    保守的标签分配方式优点是节省LSR设备的内存和标签空间。缺点是当网络发生故障,下一跳发生变化时,LSP的收敛比较慢。

  • Liberal(自由标签保持方式):对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。(但是最后组成LSP的时候只会使用自己下一跳发送来的标签) 自由标签保持方式

目前华为设置支持如下组合方式

  • 下游自主方式(DU)+有序标签分配控制方式(Ordered)+自由标签保持方式(Liberal),该方式为默认方式。也就是LSR在收到下游标签映射后,可自主向上游分配标签,且收到的标签全保留。(灵活但是资源消耗较多)

  • 下游按需方式(DoD)+有序标签分配控制方式(Ordered)+保守标签保持方式(Conservative)。即LSR在同时收到上游标签请求和下游标签映射后,才向上游分配标签,且只保留自己下一跳分配的标签。(消耗资源较少但不灵活)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0与1之旅

创作不易请给予一点帮助和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值