OpenDaylight與Mininet應用實戰之 基本環境搭建

基本環境搭建

簡要介紹在沒有OpenFlow硬件設備下如何搭建一個OpenFlow環境。控制器使用OpenDaylight,是現在主流的控制器項目,功能比較完善。模擬OpenFlow設備使用Mininet,遠比基於KVM的虛擬機應用更高效、更簡潔,且更容易理解。

1.環境準備

主要的最簡單的環境準備是:一臺PC電腦及安裝VMware station(或VirtualBox)工作站用來承載VM。

2.OpenDaylight獲取安裝

可直接通過地址鏈接下載OpenDaylight(以下簡稱ODL)的VM鏡像:

http://archive.openflow.org/wk/index.php?title=OpenDayLight_Tutorial,下載此鏡像後,可用VMware station直接打開此VM,使用並啓動ODL。如想具體瞭解ODL的安裝詳情,可搜索有關ODL的文檔,會在技術文當中更新ODL的具體安裝。

打開VM後,先進入OpenDaylight目錄:cd opendaylight/opendaylight/distribution/opendaylight/

再進入OpenDaylight啓動目錄:

cd target/distribution.opendaylight-package/opendaylight

執行:run.sh;

訪問控制器的IP地址:http://[VM_IP]:8080,可在VM的瀏覽器中訪問,也可以在PC中訪問。

可看到具體界面如下圖所示:
這裏寫圖片描述
登錄用戶名:admin,密碼:admin,登錄進入ODL的Web界面查看並可對ODL操作。

3.Mininet獲取安裝

Mininet主要是虛擬出OpenFlow交換機以及host主機節點,並且能通過自定義來構造用戶想要的拓撲。虛擬OpenFlow交換機主要是使用基於OpenvSwitch的應用。

http://mininet.org/download/ 下載Mininet的VM鏡像,打開此鏡像後,用戶名爲mininet,密碼爲mininet登錄進入mininet虛擬機,之後即可通過 mn命令來創建拓撲。後續也會提供mininet的源碼編譯安裝方法。

4.支持openflow的Wireshark插件安裝

建議Wireshark安裝在ODL的VM上,因爲ODL的VM是桌面版,可直接顯示wireshark的抓包數據。1.6版本的wireshark要支持OpenFlow,需要做如下(注:此文檔配置只支持1.6版本)
4.1下載安裝OpenFlow

$ sudo apt-get install git-core automake m4 pkg-config libtool

$ git clone git://openflow.org/openflow.git

或git clone git://gitosis.stanford.edu/openflow.git

$ cd openflow

$ ./boot.sh
這裏寫圖片描述
4.2 安裝編譯命令

在openflow目錄下

$ sudo apt-get install gcc

配置

$ ./configure

$ make

$ sudo make install
這裏寫圖片描述
4.3 安裝Wireshark Dissector(掃描器)

在openflow目錄下,獲取wireshark

$ sudo apt-get install wireshark libgtk2.0-dev

安裝並編譯:

$ cd utilities/wireshark_dissectors/openflow

修改utilities/wireshark_dissectors/openflow/packet-openflow.c文件的769行(注:“:set nu” 命令可顯示行數)

dissector_add(TCP_PORT_FILTER, global_openflow_proto, openflow_handle)

改爲:

dissector_add_uint(TCP_PORT_FILTER,global_openflow_proto,openflow_handle)

make
這裏寫圖片描述
修改保存後編譯:

$ make
這裏寫圖片描述
$ sudo make install
這裏寫圖片描述
將編譯好的庫,packet-openflow.so放入wireshark插件目錄,如圖所示:

$ scp packet-openflow.so /usr/lib/wireshark/libwireshark1/plugins/
這裏寫圖片描述
查看目錄/usr/lib/wireshark/libwireshark1/plugins/的文件,含有packet-openflow.so文件:
這裏寫圖片描述
在root用戶權限下執行命令,打開wireshark:

root $ wireshark &

進入wireshark界面,查看插件裏是否有packet-openflow,如圖:
這裏寫圖片描述
這裏寫圖片描述
packet-openflow插件添加成功!

Of協議可被識別(注:綠色表示輸入正確),即可支持OpenFlow協議!
這裏寫圖片描述
由於SDN的快速發展,wireshark官網更新的wireshark已有專門的版本(Stable Release (1.12.1)版本)支持openflow協議,且支持of協議的多個版本,包括of1.0、1.1、1.2、1.3,有助於後續的多版本協議研究,所以可直接下載,進行安裝使用,鏈接地址爲:https://www.wireshark.org/download.html

注:(1)其實ODL的VM中有支持openflow協議的wireshark,但是,經測試,VM中自帶的wireshark解析器抓包有問題,所以重新安裝支持openflow協議的wireshark。

(2)也可在Mininet所在的VM中安裝wireshark,因Mininet虛擬機是server版,所以使用wireshark時,可使用Xming與Putty相結合,將X11中的轉發功能勾選,遠程登錄此VM,通過執行wireshark抓包獲取數據,使用putty如下圖所示:
這裏寫圖片描述

5.總結

本章節主要是爲了解ODL及Mininet做準備,通過ODL和Mininet的安裝獲取熟悉他們的基本概念。具體的關於SDN OpenFlow協議的瞭解可以閱讀後續發出的專題2 OpenFlow協議分析,專題2將對搭建OpenFlow環境的基礎操作及協議分析進行詳細輸出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章