路由环路的产生原因与解决方法(1)

embedded/2025/1/17 12:31:41/

路由环路

路由环路就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。

TTL (生存时间):数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0是,路由器将不再转发而直接丢弃。

 

关于路由环路的拓展配置

负载均衡

当路由器到达同一个目标,具有多条开销相似的路径时,可以让流量进行拆分后延多条路径同时传输,起到叠加带宽的效果。

建一个简单的拓扑方便理解:

988e8cae231b49bbb47f42c94c720a86.png

在按拓扑中给出的IP配好路由器与PC的IP地址后,我们可以观察到R1的1.0网段与R3的6.0网段不直连,那么需要写一条到6.0网段上的静态路由,可是,我们在观察拓扑时发现有两条路可以走,一条是通过R2,一条是通过R4,这两条路开销值相等,所以我们在写的时候可以采用负载均衡的方式。

[R1]ip route-static 192.168.6.0 24 192.168.2.2
[R1]ip route-static 192.168.6.0 24 192.168.3.2

 

环回接口 (路由器的一个虚拟接口)

一般用于虚拟实验,而不受设备的限制(实的不行来虚的)。

建一个简单的拓扑方便理解:

57a18f8a24144f588fcf5f1fcc2c3015.png

因为R1、R2的环回接口不直连,所以应该配置静态路由,IP配置如下

[R1]int g 0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[R1]interface LoopBack 0
[R1-LoopBack0]ip add 192.168.1.1 24
[R1]int l1
[R1-LoopBack1]ip add 192.168.2.1 24[R2]int g 0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/0]int l0
[R2-LoopBack0]ip add 192.168.3.1 24
[R2-LoopBack0]int l1
[R2-LoopBack1]ip add 192.168.4.1 24[R1]ip route-static 192.168.3.0 24 12.0.0.2
[R1]ip route-static 192.168.4.0 24 12.0.0.2[R2]ip route-static 192.168.1.0 24 12.0.0.1
[R2]ip route-static 192.168.2.0 24 12.0.0.1

然后再进行测试,看全网是否通,因为环回接口的特殊性,所以我们在ping的时候可以采用指定源IP地址的方式来ping,命令如下:

[r1]ping -a   // 指定源IP发送ping包

44f2d6db95874ae2ab11985a9ed9a347.png

测试得全网通!

 

手工汇总

当路由器可以访问多个连续的子网时,若均通过相同的下一跳,可以将这些网段进行汇总操作,之后,仅需编辑到达汇总网段的静态路由即可。以达成减少路由条目,提高转发效率的目的。

还是使用之前环回接口处的拓扑,IP已配好,直接开始实验。

从环回接口处知道了R1的环回接口L0与L1的IP地址到达R2的环回口需要经过同样的下一跳,所以我们可以采用汇总的方式,以此减少路由条目。(如果不会汇总的朋友可以参考我之前的博客,关于CIDR的模块:CSDN)

[R2]undo ip route-static 192.168.1.0 24 12.0.0.1
[R2]undo ip route-static 192.168.2.0 24 12.0.0.1
[R2]ip route-static 192.168.0.0 22 12.0.0.1   //手工汇总

f20c7e2cb51e41689ddc1f9ab8b5a199.png

测试依旧全网通!

路由黑洞 

在汇总中,如果包含网络内实际不存在的网段时,可能造成流量的有去无回,浪费链路资源。

还是使用之前环回接口处的拓扑,IP已配好,直接开始实验。

192.168.0.0/22划分:

192.168.0.0/24

192.168.1.0/24

192.168.2.0/24

192.168.3.0/24

合理的子网划分和汇总则可以减少路由黑洞的产生。

缺省路由

华为体系中也叫默认路由。一旦路由黑洞和缺省路由相遇,将100%出现路由环路。

缺省路由就是一条不限定目标的路由条目。缺省路由一定是路由表中所有路由条目都无法匹配时,才最后匹配。

