(57)【要約】      （修正有）【課題】IPネットワークのルーティングプロトコルを、IPネットワークとOpenFlowネットワークとで連携させる。【解決手段】複数のゲートウェイルータを介してIPネットワークと接続されるOpenFlowネットワークにおける経路制御方法において、OpenFlowコントローラが、OpenFlowスイッチにフローエントリを設定し、前記IPネットワークで使用されているIPルーティングプロトコルのパケットを作成し、当該IPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して前記IPネットワークに送信し、前記IPネットワークから送信されたIPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して受信し、当該受信したIPルーティングプロトコルのパケットに基づいて、前記IPネットワークにおける経路情報を計算し、当該経路情報を記憶手段に格納する。【選択図】図１
2014160922.tif 000002
【特許請求の範囲】
【請求項１】
複数のゲートウェイルータを介してIPネットワークと接続されるOpenFlowネットワークにおけるOpenFlowコントローラとOpenFlowスイッチとを有する通信システムであって、
前記OpenFlowスイッチは、
パケットの処理ルールを記述したフローエントリからなるフローテーブルを保持するフローテーブル保持手段と、
前記フローエントリに従って、パケットを処理するパケット処理手段と、を備え、
前記OpenFlowコントローラは、
前記OpenFlowコントローラと前記ゲートウェイルータとの間でパケットを送受信できるように、前記OpenFlowスイッチにフローエントリを設定する手段と、
前記IPネットワークで使用されているIPルーティングプロトコルのパケットを作成し、当該IPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して前記IPネットワークに送信する手段と、
前記IPネットワークから送信されたIPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して受信し、当該受信したIPルーティングプロトコルのパケットに基づいて、前記IPネットワークにおける経路情報を計算し、当該経路情報を記憶手段に格納する手段と、を備える
ことを特徴とする通信システム。
【請求項２】
前記OpenFlowコントローラにおいて作成されるIPルーティングプロトコルのパケットは、前記OpenFlowネットワークと前記ゲートウェイルータとの接続情報を含む
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記OpenFlowコントローラは、
前記受信したIPルーティングプロトコルのパケットから計算される経路情報が、特定のゲートウェイルータを経由した前記IPネットワークへの通信が不可であることを示す場合において、前記OpenFlowネットワークに接続される端末から前記IPネットワークへの通信が前記特定のゲートウェイルータを経由しないようにするためのフローエントリを作成し、当該フローエントリを前記OpenFlowスイッチに設定する
ことを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
複数のゲートウェイルータを介してIPネットワークと接続されるOpenFlowネットワークにおけるOpenFlowコントローラにより実行される経路制御方法であって、
前記OpenFlowコントローラと前記ゲートウェイルータとの間でパケットを送受信できるように、前記OpenFlowスイッチにフローエントリを設定するステップと、
前記IPネットワークで使用されているIPルーティングプロトコルのパケットを作成し、当該IPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して前記IPネットワークに送信するステップと、
前記IPネットワークから送信されたIPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して受信し、当該受信したIPルーティングプロトコルのパケットに基づいて、前記IPネットワークにおける経路情報を計算し、当該経路情報を記憶手段に格納するステップと、
を備えることを特徴とする経路制御方法。
【請求項５】
前記OpenFlowコントローラにおいて作成されるIPルーティングプロトコルのパケットは、前記OpenFlowネットワークと前記ゲートウェイルータとの接続情報を含む
ことを特徴とする請求項４に記載の経路制御方法。
【請求項６】
前記受信したIPルーティングプロトコルのパケットから計算される経路情報が、特定のゲートウェイルータを経由した前記IPネットワークへの通信が不可であることを示す場合において、前記OpenFlowコントローラが、前記OpenFlowネットワークに接続される端末から前記IPネットワークへの通信が前記特定のゲートウェイルータを経由しないようにするためのフローエントリを作成し、当該フローエントリを前記OpenFlowスイッチに設定するステップ
を備えることを特徴とする請求項４又は５に記載の経路制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、OpenFlowネットワークとIPネットワークを連携され、これらのネットワークにおける経路制御を行うための技術に関するものである。
【背景技術】
【０００２】
ソフトウェアによってネットワークを構築するSDN（Software Defined Network）を実現する技術の一つとしてOpenFlow（オープンフロー）がある。
【０００３】
OpenFlowは、IPやＥｔｈｅｒｎｅｔ（登録商標）とは異なるプロトコルによって、OpenFlowコントローラがパケットの転送を行うOpenFlowスイッチを制御するアーキテクチャである。具体的には、OpenFlowスイッチは、OpenFlowコントローラによって設定されたフローテーブルに基づいてパケットを処理する（非特許文献１参照）。
【０００４】
一方、現在のキャリアネットワークは主にIPによって構成されているため、OpenFlowをキャリアネットワークに導入する場合は、IPネットワークとOpenFlowネットワークの接続を考える必要がある。
【０００５】
既存のIPネットワークと、OpenFlowネットワークを接続する際には、冗長化や負荷分散の観点から二つ以上のゲートウェイ（GW）ルータによって接続することが望ましい。このような複数のGWルータが存在する環境においては、端末はどちらのGWルータを利用するか選択する必要がある。
【０００６】
Ｅｔｈｅｒｎｅｔ（登録商標）では、VRRPと呼ばれる技術（非特許文献２参照）を用いることで、複数のGWルータを一つの仮想的なルータとして見せることができる。これにより、端末に対して、VRRPによる仮想ルータをGWルータとして設定するだけで、GWルータの冗長化を実現できる。
【０００７】
一方、OpenFlowでは、フロー毎に宛先を変えられるため、VRRPを用いずとも、複数のGWルータに対して、パケットを転送できる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】OpenFlow Switch Specification 1.0.0、URL：https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.0.0.pdf
【非特許文献２】Virtual Router Redundancy Protocol (VRRP)、URL：http://tools.ietf.org/html/rfc3768
【発明の概要】
【発明が解決しようとする課題】
【０００９】
IPネットワークとOpenFlowネットワークが複数のGWルータによって接続されている環境において、IPネットワーク側の障害により、IPネットワークにおけるOpenFlowネットワークへの経路が変わる状況が想定される。このとき、障害発生まで利用されていたGWルータとは別のGWルータが、新たな経路上のルータとして選ばれる可能性がある。
【００１０】
しかし、このような場合に、OpenFlowコントローラは、IPネットワークのルーティングプロトコル（BGPやOSPF、IS-IS等）に対応していないことから、経路切替によるGWルータの変更を認識できない。そのため、通常のGWルータを介してIPネットワークと通信しようとし、通信ができない状態になる。
【００１１】
同様に、OpenFlowネットワークの経路が変わった場合も、IPネットワーク側の経路が追従して切り替わらないため、通信が途絶する可能性がある。
【００１２】
従って、IPネットワークとOpenFlowネットワークが接続されている環境では、互いのネットワークの経路情報を共有し、片方のネットワークの経路切替が起こった際にもう片方のネットワークも追従してネットワークを構築することが求められるが、現状、これを実現するための技術は存在しない。
【００１３】
本発明は上記の課題に鑑みてなされたものであり、IPネットワークのルーティングプロトコルを、IPネットワークとOpenFlowネットワークとで連携させるとともに、OpenFlowネットワークにおいて、IPネットワークの経路情報をもとに、ゲートウェイ（GW）ルータに関する経路制御を行うことを実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明は、複数のゲートウェイルータを介してIPネットワークと接続されるOpenFlowネットワークにおけるOpenFlowコントローラとOpenFlowスイッチとを有する通信システムであって、
前記OpenFlowスイッチは、パケットの処理ルールを記述したフローエントリからなるフローテーブルを保持するフローテーブル保持手段と、前記フローエントリに従って、パケットを処理するパケット処理手段と、を備え、
前記OpenFlowコントローラは、
前記OpenFlowコントローラと前記ゲートウェイルータとの間でパケットを送受信できるように、前記OpenFlowスイッチにフローエントリを設定する手段と、
前記IPネットワークで使用されているIPルーティングプロトコルのパケットを作成し、当該IPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して前記IPネットワークに送信する手段と、
前記IPネットワークから送信されたIPルーティングプロトコルのパケットを前記OpenFlowスイッチを介して受信し、当該受信したIPルーティングプロトコルのパケットに基づいて、前記IPネットワークにおける経路情報を計算し、当該経路情報を記憶手段に格納する手段と、を備えることを特徴とする通信システムとして構成される。
【００１５】
前記OpenFlowコントローラにおいて作成されるIPルーティングプロトコルのパケットは、例えば、前記OpenFlowネットワークと前記ゲートウェイルータとの接続情報を含む。
【００１６】
前記OpenFlowコントローラは、前記受信したIPルーティングプロトコルのパケットから計算される経路情報が、特定のゲートウェイルータを経由した前記IPネットワークへの通信が不可であることを示す場合において、前記OpenFlowネットワークに接続される端末から前記IPネットワークへの通信が前記特定のゲートウェイルータを経由しないようにするためのフローエントリを作成し、当該フローエントリを前記OpenFlowスイッチに設定するようにしてもよい。
【００１７】
また、本発明は、前記OpenFlowコントローラにより実行される経路制御方法として構成することもできる。
【発明の効果】
【００１８】
本発明によれば、IPネットワークのルーティングプロトコルを、IPネットワークとOpenFlowネットワークとで連携させるとともに、OpenFlowネットワークにおいて、IPネットワークの経路情報をもとに、ゲートウェイ（GW）ルータに関する経路制御を行うことが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に係る通信システムの全体構成図である。
【図２】本発明の実施の形態に係るOpenFlowスイッチの機能構成図である。
【図３】フローテーブルの例を示す図である。
【図４】本発明の実施の形態に係るOpenFlowコントローラの機能構成図である。
【図５】OpenFlowコントローラとIPネットワークのルータが、互いのネットワークの経路情報をやりとりする連携機能を説明するためのフローチャートである。
【図６】OpenFlowコントローラ２２０がOpenFlowネットワーク２００とIPネットワーク経路制御を行う経路制御機能を説明するためのフローチャートである。
【図７】ネットワーク構成例１（Ｌ２)を示す図である。
【図８】ネットワーク構成例１（Ｌ３)を示す図である。
【図９】ネットワーク構成例２（Ｌ３)を示す図である。
【図１０】IPネットワーク１００に障害が発生した場合の動作例１を示す図である。
【図１１】IPネットワーク１００に障害が発生した場合の動作例１を示す図である。
【図１２】OpenFlowネットワーク２００に障害が発生した場合の動作例２を示す図である。
【図１３】OpenFlowネットワーク２００に障害が発生した場合の動作例２を示す図である。
【図１４】まとめとしての本実施の形態の概要構成を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００２１】
（システム構成）
図１に本発明の実施の形態に係る通信システムの全体構成図を示す。図１に示すように、本実施の形態に係る通信システムは、IPネットワーク１００とOpenFlowネットワーク２００とが接続された構成をとる。
【００２２】
IPネットワーク１００は、複数のゲートウェイ（GW)ルータ１１０と複数のルータ１２０を含む。OpenFlowネットワーク２００は、複数のOpenFlowスイッチ２１０、OpenFlowコントローラ２２０を含む。図１に示すように、ゲートウェイルータ１１０とOpenFlowスイッチ２１０が接続される。また、図１に示すように、端末３１０がOpenFlowスイッチ２１０に接続されている。
【００２３】
図２に、本実施の形態に係るOpenFlowスイッチ２１０の機能構成図を示す。図２に示すように、OpenFlowスイッチ２１０は、インタフェース２１５Ａ、２１５Ｂ、２１５Ｃ、フローテーブル保持部２１１、パケット処理部２１２、セキュアチャネル２１３、及びＩＰルーティング制御部２１４を備える。
【００２４】
図２に示す例において、インタフェース２１５Ａ、２１５Ｂはそれぞれネットワークに接続され、インタフェース２１５ＣはOpenFlowコントローラ２２０に接続される。
【００２５】
フローテーブル保持部２１１は、パケットの処理ルールが記述されたフローエントリを保持する記憶部である。
【００２６】
パケット処理部２１２は、フローテーブル保持部２１１に保持されたフローエントリを参照し、パケットを処理する機能を有する。
【００２７】
セキュアチャネル２１３は、OpenFlowコントローラ２２０とOpenFlowプロトコルを用いて通信し、OpenFlowコントローラ２２０から受信したフローエントリをフローテーブル保持部２１１に書き込む機能を有する。
【００２８】
IPルーティング制御部２１４は、パケット処理部２１２とOpenFlowコントローラ２２０の間でIPネットワークのルーティングプロトコルを仲介する機能を有する。
【００２９】
図３に、フローテーブル保持部２１１に格納されるフローテーブルの例を示す。図３に示すように、フローテーブルには、各フローエントリ毎に、パケットについての条件と、その条件を満たす場合のアクションが記述されている。
【００３０】
図４に、本実施の形態に係るOpenFlowコントローラ２２０の機能構成図を示す。図４に示すように、OpenFlowコントローラ２２０は、インタフェース２２５A、２２５B、...インタフェース２１５ｘ、IPアドレスリスト保持部２２１、OpenFlow経路情報保持部２２２、IP経路情報保持部２２３、経路制御部２２４を備える。
【００３１】
インタフェース２２５A、２２５B、...インタフェース２１５ｘはそれぞれOpenFlowスイッチと接続される。
【００３２】
IPアドレスリスト保持部２２１は、OpenFlowネットワーク２００に存在する端末３１０のIPアドレスを保持する記憶部である。OpenFlow経路情報保持部２２２は、OpenFlowネットワーク２００のトポロジや経路情報を保持する記憶部である。IP経路情報保持部２２３は、IPネットワーク１００のトポロジや経路情報を保持する記憶部である。
【００３３】
経路制御部２２４は、IPアドレスリスト保持部２２１と、OpenFlow経路情報保持部２２２と、IP経路情報保持部２２３にある情報に基づいて、フローエントリを作成し、OpenFlowプロトコルを用いてOpenFlowスイッチ２１０へ通知するほか、OpenFlowスイッチ２１０から受信したIPネットワーク１００のルーティングプロトコルのパケットを解釈し、IPネットワークの経路情報を計算し、IP経路情報保持部２２３にIPネットワークの経路情報を保存する機能を有する。
【００３４】
（連携機能）
次に、図１〜図４により説明した構成を備える通信システムにおいて、OpenFlowコントローラ２２０とIPネットワーク１００のルータがIPルーティングプロトコルを用いて、互いのネットワークの経路情報をやりとりする方式（連携機能）を図５のフローチャートに沿って説明する。
【００３５】
ステップ１０１）OpenFlowコントローラ２２０の経路制御部２２４は、OpenFlowスイッチ２１０におけるセキュアチャネル２１３を通して、OpenFlowコントローラ２２０とIPネットワーク１００のゲートウェイルータ１１０が通信できるよう（パケットを素受信できるよう）、OpenFlowスイッチ２１０にフローエントリを設定する。
【００３６】
ステップ１０２）OpenFlowコントローラ２２０の経路制御部２２４は、例えば後述する経路制御機能（図６）により、IPルーティングプロトコルのパケットを作成し、更に、OpenFlowスイッチ２１０のIPルーティング制御部２１４を通して、作成したパケットをIPネットワーク１００に送信する。
【００３７】
ステップ１０３）OpenFlowスイッチ２１０は、ゲートウェイルータ１１０から受け取ったルーティングプロトコルのパケットを、フローエントリに基づいてOpenFlowコントローラ２２０に転送する。
【００３８】
ステップ１０４）OpenFlowコントローラ２２０の経路制御部２２４は、ルーティングプロトコルのパケットをもとにIPネットワーク１００の経路情報を計算し、IP経路情報保持部２２３に経路情報を保存する。
【００３９】
（経路制御機能）
次に、図６のフローチャートに従って、OpenFlowコントローラ２２０がOpenFlowネットワーク２００とIPネットワーク経路制御を行う方式（経路制御機能）の動作例を説明する。
【００４０】
ステップ２０１）OpenFlowコントローラ２２０の経路制御部２２４がIPネットワーク１００の経路変更の有無をチェックし、経路変更を検知した場合にステップ２０２に進み、検知しない場合にステップ２０５に進む。なお、経路変更は、経路が変更されたルーティングプロトコルのパケットを受信した場合に検知する。
【００４１】
ステップ２０２）OpenFlowコントローラ２２０の経路制御部２２４は、ルーティングプロトコルのパケットをもとにIPネットワーク１００の経路計算を行い、その情報を、IP経路情報保持部２２３に保持する。
【００４２】
ステップ２０３）OpenFlowコントローラ２２０の経路制御部２２４は、IP経路情報保持部２２３の経路情報と、OpenFlow経路情報保持部２２２の経路情報と、IPアドレスリスト保持部２２１のIPアドレス情報から、IPネットワーク１００側の端末への通信ができないOpenFlow経路を検索する。例えば、特定のゲートウェイルータのリンクに障害が発生した場合、当該特定のゲートウェイルータを経由することになるOpenFlow経路が検索される。
【００４３】
ステップ２０４）検索結果のOpenFlow経路を使用するフローエントリについて、フローエントリのアクション部分をIPネットワーク側の端末へ通信可能な宛先に書き換える。例えば、上記のように特定のゲートウェイルータのリンクに障害が発生した場合、当該特定のゲートウェイルータを経由しないようにフローエントリが書き換えられる。
【００４４】
ステップ２０５）OpenFlowコントローラ２２０の経路制御部２２４は、OpenFlowネットワーク２００の故障発生を監視し、故障発生を検知した場合にステップ２０６に進む。
【００４５】
ステップ２０６）OpenFlowコントローラ２２０の経路制御部２２４は、IP経路情報保持部２２３の経路情報と、OpenFlow経路情報保持部２２２の経路情報と、IPアドレスリスト保持部２２１のIPアドレス情報から、故障の影響によって、（１）IPネットワーク１００への通信ができないOpenFlow経路、（２）OpenFlowネットワーク２００内のIPアドレスへ到達できないIP経路を検索する。
【００４６】
ステップ２０７）OpenFlowコントローラ２２０の経路制御部２２４は、上記（１）の検索により得られたOpenFlow経路を使用するフローエントリについて、フローエントリのアクション部分をIPネットワーク１００へ通信可能な宛先に書き換える。
【００４７】
ステップ２０８）OpenFlowコントローラ２２０の経路制御部２２４は、上記で書き換えたフローエントリと合わせて、IPネットワーク１００からOpenFlowネットワーク２００内のIPアドレスへ到達できるように経路変更を行うための、ルーティングプロトコルのパケットを、（２）の検索結果に基づき作成し、IPネットワーク１００に送信する。
【００４８】
本実施の形態に係るOpenFlowコントローラ２２０は、例えば、コンピュータの機能を含むサーバやルータ等の装置に、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、OpenFlowコントローラ２２０の各部が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、OpenFlowコントローラ２２０の各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００４９】
また、本実施の形態に係るOpenFlowスイッチ２１０は、例えば、コンピュータの機能を含むスイッチやルータ等の通信装置に、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、OpenFlowスイッチ２１０の各部が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、OpenFlowスイッチ２１０の各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００５０】
（実施例）
以下、本発明の実施例として、ルーティングプロトコルとしてOSPF（Open Shortest Path First）が使用される場合におけるネットワーク構成例、動作例ついて説明する。
【００５１】
＜ネットワーク構成例１＞
図７は、ネットワーク構成例１を示す図であり、OSPFが使用されているIPネットワーク１００と、OpenFlowネットワーク２００とが接続される構成例を示す。この構成は、図１に示す構成と同様であり、各装置には図１に示した符号と同じ符号が付されている。
【００５２】
前述した連携機能により、OpenFlowコントローラ２２０は、OpenFlowスイッチ２１０経由でOSPFのLSA（Link-State Advertisement）パケットを各ルータとやりとりすることが可能になる。すなわち、前述した連携機能に係るステップ番号（図５）を用い、図７を参照して説明すると、OpenFlowコントローラ２２０の経路制御部２２４は、OpenFlowコントローラ２２０とIPネットワーク１００のゲートウェイルータ１１０が通信できるよう、OpenFlow経路情報等からフローエントリを作成し、OpenFlowスイッチ２１０にフローエントリを設定する（ステップ１０１）。また、OpenFlowコントローラ２２０の経路制御部２２４は、OSPFのルータLSAパケットを作成し、OpenFlowスイッチ２１０のIPルーティング制御部２１４を通して、作成したパケットをIPネットワーク１００（具体的には、指名ルータ）に送信する（ステップ１０２）。このルータLSAパケットには、例えば、OpenFlowネットワーク２００に接続される端末（ホスト）、ネットワーク、ルータ等の接続情報（どのルータと接続されるか等）が含まれる。
【００５３】
また、指名ルータ１２０から送信されるネットワークLSAパケットは、ゲートウェイルータ１１０を介してOpenFlowネットワーク２００に届く。そして、OpenFlowスイッチ２１０が、フローエントリに基づいて、ネットワークLSAパケットをOpenFlowコントローラ２２０に転送する（ステップ１０３）。OpenFlowコントローラ２２０の経路制御部２２４は、ネットワークLSAパケット等をもとにIPネットワーク１００の経路情報を計算し、IP経路情報保持部２２３に経路情報を保存する（ステップ１０４）。
【００５４】
この連携機能により、図８に示すように、OpenFlowネットワーク２００は、IPネットワーク１００から見ると一つの大規模なルータ２５０として認識される。
【００５５】
更に、前述した経路制御機能により、OpenFlowコントローラ２２０は、ネットワークLSAパケットによるIPネットワーク１００の経路変更の検知や、ルータLSAパケットによるOpenFlowネットワークの経路変更に伴うIPネットワーク１００の経路制御を行うことが可能になる。
【００５６】
＜ネットワーク構成例２＞
図９に、ネットワーク構成例２を示す。図９は、OSPFが使用されているIPネットワーク１００（広域IPネットワーク）に対して、複数のOpenFlowネットワーク２００−１〜３が接続する場合のネットワーク構成例である。
【００５７】
本実施の形態に係る連携機能、及び経路制御機能は、図９に示すようなネットワークに対しても適用できる。このようなネットワークにおいては、経路制御機能を応用することで、あるOpenFlowコントローラが、別のOpenFlowコントローラの経路変更通知（ルータLSA）を指名ルータ経由で受け取ることにより、複数のOpenFlowネットワーク間で、障害等による経路変更を協調して動作することも可能になる。図９では、OpenFlowネットワーク２００−１のOpenFlowコントローラが、経路変更通知（ルータLSA）を送出し、各OpenFlowネットワークが、指名ルータ１２０経由で当該情報を受け取ることが示されている。
【００５８】
＜動作例１：IPネットワーク１００に障害が発生した場合の例＞
次に、ルーティングプロトコルとしてOSPFが使用されているIPネットワーク１００に障害が発生した場合の動作例を図１０のシーケンスチャートに従って説明する。図１０に示すシーケンスは、図７と同様の図１１の構成に基づくものであり、図１１にも、図１０のシーケンスチャートに対応するステップ番号を用いて処理手順が示されている。図１１も適宜参照されたい。以下の例は、IPネットワーク１００への通信経路として、通常時はGWルータ１１０Aが使用されている場合（経路A）の例である。
【００５９】
ステップ３０１）図１１に示すように、IPネットワーク１００にリンク障害が発生すると、障害が起きたリンクに隣接するルータ１２０AがルータLSAパケットを指名ルータ１２０に送信する。
【００６０】
ステップ３０２）指名ルータ１２０は経路再計算を行って、計算により得られた新たな経路を含むネットワークLSAパケットをIPネットワーク１００内のルータ、及びOpenFlowコントローラ２２０に対して送信する。
【００６１】
ステップ３０３）OpenFlowコントローラ２２０の経路制御部２２４は、受信したLSAパケットを元に、経路制御機能を用いて、障害リンクを通らないような新たなフローテーブルを作成する。すなわち、受信したIPルーティングプロトコルのパケットであるLSAパケットから計算される経路情報が、特定のゲートウェイルータを経由したIPネットワークへの通信が不可であることを示す場合において、OpenFlowネットワーク２００に接続される端末からIPネットワーク１００への通信が前記特定のゲートウェイルータを経由しないようにするためのフローエントリを作成する。図１１の例では、各端末からIPネットワーク１００へのパケットがGWルータ１１０Aを通らないようにフローテーブルが作成される。
【００６２】
ステップ３０４）OpenFlowコントローラ２２０の経路制御部２２４は、各OpenFlowスイッチ２１０のセキュアチャネル２１３に新たなフローエントリを通知する。
【００６３】
ステップ３０５）各OpenFlowスイッチ２１０のセキュアチャネル２１３は、フローテーブル保持部２１１に保持されている既存のフローエントリを新たなフローエントリに書き換える。
【００６４】
以上の動作により、端末３１０からIPネットワーク１００へのパケットは、障害リンクを通らずIPネットワーク１００と通信可能な経路（経路B）を通るようになる。
【００６５】
＜動作例２：OpenFlowネットワーク２００に障害が発生した場合の例＞
次に、OpenFlowネットワークの障害に応じて、OSPFを用いてIPネットワークの経路制御を行う場合の動作例を図１２のシーケンスチャートに従って説明する。図１２に示すシーケンスは、図７と同様の図１３の構成に基づくものであり、図１３にも、図１２のシーケンスチャートに対応するステップ番号を用いて処理手順が示されている。図１３も適宜参照されたい。以下の例は、OpenFlowネットワーク２００の端末３１０Bへの通信経路として、通常時はGWルータ１１０Aが使用されている場合（経路A）の例である。
【００６６】
ステップ４０１）図１３に示すように、OpenFlowネットワーク２００にリンク障害が発生すると、障害が起きたリンクに隣接するOpenFlowスイッチ２１０Aのセキュアチャネル２１３がリンク障害をOpenFlowコントローラ２２０の経路制御部２２４に通知する。
【００６７】
ステップ４０２）OpenFlowコントローラ２２０の経路制御部２２４は、OpenFlow経路情報保持部２２２に格納されているOpenFlow経路情報を利用し、経路Aを使用する端末３１０B用のフローエントリについて、経路Bを使用するよう、新たなフローエントリを作成する。更に、端末３１０BのIPアドレス宛のパケットが、GWルータ１１０Bを経由するよう、ルータLSAパケットを作成する。
【００６８】
ステップ４０３）OpenFlowコントローラ２２０は、作成したフローエントリをOpenFlowスイッチ２１０（図１３の例では、OpenFlowスイッチ２１０Ｃ)のセキュアチャネル２１３に通知する。
【００６９】
ステップ４０４）OpenFlowコントローラ２２０は、ステップ４０２で作成したルータLSAパケットを指名ルータ１２０に送信する。
【００７０】
ステップ４０５）指名ルータ１２０は、受信したルータLSAを元に経路再計算を行って、ネットワークLSAを作成し、IPネットワーク１００内のルータに送信する。
【００７１】
ステップ４０６）OpenFlowスイッチ２１０（図１３の例では、OpenFlowスイッチ２１０Ｄ）のセキュアチャネル２１３は、フローテーブル保持部２１１に保持されている既存のフローエントリを新たなフローエントリに書き換える。
【００７２】
以上の動作により、端末３１０Bからのパケットは、障害リンクを通らず、IPネットワーク１００と通信可能な経路（経路B）を通るようになり、かつ、IPネットワーク１００側から端末３１０Bに向かうパケットも、同様に通信可能になる。
【００７３】
（実施の形態のまとめ、効果）
これまでに説明したとおり、本実施の形態では、IPネットワーク１００のルーティングプロトコルを、OpenFlowネットワーク１００を管理するOpenFlowコントローラ２２０とIPネットワーク１００とで連携させるとともに（連携機能）、OpenFlowネットワーク２００において、IPネットワーク１００の経路情報をもとに、ゲートウェイ（GW）ルータの冗長化、及び経路制御を行う経路制御機能が実現される。これにより、図１４に示すように、IPネットワーク１００とOpenFlowネットワーク２００が接続されたネットワークにおいて、ノードやリンクに障害が発生した際に、経路を制御することが実現できる。
【００７４】
より詳細には、上記の連携機能により、OpenFlowコントローラ２２０が、IPネットワーク１００の経路情報をもとに、OpenFlowネットワーク２００を制御することが可能になり、また、OpenFlowコントローラ２２０が、 OpenFlowネットワーク２００の経路情報をもとに、IPネットワーク１００の経路制御を行うことが可能になる。
【００７５】
また、上記の経路制御機能により、OpenFlowコントローラ２００は、IPネットワーク１００に障害が発生して通常のGWルータ１１０が使用できなくなったことを検知して、他のGWルータ１１０を利用するようOpenFlowスイッチ２１０のフローテーブルを書き換えることで、端末３１０とIPネットワーク１００との通信を継続することが可能になる。
【００７６】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００７７】
１００  IPネットワーク
１１０  ゲートウェイ（GW)ルータ
１２０  ルータ
２００  OpenFlowネットワーク
２１０  OpenFlowスイッチ
２２０  OpenFlowコントローラ
２１１  フローテーブル保持部
２１２  パケット処理部
２１３  セキュアチャネル
２１４  ＩＰルーティング制御部
２１５  インタフェース
２２１  IPアドレスリスト保持部
２２２  OpenFlow経路情報保持部
２２３  IP経路情報保持部
２２４  経路制御部
２２５  インタフェース
３１０  端末
【図１】
2014160922.tif 000003
【図２】
2014160922.tif 000004
【図３】
2014160922.tif 000005
【図４】
2014160922.tif 000006
【図５】
2014160922.tif 000007
【図６】
2014160922.tif 000008
【図７】
2014160922.tif 000009
【図８】
2014160922.tif 000010
【図９】
2014160922.tif 000011
【図１０】
2014160922.tif 000012
【図１１】
2014160922.tif 000013
【図１２】
2014160922.tif 000014
【図１３】
2014160922.tif 000015
【図１４】
2014160922.tif 000016