現在オフラインです。再接続するためにインターネットの接続を待っています

Windows Vista および Windows Server 2008 以降の OS で、IP アドレスの変更時に送信される ARP リクエストにより、他の機器の ARP テーブルが更新されずに通信が失敗する

現象
Microsoft Windows Vista および Windows Server 2008 以降の Operating System (OS) で、IP アドレスの変更時に送信される ARP リクエストにより、同一ネットワークセグメント内の他の機器の ARP (Address Resolution Protocol) テーブルが更新されず、他の機器からの通信が失敗します。

たとえば、仮想 IP アドレスを Active/Standby 機で切り替えて割り当てるような、クラスタ製品 (Microsoft クラスタ製品は除く) でこの現象が発生します。
原因
Microsoft Windows XP および Microsoft Windows Server 2003 以前の OS では、IP アドレス変更時や NIC のリンクアップ時に送信される ARP (Gratuitous ARP : GARP) リクエストの Source Protocol Address (送信元アドレス : SPA) には自身の IP アドレスがセットされます。

たとえば、Windows Server 2003 上で稼動するクラスタシステムで、仮想 IP アドレスの割り当てを Node1 から Node2 に切り替えて設定する場合、切り替わり時に Node2 から ARP 要求が送信されるため、そのネットワークセグメント内の機器において仮想 IP アドレスに対する ARP テーブルが Node2 の MAC アドレスに更新されます。そのため、切り替わり後にも仮想 IP アドレスに対する通信が正常に Node2 に送信されます。

一方、Windows Vista および Windows Server 2008 以降の OS では、IP アドレス変更時や NIC のリンクアップ時に ARP リクエストを送信しますが、そのパケットは、IP アドレスの重複確認のみを目的とするため SPA は 0.0.0.0 にセットされます。ネットワーク機器は、ホストから送信された ARP パケットを確認し、自身の ARP テーブルを更新しますが、SPA が含まれていない場合には、ARP テーブルを更新しません。そのため、Windows Server 2008 上で稼動するクラスタシステムで、仮想 IP アドレスの割り当てを Node1 から Node2 に切り替えて設定しても、ネットワークセグメント内の機器では仮想 IP アドレスに対する ARP テーブルを更新しません。その結果、切り替え後も仮想 IP アドレスに対する通信は、Node1 に送信してしまうため、通信不能となる問題が発生します。
回避策
この現象を回避するには、以下のいずれかの方法を実行してください。

方法 1 : Ping コマンドの使用
IP アドレスを変更後に、いずれかの宛先に通信することで、送信元アドレス (SPA) に自身のアドレスがセットされた ARP リクエストが送信され、同一サブネット内の機器の ARP テーブルを更新します。

たとえば以下のように、Ping コマンドで、デフォルトゲートウェイ (例 : 10.1.1.254) に、自身のアドレス (例 : 10.1.1.1) を -S (Source Address) オプションを指定して ICMP Echo Request を送信することにより、同一サブネット内の機器の ARP テーブルを更新できます。

ping 10.1.1.254 -S 10.1.1.1

-方法 2 : SendARP 関数の実装
SendARP 関数を使用したプログラムを実装して、IP アドレスの変更後に、GARP を送信します。

SendARP の API の詳細については、次のマイクロソフト Web サイトを参照してください。

SendARP Function (英語情報)
http://msdn.microsoft.com/en-us/library/aa366358(VS.85).aspx

方法 3 : KB 2811463 (Windows Server 2008R2, Windows 7 の場合)
Windows Server 2008R2, Windows 7 では、以下の修正プログラム KB 2811463 を適用することで、アドレス重複確認のための ARP に加えて、SPA に自身の IP アドレスをセットした GARP も送信します。

Router does not update its ARP table after an IP address fails over to a cluster node in Windows Server 2008 R2
http://support.microsoft.com/kb/2811463/en-us

補足 1 : Windows Server 2008, Windows Vista 用の KB 2811463 はありません。
補足 2 : Windows Server 2012, Windows 8 以降は、デフォルトの動作でアドレス重複確認のための ARP と GARP を送信します。

状況
この動作は仕様です。
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:980424 - 最終更新日: 09/20/2016 13:19:00 - リビジョン: 4.0

Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard, Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Windows 7 Enterprise

  • kbexpertiseinter kbexpertiseadvanced kbprb kbtshoot kbharmony KB980424
フィードバック