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

MPLS动态协议LDP配置示例

一、预习:

        MPLS是一种根据报文中携带的标签来转发数据的技术,两台LSR必须在它们之间转的数据 的标签使用上“达成共识”。LSR之间可以运行LDP来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发。

        LSR:Label Switching Router,标签交换路由器,由LSR 构成的网络区域称为 MPLS域(MPLS Domain),在 IP 网络内进行传统的 IP 转发,在 MPLS 域内进行标签转发。
        LER:Label EdgeRouter位于 MPLS 域边缘、连接其它网络的 LSR 称为边缘路由器 ;
        Core LSR:区域内部的 LSR 称为核心 LSR。

        LDP:Label Distribution Protocol,标签分发协议是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息及相关处理过程。

        LDP的工作 过程主要分为两部分:
        1、LSR之间建立LDP会话
        2、LSR之间基于LDP会话动态交换标签与FEC映射信息,并根据标签信息建立 LSP

        PHP: Penultimate Hop Popping,倒数第二跳弹出

        MPLS消息类型:

Discovery Message        Hello             UDP        LDP发现机制中宣告本LSR并发现邻居
Session Message        Initialization      TCP        在LDP Session建立过程中协商参数    
                                     Keepalive          TCP        监控LDP Session的TCP连接的完整性
Advertisement Message    Address     TCP        宣告接口地址
                          Address Withdraw        TCP        撤销接口地址
                            Label Mapping            TCP        宣告FEC、Label映射信息
                            Label Request             TCP       请求FEC的标签映射
                            Label Abort Request    TCP       终止未完成的Label Request Message
                            Label Withdraw            TCP       撤销FEC/Label映射
                            Label Release              TCP       释放标签
Notication Message        Notification      TCP      通知LDP Peer错误信息

        标签的发布和管理:

        在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR
        标签发布方式Label Advertisement Mode:
        DU模式Downloadstream Unsolicited:下游自主方式
            对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发
            LSR会主动将自己为FEC捆绑的标签通告给上游邻居,无需邻居先发起请求再通行
        DoD模式Downstream on Demand:下游按需方式
            对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发
            一般情况下,对特定FEC的访问需求会触发标签请求消息
        标签分配控制方式Label Distribution Control Mode:
            Independent独立方式:本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签
            Ordered有序方式:对于LSR上某个FEC的标签映射 ,只有当该LSR已经已经具有此FEC下一跳的标签映射 消息、或者该LSR就是此FEC的出节点时,该LSR才向上游发送此标签的映射 
            配置命令:label distribution control-mode {independent | ordered}
        标签保持方式Label Retention Mode:
            Liberal自由模式:LSR收到的标签映射 可能 来自下一跳,也可能来自非下一跳;对于从邻居LSR收到的标签映射 ,无论邻居LSR是不是自己的下一跳都保留
            Conservative保守模式:对于从邻居LSR收到的标签映射 ,只有当邻居LSR是自己的下一跳时才保留

        标签操作:

Push:当IP报文进入MPLS域时,LER在报文二层头部和IP头部之间插入一个新标签;或者中间设备根据需要,要标签栈顶增加一个新标签(标签嵌套封装)
Swap:当报文在MPLS域内转发时,根据LFIB表,用下一跳分配的标签,替换MPLS的栈顶标签
Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉

        标签值解析,Label,在0-19位:

        0-15:特殊标签
         值为0:IPV4 Explicit NULL Label 显式空标签,给QOS用的,LER需要看的空标签,表示里面还有EXP位要看
        值为1:Router Alert Label
        值为2:IPV6显式空标签
        值为3:隐式空标签,LER不需要看的空标签,次末跳,倒数第二跳,PHP(pemultimate hop popping)次末跳弹 出,置换给它一个3标签,让出站的LER直接剥离MPLS头部,即不再查LFIB(Label Forwarding Imformation Base)表,直接剥离LSP,直接进入IP转发或者下一层标签转发(减少最后一跳的负担,减少查表次数)
        4~13、15:保留
        14:OAM Router Alert Label,Operation Administration &Maintenance,通过发送OAM报文检测和通告LSP故障,使用MPLS承载,对于Transit LSR和Penultimate LSR是透明的
