MPLS(下)

news2024/10/3 4:43:37

LDP --- 标签分发协议 --- 主要应用在MPLS的控制层面

MPLS控制层面需要完成的工作主要就是分配标签和传递标签。分配标签的前提是本地路由表中得先存在标签,传递标签的前提也是得先具备路由基础。所以,LDP想要正常工作,则需要IGP作为基础。
092f78ddb7b346f8af402f007f602840.png
1.分配标签
       分配标签并不是所有设备都针对自己本地路由表中所有的路由条目分配标签,而是在判定自己是某网段的出站LSR时,才会主动分配标签 
       当然,在构成到达目标网段的LSP过程中,所有中间的LSR都需要给对应的FEC分配标签才行。则其他设备只有在收到标签和目标网段的映射关系后,才会被动的分配标签。分配标签之前需要完成检查动作,主要检查目标网段本地路由表是否可达,以及下一跳和通告者是否相同。检查通过则可以分配标签,不通过则不能分配标签
       LDP的标签分配方式:
       1.有序方式 --- 华为设备默认选择的是有序方式分配标签
       2.独立方式 --- 不需要确认自己是出站LSR,也可以主动给路由表中路由条目分配标签
2.传递标签
       出站LSR分配完标签之后,需要传递给其他的LSR设备,传递的前提条件是彼此之间得先是LDP对等体关系。而LDP对等体关系建立的前提条件是需要先建立LDP会话

 

       本地LDP会话 --- 直连的两个设备之间建立LDP会话
       远程LDP会话 --- 非直连设备之间,可以通过手工指定的方式来创建远程的LDP会话

       LDP协议在建立本地的LDP会话时,不需要手动指定邻居的IP地址,可以自动的发现邻居关系。主要是因为LDP首先会通过组播(224.0.0.2)的形式周期性发送hello包来发现邻居。hello包使用UDP 646端口来完成。

       本地LDP会话建立过程:
       1.在LSR上激活LDP之后,首先周期性的发送hello包来完成对等体的发现工作
       22accc3bbfd144a9a2f2b246afda2bd8.png
       在hello包中需要携带一些参数,其中包含传输地址和LDP ID
       传输地址:这个地址主要是后面建立TCP会话时需要用到的地址,默认情况下,我们将使用该设备的LSR ID来作为这个地址。所以要求,LSR ID必须是可用且可达的IP地址
       LDP ID:所有激活LDP协议的LSR设备都要求必须具有一个LDP ID,这个ID是由48位二进制构成,表达方式位32位:16位,前32位使用是LSR ID,后16位用0来表示。这个和标签空间有关,所有基于设备的标签空间,其值都为0
  
       hello包的发送周期默认为5s,保活时间为3倍hello时间,即默认15秒
  
       2.双方在交互完hello包之后,将获取到对方传输地址,则将根据这个传输地址来建立TCP会话
          在建立TCP会话之间,LDP也存在检查动作,需要先确认收到的传输地址,在本地路由表中是否可达,可达则可以正常建立TCP会话。

 

          如果双方都建立TCP会话,则将创建两条双向通道,造成资源浪费。则在收到对端hello包中的传输地址后,将和本地的传输地址进行对比,传输地址大的一方,我们称为主动方,主动方则可以主动建立TCP会话,而被动方则不建立。
          f1643e70a81846f0b98f010f06ea9def.png
       3.完成TCP会话建立之后,传输地址大的一方将优先使用初始化报文,里面包含一些协商的参数发给被动方。对方如果确认里面的参数,则将回复Keeplive报文进行确认,同时发送自己本地的初始化报文,携带自己的参数。主动方收到后也将对参数进行确认,如果没问题则也将发送Keeplive报文。双方都收到Keeplive报文,则代表参数协商成功,LDP会话建立成功
          8432d8ed31d84106a71ccf041ea939e6.png
          之后,也需要周期性的发送Keeplive报文进行保活,发送周期默认为15s,保活时间为3倍的周期发送时间,则默认为45s。

 

 

          上下游关系 --- 由数据层流量流动方向来决定,数据发送方为上游,接受方为下游。从控制层的角度来看,则标签传递的方向应该是从下游发送到上游。之后上游设备会去收集下游的标签
          
          标签传递方式 --- DU模式 --- 下游自主模式 --- 华为设备默认采用这种模式,所有LSR在分配好标签之后,可以主动的将标签传递给其他LSR
                                                   --- 如果选择的是下游自主模式,则设备在传递标签时,无法判断上下游关系的,则会将标签发给所有的对等体关系。当设备收到标签之后,则将可以基于路由表判断上下游关系。华为设备,只有上游设备会记录下游设备发送的标签,而且上游设备发送的标签将不保存。(还有一种标签的保存模式是上下游标签都保存)
                                      DOD模式 --- 下游按需模式 --- 只有下游设备在收到上游设备通知之后,才会给上游设备发送标签
           
