打印本文 打印本文  关闭窗口 关闭窗口  
广播风暴及其主要应对手段详解
作者:陈鹏  文章来源:eNet  点击数  更新时间:2009/9/9 21:37:27  文章录入:陈鹏  责任编辑:陈鹏

引言

  晚唐诗人许浑曾写过一首诗《咸阳城东楼》,其中有一句名句,被传诵千古:山雨欲来风满楼。

  “山雨欲来风满楼”,是全诗的警句。周围的群山,雨意越来越浓,大雨即将到来,城楼上,已是满楼的狂风。全句只有寥寥七个字,却十分形象地写出了山城暴雨即将来临时的情景,使读者仿佛身临其境一般。因为这里作者准确地抓住了暴雨到来前狂风满楼的这种自然界变化的特点。但是,作者并不仅仅只是写自然界的变化,而是包含着另外一层意思。

  其实,不仅在自然界中有“山雨欲来风满楼”,在由比特组成的数字虚拟世界中,同样也存在“山雨欲来风满楼”的情景。这,就是网络中的广播风暴。广播风暴你也许没有听说过,但,你或多或少曾经遇到过广播风暴。

  本文将就广播风暴的定义、原因、以及应对手段等方面做一番阐述。

  什么是广播风暴

  要理解什么是广播风暴,就必须先理解网络广播。

  网络上的一个结点,它发送一个数据帧或包,被传输到由广播域定义的本地网段上的每个节点就是广播。

  网络广播分为第2层广播和第3层广播。第2层广播也称硬件广播,用于在局域网内向所有的结点发送数据,通常不会穿过局域网的边界(路由器),除非它变成一 个单播。广播将是一个二进制的全1或者十六进制全F的地址。而第3层广播用于在这个网络内向所有的结点发送数据。第3层广播也支持平面的老式广播。广播信息是指以某个广播域所有主机为目的的信息。这些被称为网络广播,它们所有的主机位均为ON。

  网络广播分为广播、单播、组播。

  硬件组播(multicasting)是一种多点投递的形式,它使用硬件技术,通过使用大量组播地址来通信。当某一组机器需要通信时,选择一个组播地址,并配置好相应的网络接口硬件,识别组播地址,从而收到该组播地址上分组的拷贝。

  广播(broadcasting)是多点投递的最普遍的形式,它向每一个目的站投递一个分组的拷贝。它可以通过多个单次分组的投递完成,也可以通过单独的 连接传递分组的拷贝,直到每个接收方均收到一个拷贝为止。在多数网络中,用户是通过把分组分送给一个特殊保留的地址即广播地址(broadcast address)来进行广播投递,它的主要缺点是会耗费大量的主机资源和网络资源。

  单播(unicasting)是指只有一个目 的地的数据报传递。从投递目的地的数量而言,单播和广播均可看作是组播的一个子集。单播可以看作仅包括一台机器群组的组播;广播可以看作包含了所有机器群 组的组播。但从数据报的投递方式而言,单播、广播和组播还是有较大的区别。

  同理,由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴。

  网络设备的基础知识

  不论干什么,知其然,还要知其所以然。 我们必须了解一下网络设备的工作原理,才能有效理解网络的广播风暴的发生原因,才能有针对性的去解决广播风暴。目前,局域网中的网络设备,基本上都是交换机。

  交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。

  集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软件支持的硬件设备。它曾被广泛应用到各种场合。集线器在局域网环境同网卡一样,应用于OSI参考模型第一层,因此又被称为物理层设备。集线器内部采用了电器互联,当维护局域网的环境是逻辑总线或环型结构时,完全可以用集线器建立一个物理上的星型或树型网络结构。在这方面,集线器所起的作用相当于多端口的中继器。其实,集线器实际上就是中继器的一种,其区别仅在于集线器能够提供更多的端口服务,所以集线器又叫多口中继器。

  但现在,集线器在很多场合中,已经被交换机取代。

  交换机和集线器看起来很相似,但它们还是有本质的区别。唯有了解这些区别,我们才能不难理解为什么在交换机环境中也会发生网络广播风暴。

  用集线器组成的网络称为共享式网络,而用交换机组成的网络称为交换式网络。共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网络 用户数的增加而递减。这是因为当信息繁忙时,多个用户可能同时“争用”一个信道,而一个信道在某一时刻只允许一个用户占用,所以大量的用户经常处于监测等待状态,致使信号传输时产生抖动、停滞或失真,严重影响了网络的性能。

  在交换式以太网中,交换机提供给每个用户专用的信息通道,除非两个源端口企图同时将信息发往同一个目的端口,否则多个源端口与目的端口之间可同时进行通信而不会发生冲突。

  通过实验测得,在多服务器组成的局域网中,处于半双工模式下的交换式以太网的实际最大传输速度是共享式网络的1.7倍,而工作在全双工状态下的交换式以太网的实际最大传输速度可达到共享式网络的3.8倍。

  交换机只是在工作方式上与集线器不同,其他的如连接方式、速度选择等与集线器基本相同,目前的交换机同样从速度上分为十兆、百兆和千兆等几种,所提供的端口数多为8口、16口和24口几种。交换机在局域网中主要用于连接工作站、集线器、服务器或用于分散式主干网。

  引发广播风暴的原因及对策

  经过对网络设备的简单了解,我们可以知晓引发广播风暴的原因,唯有知道原因我们才能对症下药处理网络的广报风暴问题。

  广播风暴的产生有多种原因,如蠕虫病毒、交换机端口故障、网卡故障、链路冗余没有启用生成树协议、网线线序错误或受到干扰等。从目前来看,蠕虫病毒和ARP攻击是造成网络广播风暴最主要的原因。虽说如今网络广播风暴已经很少见了,但在一些使用集线器的网络中仍然非常常见。解决网络广播风暴最快捷的方法是给集线器断电然后上电启动即可,但这只是治标不治本的方法,要彻底解决,最好使用交换机设备,并划分VLAN、通过端口控制网络广播风暴。否则,如果广 播风暴是由于网卡损坏所致,要从上百台计算机找出故障计算机简直就是大海捞针,那将是网管员的一场噩梦。

  下面就几个引发广播风暴的原因及其对策进行阐述。

  误将智能型集线器作为交换机引发广播风暴

  采购人员或者奸商将智能型集线器当作交换机使用,这样,当网络稍微繁忙时,由于集线器的天生缺陷,故引发了广播风暴。

  对策:检查所使用的网络设备是否交换机,如果不是则更换正确的交换机,切记不要使用集线器。

  网线短路导致广播风暴

  压制网线时没有做好,或者网线表面有磨损导致短路,会引起交换机的端口阻塞,因为现在交换机大多都使用存储转发技术,它的工作原理是对某一段数据包进行分 析判断寻址,并进行转发,在发出前均存储在交换机的缓冲区内,当网线发生短路时,该交换机将接收到大量的不符合分装原则的包,造成交换机处理器工作繁忙, 数据包来不及转发,从而导致缓冲区溢出产生丢包现象,导致广播风暴。

  对策:使用MRGT等流量查看软件可以查看出现短路的端口,如果交换机是可网管的,也可以通过逐个封闭端口来进行处理查找,进而找到有问题的网线。找到短路的网线后,更换一根网线。

  接入层拓扑环引发广播风暴

  当网络中存在环路,就会造成每一帧都在网络中重复广播,引起广播风暴。要消除这种网络循环连接带来的网络广播风暴可以使用STP协议(生成树协议),以网络中一台交换机为节点生成一棵转发树,这样所有的数据都只在这棵树所只是的路径上传输,就不会产生广播风暴——因为树没有环路。但因为STP算法开销太 大,交换机默认都没启用该协议。

  对策:在接入层启用树生成协议,或者在诊断故障时打开树生成协议,以便协助确定故障点。在广播风暴发生时,应首先了解发生故障前网络的改动,建立完善的网络文 档资料,包括:网络布线图、IP地址和MAC地址对应表等,现在可以通过局域网工具软件来扫描获取这些信息。

  傻瓜交换机拓扑环引发广播风暴

  可网管的交换机由于具备树生成协议功能,可自动切断级联交换机之间的冗余端口,避免网路偶拓扑环的产生,但这个功能,傻瓜交换机并不具备。在同一傻瓜交换 机上的不同端口,或傻瓜交换机之间有冗余的连接,就导致网络拓扑环的发生,进而导致网络广播风暴,造成网络通讯失败。

  对策:用于级联交换机的跳线应当做一些特殊标记,最好选择使用不同颜色的跳线,与其他普通跳线相区别。

  网卡损坏或者交换器端口损坏引发广播风暴

  当交换机有一个端口传输速率非常缓慢,最后导致整台交换机都慢下来,如果交换机是可网管型的,可通过控制台检查交换机的状态,如发现交换机的缓冲池增长的非常快,达到90%乃至更多。一般来说,这种原因是因为交换机与所连接的计算机之间发送大量的广播造成,通常是因为连接该计算机的网卡损坏,导致不断的发送广播包造成,也有可能是因为网卡与交换机形成了回路,广播包阻塞不能及时发出。

  对策:可将其他正常的计算机接到有问题的端口 上,如果故障解决,则是原先计算机的网卡损坏或网络故障所致,更换新网卡并检测线路及网络配置即可解决。如果故障依旧,则说明原先计算机的网卡未损坏,可能是交换机的该端口已损坏,检查该端口的指示灯,如确认是该端口损坏,应及时将交换机送修或者将计算机连接到其他端口,注意,不要擅自修理交换机,否则损坏交换机得不偿失。

  蠕虫病毒引发广播风暴

  当网络中某计算机感染蠕虫病毒时,如Funlove、震荡波、RPC等病毒,如果查看该网卡的发送包和接收包的数量时发现发包数在快速增加,则说明该计算机感染了蠕虫病毒,通过网络传播,损耗大量的网络带宽,引起网络堵塞,导致广播风暴。

  对策:为每台计算机安装杀毒软件,并配置补丁服务器(WSUS)来保证局域网内所有的计算机都能及时打上最新的补丁。

  ARP攻击导致广播风暴

  计算机不断出现IP地址冲突的提示,重启后不久就重新出现这种情况,升级到最新病毒库却未查出病毒。这种现象,是因为局域网中有计算机感染了病毒,不断的向局域网发送广播,并采用了IP地址欺骗和MAC地址欺骗的方法以躲过扫描。也有可能是有人在局域网中使用了黑客软件,如网络执法官、网络剪刀手等黑客软 件,对局域网进行攻击,也是采用了ARP攻击导致了广播风暴。

  对策:激活防止ARP病毒攻击。在路由器中打开该选项,或者为计算机安装防范ARP攻击的软件,如360安全卫士的局域网ARP攻击拦截的保护功能等;对 局域网内每一台计算机绑定网管的IP和其mac地址;给每一台计算机安装最新补丁,最好通过在局域网内架设补丁服务器(WSUS)来确保每一台计算机都能 打上最新的补丁程序,如关键更新、安全更新和Service Pack;给系统管理员帐户设置足够复杂的强密码;经常更新杀毒软件的病毒库和网络软件防火墙的规则库;关闭一些不需要的服务;不随意点击聊天工具里出现 的超链接、邮件的附件和来历不明的程序。

  网络视频引发广播风暴

  部分视频网络传输设备为了便于网络视频点播,常常采用UDP的方式,以广播数据包的形式对外进行发送,如果在专用网络中也使用这种方式,很容易引发广播风暴,导致网络阻塞,因此必须通过相关设置来杜绝这类故障。

  对策:将视频网络传输设备所连接的交换机端口进行一些设置,对设备本身的网络传输模式以及传送协议类型进行更改,消除网络广播风暴。

  恶劣环境引发广播风暴

  如不合适的温度、湿度、震动和电磁干扰等,尤其是电磁干扰比较严重的环境下,同样也有可能会使网络变得不稳定,造成数据传输错误,引发广播风暴。

  对策:要严格执行接地要求,特别是涉及远程线路的网络转接设备,否则达不到规定的连接速度,导致在联网过程中产生莫名其妙的故障;另外在建网之初必须考虑尽量避免计算机或者网络介质直接暴露强磁场中,如电磁炉、高压电缆、电源插头处等等;定期对计算机进行清洁工作。

  总结

  作为网管员,在面对网络广播风暴发生时,要冷静分析广播风暴产生的原因,可使用笔者曾在2007年的《网管员世界》的几篇文章提到的二分法、排除法、替换法和网线插拔法等多种方法综合运用,一步一步地进行故障排除,快速定位引发广播风暴的故障点,查出引发广播风暴的原因,及时采取相应措施来消灭广播风暴。

  总的来看,要解决广播风暴的问题,可以从以下几个方面入手:

  一、在局域网中安装WSUS补丁服务器,保证局域网所有计算机都能及时打上最新的补丁。

  二、最好在局域网内安装网络版的防毒服务器,如无条件这,起码也得保证单机版的防毒软件的病毒库是经常更新的。

  三、检查每一台计算机的网卡、网线和交换机的每一个端口,检查是否有故障。

  四、当广播风暴发生时,观察交换机的指示灯不啻为很好的方法,可直接观察网络连通性及网络流量。

  要避免广播风暴,可以采用恰当划分VLAN、缩小广播域、隔离广播风暴,还可在千兆以太网口上启用广播风暴控制,最大限度地避免网络再次陷入瘫痪。当端 口接受到大量的广播、单播或组播的包时,就会发生广播风暴。转发这些包会导致网络速度变慢或超时,在交换机上借助对端口的广播风暴控制可以有效避免硬件损 坏或链路故障导致的广播风暴的网络瘫痪。

  从笔者的实际经验来看,90%以上的网络广播风暴是病毒所致,因此,在局域网中配备防病毒系统,购置IDS入侵检测系统、网络流量检测工具等,以加强网络 病毒的防治,加强对网络线路运行状态的监控,及时发现和处理网络上的异常流量和病毒攻击等问题,并制定计算机安全管理制度,确保网络线路的正常运行。

打印本文 打印本文  关闭窗口 关闭窗口