SMB 2.0
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 01:22 UTC 版)
「Server Message Block」の記事における「SMB 2.0」の解説
マイクロソフトは2006年、SMBの新バージョン SMB 2.0 (SMB2) をWindows Vistaで導入した。 SMB2では、コマンド/サブコマンドの種類が100以上あったものを19にまとめ、プロトコルのやりとりを集約した。パイプライン化機構があり、前の要求への応答を受け取る前に次の要求を送信できる。 複雑な動作を1つの要求にまとめることができ、クライアントとサーバ間のやり取りの回数を劇的に減らすことができ、結果として性能が向上する。従来のSMBプロトコルにも同様な機能がありAndXと呼ばれていたが、マイクロソフトのクライアントは滅多にAndXを使わなかった。 SMB2ではより大きなバッファをサポートしており、大きなファイルの転送や高速なネットワークでの性能向上が見込まれる。 また、「永続性ファイルハンドル」と呼ばれるものを導入している。これは、ネットワーク接続が切れてもSMBサーバとのコネクションが継続できるようにするもので、無線LANなど接続が切れやすい環境で新たなセッションを構築する必要をなくす。 SMB2はシンボリックリンクもサポートしている。他にもファイル属性のキャッシング、HMAC SHA-256ハッシュアルゴリズムによるメッセージ署名強化、ユーザー数・共有ファイル数などが増加した際のスケーラビリティ強化などの拡張がなされている。 従来のSMBプロトコルは16ビットで各種サイズを表していた。SMB2ではそれらの多くを32ビットや64ビットに拡張しており、ファイルハンドルの場合は16バイトとしている。 Windows Vistaとそれ以降のオペレーティングシステムでは、通信相手もWindows Vistaかそれ以降であれば、SMB2を使って通信する。SMB2をサポートしない従来のWindowsなどとの通信には引き続きSMB1が使われる。 SMB2はマイクロソフトにとって具体的に次のような利益をもたらした。 知的財産権の明確化。従来のSMBはIBMがもともと設計したもので、Windows以外にもXENIX、OS/2、VMS (Pathworks) などにも採用されている。X/Openが部分的に標準化したり、IETFにもインターネットドラフトとして提出された。このため、知的財産所有権の所在は曖昧だった。SMB2.0以降はすべてMicrosoftが作成している。 過去の資産との決別。従来のSMBのコードは非常に様々なSMBクライアントやサーバに対応する必要があった。このためプロトコルにはオプション部分が多数存在する(長いファイル名を扱えるか否かなど)。また、コマンドの応答として様々なレベルの情報を扱う。さらにUnicode対応は後から追加されている。SMB2のコードは従来のものより大幅に単純化されている(例えば、Unicodeサポートが前提なので、Unicodeでない場合を扱うコードは不要)。そのため、SMB2は少なくともマイクロソフトによる互換性テストを大幅に削減した(当初はWindows Vistaのクライアントとサーバのみの評価で済んだ)。
※この「SMB 2.0」の解説は、「Server Message Block」の解説の一部です。
「SMB 2.0」を含む「Server Message Block」の記事については、「Server Message Block」の概要を参照ください。
- SMB 2.0のページへのリンク