以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の通信システムの第1の実施形態の例を示すブロック図である。第1の実施形態の通信システムは、経路制御装置10と、通信ネットワーク1に属するパケット転送装置20〜23とを備える。図1では、4台のパケット転送装置20〜23を図示しているが、図1は通信システムの例示であり、パケット転送装置の台数やトポロジーは、図1に示す例に限定されない。図1に示す例では、通信端末50,52,53が、それぞれ、パケット転送装置20,22,23に接続され、各パケット転送装置は、通信端末間で送受信されるパケットを転送する。なお、通信端末の台数や、通信端末が通信ネットワーク1のどのパケット転送装置に接続されるのかに関しても、特に限定されない。
各パケット転送装置20〜23は、経路制御装置10の制御により、受信したパケットを次のノードに転送する。具体的には、各パケット転送装置20〜23は、経路制御装置10が設定するパケット転送ルールに従って、受信したパケットに対する処理を行う。パケット転送ルールは、パケット転送装置がパケットを受信したときにおけるパケット転送装置の動作を定めた情報である。
パケット転送ルールは、フローを識別する情報である分類情報と、分類情報によって特定されるフローに属すると判定されたパケットに対して行うアクション情報とを含む。分類情報は、例えば、「宛先MACアドレスおよび宛先IPアドレスが通信端末50のMACアドレスおよびIPアドレスと一致している」等のような、フローに属するパケットが満たす要件として表されるが、分類情報の表現態様は特に限定されない。また、アクション情報の内容の例として、例えば、「受信したパケットを特定のポートに転送する」、「フラッディングする」、「廃棄する」等が挙げられるが、アクション情報の内容はこれらに限定されない。また、アクション情報には、タイマー値が含まれる。タイマー値は、パケット転送ルールの有効期間を定めるための値である。
パケット転送ルールは、少なくとも、分類情報と、アクション情報と、タイマー値とを含むが、さらに他の情報を含んでいてもよい。本例では、アクション情報にタイマー値を含める場合を例にして説明するが、タイマー値はアクション情報に含まれていなくても、パケット転送ルールに含まれていればよい。
経路制御装置10は、フローに応じた分類情報およびアクション情報を含むパケット転送ルールを生成し、そのフローの通信経路上のパケット転送装置にそのパケット転送ルールを設定する。ただし、経路制御装置10は、通信経路を複数の区間に分割し、区間毎に異なるタイマー値を定める。従って、通信経路上のパケット転送装置に設定されるパケット転送ルールのアクション情報内に含まれるタイマー値は、パケット転送装置が属している区間によって異なる。
各パケット転送装置20〜23は、設定されたパケット転送ルールのアクション情報に含まれるタイマー値を時間経過とともに減少させ(換言すれば、カウントダウンし)、タイマー値が0になると、パケット転送ルールを削除する。以下の説明では、各パケット転送装置20〜23が、パケット転送ルール内の分類情報に適合するパケットを受信したときに、そのパケット転送ルールのタイマー値を初期値にリセットする場合を例にして説明するが、タイマー値をリセットせずにカウントダウンを継続する構成であってもよい。
パケット転送装置20〜23は、例えば、オープンフローにおけるフロースイッチである。また、経路制御装置10は、例えば、オープンフローにおける経路制御装置である。また、パケット転送ルールは、例えば、オープンフローにおけるフローエントリ情報である。
図2は、第1の実施形態における経路制御装置10の構成例を示すブロック図である。経路制御装置10は、トポロジー情報記憶手段31と、トポロジー情報登録手段32と、通信端末位置管理手段33と、パケット転送ルール生成手段34と、区間決定用情報記憶手段35と、経路計算手段36と、ルール設定内容記憶手段37と、パケット転送装置管理手段38とを備える。
トポロジー情報記憶手段31は、パケット転送装置群が形成するネットワークトポロジーを表す情報を記憶する記憶装置である。
トポロジー情報登録手段32は、パケット転送装置群が形成するネットワークトポロジーを表す情報をトポロジー情報記憶手段31に記憶させる。例えば、トポロジー情報登録手段32は、個々のパケット転送装置から、それぞれ、どのパケット転送装置に接続されているのかを示す情報を受信し、その情報をトポロジー情報登録手段32に記憶させる。個々のパケット転送装置が他のどのパケット転送装置に接続されているかを示す情報の集合が、ネットワークトポロジーを表す情報となる。以下、この情報を単にトポロジー情報と記す。
通信端末位置管理手段33は、通信ネットワーク1に接続している各通信端末がどのパケット転送装置のどのポートに接続されているのかを管理する。例えば、通信端末に接続されたパケット転送装置が、通信端末がDHCP(Dynamic Host Configuration protocol ) Requestメッセージ等の何かしらのパケットを送信した際に、その通信端末がパケット転送装置のどのポートに接続されているのかを経路制御装置10に送信し、通信端末位置管理手段33は、それらの情報を保持しておけばよい。
経路計算手段36は、フローの通信経路を計算する。
区間決定用情報記憶手段35は、経路計算手段36によって計算された通信経路を複数の区間に分割する際に、どのように通信経路を分割するのかを決定するための情報を記憶する。以下、この情報を、区間決定用情報と記す。
区間決定用情報の態様は、特に限定されない。例えば、経路制御装置10は、個々のパケット転送装置から統計情報(例えば、フロー毎に受信したパケット数等)を受信する構成である場合には、その統計情報に基づいて通信経路を複数の区間に分割することができる。この場合、例えば、パケット転送ルール生成手段34が、各パケット転送装置から受信した統計情報を区間決定用情報として区間決定用情報記憶手段35に記憶させておき、通信経路を分割する際に、その統計情報を参照してもよい。なお、各パケット転送装置は、統計情報をフロー単位やポート単位に作成してもよい。
また、通信ネットワーク1がモバイルネットワークである場合等には、予めアンカーノード(通信経路の宛先(終端)の通信端末が移動するときの通信経路の切り替えポイント)が定められる。例えば、通信経路における分岐点となるパケット転送装置がアンカーノードとして定められる。この場合、どのパケット転送装置がアンカーノードに該当しているかを示す情報を区間決定用情報として区間決定用情報記憶手段35に予め記憶させておけばよい。そして、パケット転送ルール生成手段34は、通信経路を分割する際に、その区間決定用情報を参照して、アンカーノードに該当するパケット転送装置で区間を区切ることにより、通信経路を分割してもよい。
ここでは、区間決定用情報の例として、統計情報や、「どのパケット転送装置がアンカーノードに該当しているかを示す情報」を例示したが、区間決定用情報はこれらの情報に限定されず、他の情報であってもよい。
パケット転送ルール生成手段34は、分類情報とアクション情報とを決定し、その分類情報およびアクション情報を含むパケット転送ルールを生成する。このとき、分類情報によって特定されるフローの通信経路を、区間決定用情報に基づいて複数の区間に分割し、区間毎に、区間内のパケット転送装置に対して定めるタイマー値を変化させる。
パケット転送ルール生成手段34は、通信経路上の各パケット転送装置に対してパケット転送ルールを生成する。ここで、パケット転送ルール生成手段34は、同一フローの通信経路上の各パケット転送装置に対しては、分類情報を同じ情報として定める。ただし、アクション情報は、パケット転送装置毎に異なるように定めてもよい。また、タイマー値は、上記のように、パケット転送装置がどの区間に属しているかにより変化させる。
ただし、パケット転送ルール生成手段34は、分類情報によって特定されるフローの通信経路において、その分類情報と同一の分類情報を含むパケット転送ルールが設定されたパケット転送装置に対しては、パケット転送ルールを生成しない。
ルール設定内容記憶手段37は、どのパケット転送装置にどのようなパケット転送ルールを設定したのかを示す情報を記憶する記憶装置である。ルール設定内容記憶手段37により、どのパケット転送装置にどのようなパケット転送ルールを設定したのかを管理することができる。
パケット転送装置管理手段38は、各パケット転送装置20〜23を管理する。具体的には、パケット転送装置管理手段38は、パケット転送ルール生成手段34に生成されたパケット転送ルールをパケット転送装置に設定する処理等を行う。そして、パケット転送装置管理手段38は、パケット転送ルールをパケット転送装置に設定したときに、どのパケット転送装置にどのようなパケット転送ルールを設定したのかをルール設定内容記憶手段37に記憶させる。
トポロジー情報登録手段32、通信端末位置管理手段33、パケット転送ルール生成手段34、経路計算手段36、パケット転送装置管理手段38は、例えば、経路制御用プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず)が経路制御用プログラムを記憶し、CPUがそのプログラムを読み込み、プログラムに従って、トポロジー情報登録手段32、通信端末位置管理手段33、パケット転送ルール生成手段34、経路計算手段36およびパケット転送装置管理手段38として動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
図3は、第1の実施形態におけるパケット転送装置の構成例を示すブロック図である。図3では、図1におけるパケット転送装置22を例にして説明するが、他のパケット転送装置20,21,23に関しても同様の構成である。パケット転送装置22は、ルールテーブル記憶手段41と、ルール管理手段42と、フロー特定手段43と、アクション実行手段44とを備える。
ルールテーブル記憶手段41は、パケット転送ルールを記憶する記憶装置である。フローが異なれば、異なるパケット転送ルールが設定されるので、ルールテーブル記憶手段41に記憶されるパケット転送ルールは1つとは限らない。ルールテーブル記憶手段41に記憶されるパケット転送ルールの集合をパケット転送ルールテーブルと記す。
ルール管理手段42は、各パケット転送ルールを管理する。例えば、経路制御装置10のパケット転送装置管理手段38(図2参照)がパケット転送装置にパケット転送ルールを設定する場合、設定指示とともにパケット転送ルールをパケット転送装置に送信する。ルール管理手段42は、経路制御装置10から受信したパケット転送ルールを、この指示に応じてルールテーブル記憶手段41に記憶させる。
また、ルール管理手段42は、ルールテーブル記憶手段41に記憶されている各パケット転送ルールで指定されているタイマー値を時間経過とともに減少させる。すなわち、ルール管理手段42は、タイマー値をカウントダウンする。ただし、パケット転送ルール内の分類情報に適合するパケット(すなわち、分類情報が示すフローに属するパケット)をパケット転送装置22が受信したときには、ルール管理手段42は、その分類情報を含むパケット転送ルールのタイマー値を初期値にリセットする。
ルール管理手段42は、タイマー値が0になったならば、そのタイマー値を含むパケット転送ルールをルールテーブル記憶手段41から削除し、その旨の情報(以下、パケット転送ルール削除通知と記す。)を経路制御装置10に送信する。
フロー特定手段43は、他のノード(例えば、通信端末や他のパケット転送装置)からパケットを受信したときに、そのパケットに適合する分類情報を含むパケット転送ルールを、ルールテーブル記憶手段41に記憶されているパケット転送ルールテーブルから検索する。検索に失敗したということは、記憶済みのパケット転送ルールに対応するフロー以外の新たなフローに属するパケットを受信したことを意味する。この場合、フロー特定手段43は、新規フローを検出したことを示す通知(新規フロー検出通知)を経路制御装置10に送信する。このとき、フロー特定手段43は、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を新規フロー検出通知に含める。ここで、新規フロー検出通知に含められる、フローの通信経路を特定可能な情報および分類情報を作成可能な情報について説明する。
フローの通信経路を特定可能な情報は、受信したパケットが属している新規フローの通信経路を特定可能な情報である。フローの通信経路を特定可能な情報の例として、通信経路の両端点となる送信元および宛先の通信端末のアドレス情報が挙げられる。ただし、パケットが通信ネットワーク1(図1参照)のゲートウェイ(図示略)を介して、他の通信ネットワークに送られる場合には、通信経路の端点となる送信元の通信端末のアドレス情報があれば、ゲートウェイまでの通信経路を特定することができる。従って、通信経路の両端点となる送信元および宛先の通信端末のアドレス情報は、フローの通信経路を特定可能な情報の一例であり、宛先までの経路の態様によっては、宛先となる通信端末のアドレス情報が不要な場合もある。
分類情報として何を用いるかは、フローの識別粒度に応じて予め定めておけばよい。例えば、送信元および送信先のMACアドレス、IPアドレス、送信元ポート番号、送信先ポート番号等の種々の情報の組み合わせでフローを識別する場合、パケット転送ルール生成手段34は、パケットから特定されるそれらの情報を分類情報として定めればよい。あるいは、宛先ポート番号のみ、送信元ポート番号のみ等のように粗い粒度でフローを識別する場合には、パケット転送ルール生成手段34は、パケットから特定されるそれらの情報を分類情報として定めればよい。分類情報を作成可能な情報は、パケット転送ルール生成手段34によって分類情報とされる情報が包含されていればよい。
例えば、Ethernet(登録商標)およびIP(Internet Protocol )を前提とする場合には、フロー特定手段43は、分類情報を作成可能な情報として、例えば、“送信元MACアドレス”、“宛先MACアドレス”、“Ethernet Type”、“VLAN ID”、“VLAN Priority”、“送信元IPアドレス”、“宛先IPアドレス”、“IPプロトコル”、“送信元ポート番号”、“宛先ポート番号”を送信してもよい。さらに、パケット転送装置がパケットを受信したパケット受信ポート番号も分類情報を作成可能な情報に含めてもよい。ただし、ここに挙げた項目は、分類情報を作成可能な情報の例示であり、分類情報を作成可能な情報は、パケット転送ルール生成手段34が分類情報として定める項目を含んでいればよい。また、フロー特定手段43は、受信したパケットそのものを、分類情報を作成可能な情報として、新規フロー検出通知に含めて、経路制御装置10に送信してもよい。
また、フローの通信経路を特定可能な情報および分類情報を作成可能な情報とが、重複してもよい。例えば、送信元や宛先の通信端末のアドレス情報が、フローの通信経路を特定可能な情報および分類情報を作成可能な情報の両方として用いられてもよい。
アクション実行手段44は、フロー特定手段43がパケット転送ルールの検索に成功した場合、受信したパケットに対して、そのパケット転送ルールに含まれるアクション情報が示す処理を実行する。
ルール管理手段42、フロー特定手段43およびアクション実行手段44は、例えば、パケット転送プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず。)がパケット転送プログラムを記憶し、CPUがそのプログラムを読み込み、プログラムに従って、ルール管理手段42、フロー特定手段43およびアクション実行手段44として動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
次に、経路制御装置10の動作について説明する。
図4は、経路制御装置10がパケット転送装置にパケット転送ルールを設定する動作の処理経過の例を示すフローチャートである。
ここでは、経路制御装置10が、いずれかのパケット転送装置から新規フロー検出通知を受信したときにパケット転送ルールの設定を行う場合を例にして説明する。ただし、第1の実施形態では、経路制御装置10は、図4に例示するパケット転送ルール設定処理を、パケット転送装置以外の装置からの命令をトリガとして開始してもよい。例えば、Webサーバが通信端末にパケットを送信する場合、Webサーバが新規フロー検出通知に相当する情報(具体的には、フローの通信経路を特定可能な情報および分類情報を作成可能な情報)を経路制御装置10に送信し、経路制御装置10は、その情報を受信したときに図4に例示する処理を開始してもよい。また、他の例として、通信端末がSIP(Session Initiation Protocol )シグナリングを必要とするサービスを開始する際に、SIPサーバが新規フロー検出通知に相当する情報を経路制御装置10に送信し、経路制御装置10がその情報を受信したときに図4に例示する処理を開始する場合等が挙げられる。
経路制御装置が新規フロー検出通知を受信したということは、経路制御装置が新たなパケット転送ルールの生成を要求されたということを意味する。
経路制御装置10がパケット転送装置から新規フロー検出通知を受信すると、パケット転送ルール生成手段34は、新規フロー検出通知に含まれている「分類情報を作成可能な情報」を用いて、分類情報を決定する(ステップS1)。例えば、分類情報を作成可能な情報に、“送信元MACアドレス”、“宛先MACアドレス”、“Ethernet Type”、“VLAN ID”、“VLAN Priority”、“送信元IPアドレス”、“宛先IPアドレス”、“IPプロトコル”、“送信元ポート番号”、“宛先ポート番号”、“パケット転送装置におけるパケット受信ポート番号”が含まれている場合、パケット転送ルール生成手段34は、その一部または全部を分類情報として決定すればよい。どのような項目を分類情報とするかは、例えば、ネットワーク管理者によって予め定められている。ステップS1で決定された分類情報によってフローが識別されることになる。例えば、宛先MACアドレスおよび宛先IPアドレスが分類情報とされた場合、宛先MACアドレスおよび宛先IPアドレスがその分類情報に一致するパケットが、分類情報によって識別されるフローに属すると判定されることになる。
次に、通信端末位置管理手段32が、宛先となる通信端末の位置確認を行う(ステップS2)。通信端末位置管理手段32は、例えば、新規フロー検出通知に含まれる、宛先となる通信端末のアドレス情報を元に、その通信端末が、どのパケット転送装置のどのポートに接続されているのかを判断すればよい。また、例えば、Webサーバ等が新規フロー検出通知に相当する情報を経路制御装置10に送信する場合には、通信端末位置管理手段32は、その情報に含まれる、宛先となる通信端末のアドレス情報および送信元の通信端末のアドレス情報を元に、各通信端末が、どのパケット転送装置のどのポートに接続されているのかを判断すればよい。
続いて、経路計算手段36は、トポロジー情報および通信端末位置管理手段32による位置確認結果に基づいて、送信元の通信端末から宛先の通信端末への通信経路を計算する(ステップS3)。経路計算手段36は、例えば、送信元の通信端末から宛先の通信端末への最短の通信経路を計算すればよい。ただし、通信経路の計算方法は、特に限定されない。
次に、パケット転送ルール生成手段34は、ステップS3で計算された通信経路を複数の区間に分割して、各区間を決定する(ステップS4)。パケット転送ルール生成手段34は、区間決定用情報記憶手段35に記憶された区間決定用情報を参照して、通信経路を分割すればよい。また、通信経路の分割数は、2つであっても、3つ以上であってもよい。
例えば、各パケット転送装置20〜23が、他のノード(通信端末や他のパケット転送装置)受信したパケットに関して、パケットが属するフロー毎(換言すれば、パケットに合致する分類情報を含むパケット転送ルール毎)に、パケットの受信数をカウントし、そのカウント結果を定期的に統計情報として経路制御装置10に送信する構成であるとする。各パケット転送装置20〜23は、例えば、定期的に統計情報を経路制御装置10に送信すればよい。パケット転送ルール生成手段34は、この統計情報を受信すると、区間決定用情報記憶手段35に記憶させておく。パケット転送ルール生成手段34は、ステップS4において、通信経路上のパケット転送装置の統計情報(受信パケットのカウント結果)を参照して、通信経路の各区間を決定してもよい。すなわち、統計情報の値がある値よりも大きい区間と、その値より小さい区間とに通信経路を分割してもよい。
また、例えば、区間決定用情報として、どのパケット転送装置がアンカーノードに該当しているかを示す情報が予め記憶されている場合には、アンカーノードに該当するパケット転送装置で区間を区切って、通信経路を分割してもよい。
上記の処理は、通信経路を分割して区間を決定する処理の例であり、区間を決定する処理は、上記の例に限定されない。
区間決定後、パケット転送ルール生成手段34は、区間毎に、パケット転送装置に設定するタイマー値を変化させて、通信経路上の各パケット装置に設定するタイマー値を決定する(ステップS5)。パケット転送ルール生成手段34は、例えば、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、各区間のタイマー値を決定してもよい。ただし、これは、タイマー値決定方法の一例であり、他の方法で各区間のタイマー値を決定してもよい。以下の説明では、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるようにタイマー値を決定する場合を例にして説明する。
次に、パケット転送ルール生成手段34は、ステップS3で決定された通信経路上のパケット転送装置のうち、ステップS1で決定された分類情報と同じ分類情報を含むパケット転送ルールが設定されていないパケット転送装置を特定する。パケット転送ルール生成手段34は、この特定処理を、ルール設定内容記憶手段37に記憶された情報を参照して行えばよい。そして、パケット転送ルール生成手段34は、通信経路上のパケット転送装置のうち、ステップS1で決定された分類情報と同じ分類情報を含むパケット転送ルールが設定されていない各パケット転送装置に対するアクション情報を決定する。さらに、パケット転送ルール生成手段34は、そのアクション情報に、そのパケット転送装置が属する区間について決定したタイマー値を含め、そのアクション情報およびステップS1で決定した分類情報とを、そのパケット転送装置に設定するパケット転送ルールとして定める(ステップS6)。ただし、パケット転送ルールに、分類情報およびアクション情報以外の情報を含めてもよい。
パケット転送ルール生成手段34は、個々のパケット転送装置に対するアクション情報を、予め定められたアクション情報決定用ルールに従って決定すればよい。アクション情報決定用ルールは、アクション情報を決定するためのルールである。例えば、「通信端末の種類に依らず、各通信端末は、経路制御装置10以外のどの端末とも通信可能であり、細かなフロー制御は行わない」というルールが定められているとする。また、宛先MACアドレスを分類情報としているものとする。このルールが定められている場合、パケット転送ルール生成手段34は、新規フロー検出通知に含まれている宛先MACアドレスが経路制御装置10以外の端末のMACアドレスであるならば、アクション情報として、通信経路上の次のノードへのフォワーディング(Forwarding)を、アクション情報として定めればよい。また、新規フロー検出通知に含まれている宛先MACアドレスが経路制御装置10のMACアドレスである場合、アクション情報として、パケットの廃棄を定めればよい。
ステップS6の後、パケット転送装置管理手段38は、ステップS6で定められた各パケット転送ルールを、設定対象となる各パケット転送装置に設定する(ステップS7)。例えば、パケット転送装置管理手段38は、パケット転送装置に対して、パケット転送ルールの設定指示とともにパケット転送ルールを送信すればよい。さらに、パケット転送装置管理手段38は、ステップS6において、どのパケット転送装置にどのような内容のパケット転送ルールを設定したのかを、ルール設定内容記憶手段37に記憶させる。
図5は、パケット転送装置においてタイマー値が0になったパケット転送ルールがパケット転送ルールテーブルから削除され、経路制御装置10がパケット転送ルール削除通知を受信したときの処理経過の例を示すフローチャートである。経路制御装置10がパケット転送装置からパケット転送ルール削除通知を受信すると、パケット転送ルール削除通知で示されたパケット転送ルールがパケット転送ルール削除通知の送信元のパケット転送装置に設定されているという情報を、パケット転送装置管理手段38がルール設定内容記憶手段37から削除する(ステップS11)。例えば、パケット転送装置22から、あるパケット転送ルール(ルールAとする。)が削除されたというパケット転送ルール削除通知を受信したとする。場合、パケット転送装置管理手段38は、ルールAがパケット転送装置22に設定されているという情報をルール設定内容記憶手段37から削除すればよい。
この結果、どのパケット転送装置に、どのようなパケット転送ルールが設定されているかという情報が、最新の情報に更新される。
次に、パケット転送装置の動作について説明する。ここでは、図3および図6、図7を参照して、パケット転送装置22の動作として説明する。図1に示す他の各パケット転送装置20,21,23も同様の動作を行う。
図6は、パケット転送装置22が他のノードからパケットを受信したときの処理経過の例を示すフローチャートである。パケット転送装置22が他のノードからパケットを受信すると(ステップS21)、フロー特定手段43(図3参照)は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段41に記憶されているか否かを判定する(ステップS22)。具体的には、フロー特定手段43は、ルールテーブル記憶手段41に記憶されたパケット転送ルールテーブルの中に、分類情報が受信したパケットに適合しているパケット転送ルールがあるか否かを判定する。
受信したパケットに適合するパケット転送ルールが記憶されていない場合(ステップS22におけるNo)、フロー特定手段43は、受信したパケットをバッファリングし、そのパケットに基づいて、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を抽出し、それらの情報を含む新規フロー検出通知を経路制御装置10に送信する(ステップS23)。また、フロー特定手段43は、受信したパケットそのものを新規フロー検出通知に含めてもよい。経路制御装置10は、この新規フロー検出通知を受信することにより、図4に示すステップS1〜S7の処理を行い、ステップS7(図4参照)で、パケット転送装置22にパケット転送ルールを送信することになる。
パケット転送装置22のルール管理手段42は、経路制御装置10からパケット転送ルールおよびその設定指示を受信すると、その指示に従って、パケット転送ルールを設定する(ステップS24)。具体的には、ルール管理手段42は、パケット転送ルールをルールテーブル記憶手段41に記憶させる。
ステップS24で設定したパケット転送ルールは、ステップS21で受信したパケットが属するフローについてのパケット転送ルールである。ステップS24ののち、アクション実行手段44は、ステップS24で設定したパケット転送ルールに含まれるアクション情報に従って、ステップS21で受信したパケットを処理する(ステップS25)。
一方、ステップS21で受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段41に記憶されている場合(ステップS22のYes)、ルール管理手段42は、そのパケット転送ルールのタイマー値を初期値にリセットし(ステップS26)、アクション実行手段44は、そのパケット転送ルールに含まれるアクション情報に従って、ステップS21で受信したパケットを処理する(ステップS27)。
また、図7は、パケット転送装置22のパケット転送ルールテーブル管理処理の処理経過の例を示すフローチャートである。ルール管理手段42は、時間の経過とともに、パケット転送ルールテーブルに属する各パケット転送ルールのタイマー値を減少させ、タイマー値が0になったか否かを判定する処理を繰り返す(ステップS31,S32)。
タイマー値が0になったパケット転送ルールを検出した場合(ステップS32におけるYes)、ルール管理手段42は、ルールテーブル記憶手段41に記憶されているパケット転送ルールテーブルから、タイマー値が0になったパケット転送ルールを削除し、削除したパケット転送ルールを指定してパケット転送ルール削除通知を経路制御装置10に送信する(ステップS33)。経路制御装置10は、このパケット転送ルール削除通知に応じて、図5に示すステップS11の処理を実行する。
タイマー値が0になっていないパケット転送ルールについては、ルール管理手段42は、ステップS31,S32を繰り返す。この間に、ルール管理手段42がタイマー値の初期化(ステップS26)を行う場合もある。
図8は、第1の実施形態における通信システムの動作例を示す説明図である。以下に示す例では、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、経路制御装置10が各区間のタイマー値を決定する場合を例にして説明する。また、ここでは、通信端末52および通信端末53が5分間の間隔を空けて通信端末50にパケットを送信する状況を例にして説明する。
通信端末52は、通信端末50宛にデータパケットを送信する(ステップS41)。このパケットは、通信端末52が接続されているパケット転送装置22に届く。
パケット転送装置22がデータパケットを受信すると、パケット転送装置22のフロー特定手段43(図3参照)は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段41に記憶されているか否かを判定する。初期状態では、パケット転送ルールはパケット転送装置22のルールテーブル記憶手段41に記憶されていない。そのため、パケット転送装置22のフロー特定手段43は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置10に送信する(ステップS42、図8参照)。既に説明したように、フロー特定手段43は、フローの通信経路を特定可能な情報および分類情報を作成可能な情報として、受信したパケットそのものを含む新規フロー検出通知を送信してもよい。
経路制御装置10のパケット転送ルール生成手段34(図2参照)は、パケット転送装置22からこの新規フロー検出通知を受信すると、パケット転送装置22が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報として定めたとする。これは、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を有するパケットのフローを識別する分類情報である。
次に、経路制御装置10の通信端末位置管理手段33が、宛先である通信端末50の位置確認を行い、経路制御装置10の経路計算手段36が、通信端末52から通信端末50までの通信経路を計算する。ここでは、経路計算手段36が、パケット転送装置22→パケット転送装置21→パケット転送装置20という通信経路を選択したものとする。
次に、経路制御装置10のパケット転送ルール生成手段34は、「パケット転送装置22→パケット転送装置21→パケット転送装置20」という通信経路を分割して、複数の区間を定める。この処理は、例えば、各パケット転送装置から受信する統計情報や、あるいは、予めアンカーノードに該当すると定められたパケット転送装置の情報等を参照して行えばよい。本例では、パケット転送ルール生成手段34が、「パケット転送装置22→パケット転送装置21→パケット転送装置20」という通信経路を、パケット転送装置22を含む区間と、パケット転送装置21からパケット転送装置20までの区間とに分割したものとする。
続いて、パケット転送ルール生成手段34は、区間毎に、パケット転送装置に設定するタイマー値を変化させて、通信経路上の各パケット装置22,21,20に設定するタイマー値を決定する。本例では、パケット転送ルール生成手段34が、宛先の通信端末50に近い方の区間に属するパケット転送装置21,20に設定するタイマー値を10分とし、宛先の通信端末50から遠い方の区間に属するパケット転送装置22に設定するタイマー値を1分に決定するものとする。
次に、パケット転送ルール生成手段34は、「パケット転送装置22→パケット転送装置21→パケット転送装置20」という通信経路上の各パケット転送装置のうち、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報とするパケット転送ルールが設定されていないパケット転送装置を特定し、その各パケット転送装置に設定するアクション情報を決定する。ここでは、パケット転送装置22,21,20のいずれにも、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報とするパケット転送ルールが設定されておらず、パケット転送ルール生成手段34は、パケット転送装置22,21,20に設定するアクション情報をそれぞれ定める。また、ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段34は、パケット転送装置22に設定するアクション情報にはタイマー値「1分」を含め、パケット転送装置21,20に設定する各アクション情報にはそれぞれタイマー値「10分」を含める。そして、パケット転送ルール生成手段34は、パケット転送装置毎に、上記の分類情報とアクション情報とを含むパケット転送ルールを定める。
そして、経路制御装置10のパケット転送装置管理手段38は、パケット転送装置22,21,20に対して、それぞれパケット転送ルールを設定する(ステップS43,図8参照)。図8に示すステップS43は、図4に示すステップS1〜S7の動作に相当する。
また、経路制御装置10のパケット転送装置管理手段38は、パケット転送装置22,21,20に対してパケット転送ルールを設定した後、パケット転送装置22,21,20に対してそれぞれどのようなパケット転送ルールを設定したのかをルール設定内容記憶手段37に記憶させる。
パケット転送ルールの設定が完了すると、パケット転送装置22のアクション実行手段44(図3参照)は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード(パケット転送装置21)に転送する(ステップS44)。
パケット転送装置21,20には、ステップS43(図8参照)で、パケット転送ルールが設定されている。よって、パケット転送装置21,20は、受信するデータパケットをパケット転送ルールに従って順次転送し(ステップS45,S46)、データパケットは宛先の通信端末50に届く。
その後も、通信端末52が通信端末50を宛先として送信したデータパケットは、ステップS43で設定されたパケット転送ルールに基づいて、パケット転送装置22→パケット転送装置21→パケット転送装置20の順に転送され、通信端末50に届く。各パケット転送装置22,21,20は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を含むデータパケットを受信すると、タイマー値を初期値(本例では10分または1分)にリセットする。
通信端末50と通信端末52との通信が終了して1分経過すると、パケット転送装置22では、ステップS43(図8参照)で設定されたパケット転送ルールのタイマー値が0となり、パケット転送装置22のルール管理手段42(図3参照)は、ステップS43で設定されたパケット転送ルールを削除する(ステップS47、図8参照)。そして、パケット転送装置22のルール管理手段42は、そのパケット転送ルールを削除したことを示すパケット転送ルール削除通知を経路制御装置10に送信する(ステップS48、図8参照)。
経路制御装置10のパケット転送装置管理手段38は、パケット転送ルール削除通知で通知されたパケット転送ルールがパケット転送装置22に設定されているという情報を、ルール設定内容記憶手段37(図2参照)から削除する。
一方、通信端末50に近い方の区間に属するパケット転送装置21,20では、タイマー値として10分が設定されていたので、パケット転送装置21,20は、この時点において、パケット転送ルールを削除しない。
また、通信端末50と通信端末52との通信の5分後に、通信端末53が通信端末50にデータパケットを送信したとする。このパケットは、通信端末53が接続されているパケット転送装置23に届く。この動作は、既に説明したステップS41と同様である。
パケット転送装置23がデータパケットを受信すると、パケット転送装置23のフロー特定手段43(図3参照)は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段41に記憶されているか否かを判定する。ここでは、パケット転送ルールが記憶されていないため、パケット転送装置23のフロー特定手段43は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置10に送信する。この動作は、既に説明したステップS42と同様である。
経路制御装置10のパケット転送ルール生成手段34(図2参照)は、パケット転送装置23からこの新規フロー検出通知を受信すると、パケット転送装置23が受信したパケットが属する新たなフローを識別する分類情報を生成する。このパケットの宛先も通信端末50であるので、パケット転送ルール生成手段34は、パケット転送装置22から新規フロー検出通知を受信したときと同様に、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報と定める。
次に、経路制御装置10の通信端末位置管理手段33が、宛先である通信端末50の位置確認を行い、経路制御装置10の経路計算手段36が、通信端末53から通信端末50までの通信経路を計算する。ここでは、経路計算手段36が、パケット転送装置23→パケット転送装置21→パケット転送装置20という通信経路を選択したものとする。
次に、経路制御装置10のパケット転送ルール生成手段34は、「パケット転送装置23→パケット転送装置21→パケット転送装置20」という通信経路を分割して、複数の区間を定める。ここでは、パケット転送ルール生成手段34が、「パケット転送装置23→パケット転送装置21→パケット転送装置20」という通信経路を、パケット転送装置23を含む区間と、パケット転送装置21からパケット転送装置20までの区間とに分割したものとする。
続いて、パケット転送ルール生成手段34は、区間毎に、パケット転送装置に設定するタイマー値を変化させて、通信経路上の各パケット装置23,21,20に設定するタイマー値を決定する。本例では、パケット転送ルール生成手段34が、宛先の通信端末50に近い方の区間に属するパケット転送装置21,20に設定するタイマー値を10分とし、宛先の通信端末50から遠い方の区間に属するパケット転送装置23に設定するタイマー値を1分に決定するものとする。
次に、パケット転送ルール生成手段34は、「パケット転送装置23→パケット転送装置21→パケット転送装置20」という通信経路上の各パケット転送装置のうち、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報とするパケット転送ルールが設定されていないパケット転送装置を特定し、その各パケット転送装置に設定するアクション情報を決定する。パケット転送ルール生成手段34は、ルール設定内容記憶手段37を参照して、パケット転送装置21,20には、まだ、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報とするパケット転送ルールが残っていると判断する。そして、パケット転送ルール生成手段34は、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報とするパケット転送ルールが設定されていないパケット転送装置として、パケット転送装置23を特定する。パケット転送ルール生成手段34は、そのパケット転送装置23に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段34は、パケット転送装置23に設定するアクション情報にはタイマー値「1分」を含め、上記の分類情報とこのアクション情報とを含むパケット転送ルールを定める。
そして、経路制御装置10のパケット転送装置管理手段38は、パケット転送装置23に対して上記のパケット転送ルールを設定し、パケット転送装置23にどのようなパケット転送ルールを設定したのかをルール設定内容記憶手段37に記憶させる(ステップS43a、図8参照)。図8に示すステップS43aは、図4に示すステップS1〜S7の動作に相当する。
パケット転送ルールの設定が完了すると、パケット転送装置23のアクション実行手段44(図3参照)は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード(パケット転送装置21)に転送する。この動作は、前述のステップS44と同様である。
パケット転送装置21,20には、ステップS43(図8参照)で設定されたパケット転送ルールが削除されずに残っている。よって、パケット転送装置21,20は、受信するデータパケットをパケット転送ルールに従って順次転送し、データパケットは宛先の通信端末50に届く。この動作は、前述のステップS45,S46と同様である。
その後も、通信端末53が通信端末50を宛先として送信したデータパケットは、パケット転送装置23,21,20に設定されているパケット転送ルールに基づいて、パケット転送装置22→パケット転送装置21→パケット転送装置20の順に転送され、通信端末50に届く。各パケット転送装置22,21,20は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を含むデータパケットを受信すると、タイマー値を初期値(本例では10分または1分)にリセットする。
通信端末50と通信端末53との通信終了後、パケット転送装置21,20のパケット転送ルールがまだ残っているうちに、他の通信端末が通信端末50を宛先としてパケットを送信した場合の動作も同様である。
本実施形態によれば、経路制御装置10がフローの通信経路を分割して複数の区間を定め、パケット転送装置に設定するタイマー値の値を区間毎に変える。従って、分類情報に適合するパケットが多く通過すると考えられる区間ではタイマー値を大きく設定することにより、短期間で同じパケット転送ルールを繰り返し設定することを防止することができる。その結果、経路制御装置10の処理負荷を抑えることができる。一方、分類情報に適合するパケットの通過量が少ないと考えられる区間では、タイマー値を小さく設定することにより、通信終了により使用されなくなったパケット転送ルールが長時間設定されたままになってしまうことを防止することができる。このように、本実施形態によれば、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
以上の説明では、各パケット転送装置のルール管理手段42(図3参照)が、パケット転送ルール内の分類情報に適合するパケットを受信したときに、そのパケット転送ルールのタイマー値を初期値にリセットする場合を例にして説明した。ルール管理手段42は、パケット転送ルール内の分類情報に適合するパケットを受信したときに、タイマー値のリセットを行わなくてもよい。この場合、図6に例示する処理において、ステップS26を実行しなければよい。
また、上記の説明では、タイマー値として1分または10分を定める場合を例示したが、この値は例示であり、各区間のタイマー値は1分または10分に限定されるわけではない。
また、分類情報に適合するパケットが多く通過すると考えられる区間において、タイマー値を10分等の値とするのではなく、無限大としてもよい。この場合、パケット転送装置のルール管理手段42(図3参照)は、タイマー値が無限大であるパケット転送ルールに関しては、そのパケット転送ルールが不要になったと判定したときに削除すればよい。パケット転送ルールが不要になったという判定は、例えば、以下のように行えばよい。各端末装置50,52,53が、モバイル機器である場合等では、各通信端末50,52,53は、電源オフ時等に、明示的に通信ネットワーク1との接続を断つ旨を明示的に基地局に通知する。この通知を受けた基地局は、その旨を経路制御装置10に通知する。経路制御装置10は、この通知に基づいて、電源オフ等となった通信端末に関するフローを特定し、そのフローについてのパケット転送ルールを設定しているパケット転送装置に、削除を指示する。パケット転送装置のルール管理手段42は、この指示を受けたときに、パケット転送ルールが不要になったと判定し、パケット転送ルールを削除すればよい。ただし、この処理は例示であり、パケット転送装置のルール管理手段42は、他の判定基準によって、パケット転送ルールが不要になったと判定してもよい。なお、基地局は、パケット転送装置によって実現されても、パケット転送装置とは別個に設置されてもよい。
また、図8に示す例では、通信経路の分割数を2とする場合を示しが、通信経路の分割数は2に限定されない。経路制御装置10は、通信経路を3つ以上に分割し、3つ以上の区間を定めてもよい。
また、上記の説明では、パケット転送ルール生成手段34が、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、各区間のタイマー値を決定する場合を例にして説明した。タイマー値の決定方法はこの方法に限定されず、例えば、以下のような場合には、宛先となる通信端末により近い区間で、タイマー値が小さくなるように決定してもよい。図9は、宛先となる通信端末により近い区間でタイマー値をより小さくする状況の例を示す説明図である。図9に示す例では、通信端末55が、モバイル端末である通信端末56を宛先としてパケットを送信しているとする。通信端末56の移動前では、「パケット転送装置25→パケット転送装置26→パケット転送装置27」という通信経路が選択され、経路制御装置(図9において図示略)が、区間A,Bを定め、区間Aのタイマー値を区間Bのタイマー値より大きく定めていたとする。その後、通信端末56が移動して、通信端末56が接続されるパケット転送装置がパケット転送装置28に切り替わったことにより、経路制御装置が「パケット転送装置25→パケット転送装置26→パケット転送装置27」という通信経路にさらにパケット転送装置28を追加したとする。このとき、経路制御装置は、通信経路に追加したパケット転送装置28を含む区間Cにおけるタイマー値を、区間Aにおけるタイマー値よりも小さな値に定めてもよい。
実施形態2.
図10は、本発明の通信システムの第2の実施形態の例を示すブロック図である。第2の実施形態の通信システムは、経路制御装置60と、通信ネットワーク1に属するパケット転送装置20〜23とを備える。図10では、4台のパケット転送装置20〜23を図示しているが、図10は通信システムの例示であり、パケット転送装置の台数やトポロジーは、図10に示す例に限定されない。図10に示す例では、通信端末50,52,53が、それぞれ、パケット転送装置20,22,23に接続され、各パケット転送装置は、通信端末間で送受信されるパケットを転送する。通信端末50,52,53は、第1の実施形態で示した通信端末50,52,53(図1参照)と同様の端末である。なお、通信端末の台数や、通信端末が通信ネットワーク1のどのパケット転送装置に接続されるのかに関しても、特に限定されない。
経路制御装置60は、新規フロー検出通知をパケット転送装置から受信すると、送信元の端末装置から宛先の端末装置までの通信経路の中で、新規フロー検出通知を送信したパケット転送装置を起点とする区間を特定する。そして、経路制御装置60は、フローに応じた分類情報およびアクション情報を含むパケット転送ルールを生成し、特定した区間に存在するパケット転送装置に対してパケット転送ルールを設定する。
第1の実施形態では、経路制御装置10(図1参照)が新規フロー検出通知受信時に送信元から宛先までの通信経路上の各パケット転送装置に対してパケット転送ルールを設定する。これに対して、第2の実施形態における経路制御装置60は、上記のように、新規フロー検出通知受信時に通信経路上の一部の区間を特定し、その区間に存在する各パケット転送装置に対してパケット転送ルールを設定する。パケットがその区間外のパケット転送装置に転送されると、そのパケット転送装置が経路制御装置60に新規フロー検出通知送信することで、経路制御装置60は、そのパケット転送装置を起点とする区間を特定し、その区間内の各パケット転送装置にパケット転送ルールを設定する。第2の実施形態の通信システムは、この動作を繰り返すことで、パケットを宛先の通信端末まで転送する。
また、経路制御装置60は、通信経路内における区間を特定したときに、その区間に対応するタイマー値を定め、その区間における各パケット転送ルールにそのタイマー値を含める。従って、通信経路上のパケット転送装置に設定されるパケット転送ルールに含まれるタイマー値は、パケット転送装置が属する区間によって異なる。
なお、第2の実施形態においても、第1の実施形態と同様に、アクション情報にタイマー値を含める場合を例にして説明する。ただし、タイマー値はアクション情報に含まれていなくても、パケット転送ルールに含まれていればよい。
第2の実施形態におけるパケット転送装置20〜23は、パケット転送ルールを削除した場合にパケット転送ルール削除通知を経路制御装置60に送信する必要がない点で、第1の実施形態におけるパケット転送装置20〜23と異なる。他の点に関しては、第2の実施形態におけるパケット転送装置20〜23は、第1の実施形態におけるパケット転送装置20〜23と同様である。
パケット転送装置20〜23は、例えば、オープンフローにおけるフロースイッチである。また、経路制御装置60は、例えば、オープンフローにおける経路制御装置である。また、パケット転送ルールは、例えば、オープンフローにおけるフローエントリ情報である。
図11は、第2の実施形態における経路制御装置60の構成例を示すブロック図である。第1の実施形態における経路制御装置10の構成要素と同様の構成要素については、図2と同一の符号を付し、詳細な説明を省略する。経路制御装置60は、トポロジー情報記憶手段31と、トポロジー情報登録手段32と、通信端末位置管理手段33と、パケット転送ルール生成手段34aと、区間決定用情報記憶手段35aと、経路計算手段36と、パケット転送装置管理手段38aとを備える。経路制御装置60は、第1の実施形態におけるルール設定内容記憶手段37(図2参照)を備えていなくてよい。
トポロジー情報記憶手段31、トポロジー情報登録手段32、通信端末位置管理手段33および経路計算手段36は、第1の実施形態と同様である。
パケット転送ルール生成手段34aは、新規フロー検出通知をパケット転送装置から受信すると、送信元の端末装置から宛先の端末装置までの通信経路の中で、新規フロー検出通知を送信したパケット転送装置を起点とする区間を特定する。そして、パケット転送ルール生成手段34aは、分類情報、その区間に応じたタイマー値、アクション情報を決定し、それらを含むパケット転送ルールを定める。
第2の実施形態において、区間決定用情報記憶手段35aは、経路計算手段36によって計算される通信経路を分割する分割点(以下、経路分割点と記す)として予め定められるパケット転送装置の情報を記憶する。すなわち、どのパケット転送装置が経路分割点として予め定められているのかを示す情報が、区間決定用情報となる。経路分割点として定められるパケット転送装置の台数は特に限定されない。
経路分割点の決定方法は、特に限定されない。例えば、第1の実施形態で例示したように、経路制御装置60が、各パケット転送装置から統計情報(例えば、受信パケット数のカウント結果等)を受信し、パケット転送装置毎の統計情報を保持しておいてもよい。そして、例えば、パケット転送ルール生成手段34aが、隣接するパケット転送装置よりも統計情報の値が所定値以上大きくなっているパケット転送装置を経路分割点として定めて、どのパケット転送装置を経路分割点に定めたのかを区間決定用情報記憶手段35aに記憶させておいてもよい。
また、あるいは、アンカーノードとして定められているパケット転送装置を経路分割点として、どのパケット転送装置が経路分割点に該当するのかを区間決定用情報記憶手段35aに予め記憶させておいてもよい。
パケット転送ルール生成手段34aは、区間決定用情報記憶手段35aに記憶された情報を参照して、区間を決定する。
パケット転送装置管理手段38aは、各パケット転送装置20〜23を管理する。具体的には、パケット転送装置管理手段38aは、パケット転送ルール生成手段34aに生成されたパケット転送ルールをパケット転送装置に設定する処理を行う。この点は、第1の実施形態におけるパケット転送装置管理手段38と同様である。ただし、第2の実施形態では、ルール設定内容記憶手段37(図2参照)が設けられていなくてもよい。従って、パケット転送装置管理手段38aは、ルール設定内容記憶手段37に情報を記憶させたり、あるいは情報を削除したりする動作を行わなくてよい。
トポロジー情報登録手段32、通信端末位置管理手段33、パケット転送ルール生成手段34a、経路計算手段36、パケット転送装置管理手段38aは、例えば、経路制御用プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず)が経路制御用プログラムを記憶し、CPUがそのプログラムを読み込み、プログラムに従って、トポロジー情報登録手段32、通信端末位置管理手段33、パケット転送ルール生成手段34a、経路計算手段36およびパケット転送装置管理手段38aとして動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
図12は、第2の実施形態におけるパケット転送装置の構成例を示すブロック図である。図12では、図10におけるパケット転送装置22を例にして説明するが、他のパケット転送装置20,21,23に関しても同様の構成である。また、第1の実施形態におけるパケット転送装置の構成要素と同様の構成要素については、図3と同一の符号を付し、詳細な説明を省略する。パケット転送装置22は、ルールテーブル記憶手段41と、ルール管理手段42aと、フロー特定手段43と、アクション実行手段44とを備える。
ルールテーブル記憶手段41、フロー特定手段43およびアクション実行手段44は、第1の実施形態と同様である。
第2の実施形態におけるルール管理手段42aは、タイマー値が0になったパケット転送ルールをルールテーブル記憶手段41から削除したときにパケット転送ルール削除通知を経路制御装置60に送信しなくてよい点で、第1の実施形態におけるルール管理手段42と異なる。パケット転送ルール削除通知を経路制御装置60に送信しなくてよい点以外に関しては、ルール管理手段42aは、第1の実施形態におけるルール管理手段42と同様である。
ルール管理手段42a、フロー特定手段43およびアクション実行手段44は、例えば、パケット転送プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず。)がパケット転送プログラムを記憶し、CPUがそのプログラムを読み込み、プログラムに従って、ルール管理手段42a、フロー特定手段43およびアクション実行手段44として動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
次に、経路制御装置60の動作について説明する。
図13は、経路制御装置60がパケット転送装置にパケット転送ルールを設定する動作の処理経過の例を示すフローチャートである。
経路制御装置60がパケット転送装置から新規フロー検出通知を受信すると、パケット転送ルール生成手段34aは、新規フロー検出通知に含まれている「分類情報を作成可能な情報」を用いて、分類情報を決定する(ステップS1)。次に、通信端末位置管理手段32が、宛先となる通信端末の位置確認を行う(ステップS2)。続いて、経路計算手段36が、トポロジー情報および通信端末位置管理手段32による位置確認結果に基づいて、送信元の通信端末から宛先の通信端末への通信経路を計算する(ステップS3)。経路計算手段36は、例えば、送信元の通信端末から宛先の通信端末への最短の通信経路を計算すればよい。ただし、通信経路の計算方法は、特に限定されない。上記のステップS1〜S3の処理は、第1の実施形態におけるステップS1〜S3(図4参照)と同様である。
次に、パケット転送ルール生成手段34aが、送信元の通信端末から宛先の通信端末への通信経路上の区間であって、新規フロー検出通知を送信したパケット転送装置を起点とする区間を決定する(ステップS71)。以下、新規フロー検出通知を送信したパケット転送装置を、起点となるパケット転送装置と記す。パケット転送ルール生成手段34aは、ステップS71において、起点となるパケット転送装置が送信元の通信端末から宛先の通信端末への通信経路上で宛先の通信端末に最も近い経路分割点であるか否かを判定する。起点となるパケット転送装置が宛先の通信端末に最も近い経路分割点でない場合、パケット転送ルール生成手段34aは、起点となるパケット転送装置から宛先の通信端末へ向かう経路上で、起点となるパケット転送装置に最も近い経路分割点を特定し、起点となるパケット転送装置からその経路分割点の一つ前のパケット転送装置までを、1つの区間として決定する。また、起点となるパケット転送装置が宛先の通信端末に最も近い経路分割点である場合には、パケット転送ルール生成手段34aは、起点となるパケット転送装置から、宛先の通信端末に接続されているパケット転送装置までを、1つの区間として決定する。
図14は、ステップS71の処理の例を示す説明図である。通信端末81が送信元となり、通信端末80が宛先であるとする。そして、送信元の通信端末81から宛先の通信端末80までの通信経路として、パケット転送装置71,72,73,74,75,・・・,76,77,78という順番の経路が定められているとする。また、図14において、パケット転送装置73,75,76が経路分割点として定められているとする。この場合、通信経路上で宛先の通信端末80に最も近い経路分割点は、パケット転送装置76である。
例えば、パケット転送装置71が経路制御装置60(図14において図示略)に新規フロー検出通知を送信したとする。パケット転送装置71は、通信経路上で宛先の通信端末80に最も近い経路分割点ではない。従って、パケット転送ルール生成手段34aは、起点となるパケット転送装置71から宛先の通信端末80に向かう経路上で、起点となるパケット転送装置71に最も近い経路分割点73を特定し、パケット転送装置71から経路分割点73の一つ前のパケット転送装置72までを一つの区間とする(図14に示す区間P)。
また、例えば、経路分割点であるパケット転送装置73が経路制御装置60(図14において図示略)に新規フロー検出通知を送信したとする。パケット転送装置73は、通信経路上で宛先の通信端末80に最も近い経路分割点ではない。従って、パケット転送ルール生成手段34aは、起点となるパケット転送装置73から宛先の通信端末80に向かう経路上で、起点となるパケット転送装置73に最も近い経路分割点75を特定し、パケット転送装置73から経路分割点75の一つ前のパケット転送装置74までを一つの区間とする(図14に示す区間Q)。
また、例えば、経路分割点であるパケット転送装置76が経路制御装置60(図14において図示略)に新規フロー検出通知を送信したとする。パケット転送装置73は、通信経路上で宛先の通信端末80に最も近い経路分割点である。従って、パケット転送ルール生成手段34aは、起点となるパケット転送装置76から宛先の通信端末80に接続されているパケット転送装置78までを一つの区間とする(図14に示す区間R)。
ステップS71の次に、パケット転送ルール生成手段34aは、ステップS71で決定した区間に属するパケット転送装置に設定するタイマー値を決定する(ステップS72)。本例では、宛先の通信端末に近い区間ほど大きなタイマー値を定め、宛先の通信端末から遠い区間ほど大きなタイマー値を定める場合を例にして説明する。宛先の通信端末と、ステップS71で定めた区間との近さは、ステップS71で起点としたパケット転送装置(すなわち、新規フロー検出通知を送信したパケット転送装置)より後の、宛先の端末装置までの間の経路上に存在する経路分割点の数で表すことができる。そのような経路分割点が少ないほど、ステップS71で定めた区間は宛先の通信端末に近いと言うことができ、また、そのような経路分割点が多いほど、ステップS71で定めた区間は宛先の通信端末から遠いということができる。パケット転送ルール生成手段34aは、ステップS71で起点としたパケット転送装置より後の、宛先の端末装置までの間の経路上に存在する経路分割点の数をカウントし、そのカウント結果が大きいほどタイマー値を小さな値とし、カウント結果が小さいほどタイマー値を大きな値に設定すればよい。このようにタイマー値を定めた場合、図14に示す例では、区間P,Q,・・・,Rの順に、タイマー値は大きくなっていく。
ただし、パケット転送ルール生成手段34aは、他の態様で区間のタイマー値を決定してもよい。
次に、パケット転送ルール生成手段34aは、ステップS71で決定した区間に属するパケット転送装置に設定するアクション情報を決定する。パケット転送ルール生成手段34aは、予め定められたアクション情報決定用ルールに従ってアクション情報を決定すればよい。パケット転送ルール生成手段34aは、決定したアクション情報にステップS72で決定したタイマー値を含め、そのアクション情報およびステップS1で決定した分類情報とを、そのパケット転送装置に設定するパケット転送ルールとして定める(ステップS73)。ただし、パケット転送ルールに、分類情報およびアクション情報以外の情報を含めてもよい。
ステップS73の後、パケット転送装置管理手段38aは、ステップS73で決定された各パケット転送ルールを、設定対象となる各パケット転送装置に設定する(ステップS74)。設定対象となる各パケット転送装置とは、ステップS71で決定された区間に属する各パケット転送装置である。ステップS74では、パケット転送装置管理手段38aは、例えば、パケット転送装置に対して、パケット転送ルールの設定指示とともにパケット転送ルールを送信すればよい。
次に、パケット転送装置の動作について説明する。
パケット転送装置が他のノードからパケットを受信したときの動作は、第1の実施形態と同様である。すなわち、パケット転送装置は、他のノードからパケットを受信した場合、図6に示すステップS21以降の処理を行えばよい。
図15は、パケット転送装置のパケット転送ルールテーブル管理処理の処理経過の例を示すフローチャートである。ルール管理手段42aは、時間の経過とともに、パケット転送ルールテーブルに属する各パケット転送ルールのタイマー値を減少させ、タイマー値が0になったか否かを判定する処理を繰り返す(ステップS31,S32)。この動作は、第1の実施形態におけるステップS31,S32(図7参照)と同様である。
タイマー値が0になったパケット転送ルールを検出した場合(ステップS32におけるYes)、ルール管理手段42aは、ルールテーブル記憶手段41に記憶されているパケット転送ルールテーブルから、タイマー値が0になったパケット転送ルールを削除する(ステップS33a)。
タイマー値が0になっていないパケット転送ルールについては、ルール管理手段42aは、ステップS31,S32を繰り返す。この間に、ルール管理手段42aがタイマー値の初期化を行う場合もある。この点は、第1の実施形態と同様である。
図16は、第2の実施形態における通信システムの動作例を示す説明図である。以下に示す例では、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、経路制御装置60が各区間のタイマー値を決定する場合を例にして説明する。また、ここでは、通信端末52および通信端末53が5分間の間隔を空けて通信端末50にパケットを送信する状況を例にして説明する。また、図16に示す例では、図10に示すパケット転送装置21が経路分割点として定められていて、経路分割点が1つである場合を例にする。ただし、経路分割点の数は1に限定されず、複数の経路分割点が定められていてもよい。
通信端末52は、通信端末50宛にデータパケットを送信する(ステップS81)。このパケットは、通信端末52が接続されているパケット転送装置22に届く。
パケット転送装置22がデータパケットを受信すると、パケット転送装置22のフロー特定手段43(図12参照)は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段41に記憶されているか否かを判定する。初期状態では、パケット転送ルールはパケット転送装置22のルールテーブル記憶手段41に記憶されていない。そのため、パケット転送装置22のフロー特定手段43は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置60に送信する(ステップS82、図16参照)。第1の実施形態と同様に、フロー特定手段43は、フローの通信経路を特定可能な情報および分類情報を作成可能な情報として、受信したパケットそのものを含む新規フロー検出通知を送信してもよい。
経路制御装置60のパケット転送ルール生成手段34a(図11参照)は、パケット転送装置22からこの新規フロー検出通知を受信すると、パケット転送装置22が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報として定めたとする。これは、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を有するパケットのフローを識別する分類情報である。
次に、経路制御装置60の通信端末位置管理手段33が、宛先である通信端末50の位置確認を行い、経路制御装置60の経路計算手段36が、通信端末52から通信端末50までの通信経路を計算する。ここでは、経路計算手段36が、パケット転送装置22→パケット転送装置21→パケット転送装置20という通信経路を選択したものとする。
そして、パケット転送ルール生成手段34aは、「パケット転送装置22→パケット転送装置21→パケット転送装置20」という通信経路上の区間であって、新規フロー検出装置を送信したパケット転送装置22を起点とする区間を定める。このとき、パケット転送ルール生成手段34aは、区間決定用情報記憶手段35aを参照して、起点となるパケット転送装置22が「パケット転送装置22→パケット転送装置21→パケット転送装置20」という通信経路において、宛先の通信端末50に最も近い経路分割点に該当しないと判定する。そして、パケット転送ルール生成手段34aは、起点となるパケット転送装置22から宛先の通信端末50に向かう経路上で、起点となるパケット転送装置22に最も近い経路分割点がパケット転送装置21であると特定する。この特定は、区間決定用情報記憶手段35aを参照することにより行えばよい。経路分割点21の一つ前のパケット転送装置は、起点となるパケット転送装置22自身であるので、パケット転送ルール生成手段34aは、パケット転送装置22だけを含む区間を一つの区間として定める。
さらに、パケット転送ルール生成手段34aは、その区間に属するパケット転送装置22に設定するタイマー値を決定する。パケット転送ルール生成手段34aは、区間の起点としたパケット転送装置22より後の宛先の通信端末50までの経路上に、経路分割点がいくつあるかをカウントし、そのカウント結果に応じたタイマー値を決定する。本例では、カウント結果の値が小さいほど大きな値のタイマー値を定め、カウント結果の値が大きいほど小さな値のタイマー値を定めるものとする。この場合、経路分割点の数は1であり、パケット転送ルール生成手段34aがタイマー値を1分としたとする。
そして、パケット転送ルール生成手段34aは、定めた区間に属するパケット転送装置22に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段34aは、このアクション情報にタイマー値「1分」を含め、このアクション情報と上記の分類情報とを含むパケット転送ルールを定める。
そして、経路制御装置60のパケット転送装置管理手段38aは、定めた区間に属するパケット転送装置22に対して、上記のパケット転送ルールを設定する(ステップS83、図16参照)。図16に示すステップS83は、図13に示すステップS1〜S74の動作に相当する。
ステップS83の後、パケット転送装置22のアクション実行手段44(図12参照)は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード(パケット転送装置21)に転送する(ステップS84)。
パケット転送装置21には、まだパケット転送ルールが設定されていない。よって、パケット転送装置21は、ステップS84でパケットを受信すると、ステップS82の動作と同様に、パケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置60に送信する(ステップS84)。
経路制御装置60のパケット転送ルール生成手段34a(図11参照)は、パケット転送装置21からこの新規フロー検出通知を受信すると、パケット転送装置21が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、ステップS83の場合と同様に、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報として定めたとする。次に、経路制御装置60の通信端末位置管理手段33が、宛先である通信端末50の位置確認を行い、経路制御装置60の経路計算手段36が、通信端末52から通信端末50までの通信経路を計算する。
そして、パケット転送ルール生成手段34aは、送信元から宛先までの通信経路上の区間であって、新規フロー検出装置を送信したパケット転送装置21を起点とする区間を定める。このとき、パケット転送ルール生成手段34aは、区間決定用情報記憶手段35aを参照して、起点となるパケット転送装置21が通信経路において、宛先の通信端末50に最も近い経路分割点であると判定する。この判定に基づいて、パケット転送ルール生成手段34aは、起点となるパケット転送装置21から、宛先の通信端末50に接続されたパケット転送装置20までを、1つの区間として定める。
さらに、パケット転送ルール生成手段34aは、その区間に属するパケット転送装置21に設定するタイマー値を決定する。ここでは、区間の起点としたパケット転送装置21より後の宛先の通信端末50までの経路上の経路分割点の数は0である。よって、パケット転送ルール生成手段34aは、ステップS83で定めたタイマー値(1分)よりも大きなタイマー値を定める。本例では、タイマー値を10分にしたものとする。
そして、パケット転送ルール生成手段34aは、定めた区間に属するパケット転送装置21に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段34aは、このアクション情報にタイマー値「10分」を含め、このアクション情報と上記の分類情報とを含むパケット転送ルールを定める。
そして、経路制御装置60のパケット転送装置管理手段38aは、定めた区間に属するパケット転送装置21,20に対して、上記のパケット転送ルールを設定する(ステップS86、図16参照)。図16に示すステップS86は、図13に示すステップS1〜S74の動作に相当する。
ステップS86の後、パケット転送装置21のアクション実行手段44(図12参照)は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード(パケット転送装置20)に転送する(ステップS87)。
パケット転送装置20には、ステップS86(図16参照)で、パケット転送ルールが設定されている。よって、パケット転送装置20は、受信するデータパケットをパケット転送ルールに従って、宛先の通信端末50に転送する(ステップS88)。
その後も、通信端末52が通信端末50を宛先として送信したデータパケットは、ステップS83,S86で設定されたパケット転送ルールに基づいて、パケット転送装置22→パケット転送装置21→パケット転送装置20の順に転送され、通信端末50に届く。各パケット転送装置22,21,20は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を含むデータパケットを受信すると、タイマー値を初期値(本例では10分または1分)にリセットする。
通信端末50と通信端末52との通信が終了して1分経過すると、パケット転送装置22では、ステップS83(図16参照)で設定されたパケット転送ルールのタイマー値が0となり、パケット転送装置22のルール管理手段42a(図12参照)は、ステップS83で設定されたパケット転送ルールを削除する。
一方、パケット転送装置21,20では、タイマー値として10分が設定されていたので、パケット転送装置21,20は、この時点において、パケット転送ルールを削除しない。
また、通信端末50と通信端末52との通信の5分後に、通信端末53が通信端末50にデータパケットを送信したとする。このパケットは、通信端末53が接続されているパケット転送装置23に届く。この動作は、既に説明したステップS81と同様である。
パケット転送装置23がデータパケットを受信すると、パケット転送装置23のフロー特定手段43(図12参照)は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段41に記憶されているか否かを判定する。ここでは、パケット転送ルールが記憶されていないため、パケット転送装置23のフロー特定手段43は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置60に送信する。この動作は、既に説明したステップS82と同様である。
パケット転送装置23から新規フロー検出通知を受信した経路制御装置60は、ステップS83と同様に動作する。すなわち、経路制御装置60のパケット転送ルール生成手段34a(図11参照)は、パケット転送装置23が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を分類情報として定めたとする。
次に、経路制御装置60の通信端末位置管理手段33が、宛先である通信端末50の位置確認を行い、経路制御装置60の経路計算手段36が、通信端末53から通信端末50までの通信経路を計算する。ここでは、経路計算手段36が、パケット転送装置23→パケット転送装置21→パケット転送装置20という通信経路を選択したものとする。
そして、パケット転送ルール生成手段34aは、「パケット転送装置23→パケット転送装置21→パケット転送装置20」という通信経路上の区間であって、新規フロー検出装置を送信したパケット転送装置23を起点とする区間を定める。このとき、パケット転送ルール生成手段34aは、区間決定用情報記憶手段35aを参照して、起点となるパケット転送装置23が「パケット転送装置23→パケット転送装置21→パケット転送装置20」という通信経路において、宛先の通信端末50に最も近い経路分割点に該当しないと判定する。そして、パケット転送ルール生成手段34aは、起点となるパケット転送装置23から宛先の通信端末50に向かう経路上で、起点となるパケット転送装置23に最も近い経路分割点がパケット転送装置21であると特定する。この特定は、区間決定用情報記憶手段35aを参照することにより行えばよい。経路分割点21の一つ前のパケット転送装置は、起点となるパケット転送装置23自身であるので、パケット転送ルール生成手段34aは、パケット転送装置23だけを含む区間を一つの区間として定める。
さらに、パケット転送ルール生成手段34aは、その区間に属するパケット転送装置23に設定するタイマー値を決定する。ここでは、区間の起点としたパケット転送装置23より後の宛先の通信端末50までの経路上に経路分割点が1つであることに基づいて、パケット転送ルール生成手段34aがタイマー値を1分としたとする。パケット転送ルール生成手段34aは、定めた区間に属するパケット転送装置23に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段34aは、このアクション情報にタイマー値「1分」を含め、このアクション情報と上記の分類情報とを含むパケット転送ルールを定める。
そして、経路制御装置60のパケット転送装置管理手段38aは、定めた区間に属するパケット転送装置23に対して、上記のパケット転送ルールを設定する。
続いて、パケット転送装置23のアクション実行手段44(図12参照)は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード(パケット転送装置21)に転送する。この動作は、前述のステップS84と同様である。
パケット転送装置21,20では、設定されたパケット転送ルールが削除されていない。よって、パケット転送装置21,20は、受信するデータパケットをパケット転送ルールに従って順次転送する(ステップS87a,S88)。この結果、データパケットは宛先の通信端末50に届く。
その後も、通信端末53が通信端末50を宛先として送信したデータパケットは、パケット転送装置23,21,20に設定されているパケット転送ルールに基づいて、パケット転送装置23→パケット転送装置21→パケット転送装置20の順に転送され、通信端末50に届く。各パケット転送装置23,21,20は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末50の宛先MACアドレスおよび宛先IPアドレス」を含むデータパケットを受信すると、タイマー値を初期値(本例では10分または1分)にリセットする。
通信端末50と通信端末53との通信終了後、パケット転送装置21,20のパケット転送ルールがまだ残っているうちに、他の通信端末が通信端末50を宛先としてパケットを送信した場合の動作も同様である。
本実施形態によれば、経路制御装置60がパケット転送装置から新規フロー検出通知を受信する毎に、そのパケット転送装置を起点とする区間を、予め定められた経路分割点を基準に判定する。そして、その区間と宛先となる通信端末との近さに応じて、その区間に属するパケット転送装置のタイマー値を変える。従って、第1の実施形態と同様に、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
また、第2の実施形態においては、経路制御装置60は、パケット転送装置から新規フロー検出通知を受信したときに、パケット転送装置から、経路分割点を元に判断した範囲までを一つの区間とし、その区間についてパケット転送ルールを定める。そのため、通信経路全体の中で、パケット転送ルールが設定済みのパケット転送装置を判断する必要がないため、第1の実施形態におけるルール設定内容記憶手段37を必要としない。すなわち、第2の実施形態では、経路制御装置60が記憶すべき情報量を少なく抑えることができる。
以上の説明では、各パケット転送装置のルール管理手段42a(図12参照)が、パケット転送ルール内の分類情報に適合するパケットを受信したときに、そのパケット転送ルールのタイマー値を初期値にリセットする場合を例にして説明した。ルール管理手段42aは、パケット転送ルール内の分類情報に適合するパケットを受信したときに、タイマー値のリセットを行わなくてもよい。この場合、図6に示すステップS26に相当する処理を実行しなければよい。
また、上記の説明では、タイマー値として1分または10分を定める場合を例示したが、この値は例示であり、各区間のタイマー値は1分または10分に限定されるわけではない。
また、分類情報に適合するパケットが多く通過すると考えられる区間において、タイマー値を10分等の値とするのではなく、無限大としてもよい。この場合、パケット転送装置のルール管理手段42a(図12参照)は、タイマー値が無限大であるパケット転送ルールに関しては、そのパケット転送ルールが不要になったと判定したときに削除すればよい。この判定方法に関しては、第1の実施形態で説明済みであるので、ここでは説明を省略する。
上記の第1の実施形態および第2の実施形態では、1つの通信ネットワークに対して1つの経路制御装置が存在する場合を説明した。通信システムの中に複数のドメインが形成されていて、通信システムがドメイン毎に経路制御装置を備える構成であってもよい。すなわち、経路制御装置の配置形態は、分散していても分散していなくてもよい。また、ドメイン毎に分散して配置された経路制御装置が経路制御装置間で動的な連携を行うことは必須ではない。ドメイン間で経路制御に関する静的なサービルレベルアグリーメント(Service Level Agreement )を結んだ場合にも、理論的に1つの経路制御機能を構築しているとみなせる。そのため、各経路制御装置がパケット転送ルールを設定するタイミングや、タイマー値の値を、ドメイン毎に変更する実地態様もあり得る。
次に、本発明の最小構成の例について説明する。図17は、本発明の通信システムの最小構成例を示すブロック図である。図18は、本発明の経路制御装置の最小構成例を示すブロック図である。
本発明の通信システムは、受信したパケットを転送する複数のパケット転送装置95と、各パケット転送装置95を制御することによりパケットの通信経路を制御する経路制御装置90とを備える。
経路制御装置90は、パケット転送ルール生成手段91と、パケット転送装置管理手段92とを備える。
パケット転送ルール生成手段91は、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成する。
パケット転送装置管理手段92は、パケット転送ルール生成手段91が生成したパケット転送ルールをパケット転送装置95に設定する。
また、パケット転送ルール生成手段91は、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせる。
各パケット転送装置95は、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行う。
以上のような構成により、パケットが多く通過すると考えられる区間ではタイマー値を大きく設定することで、短期間で同じパケット転送ルールを繰り返し設定することを防止することができる。その結果、経路制御装置90の処理負荷を抑えることができる。また、パケットの通過量が少ないと考えられる区間では、タイマー値を小さく設定することで、通信終了により使用されなくなったパケット転送ルールが長時間設定されたままになってしまうことを防止することができる。このように、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
上記の実施形態では、以下の(1)〜(7)に示すような通信システムの特徴的構成が開示されている。また、以下の(8)〜(10)に示すような経路制御装置の特徴的構成が開示されている。
(1)受信したパケットを転送する複数のパケット転送装置(例えば、パケット転送装置20〜23)と、各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置(例えば、経路制御装置10,60)とを備え、経路制御装置が、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段(例えば、パケット転送ルール生成手段34,34a)と、パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段(例えば、パケット転送装置管理手段38,38a)とを備え、パケット転送ルール生成手段が、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、各パケット転送装置は、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行うことを特徴とする通信システム。
(2)パケット転送ルール生成手段(例えば、パケット転送ルール生成手段34)が、パケット転送ルールの生成を要求されたときに(例えば、新規フロー検出通知を受信したときに)、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する通信システム。
(3)経路制御装置が、どのパケット転送装置にどのパケット転送ルールを設定したかを記憶するルール設定内容記憶手段(例えば、ルール設定内容記憶手段37)を備え、パケット転送ルール生成手段が、パケットが属するフローを識別する識別情報を含むパケット転送ルールを、パケットの通信経路上のパケット転送装置のうち、その識別情報を含むパケット転送ルールが設定されていないパケット転送装置を対象にして生成する通信システム。
(4)パケット転送ルール生成手段(例えば、パケット転送ルール生成手段34a)が、新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、そのパケットの通信経路内の区間であって、そのパケット転送装置を起点とする1つの区間を特定し、その区間に対応するタイマー値を決定し、その区間内のパケット転送装置に対するパケット転送ルールを生成する通信システム。
(5)経路制御装置が、予め通信経路の分割点として定められたパケット転送装置の情報を記憶する区間判定用情報記憶手段(例えば、区間判定用情報記憶手段35a)を備え、パケット転送ルール生成手段が、分割点として定められたパケット転送装置の情報に基づいて、パケット転送ルールの生成を要求したパケット転送装置を起点とする区間を特定する通信システム。
(6)パケット転送ルール生成手段が、通信経路の終端と区間とが近いほど区間に対応するタイマー値の値を大きな値に定め、通信経路の終端と区間とが遠いほど区間に対応するタイマー値の値を小さな値に定める通信システム。
(7)受信したパケットを転送する複数のパケット転送装置(例えば、パケット転送装置20〜23)と、各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置(例えば、経路制御装置10,60)とを備え、経路制御装置が、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成し、パケット転送ルールを生成する際には、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、生成したパケット転送ルールをパケット転送装置に設定し、各パケット転送装置が、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行うことを特徴とする通信システム。
(8)パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段(例えば、パケット転送ルール生成手段34,34a)と、パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段(例えば、パケット転送装置管理手段38,38a)とを備え、パケット転送ルール生成手段が、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせることを特徴とする経路制御装置。
(9)パケット転送ルール生成手段(例えば、パケット転送ルール生成手段34)が、パケット転送ルールの生成を要求されたときに、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する経路制御装置。
(10)パケット転送ルール生成手段(例えば、パケット転送ルール生成手段34a)が、新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、そのパケットの通信経路内の区間であって、そのパケット転送装置を起点とする1つの区間を特定し、その区間に対応するタイマー値を決定し、その区間内のパケット転送装置に対するパケット転送ルールを生成する経路制御装置。