[NS 3]Openflow Modleインストール
5448 ワード
一般的に直接NS 3公式サイトにダウンロードしてインストールするNS 3はopenflowモジュールを持っていないので、自分でインストールする必要があります.今、プロセスを書きます.
公式サイトには英語のインストールプロセスがあります.以下のようにします.http://www.nsnam.org/docs/release/3.17/models/html/openflow-switch.html
私がやったのはUbuntu 13.04とns-3.17の環境下です.
インストール手順は次のとおりです.
一.OFSIDコードを取得します.mercurialを使用してディレクトリにダウンロードしてコンパイルします.
PS:次のインストールプロセスでエラーが発生しないように、「ns-allinone-3.17/ns-3.17/」ディレクトリにインストールし、次回の検索を避けたほうがいいです.結局、彼はns-3.17のモジュールにすぎません.
次のように表示されます.
二.Openflowディレクトリで、次のように実行します.
次のように表示されます.
三.OFSIDは現在libopenflowに建設されています.aライブラリ、OpenFlow switch moduleをns-3 bulidにリンクするには、ns-3.17で実行する必要があります.
使用中にエラーが発生するのでopenflowのディレクトリを詳しく書く必要があります
このうちenable-sudoは、Usesudo to set suid bitを
enable -
--enable-mpiはMPI Supportを
enable
--with-openflowはNS-3 OpenFlow Integrationを
enable
結果は次のとおりです.
上記は、ライブラリがns-3にリンクされていることを示しています.
四.ns-3を構築し、ns-3のOpenflowSwitchモジュールをトリガーして実行します.
次のように表示されます.
ns-3のOpenflowモジュールがインストールされていることがわかります(前編Blogと比較).
五.簡単な例でその使い方を証明します.
あるいは、次のコマンドで詳細な記録を見ることもできます.
六.もちろん、テストコンポーネントのテストにも合格できます.
公式サイトには英語のインストールプロセスがあります.以下のようにします.http://www.nsnam.org/docs/release/3.17/models/html/openflow-switch.html
私がやったのはUbuntu 13.04とns-3.17の環境下です.
インストール手順は次のとおりです.
一.OFSIDコードを取得します.mercurialを使用してディレクトリにダウンロードしてコンパイルします.
PS:次のインストールプロセスでエラーが発生しないように、「ns-allinone-3.17/ns-3.17/」ディレクトリにインストールし、次回の検索を避けたほうがいいです.結局、彼はns-3.17のモジュールにすぎません.
$ hg clone http://code.nsnam.org/openflow
$ cd openflow
次のように表示されます.
二.Openflowディレクトリで、次のように実行します.
$ ./waf configure
$ ./waf build
次のように表示されます.
Waf: Entering directory `/home/roger/openflow/build'
[ 1/58] cc: lib/command-line.c -> build/default/lib/command-line_1.o
[ 2/58] cc: lib/csum.c -> build/default/lib/csum_1.o
[ 4/58] cc: lib/dhcp.c -> build/default/lib/dhcp_1.o
[ 3/58] cc: lib/daemon.c -> build/default/lib/daemon_1.o
[ 5/58] cc: lib/dhcp-client.c -> build/default/lib/dhcp-client_1.o
。。。。
[56/58] cc: switch/table-hash.c -> build/default/switch/table-hash_1.o
[57/58] cc: switch/table-linear.c -> build/default/switch/table-linear_1.o
[58/58] static_link: build/default/lib/command-line_1.o build/default/lib/。。。。。。
Waf: Leaving directory `/home/roger/openflow/build'
'build' finished successfully (4.114s)
三.OFSIDは現在libopenflowに建設されています.aライブラリ、OpenFlow switch moduleをns-3 bulidにリンクするには、ns-3.17で実行する必要があります.
$ ./waf configure --enable-examples --enable-tests --enable-mpi --with-openflow=/home/roger/ns-allinone-3.17/ns-3.17/openflow
PS:ここの公式サイトは:./waf configure --enable-examples --enable-tests --with-openflow=path/to/openflow 使用中にエラーが発生するのでopenflowのディレクトリを詳しく書く必要があります
このうちenable-sudoは、Usesudo to set suid bitを
enable -
--enable-mpiはMPI Supportを
enable
--with-openflowはNS-3 OpenFlow Integrationを
enable
結果は次のとおりです.
上記は、ライブラリがns-3にリンクされていることを示しています.
四.ns-3を構築し、ns-3のOpenflowSwitchモジュールをトリガーして実行します.
$ ./waf build
次のように表示されます.
。。。
[2101/2103] cxx: src/tap-bridge/model/tap-creator.cc -> build/src/tap-bridge/model/tap-creator.cc.4.o
[2102/2103] cxx: src/tap-bridge/model/tap-encode-decode.cc -> build/src/tap-bridge/model/tap-encode-decode.cc.4.o
[2103/2103] cxxprogram: build/src/tap-bridge/model/tap-creator.cc.4.o build/src/tap-bridge/model/tap-encode-decode.cc.4.o -> build/src/tap-bridge/ns3.17-tap-creator-debug
Waf: Leaving directory `/home/roger/ns-allinone-3.17/ns-3.17/build'
'build' finished successfully (20m52.990s)
Modules built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr emu
energy fd-net-device flow-monitor
internet lte mesh
mobility mpi netanim (no Python)
network nix-vector-routing olsr
openflow (no Python) point-to-point point-to-point-layout
propagation spectrum stats
tap-bridge test (no Python) tools
topology-read uan virtual-net-device
visualizer wifi wimax
Modules not built (see ns-3 tutorial for explanation):
brite click
ns-3のOpenflowモジュールがインストールされていることがわかります(前編Blogと比較).
五.簡単な例でその使い方を証明します.
$ ./waf --run openflow-switch
あるいは、次のコマンドで詳細な記録を見ることもできます.
$ ./waf --run "openflow-switch -v"
は次のように表示されます.(私が使用しているのは前者です)六.もちろん、テストコンポーネントのテストにも合格できます.
$ ./test.py --suite=openflow