企业内部网络广播风暴的防范*

2013-04-12 13:17:13孙卫庆
湖州师范学院学报 2013年6期
关键词:环路风暴交换机

孙卫庆,楼 平,张 鹰

(国网浙江省电力公司 湖州供电公司,浙江 湖州313000)

企业内部信息网为提高链路的安全性,一般采用双链路配置,并在全网启用生成树协议的方式防止广播风暴的产生.但是,由于生成树协议配置太简单,在信息网链路发生故障、人员误操作的情况下,广播风暴时有发生,从而导致局部网络瘫痪甚至全网中断.本文对几种网络设备加固的方法进行论述.

1 广播风暴产生的原因

网络传输的数据传输方式可分为单播、组播和广播三种.单播(Unicast)就是“一对一”传输方式,单播数据包在通过网络设备时只进行转发而不会复制.组播(Multicast)就是“一对组”传输方式,加入同一个组的主机才可以接受到组播数据包,组播数据包在通过网络设备时会将组播数据包进行复制后向所有已经加入组的端口进行转发.广播(Broadcast)就是“一对所有”传输方式,广播数据包在通过网络设备时会将广播数据包进行复制后向除了广播数据包来源端口以外的所有其他端口发送[1].正是广播数据包的这种自我复制的传输特性,会在网络中诱发广播风暴.广播风暴指过多的无用广播包在网络中传送,从而消耗大量的网络带宽,导致正常的数据包无法正常地在网络中传送的一种现象.广播风暴产生的原因可以分为两类:网络环路和主机软硬件故障.

1.1 网络环路

交换网络中经常通过设置冗余链路来提高网络的可靠性,而冗余链路就会产生网络环路,故具备冗余链路的交换网络均通过运行生成树协议阻断冗余端口的方式来防止网络环路.而在网络运行过程中,由于单向链路、端口故障而导致生成树协议工作异常就会产生网络环路.由于网络环路的存在,广播包会从网络环路回到广播包的起点再次发送,就像滚雪球一样,广播包在网络环路中无法消除,并且越来越多,最后导致网络中充斥大量无用的广播包,从而把网络的所有带宽都消耗殆尽,致使正常的数据包无法通过网络传输,造成数据传输延时、丢包甚至中断.

1.2 主机软硬件故障

硬件方面主要体现在故障网卡.软件方面包括病毒及黑客软件、网络嗅探软件、有BUG 的应用软件等.这些硬件故障或软件的使用均会导致主机不停地向网络发送大量的无用广播包,这些无用的广播包经过多次复制和传播会达到相当庞大的数据流,从而阻塞网络形成广播风暴.

广播风暴可以通过对网络设备进行安全加固的方式来控制,针对网络环路产生的广播风暴.一般有单向链路检测、生成树协议的环路保护功能等措施.针对主机软硬件故障产生的广播风暴一般有端口广播包的控制、配置边缘端口、减少集线器(HUB)的使用等措施.优化网络结构是从拓扑结构上有效遏制广播风暴影响范围,防止广播风暴扩大的重要措施.

2 广播风暴的防范措施

2.1 单向链路检测

单向链路检测是有效防止网络环路的措施之一,思科设备采用UDLD(Unidirectional Link Detection)协议来监听使用光纤或双绞线连接的以太链路,当出现单向链路时,UDLD 协议会关闭相应的接口并发送告警信息.华为设备采用DLDP(Device Link Detection Protocol)协议检测单向链路.单向链路可能引起很多问题,尤其是影响生成树协议的正常运行,造成环路而发生广播风暴.单向链路的故障在使用光纤构成的企业内部信息网比较普遍.光缆断纤、尾纤断纤、光接口或光纤法兰头污垢均会造成单向链路.在配置UDLD 时,链路上的双方设备都必须支持UDLD 协议,并且在各自的端口上都启用UDLD 协议.如果只在一个端口上启用了UDLD,将会使其进入errdisable状态.UDLD 支持两种工作模式,普通模式和激进模式.在普通模式下,检测到单向链路并尝试重建连接失败后,此端口会进入不确定(undetermined)状态,但是不影响数据转发.在激进模式下,检测到单向链路并尝试重建连接失败后,此端口会进入禁止(errdisable)状态,并且停止数据转发.

