溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)

發(fā)布時(shí)間:2020-08-09 16:26:05 來源:ITPUB博客 閱讀:397 作者:TF中文社區(qū) 欄目:互聯(lián)網(wǎng)科技

作者:Umberto Manferdini 譯者:TF編譯組

 
如果你看過任何有關(guān)Tungsten Fabric (附注:原文為Contrail,在本系列文章中,Tungsten Fabric的功能與Contrail一致,文中出現(xiàn)Contrail之處均以Tungsten Fabric替換) 的演示,可能都會(huì)碰到“服務(wù)鏈(service chain)”這個(gè)熱詞。現(xiàn)在,是時(shí)候?qū)@個(gè)功能好好動(dòng)手研究一番了。
 
那么什么是服務(wù)鏈? 簡而言之,就是使流量在兩個(gè)虛擬網(wǎng)絡(luò)之間流動(dòng)的過程中,經(jīng)過一項(xiàng)或多項(xiàng)“服務(wù)”。
 
讓我們舉個(gè)例子吧!這里有2個(gè)虛擬網(wǎng)絡(luò):pippo和pluto。我們希望這兩個(gè)網(wǎng)絡(luò)互相通信。在Tungsten Fabric中,只需在兩個(gè)虛擬網(wǎng)絡(luò)上配置相同的RT(route target)即可實(shí)現(xiàn)(虛擬網(wǎng)絡(luò)是vrfs,還記得嗎?)。 (附注:Route target 即RT,在Tungsten Fabric用來作為路由的標(biāo)記,也是MPLS中常用的路由更新標(biāo)記。)
 
還有一個(gè)選擇,我們可以構(gòu)建一個(gè)網(wǎng)絡(luò)策略,同時(shí)適用于兩個(gè)網(wǎng)絡(luò),就是“允許這些虛擬網(wǎng)絡(luò)之間的任何流量”。而在幕后,Tungsten Fabric仍然依賴于路由route target(隱藏和自動(dòng)生成目標(biāo))。
 
細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)
因此我們可以說,這兩種方法是相同的。
 
這看起來是正確的,但從根本上是錯(cuò)誤的!使用網(wǎng)絡(luò)策略,使我們可以指定在虛擬網(wǎng)絡(luò)之間移動(dòng)時(shí),流量必須通過的一個(gè)或多個(gè)服務(wù)實(shí)例。這是第一種方法無法做到的。而這就是服務(wù)鏈! (附注:此處作者希望表達(dá)的是,盡管結(jié)果相同,但是實(shí)現(xiàn)的內(nèi)容不一樣,第一種same RT實(shí)現(xiàn)的內(nèi)容,是不同的網(wǎng)絡(luò)之間的路由屬性相同,意味著可以相互泄露和打通,而第二個(gè)則不是。)
 
如前所述,服務(wù)鏈可以包括一項(xiàng)或多項(xiàng)服務(wù)。這意味著從pippo到pluto的流量可以穿越防火墻,也同時(shí)穿越(一個(gè)接一個(gè))防火墻和DPI。
 
細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)
乍一看,有人會(huì)說:“好,很酷!但我也可以通過路由做同樣的事情……”。沒錯(cuò),但這里真正重要的是——易于部署。Tungsten Fabric負(fù)責(zé)所有事務(wù),并自動(dòng)配置所有需要的路由。你只需要告訴Tungsten Fabric自己的意圖即可:“允許這些網(wǎng)絡(luò)進(jìn)行通話,并使流量通過這些服務(wù)實(shí)例”。我們正處于基于意圖的時(shí)代,不是嗎?
 
當(dāng)然,這還不是故事的全部。Tungsten Fabric在表中引入了其它功能,例如運(yùn)行狀況檢查(health checks),以提供高可用性和擴(kuò)展能力。此外,網(wǎng)絡(luò)策略本身也可以用于基于L4的規(guī)則拒絕/允許流量。
 
那么,現(xiàn)在的問題是:創(chuàng)建服務(wù)鏈需要做些什么?
讓我們來仔細(xì)研究所有要素!
首先,我們需要兩個(gè)虛擬網(wǎng)絡(luò)。無需對它們配置任何route target。
 
細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)
接下來,我們在它們之間配置一個(gè)網(wǎng)絡(luò)策略,允許所有流量通過:
 
細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)

此時(shí),兩個(gè)網(wǎng)絡(luò)可以互相通信! 是時(shí)候轉(zhuǎn)向服務(wù)鏈了。
首先,我們創(chuàng)建一個(gè)虛擬機(jī),該虛擬機(jī)將成為我們服務(wù)實(shí)例的一部分。這是兩個(gè)虛擬網(wǎng)絡(luò)(VNF)之間的流量將遍歷的虛擬機(jī)!
例如,該虛擬機(jī)可以是防火墻。 該VM必須在Openstack中創(chuàng)建; 就像通過Nova創(chuàng)建的任何其它VM一樣。

細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)

是在Openstack上執(zhí)行的唯一操作。
接下來,回到Tungsten Fabric!我們創(chuàng)建一個(gè)名為服務(wù)模板(service template)的對象:
 
