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