伺服器訊息區 (SMB) 版本 2 通訊協定是原始伺服器訊息區 (SMB) 通訊協定的延伸。用戶端電腦使用 SMB 透過網路上的伺服器系統要求檔案和列印服務。這兩個通訊協定皆為可設定狀態的通訊協定,用戶端可以與伺服器建立連線,並在該連線建立已驗證的內容,然後發佈各項要求,以存取檔案、印表機及處理序間通訊的具名管道。
引進 SMB 2,增加執行 Windows Vista? 與 Windows Server? 2008 電腦間的通訊速度。SMB 2.1 為 Windows Server 2008 R2 與 Windows? 7 通訊協定帶來重要的效能增強功能。
可能會對這些變更感興趣的群組:
- 對存取檔案伺服器之 Windows 用戶端的電源管理選項感興趣的系統管理員。
- 對最佳化用戶端和伺服器系統 (與 Windows SMB 通訊協定最佳化相關) 感興趣的網路或伺服器系統管理員。
- 對評估檔案與列印服務相關的 Windows Server 2008 R2 新功能感興趣的伺服器系統管理員。
本節描述 SMB 2 為 Windows Vista 與 Windows Server 2008 提供的增強功能,和 SMB 2.1 為 Windows 7 與 Windows Server 2008 R2 提供的新功能。
與先前的 SMB 1 實作相比,SMB 2 通訊協定擁有更多的效能增強功能,包含下列各項:
- 一般增強功能,可讓您更有效率地使用網路。
- 合併要求,允許以單一網路要求的形式傳送多個 SMB 2 要求。
- 更大的讀取與寫入,以妥善使用較快速的網路 (即使具有高延遲)。
- 快取資料夾與檔案內容,這些位置是用戶端保留資料夾與檔案本機複本的地方。
- 耐久控制代碼可在發生暫時斷線時,讓 SMB 2 連線明確地重新連線至伺服器 (例如透過無線連線)。
- 增強的訊息簽署,以及增強的設定與交互操作性 (HMAC SHA-256 取代 MD5 成為雜湊演算法)。
- 提升檔案共用的延展性 (大幅增加每部伺服器的使用者、共用以及開啟檔案數目)。
- 支援符號連結。
SMB 2.1 為 Windows Server 2008 R2 與 Windows 7 通訊協定帶來重要的效能增強功能。這些增強功能包括下列各項:
- 用戶端 oplock 租用模型
- 支援大型 MTU
- 增強用戶端電腦的電源效率
- 支援舊版 SMB
SMB 廣泛使用伺服器用戶端檔案鎖 (oplocks),讓用戶端電腦快取資料及檔案控制代碼。伺服器用戶端檔案鎖已在 NTFS 檔案語意中存在很多年,主要目的是為了讓使用者更容易透過網路存取檔案。伺服器用戶端檔案鎖會儘可能允許執行鎖定檔案程序;然而,應用程式檔案存取模式分析會判定這些鎖定無法持續。這可能是因為應用程式在檔案開啟後,多次開啟檔案,或因為檔案存取要求發生衝突 (例如應用程式 A 開啟檔案先進行讀取,之後再進行讀取/寫入),通常發生在相同程序或由相同程序或執行緒持有的執行緒中斷 oplocks。
SMB 2.1 引進的用戶端 oplock 租用模型,可讓用戶端在更廣泛的案例中持有伺服器用戶端檔案鎖。此功能為 SMB 用戶端提供更強大的檔案快取和中繼檔案 (檔案資訊) 快取機會,並透過限制需要在用戶端電腦與伺服器之間傳輸的資料量,大幅提升效能優勢。此增強功能對具有高延遲的網路特別有幫助。此外,由於需要導向 SMB 檔案伺服器的操作數目減少,因此 SMB 檔案伺服器的延展性增加。
SMB 2.1 的新租用模型可為 SMB 2.1 用戶端電腦提供更好的檔案和控制代碼快取機會,並可保存資料完整性,且不需變更目前的應用程式即可使用此功能。
此功能的優點包含下列各項:
- 減少網路頻寬耗用量
- 較佳的檔案伺服器延展性
- 透過網路存取檔案時,提供較短的應用程式回應時間
Windows Server 2008 R2 和 Windows 7 的 SMB 2.1 通訊協定實作的設計目標之一,是達到 10-Gigabit 乙太網路 (速度極快/低延遲) 網路的最佳效能。這個目標已由稱為「大型 MTU」的新功能或「多重信用」操作達成。傳輸單位最大值 (MTU) 是通訊協定可透過網路傳輸的最大通訊協定資料單位 (以位元組為單位)。在 SMB 2.1 中,這個最大資料單元會從 64 KB 增加到 1 MB。這可讓使用 10-Gigabit 乙太網路的客戶進一步發揮該網路的功能。使用這個功能可讓複製大型檔案這類工作的效率大幅提升。
您可以透過 SMB 用戶端電腦的登錄機碼啟用這項設定選項。
Windows 7 另一個重要的增強功能就是增強 SMB 用戶端電腦的電源效率。在先前的 Windows Vista 中,於 SMB 檔案伺服器上開啟檔案的 SMB 用戶端電腦,無法進入睡眠模式。 只有在可以絕對保證資料檔案一致性的情況下,才能讓 SMB 用戶端在閒置時進入睡眠模式。 Windows Vista 電腦只能在有限的情況下進入睡眠電源狀態,而 Windows 7 則更進一步提升這項功能,讓用戶端電腦能夠在更多的情況下進入睡眠電源狀態。
現在可以在下列條件下進入睡眠模式:
- 當擁有開啟網路檔案控制代碼的 SMB 用戶端在該檔案沒有未寫入的變更時。
- 當擁有開啟網路檔案控制代碼的 SMB 用戶端有未寫入的變更,但已透過本機離線存放區 (名稱為 [永遠可以離線瀏覽] 的資料夾) 備份該檔案時。 用戶端在離開睡眠模式繼續執行時,這些檔案仍然可以使用,且與本機離線存放區的檔案保持一致。
- 當 SMB 用戶端正在瀏覽網路共用或有開啟目錄控制代碼時。
此外,會針對想在開啟遠端檔案之用戶端電腦使用更強大設定的系統管理員,提供群組原則系統管理範本設定,以便允許進入睡眠模式。當 SMB 用戶端電腦開啟遠端檔案,且該檔案未使用離線檔案和資料夾進行備份,用戶端在遠端檔案上也沒有未寫入的寫入 ,即可允許進入睡眠模式。此設定不會有資料不一致的風險;然而,部分應用程式可能會在電腦退出睡眠模式後發生錯誤 (例如「無法存取檔案」)。
Windows Server 2008 R2 和 Windows 7 皆支援 SMB 1、SMB 2 及 SMB 2.1,且會自動使用最適合通訊的版本。 已針對使用者簡化此協商處理。
Windows 7 和 SMB 適用的 Windows Server 2008 R2 有一項新的登錄設定及兩項新的群組原則設定。
登錄設定
設定名稱 | 位置 | 之前的預設值 (適用時) | 預設值 | 可能值 |
---|---|---|---|---|
SMB2 用戶端停用大型 MTU |
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters |
1 |
0,1 |
群組原則設定
設定名稱 | 位置 | 之前的預設值 (適用時) | 預設值 | 可能值 |
---|---|---|---|---|
允許開啟網路檔案時自動睡眠 (一般電源) |
系統管理範本\系統\電源管理\睡眠設定 |
已停用 |
尚未設定 已啟用 已停用 | |
允許開啟網路檔案時自動睡眠 (使用電池) |
系統管理範本\系統\電源管理\睡眠設定 |
已停用 |
尚未設定 已啟用 已停用 |
部署 SMB 2.1 通訊協定增強功能不需要特定動作。當 SMB 2.1 用戶端連絡支援 SMB 2.1 伺服器時,會在初始工作階段自動交涉通訊協定版本,且不需要設定即可部署。
Windows 用戶端電腦的預設電源管理組態可允許 SMB 用戶端在沒有應用程式失敗或檔案遺失風險的情況下進入睡眠模式。
Windows 7 和 Windows Server 2008 R2 的所有版本都提供此功能。
是,32 位元和 64 位元版本皆可使用 SMB 2.1。
若要了解新的 SMB 功能如何為分公司實作提供效能改進及功能,請參閱 TechNet 上的 BranchCache 網站 (http://go.microsoft.com/fwlink/?LinkID=149834)。