このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

ブラウジング

  • ネットワークコンピュータの一覧表示のこと。
  • エクスプローラでマイネットワークのLAN上のパソコン一覧を表示する機能は、ブラウジングというWindowsの機能によって実現される。
    • LAN上のどれかのパソコンがマスタブラウザという役割を割り当てられ、すべてのパソコンはそこに対して自分自身の情報を送信する。そうしてマスタブラウザにパソコンリストが作られて、それがLAN内の各パソコンから参照されて、LANに繋がったパソコンの一覧が表示される。
    • マスタブラウザが終了するときは、自動的に次のマスタブラウザとなるパソコンを指定して、マスタブラウザの情報がを引き継ぐ。
      • マスタブラウザがフリーズしたりブルースクリーンなどの正常な終了処理ができない場合には、情報を引き継げないまま、電源が切られることがある。そうすると、新たに自動設定されたパソコンをがマスタブラウザとして情報収集し終えるまで正しいパソコンリストを利用できない。
      • 更新間隔は長いため、10分以上かかることもある。更新を待たずに、強制的に接続するためには「\\相手のコンピュータ名」をエクスプローラのアドレス欄に指定すればよい。
    • マスタブラウザを探すためには、netstat -nを実行している、「__MSBROWSE__」という項目があれば、そのパソコンがマスタブラウザである。
    • Windows系のOSでネットワークやマイコンピュータにLANに所属するPC一覧が表示されるが、これはブラウジングによって実現されている。
  • Windowsネットワークはワークグループとドメインというグループ分けができるが、ブラウジングの際にはこれらが区別されることはない。
  • ブラウジングと名前解決の仕組みは独立している。
    • そのため、ブラウズリストの内容と、NetBIOS名の名前解決の内容が一致しないことがあり、これが表示されるのにつながらないという問題を引き起こすことがある。
  • ワークグループやドメインに参加しているPCは、起動時に自分自身のNetBIOS名をマスターブラウザに登録し、シャットダウンする場合は削除要求をマスターブラウザに通知する。これにより、マスターブラウザのブラウズリストは常に最新の状態に保たれる。
    • しかし、PCが何らかの理由により、削除要求をマスターブラウザに通知せずに終了した場合は、ブラウズリストに残ったままになる。
      • このとき、表示されるのにつながらないという現象が発生する。
  • マスターブラウザ自身が終了したり、ネットワークから切断されてしまうと、他のPCはブラウザリストを取得することができなくなり、結果としてコンピュータ一覧が表示されないという現象が発生する。
  • 2台以上のPCが参加するグループでは、ブラウズリストをマスターブラウザとバックアップブラウザが所持することで、問い合わせの集中による負荷の分散を行う。
  • WindowsXP/Vista/7のブラウジング機能は、Computer Browserサービスという名前で実装され、サービスで起動するようになっている。

ブラウズリストとブラウザリスト

  • ブラウズリスト
    • コンピュータの一覧のこと。
  • ブラウザリスト
    • ブラウズリストを所持しているコンピュータの一覧のこと。

ブラウズリストの登録

ホストアナウンスメントパケット

  • ホストアナウンスメント(Host Announcement)パケットを使う。
  • ホストアナウンスメントパケットは、SMBプロトコルの上位に位置するブラウジング用のMicrosoft Windows Browserプロトコルによって処理される。

流れ

1:ワークグループに参加するPCは、起動するとすぐにホストアナウンスメントパケットを送出する。

 起動直後のPCはマスターブラウザがどのPCなのかわからないので、ホストアナウンスメントは138/udpを使って、ブロードキャストされる。

2:マスターブラウザはホストアナウンスメントパケットを受信すると、ブラウズリストに登録する。

ブラウズリストの更新

  • 各PCが更新用のメッセージをマスターブラウザに定期的に送信することで、ブラウズリストの内容が書き換わる。
  • 更新用のパケットは1分程度から、最長で12分程度の間隔で送出する。

