LDP协议介绍

news2025/1/12 10:01:09

LDP介绍

1.LDP协议概述

LDP(Label Distribution Protocol)规定了标签分发过程中的各种消息以及相关的处理过程。LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息联系在一起,从而形成标签交换路径LSP。

2.LDP邻接体

当一台LSR接收到对端发送过来的Hello消息后LDP邻接体建立。LDP邻接体存在两种类型:本地邻接体(Local Adjacency)和远端邻接体(Remote Adjacency)。

  • 本地邻接体(Local Adjacency):链路Hello消息发现的邻接体叫做本地邻接体。
  • 远端邻接体(Remote Adjacency):Target Hello消息发现的邻接体叫做远端邻接体。

3.LDP对等体

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

4.LDP会话

LDP会话用于LSR之间交换标签映射、释放等消息。LDP会话分为两种类型:
建LDP会话就是用来交换标签的,使用的是TCP连接。LDP会话的hello和超时分别是60秒和180秒。如果LDP邻居关系丢失,那么LDP会话也会断开。

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

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

5.LDP消息类型

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

  • 发现(Discovery)消息:用于通告和维护网络中LSR的存在;
  • 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话;
    -通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射;
  • 通知(Notification)消息:用于提供建议性的消息和差错通知。

为保证LDP消息的可靠发送,除了发现消息使用UDP外,LDP的会话消息、通告消息和通知消息都使用TCP传输。

6.LDP标识符(LDP Identifier)

用于标识特定LSR的标签空间范围。LDP标识符的格式为LSR ID:Label space ID,长度为六字节,其中:

  • LSR ID:表示LSR标识符,占四字节。
  • Label space ID:表示标签空间标识符,占两字节。

7.LDP会话

7.1LDP发现机制
  • 基本发现机制:用于发现链路上直连的LDP Peer
    LSR通过周期性的发送LDP Hello消息,实现LDP基本发现机制,建立LDP本地会话。
    LDP Hello消息使用UDP(Dport:646)协议,目的地址是组播地址224.0.0.2,报文中携带LDP Identifier及一些其他信息(例如hello-hold time、transport address)。这个hello包是不能跨网段传递的,而这个hello包被称为LDP Link Hello。
  • 扩展发现机制:用于发现链路上非直连LDP Peer。
    LSR周期性的发送Targeted Hello消息到目的地址,实现LDP扩展发现机制,建立LDP远端会话。
    Targeted Hello消息使用UDP(Dport:646)协议,目的地址是单播地址.报文携带LDP Identifier及一些其他信息(例如hello-hold time、transport address)。这样的hello称为LDP Targeted Hello。
7.2LDP会话建立

mpls_ldp_nei.png

s1:两个LSR之间互相发送Hello消息。Hello消息中携带传输地址,双方使用传输地址建立LDP会话。
s2:传输地址较大的一方将作为主动方,发起建立TCP连接。
s3:TCP连接建立成功后,由主动方R2发送Initialization消息,协商建立LDP会话的相关参数,包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。
s4:被动方R1收到Initialization消息后,如果不能接受相关参数,则发送Notification消息终止LDP会话的建立;如果被动方LSR-B能够接受相关参数,则发送Initialization消息,同时发送Keepalive消息给主动方。
s5:主动方R2收到Initialization消息后,如果不能接受相关参数,则发送Notification消息给被动方终止LDP会话的建立;如果能够接受相关参数,则发送Keepalive消息给被动方。

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

抓包过程如下:
mpls_ldp_nei_pkg.png

8.LDP LSP标签的建立和分发

LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告LSP上相邻LSR的过程。

  • 当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的直连路由,并且这一路由不属于任何现有的FEC,则该边缘节点需要为这一路由建立一个新的FEC。
  • 如果MPLS网络的出节点有可供分配的标签,则为FEC分配标签,并主动向上游发出标签映射消息,标签映射消息中包含分配的标签和绑定的FEC等信息。
  • 收到标签映射消息的LSR在其标签转发表中增加相应的条目,然后主动向上游LSR发送对于指定FEC的标签映射消息。
  • 当入节点LSR收到标签映射消息时,它也需要在标签转发表中增加相应的条目。这时,就完成了LSP的建立,接下来就可以对该FEC对应的数据分组进行标签转发。

标签映射信息如下:
mpls_ldp_label_mapping.png

9.LDP会话保护

当LDP本地会话间的直连链路出现故障时,LDP的邻接关系将被拆除,对应LDP会话和标签也将被删除。直到此直连链路恢复后,LDP会话重新建立并分发标签,最终达到LDP LSP重新收敛。但在这期间会导致LDP LSP流量的丢失。
在LDP本地会话两端配置了LDP会话保护后,会话的双方都会向对方发送Link Hello建立LDP本地会话,同时发送Targeted Hello消息建立LDP远端会话,Targeted Hello建立的远端邻接关系将为Link Hello建立的本地邻接关系提供冗余备份,形成LDP本地会话保护。

但要做这样的保护,LSR之间必须得有备用链路,否则无效。

mpls_ldp_remote_peer.png

10.IGP和LDP同步

在存在主备链路的组网中,当主链路发生故障时,IGP和LSP均切换到备份链路上。但当主链路从故障中恢复时,由于IGP比LDP收敛速度快,IGP会先于LDP切换回主链路,而此时主链路的LSP还没有建立,因此造成LSP流量丢失。
LDP和IGP同步的基本原理是:通过设置IGP的cost(65535)值来推迟路由的回切,直至LDP完成收敛。也就是在主链路的LSP建立之前,先保留备份链路LSP,让流量继续从备份链路转发。直至主链路的LSP建立成功,再删除备份LSP。

在Hold-max-cost时间内,如果LDP邻居一直没建起来,IGP也会将cost值恢复为正常值,切换到原转发路径。

mpls_ldp_igp.png

A11和B1直连链路恢复之后,LDP会话建立之前,A11和B1之间链路的cost值保持65535;
等A11和B1之间LDP会话重新建立之后,cost值恢复为正常值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python恶搞】Python实现祝福单身狗的恶搞项目,快发给你的怨种大兄弟 | 附源码

前言 halo,包子们上午好 咱就说,谁还没有一个单身的小伙伴呢 今天这个代码主要是为了祝福咱们单身的小伙伴 咱就说废话不多说,直接上才艺 相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 公众号&#x…

Kali Linux 又更新了!202.4新版本有哪些变化?

Kali Linux在今年最后一个月迎来了新版本,即2022.4,上次更新是在8月份,时隔4个月,Kali linux 又有哪些新变化呢? 更新内容: Microsoft Azure - Kali 已添加到 Microsoft Azure,但目前没有图形…

阿里云效 ssh公钥配置