16-1023:静态LSP和静态CR-LSP(Constraint-Based Routed Label Switched Path)共享的标签空间
        1024及以上:动态信令协议的标签空间

二、拓朴图:

三、主要配置步骤:
  1. 配置IGP协议,使MPLS域内路由互通
  2. 配置MPLS lsr-id,开启mpls协议,为IGP路由触发建立标签,默认情况下,只为32位路由建立 标签,这里设置为所有非32位的路由都发标签
  3. 接口开启mpls、开启mpls ldp标签分发协议
四、主要配置命令:
#
mpls lsr-id 2.2.2.2
mplslsp-trigger all 
#
int G0/0/0mplsmpls ldp
#
dis mpls lsp
dis mpls ldp peer
dis mpls ldp session
五、测试:

ping测试中抓包,可以看到mpls是在2层和3层之间的协议:

相关文章:

MPLS动态协议LDP配置示例

一、预习: MPLS是一种根据报文中携带的标签来转发数据的技术,两台LSR必须在它们之间转的数据 的标签使用上“达成共识”。LSR之间可以运行LDP来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发。 LSR:Label Switch…...

JS调用栈:为何会栈溢出

JS调用栈:为何会栈溢出 JS调用栈什么是函数调用什么是栈在开发中利用调用栈栈溢出 JS调用栈 JavaScript 经常会出现一个函数中调用另外一个函数的情况,调用栈就是用来管理函数调用关系的一种数据结构,首先你要先弄明白函数调用和栈结构 什么…...

代码随想Day52 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300.最长递增子序列 这道题目的重点在于动态数组的定义 dp[i]:以nums[i]为结尾的最长递增子序列,因为这样定义可以进行递推; 递推:j从0-i进行对比,如果nums[i]大于nums[j],dp[i]dp[j]1; 初始化…...

使用 pytest 相关特性重构 appium_helloworld

