广播风暴的成因以及如何判断、解决
广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴。
首先,广播风暴的产生有两种可能性:
1、不合理的网络划分。比如很多客户机处于同一个网段内。由于ARP、DHCP都是广播包的形式,那么有时候就会产生广播风暴。
2、环路。环路时,数据包会不断的重复传输,也一样会产生广播风暴。
这两者中,环路的情况比较恶性,需要网管人员立即进行排除;而网段划分引起的广播风暴比较良性,一般对网络的影响较小。
二层广播风暴产生原因
注:这里只讨论一个方向
首先pc1发送arp请求到达sw2以后形成一个交换机的mac地址表
从f0/8接口学习到的mac地址)0........A, 属于vlan 10
然后在判断Dmac,当Dmac为12个F时,然后在自己所有vlan 10 的接口内(除了F0/8)以及trunk链路接口泛洪
同样sw3收到来自sw2的arp也形成一个mac地址表:
然后泛洪给 pc3 和 sw1
!!!***注:在到达pc3以前dmac都是12个F(二层广播)
到达sw1以后形成一个交换机的mac地址表
然后sw1又接着泛洪给sw2,形成一个交换机的mac地址表
!!!***注:此时dmac都是12个F(二层广播)
由于在 sw2 时 dmac 为12个F,所以接着泛红给 sw3,然后 sw3 泛洪给 pc3 和 sw1,然后 sw1 又泛洪给 sw2.....................这样来回往复,最终形成二层广播风暴
二层广播风暴图解:
危害:
广播风暴对网络的危害是非常大的,将严重消耗设备资源及网络带宽,cpu利用率过高......最终导致网络瘫痪........
如何判断当前是否出现了二层广播风暴:
1、成片区域上网特别卡(延迟时间100-300ms) PC通过console线登录到交换机,通过命令行的方式发现交换机的CPU利用率特别 高(95%-100%)
2、查看MAC地址表,出现了MAC地址偏移的现象(一个相同的 MAC地址在不同的接口学习到)如图:
转存失败重新上传取消
3、查看 0/8 和 0/1接口的速率统计,从设备开机到现在,接口一共收到了多少 广播包,一分钟,再看这个接口收到了多少广播包,看一分钟之内增加了多少广播 包,成百上千的话肯定是产生了二层广播风暴
4、查看机房交换机接口的状态灯,正常情况下是绿色且定期的闪烁(有流量在传 输),如果说其中有一个接口呈黄色且快速闪烁,很难判断 但如果是所有的接口呈黄色且快速闪烁,基本上可以判断产生了二层广播风暴
二层广播风暴产生的一般原因,除了不合理的网络划分和环路,还有以下几种:
1、网络设备原因:我们经常会有这样一个误区,交换机是点对点转发,不会产生广播风暴。在我们购买网络设置时,购买的交换机,通常是智能型的Hub,却被奸商当做交换机来卖。这样,在网络稍微繁忙的时候,肯定会产生广播风暴了。
2、网卡损坏:如果网络机器的网卡损坏,也同样会产生广播风暴。损坏的网卡,不停向交换机发送大量的数据包,产生了大量无用的数据包,产生了广播风暴。由于网卡物理损坏引起的广播风暴,故障比较难排除,由于损坏的网卡一般还能上网,我们一般借用Sniffer局域网管理软件,查看网络数据流量,来判断故障点的位置。
3、网络病毒:目前,一些比较流行的网络病毒,Funlove、震荡波、RPC等病毒,一旦有机器中毒后,会立即通过网络进行传播。网络病毒的传播,就会损耗大量的网络带宽,引起网络堵塞,引起广播风暴。
4、黑客软件的使用:目前,一些上网者,经常利用网络执法官、网络剪刀手等***软件,对网吧的内部网络进行***,由于这些软件的使用,网络也可能会引起广播风暴。
如何解决这个问题:
在面对网络广播风暴发生时,要冷静分析广播风暴产生的原因,可运用排除法、替换法和网线插拔法等多种方法综合运用,一步一步地进行故障排除,快速定位引发广播风暴的故障点,查出引发广播风暴的原因,及时采取相应措施来消灭广播风暴。总的来看,要解决广播风暴的问题,可以从以下几个方面入手:
1、在局域网中安装WSUS补丁服务器,保证局域网所有计算机都能及时打上最新的补丁。
2、最好在局域网内安装网络版的防毒服务器,如无条件这,起码也得保证单机版的防毒软件的病毒库是经常更新的。
3、检查每一台计算机的网卡、网线和交换机的每一个端口,检查是否有故障。
4、当广播风暴发生时,观察交换机的指示灯不啻为很好的方法,可直接观察网络连通性及网络流量。
要避免广播风暴,可以采用恰当划分VLAN、缩小广播域、隔离广播风暴,还可在千兆以太网口上启用广播风暴控制,最大限度地避免网络再次陷入瘫痪。当端 口接受到大量的广播、单播或组播的包时,就会发生广播风暴。转发这些包会导致网络速度变慢或超时,在交换机上借助对端口的广播风暴控制可以有效避免硬件损 坏或链路故障导致的广播风暴的网络瘫痪。
从海翎光电小编的实际经验来看,90%以上的网络广播风暴是病毒所致,因此,要加强网络 病毒的防治,加强对网络线路运行状态的监控,及时发现和处理网络上的异常流量和病毒***等问题,并制定计算机安全管理制度,确保网络线路的正常运行。
相关文章:

