2016-01-05 69 views
5

我想獲得關於可用的最佳開源SDN控制器的建議。我想實施和測試我在研究中的一些想法,所以我需要使用模擬,如Mininet。事實上,我對mininet很熟悉,並且能夠處理它。然而,Mininet使用的POX控制器有點繁瑣而且用戶界面不夠友好,因此當管理網絡拓撲和修改流程時,由於您需要從頭開始對所有內容進行硬編碼,所以它變成了一項艱鉅的任務(我是一名初學者在Python中也是如此)。是否有一個用戶友好的SDN控制器,我可以使用POX?我試過FloodlightOpendaylight,但並沒有真正準備好並且涉及很多錯誤。什麼替代SDN控制器到POX可用?

謝謝。

回答

2

我認爲你可以嘗試使用ryu。它基於python,易於使用。

有安裝劉某控制器的簡單方法,嘗試sdnds-tw/ryuInstallHelper

7

Nox

這一切都始於NOX。雖然有人可能會爭辯說,NOX是第一個吸引了大量研究人員並獲得廣泛認可的OpenFlow控制器。主要的軟件定義網絡(SDN)和OpenFlow論文和應用程序的大部分都是在NOX之上實現的。即使谷歌使用NOX來構建(原型?)自己的分佈式OpenFlow控制器,稱爲ONIX。話雖如此,所有這些事情都是在2010年左右。從那時起,NOX郵件列表幾乎被放棄,我所知道的關於代碼庫的重大變化都沒有被引入。

Pox

POX自稱爲NOX的弟弟。 (他們都是由同一個團隊/組織來管理/維護的。)我個人的看法是,POX或多或少地受到創建面向開發人員的OpenFlow控制器的NOX繼任者的驅動。幾乎所有的OpenFlow新手都是針對POX或Floodlight。因此,它有一個相當活躍的郵件列表並不令人驚訝。 POX在其wiki上提供了有限的Web API(通過JSON-RPC)和中等規模的手冊集。它是用Python編寫的,爲Pythonistas提供了一個體面的Python API。由於Python是一種解釋型語言,POX真正縮短了開發和部署週期所花費的時間,特別是與基於C++的NOX相比。此外,除了支持NOX GUI之外,POX還提供了一個基於Web的GUI。

Beacon

綜上所述,信標提供了一種緊湊和表現代碼庫和完美的作品。這就是說,Eclipse和OSGi的依賴關係真的殺死了我,只支持星型拓撲(即沒有循環的拓撲)非常有限。如果您準備嘗試Beacon,我建議您改爲評估Floodlight。

Floodlight

泛光燈無疑是F/OSS軟件的OpenFlow中最活躍,最敏感的社區。在BigSwitch Networks工作的大多數Floodlight開發人員直接參與郵件列表。您可以發現自己正在與某個特定模塊的實際開發人員討論問題。我從來沒有目睹過一個沒有答案的問題,也沒有一個未解決的問題。它確實是一個支持和積極的社區。Floodlight通過REST API公開了其幾乎所有功能,並且存在許多常用任務,例如靜態路由和端到端路由(電路)推送等常用任務。 Floodlight有一個基於Web的UI(由Wes Felter提供)和一個名爲Avior的基於Java的GUI,由Jason Parraga提供。其中一種,Floodlight也可以作爲使用Quantum插件的OpenStack的網絡後端運行。最後,它是生態系統中記錄最多的控制器項目。

Ryu

柳是基於組件的軟件定義的網絡框架。 Ryu爲軟件組件提供定義良好的API,使開發人員可以輕鬆創建新的網絡管理和控制應用程序。 Ryu支持各種管理網絡設備的協議,如OpenFlow,Netconf,OF-config等。關於OpenFlow,Ryu支持完全1.0,1.2,1.3,1.4,1.5和Nicira擴展。所有的代碼都可以在Apache 2.0許可下免費獲得。 **

ONOS

的ONOS(開放式網絡操作系統)的項目由Linux基金會主辦的開源社區。該項目的目標是爲通信服務提供商創建軟件定義網絡(SDN)操作系統,該系統專爲可擴展性,高性能和高可用性而設計。

Opendaylight

的OpenDaylight項目由Linux基金會主辦的協作開源項目。該項目的目標是加速採用軟件定義網絡(SDN),併爲網絡功能虛擬化(NFV)打下堅實的基礎。該軟件是用Java編寫的。

2

首先,Floodlight和OpenDaylight都可以投入生產。雖然這篇文章是從幾個月前開始的,但到那時,OpenDaylight已經在許多組織中投入使用。

假設你喜歡比OpenDaylight和泛光燈其他控制器其他一些原因,你可以給一個嘗試ONOS或Kandoo /蜂箱分佈式控制器https://github.com/kandoo/beehive-netctrl

請注意,您的要求Mininet使用POX是一種誤導。您可以在Mininet中使用任何控制器。

例如,

  1. 配置Mininet用泛光燈 - http://kkpradeeban.blogspot.com/2015/09/configuring-mininet-with-floodlight.html

  2. 配置Mininet與OpenDaylight - http://kkpradeeban.blogspot.com/2014/10/configuring-opendaylight-with-mininet.html