MPLS LDP协议

news2024/12/25 14:20:45

文章目录

    • LDP标签分发协议
      • 工作原理
      • LDP应用
      • 倒数第二跳弹出

在这里插入图片描述

LDP标签分发协议

  • 基于FEC自动分配标签构建LSP
  • 用于建立动态LSP
  • LDP报文头部结构
  • 信息类型

工作原理

LDP工作过程

  • 发送Hello消息用于发现邻居;UDP发送
  • LSR_1主动发起并建立TCP连接;TCP进行建立
  • 主动方发初始化消息协商参数
  • 接收参数则发初始化消息和Keepalive消息
  • 接收参数则发送 Keepalive 消息
dis mpls ldp adjacency    #查看邻居关系,只能说明邻居关系建立成功,不能说明会话建立成功
dis mpls ldp session    #查看邻居会话关系
dis mpls ldp inter g0/0/0    #查看接口状态,接口Down掉之后邻居和会话肯定都断掉

标签分配过程

标签的分配是下游开始分配到上游的

  • EGress设备分配标签到FEC(路由),向上游通告标签映射(标签与FEC路由的对应关系)
  • Transit 接受标签映射,向上游通告对应FEC(路由)的标签映射
  • InGress接受标签映射
  • 标签映射接受前提:判断标签映射通告者和该FEC的下一跳是否一致
  • 只会对主机路由进行分配标签,互联网段不会分配标签(可以改)

LDP应用

解决BGP路由黑洞问题

MPLS在BGP的IBGP内解决全互联问题,可以直接跨设备建立邻居,直接解决路由黑洞问题,因为MPLS交换的是标签路径,中间的BGP设备是不需要看路由的,看标签进行数据的转发

  • 配置完基本的MPLS和BGP操作之后,只有R2和R5上面有两个私网的路由,中间的设备没有私网路由,这时候默认还是走IP网络,此时是无法通信的,中间走路由肯定不行,虽然R3和R4没路由,但是配置MPLS之后,可以经过标签进行转发,这时候在两台LER上配置----路由迭代,让私网的包走LSP链路

  • 之后直接查看FIB,发现去往另一端的网段是走路由下一跳的,此时不行

    [R2-bgp]dis fib | in 2.0
     
    Destination/Mask   Nexthop         Flag  TimeStamp     Interface      TunnelID
    10.1.2.0/24        23.1.1.3        DGU   t[2527]       GE0/0/1        0x0
    
  • 但是在BGP路由表中看另一端的网段下一跳是正确的 LSP 路径,需要让本地路由走正确的LSP路径

     Total Number of Routes: 2
          Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
    
     *>   10.1.1.0/24        0.0.0.0         0                     0      i
     *>i  10.1.2.0/24        5.5.5.5         0          100        0      i
    
  • 配置命令:

    route recursive-lookup tunnel    #路由递归到标签交换隧道中,只能在LER设备上进行配置,两端都需要配置
    dis fib | in 2.0    #之后我们就能看见走路由标签交换了
    dis tunnel-info tunnel-id 0x5    #查看Tunnel隧道信息
    
  • 之后使用 Tracert -v 10.1.2.253 进行测试时候会发现经过MPLS网络的信息,会直接用 * 代替

    #华为认为,在Tracert路由进入MPLS网络中之后,里面的设备需要一跳一跳的去回复,回复的是ICMP差错报文,当只有一层标签的情况下,ICMP的报错信息会沿着IP路由回来,但是如果要沿着IP路由回来的话,本地上没有路由,所以就出现 * 号
    
    配置:undo ttl expiration pop    #命令是将TTL的报错命令沿着LSP路径继续往后发,也可以记成让 Tracert 回显,在LSR上配置
    
  • 配置以上命令之后就能在 Tracert 中查看到了

倒数第二跳弹出

倒数第二跳当然也可以不弹出,会对 LER 设备构成困扰

