写真1●遅延の大きなネットワークではWindowsファイル共有のパフォーマンスが上がらない<br>世界中のデータセンターで大きな遅延が発生しているという情報も一緒に示された。
写真1●遅延の大きなネットワークではWindowsファイル共有のパフォーマンスが上がらない<br>世界中のデータセンターで大きな遅延が発生しているという情報も一緒に示された。
[画像のクリックで拡大表示]
写真2●Windows 7で搭載するネットワーク・キャッシュによるWANの遅延対策
写真2●Windows 7で搭載するネットワーク・キャッシュによるWANの遅延対策
[画像のクリックで拡大表示]
写真3●DFSを使った解決策も提供する
写真3●DFSを使った解決策も提供する
[画像のクリックで拡大表示]

 Windows 7には標準でネットワーク共有のキャッシュが搭載されることがわかった。PDC 2008の会場で行われたセッションや展示で明らかにしたもの。ネットワーク・プロトコルとしては“重い”と評判の悪いWindowsファイル共有のレスポンスを改善することが狙いだ。

 Windowsがファイル共有のために使っているSMB(Server Message Block)/CIFS(Common Internet File System)というプロトコルは,もともとLANのような小さなネットワークを前提に設計されたもの。パソコンのローカル・ディスクに対してファイルの操作をするのとほぼ同じコマンドを,ほとんどそのままネットワーク上で実行する。一度にやりとりするデータが4Kバイトや8Kバイトと小さいブロックが基本になっているほか,認証情報などもやりとりする。このため,物理的に離れたWANのように,ネットワーク上の遅延が大きくなってしまうと,どうしてもパフォーマンスが上がらない。

 例えば,遅延が100ミリ秒というネットワーク上では,仮に100Mビット/秒の帯域のネットワークでも,実際の通信速度では1.2Mビット/秒にしかならない(写真1)。この通信速度を決めるボトルネックは基本的にパケットの遅延なので,拠点間を結ぶ帯域を1Gビット/秒や10Gビット/秒のようにいくら大きくしても通信速度は改善されない。ネットワーク環境が広がったり,データセンターにサーバーを統合したりするユーザーが増え,物理的に離れた地点間でWindowsファイル共有を使うようになるにしたがって,この問題が顕在化してきた。

 これを解決するために,ネットワーク機器ベンダー各社からWAFS(Wide Area File Services)装置と呼ばれる機器が登場してきたほか,Microsoft自身でもVistaとWindows Server 2008に新たに設計したSMB 2.0を搭載している。SMB 2.0ではネットワークでやり取りするコマンドを整理し直し,クライアントとサーバーの間でやりとりするコマンドの量を減らすなどの改良をしてきた(参考記事:ファイル共有(1)--バージョンアップしたSMB 2.0を搭載)。

 Windows 7では,さらにネットワーク・キャッシュを搭載することで,ネットワーク遅延に対する新しい解決策を提供する。

 具体的には,WANの先にあるファイル・サーバーからいったん受け取ったファイルに関して,その情報をWindows 7のキャッシュ内に保存する(写真2)。そして,自分と同じLAN内にある別のWindows 7パソコンから,同じファイルを要求する命令が発行されると,キャッシュに情報をもっているWindows 7パソコンが代わりになってサーバーに対しファイルのハッシュ情報を要求する。サーバーから戻ってきたハッシュ情報がキャッシュ内に保存している情報と一致すれば,サーバー上のファイルに変更がなかったものとして,自分がキャッシュしているファイルを要求元のWindows 7パソコンに渡す。こうすることで,WAN上でやりとりするのはハッシュ情報だけになるため,ファイル本体をやりとりするよりも通信速度が向上する。

 また,分散ファイル・システムのDFS(Disributed File System)を使った解決策も提供する予定だ。これは,DFSの機能を使い,WAN先にあるファイル・サーバーの情報について,レプリカ(複製)をLAN内に用意するというもの(写真3)。読み出し専用のファイル・サーバーをLAN内に置くことで,ファイル内容の変更が必要ないアクセスについては,WAN上での通信をせずにLAN内ですべて処理する。