【摘要】 云計算的出現(xiàn)給傳統(tǒng)網(wǎng)絡帶來了巨大的挑戰(zhàn)和改變。爆炸式的數(shù)據(jù)增長暴露了傳統(tǒng)數(shù)據(jù)網(wǎng)絡的不足,而這個問題催生了軟件定義網(wǎng)絡(SDN,Software Defined Networking)。SDN把網(wǎng)絡作為資源向上層IT業(yè)務開發(fā),從而實現(xiàn)網(wǎng)絡的動態(tài),實時和靈活的調(diào)整,解決了私有云網(wǎng)絡部署中的瓶頸問題。主要對現(xiàn)有SDN模式下的網(wǎng)絡管理方案進行了相關探討并對該方案提出了開放性的意見以及其不足之處。
【關鍵詞】 云計算 SDN 網(wǎng)絡管理 控制器
云計算和云數(shù)據(jù)中心作為近來IT行業(yè)的熱門話題對網(wǎng)絡的性能和管理功能提出了更高的要求。傳統(tǒng)網(wǎng)絡的管理非常復雜而且容易出錯,IP網(wǎng)絡的不可感知特性不僅影響了用戶體驗,還對網(wǎng)絡管理員提出了較高的要求,排除通常需對網(wǎng)元進行逐一排查。網(wǎng)絡拓撲的改變時常伴隨著手工網(wǎng)絡配置。
SDN很好地解決了傳統(tǒng)網(wǎng)絡管理中存在的一些問題。SDN即軟件定義網(wǎng)絡,其概念最早于2008年由美國斯坦福大學提出。SDN最主要的特點是控制平面和數(shù)據(jù)平面的分離,從而實現(xiàn)對網(wǎng)絡中各設備的靈活控制和全網(wǎng)感知[1]。在SDN中,網(wǎng)絡管理員無需連接到具體的物理網(wǎng)絡設備,只需要通過一個控制器就可以對網(wǎng)絡中任何設備進行配置操作管理以及排錯。由此可見,SDN在云數(shù)據(jù)中心里起到了非常重要的作用。
一、SDN介紹
關于SDN的定義,業(yè)界內(nèi)有各種不同的說法,總體來講,SDN是一種允許網(wǎng)絡管理員能動態(tài)地使用各種高級語言和API來對大批量的網(wǎng)絡設備,服務,拓撲邏輯,業(yè)務路徑,以及QOS策略等進行管理和控制的架構。這些管理包括在多用戶的情況下業(yè)務的開啟,業(yè)務的優(yōu)化,監(jiān)控以及排錯和安全維護等等。
SDN邏輯上由上至下可分為應用層,控制層和數(shù)據(jù)層,關系圖如圖1所示[2]。
SDN將控制層面和數(shù)據(jù)層面從網(wǎng)絡設備上分離,所有的控制決策均由控制器執(zhí)行,與傳統(tǒng)網(wǎng)絡不同,SDN中,網(wǎng)絡操作系統(tǒng)僅在控制器中運行,網(wǎng)絡設備僅進行轉(zhuǎn)發(fā)操作,起到了純粹的管道功能。控制器作出相應決策后,會對網(wǎng)絡中對應設備的數(shù)據(jù)層面進行相應編程,從而建立網(wǎng)絡。SDN控制器作為一個軟件實體,掌控了網(wǎng)絡的全局狀況和行為,它通過圖形化界面可以實時地將整個網(wǎng)絡的情況反應給網(wǎng)絡管理員,使得網(wǎng)絡管理更為直觀。
SDN除了控制與數(shù)據(jù)層面的分離特性外,主要還包括了可編程特性。管理員可以在控制器層面之上編寫應用程序,北向API即是管理員自定義應用程序的接口。管理員自定義的應用程序通過該接口與控制器進行通信,控制器將其編譯后發(fā)送至底層。而南向API即為控制層和數(shù)據(jù)層通信的接口。
常見的南向接口包括OpenFlow[3],XMPP[4],F(xiàn)orCES[5],PCE[6],ALTO[7]等。OpenFlow是SDN中最為著名的南向接口之一。OpenFlow是第一個允許網(wǎng)絡管理員用同樣的方法修改不同廠家的路由器和交換機的配置的開放協(xié)議。因為OpenFlow不需要特定廠家透露他們設備的內(nèi)部詳細信息就可以對硬件進行編程,而且因為它在現(xiàn)有設備上便于開發(fā)的特性,OpenFlow受到了很多人的青睞。
OpenFlow交換機與傳統(tǒng)的二層交換機類似,不同的是,在傳統(tǒng)網(wǎng)絡中,交換機和路由器都需要對路由表和MAC地址表進行存儲,網(wǎng)絡中各設備需交換路由表信息然后通過特定的算法確定數(shù)據(jù)包轉(zhuǎn)發(fā)路徑。而在SDN中,這些全都由控制器負責處理。OpenFlow交換機不僅降低了硬件方面的成本,而且使得網(wǎng)絡設備集中化,不再需要對各設備分開處理和配置也不再依賴于復雜的路由和交換協(xié)議,網(wǎng)絡管理趨于簡潔便利。
二、SDN做出的改變
目前的數(shù)據(jù)中心都是由大量的路由器和交換機堆疊組成,而每個機架都會安裝有TOR交換機來連接服務器。所有的這些路由器和交換機都需要單獨進行配置和維護,隨著網(wǎng)絡規(guī)模的增大和拓撲的改變,重復和復雜的工作也會劇增。虛擬化技術的出現(xiàn)使得網(wǎng)絡變得更為復雜,業(yè)務的變化導致服務器虛擬化的網(wǎng)絡配置需要同步變換。SDN中引入了控制器的概念后,更為關注全網(wǎng)的狀態(tài),只需要在控制器中做統(tǒng)一配置,由它像大腦一般進行翻譯和下發(fā)指令到交換機和路由器,就能完成對目標設備的全部配置。
傳統(tǒng)的IP網(wǎng)絡是無連接,盡力而為的,因此難以保證傳輸質(zhì)量,并且難以確認在何處丟包。IP網(wǎng)絡中傳輸?shù)臄?shù)據(jù)報文缺乏與業(yè)務相關的信息,當網(wǎng)絡擁擠服務質(zhì)量變差時,網(wǎng)絡管理員無法第一時間得知問題所在以進行排查。SDN主要通過計算和統(tǒng)計多個端口在固定時間內(nèi)流入與流出的報文數(shù)之差來判斷網(wǎng)絡的丟包情況。同時,SDN的可編程特性允許網(wǎng)絡管理員實時地改變QoS策略以滿足不同用戶的需求。
安全策略方面,SDN以全網(wǎng)視角發(fā)現(xiàn)潛在的威脅,結(jié)合大數(shù)據(jù)的分析和控制器對網(wǎng)絡中各設備信息的收集,可以發(fā)現(xiàn)從單個設備的角度無法發(fā)現(xiàn)的潛在威脅。發(fā)現(xiàn)可疑信息后第一時間通過圖形界面反應給網(wǎng)絡管理員,進而網(wǎng)絡管理員可以及時調(diào)用全網(wǎng)安全資源對風險進行防御,系統(tǒng)的可靠性得到了進一步的提升。
在廣域網(wǎng)方面,SDN被用來提升鏈路的利用率。由于傳統(tǒng)網(wǎng)絡路由發(fā)送都是經(jīng)過特定算法確定最短路徑后發(fā)送,故網(wǎng)絡拓撲未改變的情況下,數(shù)據(jù)包傳送的路徑總是固定的,這在流量劇增的時候會對服務質(zhì)量產(chǎn)生較大的影響,當達到鏈路帶寬瓶頸之時就會產(chǎn)生丟包現(xiàn)象,同時,該情況下鏈路利用率也極其低下。
三、SDN推廣存在的問題
首先SDN雖然有很多優(yōu)點,其全網(wǎng)管控特性可以解決目前網(wǎng)絡管理工作中的許多問題,但是企業(yè)較多考慮的一個因素是投入成本,沒有人愿意過多地進行重復建設。建設SDN雖然和兼容現(xiàn)有網(wǎng)絡并不沖突,但是如何在不影響現(xiàn)網(wǎng)業(yè)務運行和不改變原有網(wǎng)絡拓撲的情況下保證SDN提供所有功能,是當前值得思考的一個重要問題。只有保證了現(xiàn)有網(wǎng)絡向SDN平滑地過渡,SDN才能順利地推廣。SDN網(wǎng)絡由控制器集中控制,僅布置單個控制器風險較大,控制器故障會導致整個網(wǎng)絡癱瘓。通過建設多個控制器實現(xiàn)冗余雖然可以減少此類情況的發(fā)生,同時也需要做好控制器集群對網(wǎng)絡攻擊的防范。對于中小型網(wǎng)絡,由于SDN的優(yōu)勢不再那么明顯,網(wǎng)絡管理員的工作也不會太過繁瑣,網(wǎng)絡管理的復雜度在可接受的范圍之內(nèi)。從這個角度看,在SDN的技術得到完善和成熟之前,SDN的推廣估計會像IPv6取代IPv4那樣,有著很長的一條路要走。
SDN對運營商也有著較大的影響,運營商雖然也還處于對SDN技術的研究階段,但是SDN所倡導的軟件化和虛擬化已經(jīng)成為未來網(wǎng)絡發(fā)展的重要趨勢和特征,相關的代表性技術和協(xié)議將構成未來網(wǎng)絡的基礎。一般認為SDN將增強當前的網(wǎng)絡功能,而不是取代當前的網(wǎng)絡。
四、結(jié)論
互聯(lián)網(wǎng)的發(fā)展已大步邁入云計算時代,網(wǎng)絡發(fā)展勢必得跟上服務器虛擬化的演變節(jié)奏。SDN作為下一代網(wǎng)絡發(fā)展的一個方向,其基本原則和協(xié)議已經(jīng)明確。它的一系列特性不僅滿足了云計算的需求,而且還大大簡化了網(wǎng)絡管理方面的工作。本文主要對SDN的結(jié)構,特性以及現(xiàn)狀等進行了相關探討。并分別提出了SDN網(wǎng)絡管理的各方面優(yōu)點,與傳統(tǒng)網(wǎng)絡進行了比較。另外,本文還對SDN目前存在的問題提出了相應的看法。對于它的未來發(fā)展給予了肯定。
參 考 文 獻
[1] P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz. Forwarding Metamorphosis: Fast Programmable Match-action Processing in Hardware for SDN[J]. SIGCOMM Comput.2013,43(4): 99-110
[2] http://en.wikipedia.org/wiki/Software-defined_networking
[3] http://en.wikipedia.org/wiki/OpenFlow.
[4] http://en.wikipedia.org/wiki/XMPP
[5] http://en.wikipedia.org/wiki/Force
[6] http://en.wikipedia.org/wiki/PCE
[7] http://en.wikipedia.org/wiki/Alto
[8] 左青云,陳鳴,趙廣松,邢長友,張國敏,蔣培成。基于OpenFlow的SDN技術研究[J]。軟件學報,2013,24(5):1081-1083。