この特集のトップページへ
Chapter 1:NetBIOSの基礎知識

1.1.1 NetBIOS over TCP/IPの名前解決方法

 すでに説明した手順からもわかるように,ネットワークサービスを利用するためのTCPセッションを確立するまえに,NetBIOS名を名前解決する必要がある。ここでは,Windows NTやWindows 95,Windows 98でNBTを使用している場合に,どのようにして名前解決されるのかを解説してゆく。NBTの名前解決には,次の5つの方法が利用される。

  • NetBIOS Name Cache
  • ブロードキャスト
  • LMHOSTSファイル
  • WINS(Windows Internet Naming Service)
  • DNS

●NetBIOS Name Cache

 NBTで名前解決すると,その内容はキャッシュされ,次回以降の名前解決に利用される。一定時間経過すると,キャッシュの内容は破棄される。以下に示すように,コマンドプロンプトから「nbtstat -c」を実行することで,その時点におけるキャッシュの内容を確認することができる。LMHOSTSファイルで#PREオプションを指定した名前は,Lifeパラメータの値が「-1」となり,キャッシュの内容が破棄されることはなくなる。


C:\>nbtstat -c

              NetBIOS Remote Cache Name Table

    Name              Type       Host Address    Life [sec]
-----------------------------------------------------------
BIBLO          <00>  UNIQUE      192.168.1.254       660

●ブロードキャスト

 UDPの137番ポートを使用してブロードキャストする。小規模なネットワークでは最も一般的な名前解決方法といえる。この方法では,名前解決したいコンピュータが目的のNetBIOS名を含んだパケットをブロードキャストする。もし該当するNetBIOS名を所有するコンピュータが存在していれば,そのコンピュータから応答が戻ってくるので,NetBIOS名からIPアドレスへと名前解決される。UDPのブロードキャストを利用しているため,同一サブネット以外に存在するコンピュータの名前を解決することはできない。

●LMHOSTSファイル

 LMHOSTSファイルは,IPアドレスからNetBIOS名への変換マップを定義したファイルである。異なるネットワークアドレスに存在するためにブロードキャストでは名前を解決できないコンピュータの名前を解決するときに使用されることが多い。Windows NTの場合は,%systemroot%\system32\drivers\etcフォルダに“LMHOSTS”というファイルを配置すればよい。Windows 95/98では,%windir%フォルダに配置する。

●WINS

 WINSとはWindows Internet Naming Serviceの略であり,NBT環境のネームサーバーの役割を担う。WINSクライアントである各コンピュータは,WINSサーバーに対して名前解決を依頼し,WINSサーバーからの応答により名前を解決する。WINSはDNSと同様にクライアント/サーバー方式で実装されているので,LMHOSTSファイルのように各コンピュータにファイルを作成する必要がない。このため,大規模なネットワークではWINSを使用して名前を解決することが一般的である。WINSについての詳細は,Chapter 2で解説する予定である。

●DNS

 Windows 95,Windows 98,Windows NT 4.0では, NetBIOS名の解決にDNSを利用することができる。ただし実際には,「DNSを利用する」というよりも,「TCP/IPアプリケーションの名前解決方法をNBTの名前解決に利用する」というほうが正しい。NBTでは,上記の方法で名前解決に失敗すると,DNSキャッシュ,HOSTSファイル,DNSサーバーの順に名前解決を試みる。

PREV 3/14 NEXT