什么是路由抖动?该如何控制
路由器在实现不间断的网络通信和连接方面发挥着重要作用,具有所需功能的持续可用的路由器可确保其相关子网的良好性能,由于网络严重依赖路由器的性能,因此确保您的路由器不会遇到任何问题非常重要。路由器遇到的一个严重的网络问题是路由抖动。
什么是路由抖动
路由抖动是一种网络问题,其中路由器的状态在短时间内不断波动。这包括路由器:
- 在可用和不可用之间不断切换。
- 更新和撤回网络前缀,从而交替通告两个最佳目标路由。
- 显示任何路由指标(例如 BGP 表版本)的剧烈变化。
例如,如果路由器将路由 A 更新为第一次广播中的最佳路由,然后立即撤回该路由并将路由 B 更新为第二次广播中的最佳路由,然后再次将路由 A 更新为最佳路由,则路由器正在抖动。
通过网络数据包嗅探器、可用性监控或手动检查路由器指标,可以轻松检测到路由抖动。
路由抖动的常见原因
路由抖动在大型网络中很常见,这些网络在分布式位置部署了数百个路由器。路由抖动可能是由干扰路由器理想工作条件的多种网络场景引起的。一些常见原因包括:
- 动态路由:当网络部署动态路由时,路由器容易发生密集的自适应路由更改,它们根据网络拓扑的演变方式动态通告和撤消路由。这会导致路由抖动的几率更高。
- 错误配置:任何错误配置(例如在具有相等跃点的路径之间启用负载均衡)都很容易导致路由抖动。
- 已部署的协议:网络管理员还应仔细选择并监控链路状态和距离矢量路由协议的部署,由于这些协议会导致频繁的重新计算和更新,因此在这种情况下,路由抖动可能会阻碍网络收敛。
- 硬件错误:路由器硬件故障会导致路由器状态在向上或向下之间剧烈波动,从而导致路由抖动。
- 连接的设备:路由抖动也可能是由于与路由器关联的设备造成的,例如出现错误的连接接口或其他连接的路由器抖动。
路由抖动如何影响网络
有问题的路由器很容易减慢您的网络流量,破坏正常的网络功能,并影响最终用户体验。路由抖动对网络的一些主要影响包括:
- 抖动的级联效应:如果不加以管理,路由抖动可能会影响整个网络,在两个目标路由之间密集交替的路由器可能会导致网络流量路由混乱,从而导致所有连接的路由器频繁地重新计算拓扑。这很容易破坏网络拓扑,导致所有上游连接的路由器抖动。
- 路由器过载和 CPU 利用率:路由抖动导致的不必要的重新计算和路由更新会给路由器的 CPU 带来压力,密集的 CPU 使用率和不断变化的目标路由会影响路由器性能并导致网络流量变慢。
- 路由环路:路由抖动会导致路由中的路由器不可用,这会导致其他路由器重新路由流量,持续的流量重新路由可能会导致网络内的路由环路。
- 延迟和网络停机时间:密集的计算、路由更新和 CPU 资源消耗可能会减慢并影响网络路由器的性能,这会影响网络的整体性能,不仅如此,路由抖动还会导致网络组件的下一跳混淆。确定下一跃点所需的时间越长,网络延迟就越高。由于路由器冲突会增加网络延迟、降低性能并呈级联,因此很容易引发代价高昂的网络停机。
如何控制路由抖动
定期升级路由器等最佳实践可帮助您避免大多数路由器问题。例如,具有非常高处理能力的现代路由器限制了路由抖动的可能性。但是,为确保网络路由器与路由抖动的级联效应良好隔离,应实施以下控制技术:
- 路由汇总
- 路由抑制
路由汇总
路由汇总是应对路线抖动风险的有效对策,此技术可帮助网络管理员有效地将其他上游路由器与抖动路由器的影响隔离开来。
路由汇总如何工作
路由汇总的工作原理是首先记下与路由器关联的子网的所有链路,链路根据链路地址中的公共位进行聚合。然后,路由器将此聚合链路通告为与其关联的所有子网的链路。当对多个路由器执行此操作时,会大大减少网络中通告的链路数量。
例如,假设连接了五个路由器,如下所示。路由器 D 通常必须向路由器 E 通告 16 个路由。但是,在路由聚合后,路由器 A、B 和 C 将基于公共前缀聚合其链路,从而分别向路由器 D 通告一条链路。然后,路由器 D 将根据它们的通用前缀聚合这三条链路,并仅向路由器 E 通告一条路由。这大大提高了效率和路由器性能。

