第6章 Windows 8のネットワークとセキュリティ - さらなるパフォーマンスの向上を目指す「SMB 2.2」

前節で共有フォルダーに関する軽い説明を行ったが、この際に用いるネットワークプロトコルがSMB(Server Message Block)だ。その歴史は古く、MS-DOS時代までさかのぼるが、ここではWindows Vistaから搭載されたSMB 2(2.0)以降に注目しよう。それまで混沌としていたコマンドを整理し、コネクションの維持やバッファサイズの拡大を図っている。

この時点では過去の資産整理と新しい規格のベースを作ったに過ぎないが、Windows 7やWindows Server 2008 R2はSMB 2.1にバージョンアップ。ファイル転送効率が向上し、同プロコトルを用いて、複数クライアントからの同時アクセス時のパフォーマンスは、SMB 2.0と比較すると約3.5倍に向上している。

そして、Windows 8ではSMB 2.2が実装された。主に次期Windows Server OSを前提とした強化だが、クライアントOSレベルで有益な点をピックアップしてみよう。一つ目はマルチチャンネルのサポート。SMB 2.2に対応したサーバーとクライアント間で複数のパスが利用可能な環境では、ネットワーク帯域の管理が最適化から、ネットワーク障害発生時の回復や帯域のフル活用が可能になる。また、本機能はGbE(ギガビットイーサネット)ネットワークアダプターの使用も想定されているため、今後のハードウェア進化にも追従できそうだ(図394)。

図394 SMB 2.2マルチチャンネルの構成(WS8 Beta Networking White Paper (ja).pdfより)

RDMA(リモートダイレクトメモリアクセス)機能を備えるネットワークアダプターはエンドユーザーレベルではないものの、同デバイスのサポートも新機能の一つ。遅延が小さく、プロセッサの負担も少ないRDMA対応ネットワークアダプターを使用する場合、ファイルサーバー上のファイルをローカルストレージのように利用することができるという(図395)。

図395 RDMA対応ネットワークアダプター使用時のSMB 2.2ダイレクト機能(同上)

最後はパフォーマンスの最適化。SQL Serverなど小規模なランダム読み取り/書き込みに最適化されると同時にMTU値を増やした環境にも対応し、全体的な転送速度の向上を図っている。SMB 2.2はこの他にも数多くの改良点を備えているものの、前述のとおり次期Windows Server OSを前提とした改良が多いため、Windows 8をクライアントOSとして使用している場合、あまり大きな恩恵を受けることはない。

個人的なオープンソースを組み込んだNAS(Network Attached Storage)サーバーが使用するSamba(サンバ)がどのように対応するかだ。個人が次期Windows Server OSを購入するケースは少なく、NASを用いたファイルサーバーを構築する方が現実的だからだ。そもそもSambaは、Microsoftが公開したドキュメントを元に拡張したCIFS(Common Internet File System)を実装しているが、SMB 2.2のテストに参加するなど、前向きな動きが確認できる。2011年8月にリリースされたSamba 3.6.0でSMB2をフルサポートしていることを踏まえれば、今後に期待してもよいだろう。