当前位置: 首页 > article >正文

【网络协议详解】——MPLS LDP技术(学习笔记)

目录

MPLS LDP简介

定义

目的

LDP基本概念

LDP对等体

LDP邻接体

LDP会话

LDP工作机制

简介

LDP消息类型

LDP工作过程

LDP会话的建立

LDP发现机制

LDP会话的建立过程

LDP LSP的建立

标签的发布和管理

标签发布方式(Label Advertisement Mode)

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

标签保持方式(Label Retention Mode)

LDP安全机制

LDP跨域扩展

LDP为BGP路由分标签

LDP FRR

配置远端LDP会话示例

组网需求

配置思路


MPLS LDP简介

定义

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

目的

MPLS支持多层标签,并且转发平面面向连接,故具有良好的扩展性,使在统一的MPLS/IP基础网络架构上为客户提供各类服务成为可能。通过LDP协议,标签交换路由器LSR(Label Switched Router)可以把网络层的路由信息直接映射数据链路层的交换路径上,动态建立起网络层的LSP

LDP基本概念

LDP对等体

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

LDP邻接体

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

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

  • 远端邻接体(Remote Adjacency):以单播形式发送Hello消息(即目标Hello消息)发现的邻接体叫做远端邻接体

LDP通过邻接体来维护对等体的存在,对等体的类型取决于维护它的邻接体的类型。一个对等体可以由多个邻接体来维护,如果由本地邻接体和远端邻接体两者来维护,则对等体类型为本远共存对等体。

LDP会话

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

  • 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的。

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

本地LDP会话和远端LDP会话可以共存。

LDP工作机制

简介

LDP协议规定了标签分发过程中的各种消息以及相关的处理过程。通过LDP,LSR可以把网络层的路由信息映射到数据链路层的交换路径上,进而建立起LSP

LDP消息类型

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

  • 发现(Discovery)消息:用于通告和维护网络中LSR的存在,如Hello消息。

  • 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。

  • 通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射。

  • 通知(Notification)消息:用于提供建议性的消息和差错通知。

为保证LDP消息的可靠发送Discovery消息使用UDP(User Datagram Protocol)传输,LDP的Session消息、Advertisement消息和Notification消息都使用TCP(Transmission Control Protocol)传输。

LDP工作过程

LDP工作过程主要分为两个阶段:

1.LDP会话的建立通过Hello消息发现邻居后,LSR之间开始建立LDP会话。会话建立后,LDP对等体之间通过不断地发送Hello消息和Keepalive消息来维护这个会话。

    • LDP对等体之间,通过周期性发送Hello消息表明自己希望继续维持这种邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。邻接关系被删除后,本端LSR将发送Notification消息,结束该LDP会话。

    • LDP对等体之间通过LDP会话连接上传送的Keepalive消息来维持LDP会话。如果会话保持定时器(Keepalive保持定时器)超时仍没有收到任何Keepalive消息,则关闭TCP连接,本端LSR将发送Notification消息,结束LDP会话。   

  1. LDP LSP的建立

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

LDP会话的建立

通过LDP发现机制发现LDP对等体用来建立LDP会话。只有建立了LDP会话后,才能建立LDP LSP来承载业务。

LDP发现机制

LDP发现机制用于LSR发现潜在的LDP对等体。LDP有两种发现机制:

  • 基本发现机制:用于发现链路上直连的LSR

    LSR通过周期性地发送LDP链路Hello消息(LDP Link Hello),实现LDP基本发现机制,建立本地LDP会话。

    LDP链路Hello消息使用UDP报文,目的地址是组播地址224.0.0.2。如果LSR在特定接口接收到LDP链路Hello消息,表明该接口存在LDP对等体。

  • 扩展发现机制:用于发现链路上非直连LSR

    LSR周期性地发送LDP目标Hello消息(LDP Targeted Hello)到指定IP地址,实现LDP扩展发现机制,建立远端LDP会话。

    LDP目标Hello消息使用UDP报文,目的地址是指定IP地址。如果LSR接收到LDP目标Hello消息,表明该LSR存在LDP对等体。