准备工作 通过 SSH 协议在 Git 命令行访问 Codeup,需要具备以下几点: 本机已安装Git(安装教程参见安装Git)并保证版本大于1.9(通过git --version可获取本地的版本); 本机需要安装OpenSSH客户端…

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测 目录 智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测分类效果基本介绍模型参数程序设计参考资料分类效果 基本介绍 Bee-CNN蜜蜂算法优化卷积神经网络是一种模糊进化深度学习(优化权重和…

银行测试的优势在哪里?

为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽!一、什么是金融行业金融业是指经营金融商品的特殊行…

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 液晶面板双通道电荷泵电源IC AAT1118

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 TFT LCD液晶面板双通道电荷泵电源IC AAT1118 概述 AAT1118集成了一个升压调节器,两个调节电荷泵,一个关闭功能,和一个开漏电源良好的输出,使其成为TFT液晶面板供电的…

逆行而上 光照前方 | 记“齐鲁之战”11月第一单签约者—郭群策

白玉兰品牌于2018年正式启航,白玉兰也与上海市花同名,作为国内四大名花之一,更具有品牌的标识性。品牌发展至今四年,三年是疫情期,但白玉兰酒店仍然成为目前锦江酒店(中国区)体系内发展最快的品…

Linux系统中裸机定时器的基本原理

大家好,今天的话主要和大家聊一聊,如何使用定时器,完成精准的定时功能实现​。 目录 第一​:EPIT定时器基本简介 ​第二:EPIT的基本配置 ​第三:代码的具体实现 第一​:EPIT定时器基本简介 ​…

【UE4】引擎配置文件原理学习笔记

刚好遇到一个ini加载的优化。趁此机会记录学习一下UE引擎的config文件层级结构和读取流程 文章目录两个问题层级结构文件读取流程初始化流程文件读取流程文件的写入配置文件内容和GConfig结构两个问题 在看项目目录结构的时候,有没有这样的疑问: 为什么…

喜报!泛睿云国家版权局颁发的软件著作权证书

近日,泛睿云自主研发的泛睿云计算服务平台V1.0,通过中国人民共和国国家版权局权威授权,获得了计算机软件著作权登记证书,这是对泛睿云实力和研发水平的充分肯定。 软件著作权是企业核心自主知识产权,是企业的“无形资产”,是企业科技的生命力和价值所在,国家权威部门的认证将使…

微信群裂变文案微信群裂变软件

看过前几篇文章的,想必多多少少都清楚微信群裂变以及朋友圈裂变能够带来的巨大能量:低成本获客,高质量传播。那今天就来分享微信群以及微信朋友圈裂变话术,满满都是干货,新手一定要看仔细咯。今天的内容主要讲的有三点…

亲测有效!咳嗽3秒检测新冠的小·程·序;开源啦!超全的AI创作工具网站;谷歌乳腺癌AI筛查进入临床实践;根据文字生成音乐 | ShowMeAI资讯日报

👀日报合辑 | 🎡AI应用与工具大全 | 🔔公众号资料下载 | 🍩韩信子 📢 『Thinkit声音识别』亲测有效!新冠病毒咳嗽声检测小程序 一款名为“Thinkit声音识别”的微信小程序,实现通过声音识别新冠…

c#入门-可为空的注释上下文

null 一个经典的问题,字符串的“”和null有什么区别。 string s null; string s2 ""; Console.WriteLine(s); Console.WriteLine(s2);虽然看起来,他们都没有储存实际数据。 区别在于,“”相当于买了0个月饼。别人发了个空盒子过…

编译原理:词法分析

参考视频:方舟编译技术入门与实战 以及 西交冯博琴老师的相关视频 编译的过程包括 词法分析(分析程序符号)、语法分析(分析语法单位)、中间代码生成、代码优化和目标代码生成。该架构自1960s之后基本未变。 一、编译过…

FFMPEG读取本地文件推流到RTMP服务器!

前言: 今天我们再来分享一个开源代码项目,这个代码项目是通过读取本地的TS文件,然后推流到RTMP服务器上面。一、项目框图和运行效果: 1.1.项目的框图:1.2.运行效果:二、模块的讲解: 2.1.初始化文…

做了6年的软件测试了,想提升一下自己,学一下自动化测试,但是没有方向,怎么办?

前言 最后后台一位粉丝和我说做了6年的功能测试,在职场没有突破涨薪,陷入了一个迷茫的境地,想学自动化测试但是又不知道从哪里入手!!!今天静姐就带这位粉丝盘一盘自动化测试如何进阶?&#xff…

Python OpenCV 单目相机标定、坐标转换相关代码(包括鱼眼相机)

前言 本文不讲原理,只关注代码,有很多博客是讲原理的,但是代码最多到畸变矫正就结束了,实际上就是到 OpenCV 官方示例涉及的部分。   在官方示例中使用黑白棋盘格求解了相机的内外参和畸变系数,并对图像做了畸变矫正…

多态实现原理

学习Java的时候就已经学习了多态但是对于多态的原理还是不是很明白所以写下这篇文章来记录一下 如果后面有新的理解也继续添加到本页面 什么是多态 多态是面向对象编程里面的概念,一个接口的多种实现不同的实现方式,即为多态 这里的接口不应理解得太死板…

国考省考行测:关联词分析法,转折,总结,条件,递进,并列,各种关联词的典型词语和重点在哪

国考省考行测:关联词分析法,转折,总结,条件,递进,并列,各种关联词的典型词语和重点在哪 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论&a…