admin管理员组

文章数量:1658581

一、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网络中,路由器的角色分为两种:

  1. LER(Label Edge Router): 在MPLS网络中,用于标签的压入或弹出,如上图中的RTB,RTD。
  2. 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体系结构

  • 控制平面:负责产生和维护路由信息以及标签信息。
  1. 路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
  2. 标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
  3. 标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
  • 转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
  1. 转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
  2. 标签转发信息表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个字段:
表项长度释义
Label20bit标签值域
Exp3bit用于扩展。现在通常用做CoS(Class of Service),当设备发生阻塞时,优先发送优先级高的报文
S1bit栈底标识。MPLS支持多层标签,即标签嵌套。S值为1时表明为最底层标签
TTL8bit和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的方式有两种:

  1. 静态LSP:用户通过手工方式为各个转发等价类分配标签建立转发隧道;
  2. 动态LSP:通过标签发布协议动态建立转发隧道。

2.1 静态LSP建立

  • 静态LSP的特点:
  1. 不使用标签发布协议,不需要交互控制报文,资源消耗比较小;
  2. 通过静态方式建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。
  • 静态LSP适用于拓扑结构简单并且稳定的网络。


配置静态LSP时,管理员需要为各路由器手工分配标签,需要遵循的原则是:前一节点出标签的值等于下一个节点入标签的值。
如图所示拓扑,MPLS网络中有一个100.1.1.1/32的用户,静态为该路由建立一条LSP,配置过程如下:

  1. 配置LSR ID用来在网络中唯一标识一个MPLS路由器。缺省没有配置LSR ID,必须手工配置。为了提高网络的可靠性,推荐使用LSR某个Loopback接口的地址作为LSR ID。
    配置命令:mpls lsr-id lsr-id
  2. 在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-label out-label
    在Transit进行以下配置:
    static-lsp transit lsp-name [ incoming-interface interface-type interface-number ] in-label in-label { nexthop next-hop-address | outgoing-interface interface-type interface-number } * out-label out-label
    在Egress进行以下配置:
    static-lsp egress lsp-name [ incoming-interface interface-type interface-number ] in-label in-label [ lsrid ingress-lsr-id tunnel-id tunnel-id ]
    完成上述配置后,只是完成了RTA到RTD的单条LSP,RTD返回RTA的LSP路径也需要配置才能实现RTA正常访问RTD100.1.1.1/32的路由。

3.2 动态LSP

动态LSP通过LDP协议实现对FEC的分类、标签的分配及LSP的建立和维护等操作。动态LSP的特点:

  1. 组网配置简单,易于管理和维护;
  2. 支持基于路由动态建立LSP,网络拓扑发生变化时,能及时反映网络状况。

    如图所示拓扑:
    Egress路由器RTD为本地存在的路由分配标签,并将路由和标签的绑定关系主动发送给上游邻居路由器RTC;
    路由器RTC收到下游邻居路由器RTD的路由和标签的绑定关系后,将其记录到LIB中,并将自己分配的标签和路由的绑定关系发送给上游邻居路由器RTB;
    RTB执行相同的动作将标签和路由的绑定关系发送给上游邻居路由器RTA,RTA为Ingress路由器,没有上游邻居,因此动态的LSP完成建立。

四、LDP发现与邻居建立

4.1 LDP发现

  • MPLS路由器通过周期性地发送LDP链路Hello消息(LDP Link Hello),实现LDP邻居的发现,并建立本地LDP会话。
  1. 为了能使开启LDP协议的设备快速发现邻居,LDP的Hello消息使用UDP封装。UDP是无连接的协议,为了保证邻居的有效性和可靠性,Hello消息周期发送,发送周期为5s,使用组播224.0.0.2作为目的IP地址,意思是“发送给网络中的所有路由器”。
  2. LDP的Hello消息中,携带有Transport Address字段,该字段与设备配置的LSR ID一致,表明与对端建立邻居关系时所使用的IP地址。如果该字段IP地址是直连接口IP地址,则直接建立邻居关系;如果该字段地址是LoopBack接口IP地址,保证该接口IP地址路由可达,才能建立邻居关系。

4.2 LDP建立过程


