MPLS:多协议标签交换,运行于二层与三层之间,基于以太网二帧封装,可多层嵌套。

LDP:标签分发协议,基于IP层封装,UDP/TCP端口号646

协议组:

  • MPLS:相关信令协议,如OSPF、BGP、ATM PNNI等。
  • LDP:标签分发协议
  • CR-LDP:基于路由受限标签分发协议
  • RSVP-TE:基于流量工程扩展的资源预留协议

MPLS应用:

  • MPLS数据转发
  • MPLS-VPN技术
  • MPLS-TE流量工程
  • MPLS-Qos服务质量

报文格式:

  • Label标签 20比特
  • EXP 用于Qos 3比特
  • S 栈底标识 1字节
  • TTL 生存时间 8比特

MPLS-LDP标签管理

  • 标签控件
  • 标签分发
  • 标签控制
  • 标签保持

LDP报文头部包含6比特的 LDP-Identifier,其中前4比特用于标识LSR-id,后2比特则是标签空间。

标签空间又分为两种:

  1. 基于平台:(基于设备)当标签空间2比特均为0时则标签基于平台的标签空间:0x00
  2. 基于接口:当标签空间值为0x01或0x10时则表示是基于接口的标签空间

基于平台: 平台为一条FEC分给不同邻居的标签是一样的,安全性较差,但是可以节约数据库大小,因为设备会为每一条FEC只保存一个标签。

基于接口 基于接口时,不同邻居分到的标签是不一样的,安全性较高,但是标签要更多,更占用数据库。

在华为设备上默认是使用基于平台的

MPLS-LDP标签分发/发布方式

MPLS标签发布分为两种方式:DU下游自主和DOD下游按需

  • DU下游自主:对于一个特定的FEC,LSR无需从上游设备获得标签请求就可以进行标签的分发,华为设备默认情况下是下游自主的方式。
  • DOD下游按需:LSR设备只要收到了上游设备请求特定网段的标签请求时才会发送标签映射消息给上游设备。

 

实验:

三个设备之间运行IGP和MPLS+LDP,AR1和AR3设置不触发建立LSP,所以AR1和AR3均不会发送标签请求消息

mpls
 lsp-trigger none

AR2设备的G0/0/0口的发布方式为DU下游自主,G0/0/1的发布方式为DOD下游按需。由于G0/0/0 是DU的方式,

interface GigabitEthernet0/0/0
 ip address 10.0.12.2 255.255.255.0 
 mpls
 mpls ldp
 mpls ldp advertisement du
interface GigabitEthernet0/0/1
 ip address 10.0.23.2 255.255.255.0 
 mpls
 mpls ldp
 mpls ldp advertisement dod

所以它不用收到AR1发送的标签请求也可以为AR1分发标签。查看如下:AR2为AR1分发了一条AR2的loopback路由标签。

display mpls lsp 
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
2.2.2.2/32         1024/3        -/GE0/0/0  
display mpls ldp lsp 
 
 LDP LSP Information
 -------------------------------------------------------------------------------
 DestAddress/Mask   In/OutLabel    UpstreamPeer    NextHop         OutInterface
 -------------------------------------------------------------------------------

 2.2.2.2/32         1024/3         2.2.2.2         10.0.12.2       GE0/0/0
 -------------------------------------------------------------------------------
 TOTAL: 1 Normal LSP(s) Found.
 TOTAL: 0 Liberal LSP(s) Found.
 TOTAL: 0 Frr LSP(s) Found.
 A '*' before an LSP means the LSP is not established
 A '*' before a Label means the USCB or DSCB is stale
 A '*' before a UpstreamPeer means the session is stale
 A '*' before a DS means the session is stale
 A '*' before a NextHop means the LSP is FRR LSP

由于AR2的G0/0/1口是DOD模式,即只有上游设备向自己发送标签请求时才会为上游设备分发标签。由于AR3设置了不触发建立LSP,所以AR3也就无法发送标签请求,所以在AR3上看不到标签:

<AR3>display mpls lsp 
<AR3>

MPLS-LDP标签控制/分配方式

MPLS-LDP的标签分配方式分为两种:独立-independent和有序-ordered。

  • 独立-independent:只要自身路由表中有的,设备自身就可以为路由分配标签,不论是否从路由下一跳出接口收到标签。

一般情况下分配和发布是结合使用的,即:

  1. 独立+DU:设备本身会主动为所有路由分配标签并发布给上游设备。
  2. 独立+DOD:设备本身会主动为所有路由分配标签,是否发送取决于上游设备是否请求。
  • 有序-ordered:设备是否能为路由表中某个前缀分配标签取决于是否从路由下一跳设备收到标签。(华为默认)

这种分配方式也可以结合发布方式使用:

  1. 有序+DU:当设备从下一跳设备收到了标签就会会分配标签并主动为上游设备分发标签。
  2. 有序+DOD:当设备从下一跳设备收到了标签会分配标签,但是是否分发取决于上游设备是否发送标签请求。

华为设备默认是独立,但是模拟器改不了。修改命令:

[AR2]MPLS
[AR2-mpls]label-distribution independent

实验:

正常情况下AR1可以收到AR2为4.4.4.4分的标签,因为默认是独立的方式,只有收到下一跳设备发过来的标签之后才会为上游分标签,所以在AR1上可以查看到:

<AR1>display mpls lsp 
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
2.2.2.2/32         1024/3        -/GE0/0/0                                     
4.4.4.4/32         1027/1026     -/GE0/0/0                                     
3.3.3.3/32         1028/1027     -/GE0/0/0                                     
1.1.1.1/32         3/NULL        -/-                                           
2.2.2.2/32         NULL/3        -/GE0/0/0                                     
3.3.3.3/32         NULL/1027     -/GE0/0/0                                     
4.4.4.4/32         NULL/1026     -/GE0/0/0                                     
<AR1>

当在AR4的G0/0/0口去使能LDP之后,AR4就无法为上游设备分发标签,所以也就不会再AR1设备上看到4.4.4.4的标签。

[AR4-GigabitEthernet0/0/0]undo mpls ldp 
Info: Deleting LDP, please wait ...... Finished! 
[AR4-GigabitEthernet0/0/0]

在AR1查看:

display mpls lsp 
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
2.2.2.2/32         1024/3        -/GE0/0/0                                     
3.3.3.3/32         1028/1027     -/GE0/0/0                                     
1.1.1.1/32         3/NULL        -/-                                           
2.2.2.2/32         NULL/3        -/GE0/0/0                                     
3.3.3.3/32         NULL/1027     -/GE0/0/0                                     

即使在AR3上也无法看到AR4分的标签:

display mpls lsp 
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
2.2.2.2/32         1025/3        -/GE0/0/0                                     
3.3.3.3/32         3/NULL        -/-                                           
2.2.2.2/32         NULL/3        -/GE0/0/0                                     
1.1.1.1/32         NULL/1028     -/GE0/0/0                                     
1.1.1.1/32         1027/1028     -/GE0/0/0                                     

MPLS-LDP标签保持

MPLS-LDP标签保持方式就是在收到标签之后的保存方式。包含:保守-conservation和自由-liberal。

  • 保守-conservation:设备只保留去往目的地下一跳路由器给的标签

它也可以与分发方式结合使用。

    • 保守+DU : 优点:保存的标签少,资源占用少;缺点:当下一跳链路故障时需要重新请求标签,影响收敛。
    • 保守+DOD:只会向下一跳设备(上游)请求标签
  • 自由-liberal:(华为默认)会保留所有设备发来的标签,但是会将下一跳设备发来的标签放到LFIB表中,其他的标签会放到LIB表中,当下一跳链路发生故障之后可以实现无缝切换。
    • 优点:切换速度快
    • 缺点:需要保存所有标签,占用资源大。

模拟器修改不了,修改方式:

[AR2]MPLS 
[AR2-mpls]label-retention conscervative

华为设备默认的组合:DU+有序+自由

display mpls ldp 

                           LDP Global Information
 ------------------------------------------------------------------------------
 Protocol Version        : V1            Neighbor Liveness    : 600 Sec
 Graceful Restart        : Off           FT Reconnect Timer   : 0 Sec
 MTU Signaling           : On            Recovery Timer       : 300 Sec
 Capability-Announcement : Off           Longest-match        : Off
 P2MP Capability         : Off                                       

                          LDP Instance Information
 ------------------------------------------------------------------------------
 Instance ID             : 0             VPN-Instance         :
 Instance Status         : Active        LSR ID               : 1.1.1.1
 Loop Detection          : Off           Path Vector Limit    : 32
 Label Distribution Mode : Ordered       Label Retention Mode : Liberal
 Instance Deleting State : No            Instance Reseting State : No
 Graceful-Delete         : Off           Graceful-Delete Timer : 5 Sec
 ------------------------------------------------------------------------------	
display mpls ldp session 

 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
 ------------------------------------------------------------------------------
 2.2.2.2:0          Operational DU   Passive  0000:00:38  155/155
 ------------------------------------------------------------------------------
 TOTAL: 1 session(s) Found.

 

朱古力

By 朱古力

一条咸鱼

在 “MPLS标签管理” 有 1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注