数据层面流动过程
          在数据层面流量通过的过程当中,入站LSR设备和出站LSR设备都需要查询两张表,一张FIB表,一张LFIB表,才能完成转发过程,导致效率降低,需要优化。
          优化思路:
                         入站LSR --- 因为入站的数据包中不包含标签,所以,必须查看FIB表。则可以直接将出站标签添加到FIB表,这样则将不再需要查看LFIB表
                         出站LSR --- PHP --- 次末跳弹出机制 ---- 出站LSR设备在给FEC分配标签时直接分配特殊标签3(隐式空标签),之后,将这个标签传递给自己上游设备,上游将会把这个标签作为出站标签记录在LFIB表中。当数据来到设备上,匹配LFIB时发现出站标签为3,则将直接把这个标签弹出。则这样出站LSR设备收到的将是一个不带标签的数据包,则他可以直接查看FIB表来实现转发。
                         华为设备默认开启次末跳弹出机制

LDP的配置
          1.先在所有LSR上启动IGP协议,保证路由基础
          2.配置MPLS的LSR ID
             [r1]mpls lsr-id 1.1.1.1
          3.激活MPLS和LDP
             全局激活[r1]mpls
                           Info:Mpls starting,please wait... OK!
                           [r1]mpls ldp
             接口激活[r1-GigabitEthernet0/0/0]mpls
                           [r1-GigabitEthernet0/0/0]mpls ldp
             
          [r1]display mpls ldp peer --- 查看LDP对等体关系
          [r1]display mpls ldp session --- 查看LDP会话
          [r4]display mpls lsp --- 查看LFIB表
          
          注意:华为设备默认只给/32的主机路由分配标签,因为MPLS并没有主要应用在数据转发上,如果路由表中的路由条目太多,则将导致生成过多LSP,造成资源浪费
          [r4-mpls]lsp-trigger all -- 这个命令可以让设备给除了/32主机路由外的路由分配标签

 

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

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

相关文章

Docker实战-操作Docker容器实战(一)

导语   在之前的分享中,我们介绍了关于如何去操作Docker镜像,下面我们来看看如何去操作容器。 简单来讲,容器是镜像运行的一个实例,与镜像不同的是镜像只能作为一个静态文件进行读取,而容器是可以在运行时进行写入操…

嵌入式的日常工作内容是什么?

1、看器件文档 2、找供应商要资料 3、打电话或微信联系供应商了解技术或器件细节 4、忍受门外汉领导连环夺命吹,因为他们不懂技术,只会问进度 5、写技术文档 6、跟硬件工程师联合测试,查看电路板未工作状态各种问题。有时还要自己手动DI…

tomcat通用回显

​Tomcat架构简析 tomcat的架构图 Server:整个tomcat启动的时候只有一个server Service:一个server中包含了多个service,表示服务 **Container:**容器,可以看作是一个servlet容器,包含一些Engine,Host,Context,Wraper等,访问的路径什么的就存放在这里 Engine -- 引擎 Host …

搞个个人博客,纯学习想找个纯html模板咋就这难

以前做毕业设计的时候老想找一些不掺杂后端代码的前端模板。 可是下载下来,不是php就是python后台的。看又看不懂,想换语言就必须先把里面的后台代码拿掉。 就很像买了个精装的二手房,白白多花了砸墙钱。 就比如,想做个带菜单的…

编写SPI_Master驱动程序_新方法

编写SPI_Master驱动程序_新方法 文章目录 编写SPI_Master驱动程序_新方法一. SPI驱动框架1.1 总体框架1.2 怎么编写SPI_Master驱动1.2.1 编写设备树1.2.2 编写驱动程序 二、 编写程序2.1 数据传输流程2.2 写代码 致谢 参考资料: 内核头文件:include\lin…

vsphere6.5 创建数据中心、集群和添加主机

