イントロダクション「OpenDaylightとは何か?」

2016年3月3日(木)
倉橋 良鳥居 隆史

近頃、「OpenDaylight」という単語の露出が日本のメディアでも増えてきています。何かしらの製品のベースとして使わるようにもなってきました。ですがその一方で、OpenDaylightを技術的にわかりやすく解説したドキュメントがなく、インストールしてもどう使うかわからない! と困っている方もいると思います。 沖縄オープンラボラトリ(http://www.okinawaopenlabs.org/) では約2年前から実際にOpenDaylightをさわって、いくつかのシステム検証を行ってきています。本連載では、現場でOpenDaylightをいじり倒してきたメンバーが、OpenDaylightの簡単な始め方についてわかりやすく伝授します。

SDN(Software-Defined Networking)を知っている方は多くなってきたと思います。各ベンダーからはVMware NSX、NEC ProgrammableFlow、Juniper ContrailのようなSDN技術/製品が提案、販売されています。ですが「OpenDaylight」となると、名前を聞いたことがある、というくらいではないでしょうか? 日本では、そこそこSDNを知っていたり、OpenFlowに詳しい業界の方であっても、「OpenDaylightは難しい」「よくわからない」「まだまともには動かないらしい」という情報が出回っているように思えます。

一方、海外での反応はというと、OpenDaylightはすでに「成功を約束されたオープンソース」と言われています。それはOpenDaylightがコミュニティとして大きくなってきていること、ベンダーニュートラルに運営されガバナンスもされていること、コードが改善されてきており商用でも使えるレベルに達していること、などが要因として挙げられます。ところが国内では日本語の情報が少ないためか、なかなか広まらないのが現状です。ベンダーが集まって開発しているため、ベンダー主導で、オープンなコミュニティではないのでは? という見方もあるようです。ベンダーの人が開発しているのは正しいのですが、コミュニティはオープンに運営されています。特定のベンダーが牛耳っていたり、方向性を決めているということはありません。

ところで、オープンソースのSDNコントローラやOpenFlowコントローラというと、古くはNOXやFloodlight、国内ではTremaやRyu、最近ではONOS、商用からオープンソースにしたMidoNetなど、いろいろあります。その中でOpenDaylightはどう位置付けられるのか、ほかのツールとどこが違うのか、という疑問がでてくるでしょう。これを知るためにまずOpenDaylightが生まれた時期を振り返ってみましょう。

OpenDaylightプロジェクトは2013年4月にLinux Foundationによって発足しました。この前年、NiciraがVMwareに買収されています(2012年7月)。CiscoはCisco ONEというコンセプトでSDNの取り組みを強化していました。OpenFlowからSDNへ、スタートアップから大手へと流れが出てきた時期でした。ベンダー各社は、SDN、OpenFlowという技術をどうマーケットに出していき、顧客をつかんでいくか、を真剣に考え始めました。そこで重要なのは、ユースケースであり、アプリケーション・システムとどう連携をして価値を生み出すかでした(これは今も変わりませんが)。そのために各社の共通部分、例えばOpenFlowコントローラは各社が別々に開発をするのではなく、非競争領域として共通的なものをつくり、そのうえでのアプリケーションやAPIの使い方で各社が競争をしよう、という考え方が出てきました。もちろんオープンソースのOpenFlowコントローラは当時からありました。ですが、より汎用的で、各社が使いやすいものが必要とされました。OpenFlowだけでは装置の設定(Configuration)はやりきれません。ポートの設定やVLANの設定が必要な場合もあります。BGP(Border Gateway Protocol)などのルーティングプロトコルの設定も必要です。それらを網羅できるもの、つまりプラットフォームを作ろう、という目的でOpenDaylightプロジェクトが始まりました。OpenDaylightはSDNコントローラではなくプラットフォームだ、と言っているのはそういう背景からです。

このように、OpenDaylightはそもそもベンダーが商用として使うことを目的として開発されています。オープンソースというと、実験的なものであったり、ソフトウェア開発者が企業の枠を超えて作りたいものを作るというイメージがありますので、OpenDaylightは少し毛色が違うように見えるかもしれません。ですが、ベンダーが注力をしてきたからこそ、短期間で様々な機能を実装し、安定化も進んできています。ベンダー主導をネガティブに捉えるのではなく、SDNを実現する選択肢の一つとして評価・検討していくべきだろうと思います。

本連載では、OpenDaylightを使ってみることにフォーカスをし、まずはOpenStackとの組み合わせで実際にどう動かすかを解説します。OpenDaylightはプラットフォームなので、ただダウンロードして起動すれば動くというものではありません。システムの中に組み入れて、初めて動かすことができます。現時点では、それを一番簡単に試すことができるのが、OpenStackとの組み合わせです。しかもOpenStackにはDevStackというツールが用意されており、それを使えばダウンロードからインストールまでを自動で行ってくれます。次回からOpenStack+OpenDaylightの構築について詳しく説明をします。ご期待ください。

それに先立ち、本記事ではまずOpenDaylightについての基本的な情報をお伝えします。

OpenDaylightって何?

すでに触れたように、OpenDaylightプロジェクトは2013年4月にLinux Foundationによって発足しました。主要ネットワーク関連ベンダーが開発に参加しており、2014年2月に最初のバージョンであるHydrogenがリリースされました。OpenDaylightの各バージョンの名前は化学元素名が使われており、Hydrogenは元素番号1番目の「水素」を意味します。つい先日(2016年2月22日)に最新バージョンであるBerylliumがリリースされました。

次のグラフは主要な貢献者数とコミット数を他のSDNコントローラと比較したものです。これを見ると、全体の半分以上をOpenDaylightが占めており、SDNコントローラの中でも特に高い注目や期待をされていることが分かります。コミュニティも活発であり、2015年7月27日~31日にOpenDaylight Summitがアメリカのサンタクララで開催されました。Keynoteでは各社のOpenDaylightに対する取り組みやOpenDaylightのExecutive DirectorであるNeela Jacques氏によるOpenDaylightの成長、NFV領域への積極的な参画といった紹介がありました。

OpenDaylightの規模の大きさが伺える
各社のODLベースのSDNコントローラ

OpenDaylightには地域ごとにユーザーグループと呼ばれるコミュニティが結成されています。日本でも「OpenDaylight Tokyo User Group」の名称で定期的にハンズオンなどが開催され、積極的に活動しています。(http://www.meetup.com/OpenDaylight-Tokyo-User-Group/)

OpenDaylightの特徴

OpenDaylightは様々なSouthbound Protocol(OpenFlow、NETCONF、BGPなど)をサポートしています。そのため、レガシーネットワーク、オーバーレイネットワーク、OpenFlowネットワークといった、様々なネットワークを一元的に管理、制御することが可能になります。また、豊富なアプリケーションも備えており、OpenFlowを使ったHop-by-Hopにおけるマルチテナントのネットワークを作成するVTN(Virtual Tenant Network)、SNMPを使って機器を管理・制御するSNMP4SDNやNFVを実現するためのSFC(Service Function Chaining)などがあります。

OpenDaylight(Beryllium)ブロックダイアグラム(https://www.opendaylight.org/odlbe)

実装言語はJava(一部Java以外の言語も含む)で、Javaの開発経験がある方であれば馴染みのある、Eclipseで採用されているOSGIフレームワークを基盤として実装されています。OSGIの実行環境はApache Karafを使用しており、各モジュールはPluginとして実装されているため、OpenDaylightのサービスを停止することなく、かつ他の機能に影響がでないようモジュールの追加や削除が可能です。

OpenDaylightを使うと何ができる?

OpenDaylightは多くのSouthbound Protocolをサポートしているので、データセンター内でのオーバーレイネットワークの管理・制御、OpenFlowを使ったマルチテナンシーなネットワークの構築など、多くのベンダーで検証が始められています。

AT&Tはインターネットサービスや映像配信サービスなどを行っているアメリカ最大手の電話会社です。AT&TはOpenDaylightベースの独自グローバルコントローラを開発し、従来のキャリアが管理するL3までの枠を超え、アプリケーション層(L4-L7)までを制御することに挑戦しています。

KT Corporationは韓国における最大級の通信事業者です。KTでは広域ネットワーク網における、各ネットワーク機器が持つEMS(Element Management Systems)を、従来はEMSごとに管理が必要でしたが、それらを一元的に中央管理するためのトランスポートSDNコントローラとしてOpenDaylightを採用しています。

このように、OpenDaylightはベンダーだけでなくユーザーも巻き込んで開発が進んでいます。今回リリースされたBerylliumあたりからは、国内でも商用で使おうという話がでてくると期待されています。本連載では、これからホットになるであろうOpenDaylightを使ってみるための情報を提供していきます。次回にご期待ください。

株式会社DMM.comラボ

システム本部CTO室所属。OpenStack、OpenDaylightなどのクラウド/SDN領域でのR&Dの経験を活かし、現在はハイブリッドクラウドサービスの立ち上げメンバーとして、検証や設計に携わる。

NEC OSS推進センター
NEC OSS推進センター所属。OpenStackが公開された当初から、ネットワークに関係する部分の開発や検証を行ってきている。日本OpenStackユーザー会のボードメンバーとしてイベントや発表多数。さらに沖縄オープンラボのメンバーとしてOpenStackとSDNの融合分野における先端技術の開発・検証を主導。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています