使用静态CRLSP配置MPLS TE隧道
正文共:1591 字 13 图,预估阅读时间:4 分钟
静态CRLSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)是指在报文经过的每一跳设备上(包括Ingress、Transit和Egress)分别手工指定入标签、出标签、流量所需的带宽等信息,建立标签转发表项和资源预留,从而建立的CRLSP。
与静态LSP不同的是,静态CRLSP需要在每一跳设备上为流量预留一定的带宽资源,如果设备上的带宽资源不满足流量需求,则无法建立静态CRLSP。
建立静态CRLSP消耗的资源比较少,但静态建立的CRLSP不能根据网络拓扑变化动态调整。因此,静态CRLSP适用于拓扑结构简单并且稳定的小型网络。
组网需求
RT1-3均支持MPLS,在RT1到RT3之间使用静态CRLSP建立一条MPLS TE隧道,使11.1.1.0/24和33.1.1.0/24这两个网段中互访的报文能够通过MPLS进行传输,并且配置隧道最大带宽为20000kbps,隧道沿途链路的最大带宽为80000kbps,最大预留保证带宽为40000kbps。
组网图
静态CRLSP配置组网图
实验环境
VMWare ESXi 6.7.0(ProLiant DL360 Gen9,48核心,128G内存)
H3C VSR1000(Version 7.1.064, Release 0621P18,4核心,8G内存)
CentOS Linux release 7.9.2009 (Core,4核心,4G内存)
配置步骤
首先按照组网图所示配置各接口的IP地址和掩码,设备间配置IS-IS协议发布接口所在网段的路由,包括Loopback接口
IS-IS的配置主要包括配置路由器的Level级别和网络实体名称,并在指定接口(所有接口)上配置使能IS-IS功能,掌握了这两个基本操作,来直接上配置。
VSR1
#
isis 1is-level level-1network-entity 10.0000.0000.0001.00
#
interface LoopBack0ip address 1.1.1.1 255.255.255.255isis enable 1
#
interface GigabitEthernet2/0ip address 11.1.1.1 255.255.255.0isis enable 1
#
interface GigabitEthernet3/0ip address 12.1.1.1 255.255.255.0isis enable 1
VSR2
#
isis 1is-level level-1network-entity 10.0000.0000.0002.00
#
interface LoopBack0ip address 2.2.2.2 255.255.255.255isis enable 1
#
interface GigabitEthernet2/0ip address 12.1.1.2 255.255.255.0isis enable 1
#
interface GigabitEthernet3/0ip address 23.1.1.2 255.255.255.0isis enable 1
VSR3
#
isis 1is-level level-1network-entity 10.0000.0000.0003.00
#
interface LoopBack0ip address 3.3.3.3 255.255.255.255isis enable 1
#
interface GigabitEthernet2/0ip address 23.1.1.3 255.255.255.0isis enable 1
#
interface GigabitEthernet3/0ip address 33.1.1.3 255.255.255.0isis enable 1
配置完成之后,检查VSR3的路由学习情况。
这里和官网有点不一样,因为官网配置中并没有讲连接业务网络的接口需要开启ISIS,但如果不开启就缺少路由了。
接下来配置MPLS及静态CRLSP。
VSR1
配置LSR ID、开启MPLS能力和MPLS TE能力
#
mpls lsr-id 1.1.1.1
#
mpls te
#
interface GigabitEthernet3/0mpls enablempls te enable
配置TE链路的最大带宽和最大可预留带宽。
#
interface GigabitEthernet3/0mpls te max-link-bandwidth 80000mpls te max-reservable-bandwidth 40000
配置VSR1为静态CRLSP的Ingress节点,下一跳地址为12.1.1.2,出标签为120,隧道所需的带宽为20000kbps。
#
static-cr-lsp ingress 13 nexthop 12.1.1.2 out-label 120 bandwidth ct0 20000
配置MPLS TE隧道Tunnel13:目的地址为VSR3的LSR ID(3.3.3.3);采用静态CRLSP建立MPLS TE隧道。配置隧道Tunnel13引用名称为static-cr-lsp-1的静态CRLSP。
#
interface Tunnel13 mode mpls-teip address 13.1.1.1 255.255.255.0mpls te signaling staticmpls te static-cr-lsp 13destination 3.3.3.3
此时我们可以看到,VSR1上去往PCB的路由是从ISIS学到的,优先级是15。
所以需要配置优先级更高的静态路由,使得到达网络33.1.1.0/24的流量通过MPLS TE隧道接口Tunnel13转发。
#
ip route-static 33.1.1.0 24 Tunnel13 preference 1
VSR2
配置LSR ID、开启MPLS能力和MPLS TE能力,并配置TE链路的最大带宽和最大可预留带宽。
#
mpls lsr-id 2.2.2.2
#
mpls te
#
interface GigabitEthernet2/0mpls enablempls te enablempls te max-link-bandwidth 80000mpls te max-reservable-bandwidth 40000
#
interface GigabitEthernet3/0mpls enablempls te enablempls te max-link-bandwidth 80000mpls te max-reservable-bandwidth 40000
配置VSR2为静态CRLSP的Transit节点,入标签为120,下一跳地址为23.2.1.3,出标签为230,隧道所需的带宽为20000kbps。
#
static-cr-lsp transit 13 in-label 120 nexthop 23.1.1.3 out-label 230 bandwidth ct0 20000
VSR3
配置LSR ID、开启MPLS能力和MPLS TE能力,并配置TE链路的最大带宽和最大可预留带宽。
#
mpls lsr-id 3.3.3.3
#
mpls te
#
interface GigabitEthernet2/0mpls enablempls te enablempls te max-link-bandwidth 80000mpls te max-reservable-bandwidth 40000
配置VSR3为静态CRLSP的Egress节点,入标签为230。
#
static-cr-lsp egress 13 in-label 230
验证配置
如配置过程中所讲,我先后两次测试了从PCA到PCB的带宽情况,第一次是没有配置访问流量通过MPLS TE隧道接口转发的打流,第二次是配置之后的结果。
可以看到,不经隧道转发时,带宽为4.59 Gbps,经隧道转发时,带宽为20.0 Mbps,与配置的20000kbps大体相符。
使用display interface tunnel命令,查看Tunnel接口的状态。
可以看到,隧道的接口状态为UP,协议为CR_LSP,但是接口的收发包统计为0,估计和隧道源接口未知有关。
使用display mpls te tunnel-interface命令,查看MPLS TE隧道的建立情况。
好像跟LSP不太一样,这里显示了隧道的Ingress LSR和Egress LSR信息,一般来讲Egress LSR是看不到的。
在VSR1上执行display mpls lsp和display mpls static-cr-lsp命令,查看静态CRLSP的建立情况
bandwidth指定静态CRLSP流量所属的服务类型和所需的带宽。官网介绍:如果配置时不指定bandwidth,则静态CRLSP流量所需的带宽为0。Class Type是指静态CRLSP流量所属的服务类型,取值包括CT0、CT1、CT2和CT3,如果指定了bandwidth,但没有指定任何CT,则缺省为CT0。
通过配置我们发现,bandwidth只能在Ingress节点和Transit节点配置,那如果我们在Transit节点不配置带宽会怎么样呢?
注意,调整时需要先删除之前的配置,再配置新的。
可以看到Transit节点不配置带宽,带宽以Ingress节点配置为准,那我们把Ingress节点的带宽配置也移除掉。
带宽为3.68Gbps,看来官网说的静态CRLSP流量所需的带宽为0实际上就是不限速了。
现在在Ingress节点上不配置带宽,恢复配置Transit节点带宽为20000kbps试一下。
说明带宽以沿途经过的LSR上配置的小的为限制,如果未配置,则没有限制。而且配置的链路最大带宽竟然没有生效,我们在VSR1上把它设置为10000kbps试一下。
#
interface GigabitEthernet3/0ip address 12.1.1.1 255.255.255.0isis enable 1mpls enablempls te enablempls te max-link-bandwidth 10000mpls te max-reservable-bandwidth 1000
官网介绍该命令用来配置用于转发MPLS TE流量的链路最大带宽,设备在发布的IGP路由中携带本命令配置的链路最大带宽值,以便隧道的Ingress节点获取到该信息,并根据该信息进行CSPF计算,选择符合隧道带宽要求的路径。
看来好像用处不大啊!
长按二维码
关注我们吧
在 MPLS 隧道上执行标签交换路径 Ping (LSP Ping) 的机制
IP内的IP封装
Windows 11 可能影响工作效率的几个问题
你晓得不,VPN实例间路由还能通过路由协议动态引入呢
震惊!VRF路由泄露了!
有没有开源的虚拟路由器?有,VPP了解一下
相关文章:

