智勇 博科通訊有限公司,上海
SDN技術(shù)源自于斯坦福大學(xué)的Clean State項(xiàng)目,其目標(biāo)是打破傳統(tǒng)網(wǎng)絡(luò)的封閉格局,開(kāi)創(chuàng)更加開(kāi)放和靈活的網(wǎng)絡(luò)新架構(gòu)。近幾年來(lái),SDN越多越來(lái)越的得到了網(wǎng)絡(luò)廠商、解決方案提供商和最終用戶的普遍關(guān)注和重視。軟件定義網(wǎng)絡(luò),顧名思義就是將軟件系統(tǒng)與網(wǎng)絡(luò)硬件平臺(tái)通過(guò)開(kāi)放式的API接口相結(jié)合,通過(guò)軟件的可編程、可定制和自動(dòng)化特性,實(shí)現(xiàn)在網(wǎng)絡(luò)硬件平臺(tái)上的集中化管理、自動(dòng)化運(yùn)維、快速的功能開(kāi)發(fā)和靈活的業(yè)務(wù)部署。
傳統(tǒng)的網(wǎng)絡(luò)設(shè)備可以看做是一套封閉的軟硬件結(jié)合的系統(tǒng),各廠商在其專(zhuān)用的硬件平臺(tái)甚至專(zhuān)用芯片之上,配合各自獨(dú)有的網(wǎng)絡(luò)操作系統(tǒng),提供不同風(fēng)格的管理界面。在傳統(tǒng)的網(wǎng)絡(luò)中,一方面需要用戶在設(shè)備上進(jìn)行配置和設(shè)定,另外設(shè)備之間也通過(guò)標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議進(jìn)行交互,從而實(shí)現(xiàn)轉(zhuǎn)發(fā)表項(xiàng)的生成和數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。 而在SDN網(wǎng)絡(luò)中,則采用了層次化的架構(gòu)和開(kāi)放式的模型(圖1):整個(gè)網(wǎng)絡(luò)劃分為SDN應(yīng)用層、網(wǎng)絡(luò)控制器層和硬件轉(zhuǎn)發(fā)層。通過(guò)網(wǎng)絡(luò)控制器與上層應(yīng)用平臺(tái)之間的北向接口(Northbound Interface)以及控制器與硬件設(shè)備之間的南向接口(Southbound Interface),實(shí)現(xiàn)控制信令的下發(fā)、流量信息的采集、設(shè)備狀態(tài)的監(jiān)測(cè)以及數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
圖1 SDN網(wǎng)絡(luò)的詳細(xì)架構(gòu)
基于SDN的網(wǎng)絡(luò)架構(gòu)改變了傳統(tǒng)網(wǎng)絡(luò)平臺(tái)的運(yùn)行模式,將設(shè)備的控制層從各個(gè)廠商專(zhuān)有的操作系統(tǒng)平臺(tái)中抽取出來(lái),通過(guò)靈活的可編程軟件系統(tǒng)與設(shè)備之間標(biāo)準(zhǔn)的API接口,實(shí)現(xiàn)控制信令的收發(fā)和數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。這種方式具備了很多方面的優(yōu)勢(shì):
1.2.1 避免廠商鎖定。傳統(tǒng)網(wǎng)絡(luò)設(shè)備采用了封閉的軟硬件一體化架構(gòu),提供了各自獨(dú)特的操作系統(tǒng)界面、接口甚至私有協(xié)議。而SDN通過(guò)層次化的架構(gòu)和標(biāo)準(zhǔn)的接口,構(gòu)建了全新的開(kāi)放式系統(tǒng),使得用戶能夠避免被特定廠商設(shè)備的界面、接口和協(xié)議鎖定,擁有更多的選擇權(quán);
1.2.2 確保互聯(lián)互通。不同廠商的設(shè)備在互聯(lián)時(shí),即便都是采用了標(biāo)準(zhǔn)的通信協(xié)議,但各自的實(shí)現(xiàn)方式各有不同,因此常常會(huì)出現(xiàn)互通的問(wèn)題。SDN在能夠有效避免設(shè)備之間復(fù)雜的協(xié)議交互,提升設(shè)備之間的互聯(lián)互通的兼容性;
1.2.3 提高開(kāi)發(fā)效率。在傳統(tǒng)的網(wǎng)絡(luò)設(shè)備上開(kāi)發(fā)新的功能和特性,需要綜合考慮到底層的硬件架構(gòu)、操作系統(tǒng)的支持、與其他功能的兼容性,同時(shí)還受限于各廠商各自的計(jì)劃和進(jìn)度(一般以月或者季度來(lái)計(jì)算)。而SDN模型通過(guò)將上層控制系統(tǒng)與底層硬件平臺(tái)解耦,特性的開(kāi)發(fā)將更多的側(cè)重在外部獨(dú)立的應(yīng)用軟件平面,開(kāi)發(fā)周期能縮短到以周甚至天來(lái)計(jì)算,因此用戶能夠更加有效的把控并推進(jìn)新業(yè)務(wù)的部署。
1.2.4 簡(jiǎn)化管理維護(hù)。SDN模式下,管理員主要是面向網(wǎng)絡(luò)應(yīng)用系統(tǒng)來(lái)進(jìn)行配置和維護(hù),軟件系統(tǒng)能夠提供更加友好的使用界面,大大簡(jiǎn)化管理維護(hù)難度。同時(shí),SDN減少甚至消除了在網(wǎng)絡(luò)節(jié)點(diǎn)之間大量的網(wǎng)絡(luò)協(xié)議交互,因而能夠降低了整個(gè)網(wǎng)絡(luò)的復(fù)雜程度。
1.2.5 提高利用效率。在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下,每臺(tái)設(shè)備都是一個(gè)獨(dú)立的個(gè)體,有各自的路由策略和轉(zhuǎn)發(fā)規(guī)則,很難做到全網(wǎng)資源的統(tǒng)一調(diào)度。SDN能夠通過(guò)集中的應(yīng)用系統(tǒng),面向整個(gè)網(wǎng)絡(luò)平臺(tái),綜合考慮設(shè)備負(fù)載、鏈路負(fù)載、轉(zhuǎn)發(fā)延時(shí)、線路費(fèi)用等因素,進(jìn)行全網(wǎng)的資源狀態(tài)收集和全局的資源調(diào)度,實(shí)現(xiàn)最優(yōu)化的數(shù)據(jù)轉(zhuǎn)發(fā),提升整網(wǎng)的利用效率。
1.2.6 推進(jìn)自動(dòng)化運(yùn)維。SDN能夠充分發(fā)揮軟件靈活和自動(dòng)化的特性,將傳統(tǒng)的需要人工完成的重復(fù)性、機(jī)械性、觸發(fā)性的工作轉(zhuǎn)化為軟件的自動(dòng)化執(zhí)行,進(jìn)一步與網(wǎng)絡(luò)的故障、配置、計(jì)量、性能和安全管理相結(jié)合,推進(jìn)網(wǎng)絡(luò)管理和運(yùn)維的自動(dòng)化。
所謂的混合模式的SDN,如圖2所示,就是在硬件設(shè)備的控制層面保留傳統(tǒng)路由交換協(xié)議的同時(shí),開(kāi)啟SDN相關(guān)協(xié)議,接受來(lái)自外部集中控制層面下發(fā)的指令,并且允許在同一物理端口同一VLAN上同時(shí)使能這些協(xié)議。設(shè)備在進(jìn)行轉(zhuǎn)發(fā)時(shí),能夠支持基于SDN控制層面所下發(fā)的轉(zhuǎn)發(fā)表項(xiàng),如Openflow流表進(jìn)行轉(zhuǎn)發(fā),也能夠通過(guò)傳統(tǒng)路由交換協(xié)議所產(chǎn)生的轉(zhuǎn)發(fā)表進(jìn)行轉(zhuǎn)發(fā)。
圖2 SDN混合模式的架構(gòu)
當(dāng)設(shè)備處于SDN混合模式時(shí),為了避免路由交換協(xié)議與SDN協(xié)議之間產(chǎn)生沖突,針對(duì)不同情況下采用何種轉(zhuǎn)發(fā)方式,這在混合模式設(shè)計(jì)之初就需要有明確的設(shè)定,以O(shè)penflow為例硬件設(shè)備的具體轉(zhuǎn)發(fā)邏輯如下:
(1)當(dāng)設(shè)備端口設(shè)置為混合模式時(shí),該端口一方面繼續(xù)正常參與傳統(tǒng)的路由交換協(xié)議的交互和轉(zhuǎn)發(fā)表項(xiàng)的生成,同時(shí)也接受來(lái)自SDN應(yīng)用和控制器下發(fā)的Openflow流表作為轉(zhuǎn)發(fā)表項(xiàng);
(2)來(lái)自該端口的流量首先會(huì)與Openflow流表進(jìn)行匹配,當(dāng)流量能夠匹配時(shí),將按照流表的定義進(jìn)行轉(zhuǎn)發(fā)或執(zhí)行其他動(dòng)作;
(3)在上述情況中,如果匹配流表的動(dòng)作為normal,則意味著匹配到的流量將通過(guò)傳統(tǒng)的路由交換協(xié)議產(chǎn)生的轉(zhuǎn)發(fā)表進(jìn)行轉(zhuǎn)發(fā);
(4)當(dāng)來(lái)自該端口的流量未能匹配到流表時(shí),這些流量也將由交換機(jī)通過(guò)傳統(tǒng)的路由交換協(xié)議產(chǎn)生的轉(zhuǎn)發(fā)表進(jìn)行轉(zhuǎn)發(fā)。
(1)不需要提前區(qū)分哪些流量采用路由交換轉(zhuǎn)發(fā),哪些通過(guò)SDN轉(zhuǎn)發(fā),所有流量都通過(guò)混合模式的端口進(jìn)行轉(zhuǎn)發(fā)。這樣就不需要改變現(xiàn)有的網(wǎng)絡(luò)架構(gòu),保持當(dāng)前的傳統(tǒng)路由交換協(xié)議不變,只需要疊加SDN協(xié)議就能夠在現(xiàn)有網(wǎng)絡(luò)上實(shí)現(xiàn)平滑的SDN部署。
(2)只需要通過(guò)流表對(duì)特定的流量(如異?;蚬袅髁浚┻M(jìn)行相應(yīng)的控制即可,剩余的絕大部分流量仍可以通過(guò)傳統(tǒng)的路由或交換實(shí)現(xiàn)轉(zhuǎn)發(fā),這大大減少了所消耗的流表?xiàng)l目數(shù)和流表管理的工作量,使SDN真正能夠得到規(guī)?;牟渴稹?/p>
(3)當(dāng)基于流表進(jìn)行轉(zhuǎn)發(fā)的機(jī)制出現(xiàn)異常時(shí),還能回落到基于傳統(tǒng)路由交換進(jìn)行報(bào)文轉(zhuǎn)發(fā)的模式,網(wǎng)絡(luò)的健壯性和可靠性能夠得到有效的保障。
通過(guò)混合模式,在傳統(tǒng)網(wǎng)絡(luò)中部署SDN將變得簡(jiǎn)單和靈活。以在園區(qū)網(wǎng)中部署基于Openflow的用戶管理為例,通過(guò)SDN的方式為園區(qū)網(wǎng)提供用戶接入、身份認(rèn)證、權(quán)限控制以及基于訪問(wèn)時(shí)長(zhǎng)和流量計(jì)費(fèi)的功能。
(1)當(dāng)用戶接入網(wǎng)絡(luò),能夠正常訪問(wèn)園區(qū)內(nèi)部的資源,內(nèi)部用戶之間也可以實(shí)現(xiàn)相互的訪問(wèn);
(2)當(dāng)用戶訪問(wèn)園區(qū)外部資源時(shí),用戶的HTTP訪問(wèn)請(qǐng)求將被重定向到WEB Portal服務(wù)器上,用戶需要在Portal頁(yè)面上輸入自己的用戶名和密碼進(jìn)行身份驗(yàn)證;
(3)身份驗(yàn)證通過(guò)的用戶將獲得訪問(wèn)外部資源的權(quán)限,并控制訪問(wèn)外部資源的下載速率;
(4)根據(jù)用戶的訪問(wèn)時(shí)長(zhǎng)或上下行流量,對(duì)用戶進(jìn)行計(jì)費(fèi)。
圖3是針對(duì)該應(yīng)用需求搭建的模擬環(huán)境,使用了一臺(tái)SDN設(shè)備作為測(cè)試平臺(tái),提供基于Openflow混合模式的SDN功能。為了模擬實(shí)際的應(yīng)用場(chǎng)景,還部署了園區(qū)出口防火墻、WEB重定向服務(wù)器、Web Portal服務(wù)器、AAA認(rèn)證授權(quán)計(jì)費(fèi)服務(wù)器以及相應(yīng)的SDN應(yīng)用軟件和控制器。
圖3 SDN混合模式實(shí)現(xiàn)用戶管理的模擬環(huán)境架構(gòu)
在SDN設(shè)備上,采用了Openflow 混合端口模式,同一物流端口同一VLAN下的流量,可以同時(shí)支持基于路由交換轉(zhuǎn)發(fā)表的轉(zhuǎn)發(fā)和基于Openflow流表的轉(zhuǎn)發(fā)。當(dāng)報(bào)文抵達(dá)開(kāi)啟混合模式的端口后,首先會(huì)執(zhí)行流表的查詢,如果匹配,則按照流表的定義執(zhí)行相應(yīng)的動(dòng)作;而如果沒(méi)有匹配,或者匹配流表的action為Normal,則按照傳統(tǒng)路由交換來(lái)進(jìn)行轉(zhuǎn)發(fā)。具體的流程如下:
(1)來(lái)自圖中1/20端口的終端報(bào)文抵達(dá)SDN設(shè)備后,首先匹配到基礎(chǔ)流表:當(dāng)報(bào)文的目的地址為園區(qū)內(nèi)網(wǎng)絡(luò)地址段時(shí),執(zhí)行動(dòng)作為Normal,即允許用戶相互之間互訪,并能夠訪問(wèn)內(nèi)網(wǎng)資源、內(nèi)部DNS和DHCP服務(wù)器等。
(2)沒(méi)有匹配到上述基礎(chǔ)流表的流量,將匹配到一條重定向流表。需要注意的是,由于流表的匹配是按照優(yōu)先級(jí)排定順序的,因此重定向流表的優(yōu)先級(jí)要低于上述基礎(chǔ)流表。匹配到重定向流表的流量將被發(fā)送到WEB重定向服務(wù)器所在的端口1/10,流表的動(dòng)作同時(shí)包含了修改報(bào)文的VLAN ID為重定向服務(wù)器所在的VLAN、目的MAC為重定向服務(wù)器的MAC。這樣重定向服務(wù)器收到修改后的報(bào)文后才能夠正常進(jìn)行重定向處理。
(3)重定向服務(wù)器會(huì)返回HTTP 302重定向信息,由于Openflow的流表是有方向性的,此時(shí)同樣需要定義一條流表匹配重定向服務(wù)器返回給終端的流量,流表的action為normal,使得HTTP 302信息能夠通過(guò)正常的路由/交換轉(zhuǎn)發(fā)到客戶端。
(4)客戶端的HTTP請(qǐng)求被重定向到內(nèi)網(wǎng)的Web Portal服務(wù)器,此時(shí)客戶端與WEB Portal之間交互的流量也是通過(guò)基礎(chǔ)流表來(lái)匹配和轉(zhuǎn)發(fā)的。
(5)客戶端在Web Portal上輸入用戶名、密碼信息,Web Portal將賬號(hào)信息發(fā)送到SDN應(yīng)用APP,該APP將作為Radius Client到AAA服務(wù)器上進(jìn)行認(rèn)證。用戶身份認(rèn)證成功后,一方面需要在Portal頁(yè)面上顯示認(rèn)證成功信息,同時(shí)也要通過(guò)SDN控制器下發(fā)允許這個(gè)用戶訪問(wèn)外網(wǎng)的流表,這條流表同樣通過(guò)action normal實(shí)現(xiàn)。
(6)如果園區(qū)網(wǎng)有多個(gè)出口,用戶還可以通過(guò)Web Portal頁(yè)面自主選擇不同的出口,這是目前熱門(mén)的園區(qū)網(wǎng)多運(yùn)營(yíng)商的需求,只需在流表中設(shè)定發(fā)往不同的output端口,就能很靈活的實(shí)現(xiàn)。
(7)如果需要對(duì)該用戶下行流量進(jìn)行速率限制,可以設(shè)定用戶下行方向的流表,并通過(guò)流表中的meter動(dòng)作來(lái)實(shí)現(xiàn)速率的限制。
通過(guò)上面的這個(gè)模擬環(huán)境可以看出,采用了SDN混合模式來(lái)實(shí)現(xiàn)用戶管理功能,相比于傳統(tǒng)價(jià)格昂貴的專(zhuān)用設(shè)備而言,具有部署簡(jiǎn)單、使用靈活、性價(jià)比高的優(yōu)勢(shì):
(1)除了預(yù)設(shè)有限數(shù)量的基礎(chǔ)流表外,每個(gè)用戶最少只需要消耗上行1條流表或者和上下行2條流表(如果需要下行方向限速),而且只是在用戶需要訪問(wèn)外網(wǎng)時(shí)才消耗這2條流表。相對(duì)于純Openflow模式,能夠大大節(jié)省流表資源的占用,提供更多的用戶接入能力;
(2)SDN設(shè)備中的流表是無(wú)狀態(tài)的,完全依賴于上層應(yīng)用的流表管理和下發(fā),因此SDN設(shè)備出現(xiàn)故障重啟或更換后,只需要重新下發(fā)流表即可,不需要用戶重新認(rèn)證;
(3)可選的設(shè)備類(lèi)型豐富,從接入層到核心層,只需要支持Openflow混合模式即可,可以滿足不同場(chǎng)景不同用戶數(shù)量的接入需求;
(4)IPv6的流程與IPv4完全相同,因此能夠平滑支持IPv4/IPv6雙棧;
(5)如有精細(xì)化管理的需要,可以為每個(gè)用戶的不同業(yè)務(wù)使用不同的流表進(jìn)行控制,而每條流表都有獨(dú)立的meter和counter,因此流量的控制和統(tǒng)計(jì)更加靈活;
(7)當(dāng)園區(qū)網(wǎng)多運(yùn)營(yíng)商共同運(yùn)營(yíng)時(shí),可以非常靈活的實(shí)現(xiàn)用戶自主選擇運(yùn)營(yíng)商出口。
數(shù)據(jù)通信網(wǎng)絡(luò)從1969年ARPAnet開(kāi)始至今,已經(jīng)有接近半個(gè)世紀(jì)的發(fā)展,TCP/IP協(xié)議也經(jīng)歷了30多年的廣泛應(yīng)用,成為了如今互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議。而SDN的概念從提出至今也不過(guò)才短短幾年時(shí)間,SDN的集中管理的模型、控制和轉(zhuǎn)發(fā)層面的分離、操作系統(tǒng)的開(kāi)放接口和硬件的可編程化,可以看做是對(duì)現(xiàn)有網(wǎng)絡(luò)模型的優(yōu)化和完善,而非要將傳統(tǒng)的網(wǎng)絡(luò)協(xié)議整體推倒重來(lái)。
特別是在目前階段,在人才儲(chǔ)備、網(wǎng)絡(luò)應(yīng)用和硬件支持等方面都尚未完善的情況下,SDN更應(yīng)該作為現(xiàn)有網(wǎng)絡(luò)架構(gòu)和應(yīng)用的有益補(bǔ)充,采用如混合模式的部署方案,在傳統(tǒng)網(wǎng)絡(luò)上更加簡(jiǎn)單靈活高效的實(shí)現(xiàn)特定的功能。因此目前的SDN不應(yīng)該是全面的顛覆、而更應(yīng)該是相互的融合。
[1]黃韜、劉江、魏亮、張嬌、楊帆等著軟件定義網(wǎng)絡(luò)核心原理與應(yīng)用實(shí)踐[M]北京:中國(guó)工信出版集團(tuán),人民郵電出版社,2016:19-21頁(yè)
[2]張衛(wèi)峰.深度解析SDN 利益、戰(zhàn)略、技術(shù)、實(shí)踐[M].北京:電子工業(yè)出版社,2015:67-75頁(yè)
[3]Thomas Nadeau D, Ken Gary 著,畢軍、單業(yè)、張紹宇 等 譯軟件定義網(wǎng)絡(luò) SDN與OpenFlow解析[M]北京:人民郵電出版社,2014:127-132頁(yè)