图13 TCP/IP网络模型帧封装示意图
在TCP/IP网络模型中,不同的分层封装了不同的信息。数据链路层主要封装了源MAC及目的MAC地址等信息,网络层主要封装了源IP与目的IP等信息。因此,通过对网络中报文进行解包,可以获取到网络中正在进行通信的所有IP与MAC映射关系,通过计算可以分析出是否存在IP地址冲突(即不同MAC地址映射为相同IP地址)。但是由于企业级网络环境复杂且报文数据量较大,该方法的实现成本较高。
3.方案三:ARP报文检测
通过网络流量采集,对所有ARP流量进行实时推送至大数据分析平台,发现同段时间内,存在宣告同个IP对应多个不同MAC地址,则判定为IP地址冲突。具体实现方法:网络采集设备精准过滤ARP流量并推送出来,推送的报文格式为:发送者MAC(宿主机)、目标MAC全为F(广播)、通告IP、时间戳、交换机名称。大数据平台接受到此数据后,判定同秒(或更短)之内是否存在同个通告IP对应多个不同MAC,因在数据采集与推送时带有交换机名称或id的标识,因此,能迅速定位冲突IP所在的网络位置,便于进行相关处置操作,隔离故障源,恢复业务。
4.三种方案优缺点比较
表3 三种不同方案优缺点比较
以上三种方案各有优缺点,我们建议采用“方案一:主机与Syslog监控”与“方案三:ARP报文检测”的组合方案,期望能实现IP地址冲突的快速发现与故障位置定位。