2014年3月13日木曜日

OpenFlow Mininetのトポロジーをカスタマイズしてみる4

前回の続きで、別のゲストOS上で動いているOpenFlowコントローラに接続してみます。

まずは環境の説明です。

OpenFlowコントローラを動かすゲストOSをサーバ1とします。
IPアドレスは「192.168.56.10」です。

Mininetを動かすゲストOSをサーバ2とします。
IPアドレスは「192.168.56.20」とします。

まずはサーバ1でOpenFlowコントローラを起動します。
起動するプログラムは、ここではTremaのサンプルプログラムから「repeater_hub」を使用します。

まずは以下のコマンドでコントローラを起動します。

trema run ./repeater-hub.rb

サンプルプログラムをログインディレクトリ等にコピーしてから実行したほうが良いかもしれません。

実行すると以下のように表示されます。

$ trema run repeater-hub.rb


次にサーバ2でMininetを実行します。

sudo python ./topo_test.py

実行したら確認してみます。

~$ sudo python ./topo_test.py
mininet> net
h1 h1-eth0:s1-eth1
h2 h2-eth0:s1-eth2
s1 lo:  s1-eth1:h1-eth0 s1-eth2:h2-eth0
c1
mininet> dump
<Host h1: h1-eth0:192.168.100.1 pid=1852>
<Host h2: h2-eth0:192.168.100.2 pid=1853>
<OVSSwitch s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None pid=1845>
<RemoteController c1: 192.168.56.10:6653 pid=1838>
mininet> ping all
*** Unknown command: ping all
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2
h2 -> h1
*** Results: 0% dropped (2/2 received)
mininet>
mininet> h1 ping -c3 h2
PING 192.168.100.2 (192.168.100.2) 56(84) bytes of data.
64 bytes from 192.168.100.2: icmp_req=1 ttl=64 time=3.22 ms
64 bytes from 192.168.100.2: icmp_req=2 ttl=64 time=0.093 ms
64 bytes from 192.168.100.2: icmp_req=3 ttl=64 time=0.109 ms

--- 192.168.100.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.093/1.143/3.229/1.475 ms
mininet>
mininet> h2 ping -c3 h1
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_req=1 ttl=64 time=0.672 ms
64 bytes from 192.168.100.1: icmp_req=2 ttl=64 time=0.106 ms
64 bytes from 192.168.100.1: icmp_req=3 ttl=64 time=0.089 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.089/0.289/0.672/0.270 ms
mininet> exit

コントローラと接続できて、仮想ホスト1(h1)と仮想ホスト2(h2)で通信ができました。

今回は以上になります。

0 件のコメント:

コメントを投稿