・1台のWindowsマシンがネットワークにつながった稼働中のWindowsマシンの
 リストを管理することで,一覧表示が可能になる。
・実際にアクセスするときには,一覧表示のしくみとは無関係な方法で
 アクセス先マシンのIPアドレスなどを調べる。
・このため,一覧表示画面では見えているのにつながらなかったり,
 つながるのに見えない不思議な現象が起こる。

 今の世の中,Windowsネットワークを完全に無視するわけにはいかない。ところが,このWindowsネット。インターネット標準では語れない独自仕様をふんだんに盛り込んでいる。この独自仕様のおかげで,初級ユーザーでも比較的簡単にネットワークに接続でき,ディスクやプリンタを共有できる。その半面,UNIXシステムやインターネットを使っているユーザーの常識から見ると,不思議なネットワークなのもたしかである。

 その不可解の代表例が,クライアントから見えているサーバーへアクセスしようとすると,つながらないときがある,という現象だ。この原因は,ネットワークにつながったWindowsマシンを一覧表示するしくみと,実際にWindowsマシンへアクセスするしくみが,別々に動いているためである。

独自の手法で稼働マシンを一覧表示

 まずは,ネットワークにつながった稼働中のWindowsマシンを調べて一覧表示するしくみから見ていこう。

図 Windowsマシンを一覧表示するしくみ
Windowsネットワークでは1台のマシンがマスター・ブラウザとなり,ほかのマシンは起動時に自分自身の名前を通知する。以後,起動中は一定間隔(12分)で自分自身の存在を通知し,終了時には停止することを通知する。これにより,マスター・ブラウザのブラウズ・リストにはネットワーク上のWindowsマシン一覧(ブラウズ・リスト)ができる。ほかのマシンはマスター・ブラウザへアクセスして,このブラウズ・リストを入手することで,稼働中のWindowsマシンを一覧表示できる。
 このしくみは,Windowsネット独自のもので,インターネットなどにはないものだ。つまり,Webサーバーやメール・サーバーへアクセスするには,ドメイン名かIPアドレスを事前に知っていないとアクセスできない。しかも,アクセス先のサーバーが実際に稼働しているかどうかは,アクセスしてみないとわからない。

 ところが,Windowsネットではデスクトップ画面上のネットワーク・コンピュータ・アイコンをダブル・クリックすると,稼働中のWindowsマシンの一覧が表示される([拡大表示]中の画面)。コンピュータの名前やIPアドレスを知らなくても,この一覧画面に表示されたサーバー・マシンのアイコンを選択すれば,共有フォルダや共有プリンタへアクセスできる。

 このような一覧表示は,「マスター・ブラウザ」という特別な役割を持つコンピュータが,ネットワークにつながったWindowsマシンのリストを一元管理することで実現している。

 具体的には,マスター・ブラウザは,ネットワーク上のコンピュータの名前(NetBIOS:ネットバイオス名と呼ぶ)が記述された一覧表(ブラウズ・リスト)を保持している。Windowsマシンは起動時またはネットワーク接続時に,自分のNetBIOS名をブラウズ・リストへ追加する依頼をマスター・ブラウザへ送る。また,パソコンが停止(シャットダウン)する際にも,自分が停止することをマスター・ブラウザへ通知する。こうしたしくみにより,マスター・ブラウザのブラウズ・リストは,常に最新の状態を保つことができる。

 そして,Windowsマシンはマシンの一覧を表示させるとき,このマスター・ブラウザへアクセスして,ブラウズ・リストを参照するのである。

 ただ,ここまでの話はすべてがうまく行っている場合のこと。現実には,パソコンが正常に停止できなかった場合もある。こうした場合,パソコンはマスター・ブラウザへ自分が停止したことを通知できない。このため,ブラウズ・リストにそのNetBIOS名が残ったままになり,実際には存在しないWindowsマシンが見えることになる。

アクセスするしくみは3種類

 一方,Windowsマシンへアクセスするしくみは3種類ある。Windowsマシンへアクセスするには,まずNetBIOS名からIPアドレスを調べなければならない。この方法が3種類あるのだ。

 基本は,「NetBIOS名がxxxのマシンはいますか。IPアドレスを教えてください」とLAN上のすべてのマシンに届くブロードキャスト・パケットを送信し,対応するマシンがこれに答えることで成立する。ただ,ブロードキャストはルーターを越えることができない。したがって,一覧表示には見えているのに,実際のWindowsマシンのIPアドレスが調べられないために,アクセスできないことが起こる。

 ルーターの向こう側にあるWindowsマシンへアクセスするためには,NetBIOS名とIPアドレスの対応を記述したテキスト・ファイルを(LMHOSTS:エルエムホスツファイル)をクライアント・マシンごとに保持させておく方法がある。また,NetBIOS名とIPアドレスの対応を一元管理するサーバー・マシン(WINS:ウインズサーバー)を設置する方法もある。実際には,これら三つの方法を組み合わせて,Windowsマシンはほかのマシンへアクセスする。

三輪 芳久