IP地址冲突是指在局域网中某主机配置了与其他主机相同的IP地址导致原主机无法正常处理业务,这种信息故障事件对于实时交易业务尤其是金融行业业务会带来严重影响,快速检测网络中IP地址冲突并定位至关重要 。下文将分析不同IP地址冲突场景,整理传统日志监控方式以及研究两种报文采集定位方法,旨在实现快速检测定位,提高运维效率 。
数据报文转发与IP地址冲突过程测试ARP地址解析是主机发现从网络层IP地址到链路层MAC地址之间映射关系的过程 。地址解析协议ARP运行的关键是维护每个主机和路由器上记录了IP地址与MAC地址映射关系的ARP高速缓存表 。下图中当主机B需要给主机C发送数据包时,B只知道C的IP地址,通过查询主机B的ARP高速缓存表未找到IP对应的MAC地址,导致主机B的数据连路层无法封装MAC帧,无法给主机C发送数据包 。
图1 主机B通过ARP高速缓存表查找主机C的MAC地址
为获取主机C的MAC地址以便于给主机C发送报文,主机B需要广播一条ARP请求报文,来请求目的IP地址的MAC地址 。主机C在接收到B的广播帧之后,首先将B的IP与MAC映射关系记录到其ARP高速缓存表中,随后发送ARP响应告知自己的MAC地址 。
图2 主机B广播ARP请求报文
主机B在接收到C的ARP响应后将MAC地址记录在自己的ARP高速缓存表中,随后就可以封装MAC帧给主机C发送数据包,其他主机接收到之后不予理会 。
【??IP地址冲突检测方法研究与实践 怎么查ip地址是否冲突】图3 主机C发送ARP响应报文
地址解析协议ARP还有另外一个功能免费ARP,此功能的主要作用是为了检测IP地址冲突 。免费ARP是一种特殊的ARP请求,当主机启动的时候,发送一个免费ARP请求,请求自己的IP地址的MAC地址 。
图4 免费ARP请求报文
免费ARP请求通常有两个目的,第一个目的是当IP地址更改了对应的MAC地址时通过该ARP请求告知局域网内其他主机更新ARP高速缓存表 。第二个目的则是确定局域网中是否有主机配置了与自己相同的IP地址 。对于第二个目的来说,主机并不希望收到此请求的响应,因为一旦收到响应就证明有另一台主机也配置了相同的IP地址,网络中发生了IP地址冲突 。
图5 免费ARP响应报文
基于免费ARP报文可以检测是否存在IP地址冲突 。为测试不同操作系统在IP地址冲突时ARP交互情况,我们搭建如下测试环境,通过更改主机的IP地址配置来模拟IP地址冲突 。
图6 ARP交互实验环境示意图
下文以测试Linux系统下IP地址冲突时ARP交互情况实验为例,实验如下 。
1.实验过程
(1)使用Linux B(192.168.198.130)长ping Linux C(192.168.198.131),同时Linux C 长ping Linux B来模拟B主机与C主机之间正常的网络通讯 。
图7 B主机与C主机互相发送ping包模拟网络通讯
(2)将Linux A(192.168.198.129)的IP地址修改为192.168.198.130,以此模拟Linux A主动制造了与Linux B的IP地址冲突 。
推荐阅读
- 提示检测到液体处理方法 苹果手机没有进水但是显示有液体怎么关闭这个提示
- 室内甲醛多少才正常啊怎么检测
- 四份位数指的是什么 把一个地址拆分出几个地址
- 为什么微信朋友圈显示外国地址
- 为什么我的本地连接物理地址老变
- 华为的wifi能看上网记录吗 鸿蒙系统联网后在哪查看ip地址
- 回弹法检测混凝土强度
- 电压检测线作用 广州锂电池检测设备功能
- 如何修改自己的DNS服务器地址
- 快手里面如何设置收货地址 快手主页怎么添加详细地址