一、前置说明 在 pytest 基础讲解 章节,介绍了 pytest 的特性和基本用法,现在我们可以使用 pytest 的一些机制,来重构 appium_helloworld 。 appium_helloworld 链接: 编写第一个APP自动化脚本 appium_helloworld ,将脚本跑起来 代码目录结构: pytest.ini 设置: [pyt…...

猪目标检测数据集VOC格式600张

猪是一种常见的哺乳动物,通常被人们认为是肉食动物,但实际上猪是杂食性动物,以植物性食物为主,也有偶尔食肉的习性。猪的体型较大,圆胖的体型和圆润的脸庞使其显得憨态可掬。它们主要通过嗅觉来感知周围环境&#xff0…...

Pandas中concat的用法

Pandas中concat的用法 ​ pd.concat 是 pandas 库中的一个函数,用于将多个 pandas 对象(如 Series、DataFrame)沿指定轴进行合并连接。 pd.concat(objs, axis0, joinouter, ignore_indexFalse, keysNone, levelsNone, namesNone, verify_in…...

【C++】引用详解

前言 在学习C语言时,我们通常会遇到两个数交换的问题,为了实现这一功能,我们会编写一个经典的Swap函数,如下所示: void Swap(int *a, int *b) {int tmp *a;*a *b;*b tmp; } 然而,这个Swap函数看起来可…...

平时的一些思考内容

文章目录 阶乘位运算求概率 阶乘 阶乘是一很迷人的,刚开始的的变化还不是很大,到后面变化类似于直线上升的,不知道现实中哪些实例来表示阶乘。19的阶乘就已经超过了long了,在竞赛或者其他中要求2023或者很大数字的阶乘就需要考虑…...

AIGC时代下,结合ChatGPT谈谈儿童教育

引言 都2024年了,谈到儿童教育,各位有什么新奇的想法嘛 我觉得第一要务,要注重习惯养成,我觉得聊习惯养成这件事情范围有点太大了,我想把习惯归纳于底层逻辑,我们大家都知道,在中国式教育下&a…...

Java中的锁(一)

一、前言 在Java中,锁是用于多线程同步的重要概念。它可以保护共享资源,确保多个线程在访问共享资源时的数据一致性。 共享资源指的是多个线程同时对同一份资源进行访问 (读写操作),被多个线程访问的资源就称为共享资源。 如何保证多个线程访…...

CSS-SVG-环形进度条

线上代码地址 <div class"circular-progress-bar"><svg><circle class"circle-bg" /><circle class"circle-progress" style"stroke-dasharray: calc(2 * 3.1415 * var(--r) * (var(--percent) / 100)), 1000" …...

英语中修饰头发的形容词顺序是怎么样的(加补充)

一、英语描述发型 :漂亮长短形状颜色头发。 例如她有一头美丽的黑色的直发。She has beautiful long straight black hair.二、多个形容词修饰同一名词时的顺序是固定的&#xff0c;其顺序为&#xff1a;①冠词、指示代词、不定代词、物主代词②序数词基数词③一般性描绘形容词…...

python的WebSocket编程详解,案例群聊系统实现

1.websocket相关 1.1为什么要用websocket 如果有需求要实现服务端向客户端主动推送消息时&#xff08;比如聊天室&#xff0c;群聊室&#xff09;有哪几种方案 轮训&#xff1a;让浏览器每隔两秒发送一次请求&#xff0c;缺点&#xff1a;有延时&#xff0c;请求太多网站压力…...

flutter学习-day22-使用GestureDetector识别手势事件

文章目录 1. 介绍2. 使用2-1. 单击双击和长按2-2. 拖动和滑动2-3. 缩放 3. 注意点 1. 介绍 在 flutter 中&#xff0c;GestureDetector 是手势识别的组件&#xff0c;可以识别点击、双击、长按、拖动、缩放等手势事件&#xff0c;并且可以与子组件进行交互&#xff0c;构造函数…...

uni-app tabbar组件

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…...

【Midjourney】Midjourney根据prompt提示词生成人物图片

目录 &#x1f347;&#x1f347;Midjourney是什么&#xff1f; &#x1f349;&#x1f349;Midjourney怎么用&#xff1f; &#x1f514;&#x1f514;Midjourney提示词格式 Midjourney生成任务示例 例1——航空客舱与乘客 prompt prompt翻译 生成效果 大图展示 细节大…...

Oracle 拼接字符串

语法 使用||拼接如果内容中有单引号&#xff0c;则可在该单引号前面再加一个单引号进行转义 例子 比如有一个业务是根据需要生成多条插入语句 select insert into des_account_des_role(des_account_id, roles_id) values( || id || , || (select id from des_role where wo…...

探究公有云中的巨人:深入分析大数据产品的架构设计

目录 一、服务器分类 二、公有云基础和产品 网络 vpc专有网络 弹性公网IP(Elastic IP)...

亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 王炸产品 Amazon Q,你的 AI 助手

意料之中 2023年9月25日&#xff0c;亚马逊宣布与 Anthropic 正式展开战略合作&#xff0c;结合双方在更安全的生成式 AI 领域的先进技术和专业知识&#xff0c;加速 Anthropic 未来基础模型的开发&#xff0c;并将其广泛提供给亚马逊云科技的客户使用。 亚马逊云科技开发者社…...

并发编程大杀器,京东多线程编排工具asyncTool

一、简介 并发编程大杀器&#xff0c;京东多线程编排工具asyncTool&#xff0c;可以解决任意的多线程并行、串行、阻塞、依赖、回调的并行框架&#xff0c;可以任意组合各线程的执行顺序&#xff0c;带全链路执行结果回调。多线程编排一站式解决方案。 二、特点 多线程编排&am…...

用1DCNN预测股票价格:一份基于TensorFlow/Keras的保姆级实战代码解析

用1DCNN预测股票价格&#xff1a;从数据预处理到模型优化的全流程实战 金融时间序列预测一直是量化分析领域的核心挑战之一。传统的统计方法如ARIMA在处理非线性关系时表现有限&#xff0c;而深度学习中的一维卷积神经网络(1DCNN)因其捕捉局部特征的能力&#xff0c;在股价预测…...

PHP怎么处理Eloquent Attribute Harmonization属性协调_Laravel解决数据冲突【教程】

Eloquent 属性协调失败源于 $casts、访问器、序列化逻辑等机制作用域与执行顺序不一致&#xff1b;应优先用 $casts 处理类型转换&#xff0c;访问器仅用于动态计算&#xff0c;JSON 字段需显式标记 dirty 或拆分为关联模型。PHP 中 Eloquent 的 “Attribute Harmonization” 并…...

Simulink进阶:用S-Function Builder封装你的C语言电机控制算法(以MTPA为例)

Simulink进阶&#xff1a;用S-Function Builder封装C语言电机控制算法实战指南 在电机控制领域&#xff0c;算法验证环节常常面临一个关键矛盾&#xff1a;DSP嵌入式代码的高效性与Simulink系统级仿真的可视化优势如何兼得&#xff1f;我曾参与过一个永磁同步电机控制项目&…...

航模电调XXD2212的“坑”与“宝”:从欠压报警到堵转丢步的实战避坑指南

XXD2212电调实战指南&#xff1a;从欠压保护到电机匹配的深度解析 1. 揭开XXD2212电调的神秘面纱 XXD2212作为航模圈内广为人知的入门级电调&#xff0c;以其极高的性价比吸引了大量无人机和机器人爱好者。这款电调采用新唐科技MS51FB9AE作为主控芯片&#xff0c;搭配六MOS管组…...

WarcraftHelper:魔兽争霸3兼容性修复终极解决方案

WarcraftHelper&#xff1a;魔兽争霸3兼容性修复终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏魔兽争霸3在现代Windows系…...

5分钟免费解锁iPhone激活锁:applera1n终极使用指南

5分钟免费解锁iPhone激活锁&#xff1a;applera1n终极使用指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否刚入手了一部二手iPhone&#xff0c;却发现自己被困在激活锁界面无法前进&#xf…...

拆解LCD12864串行时序:用STM32的GPIO模拟,一步步带你读懂那张时序图

深入解析LCD12864串行通信&#xff1a;用STM32 GPIO模拟时序的实战指南 在嵌入式开发中&#xff0c;液晶显示模块(LCD)是常见的人机交互界面&#xff0c;而LCD12864因其价格适中、显示内容丰富等特点被广泛使用。不同于简单的复制粘贴代码&#xff0c;真正理解其底层通信协议才…...

知网AI率80%降到15%教程,比话降AI知网算法专精+售后保障!

知网AI率80%降到15%教程&#xff0c;比话降AI知网算法专精售后保障&#xff01; 如果你是硕博毕业生、学校送知网检测、答辩前查出 AI 率 80%——这篇文章直接给你完整操作教程。从「拿到 80% 报告」到「学校送审通过」的完整路径&#xff0c;每一步该做什么、花多少时间、花多…...

Android HWASan 详解:硬件标记原理、Clang 启用与排障实践

Android HWASan 详解&#xff1a;硬件标记原理、Clang 启用与排障实践 HWASan&#xff08;Hardware-assisted AddressSanitizer&#xff09;是面向 AArch64 的一类 Native&#xff08;C/C&#xff09;内存错误检测机制&#xff1a;利用指针与内存区域上的 短标签&#xff08;T…...

碧蓝航线脚本补丁Perseus:原生库的无偏移皮肤解锁技术实现

碧蓝航线脚本补丁Perseus&#xff1a;原生库的无偏移皮肤解锁技术实现 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 在移动游戏修改领域&#xff0c;实现版本兼容性一直是技术挑战的核心。Perseus项目通…...