經常使用SDN控制器安裝部署之Floodlight篇

1 Floodlight概述html

Floodlight是目前主流的SDN控制器之一,它的穩定性、易用性已經獲得SDN專業人士以及愛好者們的一致好評,並因其徹底開源,這讓SDN網絡世界變得更加有活力。控制器做爲SDN網絡中的重要組成部分,能集中地靈活控制SDN網絡,爲核心網絡及應用創新提供了良好的擴展平臺,本文檔主要介紹基於Java語言的開源SDN控制器Floodlight的安裝部署。git

安裝前準備工做web

若是不是專業人士,咱們建議在虛擬機中搭建環境並安裝。json

Linux:本文基於Ubuntu12.04版本安裝api

■系統需求:Ubuntu 10.04Natty)及以上版本(運行Ant1.8.1及如下版本)微信

■安裝JDKAnt。(可在Eclipse上安裝)網絡

安裝圖形化Eclipse(非必須)eclipse

■安裝gitui

安裝Floodlightspa

1)從Github下載並編譯Floodlight

2)運行Floodlight

稍等一會Floodlight就會開始運行,並在控制檯打印debug信息。

若是Floodlight運行不正常能夠查看Floodlight的主進程是否正在運行。

3Eclipse設置

若是是桌面版帶圖形化界面的Ubuntu而且以前已經安裝了Eclipse,那麼咱們就能夠經過圖形化界面的Eclipse運行、開發、配置Floodlight

上述命令將建立多個文件:Floodlight.launchFloodlight_junit.launchclasspath.project。打開Eclipse軟件,能夠經過下面這些來設置新的Eclipse項目。

■打開eclipse建立一個新的工程

File -> Import -> General -> Existing Projects into Workspac ,點擊下一步

■點擊「Browse」。選擇以前放置Floodlight的路徑

■點擊Floodlight

■點擊「Finish

如今就產生了一個FloodlightEclipse工程。因爲咱們是使用靜態模塊加載系統運行Floodlight,咱們必須配置Eclipse來正確的運行Floodlight。建立Floodlight目標文件:

■點擊Run->Run Configurations

■右擊Java Application,選擇 New

■「Name」使用「FloodlightLaunch

■「Project」使用「Floodlight

■「Main」使用「net.floodlightcontroller.core.Main

■點擊「Apply

■點擊「Run」,Floodlight就開始運行了

4)運行Floodlight後能夠經過登陸http://localhost:8080/ui/index.html使用Floodlight提供的web管理界面查看裏面的信息,包括交換機、主機等等,由於咱們沒有接什麼設備,頁面沒有什麼信息。

配置Floodlight

Floodlight提供了兩個配置文件:floodlightdefault.propertieslearningswitch.properties,路徑都位於floodlight/src/main/resources/。經過這兩個配置文件能夠查看Floodlight已經加載的子模塊以及控制器的偵聽端口、web端口,默認的偵聽端口是6633web端口是8080。若有必要用戶能夠自定義加載子模塊和修改偵聽端口,經過vi命令修改配置文件後,在Floodlight目錄下執行ant編譯後重啓Floodlight便可。配置參數以下兩圖a)、圖b)所示:

                    a)  floodlightdefault.properties配置信息

                    圖b)  learningswitch.properties配置信息

經常使用Floodlight命令

Floodlight將本身的API經過Rest Api的形式向外暴露,關於Rest Api,就是將程序的API封裝成爲通用的http GET/PUT的形式,這樣的話無需關注程序實現細節,經過發送http請求便可完成API操做。因此用戶能夠經過FloodlightRestful api來向Floodlight請求各類信息,包括交換機狀態、能力、拓撲等。須要注意,經過FloodlightRestful api返回的信息以json格式封裝。REST Api信息用戶訪問http://www.projectfloodlight.org/floodlight/來得到。

1)請求該控制器上全部的switchDPID,能夠參考以下命令,其中localhost:8080要換成控制器的ipport

2)加入流表項

3)讀取流表項

注:這種方式是經過static flow pusher來獲取流表項。

4)刪除流表項

假如要刪除全部的流表項,使用以下命令:

其它常見操做同Open vSwitch

6 Floodlight可兼容交換機

下面列出了能夠和Floodlight控制器兼容的交換機:

虛擬交換機

Open vSwitchOVS

硬件交換機

Arista 7050

Brocade MLXe

Brocade CER

Brocade CES

Dell S4810

Dell Z9000

Extreme Summit x440, x460, x670

HP 3500, 3500yl, 5400zl, 6200yl, 6600, and 8200zl (the old-style L3 hardware match platform)

HP V2 line cards in the 5400zl and 8200zl (the newer L2 hardware match platform)

Huawei openflow-capable router platforms

IBM 8264

Juniper (MX, EX)

NEC IP8800

NEC PF5240

NEC PF5820

NetGear 7328SO

NetGear 7352SO

Pronto (3290, 3295, 3780) - runs the shipping pica8 software

本文來源於SDNLAB,可點擊此閱讀原文。若是您對本文感興趣,可參與如下互動方式與做者近距離交流。       (1) 微博(http://weibo.com/sdnlab/


(2) 微信(帳號SDNLAB)

(3) QQ

SDN研究羣(214146842)

OpenDaylight研究羣(194240432)

相關文章
相關標籤/搜索