(57)【要約】【課題】旧ネットワークのフローによるパケット転送を有効にしたまま新ネットワークのフローを設定できるオープンフローシステムを提供する。【解決手段】記憶部２２は、フローテーブルのテーブルＩＤと、フロー中に記載されており処理部２１が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルを記憶し、仮想ネットワーク管理部１１は、処理部２１に対して、第２のフローが記載されていない間、または記載された第２のフローが無効な間は、処理部２１が第１のテーブルを使用するように識別テーブルを設定し、記載された第２のフローが有効な間は、処理部２１が第２のテーブルを使用するように識別テーブルを設定する。【選択図】図１３
2015149530.tif 000002
【特許請求の範囲】
【請求項１】
入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチと、前記オープンフロースイッチにより構成される仮想ネットワークを管理する仮想ネットワーク管理部を含むオープンフローコントローラとを備えるオープンフローシステムであって、
前記記憶部は、
前記仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、
前記仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、
前記フローテーブルのテーブルＩＤと、フロー中に記載されており前記処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶し、
前記仮想ネットワーク管理部は、前記処理部に対して、前記第２のフローが記載されていない間、または記載された前記第２のフローが無効な間は、前記処理部が前記第１のテーブルを使用するように前記識別テーブルを設定し、記載された前記第２のフローが有効な間は、前記処理部が前記第２のテーブルを使用するように前記識別テーブルを設定する
ことを特徴とするオープンフローシステム。
【請求項２】
識別子は、フローテーブルの名称であり、
仮想ネットワーク管理部は、処理部に対して、第１のテーブルのテーブルＩＤに対応付けられている名称と第２のテーブルのテーブルＩＤに対応付けられている名称とを変更するように指示することによって識別テーブルを設定する
請求項１に記載のオープンフローシステム。
【請求項３】
識別子は、フローテーブルの仮想テーブルＩＤであり、
仮想ネットワーク管理部は、処理部に対して、第２のテーブルを使用するように前記処理部を制御するフローを第３のテーブルに記載するよう指示し、前記第３のテーブルのテーブルＩＤに対応付けられている仮想テーブルＩＤを変更するように指示することによって識別テーブルを設定する
請求項１に記載のオープンフローシステム。
【請求項４】
仮想ネットワークの構成が第１のネットワーク構成から第２のネットワーク構成に切り替わった時に、仮想ネットワーク管理部は、処理部に対して、第２のネットワーク構成のトポロジを検出するトポロジ検出フローを第２のテーブルに記載するよう指示し、記載された後に所定の期間ごとに前記処理部に対してパケットアウトを実施することによって前記トポロジを検出する
請求項１から請求項３のうちのいずれか１項に記載のオープンフローシステム。
【請求項５】
処理部は、仮想ネットワークに流入したパケットに対して、前記パケットに適用させるフローを判断するために用いる仮想ネットワーク識別情報を設定し、前記パケットが前記仮想ネットワークから流出する際に前記仮想ネットワーク識別情報を削除する
請求項１から請求項４のうちのいずれか１項に記載のオープンフローシステム。
【請求項６】
入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチを備え、前記記憶部は、前記オープンフロースイッチにより構成される仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、前記仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、前記フローテーブルのテーブルＩＤと、フロー中に記載されており前記処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶するオープンフローシステムに備えられるオープンフローコントローラであって、
前記オープンフローコントローラは、
前記仮想ネットワークを管理する仮想ネットワーク管理部を含み、
前記仮想ネットワーク管理部は、前記処理部に対して、前記第２のフローが記載されていない間、または記載された前記第２のフローが無効な間は、前記処理部が前記第１のテーブルを使用するように前記識別テーブルを設定し、記載された前記第２のフローが有効な間は、前記処理部が前記第２のテーブルを使用するように前記識別テーブルを設定する
ことを特徴とするオープンフローコントローラ。
【請求項７】
識別子は、フローテーブルの名称であり、
仮想ネットワーク管理部は、処理部に対して、第１のテーブルのテーブルＩＤに対応付けられている名称と第２のテーブルのテーブルＩＤに対応付けられている名称とを変更するように指示することによって識別テーブルを設定する
請求項６に記載のオープンフローコントローラ。
【請求項８】
識別子は、フローテーブルの仮想テーブルＩＤであり、
仮想ネットワーク管理部は、処理部に対して、第２のテーブルを使用するように前記処理部を制御するフローを第３のテーブルに記載するよう指示し、前記第３のテーブルのテーブルＩＤに対応付けられている仮想テーブルＩＤを変更するように指示することによって識別テーブルを設定する
請求項６に記載のオープンフローコントローラ。
【請求項９】
入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチを備え、前記記憶部は、前記オープンフロースイッチにより構成される仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、前記仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、前記フローテーブルのテーブルＩＤと、フロー中に記載されており前記処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶するオープンフローシステムに備えられるオープンフローコントローラにおいて実行されるオープンフロー管理方法であって、
前記オープンフローコントローラは、前記仮想ネットワークを管理し、
前記オープンフローコントローラは、前記処理部に対して、前記第２のフローが記載されていない間、または記載された前記第２のフローが無効な間は、前記処理部が前記第１のテーブルを使用するように前記識別テーブルを設定し、
前記オープンフローコントローラは、前記処理部に対して、記載された前記第２のフローが有効な間は、前記処理部が前記第２のテーブルを使用するように前記識別テーブルを設定する
ことを特徴とするオープンフロー管理方法。
【請求項１０】
入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチを備え、前記記憶部は、前記オープンフロースイッチにより構成される仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、前記仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、前記フローテーブルのテーブルＩＤと、フロー中に記載されており前記処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶するオープンフローシステムに備えられるオープンフローコントローラにおいて実行されるオープンフロー管理プログラムであって、
前記オープンフローコントローラに、
前記仮想ネットワークを管理する管理処理、
前記処理部に対して、前記第２のフローが記載されていない間、または記載された前記第２のフローが無効な間は、前記処理部が前記第１のテーブルを使用するように前記識別テーブルを設定する第１の設定処理、および
前記処理部に対して、記載された前記第２のフローが有効な間は、前記処理部が前記第２のテーブルを使用するように前記識別テーブルを設定する第２の設定処理
を実行させるためのオープンフロー管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープンフロースイッチが複数のフローテーブルを有するオープンフローシステム、オープンフローコントローラ、オープンフロー管理方法およびオープンフロー管理プログラムに関する。
【背景技術】
【０００２】
通信ネットワークを構成するネットワーク機器を一つの制御装置で集中管理し、複雑な転送制御や、柔軟なネットワーク構成の変更を実行できる技術にＯｐｅｎＦｌｏｗ（以下、オープンフローともいう。）がある。以下、オープンフローが使用されている通信ネットワークを、オープンフローネットワークという。
【０００３】
オープンフローでは、これまで一つのネットワーク機器の内部に共存していた経路制御の機能とデータ転送の機能がそれぞれ別の機器に分離されている。そして、ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ（以下、ＯＦＣという。）と呼ばれる制御装置が、複数のＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ（以下、ＯＦＳという。）と呼ばれる転送装置の振る舞いを一括して管理する。
【０００４】
ＯＦＳは、「フロー」と呼ばれる単位で通信トラフィックを制御する。各々のフローは、ＯＦＳにおいて「フローテーブル」（ｆｌｏｗ  ｔａｂｌｅ）と呼ばれるテーブルに保持される。
【０００５】
ネットワーク管理者は、各ＯＦＳの振る舞いが記述されたフローを作成する。そして、ＯＦＣは、作成されたフローをオープンフロープロトコルによって各ＯＦＳに配送する。各ＯＦＳは、配送されたフローをフローテーブルに設定する。そして、ＯＦＳは、設定したフローに基づいて、データの転送や破棄、宛先の書き換えなどを実行する。オープンフローを用いた通信システムの例として、特許文献１や特許文献２に記載されているシステムがある。
【０００６】
ＯｐｅｎＦｌｏｗ  ｖｅｒ１．１では、ＯＦＳが単一のフローテーブルではなく複数のフローテーブルを持つ場合が想定されている。また、複数のフローテーブル間の処理（以下、パイプライン処理ともいう。）も規定されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２０１３−５２２９３４号公報
【特許文献２】特開２０１２−１９５８０７号公報
【非特許文献】
【０００８】
【非特許文献１】"OpenFlow 〜今までの概念を覆す新しいネットワークの実現〜"、［online］、Think IT、［平成 26年 1月 17日検索］、インターネット〈 URL：http://thinkit.co.jp/book/2012/02/01/3150〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＯＦＣのバージョンアップやオープンフローのバージョンアップ時などに、マッチ条件やアクションなど、利用できる設定が増える。しかし、既存のオープンフローネットワークがこれらの新機能に対応していない場合、新機能を利用する際に既存のネットワークをそのまま利用することは困難である。このように、一般的なオープンフローネットワークにおいて、現在設定されているフローと異なるフローをＯＦＳに設定する場合には、一度既存のネットワークを破棄することが求められるという課題がある。
【００１０】
また、図１４に示すように、物理ネットワーク上に構築されている旧仮想ネットワークを、新仮想ネットワークに移行させる場合がある。図１４は、物理ネットワーク上の仮想ネットワークを移行させる場合の例を示す説明図である。図１４に示すように、物理ネットワーク上にはパーソナルコンピュータやサーバがある。パーソナルコンピュータやサーバは、ＯＦＳにより通信可能に接続されている。また、新仮想ネットワーク上には仮想のブリッジ、仮想のルータが配置されている。
【００１１】
一般的なオープンフローネットワークでは、現在設定されているネットワークと互換性のないネットワークを新たに作りたい場合、設定されているネットワークを一度停止した上でフローを作成し直すことが求められる。よって、既存のネットワークと比べてより効率的なネットワークの作成方法などが考案された場合でも、容易に新たなネットワークに移行することは困難である。
【００１２】
そこで、本発明は、旧ネットワークのフローによるパケット転送を有効にしたまま新ネットワークのフローを設定できるオープンフローシステム、オープンフローコントローラ、オープンフロー管理方法およびオープンフロー管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるオープンフローシステムは、入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチと、オープンフロースイッチにより構成される仮想ネットワークを管理する仮想ネットワーク管理部を含むオープンフローコントローラとを備えるオープンフローシステムであって、記憶部は、仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、フローテーブルのテーブルＩＤと、フロー中に記載されており処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶し、仮想ネットワーク管理部は、処理部に対して、第２のフローが記載されていない間、または記載された第２のフローが無効な間は、処理部が第１のテーブルを使用するように識別テーブルを設定し、記載された第２のフローが有効な間は、処理部が第２のテーブルを使用するように識別テーブルを設定することを特徴とする。
【００１４】
本発明によるオープンフローコントローラは、入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチを備え、記憶部は、オープンフロースイッチにより構成される仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、フローテーブルのテーブルＩＤと、フロー中に記載されており処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶するオープンフローシステムに備えられるオープンフローコントローラであって、オープンフローコントローラは、仮想ネットワークを管理する仮想ネットワーク管理部を含み、仮想ネットワーク管理部は、処理部に対して、第２のフローが記載されていない間、または記載された第２のフローが無効な間は、処理部が第１のテーブルを使用するように識別テーブルを設定し、記載された第２のフローが有効な間は、処理部が第２のテーブルを使用するように識別テーブルを設定することを特徴とする。
【００１５】
本発明によるオープンフロー管理方法は、入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチを備え、記憶部は、オープンフロースイッチにより構成される仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、フローテーブルのテーブルＩＤと、フロー中に記載されており処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶するオープンフローシステムに備えられるオープンフローコントローラにおいて実行されるオープンフロー管理方法であって、オープンフローコントローラは、仮想ネットワークを管理し、オープンフローコントローラは、処理部に対して、第２のフローが記載されていない間、または記載された第２のフローが無効な間は、処理部が第１のテーブルを使用するように識別テーブルを設定し、オープンフローコントローラは、処理部に対して、記載された第２のフローが有効な間は、処理部が第２のテーブルを使用するように識別テーブルを設定することを特徴とする。
【００１６】
本発明によるオープンフロー管理プログラムは、入力されるパケットを処理する処理部と複数のフローテーブルを記憶する記憶部とを含むオープンフロースイッチを備え、記憶部は、オープンフロースイッチにより構成される仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、フローテーブルのテーブルＩＤと、フロー中に記載されており処理部が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶するオープンフローシステムに備えられるオープンフローコントローラにおいて実行されるオープンフロー管理プログラムであって、オープンフローコントローラに、仮想ネットワークを管理する管理処理、処理部に対して、第２のフローが記載されていない間、または記載された第２のフローが無効な間は、処理部が第１のテーブルを使用するように識別テーブルを設定する第１の設定処理、および処理部に対して、記載された第２のフローが有効な間は、処理部が第２のテーブルを使用するように識別テーブルを設定する第２の設定処理を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、旧ネットワークのフローによるパケット転送を有効にしたまま新ネットワークのフローを設定できる。
【図面の簡単な説明】
【００１８】
【図１】本発明によるオープンフローシステムの第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態におけるＯＦＳのパケット処理の例を示す説明図である。
【図３】旧ネットワークのトポロジ検出の動作を示すシーケンス図である。
【図４】旧ネットワークのトポロジ検出時のＯＦＣおよびＯＦＳの送受信の過程を示す説明図である。
【図５】旧ネットワークにおけるフロー作成の動作を示すシーケンス図である。
【図６】旧ネットワークから新ネットワークへの切り替え時の動作を示すシーケンス図である。
【図７】第１の実施形態におけるフローテーブルに記載されるフローの例を示す説明図である。
【図８】新ネットワークにおけるフロー作成の動作を示すシーケンス図である。
【図９】新ネットワークのフロー作成時のＯＦＣおよびＯＦＳの送受信の過程を示す説明図である。
【図１０】ＯＦＳの第２の実施形態の構成例を示すブロック図である。
【図１１】旧ネットワークから新ネットワークへの切り替え時のテーブルＩＤの付け替えの動作を示す説明図である。
【図１２】変換部２１２がオープンフローメッセージでのテーブルＩＤをテーブルインデックス２５０を基に変更する様子を示す説明図である。
【図１３】本発明によるオープンフローシステムの概要を示すブロック図である。
【図１４】物理ネットワーク上の仮想ネットワークを移行させる場合の例を示す説明図である。
【発明を実施するための形態】
【００１９】
実施形態１．
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明によるオープンフローシステムの第１の実施形態の構成例を示すブロック図である。図１に示すオープンフローシステム１は、ＯＦＣ１００と、ＯＦＳ２００とを含む。ＯＦＣ１００は、オープンフロープロトコルを用いてＯＦＳ２００と通信できる。なお、オープンフローシステム１は、ＯＦＳを複数含んでいてもよい。
【００２０】
ＯＦＣ１００は、オープンフローシステム１に含まれる全てのＯＦＳを管理し、ＯＦＳに対してフローを設定する。ＯＦＣ１００は、仮想ネットワーク管理部１１０と、ＯＦＳ通信部１３０と、トポロジ管理部１４０とを含む。
【００２１】
仮想ネットワーク管理部１１０は、ＯＦＳにより構成される、オープンフローシステム１の仮想ネットワークを管理する機能を有する。仮想ネットワーク管理部１１０は、新仮想ネットワーク管理部１２０と、旧仮想ネットワーク管理部１２１とを有する。新仮想ネットワーク管理部１２０が新仮想ネットワークを、旧仮想ネットワーク管理部１２１が旧仮想ネットワークをそれぞれ管理する。
【００２２】
新仮想ネットワーク管理部１２０は、新仮想ネットワークにおけるフローを設定する際の規範であるルールを管理する。そして、新仮想ネットワーク管理部１２０は、どのフローをどのＯＦＳへ届けるかを決定し、フローを届ける際の具体的な経路を決定する。決定した後、新仮想ネットワーク管理部１２０は、各ＯＦＳに各フローを設定し、新仮想ネットワークを構築する。なお、旧仮想ネットワーク管理部１２１も、ＯＦＳに対してフローを設定する際は、新仮想ネットワーク管理部１２０と同様の処理を行う。
【００２３】
ＯＦＳ通信部１３０は、各ＯＦＳへオープンフロー通信用のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を提供する機能を有する。ＯＦＣ１００は、ＯＦＳ通信部１３０を介して各ＯＦＳと通信する。
【００２４】
トポロジ管理部１４０は、仮想ネットワークのトポロジを管理する機能を有する。トポロジ管理部１４０は、仮想ネットワーク内にどのようなＯＦＳが有るか、また各ＯＦＳがどのように接続されているかといった調査を行う。
【００２５】
ＯＦＳ２００は、オープンフロー処理部２１０と、テーブルパイプライン２２０とを含む。
【００２６】
オープンフロー処理部２１０は、ＯＦＣ１００と通信する機能を有する。オープンフロー処理部２１０は、ＯＦＣ１００との間で、フローテーブルへのフロー設定、パケットインの実施、パケットアウトの実施などを行うために、オープンフロープロトコルに基づく通信を行う。
【００２７】
テーブルパイプライン２２０は、複数のフローテーブルを記憶する記憶部である。テーブルパイプライン２２０において、上述のパイプライン処理が行われる。
【００２８】
テーブルパイプライン２２０には、複数のフローテーブル２３０〜２３Ｎと、テーブル名リスト２４０が含まれる。フローテーブルにフローが記載される際、例えば、フロー中のインストラクションが他のフローテーブルを使用させるような処理である場合、本来であればインストラクションには具体的なテーブルＩＤが記載される。
【００２９】
しかし、本実施形態の構成では上記のようなフローが設定される場合、オープンフロー処理部２１０は、テーブルＩＤの代わりにテーブル名を指定することによって、フローを設定する。その理由は、オープンフロー処理部２１０がテーブル名リスト２４０を介して間接参照するためである。マッチング処理をする際、オープンフロー処理部２１０は、インストラクション中のテーブル名をテーブル名リスト２４０から検索し、実際のテーブルＩＤへ変換することによってマッチング処理を行う。
【００３０】
図２は、第１の実施形態におけるＯＦＳのパケット処理の例を示す説明図である。図２に示すように、オープンフロー内ではテーブル名が直接指定されている。テーブル名リスト２４０を途中に挟むことで間接参照が行われ、テーブル名がテーブルＩＤに変換されている。
【００３１】
具体的には、ＯＦＳにパケットが入力された場合、オープンフロー処理部２１０は、先頭テーブルであるテーブルＩＤが１のフローテーブル２３１を使用する。図２に示すように、フローテーブル２３１に設定されたフローのインストラクションには、「テーブルＡを使用」という、テーブルＩＤではなくテーブル名を用いた処理が記載されている。
【００３２】
次いで、オープンフロー処理部２１０は、テーブル名リスト２４０から、テーブルＡのテーブルＩＤを検索する。図２に示すように、テーブルＡのテーブルＩＤは２であることが分かる。よって、オープンフロー処理部２１０は、テーブルＩＤが１のフローテーブル２３１の次に、テーブルＩＤが２のフローテーブル２３２を使用する。
【００３３】
なお、本実施形態におけるオープンフローシステム１において、ＯＦＣ１００およびＯＦＳ２００は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現される。また、ＯＦＣ１００およびＯＦＳ２００は、ハードウェアによって実現されてもよい。
【００３４】
また、仮想ネットワーク管理部１１０、ＯＦＳ通信部１３０、トポロジ管理部１４０およびオープンフロー処理部２１０は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現される。
【００３５】
また、テーブルパイプライン２２０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）における記憶領域によって実現される。
【００３６】
以下、本実施形態のオープンフローシステム１の動作を説明する。なお、ここではＯＦＣ１００に、２つのＯＦＳ２０１、ＯＦＳ２０２が接続される場合を例に説明する。ＯＦＳ２０１、ＯＦＳ２０２は、それぞれＯＦＳ２００と同様の構成をしている。
【００３７】
１．旧ネットワークの構築
まず、旧ネットワークの構築の動作を図３および図５のシーケンス図を参照して説明する。
【００３８】
（ア）旧ネットワークのトポロジ検出
図３は、旧ネットワークのトポロジ検出の動作を示すシーケンス図である。ＯＦＣ１００とＯＦＳが接続されると、最初にＯＦＣ１００に接続されたＯＦＳがどのようなＯＦＳなのか、ＯＦＣ１００が情報を収集する。
【００３９】
次いで、ＯＦＳのトポロジ検出が行われる。トポロジ管理部１４０は、定期的にＯＦＳへパケットアウトの依頼を出す（ステップＳ１００）。トポロジ管理部１４０の要求を受けて、ＯＦＳ通信部１３０は、ＯＦＳ２０１に対してパケットアウトのメッセージを送る（ステップＳ１０１）。なお、パケットアウトは、ＯＦＣからＯＦＳに対してパケットを送信することである。
【００４０】
ＯＦＳ２０１から送出されたメッセージは、ＯＦＳ２０１に直接接続されたＯＦＳ２０２に送信される（ステップＳ１０２）。そして、ＯＦＳ２０１からパケットアウトにより送出されたパケットは、ＯＦＳ２０２を介して再度ＯＦＣ１００へ送入される。パケットが送入される時、ＯＦＳ２０２からＯＦＣ１００に対して、パケットインのメッセージが送られる（ステップＳ１０３）。なお、パケットインは、ＯＦＳからＯＦＣに対して、パケットを送信することである。
【００４１】
ＯＦＳ通信部１３０は、ＯＦＳ２０２からパケットインが送られたことをトポロジ管理部１４０に通知する（ステップＳ１０４）。次いで、トポロジ管理部１４０は、ＯＦＳ２０２から送入されたパケットから送信元情報、送信先情報を記録し、旧ネットワークのトポロジを作成する（ステップＳ１０５）。トポロジ管理部１４０は、送入されたパケットを見ることで、どのＯＦＳがどのポートで接続されているかという情報を取得する。
【００４２】
図４は、旧ネットワークのトポロジ検出時のＯＦＣおよびＯＦＳの送受信の過程を示す説明図である。ＯＦＣ１００がパケットアウトを実施すると、ＯＦＣ１００からＯＦＳ２０１へパケットアウトのメッセージが送信される。ＯＦＳ２０１はパケットアウトを実施し、管理下のポートすべてにパケットを転送する。
【００４３】
送信されたパケットは、ＯＦＳ２０１に直接接続されているＯＦＳ（ここではＯＦＳ２０２）に送信される。そして、ＯＦＳ２０２に送信されたパケットは、パケットインのメッセージと共に再びＯＦＣ１００へ流入する。ＯＦＣ１００は、ＯＦＳ２０２から送られたパケットを調べることで、ＯＦＳ２０１とＯＦＳ２０２がどのポートで接続されているか検出する。
【００４４】
（イ）旧ネットワークにおけるフロー作成
図５は、旧ネットワークにおけるフロー作成の動作を示すシーケンス図である。フローの作成は、ＯＦＳからＯＦＣに対してパケットインが通知されることで開始される（ステップＳ２００）。
【００４５】
パケットインが通知されると、パケットイン発生の通知が、ＯＦＳ通信部１３０から仮想ネットワーク管理部１１０内の、旧仮想ネットワーク管理部１２１へ送られる（ステップＳ２０１）。旧仮想ネットワーク管理部１２１は、受信したパケット情報から自身の情報を検索し、宛先の情報を得る（ステップＳ２０２）。
【００４６】
ここで、自身（ＯＦＣ）の情報は、例えば、どの仮想ネットワークのどこに対応しているかを判断するための情報、および宛先を特定するための仮想ネットワークの情報である。また、宛先の情報は、例えば、パケットを転送するＯＦＳのポートと転送するパケットにどのような操作（ＭＡＣアドレスの書き換えなど）を行うか、という情報である。
【００４７】
次いで、旧仮想ネットワーク管理部１２１は、抽出した宛先情報を基にトポロジ管理部１４０を検索する。検索により、旧仮想ネットワーク管理部１２１は、宛先情報に記載された宛先までにパケットが通過したＯＦＳ情報を得る（ステップＳ２０３）。
【００４８】
得られたＯＦＳ情報を基に、旧仮想ネットワーク管理部１２１は、必要なＯＦＳに対してフローを作成し、作成したフローをＯＦＳに送信する（ステップＳ２０４、ステップＳ２０６）。ＯＦＳは、送信されたフローをフローテーブルに記載した後、ＯＦＣ１００に対してフローを設定したことを応答する（ステップＳ２０５、ステップＳ２０７）。その結果、ＯＦＣ１００とＯＦＳ２０１、ＯＦＳ２０２との間で旧ネットワークにおける通信路が確立される。
【００４９】
オープンフローシステム１は、後で旧ネットワークに新ネットワークを重畳する可能性がある。よって、旧ネットワークのフローがマッチされるべきパケットに誤って新ネットワークのフローがマッチされないよう、通信路が確立された後、ＯＦＳにはパケットにネットワーク識別用の情報を埋め込むことが求められる。また、パケットがオープンフローネットワークから出る際、ＯＦＳにはパケットからネットワーク識別用の情報を削除し、パケットを元に戻すことが求められる。
【００５０】
２．新ネットワークの作成
次に、新ネットワークの作成の動作を図６および図８のシーケンス図を参照して説明する。
【００５１】
（ア）旧ネットワークから新ネットワークへの切り替え
図６は、旧ネットワークから新ネットワークへの切り替え時の動作を示すシーケンス図である。ネットワーク管理者から新ネットワークの作成要求を受けると、仮想ネットワーク管理部１１０内の新仮想ネットワーク管理部１２０は、ＯＦＳに対して、新ネットワーク用のフローテーブル（図６に示すフローテーブル２３Ｎ）の初期化を開始するように指示する（ステップＳ３００）。
【００５２】
新仮想ネットワーク管理部１２０からの要求を受けたＯＦＳ通信部１３０は、ＯＦＳに対してＦｌｏｗＭｏｄメッセージを送信する（ステップＳ３０１）。なお、ＦｌｏｗＭｏｄメッセージは、ＯＦＣからＯＦＳに対して、フローの登録、変更および削除を指示するメッセージである。
【００５３】
ＦｌｏｗＭｏｄメッセージに従い、オープンフロー処理部２１０は、フローテーブル２３Ｎに対して初期化処理を行う（ステップＳ３０２）。初期化処理には、不要なフローの削除、トポロジ検出用のパケットインフローの作成、および新ネットワークのフローが記載されていないために生じるミスヒットの際にパケットインを送信し、旧ネットワークのフローが記載されたフローテーブルを使用するためのテーブル転送用フローの作成が含まれる。
【００５４】
フローテーブル２３Ｎの初期化処理が完了した後、オープンフロー処理部２１０は、テーブル名リスト２４０に設定されている、テーブルＩＤとテーブル名との対応関係を書き換える（ステップＳ３０３）。
【００５５】
ステップＳ３０２、ステップＳ３０３における具体的なフローの設定内容を図７に示す。図７は、第１の実施形態におけるフローテーブルに記載されるフローの例を示す説明図である。
【００５６】
図７には、テーブル名リストと三つのフローテーブルが示されている。テーブルＩＤが０のフローテーブルには、オープンフロー処理部２１０を現在の新しいネットワークにおけるフローが設定されているフローテーブルを使用させるためだけのフローが設定されている。このフローの指す間接参照先を更新する事で、新しいネットワーク用のフローテーブルが選択される。具体的には、新しいネットワーク用のフローテーブルが選択されるように、テーブル名リスト２４０で対応付けられているテーブルＩＤとテーブル名との対応関係が更新される。
【００５７】
テーブルＩＤが１のフローテーブルは新ネットワーク用のフローテーブル、テーブルＩＤが２のフローテーブルは旧ネットワーク用のフローテーブルである。各フローテーブルには、トポロジ検出用のフローと、ミスヒット時のフローが記載されている。これらのフローは、ステップＳ３０２のフローテーブルの初期化処理が行われる時に、フローテーブルに書き込まれる。フロー中の値は固定値である。フローテーブルが利用されている間、フロー中の値は特に変更されない。
【００５８】
（イ）新ネットワーク作成開始後のトポロジ検出
次いで、新ネットワークのトポロジ検出が行われる。新ネットワーク作成開始後に行われるトポロジ検出は、図３および図４に示す旧ネットワークのトポロジ検出と同様に行われるため、説明を省略する。
【００５９】
（ウ）新ネットワークにおけるフロー作成
図８は、新ネットワークにおけるフロー作成の動作を示すシーケンス図である。フローの作成は、ＯＦＳからＯＦＣに対してパケットインが通知されることで開始される（ステップＳ４００）。ステップＳ４０１〜ステップＳ４０３における処理は、図５に示すステップＳ２０１〜ステップＳ２０３における処理と同様であるため、説明を省略する。
【００６０】
フロー作成中、ＯＦＳは、フローテーブル２３Ｎに記載されたミスヒットフローによりパケットインが送信されるように設定されている。また、ＯＦＳは、オープンフロー処理部２１０が旧ネットワークのフローが記載されたフローテーブルを使用するようにも設定されている（ステップＳ４０４）。すなわち、新ネットワークのフローの作成中に、旧ネットワークのフローでパケットが転送される（ステップＳ４０５）。
【００６１】
旧ネットワークから新ネットワークへ切り替えた直後は、新ネットワーク用のフローテーブルにフローが存在しない。よって、新規に送られてきたパケットは、ミスヒットフローにマッチし、ＯＦＣ１００にパケットインが通知される。また、オープンフロー処理部２１０は、次に参照するフローテーブルとして、旧ネットワーク用のフローテーブルを使用する。
【００６２】
旧ネットワーク用のフローテーブルには既に登録済みのフローが存在する。よって、パケットは、登録されているフローにマッチして正しく転送される。したがって、旧ネットワークから新ネットワークへ切り替えが行われた場合でも、通信断は発生しない。
【００６３】
なお、旧ネットワークのフロー作成時にも述べたように、新ネットワークのフローがマッチされるパケットと旧ネットワークのフローがマッチされるパケットには、それぞれ別のネットワークの識別子が埋め込まれる。よって、旧ネットワークのフローで転送されているパケットが作成中の新ネットワークのフローにマッチすることによって、想定外の転送が行われる事はない。
【００６４】
図９は、新ネットワークのフロー作成時のＯＦＣおよびＯＦＳの送受信の経過を示す説明図である。ＯＦＳ２０１にオープンフローネットワーク外部からパケットが流入すると、最初ＯＦＳ２０１にはパケットを転送するためのフローが設定されていないため、ＯＦＳ２０１は、パケットインを実施する。パケットインを実施する事で、ＯＦＳ２０１は、パケットをどのように処理するかＯＦＣ１００へ問い合わせる。また、パケットは、ミスヒットフローの設定により、旧ネットワークのフローに従ってＯＦＳ２０１からＯＦＳ２０２へ送信される。
【００６５】
なお、図９に示すように、ＯＦＳ２０１から送信されたパケットにはネットワークを識別するための情報として、ＴＡＧ  ＶＬＡＮが埋め込まれている。なお、ネットワークを識別するための情報は、ＴＡＧ  ＶＬＡＮ以外にも、オープンフロープロトコルで扱うことができる情報であればどのような情報でもよい。ネットワークを識別するための情報は、作成される仮想ネットワークに依存する。
【００６６】
ＯＦＣ１００は、入力したパケットの情報から、どの仮想ネットワークのどこから入るパケットかを特定し、パケットの宛先を決定する。そして、新ネットワークのフローが作成された時点で、ＯＦＣ１００は、宛先までの経路にあるすべてのＯＦＳ（ここではＯＦＳ２０１、ＯＦＳ２０２）に対してＦｌｏｗＭｏｄメッセージを送信する。ＯＦＳは、送信されたフローをフローテーブルに記載する。記載されたフローに従い、新ネットワークにおいてパケットが転送される。
【００６７】
（エ）新ネットワークのフロー作成後
新ネットワークのフローが作成されると、新仮想ネットワーク管理部１２０は、作成したフローをＯＦＳに送信する（ステップＳ４０６、ステップＳ４０８）。ＯＦＳは、送信されたフローをフローテーブルに記載した後、ＯＦＣ１００に対してフローを設定したことを応答する（ステップＳ４０７、ステップＳ４０９）。
【００６８】
その結果、ＯＦＣ１００とＯＦＳ２０１、ＯＦＳ２０２との間で新ネットワークにおける通信路が確立される。通信路が確立された後、新ネットワークでのパケット転送が開始され、旧ネットワークでのパケット転送は行われなくなる。
【００６９】
具体的には、新ネットワークでの学習が行われると、新ネットワーク用のフローテーブルに新しいフローが設定される。設定された後、新規に送られてきたパケットは、設定されたフローにマッチする。新しいフローにマッチした場合、パケットは、マッチした時点で転送される。よって、新ネットワークのフローが設定された後、パケットが旧ネットワークのフローにマッチすることはなくなる。
【００７０】
その後、旧ネットワークが不要になった際に、旧ネットワーク用のフローテーブルからフローが削除される。また、新ネットワークから旧ネットワークへの間接参照としての役割を果たしたミスヒットフローも削除される。旧ネットワーク関連の設定の削除処理の契機は、例えば、単純なタイムアウトや、旧ネットワークのフローのアイドルタイムアウトの検出である。設定の削除処理は、旧ネットワークが完全に利用されなくなったことを確認して行われる。
【００７１】
本実施形態のオープンフローシステムを使用する場合、旧ネットワークでのサービス中に新ネットワークを重畳させることで、旧ネットワークのフローでの転送を有効にしたまま新ネットワークを展開できる。すなわち、新ネットワーク作成時にシステムのダウンタイムを無くすことができる。よって、ＯＦＣのバージョンアップやオープンフロープロトコルの更新などで新しい機能が追加され、既存のネットワークとは全く異なったネットワークを作成したい場合でも、既存のネットワークを動作させたまま、その上に新しいネットワークを構築することによって、サービスを止めることなく少しずつネットワークを移行できる。このように、ユーザが自らネットワークを作成する際に、旧ネットワークのフローを残したまま新ネットワークを展開できる。
【００７２】
本実施形態のオープンフローシステムを使用する場合、新ネットワーク作成中に設定ミスなどで正しくフローを作成できなかったり、作成したフローの設定に問題が有り新ネットワークにおいて通信を正しく行えなかったりしても、すぐにロールバック処理を行い旧ネットワークにおける転送設定に戻すことができる。その理由は、テーブル名リストの設定を変更するだけで、再度パケットに旧ネットワークのフローをマッチさせることが可能であるためである。
【００７３】
実施形態２．
次に、本発明の第２の実施形態を説明する。本実施形態では、フローテーブルを移動する代わりに先頭のフローテーブルを設定するテーブルインデックスを用いて、旧ネットワークのフローを有効にした状態での新ネットワークの展開を実現する。本実施形態では、新ネットワークのフロー作成時に、現在のテーブルインデックスの値を考慮した適切なテーブルＩＤへの付け替えも併せて実施される。
【００７４】
本実施形態では、オープンフローシステム１が、ＯＦＳ２００の代わりに、ＯＦＳ２０３を含む点で、第１の実施形態と異なっている。なお、本発明の第２の実施形態におけるＯＦＣ１００の構成例は、第１の実施形態における説明と同様であるため説明を省略する。
【００７５】
図１０は、ＯＦＳの第２の実施形態の構成例を示すブロック図である。図１０に示すＯＦＳ２０３は、オープンフロー通信部２１１と、変換部２１２と、テーブルパイプライン２２１とを含む。
【００７６】
本実施形態におけるテーブルパイプライン２２１には、複数のフローテーブル２３０〜２３Ｎと、テーブルインデックス２５０が含まれる。
【００７７】
オープンフロー通信部２１１は、ＯＦＣ１００と通信する機能を有する。オープンフロー通信部２１１は、ＯＦＣ１００との間で、フローテーブルへのフロー設定、パケットインの実施、パケットアウトの実施などを行うために、オープンフロープロトコルに基づく通信を行う。
【００７８】
テーブルインデックス２５０は、フローテーブルの実際のテーブルＩＤと、オープンフローメッセージでのテーブルＩＤ（以下、仮想テーブルＩＤという。）とを対応付けて記憶する機能を有する。
【００７９】
変換部２１２は、テーブルインデックス２５０を参照し、オープンフローメッセージ中の仮想テーブルＩＤを実際のテーブルＩＤへ変換する機能を有する。
【００８０】
図１１は、旧ネットワークから新ネットワークへの切り替え時のテーブルＩＤの付け替えの動作を示す説明図である。旧ネットワークが展開されている時、テーブルインデックス２５０は、実際のテーブルＩＤの値を直接仮想テーブルＩＤとして記憶している。すなわち、実際のテーブルＩＤが０のフローテーブルが、仮想上も先頭テーブルになる。また、ここでは実際のテーブルＩＤが１のフローテーブルに旧ネットワークのフローが記載されているとする。
【００８１】
仮想ネットワークが旧ネットワークから新ネットワークに切り替わる際、例えば、ＯＦＣ１００が、変換部２１２に対して、仮想テーブルＩＤを２つずらすように指示をしたとする。図１１に示す左向きの矢印は、フローテーブルが移動する向きを意味する。
【００８２】
その場合、テーブルパイプライン２２１の先頭テーブルが変更され、今まで転送に使われていたフローが記載されているフローテーブルが後ろにずれ、新しいフローテーブルがテーブルパイプライン２２１の先頭に追加される。追加された新しいフローテーブルに、新しいフローが記載される。例えば、フローテーブルが移動されると同時に、前方に追加される各フローテーブルには、１つ後ろのフローテーブルを使用するようにオープンフロー通信部２１１を制御するミスヒットフローが記載される。なお、移動させるフローテーブルの数は２以外でもよい。
【００８３】
具体的には、実際のテーブルＩＤが２のフローテーブルが新先頭テーブルになり、実際のテーブルＩＤが３のフローテーブルが仮想テーブルＩＤが１のフローテーブルになる。そして、新先頭テーブルに仮想テーブルＩＤが１のフローテーブルを使用するようにオープンフロー通信部２１１を制御するテーブル転送用フローが記載される。
【００８４】
また、仮想テーブルＩＤが１のフローテーブルには、新ネットワークのフローと、新ネットワークのフローが記載されるまでパケットがマッチする、ＯＦＣ１００へのパケットインフローと、実際のテーブルＩＤが１のフローテーブル（仮想テーブルＩＤは３）を使用するようにオープンフロー通信部２１１を制御するテーブル転送用フローを含んだ、実施形態１におけるミスヒットフローが記載される。
【００８５】
仮想テーブルＩＤが１のフローテーブルに新ネットワークのフローが記載されるまで、オープンフロー通信部２１１は、ミスヒットフローに従い仮想テーブルＩＤが３のフローテーブルを使用する。仮想テーブルＩＤが３のフローテーブルには旧ネットワークのフローが記載されているので、パケットは、旧ネットワークのフローに従うことで、滞りなく転送される。
【００８６】
図１２は、変換部２１２がオープンフローメッセージでのテーブルＩＤをテーブルインデックス２５０を基に変更する様子を示す説明図である。図１２に示すように、テーブルパイプライン２２１の先頭テーブルは、実際のテーブルＩＤが２のフローテーブルである。よって、オープンフロープロトコル上、このフローテーブルが、テーブルＩＤが０のフローテーブルとみなされる。
【００８７】
すなわち、テーブルＩＤが０のフローテーブルにＧｏｔｏＴａｂｌｅ１を指定したフローを設定する場合、実際のテーブルＩＤが２のフローテーブルに、ＧｏｔｏＴａｂｌｅ３を指定したフローが記載される。しかし、実際のテーブルＩＤは、ＯＦＳにより隠蔽される。よって、フローの内容は、設定時のままである。その結果、ＯＦＳは、テーブルＩＤが０のフローテーブルにＧｏｔｏＴａｂｌｅ１を指定したフローを記載するように処理する。
【００８８】
本実施形態のオープンフローシステムを使用する場合、間接参照を用いず、直接フローテーブルの順番を入れ替える事で、安全にネットワークを移行できる。本実施形態のオープンフローシステムを使用する利点には、現在のオープンフロープロトコルのスペックへの影響が小さい点、フローテーブルをまとめて移動できるためＯＦＣ側でテーブルＩＤの管理が必要ない点がある。
【００８９】
次に、本発明の概要を説明する。図１３は、本発明によるオープンフローシステムの概要を示すブロック図である。本発明によるオープンフローシステム２は、入力されるパケットを処理する処理部２１（例えば、オープンフロー処理部２１０）と複数のフローテーブルを記憶する記憶部２２（例えば、テーブルパイプライン２２０）とを含むオープンフロースイッチ２０（例えば、ＯＦＳ２００）と、オープンフロースイッチ２０により構成される仮想ネットワークを管理する仮想ネットワーク管理部１１（例えば、仮想ネットワーク管理部１１０）を含むオープンフローコントローラ１０（例えば、ＯＦＣ１００）とを備えるオープンフローシステムであって、記憶部２２は、仮想ネットワークの第１のネットワーク構成におけるパケットに適用されるフローである第１のフローが既に記載されている第１のテーブルと、仮想ネットワークの第２のネットワーク構成におけるパケットに適用されるフローである第２のフローが記載される予定の第２のテーブルと、フローテーブルのテーブルＩＤと、フロー中に記載されており処理部２１が使用するフローテーブルを決定するために用いる識別子とを対応付けた識別テーブルとを記憶し、仮想ネットワーク管理部１１は、処理部２１に対して、第２のフローが記載されていない間、または記載された第２のフローが無効な間は、処理部２１が第１のテーブルを使用するように識別テーブルを設定し、記載された第２のフローが有効な間は、処理部２１が第２のテーブルを使用するように識別テーブルを設定する。
【００９０】
そのような構成により、オープンフローシステムは、旧ネットワークのフローによるパケット転送を有効にしたまま新ネットワークのフローを設定できる。
【００９１】
また、識別子は、フローテーブルの名称であり、仮想ネットワーク管理部１１は、処理部２１に対して、第１のテーブルのテーブルＩＤに対応付けられている名称と第２のテーブルのテーブルＩＤに対応付けられている名称とを変更するように指示することによって識別テーブル（例えば、テーブル名リスト２４０）を設定してもよい。
【００９２】
そのような構成により、オープンフローシステムは、間接参照テーブルを用いて仮想ネットワークの移行を実施できる。
【００９３】
また、識別子は、フローテーブルの仮想テーブルＩＤであり、仮想ネットワーク管理部１１は、処理部２１に対して、第２のテーブルを使用するように処理部２１を制御するフローを第３のテーブルに記載するよう指示し、第３のテーブルのテーブルＩＤに対応付けられている仮想テーブルＩＤを変更するように指示することによって識別テーブル（例えば、テーブルインデックス２５０）を設定してもよい。
【００９４】
そのような構成により、オープンフローシステムは、仮想的にフローテーブルの順番を並び替えることで仮想ネットワークの移行を実施できる。
【００９５】
また、仮想ネットワークの構成が第２のネットワーク構成から第１のネットワーク構成に切り替わった時に、仮想ネットワーク管理部１１は、処理部２１に対して、第１のネットワーク構成のトポロジを検出するトポロジ検出フローを第１のテーブルに記載するよう指示し、記載された後に所定の期間ごとに処理部２１に対してパケットアウトを実施することによってトポロジを検出してもよい。
【００９６】
そのような構成により、オープンフローシステムは、新仮想ネットワークのトポロジが不明な場合でもトポロジを検出できる。
【００９７】
また、処理部２１は、仮想ネットワークに流入したパケットに対して、パケットに適用させるフローを判断するために用いる仮想ネットワーク識別情報（例えば、ＴＡＧ  ＶＬＡＮ）を設定し、パケットが仮想ネットワークから流出する際に仮想ネットワーク識別情報を削除してもよい。
【００９８】
そのような構成により、オープンフローシステムは、旧ネットワークのフローで転送されるべきパケットに対して、想定外の転送が行われる事を防ぐことができる。
【符号の説明】
【００９９】
１、２  オープンフローシステム
１０、１００  オープンフローコントローラ（ＯＦＣ）
１１、１１０  仮想ネットワーク管理部
２１  処理部
２２  記憶部
１２０  新仮想ネットワーク管理部
１２１  旧仮想ネットワーク管理部
１３０  ＯＦＳ通信部
１４０  トポロジ管理部
２０、２００〜２０３  オープンフロースイッチ（ＯＦＳ）
２１０  オープンフロー処理部
２１１  オープンフロー通信部
２１２  変換部
２２０、２２１  テーブルパイプライン
２３０〜２３Ｎ  フローテーブル
２４０  テーブル名リスト
２５０  テーブルインデックス
【図１】
2015149530.tif 000003
【図２】
2015149530.tif 000004
【図３】
2015149530.tif 000005
【図４】
2015149530.tif 000006
【図５】
2015149530.tif 000007
【図６】
2015149530.tif 000008
【図７】
2015149530.tif 000009
【図８】
2015149530.tif 000010
【図９】
2015149530.tif 000011
【図１０】
2015149530.tif 000012
【図１１】
2015149530.tif 000013
【図１２】
2015149530.tif 000014
【図１３】
2015149530.tif 000015
【図１４】
2015149530.tif 000016