必威电竞|足球世界杯竞猜平台

SDN控制器
來(lái)源:互聯(lián)網(wǎng)

SDN控制器是軟件定義網(wǎng)絡(luò)(SDN)中的應(yīng)用程序,負(fù)責(zé)流量控制以確保智能網(wǎng)絡(luò)。SDN控制器是基于如OpenFlow等協(xié)議的,允許服務(wù)器告訴交換機(jī)向哪里發(fā)送數(shù)據(jù)包。

事實(shí)上,SDN控制器是作為網(wǎng)絡(luò)的一種操作系統(tǒng)(OS)。控制器不控制網(wǎng)絡(luò)硬件而是作為軟件運(yùn)行,這樣有利于網(wǎng)絡(luò)自動(dòng)化管理?;谲浖木W(wǎng)絡(luò)控制使得集成業(yè)務(wù)申請(qǐng)和網(wǎng)絡(luò)更容易。

IBM的可編程網(wǎng)絡(luò)控制器運(yùn)行在Linux上。IBM的SDN控制器管理和配置OpenFlow 1.0網(wǎng)絡(luò),通過(guò)在網(wǎng)絡(luò)控制器的頂部提供一個(gè)虛擬層。IBM的控制器允許第三方軟件開(kāi)發(fā)人員編寫(xiě)自己的應(yīng)用程序。

一些供應(yīng)商提出了專(zhuān)有的SDN控制器。所以,一個(gè)供應(yīng)商的控制器不會(huì)總運(yùn)行在另一個(gè)供應(yīng)商的控制器上。其它網(wǎng)絡(luò)供應(yīng)商包括惠普(HP)、思科威睿、和瞻博網(wǎng)絡(luò),正在積極參與到SDN中。

開(kāi)源控制器

ONOS和ODL項(xiàng)目在SDN控制器方面很可能會(huì)共享成果,這樣幾乎所有事情都可以在Linux基金會(huì)上實(shí)現(xiàn)了。

兩個(gè)開(kāi)源組織創(chuàng)建了獨(dú)立的SDN控制器,現(xiàn)在已經(jīng)是Linux基金會(huì)的一部分,增加了跨項(xiàng)目合作的進(jìn)程。

日前,Open Networking Lab (ON.Lab)將ONOS項(xiàng)目(Open Networking Operating System)放在了基金會(huì)中。ONOS開(kāi)發(fā)者正在創(chuàng)建一個(gè)電信級(jí)的開(kāi)源SDN控制器。

ON.Lab組織加入Linux基金會(huì)是為了從其龐大的開(kāi)發(fā)者社區(qū)中獲得幫助。ONOS項(xiàng)目的執(zhí)行董事Guru Parulkar表示:“隨著SDN和NFV(網(wǎng)絡(luò)功能虛擬化)的崛起,服務(wù)提供商和開(kāi)發(fā)者社區(qū)在人才儲(chǔ)備方面出現(xiàn)嚴(yán)重不足?!?/p>

Linux基金會(huì)還有ODL(OpenDaylight)項(xiàng)目,它是由供應(yīng)商傾力打造的控制器架構(gòu)。貢獻(xiàn)者包括思科、Juniper網(wǎng)絡(luò)公司、上海博科資訊股份有限公司通訊系統(tǒng)公司以及Arista網(wǎng)絡(luò)公司。

其他控制器

1.NOX和POX

NOX 是斯坦福大學(xué)在2008 年提出的第一款OpenFlow 控制器,它的早期版本(NOX-Classic)由C++Python 兩種語(yǔ)言實(shí)現(xiàn),只能支持單線程操作??刂破魈峁┫鄳?yīng)的編程接口,開(kāi)發(fā)人員可以使用C++或者Python 語(yǔ)言在這些接口上實(shí)現(xiàn)自己的應(yīng)用。這個(gè)版本已經(jīng)開(kāi)源了包括hub、switch、topology 和route在內(nèi)的多種應(yīng)用。

NOX 的新版本(0.9.2~core~beta,2012-5-11 發(fā)布)完全由C++實(shí)現(xiàn),支持OpenFlow1.0 協(xié)議,并且提供了多線程的支持。由于C++的靈活性、高效性,并且新版本增加了多線程的支持,其性能有了很大的提升,但美中不足的是,新版NOX只提供了基本框架。由于它在代碼結(jié)構(gòu)和實(shí)現(xiàn)語(yǔ)言上有了一定的調(diào)整,原來(lái)版本中的相關(guān)應(yīng)用在新版本中無(wú)法直接移植。最新版本的NOX只有switch 一個(gè)應(yīng)用,實(shí)現(xiàn)了learning switch的功能。

NOX團(tuán)隊(duì)從其舊版本中分離出Python 語(yǔ)言實(shí)現(xiàn)的內(nèi)容之后,又實(shí)現(xiàn)了一款完全使用Python語(yǔ)言的控制器POX。盡管POX現(xiàn)在開(kāi)源出來(lái)的代碼所實(shí)現(xiàn)的應(yīng)用也僅限learning switch,但由于Python 簡(jiǎn)潔、易讀,以及擴(kuò)展性好等優(yōu)點(diǎn),POX得以快速發(fā)展,并且得到了廣泛的應(yīng)用。由于Python 是一種解釋性語(yǔ)言,它在性能上較C++和Java 會(huì)有一些劣勢(shì)。本文對(duì)于POX 的測(cè)試,均采用PyPy解釋器。

2.Beacon

