(Go: >> BACK << -|- >> HOME <<)

「Server Message Block」の版間の差分

削除された内容 追加された内容
m 外部リンクの修正 http:// -> https:// (www.atmarkit.co.jp) (Botによる編集)
Fanamo (会話 | 投稿記録)
SMB2の段落構成を整理
37行目:
2012年、マイクロソフトはStorage Developer ConferenceでSMB1を無効化することを技術者たちに提案した<ref>{{Cite web|url=https://www.snia.org/sites/default/orig/SDC2012/presentations/Revisions/DavidKruse-SMB_3_0_Because_3-2_v2_Revision.pdf|title=SMB 3.0|accessdate=2019/2/2|publisher=}}</ref>。
 
2013年、マイクロソフトはWindows Server 2012 R2以降のOSではSMB1を使用することを非推奨と定義し<ref>[https://technet.microsoft.com/en-us/library/dn303411.aspx{{Cite web |title=Features Removed or Deprecated in Windows Server 2012 R2 |url=https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn303411(v=ws.11) Microsoft|website=learn.microsoft.com Docs]|access-date=2023-01-14 |language=en-us |last=Archiveddocs}}</ref>、速やかに新しい技術への移行を促した。
 
2014年、マイクロソフトは期限を明確にはしていないものの、将来のWindowsでは機能を削除する方針であることを公表した。
47行目:
2017年9月5日、[[Linuxカーネル|Linux kernel]] 4.13において既定のプロトコルをSMB3とし、SMB1を無効化した<ref>{{Cite web|title=2017年9月4日 Linux 4.13がリリース,SMB 3.0がデフォルトCIFSに|url=https://gihyo.jp/admin/clip/01/linux_dt/201709/04|website=gihyo.jp|accessdate=2019-02-23|language=ja}}</ref><ref>{{Cite web|title=WannaCry対策にLinux 4.13でもSMB 1.0が無効に|url=https://news.mynavi.jp/techplus/article/20170906-a155/|website=マイナビニュース|date=2017-09-06|accessdate=2019-02-23|language=ja}}</ref>。
 
2017年9月、マイクロソフトはWindows 10 Version1709でSMB1を初期状態では無効とした<ref>[https://support.microsoft.com/en-us/help/4034314/smbv1-is-not-installed-windows-10-and-windows-server-version-1709{{Cite web |title=SMBv1 is not installed by default in Windows 10 version 1709 and, Windows Server version 1709 and later versions] |url=https://learn.microsoft.com/en-us/windows-server/storage/file-server/troubleshoot/smbv1-not-installed-by-default-in-windows |website=learn.microsoft.com |access-date=2023-01-14 |language=en-us |last=Deland-Han}}</ref>。ただし、セキュリティ上推奨されていないものの、必要であれば設定を変更することで有効化できる<ref>{{Cite web|url=https://www.iodata.jp/pdf/win10_smb1.pdf|title=Windows 10 の SMB 1.0 を有効にする|accessdate=2019/2/2|publisher=}}</ref>。
 
2018年8月、[[TrueNAS|FreeNAS]] 11.1-U6においてSMB1が初期状態では無効にした<ref>{{Cite web|title=FreeNAS 11.1-U6|url=https://www.ixsystems.com/blog/library/freenas-11-1-u6/|website=iXsystems, Inc. - Enterprise Storage & Servers|accessdate=2020-07-16|language=en-US}}</ref>。
53行目:
2019年9月、[[Samba]] 4.11においてSMB1が既定で無効化された<ref>{{Cite web|url=https://www.samba.org/samba/history/samba-4.11.0.html|title=Samba 4.11.0 Available for Download|accessdate=2019-10-25|website=|publisher=}}</ref>。
 
=== SMB 2.0SMB2 ===
再設計された新たなSMBである。SMB 2.0.0以降のバージョンがSMB2のダイアレクト(方言)として定義されている<ref>{{Cite web |title=[MS-SMB2]: Appendix A: Product Behavior |url=https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/a64e55aa-1152-48e4-8206-edd96444e7f7 |website=learn.microsoft.com |access-date=2023-01-14 |language=en-us}}</ref>。SMB 3.xもSMB2のひとつである点は間違いやすく注意が必要である<ref name=":1">{{Cite web |title=WindowsのSMB v3はSMB v2より新しいが、SMB v3はSMB2である |url=https://atmarkit.itmedia.co.jp/ait/articles/2103/03/news007.html |website=@IT |access-date=2023-01-14 |language=ja}}</ref>。
マイクロソフトは2006年、SMBの新バージョン SMB 2.0 (SMB2) を[[Microsoft Windows Vista|Windows Vista]]で導入した<ref name="smb2">{{cite web |url= http://blogs.msdn.com/chkdsk/archive/2006/03/10/548787.aspx |title=What's new in SMB in Windows Vista |date=2006-03-10 |accessdate=2006-05-01 |author=Navjot Virk and Prashanth Prahalad |work=Chk Your Dsks |publisher=MSDN |language=英語}}</ref>。
 
SMB2では、コマンド/サブコマンドの種類が100以上あったものを19にまとめ、プロトコルのやりとりを集約した<ref>{{cite web |url= https://xtech.nikkei.com/it/article/COLUMN/20080916/314893/?ST=vista&P=2 |title=Vistaの目指すネットワークの姿(2)- NetBIOSなしでWindowsネットを実現 |accessdate=2010-03-30 |publisher=ITPro}}</ref>。[[パイプライン処理|パイプライン]]化機構があり、前の要求への応答を受け取る前に次の要求を送信できる
 
[[パイプライン処理|パイプライン]]化機構があり、前の要求への応答を受け取る前に次の要求を送信できる。複雑な動作を1つの要求にまとめることができ、クライアントとサーバ間のやり取りの回数を劇的に減らすことができ、結果として性能が向上する<ref name="impress080404">[https://pc.watch.impress.co.jp/docs/2008/0404/ms.htm マイクロソフト、VistaとServer 2008で実現するメリットを解説]</ref>。従来のSMBSMB1プロトコルにも同様な機能がありAndXと呼ばれていたが、マイクロソフトのクライアントは滅多にほとんどAndXを使っていなかった。
 
また、SMB2ではより大きなバッファをサポートしており、大きなファイルの転送や高速なネットワークでの性能向上が見込まれる<ref name="impress080404" />。
 
また、「永続性ファイルハンドル」と呼ばれるものを導入している。これは、ネットワーク接続が切れてもSMBサーバとのコネクションが継続できるようにするもので、無線LANなど接続が切れやすい環境で新たなセッションを構築する必要をなくす。
67行目:
 
従来のSMBプロトコルは16ビットで各種サイズを表していた。SMB2ではそれらの多くを32ビットや64ビットに拡張しており、[[ファイルハンドル]]の場合は16バイトとしている。
 
Windows Vistaとそれ以降のオペレーティングシステムでは、通信相手もWindows Vistaかそれ以降であれば、SMB2を使って通信する。SMB2をサポートしない従来のWindowsなどとの通信には引き続きSMB1が使われる。
 
SMB2はマイクロソフトにとって具体的に次のような利益をもたらした。
 
# 知的財産権の明確化。従来のSMBは[[IBM]]がもともと設計したもので、Windows以外にも[[XENIX]]、[[OS/2]]、[[OpenVMS|VMS]] (Pathworks) などにも採用されている。[[X/Open]]が部分的に標準化したり、[[Internet Engineering Task Force|IETF]]にもインターネットドラフトとして提出された。このため、知的財産所有権の所在は曖昧だった<ref name="ITA" />。SMB2.0以降はすべてMicrosoftが作成している。
# 過去の資産との決別。従来のSMBのコードは非常に様々なSMBクライアントやサーバに対応する必要があった。このためプロトコルにはオプション部分が多数存在する(長いファイル名を扱えるか否かなど)。また、コマンドの応答として様々なレベルの情報を扱う。さらに[[Unicode]]対応は後から追加されている。SMB2のコードは従来のものより大幅に単純化されている(例えば、Unicodeサポートが前提なので、Unicodeでない場合を扱うコードは不要)。そのため、SMB2は少なくともマイクロソフトによる互換性テストを大幅に削減した(当初はWindows Vistaのクライアントとサーバのみの評価で済んだ)。
 
==== SMB 2.0.0 ====
マイクロソフトは2006年、SMBの新バージョン SMB 2.0 (SMB2) .0を[[Microsoft Windows Vista|Windows Vista]]で導入した<ref name="smb2">{{cite web |url= http://blogs.msdn.com/chkdsk/archive/2006/03/10/548787.aspx |title=What's new in SMB in Windows Vista |date=2006-03-10 |accessdate=2006-05-01 |author=Navjot Virk and Prashanth Prahalad |work=Chk Your Dsks |publisher=MSDN |language=英語}}</ref>。しかし相互運用性に問題があり、後述の2.0.2に置き換えて廃止された
 
==== SMB 2.0.2 ====
Windows Vista SP1とWindows Server 2008で搭載された。2.0.0の相互運用性に問題を解消したものである。
 
==== SMB 2.1 ====
Windows 7とWindows Server 2008 R2で搭載された。SMB 2.0.2と比べてさらにファイル転送の速度が向上、特に複数のクライアントから同時にアクセスされた際は約3.5倍の向上が図られている<ref>{{cite web|url= https://atmarkit.itmedia.co.jp/ad/ms/1102windowsnas/1102windowsnas.html|title=「ファイルサーバー、小型NASは安いのを選べ」 本当にそれでいい?|author=@IT 編集部|accessdate=2011-02-10}}</ref>。
 
==== SMB 3.0 ====
Windows 8とWindows Server 2012で搭載された。SMB ダイレクト、SMB マルチチャネル、SMB 暗号化などの機能が追加された<ref>{{cite web|url=http://technet.microsoft.com/ja-jp/library/hh831795.aspx|title=サーバー メッセージ ブロックの概要|accessdate=2013-08-08}}</ref>。開発段階ではSMB2.2と呼ばれていた<ref>{{cite web |url=http://blogs.technet.com/b/windowsserver/archive/2012/04/19/smb-2-2-is-now-smb-3-0.aspx |title=SMB 2.2 is now SMB 3.0 |accessdate=2013-08-08 |deadlinkdate=2023-01-14 |archive-date=2012-05-12 |archive-url=https://web.archive.org/web/20120512034223/http://blogs.technet.com/b/windowsserver/archive/2012/04/19/smb-2-2-is-now-smb-3-0.aspx}}</ref>。
 
==== SMB 3.0.2 ====
Windows 8.1とWindows Server 2012 R2で搭載された。透過フェイルオーバー使用時の自動リバランス、SMB ダイレクトの性能向上などの更新にとどまる<ref>{{cite web|url=http://technet.microsoft.com/en-us/library/hh831474.aspx|title=What's New in SMB in Windows Server 2012 R2|accessdate=2014-07-02}}</ref>。
 
==== SMB 3.1.1 ====
Windows 10で搭載された。認証の[[耐タンパー性能]]の向上とSMB暗号化使用時のAES-128-GCMの追加が含まれる。
 
ダイアレクトは3.1.1のまま、その後いくつかの機能追加が行われている<ref name=":1" /><ref>{{Cite web |title=Windows Server の SMB 3 プロトコルを使用したファイル共有の概要 |url=https://learn.microsoft.com/ja-jp/windows-server/storage/file-server/file-server-smb-overview |website=learn.microsoft.com |access-date=2023-01-14 |language=ja-jp |last=JasonGerend}}</ref>。
 
== 構造 ==