ここまで説明した一連のやりとりは,基本的にXPまでと同じ手順である。つまり,VistaでもXPと同じ通信を実行してWindowsネットワークに参加していることが確認できる。

ネットワーク探索などの新しいプロトコルも実行

 だが,前回の記事「Vistaネットワーク事始め(1)」に示した図3のリストを詳しく見てみると,それらの通信の合間に,今までにはないプロトコルのパケットを見つけられる。具体的には,あて先に5355番ポートや3702番ポートを使ったパケットが該当する。実は,これらこそがVistaで新たに追加された新しいプロトコルなのだ。

 VistaではIPv4に加えてIPv6もデフォルトで動作する。だが,VistaのIPv6にはWindowsネットワークで中心的な役割を担ってきたNetBIOSがない。その代わりに,Vistaでは新しいプロトコルを搭載して,今まで通りの通信を実行する合間にやりとりしている。こうすることで,既存環境との互換性を保ちながら,IPv6などの新しい環境向けの機能を実現しているのだ。

 Windowsネットワークの使い勝手を実現している中核となっているのは,(1)コンピュータの一覧表示(ブラウジング),(2)名前解決,(3)ファイル共有──の三つの機能である。「ブラウジング」は,ネットワークに接続されたコンピュータの一覧を作成・表示する機能である。マイネットワークを開くと,ドメイン/ワークグループやパソコンの一覧が表示されるのは,このブラウジングのおかげだ。一覧表示されたアイコンをクリックして,相手のIPアドレスを調べるのが「名前解決」である。その調べたIPアドレスを使って,相手が公開しているフォルダやプリンタを利用するのが「ファイル共有」となる。Vistaでは,この三つの機能それぞれについて,新しいプロトコルを用意している(表1)。

表1●Vistaで使われるNetBIOS以外の名前解決やネットワーク探索のプロトコル
[画像のクリックで拡大表示]
表1●Vistaで使われるNetBIOS以外の名前解決やネットワーク探索のプロトコル

 例えば,ネットワーク・マップを作成する時のネットワーク探索には,LLTDというリンク層のプロトコルが使われる。具体的には,マップの作成開始時に,LLTDのMACフレームがブロードキャスト送信される。そのLLTDパケットに応答したコンピュータだけが,ネットワーク・マップに配置されるのだ

Vista同士では新しいプロトコルを使う

 Vistaパソコン同士では新しいプロトコルだけが使われる。実際に,その場合の通信を見てみよう(図4)。

図4●Vista同士でのやりとりにはIPv6で新しいプロトコルを使う<br>見やすくするためにARPなどのパケットは除いてある。
図4●Vista同士でのやりとりにはIPv6で新しいプロトコルを使う
見やすくするためにARPなどのパケットは除いてある。
[画像のクリックで拡大表示]

 ここでは,Vistaパソコン(VISTA-PC2)から,別のVistaパソコン(VISTA-PC1)に,LLMNRというプロトコルを使って名前解決を実行している。具体的にはNo.1540のパケットでIPv4アドレスの名前解決要求を送ったのに続いて,No.1542のパケットでIPv6アドレスの名前解決要求を,いずれもマルチキャスト・アドレスあてに送信している。それに対するVISTA-PC1からの応答が,それぞれNo.1543とNo.1547のパケットである。このようにVistaの新しいプロトコルはIPv6だけでなく,IPv4にも対応し,IPv4向けとIPv6向けの両方のパケットをほぼ同じタイミングで送信することが多い。

 その名前解決のあとに,IPv6上でTCPコネクションを確立し(No.1544/1546/1549),445番ポートを使ったSMBによるファイル共有を開始している。このファイル共有に関しても,Vista間では大きく変更された新しい「SMB2.0」が利用されていることがわかる。

 今回はVistaにおける通信をざっと見て,既存のネットワークとの互換性を保ちながら,新しいプロトコルを実装していることを確認した。次回以降は,Windowsネットワークの三つの機能について,詳しくひも解いていこう。

有元 伯治
セキュリティフライデー VISUACT開発室長
Windowsネットワークの動きを解析する「VISUACT」の開発を手がける。同ソフトで,2004年「日経BP技術賞」情報通信部門賞を受賞。