
我知道透過 HTTP 進行通訊時,必須先下載原始程式碼才能在瀏覽器上查看。但是,當使用 Windows 檔案共享時(透過網路路由器共享和直接共享,例如從 PC-1 到 PC-2 的 LAN 電纜),實際上是什麼機制在起作用?
- 是否向伺服器發送請求,伺服器開始在某個連接埠上傳輸資料以供客戶端接收?
- 客戶端是否像傳統驅動器一樣存取伺服器的驅動器,讀取資料並將其複製到自己的驅動器?
- 伺服器是否將檔案複製到客戶端的硬碟上?
答案1
Windows 檔案共享實際上是如何運作的?
Microsoft SMB 協定驗證
Microsoft SMB 協定中使用的安全性模型與 SMB 的其他變體使用的安全性模型相同,並由兩個安全等級組成:使用者和共用。共用是可由 Microsoft SMB 協定用戶端存取的檔案、目錄或印表機。
使用者級身份驗證表示嘗試存取伺服器上共用的用戶端必須提供使用者名稱和密碼。經過身份驗證後,使用者可以存取伺服器上不受共用級安全性保護的所有共用。此安全等級可讓系統管理員專門確定哪些使用者和群組可以存取共用。
共享級身份驗證表示對共享的存取僅由分配給該共享的密碼控制。與使用者級安全性不同,此安全性等級不需要使用者名稱進行身份驗證,且不建立使用者身分。
在這兩個安全等級下,密碼會在傳送到伺服器之前加密。 Microsoft SMB 協定支援 NTLM 和較舊的 LAN Manager (LM) 加密。兩種加密方法都使用質詢-回應身份驗證,其中伺服器向客戶端發送隨機字串,客戶端返回計算的回應字串,證明客戶端具有足夠的存取憑證。
Microsoft SMB 協定和 CIFS 協定概述
伺服器訊息區塊 (SMB) 協定是一種網頁檔案共用協議,在 Microsoft Windows 中實作的稱為 Microsoft SMB 協定。定義特定協定版本的訊息資料包集稱為方言。通用 Internet 檔案系統 (CIFS) 協定是 SMB 的一種方言。 SMB 和 CIFS 也可在 VMS、多個版本的 Unix 和其他作業系統上使用。
CIFS 的技術參考可從 Microsoft Corporation 取得,網址為:通用 Internet 檔案系統 (CIFS) 檔案存取協議。
儘管其主要目的是文件共享,但其他 Microsoft SMB 協定功能包括以下內容:
- 方言協商
- 確定網路上的其他 Microsoft SMB 協定伺服器或網路瀏覽
- 透過網路列印
- 文件、目錄和共享存取認證
- 文件和記錄鎖定
- 文件和目錄更改通知
- 擴充檔案屬性處理
- 統一碼支持
- 機會鎖
在 OSI 網路模型中,Microsoft SMB 協議最常用作應用程式層或表示層協議,並且它依賴較低層級的協議進行傳輸。 Microsoft SMB 協定最常使用的傳輸層協定是 TCP/IP 上的 NetBIOS(NBT)。然而,Microsoft SMB 協定也可以在沒有單獨的傳輸協定的情況下使用 - Microsoft SMB 協定/NBT 組合通常用於向後相容。
Microsoft SMB 協定是用戶端伺服器實現,由一組資料包組成,每個資料包包含用戶端發送的請求或伺服器發送的回應。這些資料包可大致分類如下:
- 會話控制資料包 - 建立和中斷與共用伺服器資源的連線。
- 檔案存取資料包—存取和操作遠端伺服器上的檔案和目錄。
- 常規訊息包 - 將資料傳送到列印佇列、郵槽和命名管道,並提供有關列印佇列狀態的資料。
一些訊息包可以被分組並在一次傳輸中發送,以減少回應延遲並增加網路頻寬。這稱為“批次”。這Microsoft SMB 協定資料包交換場景 部分介紹了使用資料包批次處理的 Microsoft SMB 協定會話的範例。
- 描述:要使用 Microsoft SMB 協定在客戶端和伺服器之間建立連接,必須先確定用戶端和伺服器都支援的具有最高功能等級的方言。
- 描述:Microsoft SMB 協定中使用的安全性模型與 SMB 的其他變體使用的安全性模型相同,並由兩個安全等級組成:使用者和共用。共用是可由 Microsoft SMB 協定用戶端存取的檔案、目錄或印表機。
- 描述:用戶端和伺服器之間的 Microsoft SMB 協定封包交換範例。
評論澄清
檔案存取資料包-存取和操作遠端伺服器上的檔案和目錄。這是怎麼發生的?將請求資料提供給客戶端的回應資料包在哪裡? 克拉肯
每個資料包通常是某種基本請求,例如開啟檔案、關閉檔案或讀取檔案。伺服器接收資料包,檢查請求是否合法,驗證客戶端是否具有適當的檔案權限,最後執行請求並向客戶端傳回回應資料包。然後客戶端解析回應資料包並可以確定初始請求是否成功。
更多資源
使用此協定建立客戶端-伺服器會話時涉及的身份驗證方面的圖表和說明。
閱讀有關 SMB 的更多詳細資訊。