MPLS LDP协议

news/2024/10/11 3:31:24/

文章目录

    • 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.0Destination/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: 2Network            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.ppmy.cn/news/1537243.html

相关文章

使用FastAPI做人工智能后端服务器时,接口内的操作不是异步操作的解决方案

在做AI模型推理的接口时,这时候接口是非异步的,但是uvicorn运行FastAPI时就会出现阻塞所有请求。 这时候需要解决这个问题: api.py: import asyncio from fastapi import FastAPI from fastapi.responses import StreamingResp…

文件上传之%00截断(00截断)以及pikachu靶场

pikachu的文件上传和upload-lab的文件上传 目录 mime type类型 getimagesize 第12关%00截断, 第13关0x00截断 差不多了,今天先学文件上传白名单,在网上看了资料,差不多看懂了,但是还有几个地方需要实验一下&#…

MVVM 架构模式:解耦、可测试与高效

在现代的前端开发中,MVVM(Model-View-ViewModel)已成为非常流行的设计模式,尤其是在单页面应用(SPA)开发中。它通过解耦视图和业务逻辑,提升了代码的可维护性和扩展性。今天我们来深入探讨MVVM …

ShardingSphere分库分表产品介绍

目录 一、ShardingSphere分库分表产品介绍 二、客户端分库分表与服务端分库分表 1、ShardingJDBC客户端分库分表 2、ShardingProxy服务端分库分表 3、ShardingSphere混合部署架构 三、分库分表,能不分就不分! 1、为什么要分库分表? 2、…

Codeforces Round 977 (Div. 2)E1 Digital Village (Easy Version)(Floyd,贪心)

题目链接 Codeforces Round 977 (Div. 2)E1 Digital Village (Easy Version) 思路 首先,我们注意到 n n n的最大值只有 400 400 400。 因此,我们可以先用 F l o y d Floyd Floyd算法预处理出任意两座城市之间的最大延迟时间。 之后&…

Vue.js组件开发:构建可复用、可维护的前端应用

Vue.js作为一个流行的前端框架,以其简洁、高效和灵活的特性赢得了众多开发者的青睐。而组件化开发是Vue.js的核心理念之一,它使得我们能够构建出结构清晰、易于维护的大型应用。本文将深入探讨Vue.js组件开发的各个方面,帮助你掌握组件开发的…

云原生化 - 监控(简约版)

要在程序中暴露指标,并符合 Prometheus 和 Kubernetes 的规范,可以按照以下步骤进行: 1. 选择合适的库 根据你的编程语言选择适合的 Prometheus 客户端库。例如: Go: github.com/prometheus/client_golangJava: io.prometheus:…

【含开题报告+文档+PPT+源码】基于SpringBoot的社区家政服务预约系统设计与实现【包运行成功】

开题报告 社区家政服务是满足居民日常生活需求的重要组成部分,在现代社会中发挥着越来越重要的作用。随着城市化进程的不断加速,社区家政服务需求量呈现持续增长的趋势。然而,传统的家政服务模式存在一些问题,如预约流程繁琐、信…