NAS 的「網路聚合」怎麼設:Link Aggregation 與 SMB Multichannel 的差異
當你在 NAS 與交換器兩端都設定好聚合之後,兩台設備會透過 LACP(Link Aggregation Control Protocol)交換控制封包,確認彼此的埠狀態,然後把多個實體埠視為一個「Port Channel」或「Bond」。之後 NAS 要送出封包時,會根據一個雜湊演算法(Hash Algorithm)決定這個封包該從哪一條實體線路出去。
關鍵就在這個雜湊演算法。常見的雜湊依據有三種:
換句話說,單一一條 TCP 連線(例如你從電腦複製一個 50GB 的 ISO 檔到 NAS)永遠只會走其中一條實體線路,因為它的來源 IP、目的 IP、來源埠、目的埠都是固定的,雜湊結果自然固定。這就是為什麼你做了雙埠聚合,單檔傳輸速度還是卡在 110MB/s 的根本原因。
常見的聚合模式:LACP、Balance-rr、Active-Backup 等
在不同 NAS 系統(Synology DSM、QNAP QTS、TrueNAS 等)中,你會看到好幾種「Bond 模式」可以選,這些模式對應的是 Linux 核心的 bonding driver 設定。以下是最常見的幾種:
對絕大多數家用與小型辦公室使用者來說,如果交換器支援 LACP,就選 802.3ad;如果不支援(例如一般非網管交換器),就選 Active-Backup 做備援,其他模式多半是特殊情境才會用到。
Switch 端要怎麼配合
這是很多人卡關的地方:Link Aggregation 必須兩端都設定。NAS 端設定了 802.3ad,交換器端也得把對應的兩個埠設成同一個 LACP 群組(各家交換器指令不同,例如 Cisco 是 channel-group 1 mode active,家用網管交換器多在 Web UI 的「Link Aggregation」頁面勾選)。
如果只設定了 NAS 端、交換器端沒設定,輕則完全無法連線,重則出現封包迴圈、網路癱瘓。這是設定鏈路聚合時最常見的災難,務必確認交換器規格支援,並且兩端設定一致。另外,非網管型交換器(Unmanaged Switch)通常不支援 LACP,只能支援靜態聚合或完全不支援,購買前務必確認規格。
Link Aggregation 的實際限制
總結一下 Link Aggregation 的幾個實務限制:
所以 Link Aggregation 的真正價值在於「多人同時存取」與「線路備援」,而不是「單人單檔傳輸變快」。如果你的使用情境是家庭劇院播放、多人同時備份、或是需要網路不中斷的監控系統,鏈路聚合就很值得設定。
SMB Multichannel(SMB 多重通道)是什麼?檔案層級的多路徑
相對於 Link Aggregation 在網路層動手腳,SMB Multichannel 是在應用層解決問題。它是微軟從 SMB 3.0(Windows 8 / Server 2012 開始引入)加入的功能,允許同一個 SMB 連線同時使用多條網路路徑,而且可以讓單一大檔案的傳輸真正突破單埠速度上限。
SMB Multichannel 的運作原理
當用戶端與 NAS 之間建立 SMB 連線時,雙方會透過 SMB 協商(Negotiation)交換彼此支援的網路介面資訊。如果雙方都偵測到有多個可用的網路介面(例如 NAS 有兩個 1GbE 埠、用戶端也有兩個 1GbE 埠),SMB Multichannel 就會自動建立多條 TCP 連線,並且把同一個檔案的資料流切割後分散到多條連線上傳輸,最後在接收端重組。
這跟 Link Aggregation 的雜湊邏輯完全不同。Link Aggregation 是「一個連線綁一條線」,SMB Multichannel 是「一個連線拆成多條子流,分散到多條線」。所以理論上,雙埠對雙埠的環境下,單一大檔案傳輸速度可以達到接近 2Gbps(約 220~230MB/s),這是 Link Aggregation 做不到的。
💬 想說點什麼?
歡迎到留言板分享你的想法、心得或疑問。
💬 前往留言板 →