Beacon 同樣起源于斯坦福大學(xué),在2010 年由Erickson 等人設(shè)計(jì)開(kāi)發(fā)。Beacon 是一款基于Java 語(yǔ)言的開(kāi)源控制器,截至本文撰寫(xiě)時(shí)的最新版本是V1.0.2 版。Beacon 以其高效性和穩(wěn)定性得以在多個(gè)科研項(xiàng)目和實(shí)驗(yàn)環(huán)境中被應(yīng)用。另外,Beacon 還具有很好的跨平臺(tái)特性,并且支持多線程,可以通過(guò)Web 的UI 進(jìn)行訪問(wèn)控制。Beacon 采用Java 的Spring和Equinox 編程模型,可以提供OSGi 用戶界面,使用者可以通過(guò)用戶界面動(dòng)態(tài)地進(jìn)行模塊的添加和刪除,在使用和部署上很方便。

3.Big Network Controller & Floodlight

2012年成立的SDN初創(chuàng)公司Big Switch Networks先后推出了幾款控制器。首先是其商用版的Big NetworkController,它可以支持多達(dá)1 000 個(gè)網(wǎng)絡(luò)設(shè)備,每秒連接最多250 000臺(tái)主機(jī)。同年2月,Big Switch發(fā)布了其開(kāi)源控制器Floodlight,該控制器與Big Network Controller使用相同的core engine,作為其開(kāi)源版本推向市場(chǎng),到2012年年底,其下載量就已經(jīng)超過(guò)1萬(wàn)。

Floodlight采用Java語(yǔ)言實(shí)現(xiàn),在Apache開(kāi)源標(biāo)準(zhǔn)許可下可免費(fèi)使用。另外,Big Network Controller 和Floodlight 的API(application programming interface)完全兼容,因此基于Floodlight 編寫(xiě)的應(yīng)用程序可以直接應(yīng)用于商業(yè)版本的控制器。也正是基于這種兼容性,F(xiàn)loodlight 開(kāi)源社區(qū)可以向用戶提供強(qiáng)大的技術(shù)支持。Floodlight 最新版本(V0.90)于2012 年10 月發(fā)布,支持多線程和Web UI。同時(shí),F(xiàn)loodlight 也可以很好地應(yīng)用于OpenStack

4.Maestro

Maestro是萊斯大學(xué)2011年的一篇學(xué)位論文,提出并用Java 實(shí)現(xiàn)了一款基于LGPL V2.1 開(kāi)源協(xié)議標(biāo)準(zhǔn)的多線程控制器,主要應(yīng)用于科研領(lǐng)域。它同樣有著很好的平臺(tái)適應(yīng)性,可以有效地在多種操作系統(tǒng)和體系結(jié)構(gòu)的機(jī)器上運(yùn)行。到目前為止,maestro

新開(kāi)源版本為2011 年5 月發(fā)布的V0.2.1,其實(shí)現(xiàn)的應(yīng)用主要包括learning switch、discovery、location management、route 等。而對(duì)于命令行模式,只是實(shí)現(xiàn)了一些簡(jiǎn)單的display 操作。相對(duì)其他控制器來(lái)說(shuō),Maestro版本的更新速度比較慢。

5.Ryu

Ryu是由日本NTT公司負(fù)責(zé)設(shè)計(jì)研發(fā)的一款開(kāi)源SDN 控制器。同POX 一樣,Ryu 也是完全由Python 語(yǔ)言實(shí)現(xiàn),使用者可以用Python 語(yǔ)言在其上實(shí)現(xiàn)自己的應(yīng)用。Ryu 目前支持OpenFlow V1.0、V1.2 和V1.3,同時(shí)支持在OpenStack上的部署應(yīng)用。Ryu采用apache License開(kāi)源協(xié)議標(biāo)準(zhǔn),最新版本實(shí)現(xiàn)了simple_switch、rest_topology等應(yīng)用。

6.Helios和SNAC

上述介紹的控制器主要都是開(kāi)源的,而Helios 和SNAC是閉源的SDN控制器。Helios 是由日本電氣公司開(kāi)發(fā)的基于c語(yǔ)言的可擴(kuò)展控制器,它主要應(yīng)用于科研環(huán)境,并且提供了一個(gè)可編程的界面來(lái)進(jìn)行實(shí)驗(yàn)。SNAC是Nicira Networks 基于NOX開(kāi)發(fā)的一款企業(yè)級(jí)控制器,它提供了靈活的策略定義語(yǔ)言,通過(guò)策略管理器管理網(wǎng)絡(luò),有著友好的用戶界面。

控制器測(cè)試

隨著SDN產(chǎn)業(yè)的不斷成熟,南向接口OpenFlow協(xié)議的日趨完善,SDN控制器作為未來(lái)網(wǎng)絡(luò)架構(gòu)的核心組件,其性能瓶頸已成為制約SDN發(fā)展的一個(gè)重要因素。如何形成統(tǒng)一的SDN控制器性能測(cè)試規(guī)范并施以有效的測(cè)試手段,早已成為了業(yè)界普遍關(guān)心的問(wèn)題。天地互連-全球SDN測(cè)試認(rèn)證中心發(fā)布的《SDN控制器性能測(cè)試白皮書(shū)》從SDN控制器性能測(cè)試平臺(tái)的搭建、性能測(cè)試方法與測(cè)試結(jié)果分析和前瞻性的性能測(cè)試研究等方面,向業(yè)界展示了規(guī)范化的SDN控制器性能測(cè)試流程,為網(wǎng)絡(luò)供應(yīng)商選擇高性能SDN控制器設(shè)備提供了依據(jù)。

參考資料 >

SDN領(lǐng)域再突破!控制器性能測(cè)試白皮書(shū)正式發(fā)布.網(wǎng)易科技.2016-03-28

生活家百科家居網(wǎng)