LDP的工作原理和配置

  • LDP的基本概念和工作机制
  • MPLS标签分发模式
  • LDP的基础配置

一、LDP的基本概念和工作机制

首先MPLS是一种根据标签报文中携带的标签来转发数据的技术。
MPLS的一个基本概念就是两台LSR必须对在它们之间转发的数据的标签使用上“达成共识”。LSR之间可以运行标签分发协议(Label Distribution Protocol,LDP)来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发。

LDP协议:LDP是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等操作。
LDP的功能:负责FEC的分类,标签的分配以及LSP的建立和维护等操作,LDP规定了标签分发过程中的各种消息以及相关处理过程。
LDP的工作过程:
     1、LSR之间建立LDP会话
      2、LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP。

LDP会话
1、LSR之间交互标签信息之前必须建立LDP会话。
2、LDP会话分为本地LDP会话和远程LDP会话,两者的区别是远程LDP会话可以不需要直连,但是都要保证两端路由可达的条件。
3、LDP邻接体: 两台LSP交互Hello消息后,即建立LDP邻接体关系。
4、LDP对等体: 在邻接体基础上,两台LSR之间交互LDP会话信息,建立LDP会话,两台设备之间形成LDP对等体关系。

LDP ID 和LSR ID
1、LSR ID
     是运行LSR的路由器的唯一标识ID号。
     LSR ID一般和设备的回环地址关联一致,如1.1.1.1
2、LDP ID
     每一台运行LDP的LSR必须拥有LDP ID
      LDP长度48bit,由LSR ID + 16位的标签空间标识符组成。
       LDP ID存在形式: LSR ID : 标签空间标识。 如: 1.1.1.1 :0
标签空间标识存在两种形态:
一种是 值为0,表示基于设备或者平台的标签空间。每个接口的标签并不唯一。
一种是 值非0,表示基于接口的标签空间 ,每个接口的标签唯一。

LDP 消息类型:
1、发现消息        Discovery ,        使用UDP 646,进行宣告本LSR并发现邻居。
2、会话               session                      建立 维护和终止 LDP之间的会话
3、通告              advertisement               生成,改变删除FEC的标签映射
4、通知              notification               告警和错误
除了发现消息使用UDP646端口,其它消息都使用TCP646端口
这些消息发送是用UDP/TCP 646端口发送的,组播地址是224.0.0.2 ,其中hello 5s,hold 15s。

LDP会话建立流程:
1、发现阶段: 设备通过周期性地发送LDP链路Hello报文( LDPLink Hello),实现LDP基本发现机制。LDP链路Hello报文使用UDP报文,目的地址是组播地址224.0.0.2。如果LSR在特定接口接收到LDP链路Hello报文,表明该接口存在LDP邻接体。
2、TCP建立阶段: Hello报文中携带传输地址,双方后续将使用传输地址建立LDP会话。传输地址较大的一方作为主动方,主动发起建立TCP连接。经过TCP三次握手之后,两者建立起TCP连接。
3、会话建立和保持,双方使用keepalive来对初始化报文进行确认,然后使用keepalive来协商参数后,完成会话的建立和保持。达到邻居状态、
注意:当接收方接收到对方的初始化报文后,认为没问题,则会将自己的初始化报文和keepalive报文同时发给对方,接收到对方的keepalive报文后建立邻居。

LDP双方的会话状态:
1、no-existen 最初始状态,选举主动方
2、init : 主动发发送 init
3、opensent : 等待对方发送的 init 和 keppalive
4、openreceive : 等待对方的 keepalive
5、operational LDP会话建立成功。
使用 display mpls ldp session 查看LDP的会话信息
如 LDP的会话状态 : Status 状态为 Operational 表示LDP邻居成功
如 LAM 标签发布模式 : 发布模式有 DU 和DoD(下游按需)模式,默认是DU(下游自主)模式
如 LSR在LDP会话中的角色 : 有Active 和 Passive 角色,其中 Active表示是主动方,Passive表示被动方。

二、标签分发模式

标签的发布和管理
在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR。
LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP
标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。

标签发布方式有两种: 下游自主DU和下游按需DoD
默认是下游自主发布,即对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。
下游按需是: 对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发。
注意这里的上游和下游是根据FEC传递的方向,假如是发送方就是上游,最后一站就是下游。

标签分配控制方式(distribution)有两种
1、有序模式(Order): 华为默认模式 : LSR 具有此FEC的下一跳的标签映射 或者 是 LSR就是 此 FEC 出节点 ,才会 向上游发送 FEC 标签映射
2、独立模式(indepened) : 本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。但是通告给上游的LSR可能不知道FEC的出站口 ,因此可能 导致数据 发送错误