使用静态CRLSP配置MPLS TE隧道
正文共:1591 字 13 图,预估阅读时间:4 分钟 静态CRLSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)是指在报文经过的每一跳设备上(包括Ingress、Transit和Egress…...

gentoo安装笔记
最近比较闲,所以挑战一下自己,在自己的台式电脑上安装gentoo 下面记录了我亲自安装的步骤,作为以后我再次安装时参考所用。 整体步骤 一般来将一个linux发行版的安装步骤其实大体上都差不多,基本分为一下几步: 1. …...

Git如何使用 五分钟快速入门
Git如何使用 五分钟快速入门 Git是一个分布式版本控制系统,它可以帮助开发人员跟踪和管理项目的代码变更。与传统的集中式版本控制系统(如SVN)不同,Git允许开发人员在本地存储完整的代码仓库,并且可以独立地进行代码修…...

FreeRTOS学习笔记——(FreeRTOS临界段代码保护及调度器挂起与恢复)
这里写目录标题 1,临界段代码保护简介(熟悉)2,临界段代码保护函数介绍(掌握)3,任务调度器的挂起和恢复(熟悉) 1,临界段代码保护简介(熟悉…...

箱形理论在交易策略中的实战应用与优化
箱形理论,简单来说,就是将价格波动分成一段一段的方框,研究这些方框的高点和低点,来推测价格的趋势。 在上升行情中,价格每突破新高价后,由于群众惧高心理,可能会回跌一段,然后再上升…...

MinIO 和 Apache Tika:文本提取模式
Tl;dr: 在这篇文章中,我们将使用 MinIO Bucket Notifications 和 Apache Tika 进行文档文本提取,这是大型语言模型训练和检索增强生成 LLM和RAG 等关键下游任务的核心。 前提 假设我想构建一个文本数据集,然后我可以用它来微调 LLM.为了做…...

c编译器学习05:与chibicc类似的minilisp编译器(待续)
minilisp项目介绍 项目地址:https://github.com/rui314/minilisp 作者也是rui314,commits也是按照模块开发提交的。 minilisp只有一个代码文件:https://github.com/rui314/minilisp/blob/master/minilisp.c 加注释也只有996行。 代码结构&a…...

手撕qsort函数
前言 本篇主要讲解的是qsort函数细节以及运用实例。 紧跟我的脚步一起手撕qsort函数吧~ 欢迎关注个人主页:逸狼 更多优质内容: 拿捏c语言指针(上) 拿捏c语言指针(中) 拿捏c语言指针(下&…...

项目在linux上的简单部署
本文章只介绍项目的简单部署,暂时没有Docker部署。 项目部署有两种方式,一种是直接命令部署,第二种是用脚本,脚本本身也是将命令进行封装来执行。 命令 项目通过maven打包,启动命令: # 启动命令 nohup …...

MySQL安装教程(详细版)
今天分享的是Win10系统下MySQL的安装教程,打开MySQL官网,按步骤走呀~ 宝们安装MySQL后,需要简单回顾一下关系型数据库的介绍与历史(History of DataBase) 和 常见关系型数据库产品介绍 呀,后面就会进入正式…...

Linux platform tree下的单总线驱动程序设计(DHT11)
目录 概述 1 认识DHT11 1.1 DHT11特性 1.2 DHT11数据格式 1.3 DHT11与MCU通信 1.4 DHT11信号解析 1.4.1 起始信号 1.4.2 解析信号0 1.4.3 解析信号1 2 驱动开发 2.1 硬件接口 2.2 更新设备树 2.2.1 添加驱动节点 2.2.2 编译.dts 2.2.3 更新板卡中的.dtb 2.3 驱…...

自研爬虫框架的经验总结(理论及方法)
背景: 由于业务需要,承接一部分的数据采集工作。目前市场内的一些通用框架不太适合。故而进行了自研。 对比自研和目前成熟的框架,自研更灵活适配,可以自己组装核心方法;后者对于新场景的适配需要对框架本身有较高的理…...

配置基于 AWS CRT 的 HTTP 客户端
基于 AWS CRT 的 HTTP 客户端包括同步 AwsCrtHttpClient 和异步 AwsCrtAsyncHttpClient。基于 AWS CRT 的 HTTP 客户端具有以下 HTTP 客户端优势: 更快的 SDK 启动时间 更小的内存占用空间 降低的延迟时间 连接运行状况管理 DNS 负载均衡 SDK 中基于 AWS CRT …...

挑战杯 基于LSTM的天气预测 - 时间序列预测
0 前言 🔥 优质竞赛项目系列,今天要分享的是 机器学习大数据分析项目 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/po…...

我为什么不喜欢关电脑?
程序员为什么不喜欢关电脑? 你是否注意到,程序员们似乎从不关电脑?别以为他们是电脑上瘾,实则是有他们自己的原因!让我们一起揭秘背后的原因,看看程序员们真正的“英雄”本色! 一、上大学时。 …...

Unity【角色/摄像机移动控制】【1.角色移动】
本文主要总结实现角色移动的解决方案。 1. 创建脚本:PlayerController 2. 创建游戏角色Player,在Player下挂载PlayerController脚本 3. 把Camera挂载到Player的子物体中,调整视角,以实现相机跟随效果 3. PlayerController脚本代码…...

Oracle12cR2之Job定时作业调度器详解
Oracle12cR2之Job定时作业调度器详解 文章目录 Oracle12cR2之Job定时作业调度器详解1.Oracle Job1. 关于Job2. 使用方法 2. Job详细说明1. 查看Job的相关视图2.SYS.DBA_JOBS视图字段详细说明 3. 创建及查看Job1. 创建Job2. 查看运行中的Job 1.Oracle Job 1. 关于Job 在 Oracle…...

python自学...
一、稍微高级一点的。。。 1. 闭包(跟js差不多) 2. 装饰器 就是spring的aop 3. 多线程...

Message Pack 协议详解及应用
文章目录 一、Message Pack是什么二、Message Pack的语法规则三、Message Pack相关链接四、Message Pack应用场景五、MessagePack 兼容性与特点 一、Message Pack是什么 Message Pack是一种高效的二进制序列化格式,用于在不同的应用程序之间进行数据交换。它类似于J…...

智慧社区管理系统:构建未来的生活模式
在这个信息化、智能化的时代,我们期待的不再是简单的居住空间,而是一个集安全、便捷、舒适、环保于一体的智能化社区。为此,我们推出了全新的智慧社区管理系统,旨在将先进的科技力量引入社区管理,为居民提供更优质的生…...

Rocky 8.9 Kubespray v2.24.0 在线部署 kubernetes v1.28.6 集群
文章目录 1. 简介2. 预备条件3. 基础配置3.1 配置hostname3.2 配置互信 4. 配置部署环境4.1 在线安装docker4.2 启动容器 kubespray4.3 编写 inventory.ini4.4 关闭防火墙、swap、selinux4.5 配置内核模块 5. 部署6. 集群检查 1. 简介 kubespray 是一个用于部署和管理 Kuber…...

新版AI系统ChatGPT源码支持GPT-4/支持AI绘画去授权
源码获取方式 搜一搜:万能工具箱合集 点击资源库直接进去获取源码即可 如果没看到就是待更新,会陆续更新上 新版AI系统ChatGPT网站源码支持GPT-4/支持AI绘画/Prompt应用/MJ绘画源码/PCH5端/免授权,支持关联上下文,意间绘画模型…...

学习鸿蒙基础(5)
一、honmonyos的page路由界面的路径 新建了一个page,然后删除了。运行模拟器的时候报错了。提示找不到这个界面。原来是在路由界面没有删除这个page。新手刚接触找了半天才找到这个路由。在resources/base/profile/main_pages.json 这个和微信小程序好类似呀。 吐槽…...

Tuxera NTFS2024最新中文版支持M1/M2/M3苹果全系机型
Tuxera NTFS的传输速度会受到多种因素的影响,包括硬件配置、文件大小、存储设备的性能等。因此,无法给出具体的传输速度数值。 不过,根据一些用户的使用经验和测试数据,Tuxera NTFS的传输速度通常都非常快,能够满足大…...

【Python】OpenCV-图片添加水印处理
图片添加水印处理 1. 引言 图像处理中的水印添加是一种常见的操作,用于在图片上叠加一些信息或标识。本文将介绍如何使用OpenCV库在图片上添加水印,并通过详细的代码注释来解释每一步的操作。 2. 代码示例 以下是一个使用OpenCV库的简单代码示例&…...

Milvus数据库介绍
参考:https://www.xjx100.cn/news/1726910.html?actiononClick Milvus 基于FAISS、Annoy、HNSW 等向量搜索库构建,核心是解决稠密向量相似度检索的问题。在向量检索库的基础上,Milvus 支持数据分区分片、数据持久化、增量数据摄取、标量向量…...

notepad++的下载与使用
1.进入官网下载 https://notepad-plus-plus.org/ 点击下载即可 2.选择中文简体 3.建议安装在D盘 其余步骤按照指示就行 4.安装后这几个是必选的 设置完成后就可以写中文了 以此为例 结果为...

论UI的糟糕设计:以百度网盘为例
上面这一排鼠标一经过就会弹出来(不是点才弹出来),然后挡住你的各种操作, 弹出来时你就必须等它消失,卡一下才能操作。 在用户顺畅地操作内容时,经常就卡一下、卡一下、卡一下…… 1、比如鼠标从下到上&am…...

【Spring】三级缓存
目录标题 触发所有未加载的实例a - 开始getBean( doGetBean) - 获取单例beangetSingleton() - 获取单例beancreateBean(doCreateBean) - 创建beancreateBeanInstance - 创建并返回beanaddSingletonFactory -放三级缓存populateBea…...

CVE-2016-3088(ActiveMQ任意文件写入漏洞)
漏洞描述 1、漏洞编号:CVE-2016-3088 2、影响版本:Apache ActiveMQ 5.x~5.13.0 在 Apache ActiveMQ 5.12.x~5.13.x 版本中,默认关闭了 fileserver 这个应用(不过,可以在conf/jetty.xml 中开启);…...