动态ARP检测 引发上网断断续续
www.qz26.com
经过仔细分析、对比,笔者认为自从在接入交换机中启用了防ARP病毒功能后,局域网中才出现了上网不稳定的故障现象,会不会是这项功能在暗中“捣乱”呢?为了验证自己的猜想是否正确,笔者立即将接入交换机的动态ARP检测功能给关闭掉,之后又在对应交换机后台系统,使用“display cpu”命令查看了系统CPU资源消耗情况,果然CPU使用率立即从原先的100%下降到30%左右,对应交换机下面的客户端系统上网速度也恢复了正常。与此同时,另外几台暂时没有关闭动态ARP检测功能的接入交换机,其CPU使用率仍然一直居高不下,并且这些交换机下面的客户端系统上网速度还是断断续续,数据丢包现象仍然十分严重。很显然,局域网中的上网断断续续故障现象,与动态ARP检测功能有关。
ARP检测之原因解密
上网搜索了动态ARP检测功能的工作原理,笔者发现该功能会自动截取来自不信任网络端口发送过来的ARP数据请求,同时会自动验证对应数据包的数据绑定行为是否合法,看看它的地址绑定关系与DHCP绑定表中的是否一致,如果一致的话就对ARP数据包进行放行,要是不一致的话就对ARP数据包进行丢弃,这项功能可以有效地预防中间人攻击,也能防止局域网用户自行修改网卡物理地址和IP地址,避免局域网中发生地址冲突现象。经过进一步了解,笔者发现该功能往往与DHCP嗅探功能配合使用,并且该功能还存在一个明显的缺陷,那就是对ARP数据包的动态检测操作,需要不停消耗交换机系统的CPU资源,如果处理的ARP数据包流量特别大的话,那么交换机系统的CPU资源消耗率就会很高,严重时就能出现CPU资源被100%消耗的现象。
而DHCP嗅探功能在工作的时候,DHCP服务器会将分配出去的动态IP地址,以及客户端系统的网卡物理地址之间的对应关系,自动记录保存到一个地址绑定表中,任何客户端系统进行网络连接的时候,该功能会自动检查数据包的IP地址与网卡物理地址之间的对应关系,看看这种对应关系与地址绑定表中的记录是否一致,如果一致的话就允许目标数据包通过,否则将不允许数据包通过,这种功能可以有效地防止局域网其他不合法DHCP服务器的功能。
当一台交换机系统同时启用了动态ARP检测功能和DHCP嗅探功能的时候,既能有效防范非法DHCP服务器的干扰,又能禁止上网用户随意改动客户端系统的上网地址以及网卡物理地址来偷偷上网,如此一来就能实现安全、稳定相互兼顾的效果;但让笔者感到非常纳闷的是,这里的楼层交换机也是同时启用了这两项功能,为什么它们没有发挥应有的作用呢,反而只有关闭了动态ARP检测功能,才能解决上网断断续续故障现象呢?经过与集成商的沟通、交流,笔者终于找到了问题的答案,原来当交换机系统同时启用了上面两项功能,如果每一台交换机上都划分有相同的虚拟工作子网时,那么广播数据包就会在接入交换机之间不停地被发送或转发,如此一来就会大量消耗交换机系统的CPU资源,最终会引发上网断断续续的故障现象。
ARP检测之故障解决
找到故障原因之后,笔者立即重新调整了各个楼层的接入交换机配置参数,去掉连接视频传输系统的VLAN,并新增加了一台新交换机,让所有使用视频传输系统的客户端系统单独使用新的交换机进行上网,如此一来既能保证原来系统的上网稳定,又能方便管理新的视频传输系统。
总结该故障的排除过程,笔者发现该故障的发生纯属巧合,如果不在楼层的接入交换机中同时增加相同的VLAN,或者这些楼层的接入交换机没有同时启用动态ARP检测功能和DHCP嗅探功能的话,那么这种网络掉线的故障就不会发生。而以往我们在解决网络掉线问题的时候,经常使用的方法就是先观察交换机设备的信号灯状态是否正常,如果不正常的话再尝试重新启动一下交换机后台系统,相信多数网络故障就能被自动解决了。没有想到,这次故障的解决费了这么大麻烦!