广播风暴的成因以及如何判断、解决
广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段 (由广播…...

Loki 日志收集系统
一.系统架构 二.组成部分 Loki 的日志堆栈由 3 个组件组成: promtail:用于采集日志、并给每条日志流打标签,每个节点部署,k8s部署模式下使用daemonset管理。 loki:用于存储采集的日志, 并根据标签查询日志流…...

uCOSii信号量的作用
uCOSii中信号量的作用: 在创建信号量时,Sem_EventOSSemCreate(1)用于分时复用共享资源; Sem_EventOSSemCreate(0)用于中断和任务间同步或任务之间的同步。 具体在使用时,需要灵活运用。在访问共享资源时,我喜欢用互…...

Android 13 版本变更总览
Android 13 总览 https://developer.android.google.cn/about/versions/13?hlzh-cn 文章基于官方资料上提取 Android 13 功能和变更列表 https://developer.android.google.cn/about/versions/13/summary?hlzh-cn 行为变更:所有应用 https://developer.andr…...

QT 设计ROS GUI界面订阅和发布话题
QT 设计ROS GUI界面订阅和发布话题 主要参考下面的博客 ROS项目开发实战(三)——使用QT进行ROS的GUI界面设计(详细教程附代码!!!) Qt ROS 相关配置请看上一篇博客 首先建立工作空间和功能包&a…...

pandas数据预处理
pandas数据预处理 pandas及其数据结构pandas简介Series数据结构及其创建DataFrame数据结构及其创建 利用pandas导入导出数据导入外部数据导入数据文件 导出外部数据导出数据文件 数据概览及预处理数据概览分析利用DataFrame的常用属性利用DataFrame的常用方法 数据清洗缺失值处…...

Jupyter Notebook如何导入导出文件
目录 0.系统:windows 1.打开 Jupyter Notebook 2.Jupyter Notebook导入文件 3.Jupyter Notebook导出文件 0.系统:windows 1.打开 Jupyter Notebook 1)下载【Anaconda】后,直接点击【Jupyter Notebook】即可在网页打开 Jupyte…...

Linux:/dev/tty、/dev/tty0 和 /dev/console 之间的区别
在Linux操作系统中,/dev/tty、/dev/tty0和/dev/console是三个特殊的设备文件,它们在终端控制和输入/输出过程中扮演着重要的角色。尽管它们看起来很相似,但实际上它们之间存在一些重要的区别。本文将详细介绍这三个设备文件之间的区别以及它们…...

Linux 上安装 PostgreSQL——Ubuntu
打开 PostgreSQL 官网 PostgreSQL: The worlds most advanced open source database,点击菜单栏上的 Download ,可以看到这里包含了很多平台的安装包,包括 Linux、Windows、Mac OS等 。 Linux 我们可以看到支持 Ubuntu 和 Red Hat 等各个平台…...

合并两个有序链表(java)
leetcode 21题:合并两个有序链表 题目描述解题思路:链表的其它题型。 题目描述 leetcode21题:合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入&…...

KEYSIGHT是德DSOX4034A 示波器 350 MHz
KEYSIGHT是德DSOX4034A 示波器 350 MHz,是德4000 X 系列拥有一系列引以为傲的配置,包括采用了电容触摸屏技术的 12.1 英寸显示屏、InfiniiScan 区域触摸触发、100 万波形/秒捕获率、MegaZoom IV 智能存储器技术和标配分段存储器。 是德DSO-X4034A 主要特…...

