“未经请求的 ARP 模式”是什么意思?

“未经请求的 ARP 模式”是什么意思?

据我所知,arping 请求另一个 mac 信息,该信息上保存着另一个主机的 IP 地址。

但是,我无法理解带有 -U 选项的 [未经请求的 ARP 模式]。

# 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

我正在使用 CentOS 6.2。谢谢。

答案1

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

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

相关内容