李小孟



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