本年度は、制御プログラム間の通信の障害を迅速に検出する手法を開発し、制御プログラムの間に設置することで開発した手法を既存のプログラムの変更なく利用できるプロキシを実装した。 現在SDNで一般的に用いられているOpenFlowにおいては、少数のOpenFlowコントローラが多数のOpenFlowスイッチと通信してネットワークの制御を行う。そのため、全てのスイッチがコントローラと頻繁に通信することで死活監視を行うことはコントローラの負荷の観点から適切ではない。一方、コントローラとスイッチの間の通信ができない状態が長時間続くことはコントローラが実際のネットワークの状態を長時間把握できない可能性があり、適切ではない。そのため、少数のメッセージで迅速に通信の障害を検出することが望ましい。 そこで、複数のコントローラ間でスイッチから届いたメッセージを共有し、メッセージの到達状況の差異を利用することでコントローラ側で通信障害を検出すること、重要なメッセージの送信直後に死活監視の処理を行うことでスイッチ側で障害を検出することを提案した。この方法は、OpenFlow以外においても、ある制御プログラムが複数の制御プログラムと低頻度で通信する場合に適用することができる。 提案した手法をOpenFlowチャンネルのProxyとして動作するソフトウェアに実装し評価することで、従来一般的に用いられている手法と比べて障害の検出遅延が短縮されていることを確認した。また、メッセージ処理性能の点で若干の低下は見られたがメッセージが低頻度で送信される環境においてはほぼ問題ないことを確認した。
|