什麼是 NVMe Over TCP (NVMe/TCP)

通過簡單的語言了解什麼是 NVMe over TCP 以及 NVMe over TCP 如何工作。

NVMe over TCP 解釋

對雲計算不斷增長的需求需要一個高效且負擔得起的存儲系統。儘管傳統硬盤驅動器 (HDD) 非常便宜,但它們無法在雲端託管性能驅動的軟件或計算過程。

因此,為了解決計算機設備大容量存儲中的這個問題,NVM Express Inc. 發布了 NVMe SSD 的架構,這是一種用於通過 PCIe 或外圍組件互連高速總線的計算機的超快內部存儲設備。

然而,PCIe 僅用於 RAM 和 NVMe SSD 之間的直接數據通信。如何在主機和客戶端計算機位於遠程位置的雲計算環境中實現相同的功能?這些設備只能通過互聯網或內聯網進行通信。

為了應對這一挑戰,NVMe over Fabric 或 NVMe-oF 協議旨在支持 NVMe 網絡存儲解決方案的開發。它使用 NVMe 邏輯設備規範接口在主機或服務器與存儲區域網絡 (SAN) 或直接附加存儲 (DAS) 之間傳輸數據。

但是,即使對於大型企業而言,NVMe-oF 部署也非常昂貴。另外,由於NVMe-oF主要需要光纜作為A點到B點的數據傳輸介質,所以僅僅為公有云部署NVMe-oF是不可行的。

為了解決這個問題,NVM Express Inc. 提出了 NVMe over TCP 或 NVMe/TCP 協議。

什麼是 NVMe over TCP (NVMe/TCP)?

NVMe/TCP 是基於 NVMe 的存儲 I/O 命令規範的擴展版本。它是 NVMe-oF 的高級版本,將 NVMe 數據傳輸協議的功能定義為基於消息的通信協議 TCP。

有一個 NVMe/TCP 傳輸規範描述了以下內容:

簡而言之,NVMe 和 TCP 的結合,NVMe/TCP 在 NVMe-oF 主機和 NVMe-oF 控制器設備之間以更快且無錯誤的方式傳輸數據和命令。

此類設備可以使用基於以太網的 TCP/IP 網絡通過 Internet 和 Intranet 進行連接。連接介質可以是光纖電纜或傳統的 Cat 5 和 Cat 6 電纜

為什麼選擇 NVMe Over TCP?

最初的 NVMe 傳輸系統旨在用於直接進入 PC 系統的 SSD,主要是在主板上。傳輸協議最初針對連接到內部服務器或工作站的 NVM PCIe SSD 進行了優化。

後來,為了滿足雲上快速和海量數據存儲的要求,NVMe 傳輸協議與雲數據中心最常使用的傳輸綁定規範相結合,例如光纖通道、基於融合以太網的 RDMA (RoCE)、互聯網廣域 RDMA 協議 (iWARP)和無限帶寬。

雖然上述 NVMe 修改工作得很好,但它不適合公有云,因為需要客戶端提供專門的硬件設備。因此,TCP 傳輸綁定係統被納入其中,該系統在全球範圍內都很容易獲得,並且在長途網絡上也很可靠。

NVMe over TCP的核心組件

NVMe-oF 的 NVMe/TCP 傳輸規範包括以下網絡組件:

  • 使用 NVMe 協議的遠程數據訪問系統遵循計算機網絡系統的開放系統互連 (OSI) 模型。
  • NVMe/TCP 利用在 OSI 物理層和 OSI 數據鏈路層運行的以太網網絡技術。
  • 對於通信協議和分組數據交換策略,NVMe/TCP 依賴於 TCP/IP 協議。
  • NVMe 命令集將所有用戶發出的命令和應用程序 I/O 轉換為特定的 NVMe 命令表,如管理、I/O、結構等。
  • 在基於消息的結構中,NVMe 命令的遠程傳輸是使用膠囊進行的。這些膠囊可以是響應或命令膠囊。NVMe 命令膠囊代表一個 NVMe 數據交換單元。
  • 子系統和主機控制器通過交換 NVMe/TCP 協議數據單元或 NVMe/TCP PDU 在它們之間進行通信。
  • 控制器子系統和主機之間有一個三步連接過程。這些步驟或階段是 NVMe-oF Connect、NVMe/TCP Connect 和 Fabric Connect。
  • 在 NVMe/TCP 傳輸綁定係統中,當子系統與主機 NVMe-OF 成功連接時,會自動創建動態 I/O 控制器並將其分配給主機。

