Tungsten Fabric架構解析丨TF的服務鏈

Hi!這裏是Tungsten Fabric架構解析內容的第四篇,本文將詳細介紹Tungsten Fabric的服務鏈。
Tungsten Fabric架構解析系列文章,由TF中文社區爲你呈現,旨在幫助初入TF社區的朋友答疑解惑。咱們將系統介紹TF有哪些特色、如何運做、如何收集/分析/部署、如何編排、如何鏈接到物理網絡等話題。

當網絡策略指定兩個網絡之間的流量,必須流經一個或多個網絡服務(例如防火牆、TCP代理、負載平衡器等)時,即造成服務鏈,這些網絡服務也被稱爲虛擬網絡功能(VNF)。算法

網絡服務在虛擬機(VM)中實現,這些虛擬機在Tungsten Fabric中被標識爲服務,而後包含在策略中。安全

Tungsten Fabric支持OpenStack和VMware vCenter環境中的服務鏈。微信

下面顯示了在兩個VM之間實現服務鏈的路由簡化視圖(實際的Tungsten Fabric實現中,特殊的「服務」VRF包含在服務鏈的路由中)。
Tungsten Fabric架構解析丨TF的服務鏈網絡

當在控制器中將VM配置爲服務實例(VNF),並在網絡策略中應用該服務實例時,控制器將在「Left」和「Right」端口所在的VRF中安裝路由,用於引導流量經過VNF。架構

當封裝路由經過VNF vRouter發佈回控制器時,路由將分發給具備Red和Green VRF的其餘vRouters,最終結果是一組路由指示Red和Green網絡之間的流量經過該服務實例。負載均衡

當VNF啓動時,經過標籤「Left」和「Right」標識順序激活的接口。ide

VNF必須有一個配置,該配置可根據數據包到達的接口,正確地處理這些數據包。測試

服務(VNF)有三種類型:spa

  • Layer 2 Transparent -以太網幀被髮送到服務中,其目標MAC地址是原始目的地的MAC地址。這最經常使用於深度包檢測服務。
  • Layer 3 (In Network) - 以太網幀被髮送到服務中,其目的地MAC設置爲服務的入口接口的MAC,終止L2鏈接並使用出口MAC做爲發送到目的地的幀的源MAC創建新的鏈接。這用於防火牆,負載平衡器和TCP代理。
  • Layer 3 (NAT) - 相似 In Network,除了服務將源IP地址更改成可從目的地路由的地址(網絡地址轉換)。

下面說明了各類服務鏈的場景,並分別進行簡要說明。3d

Tungsten Fabric架構解析丨TF的服務鏈

基本服務鏈

在第一個面板中,經過編輯Red和Green網絡之間的網絡策略來建立簡單的服務鏈,包括服務FW和DPI。這些虛擬機是先前在OpenStack或vCenter中啓動的,而後在Tungsten Fabric中配置爲具備Red和Green網絡中的接口的服務實例。

保存策略並將其應用於兩個網絡後,全部附加了Red或Green VM的vRouters中的路由都將被修改,以經過服務鏈發送流量。

例如,在修改策略以前,Red網絡中的每一個VRF都有一條到綠色網絡中每一個VM的路由,其中包含運行VM的主機的下一跳,以及控制器指定了主機vRouter的標籤。

路由被修改成具備FW服務實例的入口VRF的下一跳,以及爲FW Left接口指定的標籤。Right FW接口所在的VRF具備指向DPI Left接口的全部Green目的地的路由,而且DPI的Right VRF將包含全部Green目的地的路由以及它們運行的主機的下一跳和原始路由標籤。

反向流量的路由,也是相似的處理。

規模化的服務

當單個VM沒有處理服務鏈流量要求的能力時,能夠在服務中包含多個相同類型的VM,如第二個面板所示。完成此操做後,使用ECMP在兩端服務鏈的入口接口對流量進行負載均衡,並在不一樣服務實例之間進行負載均衡。

能夠根據須要在Tungsten Fabric中添加新的服務實例,雖然傳統的ECMP哈希算法實現一般會在目標數量發生變化時,將大多數會話移動到其餘路徑,但在Tungsten Fabric中,這僅適用於新流,由於現有路徑流量是根據上一篇文章(詳解vRouters的體系結構)中描述的流表肯定的。

對於必須查看流中的全部數據包的有狀態服務,此行爲相當重要,不然流將被阻止,從而致使用戶會話中斷。

經過相同的服務實例,流表還被反向填充,以確保數據流中反向的流量。

互聯網草案 https://datatracker.ietf.org/doc/draft-ietf-bess-service-chaining 上包含有關具備狀態服務的擴展服務鏈的更多詳細信息。

基於策略指導

有些狀況下,不一樣類型的流量須要傳遞到不一樣的服務鏈中。經過在網絡或安全策略中包含多條子策略,能夠在Tungsten Fabric中實現。在圖中的示例中,端口80和8080上的流量必須經過防火牆(FW-1)和DPI,而全部其餘流量僅經過防火牆(FW-2),其可能具備與防火牆FW-1不一樣的配置。

主-備服務鏈{#active-standby}

在某些狀況下,流量一般須要經過某個特定的服務鏈,但若是檢測到該鏈存在問題,則應將流量切換爲備份。備用服務鏈位於不太有利的地理位置時,可能會出現這種狀況。

在Tungsten Fabric中,主-備機制配置分兩步完成。

首先,將路由策略應用於每一個服務鏈的入口,爲優選的活動鏈入口指定較高的本地優先級值。

其次,每一個鏈上都附有一個運行情況檢查,能夠測試服務實例是否可達,或是否能夠到達鏈另外一側的目的地。若是運行情況檢查失敗,則撤消到正常活動服務鏈的路由,而且流量將流經備用服務鏈。

更多Tungsten Fabric解析文章

第一篇:TF主要特色和用例
第二篇:TF怎麼運做
第三篇:詳解vRouter體系結構

關注微信:TF中文社區
Tungsten Fabric架構解析丨TF的服務鏈

相關文章
相關標籤/搜索