倒数第二跳弹出,主要是用来缓解LER的压力

LER连接的是IP网络,最后一跳依靠 LFIB 来判断是否需要弹标签,如果需要弹标签,还需要查询 IP 路由表,之后查询FIB表再进行转发。

最后一跳查两张表,FIB(转发表)和LFIB(标签转发表)

为了降低LER的压力,在倒数第二的LSR设备上进行标签的弹出,让LER设备直接查询路由进行FIB转发

Author:DC

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

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

相关文章

Node.js安装与配置 [详细步骤(实践操作)]

安装与配置 安装Node.js一、(1).下载(可以直接在浏览器下的电脑)一、(2).下载(有些电脑不能在浏览器下载,比如:在浏览器下出来的是IDEA图标)二、安装三、配置环境变量 验证是否安装成功修改模块下载位置一、…

十几天8.7万粉丝,柒奶奶疯狂老太太图文笔记,为什么这么火?项目拆解!利用这个软件一键生成图文,赚钱到手软!

每个行业一有变化,那肯定会带来不少新机会,AI 绘画也是这样。就说小某书账号“人间清醒柒奶奶”吧,在有 AI 绘画之前,柒奶奶的角色和动作都得靠人用手画,可麻烦了。但现在呢,在网站上输入几个词儿就能轻轻松…

大贤3D家谱-保存、删除与重建

保存:对于创建的节点、内容进行本地存储。 重建:清除没有保存的数据,重现保存过的历史节点。 删除:删除包括该节点的所有子节点信息。 灵活的使用模式​ 为了保证软件的持续健康发展,我们采用了试用付费的模式。用…

微同城源码系统帮你轻松制作本地生活服务平台 带完整的安装代码包以及搭建部署教程

系统概述 微同城源码系统是一款基于Web技术开发而成的开源项目,旨在为广大用户提供一个灵活、高效且易于管理的本地生活服务平台构建工具。该系统采用了流行的前后端分离架构设计模式,前端部分利用React框架实现动态交互界面;后端则采用Spri…

什么是好的性能测试报告?

一、性能测试报告编写技巧 在对结果进行分析并得出结论之后,性能测试工程师要把它们以文字报告的形式发送给相关人员。这就是性能测试报告。除了书面文字之外,可能的话,公司还会召集人员开专门的会议进行报告讲解和结果分析。所以&#xff0…

redis同步解决 缓存击穿+缓存穿透 原理代码实现

缓存穿透 就是一个根本不存在的数据 请求过来,然后 发现缓存没有,就打到数据库,然后 数据库也没有,就会给数据库造成很大的压力 , 解决方案 就是老生常谈的 返回null值,或者布隆过滤器 我们说 返回nul…

linux查看k8s的开机启动状态 systemctl is-enabled 查看开机启动状态

查看k8s的开机启动状态 在Kubernetes中,通常使用systemd来管理服务的启动。但是,Kubernetes节点上的服务可能不是由systemd直接管理,而是通过kubelet服务来管理。因此,检查Kubernetes节点的开机启动状态,你需要检查ku…

MPI程序实例:FFT算法及应用

目录 一、一维串行FFT算法 二、二维串行FFT算法 三、并行FFT算法 四、应用示例 4.1、多项式相乘 4.2 循环矩阵方程组的求解 1965年,两位美国科学家J.W.Cooley和J.W.Tukey发明了一种有效计算傅氏变换的方法,被称为FFT(Fast Fourier Transform,快速傅里叶变换)…

java中StringBuffer类和StringBuilder类常用的api

目录 1.StringBuffer类Api 1).构造方法 2).append("添加的字符串内容") 3).insert(int 要添加数据到指定索引后,"要添加的字符串") 4).delete(int 起始索引位置,int 结束索引位置) 5).deleteCharA…

基于SpringBoot+Vue+Uniapp微信小程序的电子竞技信息交流平台设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而…

