ソフトウェア定義ネットワーク(ソフトウェアていぎネットワーク)、ソフトウェアデファインドネットワーキング(、SDN)は、大規模なネットワークを設計・構築・運用する際に、ネットワーク間に中継する通信機器やネットワークデバイスの転送判断を中央のサーバからソフトウェアでプログラミングする手法。
概要 ネットワークのパフォーマンスと監視を改善して従来のネットワーク管理よりもクラウドコンピューティングのようにするために、動的でプログラム的に効率的なネットワーク構成を可能にするネットワーク管理へのアプローチである。データ転送と経路制御の機能を論理的に分離し、ソフトウェア制御による動的で柔軟なネットワークを作り上げる技術全般を指す。
Wi-Fiなどの一部の技術分野とは異なり、SDNの開発を担当する単一の標準化団体はないWilliam Stallings『Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud』Addison-Wesley Professional、2015年 。
コントローラと呼ばれるマシンで動作する制御用ソフトウェアにより、データプレーンを制御する技術のことである。2008年にカリフォルニア大学バークレー校とスタンフォード大学で研究が開始された。SDNは制御プレーンからデータプレーンへのコミュニケーションを必要とし、その通信プロトコルの一つとしてはOpen Flowが存在する。現在は、Open Networking FoundationによってOpenFlow規格の策定とSDNの推進が進められているOpen Networking Foundation Formed to Speed Network Innovation。
SDNは、従来のネットワークの静的アーキテクチャが分散型で複雑であるのに対し、現在のネットワークにはより柔軟性があり、トラブルシューティングが容易であるという事実に対処することを目的としている。SDNは、ルーティングプロセス(制御プレーン)からネットワークパケット (データプレーン)の転送プロセスの関連付けを解除することにより、ネットワークインテリジェンスを1つのネットワークコンポーネントに集中させようとする。制御プレーンは、インテリジェンス全体が組み込まれているSDNネットワークの頭脳と見なされる1つ以上のコントローラーで構成される。ただし、セキュリティ、スケーラビリティ、弾力性に関しては、インテリジェントな集中化には固有の欠点があり、これがSDNの主要な問題である。一般的なSDNコントローラは、ノースバウンドとサウスバウンドインタフェースに加えて、他のSDNコントローラや他のネットワークとの通信を可能にするイースト/ウエストバウンドインタフェースを持っている。データ転送と処理と制御サポートは、リソース層のサブレイヤーである。抽象化、オーケストレーション、およびアプリケーションのサポートは、SDN制御レイヤーのサブレイヤーである。
SDNは、2011年の登場以来、一般にOpenFlowプロトコルに関連付けられていた( ネットワークスイッチ間のネットワークパケットのパスを決定するためのネットワークプレーンエレメントとのリモート通信用 )。しかし、2012年以来、多くの企業のためのOpenFlowは、彼らが独自の技術を追加し、もはや排他的なソリューションではない。これには、シスコシステムズのオープンネットワーク環境とニシラのネットワーク仮想化プラットフォームが含まれる。
SD-WANは同様の技術を広域ネットワーク (WAN)に適用する。
SDNテクノロジーは現在、非常に高速なフェイルオーバーを必要とする産業用制御アプリケーションで利用できる。1つの企業は、従来のネットワーク管理スイッチに関連する特定のサイバー脆弱性の排除とともに、ミッションクリティカルプロセスの100倍の高速フェイルオーバー(従来のネットワークの10ミリ秒と比較して100μsでフェイルオーバー)を誇っている。
vSDNEmul、EstiNet、Mininetなど、多くのエミュレータが研究目的で開発されているため、SDNの研究は続いている。
SDNデータプレーンは、SDN制御プレーンの決定に従って、ネットワーク転送装置がデータの転送や処理を行う場所である。
制御サポート機能は、SDN制御レイヤと相互作用し、リソース制御インタフェースを介してプログラマビリティをサポートする。
データ転送機能は、他のネットワークデバイスやエンドシステムから受信したデータフローを受け取り、SDNアプリケーションで定義されたルールに従って計算・確立されたデータ転送パスに沿って転送する。
歴史 SDNの原理の歴史は、このアーキテクチャがデータネットワークで使用されるようになる前に、プロビジョニングと管理を簡素化する方法として、公衆交換電話網で最初に使用された制御プレーンとデータプレーンの分離に遡ることができる。
インターネット技術特別調査委員会(IETF)は、2004年に公開された "Forwarding and Control Element Separation"(ForCES)という適切なインタフェース標準の制御機能と転送機能を分離するさまざまな方法を検討し始めた。ForCESワーキンググループは、コンパニオンSoftRouterアーキテクチャも提案した。データから制御を分離することを追求したIETFの初期の追加標準には、IPサービスプロトコルとしてのLinux Netlinkとパス計算要素(PCE)ベースのアーキテクチャが含まれる。
これらの初期の試みは、2つの理由で牽引力を得られなかった。1つは、インターネットコミュニティの多くが、特に制御プレーンで障害が発生する可能性があるため、データからコントロールを分離することはリスクがあると考えていたことである。2つ目は、制御プレーンとデータプレーンの間に標準のアプリケーションプログラミングインタフェース (API) を作成すると競争が激化することをベンダーが懸念していたことである。
分割制御/データプレーンアーキテクチャでのオープンソースソフトウェアの使用は、スタンフォード大学のコンピューターサイエンス部門のエタンプロジェクトにそのルーツをたどる。エタンのシンプルなスイッチ設計により、OpenFlowが誕生した。OpenFlowのAPIは、2008年に最初に作成された。その同じ年に、ネットワークのオペレーティングシステムであるNOXが作成された。
複数のキャンパスを接続するためのバックボーンとしてのWAN全体だけでなく、単一のキャンパスネットワークでのプロトコルの使用を評価するためのテストベッドの作成を含め、OpenFlowでの作業はスタンフォードでも継続された。アカデミックな環境では、NECとヒューレット・パッカードのOpenFlowスイッチに基づくいくつかの研究および生産ネットワークがあった。また、2009年頃から、クアンタ・コンピュータのホワイトボックスに基づいている。
アカデミアを超えて、最初の展開は2010年にNiciraによって、NTTおよびGoogleと共同開発したOnixからのOVSを制御することだった。注目すべき展開は、2012年のGoogleのB4展開だった。その後、Googleは、データセンターにOnixを導入した最初のOpenFlowを同時に認めた。もう1つの既知の大規模な展開は、中国移動通信である。
"2014 Interop and Tech Field Day"では、SDNはアバイアによって、最短パスブリッジング( IEEE 802.1aq )とOpenStackを自動化キャンパスとして使用し、データセンターからエンドデバイスに自動化を拡張し、サービス提供から手動プロビジョニングを排除することで、実証された。
概念 SDNアーキテクチャはネットワーク制御と転送機能を分離し、ネットワーク制御を直接プログラム可能にして、基盤となるインフラストラクチャをアプリケーションとネットワークサービスから抽象化できるようにする。
OpenFlowプロトコルは、SDNテクノロジーで使用できる。SDNアーキテクチャは次のとおりである。
直接プログラム可能 :転送機能から切り離されているため、ネットワーク制御は直接プログラム可能である。 アジャイル :転送から制御を抽象化すると、管理者はネットワーク全体のトラフィックフローを動的に調整して、変化するニーズに対応できる。 集中管理 :ネットワークインテリジェンスは、ソフトウェアベースのSDNコントローラーに(論理的に)集中化され、ネットワークのグローバルビューを維持する。これは、アプリケーションとポリシーエンジンからは単一の論理スイッチとして認識される。 プログラムで構成 :SDNを使用すると、ネットワーク管理者は動的な自動SDNプログラムを介してネットワークリソースを非常に迅速に構成、管理、保護、および最適化できる。 オープンスタンダードベースでベンダーニュートラル :SDNはオープンスタンダードを通じて実装されると、複数のベンダー固有のデバイスやプロトコルではなくSDNコントローラーによって命令が提供されるため、ネットワークの設計と運用が簡素化される。
新しいネットワークアーキテクチャの必要性 モバイルデバイスとコンテンツの急増、サーバの仮想化、およびクラウドサービスの出現は、ネットワーキング業界が従来のネットワークアーキテクチャを再検討する傾向にあるトレンドの1つである。多くの従来のネットワークは階層型であり、ツリー構造に配置されたイーサネットスイッチの層で構築されている。この設計は、クライアントサーバコンピューティングが主流だったときに意味をなしたが、このような静的アーキテクチャは、今日のエンタープライズデータセンター、キャンパス、およびキャリア環境の動的コンピューティングとストレージのニーズには適していない。
Open Networking Foundation(ONF)は、従来のコンピュータや機械をつないだネットワーク構造の4つの一般的な制限を挙げている:外部ソフトからの操作が許可されて複雑、一貫性のないポリシー、スケーリングできないこと、情報通信企業依存。今後の時代はネットワークを仮想化し、抽象的に考える時代である。つまり、時間の経過とともに、ネットワーク仮想化(NFV)とソフトウェア定義ネットワーク(SDN)は緊密に相互運用され、ネットワーク機器とネットワークベースのリソースを抽象化してプログラムで制御するための幅広い統合ソフトウェアベースのネットワーキングアプローチを提供することになる。
新しいネットワークパラダイムの必要性を推進する主要なコンピューティングトレンドには、次のものがある。
交通パターンの変化 エンタープライズデータセンター内では、トラフィックパターンが大幅に変化している。通信の大部分が1つのクライアントと1つのサーバ間で発生するクライアントサーバアプリケーションとは対照的に、今日のアプリケーションはさまざまなデータベースとサーバにアクセスし、データを最後に返す前に一連の「東西」のマシン間トラフィックを発生させる。クラシックな「南北」のトラフィックパターンのユーザーデバイス。同時に、ユーザーは、あらゆる種類のデバイス(自分のデバイスを含む)から企業のコンテンツやアプリケーションへのアクセスを要求し、いつでもどこからでも接続することで、ネットワークトラフィックのパターンを変えている。最後に、多くのエンタープライズデータセンターマネージャーは、プライベートクラウド、パブリッククラウド、またはその両方の組み合わせを含むユーティリティコンピューティングモデルを検討しており、ワイドエリアネットワーク全体のトラフィックが増加する。
「ITの消費」 ユーザーは企業のネットワークにアクセスするためにスマートフォン、タブレット、ノートブックなどのモバイルパーソナルデバイスをますます採用している。ITは、企業データと知的財産を保護し、コンプライアンス要件を満たす一方で、これらの個人用デバイスをきめ細かく対応する必要がある。
クラウドサービスの台頭 企業はパブリッククラウドサービスとプライベートクラウドサービスの両方を熱心に採用しており、これらのサービスの前例のない成長をもたらしている。エンタープライズビジネスユニットは、アプリケーションやインフラストラクチャ、その他のITリソースにオンデマンドでアラカルトでアクセスする俊敏性を求めている。複雑さを増すために、ITのクラウドサービスの計画は、セキュリティ、コンプライアンス、監査の要件が強化された環境で、ビジネスの再編成、統合、および一夜で想定を変更する可能性のある合併とともに行われる必要がありる。プライベートクラウドでもパブリッククラウドでも、セルフサービスプロビジョニングを提供するには、理想的には共通の観点から、共通のツールスイートを使用して、コンピューティング、ストレージ、およびネットワークリソースの柔軟なスケーリングが必要である。
「ビッグデータ」はより広い帯域幅を意味する 今日の「ビッグデータ」またはメガデータセットを処理するには、何千ものサーバ上で大規模な並列処理が必要であり、それらすべてが相互に直接接続する必要がある。巨大なデータセットの台頭により、データセンターでのネットワーク容量の追加が常に求められている。ハイパースケールデータセンターネットワークのオペレーターは、ネットワークを以前には想像もできなかったサイズにスケーリングし、破損することなく多対多の接続を維持するという困難な作業に直面している。
要件 Open Data Center Alliance(ODCA)は、以下のような便利で簡潔な要件を提供している[ODCA14]:
適応性 ネットワークは、アプリケーションのニーズ、ビジネスポリシー、およびネットワークの状態に基づいて、動的に調整および対応しなければならない。
自動化 ポリシーの変更が自動的に伝達されることで、手作業やエラーを減らすことができること。
保守性 新機能の導入(ソフトウェアのアップグレードやパッチ)は、業務の中断を最小限に抑えながらシームレスに行われなければならない。
モデル管理 ネットワーク管理ソフトウェアは、個々のネットワーク要素を再構成して概念的な変更を行うのではなく モデル管理:ネットワーク管理ソフトウェアは、個々のネットワーク要素を再構成して概念的な変更を行うのではなく、モデルレベルでネットワークを管理できる必要がある。
モビリティ 制御機能は、モバイル・ユーザー・デバイスや仮想サーバなどのモビリティに対応する必要がある。
統合されたセキュリティ ネットワークアプリケーションは、アドオンソリューションとしてではなく、コアサービスとしてシームレスなセキュリティを統合する必要がある。
オンデマンド・スケーリング オンデマンドの要求に応じて、ネットワークとそのサービスを拡大・縮小できること。
建築コンポーネント 右|サムネイル| ソフトウェアデファインドネットワーキングアーキテクチャの概要 次のリストは、アーキテクチャコンポーネントを定義および説明している:
SDNアプリケーション SDNアプリケーションは、 ノースバンドインタフェース (NBI) を介して、ネットワーク要件と望ましいネットワーク動作を明示的、直接的、およびプログラム的にSDNコントローラーに伝達するプログラムである。 さらに、内部の意思決定のために、ネットワークの抽象化されたビューを使用する場合がある。SDNアプリケーションは、1つのSDNアプリケーションロジックと1つ以上のNBIドライバーで構成される。SDNアプリケーション自体が、抽象化されたネットワーク制御の別のレイヤーを公開し、それぞれのNBIエージェントを通じて1つ以上の高レベルのNBIを提供する場合がある。SDNアプリケーションレイヤーは、コントロールレイヤーサービス要求を特定のコマンドとディレクティブにデータプレーンスイッチにマップし、アプリケーションにデータプレーンのトポロジとアクティビティに関する情報を提供する。抽象化、オーケストレーション、およびアプリケーションのサポートは、SDNコントロールレイヤーのサブレイヤーである。アプリケーションプレーンには、ネットワークリソースと動作を定義、監視、制御するアプリケーションとサービスが含まれている。
SDNコントローラー SDNコントローラーは、(i) 要件をSDNアプリケーションレイヤーからSDNデータパスに変換し、(ii) SDNアプリケーションにネットワークの抽象的なビューを提供する(統計やイベントが含まれる場合がある)を担当する論理的に集中化されたエンティティである。SDNコントローラーは、1つ以上のNBIエージェント、SDN制御ロジック、およびコントロールからデータプレーンインタフェース (CDPI) ライバーで構成される。 論理的に一元化されたエンティティとしての定義は、複数のコントローラーのフェデレーション、コントローラーの階層接続、コントローラー間の通信インタフェース、ネットワークリソースの仮想化やスライスなどの実装の詳細を規定したり妨げたりするものではありない。
SDNデータパス SDN Datapathは、アドバタイズされた転送機能とデータ処理機能に対する可視性と競合しない制御を公開する論理ネットワークデバイスである。論理的表現は、物理的基板リソースのすべてまたはサブセットを包含することができる。SDNデータパスは、CDPIエージェントと、1つ以上のトラフィック転送エンジンと0個以上のトラフィック処理機能のセットで構成される。これらのエンジンと機能には、データパスの外部インタフェース間の単純な転送、内部トラフィック処理または終了機能が含まれる場合がある。1つ以上のSDNデータパスは、単一の(物理)ネットワーク要素(通信リソースの統合された物理的な組み合わせ)に含まれ、ユニットとして管理される。SDNデータパスは、複数の物理ネットワーク要素にわたって定義することもできる。この論理定義は、論理から物理へのマッピング、共有物理リソースの管理、SDNデータパスの仮想化またはスライス、非SDNネットワーキングとの相互運用性、OSIレイヤー4-7関数を含むことができるデータ処理機能などの実装の詳細を規定または排除するものではない。
SDN Control to Data-Plane Interface(CDPI) SDN CDPIは、SDNコントローラーとSDNデータパスの間に定義されたインタフェースであり、少なくとも (i) すべての転送操作のプログラムによる制御、(ii) 機能の通知、(iii) 統計レポート、および (iv) イベント通知を提供する。SDNの1つの価値は、CDPIがオープンでベンダー中立で相互運用可能な方法で実装されるという期待にある。
SDNノースバウンドインタフェース (NBI) SDN NBIは、SDNアプリケーションとSDNコントローラー間のインタフェースであり、通常、抽象的なネットワークビューを提供し、ネットワークの動作と要件を直接表現できるようにする。これは、抽象化の任意のレベル(緯度)で、異なる機能セット(経度)で発生する可能性がある。SDNのもう1つの価値は、これらのインタフェースがオープンでベンダー中立で相互運用可能な方法で実装されるという期待にあるという。
SDN制御プレーン
集中型-階層型-分散型
SDN制御プレーンの実装は、集中型(中央集中型)、階層型、または分散型(自律分散型)の設計に従うことができる。最初のSDN制御プレーンの提案は、単一の制御エンティティがネットワークのグローバルなビューを持つ集中型ソリューションに焦点を当てた。これにより、制御ロジックの実装が簡略化されるが、ネットワークのサイズとダイナミクスが増加すると、スケーラビリティに制限がある。これらの制限を克服するために、文献では、階層的アプローチと完全分散アプローチの2つのカテゴリに分類されるいくつかのアプローチが提案されている。階層型ソリューションではS.H. Yeganeh, Y. Ganjali, "Kandoo: A Framework for Efficient and Scalable Offloading of Control Applications," proceedings of HotSDN, Helsinki, Finland, 2012.R. Ahmed, R. Boutaba, "Design considerations for managing wide area software defined networks," Communications Magazine, IEEE, vol. 52, no. 7, pp. 116–123, July 2014.、分散コントローラーは分割されたネットワークビューで動作するが、ネットワーク全体の知識が必要な決定は、論理的に集中化されたルートコントローラーによって行われる。分散型アプローチではT. Koponen et al, "Onix: A Distributed Control Platform for Large scale Production Networks," proceedings USENIX, ser. OSDI’10, Vancouver, Canada, 2010.D. Tuncer, M. Charalambides, S. Clayman, G. Pavlou, "Adaptive Resource Management and Control in Software Defined Networks," Network and Service Management, IEEE Transactions on, vol. 12, no. 1, pp. 18–33, March 2015.、コントローラはローカルビューで動作するか、同期メッセージを交換して知識を強化する。分散型ソリューションは、アダプティブSDNアプリケーションのサポートにより適している。
結果、コントロールプレーンでは主に以下の機能を有する。 ルーティングテーブルの作成 MACアドレステーブルの作成 ARPによるアドレス解決
コントローラの配置
分散SDN制御プレーンを設計する際の重要な問題は、コントロールエンティティの数と配置を決定することである。その際に考慮すべき重要なパラメーターは、コントローラーとネットワークデバイス間の伝搬遅延B. Heller, R. Sherwood, and N. McKeown, "The Controller Placement Problem," proceedings of HotSDN’12, 2012.であり、特に大規模ネットワークのコンテキストではそうである。検討されてきた他の目的には、制御パスの信頼性Y.N. Hu, W.D. Wang, X.Y. Gong, X.R. Que, S.D. Cheng, "On the placement of controllers in software-defined networks," Journal of China Universities of Posts and Telecommunications, vol. 19, Supplement 2, no. 0, pp. 92 – 171, 2012.、フォールトトレランスF.J. Ros, P.M. Ruiz, "Five nines of southbound reliability in software defined networks," proceedings of HotSDN’14, 2014. 、およびアプリケーション要件が含まれるD. Tuncer, M. Charalambides, S. Clayman, G. Pavlou, "On the Placement of Management and Control Functionality in Software Defined Networks," proceedings of 2nd IEEE International Workshop on Management of SDN and NFV Systems (ManSDN/NFV), Barcelona, Spain, November 2015.。
+従来型とSDNのネットワーク管理特徴従来型コントローラベースコントロールプレーン自律分散型中央集中型管理単位ネットワーク機器ネットワーク機器設定各機器にログインし、コンソールから設定を行うネットワーク構成を定義し、コントローラが定義に従って各NW機器に適切な設定を行うファームウェア管理各NW機器ごとにファームウェアを管理し、ファームウェアの更新は各機器ごとに行うコントローラーで一括管理。各機器のファームウェアはコントローラーから行う。セキュリティ各機器のインタフェースやNWの境界となる機器で監視やフィルタリングを行うNetFlowなどの分析機能を用いて、NW全体で不審な動きを監視し対処する障害復旧手動でトラブルシューティングを行うAIや機械学習で問題の検出や分析が可能。迅速かつ正確に問題解決を行う
SDNアプリケーションプレーン SDNアプリケーション層は、制御層のサービス要求をデータプレーンスイッチへの特定のコマンドやディレクティブにマッピングし、アプリケーションにデータプレーンのトポロジーやアクティビティに関する情報を提供する。このアプリケーションプレーンには、ネットワークリソースと動作を定義、監視、制御するためのアプリケーションとサービスが含まれる:
Defense4Allは、OpenDaylightに統合されたオープンなSDNセキュリティアプリケーションである。
断面帯域幅とは、ネットワークの2つの部分を半分に等分した場合に、その間を通過できる最大双方向データレートのこと。
クラウドネットワークアズアサービスは、OpenFlow SDN機能を利用し、クラウド利用者がクラウドネットワーク機能をより高度に制御できるようにしたクラウドネットワーキングシステムである。そのプリミティブは、クラウドインフラ自体の中に直接実装される。
情報指向ネットワーク(ICN)では、場所とIDの間に違いがある。
ノースバウンドインタフェースにより、アプリケーションは基盤となるネットワークスイッチの詳細を知らなくても、制御プレーンの機能とサービスにアクセスすることができる。
抽象化レイヤーは、高レベルのリクエストを、そのリクエストを実行するために必要な低レベルのコマンドに変換するメカニズムである。
OpenFlow APIは、転送抽象化の例である。
ネットワークサービスの抽象化レイヤーの例として、プログラミング言語Freneticがある。
トラフィックエンジニアリングとは、ネットワーク上を流れるデータの挙動を動的に分析、調整、予測し、サービスレベル契約を満たすためのパフォーマンス最適化を目的とした手法である。
PolicyCopは11のソフトウェアモジュールと2つのデータベースで構成されており、ネットワークを監視してポリシー違反を検出し、違反したポリシーを強化するためにネットワークを再構成する。SDN の制御プレーンを利用して QoS ポリシーの遵守を監視する.
イベントハンドラーモジュールには、違反イベントを調べ、イベントの種類に応じて、自動的に集中脅威管理を提供し、ソフトウェア定義の安全なネットワークへの監視と別のソリューションからの脅威インテリジェンスを組み合わせる能力を与えることから、その知性に基づいて行動するポリシーエンフォーサーを呼び出すか、ネットワークマネージャにアクションリクエストを送信する。
DDoSとは、複数のシステムを利用してサーバやネットワーク機器、リンクにトラフィックを流し、その利用可能なリソースを圧迫して、正当なユーザーへの対応を不能にする攻撃である。