(57)【要約】  接続された１台以上の通信ノードに対してパケット処理規則を設定することにより、その通信ノードによるパケット転送を制御する複数の制御装置８１と、制御装置８１が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および複数の制御装置８１に接続されるネットワーク情報結合装置８２とを備え、ネットワーク情報結合装置８２が、計算装置が計算したパケット処理規則を、各制御装置８１が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部８３を含む。
2015079615.tif 000002
【特許請求の範囲】
【請求項１】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、
前記制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および前記複数の制御装置に接続されるネットワーク情報結合装置とを備え、
前記ネットワーク情報結合装置は、
前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含み、
前記各制御装置は、制御する通信ノードに対して、変換された分解パケット処理規則を設定する
ことを特徴とする通信システム。
【請求項２】
ネットワーク情報結合装置は、
ドメイン間の接続関係を示す境界リンク情報を記憶する境界リンク情報記憶部を含み、
パケット処理規則変換部は、前記境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
請求項１記載の通信システム。
【請求項３】
パケット処理規則には、パケットのヘッダ情報と照合するためのパケット識別条件と、当該パケット識別条件に一致するヘッダ情報を有するパケットの処理内容とが対応づけられ、
制御装置は、前記パケット処理規則から変換された分解パケット処理規則に基づいて受信したパケットを処理させるように、通信ノードを制御する
請求項１または請求項２記載の通信システム。
【請求項４】
パケット処理規則変換部は、分解パケット処理規則のパケット識別条件に、計算装置が計算したパケット処理規則のパケット識別条件の少なくとも一部を使用する
請求項３記載の通信システム。
【請求項５】
ネットワーク情報結合装置は、
変換された分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部を含む
請求項３または請求項４記載の通信システム。
【請求項６】
ネットワーク情報結合装置は、計算装置が計算したパケット処理規則のパケット識別条件を、パケットの転送元ドメイン内の通信ノードに設定する分解パケット処理規則のパケット識別条件に使用し、パケットの転送先ドメイン内の通信ノードに設定する分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部を含む
請求項３または請求項４記載の通信システム。
【請求項７】
ネットワーク情報結合装置は、パケットの転送先ドメイン内の通信ノードに設定するパケット処理規則のうち、パケット識別条件の少なくとも一部を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる条件に変更し、パケットの転送元ドメイン内のノードに設定するパケット処理規則のうち、転送されるパケットのヘッダ情報が前記変更した条件に一致するように、当該ヘッダ情報を変更する処理を処理規則の処理内容に追加するパケット処理規則修正部を含む
請求項３または請求項４記載の通信システム。
【請求項８】
ネットワーク情報結合装置は、
パケット処理規則変換部によって変換された分解パケット処理規則が、すでに通信ノードに対して設定されたパケット処理規則と競合するか検証するパケット処理規則検証部を含み、
パケット処理規則修正部は、分解パケット処理規則が競合する場合に、パケット処理規則を変更する
請求項５から請求項７のうちのいずれか１項に記載の通信システム。
【請求項９】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置であって、
前記ネットワーク情報結合装置は、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含む
ことを特徴とするネットワーク情報結合装置。
【請求項１０】
ドメイン間の接続関係を示す境界リンク情報を記憶する境界リンク情報記憶部を含み、
パケット処理規則変換部は、前記境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
請求項９記載のネットワーク情報結合装置。
【請求項１１】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換し、
前記制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定する
ことを特徴とする通信方法。
【請求項１２】
ネットワーク情報結合装置が、ドメイン間の接続関係を示す境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
請求項１１記載の通信方法。
【請求項１３】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換する
ことを特徴とする処理規則変換方法。
【請求項１４】
ドメイン間の接続関係を示す境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
請求項１３記載の処理規則変換方法。
【請求項１５】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるコンピュータに適用される処理規則変換プログラムであって、
前記コンピュータに、
前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換処理
を実行させるための処理規則変換プログラム。
【請求項１６】
コンピュータに、
パケット処理規則変換処理で、ドメイン間の接続関係を示す境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換させる
請求項１５記載の処理規則変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置からの指示に従ってパケット通信を行う装置を含む通信システム、通信方法、およびそれらに用いられるネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、非特許文献２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う技術である。【０００３】
転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール（ＦｌｏｗＫｅｙ；マッチングキー）と、処理内容を定義したアクション（Ａｃｔｉｏｎ）と、フロー統計情報（Ｓｔａｔｓ）との組が定義される。【０００４】
図１８に、非特許文献２で定義されているアクション名とアクションの内容の一部を例示する。ＯＵＴＰＵＴは、パケットを指定ポート（インターフェース）に出力するアクションである。ＳＥＴ＿ＶＬＡＮ＿ＶＩＤからＳＥＴ＿ＴＰ＿ＤＳＴは、パケットヘッダのフィールドを修正するアクションである。【０００５】
例えば、オープンフロースイッチは、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール（ＦｌｏｗＫｅｙ）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。【０００６】
一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元および送信先に基づいたパケットの経路の決定を依頼する。そして、オープンフロースイッチは、これを実現するフローエントリをオープンフローコントローラから受け取ってフローテーブルを更新する。【０００７】
また、前述のようにオープンフロースイッチは、オープンフローコントローラからのフローエントリ設定によってパケットの処理方法を決定する。特に指定されたインターフェースへパケットを出力するＯＵＴＰＵＴが処理方法として多用されるが、このとき指定されるポートは、物理的なインターフェースに限られない。【０００８】
このようにオープンフローでは、トラフィックの制御をマッチ条件によって規定される処理規則の集合として定義することで、オープンフローコントローラによりオープンフロースイッチを制御する。【０００９】
また、特許文献１には、上記のオープンフローによって制御されるネットワークにおいて、オープンフローネットワークを階層化することにより、オープンフローコントローラの制御負荷を削減する通信システムが記載されている。特許文献１に記載された通信システムは、一つ以上のオープンフローネットワークが存在することを前提としている。そして、特許文献１に記載された通信システムは、物理的なオープンフローネットワークを制御する各オープンフローコントローラ（以下、下位コントローラと記す。）をさらに制御する上位のオープンフローコントローラ（以下、上位コントローラと記す。）を備えている。【００１０】
具体的には、特許文献１に記載された通信システムでは、各下位コントローラが、自身が制御するネットワークを一つの仮想的なスイッチとして上位コントローラに通知し、上位コントローラからのフロー制御を受け取ることによってネットワークの階層化を実現している。このようにして、特許文献１に記載された通信システムでは、複数のオープンフローネットワークを一つのネットワークとして制御する。【００１１】
また、非特許文献３には、ＭＰＬＳ（Multi Protocol Label Switching）ネットワークにおいて、ネットワーク制御の一部を外部装置が集中して行う方法が記載されている。具体的には、非特許文献３には、ＭＰＬＳネットワークにおいて、トラフィックを転送する経路の計算をＰＣＥ（Path Computation Element：パス計算エレメント）によって集中的に行う構成が記載されている。【００１２】
ＰＣＥは、ＭＰＬＳルータからの情報や、ＯＳＰＦ（Open Shortest Path First）などのルーティングプロトコルを基に、ネットワークトポロジを収集し、経路計算に用いる。ＰＣＥは、ＭＰＬＳルータからの経路計算要求によって指定されたルータ間の経路を、要求された制約に基づいて計算し、ＭＰＬＳルータに返答する。【００１３】
このように、ＰＣＥを用いてネットワークにおける経路計算を集中的に行うことで、既存のＩＰネットワークにおける分散型の経路制御で課題となりうる制御の一貫性損失や、経路の収束時間の増大などを回避する。【００１４】
また、特許文献２には、ＭＰＬＳネットワークにおいて、複数のネットワークをまたいだエンドツーエンドの経路を計算するために、階層的にＰＣＥ（パス計算エレメント）を配備する方法や、ＰＣＥを制御する方法が記載されている。また、特許文献２には、複数のドメインからなる大規模ＭＰＬＳネットワークにおいて、経路の計算を効率よく行う方法が記載されている。【００１５】
具体的には、特許文献２に記載された方法では、階層的にドメインを定義し、各階層のドメインにＰＣＥ（パス計算エレメント）を配置する。下位のＰＣＥは、上位のＰＣＥに対して、ドメインレベルの接続関係情報を提供し、上位ＰＣＥは、自身の制御する複数のドメイン間の経路を計算する。経路計算は階層毎に行われ、上位のＰＣＥが下位ドメインの入力ノードと出力ノードを決定し、計算タスクを下位ドメインに依頼することで経路計算を並列に実行させる。このように、特許文献２では、複数ドメインからなるネットワークにおいて、複数のドメインをまたがって統一的に経路を計算する方法を示している。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特表２０１３−５２２９３４号公報
【特許文献２】特表２０１１−５０９０１４号公報
【非特許文献】
【００１７】
【非特許文献１】Nick McKeown他７名、“OpenFlow: Enabling Innovation in Campus Networks”、［online］、［平成22年2月26日検索］、インターネット〈URL：http://www.openflowswitch.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“OpenFlow Switch Specification Version 1.0.0. (Wire Protocol 0x01) ”、[online]、［平成25年9月17日検索］ 、インターネット〈URL：https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.0.0.pdf〉
【非特許文献３】“RFC 4655（A Path Computation Element (PCE)-Based Architecture）” 、［online］、［平成25年9月13日検索］、インターネット〈URL：http://datatracker.ietf.org/doc/rfc4655/〉
【発明の概要】
【発明が解決しようとする課題】
【００１８】
上述した通り、オープンフローやＭＰＬＳネットワークにおけるＰＣＥによって、ネットワーク全体の制御を集中的に行うことができる。しかし、ネットワークを構築する環境によっては、複数のドメインを構成し、そのドメインを相互接続することで一つのネットワークを構築する必要がある。【００１９】
例えば、ネットワークに参加するユーザの拠点が地理的に分散している場合、拠点間の通信遅延や管理者の違いなどを考慮し、各拠点に制御装置を配して、各制御装置が制御する範囲をそれぞれ一つの管理ドメインとすることが望ましい。【００２０】
また、ネットワークを制御するコントローラ（例えば、オープンフローの場合はオープンフローコントローラ、ＭＰＬＳネットワークの場合はＰＣＥ）の性能は有限である。そのため、単一のコントローラではすべての装置を収容できないことも考えられる。また、コントローラと装置間の制御チャネルのレイテンシやスループットの性能によって収容可能な装置数が制限されることも考えられる。【００２１】
このような状況では、上述のように複数のドメインを相互接続し、大規模なネットワークを構成する必要がある。この場合、異なる管理ドメインをまたがってトラフィックを矛盾なく統一的に制御する方法が必要になる。【００２２】
特許文献１に記載された通信システムを用いることで、複数のドメインをそれぞれ単一の仮想的なスイッチとして扱うことができ、複数のネットワークドメインを上位コントローラの制御下とすることができる。しかし、特許文献１に記載された通信システムは、下位コントローラがドメイン内部の情報、すなわちトポロジ情報やトラフィック統計情報などを隠蔽し、一つの仮想的なスイッチとして上位コントローラへ通知する。そのため、ドメイン内部の状態把握や経路制御は、下位コントローラが行うことになる。【００２３】
そのため、特許文献１に記載された通信システムによりドメインをまたがって細粒度フロー制御を行うには、ドメイン間の制御とドメイン内の制御を矛盾なく結合する必要がある。特許文献１に記載された通信システムを用いた場合には、それぞれのコントローラの制御ロジックが複雑になる可能性があるため、より開発コストを低減させる方法が望まれる。【００２４】
また、特許文献１に記載された通信システムでは、上位コントローラがドメイン間の接続関係を把握していないため、複数のドメインをまたがって統一されたトラフィック制御を行うことは難しい。そのため、複数のドメインをまたがって統一されたトラフィック制御を行う方法も望まれる。【００２５】
一方、特許文献２に記載された方法では、各ＭＰＬＳドメインにＰＣＥを配置し、それらドメイン間のＰＣＥを統括する上位のＰＣＥを配備することで、複数のＭＰＬＳドメインにまたがる経路の計算を集中して行うことができる。【００２６】
しかし、特許文献２に記載された方法では、経路の計算のみが集中して行われ、ドメイン間の接続関係の把握やトラフィック制御の設定などは、複数のＭＰＬＳルータによる分散システムとして実現される。そのため、複数のドメインをまたがって統一されたトラフィック制御を実現する場合、各ドメインに含まれる機器に対し、オペレータが様々な設定を行わなければならない。さらに、オペレーションミスの発生を低減させるために、各設定がネットワーク全体で矛盾していないか検証する必要があることを考慮すると、運用コストが高くなってしまうという問題がある。【００２７】
そこで、本発明は、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる通信システム、通信方法、およびそれらに用いられるネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明による通信システムは、接続された１台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および複数の制御装置に接続されるネットワーク情報結合装置とを備え、ネットワーク情報結合装置が、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含み、各制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定することを特徴とする。【００２９】
本発明によるネットワーク情報結合装置は、接続された１台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置であって、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含むことを特徴とする。【００３０】
本発明による通信方法は、接続された１台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換し、制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定することを特徴とする。【００３１】
本発明による処理規則変換方法は、接続された１台以上の通信ノードに対してパケット処理規則を設定することにより、その通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換することを特徴とする。【００３２】
本発明による処理規則変換プログラムは、接続された１台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるコンピュータに適用される処理規則変換プログラムであって、コンピュータに、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換処理を実行させることを特徴とする。
【発明の効果】
【００３３】
本発明によれば、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる。
【図面の簡単な説明】
【００３４】
【図１】本発明による通信システムの一実施形態を示すブロック図である。
【図２】第１の実施形態におけるネットワーク結合装置１０の構成例を示すブロック図である。
【図３】図１に例示する構成例における処理の流れを示す説明図である。
【図４】トポロジの例を示す説明図である。
【図５】リンク情報の例を示す説明図である。
【図６】ドメイン間トポロジの例を示す説明図である。
【図７】ドメイン間フローの例を示す説明図である。
【図８】分割されたフローの例を示す説明図である。
【図９】第２の実施形態におけるネットワーク結合装置１０の構成例を示すブロック図である。
【図１０】探索パケットの例を示す説明図である。
【図１１】リンクを探索する処理の例を示す説明図である。
【図１２】ドメイン間フローの他の例を示す説明図である。
【図１３】図１２に例示するドメイン間フローを分解した例を示す説明図である。
【図１４】図１３に例示するフローを変更したフローの例を示す説明図である。
【図１５】ドメイン間フローを分解した他の例を示す説明図である。
【図１６】本発明による通信システムの概要を示すブロック図である。
【図１７】本発明によるネットワーク情報結合装置の概要を示すブロック図である。
【図１８】ＯｐｅｎＦｌｏｗで定義されているアクション名とアクションの内容を示す説明図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施形態を図面を参照して説明する。
【００３６】
実施形態１．
図１は、本発明による通信システムの一実施形態を示すブロック図である。図１に例示する通信システムは、ネットワーク結合装置１０と、制御装置２１〜２２と、ノード３１〜３６と、フロー計算装置５０とを備えている。また、ノード３１、ノード３２、ノード３５、ノード３６には、それぞれ、端末４１、端末４２、端末４３、端末４４がそれぞれ接続されている。
【００３７】
以下の説明では、制御装置２１、制御装置２２を、それぞれ制御装置＃１、制御装置＃２と記し、ノード３１、ノード３２、ノード３３、ノード３４、ノード３５、ノード３６を、それぞれノード＃１、ノード＃２、ノード＃３、ノード＃４、ノード＃５、ノード＃６と記し、端末４１、端末４２、端末４３、端末４４を、それぞれ、端末＃１、端末＃２、端末＃３、端末＃４と記すことがある。
【００３８】
また、本実施形態では、制御装置２１とノード３１〜３３とを含むドメインをドメイン＃１とし、制御装置２２とノード３４〜３６を含むドメインをドメイン＃２とする。ドメインとは、複数の装置を含むネットワークの管理上の領域を表わす。本実施形態では、制御装置および各制御装置が制御する複数のノードを含むネットワークの管理上の領域をドメインと記す。
【００３９】
制御装置２１は、ノード３１〜３３と制御用の通信チャネルで接続され、制御装置２２は、ノード３４〜３６と制御用の通信チャネルで接続される。図１において、制御装置とノードとを接続する制御用の通信チャネルは、破線で示されている。各制御装置は、接続されたノードに対してパケットを処理するための規則を設定することにより、各ノードによるパケット転送を制御する。以下の説明では、ノードがパケットを転送するために用いるパケットの識別情報およびその動作（転送経路や、終端時処理方法など）を含むパケット処理規則のことを、単にフローと記す。
【００４０】
ノード３３とノード３４はリンクによってドメインをまたいで接続される。また、ノード３１、ノード３２、ノード３５、ノード３６は、それぞれ端末４１、端末４２、端末４３、端末４４に接続される。
【００４１】
また、制御装置２１と制御装置２２は、それぞれネットワーク結合装置１０に制御用の通信チャネルで接続され、ネットワーク結合装置１０は、さらにフロー計算装置５０に制御用の通信チャネルで接続される。図１において、各制御装置とネットワーク結合装置１０とを接続する制御用の通信チャネル、および、ネットワーク結合装置１０とフロー計算装置５０とを接続する制御用の通信チャネルは、破線で示されている。
【００４２】
なお、図１に示す構成は一例であり、ノード数や制御装置の数は、図１に例示する数に限定されない。各ドメインに属するノード数は、１台または２台であってもよく、４台以上であってもよい。また、制御装置の数も、２台に限定されず、３台以上であってもよい。さらに、ドメインの数も、２つに限定されず、３つ以上であってもよい。
【００４３】
次に、本実施形態の動作概要を説明する。制御装置２１は、自身が制御するドメイン＃１内部におけるノード３１、ノード３２、ノード３３の間の接続関係をトポロジ情報として収集および記憶している。以下、トポロジ情報のことを、単にトポロジと記すことがある。また、制御装置２２は、自身が制御するドメイン＃２内部におけるノード３４、ノード３５、ノード３６の間の接続関係をトポロジ情報として収集および記憶している。
【００４４】
制御装置２１と制御装置２２は、それぞれドメイン＃１とドメイン＃２内部のトポロジに変化が生じるとネットワーク結合装置１０にトポロジを通知する。ネットワーク結合装置１０は、通知されたドメイン＃１とドメイン＃２のトポロジ情報をドメイン間の接続を担うリンクで結合し、一つのネットワークトポロジとしてフロー計算装置５０へ通知する。
【００４５】
図１に示す例では、ネットワーク結合装置１０は、ドメイン＃１におけるトポロジとドメイン＃２におけるトポロジを、ノード＃３とノード＃４を結ぶリンクで結合し、フロー計算装置５０へ通知する。この動作によって、フロー計算装置５０に対して、ドメインをまたがるトポロジが提供される。
【００４６】
また、制御装置２１および制御装置２２は、ノードが新規トラフィックを検知した場合、ノードからフロー設定を要求される。制御装置２１および制御装置２２は、ネットワーク結合装置１０へフロー設定要求を通知し、ネットワーク結合装置１０は、さらにフロー計算装置５０へフロー設定要求を通知する。
【００４７】
フロー計算装置５０は、このフロー設定要求に応じて、または、トポロジ変動やユーザからの指示、新規ホストの登録等の状況変化に応じて、フロー制御を行うために、そのフローに分類するパケットの識別条件とパケットの転送に使用する経路とを計算する。具体的には、フロー計算装置５０は、ドメイン（ドメイン＃１、ドメイン＃２）をまたいだパケット処理規則（フロー）を計算する。以下、ドメインをまたいだフローのことを、ドメイン間フローと記す。
【００４８】
フロー計算装置５０は、この識別条件と、パケットの転送に使用する経路とを基に、ノード３１〜３６に設定すべきパケット処理規則の集合を作成し、その集合をフロー設定指示としてネットワーク結合装置１０へ通知する。
【００４９】
ネットワーク結合装置１０は、フロー設定指示を受け取った場合、そのフロー設定指示を、ドメイン＃１とドメイン＃２の境界で分解するため、ノード３１〜３３へ設定すべきパケット処理規則と、ノード３４〜３６へ設定すべきパケット処理規則とに変換する。
【００５０】
さらに、ネットワーク結合装置１０は、変換されたノード３１〜３３へのパケット処理規則をドメイン＃１へのフロー設定指示として制御装置２１へ通知する。同様に、ネットワーク結合装置１０は、変換されたノード３４〜３６へのパケット処理規則をドメイン＃２へのフロー設定指示として制御装置２２へ通知する。
【００５１】
フロー設定指示を受け取った制御装置２１および制御装置２２は、フロー設定指示内のパケット処理規則をそれぞれ制御するノードに設定する。この動作によって、フロー計算装置５０が計算したドメインをまたがるフロー設定が物理ネットワークに設定され、パケットの転送が可能になる。
【００５２】
次に、本実施形態のネットワーク結合装置１０の動作を説明する。図２は、第１の実施形態におけるネットワーク結合装置１０の構成例を示すブロック図である。本実施形態のネットワーク結合装置１０は、トポロジ結合部１１０と、境界探索部１２０と、フロー分解部１３０と、制御メッセージ処理部１４０と、マネジメントネットワーク通信部１５０とを含む。
【００５３】
トポロジ結合部１１０と、境界探索部１２０と、フロー分解部１３０とは、プログラム（処理規則変換プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、ネットワーク結合装置１０の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、トポロジ結合部１１０、境界探索部１２０およびフロー分解部１３０として動作してもよい。また、トポロジ結合部１１０と、境界探索部１２０と、フロー分解部１３０とは、それぞれが専用のハードウェアで実現されていてもよい。
【００５４】
マネジメントネットワーク通信部１５０は、制御装置２１〜２２およびフロー計算装置５０との通信を行う。
【００５５】
制御メッセージ処理部１４０は、制御装置からのメッセージおよび制御装置へのメッセージを適切な制御機能に受け渡す。
【００５６】
トポロジ結合部１１０は、複数のドメインのトポロジを結合する。具体的には、トポロジ結合部１１０は、制御装置２１〜２２から受信した各ドメインのトポロジを結合して、複数のドメインをまたがるネットワークのトポロジ（以下、ドメイン間トポロジと記す。）を生成する。
【００５７】
また、トポロジ結合部１１０は、オブジェクトＩＤ管理データベース１１１（以下、オブジェクトＩＤ管理ＤＢ１１１と記す。）を有する。オブジェクトＩＤ管理ＤＢ１１１は、各ドメインの制御装置から受け取ったトポロジ情報（以下、ローカルトポロジ情報と記すこともある。）と、ネットワーク全体を制御するフロー計算装置５０へ通知したトポロジ情報（以下、グローバルトポロジ情報と記すこともある。）との間で、トポロジ情報を構成する各オブジェクトの識別情報（ＩＤ）の対応関係を保持する。
【００５８】
本実施形態では、トポロジ結合部１１０がオブジェクトＩＤ管理ＤＢ１１１を有する場合について説明する。ただし、ネットワーク全体でトポロジオブジェクトのＩＤがユニークであり、各ドメインの制御装置が決定したオブジェクトＩＤを上位の制御装置が変更せずに使用する場合、トポロジ結合部１１０は、オブジェクトＩＤ管理ＤＢ１１１を備えていなくてもよい。また、トポロジ結合部１１０は、結合前の各ドメインのトポロジ情報と、結合後のトポロジ情報をキャッシュ（図示せず）に記憶しておいてもよい。
【００５９】
境界探索部１２０は、ドメイン間を物理的に結合しているリンクを探索する。
【００６０】
また、境界探索部１２０は、ドメイン間リンクデータベース１２１（以下、ドメイン間リンクＤＢ１２１と記す。）を有する。ドメイン間リンクＤＢ１２１は、ドメイン間のリンクを示す情報を保持する。
【００６１】
フロー分解部１３０は、フロー計算装置５０から送信されたドメイン間のフローをドメインごとのフローへ分解する。すなわち、フロー分解部１３０は、フロー計算装置５０が計算したドメイン間フローを、各制御装置が制御する通信ノードに設定すべきフローにそれぞれ変換する。
【００６２】
また、フロー分解部１３０は、フローデータベース１３１（以下、フローＤＢ１３１と記す。）を有する。フローＤＢ１３１は、分解前のフロー情報と分解後のフロー情報、及びそれら対応関係を保持する。
【００６３】
図３は、図１に例示する構成例において、ネットワークのトポロジが結合される処理の流れ、および、ドメイン間のフローが分解される処理の流れを示す説明図である。まず、各ドメインのトポロジを結合する処理を説明する。
【００６４】
トポロジ結合処理は、図３に例示する白抜き矢印の流れで行われる。具体的には、制御装置２１および制御装置２２は、ネットワーク結合装置１０に各ドメインのトポロジ情報を送信し、ネットワーク結合装置１０は、各ドメインのトポロジ情報を結合したトポロジ情報をフロー計算装置５０へ送信する。
【００６５】
制御装置２１及び制御装置２２は、それぞれ自身と制御チャネルを通して接続されているノード（すなわち、制御装置２１はノード３１〜３３、制御装置２２は、ノード３４〜３６）を制御しており、ノード間のトポロジを監視している。
【００６６】
図４は、トポロジの例を示す説明図である。図１に例示する構成例の場合、制御装置２１は、図４（ａ）に例示するトポロジを把握しており、制御装置２２は、図４（ｂ）に例示するトポロジを把握している。
【００６７】
制御装置２１および制御装置２２は、自身が制御するドメインにおけるトポロジに変化が生じた際、ネットワーク結合装置１０にトポロジを通知する。この通知や、ドメイン間リンクＤＢの変化を契機として、ネットワーク結合装置１０（具体的には、トポロジ結合部１１０）は、ドメインごとのトポロジを結合する処理を行う。
【００６８】
ネットワーク結合装置１０に含まれるドメイン間リンクＤＢ１２１は、各ドメインを物理的に接続しているリンク情報を保持する。なお、このリンク情報は、ドメイン間の境界における接続関係を示していることから、境界リンク情報と言うこともできる。ドメイン間リンクＤＢ１２１は、例えばオペレータによってマネジメントネットワーク通信部１５０を通して動的に設定されるリンク情報を保持してもよいし、設定ファイルなどに保存されたリンク情報を、ネットワーク結合装置１０の起動時やプログラムの起動時などに読み込んで保持してもよい。
【００６９】
また、ネットワーク結合装置１０（例えば、トポロジ結合部１１０）が、各ポートに流入するパケットを監視して、端末に接続されているポートをリンク情報から除外してもよい。
【００７０】
図５は、ドメイン間リンクＤＢ１２１が保持するリンク情報の例を示す説明図である。図５に示す例では、ドメイン＃１とドメイン＃２は、ノード＃３のポート７（ｐ７）とノード＃４のポート８（ｐ８）とを結ぶリンクで接続されていることを示す。
【００７１】
ネットワーク結合装置１０（より具体的には、境界探索部１２０）は、このドメイン間リンクＤＢ１２１からドメイン＃１とドメイン＃２を接続しているリンクを検索および取得し、トポロジの結合点として用いる。
【００７２】
具体的には、境界探索部１２０は、ドメイン間リンクの接続元ポートと接続先ポートを、それぞれのドメインのトポロジから検索する。そして、トポロジ結合部１１０は、ドメイン間リンクを双方のトポロジ情報に追加して、一つのトポロジデータに結合することで、ドメイン間トポロジを作成する。
【００７３】
ネットワーク結合装置１０（より具体的には、トポロジ結合部１１０）は、この処理によって作成したドメイン間トポロジをフロー計算装置５０へ通知し、フロー計算装置５０がドメイン間をまたがった転送経路の計算を行うことを可能とする。
【００７４】
図６は、ドメイン間トポロジの例を示す説明図である。図１に例示する構成例の場合、トポロジ結合部１１０は、図６に例示する破線で示したリンクを示す情報を含むドメイン間トポロジを生成する。
【００７５】
なお、ドメイン間のリンク情報が存在しない場合、トポロジ結合部１１０は、ドメイン間のリンク情報を追加せずに、各ドメインのトポロジ情報をフロー計算装置５０へ通知すればよい。
【００７６】
次に、フローの分解処理を説明する。フロー分解処理は、図３に例示する黒矢印の流れで行われる。具体的には、フロー計算装置５０は、設定するフローをネットワーク結合装置１０に送信し、ネットワーク結合装置１０は、そのフローを分解して制御装置２１および制御装置２２に送信する。制御装置２１および制御装置２２は、制御する各ノードに受信した内容を設定する。以下、各装置の処理を説明する。
【００７７】
まず、フロー設定指示が、フロー計算装置５０によって行われる。フロー計算装置５０は、ノードからのフロー設定要求をトリガとして受動的にフロー設定指示を行ってもよく、トポロジ情報の変化やトラフィックの状態、外部システムやオペレータからの指示に応じてフロー設定指示を行ってもよい。
【００７８】
ここでは、図１に示す構成例において、端末４２から端末４３宛にパケットを転送するためのフローをノードに設定するものとする。図７は、フロー計算装置５０が作成するドメイン間フローの例を示す説明図である。
【００７９】
図７に例示するパケット識別条件は、このフローに従って処理されるべきトラフィックの識別に用いられる。図７に示す例では、端末４２に接続されたノード＃２のポート４（ｐ４）が入力ポートとして指定され、さらに端末４２のＭＡＣアドレスに０ｘ０が指定され、端末４３のＭＡＣアドレスに０ｘ１が指定されている。さらに、図７に示す例では、送信元のＩＰアドレスに任意の値が指定され、宛先となる端末４３のＩＰアドレスに１９２．１６８．０．１が指定されている。
【００８０】
また、図７に例示する転送経路は、パケットが転送されるべき経路を示しており、ここでは、ノード３２、ノード３３、ノード３４、ノード３５の順にパケットを転送することが指定されている。また、図７に例示する終端時処理方法は、終端において実行されるべきパケットの処理内容を示しており、ここでは、端末４３へパケットを出力することが指定されている。
【００８１】
なお、終端時処理方法は、図７に例示する内容に限定されない。終端時処理方法には、例えば、パケットヘッダの変更や、パケットのコピー、パケットの廃棄など、ノードが対応している任意の処理を指定可能である。
【００８２】
また、図７に示す例では、パケット識別条件、転送経路、終端時処理規則の組でフローを表現している。他にも、オープンフローにおけるフローエントリの表現にあわせて、各ノードにおけるパケット識別条件とパケット処理の組でフローが表現されてもよい。この場合、図７に例示するフローは、転送経路に含まれるノード３２、ノード３３、ノード３４およびノード３５における、それぞれのフローエントリとして表現される。ただし、パケット識別条件の入力ポート部分は、それぞれ転送経路におけるひとつ前のノードと接続されているポートに変更され、パケット処理には、転送経路における次のノードと接続されているポートへの出力が指定される。
【００８３】
このフロー設定指示がフロー計算装置５０からネットワーク結合装置１０へ通知されると、ネットワーク結合装置１０（より具体的には、フロー分解部１３０）は、ドメイン間リンクＤＢ１２１が保持しているドメイン間のリンク情報を用いて、受信したフローをドメインごとのフローへ分解する。
【００８４】
図１に示す構成例の場合、フロー分解部１３０は、ドメイン＃１とドメイン＃２の間のリンクをドメイン間リンクＤＢ１２１より検索し、ノード３３とノード３４の間のリンクを取得する。このドメイン間のリンク情報をもとに、フロー分解部１３０は、フロー設定指示に含まれる転送経路を二つの経路に分割する。
【００８５】
具体的には、図１に示す構成例の場合、フロー分解部１３０は、ノード＃２からノード＃３への経路と、ノード＃４からノード＃５への経路を作成する。この経路に対して、それぞれパケット識別条件と、終端時処理方法を加えることで、二つのフローへの分解処理が行われる。
【００８６】
ドメイン＃１におけるフローのパケット識別条件には、分解前のフローにおけるパケット識別条件がそのまま用いられればよい。ただし、終端時処理方法には、ドメイン＃１に端末４３は接続されておらず、ドメイン＃２へトラフィックを受け渡す処理を指定する必要がある。そこで、フロー分解部１３０は、この例の場合、終端時処理方法にノード＃４への出力を指定する。
【００８７】
一方、ドメイン＃２におけるフローのパケット識別条件には、分解前のフローにおけるパケット識別条件を大部分利用できるが、入力ポートのみ変更する必要がある。ドメイン＃２における入力ポートは、ドメイン＃１とドメイン＃２の結合点であるポート８（ｐ８）である。そのため、フロー分解部１３０は、入力ポートにポート８（ｐ８）を指定する。終端時処理方法には、分解前のフローで指定された終端時処理方法を使用できる。
【００８８】
なお、結合後のトポロジと結合前のトポロジとの間でＩＤの変更が発生している場合、フロー分解部１３０は、トポロジ結合部１１０に問い合わせることでオブジェクトＩＤ管理ＤＢ１１１に保持される結合前のトポロジにおけるＩＤを取得する。そして、フロー分解部１３０は、パケット識別条件や転送経路、終端時処理方法に指定されているノードＩＤやポートＩＤの変更を行う。
【００８９】
この処理によってドメイン間フローが、ドメイン＃１とドメイン＃２に設定すべき二つのフローへ分割される。図８は、ドメイン間フローを分解した例を示す説明図である。図７に例示するドメイン間フローと比較すると、ドメイン＃１に設定されるフロー（分解済フロー：図８（ａ）参照）は、転送経路および終端時処理方法がドメイン間フローと異なる。また、ドメイン＃２に設定されるフロー（分解済フロー：図８（ｂ）参照）は、パケット識別条件における入力ポートと転送経路とがドメイン間フローと異なる。
【００９０】
ネットワーク結合装置１０は、分解したフローを設定する指示をそれぞれの制御装置へ送信し、各制御装置がノードへフローを設定することでフロー設定が完了する。
【００９１】
このように、フロー分解部１３０は、パケットの転送元ドメイン（ここでは、ドメイン＃１）内のノードに設定するフローのうち、パケット識別条件にドメイン間フローのパケット識別条件と同一の内容を設定し、処理内容に、ドメイン内のノードのみを転送させる経路および自ドメインの境界から他ドメインのノードへ転送させる処理に変更した内容を設定する。さらに、フロー分解部１３０は、パケットの転送先ドメイン（ここでは、ドメイン＃２）内のノードに設定するフローのうち、パケット識別条件に入力元を示す内容以外ドメイン間フローのパケット識別条件と同一の内容を設定し、処理内容に、ドメイン内のノードのみを転送させる経路を設定する。
【００９２】
以上のように、本実施形態によれば、フロー分解部１３０が、フロー計算装置５０によって計算されたドメイン間フローを、各制御装置が制御するノードに設定すべきフローにそれぞれ変換し、各制御装置が、制御するノードに対して、変換されたフローを設定する。よって、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる。すなわち、複数のドメインをまたがったネットワークでも、統一的に制御することが可能になる。
【００９３】
実施形態２．
次に、本発明の第２の実施形態を説明する。本実施形態における通信システムの構成は、図１に例示する構成と同様とする。図９は、第２の実施形態におけるネットワーク結合装置１０の構成例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を適宜省略する。
【００９４】
本実施形態のネットワーク結合装置１０は、第１の実施形態におけるネットワーク結合装置１０と同様、トポロジ結合部１１０と、境界探索部１２０と、フロー分解部１３０と、制御メッセージ処理部１４０と、マネジメントネットワーク通信部１５０とを含む。また、トポロジ結合部１１０は、第１の実施形態と同様に、オブジェクトＩＤ管理ＤＢ１１１を有する。
【００９５】
本実施形態の境界探索部１２０は、ドメイン間リンクＤＢ１２１と、境界候補データベース１２２（以下、境界候補ＤＢ１２２と記す。）とを有する。境界候補ＤＢ１２２は、ドメイン間のリンクの探索候補となるポートの一覧を保持する。
【００９６】
フロー分解部１３０は、フローＤＢ１３１を有する。さらに、ネットワーク結合装置１０は、フロー分解部１３０と協働するフロー検証部１３２と、フロー変更部１３３とを含む。
【００９７】
なお、フロー検証部１３２と、フロー変更部１３３とは、プログラム（処理規則変換プログラム）に従って動作するコンピュータのＣＰＵによって実現される。フロー検証部１３２と、フロー変更部１３３とは、それぞれが専用のハードウェアで実現されていてもよい。
【００９８】
フロー検証部１３２は、分解後のフローと、各ドメインに設定済みのフローが競合しないか判定する。フローが競合するとは、パケット識別条件が一致するフローにおいて、パケットの処理内容が異なっていることを言う。
【００９９】
フロー変更部１３３は、フロー検証部１３２によって識別条件の競合が発生すると判定されたフローの内容を変更する。フロー変更部１３３の処理については、後述される。
【０１００】
なお、本実施形態においても、ネットワーク全体でトポロジオブジェクトのＩＤがユニークであり、各ドメインの制御装置が決定したオブジェクトＩＤを上位の制御装置が変更せずに使用する場合、トポロジ結合部１１０は、オブジェクトＩＤ管理ＤＢ１１１を備えていなくてもよい。また、トポロジ結合部１１０は、結合前の各ドメインのトポロジ情報と、結合後のトポロジ情報をキャッシュ（図示せず）に記憶しておいてもよい。
【０１０１】
次に、本実施形態のトポロジ結合処理を説明する。本実施形態では、ネットワーク結合装置１０（具体的には、境界探索部１２０）が、定期的にドメイン間のリンクを探索し、ドメイン間のリンク情報をドメイン間リンクＤＢ１２１に記憶する。そして、境界探索部１２０は、ドメイン間のリンクの探索候補となるポートの一覧を境界候補ＤＢ１２２から取得する。
【０１０２】
境界候補ＤＢ１２２は、例えば、オペレータによる設定によって、探索候補のポートを保持してもよい。また、境界候補ＤＢ１２２は、ネットワーク結合装置１０やプログラムの起動時に、設定ファイルから読み込んだ探索候補のポートを保持してもよい。
【０１０３】
他にも、境界探索部１２０は、各ドメインの制御装置から取得したトポロジ情報をもとに、ノード（例えば、スイッチ）間のリンクを持たず、かつ、何らかの装置と論理的または物理的に結線されている（すなわちリンクアップしている）ポートの全てを、境界候補のポートとして境界候補ＤＢ１２２に記憶してもよい。また、境界探索部１２０は、スイッチ間のリンクを持たない全てのポートへのパケット入力を監視することで、境界候補を絞り込んでもよい。
【０１０４】
具体的には、境界探索部１２０は、この境界候補のポートから、ドメイン間リンク探索用のパケットを送信することによって、ドメイン間リンクの発見と導通確認を行う。ドメイン間リンクの探索には、例えばＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）などが使用される。
【０１０５】
ネットワーク結合装置１０（具体的には、境界探索部１２０）は、パケットを送出する境界候補のポートを備えるノードＩＤ、そのポートのＩＤ、及びそのポートが属するドメインのＩＤを、探索用のパケットに含める。そして、境界探索部１２０は、各ドメインの制御装置に対して、境界候補のポートからその探索用のパケットを送出することを指示する。
【０１０６】
例えば、図１に示す構成例において、ドメイン＃１からドメイン＃２への片方向リンクを探索するとする。この場合、ネットワーク結合装置１０（具体的には、境界探索部１２０）は、制御装置２１に対してポート７（ｐ７）から、「ドメインＩＤ＝ドメイン＃１、ノードＩＤ＝ノード＃３、ポートＩＤ＝ポートｐ７」という情報を埋め込んだ探索パケットを送出するよう指示する。
【０１０７】
この探索パケットには、制御装置＃１や制御装置＃２がドメイン内のトポロジを探索するために用いる探索パケットと同種のプロトコルが用いられてもよい。ただし、各ドメインの制御装置は、ドメイン内探索用のパケットと、ドメイン間リンク探索パケットを識別する必要がある。
【０１０８】
そこで、本実施形態では、制御装置は、探索パケットに含まれているドメインＩＤを識別に利用する。具体的には、制御装置は、パケットにドメインＩＤが含まれている場合、そのパケットがドメイン間リンクの探索パケットであると判定する。
【０１０９】
図１０は、探索パケットの例を示す説明図である。図１０では、パケットの一部（Optional TLV（Type Length Value ））にドメインＩＤを含めた例を示している。
【０１１０】
図１１は、リンクを探索する処理の例を示す説明図である。制御装置２１によってポートｐ７から送出された探索パケットは、対向側のドメイン＃２のノード３４へ到着する。ノード３４は、未知のパケットとして、探索パケットとそれを受信したポートＩＤ（ここでは、ポートｐ８）を制御チャネルを介して制御装置２２へ送信する。
【０１１１】
具体的には、図１１に例示する黒矢印の流れに沿って処理される。まず、ネットワーク結合装置１０が、制御装置＃１へ探索パケットを送信する（ステップＳ１）。制御装置＃１は、ポートｐ７から探索パケットを送信するようノード＃３へ指示する（ステップＳ２）。ノード＃３は、ポートｐ７から探索パケットを送信する（ステップＳ３）。ノード＃４は、探索パケットを受信したことを制御装置＃２に通知する（ステップＳ４）。制御装置＃２は、ネットワーク結合装置１０に探索パケットを受信したことを通知する（ステップＳ５）。
【０１１２】
すなわち、探索パケットを受信した制御装置２２は、受信したパケットにドメインＩＤが含まれるため、ドメイン間リンクの探索パケットであると判断する。そして、制御装置２２は、パケットを受信したノードＩＤ、ポートＩＤ、ドメインＩＤを含むパケット受信情報とともに、探索パケットをネットワーク結合装置１０へ送信する。図１に示す構成例の場合、パケット受信情報には、ノード＃４、ポートｐ８およびドメイン＃２が含まれる。
【０１１３】
ネットワーク結合装置１０がこの探索パケットを受け取ると、境界探索部１２０は、探索パケットとパケット受信情報を検証して、ドメイン間リンクを判定する。具体的には、境界探索部１２０は、パケット受信情報に含まれているノードＩＤ、ポートＩＤ、ドメインＩＤのそれぞれをトポロジ結合部１１０へ問い合わせ、オブジェクトＩＤ管理ＤＢ１１１から、結合後のトポロジ情報におけるノードＩＤとポートＩＤを取得する。そして、境界探索部１２０は、取得した情報で、パケット受信情報の各ＩＤを更新する。
【０１１４】
なお、問い合わせの時点で、結合後のトポロジに含まれるＩＤが作成されていない場合、境界探索部１２０は、ここでＩＤを作成すればよい。図１に示す構成例の場合、結合後のトポロジと結合前のトポロジで同じＩＤを用いているため、ＩＤの変更は発生しない。
【０１１５】
次に、境界探索部１２０は、探索パケットに含まれているドメインＩＤ、ノードＩＤ、ポートＩＤを取得し、これをパケットの送信元情報として用いる。境界探索部１２０は、このパケットの送信元情報をドメイン間リンクの接続元とし、オブジェクトＩＤの変換が行われたパケット受信情報をドメイン間リンクの接続先とするドメイン間のリンク情報を作成する。境界探索部１２０は、作成したリンク情報を、ドメイン間リンクＤＢ１２１に追加する。
【０１１６】
図１に示す構成例の場合、リンク情報は、接続元ノードＩＤ＝＃３、ポートＩＤ＝ｐ７、接続先ノードＩＤ＝＃４、ポートＩＤ＝ｐ８となる。
【０１１７】
このように、ネットワーク結合装置１０（より具体的には、境界探索部１２０）が、境界候補ＤＢ１２２に保持されている全てのポートに対してこの処理を定期的に行うことにより、ドメイン間リンクを検知する。
【０１１８】
なお、トポロジの結合処理の内容は、第１の実施形態と同様である。
【０１１９】
次に、本実施形態のフロー設定処理を説明する。図１２は、ドメイン間フローの他の例を示す説明図である。フロー設定処理の説明において、フロー計算装置５０が、図１２に例示する２種類のフローを計算したとする。そして、フロー１がノードに設定された後に、フロー２の設定指示が行われたとする。
【０１２０】
図１２に例示する２種類のフローのパケット識別条件は、入力ポートの内容以外同一である。入力ポートの情報は、ノードが異なれば変更される情報である。例えば、この２種類のフローがノード３４に設定される場合、ネットワーク結合装置１０により分割されたフローをそのまま使用すると、いずれもポートｐ８が入力ポートになってしまう。すなわち、パケット識別条件が同一の２種類のフローが、物理ネットワークに混合されてしまう。
【０１２１】
一般に、ドメイン内において上述するようなフローの混合が発生した場合、各ドメインの制御装置が、各ノードに設定するフローエントリへ上述するフローを変換する際に混合を回避することが可能である。例えば、ドメイン内でパケットを転送するときにフローの混合が発生する場合、その１つ前のノードにおいて一時的にパケットのヘッダを書き換えるなどの方法が考えられる。しかし、上述する例では、ノード３４は、ドメインの境界であるため、ドメインの制御装置単独では、このような方法は使用できず、フローの混合が発生してしまう。
【０１２２】
そこで、本実施形態のネットワーク結合装置１０は、このドメイン境界におけるフローの混合を回避するため、フローを分解する際に、設定済みのフローとの混合が発生するかどうかを判定し、混合が発生する場合には、フローを変更する処理を行う。
【０１２３】
具体的には、フロー計算装置５０がネットワーク結合装置１０にフローの設定指示を行うと、第１の実施形態と同様、ネットワーク結合装置１０のフロー分解部１３０がドメイン間のフローを分解する。
【０１２４】
図１３は、図１２に例示するドメイン間フローを分解した例を示す説明図である。図１に示す構成例では、フロー分解部１３０は、図１３に例示するように、ドメイン間フローを、ドメイン＃１のフロー（図１３（ａ）参照。）とドメイン＃２のフロー（図１３（ｂ）参照。）に分解する。図１３（ｂ）に示すように、ドメイン＃２におけるフロー１とフロー２は、パケット識別条件が同一のため、フローの混合（競合）が発生している。
【０１２５】
そこで、本実施形態では、上述するようなドメイン境界におけるフローの混合を回避するため、フロー検証部１３２が、設定済みのフローと新規に分解したフローとの競合が発生しないか検証する。
【０１２６】
フロー検証部１３２は、フローＤＢ１３１に保持されている設定済みのフロー情報を取得する。このフロー情報は、ドメイン間フロー情報と、ドメイン毎に分解されたフロー情報との組で提供される。
【０１２７】
フロー検証部１３２は、各ドメインの境界において、図１３（ｂ）に例示するような混合が発生しているかを判定する。混合が発生している場合、フロー検証部１３２は、新規に設定予定のフロー（ここでは、フロー２）の混合を回避する処理をフロー変更部１３３に依頼する。
【０１２８】
フロー変更部１３３は、フローの修正依頼を受信すると、ドメイン＃２のトラフィック流入口となる境界ノードにおいて、既に設定済みのフローで使用されていないパケット識別条件を計算し、ドメイン＃２におけるフロー２のパケット識別条件とする。すなわち、フロー変更部１３３は、ドメイン間フローのパケット識別条件を、ドメイン＃１内の通信ノードに設定するフローのパケット識別条件に使用し、ドメイン＃２内のノードに設定するフローのパケット識別条件を、すでにノードに対して設定されたフローのパケット識別条件と異なる内容に変更する。
【０１２９】
ただし、このままでは、ドメイン＃１から出力されるパケットのヘッダとドメイン＃２におけるフロー＃２の識別条件が異なってしまう。そこで、フロー変更部１３３は、ドメイン＃１のフロー２における終端時処理方法を、ドメイン＃２のフロー２のパケット識別条件と一致するように変更する。
【０１３０】
図１４は、図１３に例示するフローを変更したフローの例を示す説明図である。図１４に示す例では、フロー変更部１３３は、ドメイン＃１におけるフロー２の終端処理方法において、パケットヘッダの送信先ＩＰアドレスフィールドの値を１．９．２．１に変更する。さらに、フロー変更部１３３は、ドメイン＃２におけるフロー２のパケット識別条件のうち、送信先ＩＰアドレスを１．９．２．１とする。
【０１３１】
このように、フロー変更部１３３が、フローが競合する場合に、分解済フローのパケット識別条件を、すでにノードに対して設定されているフローのパケット識別条件とは異なる内容に変更することで、ドメイン＃２の受信側境界におけるパケット識別条件の混合（競合）を回避している。
【０１３２】
具体的には、フロー変更部１３３は、フローが競合する場合に、パケットの転送先ドメイン（ここでは、ドメイン＃２）内のノードに設定するフローのうち、パケット識別条件の少なくとも一部を、すでにノードに対して設定されたパケット処理規則のパケット識別条件と異なる条件に変更する。あわせて、フロー変更部１３３は、パケットの転送元ドメイン（ここでは、ドメイン＃１）内のノードに設定するフローのうち、転送されるパケットのヘッダ情報が変更した条件に一致するように、そのヘッダ情報を変更する処理を、処理規則の処理内容に追加する。このようにすることで、転送先のドメインの受信側境界における競合が回避される。
【０１３３】
さらに、図１４に示す例では、ドメイン＃２の終端となるノード＃５においてパケットのヘッダを元に戻すため、フロー変更部１３３が、ドメイン＃２におけるフロー２の終端時処理方法に、パケットヘッダの送信先ＩＰアドレスフィールドの値を１９２．１６８．０．１とする処理を指定している。
【０１３４】
この処理は、パケットヘッダが変更されたパケットを端末４３が正常に受け取れない場合に備えて指定された処理である。そのため、端末４３が、パケットヘッダが変更されたパケットを正常に受信できる場合、フロー変更部１３３は、このような処理を指定する必要はない。
【０１３５】
本実施形態では、パケット識別情報の混合を回避するため、フロー変更部１３３が、パケットヘッダの特定のフィールドの値を変更する処理を説明した。ただし、パケット識別情報の混合を回避する方法は、パケットヘッダの特定のフィールドの値を変更する方法に限定されず、ノードが対応している任意の方法を用いることができる。フロー変更部１３３は、例えば、ＭＰＬＳヘッダやＶＬＡＮタグの挿入など、特定の値をパケットヘッダに挿入して、パケット識別情報の混合を回避してもよい。
【０１３６】
以上のように、本実施形態によれば、フロー変更部１３３が、変換されたフローのパケット識別条件を、すでにノードに対して設定されたフローのパケット識別条件と異なる内容に変更する。よって、第１の実施形態の効果に加え、フローが競合することを抑止できる。さらに、本実施形態によれば、フロー計算装置５０に複雑なフロー管理アルゴリズムを搭載する必要がなくなるため、フロー計算装置５０自体の開発コストも低減できる。
【０１３７】
また、本実施形態のネットワーク結合装置１０では、境界探索部１２０がドメイン間リンクを自動で探索する。これによって、オペレータがノードに対して情報を設定するコストを削減できる。
【０１３８】
次に、本実施形態の変形例を説明する。上記実施形態では、既存のフローとの混合を回避するために、フロー変更部１３３が、ドメイン＃１のフローにおける終端時処理方法にパケットヘッダの変更を指定し、ドメイン＃２のフローのパケット識別条件をドメイン＃１の終端時処理方法に合致するように変更した。
【０１３９】
本変形例では、ドメイン＃１のフローにおける終端時処理方法にパケットヘッダの変更処理を指定し、ドメイン＃２のフローにおけるパケット識別条件を変更しないように、フローを分解する方法を説明する。
【０１４０】
本変形例においても、設定するフローはフロー計算装置５０によって計算され、ネットワーク結合装置１０に通知される。この際、フロー分解部１３０は、上述する方法と同様の方法を用いて、ドメイン間フローを各ドメインのフローへ分解する。その後、フロー検証部１３２が、分解したフローを検証して、混同の有無を判定する。
【０１４１】
本変形例では、分解したフローをフロー検証部１３２が判定した結果、既存のフローとの混合が発生しない場合、フロー変更部１３３が、ドメイン＃１のフローにおける終端時処理方法のみ変更する処理を行う。このとき、フロー変更部１３３は、ドメイン＃２におけるフローのパケット識別条件を逸脱しない範囲で、終端時処理方法の内容を指定する。
【０１４２】
図１５は、ドメイン間フローを分解した他の例を示す説明図である。フロー分解部１３０は、図１５（ａ）に例示するフローを、図１５（ｂ）および図１５（ｃ）に例示するフローに分解する。図１５（ｂ）に例示するドメイン＃１におけるフローと、図１５（ｃ）に例示するドメイン＃２におけるフローとを比較すると、入力ポートを除けば、分解前のドメイン間フローと同一のパケット識別条件が使用されている。
【０１４３】
一方、ドメイン＃１におけるフローの終端時処理方法には、分解前のフローと異なり、パケットヘッダの送信先ＭＡＣアドレスと、宛先ＭＡＣアドレスを書き換える処理が指示されている。
【０１４４】
そのため、ドメイン＃１のフローに基づいて転送されたパケットは、ドメイン＃１から出力される際にパケットヘッダの値が変更される。ただし、変更対象とされた送信元ＭＡＣアドレスと宛先ＭＡＣアドレスには、ドメイン＃２におけるフローのパケット識別条件では任意の値が指定されている。すなわち、フロー変更部１３３が、ドメイン＃２におけるフローのパケット識別条件を逸脱しない範囲で、終端時処理方法の内容を指定しているといえる。
【０１４５】
このようにして分解されたドメイン毎のフローは、上述する実施形態と同様、各ドメインの制御装置へ通知され、ネットワーク上の各ノードへ設定される。
【０１４６】
以上のように、本変形例では、フロー変更部１３３が、ドメイン境界において次のドメインにパケットを転送する際に行われる処理方法を、次のドメインで使用されるパケット識別条件から逸脱しない範囲で変更する。このような処理をすることで、分解前のフローが指定した通りのトラフィック制御が可能となる。
【０１４７】
例えば、制御装置で制御されていない多種のネットワーク機器（例えば、スイッチングハブやルータなど）が介在している環境においては、ドメイン間のリンクで利用可能なパケットの形式が限定されている可能性がある。本変形例によれば、そのような場合においても、ネットワーク結合装置１０がフローを分解する際に、ドメイン間リンクで利用可能なパケット形式に変換できるため、分解前のフローが指定した通りのトラフィック制御が可能となる。
【０１４８】
次に、本発明の概要を説明する。図１６は、本発明による通信システムの概要を示すブロック図である。本発明による通信システムは、接続された１台以上の通信ノード（例えば、ノード３１〜３３、ノード３４〜３６）に対してパケット処理規則（例えば、フロー）を設定することにより、その通信ノードによるパケット転送を制御する複数の制御装置８１（例えば、制御装置２１、制御装置２２）と、制御装置８１が制御する通信ノードを含む範囲を示すドメイン（例えば、ドメイン＃１、ドメイン＃２）をまたいだパケット処理規則を計算する計算装置（例えば、フロー計算装置５０）および複数の制御装置８１に接続されるネットワーク情報結合装置８２（例えば、ネットワーク結合装置１０）とを備えている。
【０１４９】
ネットワーク情報結合装置８２は、計算装置が計算したパケット処理規則（例えば、ドメイン間フロー）を、各制御装置８１が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則（例えば、分解済フロー）にそれぞれ変換するパケット処理規則変換部８３（例えば、フロー分解部１３０）を含む。そして、各制御装置８１は、制御する通信ノードに対して、変換された分解パケット処理規則を設定する。
【０１５０】
そのような構成により、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる。
【０１５１】
また、ネットワーク情報結合装置８２は、ドメイン間の接続関係を示す境界リンク情報（例えば、ドメイン間のリンク情報）を記憶する境界リンク情報記憶部（例えば、ドメイン間リンクＤＢ１２１）を含んでいてもよい。そして、パケット処理規則変換部８３は、境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換してもよい。
【０１５２】
具体的には、パケット処理規則には、パケットのヘッダ情報と照合するためのパケット識別条件と、そのパケット識別条件に一致するヘッダ情報を有するパケットの処理内容（例えば、転送経路、終端時処理方法）とが対応づけられる。制御装置８１は、パケット処理規則から変換された分解パケット処理規則に基づいて受信したパケットを処理させるように、通信ノードを制御する。
【０１５３】
このとき、パケット処理規則変換部８３は、分解パケット処理規則のパケット識別条件に、計算装置が計算したパケット処理規則のパケット識別条件の少なくとも一部（例えば、入力ポート以外のパケット識別条件）を使用してもよい。
【０１５４】
また、ネットワーク情報結合装置は、変換された分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部（例えば、フロー変更部１３３）を含んでいてもよい。
【０１５５】
具体的には、パケット処理規則修正部は、計算装置が計算したパケット処理規則（ドメイン間フロー）のパケット識別条件を、パケットの転送元ドメイン（例えば、ドメイン＃１）内の通信ノードに設定する分解パケット処理規則のパケット識別条件に使用し、パケットの転送先ドメイン（例えば、ドメイン＃２）内の通信ノードに設定する分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更してもよい。
【０１５６】
また、パケット処理規則修正部は、パケットの転送先ドメイン（例えば、ドメイン＃２）内の通信ノードに設定するパケット処理規則のうち、パケット識別条件の少なくとも一部を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる条件に変更し、パケットの転送元ドメイン（例えば、ドメイン＃１）内のノードに設定するパケット処理規則のうち、転送されるパケットのヘッダ情報が上記変更した条件に一致するように、そのヘッダ情報を変更する処理を処理規則の処理内容に追加してもよい。
【０１５７】
このようにすることで、競合するパケット処理規則が発生することを防止できる。
【０１５８】
また、ネットワーク情報結合装置８２は、パケット処理規則変換部８３によって変換された分解パケット処理規則が、すでに通信ノードに対して設定された分解パケット処理規則（例えば、フローＤＢ１３１に記憶されたフロー）と競合するか検証するパケット処理規則検証部（例えば、フロー検証部１３２）を含んでいてもよい。そして、パケット処理規則変換部８３は、分解パケット処理規則が競合する場合に、パケット処理規則を変更してもよい。
【０１５９】
また、図１７は、本発明によるネットワーク情報結合装置の概要を示すブロック図である。なお、図１７に例示するネットワーク情報結合装置の内容は、図１６に例示するネットワーク情報結合装置８２と同様である。
【０１６０】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６１】
この出願は、２０１３年１１月２７日に出願された日本特許出願２０１３−２４４５８５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１６２】
１０  ネットワーク結合装置
２１，２２  制御装置
３１〜３６  ノード
４１〜４４  端末
５０  フロー計算装置
１１０  トポロジ結合部
１１１  オブジェクトＩＤ管理ＤＢ
１２０  境界探索部
１２１  ドメイン間リンクＤＢ
１２２  境界候補ＤＢ
１３０  フロー分解部
１３１  フローＤＢ
１３２  フロー検証部
１３３  フロー変更部
１４０  制御メッセージ処理部
１５０  マネジメントネットワーク通信部
【図１】
2015079615.tif 000003
【図２】
2015079615.tif 000004
【図３】
2015079615.tif 000005
【図４】
2015079615.tif 000006
【図５】
2015079615.tif 000007
【図６】
2015079615.tif 000008
【図７】
2015079615.tif 000009
【図８】
2015079615.tif 000010
【図９】
2015079615.tif 000011
【図１０】
2015079615.tif 000012
【図１１】
2015079615.tif 000013
【図１２】
2015079615.tif 000014
【図１３】
2015079615.tif 000015
【図１４】
2015079615.tif 000016
【図１５】
2015079615.tif 000017
【図１６】
2015079615.tif 000018
【図１７】
2015079615.tif 000019
【図１８】
2015079615.tif 000020
【手続補正書】
【提出日】平成28年5月17日(2016.5.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、
前記制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および前記複数の制御装置に接続されるネットワーク情報結合装置とを備え、
前記ネットワーク情報結合装置は、
前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含み、
前記各制御装置は、制御する通信ノードに対して、変換された分解パケット処理規則を設定する
ことを特徴とする通信システム。
【請求項２】
ネットワーク情報結合装置は、
ドメイン間の接続関係を示す境界リンク情報を記憶する境界リンク情報記憶部を含み、
パケット処理規則変換部は、前記境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
請求項１記載の通信システム。
【請求項３】
パケット処理規則には、パケットのヘッダ情報と照合するためのパケット識別条件と、当該パケット識別条件に一致するヘッダ情報を有するパケットの処理内容とが対応づけられ、
制御装置は、前記パケット処理規則から変換された分解パケット処理規則に基づいて受信したパケットを処理させるように、通信ノードを制御する
請求項１または請求項２記載の通信システム。
【請求項４】
パケット処理規則変換部は、分解パケット処理規則のパケット識別条件に、計算装置が計算したパケット処理規則のパケット識別条件の少なくとも一部を使用する
請求項３記載の通信システム。
【請求項５】
ネットワーク情報結合装置は、
変換された分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部を含む
請求項３または請求項４記載の通信システム。
【請求項６】
ネットワーク情報結合装置は、計算装置が計算したパケット処理規則のパケット識別条件を、パケットの転送元ドメイン内の通信ノードに設定する分解パケット処理規則のパケット識別条件に使用し、パケットの転送先ドメイン内の通信ノードに設定する分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部を含む
請求項３または請求項４記載の通信システム。
【請求項７】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置であって、
前記ネットワーク情報結合装置は、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含む
ことを特徴とするネットワーク情報結合装置。
【請求項８】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換し、
前記制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定する
ことを特徴とする通信方法。
【請求項９】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換する
ことを特徴とする処理規則変換方法。
【請求項１０】
接続された１台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるコンピュータに適用される処理規則変換プログラムであって、
前記コンピュータに、
前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換処理
を実行させるための処理規則変換プログラム。
【国際調査報告】
2015079615.tif 000021
2015079615.tif 000022
2015079615.tif 000023
2015079615.tif 000024