Tungsten Fabric架構解析丨vRouter的部署選項

TF中文社群發表於2019-12-27

Tungsten Fabric專案是一個開源專案協議,它基於標準協議開發,並且提供網路虛擬化和網路安全所必需的所有元件。專案的元件包括:SDN控制器,虛擬路由器,分析引擎,北向API的釋出,硬體整合功能,雲編排軟體和廣泛的REST API。

vRouter 有多種部署選項,可提供不同的好處和易用性:

Kernel Module (核心模組) —— 預設部署模式

DPDK—— 使用英特爾庫提供轉發加速

SR-IOV—— 提供從 VM 直接訪問 NIC

Smart NIC (智慧 NIC —— vRouter 轉發器在可程式設計 NIC 中實現

這些選項如下所示:

 

  每個選項的功能和優點如下所述:

核心模組vRouter

vRouter 轉發器在 Linux 核心中執行的模組的方式,是目前的預設部署選項。 vRouter 實現了網路功能,否則將使用 iptables Open vSwitch 來執行。在核心中執行使轉發器在透過 KVM 的網路堆疊時可以直接訪問網路流量,並且與轉發器作為使用者空間中的程式執行時相比,可以實現顯著的效能提升。已實施的最佳化包括:

TCP 分片解除安裝

大量接收解除安裝

使用多佇列virtio 資料包處理

 

核心模組方法允許使用者使用Tungsten Fabric 實現網路虛擬化,同時對底層伺服器和 NIC 硬體的依賴性最小。不過,這種方式僅支援特定的 Linux 核心版本。

DPDK vRouter

英特爾的資料平面開發工具包(DPDK )是一組庫和驅動程式,允許在使用者空間中執行的應用程式直接訪問 NIC ,而無需透過 KVM 網路堆疊。可以在使用者空間中執行並支援 DPDK vRouter 轉發器版本。

與具有未修改的VM 的核心模組相比, DPDK vRouter 提供了加速的資料包吞吐量,如果訪客 VM 也啟用了 DPDK ,則可以實現更好的效能。

DPDK vRouter 透過將 CPU 核心專用於資料包轉發來工作,該核心不斷轉發迴圈等待資料包。這些核心不能用於執行訪客 VM ,因為它們連續 100 %執行,這在某些環境中可能是個問題。

SR-IOV (Single Root – 輸入 / 輸出虛擬化 )

SR-IOV 不是 vRouter 本身的嚴格部署選項,但在某些應用程式中可以與 vRouter 一起使用。

SR-IOV 允許 NIC 的硬體資源在多個客戶端之間共享,就好像每個客戶端都具有唯一訪問許可權一樣,就像虛擬機器管理程式對 CPU 所做的一樣。它使 VM 介面可以直接訪問 NIC ,因此資料路徑會繞過虛擬機器管理程式網路堆疊,從而提高效能。當 VM 在物理網路和虛擬網路之間執行閘道器功能時, SR-IOV 非常有用,但由於 SR-IOV 涉及繞過 vRouter ,因此介面不參與 Tungsten Fabric 虛擬網路,也不參與網路策略和網路服務。

智慧 NIC vRouter

一些新的可程式設計NIC 正在變得可用。 Tungsten Fabric vRouter 轉發器功能可以在這些新的 NIC 上實現,這在效能方面帶來了實質性的提升,特別是對於在某些環境中占主導地位的小位元組資料包。

此外,轉發幾乎完全從伺服器的x86 CPU 上解除安裝了,因此可以為更多的 VM 釋放 CPU 核心。

智慧NIC 看起來非常有前途,但顯然要求智慧 NIC 在生產環境中可用,並且它們需要時間才能得到廣泛使用。

更多Tungsten Fabric解析文章

  第一篇: TF主要特點和用例

第二篇: TF怎麼運作

第三篇: 詳解vRouter體系結構

第四篇: TF的服務鏈

關注微信:TF中文社群
郵箱:tfzw001@163.com


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957171/viewspace-2670957/,如需轉載,請註明出處,否則將追究法律責任。

相關文章