“主动提供的 ARP 模式”是什么意思?

2 linux

据我所知,arping 请求另一个 mac 信息,其中包含另一个 IP 地址的主机。

但是,我无法理解带有 -U 选项的 [Unsolicited ARP mode]。

# arping -i
arping: invalid option -- 'i'
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
  -f : quit on first reply
  -q : be quiet
  -b : keep broadcasting, don't go unicast
  -D : duplicate address detection mode
  -U : Unsolicited ARP mode, update your neighbours
  -A : ARP answer mode, update your neighbours
  -V : print version and exit
  -c count : how many packets to send
  -w timeout : how long to wait for a reply
  -I device : which ethernet device to use (eth0)
  -s source : source ip address
  destination : ask for what ip address

# arping 10.10.10.50                                            
ARPING 10.10.10.50 from 10.10.10.32 bond0                  
Unicast reply from 10.10.10.50 [XX:XX:XX:XX:XX:XX]  0.706ms
Unicast reply from 10.10.10.50 [XX:XX:XX:XX:XX:XX]  0.692ms
......

# arping -U 10.10.10.50
bind: Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)

我正在使用 CentOS 6.2。谢谢。

小智 5

在正常情况下,如果机器 A 生成 ARP 请求,那么它将拥有自己的以太网 (MAC) 地址和机器 B(机器 A 想要发现其 MAC 地址的机器)的 IP 地址。该 ARP 数据包将在以太网网络上广播,并且将从机器 B 向机器 A 发送单播回复,其中包含机器 B 的 MAC 地址。一旦机器 A 收到机器 B 的回复,它就会更新它的 ARP 缓存;换句话说,它将机器 B 的 IP 地址与其 MAC 地址相关联。

在主动 ARP 中,机器 A 生成的数据包将拥有自己的以太网地址(就像正常情况一样),但数据包将具有机器 A 的 IP 地址,而不是添加机器 B 的 IP 地址。这样的 ARP 数据包用于更新邻居的 ARP 缓存。也就是说,例如,如果机器 A 的 IP 地址发生变化,那么它可以生成这样的 ARP 数据包,一旦网络中的所有其他机器都收到该数据包,它们就可以使用机器 A 的新 IP 地址更新其本地缓存。