标签的保留模式
1、自由模式(Liberal):默认模式 : LSR收到的标签映射可能来自下一跳,也可能来自非下一跳。对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留
缺点:需要存储次优路由FEC,优点:当最优FEC故障时候,切换到次优路径 速度很快
2、保守模式(Conservative):对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。
占用资源少,但是当最优路径故障时候寻找其它路径需要时间

注意: 32位的主机IP路由由LDP触发,假如你的是非32位,则需要命令 lsp-trigger all

PHP (Penultimate Hop Popping,次末跳弹出),也叫做倒数第二跳弹出
目的是为了减轻 Engress的查表,提高效率。默认情况是隐式空标签,可以用命令修改。
默认是隐式空标签 字段值是3
1、如果激活了PHP特性,那么egress节点在为本地路由分配标签的时候,会分配一个特殊标签3,该标签被称为隐式空标签(Implicit NULL Label)。
2、当LSR转发一个标签报文时,如果发现对应的出标签值为3,则LSR会将栈顶标签弹出,并将里面所封装的数据转发给下游LSRQos信息里面的优先级会丢失
显式空标签 字段值是 0:
1、 由于隐式空 标签使用的时候,弹出标签头部,会将Qos信息也会弹出,优先级保留
2、显式空标签:若出标签封装为0,则不会将标签头部弹出,标签头部中的QoS信息得以保存。R4在收到带0标签的报文的时候,直接弹出标签,不用去查找ILM表项。

LDP工作过程详解

所有LSR均采用DU + Independent +Liberal方式。

标签分发
1、作为Engress路由器 : 将主动为到达该网段的路由分配标签,如1041,并主动通过LDP协议报文将标签映射通告给LDP对等体R2和R3。即Transit
2、作为Transit路由器 : 它从Engress收到关于192.168.4.0/24的标签映射通告时,由于该通告来自下游LDP邻居,因此这将触发它自己为该路由分配标签1021,并将标签映射通告给LDP邻居即Ingress.
3、作为Ingress路由器 : Ingress收到LDP邻居Transit1及Transit2通告过来的关于192.168.4.0/24路由的标签映射后,将这两个标签都存储起来,但是由于在自己的路由表中,到达192.168.4.0/24的下一跳是Transit1,因此当前它只会使用Transit1所通告的标签1021。

标签转发
1、作为Ingress LSR,需要对接收的IP报文执行Push操作压入标签,并进行标签转发。
2、作为Transit LSR,需要对接收的IP报文执行Swap操作交换标签,并进行标签转发。
3、作为Egress LSR,需要对接收的IP报文执行Pop操作交换标签,并进行IP转发。

在MPLS中,运行LDP协议的LSR的操作小结
1、LSR首先通过运行IGP协议(例如OSPF、IS-IS等)来构建路由表、FIB表;
2、LDP根据相应的模式,为路由表中的路由前缀(FEC)分配标签;
3、LDP根据相应的模式,将自己为路由前缀分配的标签,通过LDP标签映射报文通告给LDP邻居;
4、LSR将自己为路由前缀分配的标签,以及LDP邻居为该路由前缀通告的标签存储起来,并与出接口、下一跳地址等信息形成关联(标签转发表项);
5、当LSR转发到达目的网络的标签报文时,所使用的出站标签总是下游LDP邻居所通告的标签,此处所指的下游邻居,是设备的路由表中到达该目的网络的下一跳设备。

三、基本配置

1、使能LDP
全局使能和接口使能
在 全局模式和接口模式下,使用 mpls ldp 进行使能2.配置LDP远端会话
mpls ldp remote-peer 远端对等体名字
remote-ip IP地址
类似BGP的远端配置3.配置触发LSP的策略
配置 触发LSP的策略:
lsp-trigger all/host/ip-prefix
默认触发是只会触发掩码是32的IP路由,
可以使用all 来触发所有地址的LSP,但不推介,因为会产生LSP数量多,消耗资源4、配置LDP标签发布模式(LDP的保留模式不能修改,默认是自由模式)
配置LDP标签发布模式:
接口下: mpls ldp advertisement dod/du5.配置LDP标签分配控制方式
label distribution control-mode independent/ordered
默认情况是 优秀标签分配控制 ordered6、配置PHP特性
[Huawei-mpls] label advertise { explicit-null | implicit-null | non-null }
缺省情况下,出节点向倒数第二跳分配隐式空标签(implicit-null)。
explicit-null:出节点向倒数第二跳分配显式空标签。
implicit-null:出节点向倒数第二跳分配隐式空标签。
non-null:出节点向倒数第二跳正常分配标签。