LDP会话的建立过程

两台LSR之间交换Hello消息触发LDP会话的建立。

LDP会话的建立过程如图1所示:

图1 LDP会话的建立过程

  1. 两个LSR之间互相发送Hello消息。

    Hello消息中携带传输地址(即设备的IP地址),双方使用传输地址建立LDP会话。

  2. 传输地址的一方作为动方,发起建立TCP连接

    如图1所示,LSR_1作为主动方发起建立TCP连接,LSR_2作为被动方等待对方发起连接。

  3. TCP连接建立成功后,由主动方LSR_1发送初始化消息,协商建立LDP会话的相关参数。

    LDP会话的相关参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。

  4. 被动方LSR_2收到初始化消息后,LSR_2接受相关参数,则发送初始化消息,同时发送Keepalive消息给主动方LSR_1。

    如果被动方LSR_2不能接受相关参数,则发送Notification消息终止LDP会话的建立。

    初始化消息中包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。

  5. 主动方LSR_1收到初始化消息后,接受相关参数,则发送Keepalive消息给被动方LSR_2。

    如果主动方LSR_1不能接受相关参数,则发送Notification消息给被动方LSR_2终止LDP会话的建立。

当双方都收到对端的Keepalive消息后,LDP会话建立成功。

LDP LSP的建立

LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP,而标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。

标签的发布和管理

标签发布方式(Label Advertisement Mode)

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

如表1,标签发布方式有两种方式。具有标签分发邻接关系的上游LSR和下游LSR必须对使用的标签发布方式达成一致。

表1 标签发布方式

标签发布方式

含义

下游自主方式DU(Downstream Unsolicited)

对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。

下游按需方式DoD(Downstream on Demand)

对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发。

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

标签分配控制方式是指在LSP的建立过程中,LSR分配标签时采用的处理方式。

标签分配控制方式有两种方式。

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

  • 有序标签分配控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。

标签保持方式(Label Retention Mode)

标签保持方式是指LSR对收到的、但目前暂时不需要的标签映射的处理方式。

LSR收到的标签映射可能来自下一跳,也可能来自非下一跳。

如表3,标签保持方式有两种方式。

表3 标签保持方式

标签保持方式

含义

描述

自由标签保持方式(Liberal)

对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留

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

  • 使用自由标签保持方式,LSR可以直接利用原来非下一跳邻居发来的标签,迅速重建LSP,但需要更多的内存和标签空间。

  • 使用保守标签保持方式,LSR只保留来自下一跳邻居的标签,节省了内存和标签空间,但LSP的重建会比较慢。

    保守标签保持方式通常与DoD方式一起,用于标签空间有限的LSR。

保守标签保持方式(Conservative)

对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留

目前设备支持如下组合方式:

  • 下游自主方式(DU)+ 有序标签分配控制方式(Ordered)+ 自由标签保持方式(Liberal),该方式为缺省方式。

  • 下游按需方式(DoD)+ 有序标签分配控制方式(Ordered)+ 保守标签保持方式(Conservative)。

  • 下游自主方式(DU)+ 独立标签分配控制方式(Independent) + 自由标签保持方式(Liberal)。

  • 下游按需方式(DoD)+ 独立标签分配控制方式(Independent) + 保守标签保持方式(Conservative)。

LDP安全机制

为了提高LDP报文的安全性,MPLS提供了三种保护机制:LDP MD5认证、LDP Keychain认证和LDP GTSM。

LDP Keychain认证是比LDP MD5认证更安全的加密认证,对于同一邻居,只能选择其中一个加密认证;而LDP GTSM用来防止设备受到非法LDP报文的攻击,其可以与前面两个配合使用。

LDP跨域扩展

LDP跨域扩展通过使能LDP按最长匹配原则查找路由,使LDP能够依据聚合后的路由建立起跨越多个IGP区域的LDP LSP。

LDP为BGP路由分标签

