blog

東西拡張技術の SDN コントローラ

現在のところ、複数のコントローラを通信し接続するために使用される東西インターフェースについて定義された標準はありませんが、専門家によれば、これらの課題を解決するために非常に成熟したクラスタリング技術を...

Jun 28, 2025 · 4 min. read
シェア

コントローラは SDN ネットワーク全体の集中制御を担当し、ネットワーク全体のリソースビューを把握し、ネットワークリソースの配信を改善するためにとても重要な役割を果たします。しかしながら、制御能力の集中化はコントローラ局のセキュリティとパフォーマンスがネットワーク全体のボトルネックになることを意味し、一旦コントローラがパフォーマンスやセキュリティを保証できなくなると、ネットワーク全体のサービス能力は低下し、麻痺さえします。加えて、単一のコントローラでは複数の地域にまたがる SND ネットワークの問題に対処することができません。単一のコントローラノードの信頼性、スケーラビリティ、パフォーマンスの問題を回避するためには、複数の SDN コントローラで構成される分散クラスタが必要です。現在、複数のコントローラ間の通信とリンクに使用される東西インターフェースには定義された標準がありませんが、専門家によれば、いくつかの非常に成熟したクラスタリング技術は上記の課題を解決するために SDN ネットワークに適用することができます。

コントローラのソフトウェア化により、サーバをコントローラのキャリアとして使用することができ、サーバクラスタをベースにコントローラクラスタを構築することができます。SDN ネットワークにおける SDN コントローラの重要な役割のため、コントローラクラスタの設計はより具体的になります。例えば、スケーラビリティを向上させるために実行中のクラスタに新しいコントローラを追加することをサポートできること、信頼性を確保するために故障したコントローラに対応するスイッチの状態を保存すること、特にコントローラはネットワーク全体の SDN スイッチング機器を制御しているため、分散協調アプローチによってネットワークの状態の一貫性を確保することが特に重要です。コントローラのクラスタリングに基づいた典型的な SDN アーキテクチャを図に示します。

コントローラのクラスタリングに基づく SDN アーキテクチャ

図に示すように、SDNはサーバクラスタリング技術を駆使してソフトウェアで実装されたコントローラを配置することができますが、分散クラスタの場合、最も重要なのはコントローラ間の連携であり、JGroups通信ライブラリのようなコントローラ間の情報転送のためのクラスタ通信メカニズムに特化したシステムを構築する必要があります。

SDN ネットワークの制御におけるコントローラクラスタリングの有効性を確保するために、設計と実装の 2 つの側面が非常に重要です。一つ目はプライマリコントローラの選出です。プライマリコントローラは主にネットワーク全体のコントローラとスイッチの状態情報の生成と維持に責任があり、障害が発生すると、クラスタからセカンダリコントローラの一つを選出し、新しいプライマリコントローラにする必要があります。第二はスイッチに対するコントローラクラスタの透過性です。つまり、SDN ネットワークの動作中、スイッチは現在どのコントローラからコマンドを受信しているかを気にする必要がなく、同時に、コントローラにパケットを送信する際、コントローラが論理的に集中化されていることを保証するために、単一のコントローラの動作を維持することができます。上記の目標を達成するために、コントローラのクラスタリング設計の主な要素は以下のとおりです:

1.マスターコントローラーの選択

ネットワーク動作中、クラスタのセカンダリコントローラは、プライマリコントローラの動作ステータスを定期的に監視する必要があり、アクセスが到達不能であることが判明すると、プライマリコントローラの選挙を開始する必要があり、クラスタ内のプライマリコントローラの選挙は、paxosに基づく分散選挙アルゴリズムなど、業界には多くのアルゴリズムがあり、アルゴリズムの設計では、特にコントローラクラスタがワイドエリアネットワークに展開されている場合、アルゴリズムの複雑さを考慮する必要があります。アルゴリズムの設計では、アルゴリズム実装の複雑さを考慮する必要があり、特にコントローラクラスタがWANに展開されている場合は、帯域幅/レイテンシなどのネットワーク品質要因も考慮する必要があります。

2.クラスタ仮想アドレス

コントローラクラスタは、コントローラ間の負荷分散を実現するために、従来の負荷分散技術を利用できます。たとえば、スイッチがコントローラに登録するときに、特定の静的な仮想IPアドレスに送信することができます。パケットも仮想IPアドレスを送信元アドレスとして使用し、スイッチに対するコントローラクラスタの透過性を実現します。

3.完全なネットワーク・トポロジーの取得

SDN ネットワークにおけるトポロジー情報は最適なリソーススケジューリングを実現する鍵です。ネットワーク全体のコントローラとスイッチの動作状況を把握するためには、各コントローラが定期的にリンク探索を行い、収集したネットワーク情報を集約するためにメインコントローラに送り返し、各コントローラに一律に送信する必要があります。データストリームのフォワーディングポリシーをカスタマイズする際、データストリームの送信に関与する機器が配下のスイッチの範囲を超えることが判明した場合、コントローラはネットワーク全体のトポロジーに従って、対応するスイッチのコントローラに通知し、ネゴシエーションにより一貫したポリシーを策定し、スイッチに一律に転送します。

4.コントローラー障害対応

プライマリコントローラ、セカンダリコントローラのどちらに障害が発生しても、クラスタはロードバランシング技術を使用して、以前に割り当てられた障害サーバの仮想IPアドレスを正常に動作する他のコントローラにマッピングし、ネットワーク全体のトポロジ情報の更新と取得をトリガします。

クラスタ化されたコントローラを使用することで、SDN ネットワークは単一のコントローラによって引き起こされる単一障害点の問題を回避することができ、同時に巨大なスイッチトラフィックに対処するための優れたスケーラビリティを持つことができます。特に WAN 環境では、複数の場所に配置されたコントローラはオープンフローパケットの伝送遅延を効果的に改善し、ネットワークのパフォーマンスを向上させます。

Read next

ビッグデータの3つのステップ

かつては、ある時点で組織にとって重要なデータを選択し、それ以外は捨てなければなりませんでした。今日、組織は、将来価値のあるビッグデータを手放したくありません。NoSQLを使えば、将来の使用のためにすべてのデータをコスト効率よく保存することができます。

Jun 28, 2025 · 3 min read