MPLS之LDP的工作原理和配置相关推荐

  1. 36.DAC工作原理与配置

    DAC工作原理与配置 参考资料 STM32FX开发板 <STM32FX开发指南-HAL库版本>-第X章 DAC实验 STM32FXxx官方资料: <STM32FX中文参考手册> ...

  2. 第五章 路由器的工作原理及其配置

    第五章 路由器的工作原理及其配置 5.1 广域网服务 WAN连接的目的是在两个远离的网络之间尽可能高效率传递数据.连接的效率越高,到最终用户的连接就越透明.WAN连接通常比L A N连接要慢.例如,一 ...

  3. HSRP双机热备工作原理与配置

    热备份路由选择协议(HSRP) 一.HSRP的相关概念 1.HSRP的原理 1.1.HSRP概述 HSRP(Host Standby Routing Protocol,热备份路由选择协议)是Cisco ...

  4. windows php fastcgi,windows下FastCGI(php-cgi)的工作原理和配置

    一.FastCGI是什么? FastCGI是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能.众所周知,CGI解释器的反复加载是CGI性能低下的主 ...

  5. ASA 防火墙 工作原理与配置实例

    ASA是状态化防火墙,会建立一个用户信息连接表(Conn),连接表中包含的相关信息有源IP地址.目的IP地址.IP协议(如TCP或UDP).IP协议信息(如TCP/UDP的端口号.TCP序列号和TCP ...

  6. 路由器工作原理及配置实验

    一.路由器工作原理 路由器根据路由表转发数据,并选择最优路径 :若路由表中没有路由,可手动设置静态路由. 路由器工作在OSI模型三层(网络层),收到数据包后根据OSI模型层层将数据包拆开,到网络层后根 ...

  7. 交换机的基本工作原理与配置

    数据链路层功能: 1.数据链路的建立.维护与拆除 2.帧包装.帧传输.帧同步 3.帧的差错恢复 4.流量控制 以太网工作在数据链路层 数据链路层封装的MAC头部里的MAC地址(48比特=48位=6字节 ...

  8. [计算机网络]四、交换机的工作原理与配置(数据链路层、以太网交换机、交换机的基本配置)

    目录 1.数据链路层 1.1.数据链路层的功能 1.2.以太网工作在数据链路层 1.2.1.以太网的发展 1.2.2.以太网MAC地 1.2.3.网卡.路由器和交换机厂商有哪些 1.2.4.以太网帧的 ...

  9. Hybrid接口的工作原理及其配置

    Hybrid接口的工作原理涉及及接口的三个属性: 分别为:untag列表,tag列表,PVID(port-base VLAN ID,基于端口的VLAN ID) untag列表:只在接口发送数据帧时起作 ...

最新文章

  1. java 解析证书_java 读取证书类以及key tool gui 1.7
  2. 关于Linux中文件权限的探究
  3. Oracle误删除数据的恢复方法
  4. 使用asm工具让移动设备投影到pc上
  5. 拼接字符串时去掉最后一个多余逗号
  6. “SQL Server does not allow remote connections”错误的解决
  7. [html] 为什么HTML5只需要写<!DOCTYPE HTML>就可以?
  8. WORD页眉如何引用章节名?
  9. 【光学】基于Matlab模拟光流场
  10. 怎样用计算机二元一次方程,键入公式在计算机如何键入二元一次方程式公式 – 手机爱问...
  11. 先手获胜逻辑题_宣布障碍塔挑战赛的获胜者和开源版本
  12. 重磅!图森王乃岩团队最新工作—TridentNet:处理目标检测中尺度变化新思路
  13. axurerp出现错误报告_Windows 应用程序无法安装 事件查看器报错
  14. ios 区分iphone ipod ipad的方法及获取设备名称。
  15. 恢复W ndows10系统方法步骤,Windows 10系统恢复电脑(刷新电脑)的方法步骤图文教程详解...
  16. Unity大场景数据加载及优化方案
  17. pandas数值型数据和非数值型数据统计
  18. WebRequest 类和 WebResponse 类
  19. 在线客服php技术,WeLive开源PHP在线客服系统、在线客服源码下载
  20. 计算机软考初级程序员教程,2013年计算机软考程序员教程

热门文章

  1. 思科三层交换机不同vlan互通_cisco(三层交换和动态路由,不同vlan间的通信,静态路由实现全网互通)...
  2. 倒计时1天,六位专家周末带你解锁前端研发新姿势
  3. MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)
  4. 数据结构:通过hash表建立一个宝可梦图鉴管理系统
  5. Seaborn调色板设置
  6. 计算机中什么符号代表除号,电脑怎么打除号?word除号怎么打出来?键盘上÷号是哪个键?除以符号电脑怎么打?...
  7. (20201015 Solved)docker-compose创建网络ERROR: Pool overlaps with other one on this address space
  8. 五一劳动节,微信公众号图文应该怎样排版?
  9. 结合电商项目谈设计模式
  10. 游戏后台生成唯一ID