INTRODUCTION

This article describes the Address Resolution Protocol (ARP)caching behavior in Windows Vista TCP/IP implementations.

本文介绍了在Windows Vista TCP / IP实现的地址解析协议(ARP)缓存行为。

 

More information

ARP caching behavior has been changed in Windows Vista.

ARP缓存行为在Windows Vista中被改变

The TCP/IP stack implementations in WindowsVista comply with RFC4861 (Neighbor Discovery protocol for IP version 6)for both the IPv4 and the IPv6 Neighbor Discovery process. 

IPv4和IPv6的邻居发现过程,在Windows Vista  TCP / IP堆栈的实现上符合RFC4861。RFC4861定义了IPV6的邻居发现协议

The ArpCacheLife andArpCacheMinReferencedLife registry entries determine how the ARP cache ismaintained in Windows XPand in Windows Server 2003. These registry entries no longerapply to Windows VistaWindows NT 6.0.

Windows XP和Windows Server2003中,ArpCacheLife和ArpCacheMinReferencedLife注册表项,确定了ARP缓存是如何保持的。

这些注册表项不再适用于Windows Vista(内核为Windows NT的6.0)

 

下附Windows XP和Windows Server 2003中ARP缓存表项的生存期:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters

修改的键值:

键值1:ArpCacheLife,类型为Dword,单位为秒,默认值为120

键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600

注意:这些键值默认是不存在的,如果你想修改,必须自行创建;

修改后重启计算机后生效

 

详细解释:

关于arp缓存表项的生存期(有效时间) 

 

在默认情况下,Windows Server 2003家族和Windows XP中(These registry entries no longer apply to Windows Vista)

ARP缓存中的表项仅存储2分钟

如果一个ARP缓存表项在2分钟内被用到,则其期限再延长2分钟,直到最大生命期限10分钟为止。

超过10分钟的最大期限后,ARP缓存表项将被移出,并且通过另外一个ARP请求——ARP回应交换来获得新的对应关系(此处个人理解是下一次广播

ARP缓存表项的存放时间可以通过改变ArpCacheLife和ArpCacheMinReferencedLife的注册表值来重新设置。

 

ArpCacheLife

Data type

Range

Default value

REG_DWORD

0x0–0xFFFFFFFF  ( seconds )

0x78  ( 120 seconds = 2 minutes )

 

Location:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Data   Type:  REG_DWORD

Valid   range:  0-0xFFFFFFFF

Default   value:  120

Present   by  default:   No

 

ArpCacheLife设置了未被使用的ARP缓存表项可以被保持的时间。

如果注册表中没有ArpCacheLife项,则ArpCacheLife的默认值是120秒(2分钟)。

 

ArpCacheMinReferencedLife

Data type

Range

Default value

REG_DWORD

0x0–0xFFFFFFFE  ( seconds ) | 0xFFFFFFFF

0x258  ( 600 seconds = 10 minutes )

 

Location:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Data   Type:  REG_DWORD

Valid   range:  0-0xFFFFFFFF

Default   value:  600

Present   by  default:   No

 

ArpCacheMinReferencedLife设置被重复使用的表项可以在ARP缓存中存放的时间。

ArpCacheMinReferencedLife的默认值是600秒(10分钟)。

 

在注册表中ArpCacheMinReferencedLife和ArpCacheLife的值的使用方法如下:

如果ArpCacheLife比ArpCacheMinReferencedLife的值大或与之相等

则被使用和未被使用的ARP缓存表项可存储的时间都是ArpCacheLife。

如果ArpCacheLife比ArpCacheMinReferencedLife的值小

则未被使用的ARP缓存表项在ArpCacheLife秒的时间后就过期了,被使用的表项的生存期为ArpCacheMinReferencedLife秒。

In the new Windows Vista TCP/IP stack implementation, hosts createthe neighbor cache entries when there is no matching entry in the neighborcache.

在新的Windows Vista TCP / IP协议栈的实现,当邻居缓存表中没有匹配的条目时主机创建邻居缓存条目。

ARP cache entry for IPv4 is an example of a neighbor cache entry.

IPv4的ARP高速缓就是邻居高速缓存的一个例子

After the entry is successfully created in the neighbor cache, theentry may change to the "Reachable" state if the entry meets certainconditions.

该条目邻居缓存创建成功后,如果满足某些条件的条目可能更改为“可达”状态。

If the entry is in the "Reachable" state, Windows VistaTCP/IP hosts do not send ARP requests to the network.

如果条目是在“可达”状态中,Windows Vista TCP / IP主机不发送ARP请求到网络。

Therefore, Windows Vista TCP/IP hosts use the information in thecache.

因此,Windows Vista TCP / IP主机在高速缓存区中得到信息。

If an entry is not used, and it stays in the "Reachable"state for longer than its "Reachable Time" value, the entry changesto the "Stale" state.

如果某个条目没有使用,且停留在“可达”状态比其“到达时间”值更久,该条目变为“陈旧”状态。

If an entry is in the "Stale" state, the Windows VistaTCP/IP host must send an ARP request to reach that destination. 

如果项处于“陈旧”状态,Windows Vista中的TCP / IP主机必须发送一个ARP请求到达该目的地(单播)。

 

The "Reachable Time" value is calculated as follows:

Reachable Time = BaseReachable Time × (A random value betweenMIN_RANDOM_FACTOR and MAX_RANDOM_FACTOR)

 

RFCprovides the following calculated results.

BaseReachable Time           30,000milliseconds (ms)

MIN_RANDOM_FACTO      0.5

MAX_RANDOM_FACTOR   1.5        

Therefore, the "Reachable Time" valueis somewhere between 15 seconds (30 × 0.5 seconds) and 45 seconds (30 × 1.5seconds).

因此,“可到达的时间”值是介于15秒(30×0.5秒)和45秒(30×1.5秒)之间

If an entry is not used for a time between 15 to 45 seconds, itchanges to the "Stale" state.

如果该条目在15到45秒之间未使用,它改变到“陈旧”状态。

Then, the host must send an ARP Request for IPV4 to the network whenany IP datagram is sent to that destination.

然后,当任何IP数据报被发送到目的地的主机必须发送ARP请求IPV4到网络。