(58)【調査した分野】(Int.Cl.,DB名)
前記第1転送制御部が前記制御装置へ前記転送データを転送した後に、当該転送データのヘッダ情報に含まれる第3ヘッダ情報と、転送データを破棄する第1処理情報とを対応させた対応情報を前記第1宛先情報に追加する宛先情報制御部をさらに備える請求項1に記載の転送装置。
前記宛先情報制御部は、前記第3ヘッダ情報と、前記第2処理情報と、前記存続時間情報とを対応させた対応情報を前記第2宛先情報に追加した後に、前記第3ヘッダ情報と、転送データを破棄する第1処理情報とを対応させた対応情報を前記第1宛先情報から削除する請求項2に記載の転送装置。
前記制御装置は、前記第1転送制御部が前記制御装置へ前記転送データを転送した後に、前記転送装置に対して、当該転送データのヘッダ情報に含まれる第3ヘッダ情報と、転送データを破棄する第1処理情報とを対応させた対応情報を前記第1宛先情報に追加させる制御信号を送信する破棄制御部をさらに備える請求項4に記載の通信システム。
前記制御装置へ前記転送データを転送した後に、当該転送データのヘッダ情報に含まれる第3ヘッダ情報と、転送データを破棄する第1処理情報とを対応させた対応情報を前記第1宛先情報に追加する宛先情報制御ステップをさらに有する請求項6に記載の転送方法。
前記宛先情報制御ステップにおいて、前記第3ヘッダ情報と、前記第2処理情報と、前記存続時間情報とを対応させた対応情報を前記第2宛先情報に追加した後に、前記第3ヘッダ情報と、転送データを破棄する第1処理情報とを対応させた対応情報を前記第1宛先情報から削除する請求項7に記載の転送方法。
【発明を実施するための形態】
【0026】
以下、図面を参照して、本発明に係る一実施形態における転送装置と、制御装置とを備える通信システムについて説明する。
図1は、本実施形態における転送装置と、制御装置とを備える通信システムの構成例を示すブロック図である。
図1に示すように、本実施形態の通信システムは、制御装置1と、転送装置2、2aとを備える構成である。この構成により通信システムは、転送装置2、2a及びネットワーク(NW)3を介して相互に通信可能なサービス提供サーバ4およびユーザ端末5に対して、オープンフロー技術を用いた通信経路の設定を行う通信サービスを提供する。
【0027】
制御装置1は、NW3の物理構成やルーティング情報、転送トポロジに関する情報等を含むネットワーク情報を保持する。制御装置1は、そのネットワーク情報に基づいて、各転送装置2、2aに保持される宛先情報を更新するための制御情報を生成する。また、制御装置1は、生成した制御情報を、転送装置2、2aへ送信する。具体的には、制御装置1は、各転送装置2、2aに保持されている宛先情報における宛先を追加・設定・削除する制御情報をする。制御装置1は、生成した制御情報を各転送装置2、2aへ送信することにより宛先情報を更新する。
【0028】
転送装置2は、サービス提供サーバ4又はユーザ端末5と接続されたゲートウェイ機能を有する転送装置である。転送装置2aは、転送装置2又はNW3と接続された集約機能を有する転送装置である。転送装置2及び転送装置2aは、それぞれ制御装置1と任意のネットワークを介して通信可能に接続されている。また、転送装置2及び転送装置2aは、通信パケットの転送先を示す宛先情報を保持している。転送装置2及び転送装置2aは、この宛先情報に基づいて通信パケットの転送先を制御する。これにより、転送装置2及び転送装置2aは、NW3を介してサービス提供サーバ4とユーザ端末5との間におけるユーザ通信を確立するための転送経路を設定する。また、転送装置2及び転送装置2aが保持する宛先情報の内容は、制御装置1より受信した制御情報に基づいて更新される。
【0029】
サービス提供サーバ4は、ユーザ端末5に対して提供されるサービスアプリケーションが動作するサーバである。なお、本実施形態における通信システムにより通信サービスが提供される対象は、サービス提供サーバ4に限られるものではない。通信システムにより通信サービスた提供される対象は、ユーザの遠隔拠点となるサーバ等であってもよい。ユーザ端末5は、NW3を介してサービス提供サーバ4が提供するサービスを、ユーザが利用するための端末であり、例えば、パーソナルコンピュータ、タブレット、携帯電話等である。
【0030】
次に、本実施形態における転送装置2の通信パケット又は通信フレーム(以下、通信パケット等という。)を転送する機能の構成例について説明する。なお、転送装置2aは、通信パケット等を転送する機能において転送装置2と同様の構成を備えているので、転送装置2aについての説明は省略する。
図2は、本実施形態における転送装置2の通信パケット等を転送する機能の構成例を示すブロック図である。
図2に示すように、転送装置2は、受信部21と、転送制御部22と、第1宛先情報記録部23と、第2宛先情報記録部24とを備える。
【0031】
受信部21は、サービス提供サーバ4又はユーザ端末5からの通信パケット等および制御装置1から送信された通信パケット等を受信する。転送制御部22は、第1転送制御部221と、第2転送制御部222とエントリ管理部223とを備える。第1宛先情報記録部23は、受信した通信パケット等のヘッダ情報と、受信した通信パケット等の転送先又は通信パケット等に対する処理内容(アクション)に関する情報であるエントリ情報とを対応させた宛先情報(対応情報)が複数設定された第1宛先情報を記録している。第2宛先情報記録部24は、受信した通信パケット等のヘッダ情報と、エントリ情報と、各エントリ情報を第2宛先情報記録部24に記録し続ける残り時間に関する情報である生存タイマとを対応させた宛先情報が複数設定された第2宛先情報を記録している。転送制御部22は、第1宛先情報及び第2宛先情報に設定されたヘッダ情報と同じ値を含む通信パケットに対して、当該ヘッダ情報に対応するエントリ情報に設定されている処理を行う。
【0032】
ここで、第2宛先情報記録部24に記録される第2宛先情報の構成例について説明する。
図3は、第2宛先情報記録部24に記録される第2宛先情報の構成例を示す図である。
図3に示すとおり、第2宛先情報240は、受信した通信パケット等のヘッダ情報に対応するヘッダ情報241と、受信した通信パケット等の転送先又は通信パケット等に対する処理に関する情報であるエントリ情報242と、各エントリ情報242を第2宛先情報240内に保持し続ける残り時間に関する情報である生存タイマ243とを対応させた宛先情報が複数設定されている。
【0033】
ヘッダ情報241として格納されるフィールド値は、例えば、受信ポート、送信元MACアドレス、宛先MACアドレス、プロトコル種別、VLAN ID、プライオリティ値、IP送信元アドレス、IP宛先アドレス、ToS値、送信元ポート番号及び宛先ポート番号のいずれか1つ又は複数を含むものである。
【0034】
エントリ情報242として格納されるフィールド値は、通信パケットに対する処理内容を定める値であり、例えば、「Forwarding」(転送)、「Enqueue」(格納)、「Drop」(破棄)及び「Modify」(フィールド値変更)のいずれかである。ここで、「転送」は、指定した宛先・方法で通信パケット等を転送する処理である。「格納」は、通信パケットをキューへ格納する処理である。「破棄」は、受信した通信パケットを破棄する処理である。「フィールド値変更」は、通信パケットに含まれるヘッダ情報241又はエントリ情報242のフィールド値を変更する処理である。また、生存タイマ243として格納されるフィールド値は、例えば、ヘッダ情報241を参照して特定される送信元からの最新の通信パケットが到着した時点からカウントダウンされる残り時間(単位:秒)である。
【0035】
図3においては、ヘッダ情報241の1行目には、「IP送信元アドレス={x.x.x.x}及びIP宛先アドレス={a.a.a.a}」が設定されている。また、そのヘッダ情報241の1行目に対応するエントリ情報242の1行目には、「Modify={プライオリティ値⇒“high”}及びForwarding={f.f.f.f}」が設定されている。ヘッダ情報241の1行目に対応する生存タイマ243の1行目には、「t1」が設定されている。また、ヘッダ情報241の2行目には、「IP送信元アドレス={y.y.y.y}及びプロトコル種別={P}」が設定されている。そのヘッダ情報241の2行目に対応するエントリ情報242の2行目には、「Drop」が設定され、生存タイマ243の2行目には、「t2」が設定されている。
【0036】
ここで、
図2の説明に戻り、第1宛先情報記録部23、第1転送制御部221、第2転送制御部222及びエントリ管理部223について説明する。
第1宛先情報記録部23は、
図3に示したヘッダ情報241と同等の情報を含むヘッダ情報231と、
図3に示したエントリ情報242と同等の情報を含むエントリ情報232とを対応させた第1宛先情報230を記録している。ただし、ヘッダ情報231には、制御装置1に転送する通信パケットに含まれるヘッダ情報(以下、第1ヘッダ情報という)と、それ以外のヘッダ情報(以下、第2ヘッダ情報という)であることを示す情報とが設定されている。
【0037】
第1ヘッダ情報が設定されたヘッダ情報231には、宛先に制御装置1が設定され、かつ、「転送」のフィールド値が格納されるエントリ情報232が対応付けられている。また、第2ヘッダ情報が設定されたヘッダ情報231には、宛先に第2転送制御部222が設定され、かつ、「転送」のフィールド値が格納されるエントリ情報232が対応付けられている。すなわち、第1宛先情報記録部23は、通信パケットを制御装置1へ転送するか第2転送制御部222へ転送するかを判断するための情報として、ヘッダ情報を記録している。
【0038】
第1転送制御部221は、第1宛先情報記録部23を参照して、受信部21が受信した通信パケットのヘッダ情報が第1ヘッダ情報と同一であるか、第2ヘッダ情報と同一であるかを判断する。第1転送制御部221は、受信した通信パケットのヘッダ情報が第1ヘッダ情報と同一であると判断した場合は、そのヘッダ情報231に対応付けられたエントリ情報232のフィールド値として、制御装置1を転送先とする「転送」のフィールド値を参照する。これにより、第1転送制御部221は、受信した通信パケットを制御装置1へ転送する。また、第1転送制御部221は、受信した通信パケットのヘッダ情報が第2ヘッダ情報と同一であると判断した場合は、第2ヘッダ情報に対応付けられたエントリ情報232のフィールド値として、第2転送制御部222を転送先とする「転送」のフィールド値を参照する。これにより、第1転送制御部221は、受信した通信パケットを第2転送制御部222へ転送する。
【0039】
なお、後述するが、第1宛先情報230は、特定のヘッダ情報に対応させて「破棄」のフィールド値が格納されるエントリ情報が設定される期間がある。この期間において、第1転送制御部221は、受信した通信パケットのヘッダ情報が特定のヘッダ情報と一致すると判断した場合に、受信した通信パケットを破棄する。
【0040】
また、第2転送制御部222は、第2宛先情報記録部24から、第1転送制御部221より転送された通信パケットのヘッダ情報で特定されるヘッダ情報241に対応付けられたエントリ情報242のフィールド値を参照する。また、第2転送制御部222は、第1転送制御部221から転送された通信パケットに対して参照したエントリ情報242に応じた処理を行う。例えば、エントリ情報242のフィールド値が特定の転送先への「転送」であれば、第2転送制御部222は、第1転送制御部221から転送された通信パケットをその転送先へ転送する。
【0041】
エントリ管理部223は、生存タイマ243において生存タイマが満了した(生存タイマ243のフィールド値が0になった)ことを検知する。この検知に応じて、エントリ管理部223は、その生存タイマに対応する宛先情報を第2宛先情報記録部24から第1宛先情報記録部23へ移動させる。この際、エントリ管理部223は、生存タイマが満了した宛先情報のヘッダ情報はそのまま第1宛先情報記録部23のヘッダ情報231に移動させる。また、エントリ管理部223は、移動させたヘッダ情報に対応するエントリ情報として、制御装置1を転送先とする「転送」のフィールド値を設定する。
【0042】
また、エントリ管理部223は、制御装置1からの通信パケットに含まれる制御情報(エントリ情報)に基づいて、第1宛先情報記録部23が記録している第1宛先情報230と、第2宛先情報記録部24が記録している第2宛先情報240とを更新する。また、エントリ管理部223は、受信部21において制御装置1から第1宛先情報230又は第2宛先情報240の変更を確認する信号を受信した場合に、第1宛先情報230又は第2宛先情報240が変更されたか否かを示す応答メッセージを制御装置1へ送信する機能も有する。
【0043】
次に、本実施形態における制御装置1の構成例について説明する。
図4は、本実施形態における制御装置1の構成例を示すブロック図である。
図4に示すように、制御装置1は、受信部11と、転送装置制御部12と、送信部13と、ネットワーク情報記録部14とを備える。なお、以下の説明において、制御装置1が転送装置2に対する制御を行う場合について説明するが、制御装置1は、転送装置2aに対しても転送装置2に対する制御と同様の制御を行う。
【0044】
受信部11は、転送装置2から送信された通信パケット等を受信する。転送装置制御部12は、破棄設定部121と、後述するネットワーク情報記録部14に記録されたネットワーク情報に基づいて、転送装置2に対して転送先を制御するエントリ情報を生成する宛先処理部122とを備える。送信部13は、転送装置制御部12が生成したエントリ情報を転送装置2へ送信する。ネットワーク情報記録部14は、NW3の物理構成やルーティング情報、転送トポロジに関する情報等を含むネットワーク情報を記録する。
【0045】
破棄設定部121は、転送装置2から転送された通信パケットと同一のヘッダ情報(以下、転送済みヘッダ情報という)を持つ通信パケットを、転送装置2において新たに受信した場合に破棄するよう制御するエントリ情報を生成する。また、破棄設定部121は、生成したエントリ情報を転送装置2へ送信する。これにより、転送装置2は、第1宛先情報230に対して転送済みヘッダ情報と対応させて通信パケットを破棄するよう制御するエントリ情報を追加する。また、破棄設定部121は、転送装置2の第1宛先情報230において破棄するよう制御するエントリ情報を追加する変更が行われたか否かを確認する信号を転送装置2へ送信する。これにより、受信部11は、転送装置2より宛先情報が変更されたか否かを示す応答メッセージを受信する。
【0046】
宛先処理部122は、ネットワーク情報記録部14に記録されたネットワーク情報に基づいて、各転送装置2の第2宛先情報240に追加するための転送先等を制御するエントリ情報を生成する。また、宛先処理部122は、生成したエントリ情報を各転送装置2に対して送信する。これにより、転送先等を制御するエントリ情報を受信した各転送装置2は、第2宛先情報240に転送先等を制御するエントリ情報を追加する。また、宛先処理部122は、転送装置2において第2宛先情報240が変更されたか否かを確認する信号を転送装置2に対して送信部する。これにより、受信部11は、転送装置2より第2宛先情報240が変更されたか否かを示す応答メッセージを受信する。
【0047】
また、破棄設定部121は、破棄するよう制御するエントリ情報を含む宛先情報を第1宛先情報230から削除する信号を、転送装置2へ送信する機能を有する。また、宛先処理部122は、第2宛先情報240に追加した宛先情報と同一のヘッダ情報に対応するエントリ情報を第1宛先情報230から削除する信号を、転送装置2へ送信する機能を有する。
【0048】
次に、本実施形態における転送装置2の転送動作について、第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する。
図5は、本実施形態における転送装置2の転送動作を第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する図である。
【0049】
図5に示すように、第1宛先情報230のヘッダ情報231には、「プロトコル=A」、「送信先=x.x.x.x」、「送信元=y.y.y.y」、…、「送信先=b.b.b.b」、「上記以外」が設定されている。また、第1宛先情報230のエントリ情報232には、「プロトコル=A」〜「送信先=b.b.b.b」に対応して「制御装置1へ転送」が設定され、「上記以外」に対応して、「第2転送制御部222へ転送」が設定されている。また、第2宛先情報240のヘッダ情報241には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」、…が設定されている。
【0050】
また、第2宛先情報240のエントリ情報242には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」に対応して「Port xへ転送」、「Port yへ転送」、「破棄」が設定されている。また、第2宛先情報240の生存タイマ243には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」に対応して「xx」、「0」、「xx」が設定されている。また、第1宛先情報230の下から2行目の枠で囲っている宛先情報を宛先情報230aとし、第2宛先情報240の上から2行目の枠で囲っている宛先情報を宛先情報240aとする。
【0051】
図5に示す第1宛先情報230を記録した第1宛先情報記録部23と、
図5に示す第2宛先情報240を記録した第2宛先情報記録部24とを備える転送装置2は、以下の動作を行う。まず、第1転送制御部221は、第1宛先情報230を参照して受信した通信パケットのヘッダ情報に例えば「送信元=y.y.y.y」が含まれるか否かを判断する。ここで含まれると判断した場合に、第1転送制御部221は、受信した通信パケットを制御装置1へ転送する。また、第1転送制御部221は、受信した通信パケットのヘッダ情報が「上記以外」に該当する(「プロトコル=A」、「送信先=x.x.x.x」、「送信元=y.y.y.y」、…、「送信先=b.b.b.b」のいずれでもない)と判断した場合に、受信した通信パケットを第2転送制御部222へ転送する。
【0052】
第1転送制御部221から通信パケットを受信した場合、第2転送制御部222は、以下の動作を行う。第2転送制御部222は、第2宛先情報240を参照して、第1転送制御部221より転送された通信パケットのヘッダ情報に「送信先=a.a.a.a」が含まれていると判断した場合に、その通信パケットを「Port x」へ転送する。
【0053】
また、エントリ管理部223は、第2宛先情報240において、例えば宛先情報240aの生存タイマ243のフィールド値が0になったことを検知する。エントリ管理部223は、この検知に応じて第2宛先情報240の宛先情報240aを、第1宛先情報230に移動させて、第1宛先情報230に宛先情報230aとして追加する。この際、エントリ管理部223は、宛先情報240aのエントリ情報242である「Port yへ転送」を「制御装置1へ転送」に変更した宛先情報230aを生成して第1宛先情報230に追加する。
【0054】
ここで、本実施形態の通信システムにおける効果について説明する。転送装置2において、受信した通信パケット等が第1宛先情報230に登録されているかを検索するためにかかる時間およびその処理負荷は、第1宛先情報230への宛先情報の登録数に比例する。本実施形態における転送装置2は、従来の転送装置内に1つのみ保持されていた宛先情報(宛先決定表)を、第1宛先情報230と第2宛先情報240とに分割して保持している。これにより、転送装置2は、第1宛先情報230のみを参照して、受信した通信パケットを制御装置1へ転送するか否かを判定することができる。また、第1宛先情報230は、制御装置1へ転送する宛先情報のみを登録しており、登録数の大きい第2宛先情報240に登録された宛先情報を含まない。これにより、第1宛先情報230は、従来の宛先決定表に比べて登録数を大幅に低減することができる。これにより、転送装置2は、制御装置1へ転送するか否かの判断に要する時間を削減することができる。
【0055】
また、第2宛先情報240は、生存タイマ243が設定されている。転送装置2は、第2宛先情報240内において生存タイマが満了した宛先情報を第1宛先情報230へ移動させることができる。これにより、転送装置2は、ユーザ通信の途絶えた宛先情報を第2宛先情報240に保持し続けることを防ぐことができる。また、転送装置2は、第2宛先情報240の登録数の増大を抑え、第2宛先情報240に対する処理負荷を軽減することができる。
【0056】
次に、本実施形態における制御装置1及び転送装置2が行う宛先情報の更新動作について、第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する。
図6は、本実施形態における制御装置1及び転送装置2の動作について第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する図である。なお、
図6において通信パケットの流れを示す矢印には、処理の順番に応じて(1)〜(4)を付与している。
【0057】
図6に示すように、第1宛先情報230のヘッダ情報231には、「プロトコル=A」、「送信先=x.x.x.x」、「送信元=y.y.y.y」、…、「上記以外」が設定されている。また、第1宛先情報230のエントリ情報232には、「プロトコル=A」、「送信先=x.x.x.x」、「送信元=y.y.y.y」、…に対応して「制御装置1へ転送」が設定され、「上記以外」に対応して「第2転送制御部222へ転送」が設定されている。また、第2宛先情報240のヘッダ情報241には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」、…、「送信先=x.x.x.x」が設定されている。
【0058】
また、第2宛先情報240のエントリ情報242には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」、…、「送信先=x.x.x.x」に対応して「Port xへ転送」、「Port yへ転送」、「破棄」、…、「Port zへ転送」が設定されている。また、第2宛先情報240の生存タイマ243には、「送信先=a.a.a.a」〜「送信先=x.x.x.x」の全てに対応して「xx」が設定されている。また、第1宛先情報230の上から2行目の枠で囲っている宛先情報を宛先情報230bとし、第2宛先情報240の下から1行目の枠で囲っている宛先情報を宛先情報240bとする。
【0059】
図6に示す第1宛先情報230を第1宛先情報記録部23に保持し、
図6に示す第2宛先情報240を第2宛先情報記録部24に保持した転送装置2は、以下のように宛先情報の更新動作を行う。まず、矢印(1)に示すように、転送装置2の受信部21は、通信パケットを受信する。なお、この時点における第2宛先情報240は、
図6に示す宛先情報240bが追加されていない状態である。
【0060】
次に、矢印(2)に示すように、第1転送制御部221は、第1宛先情報230を参照して、受信した通信パケットのヘッダ情報に例えば「送信先=x.x.x.x」が含まれると判断した場合に、受信した通信パケットを制御装置1へ転送する。
【0061】
次に、矢印(3)に示すように、制御装置1の宛先処理部122は、受信した通信パケットのヘッダ情報「送信先=x.x.x.x」に対して転送先となる「Port zへ転送」及び生存タイマ「xx」を設定したエントリ情報を、転送装置2へ送信部13を介して送信する。これにより、転送装置2のエントリ管理部223は、第2宛先情報240に宛先情報240bを追加する。
【0062】
次に、矢印(4)に示すように、制御装置1は、第2宛先情報240において設定を終えたヘッダ情報「送信先=x.x.x.x」を含む宛先情報230bを第1宛先情報230から削除するよう制御する通信パケットを、転送装置2に送信する。これにより、転送装置2のエントリ管理部223は、第1宛先情報230において宛先情報230bを削除する処理を行う。すなわち、
図6の第1宛先情報230は、宛先情報230bを含まない構成に更新される。
【0063】
上述したように制御装置1は、第2宛先情報240に対して通信経路の設定等を行う新たなエントリ情報及び生存タイマを含む宛先情報を追加することができる。また、制御装置1は、第1宛先情報230に対して第2宛先情報240に追加した宛先情報と同一のヘッダ情報に対応するエントリ情報を削除することができる。
【0064】
次に、本実施形態における制御装置1及び転送装置2が行う宛先情報を更新する動作及びユーザ端末5からの通信パケット等を破棄する動作について説明する。
図7は、本実施形態における通信システムの宛先情報を更新する動作及びユーザ端末5からの通信パケット等を破棄する動作を示すシーケンス図である。なお、
図7において、通信システムは、ユーザ端末5とサービス提供サーバ4との間のユーザ通信を確立するための転送経路の制御を行っている。
【0065】
図7に示すように、まず、ユーザ端末5は、転送装置2に通信パケットを送信する(ステップS701)。これにより、転送装置2は、通信パケットを受信する。次に、転送装置2は、受信した通信パケットを制御装置1に転送する(ステップS702、S703)。これにより、制御装置1は、通信パケットを受信する。次に、制御装置1は、受信した通信パケットのヘッダ情報と同一のヘッダ情報(以下、ヘッダ情報Aとする。)を持つ通信パケットの破棄を指示するエントリ情報を転送装置2へ送信する(ステップS704)。これにより、転送装置2の保持する第1宛先情報230には、ヘッダ情報Aに対応して「破棄」のエントリ情報が追加される。
【0066】
次に、制御装置1は、転送装置2に対して、第1宛先情報230においてヘッダ情報Aに対応して「破棄」のエントリ情報が追加されたか否か確認する信号を送信する(ステップS705)。これにより、転送装置2は、第1宛先情報230に「破棄」のエントリ情報が追加されたか否か確認する信号を受信する。次に、転送装置2は、第1宛先情報230においてヘッダ情報Aに対応して「破棄」のエントリ情報が追加されたか否かを示す応答メッセージを制御装置1に返信する(ステップS706)。
【0067】
ここでは、制御装置1は、第1宛先情報230に「破棄」のエントリ情報が追加されたことを示す応答メッセージを受信したとする。これにより、制御装置1は、ネットワーク情報記録部14に記録されたネットワーク情報に基づいて、各転送装置2の第2宛先情報240に追加するためのエントリ情報を生成する(ステップS707)。ここで、エントリ情報を追加する対象となる転送装置2は、ネットワーク情報に基づいて設定された転送経路に応じて定まる転送装置である。
図7の例では、ユーザ端末5とサービス提供サーバ4との間でユーザ通信を確立するための通信経路に含まれる転送装置2が、エントリ情報を追加する対象となる。
【0068】
このように、第1宛先情報230にヘッダ情報Aに対応して「破棄」のエントリ情報が設定されている期間は、転送装置2は、ユーザ端末5から新たに受信する通信パケットに対して以下の処理を行う。転送装置2は、ユーザ端末5からヘッダ情報Aを含む通信パケットを受信した場合(ステップS708、S709)、第1宛先情報230を参照して、ヘッダ情報Aを含む通信パケットを破棄する。これにより、転送装置2は、制御装置1に対してユーザ端末5から新たに受信した同じヘッダ情報Aを含む通信パケットを転送しないで済む。また、転送装置2は、制御装置1へ無駄な通信パケットを転送しないので、転送装置2から制御装置1への転送トラヒック量の増大を抑制することができ、かつ、転送処理に要する処理負荷を軽減することができる。
【0069】
次に、制御装置1は、ステップS707で生成したエントリ情報を各転送装置2へ送信する(ステップS710)。これにより、エントリ情報を受信した各転送装置2は、第2宛先情報240に転送先を制御するエントリ情報を追加する。次に、制御装置1は、ステップS710においてエントリ情報を送信した各転送装置2に対して、第2宛先情報240にエントリ情報を追加したか否かを確認する信号を送信する(ステップS711)。各転送装置2は、第2宛先情報240にエントリ情報を追加したか否かを示す応答メッセージを制御装置1へ送信する(ステップS712)。
【0070】
ここでは、制御装置1は、第2宛先情報240にエントリ情報を追加したことを示す応答メッセージを受信したとする。この場合、制御装置1は、ヘッダ情報Aに対応する「破棄」のエントリ情報を第1宛先情報230から削除する信号を、転送装置2へ送信する(ステップS713)。これにより、転送装置2は、第1宛先情報230からヘッダ情報Aに対応する「破棄」のエントリ情報を含む宛先情報を削除する。以上の処理によって、各転送装置2の第2宛先情報240には、ユーザ端末5とサービス提供サーバ4との間でユーザ通信を行うための通信経路を設定するためのエントリ情報が設定される。これにより、通信システムは、ユーザ端末5とサービス提供サーバ4との間でユーザ通信を確立する(ステップS714)。
【0071】
次に、
図7に示した動作における、制御装置1及び転送装置2の処理の詳細について説明する。
図8は、
図7に示した動作における、制御装置1及び転送装置2の処理の詳細を示すフロー図である。まず、転送装置2の受信部21は、ユーザ端末5から通信パケットを受信する(ステップS801)。次に、第1転送制御部221は、第1宛先情報記録部23を参照して、受信部21が受信した通信パケットのヘッダ情報と同じフィールド値を有するヘッダ情報231が第1宛先情報230に設定されているか否かを判断する(ステップS802)。
【0072】
ここで、受信した通信パケットのヘッダ情報と同じフィールド値を有するヘッダ情報231が第1宛先情報230に設定されていないと判断した場合(ステップS802のNO)、第2転送制御部222は、第1転送制御部221より転送された通信パケットのヘッダ情報で特定されるエントリ情報242のフィールド値を参照して、当該通信パケットの転送先を特定する(ステップS803)。次に、第2転送制御部222は、第1転送制御部221から転送された通信パケットを特定した転送先へ転送する(ステップS814)。
【0073】
また、受信した通信パケットのヘッダ情報と同じフィールド値を有するヘッダ情報231が第1宛先情報230に設定されていると判断した場合(ステップS802のYES)、第1転送制御部221は、受信した通信パケットを制御装置1へ転送する(ステップS804)。
【0074】
これにより、制御装置1の受信部11は、転送装置2から送信された通信パケットを受信する(ステップS805)。次に、破棄設定部121は、受信した通信パケットと同一のヘッダ情報を持つ通信パケットを転送装置2において新たに受信した場合に破棄するよう制御するエントリ情報を、転送装置2へ送信する(ステップS806)。また、破棄設定部121は、第1宛先情報230において、破棄するよう制御するエントリ情報を追加する変更が行われたか否かを確認する信号を、転送装置2に対して送信する(ステップS806)。ここで、通信パケットを破棄するよう制御するエントリ情報とは、第1宛先情報230において、ヘッダ情報に対応付けられたエントリ情報のフィールド値を「破棄」に変更するよう指示するエントリ情報である。
【0075】
これにより、転送装置2のエントリ管理部223は、第1宛先情報230において破棄するよう制御するエントリ情報を追加する変更を行う(ステップS807)。また、エントリ管理部223は、変更を確認する信号に応答して変更を行ったことを示す応答メッセージを制御装置1へ送信する(ステップS807)。
【0076】
次に、制御装置1の宛先処理部122は、ネットワーク情報に基づいて、各転送装置2の第2宛先情報240に追加するための転送先等を制御するエントリ情報を生成する(ステップS808)。すなわち、宛先処理部122は、転送経路を設定するために、エントリ情報を追加する転送装置2及び各転送装置2の第2宛先情報240に追加すべきエントリ情報を決定して、複数のエントリ情報を生成する。次に、宛先処理部122は、ステップS808で生成したエントリ情報を各転送装置2へ転送する(ステップS809)。次に、宛先処理部122は、第2宛先情報240において生成したエントリ情報が追加されたかを確認する信号を転送装置2へ送信する(ステップS809)。
【0077】
これにより、転送装置2のエントリ管理部223は、第2宛先情報240へ受信したエントリ情報を追加する(ステップS810)。次に、エントリ管理部223は、変更を確認する信号に応答して第2宛先情報240が変更されたこと示す応答メッセージを制御装置1へ送信する(ステップS810)。
【0078】
次に、破棄設定部121は、「破棄」のエントリ情報を含む宛先情報を第1宛先情報230から削除する信号を転送装置2へ送信する(ステップS811)。これにより、転送装置2のエントリ管理部223は、第1宛先情報230から「破棄」のエントリ情報を含む宛先情報を削除する(ステップS812)。次に、各転送装置2の第2転送制御部222は、ユーザ端末5から受信した通信パケットに対して、ステップS810で第2宛先情報240に追加されたエントリ情報に基づいて転送先を決定する(ステップS813)。次に、第2転送制御部222は、受信した通信パケットを決定した転送先へ送信する(ステップS814)。
【0079】
次に、
図8に示した制御装置1及び転送装置2における処理の詳細を、第1宛先情報230及び第2宛先情報240の具体例を示しながら
図9〜
図12を用いて説明する。なお、
図9〜
図12の説明においては、第1宛先情報230及び第2宛先情報240に含まれる具体的なデータの処理について主に説明する。
【0080】
まず、
図8に示したステップS801〜S803、S814における処理を第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する。
図9は、
図8に示したステップS801〜S803、S814における処理を第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する図である。
図9に示すように、第1宛先情報230のヘッダ情報231には、「プロトコル=A」、「送信先=x.x.x.x」、「送信元=y.y.y.y」、…、「上記以外」が設定されている。また、第1宛先情報230のエントリ情報232には、「プロトコル=A」〜「送信元=y.y.y.y」に対応して「制御装置1へ転送」が設定され、「上記以外」に対応して「第2転送制御部222へ転送」が設定されている。
【0081】
また、第2宛先情報240のヘッダ情報241には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」、…が設定されている。また、第2宛先情報240のエントリ情報242には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」に対応して「Port xへ転送」、「Port yへ転送」、「破棄」が設定されている。また、第2宛先情報240の生存タイマ243には、「送信先=a.a.a.a」、「送信先=b.b.b.b」、「送信先=c.c.c.c」に対応して「xx」が設定されている。また、第1宛先情報230の下から1行目の枠で囲っている宛先情報を宛先情報230cとし、第2宛先情報240の上から2行目の枠で囲っている宛先情報を宛先情報240cとする。
【0082】
まず、転送装置2の受信部21は、ユーザ端末5から「上記以外」のヘッダ情報を含む通信パケットを受信する(ステップS801)。次に、第1転送制御部221は、第1宛先情報230の宛先情報230cを参照して、受信した通信パケットのヘッダ情報を「上記以外」と判断し(ステップS802のNO)、受信した通信パケットを第2転送制御部222へ転送する。次に、第2転送制御部222は、第2宛先情報240の宛先情報240cから通信パケットのヘッダ情報「送信先=b.b.b.b」で特定されるエントリ情報242の「Port yへ転送」を参照して、ヘッダ情報「送信先=b.b.b.b」を有する通信パケットの転送先を「Port y」に決定する(ステップS803)。次に、第2転送制御部222は、ヘッダ情報「送信先=b.b.b.b」を有する通信パケットを、「Port y」へ転送する(ステップS814)。
【0083】
次に、
図8に示したステップS801、S802、S804〜S807における処理を第1宛先情報230の具体例を示しながら説明する。
図10は、
図8に示したステップS801、S802、S804〜S807における処理を第1宛先情報230の具体例を示しながら説明する図である。なお、
図10に示す第1宛先情報230は、
図9に示した第1宛先情報230と同一の構成であるので、その説明を省略する。また、上側の第1宛先情報230の上から2行目の枠で囲っている宛先情報を宛先情報230dとし、下側の第1宛先情報230の上から2行目の枠で囲っている宛先情報を宛先情報230eとする。
【0084】
まず、転送装置2の受信部21は、ユーザ端末5から「送信先=x.x.x.x」のヘッダ情報を含む通信パケットを受信する(ステップS801)。次に、第1転送制御部221は、第1宛先情報230の宛先情報230dを参照して、受信した通信パケットのヘッダ情報を「送信先=x.x.x.x」と判断する(ステップS802のYES)。この判断に応じて、第1転送制御部221は、受信した通信パケットを制御装置1へ転送する(ステップS804)。これにより、制御装置1の受信部11は、転送装置2から「送信先=x.x.x.x」のヘッダ情報を含む通信パケットを受信する(ステップS805)。次に、破棄設定部121は、「送信先=x.x.x.x」のヘッダ情報を含む通信パケットを破棄するよう制御するエントリ情報を転送装置2へ送信する(ステップS806)。次に、破棄設定部121は、第1宛先情報230において「送信先=x.x.x.x」のヘッダ情報を含む通信パケット破棄するよう制御するエントリ情報を追加する変更が行われたか否かを確認する信号を転送装置2に対して送信する(ステップS806)。
【0085】
これにより、転送装置2のエントリ管理部223は、第1宛先情報230において宛先情報230eに示すように「送信先=x.x.x.x」のヘッダ情報に対応するエントリ情報を「制御装置1へ転送」から「破棄」に変更する(ステップS807)。次に、エントリ管理部223は、制御装置1からの変更を確認する信号に応答して、変更を行ったことを示す応答メッセージを制御装置1へ送信する(ステップS807)。次に、制御装置1の宛先処理部122は、転送経路を設定するための各転送装置2の第2宛先情報240に追加するエントリ情報を生成する(ステップS808)。
【0086】
次に、
図8に示したステップS809〜S814における処理を第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する。
図11は、
図8に示したステップS809〜S814における処理を第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する図である。なお、
図11のステップS809は、
図10に示したステップS808に続く処理である。
【0087】
図11に示す第1宛先情報230は、
図9に示した第1宛先情報230と比較すると「送信先=x.x.x.x」のヘッダ情報に対応するエントリ情報が「破棄」に変更され、かつ、削除されている点以外は、同一の構成であるので、その説明を省略する。また、
図11に示す第2宛先情報240は、
図9に示した第2宛先情報240と比較すると「送信先=x.x.x.x」に対応して「Port zへ転送」が設定されている点以外は、同一の構成であるので、その説明を省略する。また、第1宛先情報230の上から2行目の枠で囲っている宛先情報を宛先情報230fとする。上側の第2宛先情報240の下から2行目の枠で囲っている宛先情報を宛先情報240dとし、下側の第2宛先情報240の下から2行目の枠で囲っている宛先情報を宛先情報240eとする。
【0088】
宛先処理部122は、ステップS808で生成したヘッダ情報「送信先=x.x.x.x」に対応して「Port zへ転送」が設定されたエントリ情報を各転送装置2へ転送する(ステップS809)。次に、宛先処理部122は、第2宛先情報240において生成したエントリ情報が追加されたかを確認する信号を転送装置2へ送信する(ステップS809)。これにより、転送装置2のエントリ管理部223は、第2宛先情報240にヘッダ情報「送信先=x.x.x.x」に対応して「Port zへ転送」が設定されたエントリ情報を含む宛先情報240dを追加する(ステップS810)。次に、エントリ管理部223は、制御装置1からの変更を確認する信号に応答して、第2宛先情報240が変更されたこと示す応答メッセージを制御装置1へ送信する(ステップS810)。
【0089】
次に、破棄設定部121は、「送信先=x.x.x.x」のヘッダ情報を含む宛先情報230fを第1宛先情報230から削除する信号を転送装置2へ送信する(ステップS811)。これにより、転送装置2のエントリ管理部223は、第1宛先情報230から「送信先=x.x.x.x」のヘッダ情報を含む宛先情報230fを削除する(ステップS812)。次に、各転送装置2の第2転送制御部222は、ユーザ端末5から新たに受信した通信パケットがヘッダ情報「送信先=x.x.x.x」を含む場合は、第2宛先情報240に追加された宛先情報240eに基づいて転送先を「Port z」に決定する(ステップS813)。これにより、第2転送制御部222は、受信した通信パケットを転送先「Port z」へ送信する(ステップS814)。
【0090】
次に、転送装置2が、ステップS807において第1宛先情報230に「破棄」のエントリ情報を設定した場合に、ユーザ端末5からの通信パケットを破棄する処理について第1宛先情報230の具体例を示しながら説明する。
図12は、ユーザ端末5からの通信パケットを破棄する処理について第1宛先情報230の具体例を示しながら説明する図である。なお、
図12に示す第1宛先情報230は、
図9に示した第1宛先情報230と「送信先=x.x.x.x」のヘッダ情報に対応するエントリ情報が「破棄」に変更されている点以外は、同一の構成であるので、その説明を省略する。また、第1宛先情報230の上から2行目の枠で囲っている宛先情報を宛先情報230gとする。
【0091】
まず、転送装置2の受信部21は、ユーザ端末5から「送信先=x.x.x.x」のヘッダ情報を含む通信パケットを受信する(ステップS801)。次に、第1転送制御部221は、第1宛先情報230の宛先情報230gを参照して、受信した通信パケットのヘッダ情報を「送信先=x.x.x.x」と判断する(ステップS802のYES)。次に、第1転送制御部221は、ヘッダ情報「送信先=x.x.x.x」に対応するエントリ情報に「破棄」の処理内容が設定されているか否かを判断する(ステップS120)。ここで、宛先情報230gを参照してヘッダ情報「送信先=x.x.x.x」に対応するエントリ情報に「破棄」の処理内容が設定されていると判断した場合(ステップS120のYES)は、第1転送制御部221は、受信した通信パケットを破棄する(ステップS121)。
【0092】
なお、受信した通信パケットのヘッダ情報が「送信元=y.y.y.y」である場合は、対応するエントリ情報に「破棄」の処理内容が設定されていないと判断して(ステップS120のNO)、第1転送制御部221は、受信した通信パケットを制御装置1へ転送する(ステップS804)。なお、ステップS804の処理の後は、
図8に示すステップS805以降の処理が行われるが
図12では省略している。
【0093】
次に、
図5を用いて簡単に説明した第2宛先情報240内に保持する生存タイマ243に基づく処理について、第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する。
図13は、生存タイマ243に基づく処理について第1宛先情報230及び第2宛先情報240の具体例を示しながら説明する図である。なお、
図13に示す第1宛先情報230及び第2宛先情報240は、
図5に示した第1宛先情報230及び第2宛先情報240と同一の構成であるので、その説明を省略する。また、第1宛先情報230の下から2行目の枠で囲っている宛先情報を宛先情報230hとし、上側の第2宛先情報240の上から2行目の枠で囲っている宛先情報を宛先情報240fとし、下側の第2宛先情報240の上から2行目の枠で囲っている宛先情報を宛先情報240gとする。
【0094】
まず、エントリ管理部223は、第2宛先情報240において、宛先情報240fの生存タイマ243が満了した(フィールド値が0になった)ことを検知する(ステップS130)。次に、エントリ管理部223は、第2宛先情報240に保持されている宛先情報240fの「Port yへ転送」を、「制御装置1へ転送」に変更した宛先情報230hを生成し、第1宛先情報230に生成した宛先情報230hを追加する(ステップS131)。次に、エントリ管理部223は、生存タイマ243が満了した宛先情報240fを第2宛先情報240から削除する(ステップS132)。以上の処理により、エントリ管理部223は、生存タイマ243が満了した宛先情報を、第2宛先情報240から第1宛先情報230に移動させることができる。
【0095】
本実施形態の転送制御部22は、まず、第1宛先情報230を参照して、制御装置1への転送か、第2転送制御部222への転送かを判断する。ここで第2転送制御部222への転送と判断した場合は、転送制御部22は、第2転送制御部222において第2宛先情報記録部24を参照して特定の転送先へ転送を行う。このように、転送制御部22は、まず第1宛先情報230を参照して制御装置1へ転送するか否かを判断することで、制御装置1への転送処理を、大量のエントリ情報を含む第2宛先情報240を参照せずに行うことができる。これにより、転送装置2は、制御装置1への転送に関する処理負荷を軽減することができる。
【0096】
なお、制御装置1は、IP宛先アドレス等のプレフィックス値を用いて転送先を制御する構成であってもよい。この場合は、ヘッダ情報241として格納されるフィールド値に、IP宛先アドレス等のプレフィックス値が含まれる。
【0097】
上述した実施形態における制御装置1及び転送装置2内の各機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0098】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【解決手段】第1宛先情報に設定された第1ヘッダ情報と、受信した転送データに含まれるヘッダ情報とが一致した場合に、制御装置へ受信した転送データを転送する第1転送制御部と、第2宛先情報に設定された第2ヘッダ情報と、受信した転送データに含まれるヘッダ情報とが一致した場合に、第2ヘッダ情報に対応する第2処理情報の転送先へ受信した転送データを転送する第2転送制御部とを備え、第1転送制御部は、第1宛先情報に設定された第1ヘッダ情報と、受信した転送データに含まれるヘッダ情報とが一致しない場合は、第2転送制御部に受信した転送データを転送する。