处理方法:

进入端口配置模式:switch(config)#interface fastethernet0/1.

开启激进模式UDLD:switch(config-if)#udld port aggressive.

链路两端的设备同样配置.

2.2 生成树协议的环路保护功能

生成树协议的环路保护功能是确保生成树安全运行,防止网络由于生成树协议异常而出现网络环路的重要措施.当生成树协议运行时,只有两台交换机之间存在多条冗余链路时,才会阻塞多余链路而只留一条活动链路.生成树协议判断两台交换机之间是否有多条链路,是靠发送BPDU(Bridge Protocol Data Unit),如果从一台交换机的多个端口均能收到另一台交换机的BPDU,则认为这两台交换机之间有多条链路,所以会阻塞多余链路而只留一条.如果只从一台交换机的一个端口收到另一台交换机的BPDU,或者是没有收到重复BPDU,则认为网络是无环的,也就没有端口被阻塞,不需要被阻塞的端口,都会被变为指定端口[2].但是当网络中出现单向链路故障时,也就是某个端口只能收数据而不能发数据,或者只能发数据而不能收数据,最终造成网络中所有的交换机端口都为转发状态,流量在所有端口上被转发,引起广播风暴,出现环路而引起网络瘫痪.单向链路故障不仅会使阻塞状态的端口错误地变成指定端口,还会造成根端口错误地变成指定端口.

对于上述问题,可以通过Loop Guard来解决,开启了Loop Guard的端口在收不到BPDU 的情况下,并不会认为网络是无环的而将此端口变成指定端口,而是将收不到BPDU 的端口变成loop-inconsistent状态,此状态等同于阻塞状态.Loop Guard可以全局开启,也可以在接口下开启,但不建议在全局开启,应在交换机的根端口和阻塞端口开启.

处理方法:

进入端口配置模式:switch(config)#interface fastethernet0/1.

在根端口和阻塞端口开启:switch(config-if)#spanning-tree guard loop.

2.3 端口广播包的控制

当主机网卡故障,主机感染病毒及木马、使用黑客软件和网络嗅探软件对网络进行探测等情况,主机可能会向网络不停地发送大量的广播包或组播包.如果在交换机的端口上不对其进行限制,将接受到的所有广播包和组播包进行复制转发的话,在经过一段时间后,网络上将充斥着这些无用的数据包,消耗了大量的网络带宽,导致正常的数据包无法正常在网络中转发,从而发生广播风暴.通过对端口的广播包和组播包的控制,可以有效地避免因广播风暴爆发导致的网络瘫痪.而交换机在默认配置下是不会对广播包和组播包进行控制的.通过配置端口广播、组播使用带宽的上限来控制广播风暴的爆发.

处理方法:

进入端口配置模式:Switch(config)#interface fastethernet0/1.

抑制广播包占有带宽上限为20%:switch(config-if)#storm-control broadcast level 20.00.

抑制组播包占有带宽上限为40%:switch(config-if)#storm-control multicast level 40.00.

2.4 配置边缘端口

接入交换机在多年运行后,由于设备更换、布线调整、信息点位扩充等原因,需要经常变更交换机端口接入的设备的类型.有时,由于人员误操作将一台交换机的不同端口用一根网线联接起来,或为了扩充信息点,使用一台低端的HUB连接到交换机端口下,而低端的HUB很容易故障而导致网络环路.为了避免此种情况,可以将接入交换机中连接主机的端口设置为边缘端口.

一个默认情况下的交换机端口,在交换机启动后,由于生成树协议的原因,端口状态需要从initialization-blocking-listening-learning-forwarding进行变换,耗时近30s.对于一个连接了主机端口,由于主机不会发送BPDU,故进行生成树协议计算是毫无必要的.通过配置Port Fast功能,便可以使接口跳过生成树协议的计算,从而直接过渡到forwarding状态[3].当开启了Port Fast功能的端口,如果在端口上收到BPDU 后,交换机就会误认为此端口连接的是交换机,而并非主机或服务器,因此在端口收到BPDU后会立即关闭该端口的PortFast功能.而实际上,此端口可能由于发生了环路而产生了BPDU,而环路是产生广播风暴的主要原因.为了杜绝此类错误的发生,可在端口上开启BPDU Guard功能,使端口在收到BPDU 时,立即被shutdown或进入err-disabled状态.如果在实际中,确实需要在此端口下连接交换机,应在连接交换机的同时手动关闭端口的PortFast功能.