1、新建数据中心,在入门页面选择创建数据中心,名称可以自定义。 2、创建完成数据中心后就可以添加主机和创建集群了。 3、新建一个集群,并打开DRS和HA功能,这两个功能的一些其他选项可以在创建完成后进一步设置,关于EV…

我能“C“——扫雷游戏

一.前言: 扫雷游戏,一款经典的游戏,没玩过的话也可以试着玩一玩,这样对写扫雷游戏这个小游戏的化是会有一个很好的思路的。那么本片博客就来介绍如何实现扫雷游戏的具体步骤。扫雷游戏链接👉 扫雷游戏网页版 - Minesw…

人工智能在推动生产力上的分析

像ChatGPT这样的大型语言模型正在成为强大的工具,不仅可以提高工人的生产力,还可以提高创新率,为经济增长的显著加速奠定基础。作为一项通用技术,人工智能将影响广泛的行业,促进对新技能的投资,改变业务流程…

DWG图纸在SOLIDWORKS软件里如何使用?

经常有工程师咨询DWG图纸在SOLIDWORKS软件里如何使用,其实这涉及到DWG图纸在SOLIDWORKS软件里的重用问题,SOLIDWORKS支持对DWG图纸的重用,常用的有三种方法: 1.作为原始DWG图纸查看作为原始DWG图纸查看是指使用SOLIDWORKS软件直接…

Nginx使用proxy_cache指令设置反向代理缓存静态资源

场景 CentOS7中解压tar包的方式安装Nginx: CentOS7中解压tar包的方式安装Nginx_centos7 tar文件 怎么load_霸道流氓气质的博客-CSDN博客 参考上面流程实现搭建Nginx的基础上,实现静态资源的缓存设置。 注意上面安装时的目录是在/opt/nginx目录下&…

Python编程从入门到实践练习第四章:对列表进行操作

本文目录 一、 创建数值列表1.1 使用range创建数字列表涉及方法使用实例输出 1.2 列表解析1.3 练习题代码输出 二、对列表部分元素进行操作2.1 切片使用实例 2.2 复制列表2.3 练习题代码输出 三、元组3.1 元组介绍3.2 练习题代码输出 一、 创建数值列表 1.1 使用range创建数字…

理解Android生命周期

写一个demo,实现两个页面之间的跳转。重写7个生命周期方法,在方法中打印日志,观察状态的变化。 MainActivity 设置一个常量。 private static final String TAG "hello_activity_1";重写7个生命周期。 在生命周期方法中&#…

No primary or single unique constructor found for interface java.util.List

报错截图: 报错内容: 2023-08-04 15:46:32.884 ERROR 14260 --- [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing fa…

对当下AI的一些观感思考

目前来看,AI技术地震的震中还是在美帝那旮瘩。尤其是M7,这几家市值加总快15万亿美元了,个个都是行业翘楚,个个都有拿得出手的东西。AI是个技术密集、人才密集、计算密集的产业。美帝拥有全球一流的顶尖人才,以及财力、…

【Leetcode】(自食用)树的中序遍历(递归+栈非递归)

step by step. 题目: 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入…

【LNMP】LNMP

LNMP:是目前成熟的企业网站的应用模式之一,指的是一套协同工作的系统和相关软件;能够提供静态页面服务,也可以提供动态web服务 L Linux系统,操作系统N Nginx网站服务,前端,提供前端的静态…

接口抓包,Fiddler抓包使用方法总结,入门到精通辅助实战...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 工作原理 Fiddle…

性能全面飙升!StarRocks 在贝壳找房的极速统一实践

小编导读: 贝壳找房是国内最大的在线房产交易平台之一,利用大数据技术进行房源的挖掘和匹配,通过数据分析和挖掘,更准确地了解用户需求,并为用户提供个性化的房源推荐和交易服务。 随着数据和业务规模的增长&#xff0…

carla中lka实现(一)

前言: 对于之前项目中工作内容进行总结,使用Carla中的车辆进行lka算法调试,整体技术路线: ①在Carla中生成车辆,并在车辆上搭载camera,通过camera采集图像数据; ②使用图像处理lka算法&#…

echart图标日环图

效果图&#xff1a; 代码实例&#xff1a; <template><div id"chart-alarm" class"chartStyle"></div> </template> <script> import echarts from echarts export default {name:alarm,data(){return{chart:null}},mounte…