李小孟
一、SDN網(wǎng)絡(luò)架構(gòu)實驗室技術(shù)的背景
作為當前網(wǎng)絡(luò)領(lǐng)域最熱門和最具有發(fā)展前途的技術(shù)之一、國外針對SDN(Software Defining Network)的研究進行的如火如荼,其中每學(xué)期各大學(xué)都開設(shè)了SDN的相關(guān)課程和教學(xué)并且在coursera慕課平臺開設(shè)公開課,國內(nèi)各高校也將SDN作為下一代網(wǎng)絡(luò)技術(shù)的重點方向進行研究。
(一)SDN可擴展性研究
主要是解決單點控制器失效的問題,提升單一控制器性能。分布式控制器帶來同步和熱備份問題的探索。
(二)SDN規(guī)模部署與跨域通信
解決從傳統(tǒng)網(wǎng)絡(luò)向SDN網(wǎng)絡(luò)的轉(zhuǎn)換,通過增量部署的方式,大規(guī)模部署SDN時需要充分考慮網(wǎng)絡(luò)可靠性、節(jié)點失效和流量工程等問題。此外大規(guī)模的SDN還存在的跨域通信問題,如果不同域?qū)儆诓煌睦鎸嶓w,SDN將無法獲取到準確對方域內(nèi)的全部網(wǎng)絡(luò)信息,從而導(dǎo)致SDN域內(nèi)路由無法達到全局最優(yōu)。
(三)傳統(tǒng)網(wǎng)絡(luò)和SDN網(wǎng)絡(luò)共存問題研究
隨著SDN的持續(xù)發(fā)展,傳統(tǒng)網(wǎng)絡(luò)將與SDN長期共存。為了使SDN設(shè)備與傳統(tǒng)網(wǎng)絡(luò)設(shè)備兼容,節(jié)約成本,大多數(shù)設(shè)備生產(chǎn)商選擇在傳統(tǒng)的網(wǎng)絡(luò)設(shè)備中嵌入SDN相關(guān)協(xié)議,這樣造成傳統(tǒng)網(wǎng)絡(luò)設(shè)備更加臃腫,采用協(xié)議抽象技術(shù),可確保各種協(xié)議安全,穩(wěn)定的運行在一個模塊內(nèi),從而減輕設(shè)備負擔(dān),成為兼容性研究進展的趨勢之一。
(四)SDN在數(shù)據(jù)中心的應(yīng)用研究
SDN具有集中式控制、全網(wǎng)信息獲取和網(wǎng)絡(luò)功能虛擬化等特性,利用這些特性可以解決數(shù)據(jù)中心出現(xiàn)的各種問題,比如消除數(shù)據(jù)傳輸冗余、虛擬化功能達到數(shù)據(jù)流可靠和靈活的平衡。SDN在數(shù)據(jù)中心提升性能和綠色節(jié)能等將會扮演重要的角色。
(五)SDN網(wǎng)絡(luò)安全研究
傳統(tǒng)的網(wǎng)絡(luò)設(shè)備是封閉的,然而開放接口的引入會產(chǎn)生新一輪的網(wǎng)絡(luò)攻擊,造成SDN的脆弱性。由控制器向交換機發(fā)送蠕蟲病毒、通過交換機向控制器發(fā)送DDOS攻擊、非法用戶惡意占用整個SDN傳輸帶寬等,都會導(dǎo)致SDN全方位癱瘓。安全的認證機制和框架、安全策略的制定,將成為SDN安全發(fā)展的重要保障。
二、SDN網(wǎng)絡(luò)架構(gòu)實驗室的特點
SDN通過軟件來定義網(wǎng)絡(luò),所以研究SDN不僅需要具備網(wǎng)絡(luò)知識而且還需要具備軟件編程能力。
目前主流的控制器包括NOX、RyU、Floodlight、ONOS、ODL。針對開源控制器的編寫使用的語言包括C++、Python、Java。這就對傳統(tǒng)的網(wǎng)絡(luò)工程師有了更高的要求,需要熟練掌握其中一門編程語言,而且對傳統(tǒng)的程序員也有更高層次的要求需要,他們不僅會寫代碼而且還必須懂得網(wǎng)絡(luò)運行的機制和網(wǎng)絡(luò)原理,才能有的放矢地進行編程。而且隨著網(wǎng)絡(luò)功能虛擬化的發(fā)展,勢必和云平臺對接,也需要下一代網(wǎng)絡(luò)工程師對Openstack、ColudStack有一定的了解,將計算資源、存儲資源、網(wǎng)絡(luò)資源通過一個集中的云平臺統(tǒng)一管控。
ONC是SDN智能開放網(wǎng)絡(luò)控制器簡稱,是ONP網(wǎng)絡(luò)平臺核心組成部分,支持多種南向接口和豐富的北向接口。除NFV類高級功能組件之外,多數(shù)基于Java語言編寫,采用Java OSGi模塊化技術(shù)架構(gòu),在滿足軟件包可擴展性的同時,支持組件在線升級。由于SDN控制器是整個網(wǎng)絡(luò)的大腦,為此ONC控制器硬件選用穩(wěn)定性高的服務(wù)器作為通用硬件平臺,在滿足性能要求的同時,保證了控制器部署環(huán)境的廣泛性和長期運行的穩(wěn)定性。
SDN控制器特點:
ONC控制器軟件完全采用OSGi(Open Service Gateway initiative,開放服務(wù)網(wǎng)關(guān)初始化。一種新近發(fā)展起來的成熟Java動態(tài)模塊化技術(shù))組件化技術(shù),所有功能獨立的模塊都最小粒度的封裝成了可在線升級和多版本運行的Bundle組件。
多種南向接口(支持多種設(shè)備控制方式):目前多數(shù)網(wǎng)絡(luò)廠商提供的是廣義SDN解決方案。同時,用戶在生產(chǎn)環(huán)境中部署僅支持OpenFlow協(xié)議的純SDN網(wǎng)絡(luò)也少之又少。ONP平臺支持為用戶構(gòu)建廣義SDN解決方案,支持多種南向接口,其中控制器硬件支持OpenFlow和SNMP兩種協(xié)議。
OpenFlow南向接口:支持1.0版本12 tuples匹配,支持1.3版本多級流表,支持版本自動協(xié)商。通過OpenFlow南向接口,ONC可以對支持OpenFlow標準協(xié)議的硬件和軟件交換下發(fā)流表,并通過統(tǒng)一接口自動轉(zhuǎn)化為不同流表形式下發(fā)到支持不同OpenFlow協(xié)議版本的軟硬件設(shè)備。
SNMP南向接口:支持SNMP 2.0,可讀取設(shè)備上的MIB信息,在ONP管控平臺Web界面上呈現(xiàn)兼容傳統(tǒng)支持SNMP 2.0設(shè)備的網(wǎng)絡(luò)拓撲。
T elnet南向接口:支持通過Telnet接口連接傳統(tǒng)網(wǎng)絡(luò)設(shè)備,并通過CLI命令等下發(fā)網(wǎng)絡(luò)配置,最終實現(xiàn)兼容傳統(tǒng)網(wǎng)絡(luò)設(shè)備的自動化運維部署。
豐富的北向接口(開發(fā)的系統(tǒng)):ONC北向接口支持RESTful和Java本地API兩種形式。Java本地接口主要用于其自身或合作伙伴的二次開發(fā)。多數(shù)用戶只需基于RESTful API開發(fā)各自適用于業(yè)務(wù)的網(wǎng)絡(luò)APP組件以解耦于ONC控制器獨立部署運行。為了充分滿足用戶對ONP平臺的開放性需求,ONC支持以下多種類別功能的接口開放。
網(wǎng)絡(luò)設(shè)備及拓撲:支持通過北向接口,獲取當前連接到ONC的所有交換列表及拓撲連接關(guān)系,并獲取每個交換設(shè)備的屬性信息。
流表操作:支持對設(shè)備安裝、卸載流表,并查看已安裝流表信息,流表支持匹配L2~L4所有字段,后續(xù)甚至可擴展至任意報文字段。
L2網(wǎng)橋:獲取L2網(wǎng)橋?qū)W習(xí)到的MAC地址列表及接口對應(yīng)關(guān)系,開啟/禁止二層報文目的地址為單播或廣播的報文廣播。
L3路由:支持查看和新增靜態(tài)路由信息,其中的靜態(tài)路由策略支持SDN網(wǎng)絡(luò)與傳統(tǒng)網(wǎng)絡(luò)兼容部署。
DHCP地址池:支持設(shè)定DHCP地址池,并查看DHCP地址分配情況和存活周期。
安全規(guī)則:支持添加/禁止/開啟安全過濾規(guī)則。
端口/流統(tǒng)計:支持查看端口、流的傳輸字節(jié)數(shù)/報文數(shù)統(tǒng)計。
端口/流鏡像:可以針對指定設(shè)備上的端口或某條流進行鏡像,以支持網(wǎng)絡(luò)/流的安全檢測。
服務(wù)器負載均衡: ONC控制器可替代傳統(tǒng)服務(wù)器前端負載均衡器,并在原有僅監(jiān)測服務(wù)器負載狀態(tài)的基礎(chǔ)上增加路徑規(guī)劃功能。通過北向接口支持創(chuàng)建負載均衡池,虛擬IP地址,添加和監(jiān)測后臺業(yè)務(wù)提供服務(wù)器,支持選擇和配置靜態(tài)與動態(tài)的負載均衡策略。
整網(wǎng)鏈路負載均衡:區(qū)別于傳統(tǒng)單點鏈路負載均衡,該鏈路負載均衡將根據(jù)整網(wǎng)鏈路流量情況,為任意兩個端到端流量選擇差異化路徑,路徑選擇支持最短路徑(shortestPath)、鏈路最小平均流量(minAvgTx)、混合模式(autoSelect)和最大可用帶寬模式(availableBw)四種策略。用戶可通過北向接口選擇選路方法設(shè)定參數(shù),獲取任意端到端的路徑信息,以及選定路徑等。
虛擬租戶網(wǎng):創(chuàng)建租戶,為不同租戶規(guī)劃邏輯上隔離的租戶網(wǎng)絡(luò),以實現(xiàn)流量隔離和差異化安全策略部署。在每個隔離網(wǎng)絡(luò)中支持租戶自行部署網(wǎng)橋、路由、網(wǎng)關(guān)、DCHP池、負載均衡池和安全過濾器等虛擬網(wǎng)絡(luò)設(shè)備,各個虛擬網(wǎng)絡(luò)設(shè)備可關(guān)聯(lián)到不同物理網(wǎng)絡(luò)資源。
PPPoE等:其它高級業(yè)務(wù)組件。
適用廣泛應(yīng)用場景:ONC作為支持廣義SDN網(wǎng)絡(luò)的控制核心,除了支持豐富的南向和北向接口外,還集成了許多高級網(wǎng)絡(luò)服務(wù)組件。其中的L2交換、L3交換、靜態(tài)路由、DHCP服務(wù)、L2~L4安全過濾等基礎(chǔ)網(wǎng)絡(luò)功能可實現(xiàn)等價于傳統(tǒng)L2/L3網(wǎng)絡(luò)的通信行為,為中小型甚至大型企業(yè)網(wǎng)構(gòu)建類傳統(tǒng)L2/L3層網(wǎng)絡(luò)通信解決方案。
支持集群部署:為了滿足商業(yè)級部署需求, ONC支持集群部署。支持雙主和主備兩臺控制器同時部署。主備集群方式可以避免單點故障造成的網(wǎng)絡(luò)中斷,主控制器周期性同步網(wǎng)絡(luò)控制狀態(tài)及維護所有流表信息給備控制器。當備控制器檢測到主控制器出現(xiàn)異常時,備控制器可及時接管主控制器的工作,根據(jù)本地備份狀態(tài)恢復(fù)網(wǎng)絡(luò)的正常運行。雙主部署既能避免控制器單點故障(兩臺控制器分擔(dān)維護不同底層網(wǎng)絡(luò)基礎(chǔ)設(shè)施),又可在一定程度上擴大網(wǎng)絡(luò)控制容量。
三、SDN網(wǎng)絡(luò)架構(gòu)實驗室實現(xiàn)技術(shù)方案
實驗機架部署與整體布局
四、SDN網(wǎng)絡(luò)架構(gòu)實驗室可開設(shè)的實驗課程