細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)

  顧名思義,服務(wù)模板是對服務(wù)的描述。 下面五個(gè)參數(shù)是必須要配置的:
  • 版本(version),必須為v2

  • 虛擬化類型(virtualization type),除非你打算使用物理網(wǎng)絡(luò)功能(PNF),否則必須為虛擬機(jī)

  • 服務(wù)類型(service type),可以是防火墻或分析器,我們使用第一個(gè)。

  • 服務(wù)模式(service mode),可以是transparent(bump in the wire),in-network(最常見),in-network-nat(使用nat時(shí)的特殊用例)

  • 接口列表,通常我們定義兩個(gè)接口:左和右

 
由于這是模板,因此可以多次用于不同VM的配置。例如,Juniper防火墻服務(wù)實(shí)例和第三方供應(yīng)商防火墻服務(wù)實(shí)例都可以用服務(wù)模板進(jìn)行部署。重要的是,在這兩種情況下,在OpenStack中創(chuàng)建的虛擬機(jī)都有兩個(gè)接口,可以將它們映射到服務(wù)模板中定義的接口(左和右)上。
 
接下來,我們創(chuàng)建服務(wù)實(shí)例。在服務(wù)實(shí)例對象中可以配置很多東西。這里,我們將專注于使鏈條正常工作的最小配置。
 
細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)
服務(wù)實(shí)例引用服務(wù)模板。 一旦指定了此引用,就可以將服務(wù)模板(左和右)中定義的 接口映射到實(shí)際的虛擬網(wǎng)絡(luò)。 例如,在這種情況下,我們向左映射到fourcade,向右映射到wierer。
 
現(xiàn)在,我們引入一個(gè)關(guān)鍵對象:端口元組(port tuple)。它是引用虛擬機(jī)接口的元組。如前所述,充當(dāng)防火墻的實(shí)際VM不是由Tungsten Fabric定義的,而是像OpenStack中的任何其它VM一樣所創(chuàng)建的。但是,我們需要將該虛擬機(jī)“鏈接”到我們的服務(wù)實(shí)例。這是通過端口元組實(shí)現(xiàn)的?!版溄印痹谔摂M機(jī)接口(vmi)級(jí)別執(zhí)行。
 
在這種情況下,端口元組將包含兩個(gè)元素,一個(gè)用于服務(wù)模板中定義的每個(gè)接口(左和右)。此外,我們將服務(wù)模板接口映射到虛擬網(wǎng)絡(luò)(向左映射到fourcade,向右映射到wierer)。
 
現(xiàn)在,讓我們看一下虛擬機(jī)。它有3個(gè)端口:eth0連接到我們不關(guān)心的虛擬網(wǎng)絡(luò),eth2連接到fourcade,eth3連接到wierer。下一步是什么?很明顯!端口元組將包括eth2和eth3。這就是我們告訴Tungsten Fabric在遍歷服務(wù)實(shí)例時(shí)流量應(yīng)該流向何處的方式。
 
沒有什么能阻止我們讓單個(gè)服務(wù)實(shí)例擁有多個(gè)端口元組…… ECMP怎么辦? active/backup如何處理? …有主意嗎? 我們稍后會(huì)處理。
 
現(xiàn)在,讓我們先聚焦這個(gè)用例。我們現(xiàn)在到哪兒了?來自fourcade網(wǎng)絡(luò)中的VM的流量,要發(fā)往更wierer網(wǎng)絡(luò)中的一個(gè)IP地址。流量需要從fourcade到wierer。這個(gè)通信在網(wǎng)絡(luò)策略中是允許的。由于網(wǎng)絡(luò)策略告訴從fourcade到wierer的流量必須經(jīng)過服務(wù)實(shí)例,因此數(shù)據(jù)包被發(fā)送到VM eth2端口,并將從eth3端口進(jìn)入wierer網(wǎng)絡(luò)。
 

細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)


由于Tungsten Fabric是基于流的,因此可以保證對稱性和粘性!
這就是珠穆朗瑪峰的理論。
 
在下篇文章中,我們將看到一個(gè)真實(shí)的例子。這將使我們看到創(chuàng)建一條服務(wù)鏈有多么容易,以及Tungsten Fabric如何掩蓋了所有的復(fù)雜性!
 

原文鏈接: https://iosonounrouter.wordpress.com/2020/06/09/whats-a-service-chain/




  Tungsten Fabric 架構(gòu)解析 列文章 ——

  • 第一篇: TF主要特點(diǎn)和用例

  •   第二篇: TF怎么運(yùn)作

  •    第三篇:詳解vRouter體系結(jié)構(gòu)

  •    第四篇: TF的服務(wù)鏈

  •   第五篇: vRouter的部署選項(xiàng)

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

  •    第七篇: TF如何編排

  •   第八篇: TF支持API一覽

  •   第九篇: TF如何連接到物理網(wǎng)絡(luò)

  •   第十篇: TF基于應(yīng)用程序的安全策略


細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖) 細(xì)說TF服務(wù)鏈丨一文講透什么是服務(wù)鏈(多圖)
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI