本文提供 TCP/IP 實作中位址解析通訊協定 (ARP) 快取行為的描述。
原始 KB 編號: 949589
簡介
本文說明 Windows Vista TCP/IP 實作中的位址解析通訊協定 (ARP) 快取行為。
其他相關資訊
Windows Vista 中已變更 ARP 快取行為。 Windows Vista 中的 TCP/IP 堆棧實作符合 IPv4 和 IPv6 芳鄰探索程式RFC4861 (IP 第 6 版 [Ipv6] 的鄰近探索通訊協定)。
ArpCacheLife 和 ArpCacheMinReferencedLife 登錄專案會決定 ARP 快取在 Windows XP 和 Windows Server 2003 中的維護方式。 這些登錄專案不再套用至 Windows Vista。
在新 Windows Vista TCP/IP 堆棧實作中,當鄰近快取中沒有相符專案時,主機會建立鄰近快取專案。 IPv4 的ARP快取專案是鄰近快取專案的範例。 在鄰近快取中成功建立項目之後,如果專案符合特定條件,專案可能會變更為「可觸達」狀態。 如果項目處於「可連線」狀態,Windows Vista TCP/IP 主機不會將 ARP 要求傳送至網路。 因此,Windows Vista TCP/IP 主機會使用快取中的資訊。 如果未使用專案,而且它停留在「可觸達」狀態的時間超過其「可觸達的時間」值,則專案會變更為「過時」狀態。 如果項目處於「過時」狀態,Windows Vista TCP/IP 主機必須傳送 ARP 要求才能到達該目的地。
「可觸達時間」值會計算如下:
觸達時間 = BaseReachable Time × (MIN_RANDOM_FACTOR 與 MAX_RANDOM_FACTOR 之間的隨機值)
RFC 提供下列計算結果。
BaseReachable Time | 30,000 毫秒 (毫秒) |
---|---|
MIN_RANDOM_FACTOR | 0.5 |
MAX_RANDOM_FACTOR | 1.5 |
因此,「可觸達的時間」值介於 15 秒(30 × 0.5 秒)和 45 秒(30 × 1.5 秒之間)。 如果專案在 15 到 45 秒之間未使用,則會變更為「過時」狀態。 然後,當任何IP數據報傳送到該目的地時,主機必須將IPV4的ARP要求傳送至網路。
若要查看目前的「可觸達時間」值,請遵循下列步驟:
按兩下 [開始],在 [開始搜尋] 方塊中輸入 Cmd,然後按兩下 [程式] 清單中的 [Cmd]。
如果系統提示您輸入系統管理員密碼或確認,請輸入您的密碼,或按兩下 [繼續]。
在命令提示字元中,輸入下列命令:
netsh interface ipv4 show interfaces
範例結果:Idx Met MTU State Name --- --- ----- ----------- ------------------- 1 50 4294967295 connected Loopback Pseudo-Interface 1 9 20 1500 connected Local Area Connection
在步驟 2 中,「區域連線」
Idx
是 9。 因此,您可以在命令提示字元輸入下列命令,以顯示介面 9:
netsh interface ipv4 show interface 9
範例結果:Interface Local Area Connection Parameters ---------------------------------------------- IfLuid : ethernet_7 IfIndex : 9 Compartment Id : 1 State : connected Metric : 20 Link MTU : 1500 bytes Reachable Time : 19000 ms Base Reachable Time : 30000 ms Retransmission Interval : 1000 ms DAD Transmits : 3 Site Prefix Length : 64 Site Id : 1 Forwarding : disabled Advertising : disabled Neighbor Discovery : enabled Neighbor Unreachability Detecion : enabled Router Discovery : dhcp Managed Address Configuration : enabled Other Stateful Configuration : enabled Weak Host Sends : disabled Weak Host Receives : disabled Use Automatic Metric : enabled Ignore Default routes : disabled
您可以在命令提示字元中輸入下列範例命令,以變更 「BaseReachable Time」 值:
netsh interface ipv4 set interface 9 basereachable=60000
若要查看步驟 4 的結果,請在命令提示字元中輸入下列命令:
netsh interface ipv4 show interface 9
範例結果:Interface Local Area Connection Parameters ---------------------------------------------- IfLuid : ethernet_7 IfIndex : 9 Compartment Id : 1 State : connected Metric : 20 Link MTU : 1500 bytes Reachable Time : 61500 ms Base Reachable Time : 60000 ms Retransmission Interval : 1000 ms DAD Transmits : 3 Site Prefix Length : 64 Site Id : 1 Forwarding : disabled Advertising : disabled Neighbor Discovery : enabled Neighbor Unreachability Detecion : enabled Router Discovery : dhcp Managed Address Configuration : enabled Other Stateful Configuration : enabled Weak Host Sends : disabled Weak Host Receives : disabled Use Automatic Metric : enabled Ignore Default routes : disabled
注意
“Base Reachable Time” 值已變更為 60000 毫秒。
您可以在命令提示字元中輸入下列命令來增加鄰近快取限制:
netsh interface ipv4 set global neighborcachelimit = 4096
注意
Windows 用戶端版本的預設芳鄰快取限制為 256,而 Windows Server 則為 1024。
如需鄰近快取項目狀態的詳細資訊,請流覽下列網站:
https://www.ietf.org/rfc/rfc2461.txt
本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。
Microsoft 提供第三方連絡資訊,協助您尋找技術支援。 此連絡資訊可能會變更而不另行通知。 Microsoft 不保證此第三方連絡資訊的正確性。