導入事例¶
本章では、Ryuを利用したサービス/製品の事例について紹介します。
Stratosphere SDN Platform (ストラトスフィア)¶
Stratosphere SDN Platform(以下SSP)は、ストラトスフィア社の開発するソフトウェア製品です。SSPを用いることでVXLAN,STT,MPLSといったトンネリングプロトコルを用いて、エッジオーバレイ型の仮想ネットワークを構築できます。
各トンネリングプロトコルはVLANと相互に変換されます。各トンネリングプロトコルの識別子はVLANの12ビットよりも大きいことから、VLANを直接使うよりも多くのL2セグメントが管理できます。またSSPはOpenStackやCloudStackといったIaaSソフトウェアと組み合わせて使用することが可能です。
SSPでは機能の実現にOpenFlowを用いており、バージョン1.1.4ではコントローラにRyuを採用しています。理由としては、まずOpenFlow1.1以降への対応が挙げられます。SSPをMPLSに対応させる上で、プロトコルレベルでのサポートがあるOpenFlow1.1以降に対応したフレームワークの導入が考えられました。
注釈
OpenFlowプロトコル自体のサポートとは別に、実装がオプショナルな項目については、利用するOpenFlowスイッチ側のサポート状況も十分に考慮する必要があります。
また、開発言語としてPythonが利用できる点も挙げられます。ストラトスフィアの開発ではPythonを積極的に用いており、SSPも多くの箇所がPythonで記述されています。Python自体の記述力の高さと、使い慣れた言語を利用できることで開発効率の向上が見込めました。
ソフトウェアは複数のRyuアプリケーションから成り、REST APIを通してSSPの他のコンポーネントとやり取りします。ソフトウェアを機能単位で複数のアプリケーションに分割できることは、見通しの良いソースコードを保つ上で不可欠でした。
SmartSDN Controller (NTTコムウェア)¶
「SmartSDN Controller」は、従来の自律分散制御にかわるネットワークの集中制御機能(ネットワーク仮想化/最適化等)を提供するSDNコントローラです。
「SmartSDN Controller」は以下の2点の特徴を有しています。
仮想ネットワークによる柔軟なネットワーク経路制御
同一の物理ネットワーク上に複数の仮想ネットワークを構築することにより、ユーザからの要望に対し柔軟なネットワーク環境を提供し、設備有効活用による設備コストの低減を可能とします。また、これまで個々に情報を参照、設定していたスイッチ・ルーターを一元管理することで、ネットワーク全体を把握し、故障やネットワークのトラヒック状況に応じた柔軟な経路変更を可能にします。
サービス利用者の体感品質(「QoE」:Quality of Experience)に注目し、通信が流れているネットワークの品質(帯域、遅延、ロス、ゆらぎなど)から体感品質(QoE)を判断し、より良い経路へ迂回することで、サービス品質の安定維持を実現します。
高度な保守運用機能でネットワークの信頼性確保
コントローラの故障発生時にもサービスを継続するため、冗長化構成を実現しています。また、拠点間を流れる通信パケットを疑似的に作成し、経路上に流す事でOpenFlowの仕様で規定される標準的な監視機能では検知出来ない経路上の故障の早期発見や、各種試験(疎通確認、経路確認等)を可能にします。
また、ネットワーク設計、ネットワークの状態確認はGUIにより可視化し、保守者のスキルレベルに依らない運用を可能とし、ネットワーク運用コストを低減します。
「SmartSDN Controller」の開発にあたっては、以下の条件を満たすOpenFlowのフレームワークを選定する必要がありました。
- OpenFlow仕様を網羅的にサポートできるフレームワークであること
- OpenFlowのバージョンアップへの追従を計画しているため、比較的早く追従対応がされるフレームワークであること
その中でRyuは
- OpenFlowの各バージョンにおける機能を満遍なくサポートしている
- OpenFlowのバージョンアップへの追従対応が早い。また、開発コミュニティが活発であり、バグへの対応が早い
- サンプルコード/ドキュメントが充実している
等の特徴を有していることからフレームワークとして適切と判断し、採用しました。