2014年2月18日火曜日

SDN Conference 2014 行ってきました

今日はSDNカンファレンスに行ってきました。

テレビ朝日のSDN導入事例や、IBM、マクニカ、NEC、ブロケードなどのベンダーの製品情報などが聞けました。

初めはテレビ朝日の導入事例で、EX THEATERやEX TOWERにSDNを使っているというお話。
こちらはNECのSDN製品を使用したようです。

つないだ機器のMACアドレスで認証し、適切なネットワークに接続する技術が使われいるみたいです。
その他にもネットワークのレイヤー管理など。

他のベンダーは、大体は製品紹介が主でした。
前から言われている事だと思いますが、サーバの仮想化が進んだものの、ネットワークが足かせになっている。
それをどうにかする製品を用意した、といった感じです。
他には大体どの製品も以下の共通点があるようです。

・主なターゲットはデータセンターやクラウド
・GUIでネットワークの設定ができること
・OpenStackなどのオーケストレーターとの連携ができる

NECはデータセンターと、テレビ朝日のようなオフィスLANへの導入が半々ぐらいと聞きました。
いずれにしても、サーバやスイッチの数が数十、数百といった規模でないと、メリットが受けられない可能性があるようです。

あと、今の課題としてはエンジニア不足や監視や管理の方法が不十分、トラブルの原因特定方法、この技術が続くかが不確定といった事があるそうです。

2014年2月17日月曜日

OpenFlow Mininetで別サーバのコントローラに接続する

今回もMininetとTremaを使います。

今回はMininetを動かしているゲストOSとは別のゲストOSで起動しているTrema(コントローラ)に接続してみます。
前に掲載した「Openflow MininetのコントローラをTremaにしてみる その2」と「VirtualBoxのゲストOS同士で通信する」の組み合わせです。

ゲストOS #1
・Trema(コントローラ)を動かしているゲストOS
・IPアドレスは192.168.56.10

ゲストOS #2
・Mininetを動かしているゲストOS
・IPアドレスは192.168.56.20

まずはゲストOS #1でTremaを起動します。
コントローラのプログラムは、例によってhello-tremaです。

trema run hello-trema.rb

次にゲストOS #2でMininetを起動します。
以前と違うのは、コントローラが起動しているサーバのIPを指定することです。

sudo mn --controller remote,ip=192.168.56.10,port=6653

Mininetを起動するとゲストOS #1のTremaを起動した画面に以下のようなメッセージが表示されました。

$ trema run hello-trema.rb
Hello 0x1!

今後は、この環境を使っていろいろ試してみたいと思います。

2014年2月15日土曜日

VirtualBoxのゲストOS同士で通信する

今回はVirtualBoxの中のゲストOS同士で通信をします。

VirtualBoxのバージョンは4.3.6です。

1.VirtualBoxの設定

ホストOS側の仮想環境とのインターフェイスの設定をします。
メニューから、ファイル>環境設定で設定画面を開きます。

ネットワークをクリックし、ホストオンリーネットワークのタブを開きます。
「VirtualBox Host-Only Ethernet Adapter」をダブルクリック(もしくは選択して画面右側にあるドライバーのアイコンをクリック)します。


IPV4アドレスを入力します。
今回はデフォルト値(192.168.56.1)を使います。


次にゲストOSのネットワーク設定を行います。

メイン画面で、変更するゲストOSをクリックし、上部の「設定」アイコンをクリックします。

設定画面左側のネットワークをクリックします。
続いて画面右側のアダプタータブで設定を変更します。


【アダプター1のタブ】
 ・「ネットワークアダプターを有効化」にチェック入れます。
 ・割り当ては「NAT」を選択します

【アダプター2のタブ】
 ・「ネットワークアダプターを有効化」にチェック入れます
 ・割り当ては「ホストオンリーアダプター」を選択します
 ・名前は「VirtualBox Host-Only Ethernet Adapter」を選択します

アダプター1はインターネットなどができるように、NATにしておきます。
ホストOSからゲストOSにsshでログインできるように、アダプター2はホストオンリーアダプターにします。
ホストオンリーアダプターでもゲストOS同士の通信ができるようです。

