首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux是否会免费发送ARP或ARP探针(在RFC 5227中定义)

问Linux是否会免费发送ARP或ARP探针(在RFC 5227中定义)
EN

Network Engineering用户
提问于 2015-09-12 07:40:56
回答 3查看 3.3K关注 0票数 8

我做了一个实验来检查Linux在使用目标IP之前是否会发送免费的ARP或ARP探针。

实验情况如下:

有两台Linux计算机,它们都连接到同一个AP上。我首先连接了一个,并使用ifconfig wlan0 192.168.1.30 (这是另一个Linux计算机的默认IP地址)静态地设置IP地址。

然后我使用WPA_supplicant连接另一个,并使用dhclient wlan0获取IP地址。从嗅探器,我没有观察到任何免费的ARP或ARP探针从第二台计算机发送。

只是想知道在什么情况下,linux计算机会发送这两个ARP请求吗?因为在同样的情况下,我观察到我的windows计算机会发送ARP探测器来请求IP。

谢谢

EN

回答 3

Network Engineering用户

回答已采纳

发布于 2016-02-07 17:32:49

在设备上手动配置IP地址不需要设备检查地址冲突。只有当设备配置了自己的IP地址(DHCP等)时,才会发生这种情况。它应该检查地址冲突。

如果手动配置设备,您将不会看到免费的ARP,因为如果设备发现冲突,则无法更改其地址(或请求新地址)。RFC的目的是使配置自己的IP地址的设备能够检测到是否需要更改所获得的IP地址。它可以对像DHCP这样的东西这样做,但是如果手动配置地址,它就无法做到这一点。换句话说,设备必须相信你--人类--知道你在做什么,但它需要验证它自己想出的任何地址是否已经在使用中。

票数 3
EN

Network Engineering用户

发布于 2016-02-07 10:55:29

这里有一个问题,Why would Linux send an ARP probe for an IP that is being locally assigned, it knows who the own of that IP will be (itself!) ? -你正在设置IP,所以你应该知道哪个IP是免费的。当您不检查rm -rf / Linux时,它“只是检查”,因为您应该知道执行该操作是否可以。Windows (例如)有一种握住你的手的习惯,使它成为更白痴的证据(在我看来)。

在MS服务器的情况下,如果您在其中一个服务器上运行数据包捕获(我已经有),您将看到他们在将地址出租给客户机之前会将其平分,以确保它没有被占用,并且不知道它(或者是由于另一个DHCP服务器或静态分配)。

当您将IP分配给Linux上的接口时,不需要发送免费的ARP。如果另一个主机想知道IP1.2.3.4的MAC,它可以发送一个ARP请求。当接口出现时,无偿的ARP是没有好处的。

我知道我在没有确凿证据的情况下发表了很少的声明来支持它们,然而,根据你的问题,你自己也看到了同样的行为。这对我来说是合乎逻辑的。

票数 2
EN

Network Engineering用户

发布于 2016-07-13 02:28:20

Solaris 10及以后支持IPv4的DAD (RFC 5227),用于静态分配的IP地址和动态分配的IP地址。

NetBSD和其他平台(如Ubuntu)上的daemon (dhcpd)支持RFC 5227。

票数 0
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/22416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档