当前位置: 首页 > 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…...

【开源项目】智慧交通~超经典开源项目实景三维数字孪生高速

数字孪生高速运营管理平台&#xff0c;以提升高速公路管理水平和方便出行为主要目标&#xff0c;充分利用云计算、AI、大数据等&#xff0c;实现对高速公路控制、指挥、运营的智能化。飞渡科技以实景三维数据为基础&#xff0c;基于大数据、高分遥感、数据分析以及数据融合等前…...

udp多播/组播那些事

多播与组播 多播&#xff08;multicast&#xff09;和组播&#xff08;groupcast&#xff09;是相同的概念&#xff0c;用于描述在网络中一对多的通信方式。在网络通信中&#xff0c;单播&#xff08;unicast&#xff09;是一对一的通信方式&#xff0c;广播&#xff08;broad…...

C++ Qt开发:SqlRelationalTable关联表组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍SqlRelationalTable关联表组件的常用方法及灵…...

【LeetCode】修炼之路-0001-Two Sum(两数之和)【python】【简单】

前言 计算机科学作为一门实践性极强的学科,代码能力的培养尤为重要。当前网络上有非常多优秀的前辈分享了LeetCode的最佳算法题解,这对于我们这些初学者来说提供了莫大的帮助,但对于我这种缺乏编程直觉的学习者而言,这往往难以消化吸收。&#xff08;为什么别人就能想出这么优雅…...

秋招复习篇之代码规范

目录 前言 1、变量命名 2、代码空格 1&#xff09;操作符左右一定有空格&#xff0c; 2&#xff09;分隔符&#xff08;, 和;&#xff09;前一位没有空格&#xff0c;后一位保持空格&#xff0c;例如&#xff1a; 3&#xff09;大括号和函数保持同一行&#xff0c;并有一个空格…...

Docker:登录私有仓库\退出私有仓库

一、登录仓库 docker login : 登录到一个Docker镜像仓库&#xff0c;如果未指定镜像仓库地址&#xff0c;默认为官方仓库 Docker Hub 语法: docker login [OPTIONS] [SERVER] docker login -u 用户名 -p 密码 仓库名称 # 登入私有仓库 [rootlocalhost ~]# docker login --…...

与擎创科技共建一体化“数智”运维体系,实现数字化转型

小窗滴滴小编获取最新版公司简介 前言&#xff1a; 哈喽大家好&#xff0c;最近分享的互联网IT热讯大家都挺喜欢&#xff0c;小编看着数据着实开心&#xff0c;感谢大家支持&#xff0c;小编会继续给大家推送。 新岁即将启封&#xff0c;我们一年一期的运维干货年末大讲也要…...

开放网络+私有云=?星融元的私有云承载网络解决方案实例

在全世界范围内的云服务市场上&#xff0c;开放网络一直是一个备受关注的话题。相比于传统供应商的网络设备&#xff0c;开放网络具备软硬件解耦、云原生、可选组件丰富等优势&#xff0c;对云服务商和超大型企业有足够的吸引力。 SONiC作为开源的网络操作系统&#xff0c;使得…...

【Linux学习笔记】Linux下nginx环境搭建

1、下载nginx 安装rpm命令: rpm ivh nginx-release.rpm。(直接使用linux命令下载wget http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm 2、设置nginx开机启动 chkconfig nginx on 3、开启nginx服务 方法一&#xff1a;service nginx…...

Python打包

将 Python 脚本打包成可执行的 .exe 文件,通常可以使用 PyInstaller 这个库来实现。PyInstaller 是一个流行的工具,它可以将 Python 程序和所有相关的依赖打包成一个独立的可执行文件,适用于 Windows、Linux 和 macOS 系统。安装 PyInstaller 首先,需要安装 PyInstaller。…...

盘县做会计兼职的网站/windows优化大师的功能

所以我花了2小时以来百思不得其解自己&#xff0c;为什么这不会工作&#xff0c;我遵循了上述问题的所有代码&#xff0c;但尚未对我来说仍然不会工作我是什么做错了&#xff1f;我在一个正方形添加&#xff0c;以确保它是越来越向线和实际工作function Shape(a,b,w,h,fill){th…...

手机创建微信公众号/seo怎么做关键词排名

2019独角兽企业重金招聘Python工程师标准>>> 1. 学习每一门新技术都是从HelloWorld小案例开始&#xff0c;这仿佛是IT界无形的铁律了&#xff0c;今天也不例外,以下是flume配置文件中配置信息。 agent.sources s1 agent.channels c1 agent.sinks k1 agent.s…...

集翔网大网站建设/网站友情链接有什么用

WCF中的序列化[下篇] XMLSerializer提到XMLSerializer&#xff0c;我想绝大多数人都知道这是asmx采用的Serializer。首先我们还是来看一个例子&#xff0c;通过比较Managed Type的结构和生成的XML的结构来总结这种序列化方式采用的是怎样的一种Mapping方式。和DataContractSeri…...

备案网站电子照幕布/全媒体运营师培训机构

《计算机基础与程序设计》是高等教育自学考试工科各专业的基础课。这门课也是大部分学生学习计算机语言入门课&#xff0c;实践性较强&#xff0c;接受起来有一定的困难。本文对课程内容的重点难点进行分析&#xff0c;以帮助同学们更好地学习理解本课程。C语言程序设计的基本知…...

为什么不用原来的网站做推广/百度sem运营

在应用系统开发初期&#xff0c;由于开发数据库数据比较少&#xff0c;对于查询SQL语句&#xff0c;复杂视图的的编写等体会不出SQL语句各种写法的性能优劣&#xff0c;但是如果将应用系统提交实际应用后&#xff0c;随着数据库中数据的增加&#xff0c;系统的响应速度就成为目…...

wordpress 登录页面变了/营销网页

Linux中如果直接使用物理磁盘的分区为作为文件系统&#xff0c;那么一旦磁盘空间满了&#xff0c;就不易扩容&#xff0c;而使用逻辑卷的话&#xff0c;可以先往逻辑卷所在卷组(VG, Volumn Group)增加物理卷(PV, Physical Volumn)&#xff0c;增加之后&#xff0c;再对逻辑卷括…...