reference count :
WinsockとNetBIOS
Windowsではwinsockというパッケージを用いて、UNIXで使われる バークレーソケットと同じインターフェース(API)を使うことができます。 多くのネットワークアプリケーションはこれを用いて実現されています。 しかし、Windows のファイル共有やプリンタの共有はバークレーソケット ではなく、NetBIOSと呼ばれるインターフェース(API)を用いて実現されています。
NetBIOSのコンピュータ名はDNSの名前とは別物
このNetBIOSではインターネットで広く用いられているDNS(Domain Name Service) と異なる形のネームサービスを行います。Windowsで扱われる 「ネットワークコンピュータ」で表示されているコンピュータの名前は NetBIOSのネームサービスによって提供されているものです。 このために私はSambaを使ってUNIXマシンのファイルシステムを Windowsで使えるようにした際にとまどってしてしましました。 コンピュータを探そうとして、Windows の[スタートメニュー] から [検索]の[他のコンピュータ]を選択して、DNSのネームサーバに 登録されている名前を指定しても探し出すことができなかったからです。 ここで指定すべき名前は、DNSの名前ではなく、NetBIOSの提供する NetBIOS名だったです。 DNSとNetBIOSでの名前は別物なのです。 ここでは、このNetBIOSに関係する内容を扱います。
NetBIOSは1984年にIBMが開発したネットワークプロトコルの インターフェースの(API)です。 この詳しい説明をする前に、DOS時代のプロトコル群について 少し触れたいと思います。 DOS時代にファイルシステムの共有や、プリンタの共有を実現するために いくつかのプロトコルとそれを実現するプロダクトが開発されました。 それには以下のようなものがあります。このNetBEUIで採用されていたインターフェースはNetBIOSの 拡張インターフェースでした。 ここで使われている NetBIOSは通信処理を行うインターフェース(API)なので、 他のプロトコルを使う際にも利用できます。実際、これは ネットワークの操作をトランスポートプロトコルから切り離す ために作られたのです。
プロダクト プロトコル LanManager NetBEUI マイクロソフトが開発。 APIはNetBIOS拡張インターフェース。ルーティング機能なし Netware IPX/SPX Novell社が開発。ルーティング機能あり その思惑通りにNetwareを作っていたNovellもLanManagerのシステムと 共存するために、NetBIOS over IPXを作りました。 プロトコルとしてはIPXを用いますが、そのインターフェース(API)は NetBIOSと同じものを使えるようにしたのです。 またTCP/IPもNetBIOSのインターフェースから使えるようになりました。 これはNetBIOS over TCP/IP(あるいはNETBT) と呼ばれます。 このようにして、NetBIOSは複数で使うことのできるAPIとなりました。
以下に、Windowsのネットワークの階層構造を示します。
SMB (Server Message Block) など TCP/IP applications NetBIOS interface (API) Winsock interface (API) NetBIOS over IPX NetBIOS over NetBEUI NetBIOS over TCP/IP(NBT) Winsock IPX/SPX NetBEUI TCP/IP NDIS 3.0 interface
ブラウズ
Windowsネットワークのユーザは利用可能なネットワーク上のリソースを 知るために「ネットワークコンピュータ」を開いて、確認します。 このようなリソースを表示することをブラウズと言います。マスターブラウザ
この情報を管理するマシンがマスターブラウザです。 リソースを提供するコンピュータは、サービスを開始時と ある時間間隔ごとに定期的に、サーバ告知パケットをブロードキャスト します。マスターブラウザはこの情報を受け取って、 ブラウズリストを管理します。 ブラウズクライアントはそのリストを見たいときに、マスターブラウザに それを要求するのです。 では、ネットワーク上のどのマシンがマスターブラウザになるかは どのようにして決められるのでしょうか。必要が生じたときに (マスターブラウザがまだなかったり、マスターブラウザがダウンした時) ブラウザ選定プロトコルによって決められるのです。具体的には、 OSのタイプ(NT server, NT workstation, 95 など)、 オンラインの期間、ホスト名の長さなどによって選定されます。ドメインマスターブラウザ
上で、リソースついてサーバはサーバ告知パケットを ”ブロードキャスト”してマスターブラウザに教える と書きました。通常ブロードキャストはルータを越えて送信することは しませんから、他のサブネットのコンピュータのブラウズは できないのでしょうか。これを可能にするのがドメインマスターブラウザです。 ドメインマスターブラウザは複数のTCP/IPサブネット上にあるNTドメインの ブラウズリストを管理します。それぞれのサブネットのNTドメインに存在する マスターブラウザが、ドメインマスターブラウザと同じ ブラウズリストの情報を持つように同期をとります。 この同期の手順ですが、マスターブラウザはそのNTドメインに ドメインマスターブラウザが存在するか、WINSサーバにたずね、 存在すれば、そのドメインマスターブラウザと通信して 同期をとることになります。NetBIOS名の管理
NetBIOS名はインターネットのドメイン名とは全く異なる物です。 このNetBIOSの名前空間は階層構造になっておらず、一次元的なフラット な名前となります。これを管理する方法には以下の二つのものがあります。LM_HOSTS
windowsディレクトリにはLM_HOSTSというファイルを作り、 そこにIPアドレスと名前の対応を書いておくと、そのマシンでは NetBIOS名を解決できるようになります。LM_HOSTS.SMPという名前の サンプルファイルがwindowsディレクトリ(c:\windowsなど)にあるので、それを 参照してください。WINS (Windows Internet Name Service)
これは動的にNetBIOS名を管理する方法です。 各ホストはオンラインになった時にWINSサーバに自分を登録し、 オフラインになる時にWINSサーバ登録を削除します。 これにより、自動的に名前の解決ができるようになります。
ブラウズリストを表示する net view net add e: \\hiagari\fujiki
プライマリドメインコントローラ
認証に必要なNTドメインのユーザアカウント情報を管理するホストSMB (Server Message Block)
NetBIOSを利用して実現したシステムの主要なものにSMBがあります。 SMBはWindowsのファイルおよびプリンタの共有を実現するために、 Windowsに標準でついているものです。階層的には Windowsネットワークの NetBIOS interfaceの上に位置します。LM アナウンス
とは、LanManagerアナウンス・ブロードキャストのことで、 これはOS/2などのクライアントから参照するブラウズリストで 見えるようにするために必要
「ネットワーク」のページへ戻る