(3).交互导致的广播风暴
什么原因导致交换机的地址转发表丢弃了ADSL路由器内网接口的物理地址昵?有两种情况:一是缺省情况下,5分钟内,如果交换机没有接到某个设备发送的数据帧,则认为该设备已经宕机,为节省资源,将从CAM表中删除该地址。二是当STP协议探测到网络拓扑有改变时,将清空所有未刷新的CAM表项。假定此时有人因为不能上网而重新启动主机,或插拨网线,则会引起交换机端口状态发生变化。此时,交换机认为网络拓扑发生了变化,它的下—个动作是通知所有交换机,15秒内清除未被刷新的地址转发表表项。
这里的“未被刷新”是指,交换机没有收到以该物理地址为源地址的数据帧,也就是说,该设备没有发送数据帧经过交换机到其他设备,那么该设备的物理地址在交换机的地址转发表中将被清除。以后,所有以该设备物理地址为目的地址的数据帧,虽然不是广播帧,也将被发送到交换机的所有端口,这就是平时所说的广播风暴。
(4).故障形成过程
通过上面的分析,最后回到我们的例子理一理这次故障形成的过程。在傀儡机的攻击行为开始后,小小的ADSL路由器每秒要接收、处理不少于l5o00个数据包,它纵然是有三头六臂,也没机会向交换机发送数据包了。也就是说,它现在是只有接受没有发送,没办法刷新交换机cAM表中的相关表项。那么,快的话15秒后,慢的话5分钟,交换机就会清除ADSL路由器的物理地址记录。别忘了,此时攻击数据流并没有停止,而这些攻击数据帧恰恰是以ADSL路由器物理地址为目的地址的,这样,灾难发生了,所有数据帧被广播到网络中每台交换机中的每—个端口。
6.解决方案
这此网络故障从表面上看是由一台傀儡主机引起的,具有一定的偶然性。但从根本上来说是必然,不合理的网络结构是造成这次故障的关键因素。笔者给出的解决方案是:
(1).将充当傀儡机的电脑从网络中断开后,重新安装系统,彻底杜绝隐患。
(2).加强本地网络安全防范措施的同时,对原网络结构进行调整:据不同应用分成几个VLAN,将可以上网的机划分到某个特定VLAN中,限定此类故障的影响范围。
(3).将连接主机的端口配置为STP速端口,不参与STP协议,可以减少网络中交换机不
必要的拓扑改变操作。
就这次网络排错笔者的启示是:网络排错类同于医生治病,庸医往往是“头痛医头,脚痛医教”不会从根上进行医治,而高明的医生却往往是治本。网络排错何尝不是呢?