SDN控制�是軟件定義網(wǎng)絡(SDN)中的應用程�,負責流量控制以確保智能�(wǎng)�。SDN控制器是基于如OpenFlow等協(xié)議的,允�服務�告訴交換�向哪里發(fā)送數(shù)�(jù)包�
ONOS和ODL項目在SDN控制器方面很可能會共享成�,這樣幾乎所有事情都可以在Linux基金會上實現(xiàn)��
兩個開源組織創(chuàng)建了獨立的SDN控制�,現(xiàn)在已�(jīng)是Linux基金會的一部分,增加了跨項目合作的進程�
日前,OpenNetworkingLab(ON.Lab)將ONOS項目(OpenNetworkingOperatingSystem)放在了基金會中。ONOS開發(fā)者正在創(chuàng)建一個電信級的開源SDN控制��
ON.Lab組織加入Linux基金會是為了從其龐大的開�(fā)者社區(qū)中獲得幫�。ONOS項目的執(zhí)行董事GuruParulkar表示:“隨著SDN和NFV(網(wǎng)絡功能虛擬化)的崛起,服務提供商和開�(fā)者社區(qū)在人才儲備方面出�(xiàn)嚴重不足?�?BR> Linux基金會還有ODL(OpenDaylight)項目,它是由供應商傾力打造的控制器架�(gòu)。貢獻者包括思科、Juniper�(wǎng)絡公�、博科通訊系統(tǒng)公司以及Arista�(wǎng)絡公��
1.NOX和POX
NOX是斯坦福大學�2008年提出的款OpenFlow控制器,它的早期版本(NOX-Classic)由C++和Python兩種語言實現(xiàn),只能支持單線程操作??刂破魈峁┫鄳木幊探涌冢_�(fā)人員可以使用C++或者Python語言在這些接口上實�(xiàn)自己的應�。這個版本已�(jīng)開源了包括hub、switch、topology和route在內(nèi)的多種應用�
NOX的新版本�0.9.2~core~beta�2012-5-11�(fā)布)完全由C++實現(xiàn),支持OpenFlow1.0�(xié)�,并且提供了多線程的支持。由于C++語言的靈活性、高效�,并且新版本增加了多線程的支持,其性能有了很大的提�,但美中不足的是,新版NOX只提供了基本框架。由于它在代碼結(jié)�(gòu)和實�(xiàn)語言上有了一定的�(diào)�,原來版本中的相關應用在新版本中無法直接
移植。版本的NOX只有switch一個應�,實�(xiàn)了learningswitch的功能�
NOX團隊從其舊版本中分離出Python語言實現(xiàn)的內(nèi)容之�,又實現(xiàn)了一款完全使用Python語言的控制器POX。盡管POX�(xiàn)在開源出來的代碼所實現(xiàn)的應用也僅限learningswitch,但由于Python簡潔、易讀,以及擴展性好等優(yōu)點,POX得以快速發(fā)�,并且得到了廣泛的應�。由于Python是一種解釋性語言,它在性能上較C++和Java會有一些劣�。本文對于POX的測試,均采用PyPy解釋��
2.Beacon
Beacon同樣起源于斯坦福大學,在2010年由Erickson等人設計開發(fā)。Beacon是一款基于Java語言的開源控制器,截至本文撰寫時的版本是V1.0.2�。Beacon以其高效性和�(wěn)定性得以在多個科研項目和實驗�(huán)境中被應�。另�,Beacon還具有很好的跨平臺特�,并且支持多線程,可以通過Web的UI進行訪問控制。Beacon采用Java的Spring和Equinox編程模型,可以提供OSGi用戶界面,使用者可以通過用戶界面動態(tài)地進行模塊的添加和刪除,在使用和部署上很方��
3.BigNetworkController&Floodlight
2012年成立的SDN初創(chuàng)公司BigSwitchNetworks先后推出了幾款控制器。首先是其商用版的BigNetworkController,它可以支持多達1000個網(wǎng)絡設備,每秒連接最�250000臺主機。同�2�,BigSwitch�(fā)布了其開源控制器Floodlight,該控制器與BigNetwork Controller使用相同的coreengine,作為其開源版本推向市場,到2012年年�,其下載量就已經(jīng)超過1��
Floodlight采用Java語言實現(xiàn),在Apache開源標準許可下可免費使用。另�,BigNetworkController和Floodlight的API(applicationprogramminginterface)完全兼容,因此基于Floodlight編寫的應用程序可以直接應用于商業(yè)版本的控制器。也正是基于這種兼容性,F(xiàn)loodlight開源社區(qū)可以向用戶提供強大的技�(shù)支持。Floodlight版本(V0.90)于2012�10月發(fā)�,支持多線程和WebUI。同�,F(xiàn)loodlight也可以很好地應用于OpenStack1.NOX和POX
NOX是斯坦福大學�2008年提出的款OpenFlow控制器,它的早期版本(NOX-Classic)由C++和Python兩種語言實現(xiàn),只能支持單線程操作。控制器提供相應的編程接�,開�(fā)人員可以使用C++或者Python語言在這些接口上實�(xiàn)自己的應�。這個版本已�(jīng)開源了包括hub、switch、topology和route在內(nèi)的多種應用�
NOX的新版本�0.9.2~core~beta�2012-5-11�(fā)布)完全由C++實現(xiàn),支持OpenFlow1.0�(xié)議,并且提供了多線程的支�。由于C++語言的靈活�、高效�,并且新版本增加了多線程的支持,其性能有了很大的提�,但美中不足的是,新版NOX只提供了基本框架。由于它在代碼結(jié)�(gòu)和實�(xiàn)語言上有了一定的�(diào)�,原來版本中的相關應用在新版本中無法直接
移植。版本的NOX只有switch一個應�,實�(xiàn)了learningswitch的功��
NOX團隊從其舊版本中分離出Python語言實現(xiàn)的內(nèi)容之后,又實�(xiàn)了一款完全使用Python語言的控制器POX。盡管POX�(xiàn)在開源出來的代碼所實現(xiàn)的應用也僅限learningswitch,但由于Python簡潔、易讀,以及擴展性好等優(yōu)�,POX得以快速發(fā)展,并且得到了廣泛的應用。由于Python是一種解釋性語言,它在性能上較C++和Java會有一些劣勀本文對于POX的測�,均采用PyPy解釋器�
2.Beacon
Beacon同樣起源于斯坦福大學,在2010年由Erickson等人設計開發(fā)。Beacon是一款基于Java語言的開源控制器,截至本文撰寫時的版本是V1.0.2�。Beacon以其高效性和�(wěn)定性得以在多個科研項目和實驗�(huán)境中被應�。另�,Beacon還具有很好的跨平臺特性,并且支持多線�,可以通過Web的UI進行訪問控制。Beacon采用Java的Spring和Equinox編程模型,可以提供OSGi用戶界面,使用者可以通過用戶界面動態(tài)地進行模塊的添加和刪除,在使用和部署上很方��
3.BigNetworkController&Floodlight
2012年成立的SDN初創(chuàng)公司BigSwitchNetworks先后推出了幾款控制器。首先是其商用版的BigNetworkController,它可以支持多達1000個網(wǎng)絡設�,每秒連接最�250000臺主機。同�2�,BigSwitch�(fā)布了其開源控制器Floodlight,該控制器與BigNetwork Controller使用相同的coreengine,作為其開源版本推向市場,到2012年年�,其下載量就已經(jīng)超過1��
Floodlight采用Java語言實現(xiàn),在Apache開源標準許可下可免費使用。另�,BigNetworkController和Floodlight的API(applicationprogramminginterface)完全兼容,因此基于Floodlight編寫的應用程序可以直接應用于商業(yè)版本的控制器。也正是基于這種兼容�,F(xiàn)loodlight開源社區(qū)可以向用戶提供強大的技�(shù)支持。Floodlight版本(V0.90)于2012�10月發(fā)�,支持多線程和WebUI。同�,F(xiàn)loodlight也可以很好地應用于OpenStack�
4.Maestro
Maestro[9]是萊斯大�2011年的一篇學位論�,提出并用Java實現(xiàn)了一款基于LGPLV2.1開源�(xié)議標準的多線程控制器,主要應用于科研領域。它同樣有著很好的平臺適應�,可以有效地在多種操作系�(tǒng)和體系結(jié)�(gòu)的機器上運行。到目前為止,Maestro最
新開源版本為2011�5月發(fā)布的V0.2.1,其實現(xiàn)的應用主要包括learningswitch、discovery、locationmanagement、route等。而對于命令行模式,只是實�(xiàn)了一些簡單的display操作。相對其他控制器來說,Maestro版本的更新速度比較慀�
5.Ryu
Ryu是由日本NTT公司負責設計研發(fā)的一款開源SDN控制�。同POX一�,Ryu也是完全由Python語言實現(xiàn),使用者可以用Python語言在其上實�(xiàn)自己的應�。Ryu目前支持OpenFlowV1.0、V1.2和V1.3,同時支持在OpenStack上的部署應用。Ryu采用ApacheLicense開源�(xié)議標�,版本實�(xiàn)了simple_switch、rest_topology等應��
6.Helios和SNAC
上述介紹的控制器主要都是開源�,而Helios和SNAC是閉源的SDN控制�。Helios是由NEC公司開發(fā)的基于C語言的可擴展控制器,它主要應用于科研�(huán)境,并且提供了一個可編程的界面來進行實驗。SNAC是NiciraNetworks基于NOX開發(fā)的一款企�(yè)級控制器,它提供了靈活的策略定義語言,通過策略管理器管理網(wǎng)�,有著友好的用戶界面�
4.Maestro
Maestro[9]是萊斯大�2011年的一篇學位論�,提出并用Java實現(xiàn)了一款基于LGPLV2.1開源�(xié)議標準的多線程控制器,主要應用于科研領域。它同樣有著很好的平臺適應�,可以有效地在多種操作系�(tǒng)和體系結(jié)�(gòu)的機器上運行。到目前為止,Maestro最
新開源版本為2011�5月發(fā)布的V0.2.1,其實現(xiàn)的應用主要包括learningswitch、discovery、locationmanagement、route等。而對于命令行模式,只是實�(xiàn)了一些簡單的display操作。相對其他控制器來說,Maestro版本的更新速度比較��
5.Ryu
Ryu是由日本NTT公司負責設計研發(fā)的一款開源SDN控制器。同POX一�,Ryu也是完全由Python語言實現(xiàn),使用者可以用Python語言在其上實�(xiàn)自己的應用。Ryu目前支持OpenFlowV1.0、V1.2和V1.3,同時支持在OpenStack上的部署應用。Ryu采用ApacheLicense開源�(xié)議標�,版本實�(xiàn)了simple_switch、rest_topology等應��
6.Helios和SNAC
上述介紹的控制器主要都是開源�,而Helios和SNAC是閉源的SDN控制器。Helios是由NEC公司開發(fā)的基于C語言的可擴展控制�,它主要應用于科研環(huán)�,并且提供了一個可編程的界面來進行實驗。SNAC是NiciraNetworks基于NOX開發(fā)的一款企�(yè)級控制器,它提供了靈活的策略定義語言,通過策略管理器管理網(wǎng)�,有著友好的用戶界面�
隨著SDN�(chǎn)�(yè)的不斷成熟,南向接口OpenFlow�(xié)議的日趨完善,SDN控制器作為未來網(wǎng)絡架�(gòu)的核心組件,其性能瓶頸已成為制約SDN�(fā)展的一個重要因�。如何形成統(tǒng)一的SDN控制器性能測試�(guī)范并施以有效的測試手�,早已成為了�(yè)界普遍關心的問題。天地互�-全球SDN測試認證中心�(fā)布的《SDN控制器性能測試白皮書》從SDN控制器性能測試平臺的搭�、性能測試方法與測試結(jié)果分析和前瞻性的性能測試研究等方�,向�(yè)界展示了�(guī)范化的SDN控制器性能測試流程,為�(wǎng)絡供應商選擇高性能SDN控制器設備提供了依據(jù)�
維庫電子通,電子知識,一查百通!
已收錄詞�153979