[r1]ip route-static 0.0.0.0 0 12.0.0.2
[r1]ip route-static 0.0.0.0 0 12.0.0.2

空接口路由

用来解决缺省和黑洞相遇出环的问题: 在黑洞路由器配置一条指向汇总网段的空接口路由

  1. 路由器的匹配原则 --- 最长匹配原则(精准匹配原则) ---- 数据包如果匹配到多条路由条目,将按照掩码最长的来执行。
  2. NULL0 --- 空接口 --- 虚拟接口 --- 如果一条路由条目,出接口为空接口,则如果匹配到这条路由条目,则将直接丢弃该数据包。 
[r1]ip route-static 192.168.0.0 22 NULL 0

浮动静态路由

通过修改默认的优先级,实现静态路由的备份效果。

[r1]ip route-static 192.168.2.0  24  12.0.0.2 preference 61    // 手动修改静态路由的优先级
[r1]display ip routing-table protocol static    //过滤静态路由
[r1-GigabitEthernet0/0/1]shutdown   // 手动关闭接口

大家想要了解路由环路的解决方法可以继续关注我哦,下一篇:路由环路的产生原因和解决方法(2)


http://www.ppmy.cn/embedded/154655.html

相关文章

【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍为什么self-attention可以堆叠多层,这有什么作用?

【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍为什么self-attention可以堆叠多层,这有什么作用? 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍为什么self-attention可以堆叠…

RocketMQ 学习笔记01

一、MQ简介 1. 什么是MQ? MQ(Message Queue,消息队列) 是一种在分布式系统中用于实现进程间通信和数据传输的中间件。它通过在不同进程或应用程序之间传递消息,实现数据的异步处理、解耦和削峰填谷等功能。MQ广泛应用…

unity2022以上导出到AndroidStudio后更新步骤

1、unity里面Export出unityLibrary 2、导出apk,里面才包含libil2cpp(新版unity无法直接导出libil2cpp 3、注释AS项目app下的build.gradle里面包含unityLibrary的代码 4、注释AS项目settings.gradle包含unityLibrary的代码 5、删除AS项目里面的unityLibrary文件夹 6、…

项目练习:若依系统数据导出功能-Vue前端部分

文章目录 一、设计说明二、代码实现1、package.json2、ruoyi.js3、request.js4、main.js中挂载download方法5、使用案例 一、设计说明 web系统的数据导出功能是必备的。 所以,这个功能设计要满足以下要求 1、全局可用。 2、参数:下载的接口地址&#xf…

检测模型安全的更高级的方法

1. 查询依赖攻击(Dependency Query Attack) 定义: 利用模型对上下文或外部知识库的依赖,通过操纵这些外部依赖来引导模型输出敏感或错误的信息。 实现方式: 在知识库中插入伪造的信息,观察模型如何处理…

输出电压读取READ_VOUT和输出电流读取READ_IOUT的十进制快速翻译方法

TPS546D24A的输出电压是通过READ_VOUT寄存器中的值转化得来。其格式为ULINEAR16。要将寄存器中的值转化为十进制,可以分三步走。 1. 读取VOUT_MODE的值,VOUT_MODE在PMBUS的定义中,是一个1字节的寄存器,地址为20h,用于…

Cursor 学习计划

我的 Cursor 学习计划 在当今这个科技飞速发展的时代,各种新兴的开发工具不断涌现,为我们的编程之旅带来了更多的便利和可能性。而 Cursor 作为一款备受瞩目的代码编辑器,以其强大的 AI 辅助编程功能吸引了众多开发者的目光。为了能够更好地…

戴尔电脑开机出现MBR和GPT处理

Windows无法安装到这个磁盘,选中的磁盘采用gpt分区形式解决方法。 方法二:转换磁盘格式为MBR,但是会清除所有磁盘分区 我们在这个错误提示的时候,不要重启电脑,直接在键盘上按下“ShiftF10”组合键,这时就会弹出CMD命…