(第1の実施形態)
以下、本発明の実施形態について図面を参照して説明する。図1は、第1の実施形態におけるパケット転送システム1の構成を示すブロック図である。パケット転送システム1は、通信装置2、OpenFlowスイッチ3-1,3-2、転送制御装置4、経路設計装置5及び接続検知装置6を備える。図1において、各装置間の実線の接続線は、物理回線により直接接続している状態を示している。破線の接続線は、物理回線により直接接続しているか、または、専用線等の通信ネットワークを介して接続している状態を示している。実線の接続線及び破線の接続線については以下の説明においても上記の状態を示すものとする。
通信装置2は、例えば、モジュール型の通信装置であり、各種のデータの送受信を行う。通信装置2は、プローブパケットを受信すると、予め定められる特定のフォーマットのパケットをプローブパケットの応答として送出する。
OpenFlowスイッチ3-1,3-2は、各々が、転送処理部31-1,31-2及び転送規則記憶部32-1,32-2を備える。OpenFlowスイッチ3-1,3-2の各々には、予め装置識別情報が付与されている。OpenFlowスイッチ3-1,3-2に付与される装置識別情報は、OpenFlowスイッチ3-1,3-2の各々を特定することができる情報である。OpenFlowスイッチ3-1,3-2は、内部の記憶領域に装置識別情報を記憶させている。
OpenFlowスイッチ3-1,3-2の各々は、少なくとも3つ以上の複数の物理ポートを備えている。図1では、一例として、OpenFlowスイッチ3-1が備える3つの物理ポート33-1-p1,33-1-p2,33-1-p3を示しており、OpenFlowスイッチ3-2が4つの物理ポート33-1-p1,33-1-p2,33-1-p3,33-1-p4を示している。
OpenFlowスイッチ3-1の物理ポート33-1-p1は、転送制御装置4に接続している。物理ポート33-1-p3は、OpenFlowスイッチ3-2の物理ポート33-2-p2に接続している。物理ポート33-1-p2には、通信装置2が接続する。なお、図1では、通信装置2は、物理回線によりOpenFlowスイッチ3-1の物理ポート33-1-p2に接続するように示している。一方で、通信装置2は、モジュール型の通信装置であるため、物理回線を介さずに、物理ポート33-1-p2に直接接続していてもよい。
OpenFlowスイッチ3-2の物理ポート33-2-p1は、転送制御装置4に接続している。物理ポート33-1-p3,33-1-p4の各々は、例えば、インターネット等の外部の通信ネットワーク(以下「外部通信ネットワーク」という。)に接続している。
転送規則記憶部32-1,32-2は、転送制御装置4が送信する転送規則を示す転送規則データを記憶する。転送規則とは、例えば、OpenFlowにおけるフローエントリである。そのため、転送規則データには、受信したパケットを転送する規則や、受信したパケットのヘッダを書き替えて転送する規則などの情報が含まれている。なお、転送規則に含まれる規則は、複数であってもよい。
転送処理部31-1は、転送規則データが示す転送規則に基づいて、物理ポート33-1-p1~33-1-p3のいずれかから受信したパケットを他の物理ポート33-1-p1~33-1-p3に転送する。転送処理部31-2は、転送規則データが示す転送規則に基づいて、物理ポート33-2-p1~33-2-p4のいずれかから受信したパケットを他の物理ポート33-2-p1~33-2-p4に転送する。
転送処理部31-1,31-2の各々は、物理ポート33-1-p1,33-2-p1を介して、転送制御装置4との間にOpenFlowのコネクションを確立する。ここで、OpenFlowのコネクションとは、例えば、セキュアチャネルやOpenFlowチャネルと呼ばれるコネクションである。当該コネクションにおいてOpenFlowプロトコルにおいて定義されているOpenFlowのメッセージの送受信が行われる。
転送処理部31-1,31-2の各々は、各々に対応する転送規則記憶部32-1,32-2が記憶する転送規則に一致しないパケットを受信した場合、転送制御装置4にPaket-Inメッセージを送信する。
転送処理部31-1,31-2の各々は、転送制御装置4から転送規則データを受信した場合、各々に対応する転送規則記憶部32-1,32-2が記憶する転送規則データを、受信した転送規則データの内容に基づいて更新する処理を行う。ここで、更新する処理とは、既に記憶されている複数の転送規則の一部を上書きする処理、新たに転送規則を書き加える処理及び複数の転送規則の一部を削除する処理などを含むものとする。
転送制御装置4は、例えば、OpenFlowコントローラであり、パケット処理部41と転送規則設定部42を備える。パケット処理部41は、OpenFlowスイッチ3-1,3-2が送信するPacket-Inメッセージを受信する。パケット処理部41は、Packet-Inメッセージにより受信したパケットの内容を書き替える等の処理を行う。
パケット処理部41は、Packet-OutメッセージをOpenFlowスイッチ3-1,3-2に送信する。Packet-Outメッセージには、パケットを出力させる物理ポート33-1-p2,33-1-p3,33-2-p2~33-2-p4を指定する情報を含むことができる。したがって、パケット処理部41は、OpenFlowスイッチ3-1,3-2の各々が備える任意の物理ポート33-1-p2,33-1-p3,33-2-p2~33-2-p4から任意のパケットを出力させる処理を行うことができる。
転送規則設定部42は、OpenFlowスイッチ3-1,3-2の各々に対応する転送規則データをFlow-ModメッセージによりOpenFlowスイッチ3-1,3-2に送信する。なお、転送規則データは、パケット処理部41が受信するPacket-Inメッセージに含まれているパケットのヘッダに含まれる情報に基づいて転送規則設定部42が生成したり、経路設計装置5が生成したりする。
接続検知装置6は、通信装置2の接続を検知する装置であり、転送制御装置4に接続する。接続検知装置6は、OpenFlowスイッチ3-1,3-2の物理ポート33-1-p2,33-1-p3,33-2-p2~33-2-p4の中のいずれの物理ポートに通信装置2が接続したかを検出する。接続検知装置6は、通信装置2が接続したOpenFlowスイッチ3-1,3-2の装置識別情報と、通信装置2が接続した物理ポートを特定する物理ポート識別情報とを含む接続構成データを生成する。
経路設計装置5は、インバンド・マネジメントネットワークの構築を行う装置であり、接続検知装置6と、転送制御装置4とに接続する。経路設計装置5は、経路設計部52、指示出力部53及び経路設計情報管理部54を備える。
経路設計情報管理部54は、経路設計部52がマネジメント用のパケットを転送する最適な経路(以下「マネジメント用の最適な経路」という。)を選定する際に参照する経路設計規則を示した経路設計規則データを予め内部の記憶領域に記憶させる。ここで、経路設計規則とは、例えば、トラフィック量が最小の経路を優先するロードバランシングに基づく規則や、通過するOpenFlowスイッチ3-1,3-2等のノード数を最小にする経路を優先する規則等である。
経路設計情報管理部54は、経路設計に必要となる転送制御装置4と、OpenFlowスイッチ3-1と、OpenFlowスイッチ3-2との間の接続関係などを示すパケット転送ネットワークの構成データをOpenFlowスイッチ3-1,3-2及び転送制御装置4に周期的にアクセスして収集し、収集したパケット転送ネットワークの構成データを内部の記憶領域に記録する。経路設計情報管理部54は、経路設計規則の判定の基準となるOpenFlowスイッチ3-1,3-2の各々の間及びOpenFlowスイッチ3-1,3-2の各々と転送制御装置4との間で送受信されているトラフィックのデータ等の規則判定用データを、OpenFlowスイッチ3-1,3-2及び転送制御装置4に周期的にアクセスして収集し、収集した規則判定用データを内部の記憶領域に記録する。
経路設計部52は、接続検知装置6が生成する接続構成データと、経路設計情報管理部54が記憶するパケット転送ネットワークの構成データ、経路設計規則データ及び規則判定用データに基づいて、通信装置2と転送制御装置4とを接続するマネジメント用の最適な経路を選定する。経路設計部52は、選定したマネジメント用の最適な経路を構築する転送規則データをOpenFlowスイッチ3-1,3-2ごとに生成する。
指示出力部53は、経路設計部52が生成したOpenFlowスイッチ3-1,3-2ごとの転送規則データに基づいて転送規則記憶部32-1,32-2が記憶する転送規則データを更新させるために、経路設計部52が生成したOpenFlowスイッチ3-1,3-2ごとの転送規則データを、転送制御装置4の転送規則設定部42に送信する。
(第1の実施形態のパケット転送システムによる経路設定処理)
図2は、パケット転送システム1によるマネジメント用の最適な経路を設定する処理の流れを示すフローチャートである。
通信装置2が、OpenFlowスイッチ3-1の物理ポート33-1-p2に接続する。第1の実施形態における通信装置2の接続の検知の処理が、以下に示す手順にしたがって行われる(ステップS1)。なお、OpenFlowスイッチ3-1,3-2の転送規則記憶部32-1,32-2が記憶する転送規則データが示す転送規則には、通信装置2がプローブパケットの応答として送出する特定のフォーマットのパケットの転送に関する規則が定義されていないとする。
転送制御装置4のパケット処理部41は、周期的に、Packet-OutメッセージをOpenFlowスイッチ3-1,3-2に送信する。OpenFlowスイッチ3-1,3-2の転送処理部31-1,31-2は、当該Packet-Outメッセージを受信すると、通信装置2が接続される可能性のあるポートからプローブパケットを送出する。通信装置2が接続される可能性のあるポートとは、例えば転送制御装置4に接続している物理ポートやマネジメント用の物理ポート以外のポートである。そこで、転送処理部31-1,31-2は、以外の全ての物理ポートからプローブパケットを送出する。
通信装置2は、プローブパケットを受信すると、特定のフォーマットのパケットを送出する。OpenFlowスイッチ3-1の転送処理部31-1は、特定のフォーマットのパケットを受信する。転送処理部31-1は、特定のフォーマットが転送規則データに定義されていない。そのため、転送処理部31-1は、Packet-Inメッセージを転送制御装置4のパケット処理部41に送信する。Packet-Inメッセージには、当該特定のフォーマットのパケットを受信した物理ポート33-1-p2を特定する物理ポート識別情報と、OpenFlowスイッチ3-1に予め付与されているOpenFlowスイッチ3-1を特定する装置識別情報と、特定のフォーマットのパケットとが含まれる。
パケット処理部41は、Packet-Inメッセージに特定のフォーマットのパケットが含まれているため、Packet-Inメッセージに含まれているOpenFlowスイッチ3-1の装置識別情報と、物理ポート33-1-p2の物理ポート識別情報とを接続検知装置6に送信する。
接続検知装置6は、パケット処理部41からOpenFlowスイッチ3-1の装置識別情報と、物理ポート33-1-p2の物理ポート識別情報とを受信する。接続検知装置6は、受信したOpenFlowスイッチ3-1の装置識別情報と、物理ポート33-1-p2の物理ポート識別情報とを含む接続構成データを生成する。接続検知装置6は、生成した接続構成データを経路設計装置5の経路設計部52に送信する。
経路設計部52は、接続検知装置6が送信する接続構成データを受信する。経路設計部52は、経路設計情報管理部54が内部の記憶領域に記憶させているパケット転送ネットワークの構成データと、経路設計規則データと、規則判定用データとを読み出す。経路設計部52は、接続構成データと、パケット転送ネットワークの構成データとに基づいて、通信装置2と転送制御装置4とを接続する経路を算出する。経路設計部52は、算出した経路と、経路設計規則データと、規則判定用データとに基づいて、通信装置2と転送制御装置4との間のマネジメント用の最適な経路を選定する(ステップS2)。
ここでは、例えば、経路設計規則が、トラフィック量が最小の経路を優先する規則であり、規則判定用データが、OpenFlowスイッチ3-1と転送制御装置4のトラフィック量よりも、OpenFlowスイッチ3-2と転送制御装置4のトラフィック量の方が少ないことを示しているとする。この場合、経路設計部52は、図1に示すOpenFlowスイッチ3-1の物理ポート33-1-p2から物理ポート33-1-p3を経由し、更に、OpenFlowスイッチ3-2の物理ポート33-2-p2と物理ポート33-2-p1を経由する経路100をマネジメント用の最適な経路として選定する。
経路設計部52は、選定したマネジメント用の経路100に基づいて、OpenFlowスイッチ3-1,3-2の各々に対する転送規則データを生成する(ステップS3)。経路設計部52は、生成した転送規則データの各々に対して、各々に対応するOpenFlowスイッチ3-1,3-2の装置識別情報を付与して指示出力部53に出力する。指示出力部53は、装置識別情報が付与された転送規則データを含む転送規則更新指示信号を転送制御装置4の転送規則設定部42に送信する(ステップS4)。
転送規則設定部42は、指示出力部53から転送規則更新指示信号を受信すると、転送規則更新指示信号に含まれている転送規則データを読み出す。転送規則設定部42は、読み出した転送規則データに付与されている装置識別情報に対応するOpenFlowスイッチ3-1,3-2に対して、読み出した転送規則データを送信する。転送規則設定部42は、転送規則データを送信する際、Flow-ModメッセージによりOpenFlowスイッチ3-1,3-2に送信する。
OpenFlowスイッチ3-1,3-2の転送処理部31-1,31-2の各々は、転送規則設定部42が送信する転送規則データを受信する。転送処理部31-1,31-2の各々は、受信した転送規則データに基づいて、各々に対応する転送規則記憶部32-1,32-2が記憶する転送規則データを更新する(ステップS5)。これにより、マネジメント用の経路100が設定される。転送制御装置4は、マネジメント用の経路100を通じて通信装置2との間で、マネジメント用のパケットの送受信を行い、通信装置2が送出するパケットの転送先を選択する転送制御をおこなうことが可能になる。
なお、上記の第1の実施形態の構成では、マネジメント用の経路100を設定するようにしているが、マネジメント用の経路100を設定する際の手順と同様の手順により、経路設計部52が、通信装置2に対するデータ用のパケットを転送する最適な経路(以下「データ用の最適な経路」という。)を設定するようにしてもよい。
例えば、図1において、OpenFlowスイッチ3-2の物理ポート33-2-p3に接続する外部通信ネットワークのトラフィック量よりも、物理ポート33-2-p4に接続する外部通信ネットワークのトラフィック量の方が少ないとする。この場合、経路設計部52は、ステップS2の処理において、通信装置2が送出するデータのパケットを、物理ポート33-2-p4の方に転送させる経路101をデータ用の最適な経路として選定する。経路設計部52は、ステップS3の処理において、選定したデータ用の経路101に基づいて、OpenFlowスイッチ3-1,3-2の各々に対する転送規則データを生成する。
上記したステップS4,S5と同様の手順を経て、転送規則記憶部32-1,32-2が記憶する転送規則データが、経路設計部52が生成したデータ用の経路101の転送規則データに基づいて更新される。これにより、データ用の経路101が設定されることになる。
上記の第1の実施形態の構成において、接続検知装置6は、通信装置2が接続したOpenFlowスイッチ3-1を特定する装置識別情報と、当該OpenFlowスイッチ3-1において通信装置2が接続した物理ポート33-1-p2を示す物理ポート識別情報とを検出し、検出した装置識別情報と、物理ポート識別情報とを含む接続構成データを生成する。経路設計装置5において、経路設計部52は、接続検知装置6が生成する接続構成データに基づいて、通信装置2に対するマネジメント用のパケットを転送する経路100、または、データ用のパケットを転送する経路101を選定し、選定した経路100,101に基づいて、転送規則を示す転送規則データを生成し、生成した転送規則データに基づいて転送規則記憶部32-1,32-2が記憶する転送規則データが更新される。
更に、上記の第1の実施形態の構成では、経路設計部52は、接続構成データと、パケット転送ネットワークの構成データと、経路設計規則データと、規則判定用データとを用いて、通信装置2と、転送制御装置4との間にマネジメント用の最適な経路100を設定することができる。そのため、通信装置2にIPアドレスやMACアドレスが割り当てられていない場合であっても、通信装置2においてDHCPクライアント等のクライアントアプリケーションプログラムが動作していない場合であっても、通信装置2のOpenFlowスイッチ3-1、または、OpenFlowスイッチ3-2への接続を契機に、人手によらず自動的に通信装置2と転送制御装置4との間のインバンド・マネジメントネットワークを構築することが可能となる。
(第2の実施形態)
図3は、第2の実施形態におけるパケット転送システム1aの構成を示すブロック図である。第2の実施形態において、第1の実施形態と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。
パケット転送システム1aは、通信装置2、OpenFlowスイッチ3-1,3-2、転送制御装置4、経路設計装置5a、接続検知装置6、自律型転送装置8及び転送規則設定装置7を備える。
自律型転送装置8は、例えば、レイヤ2スイッチやレイヤ3スイッチであり、OpenFlowプロトコルに未対応の装置である。自律型転送装置8は、自律転送処理部81及び自律転送規則記憶部82を備える。自律型転送装置8には、予め装置識別情報が付与されている。自律型転送装置8に付与される装置識別情報は、自律型転送装置8を特定することができる情報である。自律型転送装置8は、内部の記憶領域に、付与された装置識別情報を記憶させている。
自律型転送装置8は、少なくとも3つ以上の複数の物理ポートを備えている。図3では、一例として、自律型転送装置8が備える3つの物理ポート83-p1,83-p2,83-p3を示している。
物理ポート83-p1は、転送規則設定装置7に接続しており、物理ポート83-p3は、OpenFlowスイッチ3-1の物理ポート33-1-p2に接続している。物理ポート83-p2には、通信装置2が接続する。
自律転送規則記憶部82は、予め定められる自律転送規則を示す自律転送規則データを記憶する。ここで、自律転送規則とは、いわゆるレイヤ2スイッチやレイヤ3スイッチにおいて設定されるパケットの転送規則である。自律転送規則データは、例えば、自律型転送装置8の管理者が、端末装置等を利用して自律型転送装置8の自律転送規則記憶部82にアクセスすることにより書き込みや削除などの変更が可能になっており、物理ポート83-p1に接続する転送規則設定装置7からも書き込みや削除などの変更が可能になっている。
自律転送処理部81は、物理ポート83-p2,83-p3から受信したパケットを、自律転送規則データが示す自律転送規則に基づいて、他の物理ポート83-p2,83-p3に転送する。
経路設計装置5aは、転送制御装置4、接続検知装置6及び転送規則設定装置7に接続する。経路設計装置5aは、経路設計部52a、指示出力部53a及び経路設計情報管理部54aを備える。経路設計情報管理部54aは、第1の実施形態の経路設計情報管理部54aが記憶する経路設計規則データと同一の経路設計規則データを内部の記憶領域に記憶させる。
経路設計情報管理部54aは、経路設計に必要となる転送制御装置4と、OpenFlowスイッチ3-1と、OpenFlowスイッチ3-2と、自律型転送装置8との間の接続関係などを示すパケット転送ネットワークの構成データを、OpenFlowスイッチ3-1,3-2、自律型転送装置8及び転送制御装置4に周期的にアクセスして収集し、収集したパケット転送ネットワークの構成データを内部の記憶領域に記録する。
経路設計情報管理部54aは、経路設計規則の判定の基準となるOpenFlowスイッチ3-1、OpenFlowスイッチ3-2及び自律型転送装置8の各々の間及び、OpenFlowスイッチ3-1,3-2の各々と転送制御装置4との間で送受信されているトラフィックのデータ等の規則判定用データを、OpenFlowスイッチ3-1,3-2、自律型転送装置8及び転送制御装置4に周期的にアクセスして収集し、収集した規則判定用データを内部の記憶領域に記録する。
経路設計部52aは、接続検知装置6が生成する接続構成データと、経路設計情報管理部54aが記憶するパケット転送ネットワークの構成データ、経路設計規則データ及び規則判定用データに基づいて、通信装置2と転送制御装置4とを接続するマネジメント用の最適な経路を選定する。経路設計部52aは、選定したマネジメント用の最適な経路を構築する転送規則データをOpenFlowスイッチ3-1,3-2ごとに生成する。経路設計部52aは、選定したマネジメント用の最適な経路を構築する自律転送規則データを生成する。
指示出力部53aは、経路設計部52aが生成したOpenFlowスイッチ3-1,3-2ごとの転送規則データを転送制御装置4の転送規則設定部42に送信する。指示出力部53aは、経路設計部52aが生成した自律型転送装置8の自律転送規則データを転送規則設定装置7に送信する。
転送規則設定装置7は、自律型転送装置8と、経路設計装置5aとに接続しており、経路設計装置5aから受信する自律転送規則データに基づいて自律型転送装置8の自律転送規則データを更新する処理を行う。ここで、更新する処理とは、既に記憶されている複数の自律転送規則の一部を上書きする処理、新たに自律転送規則を書き加える処理及び複数の自律転送規則の一部を削除する処理などを含むものとする。
(第2の実施形態のパケット転送システムによる経路設定処理)
図4は、パケット転送システム1aによる最適なマネジメント用の経路を設定する処理の流れを示すフローチャートである。
通信装置2が、自律型転送装置8の物理ポート83-p2に接続する。第2の実施形態における通信装置2の接続の検知の処理が、以下に示す手順にしたがって行われる(ステップSa1)。
例えば、通信装置2が自律型転送装置8に接続していない状態で、自律型転送装置8とOpenFlowスイッチ3-1とが接続される際に、OpenFlowスイッチ3-1及び自律型転送装置8において、自律型転送装置8の空き状態の物理ポートに一対一に対応する接続検知用の論理パスが、例えば、VLANを用いて生成される。
図3に示す構成の場合、自律型転送装置8の物理ポート83-p1は、転送規則設定装置7に接続しており、物理ポート83-p3は、OpenFlowスイッチ3-1に接続している。そのため、空き状態の物理ポートは、物理ポート83-p2になる。自律型転送装置8と、OpenFlowスイッチ3-1において、物理ポート83-p2に対応する論理パスを1つ生成する。
論理パスの生成は、例えば、以下のようにして行われる。OpenFlowスイッチ3-1において、任意に定めるVLAN-ID(以下「VLAN-ID-A」とする。)に対して、自律型転送装置8を特定する装置識別情報と、物理ポート83-p2の物理ポート識別情報と、を関連付けたテーブルを内部の記憶領域に記憶させておく。これにより、OpenFlowスイッチ3-1の転送処理部31-1は、VLAN-ID-Aが付与されているパケットを受信すると、このパケットが、自律型転送装置8の物理ポート83-p2において受信されたパケットであることを特定することができる。
OpenFlowスイッチ3-1の転送規則記憶部32-1が記憶する転送規則データに、以下のような規則を追加しておく。具体的には、転送処理部31-1が特定のフォーマットのパケットを受信した場合、内部の記憶領域に記憶させているテーブルを参照して、特定のフォーマットのパケットに付与されているVLAN-IDに関連付けられている装置識別情報と、物理ポート識別情報とを検出し、検出した装置識別情報と、物理ポート識別情報と、特定のフォーマットのパケットとを含むPacket-Inメッセージを、転送制御装置4に転送する規則を追加しておく。なお、論理パスの始点とならないOpenFlowスイッチ3-2の転送規則データには、第1の実施形態と同様に、通信装置2がプローブパケットの応答として送出する特定のフォーマットのパケットの転送に関する規則を定義する必要はない。
自律型転送装置8の自律転送規則記憶部82が記憶する自律転送規則データに、以下のような規則を追加しておく。具体的には、物理ポート83-p2においてパケットを受信すると、受信したパケットにVLAN-ID-Aを付与して物理ポート83-p3から送出する規則を自律転送規則データに追加しておく。
転送制御装置4のパケット処理部41は、周期的に、Packet-OutメッセージをOpenFlowスイッチ3-1,3-2に送信する。当該Packet-Outメッセージを受信したOpenFlowスイッチ3-1,3-2は、通信装置2が接続される可能性のあるポートからプローブパケットを送出する。例えば、OpenFlowスイッチ3-1,3-2は、物理ポート33-1-p1,33-2-p1以外の全ての物理ポート及び論理ポートからプローブパケットを送出する。OpenFlowスイッチ3-1は、プローブパケットを物理ポート33-1-p2から送出する。
自律型転送装置8の自律転送処理部81は、物理ポート83-p3においてプローブパケットを受信すると、受信したプローブパケットを物理ポート83-p2から送出する。
通信装置2は、自律型転送装置8が送出するプローブパケットを受信すると、特定のフォーマットのパケットを送出する。
自律型転送装置8の自律転送処理部81は、物理ポート83-p2において特定のフォーマットのパケットを受信する。自律転送処理部81は、特定のフォーマットのパケットを受信すると、自装置の自律転送規則に基づいて、受信した特定のフォーマットのパケットにVLAN-ID-Aを付与して物理ポート83-p3から送出する。
OpenFlowスイッチ3-1の転送処理部31-1は、特定のフォーマットのパケットを受信すると、特定のフォーマットに含まれるVLAN-ID-Aを検出する。転送処理部31-1は、内部の記憶領域に記憶させているテーブルを参照し、検出したVLAN-ID-Aに対応付けられている自律型転送装置8の装置識別情報と、物理ポート83-p2の物理ポート識別情報とを読み出す。転送処理部31-1は、自装置の転送規則に基づいて、読み出した自律型転送装置8の装置識別情報と、物理ポート83-p2の物理ポート識別情報と、特定のフォーマットのパケットとを含むPacket-Inメッセージを転送制御装置4のパケット処理部41に送信する。
パケット処理部41は、Packet-Inメッセージに特定のフォーマットのパケットが含まれているため、自律型転送装置8の装置識別情報と、物理ポート83-p2の物理ポート識別情報とを接続検知装置6に送信する。
接続検知装置6は、パケット処理部41から自律型転送装置8の装置識別情報と、物理ポート83-p2の物理ポート識別情報とを受信する。接続検知装置6は、受信した自律型転送装置8の装置識別情報と、物理ポート83-p2の物理ポート識別情報とを含む接続構成データを生成する。接続検知装置6は、生成した接続構成データを経路設計装置5aの経路設計部52aに送信する。
経路設計部52aは、接続検知装置6が送信する接続構成データを受信する。経路設計部52aは、経路設計情報管理部54aが内部の記憶領域に記憶させているパケット転送ネットワークの構成データと、経路設計規則データと、規則判定用データとを読み出す。経路設計部52aは、接続構成データと、パケット転送ネットワークの構成データとに基づいて、通信装置2と転送制御装置4とを接続する経路を算出する。経路設計部52aは、算出した経路と、経路設計規則データと、規則判定用データとに基づいて、通信装置2と転送制御装置4との間のマネジメント用の最適な経路を選定する(ステップSa2)。
ここでは、例えば、経路設計規則が、トラフィック量が最小の経路を優先する規則であり、規則判定用データが、OpenFlowスイッチ3-1と転送制御装置4のトラフィック量よりも、OpenFlowスイッチ3-2と転送制御装置4のトラフィック量の方が少ないことを示しているとする。この場合、経路設計部52aは、図2に示す自律型転送装置8の物理ポート83-p2から物理ポート83-p3を経由し、OpenFlowスイッチ3-1の物理ポート33-1-p2から物理ポート33-1-p3を経由し、更に、OpenFlowスイッチ3-2の物理ポート33-2-p2と物理ポート33-2-p1を経由する経路100aをマネジメント用の最適な経路として選定する。
経路設計部52aは、選定したマネジメント用の経路100aに基づいて、OpenFlowスイッチ3-1,3-2の各々に対する転送規則データを生成する。経路設計部52aは、選定したマネジメント用の経路100aに基づいて、自律型転送装置8に対する自律転送規則データを生成する(ステップSa3)。
ステップSa4-1,Sa5-1については、図2のステップS4,S5と同一の処理が、経路設計部52a、指示出力部53a、転送規則設定部42、転送処理部31-1,31-2によって行われる。これにより、転送規則記憶部32-1,32-2が記憶する転送規則データが、経路設計部52aがOpenFlowスイッチ3-1,3-2の各々に対して生成した転送規則データに基づいて更新されることになる。
経路設計部52aは、生成した自律転送規則データに対して、当該自律転送規則データに対応する自律型転送装置8の装置識別情報を付与して指示出力部53aに出力する。指示出力部53aは、装置識別情報が付与された自律転送規則データを含む自律転送規則更新指示信号を転送規則設定装置7に送信する(ステップSa4-2)。
転送規則設定装置7は、自律転送規則更新指示信号を受信すると、自律転送規則更新指示信号に含まれている自律転送規則データを読み出す。転送規則設定装置7は、読み出した自律転送規則データに付与されている装置識別情報に対応する自律型転送装置8の自律転送規則記憶部82にアクセスし、指示出力部53aから受信した自律転送規則データに基づいて自律転送規則データを更新する(ステップSa5-2)。
これにより、マネジメント用の経路100aが設定され、転送制御装置4は、マネジメント用の経路100aを通じて、通信装置2との間でマネジメント用のパケットの送受信を行い、通信装置2が送出するパケットの転送先を選択する転送制御をおこなうことが可能になる。
なお、上記の第2の実施形態の構成では、マネジメント用の経路100aを設定するようにしているが、マネジメント用の経路100aを設定する際の手順と同様の手順により、経路設計部52aが、通信装置2に対するデータ用の最適な経路を設定するようにしてもよい。例えば、図3において、OpenFlowスイッチ3-2の物理ポート33-2-p3に接続する外部通信ネットワークのトラフィック量よりも、物理ポート33-2-p4に接続する外部通信ネットワークのトラフィック量の方が少ないとする。
この場合、経路設計部52aは、ステップSa2の処理において、通信装置2が送出するデータのパケットを、物理ポート33-2-p4の方に転送させる経路101aをデータ用の最適な経路101aとして選定する。経路設計部52aは、ステップSa3の処理において、選定したデータ用の経路101aに基づいて、OpenFlowスイッチ3-1,3-2の各々に対する転送規則データと、自律型転送装置8に対する自律転送規則データとを生成する。
上記したステップSa4-1,Sa5-1と同様の手順により、転送規則記憶部32-1,32-2が記憶する転送規則データが、経路設計部52aが生成したデータ用の経路101aの転送規則データに基づいて更新される。上記したステップSa4-2,Sa5-2と同様の手順により自律転送規則データが、経路設計部52aが生成したデータ用の経路101aの自律転送規則データに基づいて更新される。これにより、データ用の経路101aが設定されることになる。
上記の第2の実施形態では、接続検知装置6が、通信装置2がOpenFlowスイッチ3-1,3-2に接続せずに、自律型転送装置8に接続する場合、通信装置2が接続した自律型転送装置8を特定する装置識別情報と、当該自律型転送装置8において通信装置2が接続した物理ポートを示す物理ポート識別情報とを含む接続構成データを生成する。経路設計部52aは、接続検知装置6が生成する接続構成データに基づいて、通信装置2に対するマネジメント用のパケットを転送する経路100a、または、データ用のパケットを転送する経路101aを選定し、選定した経路100a,101aに基づいて、転送規則を示す転送規則データと、自律転送規則を示す自律転送規則データとを生成し、生成した転送規則データに基づいてOpenFlowスイッチ3-1,3-2の転送規則を更新させ、生成した自律転送規則データに基づいて自律型転送装置8の自律転送規則を更新させる。
更に、上記の第2の実施形態の構成では、経路設計部52aは、接続構成データと、経路設計規則データと、規則判定用データとを用いて、通信装置2と、転送制御装置4との間にマネジメント用の最適な経路100aを設定することができる。そのため、通信装置2にIPアドレスやMACアドレスが割り当てられていない場合であっても、通信装置2においてDHCPクライアント等のクライアントアプリケーションプログラムが動作していない場合であっても、通信装置2の自律型転送装置8への接続を契機に、人手によらず自動的に通信装置2と転送制御装置4との間のインバンド・マネジメントネットワークを構築することが可能となる。
(第3の実施形態)
図5は、第3の実施形態におけるパケット転送システム1bの構成を示すブロック図である。第3の実施形態において、第1及び第2の実施形態と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。
第1及び第2の実施形態では、通信装置2に対するマネジメント用の経路を、通信装置2と転送制御装置4の間に設定するようにしていた。これに対して、OpenFlowに未対応の通信ネットワーク等では、通信装置2の管理や制御を行う専用の装置が備えられる構成が一般的である。第3の実施形態では、通信装置2の管理や制御を行う専用の装置が備えられている場合に、当該装置と、通信装置2との間にマネジメント用の経路の設定を行う構成を備えている。
パケット転送システム1bは、通信装置2、OpenFlowスイッチ3-1,3-2、転送制御装置4、経路設計装置5b、接続検知装置6、転送規則設定装置7、自律型転送装置8及びサーバ装置9を備える。なお、図5においても、図1及び図3と同様に、各装置間の実線の接続線は、物理回線により直接接続している状態を示しており、破線の接続線は、物理回線により直接接続しているか、または、専用線等の通信ネットワークを介して接続している状態を示している。
図5では、自律型転送装置8が備える複数の物理ポートの中の4つの物理ポート83-p1,83-p2,83-p3,83-p4を示している。物理ポート83-p1は、転送規則設定装置7に接続しており、物理ポート83-p2は、OpenFlowスイッチ3-2の物理ポート33-2-p3に接続しており、物理ポート83-p4は、インターネット等の外部通信ネットワークに接続している。物理ポート83-p3には、サーバ装置9が接続する。なお、第3の実施形態では、第1の実施形態と同様に、OpenFlowスイッチ3-1の物理ポート33-1-p2に、通信装置2が接続する。
サーバ装置9は、仮想化環境を提供するアプリケーションプログラムが内部で動作しており、経路設計装置5aからの生成指示信号を受けて、仮想化環境において管理制御装置91を生成する。ここで、管理制御装置91は、通信装置2の制御や管理を行う専用の装置であり、通信装置2の動作の制御、通信装置2から受信するマネジメント用のパケットの処理、通信装置2のエラー処理等を行い、通信装置2との間でマネジメント用の経路を通じてマネジメント用のパケットの送受信を行う。
経路設計装置5bは、転送制御装置4、接続検知装置6、転送規則設定装置7及びサーバ装置9に接続する。経路設計装置5bは、経路設計部52b、指示出力部53b、経路設計情報管理部54a、サーバリソース管理部55及びネットワークリソース管理部(以下「NWリソース管理部」という。)56を備える。
サーバリソース管理部55は、周期的にサーバ装置9にアクセスし、サーバ装置9が仮想化環境において提供可能なCPU(Central Processing Unit)やメモリや仮想化環境において生成する装置に付与するIPアドレス等を含むサーバリソースの最新の使用状態を監視する。サーバリソース管理部55は、サーバリソースの最新の使用状態に基づいて、最新の残りのサーバリソースを検出し、検出した最新の残りのサーバリソースを示す情報を内部の記憶領域に記録する。
サーバリソース管理部55は、サーバリソースの確保要求を示すサーバリソース確保要求信号を受けると、残りのサーバリソースにおいて、要求されるサーバリソースが確保できるか否かを判定し、判定結果を含む応答信号を出力する。サーバリソース管理部55は、サーバリソースが確保できると判定した場合、サーバ装置9において生成する装置に必要となるCPU、メモリ量、IPアドレス等を含むサーバ関連情報を判定結果に含めて応答信号を出力する。
NWリソース管理部56は、周期的にOpenFlowスイッチ3-1,3-2及び自律型転送装置8にアクセスし、OpenFlowスイッチ3-1,3-2が備える物理ポート33-1-p1~33-1-p3,33-2-p1~33-2-p4及び自律型転送装置8が備える物理ポート83-p1~83-p4の各々における使用中の帯域及び使用中のVLAN-IDや、設定されている経路の情報などのネットワークリソースの最新の使用状態を監視する。NWリソース管理部56は、ネットワークリソースの最新の使用状態に基づいて、残りのネットワークリソースを検出し、検出した最新の残りのネットワークリソースを示す情報を内部の記憶領域に記録する。
NWリソース管理部56は、ネットワークリソースの確保要求を示すネットワークリソース確保要求信号を受けると、残りのネットワークリソースにおいて、要求されるネットワークリソースが確保できるか否かを判定し、判定結果を含む応答信号を出力する。
経路設計部52bは、管理制御装置91の生成に必要なサーバリソースの確保の可否をサーバリソース管理部55に要求する。経路設計部52bは、サーバリソース管理部55において管理制御装置91の生成に必要なサーバリソースの確保ができた場合、サーバリソース管理部55が出力するサーバ関連情報に含まれるIPアドレスと、接続検知装置6が生成する接続構成データと、経路設計情報管理部54aが記憶するパケット転送ネットワークの構成データ、経路設計規則データ及び規則判定用データとに基づいて、通信装置2と管理制御装置91とを接続するマネジメント用の経路の候補である経路候補を、優先順位を付けて複数選定する。
経路設計部52bは、優先順位の高い経路候補から順に、ネットワークリソースの確保の可否の判定をNWリソース管理部56に要求する。経路設計部52bは、NWリソース管理部56においてネットワークリソースの確保ができた経路候補をマネジメント用の最適な経路として選定する。経路設計部52bは、マネジメント用の最適な経路を構築する転送規則データをOpenFlowスイッチ3-1,3-2ごとに生成する。経路設計部52bは、マネジメント用の最適な経路を構築する自律転送規則データを生成する。
指示出力部53bは、第2の実施形態の指示出力部53aが備える構成に加えて、以下の構成を備える。指示出力部53bは、経路設計部52bからサーバ関連情報を受けると、サーバ関連情報を含む生成指示信号をサーバ装置9に送信する。
(第3の実施形態のパケット転送システムによる経路設定処理)
図6は、パケット転送システム1bによる最適なマネジメント用の経路を設定する処理の流れを示すフローチャートである。
通信装置2が、OpenFlowスイッチ3-1の物理ポート33-1-p2に接続する。ステップSb1の通信装置2の接続検知処理は、図2のステップS1の処理と同一の手順によって行われる。経路設計部52bは、接続検知装置6から接続構成データを受信すると、管理制御装置91の生成に必要なサーバリソースを確保するため、予め定められる管理制御装置91の構成を示す情報を含むサーバリソースの確保要求信号をサーバリソース管理部55に出力する(ステップSb2)。ここで、管理制御装置91の構成を示す情報とは、例えば、管理制御装置91において動作させるアプリケーションプログラムの容量などを示した情報である。
サーバリソース管理部55は、経路設計部52bからサーバリソース確保要求信号を受けると、サーバリソース確保要求信号に含まれる管理制御装置91の構成を示す情報を参照し、残りのサーバリソースにおいて、管理制御装置91の生成に必要なサーバリソースが確保できるか否かを判定する。サーバリソース管理部55は、サーバリソースの確保ができると判定した場合、サーバリソースの確保ができることを示す判定結果を含む応答信号を経路設計部52bに出力する。なお、サーバリソース管理部55は、サーバリソースが確保できると判定した場合、サーバ装置9において生成する装置に必要となるCPU、メモリ量、IPアドレス等を含むサーバリソースを示したサーバ関連情報を判定結果に含める。
サーバリソース管理部55は、サーバリソースの確保ができないと判定した場合、サーバリソースの確保ができないことを示す判定結果を含む応答信号を経路設計部52bに出力する。
経路設計部52bは、サーバリソース管理部55が出力する応答信号を取り込み、応答信号に含まれる判定結果を参照し、判定結果がサーバリソースの確保ができたことを示しているか否かを判定する(ステップSb3)。経路設計部52bは、判定結果がサーバリソースの確保ができないことを示している場合(ステップSb3、No)、処理を終了する。
一方、経路設計部52bは、判定結果がサーバリソースの確保ができることを示している場合(ステップSb3、Yes)、判定結果に含まれるサーバ関連情報を読み出す。経路設計部52bは、経路設計情報管理部54aが内部の記憶領域に記憶させているパケット転送ネットワークの構成データと、経路設計規則データと、規則判定用データとを読み出す。経路設計部52bは、サーバ関連情報に含まれるIPアドレスと、接続構成データと、パケット転送ネットワークの構成データとに基づいて、通信装置2と管理制御装置91とを接続する経路を算出する。経路設計部52bは、算出した経路と、経路設計規則データと、規則判定用データとに基づいて、通信装置2と管理制御装置91とを接続するマネジメント用の経路の候補である経路候補を、優先順位を付けて複数選定する(ステップSb4)。
経路設計部52bは、選定した複数の経路候補のネットワークリソースが確保可能かを判定するために、優先順位の高い経路候補から順に、経路候補の経路の構成を示す経路候補データを含むネットワークリソース確保要求信号をNWリソース管理部56に出力する(ステップSb5)。
NWリソース管理部56は、経路設計部52bからネットワークリソース確保要求信号を受けると、残りのネットワークリソースにおいて、ネットワークリソース確保要求信号に含まれている経路候補データを参照し、経路候補データに示される経路のネットワークリソースを確保できるか否かを判定する。NWリソース管理部56は、ネットワークリソースの確保ができると判定した場合、ネットワークリソースの確保ができることを示す判定結果を含む応答信号を経路設計部52bに出力する。NWリソース管理部56は、ネットワークリソースの確保ができないと判定した場合、ネットワークリソースの確保ができないことを示す判定結果を含む応答信号を経路設計部52bに出力する。
経路設計部52bは、NWリソース管理部56が出力する応答信号を取り込む。経路設計部52bは、応答信号に含まれる判定結果を参照し、判定結果がネットワークリソースの確保ができたことを示しているか否かを判定する(ステップSb6)。経路設計部52bは、判定結果がネットワークリソースの確保ができないことを示していると判定した場合(ステップSb6、No)、次に、他の経路候補が存在するか否かを判定する(ステップSb7)。経路設計部52bは、他の経路候補が存在しないと判定した場合(ステップSb7、No)、処理を終了する。
一方、経路設計部52bは、他の経路候補が存在すると判定した場合(ステップSb7、Yes)、処理をステップSb5に戻し、ステップSb5の処理において、次に優先順位の高い経路候補の経路の構成を示す経路候補データを含むネットワークリソース確保要求信号をNWリソース管理部56に出力する。
ステップSb6において、経路設計部52bは、判定結果がネットワークリソースの確保ができることを示していると判定した場合(ステップSb6、Yes)、ネットワークリソースの確保ができた経路候補をマネジメント用の最適な経路として選定する。ここでは、図5に示すOpenFlowスイッチ3-1の物理ポート33-1-p2から物理ポート33-1-p3を経由し、OpenFlowスイッチ3-2の物理ポート33-2-p2から物理ポート33-2-p3を経由し、更に、自律型転送装置8の物理ポート83-p2から物理ポート83-p3を経由してサーバ装置9に至る経路100bを、ネットワークリソースが確保できた最適なマネジメント用の経路として選定したとする。
経路設計部52bは、管理制御装置91の生成を開始するため、サーバリソース管理部55から受けた判定結果から読み出したサーバ関連情報を指示出力部53bに出力する。指示出力部53bは、サーバ関連情報を含む生成指示信号をサーバ装置9に送信する。
サーバ装置9は、指示出力部53bから生成指示信号を受信すると、生成指示信号に含まれるサーバ関連情報に基づいて、仮想化環境において管理制御装置91を生成する処理を開始する(ステップSb8)。サーバ装置9は、管理制御装置91の生成に成功した場合、生成が成功したことを示す生成完了の通知信号を経路設計部52bに送信する。これに対して、サーバ装置9は、例えば、当該処理の途中でエラーが生じて管理制御装置91の生成ができなかった場合、生成ができなかったことを示す生成不可の通知信号を経路設計部52bに送信する。
経路設計部52bは、サーバ装置9から受信した通知信号に基づいて、管理制御装置91の生成が成功したか否かを判定する(ステップSb9)。経路設計部52bは、受信した通知信号が、生成不可の通知信号である場合、管理制御装置91の生成が成功しなかったと判定し(ステップSb9、No)、処理を終了する。
一方、経路設計部52bは、受信した通知信号が、生成完了の通知信号である場合、管理制御装置91の生成が成功したと判定し(ステップSb9、Yes)、次に、マネジメント用の経路100bに基づいて、OpenFlowスイッチ3-1,3-2の各々に対する転送規則データを生成する。経路設計部52bは、マネジメント用の経路100bに基づいて、自律型転送装置8に対する自律転送規則データを生成する(ステップSb10)。
ステップSb11は、図4に示したステップSa4-1,Sa5-1,Sa4-2,Sa5-2と同一の処理が、経路設計部52b、指示出力部53b、転送規則設定部42、転送処理部31-1,31-2及び転送規則設定装置7によって行われる。これにより、経路設計部52bがマネジメント用の経路100bに基づいて生成した転送規則データと自律転送規則データとに基づいて、転送規則記憶部32-1,32-2が記憶する転送規則データと、自律転送規則データとが更新され、マネジメント用の経路100bが設定される。管理制御装置91は、マネジメント用の経路100bを通じて、通信装置2との間でマネジメント用のパケットの送受信を行うことが可能になる。
なお、上記の第3の実施形態の構成では、マネジメント用の経路100bを設定するようにしているが、同様の手順により、経路設計部52bが、通信装置2に対するデータ用の最適な経路を設定するようにしてもよい。なお、データ用の最適な経路を設定する際には、管理制御装置91の生成に関する処理は行わなくてよいので、図6に示すフローチャートにおいてステップSb2,Sb3,Sb8,Sb9の処理は行われないことになる。
例えば、図5において、自律型転送装置8の物理ポート83-p4に接続する外部通信ネットワークのトラフィック量よりも、OpenFlowスイッチ3-2の物理ポート33-2-p4に接続する外部通信ネットワークの方のトラフィック量が少ないとする。
この場合、経路設計部52bは、ステップSb4の処理において、符号101bで示されるOpenFlowスイッチ3-2の物理ポート33-2-p4を経由して外部通信ネットワークに到達する経路候補の優先度を、自律型転送装置8の物理ポート83-p4を経由して外部通信ネットワークに到達する経路候補よりも高くしておく。ステップSb6の処理において、経路設計部52bは、経路候補101bのネットワークリソースが確保できたと判定した場合、経路候補101bをデータ用の最適な経路101bとして選定する。
経路設計部52bは、ステップSb10において、データ用の経路101bに基づいて、OpenFlowスイッチ3-1,3-2の各々に対する転送規則データと、自律型転送装置8に対する自律転送規則データとを生成する。ステップSb11と同様の手順を経て、経路設計部52bが生成したデータ用の経路101bの転送規則データと自律転送規則データとに基づいて、転送規則記憶部32-1,32-2が記憶する転送規則データと、自律転送規則データとが更新される。これにより、データ用の経路101bが設定されることになる。
上記の第3の実施形態の構成では、通信装置2に対して専用の管理制御装置91をサーバ装置9に生成することができる。接続構成データと、管理制御装置91に対応するサーバ関連情報とに基づいて、通信装置2と、管理制御装置91の間の複数の経路候補を算出することができる。算出した複数の経路候補のうちネットワークリソースが確保できる経路候補をマネジメント用の最適な経路100bとして選定することができる。
そのため、通信装置2にIPアドレスやMACアドレスが割り当てられていない場合であっても、通信装置2においてDHCPクライアント等のクライアントアプリケーションプログラムが動作していない場合であっても、通信装置2のOpenFlowスイッチ3-1,3-2への接続を契機に、人手によらず自動的に、通信装置2に対する専用の管理制御装置91を生成して、通信装置2と管理制御装置91の間のインバンド・マネジメントネットワークを構築することが可能となる。
上記の第3の実施形態において、複数の通信装置2が、OpenFlowスイッチ3-1,3-2等に接続した場合には、図6に示した処理が、並列に行われることになる。その際、ステップSb3の処理において、サーバリソース管理部55において、一部の通信装置2については、サーバリソースの確保ができるが、残りの通信装置2については、サーバリソースの確保ができないような場合が生じ得る。このような場合、一部の通信装置2に対しては専用の管理制御装置91が生成され、残りの通信装置2に対しては管理制御装置91が生成されないことになる。
上記の第3の実施形態では、図6に示した処理において、通信装置2に対応する管理制御装置91を生成する処理が行われることになっているが、サーバ装置9に既に管理制御装置91が生成されている場合や、仮想化環境ではなく、1台の物理的に存在するサーバ装置が管理制御装置91として起動している場合も想定される。このような場合、サーバリソース管理部55は、既に存在する管理制御装置91のIPアドレスを含むサーバ関連情報を生成し、生成したサーバ関連情報をサーバリソースの確保ができることを示す判定結果に含めて経路設計部52bに出力することになり、ステップSb2,Sb3の処理は行われないことになる。
図5に示す第3の実施形態のパケット転送システム1bにおいて、サーバ装置9を、例えば、OpenFlowスイッチ3-2の物理ポート33-2-p3に接続し、自律型転送装置8と、転送規則設定装置7を備えない構成としてもよい。
図5に示す第3の実施形態のパケット転送システム1bにおいて、自律型転送装置8の物理ポート83-p3と、OpenFlowスイッチ3-1の物理ポート33-1-p2を接続し、サーバ装置9をOpenFlowスイッチ3-2の物理ポート33-2-p3に接続し、通信装置2を自律型転送装置8の物理ポート83-p2に接続し、第2の実施形態に示した通信装置2の接続の検知の処理を適用するようにしてもよい。このようにすることで、通信装置2の自律型転送装置8への接続を契機に、人手によらず自動的に、通信装置2に対する専用の管理制御装置91を生成して、通信装置2と管理制御装置91の間のインバンド・マネジメントネットワークを構築することが可能になる。
(第4の実施形態)
図7は、第4の実施形態におけるパケット転送システム1cの構成を示すブロック図である。第4の実施形態において、第1から第3の実施形態と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。
パケット転送システム1cは、通信装置2、OpenFlowスイッチ3-1,3-2、転送制御装置4、経路設計装置5c、接続検知装置6、転送規則設定装置7、自律型転送装置8及びサーバ装置9を備える。なお、図7においても、図1、図3及び図5と同様に、各装置間の実線の接続線は、物理回線により直接接続している状態を示しており、破線の接続線は、物理回線により直接接続しているか、または、専用線等の通信ネットワークを介して接続している状態を示している。また、図7では、OpenFlowスイッチ3-1が備える複数の物理ポートの中の4つの物理ポート33-1-p1~33-1-p4を示している。
経路設計装置5cは、経路設計部53c、指示出力部53b、経路設計情報管理部54a、サーバリソース管理部55、NWリソース管理部56及びサービス記憶部57を備える。
サービス記憶部57は、図8に示すテーブルを予め記憶する。図8に示すテーブルは、「装置識別情報」、「物理ポート識別情報」、「通信サービスの提供可否」、「処理内容」の項目を有する。「装置識別情報」の項目には、通信装置2が接続する可能性があるOpenFlowスイッチ3-1,3-2及び自律型転送装置8の装置識別情報が書き込まれる。「物理ポート識別情報」の項目には、OpenFlowスイッチ3-1等の転送装置が備える物理ポート33-1-p2等の物理ポートの識別情報が書き込まれる。
「通信サービスの提供可否」の項目には、通信サービスを提供するか否かを示す情報が書き込まれる。通信サービスを提供しない場合「提供無し」が書き込まれる。通信サービスを提供する場合、通信サービスの種別を示す情報、例えば「通信サービスA」等の情報が書き込まれる。
「通信サービスの提供可否」の項目に続く「処理内容」の項目には、通信サービスを提供する場合、または、通信サービスを提供しない場合に適用される処理の内容を示す情報が書き込まれる。「処理内容」の項目は、更に、「アクション」と「パラメータ」のサブ項目を有している。「アクション」の項目には、実施する処理の内容が書き込まれており、「パラメータ」の項目には、対応する「アクション」の項目に示される処理において適用されるパラメータが書き込まれる。なお、「アクション」や「パラメータ」の項目は、必須の項目ではなく、処理を実施しない場合や、適用するパラメータが存在しない場合「-」が書き込まれる。
経路設計部52cは、第3の実施形態の経路設計部52bが備える構成に加えて、以下の構成を備える。すなわち、経路設計部52cは、例えば、図6に示したステップSb1の処理において、接続検知装置6から接続構成データを受信すると、接続構成データに含まれる装置識別情報と、物理ポート識別情報を読み出す。
経路設計部52cは、サービス記憶部57のテーブルを参照し、読み出した装置識別情報と物理ポート識別情報の組み合わせに対応するレコードを検出する。経路設計部52cは、検出したレコードの「通信サービスの提供可否」の項目を参照する。
例えば、通信装置2が、OpenFlowスイッチ3-1の物理ポート33-1-p4に接続したとする。この場合、経路設計部52cが接続検知装置6から受信する接続構成データには、OpenFlowスイッチ3-1の装置識別情報と、物理ポート33-1-p4の物理ポート識別情報が含まれることになる。したがって、経路設計部52cは、図8に示すテーブルの2行目のレコードを検出する。2行目のレコードの「通信サービス種別」には、「提供無し」が書き込まれているため、経路設計部52cは、マネジメント用の経路の設定を行わないと判定し、図6のステップSb2以降の処理を行わない。2行目のレコードの「アクション」には、「転送制御装置への警報」が書き込まれている。そのため、経路設計部52cは、転送制御装置4に警報を通知する信号を送信する。
これに対して、例えば、通信装置2がOpenFlowスイッチ3-1の物理ポート33-1-p2に接続したとする。この場合、経路設計部52cが接続検知装置6から受信する接続構成データには、OpenFlowスイッチ3-1の装置識別情報と、物理ポート33-1-p2の物理ポート識別情報が含まれることになる。したがって、経路設計部52cは、図8に示すテーブルの1行目のレコードを検出する。1行目のレコードの「通信サービス種別」には、「通信サービスA」が書き込まれており、「アクション」には、「通信装置への最低割当帯域の設定」が書き込まれている。そのため、経路設計部52cは、対象となっている通信装置(例えば、通信装置2)に対して最低割当帯域として「100Mbps」を設定する。
すなわち、第4実施形態の構成では、装置識別情報と、物理ポート識別情報の組み合わせに通信サービスの提供可否や処理内容が紐づけられている。そのため、通信サービスを提供する場合には、通信装置2に対して、定められた帯域割当の設定の処理を行うことが可能となる。一方で、通信サービスを提供しない場合には、転送制御装置4への警報等の処理を行うことが可能となる。
したがって、第4の実施形態については、以下のようなバリエーションを想定することができる。例えば、第1及び第2の実施形態の各々におけるマネジメント用の最適な経路を設定する処理の構成に対して、第4の実施形態の構成を付加することで、通信装置2に対する帯域割当の設定が可能になる。
サービス記憶部57のテーブルに、通信装置2と転送制御装置4との間のマネジメント用の最適な経路の設定用のレコードと、通信装置2と管理制御装置91との間のマネジメント用の最適な経路の設定用のレコードとを定義しておく。そして、第1及び第3の実施形態を組み合わせた構成において、経路設計部52,52cを組み合わせた経路設計部が、接続検知装置6から接続構成データを受信した際に、サービス記憶部57を参照することで、マネジメント用の最適な経路を転送制御装置4に対して設定する処理と、管理制御装置91に対して設定する処理を、通信装置2の接続先に応じて分岐させるような処理を行うことが可能である。なお、同様の分岐処理は、サービス記憶部57のテーブルの「装置識別情報」と「物理ポート識別情報」の項目に自律型転送装置8の装置識別情報と、物理ポート識別情報を定義することにより、第2及び第3の実施形態を組み合わせた構成に対しても適用することができる。
サービス記憶部57のテーブルに対して、更に、データ用の最適な経路を設定する処理内容を定義しておくことにより、マネジメント用の最適な経路の設定の処理と、データ用の最適な経路の設定の処理とを分岐して行うような処理も可能である。
上記の第1から第4の実施形態では、2つのOpenFlowスイッチ3-1,3-2を備えるようにしているが、3つ以上のOpenFlowスイッチ3-1,3-2を備えていてもよい。上記の第2から第4の実施形態では、1つの自律型転送装置8を備えるようにしているが、2つ以上の自律型転送装置8が備えられていてもよい。
上記の第1から第4の実施形態において、通信装置2は、例えば、モジュール型の通信装置であり、IPアドレスやMACアドレスを割り当てることができない通信装置であってもよい。ただし、転送されるパケットが通信装置2に到達するためには、少なくとも通信装置2が接続するOpenFlowスイッチ3-1の転送規則、または、自律型転送装置8の自律転送規則において、通信装置2が接続した物理ポート33-1-p2,83-p2に対して、通信装置2のIPアドレス、または、MACアドレスが予め関連付けられている必要がある。第3及び第4の実施形態においては、管理制御装置91が、通信装置2に対してパケットを送信するために、通信装置2のIPアドレスが管理制御装置91に登録されている必要がある。通信装置2が、管理制御装置91にパケットを送信する場合には、管理制御装置91のIPアドレスが予め通信装置2に登録されている必要がある。
上記の第1から第4の実施形態では、接続検知装置6が単体の装置として備えられるようにしているが、接続検知装置6が転送制御装置4に備えられているような構成、すなわち接続検知装置6の構成を実現するアプリケーションプログラムを転送制御装置4において実行させ、転送制御装置4と接続検知装置6とが一体となるような構成としてもよい。
上記の第1から第4の実施形態の経路設計装置5,5a,5b,5c各々が、接続検知装置6と共に転送制御装置4に備えられているような構成、すなわち経路設計装置5,5a,5b,5cの各々の構成を実現するアプリケーションプログラムと、接続検知装置6の構成を実現するアプリケーションプログラムとを転送制御装置4において実行させ、経路設計装置5,5a,5b,5cの各々と、転送制御装置4と、接続検知装置6と、が一体となるような構成としてもよい。
上記の第2から第4の実施形態の経路設計装置5a,5b,5cは、転送制御装置4以外の転送規則設定装置7を制御しており、第3及び第4の実施形態の経路設計装置5b,5cは、更に、サーバ装置9を制御する装置であり、いわゆるオーケストレータと呼ばれる装置に相当するものである。
上記の第1から第4の実施形態において、転送制御装置4は、例えば、OpenFlowコントローラであり、OpenFlowスイッチ3-1,3-2は、例えば、OpenFlowスイッチであるとしているが、OpenFlow以外のSDN(Software Defined Networking)のプロトコルが適用されていてもよい。
上述した実施形態における通信装置2、OpenFlowスイッチ3-1,3-2、転送制御装置4、経路設計装置5,5a,5b,5c、接続検知装置6、転送規則設定装置7、自律型転送装置8、サーバ装置9、管理制御装置91をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。