此外,在通告的聚合链路中,即使路由器内的链路抖动,聚合路由仍将起作用,当仍至少存在一个有效的聚合子网时,不会释放聚合路由。
这样就无需频繁更新、重新计算和撤回目标路由,从而将路由抖动的影响与其他路由器隔离开来,并帮助网络管理员轻松解决问题。
路由抑制
路由抖动抑制是一种技术,使网络管理员能够在路由器抖动时稳定网络路由,此技术的工作原理是抑制抖动路由器并重新路由通过它的流量。
路由抑制是如何工作的
首先,将网络路由器配置为遵循实现的路由抑制技术,网络管理员需要定义抑制限制。这是允许路由器抖动的首选次数。在网络中,对于每个襟翼,路由器都会受到惩罚。当累积惩罚大于抑制限制时,路由器将被抑制。流量通过更稳定的路由器重新路由。
但是,路由器累积的惩罚会随着时间的推移呈指数级衰减。当累积惩罚小于抑制限制时,默认禁用路由抑制,并重复使用路由。因此,路由抑制可帮助网络管理员在不稳定路由稳定之前延迟使用这些路由。
注意:虽然路由抖动抑制在处理专用链路中的抖动路由器方面可能很有效,但不建议在整个网络中依赖它。错误配置的路由抑制指标很容易导致部分网络无法访问,甚至导致其他路由器抖动。在实施路由抑制之前,网络管理员需要仔细分析其网络的需求和配置。
路由器作为 IT 基础设施的关键组件,容易出现许多其他网络问题,例如速度变慢和信号质量低下,这些问题会严重影响您的网络性能和可用性。为了保护网络免受有问题的路由器的影响并提高路由器性能,需要一个可靠的网络性能监控解决方案。
网络路由器监控
OpManager是一个功能强大、直观的网络性能监控解决方案,可全面监控网络路由器,轻松发现有问题的路由器,并在它们破坏您的网络之前,对其进行故障排除。通过几个内置主动监控器,确保持续的路由器可用性和最佳的路由器资源使用。还可以通过其各种网络拓扑映射功能可视化所有网络路由器。
相关文章:
什么是路由抖动?该如何控制
路由器在实现不间断的网络通信和连接方面发挥着重要作用,具有所需功能的持续可用的路由器可确保其相关子网的良好性能,由于网络严重依赖路由器的性能,因此确保您的路由器不会遇到任何问题非常重要。路由器遇到的一个严重的网络问题是路由抖动…...
2023SICTF-web-白猫-RCE
001 分析题目 题目名称: RCE 题目简介: 请bypass我! 题目环境: http://210.44.151.51:10088/ 函数理解: #PHP str_replace() 函数 <!DOCTYPE html> <html> <body><?php echo str_replace("…...
1.用数组输出0-9
文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 四、举一反三一、题目描述 二、题目分析 三、解题 程序运行代码 总结 前言 本系列为数组编程题,点滴成长,一起逆袭。 一、题目描述 用数组输出0-9 二、题目分析 数组下标从0开始 用数组…...
Selenium 元素不能定位总结
目录 元素不能定位总结: 1、定位语法错误: 定位语法错误,如无效的xpath,css selector,dom路径错误,动态dom 定位语法错误,动态路径(动态变化) 定位策略错误,如dom没有id用id定位…...
1-2 非阻塞延时实现LED闪烁功能(累计定时中断次数)--多路软件定时器的功能实现
单路 #include <reg51.h> #include "delay.h"#define LED_SHINE_TIME 1000//1sunsigned int g_u16_timer_cnt;//在定时器的基础上进行计数 unsigned char g_u8_time_flag;//时间到的标志 unsigned char g_u8_timer_soft_enable;//定时器的软件开关sbit LED0P1…...
数据类型及强制转换
数据类型范围(基本) 数据类型占内存字节数表示范围数量级char(signed char)1-128~1272unsigned char10~2552short int(signed short int)2-32,768~32,7674unsigned short int20~65,5354int(sig…...
Python----高阶函数
高阶函数:把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽象的编程范式。 高阶函数的由来 在Python中,abs()函数可以完成对数字求绝对值计算。 ① 正数的绝对值是它本身 ②…...
Unity地面交互效果——6、地形动态顶点置换和曲面细分
回到目录 Unity置换贴图局部距离曲面细分 大家好,我是阿赵。 这篇文章是我无聊的时候做了一个demo,觉得挺有趣,于是就发上来。这里面包含了4个内容:置换贴图、顶点偏移、局部曲面细分,曲面细分按距离调整强度。 …...
Linux系统服务之一次性服务(2)
接前一篇文章:Linux系统服务之一次性服务(1) 本文内容参考以下文章: Systemd OneShot 系统启动时运行一次特定的命令或脚本,并在执行完毕后自动退出-CSDN博客 oneshot一次性服务_typeoneshot-CSDN博客 systemd.serv…...
Vue项目解决van-calendar 显示白色空白,需滑动一下屏幕,才可正常显示
问题描述,如图 ipad(平板)或者 H5移动端引入Vant组件的日历组件(van-calendar),初始化显示空白,需滚动一下屏幕,才可正常显示 解决方法 需在van-calendar上绑定open"openCalendar"事件…...
Linux:可视化管理工具Webmin的安装
一、下载 地址:Webmin官网 我这里下载的是1.700-1版本 二、安装 1、在虚拟机上新建目录并安装软件 mkdir /opt/webmin rpm -ivh webmin-1.700-1.noarch.rpm2、修改webmin的root密码 /usr/libexec/webmin/changepass.pl /etc/webmin root 1234563、修改端口(可…...
WARNING: Access control is not enabled for the database.
MongoDB shell version v3.4.24 WARNING: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted. 1)未启用访问控制 2)读写访问不受限制 D:\MongoDB\Server\3.4\bin>mongo MongoDB shell version v3.4.24 c…...
JavaScript编程进阶 – Return语句
JavaScript编程进阶 – Return语句 JavaScript Programming Advanced – Return Statement By JacksonML 就像人们习惯的函数一样,总觉得在函数体最后需要一个return语句,标志着函数的结束,就像下面这个函数 theFunc() 那样。 function theFunc() { re…...
Python与设计模式--备忘录模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...
04_Flutter自定义Slider滑块
04_Flutter自定义Slider滑块 一.Slider控件基本用法 Column(mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[Text("sliderValue: ${_sliderValue.toInt()}"),Slider(value: _sliderValue,min: 0,max: 100,divisions: 10,thumbColor: Colors.…...
服务器数据恢复—EMC存储raid5故障导致上层应用崩溃的数据恢复案例
服务器存储数据恢复环境: EMC某型号存储,8块组建一组raid5磁盘阵列。上层操作系统采用zfs文件系统。 服务器存储故障&分析: raid5阵列中有2块硬盘未知原因离线,raid5阵列崩溃,上层应用无法正常使用。 服务器数据恢…...
7.1 Windows驱动开发:内核监控进程与线程回调
在前面的文章中LyShark一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以监控进程线程创建为例,在Win10系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原…...
基于ssm的汽车论坛管理系统设计与实现
基于ssm的汽车论坛管理系统设计与实现 摘要:信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题…...
实习开发日志经验总结(一)
文章目录 前言实习日志经验总结 前言 自己之前实习过程中遇到的问题以及相应的解决过程,我都有记录形成比较凌乱的实习日志。故想在整个实习日志的基础上,提炼一些技术知识点或者是解决问题的思路。考虑到实习项目的不方便公开性,所以会隐去…...
【Unity基础】8.简单场景的搭建
【Unity基础】8.简单场景的搭建 大家好,我是Lampard~~ 欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢 (一)场景资源 (1)Import资源包 今天我们将手动去搭一个简单的场景,当…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