处理方法:

进入端口配置模式:switch(config)#interface fastethernet0/1.

在连接主机的端口上配置边缘端口:switch(config-if)#spanning-tree portfast.

在连接主机的端口上开启BPDU Guard功能:switch(config-if)#spanning-tree bpduguard enable.

2.5 减少集线器(HUB)的使用

集线器(HUB)作为一种低端网络设备,价格便宜且安装方便,在扩充信息点和提供快速的网络接入方面具有一定的优势.但是,由于集线器是一种物理层的网络设备,各端口采用共享的方式访问网络.低廉的价格无法保障可靠运行,一旦元器件出现故障,很容易造成不同端口的短接而构成环路,从而引发广播风暴的产生.在企业内部网络中应尽量限制集线器的使用,可采用低端交换机来替代集线器的使用.

2.6 优化网络结构

为了使用方便和节约IP地址资源,企业内部网络大量使用交换网络构建网络系统,并启用生成树协议来提高链路的安全性.交换网络和生成树协议的使用给广播风暴的爆发提供了滋生的土壤,并且增加了广播风暴故障的处理难度.在兼顾使用方便和节约IP地址资源的基础上,尽量限制交换网络的范围.一般以一个园区或一幢大楼构建一个交换网络,交换网络采用路由器或路由交换机与上层相连,从而将广播包的传播限制在一个集中的地点,以减少广播风暴的影响范围,降低广播风暴故障处理的难度.

3 广播风暴故障的检测

如果网络中已经出现响应迟缓、时断时通的现象,一般可认为出现了广播风暴,可以利用如下方法来排障.

检查交换机的CPU 利用率是否变得很高,且大部分的资源都被“Broadcast Storm”、“IP Input”进程占用,则基本可以确定网络中有大流量的广播风暴.

检查方法:

进入全局模式:switch#show processes cpu|exclude 0.00.

查找异常流量是来自哪个端口,如果找到一个端口的input rate非常高,且接收到的广播包也非常多,则基本可以找到故障源.如果该端口下联的也是可管理的交换机,则再次执行此过程,直到找到一个链接主机或HUB的端口,并关闭这个端口.

HT 检查方法:

进入全局模式:switch#show interfaces|include protocol|rate|broadcasts.

4 结 语

笔者所在的企业内部网络有各类网络设备300余台,前几年经常发生广播风暴,多次发生超过30%以上网络设备受到广播风暴影响而无法正常运行的事件,在通过分层分区的网络架构改造,二层网络内的交换机的安全加固工作的实施,从而从源头上遏制了广播风暴的产生,防止因一个小故障而引发的全网瘫痪事故,确保了网络系统的安全运行,使网络运行率水平保持在较高的水平.

[1]刘晓辉.网络设备规划、配置与管理大全(Cisco版)[M].北京:电子工业出版社,2012.

[2]Saadat Malik.网络安全原理与实践[M].王宝生,朱培栋,白建军,译.北京:人民邮电出版社,2008.

[3]David Hucaby.CCNP SWITCH(642-813).认证考试指南[M].王兆文,译.北京:人民邮电出版社,2010.

猜你喜欢
环路风暴交换机
修复损坏的交换机NOS
上海市中环路标线调整研究
上海公路(2018年4期)2018-03-21 05:57:46
使用链路聚合进行交换机互联
《风暴中奔跑的树》
散文诗(2017年12期)2017-08-23 16:07:44
玩转脑风暴
发明与创新(2016年6期)2016-08-21 13:49:38
可怕的大风暴
摇篮(2016年13期)2016-02-28 20:53:17
2015A/W暗黑风暴来袭!
Coco薇(2015年10期)2015-10-19 12:31:52
PoE交换机雷击浪涌防护设计
Buck-Boost变换器的环路补偿及仿真
电测与仪表(2014年8期)2014-04-04 09:19:36
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700
自动化博览(2014年9期)2014-02-28 22:33:16