Floodlightいつも読んで頂いている皆さんに支えられ、このSDNチャレンジも20回目を迎えることができました。Networks社により開発されたFloodlightをご紹介していきたいと思います。詳細に移る前に、これまでに扱ったOpenFlowコントローラの種類も増えてきましたので、簡単な表を作成してみました。して見ると、OpenFlowコントローラは各主要なプログラミング言語をカバーしているのがお分かり頂けると思います。その中でFloodlightは、OpenDaylightと同様に言語として最も一般的なJavaで記述されています。そのため抵抗なく始められるエンジニアも多く、また開発環境としてEclipseを使用する点で、他言語のコントローラより秀でています(※)。その他の特徴としては、以下といったところでしょうか。1.4に対応Floodlightは2012年1月にオープンソースとして公開されて以降、他のOpenFlowコントローラと同様にユーザコミュニティを軸とした開発が進められてきました。Javaを採用している点や、OpenFlowのバージョンにも幅広く対応している事などから、より多くのエンジニアを巻き込み開発や普及活動が進められている様です。それではFloodlightをインストールし、実際に動作を確認していきましょう!(※)FloodlightとEclipse・・・Eclipseとは、IBMが開発し現在はオープンソースとなっている統合開発環境(IDE)の事であり、複数のソフトウェアを使用する事なく、ソースコードの記述やコンパイル、デバッグ等を一括で実現します。プラグインにより、RubyやPythonも含む主要なプログラミング言語での開発も可能となっていますが、Eclipse自体がJavaで開発された経緯もあり、Javaによる開発に特に優れている環境として重宝されています。これまでJavaに精通してきたエンジニアがOpenFlowコントローラの研究開発を始める際、普段から慣れ親しんだEclipseを開発環境として使用できるという点も、Floodlightを選択する1つのメリットと言えそうですね。Floodlightをインストールしようまずは環境のご確認をお願いします。Guideがありますので、そちらを参考にしてインストールを進めます。システム内パッケージリストの更新、およびFloodlightをインストール/動作させるために必要となる以下パッケージのインストールを行いましょう。python-dev各インストールが正常に完了しているか、確認しておきましょう。python-devFloodlightのソースコードはGitから簡単にインストールできます。git://github.com/floodlight/floodlight.gitダウンロードしたソースコードを確認してみましょう。lsカレントディレクトリを確認した上で、Antでビルドします。antFloodlightを置く/var/lib/floodlightディレクトリを新規に作成し、全ユーザーにあらゆる権限を付与する様設定します。/var/lib/floodlight/var/lib/floodlightディレクトリの内容を確認してみましょう。floodlightさあ、これでインストールが完了しました。想像よりも簡単だったのではないでしょうか?それでは、他のOpenFlowコントローラ同様に動作確認をしていきましょう。FloodlightをMininetに接続しようまずは起動したFloodlightとMininetを接続させてみましょう。構成は以下図の通りで、PC1台で仮想的にスイッチとホストを作成しています。OpenDaylight動作編1にてご紹介しておりますので、参考になさって下さい。UbuntuのIPアドレスを確認し、まだ割り当てられていない状態でしたら、設定をします。192.168.137.8antコマンドによりfloodlight.jarファイルが生成されています。ディレクトリを移動した上でFloodlightを起動させてみましょう。下図の様に、デバッグアウトプットが出力されるはずです。target/floodlight.jar新しい端末上でMininetをFloodlightに接続し、pingallコマンドで疎通確認を行います。pingall結果は成功!Mininet内の全ホストとの接続性を確認することができました。Pi2)に接続しよう今度はスイッチとホストを物理的に準備し、接続してみます。vSwitchをインストールをご参照頂ければと思います。1」の割当てをブリッジアダプターにすることをお忘れなく!)まずは、Floodlightを起動させましょう。手順は上記Mininetの場合と同様です。vSwitchをFloodlightに接続します。tcp:192.168.137.8:6653ポート番号6653が開いていることが確認できます。vSwitchにフローが登録されていません。br1では、Host1とHost2の間でpingによる疎通確認を行った上で、再度フローを確認してみましょう。br1こちらも成功!これまで扱ってきたコントローラと同様に、Floodlightも様々な動作をさせていけそうです。Projectが正式に公開しているドキュメントの信頼性も高かった(最初から最後まで、マニュアルに従う事でインストールが完了しました)点が特に印象に残りました。後者は、より幅広い層が開発や普及に携わっていることの裏付けかもしれませんね。皆さんはどう感じられたでしょうか?今後はEclipse上でのFloodlight開発にも挑戦できればと考えています。この記事の前半でも触れましたが、Eclipseはプラグインを追加することでJava以外のプログラミング言語を追加できる「開発の共通プラットフォーム」です。TremaやOpenDaylight等、多様なOpenFlowコントローラをEclipse上で扱ってみて、言語毎に比較をしてみるのも面白そうですね。今回も最後までお付き合いを頂き、ありがとうございました。9新年あけましておめでとうございます。3何故、それが読まれたか~上半期・エンジニアブログ閲覧数ランキング~2013.6.12「何」を知っているかではなく、「誰」が知っているか2013.5.28戦後、人間尊重の信念を貫きとおした1人の経営者がいた!2013.5.24健康な心が、健康な会社を作る。2iPhone5発売!LTE普及には切実な背景が...2012.9.12「だれを選ぶか」をまず決めて、その後に「何をすべきか」を決める。2012.8.17会社を回すのに大事な3つの感覚。7プロジェクトはたいてい失敗に終わるんです。6月刊『ニュートップリーダー』に記事掲載&"想いを語る夕べ"体験会やります!2012.1.31【第4回】想いを語る夕べ~フォロー編~2012.1.23タニタの社員食堂は"トップの想い"から生まれた!?2012.1.13【第3回】想いを語る夕べ~実施編~2011.12.27オフィスで簡単エクササイズ!2011.12.13【第2回】想いを語る夕べ~準備編~2011.11.24【第1回】想いを語る夕べ~誕生編~2011.11.17「責任感だけで仕事をしていた・・・。