MPLS(下)

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.mzph.cn/news/22010.shtml

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

相关文章

Ubuntu 虚拟机和主机无法互相复制文字和文件

1.在虚拟机列表中,右键查看是否有安装VMware Tools,如果没有安装点击安装,如果已经安装了,上面显示重现安装VMware Tools,并且为灰色,如图: 2.如果没有安装点击安装,如果已经安装&am…

深度学习论文分享(六)Simple Baselines for Image Restoration

深度学习论文分享(六)Simple Baselines for Image Restoration 前言Abstract1 Introduction2 Related Works2.1 Image Restoration2.2 Gated Linear Units 3 Build A Simple Baseline3.1 Architecture3.2 A Plain Block3.3 Normalization3.4 Activation3…

wordpress发表文章时报错: rest_cannot_create,抱歉,您不能为此用户创建文章(已解决)

使用wordpress 的rest api发布文章,首先使用wp-json/jwt-auth/v1/token接口获取token,然后再使用/wp-json/wp/v2/posts 接口发表文章,但是使用axios请求时,却报错: 但是,我在postman上却是可以的&#xff0…

Java 监听Mysql binlog

使用 mysql-binlog-connector-java 1. mysql-binlog-connector-java 官网 2. Java代码中,如何监控Mysql的binlog? 前置条件 1. mysql服务器表结构 CREATE TABLE student (id int NOT NULL AUTO_INCREMENT,name varchar(255) CHARACTER SET utf8mb4 C…

IDEA的实用快捷键大全

目录 1.常规快捷键 1.1通用类 1.2注释类 1.3操作类 1.4展开与关闭 2.智能补全类快捷键 3.程序结构类快捷键 4.统一操作快捷键 1.常规快捷键 1.1通用类 像 Ctrl C 复制, Ctrl V 粘贴, Ctrl S保存文件, Ctrl X剪切,这种…

idea 2023 新版ui中git的相关操作

前两个月换了新电脑,下了最新版的idea发现可以切换一套新的ui了 切换新ui肯定不太习惯,很多操作都得重新摸索一下 在这里记录几个git相关的操作 忽略我下面截图中当前项目是js的后端项目…… 切换ui 首先说一下怎么切换新旧版ui,我这里就…

LeetCode每日一题Day5——21. 合并两个有序链表

✨博主:命运之光 🦄专栏:算法修炼之练气篇(C\C版) 🍓专栏:算法修炼之筑基篇(C\C版) 🐳专栏:算法修炼之练气篇(Python版) …

3ds Max如何进行合成的反射光泽通道渲染

推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 准备场景 步骤 1 打开 3ds Max。smart_phone.max打开已 随教程提供。 打开 3ds Max 步骤 2 按 M 打开材质编辑器。选择空材料 槽。单击漫射通道。它将打开材质/贴图浏览器窗口。选择位图&#xff0…

ffmpeg安装

简介 FFmpeg是一个开源的音视频处理库,它提供了一系列的工具和API,可以用于处理音视频文件。你可以使用FFmpeg的命令行工具来执行各种音视频处理操作,比如转码、剪辑、合并等。FFmpeg的命令格式通常是:ffmpeg [全局选项] {[输入文…

Hum Brain Mapp:用于功能连接体指纹识别和认知状态解码的高精度机器学习技术

摘要 人脑是一个复杂的网络,由功能和解剖上相互连接的脑区组成。越来越多的研究表明,对脑网络的实证估计可能有助于发现疾病和认知状态的生物标志物。然而,实现这一目标的先决条件是脑网络还必须是个体的可靠标记。在这里,本研究…

性能优化-react路由懒加载和组件懒加载

背景 随着项目越来越大,打包后的包体积也越来越大,严重影响了首屏加载速度,需要对路由和组件做懒加载处理 主要用到了react中的lazy和Suspense。 废话不多说,直接上干货 路由懒加载 核心代码 import React, { lazy, Suspens…

GPS/北斗RTK差分定位系统的原理以及应用领域

导语:现代定位技术在国内外的发展与应用越来越广泛,其中GPS和北斗是两大被广泛使用的全球卫星定位系统。本文将介绍GPS/北斗RTK差分定位系统的原理以及其在各个领域的应用。 一、GPS/北斗RTK差分定位系统的原理 GPS/北斗RTK差分定位系统,即全…

【TypeScript】安装的坑!

TypeScript安装 安装TypeScript安装时候可能报错这样开头的数据(无法枚举容器中的对象)——原因:没权限先解决没权限的问题如果发现无法修改-高级-修改继续安装想使用tsc-发现,tsc不能用解决方法:配置环境变量最后的最…

便捷省心的手机直播影视工具,畅享轻松电视娱乐时光

便捷省心的手机直播影视工具,畅享轻松电视娱乐时光 在快节奏的现代生活中,我们常常渴望能够以简单、省心的方式消遣自己,享受高品质的电视娱乐。幸运的是,随着技术的进步,便捷省心的手机直播影视工具应运而生。这些工…

Adaptive autosar 都有哪些模块?各有什么功能?

Adaptive autosar是一种用于高性能计算ECU的软件平台,它支持自适应应用程序的开发和运行。它由两部分组成:基础(Foundation)和服务(Service)。基础包括了操作系统接口、执行管理、网络管理、识别访问管理、加密、更新和配置管理等功能。服务包括了通信管理、RESTful、时间…

【目标检测论文解读复现NO.33】改进YOLOv5的新能源电池集流盘缺陷检测方法

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0c…

Kubernetes v1.20 二进制部署

架构 k8s集群master01:192.168.80.101 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.80.102 k8s集群node01:192.168.80.103 kubelet kube-proxy docker k8s集群node02:192.168.80…

后端整理(MySql)

1 事务 1.1 事务ACID原则 原子性(Atomicity) 事务的原子性指的是事务的操作,要么全部成功,要么全部失败回滚 一致性(Consistency) 事务的一致性是指事务必须使数据库从一个一致状态转变成另一个一致性…

使用kubeadm快速部署一个k8s集群

Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署(二)ETCD集群部署 Kubernetes高可用集群二进制部署(三)部署…

JVM之垃圾回收器

1.如何判断对象可以回收 1.1 引用计数法 什么是引用计数器法 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。 …