LDP为BGP路由分标签是指LDP为带标签的公网32位掩码的BGP路由建立LDP Egress LSP。

LDP FRR

LDP FRR(Fast Reroute)为MPLS网络提供快速重路由功能,实现了链路备份;当主LSP故障时,流量快速切换到备份路径,从而最大程度上避免流量的丢失。

配置远端LDP会话示例

组网需求

如图1所示,LSRA、LSRC是IP/MPLS骨干网的PE设备。LSRA和LSRC上需要部署MPLS L2VPN业务来实现VPN站点的二层互联,因此LSRA和LSRC之间需要配置远端LDP会话来实现VC标签交换。

图1 配置远端LDP会话组网图

配置思路

若LSRA和LSRC直连,在LSR上配置本地LDP会话不仅建立LDP LSP来承载业务,还可以实现VC标签的交换,而本例中因为LSRA和LSRC非直连,所以必须配置远端LDP会话。采用如下配置思路:

  1. 在LSR上配置OSPF,实现骨干网的IP连通性。
  2. 在LSRA和LSRC上配置远端LDP会话,实现VC标签的交换。

LSRA的配置文件

#
 sysname LSRA
#
mpls lsr-id 10.10.1.1
mpls
#
mpls ldp
#
mpls ldp remote-peer lsrc
 remote-ip 10.10.1.3
#
interface GigabitEthernet1/0/0
 ip address 10.1.1.1 255.255.255.0
#
interface LoopBack0
 ip address 10.10.1.1 255.255.255.255
#
ospf 1
 area 0.0.0.0
  network 10.10.1.1 0.0.0.0
  network 10.1.1.0 0.0.0.255
#
return

LSRB的配置文件

#
 sysname LSRB
#
interface GigabitEthernet1/0/0
 ip address 10.1.1.2 255.255.255.0
#
interface GigabitEthernet2/0/0
 ip address 10.2.1.1 255.255.255.0
#
interface LoopBack0
 ip address 10.10.1.2 255.255.255.255
#
ospf 1
 area 0.0.0.0
  network 10.10.1.2 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.2.1.0 0.0.0.255
#
return

LSRC的配置文件

#
 sysname LSRC
#
mpls lsr-id 10.10.1.3
mpls
#
mpls ldp
#
mpls ldp remote-peer lsra
 remote-ip 10.10.1.1
#
interface GigabitEthernet1/0/0
 ip address 10.2.1.2 255.255.255.0
#
interface LoopBack0
 ip address 10.10.1.3 255.255.255.255
#
ospf 1
 area 0.0.0.0
  network 10.10.1.3 0.0.0.0
  network 10.2.1.0 0.0.0.255
#
return


http://www.kler.cn/a/580654.html

相关文章:

  • MySQL数据库操作
  • HarmonyOS NEXT开发实战:DevEco AI辅助编程工具(CodeGenie)的使用
  • QT系列教程(14) QT 按键事件
  • 【病毒分析】熊猫烧香病毒分析及其查杀修复
  • 【自学笔记】Rust语言基础知识点总览-持续更新
  • 两会聚焦科技金融创新,赛逸展2025成重要实践平台
  • 关于前后端整合和打包成exe文件的个人的总结和思考
  • MyBatis-Plus 与 Spring Boot 的最佳实践
  • 51c大模型~合集10
  • 小白学Agent技术[4](Agent设计模式)
  • Electron使用WebAssembly实现CRC-32 常用标准校验
  • Hcaptcha验证码自动识别方案详解
  • 台风信息查询API:数据赋能,守护安全
  • 每天一道算法题【蓝桥杯】【使用最小花费爬楼梯】
  • linux设置pem免密登录和密码登录
  • 【算法day3】寻找两个正序数组的中位数
  • 精选一百道备赛蓝桥杯——2.K倍区间
  • 解释 TypeScript 中的类型系统,如何定义和使用类型?
  • Go语言中位清除运算符的应用场景
  • Linux 内核自定义协议族开发:从 “No buffer space available“ 错误到解决方案