OpenDaylight動作編22015.6.26TweetOpenDaylightをさらに活用しよう!前回はOpenDaylightのインストールに始まり、Mininetで作成した仮想ネットワークをトポロジ表示させるところまで実施しました。vSwitchで作成した仮想ブリッジに複数のホストを接続し、OpenDaylightが正常にネットワーク構成をトポロジ表示するか確認します。vSwitchにフローを書き込むところまで紹介したいと思います。SDNHubをインストールしてみよう!今回はSDNHubが提供しているOpenDaylightをインストールして使用します。SDNHubとは、SDN開発者向けにチュートリアルやイベントを提供する団体です。このSDNHubのOpenDaylightにラーニングスイッチのコードが含まれており、これを使用していきます。Kitのバージョン1.8(以下JDK1.8)と、ソースをビルドするためのApacheMaven3(以下Maven3)がそれぞれ必要となります。準備に少し手順を要しますが、一つ一つ確認していきましょう。(ver4.3.26)●JDK1.8のインストール既にインストールされているJavaのバージョンを確認し、1.8.0以前のバージョンであれば、JDKのバージョンを確認した上で削除をします。openjdk-7-jre-headless新規にリポジトリを追加し、アップデートを行います。updateJDK8をインストールします。途中でライセンスやパッケージの設定に関するウィンドウが複数表示されますが、了承して進んで下さい。oracle-java8-installerインストールが完了したら、JDK8をデフォルトに設定しましょう。oracle-java8-set-defaultJavaのバージョンが1.8.0であることを確認できれば、インストールは完了です。-version●Maven3のインストールMaven3のインストールに先立ち、依存関係を解決しながらdebパッケージをインストールするためのツールであるGdebiをインストールします。gdebiMaven3のソースコードをダウンロードします。http://ppa.Launchpad.net/natecarlson/maven3/ubuntu/pool/main/m/maven3/maven3_3.2.1-0~ppa1_all.debGdebiコマンドを使用し、maven3_3.2.1-0~ppa1_all.debを実行します。maven3_3.2.1-0~ppa1_all.debディレクトリが作成されていることを確認し、シンボリックリンクを張ります。/usr/bin/mavenMavenのバージョンが3.2.1であれば、インストールは無事完了しています。ここまででSDNHubをインストールする準備ができました。--version●SDNHubのインストールZipで圧縮されたSDNHubのソースコードをダウンロードし、完了後にホームディレクトリにZipファイル(master.zip)が保存されていることを確認します。lsZipファイルを解凍し、完了後にディレクトリ(SDNHub_Opendaylight_Tutorial-master)が作成されていることを確認します。lsディレクトリをSDNHub_Opendaylight_Tutorial-masterへ移動し、mavenを使ってインストールを行います。installディレクトリをdistribution/opendaylight-karaf/target/assemblyに移動し、SDNHubを起動させます。下図の様に"SDNHub"が出力されれば起動成功です。./bin/karafブラウザからログインしてトポロジ画面を確認するために、必要なFeatureをインストールしましょう。odl-dlux-allプロンプトが返ってきても、内部で処理を行っており、すぐにはトポロジ画面が表示できるようになりません(5~10分かかりました)。その間にネットワークの設定をしていきましょう。Pi)を接続する前回接続したMininetにはOpenFlow環境を再現する機能があり、そのデフォルトとしてOpenFlowスイッチが1つ、仮想ホストが2つそれぞれ用意されていました。Piを、ホストには別PCを2台準備し、物理的な構成を作成しています。vSwitchをOpenDaylightに接続させるところから始めていきましょう。メインPC(VirtualBoxを起動するPC)の無線LANを切断し、他ネットワークから隔離しておきます(今回の環境では無線LANから切断をしておかないとホスト間のping送受信ができませんでした)。ファイアウォールも無効にします。Piもこのタイミングで起動させておきましょう。vSwitchと同様のネットワークに設定し、下図の様にVirtualBoxの「ネットワーク」の「割り当て(A)」をブリッジアダプターに設定した上で、Ubuntuを起動します。各ネットワークの環境を確認しましょう。今回は以下の様にIPアドレスが割り振られたことを前提として進めていきます。vSwitchをOpenDaylightに接続していきます。Pi内にbr1という名前のブリッジが作成されていることを確認します。list-brブリッジ内に、ホストと接続するためのeth1とeth2が所属していることを確認します。br1br1にOpenFlowコントローラのIPを認識させます。tcp:192.168.137.8OpenDaylightのブラウザ用GUIでトポロジを確認してみましょう。SDNHubとしてOpenDaylightを使用すると、前回ご紹介したアクセス先とはURLが異なることにご留意下さい。vSwitchを認識し、トポロジ表示していることが分かります。vSwitchに2つのPCをHost1、Host2として追加接続し、OpenDaylight上でトポロジ表示できるか検証していきましょう。2つのPC上でも無線LANを切断し、他ネットワークから隔離します。ファイアウォールを無効にしpingが送受信出来る状態にしておきます。HostとなるPCにIPアドレスを設定します。ここでは以下の様に設定しました。この状態でHost1、Host2の間でpingによる疎通を試みても、OpenFlowコントローラ不在のため失敗となります。そのために以下Featureをインストールして、ラーニングスイッチとして動作するようにしてみましょう。sdnhub-tutorial-learning-switchインストールするとフローが設定され、両ホスト間はpingによる疎通確認が出来るようになります。この状態で、OpenDaylightのトポロジを確認してみましょう。(トポロジを更新するために「Reload」を押します)Host1、Host2の間のping疎通を以てOpenDaylightが両者の存在を認識し、トポロジ上で追加表示しているのが確認できました。vSwitch上に書き込まれたフローを見てみましょう。Host1とHost2が互いに通信できるためのフローが登録されていることが確認できました。(2番目と3番目のフロー)ちなみに1番目のフローはSDNHubの別機能により登録されたフローであり今回は関係していません。br1おわりに今回はトポロジの表示に加え、OpenDaylightをOpenFlowコントローラとして使用できることを検証できました。OpenDaylightの新バージョンとなる「Lithium」のリリースが目前に迫っています(2015年6月予定)。どの様な機能が追加されるのか、このエンジニアブログでも皆さんにご紹介できればと思います。今回も最後までお付き合いを頂き、ありがとうございました。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「責任感だけで仕事をしていた・・・。