ブラウズリストからの削除

  • マスターブラウザはホストアナウンスメントに記載されているUpdate Periodicity(更新周期)の値を見て、次のパケットの到着時間を前もって知ることができる。
    • 更新周期の3倍の時間が経過しても、ホストアナウンスメントパケットが届かない場合は、ブラウズリストから削除。

ブラウジングの流れ

ブラウザリストの取得からブラウザリストを取得するまでの流れ

1:クライアントはマスターブラウザに対して、GetBackupListリクエスト(138/UDP)を送る。ただし、この時点でクライアントはマスターブラウザが誰かはわからないので、ブロードキャストする。

2:マスターブラウザはGetBackupListリクエストを受信すると、リクエストの送信元のNetBIOS名前解決を行う。これにより、リクエストの送信元のIPアドレスを知ることができる。

[補講]NetBIOS名前解決リクエスト(137/udp)を受信したクライアントは、マスターブラウザのMACアドレスを知らないので、NetBIOS名前解決レスポンス(応答用のパケット)を送信することができない。そこで、クライアントは、ARP要求を使って、マスターブラウザのIPアドレスに対応するMACアドレスを調べる。その後、NetBIOS名前解決レスポンスを送信する。 ◇

 その後で、GetBackupListレスポンスにブラウザリストを含めて返す。

3:クライアントはGetBackupListレスポンスを受信すると、ブラウザリストを取得する。

4:入手したブラウザリストはキャッシュとして保存する。 [補講]次回以降はブラウザリストの要求は行わない。

 その代わりに、キャッシュデータとして保存しておいたブラウザリストを使って、ブラウズリストの要求を行う。 ◇

ブラウザリストから、ブラウズリストを取得するまでの流れ

 クライアントはブラウザリストを入手すると、リストに記載されたPC(マスターブラウザまたはバックアップブラウザ)に対してブラウズリストの要求を行う。

1:ブラウザリストに記載されているのは、ブラウズリストを持っているPCのNetBIOS名の一覧である。よって、NetBIOS名からIPアドレスを知る必要がある。

 そこで、クライアントはブラウズリストを保有するマシン(マスターブラウザあるいはバックアップブラウザ)に対して、NetBIOS名前解決リクエスト(137/udp)を送信する。
 ただし、MACアドレスはわからないので、MACアドレスにはブロードキャストアドレスを指定する。

2:マスターブラウザ(あるいはバックアップブラウザ)はNetBIOS名前解決レスポンスを返す。

3:クライアントはNetBIOS名前解決レスポンスを受信すると、TCPセッション(139/tcp)を確立する。

 これにより、クライアントとマスターブラウザ(あるいはバックアップブラウザ)間にでNBSSセッションが確立する。

 SMBネゴシエートを行い、SMBセッションを確立する。

4:クライアントはワークグループ名を知るために、マスターブラウザに対してNetServerEnum2リクエスト(Domain Enum)を送信する。

5:マスターブラウザはNetServerEnum2リクエスト(Domain Enum)を受信すると、NetServerEnum2レスポンスを返す。

6:クライアントは所属するコンピュータ名の一覧を知るために、マスターブラウザに対してNetServerEnum2リクエスト(Server)を送信する。

7:マスターブラウザはNetServerEnum2リクエスト(Server)を受信すると、NetServerEnum2レスポンスを返す。

ポテンシャルブラウザ

  • 登録が完了して一定の時間が経過すると、それぞれのPCはポテンシャルブラウザに昇格する。
  • ポテンシャルブラウザとは、マスターブラウザやバックアップブラウザになる資格を持つコンピュータのことである。
  • Windowsではワークグループやドメインに参加すると、ポテンシャルブラウザになるように初期設定されている。

ブラウザ選定(Browser Election)

  • ブラウザ選定を行って、ポテンシャルブラウザからマスターブラウザが選出される。
  • ブラウザ選定はOSのバージョンやOSが起動してからの時間などを比較して行われる。
    • WindowsVista/7では、状況によってブラウザ選定を省略し、ホストアナウンスメントパケットの内容でマスターブラウザが決定されるようになっている。

参考文献

  • 『ウィンドウズの仕組みがわかるとトラブルに強くなる』
  • 『Windows7ネットワーク逆引き大全』