今天观察本机ARP信息,顺便查阅资料,发现在Windows Vista/7系统中,客户端主机已经开始主动发送ARP请求单播数据包。这是以往流行的ARP***资料以及协议分析中没有提到的:

ARP caching behavior has been changed in Windows Vista. The TCP/IP stack implementations in Windows Vista comply with RFC4861 (Neighbor Discovery protocol for IP version 6 [Ipv6]) for both the IPv4 and the IPv6 Neighbor Discovery process.

The ArpCacheLife and ArpCacheMinReferencedLife registry entries determine how the ARP cache is maintained in Windows XP and in Windows Server 2003. These registry entries no longer apply to Windows Vista.

In the new Windows Vista TCP/IP stack implementation, hosts create the neighbor cache entries when there is no matching entry in the neighbor cache. ARP cache entry for IPv4 is an example of a neighbor cache entry. After the entry is successfully created in the neighbor cache, the entry may change to the "Reachable" state if the entry meets certain conditions. If the entry is in the "Reachable" state, Windows Vista TCP/IP hosts do not send ARP requests to the network. Therefore, Windows Vista TCP/IP hosts use the information in the cache. If an entry is not used, and it stays in the "Reachable" state for longer than its "Reachable Time" value, the entry changes to the "Stale" state. If an entry is in the "Stale" state, the Windows Vista TCP/IP host must send an ARP request to reach that destination.

参考地址:http://support.microsoft.com/kb/949589

-----------------------
又在一篇文章中看到中文的说明:《Windows Server“Longhorn”和 Windows Vista 中的新增网络功能》

IPv4 的邻居不可达检测
“邻居不可达检测”是 IPv6 的一项功能,允许节点跟踪邻近节点是否可以到达,从而在节点突然不可用时提供更好的错误检测和恢复。下一代 TCP/IP 堆栈还通过跟踪 IPv4 路由缓存中的 IPv4 邻居的可到达状态对 IPv4 通信的“邻居不可达检测”提供支持。“IPv4 邻居不可达检测”通过单播“地址解析协议 (ARP) 请求”和“ARP 应答”消息的交换或依靠上层协议(如 TCP)来确定可达性。利用“IPv4 邻居不可达检测”,基于 IPv4 的通信可通过确定邻近节点(包括路由器)何时不再可到达并报告相关情况而受益。
有关“IPv4 的邻居不可达检测”的详细信息,请参阅《下一代 TCP/IP 堆栈中的性能改进》。