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

pt-sdn-build-environment-2014-10-11

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

1 環境準備

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

2 ODL獲取安裝

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

打開VM後,先進入OpenDaylight目錄:git

cd opendaylight/opendaylight/distribution/opendaylight/

 Shell再進入OpenDaylight啓動目錄:瀏覽器

cd target/distribution.opendaylight-package/opendaylight

執行:微信

Shell網絡

run.sh

在瀏覽器中(VM環境或本地環境)輸入http://[VM_IP]:8080可轉到以下登陸界面,其中[VM_IP]替換爲控制器IP。登陸用戶名:admin,密碼:admin,登陸進入ODL的Web界面查看並可對ODL操做。測試

odl-mini-01-login

3 Mininet獲取安裝

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

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

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
$ sudo make install

將編譯好的庫packet-openflow.so放入wireshark插件目錄,命令以下:

$ scp  packet-openflow.so  /usr/lib/x86_64-linux-gnu/wireshark/plugins/2.2.6/

查看目錄/usr/lib/wireshark/libwireshark1/plugins/的文件,含有packet-openflow.so文件。

在root用戶權限下執行命令,打開wireshark:

$ wireshark &

進入wireshark界面,在Help菜單下的「About Wireshark」中查看插件裏是否有packet-openflow,下圖表示插件添加成功。

odl-mini-01-packetOFsoSucc

在Filter中輸入of可被識別(注:綠色表示輸入正確),便可支持OpenFlow協議!

odl-mini-01-OFfilter

因爲SDN的快速發展,wireshark官網更新的wireshark已有專門的版本(Stable Release (1.12.1)版本)支持OpenFlow協議,且支持of協議的多個版本,包括of1.0、1.一、1.二、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以下圖所示。

odl-mini-01-putty x11

5 總結

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

 

  • 本站原創文章僅表明做者觀點,不表明SDNLAB立場。全部原創內容版權均屬SDNLAB,歡迎你們轉發分享。但未經受權,嚴禁任何媒體(平面媒體、網絡媒體、自媒體等)以及微信公衆號複製、轉載、摘編或以其餘方式進行使用,轉載須註明來自 SDNLAB並附上本文連接。
  • 本文連接https://www.sdnlab.com/1749.html
相關文章
相關標籤/搜索