Q

Windows 2000のファイル・サーバーを運用しています。先日ログの収集作業を実施していたところ,TCP/IP関連のエラー・イベントが2つ記録されていました(図7)。いずれもIPアドレスの重複関連のトラブルのようです。現状では別段問題ありませんが,イベントIDが4198と4199のエラーは,何が違うのでしょうか。なお,サーバーはクラスタ構成で,それぞれのサーバーでNIC(Network Interface Card)を2枚使うマルチホームの構成にしています。エラー・イベントは,4199,4198の順で発生し,普段使っていないNICのほうです。

図7●ファイル・サーバーで記録されていた,2種類のIPアドレス重複イベント

A

いずれもIPアドレスの重複関連のエラー・イベントです。特に,4198のエラーは発生するとすぐにトラブルが起こるため,何かと発見しやすいものですが,クラスタ構成でしかもマルチホーム構成のサーバーでは管理者を介することなくトラブルを回避できることもあるため,意外と見過ごしやすいようです。

 4199のエラーは,重複したIPアドレスを先に使用していたホストで記録されます。このエラーは発生しても継続してそのIPアドレスを使用し続けることができます。しかし,トラブルにならないからといって放っておくと,トラブルにつながります。それが4198のエラーです。

 4198のエラーは,既に使われているIPアドレスなのに,後からそれを使用しようとしたホストで記録されるIPアドレスの重複のエラーです。このエラーが発生すると,イベント・ログの内容にもある通り,そのIPアドレスの使用を中止するため,たとえログオンしてもネットワークを利用できませんので注意してください。

 こうしたIPアドレスの重複エラーは,Windows NT以降のOSでは,IPアドレスの使用を開始する際,ARP(Address Resolution Protocol)リクエストによりIPアドレスの重複がないかどうかをチェックして検出しています。ターゲットIPアドレスとして,これから使用しようとしているIPアドレスをセットしたARPリクエストを送信することにより行っています。この際,ARPリクエスト中の送信元MAC(Media Access Control)アドレスには,自分自身のMACアドレスをセットしています。だれも他に使用していないはずのIPアドレス解決に対するARPリクエストなので,本来はだれもリプライを返さないはずです。一方,だれかがリプライを返してくれば,そのIPアドレスは既に使用されていると判断できます。

 ARPを使用した重複IPアドレス検出を,Gratuitous ARP(あるいはCourtesy ARP)と呼んでいます。Gratuitous ARPに関しての詳細は,米Microsoftのサポート技術情報「Behavior of Gratuitous ARP in Windows NT 4.0」(199773)などを参照してください。

小森 博司