この記事では、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 レジストリ エントリは、Windows XP および Windows Server 2003 での ARP キャッシュの維持方法を決定します。 これらのレジストリ エントリは、Windows Vista には適用されなくなりました。
新しい Windows Vista TCP/IP スタック実装では、近隣キャッシュに一致するエントリがない場合に、ホストによって近隣キャッシュ エントリが作成されます。 IPv4 の ARP キャッシュ エントリは、近隣キャッシュ エントリの例です。 エントリがネイバー キャッシュに正常に作成された後、エントリが特定の条件を満たしている場合、エントリは "到達可能" 状態に変わる可能性があります。 エントリが "到達可能" 状態の場合、Windows Vista TCP/IP ホストはネットワークに ARP 要求を送信しません。 そのため、Windows Vista TCP/IP ホストはキャッシュ内の情報を使用します。 エントリが使用されず、"到達可能な時間" の値よりも長く "到達可能" 状態のままである場合、エントリは "Stale" 状態に変わります。 エントリが "古い" 状態の場合、Windows Vista TCP/IP ホストは、その宛先に到達するために ARP 要求を送信する必要があります。
"到達可能時間" の値は、次のように計算されます。
到達可能時間 = 基本到達可能時間× (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 要求をネットワークに送信する必要があります。
現在の "到達可能時間" の値を表示するには、次の手順に従います。
[Start] をクリックし、[Start Search] ボックスに「cmd」と入力し、Programs リストの [cmd をクリックします。
管理者パスワードの入力または確認を求められたら、パスワードを入力するか、[ Continue をクリックします。
コマンド プロンプトで、次のコマンドを入力します。
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
Note
"Base Reachable Time" の値が 6,0000 ミリ秒に変更されました。
コマンド プロンプトで次のコマンドを入力すると、近隣キャッシュの制限を増やすことができます。
netsh interface ipv4 set global neighborcachelimit = 4096
Note
既定の近隣キャッシュの制限は、Windows のクライアント バージョンでは 256 で、Windows Server の場合は 1024 です。
近隣キャッシュエントリの状態の詳細については、次の Web サイトを参照してください。
https://www.ietf.org/rfc/rfc2461.txt
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
Microsoft からは、テクニカル サポートを検索するのに役立つサード パーティの連絡先情報が提供されています。 この連絡先情報は、予告なしに変更される可能性があります。 Microsoft は、このサード パーティの連絡先情報が正確であることを保証しません。