检测IP冲突

在我以前的雇主,当我们有两个系统具有相同的IP地址 – 特别是如果他们是Windows系统,我们会在我们的系统上看到一个窗口popup窗口,说:“Windows已经检测到IP冲突”。

在我的新雇主,我们有知识产权冲突,并没有出现这个信息。 有什么不同,导致窗户行为不同? 我们的networking交换机上是否有某些function需要启用,或者可能在防火墙/网关级别?

我应该在两个networking中声明IP地址是静态分配的 – 不使用DHCP。

如果您通过静态分配来pipe理地址,则可能会发生冲突。

从交换机的angular度来看,很难区分何时谈论冲突。 如果您已经实现了具有可以在节点之间进行故障切换的共享地址的集群,则在某个时间点,预计存在地址冲突(直到在整个networking上接收到通知)。

DHCP 这种问题的解决scheme(即使在特定情况下也可能会出现冲突)。 根据networking的大小,我强烈推荐考虑使用DHCP(这也给你一些额外的选项,你可以轻松处理)。

编辑:

似乎有使用DHCP的好处混淆。 在networking中使用DHCP(甚至在通过中继等在防火墙上设置多个networking时),您有一个关键networkingconfiguration的中心点,提供地址,网关和其他运行时configuration,如DNS,NTP和其他许多服务。

因此,DHCP可以帮助您很好地组织networking中地址的使用和分配。 到目前为止,它并没有取代任何文件 – 在目前状态下(因为有冲突)似乎已经失踪。

检查RFC5227和下面的KB。 它解释更多的过程。 正如你可以看到它使用ARP数据包,可以在交换机级别/本地防火墙级别阻止。

  1. 后续的被动检测,networking上的另一台主机无意中使用相同的地址。 即使所有主机都遵守预防措施以避免使用已经在使用的地址,但是如果在初始接口configuration时两个主机不在通信中,冲突仍然会发生。 如果主机暂时超出范围,则可能出现无线networking接口,或者如果两个以太网集线器之间的链路在地址configuration时不起作用,则可能出现以太网接口。 devise良好的主机不仅能处理接口configuration过程中检测到的冲突,还能处理稍后检测到的冲突,在主机使用该地址的整个过程中(见第2.4节)。

最重要的是检查kb: https : //support.microsoft.com/en-us/kb/120599

在系统启动时,当IP协议初始化时,它发送一个包含自己的MAC和IP地址的ARP请求,以便其他计算机可以更新它们的ARPcaching。 如果已经有一台计算机使用IP地址,则“旧”计算机将响应包含其MAC和IP地址的ARP应答,表明存在冲突。 不幸的是,许多其他计算机可能已经用新映射更新了它们的ARPcaching。 那时,正在初始化的“年轻”计算机需要做两件事情:

修复所有受影响的计算机上的ARPcaching。 停止使用重复的地址。 运行Microsoft TCP / IP的计算机将发出一个新的ARP广播,​​以重新映射所有受影响的计算机上的ARPcaching。 这个新的ARP将包含IP地址的老所有者的MAC地址和IP地址。 在发送这个ARP之后,较年轻的机器上的IP协议会将问题报告给用户,堆栈将会closures。 只有获得唯一的地址,才能重新启动堆栈。 请注意,如果加载了另一个协议(如NetBEUI),则此时计算机仍然可以运行。