LDP协议主要使用四类消息:

  1. 发现(Discovery)消息:用于通告和维护网络中邻居的存在,如Hello消息。
  2. 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。
  3. 通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射,如Address消息、Label Mapping消息。
  4. 通知(Notification)消息:用于提供建议性的消息和差错通知。

LDP邻居建立过程如图所示:

  1. 两个LSR之间互相发送Hello消息。Hello消息中携带传输地址,双方使用传输地址建立LDP会话。
  2. 传输地址较大的一方作为主动方,发起TCP连接。如图所示,RTB作为主动方发起TCP连接,RTA作为被动方等待对方发起连接。
  3. TCP连接建立成功后,由主动方RTB发送初始化消息,协商建立LDP会话的相关参数。LDP会话的相关参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。
  4. 被动方RTA收到初始化消息后,如果RTA接受相关参数,则发送初始化消息,同时发送Keepalive消息给主动方RTB。如果被动方RTA不能接受相关参数,则发送Notification消息终止LDP会话的建立。
  5. 主动方RTB收到初始化消息后,接受相关参数,则发送Keepalive消息给被动方RTA。
  6. 如果主动方RTB不能接受相关参数,则发送Notification消息给被动方RTA终止LDP会话的建立。
  7. 当双方都收到对端的Keepalive消息后,LDP会话建立成功。LDP会话建立成功后,进行FEC的创建与标签的分发。

五、标签的属性

5.1 标签的发布方式

  • 标签的发布方式:
  1. DU(Downstream Unsolicited,下游自主方式):对于一个到达同一目地址报文的分组,LSR无需从上游获得标签请求消息即可进行标签分配与分发。
  2. DoD(Downstream on Demand,下游按需方式):对于一个到达同一目的地址报文的分组,LSR获得标签请求消息之后才进行标签分配与分发。

    如图所示拓扑:
    采用DU方式分发标签,对于目的地址为100.1.1.1/32的分组,下游RTD(Egress)通过标签映射消息主动向上游RTC(Transit)通告自己主机路由100.1.1.1/32的标签。
    采用DoD方式分发标签,对于目的地址为100.1.1.1/32的分组,上游RTC(Transit)向下游发送标签请求消息,下游RTD(Egress)收到标签请求消息后,才会向上游发送标签映射消息。
  • 华为设备默认采用DU的方式发布标签。
  • DU无需等待上游的请求消息,可以直接向邻居分配标签。在网络拓扑发生变化时,采用DU方式可以快速反应为新的拓扑分发标签,收敛时间相对于DoD方式较短。

5.2 标签的分配控制方式

  • 标签的分配控制方式:
  1. Independent(独立标签分配控制方式):本地LSR可以自主地分配一个标签绑定到某个IP分组,并通告给上游LSR,而无需等待下游的标签。
  2. Ordered(有序标签分配控制方式):只有当该LSR已经具有此IP分组的下一跳的标签,或者该LSR就是该IP分组的出节点时,该LSR才可以向上游发送此IP分组的标签。

如图所示拓扑:
采用Independent方式:
如果标签发布方式为DU,且标签分配控制方式为Independent,则RTC(Transit)无需等待下游RTD(Egress)的标签,就会直接向上游RTB分发标签。
如果标签发布方式为DoD,且标签分配控制方式为Independent,则发送标签请求的RTB(Transit)的直连下游RTC(Transit)会直接回应标签,而不必等待来自下游RTD(Egress)的标签。
采用Ordered方式:
如果标签发布方式为DU,且标签分配控制方式为Ordered,则RTC(Transit)只有收到下游RTD(Egress)的标签,才会向上游RTB分发标签。
如果标签发布方式为DoD,且标签分配控制方式为Ordered,则发送标签请求的RTB(Transit)的直连下游RTC(Transit)只有收到下游RTD(Egress)的标签,才会向上游RTB分发标签。

  • 华为设备默认采用Ordered的方式分配标签。
  • 采用Ordered方式,只有当该LSR已经具有此IP分组的下一跳的标签时,才能向上游分发标签,这样是为了避免下游IP分组的标签未分配或收敛时间较长,上游的标签已分配,数据开始转发造成的数据丢失。

5.3 标签的保持方式

标签的保持方式:

  1. Liberal(自由标签保持方式):对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。
  2. Conservative(保守标签保持方式):对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。


