Windows 7パソコンをネットワークに接続してしばらくすると,同じワークグループに所属するほかのWindowsパソコンの「ワークグループのコンピュータを表示する」に,そのWindows 7のコンピュータ名が現れるようになる。これまでも見慣れた光景だが,Windows 7やVistaでもXPと同じ手順で参加しているのだろうか。Windows 7パソコンをネットワークに接続し,Windowsネットワーク(ワークグループ)に参加する際のやりとりから確認していこう。

ワークグループへの参加手順は基本的に変わらない

 ワークグループへの参加には,大きく分けて二つのステップを踏む(図1)。まず,システム起動時に,ネットワーク内で「名前登録」を実行する。それから,コンピュータ一覧情報を保持しているコンピュータ(マスター・ブラウザ)に自分のコンピュータ名を「通知」する。

図1●Windowsネットワークに参加するには「名前登録」と「通知」の二つのステップをとる
図1●Windowsネットワークに参加するには「名前登録」と「通知」の二つのステップをとる
この流れはWindows 7やVistaでも変わらない。これにより、Windows 7からサーバーを簡単に利用でき,XPパソコンからもWindows 上の共有フォルダやファイルを利用できる。だが,実際にやりとりしているパケットは大幅に変わっている。Windwos 7やVistaのパソコン同士では別の新しいプロトコルを利用し,パソコン以外にネットワーク機器も探すようになった。
[画像のクリックで拡大表示]

 最初の「名前登録」は,自分が使いたいコンピュータ名や所属するワークグループ名をネットワーク内に知らせるものだ。こうすることで,そのコンピュータ名がネットワーク内で使えることを確認する。もし,同じコンピュータ名を使っているWindowsパソコンがほかにいると,そのパソコンから「そのコンピュータ名は使っています」というメッセージが戻ってくる。メッセージが戻ってこないことを確認してから,コンピュータ名をマスター・ブラウザへ「通知」することで,コンピュータ名の一覧に追加される。

 このそれぞれのステップで,NetBIOSが重要な役割を担っている。これはWindows 7でも変わらない。ただし,Windows 7の一つ前のVistaから新たなプロトコルが導入されており,NetBIOSなしでもWindowsネットワークが成り立つようになっている。それぞれのステップについて,XPまでとの違いに注目しながら見ていこう。

NetBIOS名前登録のやりとりは変更なし

 早速Windows 7における名前登録のしくみを具体的に見ていこう。Windows 7パソコンを起動した際にやりとりするパケットをWiresharkでキャプチャしてみる(図2)。

図2●Windows 7がワークグループに参加する際のパケット
図2●Windows 7がワークグループに参加する際のパケット
XPと同様にNetBIOSによる「名前登録」を実行しているが,それより先に新たに追加されたLLMNRによる「名前登録」を実行している。そうして,名前の重複がないことが確認された後に,ホスト・アナウンスメントのパケットをマスター・ブラウザあてに送って名前を「通知」している。
[画像のクリックで拡大表示]

 すると,これまでWindowsネットワークの基本として使われてきたNetBIOSを使って,参加するパソコンが登録(使用)したいNetBIOS名をネットワーク内へブロードキャストで知らせていることがわかる。具体的には,Windows 7でもXPまでと同様にNetBIOS名前解決(NBNS)のプロトコルを使って名前を登録している。

 パケットの中身を詳しく見てみると,「VISTA-PC2<00>」「VISTA-PC2<20>」「WORKGROUP<00>」「WORKGROUP<1E>」という4種類のNetBIOS名を登録している。それぞれの名前の登録のたびに,NetBIOS名前登録パケットをブロードキャスト・アドレス(図2では192.168.1.255)あてに送っており,四つの名前のそれぞれについて「Registration NB ~」というメッセージを4回ずつ,計16回送信している(図2のNo.18~No.29,No.31~No.34のパケット)。