このページの本文へ

完全解剖「名前とアドレス」 第5回

複雑な関係を解きほぐして理解しよう

Windowsネットワークの名前と番号

2009年06月01日 09時00分更新

文● 横山哲也

  • この記事をはてなブックマークに追加
  • 本文印刷

ドメインとNetBIOS名

 NetBIOS名は、コンピュータ名だけでなくWindows NT互換のユーザー認証システム(Windows NTドメイン)の名前としても使われる。Active DirectoryドメインもWindows NTドメイン互換の名前(NetBIOSドメイン名)を持つ。Windows NTドメインは、DNSドメインやActive Directoryドメインと違い、階層構造を持たない。Windows NTクライアント(およびその互換OS)では、ログオン時に入力したユーザー名とパスワードを認証するためのコンピュータを検索するためにNetBIOSドメイン名を使う。

 なお、Active Directoryドメインもユーザー認証システムである。「名前」の観点から見たWindows NTドメインとの違いは表1の通りである。

表1 Windows NTドメインとActive Directoryドメインの違い

NetBIOS over TCP/IP(NBT)

 NetBEUIが利用するプロトコルは、Ethernetなどのレイヤ2プロトコルをほとんどそのまま使っていた。そのため、ネットワーク番号の概念がなく、中継ができなかった。

 そこで、プログラムインターフェイスはそのままで、通信プロトコルだけを差し替えることが考えられた。これが「NetBIOS over xxx」という仕組みである。xxxには「TCP/IP」や「IPX/SPX」などの、中継可能なプロトコル名が入る。NetBIOS自体はプロトコルに依存しないため、複数プロトコルが共存できるかどうかはOS次第である。ただし、現在残っているのは事実上「NetBIOS over TCP/IP」、通称「NBT」または「NetBT」のみである。

 NetBIOSアプリケーションは、通信相手としてNetBIOS名を指定する。NBTを使っている場合、NetBIOS名からIPアドレスへの変換はWindows のシステムが行なう。プログラムにはIPアドレスはいっさい含まれない。

 なお、UNIXで広く使われている「ソケット」もプロトコルに依存しないことになっている。しかし、実際にはソケットの初期化時にプロトコルファミリーの指定が必要だ。そのため、いったん完成したプログラムを別のプロトコルで実行することはできない。しかし、NetBIOSアプリケーションの場合、プロトコルの切り替えはOSが担当する。そのため、古いプログラムを新しいプロトコルで動作させることも可能である。

NetBIOS名の解決

 NetBIOSアプリケーションは、図2の手順でNetBIOS名を検索している。

図2 NetBIOS名の検索順序

 Windows NT 4.0以降は、ホスト名およびIPアドレスをNetBIOS名と同一視できるようになった。Windows NTの発売は1996年、インターネットが爆発的に普及した年である。インターネットで使われているアプリケーションは、ほぼ100%ホスト名を使う。

 また、Windows NT 4.0では、ホスト名とNetBIOS名の共存を目指した。ただし、そのホスト名が通信相手のコンピュータに「コンピュータ名」として登録されている必要がある。そのため、単にDNSエントリを追加しただけでは通信できない仕組みになっていた。

ブロードキャストとLMHOSTSファイル

 そもそもNetBEUIはLAN内の通信だけを想定していたため、通信相手の発見にマルチキャストを使っていた。また、NBTではブロードキャストを使う(図3)。しかし、NBTの場合、名前解決さえできればIPルータによるルーティングが可能だ。

図3 ブロードキャストを使った名前解決

 そこで、名前解決の手法としてブロードキャストの代わりにファイルを使うことが考案された。このファイルはLMHOSTSと呼ばれ、UNIXのhostsファイルを真似たものだ。LMHOSTSファイルは現在ほとんど使われることはないので、詳しい解説は省略する。

WINS

 LMHOSTSは、クライアントコンピュータ単位で設定する必要があるため、管理コストがかさむ。そこで考案された技術が「WINS(Windows Internet Name Services)」だ。WINSはNBTのみをサポートするため、TCP/IP環境が必要だ。

 WINSクライアントは、NetBIOSアプリケーションの起動時に、TCP/IPのプロパティで設定されたWINSサーバに対して自身のNetBIOS名を登録する。他のコンピュータは、登録された名前を参照してNetBIOS名の解決を行なう(図4)。静的な登録も可能だが、動的登録を原則としているのがWINSの特徴だ。WINSを使うことで、サブネットを越えた名前解決が可能になる。

図4 WINSサーバとWINSクライアント

(次ページ、「Windows 2000以降の名前解決方法」に続く)


 

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード