SDN技術(shù)面面觀(guān)
近兩年來(lái)SDN的概念被越來(lái)越廣泛地宣傳與接受,咨詢(xún)與研究機構也頻頻調高其對SDN領(lǐng)域市場(chǎng)規模的預期。全球分析機構Dell'Oro集團的預測數據顯示:SDN的市場(chǎng)價(jià)值在2016年之前將達到15.9億英鎊,5年內將實(shí)現17倍的增長(cháng);IDC也預測,到2016年,SDN產(chǎn)業(yè)產(chǎn)值將達到37億美元以上。從研究機構到高校,從企業(yè)到網(wǎng)絡(luò )廠(chǎng)商,越來(lái)越多的人和組織都參與到SDN的宣傳推廣與使用中來(lái)。如成立于2011年3月份的開(kāi)放網(wǎng)絡(luò )基金會(huì )(ONF)就致力于推動(dòng)SDN的發(fā)展,同時(shí)負責制定與維護OpenFlow協(xié)議。又比如IETF最近新提交了I2RS的草案,其面向的目標直指OpenFlow協(xié)議。其他的如NETCONFTCL/Python/等可能是用戶(hù)很熟悉的通信協(xié)議或接口,也已經(jīng)開(kāi)始在SDN中有所應用。面對蓬勃發(fā)展的SDN技術(shù),最終用戶(hù)是否會(huì )感到無(wú)所適從呢?本文將為您將揭開(kāi)SDN技術(shù)的神秘面紗,帶您了解目前主流的SDN技術(shù)。
本文引用地址:http://dyxdggzs.com/article/153557.htm目前業(yè)界通用的SDN架構主要包括以下特征:控制與數據平面解耦合,網(wǎng)絡(luò )智能與控制邏輯集中,抽象的底層網(wǎng)絡(luò )基礎設施。因此不少SDN實(shí)踐者是從將控制與數據平面解耦合入手,將原來(lái)固化于網(wǎng)絡(luò )設備當中的控制層抽取到設備之外,并進(jìn)行邏輯上的集中處理;同時(shí),在SDN的發(fā)展過(guò)程中,還發(fā)展出一種折衷的方案,在網(wǎng)絡(luò )設備中抽取控制層時(shí)仍保留部分控制能力,以求做到類(lèi)似混合(Hybrid)的方式,以期可以帶來(lái)更大的靈活性:按用戶(hù)需要對控制進(jìn)行集中管理,或者仍按原有控制方式運行。
上面介紹了目前主流的SDN實(shí)現方案的形態(tài),其主要思路還是將控制層提到設備外面來(lái)以便進(jìn)行統一的控制與管理,這里涉及到一個(gè)概念就是Controller與Agent,提取出來(lái)的控制層被定義為Controller(控制器),而被抽離了控制層的網(wǎng)絡(luò )設備的數據層被定義為Agent(代理),剛剛提到的解耦合的控制層如何與原有的數據層通信的問(wèn)題也就轉化為Controller如何與Agent通信,具體到實(shí)現技術(shù)涉及到OpenFlow/I2RS等協(xié)議,下面分別進(jìn)行簡(jiǎn)單的介紹。

OpenFlow協(xié)議最早的思想是出現在Stanford里的實(shí)驗項目Clean Slate中,后來(lái)被Stanford的Nick McKeown教授發(fā)現并進(jìn)行了更通用化的設計,在2008年同其他人共同發(fā)表了題為《OpenFlow: Enabling Innovation in Campus Networks》的論文,首次提出了OpenFlow的概念,將傳統的網(wǎng)絡(luò )設備的數據轉發(fā)平面與控制平面進(jìn)行了分離,通過(guò)將控制平面集中為Controller(控制器)并以標準化的接口對網(wǎng)絡(luò )設備進(jìn)行管理與配置,因此OpenFlow會(huì )將傳統網(wǎng)絡(luò )設備分離為數據轉發(fā)平面的交換機(也可以是路由器)與控制器(Controller),他們之間通過(guò)OpenFlow協(xié)議進(jìn)行通信。在OpenFlow交換機中存在一個(gè)流表,用于接收控制器發(fā)來(lái)的流轉發(fā)策略。

(上圖摘自ONF的OpenFlow白皮書(shū))
與目前網(wǎng)絡(luò )設備所采用的二層(MAC)與三層(IP)轉發(fā)不同,OpenFlow從軟件(控制器)層面支持了比傳統硬件更多的控制轉發(fā)的能力,包括網(wǎng)絡(luò )報文中從1層到4層的關(guān)鍵信息,如MAC地址、IP地址、端口、VLAN、IP協(xié)議號等。

(上圖摘自ONF的OpenFlow白皮書(shū))
通過(guò)支持OpenFlow協(xié)議可以將傳統網(wǎng)絡(luò )設備的控制平面與數據轉發(fā)平面進(jìn)行解耦合,同時(shí)將控制器集中,這樣用戶(hù)就可以通過(guò)集中的控制器來(lái)對整個(gè)網(wǎng)絡(luò )的數據轉發(fā)行為進(jìn)行全局的控制,而不是按網(wǎng)絡(luò )設備自己的協(xié)議來(lái)進(jìn)行處理,同時(shí)由于每一臺網(wǎng)絡(luò )設備都需要同控制器通信,控制器可以很容易就得到全局的拓撲信息,進(jìn)而在控制器向上再提供開(kāi)放API接口,供最終用戶(hù)在此基礎上開(kāi)發(fā)針對自己網(wǎng)絡(luò )業(yè)務(wù)的應用,為網(wǎng)絡(luò )資源的管理與使用提供更多的選擇,從而讓用戶(hù)擁有更多對自己網(wǎng)絡(luò )的編程與定制化能力。
目前OpenFlow的標準化工作是由ONF組織進(jìn)行維護與發(fā)展,最新的OpenFlow協(xié)議版本為1.3.1。很多廠(chǎng)商已經(jīng)推出支持OpenFlow的交換機與Controller,不少大型企業(yè)用戶(hù)也開(kāi)始嘗試使用OpenFlow/SDN來(lái)解決他們的網(wǎng)絡(luò )問(wèn)題,但目前仍存在一些問(wèn)題制約著(zhù)OpenFlow的發(fā)展,比如傳統設備硬件及芯片對OpenFlow流表的支持程度及流表數量的問(wèn)題,都是需要針對OpenFlow的芯片及硬件設計來(lái)解決的,這些問(wèn)題都在限制著(zhù)OpenFlow的大規模應用。
除了在針對OpenFlow的芯片上的努力外,業(yè)界還有人提出在現有的路由系統基礎上設計新的通信協(xié)議,這也就是我們下面要介紹的I2RS(Interface to the Routing System),這一協(xié)議是由IETF制定的標準,目前還處于草案階段。I2RS的核心思想是在目前傳統網(wǎng)絡(luò )設備的路由及轉發(fā)系統基礎上開(kāi)放新的接口來(lái)與外部控制層通信,外部控制層通過(guò)設備反饋的事件、拓撲變化、流量統計等信息來(lái)動(dòng)態(tài)地下發(fā)路由狀態(tài)、策略等到各個(gè)設備上去。從上面的介紹中可以看出I2RS與OpenFlow最大的區別是I2RS并沒(méi)有像OpenFlow提出流那樣較新的概念,而是延用了傳統網(wǎng)絡(luò )設備中正在使用的路由、轉發(fā)等結構與功能,并在此基礎上進(jìn)行功能的擴展與豐富。
就目前SDN應用來(lái)看,除了新部署的網(wǎng)絡(luò ),還有大量的現存網(wǎng)絡(luò ),這些現存網(wǎng)絡(luò )如何應用SDN也是眾企業(yè)、用戶(hù)所關(guān)心的。不少網(wǎng)絡(luò )設備廠(chǎng)商適時(shí)地推出了可以幫助用戶(hù)平滑演進(jìn)SDN的開(kāi)放API方案即是為解決此問(wèn)題而出現的。
相對于Controller Agent結構,開(kāi)放API方案直接在設備層面上提供新的開(kāi)放的API接口,包括NETCONF/RESTful等基于XML結構化標記語(yǔ)言的接口,也有基于TCL/Python/Javascript等基于腳本語(yǔ)言的接口,更有的直接開(kāi)放更為底層的Java/C++/C語(yǔ)言接口,讓用戶(hù)可以深入到設備操作系統底層對硬件進(jìn)行更深入地管理與操作,從而取得設備更大的控制權限。這種開(kāi)放API的方案省略掉了Controller控制層,等于在用戶(hù)的應用程序中直接嵌入了控制層的接口,從而實(shí)現了結構的簡(jiǎn)化,減少了用戶(hù)在Controller層的技術(shù)負擔;同時(shí)由于對現有設備的改動(dòng)小(只需要更新軟件以支持新的開(kāi)放API接口即可),更利于保護用戶(hù)的投資。當然,這種方案的缺點(diǎn)也是有的,主要在于目前開(kāi)放API沒(méi)有形成業(yè)界統一的標準,可能會(huì )出現不同廠(chǎng)商設備提供的開(kāi)放API接口不兼容的問(wèn)題,這可能還需要漫長(cháng)的時(shí)間才會(huì )有公司或組織出面進(jìn)行相關(guān)的標準化工作。
隨著(zhù)SDN在用戶(hù)中應用的展開(kāi),當前各種協(xié)議、接口、方案必將會(huì )碰到更多的問(wèn)題,可能哪種方案或協(xié)議都無(wú)法完全符合每一個(gè)用戶(hù)的具體需求,我們有理由猜測,最后SDN的支撐技術(shù)可能會(huì )包含多種不同的協(xié)議與方案,他們既相互競爭,又互為補充,互相啟發(fā),并呈現出一個(gè)螺旋上升的發(fā)展趨勢,這實(shí)際上也是我們所接觸到的大多數技術(shù)的演進(jìn)方式。
評論