[ホーム] - [Windows 2000 FAQ 一覧] - [マイクロソフトネットワークの名前解決方法に関して]



作成日:2001/01/29
更新日:2022/03/10
対象:Windows 2000

マイクロソフトネットワークの名前解決方法に関して




このページではMicrosoft ネットワークのコンピュータNetBios名前解決について記述します。

1.NetBios名とは
 Windows NTネットワークにおいてTCPIPによりコンピュータ間で通信を行う場合には、そのコンピュータのTCPIPアドレスを解決する必要があります。NetBios名とは,OS/2,Lan Manager,Windows NT,Windows95等で使用される個々のコンピュータを識別するためにつけられる名前です。インターネット/イントラネットで使用するホスト名とは異なります。NetBios名は15文字で構成されます。15文字に満たない場合には、自動的にNULLが挿入され15文字に構成されます。また16文字目にはノードが付加されます。
NetBios名はコンピュータ起動時に、ネットワークに対して登録されます。要するにネットワーク上のマシンに対して自分の存在を通知します。コンピュータがWINSサーバを使用するように設定されていない場合には、ブロードキャストを使用して、自分のNetBios名を他のコンピュータに通知します。コンピュータがWINSを使用する設定になっている場合にはWINSサーバに対して登録を行います。


2.なぜ NetBios名とホスト名の2種類が存在するのか
 もともとNetBios名は、Netbeuiというプロトコルとともに考案されました。Netbeuiとは高速なプロトコルですがルーティングできません。これはOS/2やLanManagerの頃に開発されたプロトコルであり、現在のように大規模なネットワークで使用されることを前提としていませんでした。よって名前解決にはブロードキャストが使用され、ルーティングの機能はありません。一方ホスト名は、インターネットがARPANETのころ考案されたコンピュータに対する名前です。これは ホスト名.ドメイン名で表されることもあります。(例: www.yahoo.co.jp)
ここまで書けばもうお分かりでしょう。そう、本来NetBios名とホスト名を分ける必要はなかったのです。Microsoftの製品がインターネットに対応するためにホスト名を導入するしかなかったのです。ちなみにWindows 2000 RC2 ではNetBiosを無効にするオプションがあるようです。Windows 2000では、明らかに使いにくいドメインの管理やNetBiosでの通信を捨て、ディレクトリによるシステムをめざしているようです。
NetBios名は「コントロールパネル」「ネットワーク」「ユーザ情報」で指定することが可能です。(Windows95)
ホスト名は「コントロールパネル」「ネットワーク」「DNS設定」「ネットワークの設定」「TCPIP」「DNS設定」の「ホスト名」+「ドメイン」で指定することが可能です。

3.NetBIos名解決
 デフォルトでは、以下の順でNetBios名前解決(以下、名前解決と省略します。)が試みられます。
(1)NetBIOSネームキャッシュ
(2)WINSサーバ
(3)ブロードキャスト
(4)LMHOSTS ファイル
(5)HOSTSファイル
(6)DNSサーバ

(1)NetBIOSネームキャッシュ
「NetBIOSネームキャッシュ」とは、過去に何らかの方法で名前解決された結果を一時的に保持している「名前:IPアドレス」のエントリです。必要になるたびに名前解決の処理を行なっていては、コンピュータやネットワークに負荷がかかるため、一時的にキャッシュを使用して処理を省略しています。ただし、あまり保持期間が長いと、コンピュータのIPアドレスの変更時などに不整合が発生してしまいます。そこで、10分(デフォルト)ごとにキャッシュを破棄し更新します。 NetBIOSネームキャッシュに保持されているエントリを表示するには、以下のコマンドを実行します。
nbtstat -c

Life[sec]とは保持期間です。
Life[sec]の値が-1の場合、そのエントリは保持期間が経過しても破棄されません。LMHOSTSファイル内で#PREを指定したエントリがこれにあたります。
(2)WINSサーバ
WINSサーバとは、Windows NT Serverにデフォルトでバンドルされている製品で、「名前:IPアドレス」を保持するデータベースサーバです。WINSは、能動的に情報を収集します(WINSで静的マッピングの設定をしない場合)。クライアントは、WINSサーバに名前を問い合わせ、WINSサーバからIPアドレスを受け取ります。ネットワークの規模が大きい場合には必須です。
(3)ブロードキャスト
ブロードキャストとは、セグメント上の全コンピュータにブロードキャストパケットを送信し、名前を問い合わせる方法です。もしセグメント内に該当するコンピュータが存在した場合には、そのコンピュータが応答します。ブロードキャストはルーティングされない(ルータを超えない)ので、ルータの外に該当するコンピュータが存在する場合には、名前解決されません。
(4)LMHOSTS ファイル
LMHOSTSファイルとは、名前とIPアドレスのエントリをテキストファイルに記述したファイルです。以下のフォルダに存在します。 小規模なネットワークでは有効ですが、ネットワークの規模が多くなると、コンピュータごとにLMHOSTSファイルをメンテナンスする必要があるためこの方法は不向きです。

(a)Windows 95/98の場合
c:\windows

(b)Windows NTの場合
c:\winnt\system32\drivers\etc
(注)Windows 95/98は c:\windows にインストールされているとします。Windows NT は c:\winntにインストールされているとします。

エントリ内に#PREを追加すると、コンピュータ起動時にネームキャッシュに追加され、OSが停止するまでエントリは削除されません。また#DOM:xxxを追加すると、そのコンピュータがドメイン xxxのドメインコントローラであることを表します。なぜコメントと同じ # を使用するのかというと、このファイルをそのまま UNIXで使用しても #PREや#DOMはコメントとして無視されるからです。

LMHOSTS.SAMというLMHOSTSファイルのサンプルファイルが存在します。ただしこのサンプルファイルには、膨大なコメント (#から始まる行)が記述されています。実際に使用する場合にはコンピュータはこのファイルを上から順に読み込むため、コメントが膨大に記述されていると性能が低下する可能性があります。よってコメントは削除すると良いでしょう。また#PREはが追加されている行は、なるべくLMHOSTS内の後ろに記述すると良いでしょう。
上記でも解決できない場合には、HOSTファイル、DNSが使用されます。

(5)HOSTS ファイル
UNIXシステムのHOSTSファイルと同様で、IPアドレスとホスト名のエントリを記述します。ただし、ホスト名とNetBios名が同じである必要があります。場所もLMHOSTSファイルと同じです。通常はホストファイルはホスト名とIPアドレスのマッピングに使用します。

(6)DNS(Domain Name System) サーバ
DNSを使用する設定である場合には,DNSサーバに問い合わせします。ホスト名とNetBios名が同じである必要があります。通常は、DNSサーバはインターネット/イントラネットのホスト名解決に使用されます。







(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2022

[Windows 2000 FAQ 一覧に戻る]