路由表中,RTB通过RTD到达100.1.1.1/32的路径最优,RTB从RTC收到分配给100.1.1.1/32的标签处理方式有以下两种:
一是RTB保留从RTC收到的标签信息,二是RTB不保留从RTC收到的标签信息,前者称为Liberal方式,后者称为Conservative方式。

当网络拓扑变化引起下一跳邻居改变时:

  • 使用自由标签保持方式,LSR可以直接利用原来非下一跳邻居发来的标签,迅速重建LSP,但需要更多的内存和标签空间。
  • 使用保守标签保持方式,LSR只保留来自下一跳邻居的标签,节省了内存和标签空间,但LSP的重建会比较慢。
    华为设备默认采用自由标签保持方式保存标签。

六、LDP建立LSP过程

  • IGP协议负责实现MPLS网络内路由可达,为FEC的分组提供路由;
  • LDP协议负责实现对FEC的分类、标签的分配以及LSP的建立和维护等操作。

    如图所示拓扑,LDP动态建立LSP的过程如下:
  1. RTD上存在100.1.1.1/32的主机路由,因为RTD是Egress节点,所以直接向自己上游邻居RTC发布100.1.1.1/32与标签的绑定关系;
  2. RTC收到下游邻居RTD分配的100.1.1.1/32与标签的绑定关系后,将标签记录在自己的LIB表中,并向上游邻居RTB发布100.1.1.1/32与标签的绑定关系,同时RTC查看自己IP路由表中到达100.1.1.1/32的下一跳是否为RTD,如果IP路由表中的下一跳为RTD,则RTC使用RTD分配的标签封装到达100.1.1.1/32的数据;如果IP路由表中的下一跳不是RTD,则RTC保留RTD分配的标签作为备用标签;
  3. RTB收到下游邻居RTC分配的100.1.1.1/32与标签的绑定关系后,执行与RTC相同的动作;
  4. RTA收到下有邻居RTB分配的100.1.1.1/32与标签的绑定关系后,查看自己IP路由表中到达100.1.1.1/32的下一跳是否为RTB,如果IP路由表中的下一跳为RTB,则RTA使用RTB分配的标签封装到达100.1.1.1/32的数据;如果IP路由表中的下一跳不是RTB,则RTA保留RTB分配的标签作为备用。因为RTA为Ingress,最终到达100.1.1.1/32的LSP完成建立。
  • LDP的基本配置如下:
    执行命令mpls lsr-id lsr-id,配置本节点的LSR ID;
    执行命令mpls,使能全局MPLS功能,并进入MPLS视图;
    执行命令mpls ldp,使能全局的LDP功能,并进入MPLS-LDP视图;
    执行命令interface interface-type interface-number,进入需要建立LDP会话的接口视图;
    执行命令mpls,使能接口的MPLS能力;
    执行命令mpls ldp,使能接口的MPLS LDP能力。

七、MPLS数据转发过程

在MPLS网络中,数据包在每台路由器上根据已分配的标签进行标签的封装和转发

如图所示拓扑,MPLS数据转发过程如下:

  1. RTA上收到访问100.1.1.1/32的数据包,如果数据包为普通的IP报文,则查找FIB表,因为Tunnel ID为非0x0,封装已分配的标签1027进行MPLS转发;如果数据包为带标签的报文,查找LFIB表,封装已分配的标签1027进行MPLS转发;
  2. RTB收到RTA发送的带标签1027的报文,查找LFIB表,封装已分配的出标签1026进行MPLS转发给RTC;
  3. RTC收到RTB发送的带标签1026的报文,查找LFIB表,封装已分配的出标签1025进行MPLS转发给RTD;
  4. RTD收到RTC发送的带标签1025的报文,查找LFIB表,出标签为Null,表明数据包已经到达Egress节点,所以路由器将数据包的标签信息去掉,并对数据包进行三层处理,查找IP路由表发现100.1.1.1/32的路由为自己本地的路由,根据IP路由表中的出接口进行IP数据的封装并转发。

如果MPLS网络中的业务量很大,则每次数据包在Egress节点都要进行两次处理才能进行正确的路由转发,这样会导致Egress节点的处理压力增加,路由器的处理性能降低。我们希望在Egress节点上只处理一次就能将数据包正确转发,以提高Egress的转发性能,所以提出了PHP技术。

