重复的IP地址-哪个赢?


14

如果IP地址重复,哪个“获胜”?首先,最后是襟翼,不是吗?


请参阅RFC 4862,“重复地址检测”部分。
BatchyX

RFC5227也可能是有用的资源
ytti 2013年

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。
罗恩·莫平

Answers:


17

IPv4:

它将“拍打”。在发送主机(另一台主机或网关/路由器)上,将有一个指向IP的ARP条目,指向其中一个主机的MAC地址。无论ARP条目当前指向何处,数据包都将到达其中一台主机。这将有效中断两个主机的连接。

IPv6:

在配置/激活新地址之前,邻居发现协议将执行重复地址检测(DAD)。当它检测到新的暂定地址已被使用时,它将不会激活该地址,因此“第一台”主机将继续具有连接性。


1
注意:(与所有IPv6一样)仍然存在漏洞。如果两个主机在分配地址时看不到对方,则DAD无法正常工作。因此,您仍然可以最终陷入同一困境。
Ricky Beam

1
是的,当主机彼此看不见时,DAD将无法正常工作,但这不是IPv6问题。如果没有连接,则没有协议可以阻止这种情况的发生。
塞巴斯蒂安·维辛格

3
IPv4也可以执行DAD,DHCP客户端通常可以这样做。但平均而言,我同意v6主机更可能这样做。两种情况下的故障模式几乎相同。
ytti

8

如果IP地址重复,哪个“获胜”?首先,最后是襟翼,不是吗?

最近六个小时,我一直在思考这个问题……我认为最合适的答案是“没人赢”

换句话说,至少有两台计算机无法可靠使用。此外,您正在花费时间解决问题,而该时间本可以用于生产力更高的产品上。长期担任网络工程师的任何人都知道,时间是我们经常缺乏的一件事。

防止IP冲突的基本解决方案

IP冲突表明IP分配过程基本中断或缺乏良好的IP分配过程。如果过程有错误,则应迅速解​​决此类问题;否则,您可能会在此类战术问题上花费过多的时间。

主动计划可以使用:

  • PC的DHCP
  • 服务器的静态DHCP预留
  • 交换机端口上的DHCP监听
  • 交换机端口上的IP Source Guard
  • 交换机端口上的动态ARP检查

在Cisco IOS中,IP Source Guard和DHCP监听配置看起来像:

!! NOTE: Source guard requires DHCP Snooping global config
!! NOTE: Source guard requires DHCP Snooping on vlan
!! NOTE: Source guard *static* bindings REQUIRE DHCP snooping on the switch
!!     (even if you aren't using DHCP anywhere else)
ip dhcp snooping
ip dhcp snooping vlan 100,200
!
! static Source Guard binding for a non-DHCP device
ip source binding 0011.2233.4455 vlan 100 10.71.2.85 interface GigabitEthernet 5/48
!
interface GigabitEthernet 4/1
 description For DHCP_SERVER port
 switchport access vlan 200
 ! Trust DHCP server ports
 ip dhcp snooping trust
!
interface GigabitEthernet 5/20
 description For DHCP_PC port
 switchport access vlan 200
 no ip dhcp snooping trust
 ip verify source
!

这样的解决方案将在IP冲突开始之前防止它们发生。如果您已经遇到问题,我将开始制定解决方案。这只是一种可能的解决方案。


5

对于IPv4,发送到重复地址的IP数据包将被发送到ARP缓存中当前的MAC地址。仅当两台主机都向发件人发送ARP答复并摆动ARP条目时,才会发生摆动。如果没有收到ARP答复,则与重复IP的所有者之一之间的连接会很好。

因此,最后一个回答(或已经回答)ARP请求的主机将“获胜”。该竞赛将为每个希望与重复IP通信的新主机举行。

您可以通过定期发送免费的ARP来限制竞争。


4

如果没有ARP条目(另一位主持人想与dup交谈),则谁先回答就获胜;并且主机(和许多路由器)有时会缓存ARP条目数小时。


1
最后一个答案不赢吗?ARP可以缓存很长时间,但是我认为当新的ARP答复到达时,该条目将被覆盖。第二个答案将覆盖第一个答案。第一个数据包可能最终到达第一个应答的主机,但是在收到第二个答案后,您将切换为向该主机发送数据包。
Gerben

1

通常,在发生冲突之前可以避免此类事件。
免费ARP可帮助主机确定其他主机是否已经在使用特定IP地址。发送主机不希望得到答复,这意味着给定的地址未被其他主机使用。如果收到答复,则会显示错误消息“重复的IP地址...”。这是配置错误的警告信号。这没有提供任何应对方案来解决该问题。

DHCP服务器通常执行地址冲突检测(ACD)[RFC5227],以避免此类冲突。它由ARP探测和ARP通告包组成。ARP探测是一种特殊的ARP数据包,其中“发件人的协议地址”字段设置为0。这样做是为了避免缓存污染。另一方面ARP公告与ARP探针类似,但具有“发件人的协议地址”和“目标协议地址”字段。它用于宣布发件人使用相应IP地址的意图。
建立新的接口链接后,将在等待随机时间(范围为0-1)之前发送三个ARP探测数据包。在发送这些探测时,该节点可能会收到ARP请求答复。甲答复表示使用给定的IP地址的另一节点的存在。甲请求含有在它的目标协议地址字段中的IP地址相同意味着另一节点尝试获取相同的IP地址。在这两种情况下,都会显示一条错误消息,并寻求替代的IP地址。通过DHCP分配地址时,建议采取这种行为。如果发送节点没有发现任何冲突,则可以声明填充发件人协议地址的IP地址。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.