文/周翔
隨著網(wǎng)絡(luò)的快速發(fā)展,傳統(tǒng)互聯(lián)網(wǎng)出現(xiàn)了如傳統(tǒng)網(wǎng)絡(luò)配置復(fù)雜度高等諸多問題[1]。SDN誕生于美國GENI項目資助的斯坦福大學(xué)Clean Slate課題,以斯坦福大學(xué)教授Nick McKeown為首的研究團(tuán)隊提出了Openflow的概念用于校園網(wǎng)絡(luò)的試驗創(chuàng)新,后續(xù)基于Openflow給網(wǎng)絡(luò)帶來可編程的特性,SDN的概念應(yīng)運而生[1]。SDN核心思想有三點:(1)將網(wǎng)絡(luò)控制面與數(shù)據(jù)面分離開;(2)使用邏輯上的集中控制器定義基于網(wǎng)絡(luò)流的安全控制策略;(3)提供開放的API接口?;贠penflow的SDN開源控制器有很多,例如OpenDaylight、ONOS、Floodlight。經(jīng)過幾年的發(fā)展,商用SDN控制器帶來了完整的SDN解決方案,例如基于軟件的NSX、基于硬件的ACI 和 Contrail將商業(yè)軟件運行在白盒交換機(jī)中。
跨校區(qū)二層通訊問題:當(dāng)前高校業(yè)務(wù)系統(tǒng)大多運行在虛擬化環(huán)境中,為了保證虛擬機(jī)跨校區(qū)遷移和虛擬機(jī)之間二層通訊,如多校區(qū)的業(yè)務(wù)承載能力,建立跨校區(qū)的大二層網(wǎng)絡(luò)是必要條件。雙活數(shù)據(jù)中心網(wǎng)絡(luò)的概念已經(jīng)提出很多年,大多數(shù)廠商已經(jīng)提供了成熟的大二層解決方案,例如華三的EVI、思科的OTV和華為的EVN[2]。他們原理基本相同,都是通過采用“MAC in IP”隧道封裝的方式,前兩個之間的路由采用IS-IS(Intermediate System-to-Intermediate System,中間系統(tǒng)到中間系統(tǒng)),華為采用擴(kuò)展BGP(Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)方式實現(xiàn)。
“MAC in IP”這種方式確實解決了跨校區(qū)的大二層的問題,但仍然面臨配置的復(fù)雜度大大增加的問題,每個參與的邊界設(shè)備都要配置,且配置需要根據(jù)后期的運行而維護(hù),例如VLAN信息,而且必須要求VLAN信息對應(yīng)。這樣大大降低VLAN的利用率,增大了后期網(wǎng)絡(luò)運維的復(fù)雜度。
跨校區(qū)三層通訊問題:為了保證跨校區(qū)三層通訊,必須在所有網(wǎng)關(guān)上配置VRRP(Virtual Router Redundancy Protocol,虛擬路由冗余協(xié)議)實現(xiàn)多活網(wǎng)關(guān)。VRRP在同校區(qū)實現(xiàn)時較為簡單,但在實現(xiàn)跨校區(qū)雙活時將面臨延遲要求高、安全訪問控制策略一致性和多校區(qū)多出口路由等復(fù)雜問題。
從上述問題點就可以看出,只是實現(xiàn)跨校區(qū)的IP訪問就需要多個關(guān)鍵技術(shù)和復(fù)雜的配置。如果出現(xiàn)通訊異常的情形,則需要逐一檢查所有關(guān)鍵點,這給后期網(wǎng)絡(luò)的運維增加很多難度。
智慧校園應(yīng)用對外提供業(yè)務(wù)服務(wù)時需要通過網(wǎng)絡(luò)上各種設(shè)備,例如網(wǎng)絡(luò)防火墻、Web應(yīng)用防火墻和應(yīng)用交付等。這些設(shè)備部署方式大致有兩種:
(1)串聯(lián)方式,將網(wǎng)絡(luò)防火墻、Web應(yīng)用防火墻和應(yīng)用交付以串聯(lián)方式接入網(wǎng)絡(luò)中,所有從外部訪問內(nèi)部的數(shù)據(jù)都必須依次通過以上設(shè)備。串聯(lián)方式主要問題在于數(shù)據(jù)包必須穿過這個設(shè)備,且后期無法調(diào)整,例如有新的應(yīng)用只需要經(jīng)過應(yīng)用交付無需經(jīng)過網(wǎng)絡(luò)防火墻,這時此方式無法滿足需求。
(2)旁路方式,將網(wǎng)絡(luò)防火墻、Web應(yīng)用防火墻和應(yīng)用交付以旁路方式接入網(wǎng)絡(luò)中,使用例如PBR(Policy Based Routing,策略路由)方式,將需要經(jīng)過某設(shè)備的IP路由單獨引流至目標(biāo)設(shè)備。相比串聯(lián)方式這確實方便了后期的調(diào)整,但是策略路由是基于IP地址的,無法做網(wǎng)絡(luò)應(yīng)用層端口級的策略。且PBR引流回至原路由會加重網(wǎng)絡(luò)資源消耗。
SDN通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)變得更加智能。雙活網(wǎng)絡(luò)設(shè)計與以往傳統(tǒng)的主備設(shè)計方案相比優(yōu)勢在于:(1)兩個或者多個園區(qū)網(wǎng)絡(luò)同時承載應(yīng)用業(yè)務(wù),有別于主備方式,當(dāng)主節(jié)點發(fā)生故障,切換至從節(jié)點需要較長切換時間,雙活設(shè)計在一個校區(qū)發(fā)生故障時,業(yè)務(wù)可以快速自動轉(zhuǎn)移至其他校區(qū)承載業(yè)務(wù);(2)由于是多個園區(qū)同時承載業(yè)務(wù),相比傳統(tǒng)備數(shù)據(jù)中心,提高了業(yè)務(wù)的承載能力并降低整體運行成本;(3)傳統(tǒng)的主備網(wǎng)絡(luò)需要定期做主備切換和數(shù)據(jù)回寫演練,用于維護(hù)和驗證主備切換的有效性,業(yè)務(wù)中斷時間較長且需要定期演練,雙活網(wǎng)絡(luò)是同時承載無需進(jìn)行耗時的主備切換和數(shù)據(jù)回寫。
SDN構(gòu)架在網(wǎng)絡(luò)區(qū)域上把網(wǎng)絡(luò)分成Underlay(基礎(chǔ)層)網(wǎng)絡(luò)和Overlay(疊加層)網(wǎng)絡(luò)。Underlay網(wǎng)絡(luò)是最基礎(chǔ)的網(wǎng)絡(luò),實現(xiàn)兩點之間的點與點的通訊。由于大多數(shù)SDN網(wǎng)絡(luò)是運行在虛擬化環(huán)境中,此時Underlay網(wǎng)絡(luò)很可能是虛擬交換機(jī)與虛擬機(jī)之間的網(wǎng)絡(luò)。在只能使用物理機(jī)的個別應(yīng)用場景中才會將接入層交換機(jī)與物理機(jī)之間作為Underlay網(wǎng)絡(luò)。Overlay網(wǎng)絡(luò)是基礎(chǔ)網(wǎng)絡(luò)架構(gòu)上疊加的虛擬化技術(shù)模式,作為Underlay之上的網(wǎng)絡(luò)。相對于虛擬化環(huán)境就是物理宿主機(jī)和物理網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)。
SDN從拓?fù)浣Y(jié)構(gòu)上又分為Spine(脊)網(wǎng)絡(luò)設(shè)備和Leaf(葉)網(wǎng)絡(luò)設(shè)備。Leaf設(shè)備和終端主機(jī)進(jìn)行通訊,可以是虛擬的軟件交換機(jī)和虛擬機(jī)通訊,也可以是硬件交換機(jī)和物理終端通訊;還有一類Leaf設(shè)備被稱為Border leaf(邊界葉),Border leaf通常和邊界路由器或者外部防火墻進(jìn)行三層互聯(lián),用于SDN網(wǎng)絡(luò)內(nèi)主機(jī)與外部網(wǎng)絡(luò)進(jìn)行通訊。Spine網(wǎng)絡(luò)設(shè)備屬于Overlay,負(fù)責(zé)Underlay網(wǎng)絡(luò)的轉(zhuǎn)發(fā),當(dāng)前SDN的趨勢是Spine和Leaf之間采用VxLAN封裝Underlay網(wǎng)絡(luò)的數(shù)據(jù),在Overlay上通過路由協(xié)議進(jìn)行轉(zhuǎn)發(fā)[3]。通過延展Overlay網(wǎng)絡(luò)可以建立大型SDN網(wǎng)絡(luò),包括跨地域的網(wǎng)絡(luò)。
網(wǎng)絡(luò)中的主機(jī)對外提供服務(wù)需要經(jīng)過各種各樣的業(yè)務(wù)節(jié)點,當(dāng)網(wǎng)絡(luò)流量按照業(yè)務(wù)邏輯所要求的既定順序,經(jīng)過這些業(yè)務(wù)節(jié)點(節(jié)點一般為防火墻、負(fù)載均衡等),這就是服務(wù)鏈(Service Chain)[4]。傳統(tǒng)網(wǎng)絡(luò)也有服務(wù)鏈概念,但是應(yīng)用方式和網(wǎng)絡(luò)硬件拓?fù)湎嚓P(guān)聯(lián),所以無法實現(xiàn)服務(wù)鏈后期調(diào)整或按照業(yè)務(wù)需求自由組合業(yè)務(wù)節(jié)點。SDN的轉(zhuǎn)發(fā)和控制的分離、分布式的結(jié)構(gòu)非常適合服務(wù)鏈的編排。在服務(wù)鏈里每個業(yè)務(wù)節(jié)點都指定數(shù)據(jù)包的進(jìn)出端口,然后按照服務(wù)鏈上的業(yè)務(wù)節(jié)點順序進(jìn)入下一個業(yè)務(wù)節(jié)點。這一切都依賴于SDN的控制層面作轉(zhuǎn)發(fā)處理。利用網(wǎng)絡(luò)端口及協(xié)議的區(qū)分可以實現(xiàn)同一個目標(biāo)主機(jī)經(jīng)過多個不同的服務(wù)鏈。
以Web服務(wù)為例編排服務(wù)鏈。外部網(wǎng)絡(luò)訪問Web應(yīng)用服務(wù),首先經(jīng)過防火墻進(jìn)行安全防護(hù),接下來由于Web服務(wù)大多采用分布式集群模式,這時還需要HTTP的負(fù)載均衡。以盡可能使用原有傳統(tǒng)設(shè)備為原則,防火墻和負(fù)載均衡均使用硬件設(shè)備。首先防火墻使用三層路由模式接入SDN網(wǎng)絡(luò),SDN通過策略路由方式將報文轉(zhuǎn)發(fā)至防火墻,報文經(jīng)過防火墻后再回到SDN中,并最終達(dá)到HTTP負(fù)載均衡的服務(wù)IP,HTTP負(fù)載均衡通過反向代理方式最終到達(dá)Web應(yīng)用服務(wù)器。
隨著SDN技術(shù)的發(fā)展,各種SDN產(chǎn)品走向成熟。SDN已經(jīng)由多年前的概念、實驗性的模型轉(zhuǎn)變?yōu)榭陕涞氐纳虡I(yè)產(chǎn)品。谷歌、亞馬遜和阿里巴巴等互聯(lián)網(wǎng)巨頭率先使用SDN應(yīng)用于自己的業(yè)務(wù)。在高校領(lǐng)域,隨著智慧校園和校園微服務(wù)的推出,SDN對于網(wǎng)絡(luò)的運營效率和靈活性都帶來了很大幫助。當(dāng)前已有高校建立雙活校園網(wǎng)絡(luò)承載數(shù)字化校園業(yè)務(wù),本文結(jié)合SDN的服務(wù)鏈技術(shù)融入校園網(wǎng)雙活設(shè)計中,并且在服務(wù)鏈中加入防火墻、負(fù)載均衡設(shè)備,最終實現(xiàn)智慧校園的橫向可擴(kuò)展能力、高可用性、安全性,并提高雙活網(wǎng)絡(luò)運維效率,降低復(fù)雜度。
本文利用ACI(Application Centric Infrastructure,以應(yīng)用為中心的基礎(chǔ)構(gòu)架)商業(yè)SDN控制器為例,在盡可能不改變校園網(wǎng)中原有設(shè)施的前提下,實現(xiàn)了SDN的雙活網(wǎng)絡(luò)改造。SDN的改造工作主要是在兩個校區(qū)之間建立以Spine和Leaf交換機(jī)為結(jié)構(gòu)的Overlay網(wǎng)絡(luò),將原有的匯聚交換機(jī)、刀片交換機(jī)、防火墻和負(fù)載均衡等設(shè)備接入至Leaf交換機(jī)。并在原有的Vmware虛擬化平臺中安裝虛擬Leaf交換機(jī),將VxLAN的Overlay網(wǎng)絡(luò)深入至虛擬交換機(jī)。網(wǎng)絡(luò)中的主機(jī)以應(yīng)用進(jìn)行區(qū)分并劃分為不同的EPG(End-Point Group,終點組),EPG之間的訪問依靠Contract(合約)中的策略進(jìn)行通訊。
在建設(shè)SDN雙活網(wǎng)絡(luò)中主要解決以下關(guān)鍵技術(shù):
本文采用ACI控制器解決方案。每個校區(qū)都有自己Spine和Leaf交換機(jī),各自組成一個完整的Overlay網(wǎng)絡(luò)用于轉(zhuǎn)發(fā)VxLAN報文,Spine和Leaf之間采用IS-IS路由協(xié)議。利用原有三層網(wǎng)絡(luò)設(shè)備和原有校園網(wǎng)跨校區(qū)互聯(lián)鏈路打通各校區(qū)之間的Overlay網(wǎng)絡(luò)。為了實現(xiàn)原有校園網(wǎng)絡(luò)和SDN的Overlay網(wǎng)絡(luò)共存,跨校區(qū)互聯(lián)采用OSPF(Open Shortest Path First,開放式最短路徑優(yōu)先)路由并使用VRF(Virtual Routing Forwarding, 虛擬路由轉(zhuǎn)發(fā))和現(xiàn)有校園網(wǎng)隔離,以實現(xiàn)路由表在兩個校區(qū)間的Overlay網(wǎng)絡(luò)中分發(fā)。跨校區(qū)的Overlay網(wǎng)絡(luò)拓?fù)淙鐖D1所示。
圖1 跨校區(qū)的Overlay網(wǎng)絡(luò)拓?fù)?/p>
ACI中網(wǎng)絡(luò)邊界路由也同樣接入Border leaf交換機(jī),傳統(tǒng)網(wǎng)絡(luò)中的北向出口流量也在SDN網(wǎng)絡(luò)中轉(zhuǎn)化為東西向流量。在SDN網(wǎng)絡(luò)中將多個出口配置為一個資源,只需EPG和出口建立Contract即可實現(xiàn)互聯(lián),后續(xù)增加或調(diào)整出口只需維護(hù)一個配置文件即可,大大簡化了運維復(fù)雜度。邏輯拓?fù)淙鐖D2所示。
圖2 雙校區(qū)多出口邏輯拓?fù)?/p>
為校園網(wǎng)Web服務(wù)建立經(jīng)過防火墻和負(fù)載均衡的服務(wù)鏈。通常對于一個智慧校園應(yīng)用需要多個服務(wù)鏈:(1)Web的HTTP服務(wù)需要經(jīng)過防火墻和負(fù)載均衡;(2)服務(wù)器需要通過SSH被遠(yuǎn)程管理時需要通過防火墻。以ACI控制為例建立服務(wù)鏈:首先建立應(yīng)用的EPG與外部出口的Contract,然后利用Contract中基于網(wǎng)絡(luò)端口的過濾器建立兩條不同的服務(wù)鏈。一條服務(wù)鏈?zhǔn)窍冉?jīng)過PBR引流至防火墻,然后到達(dá)負(fù)載均衡服務(wù)IP端口,服務(wù)IP端口通過HTTP代理模式將HTTP 請求發(fā)送至EPG內(nèi)的Web服務(wù)器;另一條是通過PBR引流至防火墻后直接到達(dá)EPG內(nèi)的Web服務(wù)器。Web和SSH的數(shù)據(jù)包在SDN網(wǎng)絡(luò)內(nèi)不會被轉(zhuǎn)發(fā),減輕了SDN內(nèi)防火墻和負(fù)載均衡的負(fù)載,并且提高了應(yīng)用服務(wù)器的安全性。服務(wù)鏈如圖3所示。
圖3 基于應(yīng)用的服務(wù)鏈
服務(wù)鏈中的防火墻和負(fù)載均衡分別放置于兩個校區(qū),ACI控制器方案采用負(fù)載均衡方式將流量分發(fā)至校區(qū)內(nèi)各防火墻,SDN采用策略路由方式將所需流量引流至防火墻,其中引流策略里加入Pod校區(qū)的參數(shù),實現(xiàn)防火墻的就近轉(zhuǎn)發(fā)。通過這種就近轉(zhuǎn)發(fā)的原則在盡可能提高防火墻可用性的前提下降低了兩個校區(qū)間帶寬的消耗。
隨著云計算、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等技術(shù)發(fā)展,教育信息化呈現(xiàn)出多樣化、靈活化等特征。完全固化的網(wǎng)絡(luò)已經(jīng)無法應(yīng)對當(dāng)前的教育信息化的需求,SDN網(wǎng)絡(luò)通過自身強大的可編程能力,可根據(jù)需求不停的演化。隨著X86技術(shù)的發(fā)展,X86的性能和總線帶寬越來越高,現(xiàn)在,越來越多的防火墻和負(fù)載均衡等都可以運行在虛擬機(jī)上,以純軟件的方式在網(wǎng)絡(luò)中提供服務(wù),也就是NFV(Network Function Virtualization,網(wǎng)絡(luò)功能虛擬化)[5]。校園網(wǎng)也需要緊跟技術(shù)潮流,實現(xiàn)教育信息化的大發(fā)展。