PC是如何检测IP地址冲突的呢的工作原理?

概览

在日常工作中,我们经常会遇到 IP 冲突,尤其是在使用静态 IP 的小型网络中。原因是在某些场景下人们的想法是相似的,总有人想和你用同一个IP。解决 IP 地址冲突需要专业的设备和特殊的配置。很多时候我们没有这样的条件,所以遇到IP地址冲突的时候,我们基本都是在办公室喊:“谁用192.168.1.xx是地址我在用!”。有响应就好了

IP地址冲突

如何解决IP地址冲突,我们今天不做介绍,留待后续文章。让我们看看今天的PC是如何检测IP地址冲突的,了解它的原理对我们以后的工作会有帮助。

PC如何检测IP地址冲突?这涉及到一种特殊的 ARP:免费 ARP手机ip冲突的简单解决方法,我们需要了解它是如何工作的。

免费 ARP 的工作原理

免费ARP,英文名称是Gratuitous ARP,听起来有点奇怪,让人不禁想:ARP还有收费吗?其实没有,Gratuitous 的免费翻译不是很准确,更好的说法应该是:PC 自问自答,无人问。

听上去还是有点难懂手机ip冲突的简单解决方法,我们来看看普通ARP和免费ARP的工作流程。看完你就明白了!

正常的 ARP 工作流程

关于正常的ARP工作流程,相信大部分人都知道一些,我们用下面的例子来简单描述一下:

普通ARP的工作原理

假设3台PC都在一个VLAN中,并且都配置了同一个网段,那么PC1要想访问PC2,首先要获取PC2的MAC地址:

PC1会先发送ARP Request请求PC2的MAC地址:“谁有10.1.1.2,告诉10.1.@ >1.1″; PC2收到后会发送ARP回复:“10.1.1.2 is at 00-00-00-22-22-22”; PC1 收到此回复并将其记录在自己的 ARP 条目中。以后发送到PC2的所有数据都会用这个值填入目的MAC地址。

这就是正常 ARP 的工作原理,是不是很熟悉?让我们看看免费 ARP 的工作原理。

免费 ARP 的工作原理

免费 ARP 何时发送?大多数情况下,当 PC 想要使用某个 IP 地址时。无论是手动配置还是通过DHCP获取,PC都会在正式使用IP地址前发送免费ARP确认IP可用。

我们还是用一个例子来说明:

免费 ARP

假设3台PC都在一个VLAN中,PC2已经配置了地址10.1.1.1/24,由于某种原因,PC1也想使用1< @0.1.1.1/24这个地址:

当PC1配置10.1.1.1/24时,会发送一个特殊的ARP Request报文来请求自己的MAC地址:“谁有10. 1.1.1, tell 10.1.1.1”;如果PC1没有收到任何ARP回复,则表示没有ARP回复网络 如果有人使用地址 10.1.1.1,PC1 可以正常使用;但是如果 PC1 收到 ARP 回复,如本例,PC2 会回复PC1带有ARP回复,说明在这个网络中,已经有人使用了这个地址,存在地址冲突,PC1需要换一个地址。

你不觉得这不是太复杂吗?上面的描述可以用一句话来概括:免费ARP收到回复时表示冲突,没有回复也可以正常使用。

这里有没有疑惑,免费ARP和普通ARP有什么区别?什么样的ARP可以称为免费ARP?下面一起来看看吧。

如何区分免费ARP和普通ARP?

其实,如果要区分免费ARP和普通ARP,只需要看它们的报文内容,如下图: 在普通ARP报文中,发送者IP和目标IP是不同,填写目标IP是目的PC的IP地址;

普通的ARP包

在免费ARP中,发送者IP与目标IP相同,目标IP也填写发送者的IP,如下图所示:

免费 ARP 数据包

一目了然吗?在实际工作中,如果我们抓取一个发送端IP和目标IP相同的ARP包,我们可以断定这个ARP是一个免费的ARP包。

IP地址冲突

一旦您了解了免费 ARP 的工作原理,就很容易了解 PC 是如何检测 IP 地址的。

PC 使用免费 ARP 检测 IP 冲突:

PC发送免费ARP时,如果收到回复,会立即上报给PC的上层模块,告诉操作系统网络中存在地址冲突,这个IP地址不能使用; PC操作系统也会给出类似下图的界面提示:

PC 提示 IP 地址冲突

这是IP地址冲突检测机制。

总结

最后总结一下IP地址冲突检测的工作原理:PC在使用IP地址之前,会先发送一个免费的ARP包:

如果收到回复,说明地址冲突,无法使用此IP;如果没有收到回复,说明网络中没有使用该IP地址的PC,可以正常使用

如果您对IP地址冲突检测机制仍有疑问,欢迎留言讨论!也很高兴大家关注我的头条号,一起讨论网络问题,谢谢!

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论