PHP(Penultimate Hop Popping)

PHP(Penultimate Hop Popping,倒数第二跳弹出),具体过程如下:
RTC收到RTB发送的带标签1026的报文,查找LFIB表,发现分配的出标签为隐式空标签3,于是执行弹出标签的动作,并将IP数据包转发给下游路由器RTD;
RTD收到RTC发送的IP报文,直接查找自己的FIB表,根据FIB表中的出接口进行IP数据的封装并转发。

八、 MPLS配置实验

实验拓扑:

8.1 静态LSP:

AR1:

<Huawei>system-view 
[Huawei]mpls lsr-id 1.1.1.1
[Huawei]mpls 
[Huawei-mpls]quit
[Huawei]ospf router-id 1.1.1.1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 1.1.1.1 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]natwork 10.1.2.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 1.1.1.1 32
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.2.1 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]static-lsp ingress 100 destination 8.8.8.8 32 nexthop 10.1.2.2 outgoing-interface GigabitEthernet 0/0/0 out-label 200

AR2:

<Huawei>system-view 
[Huawei]mpls lsr-id 2.2.2.2
[Huawei]mpls
[Huawei-mpls]quit
[Huawei]ospf router-id  2.2.2.2
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 2.2.2.2. 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]natwork 10.1.2.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]natwork 10.2.3.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 2.2.2.2 32
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.2.2 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/0]ip address 10.2.3.1 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]static-lsp transit lsp1 incoming-interface GigabitEthernet 0/0/0 in-label 100 nexthop 10.2.3.2 outgoing-interface GigabitEthernet 0/0/1 out-label 200

AR3

<Huawei>system-view 
[Huawei]mpls lsr-id 3.3.3.3
[Huawei]mpls
[Huawei-mpls]quit
[Huawei]ospf router-id  2.2.2.2
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 3.3.3.3 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]natwork 10.2.3.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]natwork 10.3.4.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 3.3.3.3 32
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.2.3.2 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/0]ip address 10.3.4.1 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]static-lsp transit lsp1 incoming-interface GigabitEthernet 0/0/0 in-label 200 nexthop 10.3.4.2 outgoing-interface GigabitEthernet 0/0/1 out-label 300

AR1:

<Huawei>system-view 
[Huawei]mpls lsr-id 1.1.1.1
[Huawei]mpls 
[Huawei-mpls]quit
[Huawei]ospf router-id  4.4.4.4
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 4.4.4.4 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]natwork 10.3.4.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 4.4.4.4 32
[Huawei-LoopBack0]quit 
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.3.4.2 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface LoopBack 1
[Huawei-LoopBack1]ip address 8.8.8.8 255.255.255.255 
[Huawei-LoopBack1]quit 
[Huawei]static-lsp egress lsp1 incoming-interface GigabitEthernet 0/0/0 in-label 300 

上述过程忘记添加OSPF协议
实验结果:



注:从8.8.8.8返回AR1的数据报中没有配置MPLS,故没有MPLS的标签,故需添加以下配置
AR1:

[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 1.1.1.1 32
[Huawei-LoopBack0]quit
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]static-lsp egress lsp2 incoming-interface Gigabit Ethernet 0/0/0 in-label 100

AR2:

[Huawei]static-lsp transit lsp2 incoming-interface GigabitEthernet 0/0/1 in-label 200 nexthop 10.1.2.1 outgoing-interface GigabitEthernet 0/0/0 out-label 100

AR3:

[Huawei]static-lsp transit lsp2 incoming-interface GigabitEthernet 0/0/1 in-label 300 nexthop 10.2.3.1 outgoing-interface GigabitEthernet 0/0/0 out-label 200

AR4:

[Huawei]static-lsp ingress lsp2 destination 1.1.1.1 32 nexthop 10.3.4.1 out-label 300

至此,实现了MPLS静态的双通。

