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

MPLS LDP(概念)

前言:

  1. MPLS是一种根据标签报文中携带的短而定长的标签来转发数据的技术 

  2. MPLS的一个基本概念就是两台LSR(标签交换路由器)必须对在它们之间转发的数据的标签使用上“达成共识”。LSR之间可以运行标签分发协议(Label Distribution Protocol,LDP)来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发
  3. MPLS的标签共识机制:两台LSR必须对转发数据的标签使用达成一致
  4. 标签分发协议(LDP)的作用:通过LDP交换标签绑定信息,确保标签报文正确转发

LDP

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

核心作用:

  • 标签分发:通过LDP协议,LSR(Label Switched Router)动态分配标签,并将标签映射关系通告给邻居
  • LSP建立:基于路由信息(如IGP或BGP)动态建立LSP,实现数据报文的快速转发
  • 邻居发现:通过多播/单播Hello报文发现本地或远端邻居,建立LDP会话

工作过程:

  • LSR之间建立LDP会话(只有建立了LDP会话后,才能建立LDP LSP来承载业务)
  • LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP

LDP消息类型

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

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

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

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

  • 通知(Notification):用于提供告警消息和错误通知

LDP对等体

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

LDP邻接体

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

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

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

LDP通过邻接体来维护对等体的存在,对等体的类型取决于维护它的邻接体的类型。一个对等体可以由多个邻接体来维护

如果由本地邻接体和远端邻接体两者来维护,则对等体类型为本远共存对等体

LDP会话

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

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

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

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

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会话后,才能建立LDP LSP来承载业务

http://www.dtcms.com/a/301143.html

相关文章:

  • 20250707-2-Kubernetes 网络-Ingress暴露应用(http与https)_笔记
  • Flink窗口:解锁流计算的秘密武器
  • JavaEE初阶第十二期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(十)
  • KingbaseES聚焦产品上线
  • 卫星图像语义分割与区域相似度比较研究
  • 顺序表算法题
  • 【自动化运维神器Ansible】Ansible常用模块之hostname模块详解
  • Qt C++动态库SDK在Visual Studio 2022使用(C++/C#版本)
  • ae烟雾-分形杂色
  • Python——入门
  • 金融科技里的信用评分、指纹识别、面部识别、虹膜识别
  • 地震成果数据在线可视化功能实现之高级篇
  • 枚举中间位置基础篇
  • Mysql中的索引详解
  • 「iOS」————MRC
  • 【Linux系统编程】环境变量,进程地址空间与进程控制
  • OpenResty 高并发揭秘:架构优势与 Linux 优化实践
  • IIS发布.NET9 API 常见报错汇总
  • 设计模式(九)结构型:组合模式详解
  • STM32的蓝牙通讯(HAL库)
  • 【ELasticsearch】温、冷数据节点能是同一个节点吗
  • 探秘 Nginx 的工作原理
  • Python Pandas.qcut函数解析与实战教程
  • 前后端分离:架构模式与实践
  • 设计模式(十二)结构型:享元模式详解
  • 基于黑马教程——微服务架构解析(一)
  • 20250727让飞凌OK3576-C开发板在Rockchip的原厂Android14下通过耳机播音
  • [AI8051U入门第十步]W5500-客户端
  • JVM工具
  • day062-监控告警方式与Grafana优雅展示