Service Function Chaining是目前正在研究和標(biāo)準(zhǔn)化的一種網(wǎng)絡(luò)技術(shù)。自從數(shù)據(jù)中心網(wǎng)絡(luò)向Overlay網(wǎng)絡(luò)發(fā)展以后,網(wǎng)絡(luò)邊緣成為了虛擬網(wǎng)絡(luò)與物理網(wǎng)絡(luò)的分界點,其中網(wǎng)絡(luò)邊緣為Server或者ToR,以及可能為Gateway。
虛擬網(wǎng)絡(luò)與物理網(wǎng)絡(luò)的分離,讓數(shù)據(jù)中心網(wǎng)絡(luò)變得更加靈活,更具有可擴(kuò)展性。而對虛擬網(wǎng)絡(luò)的控制,也僅僅需要集中在網(wǎng)絡(luò)邊緣即可。
然而Overlay技術(shù)并沒有解決所有問題,數(shù)據(jù)中心中還有很多Middleware,如防火墻/負(fù)載均衡器等,這些設(shè)備都是基于用戶業(yè)務(wù)來處理的,如果通過隧道而穿越這些設(shè)備,顯然是不行的。特別是在VM遷移時,防火墻里面的基于Flow的Status其實并沒有遷移,難道也要進(jìn)行防火墻的遷移嗎?同時,傳統(tǒng)的防火墻/負(fù)載均衡器的部署,都是與網(wǎng)絡(luò)拓?fù)渚o密相關(guān),需要根據(jù)報文路徑來放置防火墻/負(fù)載均衡器,這顯然與虛擬網(wǎng)絡(luò)所要求的:decoupling from the physical network, 即與物理網(wǎng)絡(luò)分離,所背道而馳的。
于是產(chǎn)生了虛擬防火墻/負(fù)載均衡器等新型中間件,這些虛擬防火墻/負(fù)載均衡器,部署在網(wǎng)絡(luò)的邊緣,可以由標(biāo)準(zhǔn)服務(wù)器來實現(xiàn)。如下圖所示(PE為支持VPN的網(wǎng)關(guān)節(jié)點):
這種部署模型,要求虛擬防火墻/負(fù)載均衡器可以在網(wǎng)絡(luò)中任意部署,也就是與網(wǎng)絡(luò)拓?fù)錈o關(guān),即Topology Independent。從而,新問題是,如果將流量能夠靈活的通過虛擬防火墻/負(fù)載均衡器進(jìn)行處理?
我們把虛擬防火墻/負(fù)載均衡器/網(wǎng)關(guān)等業(yè)務(wù)處理功能,稱為Service Function,而流量經(jīng)過一系列的Service Function的處理,形成Service Function Chaining,即業(yè)務(wù)功能鏈。如下圖紅色/紫色所示,代表兩條Service Chain。
在這樣一個虛擬網(wǎng)絡(luò)中,如何能夠?qū)⒘髁快`活的調(diào)配到某個Service Function進(jìn)行處理,形成Service Function Chaining,正是目前SFC所需要解決的問題。當(dāng)然SFC不僅僅解決了上述的問題,還能帶來很多好處,如提高可靠性/提高安全性/業(yè)務(wù)處理可見性/容易進(jìn)行對稱流量處理等。
SFC的框架,基本可以分為如下組件:
1. Service Overlay,即各個網(wǎng)絡(luò)邊緣節(jié)點需要通信的Overlay技術(shù)
2. Generic Service Control Plane (GSCP),就是形成Service Function Chain的控制器
3. Service Classification,即需要進(jìn)行流識別,然后特定的流,進(jìn)行特定的Service Function Chain處理
4. Dataplane Metadata,這是一大特點,Metadata允許各個邊緣業(yè)務(wù)處理節(jié)點,能夠互相交換信息,達(dá)到某種業(yè)務(wù)處理目的。這和ASIC處理里面的Metadata,具有類似功能。
目前實現(xiàn)SFC有一些技術(shù)方案,如基于源路由實現(xiàn),即在數(shù)據(jù)源,就決定好需要經(jīng)過哪些業(yè)務(wù)節(jié)點,然后把這些業(yè)務(wù)節(jié)點的標(biāo)識都封裝在報文中,形成類似MPLS的疊加隧道封裝。中間網(wǎng)絡(luò)節(jié)點,根據(jù)報文的指定標(biāo)識進(jìn)行轉(zhuǎn)發(fā)處理。這類似于RSVP-TE的顯示路由,只是需要在顯示路由中,增加業(yè)務(wù)處理標(biāo)識,業(yè)務(wù)節(jié)點在收到報文后,發(fā)現(xiàn)有自己的業(yè)務(wù)標(biāo)識,這需要進(jìn)行相應(yīng)的業(yè)務(wù)處理,如防火墻/負(fù)載均衡等處理。這個技術(shù),目前有一個很好聽的名字,叫SPRING。但是SPRING有其他很多應(yīng)用場景,SFC僅僅是其一方面。
還有一種SFC的技術(shù)方案,是對MP-BGP進(jìn)行擴(kuò)展,定義新的NLRI來改變傳統(tǒng)的路由下一跳行為,待下次詳細(xì)闡述。
Metadata的定義,目前在IETF提了一種類似偽線控制字的定義方式(draft-guichard-sfc-mpls-metadata),一看就知道是Stewart提的,只有他最熟悉了。
上述新技術(shù)都非常有趣,對數(shù)據(jù)中心的影響不言而喻。相信在2014年就能看到相關(guān)的產(chǎn)品,Cisco的ACI在2014年可能會包含該技術(shù)。