为啥主机隔一段时间向网关发送ARP请求

我是这么想的,arp通常在电脑的老化时间应该是20分钟,但是在期间,肯定是会不断的刷新arp。也就是说arp的刷新还是会依靠arp报文的发送来刷新。但是这个时候,arp报文的发送,作用在于确认对端是否还在线,而不是要去寻找对端的mac地址。所以可以直接指定mac地址以及ip地址,如果对端在线,那么本端则刷新arp缓存。至于为什么不用广播而直接指定,我认为用广播也可以达到刷新的目的,但是从网络的效用上造成了浪费。因为一个二层网络可能有几百台机器,如果都频繁发送广播报文,则会浪费网络资源,属于不必要的浪费。以上是我自己推断,至于为什么系统要这样发,我觉得得找点windows的资料去看看,因为这个是系统具体实现的事情,应该和协议本身没有关系了。
■网友
【为啥主机隔一段时间向网关发送ARP请求】 ARP 老化机制的一种,叫单播轮训,在 RFC 1122 Requirements for Internet Hosts - Communication Layers 有定义,原文是:
(2) Unicast Poll -- Actively poll the remote host by periodically sending a point-to-point ARP Request to it, and delete the entry if no ARP Reply is received from N successive polls. Again, the timeout should be on the order of a minute, and typically N is 2.

■网友
简单的说,主机得知道路由器的mac地址,才能进行报文转发,而MAC地址是可以改变的
■网友
应该是一种ARP攻击防范技术,因为ARP协议没有任何安全机制,很容易遭到攻击(如ARP伪造),单播的ARP请求可以用来验证其IP与MAC地址之间对应的正确性。参考:技术白皮书 - 产品技术
■网友
很正常的 ,ARP一种是协议,而平时常说的网关一般特指一台网络设备或服务器,
比如在一个局域网内,包括每一台主机和网关,数据的通信是通过MAC地址来确定目标的,
所以要将IP转化成MAC.而ARP就是完成这项功能的协议,将IP地址转化成MAC地址,以进行数据的传输。
网关的mac表满了,如果有新的ip请求,并且在mac表中找不到,网关就会发出arp请求,最常见的是病毒通过伪造的arp包将网关的mac表填满。
可以看一下这个视频,这位作者有很多相关资料的。
DNS原理分析及应用_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili


    推荐阅读