Nginx请求头丢失,引发出来的问题

1.问题 新增的几个 header 参数是这样的: api_key_idapi_key_value 我配置有2层nginx转发,从机器A到机器B再到目标服务,遇到一个接口请求需要在header中传递api_key_id和api_key_value这2个参数,但是在EC2机器上直接curl目标服…

重塑排班新体验,搭贝员工排班系统 —— 让管理更高效,工作更顺心!

在快节奏的工作环境中,排班管理往往是决定团队效率与员工满意度的关键。搭贝低代码平台精心打造的员工排班系统应用,以直观、智能、灵活为核心,为您的团队带来前所未有的排班体验。 📅 日历视图,一目了然 我们采用…

论文翻译 | Fairness-guided Few-shot Prompting for LargeLanguage Models

摘要 大型语言模型已经显示出令人惊讶的执行上下文学习的能力,也就是说,这些模型可以通过对由几个输入输出示例构建的提示进行条件反射,直接应用于解决大量下游任务。然而,先前的研究表明,由于训练示例、示例顺序和提示…

刷题小计六:矩阵

73.矩阵置零 mid 矩阵置零 ①先使用两个变量&#xff08;row_0 & col_0&#xff09;&#xff0c;记录「首行 & 首列」是否该被置零 ②在「非首行首列」的位置&#xff0c;存储置零信息到首行首列 // 把第一行第一列作为标志位for (int i 1; i < row; i) {for (…

电动牙刷拆解学习

大厂量产的产品的寻片选型为自己设计硬件的时候芯片选型提供了参考&#xff1a; 采用这个触点的方式充电相比于tppeC来说可以很好起到防水作用&#xff1a; USB公头&#xff1a; 牙刷母头&#xff1a; 电池充电芯片来自英集芯&#xff0c;型号IP2326&#xff0c;是一颗内部集…

执行node.js获取本机Ip命令,报:Error: Cannot find module ‘ip‘错误

Error: Cannot find module ip是由于没有改模块的依赖包&#xff0c;需要进行安装&#xff0c;以管理员的身份打开命令行&#xff0c;执行npm install ip 获取当前电脑的ip地址 方法一&#xff1a; const ip require("ip")/*** 1:获取当前电脑的ip地址*/ console.…

渗透测试之 域AD渗透手法【密码喷洒技术】手法详解 以及相关示例

说明: 域内密码喷洒工具: Kerbrute DomainPasswordSpray.ps1 原理抓个包分析一下&#xff1a; 域内用户枚举攻击防御&#xff1a; 流量检测&#xff1a; 说明: 域内密码喷洒&#xff08;Password Spraying&#xff09;一般和域内用户名枚举一起使用。 域内密码喷洒工具:…

slam系列1:open3d入门笔记

1. 读写数据 这里有很多测试用的pcd文件&#xff1a; https://github.com/PointCloudLibrary/data/blob/master/tutorials/ import open3d as o3d pcd o3d.io.read_point_cloud("test.pcd") o3d.io.write_point_cloud("write.pcd", pcd, True) # 默认fa…

SF6气体密度监测仪市场研究:主要企业的市场份额已超过37.13%

SF6气体密度监测仪是一种专用于监测和测量六氟化硫&#xff08;SF6&#xff09;气体密度的设备。SF6气体因其优异的绝缘性能和灭弧能力&#xff0c;被广泛应用于电力行业&#xff0c;尤其是在气体绝缘金属封闭开关设备&#xff08;GIS&#xff09;和断路器等关键设备中。随着电…

Java 函数式编程(1 万字)

此笔记来自于B站黑马程序员 good Java 历史版本及其优势 函数式编程, Stream API 一.函数伊始函数、函数对象 函数对象 行为参数法 延迟执行 a-lambda b-方法引用 复习小测 Math::random () -> Math.random()Math::sqrt (double number) -> Math.sqrt(number)Student:…