局域网技术
共享信道的分配技术是局域网的核心技术,而这一技术又与网络的拓扑结构和传输介质有关。 拓扑结构: 1.总线型拓扑: 总线一种多点广播介质,所有的站点通过接口硬件连接到总线上。 传输介质主要是同轴电缆(基带和宽带…...

Pixhawk无人机-ArduPilot 软件SITL仿真模拟飞行(SITL+MAVProxy)
1 引言 本人是先看了多个博客实现了:在ubuntu下建立完整的ardupilot开发环境。 该文是基于搭建完编译环境后,也就是搭建好ardupilot的仿真环境实现的。 在文章: 《Pixhawk无人机扩展教程(5)—SITL仿真模拟飞行:开发环境搭建》.中指出&#…...

vue实现深拷贝的方法
在 vue中,深拷贝是一个很有用的功能,在不改变原来对象状态的情况下,进行对象的复制。 但要实现深拷贝,需要两个对象具有相同的属性。如果两个对象不同,深拷贝也不能实现。 1.我们将变量A的属性赋给变量B,但…...

LAMP架构
文章目录 LAMP架构一.简述各组件的主要作用如下: 二.过程展示1.编译安装Apache httpd服务(1)关闭防火墙,将安装Apache所需软件包传到/opt目录下(2)安装环境依赖包(3)配置软件模块(4)编译及安装(5)优化配置文件路径,并把httpd服务的可执行程序…...

javascript基础七:说说你对Javascript中作用域的理解?
一、作用域 作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说,作用域决定了代码区块中变量和其他资源的可见性 举个粟子 function myFunction(){let name小爱同学 } undef…...

chatgpt赋能python:Python变量赋值
Python 变量赋值 在 Python 中,我们可以使用多种符号来给变量赋值。本文将介绍这些符号以及它们在编程中的应用。 等号() 在 Python 中,我们最常用的符号是等号(),它可以将一个值赋给一个变量…...

SAP-QM-物料主数据-质量管理视图字段解析
过账到质检库存:要勾选,否则收货后库存不进入质检库存HU检验:收货到启用HU管理的库位时产生检验批,例如某个成品物料是收货到C002库位,该库位启用了HU管理,那么此处要勾选。但是如果勾选了,却收…...

【Netty】一行简单的writeAndFlush都做了哪些事(十八)
文章目录 前言一、源码分析1.1 ctx.writeAndFlush 的逻辑1.2 writeAndFlush 源码1.3 ChannelOutBoundBuff 类1.4 addMessage 方法1.5 addFlush 方法1.6 AbstractNioByteChannel 类 总结 前言 回顾Netty系列文章: Netty 概述(一)Netty 架构设…...

STM32U575 DMA配置
起个摘要,后期维护 1、DMA原理:参考:【STM32】DMA原理,配置步骤超详细,一文搞懂DMA_dma配置_~Old的博客-CSDN博客 2、STM32U575的DMA资源: (datasheet摘要) 3、UART的使用 4、I2…...

14-Vue3快速上手
目录 1.Vue3简介2. Vue3带来了什么2.1 性能的提升2.2 源码的升级2.3 拥抱TypeScript2.4 新的特性 1、海贼王,我当定了!——路飞 2、人,最重要的是“心”啊!——山治 3、如果放弃,我将终身遗憾。——路飞 4、人的梦想是…...

Docker registry 搭建
1、安装 docker 环境 参考:https://mp.csdn.net/mp_blog/creation/editor/104673841 2、准备 registry 镜像 机器有外网访问权限,直接 docker pull registry 通过 docker images 查看本地镜像 3、启动 registry docker run -d -p 5000:5000 --rest…...

关于三维布尔运算的几点思考
目录 三维布尔运算概述三角网格布尔运算效率提升思考BSPTree方式优化 参考 三维布尔运算概述 三维布尔运算根据三维实体数据结构表达分为CSG布尔运算、Brep布尔运算、三角网格布尔运算等类型。这几种类型算法在不同情境下有不同的优势,根据情况进行选择。但这也不能…...

【03.04】大数据教程--html+css基础
当谈到大数据时,HTML和CSS可能并不是最相关的技术。HTML和CSS主要用于构建网页和应用程序的用户界面,而大数据则涉及处理和分析大规模数据集。但是,如果您想展示有关大数据的信息或结果,并在网页上呈现,那么HTML和CSS可…...

深入理解与实践Seata:分布式事务解决方案
✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:微服务 🥭本文内容&…...

Python学习笔记 - 探索元组Tuple的使用
欢迎各位,我是Mr数据杨,你们的Python导游。今天,我要为大家讲解一段特殊的旅程,它与《三国演义》有关,而我们的主角是元组(tuple)。 让我们想象这样一个场景,三国演义中的诸葛亮&am…...

JAVA网络编程(一)
一、什么是网络编程 定义:在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 应用场景:即时通信,网游,邮件等 不管什么场景,都是计算机与计算机之间通过网络在进行数据传输 java提供一…...

Python 线程队列
文章目录 Python 中的线程在 Python 中使用队列限制线程 本篇文章将介绍限制 Python 中的活动线程数。 Python 中的线程 Python 中的线程允许多个执行线程在单个进程中同时运行。 每个线程独立于其他线程运行,允许并发执行并提高性能。 线程对于执行受 I/O 限制或…...

创建web后端程序(servlet程序搭建)
目录 一、Servlet概述 二、创建servlet程序 1.创建类继承HttpServlet 2.重写HttpServlet类中 service、destroy、init方法 3.重新启动服务器 一、Servlet概述 Server Applet的简称,用Java编写的服务器端的程序。它运行在web服务器中,web服务器负责…...

【章节1】git commit规范 + husky + lint-staged实现commit的时候格式化代码
创建项目我们不多说,可以选择默认的,也可以用你们现有的项目。注意章节1和章节2请一起看! 章节1: commit规范 husky lint-staged格式化代码 章节2: husky 检测是否有未解决的冲突 预检查debugger 自动检查是否符合commit规范 前言&#x…...