NVMe over TCP 的優勢

  • TCP 是使用最廣泛的 Internet 或 Intranet 數據傳輸協議,每個數據中心和雲計算資源的客戶端都可以使用。
  • 數據中心及其客戶端不需要更換現有的網絡硬件,如路由器、交換機和 NIC。
  • TCP 可以使用光纖電纜和 Cat 5 或 Cat 6 電纜,因此維護非常容易。
  • NVMe-oF 的 TCP 傳輸綁定提供高性能和低延遲。因此,它非常適合主機上的關鍵任務和 CPU 密集型進程,並且可以輕鬆地被多個遠程客戶端訪問,而不會出現任何讀/寫衝突。
  • TCP 提供動態路由。因此,與遠程直接內存訪問 (RDMA) 相比,TCP 在大型數據中心和遠距離雲操作中表現最佳。
  • TCP 擁有比任何其他 NVMe 傳輸規範更大的開發社區。

NVMe over TCP 的挑戰

  • 使用 TCP 堆棧時,必須讓 CPU 解決大部分 TCP 操作,例如計算校驗和。因此,在更大範圍內,當多個客戶端工作站通過主機向網絡存儲設備請求寫入和讀取數據時,主機CPU的負載將會增加。
  • 超融合基礎設施必須簡單。但是,當您使用 NVMe/TCP 時,它會變得複雜。
  •  NVMe over TCP 也有一些安全弱點,除非您部署嚴格的網絡安全和 防病毒解決方案,否則黑客可以利用這些弱點滲透您的雲操作、竊取數據並在暗網上提供機密數據 。

NVMe Over TCP:最後的話

TCP 是跨公共或私有網絡數據中心的領先協議。因此,NVMe/TCP 是通過 Internet、Intranet 和雲基礎架構提供價格合理的存儲解決方案的首選。

該協議在長距離網絡連接上也具有可擴展性和可靠性。由於雲存儲讀寫延遲與大多數光纖通道協議相當,NVMe over TCP 是首選的雲存儲傳輸方案。

接下來, 雲存儲的 3 種替代方案



Leave a Comment

如何強制 Google Chrome 始終顯示完整網址

如何強制 Google Chrome 始終顯示完整網址

預設情況下,Chrome 不會顯示完整的 URL。您可能不太關心這個細節,但如果由於某種原因您需要顯示完整的 URL,請參閱有關如何使 Google Chrome 在網址列中顯示完整 URL 的詳細說明。

如何恢復舊版 Reddit

如何恢復舊版 Reddit

Reddit 於 2024 年 1 月再次更改了設計。桌面瀏覽器用戶可以看到重新設計,並在提供連結的同時縮小了主提要範圍

如何使用 Google Lens 複製教科書中的內容

如何使用 Google Lens 複製教科書中的內容

將書中您最喜歡的引言輸入 Facebook 非常耗時,而且充滿錯誤。了解如何使用 Google Lens 將圖書中的文字複製到您的裝置。

修復 Chrome 中找不到伺服器 DNS 位址的問題

修復 Chrome 中找不到伺服器 DNS 位址的問題

有時,當您使用 Chrome 時,您無法造訪某些網站並收到錯誤「在 Chrome 中找不到修復伺服器 DNS 位址」。以下是解決該問題的方法。

如何在 Google Home 上建立提醒的快速指南

如何在 Google Home 上建立提醒的快速指南

提醒功能一直是Google Home的一大亮點。它們確實讓我們的生活更輕鬆。讓我們快速瀏覽一下如何在 Google Home 上建立提醒,這樣您就不會錯過處理重要的事務。

Snapchat“僅限我的眼睛”:這意味著什麼以及如何設置

Snapchat“僅限我的眼睛”:這意味著什麼以及如何設置

我們都有想要保密的 Snap,無論是個人照片,還是您不希望其他人使用您的手機看到的內容。您已經可以在 Snapchat 上創建私人故事,現在,對於那些額外的私人 Snap,您可以使用 My Eyes Only Snapchat 功能來保護您的 Snapchat 隱私。

如何將 PS5 遊戲安裝或移動到外部硬盤

如何將 PS5 遊戲安裝或移動到外部硬盤

您的 PlayStation 5s 825GB 內部存儲驅動器看​​起來很多,但現代視頻遊戲可能很大。許多遊戲需要 50GB 以上,有些甚至超過 100GB。

如何在 Gmail 中使用郵件合併

如何在 Gmail 中使用郵件合併

當您想要向客戶、客戶、員工、俱樂部成員或類似群組發送同一封電子郵件時,您可以輸入一封電子郵件並使用 Gmail 郵件合併工具向所有人發送消息。Gmail 中的郵件合併曾經被稱為“多重發送”功能,可讓您插入 Google 通訊錄或 Google 表格中的郵寄列表。

Netflix:更改密碼

Netflix:更改密碼

如何使用您喜歡的瀏覽器或 Android 應用程式更改 Netflix 串流影片服務的密碼。

如何清除三星手機上的緩存

如何清除三星手機上的緩存

有時,應用程序可能加載緩慢、崩潰或占用過多存儲空間。清除手機的緩存數據可以幫助解決這些問題並為其他重要文件騰出空間。