今回使用するゲストOS(ゲストOS #1、ゲストOS #2とします)に同じ設定をします。


2.ゲストOSのネットワーク設定

ゲストOSを起動し、固定IPアドレスを変更します。
今回は以下のように設定します。

【ゲストOS #1】
 eth0 IPアドレス:DHCP
 eth1 IPアドレス:192.168.56.10

【ゲストOS #2】
 eth0 IPアドレス:DHCP
 eth1 IPアドレス:192.168.56.20

変更をする前に、ifconfigコマンドで変更前の情報を表示しておくと良いと思います。

vi等で設定ファイルを書き換えます。ゲストOS #1の場合は以下のようにします。

設定ファイル:/etc/network/interfaces

auto eth0
iface eth0 dhcp

auto eth1
iface eth1 inet static
address 192.168.56.10
netmask 255.255.255.0

↓この設定は残しておきます。

auto lo
iface lo inet loopback

設定を変更したら、有効にするためインターフェースの再起動をします。
再起動しても変わらなかったり、画面がちゃんと表示されなくなるようだったらOSを再起動した方がよさそうです。

sudo service networking restart

もしくは

sudo /etc/init.d/networking restart

ゲストOS #2も同様に(IPはゲストOS #2にIPで)設定します。


3.通信してみる

ゲストOS #1からpingを3回送ります。

ping -c3 192.168.56.10

$ ping -c3 192.168.56.20
PING 192.168.56.20 (192.168.56.20) 56(84) bytes of data.
64 bytes from 192.168.56.20: icmp_seq=1 ttl=64 time=0.395 ms
64 bytes from 192.168.56.20: icmp_seq=2 ttl=64 time=0.764 ms
64 bytes from 192.168.56.20: icmp_seq=3 ttl=64 time=0.775 ms

--- 192.168.56.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.395/0.644/0.775/0.179 ms

ゲストOS #2からpingを送ります。

ping -c3 192.168.56.20

$ ping -c3 192.168.56.10
PING 192.168.56.10 (192.168.56.10) 56(84) bytes of data.
64 bytes from 192.168.56.10: icmp_req=1 ttl=64 time=0.335 ms
64 bytes from 192.168.56.10: icmp_req=2 ttl=64 time=1.05 ms
64 bytes from 192.168.56.10: icmp_req=3 ttl=64 time=0.844 ms

--- 192.168.56.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.335/0.746/1.059/0.303 ms

ゲストOS同士で通信出来ました。
後はホストOSからゲストOSにログインしてみます。

teratermなどでゲストOSのeth1に設定したIPアドレスで接続して、ログインできればOKです。

今回は以上になります。

2014年2月12日水曜日

Openflow MininetのコントローラをTremaにしてみる その2

以前「Openflow MininetのコントローラをTremaにしてみる」の中で一部うまくいかなかった所が解決しました。

内容は、Mininetで使用するコントローラをTremaにしてみましたが、vmwareに作ったUbuntu13.10、Trema0.4.6では接続できなかった件です。

原因はTremaの待ち受けポートが6633から6653に変わっていたためです。
以下のリンクからその事がわかりました。

https://github.com/trema/trema/commit/0699ffd3a73f56e810096a9ce3c5ea9781596783
http://trema.hatenablog.jp/entry/20120312/1331548450

うまく動いた環境のTremaは、バージョンが少し古く、まだポート番号が6633だったのでしょう。

以下ではMininet側の接続ポートを6653にして試してみます。
前回同様、端末を2つ用意し、まずはTremaを起動します。

trema run hello-trema.rb

続いてMininetを起動します。
今回は「port=6653」を追加します。

sudo mn --controller remote,port=6653

Mininetが起動するとTremaを起動した端末に以下のメッセージが表示されました。

$ trema run hello-trema.rb
Hello 0x1!

コントローラのプログラムがhello-tremaなので通信は出来ませんが、Mininetのスイッチと接続出来ました!

2014年2月7日金曜日

気になるSDN関連ニュース OpenDaylightを使った新製品

IBMからSDNの新製品である「IBM SDN VE OpenFlow Edition」と「IBM SDN VE KVM Edition」が発表されました。

 「SDN VE OpenFlow Edition」はOpenDaylightをベースにした初の商品という事です。
OpenDaylightは先日書きましたが、2月4日にリリースされたばかりですね。
この商品はOpenFlow1.0に準拠した仮想、物理スイッチを管理できるようです。

「IBM SDN VE KVM Edition」はKVMの仮想環境でのオーバーレイネットワークの構築や、VMwareと混在したネットワークの構築、管理が可能という事です。

◆報道資料
http://www-06.ibm.com/jp/press/2014/02/0501.html

◆関連トピック
http://itpro.nikkeibp.co.jp/article/NEWS/20140205/534922/?ST=openflow
http://cloud.watch.impress.co.jp/docs/news/20140206_634108.html
http://enterprisezine.jp/article/detail/5581

◆OpenDaylightについてはこちら
http://www.opendaylight.org/

2014年2月6日木曜日

SDN OpenDaylightリリース

当初2013年12月に最初のリリースされる予定だったOpenDaylightですが、米国時間の2月4日にとうとうリリースされました。
そういえばリリースされてなかったですね、忘れていました。

OpenDaylightと言えばSDNのオープンソースのプロジェクトで、多数の企業がそのプロジェクトに参加しています。

今回のリリースされたのは「Hydrogen」と言うらしいです。
個人でダウンロードして試す事も出来るようです。

コチラからダウンロードできます。
http://www.opendaylight.org/software/downloads

◆OpenDaylightプロジェクト
http://www.opendaylight.org/

◆関連ニュース
http://www.atmarkit.co.jp/ait/articles/1402/05/news050.html
http://sourceforge.jp/magazine/14/02/06/144500
http://news.mynavi.jp/news/2014/02/05/304/
http://www.publickey1.jp/blog/14/sdnopendaylighthydrogen.html

2014年2月5日水曜日

Openflow MininetのコントローラをTremaにしてみる

今回はMininetのコントローラにTremaを使ってみます。

まずTremaを起動します。
今回は試しにhello_trema.rbで。

trema run ./hello-trema.rb

次に、別の端末でMininetを起動します。

sudo mn --controller remote

Mininetを起動するとTremaを起動した端末にメッセージが表示されます

$ trema run ./hello-trema.rb
hello 0x1!

Mininetが起動したら、pingを投げてみます。

h1 ping -c2 h2

hello-tremaはパケットを処理する機能が実装されていないので、当然pingは通りません。
しかし、コントローラがTremaになったことは確認できました。
ここまではVirtualBoxに作ったUbuntu12.04、Tremaのバージョン0.3.20の話。

vmwareに作ったUbuntu13.10、Trema0.4.6では上手くいきませんでした。

何かわかったらまたお知らせします。