唐雅璇 李麗娟
摘要:SDN將數(shù)據(jù)層面和控制層面解耦合,簡(jiǎn)化了網(wǎng)絡(luò)管理。該文從SDN的發(fā)展背景入手,結(jié)合目前數(shù)據(jù)中心邏輯網(wǎng)絡(luò)和物理網(wǎng)絡(luò)緊耦合的問題,提出了使用SDN的方式讓網(wǎng)絡(luò)出口變得更靈活、更具有彈性。
關(guān)鍵詞:軟件定義網(wǎng)絡(luò);網(wǎng)絡(luò)出口解決方案;服務(wù)鏈
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)31-0022-03
1 概述
1.1 SDN簡(jiǎn)介
軟件定義網(wǎng)絡(luò)(software defined networking:SDN)[1]起源于2006年美國斯坦福大學(xué)Clean Slate的研究課題,SDN是將網(wǎng)絡(luò)的數(shù)據(jù)層與控制層分離的一種新型網(wǎng)絡(luò)架構(gòu),通過集中化控制和提供開放控制接口,簡(jiǎn)化網(wǎng)絡(luò)管理,支持網(wǎng)絡(luò)服務(wù)的動(dòng)態(tài)應(yīng)用程序控制。其中網(wǎng)絡(luò)控制解耦于轉(zhuǎn)發(fā),且網(wǎng)絡(luò)控制是直接可編程的。SDN實(shí)現(xiàn)了網(wǎng)絡(luò)資源池化并作為服務(wù)提供,釋放了網(wǎng)絡(luò)的靈活性、開放性和創(chuàng)新性。
1.2 Service Chain簡(jiǎn)介
服務(wù)鏈(Service Chain)是報(bào)文在網(wǎng)絡(luò)中傳遞時(shí),按照業(yè)務(wù)邏輯要求的順序經(jīng)過各種各樣的服務(wù)節(jié)點(diǎn)(服務(wù)節(jié)點(diǎn)主要包括防火墻、入侵檢測(cè)、負(fù)載均衡等),保證網(wǎng)絡(luò)能夠按照設(shè)計(jì)要求提供給用戶安全、快速、穩(wěn)定的網(wǎng)絡(luò)服務(wù)。
傳統(tǒng)網(wǎng)絡(luò)的服務(wù)鏈和網(wǎng)絡(luò)拓?fù)溆芯o密的耦合,部署較復(fù)雜,在服務(wù)鏈變更、擴(kuò)容時(shí),都需要改動(dòng)網(wǎng)絡(luò)拓?fù)洌匦滦抻喚W(wǎng)絡(luò)設(shè)備的配置,無法滿足目前數(shù)據(jù)中心的需求。
面對(duì)這個(gè)問題,在數(shù)據(jù)中心網(wǎng)絡(luò)提出了利用服務(wù)器承載虛擬防火墻/負(fù)載均衡器等新型網(wǎng)絡(luò)設(shè)備(其實(shí)就是NFV(網(wǎng)絡(luò)功能虛擬化)的一種形態(tài)),并將這些虛擬防火墻/負(fù)載均衡器部署在邏輯網(wǎng)絡(luò)的邊緣,通過一些特殊的調(diào)度方式將對(duì)應(yīng)的數(shù)據(jù)流引向這些網(wǎng)絡(luò)設(shè)備進(jìn)而實(shí)現(xiàn)按需部署防火墻以及按用戶需求完成引流操作。還有就是通過部署物理防火墻,通過一些隧道的方式將用戶數(shù)據(jù)流引導(dǎo)這些物理設(shè)備上,經(jīng)過防火墻處理后再通過隧道方式引回來繼續(xù)走原路徑。
2 Service Chain方案技術(shù)原理
2.1 技術(shù)原理
在整體的解決方案中,除了一些必要的設(shè)備端配置外,基本整個(gè)服務(wù)鏈的創(chuàng)建、維護(hù)都是通過SDN控制器完成。
2.1.1 服務(wù)鏈創(chuàng)建
2.1.1.1控制器、設(shè)備的初始配置及設(shè)備發(fā)現(xiàn)
控制器:配置控制器的IP地址,完成高級(jí)組件Service chain的安裝。
交換設(shè)備:配置控制器的IP地址及管理通道IP地址,使得設(shè)備控制器之間管理通路可達(dá)。
Service Chain:節(jié)電設(shè)備物理連接在具體交換機(jī)的某些端口上。
在完成基礎(chǔ)配置后,控制器和設(shè)備之間會(huì)建立Openflow連接握手過程??刂破骱驮O(shè)備端建立TCP連接后,開始OpenFlow協(xié)議交互(OpenFlow協(xié)議基于TCP),首先雙方完成Hello握手,交換雙方的OpenFlow協(xié)議版本信息,然后通過控制器發(fā)送Feature request消息去獲取設(shè)備端的設(shè)備類型、流表能力、端口形態(tài)/數(shù)量等信息,從而完成對(duì)這臺(tái)設(shè)備的發(fā)現(xiàn)過程。
2.1.1.2創(chuàng)建Service Chain節(jié)點(diǎn)
在控制器上完成支撐Service Chain核心交換設(shè)備的發(fā)現(xiàn)過程,并且在控制器的WEB界面上可呈現(xiàn)對(duì)應(yīng)設(shè)備以及端口。管理員可以指定交換設(shè)備哪些端口連接著Service Chain節(jié)點(diǎn),并設(shè)定節(jié)點(diǎn)的工作模式——透明模式還是路由模式。
當(dāng)管理員在控制器上完成這些配置后,控制器會(huì)將對(duì)應(yīng)的端口配置轉(zhuǎn)換成設(shè)備支持的CLI(CLI只是可能的一種形式)通過預(yù)先配置好的管理通道完成對(duì)設(shè)備端相關(guān)端口的配置。
完成這個(gè)步驟后就可以在控制器上看到對(duì)應(yīng)的Service Chain節(jié)點(diǎn),并知曉這些節(jié)點(diǎn)的工作模式和關(guān)聯(lián)的交換端口。并且對(duì)應(yīng)的交換設(shè)備也完成相關(guān)的配置處于待工作狀態(tài)。
2.1.1.3服務(wù)鏈設(shè)置
在控制器上創(chuàng)建服務(wù)鏈需要完成以下幾個(gè)步驟:
完成這個(gè)設(shè)置后控制器會(huì)生成相關(guān)流表并通過OpenFlow協(xié)議下發(fā)流表到交換設(shè)備上完成后續(xù)的引流操作,從而實(shí)現(xiàn)將指定流按需轉(zhuǎn)發(fā)到各個(gè)Service Chain節(jié)點(diǎn)并最終形成Service Chain功能。
2.1.2 引流
本節(jié)簡(jiǎn)單介紹,在管理員創(chuàng)建了服務(wù)鏈之后,控制器如何下發(fā)相關(guān)的OpenFlow流表。
目前Service Chain節(jié)點(diǎn)通常支持路由模式和透明模式,可能同時(shí)支持,也可能支持其中一種,即使兩種模式都支持,在工作時(shí)也只能處于其中一種模式,因此下文將具體分這兩種模式進(jìn)行介紹。
2.1.2.1路由模式
路由模式指的是Service Chain節(jié)點(diǎn)本身具備三層轉(zhuǎn)發(fā)功能,其與交換設(shè)備之間互聯(lián)通道需要配置ip地址,交換設(shè)備發(fā)送報(bào)文到這些節(jié)點(diǎn)是通過三層路由的方式到達(dá),報(bào)文在這些節(jié)點(diǎn)返回交換設(shè)備時(shí)也是通過三層路由的方式到達(dá)。
以下圖作為路由模式下的引流模型來進(jìn)行闡述:
為案例覆蓋方便,設(shè)定:
P1、P2屬于SVI下的兩個(gè)成員口;
P7屬于路由口;
P3、P4、P5、P6屬于路由口分別與對(duì)應(yīng)的FW和WAF互聯(lián)。
MGMT口與控制器互聯(lián),用于傳遞配置命令和OpenFlow流表。
2.1.2.2透明模式
透明模式指的是Service Chain節(jié)點(diǎn)本身具備透明傳輸功能,即原報(bào)文進(jìn)原報(bào)文出,其與交換設(shè)備之間互聯(lián)通道無需配置ip地址,雙方以Bridge(Trunk口)方式互聯(lián)。交換設(shè)備和這些節(jié)點(diǎn)之間的報(bào)文交互都和報(bào)文從源口輸入時(shí)的內(nèi)容一致。這點(diǎn)有別于路由模式,路由模式下交換和這些節(jié)點(diǎn)之間的交互報(bào)文與輸入報(bào)文是不一致的,二層端口的源MAC/DMAC都已經(jīng)發(fā)生變化。
以下圖作為透明模式下的引流模型來進(jìn)行闡述:
為案例覆蓋方便,設(shè)定:
P1、P2屬于SVI下的兩個(gè)成員口;
P7屬于路由口;
P3、P4、P5、P6屬于Uplink口分別與對(duì)應(yīng)的FW和WAF互聯(lián)。
MGMT口與控制器互聯(lián),用于傳遞配置命令和OpenFlow流表。
2.2 部署
2.2.1 獨(dú)立交換部署
這種方式是使用一臺(tái)獨(dú)立的交換設(shè)備來承擔(dān)整個(gè)Service Chain功能,部署如下圖所示:
這種部署方式的好處是無需改動(dòng)現(xiàn)網(wǎng)的整體配置,僅需額外增加一臺(tái)獨(dú)立的交換設(shè)備和控制器就可實(shí)現(xiàn)出口“糖葫蘆串”的整改。改動(dòng)小同時(shí)能兼容現(xiàn)網(wǎng)的任意部署配置。
2.2.2 利用已有的核心交換部署
這種方式是使用現(xiàn)有的核心交換來承擔(dān)整個(gè)Service Chain功能,部署如圖5所示。
這種部署方式的好處是無需購買新設(shè)備保護(hù)就有投資,僅需額外增加一臺(tái)控制器就可實(shí)現(xiàn)出口“糖葫蘆串”的整改,同時(shí)通過適當(dāng)?shù)囊骺梢詫?shí)現(xiàn)內(nèi)網(wǎng)流量的按需安全防護(hù),提供了Service Chain節(jié)點(diǎn)的利用率。由于核心交換同時(shí)承擔(dān)整網(wǎng)的轉(zhuǎn)發(fā)行為和Service Chain節(jié)點(diǎn),在網(wǎng)絡(luò)Service Chain的構(gòu)建上會(huì)更加復(fù)雜一些。同時(shí)核心交互通常都使用VSU的方式進(jìn)行部署,而需要改造的“糖葫蘆串”通常一個(gè)出口都只有一套,因此就面臨著使用哪臺(tái)VSU主機(jī)來旁掛Service Chain節(jié)點(diǎn)的問題。掛在任意一臺(tái)設(shè)備上的話一旦這臺(tái)設(shè)備掛掉(核心本身有VSU防護(hù),因此不影響整網(wǎng)轉(zhuǎn)發(fā)),Service Chain就會(huì)失效。
2.2.3 部署比較
如表1所示。
3 結(jié)束語
隨著數(shù)據(jù)中心的規(guī)模的增大,數(shù)據(jù)中心的網(wǎng)絡(luò)問題日益突出,傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)已無法滿足計(jì)算數(shù)據(jù)中心的需要,基于SDN理念的網(wǎng)絡(luò),通過解耦網(wǎng)絡(luò)設(shè)備軟硬件,釋放了網(wǎng)絡(luò)的靈活性、開放性及創(chuàng)新性,解決了數(shù)據(jù)中心在發(fā)展過程中遇到的瓶頸,實(shí)現(xiàn)了用戶在數(shù)據(jù)中心的靈活調(diào)配和優(yōu)化,提高業(yè)務(wù)服務(wù)質(zhì)量的同時(shí)也提升了用戶的服務(wù)體驗(yàn)。
表1 部署比較
[部署方式 優(yōu)點(diǎn) 缺點(diǎn) 獨(dú)立交換部署 1.整網(wǎng)改動(dòng)量小,幾乎可無縫切換。
2.設(shè)備獨(dú)立,并且承擔(dān)的功能很少因此相對(duì)來說非常穩(wěn)定。即使故障不影響內(nèi)網(wǎng)業(yè)務(wù)。 1.額外投資購買一臺(tái)交換
2.無法針對(duì)內(nèi)網(wǎng)流量進(jìn)行安全防護(hù) 核心交換部署 1.保護(hù)投資,不需要額外購買交換設(shè)備。
2.流經(jīng)核心的流量都可按需進(jìn)行安全防護(hù)。 1.部署比較麻煩,需要更改核心配置并動(dòng)態(tài)修改核心的流表,在Service Chain的建立上具有一定復(fù)雜度。
2.在核心是VSU部署的情況下,通常Service Chain節(jié)點(diǎn)只能部署在其中一臺(tái)核心交換上,與VSU特性不吻合。 ]
參考文獻(xiàn):
[1] McKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow: enabling innovation in campus networks[J]. ACM SIGCOMMComputer Communication Review,2008,38(2):69-7.