MPLS(多协议标签交换)详解

MPLS是利用标记(label)进行数据转发的。当分组进入网络时,要为其分配固定长度的短的标记,并将标记与分组封装在一起,在整个转发过程中,交换节点仅根据标记进行转发。
MPLS 独立于第二和第三层协议,诸如ATM 和IP。它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSPF)等等。
在MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。
MPLS是在PE之间形成LSP标签交换通道(承载数据)

1.LDP会话的基本配置

mpls lsr-id 11.1.1.1--------------11.1.1.1一般为全局可达环回口
mpls-----------------------------全局开启MPLS
mpls ldp-----------------------全局开启MPLS LDP
int g 0/0/2----------------------接口使能MPLS
mpls-------------------------接口使能MPLS
mpls ldp-----------------------接口使能LDP

LDP:标签分发协议,是一个公有协议
UDP去发现邻居,TCP去建立邻居,目的端口号都为646
迎来在LSR之间建立LDP session 并交换LABEL/FEC映射信息的协议

LDP的发现机制
LDP的基本发现机制:发现之间连接在同一个链路上的LSR邻居
LDP的扩充发现机制:发现非直连的LSR邻居

LDP的一些调整

1.local

224.0.0.x(TTL=1),只能两个相邻的设备建立邻居

mpls的lsp mpls的lsp快速切换_数据


本地LDP会话基本配置:修改传输地址

2.用直连接口来作为transport地址

配置

int g  0/0/1
ip sddress 13.1.1.1 32
ospf enable 1 area  0.0.0.0
mpls
mpls lap
mpls ldp transport-address interface

验证

display mpls ldp session verbose

结果
TCP connection : 13.1.1.1<------13.1.1.3

3.tiarget LDP(远端的LDP邻居),跨越设备
场景:L2VPN(二层VPN),绘画保护

配置R4R1之间建立远程LDP邻居

[R4]mpls  ldp  remote-peer Ender----------------Ender 是名字
[R4mpls  ldp  remote-Ender]remote ip 11.1.1.1
!
[R1]mpls ldp remote-peer Ender
[R1 mpls  ldp  remote-Ender]remote ip 44.1.1.1


tracert   lsp   ip   +(全网远端的PE的换回口) 可以看到沿途标签的值

MPLS VPN : 典型的具备两层标签,其中外层标签是由LDP分发的,内层标签(VPN的标签)是MP-BGP协议(VPNV4)来自动分发的。

验证命令

display mpls ldp session
或
tracert  lsp ip 44.1.1.1 32-------------检查PE-->PE之间的’单向‘LSP通道(在目的地与原地址互相tracert回来)

MPLS用来转发的TABLE
1.FIB,转发数据库(IP+标签)------------------>display fib 44.1.1.1 32 verbose
2.LIFIB(标签转发数据库)----------------------->display mpls lsp include 44.1.1.1 32
专门用于标签转发,RIB+LDP
3.LIB 标签信息库(要参考路由表)

帧模式的标签格式
1.frame mode (在二层和三层之间插入一个4字节标签)
2.cell mode(已淘汰)

mpls的lsp mpls的lsp快速切换_数据_02

标签空间(标签的取值范围)
0–15 特殊标签
16-1023 静态的ISP和静态CR-LSP

dis  mpls  ldp   session   verbose

结果:
  peer LDP  ID: 2.2.2.2 0---------------->0代表基于平台的标签空间
  LSR为一个目的网段只分配一个便签,并将该标签发送给所有的LDP peers

表现形式:
A对一个前缀向所有邻居发相同的标签
B两个设备之间有多个运行LDP链路,但是依旧只有一个会话
C只有出接口没有入接口

MPLS的标签嵌套

mpls的lsp mpls的lsp快速切换_mpls的lsp_03

MPLS标签的转发(标签的行为)
A.入口的PE:会根据FEC(转发等价类,一般的意义上是一个前缀)压入一个标签
查看的命令

<r1> display mpls lsp include 44.1.1.1 32 verbose


结果:Label operation        push

B.中间的P设备:交换标签(LFIB)
C.pop(移除,弹掉一层标签)

LDP标签的分发,控制和保持

分发
1.DOistribution Unsolicited)
Du方式下,下游分发,下游LSR将根据某一触发策略向上游LSR发送相应网段(通过配置可以分别实现对路由表中所有网段、对路由表中主机路由或者对特定的IP Prefix分发标签)的标签映射消息。
2.DoD(Distribution on Domand)。
DoD方式下,只有当收到上游交换机请求特定网段的标签请求消息()时,才发送标签映射消息
给上游交换机。

控制
1.Orded
。当标签控制方式为ordered时,只有当LSR收到特定FEC下一跳发送的特定FEC-标签映射消息或者LSR是LSP的出口节点时,LSR才可以向上游发送标签映射消息。Ordered方式可以让标签转发具有可靠性和统一性且为华为默认 ,不可更改。
2.Independent。
采用Independent控制方式时,每个LSR随时可以向邻居发送标签映射,Inpendent方式可以快速搭建标签转发通道,

保持

1.保守保留模式:保留一部分标签,仅保留当前下游路由器分配给前缀的标签。conservative方式的优点在于只需保留和维护用于转发数据的标签,当标签空间有限时,这种方式非常实用,缺点在于如果路由表中到达目的网段的下一跳发生了变化,必须从新的下一跳那里获得标签然后才能够转发数据。

mpls的lsp mpls的lsp快速切换_mpls的lsp_04


2.自由保留模式:保留所有标签(主要采用的)。Liberal方式的最大优点在于路由发生变化时能够快速建立新的LSP进行数据转发因为Liberal方式保留了所有的标签。缺点是需要分发和维护不必要的标签映射

mpls的lsp mpls的lsp快速切换_路由表_05

LDP的次末跳弹出(PHP)
POP即弹出标签,仅仅弹出一层标签
在末跳设备进行了2次查找(LFIB->FIB)末跳设备有很多客户接入所以其不是最优选择
次末跳弹出:即在倒数第二跳收到了来自末跳设备的特殊标签(3,即隐式标签)3为末跳设备,针对自己的直连分配的POP行为,严格意义上不是只有最后一条才做,任何设备都会做。在完成MPLSVPN后,外层标签只需要有BGP的吓一跳(Loopbock0)的更新源的外层标签即可
3=implicit-null
0=explicit- null

LDP的环路检测

有最后8位的TTL值来检测(很少)
有IGP的环路检测,IGP有环路则LDP有环路(更多)

MPLS中TTL的繁衍

mpls的lsp mpls的lsp快速切换_路由表_06

关闭TTL的复制功能

mpls
undo  ttl  propagate public