細說TF服務鏈丨服務鏈的冗餘是如何實現的

2021-10-08 16:31:06 字數 2613 閱讀 3312

服務鏈的核心是服務例項。服務例項通過埠元組將鏈(chain)「鏈結」到虛擬機器,而該虛擬機器就是流量所經過的實際例項。

這個虛擬機器也代表著單點故障!如果vm死亡,則其介面也將死亡,於是,埠元組將引用「死」的介面。結果是什麼?流量的丟失!

保持服務鏈或服務例項的冗餘,是很重要的。

要了解冗餘是如何實現的,有必要回顧一下服務鏈路由的工作方式。

讓我們考慮一下這個例子:

現在,我們在左右vn之間有乙個網路策略。

tcp流量傳送到服務例項「usa」,而udp流量傳送到服務例項「europe」。

在評估流(flow)時,與規則匹配的流量將傳送到相應的「服務」vn。例如,tcp流量將傳送到left_service_usa。在評估網路策略規則時,tungsten fabric不會考慮服務例項的狀態。通過這種方式,tungsten fabric就不需要關心服務例項的埠元組所引用的介面狀態。

因此,假設我們有乙個tcp流,並且服務例項「usa」中埠元組引用的介面已關閉(down)。tungsten fabric將如何表現?流量與第乙個規則匹配後,將傳送到服務例項「usa」,也就是left_service_usa的vn。那裡沒有有效的下一跳,這導致了流量丟失。

現在,你應該清楚如何通過服務鏈來解決冗餘問題了。冗餘必須允許服務vn中有多個下一跳。

實現它的方法,是在服務例項中配置多個埠元組。

這就是鏈條的由來:

從左側到右側的所有流量,都通過服務例項「pippo」。

在該服務例項內,我們配置兩個埠元組:乙個引用vfw1埠,另乙個引用vfw2埠。

結果如何?當路由從右側向左側洩漏時,兩個埠元組的左側介面都將設定為下一跳,從而導致通過ecmp下一跳,可以訪問源自右側vn的路由。

例如,右側vn的路由為0/0。如果路由策略允許,該路由將洩漏到左側vn。在洩漏時,tungsten fabric會檢查服務例項的所有埠元組,獲取所有剩餘的介面,並將它們設定為下一跳。結果就是,從左側vn的角度來看,0/0的ecmp下一跳具有兩條相等的成本路徑:一條通過vfw1,一條通過vfw2。

如果乙個vfw死亡,我們還有另乙個!這就實現了冗餘!

從右側到左側的方向,也同樣適用。

站在實際的角度來看,使鏈變得冗餘,只需要我們簡單地根據需要新增任意數量的埠元組:

預設情況下,這種冗餘是active/active的。

在前面的示例中,基於雜湊結果,新的流從左到右可以遍歷vfw1或vfw2。考慮到我們提到了ecmp下一跳,這是顯而易見的。

作為另一種方案,active/backup冗餘也是可以實現的。

為了實現這一目標,我們必須回顧另乙個tungsten fabric的概念。vmi(虛擬機器介面)是路由元素,因為它們可以在其上配置本地優先順序的值。該值可以由使用者配置。

這裡的想法是,在引用作為active的vnf的埠元組的vmis上保留預設值(lp = 200),而在引用作為backup的vnf的埠元組的vmis上設定更差的值(lp = 100)。

這樣,所有下一跳是backup vfw介面的路由都將具有lp = 100的值。

讓我們再次考慮0/0路由。一旦洩漏到左側vn,我們將獲得該路由的兩個副本:乙個通過lp = 200的vfw1,另乙個通過lp = 100的vfw2。tungsten fabric將執行bgp最佳路徑選擇,當然,通過vfw1的路由將變為active狀態。

與junos相似,此路由將進入fib(在本例中為vrouter的fib)。同時,rib中已經準備好通過vfw2的另一種路由,一旦發生故障,它將被載入到fib中,從而幫助我們實現快速收斂!

當然,我們在這裡討論的所有功能仍然有效!通過策略控制洩漏,最重要的是,使用執行狀況檢查來快速檢測故障,並最大程度地利用這種冗餘!

細說tf服務鏈——

一文講透什麼是服務鏈(多圖)

手把手教你配置服務鏈

服務鏈後台的路由實現

如何配置服務鏈的高階功能

tungsten fabric 架構解析系列文章——

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

第二篇:tf怎麼運作

第三篇:詳解vrouter體系結構

第四篇:tf的服務鏈

第五篇:vrouter的部署選項

第六篇:tf如何收集、分析、部署?

第七篇:tf如何編排

第八篇:tf支援api一覽

第九篇:tf如何連線到物理網路

第十篇:tf基於應用程式的安全策略

微服務鏈路追蹤 微服務的戰爭 選型?分布式鏈路追蹤

在經歷微服務的戰爭 級聯故障和雪崩 的 p0 級別事件後,你小手一攤便葛優躺了。開始進行自我覆盤,想起這次排查經歷,由於現在什麼基礎設施都還沒有,因此在接收到客戶反饋後,你是通過錯誤日誌進行問題檢查的。但在級聯錯誤中,錯誤日誌產生的實在是太多了,不同的服務不同的鏈路幾乎都擠在一起,修復時間都主要用在...

微軟的那些區塊鏈雲服務

過去30年,微軟建立了商業軟體模式的統一標準,成為it巨頭之一。自錯過了網際網路和移動網際網路的紅利期,微軟一直發展卻就中規中矩,沒有很大的建樹。但這次對於區塊鏈浪潮,微軟的反應卻是很少見的快速。2014年,微軟以位元幣為切入點接觸虛擬金融業,把位元幣作為旗下的我軟體商店 windows windo...

微服務的鏈路追蹤概述

微服務架構下的問題 在大型系統的微服務化構建中,乙個系統會被拆分成許多模組。這些模組負責不同的功能,組合成系 統,最終可以提供豐富的功能。在這種架構中,一次請求往往需要涉及到多個服務。網際網路應用構建在 不同的軟體模組集上,這些軟體模組,有可能是由不同的團隊開發 可能使用不同的程式語言來實現 有可能...