什麼是 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

修复:在Windows 11中解除固定的应用程序不断重新出现

修复:在Windows 11中解除固定的应用程序不断重新出现

如果解除固定的应用程序和程序在任务栏上不断出现,可以编辑布局XML文件并删除自定义行。

如何从Firefox自动填充中删除保存的信息

如何从Firefox自动填充中删除保存的信息

通过遵循这些针对Windows和Android设备的快速简便步骤,从Firefox自动填充中删除保存的信息。

如何软重启和硬重启 iPod Shuffle

如何软重启和硬重启 iPod Shuffle

在本教程中,我们向您展示了如何在 Apple iPod Shuffle 上执行软重置或硬重置。

如何管理您在 Android 上的 Google Play 订阅

如何管理您在 Android 上的 Google Play 订阅

Google Play 上有很多优秀的应用,您无法抗拒地订阅它们。随着时间的推移,这个列表会增长,您需要管理您的 Google Play 订阅。

如何在Galaxy Z Fold 5上使用Samsung Pay

如何在Galaxy Z Fold 5上使用Samsung Pay

在口袋或钱包中翻找正确的支付卡是一件非常麻烦的事情。在过去的几年中,各家公司正在开发和推出无接触支付解决方案。

如何删除 Android 下载历史记录

如何删除 Android 下载历史记录

删除 Android 下载历史记录可以帮助释放存储空间等。这是您需要遵循的步骤。

如何从 Facebook 删除照片和视频

如何从 Facebook 删除照片和视频

本指南将向您展示如何使用 PC、Android 或 iOS 设备从 Facebook 删除照片和视频。

如何重置Galaxy Tab S9

如何重置Galaxy Tab S9

我们花了一点时间与Galaxy Tab S9 Ultra一起使用,它是与Windows PC或Galaxy S23配对的完美平板电脑。同时,尽管这些平板电脑具有如此多的功能,但Android和Samsung One UI并不完美。无论您是否安装了更新导致Tab S9出现问题,还是有一些混乱的应用影响了电池寿命,我们将带您逐步完成重置Galaxy Tab S9的过程。

如何在Android 11中静音群组文本消息

如何在Android 11中静音群组文本消息

在Android 11中静音群组文本消息,以便控制消息应用程序、WhatsApp和Telegram的通知。

Firefox:清除地址栏URL历史记录

Firefox:清除地址栏URL历史记录

通过以下简单快速的步骤,在Firefox上清除地址栏URL历史记录并保持会话私密。