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