(57)【要約】  転送装置を制御する制御装置の負荷を増加させることなく、制御装置とは別に設けられた装置に制御メッセージを送ることを実現できるようにする。制御装置９０は、パケットを転送する複数の転送装置のパケット転送動作を制御する。制御装置９０は、制御用転送規則生成手段９１を備える。制御用転送規則生成手段９１は、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する。
2015045275.tif 000002
【特許請求の範囲】
【請求項１】
パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置であって、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を備える
ことを特徴とする制御装置。
【請求項２】
ルータに接続される転送装置と、経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算するパス計算手段を備え、
制御用転送規則生成手段は、前記パス上の転送装置毎に、前記パスに沿って制御メッセージを次のノードに転送するための制御用転送規則を生成する
請求項１に記載の制御装置。
【請求項３】
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度とは異なる値に設定する優先度調整手段とを備える
請求項１または請求項２に記載の制御装置。
【請求項４】
パス計算手段は、
転送装置に接続される経路情報収集装置のインタフェースと、ルータとの対応関係を示す情報に基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも高い値に設定する優先度調整手段とを備える
請求項２に記載の制御装置。
【請求項５】
パス計算手段は、
スイッチが制御用転送規則に合致しないパケットであると判定した制御メッセージを前記スイッチから受信した場合に、前記制御メッセージに基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも低い値に設定する優先度調整手段とを備える
請求項２に記載の制御装置。
【請求項６】
制御用転送規則生成手段は、
制御メッセージが制御用転送規則に適合するための条件として経路情報収集装置のアドレスを定めた制御用転送規則を生成する
請求項１から請求項５のうちのいずれか１項に記載の制御装置。
【請求項７】
制御用転送規則生成手段は、
制御メッセージが制御用転送規則に適合するための条件としてルータのアドレスを定めた制御用転送規則を生成する
請求項１から請求項６のうちのいずれか１項に記載の制御装置。
【請求項８】
パケットを転送する複数の転送装置と、
前記転送装置のパケット転送動作を制御する制御装置とを備えるネットワークシステムであって、
前記制御装置は、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を含む
ことを特徴とするネットワークシステム。
【請求項９】
パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置が、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する
ことを特徴とするパケット転送制御方法。
【請求項１０】
制御装置が、
ルータに接続される転送装置と、経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
前記パス上の転送装置毎に、前記パスに沿って制御メッセージを次のノードに転送するための制御用転送規則を生成する
請求項９に記載のパケット転送制御方法。
【請求項１１】
制御装置が、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成し、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度とは異なる値に設定する
請求項９または請求項１０に記載のパケット転送制御方法。
【請求項１２】
制御装置が、
転送装置に接続される経路情報収集装置のインタフェースと、ルータとの対応関係を示す情報に基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成し、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも高い値に設定する
請求項９から請求項１１のうちのいずれか１項に記載のパケット転送制御方法。
【請求項１３】
制御装置が、
スイッチが制御用転送規則に合致しないパケットであると判定した制御メッセージを前記スイッチから受信した場合に、前記制御メッセージに基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成し、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも低い値に設定する
請求項９から請求項１１のうちのいずれか１項に記載のパケット転送制御方法。
【請求項１４】
制御装置が、
制御メッセージが制御用転送規則に適合するための条件として経路情報収集装置のアドレスを定めた制御用転送規則を生成する
請求項９から請求項１３のうちのいずれか１項に記載のパケット転送制御方法。
【請求項１５】
制御装置が、
制御メッセージが制御用転送規則に適合するための条件としてルータのアドレスを定めた制御用転送規則を生成する
請求項９から請求項１４のうちのいずれか１項に記載のパケット転送制御方法。
【請求項１６】
パケットを転送する複数の転送装置のパケット転送動作を制御するコンピュータに搭載される制御装置用プログラムであって、
前記コンピュータに、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成処理
を実行させるための制御装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送規則に従ってパケットを転送する転送装置に対して転送規則を送信することで転送装置を制御する制御装置、その制御装置を含むネットワークシステム、およびその制御装置に適用されるパケット転送制御方法、制御装置用プログラムに関する。
【背景技術】
【０００２】
パケットを転送するスイッチを制御装置が制御するプロトコルとして、オープンフロー（OpenFlow）が知られている。オープンフローにおけるスイッチをＯＦＳ（OpenFlow Switch ）と記す。また、オープンフローにおける制御装置をＯＦＣ（OpenFlow Controller ）と記す。ＯＦＳ，ＯＦＣについては、例えば、非特許文献１，２に記載されている。以下、非特許文献２で規定されているOpenFlow1.0におけるＯＦＳ，ＯＦＣの概略を説明する。【０００３】
ＯＦＳとＯＦＣとはセキュアチャネルと呼ばれる通信用チャネルを介して通信を行う。ＯＦＳは、パケット転送のために参照するフローテーブルを備えている。フローテーブルには、フローに対応してパケットの転送先を定めたフローエントリが格納される。ＯＦＣは、オープンフローに従って、セキュアチャネルを介してＯＦＳと通信を行い、ＡＰＩ（Application Program Interface）レベルでフローを制御する。【０００４】
以下、ＯＦＣによるＯＦＳの制御の一例を示す。ＯＦＳは、パケットを受信するとそのパケットに合致するフローエントリを検索する。パケットに合致するフローエントリが存在しない場合、ＯＦＳは、セキュアチャネルを介して、そのパケットをＯＦＣに転送する。なお、合致するフローエントリが存在しないパケットは、ファーストパケット（First Packet）と呼ばれる。ＯＦＣは、ＯＦＳのネットワークのトポロジ情報を保持している。そして、ＯＦＣは、ＯＦＳからパケットを受信するとそのパケットの宛先および送信元の情報と、トポロジ情報とに基づいて、そのパケットのパスを決定する。さらに、ＯＦＣは、そのパス上の各ＯＦＳに対して、それぞれフローエントリを決定し、パス上のＯＦＳ毎にフローエントリを設定する。最初にＯＦＳが受信したパケットは、そのフローエントリに従って、決定されたパスに沿って、次のＯＦＳに順次転送される。２番目以降のパケットも、そのパスに沿って、次のＯＦＳに順次転送される。【０００５】
図１３は、フローテーブル内のフローエントリの例を示す説明図である。フローエントリは、フロー毎に定められている。フローエントリは、パケットヘッダと照合されるルールと、フローに対する処理を定義したアクションと、フロー統計情報（Statistics）とを含む。パケットヘッダと照合されるルールは、正確な値であっても、ワイルドカードであってもよい。アクションは、ルールに合致したパケットに適用される。フロー統計情報は、アクティビティカウンタとも呼ばれる。フロー統計情報は、例えば、アクティブエントリ数、パケットルックアップ数、パケットマッチ数を含む。また、フロー統計情報は、例えば、フロー単位で、受信パケット数、受信バイト数、フローがアクティブな期間を含む。また、フロー統計情報は、例えば、ポート単位で、受信パケット数、送信パケット数、受信バイト数、送信バイト数、受信ドロップ数、受信エラー数、送信エラー数、受信フレームアラインメントエラー数、受信オーバーランエラー数、受信ＣＲＣ（Cyclic Redundancy Check ）エラー数、コリジョン数を含む。【０００６】
ＯＦＳは、パケットを受信すると、フローテーブル内の各フローエントリのルールとパケットとを照合する。パケットに合致するフローエントリがない場合には、ＯＦＳは、そのパケットをファーストパケットとして扱い、セキュアチャネルを介してそのパケットをＯＦＣに送信する。ＯＦＳは、そのＯＦＳが有しているフローエントリに対して、フローエントリの追加、変更、削除を行う。【０００７】
図１４は、パケットヘッダを示す模式図である。ＤＡは、ディスティネーションアドレスを意味する。また、ＳＡは、ソースアドレスを意味する。ＯＦＳは、フローエントリ内のルールとパケットとの照合に、例えば、パケットヘッダ内のＭＡＣ（Media Access Control）  ＤＡ、ＭＡＣ  ＳＡ、Ethernet（登録商標）タイプ（TPID）、ＶＬＡＮ  ＩＤ（Virtual Local Area Network Identification ）、ＶＬＡＮ  ＴＹＰＥ（優先度）、ＩＰ  ＳＡ（Internet Protocol SA）、ＩＰ  ＤＡ、ＩＰプロトコル、Source Port （TCP/UDP ソースポート、あるいは、ＩＣＭＰ（Internet Control Message Protocol） Ｔｙｐｅ）、Destination Port（TCP/UDP ディスティネーションポート、あるいは、ＩＣＭＰ  Ｃｏｄｅ）を用いる（図１４参照）。【０００８】
図１５は、アクション名とアクションの内容の例を示す説明図である。“OUTPUT”は、指定ポート（インタフェース）に出力することを意味する。“SET_VLAN_VID”から“SET_TP_DST”までのアクションは、それぞれ、パケットヘッダのフィールドを修正するアクションである。【０００９】
また、ＯＦＳは、パケットを、物理ポートや、以下に示す仮想ポートから出力する。図１６は、仮想ポートの例を示す説明図である。“IN_PORT ”は、パケットを入力ポートから送信することを意味する。“NORMAL”は、ＯＦＳがサポートする既存の転送パスを用いてパケットを処理することを意味する。“FLOOD ”は、パケットを受信したポートを除く通信可能状態（Forwarding状態）の全てのポートからパケットを送信することを意味する。“ALL ”は、パケットを受信したポートを除く全ポートからパケットを送信することを意味する。“CONTROLLER”は、パケットをカプセル化してＯＦＣに送信することを意味する。“LOCAL ”は、パケットをＯＦＳ自身のネットワークスタックに送信することを意味する。アクションが指定されていないフローエントリに合致したパケットはドロップ（破棄）される。【００１０】
図１７は、セキュアチャネルを介して授受されるメッセージの例を示す説明図である。“Flow-mod”は、ＯＦＣがＯＦＳに対して、フローエントリの追加、変更、削除を行うためのメッセージである。“Packet-in ”は、ＯＦＳからＯＦＣに対して送られるメッセージである。“Packet-in ”は、フローエントリに合致しなかったパケットをＯＦＣに送るために用いられる。“Packet-out”は、ＯＦＣからＯＦＳに対して送られるメッセージである。“Packet-out”は、ＯＦＣが生成したパケットをＯＦＳの任意のポートから出力するために用いられる。“Port-status ”は、ＯＦＳからＯＦＣに対して送られるメッセージである。“Port-status ”は、ポートの状態が変化したことをＯＦＣに通知するために用いられる。例えば、ポートに接続しているリンクに故障が発生した場合、リンクダウン状態になったことを通知するために“Port-status ”が用いられる。“Flow-Removed”は、ＯＦＳからＯＦＣに対して送られるメッセージである。“Flow-Removed”は、フローエントリが一定時間使用されず、タイムアウトでＯＦＳから消去される場合に、その旨をＯＦＣに通知するために使用される。【００１１】
以上、OpenFlow1.0におけるＯＦＳ，ＯＦＣの概略を説明した。【００１２】
非特許文献３には、ＯＦＳで構成されたネットワークをＩＰネットワークとして動作させるためのＯＦＣの実装が提案されている。図１８は、非特許文献３で提案されている構成例を示す模式図である。図１８に示す例では、ＯＦＳ６２〜６５が制御対象ネットワーク６０に含まれる。また、ルータ６６〜６９が、図１８に示すようにＯＦＳ６２〜６５に接続されている。ＩＰネットワークのエミュレーションを行うためには、ＯＳＰＦ（Open Shortest Path First）等の経路制御プロトコルの機能を有する制御プロトコル処理部７４を設ける必要がある。経路制御プロトコルによって収集された経路情報に基づいて、宛先ＩＰアドレス毎にフローエントリが作成され、ＯＦＳ６２〜６５に設定される。QuagFlowでは、経路制御プロトコルの機能を有する仮想マシン７２をＯＦＣ７１とは別に設け、ＯＦＣ７１と連携させることでこの機能を実現している。仮想マシン７２には、オープンソースで公開されている経路制御ソフトウェアであるQuaggaに従って動作する制御プロトコル処理部７４が含まれる。ＯＦＳ側で受け取った経路制御プロトコルのメッセージは、ＯＦＣ７１が、仮想マシン７２内で動作する中継エージェント７３に送信する。そして、その制御メッセージは、ＴＡＰインタフェース７５〜７８経由で制御プロトコル処理部７４まで送られる。Quaggaから見ると、Ｌｉｎｕｘ（登録商標）がルータとして動作している環境と変わらない。そのため、Quaggaを特に改造せずに用いることができる。【００１３】
また、特許文献１には、中継装置が受信したパケットを制御装置に送るシステムが開示されている。特許文献１に記載のシステムでは、制御装置は、中継装置から送られてきたパケットがどのインタフェースで受信したものかを判別するために、中継装置のアドレス情報に対応付けられたシンボルを用いる。特許文献１に記載された中継装置として、ルータのようにインタフェース毎にアドレスが割り当てられている装置を用いることができる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００４−３２０６９４号公報
【非特許文献】
【００１５】
【非特許文献１】Nick Mckeown, 外７名、“OpenFlow: Enabling Innovation in Campus Networks”、２００８年３月１４日、［平成２５年９月１１日検索］、インターネット<http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>
【非特許文献２】“OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01)”、２００９年１２月３１日、［平成２５年９月１１日検索］、インターネット<http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf>
【非特許文献３】Marcelo Ribeiro Nascimento, 外３名、“QuagFlow: Partnering Quagga with OpenFlow”、［平成２５年９月１１日検索］、インターネット<http://conferences.sigcomm.org/sigcomm/2010/papers/sigcomm/p441.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１６】
経路制御プロトコルに従って動作する制御プロトコル処理装置が経路情報を収集し、ＯＦＣがその経路情報を利用してフローエントリを作成する構成では、制御プロトコル処理装置に経路情報を通知するための制御メッセージ（以下、経路制御メッセージと記す。）を送る必要がある。【００１７】
非特許文献３に記載された技術では、ＯＦＳは、受け取った経路制御メッセージを、オープンフローの“Packet-in ”メッセージを用いてＯＦＣ７１に送る。経路制御メッセージは、ＯＦＣ７１から、仮想マシン７２に用意された中継エージェント７３に送られ、仮想インタフェースを介して、制御プロトコル処理部７４に送られる（図１８参照）。従って、制御プロトコル処理部７４に送られる経路制御メッセージを、ＯＦＣ７１が全て中継するため、ＯＦＣ７１の処理負荷が大きくなる。【００１８】
また、特許文献１に記載された発明をオープンフローに適用する場合、ＯＦＳを中継装置として用いることが考えられる。しかし、ＯＦＳでは、インタフェース毎にアドレスが割り当てられていないため、ＯＦＳは、特許文献１に記載された中継装置として用いることができない。また、特許文献１に記載の技術では、中継装置は、制御装置にパケットを送信する際、パケットにシンボルを付加する必要がある。すると、パケット長が長くなったり、パケット加工負荷が高くなったりする。【００１９】
そこで、本発明は、転送装置を制御する制御装置の負荷を増加させることなく、制御装置とは別に設けられた装置に制御メッセージを送ることを実現できるようにすることを目的とする。
【課題を解決するための手段】
【００２０】
本発明による制御装置は、パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置であって、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を備えることを特徴とする。【００２１】
また、本発明によるネットワークシステムは、パケットを転送する複数の転送装置と、転送装置のパケット転送動作を制御する制御装置とを備えるネットワークシステムであって、制御装置が、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を含むことを特徴とする。【００２２】
また、本発明によるパケット転送制御方法は、パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置が、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成することを特徴とする。【００２３】
また、本発明による制御装置用プログラムは、パケットを転送する複数の転送装置のパケット転送動作を制御するコンピュータに搭載される制御装置用プログラムであって、コンピュータに、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成処理を実行させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、転送装置を制御する制御装置の負荷を増加させることなく、制御装置とは別に設けられた装置に制御メッセージを送ることを実現できる。
【図面の簡単な説明】
【００２５】
【図１】本発明のネットワークシステムの例を示す説明図である。
【図２】本発明の第１の実施形態の制御装置の構成例を示すブロック図である。
【図３】トポロジＤＢの例を示す説明図である。
【図４】インタフェース対応ＤＢの例を示す説明図である。
【図５】制御装置がスイッチに対して制御用転送規則を設定する際の処理経過の例を示すフローチャートである。
【図６】制御装置がスイッチに対して制御用転送規則を設定する際の処理経過の例を示すフローチャートである。
【図７】本発明の第２の実施形態の制御装置の構成例を示すブロック図である。
【図８】第２の実施形態におけるインタフェース対応ＤＢの例を示す説明図である。
【図９】第２の実施形態において、制御装置がスイッチに対して制御用転送規則を設定する際の処理経過の例を示すフローチャートである。
【図１０】第２の実施形態において、制御装置がスイッチに対して制御用転送規則を設定する際の処理経過の例を示すフローチャートである。
【図１１】本発明の制御装置の概要を示すブロック図である。
【図１２】本発明のネットワークシステムの概要を示すブロック図である。
【図１３】フローテーブル内のフローエントリの例を示す説明図である。
【図１４】パケットヘッダを示す模式図である。
【図１５】アクション名とアクションの内容の例を示す説明図である。
【図１６】仮想ポートの例を示す説明図である。
【図１７】セキュアチャネルを介して授受されるメッセージの例を示す説明図である。
【図１８】非特許文献３で提案されている構成例を示す模式図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図面を参照して説明する。
【００２７】
実施形態１．
図１は、本発明のネットワークシステムの例を示す説明図である。本発明のネットワークシステムは、制御装置３１と、制御プロトコル処理装置３０と、スイッチ２１〜２５とを備える。各スイッチ２１〜２５によって、制御対象ネットワーク４０が形成される。図１では５台のスイッチを図示したが、制御対象ネットワーク４０を形成するスイッチの台数は限定されない。図１に示す“0x22”等はスイッチのＩＤである。また、制御対象ネットワーク４０を利用してデータを送信しようとする者（ここでは、顧客とする。）は、ルータ１２〜１５を備える。以下、ルータ１２〜１５を顧客側ルータと記す。顧客側ルータの台数も限定されない。各顧客側ルータ１２〜１５は、制御対象ネットワーク４０を介してデータ（パケット）を送信する場合における制御対象ネットワーク４０内の経路（顧客側ルータ間の経路）を示す経路情報を予め保持している。
【００２８】
制御装置３１と、個々のスイッチ２１〜２５とは、個別にセキュアチャネルで接続されている。図１に示す例では、セキュアチャネルを点線で図示している。セキュアチャネルは、顧客側ルータ間でパケットを送受信するための経路とは別に設けられている。そして、制御装置３１は、オープンフローを用いて各スイッチ２１〜２５を制御する。
【００２９】
制御対象ネットワーク４０を形成するスイッチ２１〜２５をノードとして転送されるパケットには、顧客側ルータ間で送受信されるパケットと、顧客側ルータが保持する経路情報を制御プロトコル処理装置３０に通知するための経路制御メッセージとがある。
【００３０】
制御プロトコル処理装置３０は、経路情報を取得するための制御プロトコルに従って、顧客側ルータ１２〜１５との間で経路制御メッセージを送受信することによって、顧客側ルータ間で送受信されるパケットの経路情報を収集する。ここで、各顧客側ルータ１２〜１５と制御プロトコル処理装置３０との間の経路制御メッセージの転送経路は、制御装置３１が決定する。そして、制御装置３１は、その転送経路上のスイッチ毎に、経路制御メッセージを次のノードに転送するための転送規則（以下、制御用転送規則と記す。）を決定し、転送経路上の各スイッチに制御用転送規則を設定する。この結果、顧客側ルータ１２〜１５と制御プロトコル処理装置３０との間で、経路制御メッセージの送受信が可能となる。
【００３１】
制御プロトコル処理装置３０は、顧客側ルータ１２〜１５から収集した経路情報を制御装置３１に通知する。制御装置３１は、その経路情報に基づいて、顧客側ルータ間で授受されるパケットの転送経路上のスイッチ毎に、パケットを次のノードに転送するための転送規則（以下、データ用転送規則と記す。）を決定し、その転送経路上の各スイッチにデータ用転送規則を設定する。この結果、顧客側ルータ間でのパケットの送受信が可能となる。
【００３２】
また、制御用転送規則およびデータ用転送規則は、いずれもフローエントリであると言える。
【００３３】
図２は、本発明の第１の実施形態の制御装置の構成例を示すブロック図である。第１の実施形態における制御装置３１は、転送規則送出部３２と、制御用転送規則生成部３３と、制御用転送パス計算部３４と、トポロジデータベース（以下、トポロジＤＢと記す。）記憶部３５と、インタフェース対応データベース（以下、インタフェース対応ＤＢと記す。）記憶部３６と、データ用転送規則生成部３７と、優先度調整部３８とを備える。
【００３４】
トポロジＤＢ記憶部３５は、トポロジＤＢを記憶する記憶装置である。トポロジＤＢは、制御装置３１が管理する制御対象ネットワーク４０内の各スイッチ間の接続情報の集合である。トポロジＤＢは、予めトポロジＤＢ記憶部３５に記憶される。トポロジＤＢを収集してトポロジＤＢ記憶部３５に記憶させる方法は特に限定されない。図３は、トポロジＤＢの例を示す説明図である。トポロジＤＢは、上流スイッチＩＤ４１と、上流スイッチ側の出力ポート番号４２と、下流スイッチＩＤ４３と、下流スイッチ側の入力ポート番号４４とを含むエントリを複数有している。１つのエントリによって、リンクの上流側の端部となるスイッチのポートおよびリンクの下流側の端部となるスイッチのポートが特定される。例えば、図３に示す１番目のエントリは、ＩＤが“0x21”であるスイッチの５番ポートから、ＩＤが“0x22”であるスイッチの１番ポートに至るリンクが存在することを示している。
【００３５】
インタフェース対応ＤＢ記憶部３６は、インタフェース対応ＤＢを記憶する記憶装置である。インタフェース対応ＤＢは、顧客側ルータと制御プロトコル処理装置３０のインタフェースの対応関係を示す情報の集合である。インタフェース対応ＤＢを収集してインタフェース対応ＤＢ記憶部３６に記憶させる方法は特に限定されない。例えば、人手でインタフェース対応ＤＢを作成しインタフェース対応ＤＢ記憶部３６に記憶させてもよい。
【００３６】
図４は、インタフェース対応ＤＢの例を示す説明図である。インタフェース対応ＤＢは、顧客側ルータに接続されるスイッチのＩＤ５０と、そのスイッチにおいて顧客側ルータに接続されるポートのポート番号５１と、顧客側ルータのＭＡＣアドレス５２と、顧客側ルータのＩＰアドレス５３と、顧客側ルータのＬ４（Layer 4 ）ポート番号５４と、制御プロトコル処理装置３０に接続されるスイッチのＩＤ５５と、そのスイッチにおいて制御プロトコル処理装置３０に接続されるポートのポート番号５６と、制御プロトコル処理装置３０のインタフェースのＭＡＣアドレス５７と、制御プロトコル処理装置３０のインタフェースのＩＰアドレス５８と、制御プロトコル処理装置３０のインタフェースのＬ４ポート番号５９の１０個の項目を含むエントリを複数有する。
【００３７】
インタフェース対応ＤＢの１つのエントリは、１つの顧客側ルータに対応している。例えば、図４に示す１番目のエントリ４５は、顧客側ルータ１２に関して、制御プロトコル処理装置３０との間の対応関係を表している。具体的には、図４に示す１番目のエントリ４５は、顧客側ルータに接続されるスイッチのＩＤが“0x22”であり、その顧客側ルータがそのスイッチの３番ポートに接続されることを示している。ＩＤが“0x22”であるスイッチの３番ポートに接続されている顧客側ルータ１２（図１参照）がこのエントリ４５における顧客側ルータである。また、エントリ４５は、顧客側ルータ１２のＭＡＣアドレスおよびＩＰアドレスが、それぞれ、“xx:xx:xx:xx:xx:01 ”、“192.168.0.1 ”であることを示している。また、エントリ４５は、制御プロトコル処理装置３０に接続されるスイッチのＩＤが“0x21”であり、制御プロトコル処理装置３０がそのスイッチの１番ポートに接続されることを示している。従って、ＩＤが“0x21”であるスイッチの１番ポートに接続される制御プロトコル処理装置３０のインタフェース１（図１参照）が、顧客側ルータ１２に対応していることがわかる。また、エントリ４５は、その制御プロトコル処理装置３０のインタフェース１のＭＡＣアドレスおよびＩＰアドレスが、それぞれ、“xx:xx:xx:xx:xx:02 ”、“192.168.0.2 ”であることを示している。また、エントリ４５において、顧客側ルータ１２のＬ４ポート番号と、制御プロトコル処理装置３０のインタフェース１のＬ４ポート番号はともに１７９である。このことは、顧客側ルータ１２と制御プロトコル処理装置３０のインタフェース１との間で、ＴＣＰ等のＬ４プロトコルにおけるポート番号１７９を用いて経路制御メッセージが送受信されることを意味している。また、図４に示す２番目から４番目までの各エントリ４６〜４８に示すように、顧客側ルータのＭＡＣアドレス５２、顧客側ルータのＩＰアドレス５３、顧客側ルータのＬ４ポート番号５４、制御プロトコル処理装置３０のインタフェースのＭＡＣアドレス５７、制御プロトコル処理装置３０のインタフェースのＩＰアドレス５８、および制御プロトコル処理装置３０のインタフェースのＬ４ポート番号５９の各項目に対しては、ワイルドカードが指定されていてもよい。
【００３８】
制御用転送パス計算部３４は、トポロジＤＢに基づいて、インタフェース対応ＤＢが示すスイッチ間のパスを計算する。例えば、制御用転送パス計算部３４は、図４に示すエントリ４５に着目した場合、ＩＤが“0x22”であるスイッチとＩＤが“0x21”であるスイッチとの間のパスを計算する。制御用転送パス計算部３４は、計算したパスを制御用転送規則生成部３３に送る。
【００３９】
制御用転送規則生成部３３は、制御用転送パス計算部３４によって計算されたパス上のスイッチ毎に、そのパスに沿って経路制御メッセージを次のノードに転送するための制御用転送規則を生成する。制御用転送規則生成部３３は、生成した制御用転送規則を転送規則送出部３２に送る。
【００４０】
また、データ用転送規則生成部３７は、制御プロトコル処理装置３０が収集した経路情報が示す経路上のスイッチ毎に、その経路に沿ってパケットを次のノードに転送するためのデータ用転送規則を生成する。データ用転送規則生成部３７は、生成したデータ用転送規則を転送規則送出部３２に送る。また、データ用転送規則生成部３７は、生成するデータ用転送規則に優先度を定める。優先度が高いということは、スイッチがパケットを受信したときにスイッチによって参照される優先度が高いことを意味する。
【００４１】
また、優先度調整部３８は、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度を確認する。そして、優先度調整部３８は、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度よりも高い優先度を転送規則送出部３２に通知する。例えば、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度が１００００〜１２０００の範囲であるとする。この場合、優先度調整部３８は、その優先度の範囲よりも高い優先度（例えば、１５０００）を転送規則送出部３２に通知する。
【００４２】
転送規則送出部３２は、制御用転送規則生成部３３によって生成された制御用転送規則をその制御用転送規則に対応するスイッチに送信する。このとき、転送規則送出部３２は、優先度調整部３８から通知された優先度も制御用転送規則と併せてスイッチに送信する。また、転送規則送出部３２は、データ用転送規則生成部３７によって生成されたデータ用転送規則およびその優先度をそのデータ用転送規則に対応するスイッチに送信する。
【００４３】
制御用転送パス計算部３４、制御用転送規則生成部３３、データ用転送規則生成部３７、優先度調整部３８、および転送規則送出部３２は、例えば、制御装置用プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、例えば、プログラム記憶装置（図示略）に記憶された制御装置用プログラムをＣＰＵが読み込み、ＣＰＵがその制御装置用プログラムに従って、制御用転送パス計算部３４、制御用転送規則生成部３３、データ用転送規則生成部３７、優先度調整部３８、および転送規則送出部３２として動作すればよい。また、制御用転送パス計算部３４、制御用転送規則生成部３３、データ用転送規則生成部３７、優先度調整部３８、および転送規則送出部３２が別々のハードウェアで実現されてもよい。
【００４４】
次に、動作について説明する。
図５および図６は、制御装置３１がスイッチに対して制御用転送規則を設定する際の処理経過の例を示すフローチャートである。以下、スイッチをＩＤを用いて、スイッチ“0x22”等のように記す。
【００４５】
まず、制御用転送パス計算部３４は、インタフェース対応ＤＢから、未処理のエントリを１つ選択する（ステップＳ１）。
【００４６】
次に、制御用転送パス計算部３４は、選択したエントリ中の顧客側ルータに接続されるスイッチを始点とし、制御プロトコル処理装置３０に接続されるスイッチを終点とするパスを、トポロジＤＢに含まれる接続情報（スイッチ間の接続情報）に基づいて計算する（ステップＳ２）。制御用転送パス計算部３４は、例えば、最短パスを計算するアルゴリズムであるダイクストラ法を用いてパスを計算する。ただし、ダイクストラ法は例示であり、制御用転送パス計算部３４は、他の方法で計算してもよい。例えば、ステップＳ１で選択したエントリが図４に示すエントリ４５であるとする。この場合、顧客側ルータに接続されるスイッチは、スイッチ“0x22”であり、このスイッチが始点となる。また、制御プロトコル処理装置３０に接続されるスイッチは、スイッチ“0x21”であり、このスイッチが終点となる。ダイクストラ法を用いてパスを計算する場合、始点から終点までのパスは、スイッチ“0x22”→スイッチ“0x21”というパスとなる（図１参照）。また、例えば、ステップＳ１で図４に示すエントリ４６を選択している場合、始点から終点までのパスは、スイッチ“0x24”→スイッチ“0x22”→スイッチ“0x21”というパスが計算される（図１参照）。
【００４７】
また、制御用転送パス計算部３４は、ステップＳ２において、始点と終点を逆にしたパスも計算する。すなわち、制御用転送パス計算部３４は、制御プロトコル処理装置３０に接続されるスイッチを始点とし、顧客側ルータに接続されるスイッチを終点とするパスも計算する。例えば、制御用転送パス計算部３４がエントリ４５（図４参照）を選択し、上記のように、スイッチ“0x22”→スイッチ“0x21”というパスを計算する場合、制御用転送パス計算部３４は、その逆向きのスイッチ“0x21”→スイッチ“0x22”というパスも計算する。すなわち、制御用転送パス計算部３４は、ステップＳ２で、互いに逆方向である２つのパスを計算する。
【００４８】
また、制御用転送パス計算部３４は、互いに逆方向である２つのパスを導出する際、両方をダイクストラ法等で計算しなくてもよい。例えば、顧客側ルータに接続されるスイッチを始点とし、制御プロトコル処理装置３０に接続されるスイッチを終点とするパスをダイクストラ法等で計算した後、そのパス上のスイッチを逆順に並べることによって、始点と終点を逆にしたパスを導出してもよい。
【００４９】
制御用転送パス計算部３４は、ステップＳ２で計算した２つのパスを示す情報と、ステップＳ１で選択したエントリとを併せて、制御用転送規則生成部３３に送る（ステップＳ３）。
【００５０】
次に、制御用転送規則生成部３３は、制御用転送パス計算部３４から送られてきた２つの各パス上の各スイッチのうち、以降の処理（具体的にはステップＳ５，Ｓ６）を行っていないスイッチを１つ選択する（ステップＳ４）。なお、制御用転送規則生成部３３は、互いに逆方向である２つのパス上のスイッチをそれぞれ別個に選択する。例えば、スイッチ“0x24”→スイッチ“0x22”→スイッチ“0x21”というパスにおけるスイッチ“0x22”と、その逆向きのスイッチ“0x21”→スイッチ“0x22”→スイッチ“0x24”というパスにおけるスイッチ“0x22”とを別個に選択する。
【００５１】
次に、制御用転送規則生成部３３は、ステップＳ１で選択されたエントリに基づいて、フローエントリ（ここでは、制御用転送規則）内の、パケット照合に用いるルールを作成する（ステップＳ５）。例えば、ステップＳ１で選択されたエントリが、図４に示すエントリ４５であるとする。この場合、制御用転送規則生成部３３は、顧客側ルータのＭＡＣアドレス“xx:xx:xx:xx:xx:01 ”を、ルール中の送信元ＭＡＣアドレスとして指定する。同様に、制御用転送規則生成部３３は、顧客側ルータのＩＰアドレス“192.168.0.1 ”を、ルール中の送信元ＩＰアドレスとして指定する。また、制御用転送規則生成部３３は、顧客側ルータのＬ４ポート番号“１７９”を、ルール中の送信元ＴＣＰポート番号として指定する。また、制御用転送規則生成部３３は、制御プロトコル処理装置３０のインタフェースのＭＡＣアドレス“xx:xx:xx:xx:xx:02 ”を、ルール中の宛先ＭＡＣアドレスとして指定する。また、制御用転送規則生成部３３は、制御プロトコル処理装置３０のインタフェースのＩＰアドレス“192.168.0.2 ”を、ルール中の宛先ＩＰアドレスとして指定する。また、制御プロトコル処理装置３０のインタフェースのＬ４ポート番号を、ルール中の宛先ＴＣＰポート番号として指定する。
【００５２】
次に、制御用転送規則生成部３３は、ステップＳ５で作成したルールに対して、パスに沿って次のノードにパケット（ここでは、経路制御メッセージ）を転送させるアクションを付与することで、フローエントリ（ここでは、制御用転送規則）を完成させる。そして、制御用転送規則生成部３３は、そのフローエントリを転送規則送出部３２に送る（ステップＳ６）。
【００５３】
スイッチ“0x21”→スイッチ“0x22”→スイッチ“0x24”というパスにおけるスイッチ“0x22”がステップＳ４で選択されている場合を例にして、ステップＳ６の処理の例を示す。スイッチ“0x22”の次のノードはスイッチ“0x24”であり、スイッチ“0x22”において、スイッチ“0x24”にパケットを転送するために用いるポートは、４番ポートである（図１参照）。従って、制御用転送規則生成部３３は、４番ポートからパケットを送信するというアクションを定める。
【００５４】
ステップＳ６の後、制御用転送規則生成部３３は、ステップＳ３で制御用転送パス計算部３４から送られてきた２つの各パス上の全てのスイッチに対して、ステップＳ５，Ｓ６の処理が完了したか否かを判定する（ステップＳ７）。ステップＳ５，Ｓ６の処理が完了していないスイッチが存在する場合（ステップＳ７のＮｏ）、制御用転送規則生成部３３は、ステップＳ４以降の処理を繰り返す。
【００５５】
ステップＳ４〜Ｓ７の処理を繰り返すことで、ステップＳ２で求められた互いに逆向きの２つのパス上の各スイッチについて、パスに沿って次のノードに経路制御メッセージを転送するための制御用転送規則が得られる。
【００５６】
また、転送規則送出部３２は、優先度調整部３８から優先度の通知を受ける（ステップＳ８）。すなわち、優先度調整部３８は、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度よりも高い優先度を転送規則送出部３２に通知する。そして、転送規則送出部３２は、その優先度を受ける。
【００５７】
転送規則送出部３２は、制御用転送規則生成部３３によって生成された各制御用転送規則と、優先度調整部３８から通知された優先度とを、制御用転送規則に対応するスイッチに送信する（ステップＳ９）。転送規則送出部３２は、ＯｐｅｎＦｌｏｗプロトコルを用いて制御用転送規則を各スイッチに送信する。各スイッチは、転送規則送出部３２から受信した制御用転送規則をフローエントリとして保持する。すなわち、転送規則送出部３２は、制御用転送規則をスイッチに送信することによって、スイッチに対する制御用転送規則の設定を行う。
【００５８】
ステップＳ９の後、制御用転送パス計算部３４は、インタフェース対応ＤＢ中の全てのエントリを選択済みであるか否かを判定する（ステップＳ１０）。インタフェース対応ＤＢ中に未選択のエントリがあれば（ステップＳ１０のＮｏ）、ステップＳ１に移行し、ステップＳ１以降の処理を繰り返す。インタフェース対応ＤＢ中の全てのエントリが選択済みであれば（ステップＳ１０のＹｅｓ）、処理を終了する。
【００５９】
各スイッチに制御用転送規則が設定されることで、顧客側ルータ１２〜１５と制御プロトコル処理装置３０との間で、経路制御メッセージの送受信が可能となる。そして、顧客側ルータ１２〜１５および制御プロトコル処理装置３０が、制御対象ネットワーク４０内のスイッチを介して経路制御メッセージを送受信することによって、制御プロトコル処理装置３０は、各顧客側ルータ１２〜１５が予め保持している経路情報を収集する。
【００６０】
制御プロトコル処理装置３０は、各顧客側ルータ１２〜１５から収集した経路情報を制御装置３１に送信する。そして、制御装置３１内のデータ用転送規則生成部３７がその経路情報を取得する。データ用転送規則生成部３７は、その経路情報に基づいて、データに該当するパケットを顧客側ルータ同士が送受信するときの経路を特定し、その経路情報のスイッチ毎に、パケットを次のノードに転送するためのデータ用転送規則を作成する。このとき、データ用転送規則生成部３７は、データ用転送規則の優先度も定める。データ用転送規則生成部３７は、経路上の各スイッチに対して作成したデータ用転送規則およびその優先度を転送規則送出部３２に送る。転送規則送出部３２は、それぞれのデータ用転送規則およびその優先度を、データ用転送規則に対応するスイッチに送信する。各スイッチは、転送規則送出部３２から受信したデータ用転送規則をフローエントリとして保持する。すなわち、転送規則送出部３２は、データ用転送規則をスイッチに送信することによって、スイッチに対するデータ用転送規則の設定を行う。そして、各スイッチにデータ用転送規則が設定されることで、顧客側ルータ１２〜１５同士の間で、データに該当するパケットの送受信が可能となる。
【００６１】
本実施形態によれば、制御装置３１が、顧客側ルータ１２〜１５と制御プロトコル処理装置３０とが経路制御メッセージを送受信する際のパスを決定し、そのパス上の各スイッチ毎に、制御用転送規則を定める。そして、制御装置３１は、そのパス上のスイッチに制御用転送規則を送信することによってスイッチに制御用転送規則を設定する。従って、経路制御メッセージは、制御対象ネットワーク４０内のスイッチを介して各顧客側ルータ１２〜１５と制御プロトコル処理装置３０との間で授受される。よって、制御装置３１が経路制御メッセージを中継することはなく、制御装置３１の処理負荷の増加を防ぐことができる。
【００６２】
また、本発明と特許文献１に記載の技術とを比較する。特許文献１に記載の技術では、中継装置は、制御装置にパケットを送信する際、パケットにシンボルを付加する必要がある。これに対して、本発明では、制御プロトコル処理装置３０は、顧客側ルータ１２〜１５から収集した経路情報に対して、そのようなシンボルを付加することなく、制御装置３１に送信してよい。従って、制御装置３１内のデータ用転送規則生成部３７が経路情報を取得する過程で、経路情報のデータ長が長くなったり、経路情報に対する加工負荷が生じたりすることを防ぐことができる。
【００６３】
また、本実施形態では、経路制御メッセージを転送するために用いる制御用転送規則の優先度は、顧客側ルータ間で授受されるパケットを転送するために用いるデータ用転送規則の優先度よりも高い。そのため、顧客側ルータ１２〜１５からのトラフィックのうち、経路制御メッセージのみを制御プロトコル処理装置３０に送り、それ以外のパケットを他の顧客側ルータに送ることができる。
【００６４】
実施形態２．
第２の実施形態のネットワークシステムの構成例は、図１と同様に表すことができるので、図１を参照して説明する。ただし、第２の実施形態における制御装置３１の構成は、第１の実施形態における制御装置３１の構成とは一部異なる。
【００６５】
第２の実施形態では、スイッチは、フローエントリに合致しない経路制御メッセージを受信した場合、Packet-in メッセージを制御装置３１に送信することによって、その経路制御メッセージを制御装置３１に送る。制御装置３１は、Packet-in メッセージによって経路制御メッセージを取得した場合、その経路制御メッセージを送信元から宛先まで転送するためのパスを決定する。そして、制御装置３１は、そのパス上のスイッチ毎に制御用転送規則を定め、その各スイッチに制御用転送規則を設定する。すなわち、第２の実施形態では、ファーストパケットに該当する経路制御メッセージを制御装置３１が取得したことを契機に、制御装置３１は、その経路制御メッセージを送信元から宛先まで転送するためのパスを決定し、そのパス上のスイッチ毎に制御用転送規則を定める。
【００６６】
図７は、本発明の第２の実施形態の制御装置の構成例を示すブロック図である。本実施形態における制御装置３１は、第１の実施形態の制御装置３１が備える要素に加え、Packet-in 受信部８１と、パケット種別判別部８２とを備える。また、本実施形態において、インタフェース対応ＤＢ記憶部３６が記憶するインタフェース対応ＤＢは、第１の実施形態におけるインタフェース対応ＤＢと一部異なる。また、制御用転送パス計算部３４、制御用転送規則生成部３３、および優先度調整部３８の動作が、第１の実施形態におけるそれらの要素の動作と一部異なる。また、トポロジＤＢ記憶部３５、データ用転送規則生成部３７および転送規則送出部３２は、第１の実施形態におけるそれらの要素と同様であり、説明を省略する。
【００６７】
スイッチは、フローエントリに合致しないパケット（換言すれば、ファーストパケット）を受信した場合、ＯｐｅｎＦｌｏｗプロトコルにおけるPacket-in メッセージにそのパケットを含める。また、スイッチは、Packet-in メッセージの送信元の情報として、そのスイッチのＩＤをPacket-in メッセージに含める。また、スイッチは、そのファーストパケットを受信したポート番号もPacket-in メッセージに含める。そして、スイッチは、セキュアチャネルを介して、Packet-in メッセージを制御装置３１に送信する。
【００６８】
Packet-in 受信部８１は、上記のPacket-in メッセージを、セキュアチャネルを介して受信する。そして、Packet-in 受信部８１は、Packet-in メッセージからパケットを取り出す。また、Packet-in 受信部８１は、Packet-in メッセージから、そのPacket-in メッセージの送信元スイッチのＩＤ（すなわち、ファーストパケットを受信したスイッチのＩＤ）と、そのスイッチがファーストパケットを受信したポート番号も抽出する。そして、Packet-in 受信部８１は、Packet-in メッセージから取り出したパケット、スイッチのＩＤ、およびポート番号をあわせて、パケット種別判別部８２に送る。
【００６９】
パケット種別判別部８２は、Packet-in 受信部８１から取得したパケットを解析し、そのパケットが経路制御メッセージであるか否かを判別する。そのパケットが経路制御メッセージである場合、パケット種別判別部８２は、そのパケット（経路制御メッセージ）と、Packet-in 受信部８１から取得したスイッチのＩＤおよびポート番号とを制御用転送パス計算部３４に送る。
【００７０】
また、Packet-in 受信部８１から取得したパケットが経路制御メッセージでない場合、パケット種別判別部８２は、そのパケットを制御用転送パス計算部３４に送ることなく処理を終了する。
【００７１】
インタフェース対応ＤＢ記憶部３６は、インタフェース対応ＤＢを記憶する。ただし、第２の実施形態におけるインタフェース対応ＤＢは、第１の実施形態におけるインタフェース対応ＤＢとは異なる。図８は、第２の実施形態におけるインタフェース対応ＤＢの例を示す説明図である。本実施形態では、インタフェース対応ＤＢに含まれる各エントリは、顧客側ルータに接続されるスイッチのＩＤ５０と、そのスイッチにおいて顧客側ルータに接続されるポートのポート番号５１と、制御プロトコル処理装置３０に接続されるスイッチのＩＤ５５と、そのスイッチにおいて制御プロトコル処理装置３０に接続されるポートのポート番号５６とを含んでいればよい。なお、それぞれのエントリ４５ａ〜４８ａは、１つの顧客側ルータに対応している。この点は、第１の実施形態と同様である。
【００７２】
制御用転送パス計算部３４は、第１の実施形態とは異なり、パケット種別判別部８２からパケット（経路制御メッセージ）、スイッチのＩＤおよびポート番号が送られてきたことを契機に、パスの作成を行う。
【００７３】
制御用転送規則生成部３３は、そのパケット（経路制御メッセージ）を用いて、制御用転送規則を生成する。
【００７４】
第２の実施形態における優先度調整部３８は、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度を確認する。そして、優先度調整部３８は、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度よりも低い優先度を転送規則送出部３２に通知する。
【００７５】
制御用転送パス計算部３４、制御用転送規則生成部３３、データ用転送規則生成部３７、優先度調整部３８、転送規則送出部３２、Packet-in 受信部８１およびパケット種別判別部８２は、例えば、制御装置用プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、例えば、プログラム記憶装置（図示略）に記憶された制御装置用プログラムをＣＰＵが読み込み、ＣＰＵがその制御装置用プログラムに従って、制御用転送パス計算部３４、制御用転送規則生成部３３、データ用転送規則生成部３７、優先度調整部３８、転送規則送出部３２、Packet-in 受信部８１およびパケット種別判別部８２として動作すればよい。また、これらの各要素が別々のハードウェアで実現されていてもよい。
【００７６】
図９および図１０は、第２の実施形態において、制御装置３１がスイッチに対して制御用転送規則を設定する際の処理経過の例を示すフローチャートである。既に説明したように、Packet-in 受信部８１は、Packet-in メッセージをセキュアチャネルを介して受信すると、Packet-in メッセージからパケット、そのPacket-in メッセージの送信元スイッチのＩＤ、およびそのスイッチがファーストパケットを受信したポート番号を取りだし、パケット種別判別部８２に送る。
【００７７】
パケット種別判別部８２は、Packet-in 受信部８１から取得したパケットを解析し、そのパケットが経路制御メッセージであるか否かを判別する。パケット種別判別部８２は、パケットが経路制御メッセージであることを条件に、Packet-in 受信部８１から取得したパケット、スイッチのＩＤおよびポート番号を制御用転送パス計算部３４に送信する。以上の動作は、図９に示すフローチャートで図示を省略している。
【００７８】
制御用転送パス計算部３４は、パケット種別判別部８２からパケット、スイッチのＩＤおよびポート番号が送られてきたことを契機にステップＳ１１の処理を開始する。なお、このパケットは、経路制御メッセージである。また、パケット種別判別部８２から送られてくるスイッチのＩＤおよびポート番号は、ファーストパケットに該当する経路制御メッセージを受信したスイッチのＩＤおよび、そのスイッチにおいて経路制御メッセージを受信したポートのポート番号である。
【００７９】
制御用転送パス計算部３４は、パケット種別判別部８２から送られてきたスイッチのＩＤおよびポート番号を用いてインタフェース対応ＤＢを検索し、そのスイッチのＩＤおよびポート番号の組に対応付けられているスイッチのＩＤおよびポート番号を検索する（ステップＳ１１）。
【００８０】
図８に例示するインタフェース対応ＤＢを参照して、ステップＳ１１の例を示す。例えば、パケット種別判別部８２から送られてきたスイッチのＩＤおよびポート番号がそれぞれ、“0x24”、“３”であるとする。ＩＤ“0x24”とポート番号“３”の組は、エントリ４６ａ（図８参照）に含まれる。そして、エントリ４６ａにおいて、ＩＤ“0x24”およびポート番号“３”は、顧客側ルータに接続されるスイッチのＩＤおよびポート番号である。従って、制御用転送パス計算部３４は、エントリ４６ａにおいてＩＤ“0x24”およびポート番号“３”の組と対になっている、制御プロトコル処理装置３０に接続されているスイッチのＩＤ“0x21”およびポート番号“２”を検索する。
【００８１】
また、例えば、パケット種別判別部８２から送られてきたスイッチのＩＤおよびポート番号がそれぞれ、“0x21”、“４”であるとする。ＩＤ“0x21”とポート番号“４”の組は、エントリ４８ａに含まれている。そして、エントリ４８ａにおいて、ＩＤ“0x21”およびポート番号“４”は、制御プロトコル処理装置３０に接続されているスイッチのＩＤおよびポート番号である。従って、制御用転送パス計算部３４は、エントリ４８ａにおいてＩＤ“0x21”およびポート番号“４”の組と対になっている、顧客側ルータに接続されるスイッチのＩＤ“0x25”およびポート番号“２”を検索する。
【００８２】
ステップＳ１１の後、制御用転送パス計算部３４は、パケット種別判別部８２から送られてきたＩＤによって特定されるスイッチを始点とし、ステップＳ１１での検索によって得られたＩＤによって特定されるスイッチを終点とするパスを、トポロジＤＢに含まれる接続情報（スイッチ間の接続情報）に基づいて計算する（ステップＳ１２）。制御用転送パス計算部３４は、例えば、ダイクストラ法を用いてパスを計算すればよい。なお、第２の実施形態では、始点と終点を逆にしたパスは計算しなくてよい。
【００８３】
次に、制御用転送パス計算部３４は、ステップＳ１２で計算したパスを示す情報を、パケット種別判別部８２から送られてきたパケット（ファーストパケットに該当する経路制御メッセージ）、スイッチのＩＤおよびポート番号とともに、制御用転送規則生成部３３に送る（ステップＳ１３）。
【００８４】
次に、制御用転送規則生成部３３は、制御用転送パス計算部３４から送られてきたパス上の各スイッチのうち、以降の処理（具体的にはステップＳ１５，Ｓ１６）を行っていないスイッチを１つ選択する（ステップＳ１４）。
【００８５】
次に、制御用転送規則生成部３３は、パケット種別判別部８２から送られてきたパケット（ファーストパケットに該当する経路制御メッセージ）に基づいて、フローエントリ（制御用転送規則）内の、パケット照合に用いるルールを作成する（ステップＳ１５）。具体的には、制御用転送規則生成部３３は、そのパケットの中から、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号を取り出し、これらを満たす条件をルールとして定める。ここでは、ルールに含まれる項目として７つの項目を例示した。制御用転送規則生成部３３は、これらの項目の一部にワイルドカードを指定してもよい。例えば、送信元ポート番号、宛先ポート番号がそれぞれ“１７９”であった場合、制御用転送規則生成部３３はルール内で、ポート番号にワイルドカードを指定してもよい。
【００８６】
次に、制御用転送規則生成部３３は、ステップＳ１５で作成したルールに対して、パスに沿って次のノードにパケット（ここでは、経路制御メッセージ）を転送させるアクションを付与することで、フローエントリ（ここでは、制御用転送規則）を完成させる。そして、制御用転送規則生成部３３は、そのフローエントリを転送規則送出部３２に送る（ステップＳ１６）。ステップＳ１６の動作は、第１の実施形態におけるステップＳ６の動作と同様である。
【００８７】
ステップＳ１６の後、制御用転送規則生成部３３は、ステップＳ１３で制御用転送パス計算部３４から送られてきたパス上の全てのスイッチに対して、ステップＳ１５，Ｓ１６の処理が完了したか否かを判定する（ステップＳ１７）。ステップＳ１５，Ｓ１６の処理が完了していないスイッチが存在する場合（ステップＳ１７のＮｏ）、制御用転送規則生成部３３は、ステップＳ１４以降の処理を繰り返す。
【００８８】
ステップＳ１４〜Ｓ１７の処理を繰り返すことで、ステップＳ１２で計算されたパス上の各スイッチについて、パスに沿って次のノードに経路制御メッセージを転送するための制御用転送規則が得られる。
【００８９】
また、転送規則送出部３２は、優先度調整部３８から優先度の通知を受ける（ステップＳ１８）。すなわち、優先度調整部３８は、データ用転送規則生成部３７がデータ用転送規則に対して定める優先度よりも低い優先度を転送規則送出部３２に通知する。そして、転送規則送出部３２は、その優先度を受ける。
【００９０】
転送規則送出部３２は、制御用転送規則生成部３３によって生成された各制御用転送規則と、優先度調整部３８から通知された優先度とを、制御用転送規則に対応するスイッチに送信する（ステップＳ１９）。転送規則送出部３２は、ＯｐｅｎＦｌｏｗプロトコルを用いて制御用転送規則を各スイッチに送信する。各スイッチは、転送規則送出部３２から受信した制御用転送規則をフローエントリとして保持する。すなわち、転送規則送出部３２は、制御用転送規則をスイッチに送信することによって、スイッチに対する制御用転送規則の設定を行う。
【００９１】
ステップＳ１２で計算されたパス上の各スイッチに制御用転送規則が設定されることで、ファーストパケットに該当する経路制御メッセージは、宛先まで順次転送されていく。また、送信元および宛先が、ファーストパケットに該当する経路制御メッセージの送信元および宛先と同一となっている経路制御メッセージもその宛先まで順次転送されていく。
【００９２】
そして、本実施形態では、ファーストパケットに該当する経路制御メッセージが検出される毎に、その経路制御メッセージを転送するための制御用転送規則が生成され、スイッチに設定される。
【００９３】
このように、顧客側ルータ１２〜１５および制御プロトコル処理装置３０との間で授受される経路制御メッセージがファーストパケットとして検出されると、制御装置３１によってパスが計算され、そのパス上のスイッチに制御用転送規則が設定される。従って、顧客側ルータ１２〜１５および制御プロトコル処理装置３０は、制御対象ネットワーク４０内のスイッチを介して経路制御メッセージを送受信することができる。その結果、制御プロトコル処理装置３０は、各顧客側ルータ１２〜１５が予め保持している経路情報を収集することができる。
【００９４】
制御プロトコル処理装置３０は、各顧客側ルータ１２〜１５から収集した経路情報を制御装置３１に送信する。この後の動作は、既に第１の実施形態で説明した動作と同様であり、説明を省略する。
【００９５】
本実施形態によれば、制御装置３１が、顧客側ルータ１２〜１５と制御プロトコル処理装置３０とが経路制御メッセージを送受信する際のパスを決定し、そのパス上の各スイッチ毎に、制御用転送規則を定める。そして、制御装置３１は、そのパス上のスイッチに制御用転送規則を送信することによってスイッチに制御用転送規則を設定する。従って、第１の実施形態と同様に、制御装置３１が経路制御メッセージを中継することはなく、制御装置３１の処理負荷の増加を防ぐことができる。
【００９６】
また、第１の実施形態と同様に、制御装置３１内のデータ用転送規則生成部３７が経路情報を取得する過程で、経路情報のデータ長が長くなったり、経路情報に対する加工負荷が生じたりすることを防ぐことができる。
【００９７】
また、本実施形態では、経路制御メッセージを転送するために用いる制御用転送規則の優先度は、顧客側ルータ間で授受されるパケットを転送するために用いるデータ用転送規則の優先度よりも低い。そのため、本実施形態では、スイッチが受信したパケットに合致する転送規則を検索する際、データ用転送規則が優先的に検索される。その結果、データ用転送規則に合致しなかったパケットに対してのみ、制御用転送規則との照合を行うことができる。
【００９８】
次に、本発明の概要について説明する。図１１は、本発明の制御装置の概要を示すブロック図である。また、図１２は、本発明のネットワークシステムの概要を示すブロック図である。本発明のネットワークシステムは、パケットを転送する複数の転送装置９３（例えば、スイッチ２１〜２５）と、転送装置９３のパケット転送動作を制御する制御装置９０（例えば、制御装置３１）とを備える。そして、制御装置９０は、制御用転送規則生成手段９１を備える（図１１、図１２参照）。
【００９９】
制御用転送規則生成手段９１（例えば、制御用転送規則生成部３３）は、ルータ（例えば、顧客側ルータ１２〜１５）が転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置（例えば、制御プロトコル処理装置３０）に通知するための制御メッセージ（例えば、経路制御メッセージ）を転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する。
【０１００】
そのような構成によって、制御装置９０の負荷を増加させることなく、制御装置とは別に設けられた装置に制御メッセージを送ることを実現できる。
【０１０１】
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【０１０２】
（付記１）パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置であって、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を備えることを特徴とする制御装置。
【０１０３】
（付記２）ルータに接続される転送装置と、経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算するパス計算手段を備え、制御用転送規則生成手段は、前記パス上の転送装置毎に、前記パスに沿って制御メッセージを次のノードに転送するための制御用転送規則を生成する付記１に記載の制御装置。
【０１０４】
（付記３）ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度とは異なる値に設定する優先度調整手段とを備える付記１または付記２に記載の制御装置。
【０１０５】
（付記４）パス計算手段は、転送装置に接続される経路情報収集装置のインタフェースと、ルータとの対応関係を示す情報に基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも高い値に設定する優先度調整手段とを備える付記２に記載の制御装置。
【０１０６】
（付記５）パス計算手段は、スイッチが制御用転送規則に合致しないパケットであると判定した制御メッセージを前記スイッチから受信した場合に、前記制御メッセージに基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも低い値に設定する優先度調整手段とを備える付記２に記載の制御装置。
【０１０７】
（付記６）制御用転送規則生成手段は、制御メッセージが制御用転送規則に適合するための条件として経路情報収集装置のアドレスを定めた制御用転送規則を生成する付記１から付記５のうちのいずれかに記載の制御装置。
【０１０８】
（付記７）制御用転送規則生成手段は、制御メッセージが制御用転送規則に適合するための条件としてルータのアドレスを定めた制御用転送規則を生成する付記１から付記６のうちのいずれかに記載の制御装置。
【０１０９】
（付記８）パケットを転送する複数の転送装置と、前記転送装置のパケット転送動作を制御する制御装置とを備えるネットワークシステムであって、前記制御装置は、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を含むことを特徴とするネットワークシステム。
【０１１０】
（付記９）パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置が、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成することを特徴とするパケット転送制御方法。
【０１１１】
（付記１０）制御装置が、ルータに接続される転送装置と、経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、前記パス上の転送装置毎に、前記パスに沿って制御メッセージを次のノードに転送するための制御用転送規則を生成する付記９に記載のパケット転送制御方法。
【０１１２】
（付記１１）制御装置が、ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成し、スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度とは異なる値に設定する付記９または付記１０に記載のパケット転送制御方法。
【０１１３】
（付記１２）制御装置が、転送装置に接続される経路情報収集装置のインタフェースと、ルータとの対応関係を示す情報に基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成し、スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも高い値に設定する付記９から付記１１に記載のパケット転送制御方法。
【０１１４】
（付記１３）制御装置が、スイッチが制御用転送規則に合致しないパケットであると判定した制御メッセージを前記スイッチから受信した場合に、前記制御メッセージに基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成し、スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも低い値に設定する付記９から付記１１に記載のパケット転送制御方法。
【０１１５】
（付記１４）制御装置が、制御メッセージが制御用転送規則に適合するための条件として経路情報収集装置のアドレスを定めた制御用転送規則を生成する付記９から付記１３のうちのいずれかに記載のパケット転送制御方法。
【０１１６】
（付記１５）制御装置が、制御メッセージが制御用転送規則に適合するための条件としてルータのアドレスを定めた制御用転送規則を生成する付記９から付記１４のうちのいずれかに記載のパケット転送制御方法。
【０１１７】
（付記１６）パケットを転送する複数の転送装置のパケット転送動作を制御するコンピュータに搭載される制御装置用プログラムであって、前記コンピュータに、ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成処理を実行させるための制御装置用プログラム。
【０１１８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１９】
この出願は、２０１３年９月２６日に出願された日本特許出願２０１３−１９９２５５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１２０】
本発明は、オープンフローを用いたネットワークシステムに好適に適用される。
【符号の説明】
【０１２１】
１２〜１５  顧客側ルータ
２１〜２５  スイッチ
３０  制御プロトコル処理装置
３１  制御装置
３２  転送規則送出部
３３  制御用転送規則生成部
３４  制御用転送パス計算部
３５  トポロジＤＢ記憶部
３６  インタフェース対応ＤＢ記憶部
３７  データ用転送規則生成部
３８  優先度調整部
８１  Packet-in 受信部
８２  パケット種別判別部
【図１】
2015045275.tif 000003
【図２】
2015045275.tif 000004
【図３】
2015045275.tif 000005
【図４】
2015045275.tif 000006
【図５】
2015045275.tif 000007
【図６】
2015045275.tif 000008
【図７】
2015045275.tif 000009
【図８】
2015045275.tif 000010
【図９】
2015045275.tif 000011
【図１０】
2015045275.tif 000012
【図１１】
2015045275.tif 000013
【図１２】
2015045275.tif 000014
【図１３】
2015045275.tif 000015
【図１４】
2015045275.tif 000016
【図１５】
2015045275.tif 000017
【図１６】
2015045275.tif 000018
【図１７】
2015045275.tif 000019
【図１８】
2015045275.tif 000020
【手続補正書】
【提出日】平成28年3月2日(2016.3.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置であって、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を備える
ことを特徴とする制御装置。
【請求項２】
ルータに接続される転送装置と、経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算するパス計算手段を備え、
制御用転送規則生成手段は、前記パス上の転送装置毎に、前記パスに沿って制御メッセージを次のノードに転送するための制御用転送規則を生成する
請求項１に記載の制御装置。
【請求項３】
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度とは異なる値に設定する優先度調整手段とを備える
請求項１または請求項２に記載の制御装置。
【請求項４】
パス計算手段は、
転送装置に接続される経路情報収集装置のインタフェースと、ルータとの対応関係を示す情報に基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも高い値に設定する優先度調整手段とを備える
請求項２に記載の制御装置。
【請求項５】
パス計算手段は、
スイッチが制御用転送規則に合致しないパケットであると判定した制御メッセージを前記スイッチから受信した場合に、前記制御メッセージに基づいて、ルータに接続される転送装置と、前記経路情報収集装置のインタフェースに接続される転送装置との間のパスを計算し、
ルータ同士が送受信するパケットを転送装置がルータ間で転送する動作を規定するデータ用転送規則を生成するデータ用転送規則生成手段と、
スイッチが制御用転送規則を参照する優先度を、スイッチがデータ用転送規則を参照する優先度よりも低い値に設定する優先度調整手段とを備える
請求項２に記載の制御装置。
【請求項６】
制御用転送規則生成手段は、
制御メッセージが制御用転送規則に適合するための条件として経路情報収集装置のアドレスを定めた制御用転送規則を生成する
請求項１から請求項５のうちのいずれか１項に記載の制御装置。
【請求項７】
制御用転送規則生成手段は、
制御メッセージが制御用転送規則に適合するための条件としてルータのアドレスを定めた制御用転送規則を生成する
請求項１から請求項６のうちのいずれか１項に記載の制御装置。
【請求項８】
パケットを転送する複数の転送装置と、
前記転送装置のパケット転送動作を制御する制御装置とを備えるネットワークシステムであって、
前記制御装置は、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成手段を含む
ことを特徴とするネットワークシステム。
【請求項９】
パケットを転送する複数の転送装置のパケット転送動作を制御する制御装置が、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する
ことを特徴とするパケット転送制御方法。
【請求項１０】
パケットを転送する複数の転送装置のパケット転送動作を制御するコンピュータに搭載される制御装置用プログラムであって、
前記コンピュータに、
ルータが転送装置を介して他のルータにパケットを送信する場合の経路を示す経路情報を経路情報収集装置に通知するための制御メッセージを転送装置がルータと経路情報収集装置との間で転送する動作を規定する制御用転送規則を生成する制御用転送規則生成処理
を実行させるための制御装置用プログラム。
【国際調査報告】
2015045275.tif 000021
2015045275.tif 000022
2015045275.tif 000023
2015045275.tif 000024