8.2 动态MPLS

  • 目前设备支持如下组合方式:
  1. 下游自主方式(DU)+ 有序标签分配控制方式(Ordered)+ 自由标签保持方式(Liberal),该方式为缺省方式。
  2. 下游按需方式(DoD)+ 有序标签分配控制方式(Ordered)+ 保守标签保持方式(Conservative)。
  3. 下游自主方式(DU)+ 独立标签分配控制方式(Independent)+ 自由标签保持方式(Liberal)。
  4. 下游按需方式(DoD)+ 独立标签分配控制方式(Independent)+ 保守标签保持方式(Conservative)。
    AR1:
<Huawei>system-view 
[Huawei]mpls lsr-id 1.1.1.1
[Huawei]mpls 
[Huawei-mpls]lsp-trigger all
[Huawei-mpls]quit
[Huawei]mpls  ldp
[Huawei-mpls-ldp]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 1.1.1.1 32
[Huawei-LoopBack0]quit
[Huawei]interface LoopBack 1
[Huawei-LoopBack1]ip address 11.11.11.11 32
[Huawei-LoopBack1]quit
[Huawei]interface LoopBack 2
[Huawei-LoopBack2]ip address 111.111.111.111 32
[Huawei-LoopBack2]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.2.1 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]mpls ldp
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]ospf router-id 1.1.1.1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 1.1.1.1 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 11.11.11.11 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 111.111.111.111 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]natwork 10.1.2.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit

AR2:

<Huawei>system-view 
[Huawei]mpls lsr-id 2.2.2.2
[Huawei]mpls 
[Huawei-mpls]lsp-trigger all
[Huawei-mpls]quit
[Huawei]mpls  ldp
[Huawei-mpls-ldp]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 2.2.2.2 32
[Huawei-LoopBack0]quit
[Huawei]interface LoopBack 1
[Huawei-LoopBack1]ip address 22.22.22.22 32
[Huawei-LoopBack1]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.2.2 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]mpls ldp
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/0]ip address 10.2.3.1 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]mpls ldp
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]ospf router-id 2.2.2.2
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 2.2.2.2 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 22.22.22.22 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 10.1.2.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]natwork 10.2.3.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit

AR3:

<Huawei>system-view 
[Huawei]mpls lsr-id 3.3.3.3
[Huawei]mpls 
[Huawei-mpls]lsp-trigger all
[Huawei-mpls]quit
[Huawei]mpls  ldp
[Huawei-mpls-ldp]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 3.3.3.3 32
[Huawei-LoopBack0]quit
[Huawei]interface LoopBack 1
[Huawei-LoopBack1]ip address 33.33.33.33 32
[Huawei-LoopBack1]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.2.3.2 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]mpls ldp
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/0]ip address 10.3.4.1 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]mpls ldp
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]ospf router-id 3.3.3.3
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 3.3.3.3 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 33.33.33.33 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 10.2.3.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]natwork 10.3.4.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit

AR4:

<Huawei>system-view 
[Huawei]mpls lsr-id 4.4.4.4
[Huawei]mpls 
[Huawei-mpls]quit
[Huawei]mpls  ldp
[Huawei-mpls]lsp-trigger all
[Huawei-mpls-ldp]quit
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ip address 4.4.4.4 32
[Huawei-LoopBack0]quit
[Huawei]interface LoopBack 1
[Huawei-LoopBack1]ip address 44.44.44.44 32
[Huawei-LoopBack1]quit
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.3.4.2 255.255.255.252
[Huawei-GigabitEthernet0/0/0]mpls
[Huawei-GigabitEthernet0/0/0]mpls ldp
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]ospf router-id 4.4.4.4
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area -0.0.0.0]network 4.4.4.4 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 44.44.44.44 0.0.0.0
[Huawei-ospf-1-area -0.0.0.0]network 10.3.4.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit

实验结果:

注:

[Huawei-GigabitEthernet0/0/0]mpls ldp advertisement DU/DOD

[Huawei-mpls-ldp]propagate mapping for ip-prefix 1-4  # 控制非直连路由分发
[Huawei]ip ip-prefix 1-4 permit 1.1.1.1 32    

[Huawei-mpls]outbound peer 3.3.3.3 fec ip-prefix 1-4   # 发送可以所有路由
[Huawei-mpls]inbound peer 2.2.2.2 fec host  # 接受控制命令为全部接受,但是不允许的不使用
[Huawei]display mpls ldp lsp peer 2.2.2.2 

本文标签: 原理MPLS