(57)【要約】【課題】複数のドメインを有するネットワーク環境において、１つのコントローラに負荷を集中させることなく、ドメインと他ドメインの境界にあるスイッチを設定可能にする。【解決手段】ネットワークシステムは、複数のスイッチ５３０と、複数のドメインコントローラ５２０と、統合コントローラ５１０とを備え、統合コントローラ５１０は、ドメインコントローラ５２０の各々に、制御対象ドメイン内で他ドメインとの境界となるポートである境界ポートの情報を含むドメイン境界情報を送信し、ドメインコントローラ５２０の各々は、ドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界スイッチに対して、ドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する。【選択図】図２２
2017175522.tif 000002
【特許請求の範囲】
【請求項１】
自身が保持する処理規則に従って、受信パケットを処理する複数のスイッチと、
制御対象ドメインのトポロジの情報を保持し、配下のスイッチに対して、前記処理規則を設定する複数のドメインコントローラと、
前記ドメインコントローラの各々に、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報を送信する統合コントローラとを備え、
前記ドメインコントローラの各々は、前記統合コントローラから受信した前記ドメイン境界情報に基づいて、配下のスイッチのうち少なくとも前記境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する
ことを特徴とするネットワークシステム。
【請求項２】
ドメインコントローラの各々は、ドメイン間通信が開始される前に、境界スイッチに対してドメイン間処理規則を設定する
請求項１に記載のネットワークシステム。
【請求項３】
境界スイッチに対して設定されるドメイン間処理規則には、所定のドメイン間通信のパケットを特定する情報として、受信パケットの所定領域に記載される宛先ドメインの識別情報の指定が含まれる
請求項１または請求項２に記載のネットワークシステム。
【請求項４】
ドメインコントローラの各々は、ドメイン境界情報と制御対象ドメインのトポロジの情報とに基づいて、所定のドメイン間通信における制御対象ドメイン内の経路を決定して、前記所定のドメイン間通信が開始される前に、配下のスイッチのうち前記経路において中継用のスイッチとされるドメイン内中継用スイッチに対して、該通信のパケットを特定する情報と、出力先ポートとして対象のスイッチが自ドメイン内の境界スイッチに到達可能なポートの指定とを含むドメイン間処理規則を設定する
請求項１から請求項３のうちのいずれか１項に記載のネットワークシステム。
【請求項５】
ドメイン間通信でスイッチ間を流れる転送パケットは、ドメインの識別子、スイッチの識別子および端末の識別子が記載されたヘッダ領域を有し、
ドメインコントローラの各々は、所定の契機により、配下の所定のスイッチに対して、受信パケットに対する、前記ドメインの識別子、スイッチの識別子および端末の識別子の付与もしくは削除が指定されたドメイン間処理規則を設定する
請求項１から請求項４のうちのいずれか１項に記載のネットワークシステム。
【請求項６】
ドメイン間通信で宛先ドメイン以外のドメイン内のスイッチ間を流れる転送パケットは、宛先ドメイン内において宛先とされるスイッチおよび端末を識別する第１宛先識別情報が記載された第１のヘッダ領域と、前記第１のヘッダ領域よりも外側に設けられた第２のヘッダ領域であって、宛先ドメインの識別情報と、転送中の各ドメイン内において宛先とされるスイッチおよび端末を識別する第２宛先識別情報が記載された第２のヘッダ領域とを有し、
ドメインコントローラの各々は、所定の契機により、配下の所定のスイッチに対して、受信パケットに対する、前記第１宛先識別情報の付与もしくは削除、または、前記第２宛先識別情報の付与もしくは削除が指定されたドメイン間処理規則を設定する
請求項１から請求項５のうちのいずれか１項に記載のネットワークシステム。
【請求項７】
複数のドメインを有するネットワークシステムに複数設けられるドメインコントローラの１つとして動作する制御装置であって、
制御対象ドメインのトポロジの情報を記憶するトポロジ管理部と、
配下のスイッチに対して、受信パケットを処理するための処理規則を設定する処理規則設定部とを備え、
前記処理規則設定部は、前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも前記境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する
ことを特徴とする制御装置。
【請求項８】
複数のドメインを有するネットワークシステムに複数設けられ、各々が制御対象ドメインのトポロジの情報を記憶するドメインコントローラが、前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも前記境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する
ことを特徴とする経路制御方法。
【請求項９】
複数のドメインを有するネットワークシステムに複数設けられ、各々が制御対象ドメインのトポロジの情報を記憶するドメインコントローラが備えるコンピュータに、
前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも前記境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する処理
を実現させるための経路制御プログラム。
【請求項１０】
自身が保持する処理規則に従って受信パケットを処理する複数のスイッチと、制御対象ドメインのトポロジの情報を保持し、配下のスイッチに対して前記処理規則を設定する複数のドメインコントローラと、前記複数のドメインを含むネットワークを管理する統合コントローラとを備えたネットワークシステムにおける、ドメインを跨ぐ通信であるドメイン間通信のパケット転送方法であって、
少なくとも、所定のドメイン間通信の経路においてドメイン境界に位置する境界スイッチおよび該経路上の各ドメイン内の中継用のスイッチであるドメイン内中継用スイッチには、自ドメインのドメインコントローラが前記統合コントローラより受信したドメイン境界情報であって、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて決定した所定のドメイン間通信の自ドメイン内の経路に沿って受信パケットを転送するためのドメイン間処理規則が、該当するドメイン間通信が開始される前に設定されており、
新規にドメイン間通信が開始されると、該通信の経路の始点に位置する入力側エッジスイッチが、当該通信のフローを自ドメインのドメインコントローラに問い合わせた結果、前記ドメインコントローラが前記統合コントローラから得た情報に基づき設定されるドメイン間処理規則に従い、受信パケットのヘッダ領域の書き換えを行った上で、自ドメイン内の経路上の次段のスイッチに接続する所定のポートから送信し、
該通信の経路上の各ドメイン内の中継用のスイッチであるドメイン内中継用スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを、自ドメイン内の経路における次段のスイッチに接続する所定のポートから送信することで、該通信の経路において自ドメインの境界に位置する境界スイッチに転送し、
該通信の経路上のドメイン境界のうち始点側に位置する出力側境界スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを所定の境界ポートから送信し、
該通信の経路上のドメイン境界のうち終点側に位置する入力側境界スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを、自ドメイン内の経路上の次段のスイッチに接続する所定のポートから送信し、
該通信の経路の終点に位置する出力側エッジスイッチが、予め設定されているドメイン間処理規則または該通信のフローをドメインコントローラに問い合わせた結果得られるドメイン間処理規則に従い、受信パケットのヘッダ領域の書き戻しを行った上で、宛先端末に接続する所定のポートから送信する
ことを特徴とするパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のドメインを有するネットワークシステム、該ネットワークシステムが備える制御装置およびスイッチ、それらに適用される経路制御方法、パケット転送方法および経路制御プログラムに関する。
【背景技術】
【０００２】
外部のコントローラからスイッチや端末等を制御する方式をＣＵ（Ｃ：コントロールプレーン／Ｕ：ユーザプレーン）分離型アーキテクチャと呼ぶ。このようなＣＵ分離型アーキテクチャに基づく構成のネットワークをＣＵ分離型ネットワークと呼ぶ。
【０００３】
ＣＵ分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うＯｐｅｎＦｌｏｗ技術を利用したオープンフローネットワークが挙げられる。
【０００４】
オープンフローネットワークでは、ＯＦＳ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）と呼ばれるスイッチがパケット転送を担当し、ＯＦＳの外部に置かれたＯＦＣ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるコントローラが経路制御を担当する。これにより、外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。
【０００５】
より具体的には、ＯＦＣが、ＯＦＳのフローテーブルを操作することにより、該ＯＦＳの挙動を制御する。ここで、ＯＦＳには、仮想スイッチといった仮想化されたスイッチも含まれる。
【０００６】
フローテーブルは、所定のマッチ条件（ルール）に適合するパケットに対して行うべき所定の処理内容（アクション）を定義した処理規則（エントリ）が登録されたテーブルである。パケットは、フレームと読み替えてもよい。ルールに適合するパケット群（パケット系列）は、フロー（Ｆｌｏｗ）と呼ばれる。
【０００７】
ルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｌｏ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、ルールとして使用可能である。
【０００８】
従って、フローは、パケットのヘッダ領域に含まれる情報によって識別されるパケット群と言ってもよい。
【０００９】
また、アクションは、通常、所定の転送先へのパケット転送である。なお、アクションとして、パケット破棄を指定することも可能である。
【００１０】
オープンフローネットワークでは、通常、スイッチは、該当するエントリがないパケットを受信した場合、コントローラに対して、当該パケットについての問い合わせ（エントリ要求）を送信する。通常、スイッチは、当該パケットについての問い合わせとして、当該パケットをコントローラに転送する。
【００１１】
スイッチとコントローラとは、セキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）等の制御用のチャンネルにより接続される。コントローラは、管理下にあるスイッチからパケットについての問い合わせを受けた場合、当該パケットを含むフローの経路を計算し、例えば、当該スイッチのフローテーブルに、「当該パケットを含むフローを所定の転送先へ転送する」といった旨のエントリを登録する。このとき、コントローラは、当該エントリをフローテーブルに登録するための制御メッセージ（処理規則の設定指示）を、スイッチに対して送信する。
【００１２】
オープンフローネットワークにおける経路制御方法に関して、例えば、特許文献１、２に記載の技術がある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】国際公開２０１２／０９６１３１号パンフレット
【特許文献２】特開２０１３−５２２９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ＣＵ分離型ネットワークでは、コントローラは、複数のスイッチを集中制御する。例えば、ＯｐｅｎＦｌｏｗコントローラ（以下、ＯＦＣと称す）は、ＯｐｅｎＦｌｏｗプロトコルを使用して複数のＯｐｅｎＦｌｏｗスイッチ（以下、ＯＦＳと称す）を集中制御する。
【００１５】
特許文献１に記載のネットワークシステムは、予め計算された経路において中継用スイッチとなるコアスイッチおよび出力側エッジスイッチとなり得るエッジスイッチに対して、通信が開始される前にエントリを設定しておき、実際に通信が発生した際には、入力側エッジスイッチに対してのみエントリを設定する。これにより、フローテーブルの処理頻度を軽減し、ハードウェア面での性能の問題の解決を図っている。ここで、エッジスイッチは、端末接続可能なスイッチである。
【００１６】
しかし、特許文献１には、ネットワークを１台のコントローラで制御する方法しか記載されていない。従って、特許文献１に記載の方法は、複数のドメインを含み、ドメイン単位でコントローラが制御するような大規模なネットワークにそのまま適用できない。なお、ドメイン単位ではなく、１つのコントローラがネットワークを管理する場合、大規模ネットワークでは、そのコントローラに負荷が集中してしまう問題がある。
【００１７】
また、そのような大規模ネットワークを想定して、各コントローラが、自身が管理するドメイン内に存在するスイッチに対してのみエントリを設定する場合を考える。そのような場合、ドメイン間の境界となる境界スイッチは、各ドメイン内においてエッジスイッチに相当する。このため、新たなドメイン間通信が開始される度に、他ドメインとの入力側エッジスイッチに相当する境界スイッチにエントリが設定されることになる。その結果、境界スイッチにおいて、フローテーブルの処理頻度による問題、すなわち、エントリのリソースが多く消費され、負荷も高くなるといった別の問題が生じるおそれがある。
【００１８】
なお、特許文献２には、複数の通信サブシステムを含む通信システムであって、各通信サブシステム内に中間制御装置（下位コントローラ）を備えるとともに、該中間制御装置を制御する制御装置（上位コントローラ）を備えた通信システムの例が示されている。特許文献２に記載の通信システムは、上位コントローラが、複数の下位コントローラの情報を収集して、複数の通信サブシステム間を流れるフローの経路制御を行う。より具体的には、上位コントローラが、下位コントローラの各々から収集したトポロジの情報に基づいて、下位コントローラが経路を自由に制御できる通信の範囲を設定、通知する。下位コントローラの各々は、スイッチから新規フローを検出した旨の通知を受信すると、当該フローが、制御装置から権限を委譲された範囲内の通信か否かを判定し、範囲内の通信であれば、自身が経路を制御する。一方、下位コントローラの各々は、通知されたフローが権限を委譲された範囲外の通信であれば、上位コントローラに経路の問い合わせを行い、その応答に従って経路を設定する。
【００１９】
しかし、特許文献２には、下位コントローラにサブシステムを超えた通信の範囲を許可する例は記載されていない。したがって、サブシステムを跨ぐ通信の場合には、上位コントローラに経路の問い合わせを行わなければならず、上位コントローラに負荷が集中してしまう問題がある。例えば、特許文献２に記載の経路制御方法では、下位コントローラは、通信サブシステムを跨ぐ通信の場合、上位コントローラによって決定された経路に従い上位コントローラが作成した処理規則を、自装置の管轄となる通信サブシステム用に変換して、各スイッチに設定する。さらに、特許文献２に記載の経路制御方法では、送信元や宛先が異なるドメイン間通信が新たに開始される度に、境界スイッチだけでなく、サブシステム内のコアスイッチに対しても、エントリの設定が行われることになる。したがって、特許文献２に記載の方法では、上位コントローラにおける経路設定の負荷に加えて、境界スイッチを含む経路上の全てのスイッチにおけるリソースの消費量および負荷の増加といった問題も生じるおそれがある。
【００２０】
そこで、本発明は、複数のドメインを有するネットワーク環境において、１つのコントローラに負荷を集中させることなく、ドメインと他ドメインの境界にあるスイッチを設定できるネットワークシステム、制御装置、経路制御方法、パケット転送方法および経路制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明によるネットワークシステムは、自身が保持する処理規則に従って、受信パケットを処理する複数のスイッチと、制御対象ドメインのトポロジの情報を保持し、配下のスイッチに対して、処理規則を設定する複数のドメインコントローラと、ドメインコントローラの各々に、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報を送信する統合コントローラとを備え、ドメインコントローラの各々は、統合コントローラから受信したドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定することを特徴とする。
【００２２】
本発明による制御装置は、複数のドメインを有するネットワークシステムに複数設けられるドメインコントローラの１つとして動作する制御装置であって、制御対象ドメインのトポロジの情報を記憶するトポロジ管理部と、配下のスイッチに対して、受信パケットを処理するための処理規則を設定する処理規則設定部とを備え、処理規則設定部は、前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定することを特徴とする。
【００２３】
本発明による経路制御方法は、複数のドメインを有するネットワークシステムに複数設けられ、各々が制御対象ドメインのトポロジの情報を記憶するドメインコントローラが、前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定することを特徴とする。
【００２４】
本発明による経路制御プログラムは、複数のドメインを有するネットワークシステムに複数設けられ、各々が制御対象ドメインのトポロジの情報を記憶するドメインコントローラが備えるコンピュータに、前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する処理を実現させることを特徴とする。
【００２５】
本発明によるパケット転送方法は、自身が保持する処理規則に従って受信パケットを処理する複数のスイッチと、制御対象ドメインのトポロジの情報を保持し、配下のスイッチに対して前記処理規則を設定する複数のドメインコントローラと、前記複数のドメインを含むネットワークを管理する統合コントローラとを備えたネットワークシステムにおける、ドメインを跨ぐ通信であるドメイン間通信のパケット転送方法であって、少なくとも、所定のドメイン間通信の経路においてドメイン境界に位置する境界スイッチおよび該経路上の各ドメイン内の中継用のスイッチであるドメイン内中継用スイッチには、自ドメインのドメインコントローラが前記統合コントローラより受信したドメイン境界情報であって、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて決定した所定のドメイン間通信の自ドメイン内の経路に沿って受信パケットを転送するためのドメイン間処理規則が、該当するドメイン間通信が開始される前に設定されており、新規にドメイン間通信が開始されると、該通信の経路の始点に位置する入力側エッジスイッチが、当該通信のフローを自ドメインのドメインコントローラに問い合わせた結果、前記ドメインコントローラが前記統合コントローラから得た情報に基づき設定されるドメイン間処理規則に従い、受信パケットのヘッダ領域の書き換えを行った上で、自ドメイン内の経路上の次段のスイッチに接続する所定のポートから送信し、該通信の経路上の各ドメイン内の中継用のスイッチであるドメイン内中継用スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを、自ドメイン内の経路における次段のスイッチに接続する所定のポートから送信することで、該通信の経路において自ドメインの境界に位置する境界スイッチに転送し、該通信の経路上のドメイン境界のうち始点側に位置する出力側境界スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを所定の境界ポートから送信し、該通信の経路上のドメイン境界のうち終点側に位置する入力側境界スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを、自ドメイン内の経路上の次段のスイッチに接続する所定のポートから送信し、該通信の経路の終点に位置する出力側エッジスイッチが、予め設定されているドメイン間処理規則または該通信のフローをドメインコントローラに問い合わせた結果得られるドメイン間処理規則に従い、受信パケットのヘッダ領域の書き戻しを行った上で、宛先端末に接続する所定のポートから送信することを特徴とする。
【発明の効果】
【００２６】
本発明によれば、複数のドメインを有するネットワーク環境において、統合コントローラに負荷を集中させることなく、ドメインと他ドメインの境界にあるスイッチを設定できる。
【図面の簡単な説明】
【００２７】
【図１】第１の実施形態のネットワークシステムの例を示す構成図である。
【図２】統合コントローラ１０の構成例を示すブロック図である。
【図３】ドメインコントローラ２０の構成例を示すブロック図である。
【図４】第１の例のネットワークトポロジを示す説明図である。
【図５】トポロジ検出時の経路制御方法の概要を示す説明図である。
【図６】通信開始時の経路制御方法の概要を示す説明図である。
【図７】第１の例におけるパケットフォーマットの例を示す説明図である。
【図８】第１の例における境界情報の例を示す説明図である。
【図９】第１の例において各ＯＦＣが管理する仮想トポロジの例を示す説明図である。
【図１０】第１の例のドメイン間通信の処理フローを示すシーケンス図である。
【図１１】第１の例のドメイン間通信のパケット転送フローを示すシーケンス図である。
【図１２】第２の例のネットワークトポロジを示す説明図である。
【図１３】第２の例における境界情報の例を示す説明図である。
【図１４】第２の例において各ＯＦＣが管理する仮想トポロジの例を示す説明図である。
【図１５】第２の例におけるドメイン間通信のパケット転送フローを示すシーケンス図である。
【図１６】第２の例におけるパケットフォーマットの例を示す説明図である。
【図１７】第３の例におけるパケットフォーマットの例を示す説明図である。
【図１８】第３の例のドメイン間通信のパケット転送フローを示すシーケンス図である。
【図１９】第４の例のドメイン間通信のパケット転送フローを示すシーケンス図である。
【図２０】第４の例におけるパケットフォーマットの例を示す説明図である。
【図２１】第５の例におけるパケットフォーマットの例を示す説明図である。
【図２２】本発明によるネットワークシステムの概要を示す構成図である。
【図２３】発明による制御装置の概要を示す構成図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図面を参照して説明する。本発明は、ＣＵ分離型ネットワークを対象としている。以下の実施形態および例では、ＣＵ分離型ネットワークの例としてオープンフローネットワークを用いるが、本発明の対象とされるネットワークはオープンフローネットワークに限定されない。
【００２９】
図１は、第１の実施形態のネットワークシステムの例を示す構成図である。図１に示すネットワークシステムは、統合コントローラ１０と、複数のドメインコントローラ２０と、複数のネットワーク機器３０と、端末１および端末２とを備える。
【００３０】
ネットワーク機器３０の各々は、少なくとも１つ以上の他のネットワーク機器３０と接続されており、全体として、端末間通信を実現する通信ネットワーク１００を構成している。以下、ネットワーク機器３０を、単にスイッチと呼ぶ場合がある。
【００３１】
なお、図１には、２つのドメインコントローラ２０が示されているが、ドメインコントローラ２０の数はこの限りではない。同様に、図１には、各ドメインコントローラ２０に接続されるネットワーク機器３０の例として、それぞれ２つのネットワーク機器３０が示されているが、ネットワーク機器３０の数はこの限りではない。同様に、図１には、２つの端末（端末１および端末２）が示されているが、端末の数はこの限りではない。
【００３２】
統合コントローラ１０は、サーバマシンまたはサーバマシン上で動作する仮想マシンによって実現されるコントローラであって、１つ以上のドメインコントローラ２０と制御用のチャンネル（例えば、セキュアチャンネル）を用いて接続される。制御用のチャンネルは、専用のネットワークを利用したものであってもよいし、一般のネットワークを利用したものであってもよい。ここで、統合コントローラ１０と接続されるドメインコントローラ２０は、より具体的には、統合コントローラ１０の管理ネットワークである通信ネットワーク１００内に含まれるドメインを管理するドメインコントローラ２０である。以下、統合コントローラ１０において、接続先のドメインコントローラ２０を、配下のドメインコントローラ２０と呼ぶ場合がある。
【００３３】
統合コントローラ１０は、複数のドメインを含むネットワークを管理し、管理ネットワークの範囲内において、ドメイン間通信の各フローのドメイン間の経路を決定する。また、統合コントローラ１０は、決定した経路に従って、配下のドメインコントローラ２０に、ドメイン間通信のパケットを転送するための処理規則を必要なネットワーク機器３０に対して設定する旨の指示を行う。以下、各ネットワーク機器３０においてドメイン間通信のフローを転送するための処理規則を、ドメイン間処理規則と呼ぶ場合がある。
【００３４】
本実施形態では、ドメインコントローラ２０が管理を行うネットワーク領域の単位を、ドメインと呼ぶ。ドメインは、通信ネットワーク１００内において定義される該ネットワークの管理上の領域であれば、特に詳細（接続態様、規模等）は問わない。本実施形態の通信ネットワーク１００は、複数のドメインを含み、それらドメインに対してそれぞれ１つのドメインコントローラ２０が対応づけられる。なお、１つのドメインコントローラ２０が、複数のドメインを管理することも可能である。そのような場合でも、統合コントローラ１０は、ドメインを単位に、配下のドメインコントローラ２０を識別して、トポロジの検出やドメイン間の経路の計算やドメイン間処理規則の設定指示等を行えばよい。
【００３５】
統合コントローラ１０は、例えば、管理ネットワークのトポロジを検知し、所定のドメイン間通信のドメイン間の経路を事前に（該通信が開始される前に）計算してもよい。ここで、所定のドメイン間通信には、例えば、送信元端末および送信先端末を特定した所定の端末間通信に限らず、端末を特定せずに所定のドメインから所定のドメインへの通信や、ドメインの一方を特定せずに任意のドメインから所定のドメインへの通信もしくは所定のドメインから任意の他ドメインへの通信や、一方の端末のみを特定した、他の任意のドメインから所定の端末への通信もしくは所定の端末から他の任意のドメインへの通信なども含まれうる。
【００３６】
その場合、統合コントローラ１０は、計算した経路に従って、事前に、該経路上にいるスイッチが属するドメインを管理するドメインコントローラ２０に、該スイッチへのドメイン間処理規則の設定を指示してもよい。このとき、統合コントローラ１０は、設定先のドメインにおいて他ドメインとの境界ポートの情報を含む境界情報の送信とともにドメイン間処理規則の設定指示を行う。
【００３７】
なお、統合コントローラ１０は、ドメイン間処理規則の設定指示を明示的には行わずに、境界情報を送信するだけでもよい。境界情報を受信したドメインコントローラ２０は、境界情報を受信したことを受けて、所定のタイミングで、配下のスイッチに対してドメイン間処理規則を設定してもよい。
【００３８】
ドメインコントローラ２０は、サーバマシンまたはサーバマシン上で動作する仮想マシンによって実現されるコントローラであって、統合コントローラ１０と、１つ以上のネットワーク機器３０とに、それぞれ制御用のチャンネルを用いて接続される。ここで、ドメインコントローラ２０と接続されるネットワーク機器３０は、より具体的には、そのドメインコントローラ２０が管理するドメインを構成しているネットワーク機器３０である。以下、あるドメインコントローラ２０において、接続先のネットワーク機器３０を、配下のスイッチと呼ぶ場合がある。また、以下、あるドメインコントローラ２０において、配下のスイッチと接続される端末を、管理下の端末と呼ぶ場合がある。
【００３９】
また、ドメインコントローラ２０は、自身が管理する自ドメインに対して、ドメイン内に閉じた通信であるドメイン内通信の各フローの経路を決定し、決定した経路に従い、配下のスイッチに対して処理規則を設定する。
【００４０】
ドメインコントローラ２０は、例えば、自ドメインのトポロジを検出したタイミングで、所定のドメイン内通信の経路を決定し、該経路上の各スイッチに対して処理規則を設定してもよい。以下、ドメイン内通信のパケットを転送するための処理規則を、ドメイン内処理規則と呼ぶ場合がある。なお、トポロジの検出処理には、管理下の端末の検知も含まれる。
【００４１】
このとき、ドメインコントローラ２０は、配下のスイッチに対して独自に定義されるノードＩＤを割り当て、配下のスイッチが保持している固有の情報（スイッチＩＤ、ＭＡＣアドレス等）とノードＩＤとを１対１で対応づけてもよい。同様に、ドメインコントローラ２０は、管理下の端末に対して独自に定義されるユーザＩＤを割り当て、管理下のスイッチが保持している固有の情報（ＭＡＣアドレス等）とユーザＩＤとを１対１で対応づけてもよい。なお、ノードＩＤやユーザＩＤの割り当ては、ドメインコントローラ２０により行われる以外に、統合コントローラ１０に自ドメインのトポロジの情報を通知した際等に統合コントローラ１０により行われてもよい。
【００４２】
また、ドメインコントローラ２０は、自ドメインのドメインＩＤを保持する。
【００４３】
本実施形態において、ドメインＩＤは、少なくともそのドメインを含む統合コントローラ１０の管理ネットワーク内において当該ドメインを識別可能な情報であればよい。ノードＩＤは、少なくともそのスイッチが属するドメイン内において当該スイッチを識別可能な情報であればよい。ユーザＩＤは、少なくともその端末の接続先のスイッチが属するドメイン内において当該端末を識別可能な情報であればよい。
【００４４】
このようなＩＤを用いれば、通信ネットワーク１００において、様々なレベルで、スイッチおよび端末を特定できる。例えば、ドメインＩＤとノードＩＤとユーザＩＤの組を用いれば、通信ネットワーク１００内において端末を一意に識別できる。また、ドメインＩＤとノードＩＤの組を用いれば、通信ネットワーク１００内においてスイッチを一意に識別できる。また、ノードＩＤとユーザＩＤの組を用いれば、その端末の接続先のスイッチが属するドメイン内においてスイッチと配下の端末とを一意に識別できる。
【００４５】
また、ドメインコントローラ２０は、例えば、経路が決定したタイミングで、決定した経路上にいるコアスイッチに対して、受信パケットをドメイン内のスイッチ間で転送するための中継用エントリを設定してもよい。また、ドメインコントローラ２０は、例えば、経路が決定したタイミングで、出力側エッジスイッチに対して、ドメイン内のスイッチから受信したパケットを、接続先の端末に転送するための出力用エントリを設定してもよい。
【００４６】
また、ドメインコントローラ２０は、例えば、配下のスイッチからフローの問い合わせ（エントリ要求）を受けたタイミングで、予め設定しておいた自ドメイン内の中継経路の中から該フローの中継経路を決定し、入力側エッジスイッチに対して、その中継経路に沿った入力用エントリを設定してもよい。
【００４７】
ドメイン内通信におけるエントリは、大別すると、入力用エントリ、ドメイン内中継用エントリ、出力用エントリ、境界入力用エントリおよび境界出力用エントリに分けられる。
【００４８】
ここで、入力用エントリは、経路上の入力用エッジスイッチとなるスイッチに対して設定されるエントリである。入力用エントリは、例えば、「接続先の端末から受信したパケットの宛先情報が設定される領域である宛先領域の少なくとも一部に、端末間通信において所定の端末を示す情報が記載されていれば、受信パケットに、経路上の各スイッチが必要な情報を付加した上で、経路上の次段のスイッチに転送する」旨のエントリであればよい。そのような入力用エントリは、例えば、ルールとして、設定先のスイッチが該通信のパケットを特定可能な情報の指定を含み、アクションとして、受信パケットに、経路上の各スイッチにおいて宛先とされるスイッチまたは端末を特定可能な情報を追加する旨の書き換え指示（書き換え方法の指定）と、出力先のポートの指定とを含む。
【００４９】
宛先領域は、パケットのヘッダ部に含まれる領域であって、予めシステム内で宛先に関する情報が設定される領域として規定された領域であれば特に問わない。例えば、外部通信時には送信元に関する情報が設定される領域として使用される領域であっても、システム内の転送経路でその領域が用いられず、また外部通信との端点でその領域に記載されていた情報を書き戻せる場合には、宛先領域として使用できる。以下では、パケットの宛先情報といった場合には、そのようにして規定されたパケットの宛先領域に設定されたまたは設定すべき情報を表す。
【００５０】
なお、本実施形態では、経路上の各スイッチにおいて宛先とされるスイッチまたは端末を特定可能な情報として、自ドメイン内において宛先とされるエッジスイッチのノードＩＤおよび宛先端末のユーザＩＤを用いる。すなわち、ドメイン内通信の入力用エントリとして、例えば、「所定のパケットを受信した際、その宛先情報を検索キー（ルール）として使用し、受信パケットの宛先領域の少なくとも一部にノードＩＤとユーザＩＤとを記載して、次段のスイッチに転送する」旨のエントリを用いる。そのような入力用エントリは、例えば、ルールとして、受信パケットの宛先情報における宛先端末を示す情報の指定を含み、アクションとして、端末間の通信フォーマットからドメイン内のスイッチ間の転送フォーマットへとパケットフォーマットを書き換えるためパケット書き換え方法の指定と、書き換え後に再度エントリを検索する指示とを含んでいてもよい。
【００５１】
また、中継用エントリは、経路上のコアスイッチとなるスイッチに対して設定されるエントリである。中継用エントリは、例えば、「受信パケットの宛先情報が設定される領域である宛先領域の少なくとも一部に、あるエッジスイッチのノードＩＤが記載されていれば、当該受信パケットをそのエッジスイッチに転送する」旨のエントリであってもよい。そのような中継用エントリは、例えば、ルールとして、出力側エッジスイッチのノードＩＤの指定を含み、アクションとして出力先ポートの指定を含む。なお、ルールには、ノードＩＤに加えて、受信パケットの他の領域に記載された他の情報が指定されてもよい。
【００５２】
また、出力用エントリは、出力側エッジスイッチに対して設定されるエントリである。出力用エントリは、例えば、「受信パケットの宛先領域の少なくとも一部に、自身のノードＩＤと、接続先の端末のユーザＩＤとが記載されていれば、当該受信パケットの宛先情報を当該端末宛に戻し、当該受信パケットを接続先の端末に転送する」旨のエントリであってもよい。そのような出力用エントリは、例えば、ルールとして、宛先端末のユーザＩＤの指定を含み、アクションとして、ドメイン内のスイッチ間の転送フォーマットから端末間の転送フォーマットへとパケットフォーマットを書き戻すためのパケット書き換え方法の指定と、出力先ポートの指定とを含んでいてもよい。
【００５３】
また、ドメインコントローラ２０は、自ドメインのトポロジの情報を、統合コントローラ１０に通知する。また、ドメインコントローラ２０は、統合コントローラ１０からドメイン間処理規則の設定指示を受けた場合に、指示内容（より具体的に、ドメイン間の経路とされる境界ポートの指定）に応じたドメイン間処理規則を、自ドメイン内の適切なネットワーク機器３０に対して設定する。なお、ドメイン間処理規則の詳細については後述する。
【００５４】
このとき、ドメインコントローラ２０は、ドメイン間通信における自ドメイン内の経路を自由に定めてもよい。また、ドメインコントローラ２０は、ドメイン間通信における自ドメイン内の経路として、予め定めておいたドメイン内通信の経路を利用することも可能である。そのような場合において、ドメインコントローラ２０は、ドメイン内通信の中継用エントリを利用して、ドメイン間通信のパケットを転送させてもよい。これは、ドメイン間処理規則の一部が、ドメイン内処理規則で代用されることを意味する。
【００５５】
ネットワーク機器３０は、スイッチなどのネットワーク機器であって、ドメインコントローラ２０から設定されるエントリに従って受信パケットを処理する。ネットワーク機器３０は、仮想スイッチなど、サーバマシン上で動作する仮想のネットワーク機器であってもよい。また、ネットワーク機器３０は、１つ以上の端末と接続可能である。以下、あるネットワーク機器３０において、接続先の端末を、配下の端末と呼ぶ場合がある。
【００５６】
また、図２は、統合コントローラ１０の構成例を示すブロック図である。図２に示すように、統合コントローラ１０は、コントローラ管理部１１と、トポロジ管理部１２と、ドメイン間経路計算部１３とを備える。
【００５７】
コントローラ管理部１１は、配下のドメインコントローラ２０の情報を管理（記憶）し、該ドメインコントローラ２０との間で各種情報の送受信を行う。コントローラ管理部１１がドメインコントローラ２０と送受信を行う各種情報には、ドメインのトポロジの情報や、宛先端末の問い合わせやそれに対する応答やドメイン間処理規則の設定指示が含まれる。
【００５８】
コントローラ管理部１１が管理する、ドメインコントローラ２０の情報は、例えば、ドメインコントローラ２０との間で情報の送受信を行うためのアドレス情報であってもよい。なお、コントローラ管理部１１が記憶するドメインコントローラ２０の情報はこの限りではない。
【００５９】
トポロジ管理部１２は、管理ネットワーク（通信ネットワーク１００）のトポロジの情報を管理する。トポロジ管理部１２は、該ネットワークのトポロジの情報として、例えば、配下のドメインコントローラ２０から受信した各ドメインのトポロジの情報およびドメイン間の接続形態に関する情報を記憶してもよい。
【００６０】
トポロジ管理部１２は、例えば、配下のドメインコントローラ２０から取得される各ドメインのトポロジの情報を、ドメインＩＤと対応づけて記憶するとともに、それらの情報に基づいてドメイン間の接続形態（各ドメイン間の境界スイッチや境界ポートの情報等）を検出して記憶してもよい。ドメインＩＤは、外部のサーバ装置や配下のドメインコントローラ２０等から取得してもよいし、予め設定されているＩＤであってもよいし、自ら割り当てたＩＤであってもよい。なお、トポロジ管理部１２が記憶するトポロジの情報はこの限りではない。
【００６１】
ドメイン間経路計算部１３は、管理ネットワークのトポロジに基づいて、ドメイン間通信におけるドメイン間の経路を計算する。
【００６２】
また、図３は、ドメインコントローラ２０の構成例を示すブロック図である。図２に示すように、ドメインコントローラ２０は、スイッチ管理部２１と、トポロジ管理部２２と、ドメイン内経路計算部２３と、処理規則生成部２４と、統合コントローラＩ／Ｆ部２５とを備える。
【００６３】
スイッチ管理部２１は、配下のスイッチの情報を管理し、該ネットワーク機器３０との間で各種情報の送受信を行う。スイッチ管理部２１がネットワーク機器３０と送受信を行う各種情報には、エントリ要求やその応答といった制御メッセージも含まれる。スイッチ管理部２１は、例えば、配下のスイッチから、自ドメインのトポロジに関する情報（ドメインに属するネットワーク機器の情報やそれらの接続形態に関する情報、それらの配下の端末の情報等）を取得（受信）する。また、スイッチ管理部２１は、例えば、配下のスイッチに、後述する処理規則生成部２４が生成した処理規則を送信する。
【００６４】
スイッチ管理部２１が管理する、ネットワーク機器３０の情報は、例えば、配下のスイッチとの間で情報を送受信するためのアドレス情報であってもよい。なお、スイッチ管理部２１が記憶するネットワーク機器３０の情報はこの限りではない。また、スイッチ管理部２１は、自身が情報を管理せず、トポロジ管理部２２が管理する情報を参照してもよい。
【００６５】
トポロジ管理部２２は、自ドメインのトポロジの情報を管理する。トポロジ管理部２２は、例えば、自ドメインのトポロジの情報として、該トポロジを構成しているネットワーク機器３０の情報（ＭＡＣアドレス等の固有の識別情報、ノードＩＤ、ポート情報等）、それらの接続形態に関する情報（ポートごとの接続先の情報等）、およびそれらの配下の端末の情報（ＭＡＣアドレス等の固有の識別情報、ユーザＩＤ等）を、記憶してもよい。なお、トポロジ管理部２２が記憶するドメインのトポロジの情報はこの限りではない。
【００６６】
ドメイン内経路計算部２３は、自ドメインのトポロジに基づいて、ドメイン内通信の経路を計算する。また、ドメイン内経路計算部２３は、統合コントローラ１０によってドメイン間通信におけるドメイン間の経路が指定された場合に、指定内容に従い、すなわち指定されたドメイン間の経路を通るように、該通信の自ドメイン内の経路を計算する。
【００６７】
処理規則生成部２４は、ドメイン内経路計算部２３が計算した経路に従い、配下のスイッチに設定する処理規則を生成する。処理規則生成部２４が生成する処理規則は、ドメイン内処理規則と、ドメイン間処理規則とを含む。
【００６８】
統合コントローラＩ／Ｆ部２５は、統合コントローラ１０との間で各種情報の送受信を行う。統合コントローラＩ／Ｆ部２５は、例えば、統合コントローラ１０のコントローラ管理部１１との間で各種情報の送受信を行う。
【００６９】
［例１］
以下、具体例を用いて本実施形態の動作を説明する。
【００７０】
第１の例として、図４に示したトポロジを用いて本実施形態の動作を説明する。図４は、第１の例におけるネットワークトポロジを示す説明図である。本例のネットワークシステムは、図４に示すように、１つの統合コントローラ１０と、ドメインコントローラ２０としてのＯＦＣ２０−１〜２０−２と、ネットワーク機器３０としてのＯＦＳ３０−１〜ＯＦＳ３０−４と、端末１および端末２とを備えている。
【００７１】
本例において、ＯＦＳ３０−１およびＯＦＳ３０−２は、ＯＦＣ２０−１が管理するドメインｄ１に属する。また、ＯＦＳ３０−３およびＯＦＳ３０−４は、ＯＦＣ２０−２が管理するドメインｄ２に属する。
【００７２】
ＯＦＳ３０−１は、少なくとも２つのポートを有し、ポートｐ１を介してＯＦＳ３０−２と接続され、ポートｐ２を介して端末１と接続される。
【００７３】
また、ＯＦＳ３０−２は、少なくとも２つのポートを有し、ポートｐ１を介してＯＦＳ３０−３と接続され、ポートｐ２を介してＯＦＳ３０−１と接続される。
【００７４】
また、ＯＦＳ３０−３は、少なくとも２つのポートを有し、ポートｐ１を介してＯＦＳ３０−４と接続され、ポートｐ２を介してＯＦＳ３０−２と接続される。
【００７５】
また、ＯＦＳ３０−４は、少なくとも２つのポートを有し、ポートｐ１を介して端末２と接続され、ポートｐ２を介してＯＦＳ３０−３と接続される。
【００７６】
また、本例では、ドメイン内通信の経路制御方法として、特許文献１に記載されている方法を用いる例を説明する。すなわち、ドメイン内通信の経路制御において、少なくとも一部のＯＦＳに対して事前にエントリを設定する「Ｐｒｏａｃｔｉｖｅ型」を実現する。なお、以下では、入力側エッジスイッチ以外のＯＦＳに対して事前にエントリを設定する例を示す。
【００７７】
さらに、本例では、ドメイン間通信の経路制御においても、Ｐｒｏａｃｔｉｖｅ型を実現する。以下では、ドメイン間通信における入力側エッジスイッチ以外のＯＦＳに対して事前にエントリを設定する例を示す。
【００７８】
加えて、本例では、ドメイン間通信における各ドメイン内の通信の経路制御として、ドメイン内通信の経路制御を利用する。
【００７９】
そこで、まず特許文献１に記載された経路制御方法を簡単に説明する。
【００８０】
特許文献１に記載された経路制御方法では、ＯＦＣは、管理ネットワークである自ドメインのトポロジを検出すると、配下のＯＦＳにノードＩＤを割り当てる。そして、ＯＦＣは、配下のＯＦＳのうちコアスイッチに対して、中継用エントリを設定する。エントリの設定は、対象のＯＦＳに、ＯＦＣより設定したいエントリを送信して記憶させればよい。中継用エントリは、パケットの宛先領域におけるノードＩＤの指定と、受信パケットを所定のポートから送信する旨の指示とを含む。各コアスイッチは、このような中継用エントリに従って、予め設定された宛先端末に続く経路上の次段のＯＦＳと接続されるポートから受信パケットを送信する。
【００８１】
また、ＯＦＣは、配下のＯＦＳと接続される端末を検出すると、検出した端末にユーザＩＤを割り当てる。そして、ＯＦＣは、配下の端末が検出されたＯＦＳを出力側エッジスイッチとして、該ＯＦＳに対して、出力用エントリを設定する。出力用エントリは、パケットの宛先領域における自身のノードＩＤおよび配下の端末のユーザＩＤの指定と、パケットの宛先領域を元々の情報へと書き戻した上で、所定のポートから送信する旨の指示とを含む。出力側エッジスイッチは、このような出力用エントリに従って、自身に到達した配下の端末宛てのパケットを、端末間通信のフォーマットに書き戻した上で、配下の端末と接続されるポートから送信する。
【００８２】
また、ＯＦＣは、新たな通信が開始されると、当該通信の始点となる入力側エッジスイッチに対して、入力用エントリを設定する。入力用エントリは、当該通信の端末間通信フォーマットでのパケットの宛先領域における宛先端末の指定と、パケットの宛先領域を、ＯＦＳ間の転送フォーマットでの宛先情報に書き換えた上で、エントリを再検索する旨の指示とを含む。ここでは、宛先情報の書き換えの指定として、パケットの宛先領域に、出力側エッジスイッチのノードＩＤと宛先端末のユーザＩＤとを記載する旨が指定される。入力側エッジスイッチは、このような入力用エントリに従って、パケットの宛先情報を書き換えた上でエントリを再検索する。それにより、入力側エッジスイッチは、当該フローの中継用エントリを発見し、発見された該中継用エントリに従って、受信パケットを、予め設定された出力側エッジスイッチまでの経路上の次段のＯＦＳと接続されるポートから送信する。
【００８３】
図５および図６は、本例のドメイン間通信の経路制御方法の概要を示す図である。図５は、本例におけるトポロジ検出時の制御例を示す説明図である。また、図６は、本例における通信開始時の制御例を示す説明図である。以下、図中の括弧付きの番号で示される各制御について、簡単に説明する。
【００８４】
まず、図５を参照して、トポロジ検出時の経路制御を簡単に説明する。
【００８５】
（１）統合コントローラ１０は、ＯＦＣ２０−１およびＯＦＣ２０−２から、各々、ドメインを構成しているＯＦＳ（配下のＯＦＳ）の情報およびそれに接続する端末の情報を含むトポロジの情報を取得し、ドメイン間の境界ポートを検出する。
【００８６】
（２）統合コントローラ１０は、検出した境界ポートの情報を含むドメイン間処理規則の設定指示を、ＯＦＣ２０−１およびＯＦＣ２０−２に対して送信する。
【００８７】
（３）ＯＦＣ２０−１およびＯＦＣ２０−２は、統合コントローラ１０から受信した情報に基づいて、ドメイン間処理規則を生成して、配下ＯＦＳに設定する。本例では、ＯＦＣ２０−１およびＯＦＣ２０−２は、ドメイン間処理規則のうち、入力用エントリ以外の必要なエントリを生成して、該当するＯＦＳに、事前に設定する。
【００８８】
ドメイン間通信におけるエントリは、大別すると、入力用エントリ、ドメイン内中継用エントリ、出力用エントリ、境界入力用エントリおよび境界出力用エントリに分けられる。本例では、そのうちの出力用エントリ、境界入力用エントリおよび境界出力用エントリを生成して、該当するＯＦＳに設定する。なお、ドメイン内中継用エントリは、境界スイッチを出力側エッジスイッチとみなしたドメイン内通信の中継用エントリをそのまま用いる。
【００８９】
ドメイン間通信における入力用エントリは、経路上の入力用エッジスイッチとなるスイッチに対して設定されるエントリである。入力用エントリは、例えば、設定先のスイッチに、配下の端末から受信したパケットを、経路上の各スイッチが必要な情報を付加した上で、経路上の最初の境界スイッチとなる、自ドメイン内において宛先ドメインとの境界ポートを有する境界スイッチに到達可能なポートから出力させるためのエントリであればよい。より具体的には、入力用エントリは、該通信のパケットを特定する情報の指定と、受信パケットに、経路上の先に位置する各境界スイッチにおいて宛先ドメインを特定可能な情報および宛先ドメインにおいて宛先端末を特定可能な情報を追加する旨の書き換え指示（書き換え方法の指定）と、出力先のポートの指定とを含むエントリであってもよい。
【００９０】
既に説明したように、本例では、宛先ドメインとの境界ポートを有する自ドメインの境界スイッチに到達させる方法の一つとして、該境界スイッチを出力側エッジスイッチとみなしたドメイン内通信の中継用エントリを利用する。ドメイン内中継用エントリをドメイン間通信とドメイン内通信とで共用するために、ドメイン内通信の転送パケットのフォーマットを、ドメイン間通信のドメイン内通信にも適用する。
【００９１】
そのため、ドメイン間通信における入力用エントリとして、設定先のスイッチに、配下の端末から受信したパケットを、宛先ドメインの情報と、宛先ドメインにおいて宛先端末を特定可能な情報と、さらに、転送中のドメイン内において宛先とされるスイッチまたは端末もしくは出力先ポートを特定可能な情報とを含めた状態で、該境界スイッチに到達可能な経路上の次段のＯＦＳと接続されるポートから出力させるエントリを用いる。
【００９２】
また、ドメイン間通信におけるドメイン内中継用エントリは、経路上の各ドメイン内のコアスイッチとなるスイッチに対して設定されるエントリである。ドメイン内中継用エントリは、例えば、設定先のスイッチに、受信したパケットをそのまま、自ドメイン内の、宛先ドメインとの境界スイッチまたは出力側エッジスイッチまで到達可能な所定のポートから出力させるためのエントリであればよい。より具体的に、ドメイン内中継用エントリは、該通信のパケットを特定する情報の指定と、出力先のポートの指定とを含むエントリであってもよい。なお、各ＯＦＣは、ドメイン内中継用エントリを、ドメイン内通信の中継用エントリで代用してもよい。
【００９３】
また、ドメイン間通信における出力用エントリは、経路上の出力側エッジスイッチとなるスイッチに対して設定されるエントリである。出力用エントリは、例えば、ドメイン内通信の出力エントリと同様、設定先のスイッチに、ドメイン内の他のスイッチから受信したパケットを、元の状態に書き戻した上で配下の端末に到達可能な所定のポートから出力させるためのエントリであればよい。より具体的に、出力用エントリは、該通信のパケットを特定する情報の指定と、受信パケットを元の端末間通信のフォーマットに書き戻す旨の書き換え指示と、出力先のポートの指定とを含むエントリであってもよい。なお、各ＯＦＣは、ドメイン間通信における出力用エントリについても、ドメイン内通信の出力用エントリで代用してもよい。ただし、パケットの書き戻し方法がドメイン間通信とドメイン内通信で異なる場合はこの限りではない。
【００９４】
なお、出力側エッジスイッチでドメイン内通信の出力用エントリを代用できるように、その手前の境界スイッチ（宛先ドメインの境界スイッチ）で、ドメイン間通信用のパケットフォーマットにしてドメイン内の転送処理を開始するなど、差分とされる情報のパケットの書き戻しを行わせてもよい。その場合、そのような書き換え指示を含む境界入力用エントリを、入力側境界スイッチに対して設定する。
【００９５】
また、ドメイン間通信における境界出力用エントリは、全体経路のうちドメイン間経路の始点に位置する出力側境界スイッチに対して設定されるエントリである。境界出力用エントリは、例えば、設定先のスイッチに、ドメイン内の転送用ポートから受信したパケットに対して、経路上の先に位置する各スイッチが必要な情報の追加、不要な情報の削除などを含む書き換えを行った上で、ドメイン間経路の相手側である他ドメインの境界スイッチに到達可能なポート（境界ポート）から出力させるためのエントリであればよい。より具体的に、境界出力用エントリは、該通信のパケットを特定する情報の指定と、必要であれば上記のような書き換え指示と、出力先のポートの指定とを含むエントリであってもよい。
【００９６】
なお、本例では、出力側境界スイッチでのパケットの書き換えは行わない。
【００９７】
また、ドメイン間通信における境界入力用エントリは、全体経路のうちドメイン間経路の終点に位置する入力側境界スイッチに対して設定されるエントリである。境界入力用エントリは、例えば、設定先のスイッチに、境界ポートから受信したパケットに対して、経路上の先に位置する各スイッチが必要な情報の追加、不要な情報の削除などを含む書き換えを行った上で、自ドメイン内の宛先とされるスイッチ（他ドメインとの境界スイッチまたは出力側エッジスイッチ）に到達可能なポートから出力させるためのエントリであればよい。より具体的に、境界入力用エントリは、該通信のパケットを特定する情報の指定と、必要であれば上記のような書き換え指示と、出力先のポートの指定とを含むエントリであってもよい。
【００９８】
本例では、入力側境界スイッチが宛先ドメインの境界スイッチである場合には、境界入力用エントリに、宛先ドメインを特定可能な情報および転送中のドメイン内において宛先とされるスイッチまたは端末もしくは出力先ポートを特定可能な情報を削除して、宛先に関して、自ドメインにおいて宛先端末を特定可能な情報のみを含む状態にする旨の書き換え指示を含ませる。
【００９９】
なお、このような情報の削除を、相手先のドメインが宛先ドメインであることを特定した出力側境界スイッチに行わせることも可能である。
【０１００】
また、本例では、各ＯＦＣは、検出されたトポロジに従い、全てのスイッチ間経路（例えば、スイッチｎ１からスイッチｎ２，ｎ３，・・・への経路、スイッチｎ２からスイッチｎ１，ｎ３，・・・への経路）を決定し、決定した経路において中継を行うコアスイッチに対して、該経路に沿ってパケットの転送を行うためのドメイン内通信の中継用エントリを設定していることを想定している。その上で、各ＯＦＣは、統合コントローラ１０からの他ドメインとの境界ポートの情報を含むドメイン間処理規則の設定指示を受けて、上記のようなドメイン間処理規則を事前に設定する。
【０１０１】
なお、このとき統合コントローラ１０から送信される境界ポートの情報には、予め設定可能なドメイン間経路の全パターンが示されていてもよい。
【０１０２】
次に、図６を参照して、通信開始時の経路制御を簡単に説明する。
【０１０３】
（４）端末１が、端末２を宛先とするパケットを送信する。
【０１０４】
（５）ＯＦＳ３０−１は、受信パケットが自身の保持するエントリの条件に合致しないため、ＯＦＣ２０−１にエントリ要求を行う。
【０１０５】
（６）ＯＦＣ２０−１は、ＯＦＳ３０−１からの要求を受けて、自ドメインのトポロジの情報から宛先端末の情報を検索するが、端末２の情報が見つからないため、統合コントローラ１０に宛先端末の問い合わせを行う。
【０１０６】
（７）統合コントローラ１０は、ＯＦＣ２０−１からの宛先端末の問い合わせを受けて、管理ネットワークのトポロジの情報から宛先端末の情報を検索し、検索された情報に基づいて、応答を送信する。本例では、統合コントローラ１０は、ａ）端末２のユーザＩＤ、出力側エッジスイッチであるＯＦＳ３０−４のノードＩＤ、ｂ）出力側エッジスイッチが所属するドメインである宛先ドメインのドメインＩＤ、ｃ）送信元ドメインにおける宛先ドメインとの境界スイッチおよび境界ポートの情報を含む宛先応答を送信する。ここで、上記のａ）は、宛先ドメインにおいて宛先端末を特定する情報の例である。上記のｂ）は、境界スイッチにおいて宛先ドメインを特定する情報の例である。上記のｃ）は、転送中のドメイン内において宛先とされるスイッチまたは端末もしくは出力先ポートを特定する情報の例である。
【０１０７】
（８）ＯＦＣ２０−１は、宛先応答を受けて、統合コントローラ１０から得た情報に従い、今回受信したパケットを宛先端末に転送するための、配下のＯＦＳに対するドメイン間処理規則を生成して、該当するＯＦＳに設定する。本例では、ＯＦＣ２０−１は、ドメイン間処理規則のうち、ドメイン間通信の入力用エントリを、今回の通信における入力側エッジスイッチに相当するＯＦＳ３０−１に設定する。
【０１０８】
（９）ＯＦＳ３０−１〜ＯＦＳ３０−３は、各々に設定されているエントリに従い、通信パケットを転送する。
【０１０９】
具体的には、（９ａ）入力側エッジスイッチであるＯＦＳ３０−１が、入力用エントリに従って、受信パケットのパケットフォーマットを変換した上で、境界スイッチであるＯＦＳ３０−２までの経路上の次段のスイッチに転送する。なお、本例では、次段のスイッチであるＯＦＳ３０−２が、自ドメイン内において宛先とされる境界スイッチである。このため、ＯＦＳ３０−１はＯＦＳ３０−２に直接転送するが、次段のＯＦＳが別にある場合には、次段のＯＦＳに転送する。その場合には、次段のＯＦＳが、ドメイン内中継用エントリに従い、境界スイッチまでの経路におけるさらに次段のＯＦＳに転送する処理を繰り返すことで、受信パケットを境界スイッチであるＯＦＳ３０−２まで転送する。
【０１１０】
（９ｂ）ＯＦＳ３０−２は、自ドメイン内のＯＦＳから自スイッチ宛てパケットを受信すると、境界出力用エントリに従って、受信パケットを、相手側とされる他ドメイン（ドメインｄ２）の境界スイッチであるＯＦＳ３０−３に転送する。
【０１１１】
（９ｃ）ＯＦＳ３０−３は、他ドメインの境界スイッチであるＯＦＳ３０−２からパケットを受信すると、境界入力用エントリに従って、パケットフォーマットを変換した上で、自ドメイン内にいる出力側エッジスイッチであるＯＦＳ３０−４までの経路上の次段のスイッチに転送する。なお、ここでも、次段のスイッチと自ドメイン内における宛先スイッチとが同じである例が示されているが、次段のスイッチが別にある場合に次段のスイッチに転送する点はＯＦＳ３０−１と同様である。
【０１１２】
（１０）ＯＦＳ３０−４は、自ドメイン内のＯＦＳから自スイッチ宛てのパケットを受信すると、出力用エントリに従って、受信パケットのパケットフォーマットを変換して、配下の端末である端末２に送信する。
【０１１３】
本例では、ドメインを跨いだ通信を行う際に、統合コントローラ１０から事前にＯＦＣに対して処理規則の設定指示を行い、ドメイン間の境界スイッチにドメイン間通信におけるドメイン間の中継用のエントリ（境界出力用エントリおよび境界入力用エントリ）を設定させている。このドメイン間の中継用のエントリは、通信を特定する情報としてドメインＩＤを用いているため、フロー毎に設定する必要がない。
【０１１４】
例えば、各ＯＦＣがドメイン内に閉じたエントリの設定を行う場合、ＯＦＳ３０−３においてＯＦＳ３０−１と同様の処理が必要となる。これに対して、上記の方法によれば、ＯＦＳ３０−３は事前に境界入力用エントリが設定されるだけで済むため、境界スイッチにおける負荷が低減される。
【０１１５】
また、本例では、ドメインを跨いだ通信を行う際に、ドメイン内に閉じた通信については、統合コントローラによる制御ではなく、当該ドメインを管理するＯＦＣによる制御に任せている。これにより、統合コントローラに各ドメイン内の経路計算や処理規則の設定にかかる負荷が集中することを防いでいる。
【０１１６】
次に、図５および図６に示した経路制御方法について、図面を参照してより詳細に説明する。
【０１１７】
図７は、本例におけるパケットフォーマットの例を示す説明図である。図７では、図４に示したネットワークシステムの構成において、端末１−端末２間の通信時に用いられるパケットフォーマットの例が示されている。なお、図７（ａ）は、端末１から入力側エッジスイッチであるＯＦＳ３０−１に入力されるパケットフォーマットの例を示している。また、図７（ｂ）は、入力側エッジスイッチＯＦＳ３０−１から次段のＯＦＳ３０−２に送信されるパケットフォーマットの例を示している。また、図７（ｃ）は、宛先ドメインの入力側境界スイッチであるＯＦＳ３０−３から次段のＯＦＳ３０−４に送信されるパケットフォーマットの例を示している。
【０１１８】
本実施形態のドメイン間通信では、パケットの宛先領域に、宛先ドメインのドメインＩＤを少なくとも付加する（図７（ｂ）参照）。なお、図７（ｂ）に示す例は、図７（ａ）に示されるパケットに、新たなヘッダを追加し、追加したヘッダに宛先ドメインＩＤを付加（設定）する例である。なお、パケットのヘッダ内の宛先端末に関する情報を、宛先とされるユーザＩＤとノードＩＤとに書き換える点は、ドメイン内通信と同様である。
【０１１９】
図７では、宛先ドメインのドメインＩＤを、新たに追加したｅｔｈｅｒｎｅｔヘッダの送信元ＭＡＣアドレスが記載される領域（図中のＳｒｃＭＡＣ）に設定する例を示しているが、宛先ドメインのドメインＩＤの設定方法はこれに限定されず、その他のフィールドを使用してもよい。また、同様に、図７では、宛先情報としてのノードＩＤおよびユーザＩＤを、パケットの宛先ＭＡＣアドレスが記載される領域（図中のＤｓｔＭＡＣ）に設定する例を示しているが、宛先情報としてのノードＩＤおよびユーザＩＤの設定方法はこれに限定されず、例えばＩＰアドレスなど、その他のフィールドを使用してもよい。なお、ｅｔｈｅｒｎｅｔは登録商標である。
【０１２０】
図５に示したように、本例のネットワークシステムにおいて、統合コントローラ１０（より具体的にはコントローラ管理部１１）は、ＯＦＣ２０−１とＯＦＣ２０−２とから、トポロジの情報として、それぞれが自ドメインのトポロジを構成しているＯＦＳの情報やそれら各ＯＦＳの配下の端末の情報を受信する。
【０１２１】
トポロジ管理部１２は、コントローラ管理部１１が受信したトポロジの情報を保持する。また、トポロジ管理部１２は、このとき、ＯＦＣ２０−１とＯＦＣ２０−２がそれぞれ管理するトポロジにドメインＩＤを割り当ててもよい。ここでは、ＯＦＣ２０−１の管理するドメインのＩＤをｄ１、ＯＦＣ２０−２の管理するドメインのＩＤをｄ２とする。
【０１２２】
さらに、トポロジ管理部１２は、ドメイン間を接続する境界ポートを検出する。本例のトポロジ管理部１２は、ドメインｄ１とドメインｄ２とを接続する境界ポートを検出する。境界ポートの検出は、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）などを使用して統合コントローラ１０が自ら検出してもよいし、ユーザに指定させるなどの手動によるものでもよい。
【０１２３】
図８は、本例における境界情報の例を示す説明図である。図８には、互いに接続される２つのドメインのうち一方のドメインである第１のドメインと、他方のドメインである第２のドメインとについて、それぞれドメインＩＤと、境界ポートのポートＩＤと、該境界ポートを有するＯＦＳのノードＩＤとを有する境界情報の例が示されている。なお、図８に示す境界情報では、ドメイン間の接続ごとに境界ＩＤが割り当てられている。図８より、ドメインｄ１とドメインｄ２とを接続する境界ポートはＯＦＳ３０−２のポートｐ１とＯＦＳ３０−３のポートｐ２であることがわかる。より具体的には、ドメインｄ１の、ドメインｄ２との境界ポートはＯＦＳ３０−２のポートｐ１であり、ドメインｄ２の、ドメインｄ１との境界ポートはＯＦＳ３０−３のポートｐ２であることがわかる。
【０１２４】
コントローラ管理部１１は、例えば、図８に示すような境界情報を、ＯＦＣ２０−１とＯＦＣ２０−２とに送信する。なお、１つのドメイン境界において複数のドメイン間経路（境界ポートの組）が存在する場合には、ドメイン間経路を１つに特定した上でその経路を示す境界情報を送信してもよいし、事前に設定させたいドメイン間経路の情報を全て含む境界情報を返却してもよい。その場合、統合コントローラ１０は、実際にどの経路を使用するかを通信開始時に指定する。
【０１２５】
ＯＦＣ２０−１では、統合コントローラ１０からの境界情報を受けて、自ドメインのトポロジの情報を図８に示すような接続関係を示すように書き換えた上で、配下のＯＦＳにドメイン間処理規則を設定する。なお、本例において、統合コントローラ１０からの境界情報の送信は、ドメイン間通信規則の設定指示を兼ねる。
【０１２６】
図９は、本例において各ＯＦＣが管理する仮想トポロジの例を示す説明図である。本例では、ＯＦＣ２０−１のトポロジ管理部２２は、例えば、自ドメインの境界ポートであるＯＦＳ３０−２のポートｐ１の配下に、仮想的な端末である仮想端末ｖ１が接続される旨の情報を生成する。またこのとき、トポロジ管理部２２は、仮想端末ｖ１にユーザＩＤを割り当てる。なお、統合コントローラ１０が、仮想端末に割り当てるユーザＩＤを指定してもよい。そのような場合、境界情報にユーザＩＤを含めればよい。もしくは、トポロジ管理部２２は、境界ポートのポートＩＤを、仮想端末のユーザＩＤとして用いてもよい。
【０１２７】
次いで、ＯＦＣ２０−１のスイッチ管理部２１は、ドメインｄ２との境界ポートを有する境界スイッチＯＦＳ３０−２に対して、次のようなエントリを設定する。本例では、ＯＦＣ２０−１のスイッチ管理部２１は、境界スイッチであるＯＦＳ３０−２に対して、次のようなエントリを設定する。本例では、ＯＦＣ２０−１のスイッチ管理部２１は、ＯＦＳ３０−２に対して、ポートｐ２から受信したパケットの宛先領域に記載されているノードＩＤが自スイッチのＩＤであり、宛先領域に記載されているユーザＩＤが仮想端末ｖ１のＩＤである場合に、そのまま境界ポートであるポートｐ１から送信する旨の境界出力用エントリを設定する。
【０１２８】
なお、ＯＦＣ２０−１のスイッチ管理部２１は、例えば、処理規則生成部２４に、境界スイッチにおいてドメイン内から受信したパケットを配下の仮想端末ｖ１に転送するための処理規則の生成を要求して、処理規則生成部２４に上記のようなエントリを生成させてもよい。そのような場合、スイッチ管理部２１は、処理規則生成部２４が生成したエントリを、ＯＦＳ３０−２に送信し、登録させる。
【０１２９】
また、ＯＦＣ２０−１のスイッチ管理部２１は、逆向きのドメイン間経路用のエントリも同時に設定してもよい。すなわち、ＯＦＣ２０−１のスイッチ管理部２１は、ＯＦＳ３０−２に対して、ポートｐ１から受信したパケットの宛先領域に記載されているドメインＩＤが自ドメインのＩＤである場合に、外側のヘッダを削除した上で、ドメイン内通信用のエントリを再度検索する旨の境界入力用エントリを設定する。
【０１３０】
次に、境界情報を受信したＯＦＣ２０−２の動作について説明する。
【０１３１】
ＯＦＣ２０−２においても、ＯＦＣ２０−１と同様、統合コントローラ１０からの境界情報を受けて、自ドメインのトポロジの情報を図８に示すような接続関係を示すように書き換えた上で、配下のＯＦＳにドメイン間処理規則を設定する。
【０１３２】
本例では、ＯＦＣ２０−２のトポロジ管理部２２は、例えば、自ドメインの境界ポートであるＯＦＳ３０−３のポートｐ２の配下に、仮想的な端末である仮想端末ｖ２が接続される旨の情報を生成する。またこのとき、トポロジ管理部２２は、仮想端末ｖ２にユーザＩＤを割り当てる。
【０１３３】
また、ＯＦＣ２０−２のスイッチ管理部２１は、境界ポートを有するＯＦＳ３０−３に対して、次のようなエントリを設定する。本例では、ＯＦＣ２０−２のスイッチ管理部２１は、ＯＦＳ３０−３に対して、ポートｐ２から受信したパケットの宛先領域に記載されているドメインＩＤが自ドメインのＩＤである場合に、外側のヘッダを削除した上で、ドメイン内通信用のエントリを再度検索する旨の境界入力用エントリを設定する。
【０１３４】
また、ＯＦＣ２０−２のスイッチ管理部２１は、逆向きのドメイン間経路用のエントリも同時に設定してもよい。すなわち、ＯＦＣ２０−２のスイッチ管理部２１は、ＯＦＳ３０−３に対して、ポートｐ１から受信したパケットの宛先領域に記載されているノードＩＤおよびユーザＩＤが自スイッチのＩＤおよび仮想端末ｖ２のＩＤである場合に、そのまま境界ポートであるポートｐ２から送信する旨の境界出力用エントリを設定する。
【０１３５】
ここまでが、本例のドメイン間処理規則の事前設定処理である。なお、コントローラ管理部１１は、境界情報の送信に代えて、境界ポートの検出結果に基づいて、特定したドメイン間の経路による経路制御を指示する制御規則を、各ＯＦＣ２０に送信してもよい。例えば、コントローラ管理部１１は、ＯＦＣ２０−１に対して、ドメインｄ２宛てのパケットをＯＦＳ３０−２のポートｐ１から送信する旨の制御規則を送信してもよい。同様に、コントローラ管理部１１は、ＯＦＣ２０−２に対して、ドメインｄ１宛てのパケットをＯＦＳ３０−３のポートｐ２から送信する旨の制御規則を送信してもよい。この場合、制御規則の送信が、境界情報を含むドメイン間通信規則の設定指示に相当する。
【０１３６】
また、コントローラ管理部１１は、境界情報の送信に代えて、配下のＯＦＳに設定させる処理規則と設定先の情報とを含むドメイン間処理規則の設定指示を、各ＯＦＣ２０に送信してもよい。
【０１３７】
次に、図１０および図１１を参照して、このようにして事前設定された処理規則を用いた実際の通信の流れについて説明する。図１０および図１１は、本例におけるドメイン間通信時の動作の一例を示すシーケンス図である。なお、図１０では、ドメイン間通信開始時の処理規則の設定に係る処理フローを示し、図１１では、ドメイン間通信におけるＯＦＳ間のパケット転送フローを示している。
【０１３８】
図１０に示す例では、まず、端末１が、端末２宛てのユーザパケットを接続先のＯＦＳに送信する（ステップＳ１０１）。当該パケットは、ＯＦＳ３０−１のポートｐ２で受信される。
【０１３９】
ユーザパケットを受信したＯＦＳ３０−１は、受信したパケットに適合するエントリを検索する（ステップＳ１０２）。ここでは、受診したパケットに適合するエントリが無いため、ＯＦＳ３０−１は、ＰＡＣＫＥＴ＿ＩＮメッセージをＯＦＣ２０−１に送信して、エントリを要求する（ステップＳ１０３）。
【０１４０】
ＯＦＣ２０−１は、ＯＦＳ３０−１からエントリの要求を受信すると、トポロジ管理部２２が、自ドメインのトポロジの情報の中から宛先端末の情報を検索する（ステップＳ１０４）。ここでは、宛先端末が自ドメインに接続されていないため、宛先端末である端末２の情報は検索されない。したがって、ＯＦＣ２０−１は、統合コントローラ１０に、宛先端末の情報を問い合わせる宛先端末情報要求メッセージを送信する（ステップＳ１０５）。
【０１４１】
統合コントローラ１０は、ＯＦＣ２０−１から宛先端末の問い合わせを受信すると、トポロジ管理部１２が、管理ネットワークのトポロジの情報の中から宛先端末の情報を検索する。これにより、宛先端末である端末２が、ドメインｄ２のＯＦＳ３０−４に接続されていることがわかる。すると、ドメイン間経路計算部１３が、送信元ドメインであるドメインｄ１から宛先ドメインであるドメインｄ２へのドメイン間経路を計算する（ステップＳ１０６）。そして、統合コントローラ１０は、宛先端末までの経路上のドメイン間経路における境界ポートの情報を得る。
【０１４２】
そして、統合コントローラ１０は、宛先端末の情報として、端末２のユーザＩＤと出力側エッジスイッチのＯＦＳ３０−４のノードＩＤと、宛先ドメインＩＤとしてのドメインｄ２のＩＤと、入力側エッジスイッチが属するドメインである送信元ドメインにおける宛先情報に相当する、ドメインｄ１内の境界ポートであるＯＦＳ３０−２のポートｐ１の情報とを含む宛先端末情報を、ＯＦＣ２０−１に送信する（ステップＳ１０７）。
【０１４３】
宛先端末情報を受信したＯＦＣ２０−１は、得られた情報に基づき、ドメイン間通信の入力用エントリを生成して、今回の入力側エッジスイッチであるＯＦＳ３０−１に設定する（ステップＳ１０８，ステップＳ１０９）。ここでは、ＯＦＣ２０−１は、受信パケットのＤｓｔＭＡＣが端末２のＭＡＣアドレスの場合は、以下に示すような入力側エッジスイッチにおけるフォーマットの書き換えを行った上で、ドメイン内通信用のエントリを検索する旨のエントリを生成する。なお、ここでのフォーマットの書き換えは、図７（ａ）に示すフォーマットから図７（ｂ）に示すフォーマットへの書き換えに相当する。
【０１４４】
＜入力側エッジスイッチにおけるフォーマットの書き換え＞
・パケットにヘッダを追加する
・内側のヘッダ（元々のヘッダ）の宛先領域（本例ではＤｓｔＭＡＣ）に、出力側エッジスイッチ（本例ではＯＦＳ３０−４）のノードＩＤと、端末２のユーザＩＤとを設定する
・外側のヘッダの宛先領域（本例では、ＤｓｔＭＡＣ）に、自ドメインの宛先であるＯＦＳ３０−２のノードＩＤと仮想端末ｖ１のユーザＩＤとを設定する
・外側のヘッダの宛先領域（本例では、ＳｒｃＭＡＣ）に、宛先ドメインであるドメインｄ２のドメインＩＤを設定する
【０１４５】
そして、ＯＦＣ２０−１は、ＯＦＳ３０−１に、生成したエントリをＦＬＯＷ＿ＭＯＤメッセージを用いて送信する（ステップＳ１０９）。
【０１４６】
ＯＦＳ３０−１は、受信したエントリを、自身が管理しているフローテーブルに登録する（ステップＳ１１０）。
【０１４７】
また、ＯＦＣ２０−１は、ＯＦＳ３０−１からＰＡＣＫＥＴ＿ＯＵＴメッセージを用いて、受信パケット（端末１からのユーザパケット）を、ＯＦＳ３０−１に返却する（ステップＳ１１１）。
【０１４８】
ＯＦＳ３０−１は、ＯＦＣ２０−１から受信したパケット（端末１からのユーザパケット）を、自身が管理しているフローテーブルに登録されているエントリに従って処理する。本例では、ステップＳ１１０で登録された入力用エントリが検索されるので、当該エントリに従って、受信したパケットを書き換えてから（ステップＳ１１２）、次段のＯＦＳであるＯＦＳ３０−２に転送する（ステップＳ１１３）。なお、図７（ｂ）に示す例は、ＯＦＳ３０−１による書き換え後のパケットのフォーマット例である。
【０１４９】
次に、図１１を参照して、ＯＦＳ間のパケット転送フローを説明する。なお、図１１では、入力側エッジスイッチであるＯＦＳ３０−１が端末１からユーザパケットを受信してから次段のＯＦＳ３０−２にパケットを転送するまでの処理（図１１のステップＳ１０1〜ステップＳ１１３）については、図１０と同様であるため一部記載を省略している。
【０１５０】
ＯＦＳ３０−２は、ＯＦＳ３０−１からパケットを受信すると、事前に設定されていた境界出力用エントリに従って、仮想端末ｖ１に相当する他ドメインの境界スイッチＯＦＳ３０−３に受信パケットをそのまま転送する（ステップＳ１１４）。ここで、ＯＦＳ３０−２は、受信パケットの外側のヘッダの宛先領域に記載されているユーザＩＤおよびノードＩＤに基づいて検索されたエントリが示すアクションである、境界ポートのポートｐ１から出力する。
【０１５１】
ＯＦＳ３０−３は、ＯＦＳ３０−２から転送された上記のパケットを、境界ポートであるポートｐ２から受信する。ＯＦＳ３０−３は、事前に設定されていた境界入力用エントリに従って、次に示す宛先ドメインの入力側境界スイッチにおけるフォーマットの書き換えを行った上で（ステップＳ１１５）、ドメイン内通信用のエントリを再検索する。
【０１５２】
＜宛先ドメインの入力側境界スイッチにおけるフォーマットの書き換え＞
・外側のヘッダを削除する
【０１５３】
そして、ＯＳＦ３０−３は、外側のヘッダが削除されたことにより、元々のヘッダに記載されていた出力側エッジスイッチのノードＩＤと宛先端末のユーザＩＤとに基づいて、ドメイン内通信用の中継用エントリが検索される。ＯＦＳ３０−３は、検索されたエントリに従い、受信したパケットを次段のＯＦＳ３０−４に送信する（ステップＳ１１６）。なお、図７（ｃ）に示す例は、ＯＦＳ３０−３による書き換え後のパケットのフォーマット例である。
【０１５４】
ＯＦＳ３０−４は、ＯＦＳ３０−３から転送された上記のパケットを、ドメイン内通信用のポートであるポートｐ２から受信する。ＯＦＳ３０−４は、予め設定されているドメイン内通信用の出力用エントリに従って、受信したパケットの宛先領域を、端末１が送信したユーザパケットの状態に書き戻した上で、端末２に送信する（ステップＳ１１７，ステップＳ１１８）。本例では、ＯＦＳ３０−４は、受信パケットのＤｓｔＭＡＣを端末２のＭＡＣアドレスに書き換えた上で、ポートｐ１から送信する。
【０１５５】
以降、端末１が端末２宛に２つ目のパケットを送信する場合、既にＯＦＳ３０−１には適合するエントリが登録されているため、ステップＳ１０２の後、すぐにステップＳ１１２に移行できる。
【０１５６】
［例２］
次に、第２の例として、図１２に示すトポロジの例を用いて本実施形態の動作を説明する。図１２は、第２の例におけるトポロジを示す説明図である。本例は、ドメインが３つある場合の例である。図１２に示すように、本例のネットワークシステムは、１つの統合コントローラ１０と、ドメインコントローラ２０としてのＯＦＣ２０−１〜ＯＦＣ２０−３と、ネットワーク機器３０としてのＯＦＳ３０−１〜ＯＦＳ３０−６と、端末１および端末２とを備えている。
【０１５７】
本例において、ＯＦＳ３０−１およびＯＦＳ３０−２は、ＯＦＣ２０−１が管理するドメインｄ１に属する。また、ＯＦＳ３０−３およびＯＦＳ３０−４は、ＯＦＣ２０−２が管理するドメインｄ２に属する。また、ＯＦＳ３０−５およびＯＦＳ３０−６は、ＯＦＣ２０−３が管理するドメインｄ３に属する。
【０１５８】
また、ＯＦＳ３０−１は、少なくとも２つのポートを有し、ポートｐ１およびポートｐ２を有し、ポートｐ１を介してＯＦＳ３０−２と接続され、ポートｐ２を介して端末１と接続される。
【０１５９】
また、ＯＦＳ３０−２は、少なくとも２つのポートを有し、ポートｐ１およびポートｐ２を有し、ポートｐ１を介してＯＦＳ３０−３と接続され、ポートｐ２を介してＯＦＳ３０−１と接続される。
【０１６０】
また、ＯＦＳ３０−３は、少なくとも２つのポートを有し、ポートｐ１およびポートｐ２を有し、ポートｐ１を介してＯＦＳ３０−４と接続され、ポートｐ２を介してＯＦＳ３０−２と接続される。
【０１６１】
また、ＯＦＳ３０−４は、少なくとも２つのポートを有し、ポートｐ１およびポートｐ２を有し、ポートｐ１を介してＯＦＳ３０−５と接続され、ポートｐ２を介してＯＦＳ３０−３と接続される。
【０１６２】
また、ＯＦＳ３０−５は、少なくとも２つのポートを有し、ポートｐ１およびポートｐ２を有し、ポートｐ１を介してＯＦＳ３０−６と接続され、ポートｐ２を介してＯＦＳ３０−４と接続される。
【０１６３】
また、ＯＦＳ３０−６は、少なくとも２つのポートを有し、ポートｐ１およびポートｐ２を有し、ポートｐ１を介して端末２と接続され、ポートｐ２を介してＯＦＳ３０−５と接続される。
【０１６４】
以下では、第１の例と異なる部分について主に説明する。
【０１６５】
本例のＯＦＣ２０−３は、ＯＦＣ２０−１およびＯＦＣ２０−２と同様、自ドメインｄ３内のトポロジの情報および配下の端末（端末２）の情報を保持している。
【０１６６】
統合コントローラ１０（より具体的にはコントローラ管理部１１）は、ＯＦＣ２０−１、ＯＦＣ２０−２およびＯＦＣ２０−３から、ドメインのトポロジの情報を受信し、トポロジ管理部１２に記憶させる。
【０１６７】
トポロジ管理部１２は、ドメイン間を接続する境界ポートを検出する。本例のトポロジ管理部１２は、ドメインｄ１とドメインｄ２とを接続する境界ポートの組、ドメインｄ２とドメインｄ３とを接続する境界ポートの組を検出する。
【０１６８】
図１３は、本例における境界情報の例を示す説明図である。図１３より、ドメインｄ１とドメインｄ２とを接続する境界ポートはＯＦＳ３０−２のポートｐ１およびＯＦＳ３０−３のポートｐ２であることがわかる。また、ドメインｄ２とドメインｄ３とを接続する境界ポートはＯＦＳ３０−４のポートｐ１およびＯＦＳ３０−５のポートｐ２であることがわかる。
【０１６９】
コントローラ管理部１１は、例えば、図１３に示すような境界情報を、ＯＦＣ２０−１とＯＦＣ２０−２とＯＦＣ２０−３とに送信する。
【０１７０】
また、図１４は、本例の各ＯＦＣが管理する仮想トポロジの例を示す説明図である。本例では、ＯＦＣ２０−１のトポロジ管理部２２は、例えば、自ドメインの境界ポートであるＯＦＳ３０−２のポートｐ１の配下に、仮想的な端末である仮想端末ｖ１が接続される旨の情報を生成する。同様に、ＯＦＣ２０−２のトポロジ管理部２２は、例えば、自ドメインの境界ポートであるＯＦＳ３０−３のポートｐ２の配下に、仮想的な端末である仮想端末ｖ２が接続されるとともに、ＯＦＳ３０−４のポートｐ１の配下に、仮想的な端末である仮想端末ｖ３が接続される旨の情報を生成する。同様に、ＯＦＣ２０−３のトポロジ管理部２２は、例えば、自ドメインの境界ポートであるＯＦＳ３０−５のポートｐ２の配下に、仮想的な端末である仮想端末ｖ４が接続される旨の情報を生成する。
【０１７１】
本例のＯＦＣ２０−１のスイッチ管理部２１は、統合コントローラ１０からの境界情報を受けて、第１の例と同様、ＯＦＳ３０−２に対して、境界出力用エントリおよび境界入力用エントリを設定する。
【０１７２】
次に、ＯＦＣ２０−２の動作について説明する。
【０１７３】
ＯＦＣ２０−２のスイッチ管理部２１は、統合コントローラ１０からの境界情報を受けて、第１の例と同様、ＯＦＳ３０−３に対して、境界出力用エントリおよび境界入力用エントリを設定する。なお、ＯＦＣ２０−２では、ドメイン間通信において他ドメインから他ドメイン宛てのパケットを受信する中継ドメインとなる。そこで、ＯＦＣ２０−２のスイッチ管理部２１は、ＯＦＳ３０−３に対して、境界ポートから自ドメイン宛てのパケットを受信した場合に適用させる境界入力用エントリだけでなく、境界ポートから他ドメイン宛てのパケットを受信した場合に適用させる第２境界入力用エントリを設定する。以下、第２境界入力エントリと区別するために、自ドメイン宛てのパケットに適用する境界入力用エントリを、第１境界入力エントリと呼ぶ場合がある。
【０１７４】
具体的には、ＯＦＣ２０−２のスイッチ管理部２１は、ＯＦＳ３０−３に対して、ポートｐ２から受信したパケットの宛先ドメインＩＤがドメインｄ３である場合に、パケットの（外側の）宛先情報としてのノードＩＤおよびユーザＩＤを、ドメインｄ３との境界スイッチであるＯＦＳ３０−４のノードＩＤおよび配下の仮想端末ｖ３のユーザＩＤに書き換えてから、ドメイン内の転送用ポートであるポートｐ１から送信する旨の第２境界入力用エントリをさらに設定する。ここで、第２境界入力用エントリは、他ドメインから受信した他ドメイン宛てのパケットを、自ドメイン内における宛先ドメインとの境界スイッチに到達可能なポートから出力させるためのエントリである。
【０１７５】
また、本例のＯＦＣ２０−２のスイッチ管理部２１は、ＯＦＳ３０−４に対しても、経路を逆にした同様の境界出力用エントリ、第１境界入力用エントリおよび第２境界入力用エントリを設定する。
【０１７６】
次に、ＯＦＣ２０−３の動作について説明する。
【０１７７】
ＯＦＣ２０−３におけるドメイン間処理規則の設定は、基本的には、ＯＦＣ２０−１におけるそれと同様である。すなわち、ＯＦＣ２０−３のスイッチ管理部２１は、統合コントローラ１０からの境界情報を受けて、ＯＦＳ３０−５に対して、境界出力用エントリおよび第１境界入力用エントリを設定する。
【０１７８】
なお、コントローラ管理部１１は、境界情報の送信に代えて、境界ポートの検出結果に基づいて、特定したドメイン間の経路による経路制御を指示する制御規則を各ＯＦＣに送信してもよい点も、第１の例と同様である。なお、コントローラ管理部１１は、境界情報の送信に代えて、配下のＯＦＳに設定させる処理規則と設定先の情報とを含むドメイン間処理規則の設定指示を、各ＯＦＣに送信してもよい。
【０１７９】
次に、図１５および図１６を参照して、このようにして事前に設定された処理規則を用いた実際の通信の流れについて説明する。図１５は、本例のドメイン間通信のパケット転送フローを示すシーケンス図である。また、図１６は、本例におけるパケットフォーマットの例を示す説明図である。
【０１８０】
まず、端末１が、端末２宛てに１つ目のユーザパケットを送信する（ステップＳ２０１）。図１６（ａ）に示す例は、このときＯＦＳ３０−１が受信するパケットのフォーマット例である。当該パケットはＯＦＳ３０−１のポートｐ２で受信される。
【０１８１】
ＯＦＳ３０−１は、受信したパケットに適合するエントリを検索する。しかし、パケットに適合するエントリが無いため、第１の例と同様、ＰＡＣＫＥＴ＿ＩＮメッセージをＯＦＣ２０−１に送信する。なお、ＰＡＣＫＥＴ＿ＩＮメッセージを送信した後、ＰＡＣＫＥＴ＿ＯＵＴメッセージを受信するまでの流れは第１の例と同様である。
【０１８２】
なお、本例の統合コントローラ１０は、ＯＦＣ２０−１からの宛先端末の問い合わせを受けると、管理ネットワークのトポロジの情報を検索して、端末２がドメインｄ３のＯＦＳ３０−６に接続していることを特定する。そして、統合コントローラ１０は、ドメインｄ１からドメインｄ３へのドメイン間経路を計算して、宛先端末までの経路上のドメイン間経路における境界ポートの情報を得る。
【０１８３】
そして、統合コントローラ１０は、宛先端末の情報として、端末２のユーザＩＤと出力側エッジスイッチのＯＦＳ３０−６のノードＩＤと、宛先ドメインＩＤとしてのドメインｄ３のＩＤと、送信元ドメインにおける宛先情報に相当する、ドメインｄ１内の境界ポートであるＯＦＳ３０−２のポートｐ１の情報とを含む宛先端末情報を、ＯＦＣ２０−１に送信する。
【０１８４】
ＯＦＣ２０−１は、得られた宛先端末の情報に基づき、ドメイン間通信の入力用エントリを生成して、今回の入力側エッジスイッチであるＯＦＳ３０−１に設定する。ここでは、ＯＦＣ２０−１は、受信パケットのＤｓｔＭＡＣが端末２のＭＡＣアドレスの場合は、第１の例と同様、入力側エッジスイッチにおけるフォーマットの書き換えを行った上で、ドメイン内通信用のエントリを検索する旨のエントリを、ＯＦＳ３０−１に対して設定する。なお、ここでのフォーマットの書き換えは、図１６（ａ）に示すフォーマットから図１６（ｂ）に示すフォーマットへの書き換えに相当する。なお、本例では、内側のヘッダの宛先領域に、ＯＦＳ３０−６のノードＩＤが設定される点、および外側のヘッダの宛先領域に、宛先ドメインであるドメインｄ３のドメインＩＤが設定される点以外は、第１の例と同様である。
【０１８５】
このようにして、入力用エントリが設定されると、ＯＦＳ３０−１は、ＯＦＣ２０−１から受信したパケットを、自身が管理しているフローテーブルに登録されている該入力用エントリに従って書き換えてから、次段であり宛先とされる境界スイッチであるＯＦＳ３０−２に転送する（図１５のステップＳ２０２、ステップＳ２０３）。なお、図１６（ｂ）に示す例は、ＯＦＳ３０−１による書き換え後のパケットのフォーマット例である。
【０１８６】
ＯＦＳ３０−２は、受信したパケットの宛先領域に記載されたユーザＩＤが仮想端末ｖ１のＩＤであることから、事前に設定されていた境界出力用エントリに従って、該パケットを境界ポートであるポートｐ１から送信する（ステップＳ２０４）。ＯＦＳ３０−２のポートｐ１から送信されたパケットは、ドメインｄ２のＯＦＳ３０−３のポートｐ２で受信される。
【０１８７】
ＯＦＳ３０−３は、境界ポートであるポートｐ２から受信したパケットの宛先ドメインＩＤがドメインｄ３であることから、事前に設定されていた第２境界入力用エントリに従って、フォーマットの書き換えを行う（ステップＳ２０５）。ここで、ＯＦＳ３０−３は、パケットの宛先領域を、自ドメイン内の宛先とされるドメインｄ３との境界スイッチであるＯＦＳ３０−４のノードＩＤと配下の仮想端末ｖ３のユーザＩＤの組に書き換える。そして、ＯＦＳ３０−３は、第２境界入力用エントリに従って再検索した結果、発見された中継用エントリに従って、受信したパケットを次段のＯＦＳ３０−４に送信する（ステップＳ２０６）。図１６（ｃ）に示す例は、ＯＦＳ３０−３による書き換え後のパケットのフォーマット例である。
【０１８８】
ＯＦＳ３０−４は、ＯＦＳ３０−３から転送された上記のパケットを、ドメイン内通信用のポートであるポートｐ２から受信する。ＯＦＳ３０−４は、受信したパケットの宛先領域に記載されたユーザＩＤが仮想端末ｖ３のＩＤであることから、事前に設定されていた境界出力用エントリに従って、該パケットを境界ポートであるポートｐ１から送信する（ステップＳ２０７）。ＯＦＳ３０−４のポートｐ１から送信されたパケットは、ドメインｄ３のＯＦＳ３０−５のポートｐ２で受信される。
【０１８９】
ＯＦＳ３０−５は、境界ポートであるポートｐ２から受信したパケットの宛先ドメインＩＤが自ドメインのドメインｄ３であるため、事前に設定されていた第１境界入力用エントリに従って、外側のヘッダを削除する（ステップＳ２０８）。
【０１９０】
そして、ＯＦＳ３０−５は、ドメイン内通信用のエントリの再検索を行い、再検索された中継用エントリに従って、受信パケットを次段のＯＦＳであるＯＦＳ３０−６に送信する（ステップＳ２０９）。図１６（ｄ）に示す例は、このときＯＦＳ３０−５から送信されるパケットのフォーマット例である。
【０１９１】
なお、ＯＦＳ３０−６での処理は、第１の例のＯＦＳ３０−４と同様である。すなわち、ＯＦＳ３０−６は、事前に設定されていた出力用エントリに従って、パケットの宛先領域を、端末２を宛先とする元の情報に書き戻した後、端末２に送信する（ステップＳ２１０，ステップＳ２１１）。
【０１９２】
以降、端末１が端末２宛に２つ目のパケットを送信する場合、既にＯＦＳ３０−１には適合するエントリが登録されているため、ステップＳ２０１の後、すぐにステップＳ２０２に移行できる。
【０１９３】
以上のように、本実施形態は、複数のドメインによって構成されるネットワークにおいて、各ドメインを管理するコントローラがドメイン内通信用の処理規則を設定し、統合コントローラがドメイン間通信用の処理規則を設定する。このような構成により、複数のドメインによって構成されるネットワークにおいても、ドメイン間の境界となるＯＦＳを容易に設定できる。また、上記のように、事前に設定すれば、ドメイン間の境界となるＯＦＳにおけるリソース消費量の削減や負荷の軽減が可能となる。
【０１９４】
なお、上記の例では、ドメイン間通信を行う際に、入力側エッジスイッチがドメインＩＤを付与するため新たなヘッダを追加する方法を示したが、ヘッダを追加せずにドメイン間でパケットを転送することも可能である。
【０１９５】
［例３］
次に、第３の例として、ヘッダを追加せずにドメイン間でパケットを転送する方法について、図１７を参照して説明する。図１７は、本例におけるパケットフォーマットの例を示す説明図である。なお、本例のネットワークトポロジは、図１２に示す例と同様とする。
【０１９６】
また、本例の統合コントローラ１０における境界ポートの検出および各ＯＦＣ２０に対する境界情報の送信は、第２の例と同様であるため、説明を省略する。
【０１９７】
本例のＯＦＣ２０−１は、統合コントローラ１０からの境界情報を受けて、ドメインｄ２およびドメインｄ３への経路上の境界スイッチであるＯＦＳ３０−２を除くドメインｄ１内の全てのＯＦＳに対して、受信パケットの宛先ドメインＩＤがドメインｄ２またはドメインｄ３の場合に、パケットをＯＦＳ３０−２に転送するためのドメイン内中継用エントリを設定する。本例では、宛先ドメインＩＤの設定先を、パケットのＶＬＡＮタグが設定される領域としている。すなわち、特定のＶＬＡＮタグをドメインＩＤとして使用する。本例のドメイン内中継用エントリは、例えば、ルールとして、宛先ドメインＩＤの指定を含み、アクションとして、ＯＦＳ３０−２までの経路上の各スイッチにおける出力先ポートの指定を含む。
【０１９８】
また、ＯＦＣ２０−１は、ＯＦＳ３０−２に対して、受信したパケットの宛先ドメインＩＤがドメインｄ２またはドメインｄ３の場合に、境界ポートであるポートｐ１から送信する旨の境界出力用エントリを設定する。
【０１９９】
また、ＯＦＣ２０−１は、ＯＦＳ３０−２に対して、境界ポートであるポートｐ１から受信したパケットの宛先ドメインＩＤとしてドメインｄ１が設定されている場合に、ドメイン内通信用のエントリを再度検索する旨の境界入力用エントリを設定する。
【０２００】
次に、ＯＦＣ２０−２の動作について説明する。
【０２０１】
本例のＯＦＣ２０−２は、統合コントローラ１０からの境界情報を受けて、ドメインｄ３への経路上の境界スイッチであるＯＦＳ３０−４を除くドメインｄ２内の全てのＯＦＳ３０に対して、ＯＦＳ２０−１と同様のドメイン内中継用エントリを設定する。ただし、ここでは、宛先ドメインＩＤにドメインｄ３のＩＤが指定され、出力先ポートとしてＯＦＳ３０−４までの経路上の出力ポートが指定される。また、ドメインｄ１への経路上の境界スイッチであるＯＦＳ３０−３を除くドメインｄ２内の全てのＯＦＳ３０に対して、ＯＦＳ２０−１と同様のドメイン内中継用エントリを設定する。ただし、ここでは、宛先ドメインＩＤにドメインｄ１のＩＤが指定され、出力先ポートとしてＯＦＳ３０−３までの経路上の出力ポートが指定される。
【０２０２】
また、ＯＦＣ２０−２は、ＯＦＳ３０−３に対して、パケットの宛先ドメインＩＤがドメインｄ１の場合に、境界ポートであるポートｐ２から送信する旨の境界出力用エントリを設定する。同様に、ＯＦＣ２０−２は、ＯＦＳ３０−４に対して、パケットの宛先ドメインＩＤがドメインｄ３の場合に、境界ポートであるポートｐ１から送信する旨の境界出力用エントリを設定する。
【０２０３】
また、ＯＦＣ２０−２は、ＯＦＳ３０−３に対して、境界ポートであるｐ２から受信したパケットの宛先ドメインＩＤにドメインｄ２またはドメインｄ３が設定されていた場合に、ドメイン内通信用のエントリを再度検索する旨の境界入力用エントリを設定する。なお、本例では、第１境界入力エントリと、第２境界入力エントリの内容が同じな為、１つに纏められる。同様に、ＯＦＳ３０−４に対して、境界ポートであるポートｐ１から受信したパケットの宛先ドメインＩＤにドメインｄ２またはドメインｄ１が設定されていた場合に、ドメイン内通信用のエントリを再度検索する旨の境界入力用エントリを設定する。
【０２０４】
次に、ＯＦＣ２０−３の動作について説明する。なお、ＯＦＣ２０−３の動作は、基本的にＯＦＣ２０−１の動作と同様である。
【０２０５】
すなわち、本例のＯＦＣ２０−３は、統合コントローラ１０からのドメイン間処理規則の設定指示を受けて、ドメインｄ１およびドメインｄ２への経路上の境界スイッチであるＯＦＳ３０−５を除くドメインｄ３内の全てのＯＦＳに対して、受信パケットの宛先ドメインＩＤがドメインｄ１またはドメインｄ２の場合に、パケットをＯＦＳ３０−５に転送するためのドメイン内中継用エントリを設定する。
【０２０６】
また、ＯＦＣ２０−３は、ＯＦＳ３０−５に対して、受信したパケットの宛先ドメインＩＤがドメインｄ１またはドメインｄ２の場合に、境界ポートであるポートｐ２から送信する旨の境界出力用エントリを設定する。
【０２０７】
また、ＯＦＣ２０−３は、ＯＦＳ３０−５に対して、境界ポートであるポートｐ２から受信したパケットの宛先ドメインＩＤとしてドメインｄ３が設定されている場合に、ドメイン内通信用のエントリを再度検索する旨の境界入力用エントリを設定する。
【０２０８】
次に、図１８を参照して、このように事前に設定された処理規則を用いた実際の通信の流れについて説明する。図１８は、本例のドメイン間通信のパケット転送フローを示すシーケンス図である。
【０２０９】
まず、端末１が、端末２宛てに１つ目のユーザパケットを送信する（ステップＳ３０１）。図１７（ａ）に示す例は、このときＯＦＳ３０−１が受信するパケットのフォーマット例である。当該パケットはＯＦＳ３０−１のポートｐ２で受信される。
【０２１０】
ＯＦＳ３０−１は、受信したパケットに適合するエントリを検索する。しかし、パケットに適合するエントリが無いため、第２の例と同様、ＰＡＣＫＥＴ＿ＩＮメッセージをＯＦＣ２０−１に送信する。なお、ＯＦＣ２０−１にＰＡＣＫＥＴ＿ＩＮメッセージを送信した後、ＰＡＣＫＥＴ＿ＯＵＴメッセージを受信するまでの流れは、第２の例と同様であるため、説明省略する。
【０２１１】
なお、本例のＯＦＳ３０−１は、ＯＦＣ２０−１からのＦＬＯＷ＿ＭＯＤを受けて、自身が管理するフローテーブルに入力用エントリを登録している。ＯＦＳ３０−１が登録する入力用エントリは、受信パケットのＤｓｔＭＡＣが端末２のＭＡＣアドレスの場合に、パケットの宛先領域に端末２が接続しているＯＦＳ３０−６のノードＩＤと端末２のユーザＩＤとを設定し、かつＶＬＡＮタグに宛先ドメインであるドメインｄ３のドメインＩＤを設定した上で、ＯＦＳ３０−２に転送する旨のエントリである。
【０２１２】
そして、ＯＦＳ３０−１は、ＯＦＣ２０−１からＰＡＣＫＥＴ＿ＯＵＴメッセージにより受信したパケットを、入力用エントリに従って書き換えてから、再検索されたドメイン内中継用エントリに従い、次段のＯＦＳ３０−２に転送する（ステップＳ３０２、ステップＳ３０３）。なお、図１７（ｂ）に示す例は、このときＯＦＳ３０−１から送信されるパケットのフォーマット例である。
【０２１３】
ＯＦＳ３０−２は、受信したパケットの宛先ドメインＩＤがドメインｄ３であることから、事前に設定されていた境界出力用エントリに従って、該パケットを境界ポートであるポートｐ１から送信する（ステップＳ３０４）。ＯＦＳ３０−２のポートｐ１から送信されたパケットは、ドメインｄ２のＯＦＳ３０−３のポートｐ２で受信される。
【０２１４】
ＯＦＳ３０−３は、境界ポートであるポートｐ２から受信したパケットの宛先ドメインＩＤがドメインｄ３であることから、事前に設定されていた境界入力用エントリおよびドメイン内中継用エントリに従って、該パケットを、ドメイン内の転送用ポートであるポートｐ１から送信する（ステップＳ３０５）。ＯＦＳ３０−３のポートｐ１から送信されたパケットは、ＯＦＳ３０−４のポートｐ２で受信される。
【０２１５】
ＯＦＳ３０−４は、ドメイン内の転送用ポートであるポートｐ２から受信したパケットのドメインＩＤがドメインｄ３であることから、事前に設定されていたドメイン内中継用エントリに従って、該パケットを境界ポートであるポートｐ１から送信する（ステップＳ３０６）。ＯＦＳ３０−４のポートｐ１から送信されたパケットは、ドメインｄ３のＯＦＳ３０−５のポートｐ２で受信される。
【０２１６】
ＯＦＳ３０−５は、境界ポートであるポートｐ２から受信したパケットの宛先ドメインＩＤがドメインｄ３であることから、事前に設定されていた境界入力用エントリおよびドメイン内中継用エントリに従って、該パケットを、ドメイン内の転送用ポートであるポートｐ１から送信する（ステップＳ３０７）。ＯＦＳ３０−５のポートｐ１から送信されたパケットは、ＯＦＳ３０−６のポートｐ２で受信される。
【０２１７】
ＯＦＳ３０−６は、ポートｐ２で受信したパケットの宛先ユーザＩＤが端末２であることから、出力用エントリに従って、パケットの受信領域を元の端末２の情報に書き戻した後、ポートｐ１から送信する（ステップＳ３０８，ステップＳ３０９）。
【０２１８】
本例では、上記のように、入力側エッジスイッチおよび出力側エッジスイッチのみがパケットの書き換えをすればよい。
【０２１９】
以降、端末１が端末２宛に２つ目のパケットを送信する場合、既にＯＦＳ３０−１には適合するエントリが登録されているため、ステップＳ３０１の後、すぐにステップＳ３０２に移行できる。
【０２２０】
［例４］
次に、第４の例として、ＩＥＥＥ８０２．１ｑトンネリング（ＱｉｎＱ）を使用して、パケットにドメインＩＤを付加する方法について説明する。第３の例では、パケットのＶＬＡＮタグ用領域をドメインＩＤの設定先としたが、本例では、ＱｉｎＱを使用して新たにＶＬＡＮタグの領域を追加し、追加したＶＬＡＮタグ領域にドメインＩＤを設定する。なお、設定先の領域が異なるだけであるので、コアスイッチがドメインＩＤを用いて該当通信を特定する点は第３の例と同様である。すなわち、本例は、入力用エッジスイッチにおけるパケットの書き換え方法および宛先ドメインの入力側境界スイッチにおけるパケットの書き戻し方法が異なる以外は、第３の例と同様でよい。なお、本例においても、図１２に示すネットワークトポロジを想定する。
【０２２１】
本例において、ＯＦＣ２０−１は、ＯＦＳ３０−２に対して、境界ポートであるポートｐ１から受信したパケットの宛先ドメインＩＤ（一段目のＶＬＡＮタグ）がドメインｄ１である場合に、一段目のＶＬＡＮタグを削除した上で、ドメイン内通信用のエントリを再度検索する旨の第１境界入力用エントリを設定する。
【０２２２】
また、本例のＯＦＣ２０−２は、ＯＦＳ３０−３およびＯＦＳ３０−４に対して、境界ポートからドメインｄ２宛てのパケットを受信した場合に、一段目のＶＬＡＮタグを削除した上で、ドメイン内通信用のエントリを再度検索する旨の第１境界入力用エントリを設定する。
【０２２３】
また、本例のＯＦＣ２０−３は、ＯＦＳ３０−５に対して、境界ポートからドメインｄ３宛てのパケットを受信した場合に、一段目のＶＬＡＮタグを削除した上で、ドメイン内通信用のエントリを再度検索する旨の第１境界入力用エントリを設定する。
【０２２４】
次に、図１９および図２０を参照して、このように事前に設定された処理規則を用いた実際の通信の流れについて説明する。図１９は、本例のドメイン間通信のパケット転送フローを示すシーケンス図である。なお、本例のパケット転送方法は、基本的には、図１８に示した第３の例における方法と同様であるが、宛先ドメインの境界スイッチでもパケット変換を行う点が異なる。また、図２０は、本例におけるパケットフォーマットの例を示す説明図である。
【０２２５】
本例においても、端末１は、端末２宛てに１つ目のパケットを送信する（図１９のステップＳ４０１）。図２０（ａ）に示す例は、このときＯＦＳ３０−１が端末１から受信するパケットのフォーマット例である。
【０２２６】
また、本例のＯＦＳ３０−１は、第３の例と同様、ＯＦＣ２０−１にエントリを要求した結果、自身が管理するフローテーブルに入力用エントリを登録している。入力用エントリは、受信パケットのＤｓｔＭＡＣが端末２のＭＡＣアドレスの場合に、パケットのＤｓｔＭＡＣを、ＯＦＳ３０−６のノードＩＤと端末２のユーザＩＤに書き換え、かつ宛先ドメインであるドメインｄ３のドメインＩＤを設定したＶＬＡＮタグ領域を追加した上で、ＯＦＳ３０−２に転送する旨のエントリである。なお、ＶＬＡＮタグ領域を新たに追加した上でそのＬＡＮタグにドメインＩＤを記載する点が第３の例と異なる。
【０２２７】
以降、ＯＦＳ３０−１〜ＯＦＳ３０−４は、新たに追加されたＶＬＡＮタグに基づいて選択されるエントリに従って、次段のＯＦＳや相手側の境界スイッチに出力することによより、最終的に受信パケットをＯＦＳ３０−５に転送する（ステップＳ４０３〜ステップＳ４０６）。なお、図２０（ｂ）に示す例は、ステップＳ４０３でＯＦＳ３０−１から送信されるパケットのフォーマット例である。
【０２２８】
ＯＦＳ３０−５は、境界ポートであるポートｐ２からパケットを受信すると、受信パケットの宛先ドメインＩＤがドメインｄ３であることから、第１境界入力用エントリに従い、ステップＳ４０２で追加したＶＬＡＮタグ領域を削除する（ステップＳ４０７）。そして、ＯＦＳ３０−５は、ドメイン内通信用のエントリを再検索して、発見されたドメイン内通信用の中継用エントリに従って、該パケットを処理する。ここで、ＯＦＳ３０−５は、受信パケットの宛先領域に出力側エッジスイッチのノードＩＤと端末２のユーザＩＤが設定されていることから、受信パケットをドメイン内の転送用ポートであるポートｐ１から送信する（ステップＳ４０８）。図２０（ｃ）は、このときＯＦＳ３０−５から送信されるパケットフォーマットの例である。ＯＦＳ３０−５のポートｐ１から送信されたパケットは、ＯＦＳ３０−６のポートｐ２で受信される。
【０２２９】
ＯＦＳ３０−６は、ポートｐ２で受信したパケットに設定されている宛先ユーザＩＤが端末２であることから、パケットの宛先領域を元々の端末２の情報に書き戻した後、ポートｐ１から送信する（ステップＳ４０９，ステップＳ４１０）。
【０２３０】
本例では、上記のように、パケットフォーマットの変換が、入力側エッジスイッチとなるＯＦＳおよび宛先ドメインの境界スイッチとなるＯＦＳにおいて実施される。また、パケットの書き換えは、経路の始点となるＯＦＳおよび終点となるＯＦＳにおいて実施される。
【０２３１】
なお、端末１が端末２宛に２つ目のパケットを送信する場合、既にＯＦＳ３０−１には適合するエントリが登録されているため、ステップＳ４０１の後、すぐにステップＳ４０２に移行できる。
【０２３２】
［例５］
続に、第５の例として、ＭＰＬＳ（Multi-Protocol Label Switching）を使用して、パケットにドメインＩＤを付加する方法について説明する。第４の例では、パケットにＶＬＡＮタグを追加して、追加したＶＬＡＮタグにドメインＩＤを設定したが、本例ではＭＰＬＳラベル用の領域を追加して、追加した領域にドメインＩＤを設定する。従って、各ＯＦＳに設定されるドメインＩＤ比較用のエントリでは、マッチ条件としてＭＰＬＳラベルが指定される。
【０２３３】
第４の例との違いは、ドメインＩＤを設定する領域がＶＬＡＮタグ用の領域からＭＰＬＳラベル用の領域に変わった点のみである。図２１は、本例におけるパケットフォーマットの例を示す説明図である。
【０２３４】
例えば、本例のＯＦＳ３０−１は、端末１から端末２宛てのパケットを受信すると、ＯＦＣ２０−１にエントリを要求した結果、自身が管理するフローテーブルにエントリが登録される。このとき、ＯＦＳ３０−１が登録するエントリは、受信パケットのＤｓｔＭＡＣが端末２のＭＡＣアドレスの場合に、パケットの宛先領域に端末２が接続しているＯＦＳ３０−６のノードＩＤと端末２のユーザＩＤとを設定し、かつ宛先ドメインであるドメインｄ３のドメインＩＤを設定したＭＰＬＳラベルを設定した上で、ＯＦＳ３０−２に転送する旨のエントリである。図２１（ａ）に示す例は、このときＯＦＳ３０−１が端末１から受信するパケットのフォーマット例である。
【０２３５】
そして、ＯＦＳ３０−１は、ＯＦＣ２０−１からＰＡＣＫＥＴ＿ＯＵＴメッセージにより受信したパケットに対して、エントリに従って、ＭＰＬＳタグの追加および宛先情報の書き換えを行った上で、次段のＯＦＳ３０−２に転送する（図１９のステップＳ４０２，ステップＳ４０３）。なお、図２１（ｂ）に示す例は、このときＯＦＳ３０−１から送信されるパケットのフォーマット例である。
【０２３６】
また、本例のＯＦＳ３０−５は、境界ポートであるポートｐ２から受信したパケットの宛先ドメインＩＤが自ドメインのドメインｄ３であることから、事前に設定されていたエントリに従って、ＭＰＬＳラベルを削除した上で、ドメイン内通信用のエントリの再検索を行う（図１９のステップＳ４０７）。図２１（ｃ）は、このときＯＦＳ３０−５から送信されるパケットフォーマットの例である。
【０２３７】
本例では、上記のように、入力側エッジスイッチ、宛先ドメインの入力側境界スイッチおよび出力側エッジスイッチのみがパケットの書き換えをすればよい。
【０２３８】
次に、本発明のネットワークシステムの概要を説明する。図２２は、本発明によるネットワークシステムの概要を示す構成図である。図２２に示すネットワークシステムは、少なくとも１つの統合コントローラ５１０と、複数のドメインコントローラ５２０と、複数のスイッチ５３０とを備える。
【０２３９】
統合コントローラ５１０は、ドメインコントローラ５２０の各々に、制御対象ドメイン（そのドメインコントローラの自ドメイン）内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報を送信する。
【０２４０】
スイッチ５３０は、各々、自身が保持する処理規則に従って、受信パケットを処理する。
【０２４１】
ドメインコントローラ５２０は、各々、制御対象ドメインのトポロジの情報を保持し、配下のスイッチに対して、処理規則を設定する。その際、ドメインコントローラ５２０は、各々、統合コントローラ５１０から受信したドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する。
【０２４２】
ここで、「処理規則を設定する」とは、より具体的には、対象のスイッチに処理規則を送信して記憶させることである。また、「対象のスイッチが他ドメインのスイッチに到達可能なポート」には、対象のスイッチが有するポートのうち他ドメインのスイッチと直接接続されるポートだけでなく、対象のスイッチが有するポートのうち１つ以上の他のスイッチを介して他ドメインのスイッチと接続されることになるポートも含む。なお、後者の場合、対象のスイッチが有するポートのうち他ドメインのスイッチまでの経路上に位置する次段の他のスイッチと直接接続されるポートが指定される。
【０２４３】
このような構成により、複数のドメインを有するネットワーク環境において、１つのコントローラ（統合コントローラ５１０）に負荷を集中させることなく、ドメイン間の境界となるスイッチ（境界スイッチ）を容易に設定できる。
【０２４４】
また、ドメインコントローラの各々は、ドメイン間通信が開始される前に、境界スイッチに対してドメイン間処理規則を設定してもよい。
【０２４５】
その場合には、ドメイン間の境界となるスイッチ（境界スイッチ）におけるリソースの消費量と負荷を軽減できる。
【０２４６】
また、境界スイッチに対して設定されるドメイン間処理規則には、所定のドメイン間通信のパケットを特定する情報として、受信パケットの所定領域に記載される宛先ドメインの識別情報の指定が含まれてもよい。
【０２４７】
ここで、「所定のドメイン間通信」は、任意の他ドメイン宛ての通信や、所定のドメイン宛ての通信や、（他ドメインに属する）所定の端末宛ての通信であってもよい。
【０２４８】
また、ドメインコントローラの各々は、ドメイン境界情報と制御対象ドメインのトポロジの情報とに基づいて、所定のドメイン間通信における制御対象ドメイン内の経路を決定して、所定のドメイン間通信が開始される前に、配下のスイッチのうち経路において中継用のスイッチとされるドメイン内中継用スイッチに対して、該通信のパケットを特定する情報と、出力先ポートとして対象のスイッチが自ドメイン内の境界スイッチに到達可能なポートの指定とを含むドメイン間処理規則を設定してもよい。
【０２４９】
また、ドメイン間通信でスイッチ間を流れる転送パケットは、ドメインの識別子、スイッチの識別子および端末の識別子が記載されたヘッダ領域を有し、ドメインコントローラの各々は、所定の契機により、配下の所定のスイッチに対して、受信パケットに対する、前記ドメインの識別子、スイッチの識別子および端末の識別子の付与もしくは削除が指定されたドメイン間処理規則を設定してもよい。
【０２５０】
ここで、「受信パケットに対する情報の付与」には、受信パケットに新たな領域を追加して追加された領域または該領域の一部に該情報を記載することや、受信パケットの既存の領域を該情報の内容に書き換えることが含まれうる。また、「受信パケットに対する情報の削除」には、受信パケットから該情報が記載された領域または該領域を含む領域を削除することや、受信パケットの該情報が記載されている所定領域を、該情報が記載される前の情報に書き戻すことが含まれうる。
【０２５１】
また、ドメイン間通信で宛先ドメイン以外のドメイン内のスイッチ間を流れる転送パケットは、宛先ドメイン内において宛先とされるスイッチおよび端末を識別する第１宛先識別情報が記載された第１のヘッダ領域と、前記第１のヘッダ領域よりも外側に設けられた第２のヘッダ領域であって、転送中の各ドメイン内において宛先とされるスイッチおよび端末を識別する第２宛先識別情報が記載された第２のヘッダ領域とを有し、ドメインコントローラの各々は、所定の契機により、配下の所定のスイッチに対して、受信パケットに対する、前記第１宛先識別情報の付与もしくは削除、または、前記第２宛先識別情報の付与もしくは削除が指定されたドメイン間処理規則を設定してもよい。
【０２５２】
ここで、第１宛先識別情報は、宛先端末の識別情報と、宛先端末が接続されるスイッチである出力側エッジスイッチの識別情報とを含んでいてもよい。また、第２宛先識別情報は、出力側エッジスイッチが属するドメインである宛先ドメインの識別情報と、転送中のドメイン内における境界スイッチの識別情報と、境界ポートの接続先として割り当てられた仮想の端末の識別情報とを含んでいてもよい。
【０２５３】
また、「第１宛先識別情報の付与」は、受信パケットに新たなヘッダ領域を追加した上で、元々のヘッダ領域に第１宛先情報を記載することであってもよい。そのような場合、「第１宛先識別情報の削除」は、受信パケットに追加した新たなヘッダ領域を削除した上で、元々のヘッダ領域を、第１宛先識別情報が記載される前の情報に書き戻すことであってもよい。
【０２５４】
また、「第２宛先識別情報の付与」は、受信パケットに第２宛先情報が記載された新たなヘッダ領域を追加したり、受信パケットのヘッダ領域に第２宛先情報が記載された領域を追加したり、受信パケットのヘッダ領域の一部の領域を第２宛先情報の内容に書き換えすることであってもよい。そのような場合、「第２宛先識別情報の削除」は、受信パケットに新たに追加されたヘッダ領域を削除したり、受信パケットのヘッダ領域において追加された第２宛先識別情報が記載された領域を削除したり、受信パケットの該情報が記載された領域を、該情報が記載される前の情報に書き戻すことであってもよい。
【０２５５】
また、ドメインコントローラの各々は、統合コントローラからドメイン境界情報を受信したことを受けて、制御対象ドメインのトポロジの情報に、境界ポートに接続される端末として仮想の端末の情報を割り当てた上で、ドメイン内中継用スイッチに対して、所定のドメイン間通信のパケットを特定する情報として、制御対象ドメイン内に閉じた通信であるドメイン内通信において所定の端末を宛先端末とするパケットを特定する情報と同じ形式の情報であって宛先端末を宛先ドメインとの境界ポートの接続先の仮想の端末とする情報を含むドメイン間処理規則を設定してもよい。
【０２５６】
また、図２３は、発明による制御装置の概要を示す構成図である。図２３に示す制御装置６００は、複数のドメインを有するネットワークシステムに複数設けられるドメインコントローラの１つとして動作する制御装置であって、トポロジ管理部６０１と、処理規則設定部６０２とを備える。
【０２５７】
トポロジ管理部６０１（例えば、トポロジ管理部２２）は、制御対象ドメインのトポロジの情報を記憶する。
【０２５８】
処理規則設定部６０２（例えば、スイッチ管理部２１）は、配下のスイッチに対して、受信パケットを処理するための処理規則を設定する。このとき、処理規則設定部６０２は、上位のコントローラであり、当該ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する。
【０２５９】
このような構成の制御装置を、複数のドメインを有するネットワークシステムが備えることにより、１つのコントローラ（統合コントローラ）に負荷を集中させることなく、ドメイン間の境界となるスイッチ（境界スイッチ）におけるリソースの消費量と負荷を軽減できる。
【０２６０】
処理規則設定部６０２は、ドメイン間通信が開始される前に、境界スイッチに対してドメイン間処理規則を設定してもよい。
【０２６１】
なお、上記の実施形態および実施例は以下の付記のようにも記載できる。
【０２６２】
（付記１）複数のドメインを有するネットワークシステムに複数設けられ、各々が制御対象ドメインのトポロジの情報を記憶するドメインコントローラが、前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも前記境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する
ことを特徴とする経路制御方法。
【０２６３】
（付記２）ドメインコントローラの各々が、ドメイン間通信が開始される前に、境界スイッチに対してドメイン間処理規則を設定する付記１に記載の経路制御方法。
【０２６４】
（付記３）複数のドメインを有するネットワークシステムに複数設けられ、各々が制御対象ドメインのトポロジの情報を記憶するドメインコントローラが備えるコンピュータに、
前記ドメインコントローラよりも広いネットワークを管理する統合コントローラから受信した、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて、配下のスイッチのうち少なくとも前記境界ポートを有する境界スイッチに対して、ドメインを跨ぐ通信であるドメイン間通信のパケットを転送するための処理規則であって、対象のスイッチが他ドメインのスイッチに到達可能なポートが指定されたドメイン間処理規則を設定する処理
を実現させるための経路制御プログラム。
【０２６５】
（付記４）コンピュータに、ドメイン間処理規則を設定する処理で、ドメイン間通信が開始される前に、境界スイッチに対してドメイン間処理規則を設定させる付記３に記載の経路制御プログラム。
【０２６６】
（付記５）自身が保持する処理規則に従って受信パケットを処理する複数のスイッチと、制御対象ドメインのトポロジの情報を保持し、配下のスイッチに対して前記処理規則を設定する複数のドメインコントローラと、前記複数のドメインを含むネットワークを管理する統合コントローラとを備えたネットワークシステムにおける、ドメインを跨ぐ通信であるドメイン間通信のパケット転送方法であって、
少なくとも、所定のドメイン間通信の経路においてドメイン境界に位置する境界スイッチおよび該経路上の各ドメイン内の中継用のスイッチであるドメイン内中継用スイッチには、自ドメインのドメインコントローラが前記統合コントローラより受信したドメイン境界情報であって、制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報に基づいて決定した所定のドメイン間通信の自ドメイン内の経路に沿って受信パケットを転送するためのドメイン間処理規則が、該当するドメイン間通信が開始される前に設定されており、
新規にドメイン間通信が開始されると、該通信の経路の始点に位置する入力側エッジスイッチが、当該通信のフローを自ドメインのドメインコントローラに問い合わせた結果、前記ドメインコントローラが前記統合コントローラから得た情報に基づき設定されるドメイン間処理規則に従い、受信パケットのヘッダ領域の書き換えを行った上で、自ドメイン内の経路上の次段のスイッチに接続する所定のポートから送信し、
該通信の経路上の各ドメイン内の中継用のスイッチであるドメイン内中継用スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを、自ドメイン内の経路における次段のスイッチに接続する所定のポートから送信することで、該通信の経路において自ドメインの境界に位置する境界スイッチに転送し、
該通信の経路上のドメイン境界のうち始点側に位置する出力側境界スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを所定の境界ポートから送信し、
該通信の経路上のドメイン境界のうち終点側に位置する入力側境界スイッチが、予め設定されているドメイン間処理規則に従い、受信パケットを、自ドメイン内の経路上の次段のスイッチに接続する所定のポートから送信し、
該通信の経路の終点に位置する出力側エッジスイッチが、予め設定されているドメイン間処理規則または該通信のフローをドメインコントローラに問い合わせた結果得られるドメイン間処理規則に従い、受信パケットのヘッダ領域の書き戻しを行った上で、宛先端末に接続する所定のポートから送信する
ことを特徴とするパケット転送方法。
【０２６７】
ここで、「予め」は該当するドメイン間通信が開始される前であればよい。以下、同様である。
【０２６８】
（付記６）統合コントローラは、予めドメインコントローラの各々に制御対象ドメイン内で他ドメインとの境界となる境界ポートの情報を含むドメイン境界情報を送信しており、
ドメインコントローラの各々は、統合コントローラから受信したドメイン境界情報に基づいて、予め所定のドメイン間の制御対象ドメイン内の経路を決定している
付記５に記載のパケット転送方法。
【０２６９】
（付記７）入力側エッジスイッチが、設定されたドメイン間処理規則に従い、受信パケットのヘッダ領域に、宛先に関する情報として、ドメインの識別子、スイッチの識別子および端末の識別子を記載した上で、所定のポートから送信し、
各ドメインのドメイン内中継用スイッチが、予め設定されているドメイン間処理規則であって、受信パケットのヘッダ領域に記載されているスイッチの識別子および端末の識別子に基づいて選択されたドメイン間処理規則に従い、受信パケットを所定のポートから送信し、
出力側境界スイッチまたは入力側境界スイッチが、予め設定されているドメイン間処理規則であって、受信パケットのヘッダ領域に記載されているドメインの識別子に少なくとも基づいて選択されたドメイン間処理規則に従い、受信パケットのヘッダ領域の書き換えを行った上で、所定のポートから送信し、
出力側エッジスイッチが、予め設定されているドメイン間処理規則であって、受信パケットのヘッダ領域に記載されているスイッチの識別子および端末の識別子に基づいて選択されたドメイン間処理規則に従い、受信パケットのヘッダ領域の書き戻しを行った上で、宛先端末に接続する所定のポートから送信する
付記５または付記６に記載のパケット転送方法。
【０２７０】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０２７１】
本発明は、複数のドメインを含むネットワーク環境を有するネットワークシステムに適用することができる。
【符号の説明】
【０２７２】
１、２  端末
１０  統合コントローラ
１１  コントローラ管理部
１２  トポロジ管理部
１３  ドメイン間経路計算部
２０  ドメインコントローラ
２１  スイッチ管理部
２２  トポロジ管理部
２３  ドメイン内経路計算部
２４  処理規則生成部
２５  統合コントローラＩ／Ｆ部
３０  ネットワーク機器
２０−１〜２０−３  ＯＦＣ
３０−１〜３０−６  ＯＦＳ
１００  通信ネットワーク
５１０  統合コントローラ
５２０  ドメインコントローラ
６００  制御装置
５２１、６０１  トポロジ管理部
５２２、６０２  処理規則設定部
５３０  スイッチ
【図１】
2017175522.tif 000003
【図２】
2017175522.tif 000004
【図３】
2017175522.tif 000005
【図４】
2017175522.tif 000006
【図５】
2017175522.tif 000007
【図６】
2017175522.tif 000008
【図７】
2017175522.tif 000009
【図８】
2017175522.tif 000010
【図９】
2017175522.tif 000011
【図１０】
2017175522.tif 000012
【図１１】
2017175522.tif 000013
【図１２】
2017175522.tif 000014
【図１３】
2017175522.tif 000015
【図１４】
2017175522.tif 000016
【図１５】
2017175522.tif 000017
【図１６】
2017175522.tif 000018
【図１７】
2017175522.tif 000019
【図１８】
2017175522.tif 000020
【図１９】
2017175522.tif 000021
【図２０】
2017175522.tif 000022
【図２１】
2017175522.tif 000023
【図２２】
2017175522.tif 000024
【図２３】
2017175522.tif 000025