TCP/IP 実装におけるアドレス解決プロトコル (ARP) キャッシュ動作の説明

この記事では、TCP/IP 実装におけるアドレス解決プロトコル (ARP) キャッシュの動作について説明します。

適用対象:  Windows Server 2012R2、Windows 10 - すべてのエディション、Windows 7 Service Pack 1
元の KB 番号:   949589

はじめに

この記事では、Vista TCP/IP 実装でのアドレス解決プロトコル (ARP) キャッシュWindowsについて説明します。

詳細情報

Vista で ARP キャッシュの動作がWindowsされました。 Windows Vista の TCP/IP スタック実装は、IPv4 および IPv6 ネイバー検出プロセスの両方に対して RFC4861 (IP バージョン 6 [Ipv6] の近隣探索プロトコル) に準拠しています。

ArpCacheLife レジストリ エントリと ArpCacheMinReferencedLife レジストリ エントリは、Windows XP および Windows Server 2003 で ARP キャッシュを維持する方法を決定します。 これらのレジストリ エントリは、Vista のWindowsなくなりました。

Vista TCP/IP スタックのWindowsでは、隣接キャッシュに一致するエントリがない場合、ホストは隣接キャッシュ エントリを作成します。 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 は、次の計算結果を提供します。

基本到達可能時間 30,000 ミリ秒 (ms)
MIN_RANDOM_FACTOR 0.5
MAX_RANDOM_FACTOR 1.5

したがって、"到達可能時間" の値は、15 秒 (30 × 0.5 秒) から 45 秒 (30 × 1.5 秒) の間のどこかにあります。 15 ~ 45 秒の間にエントリを使用しない場合は、"古い" 状態に変わります。 次に、IP データグラムが宛先に送信される場合、ホストは IPV4 の ARP 要求をネットワークに送信する必要があります。

現在の "到達可能時間" の値を確認するには、次の手順を実行します。

  1. [スタート] ボタン をクリックし、[検索の開始] ボックスに *「cmd」* 入力し、[プログラム] ボックスの一覧で [cmd] をクリック します。

  2. 管理者パスワードまたは確認を求めるメッセージが表示された場合は、パスワードを入力するか、[続行] を クリックします

  3. コマンド プロンプトで、以下のコマンドを入力します。
    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
    
    
  4. 手順 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
    
  5. コマンド プロンプトで次のコマンド例を入力すると、"BaseReachable Time" の値を変更できます。
    netsh interface ipv4 set interface 9 basereachable=60000

  6. 手順 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
    

    注意

    "基本到達可能時間" の値が 60000 ミリ秒に変更されました。

  7. コマンド プロンプトで次のコマンドを入力すると、隣接キャッシュの制限を増やします。
    netsh interface ipv4 set global neighborcachelimit = 4096

    注意

    既定の隣接キャッシュの制限は 256 です。

近隣キャッシュ エントリの状態の詳細については、次の Web サイトを参照してください。
https://www.ietf.org/rfc/rfc2461.txt

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。