以下、本発明の原理を図面を参照して詳細に説明する。
図1は、本発明の経路計算システムの原理図である。
図に示すように伝送装置1は、端末装置2および他伝送装置3と接続されている。伝送装置1は、他伝送装置3からルーティングプロトコルパケットを受信すると、端末装置2に送信し、端末装置2にパケットの送信先を示した送信先情報の再計算を行わせる。そして、端末装置2で計算された送信先情報を受信する。
伝送装置1は、送信先情報受信手段1a、送信先情報記憶手段1bおよびルーティングパケット送信手段1cを有している。端末装置2は、ルーティングパケット受信手段2a、計算手段2b、および送信先情報送信手段2cを有している。
伝送装置1の送信先情報受信手段1aは、端末装置2からパケットの送信先を示した送信先情報を受信する。送信先情報記憶手段1bは、送信先情報受信手段1aより受信された送信先情報を記憶する。ルーティングパケット送信手段1cは、ルーティングプロトコルパケットを他伝送装置3から受信し、端末装置2に送信する。なお、端末装置2を除くネットワーク上の端末装置間でやり取りされる通常のパケットは、送信先情報記憶手段1bに記憶されている送信先情報を参照して、転送される。
端末装置2のルーティングパケット受信手段2aは、伝送装置1のルーティングパケット送信手段1cから送信されるルーティングプロトコルパケットを受信する。計算手段2bは、ルーティングプロトコルパケットに基づいて、送信先情報の再計算を行う。送信先情報送信手段2cは、再計算された送信先情報を伝送装置1の送信先情報受信手段1aに送信する。
このような経路計算システムによると、伝送装置1は、他伝送装置3から送信されるルーティングプロトコルパケットを端末装置2に送信する。端末装置2は、伝送装置1から送信されたルーティングプロトコルパケットに基づいて、パケットの送信先を示した送信先情報を再計算し、伝送装置1に送信する。
このように、端末装置にパケットの送信先を示した送信先情報の再計算を行わせるようにした。これによって、送信先情報の計算を高速化するには、高性能な端末装置に交換することによって済み、伝送装置のハードウェアの再設計、交換が不要となり、低コストで送信先情報の計算の高速化を図ることができる。
次に、本発明の第1の実施の形態を図面を参照して詳細に説明する。
図2は、第1の実施の形態に係る経路計算システムの構成例を示す図である。
図に示すようにルータ10は、例えば、PC(Personal Computer)である端末装置20〜40と接続されている。ルータ10と端末装置20〜40は、例えば、イーサネット(登録商標)や光ケーブルで接続されている。また、図示していないが、ルータ10は、他のルータと、例えば、イーサネットや光ケーブルで接続されている。ルータ10には、Xという名称が付与され、端末装置20〜40には、PC_A、PC_B、PC_Cという名称が付与されている。ルータ10は、経路変動によって経路計算が必要となった場合、経路計算に必要なパケットを端末装置20〜40に送信し、経路計算を端末装置20〜40に実行させる。
ルータ10は、端末装置20〜40にパケットを送信するとき、端末装置20〜40を識別するためのタグ値をパケットに付与して送信する。端末装置20〜40は、パケットに付与されているタグ値を参照することによって、自分宛てのパケットを認識することができる。なお、図2の例では、タグ値10のパケットは端末装置20宛てのパケット、タグ値11のパケットは端末装置30宛てのパケット、タグ値12のパケットは端末装置40宛てのパケットである。一方、端末装置20〜40も、パケットをルータ10に送信するとき、タグ値を付与する。ルータ10は、パケットに付与されているタグ値を参照することにより、どの端末装置からパケットが送信されたかを認識することができる。
図3は、タグ値を説明する図である。
図3には、図2のルータ10と端末装置20が示してある。ルータ10は、パケットを端末装置20に送信するとき、端末装置20宛てであることを示すため、データの先頭に、タグ値10を付与する。端末装置20も、自分がパケットを送信したことを示すために、データの先頭にタグ値10を付与する。ルータ10と端末装置20は、データの先頭に付与されているタグ値を参照することにより、パケットの送信元を認識することができる。なお、このようなパケットの制御として、VLAN(Virtual Local Area Network)タグ(IEEE802.1qで定められるVLANID)を用いることができる。
図2の説明に戻る。端末装置20〜40は、図3で説明したようにタグ値を参照して、自分宛てのパケットを受信する。端末装置20〜40は、ルータ10から送信されたパケットに基づいて、経路計算を行う。端末装置20〜40は、経路計算の結果を示すフォワーディング制御パケットをルータ10に送信する。
ルータ10は、どの端末装置20〜40からのフォワーディング制御パケットを受信するかの優先度を有している。優先度は、端末装置20〜40の経路計算の処理能力が高い順になっている。ルータ10は、優先度の最も高い端末装置20〜40からフォワーディング制御パケットを受信する。なお、例えば、優先度の最も高い端末装置20〜40が故障した場合、ルータ10は、次に優先度の高い端末装置20〜40からフォワーディング制御パケットを受信する。
ルータ10は、端末装置20〜40から受信したフォワーディング制御パケットに基づいて、通常のパケットの転送先を示すフォワーディングエントリを書き換える。
このように、経路変動が生じた場合、ルータ10は、外部の端末装置20〜40に経路計算を行わせるようにした。これによって、経路計算の高速化を図る場合、端末装置20〜40を交換すればよく、ルータ10のハードウェアの交換は不要となり、低コストで経路計算の高速化を図ることができる。また、複数の端末装置20〜40により、経路計算の冗長性を持たせることによって、端末装置20〜40に障害が発生した際にも、次に優先度の高い端末装置20〜40で経路計算が続行でき、信頼性の高い運用が可能となる。
次に、ルータ10と端末装置20〜40が有する機能について説明する。
図4は、第1の実施の形態に係るルータと端末装置の機能ブロック図である。
図に示すように、ルータ10と端末装置20〜40は、LAN(Local Area Network)50で接続されている。ルータ10は、00:0E:00:D2:11:12のMACアドレスを有し、端末装置20〜30は、それぞれ00:0E:01:3D:01:02、00:03:0D:00:10:20、00:00:B0:30:22:15のMACアドレスを有している。
ルータ10は、プロトコルパケット判別部11、フォワーディング処理部12、経路計算処理切替え部13、外部計算機管理部14、装置管理部15、プロトコル処理部16、および経路計算処理通信部17を有している。
プロトコルパケット判別部11は、回線を介して他のルータから受信したパケットが、ルーティングプロトコルパケット(制御パケット)であるか、端末装置間で送受信される非制御パケットであるかを判別する。プロトコルパケット判別部11は、制御パケットと判別した場合、経路計算処理切替え部13に出力する。非制御パケットと判別した場合、フォワーディング処理部12に出力する。また、プロトコルパケット判別部11は、フォワーディング処理部12によって経路切替えされた非制御パケットを、他のルータに送信する。
フォワーディング処理部12は、非制御パケットの他のルータに転送すべき転送先を示したテーブルを有している。フォワーディング処理部12は、テーブルを参照して、プロトコルパケット判別部11から出力される非制御パケットの転送先を切替える。テーブルは、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)の記憶装置に構築され、保持される。
経路計算処理切替え部13は、プロトコルパケット判別部11から出力された制御パケットの出力先を切替える。また、装置管理部15が管理しているルータ10自身に関する装置情報の出力先を切替える。経路計算処理切替え部13は、ルータ10に端末装置20〜40が接続されている場合、制御パケットおよび装置情報を経路計算処理通信部17に出力し、端末装置20〜40が接続されていない場合、制御パケットおよび装置情報をプロトコル処理部16に出力する。すなわち、ルータ10は、端末装置20〜40が接続されている場合、端末装置20〜40に経路計算を行わせ、端末装置20〜40が接続されていない場合、自分で経路計算を行うようにする。
外部計算機管理部14は、LAN50に接続されている端末装置20〜40を定期的に検索し、その端末装置20〜40に関する情報を収集して管理する。このとき、外部計算機管理部14は、端末装置20〜40を識別するためのタグ値を付与して、管理する。端末装置20〜40に関する情報は、例えば、CPU(Central Processing Unit)速度、メモリ容量など、端末装置20〜40の処理能力に関する情報である。この端末装置20〜40の情報は、例えば、RAMやHDDの記憶装置に保持され、管理される。
装置管理部15は、ルータ10自身に関する装置情報をデータベースに保持している。この装置情報には、例えば、ルータ10が具備しているポートのポート状態(例えば、アップ状態かダウン状態)を示す装置状態情報、各ポートに付与されているアドレスを管理する装置構成情報がある。装置管理部15は、装置情報が変更された場合、変更された装置情報における経路計算を行う。その計算結果、フォワーディング処理部12のテーブルを変更する必要が生じた場合、装置管理部15は、経路計算に従った新たなフォワーディングエントリをテーブルに登録する。なお、データベース情報は、例えば、RAMやHDDの記憶装置に保持される。また、装置管理部15は、端末装置20〜40の検索が行われるとき、この装置情報を端末装置20〜40に送信する。
プロトコル処理部16は、ネットワークにおける経路情報(例えば、ある経路において隣にはどのようなルータが接続されているかの情報)を保持している。プロトコル処理部16は、経路情報と経路計算処理切替え部13から出力される制御パケットに基づいて、経路計算を行う。経路計算の結果、フォワーディング処理部12のテーブルを変更する必要が生じた場合、プロトコル処理部16は、経路計算に従った新たなフォワーディングエントリをテーブルに登録する。
経路計算処理通信部17は、LAN50に接続されている端末装置20〜40と通信を行う。経路計算処理通信部17は、端末装置20〜40によって経路計算された、新たなフォワーディングエントリを受信すると、外部計算機管理部14の情報を参照して、最も処理能力の高い端末装置20〜40から送信されてくるフォワーディングエントリのみをフォワーディング処理部12のテーブルに登録する。
端末装置20は、経路計算処理通信部21、外部計算機検索応答部22、装置管理部23、およびプロトコル処理部24を有している。
経路計算処理通信部21は、ルータ10と通信を行う。経路計算処理通信部21は、ルータ10からタグ値が付与されると、そのタグ値をパケットに付与してルータ10と通信を行う。
外部計算機検索応答部22は、ルータ10からの検索要求に応じ、端末装置20自身に関する情報を、経路計算処理通信部21を介してルータ10に返信する。端末装置20自身に関する情報は、上記の外部計算機管理部14で説明したCPU速度、メモリ容量など、処理能力に関する情報である。また、外部計算機検索応答部22は、ルータ10から付与されたタグ値を保持し、管理する。
装置管理部23は、ルータ10から送信されてくる装置管理部15の装置情報を保持する。装置管理部23は、ルータ10の装置情報が変更された場合、変更された装置情報をプロトコル処理部24に通知を行う。プロトコル処理部24が新しい装置情報を基に経路計算を行う。その計算結果、フォワーディング処理部12のテーブルを変更する必要が生じた場合、プロトコル処理部24は、経路計算に従った新たなフォワーディングエントリをルータ10に送信する。なお、装置情報は、例えば、RAMやHDDの記憶装置に保持される。
プロトコル処理部24は、ネットワークにおける経路情報を保持している。プロトコル処理部24は、経路情報とルータ10から送信されてくる制御パケットに基づいて、経路計算を行う。経路計算の結果、フォワーディング処理部12のテーブルを変更する必要が生じた場合、プロトコル処理部24は、経路計算に従った新たなフォワーディングエントリをルータ10に送信する。
なお、端末装置30,40も端末装置20と同じ機能ブロックを有している。
次に、外部計算機管理部14が、LAN50に接続されている端末装置20〜40を定期的に検索するときに用いるパケットのデータ構成例について説明する。
図5は、端末装置検索時に送受信されるパケットのデータ構成例を示した図である。
図に示すようにパケット61は、送信元アドレス、送信先アドレス、メッセージタイプ、およびオプションの領域を有している。
送信元アドレスには、パケット61を送信する装置のMACアドレスが格納される。ルータ10が、外部の端末装置20〜40を検索するために、パケット61を出力する場合、送信元アドレスには、ルータ10のMACアドレスが格納される。端末装置20〜40が、ルータ10からの検索に対する応答のために、パケット61を出力する場合、送信元アドレスには、端末装置20〜40のMACアドレスが格納される。
送信先アドレスには、パケット61の送信先のMACアドレスが格納される。ルータ10がLAN50に接続されている端末装置を検出する場合は、全端末装置に送信されるようにするため、送信先アドレスには、ブロードキャスト設定(FF:FF:FF:FF:FF:FF)がされる。端末装置20〜40がルータ10の検出に対し応答する場合は、ルータ10のMACアドレスが格納される。
メッセージタイプには、オプションに格納されるデータの特性を示す情報が格納される。メッセージタイプが1の場合、パケット61は端末装置20〜40の検索のために使用されていることを示し、オプションは使用されないことを示す。メッセージタイプが2の場合、オプションには、端末装置20〜40のルータ10への応答に関するデータが格納されていることを示す。このデータは、例えば、端末装置20〜40のCPU速度、メモリ容量である。メッセージタイプが3の場合、オプションには、タグ値が格納されていることを示す。
次に、ルータ10から端末装置20〜40にタグ値が付与された場合に、ルータ10と端末装置20〜40間で送受信されるパケットのデータ構成例について説明する。
図6は、ルータと端末装置間で送受信されるパケットのデータ構成例を示した図である。
図に示すようにパケット62は、タグ値、メッセージタイプ、インフォメーションタイプ、およびインフォメーションの領域を有している。
タグ値には、ルータ10が端末装置20〜40に付与したタグ値が格納される。ルータ10は、タグ値によって端末装置20〜40を識別し、通信を行う。
メッセージタイプとインフォメーションタイプには、インフォメーションのデータの特性を示す情報が格納される。メッセージタイプでインフォメーションの大まかな特性を示し、インフォメーションタイプで詳細な特性を示している。
メッセージタイプが11の場合は、情報に関するデータが格納されていることを示す。
メッセージタイプが12の場合は、経路変更の状態に関するデータが格納されていることを示す。メッセージタイプが13の場合は、端末装置の状態チェックに関するデータが格納されていることを示す。
インフォメーションタイプが1の場合は、装置情報に関するデータが格納されていることを示す。インフォメーションタイプが2の場合は、経路情報に関するデータが格納されていることを示す。インフォメーションタイプが3の場合は、VPNに関するデータが格納されていることを示す。インフォメーションタイプが4の場合は、端末装置のCPU等の負荷情報に関するデータが格納されていることを示す。
次に、ルータ10の外部計算機管理部14が管理する、端末装置20〜40に関する情報について説明する。
図7は、ルータの外部計算機管理部が管理する端末装置に関する情報のデータ構成例を示した図である。
図に示す外部計算機管理情報63は、ルータ10の外部計算機管理部14が管理する、端末装置20〜40に関する情報である。外部計算機管理情報63は、外部計算機MACアドレス、制御ポート番号、外部計算機識別タグ値、ルータ情報通知状態、優先順位、CPU、メモリの欄を有している。
外部計算機MACアドレスの欄には、外部計算機管理部14が検索した端末装置20〜40のMACアドレスが格納される。制御ポート番号の欄には、外部計算機管理部14が検索した端末装置20〜40の接続されているポートのポート番号が格納される。外部計算機識別タグ値の欄には、外部計算機管理部14が検索した端末装置20〜40に付与するタグ値が格納される。ルータ情報通知状態の欄は、装置情報と経路情報の欄を有し、装置情報の欄には、ルータ10自身に関する装置情報を端末装置20〜40に送信したかを示す情報が格納される。経路情報の欄には、ネットワークにおける経路情報を送信したかを示す情報が格納される。なお、済みで送信したことを示し、未で送信していないことを示す。優先順位の欄には、端末装置20〜40から送信されてくる経路計算結果のどれを優先して受信すべきかを示す優先順位が格納される。優先順位は、次に説明するCPUおよびメモリによって決められる。CPUの欄には、外部計算機管理部14が検索した端末装置20〜40のCPU速度が格納される。メモリの欄には、外部計算機管理部14が検索した端末装置20〜40のメモリ容量が格納される。
次に、端末装置20〜40に付与されたタグ値の管理について説明する。
図8は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報64は、端末装置20の外部計算機検索応答部22が保持して管理しているタグ値である。タグ値管理情報64は、ルータのMACアドレスおよびタグ値の欄を有している。タグ値管理情報64は、例えば、RAMやHDDの記憶装置に記憶される。
ルータのMACアドレスの欄には、端末装置20の通信相手であるルータ10のMACアドレスが格納される。タグ値の欄には、ルータ10から付与されたタグ値が格納される。経路計算処理通信部21は、外部計算機検索応答部22で管理されているタグ値管理情報64を参照して、ルータ10から送信された自分宛てのパケットを判別する。また、タグ値管理情報64を参照して、ルータ10に送信するパケットにタグ値を付加する。なお、ルータ10は、パケットに付加されているタグ値10によって、端末装置20が送信元であることを判別できる。
次に、図4の経路計算システムの動作について、外部計算機(端末装置20〜40)を検索する動作、ルータ10が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作に分けて説明する。まず、外部計算機を検索する動作について説明する。
ルータ10の外部計算機管理部14は、LAN50上に端末装置20〜40が存在しているか、定期的に検索する。このとき、外部計算機管理部14は、端末装置20〜40を検索するための検索メッセージを生成し、経路計算処理通信部17に検索メッセージ転送要求を行う。検索メッセージは、具体的には、図5で説明したパケット61の送信元アドレスにルータ10のMACアドレス00:0E:00:D2:11:12を格納し、送信先アドレスにFF:FF:FF:FF:FF:FFを格納し(ブロードキャスト設定)、メッセージタイプに1を格納したものである。経路計算処理通信部17は、検索メッセージ転送要求を受けて、上記の検索メッセージをブロードキャストし、端末装置20〜40に送信する。
端末装置20の経路計算処理通信部21は、LAN50からフレームを受信し、それが検索メッセージであれば、外部計算機検索応答部22に検索メッセージ処理要求を行う。外部計算機検索応答部22は、検索メッセージ処理要求を受けると、端末装置20自身が外部計算機として使用可能状態であれば、端末装置20自身に関する情報を含む検索応答メッセージを作成する。端末装置20自身に関する情報は、例えば、CPU速度、メモリ容量である。検索応答メッセージは、具体的には、図5で説明したパケット61の送信元アドレスに端末装置20のMACアドレス00:0E:01:3D:01:02を格納し、送信先アドレスにルータ10のMACアドレス00:0E:00:D2:11:12を格納し、メッセージタイプに2を格納し、オプションに2.0、512を格納したものである。2.0は端末装置20のCPU速度2.0GHzを示し、512は端末装置20のメモリ容量512Mバイトを示している。
外部計算機検索応答部22は、検索応答メッセージを作成すると、経路計算処理通信部21に、検索応答メッセージをルータ10に送信するよう、検索応答メッセージ送信要求をする。経路計算処理通信部21は、検索応答メッセージ送信要求を受けて、検索応答メッセージをルータ10に送信する。
ルータ10の経路計算処理通信部17は、フレームを受信し、検索応答メッセージであれば(メッセージタイプが2であれば)、外部計算機管理部14に検索応答メッセージ処理要求を行う。このとき、経路計算処理通信部17は、受信した検索応答メッセージと、検索応答メッセージを受信したポートのポート番号とを経路計算処理通信部17に引き渡す。なお、ここでは、ポート番号を120とする。
外部計算機管理部14は、検索応答メッセージ処理要求を受けると、ともに引き渡される検索応答メッセージより、図7で示した外部計算機管理情報63を生成する。このとき、外部計算機のMACアドレスに対応するタグ値を決定し、外部計算機管理情報63に含める。また、検索応答メッセージを受信したポート番号(120)も含める。なお、上記例では、端末装置20より検索応答メッセージを受信しているので、外部計算機管理情報63は、図7に示す最上欄のようになる。なお、タグ値は、外部計算機のMACアドレスごとに決定する。
外部計算機管理部14は、タグ値を決定すると、タグ値通知メッセージを生成する。タグ値通知メッセージは、具体的には、図5で説明したパケット61の送信元アドレスにルータ10のMACアドレスを格納し、送信先アドレスに端末装置20のMACアドレスを格納し、メッセージタイプに3を格納し、オプションに付与するタグ値の10を格納したものである。外部計算機管理部14は、タグ値を決定した端末装置20に、タグ値通知メッセージを送信するよう、経路計算処理通信部17にタグ値通知要求をする。経路計算処理通信部17は、タグ値通知要求を受けて、タグ値通知メッセージを端末装置20に送信する。
端末装置20の経路計算処理通信部21は、フレームを受信し、タグ値通知メッセージであれば(メッセージタイプが3)、外部計算機検索応答部22にタグ値通知処理要求をする。外部計算機検索応答部22は、タグ値通知処理要求を受けると、タグ値通知メッセージから、図8に示したタグ値管理情報64を生成し、保持する。経路計算処理通信部21は、外部計算機検索応答部22にタグ値が保持されると、以後、このタグ値をフレームに付与して、ルータ10と通信を行う。
ルータ10の経路計算処理通信部17は、タグ値メッセージの送信を完了すると、外部計算機管理部14にタグ値通知完了の通知をする。外部計算機管理部14は、タグ値通知完了の通知を受けると、外部計算機にルータ10が保持している経路計算に必要な情報(装置情報、経路情報)を外部計算機に送信するため、装置管理部15とプロトコル処理部16にデータベース情報通知要求をする。
装置管理部15は、データベース情報通知要求を受けると、装置情報を含むデータベース情報メッセージを生成する。プロトコル処理部16は、データベース情報通知要求を受けると、経路情報を含むデータベース情報メッセージを生成する。データベース情報メッセージは、具体的には、図6で説明したパケット62のメッセージタイプに11を格納し、インフォメーションタイプに1を格納し、インフォメーションに装置情報を格納したものである。または、インフォメーションタイプに2を格納し、インフォメーションに経路情報を格納したものである。なお、タグ値は、データベース情報メッセージが外部計算機に送信されるときに付与される。
装置管理部15とプロトコル処理部16は、経路計算処理通信部17にデータベース情報送信要求をする。経路計算処理通信部17は、データベース情報送信要求を受けると、データベース情報メッセージにタグ値を付与してLAN50に送信する。このとき、経路計算処理通信部17は、外部計算機管理情報63のルータ情報通知状態が未である外部計算機に対して、データベース情報メッセージを送信する。
端末装置20の経路計算処理通信部21は、自分宛てのタグ値のフレームを受信し、タグ値を除去する。フレームのメッセージタイプが11で、インフォメーションタイプが1の場合は装置管理部23に、インフォメーションタイプが2の場合はプロトコル処理部24にデータベース情報処理要求をする。
装置管理部23は、データベース情報処理要求を受けると、データベース情報メッセージから装置情報のデータベースを生成する。プロトコル処理部24は、データベース処理要求を受けると、データベース情報メッセージから経路情報のデータベースを生成する。装置管理部23とプロトコル処理部24は、データベース情報処理要求に対する処理が完了すると、ルータ10にデータベース情報通知完了の通知をする。
ルータ10の外部計算機管理部14は、端末装置20からデータベース情報通知完了の通知を受けると、外部計算機管理情報63のルータ情報通知状態を済みにする。外部計算機管理部14は、ルータ情報通知状態の装置情報と経路情報とがともに済みになった場合、CPUとメモリの情報を参照して、外部計算機の優先順位を計算し、外部計算機管理情報63に格納する。優先順位は、CPU速度とメモリ容量によって決められる。例えば、CPU速度の速い順またはメモリ容量の大きい順で決められる。
優先順位の決定後、外部計算機管理部14は、経路計算処理通信部17に経路計算制御切替え要求を行う。経路計算処理通信部17は、経路計算制御切替え要求を受けると、経路計算処理切替え部13に、経路計算制御切替え要求を行う。経路計算処理切替え部13は、経路計算制御切替え要求を受けると、ルーティングプロトコルの制御パケットと、装置情報が変更された場合に装置管理部15から出力される装置情報変更通知とを、経路計算処理通信部17に出力するように切替える。
これにより、タグ値を利用した外部計算機とルータとの通信手段が確立し、ルータの経路計算機能を外部計算機で行うことができる。
次に、ルータ10が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作について説明する。
ルータ10のプロトコルパケット判別部11は、他のルータからルーティングプロトコルの制御パケットを受信すると、その制御パケットを経路計算処理切替え部13に出力する。また、装置管理部15は、装置情報の変更が発生すると、装置状態変更通知パケットを生成し、経路計算処理切替え部13に出力する。装置状態変更通知パケットは、具体的には、図6で示したパケット62のタグ値に端末装置20〜40に付与したタグ値を格納し、メッセージタイプに12を格納し、インフォメーションタイプに1を格納し、インフォメーションに装置状態の変更情報を格納したものである。
経路計算処理切替え部13は、経路計算処理通信部17から経路計算制御切替え要求を受付け済みであれば、経路計算処理通信部17に制御パケット転送要求を行い、制御パケットおよび装置状態変更通知パケットを出力する。
経路計算処理通信部17は、経路計算処理切替え部13から制御パケット転送要求を受けると、外部計算機管理情報63のルータ情報通知状態が済みとなっている外部計算機に対し、タグ値を付与した装置内制御パケット(制御パケット、フォワーディング制御パケット、装置状態変更通知パケットを装置内制御パケットと呼ぶ)を送信する。
端末装置20の経路計算処理通信部21は、外部計算機検索応答部22で管理されているタグ値の付与された装置内制御パケットを受信する。受信した装置内制御パケットのタグ値を除去し、それが制御パケットなら、プロトコル処理部24に出力する。装置状態変更通知パケットなら、装置管理部23に出力する。
プロトコル処理部24は、受信された制御パケットに基づいて、経路の再計算をし、保持している経路情報のデータベースを更新する。その結果、フォワーディングエントリの登録・変更・削除が必要な場合は、フォワーディング制御パケットを生成する。また、他のルータへパケットの送信が必要な場合は、制御パケットを生成し、経路計算処理通信部21に制御パケット転送要求を行う。
装置管理部23は、受信された装置状態変更通知パケットより、保持している装置情報のデータベースを更新する。装置管理部23は、変更された装置情報をプロトコル処理部24に通知する。プロトコル処理部24は、経路の再計算を行い、その結果、フォワーディングエントリの登録・変更・削除が必要な場合は、フォワーディング制御パケットを生成し、経路計算処理通信部21に制御パケット転送要求を行う。
経路計算処理通信部21は、制御パケット転送要求を受けると、装置内制御パケットに、外部計算機検索応答部22が管理しているタグ値を付与し、LAN50に送信する。
ルータ10の経路計算処理通信部17は、外部計算機管理情報63で管理されているタグ値が付与された装置内制御パケットを受信する。このとき、外部計算機管理情報63に設定されている優先順位を参照し、優先度の最も高いタグ値の端末装置20〜40から送信されてきた装置内制御パケットのみを受信する。
経路計算処理通信部17は、受信した装置内制御パケットのタグ値を除去し、それが制御パケットなら、経路計算処理切替え部13に出力する。フォワーディング制御パケットなら、フォワーディング処理部12に出力する。
経路計算処理切替え部13は、経路計算処理通信部17からの制御パケットをプロトコルパケット判別部11に出力し、他のルータへ送信する。
フォワーディング処理部12は、経路計算処理通信部17からのフォワーディング制御パケットより、フォワーディングエントリの登録、変更、削除を行う。
これにより、ルータは、制御パケットを受信した場合や装置情報の変更があった場合、外部計算機で経路計算を行わせ、その結果を受信することにより、フォワーディングエントリの書き換えを行うことができる。よって、外部計算機の交換により、経路計算処理の高速化が図られ、外部計算機の進歩に合わせて、ルータの経路計算性能を安価に高速化することが可能となる。
また、経路計算を行う外部計算機を複数接続し、障害が発生したとき性能順に切替えることで、ルータの信頼性を高めることが可能となる。
なお、上記で説明した、外部計算機の定期的な検索によって、障害が発生した外部計算機を検出することができる。また、定期的な外部計算機の検索において、優先順位の再計算を行うことで、図7の外部計算機管理情報63の優先順位が変更されるため、外部計算機の障害が発生しても、新しい優先順位に従い、受信した装置内制御パケットを処理するため、高い計算能力を維持することができる。
また、定期的な外部計算機の検索により、新規に追加された外部計算機を検出することができる。このとき、優先順位の再計算を行うことで、外部計算機管理情報63の優先順位が変更される。また、ルータ10は、データベース情報を外部計算機に転送した後から、新規に追加された外部計算機に対して装置内制御パケットを転送する。このため、ルータ10と各外部計算機との間で同じデータベース情報を維持することができる。
次に、本発明の第2の実施の形態を図面を参照して詳細に説明する。
第2の実施の形態では、VPN環境下の経路計算を外部計算機に行わせる。
図9は、VPNを説明する図である。
図に示すようにルータ71,74は、IPネットワーク77を介して接続されている。ルータ71の配下にはルータ72a〜72cが接続され、ルータ74の配下にはルータ75a〜75cが接続されている。ルータ72aの配下には、端末装置73a,73bが接続され、ルータ72bの配下には、端末装置73c,73dが接続され、ルータ72cの配下には、端末装置73e,73fが接続されている。ルータ75aの配下には、端末装置76a,76bが接続され、ルータ75bの配下には、端末装置76c,76dが接続され、ルータ75cの配下には、端末装置76e,76fが接続されている。
図に示すネットワークでは、例えば、3つのVPNが構築されている。端末装置73a,73b,76a,76bは1つのVPNを構築し、端末装置73c,73d,76c,76dは1つのVPNを構築し、端末装置73e,73f,76e,76fは1つのVPNを構築している。
次に、第2の実施の形態に係るルータと端末装置の機能について説明する。
図10は、第2の実施の形態に係るルータと端末装置の機能ブロック図である。
図10において、図4と同様のものには同じ符号を付し、その説明を省略する。ルータ80は、新たにプロトコル終端部81およびVPN経路計算分散部82を有している。
ルータ80のプロトコル終端部81は、他のルータとセッションを確立しているルーティングプロトコルの制御パケットのコネクションを終端し、VPNごとの経路計算が切り替わっても、他のルータとのセッションを継続する。
VPN経路計算分散部82は、VPNの経路に関するVPN経路情報データベースを作成する。VPN経路計算分散部82は、このVPN経路情報データベースと、外部計算機管理部14が作成する図7で示した外部計算機管理情報63を基に、外部計算機にVPNごとの経路計算をさせるための外部計算機VPN管理情報を作成する。VPN経路情報データベース、外部計算機VPN管理情報は、例えば、RAMやHDDの記憶装置に記憶される。
端末装置90は、新たにVPN経路計算分散部91と複数のプロトコル処理部92〜94を有している。VPN経路計算分散部91は、VPNごとの経路計算を、どのプロトコル処理部92〜94に割り当てるかを示す情報を管理している。VPN経路計算分散部91は、ルータ80からのVPNの経路計算の要求に応じて、各VPNの経路計算を各プロトコル処理部92〜94に分散させる。
プロトコル処理部92〜94は、ルータ80から送信されてきた制御パケットに基づいて、経路計算を行う。プロトコル処理部92〜94は、VPNごとに対応して設けられ、それぞれのVPNの経路計算を行う。プロトコル処理部92〜94は、経路計算の結果、フォワーディング処理部12のテーブルを変更する必要が生じた場合、新たなフォワーディングエントリをルータ80に送信する。
次に、ルータ80が管理するVPNの情報について説明する。
図11は、ルータのVPN経路計算分散部が管理するVPN経路情報データベースのデータ構成例を示した図である。
図に示すVPN経路情報データベース111は、ルータ80のVPN経路計算分散部82が管理するVPNに関する情報である。VPN経路情報データベース111は、VPN_ID、VPN経路、ネイバ、および送信ポートの欄を有している。VPN_IDの欄には、ルータ80が構築しているVPNに付与されている識別子が格納される。VPN経路の欄には、VPNの各経路に付与されているアドレスが格納される。ネイバの欄には、左欄のVPNのアドレスにおいて隣接しているルータのアドレスが格納される。送信ポートの欄には、左欄のVPNのアドレスにおいて隣接しているルータが接続されているポートのポート番号が格納される。
例えば、VPN_ID1が付与されているVPNの経路のアドレスとして、192.100.10.2、192.100.10.5、192.100.10.11がある。これら各経路のアドレスに接続されている隣接したルータのアドレスは、2.2.2.2、2.2.2.2、3.3.3.3である。送信ポートのポート番号は、130、130、122である。
次に、外部計算機VPN管理情報について説明する。
図12は、ルータのVPN経路計算分散部が管理する端末装置に関する情報のデータ構成例を示した図である。
図に示す外部計算機VPN管理情報112は、ルータ80のVPN経路計算分散部82が管理している端末装置90,100,101に関する情報である。外部計算機VPN管理情報112は、外部計算機MACアドレス、外部計算機識別タグ値、ルータ情報通知状態、処理VPN_ID、CPU、メモリの欄を有している。
外部計算機MACアドレスの欄には、ルータ80と接続されている端末装置90、100、101のMACアドレスが格納される。外部計算機識別タグ値の欄には、ルータ80と接続されている端末装置90,100,101に付与されたタグ値が格納される。ルータ情報通知状態の欄は、装置情報と経路情報の欄を有し、装置情報の欄には、ルータ80自身に関する装置情報を端末装置90,100,101に送信したかを示す情報が格納される。経路情報の欄には、VPNにおける経路情報を送信したかを示す情報が格納される。なお、済みで送信したことを示し、未で送信していないことを示す。処理VPN_IDの欄には、端末装置90,100,101に経路計算させるVPNのVPN_IDが格納される。CPUの欄には、ルータ80に接続されている端末装置90,100,101のCPU速度が格納される。メモリの欄には、ルータ80に接続されている端末装置90,100,101のメモリ容量が格納される。
次に、端末装置90,100,101のタグ値の管理について説明する。
図13は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報113は、端末装置90のVPN経路計算分散部91が保持して管理しているタグ値である。タグ値管理情報113は、ルータのMACアドレス、タグ値、VPN_ID、およびプロトコル処理の欄を有している。タグ値管理情報113は、例えば、RAMやHDDの記憶装置に記憶される。
ルータのMACアドレスの欄には、端末装置90の通信相手であるルータ80のMACアドレスが格納される。タグ値の欄には、ルータ80から付与されたタグ値が格納される。VPN_IDの欄には、VPNに付与されている識別子が格納される。プロトコル処理の欄には、左欄のVPN_IDの経路計算を行うプロセスの名前が格納される。
次に、図10の経路計算システムの動作について、外部計算機(端末装置90,100,101)を検索する動作、ルータ80が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作に分けて説明する。まず、外部計算機を検索する動作について説明する。
ルータ80が、検索メッセージを作成して端末装置90,100,101を検索し、タグ値を付与する動作は、第1の実施の形態と同様であり、それ以降の動作について説明する。ルータ80は、VPN経路が安定するまで、自装置内のプロトコル処理部16で経路情報の計算を行う。プロトコル処理部16は、一定時間、VPN経路が変動しない状態になると、VPN経路計算分散部82にデータベース生成要求を行う。このとき、プロトコル処理部16は、VPNごとに得た経路情報をVPN経路計算分散部82に通知する。
VPN経路計算分散部82は、データベース生成要求を受け付け、図11に示すようなVPN経路情報データベース111を生成する。VPN経路計算分散部82は、VPN経路情報データベース111の生成後、外部計算機管理部14が作成した外部計算機管理情報の外部計算機の性能と、生成したVPN経路情報データベース111のVPNの経路数とを基に、CPUの性能が高い外部計算機から、経路数が多いVPN_IDを割り当てた、図12に示す外部計算機VPN管理情報112を生成する。このとき、外部計算機ごとにタグ値を決定する。なお、外部計算機の数より、VPNの数の方が多い場合には、外部計算機の性能と、各VPNの経路数を比較し、外部計算機の性能に比例して、VPNの経路数が分配されるよう、各外部計算機に対し、計算する複数のVPNを対応付けていく。
VPN経路計算分散部82は、タグ値決定後、外部計算機VPN管理情報112を参照してタグ値通知メッセージを生成し、タグ値通知要求を経路計算処理通信部17に行う。経路計算処理通信部17は、タグ値通知要求を受けると、その要求とともに送られてくるタグ値通知メッセージを端末装置90,100,101に送信する。
なお、タグ値通知メッセージには、端末装置に付与されるタグ値と、ルータ80により割り当てられる、端末装置のプロトコル処理部に経路計算を行わせるVPNの識別子が含まれる。タグ値通知メッセージは、具体的には、図5のパケット61の送信元アドレスにルータ80のMACアドレス00:0E:00:D2:11:12を格納し、送信先アドレスに端末装置90のMACアドレス00:0E:01:3D:01:02を格納し、メッセージタイプに3を格納し、オプションにタグ値20とVPN_IDの2と5を格納したものである。
端末装置90の経路計算処理通信部21は、フレームを受信し、そのフレームがタグ値通知メッセージ(メッセージタイプが3)で、オプションにVPN_IDがあれば、VPN経路計算分散部91にタグ値通知処理要求を行う。
VPN経路計算分散部91は、タグ値通知処理要求を受けると、タグ値通知メッセージから、図13に示したタグ値管理情報113を生成する。VPN経路計算分散部91は、タグ値管理情報113の生成後、各VPN経路を計算するプロトコル処理部92〜94を起動する。プロトコル処理部92〜94は、複数のVPNの経路計算を並行して処理する。VPN経路計算分散部91は、プロトコル処理部92〜94の起動後、経路計算処理通信部21に、タグ値通知処理完了の通知を行う。
経路計算処理通信部21は、タグ値通知処理完了の通知を受けると、以後、図13に示すタグ値をフレームに付与してルータ80と通信を行う。
ルータ80の経路計算処理通信部17は、タグ値通知メッセージの送信が完了すると、VPN経路計算分散部82にタグ値通知完了通知を行う。
VPN経路計算分散部82は、タグ値通知完了通知を受けると、外部計算機にルータ80が保持している装置情報と経路情報を送信するため、装置管理部15にデータベース情報通知要求を行う。
装置管理部15は、データベース情報通知要求を受けると、装置情報を含むデータベース情報メッセージを生成し、経路計算処理通信部17にデータベース情報通知要求を行う。データベース情報メッセージは、具体的には、図6のパケット62のタグ値に、送信すべき端末装置に付与したタグ値を格納し、メッセージタイプに11を格納し、インフォメーションタイプに1を格納し、インフォメーションに装置情報を格納したものである。
VPN経路計算分散部82は、データベース情報通知要求を受けると、VPN経路情報データベース111の情報を含むデータベース情報メッセージを生成し、経路計算処理通信部17にデータベース情報通知要求を行う。データベース情報メッセージは、具体的には、図6のパケット62のタグ値に、送信すべき端末装置に付与したタグ値を格納し、メッセージタイプに11を格納し、インフォメーションタイプに3を格納し、インフォメーションにVPN_IDとこのVPN_IDに対応するVPN経路情報データベース111の情報を格納したものである。
経路計算処理通信部17は、装置管理部15からデータベース情報通知要求を受けると、外部計算機VPN管理情報112のルータ情報通知状態の装置状態が未となっている外部計算機に対し、データベース情報メッセージを送信する。また、VPN経路計算分散部82からデータベース情報通知要求を受けると、外部計算機VPN管理情報112のルータ情報通知状態の経路情報が未となっている外部計算機に対し、データベース情報メッセージを送信する。
端末装置90の経路計算処理通信部21は、フレームを受信し、タグ値を除去する。フレームのメッセージ種別がデータベース情報メッセージ(メッセージタイプが11)である場合は、インフォメーションタイプを参照する。インフォメーションタイプが1(装置構成情報)なら、装置管理部23にデータベース情報処理要求を行い、インフォメーションタイプが3(VPNの経路情報)ならVPN経路計算分散部91にデータベース情報処理要求を行う。
装置管理部23は、データベース情報処理要求を受け付けると、装置情報のデータベース情報を生成する。
VPN経路計算分散部91は、データベース情報処理要求を受け付けると、受信したメッセージのインフォメーションからVPN_IDを取得し、タグ値管理情報113の対応するプロセスを有しているプロトコル処理部92〜94に、データベース情報処理要求を行う。
プロトコル処理部92〜94は、データベース情報処理要求を受けると、VPN経路情報データベース111と同様のデータベースを生成する。
ルータ80の装置管理部15は、データベース情報通知要求が完了すると、VPN経路計算分散部82にデータ情報通知完了の通知を行う。VPN経路計算分散部82は、データ情報通知完了の通知を受けると、図12に示した外部計算機VPN管理情報112の装置情報の欄を済みに更新する。
同様に、VPN経路計算分散部82も、データベース情報通知要求が完了すると、外部計算機VPN管理情報112の経路情報の欄を済みに更新する。更新後、外部計算機VPN管理情報112の装置情報および経路情報が済みになった場合、経路計算処理通信部17に経路計算制御切替え要求を行う。
経路計算処理通信部17は、経路計算制御切替え要求を受けると、経路計算処理切替え部13に、経路計算制御切替え要求を行う。
経路計算処理切替え部13は、経路計算制御切替え要求を受けると、ルーティングプロトコルの制御パケットと、装置情報が変更された場合に装置管理部15から出力される装置情報変更通知とを、経路計算処理通信部17に出力するように切替える。また、プロトコル終端部81に、経路計算制御切替え要求を行う。プロトコル終端部81は、経路計算制御切替え要求を受けると、受信された制御パケットの終端処理を行い、制御パケットのセッション情報の管理、維持を開始する。
これにより、タグ値を利用した外部計算機とルータとの通信手段が確立し、ルータのVPN経路計算機能を外部計算機で行うことができる。
次に、ルータ80が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作について説明する。
ルータ80のプロトコルパケット判別部11は、他のルータから受信した制御パケットをプロトコル終端部81に出力する。
プロトコル終端部81は、制御パケットを受信すると、経路計算制御切替え要求を受付済みならば、受信した制御パケットのセッション情報の終端処理をし、セッション情報の維持・管理を行う。そして、制御パケットを経路計算処理切替え部13に出力する。
装置管理部15は、装置状態、装置構成の情報変更が発生すると、装置情報を含む装置状態変更通知パケットを生成し、経路計算処理切替え部13に出力する。
経路計算処理切替え部13は、経路計算処理通信部17から経路計算制御切替え要求を受けていた場合、受信されたパケットが制御パケットならば、その制御パケットのVPN_IDが、外部計算機VPN管理情報112に登録されているか検索する。VPN_IDが外部計算機VPN管理情報112に登録されていれば、経路計算処理切替え部13は、ルータ情報通知状態の装置情報と経路情報が済みになっているかを確認する。ルータ情報通知状態の装置情報と経路情報がともに済みになっている場合、制御パケットを経路計算処理通信部17に出力し、制御パケット転送要求を行う。なお、経路計算処理切替え部13は、受信したパケットが装置状態変更通知パケットの場合は、外部計算機VPN管理情報112の参照は行わず、経路計算処理通信部17に制御パケット転送要求を行う。
経路計算処理通信部17は、経路計算処理切替え部13からパケット転送要求を受け付けると、制御パケットの場合、外部計算機VPN管理情報112を参照して、制御パケットのVPN_IDに対応するタグ値を取得して制御パケットに付与し、LAN50に送信する。装置状態変更通知パケットの場合は、外部計算機VPN管理情報112のルータ情報通知状態が済みになっている外部計算機数分だけ、装置状態変更通知パケットをコピーし、対応するタグ値をそれぞれ付与してLAN50に送信する。
端末装置90の経路計算処理通信部21は、VPN経路計算分散部91で管理しているタグ値管理情報113のタグ値が付与されたパケットを受信する。経路計算処理通信部21は、受信したパケットのタグ値を除去し、それが制御パケットならば、VPN経路計算分散部91に出力する。装置状態変更通知パケットならば、装置管理部23に出力する。
VPN経路計算分散部91は、受信された制御パケットよりVPN_IDを取得し、タグ値管理情報113から、制御パケットを処理するプロセス(プロトコル処理部92〜94)を検索する。VPN経路計算分散部91は、検索したプロセスに制御パケットを出力する。
プロトコル処理部92〜94は、受信された制御パケットに基づいて、経路の再計算をし、保持している経路情報を更新する。その結果、フォワーディングエントリの登録、変更、削除が必要な場合は、フォワーディング制御パケットを生成する。また、他のルータへ、パケットの送信が必要な場合は、制御パケットを生成する。プロトコル処理部92〜94は、VPN経路計算分散部91に制御パケット情報通知要求を行う。
VPN経路計算分散部91は、制御パケット情報通知要求を受けると、タグ値管理情報113を参照して、プロトコル処理部92〜94より生成されたフォワーディング制御パケットまたは制御パケットのVPN_IDを取得し、制御パケット転送要求とともに経路計算処理通信部21に出力する。
装置管理部23は、受信された装置状態変更通知パケットより、保持している装置情報のデータベースを更新する。装置管理部23は、変更された装置情報における経路の再計算を行い、その結果、フォワーディングエントリの登録・変更・削除が必要な場合、フォワーディング制御パケットを生成する。そして、経路計算処理通信部21に制御パケット転送要求を行う。
経路計算処理通信部21は、制御パケット転送要求を受けると、装置内制御パケット(VPN経路計算分散部91からのフォワーディング制御パケット、制御パケット、または装置管理部23からのフォワーディング制御パケット)にタグ値管理情報113のタグ値を付与し、LAN50に送信する。
ルータ80の経路計算処理通信部17は、外部計算機VPN管理情報112で管理されているタグ値が付与された装置内制御パケットを外部計算機から受信する。経路計算処理通信部17は、受信した装置内制御パケットのタグ値を除去し、それが制御パケットならVPN経路計算分散部82に出力する。フォワーディング制御パケットなら、フォワーディング処理部12に出力する。
VPN経路計算分散部82は、経路計算処理通信部17が受信した制御パケットより、VPN経路情報データベース111を書き換える。フォワーディング処理部12は、経路計算処理通信部17が受信したフォワーディング制御パケットより、フォワーディングエントリの登録、変更、削除を行う。
これにより、ルータ80は、制御パケットを受信した場合や装置情報の変更があった場合、外部計算機で経路の計算をさせ、フォワーディングエントリの書き換えを行うことができる。ルータ80のVPNの経路計算を、VPNの経路数に応じて複数の外部計算機に分散して処理させることで、高速にVPNの経路計算をすることが可能となる。
なお、定期的な外部計算機の検索によって、障害が発生した外部計算機を検出することができ、別の端末装置にVPNの経路計算を行わせることができる。これはまず、障害が発生した外部計算機を外部計算機VPN管理情報112から削除する。障害が発生した外部計算機の行っていた経路計算をルータ80のプロトコル処理部16で行わせる。そして、プロトコル処理部16が経路計算を行っている間に、VPN経路計算分散部82によって、外部計算機VPN管理情報112に登録されている外部計算機のうち、最も負荷の小さい外部計算機を選択する。以後は、外部計算機の検出手順と同様の手順によって、選択された外部計算機に装置情報とVPNの経路情報の通知を行うことによって、VPN経路計算を新たな外部計算機で処理させることができる。
また、定期的な外部計算機の検索によって、新規に追加された外部計算機を追加することができる。これは、外部計算機の検出手順と同様の手順を新規に追加された外部計算機に対して行い、外部計算機VPN管理情報112を更新する。ルータ80は、データベース情報メッセージの転送完了後から、新規に追加された外部計算機に対して、装置内制御パケットを転送して、各外部計算機と同様の経路計算をすることができる。
さらに、ルータ80は、外部計算機に対し、負荷調査を行うことができる。これは、ルータ80のVPN経路計算分散部82が、定期的に負荷調査メッセージを生成して、経路計算処理通信部17に転送し、負荷調査要求を行う。経路計算処理通信部17は、負荷調査要求を受けると、負荷調査メッセージに各外部計算機に対応するタグ値を付加してLAN50に送信する。負荷調査メッセージは、具体的には、図6に示すパケット62のタグ値に、負荷調査を行う外部計算機(端末装置90)のタグ値を格納し、メッセージタイプに13を格納し、インフォメーションタイプに4を格納したものである。
端末装置90の経路計算処理通信部21は、ルータ80からメッセージを受信し、タグ値を除去する。メッセージタイプが13で、インフォメーションタイプが4ならば、VPN経路計算分散部91に受信したメッセージを出力する。VPN経路計算分散部91は、負荷調査メッセージを受信すると、CPUの使用率とメモリの使用率を調査する。調査を終えると、負荷調査応答メッセージを生成し、経路計算処理通信部21に負荷調査メッセージ応答要求を行う。経路計算処理通信部21は、負荷調査メッセージ応答要求を受け付けると、タグ値管理情報113を参照して、生成された負荷調査応答メッセージにタグ値を付加してLAN50に送信する。なお、負荷調査応答メッセージは、具体的には、図6に示すパケット62のタグ値に端末装置90のタグ値を格納し、メッセージタイプに13を格納し、インフォメーションタイプに4を格納し、インフォメーションに、例えば、CPU70%、メモリ50%と、CPUとメモリの使用率を格納したものである。
ルータ80の経路計算処理通信部17は、負荷調査応答メッセージを受信し、タグ値を除去する。経路計算処理通信部17は、受信した負荷調査応答メッセージをVPN経路計算分散部82に出力する。VPN経路計算分散部82は、通知された負荷情報から、VPN経路情報データベース111のVPN経路数に負荷を掛け合わせたうえで、再度、経路数が多いものからCPUの性能の高い外部計算機を割り当て、外部計算機VPN管理情報112を変更する。処理を行う外部計算機の変更および新規に処理する外部計算機の追加をする場合においても、上記の定期的に外部計算機を検索する手順後、上記の負荷の状況に応じた分散処理ができる。
次に、本発明の第3の実施の形態を図面を参照して詳細に説明する。
第3の実施の形態では、複数のルータに対し、1つの外部計算機で経路計算を行う。
図14は、第3の実施の形態に係る経路計算システムの構成例を示す図である。
図に示すようにルータ120〜140は、端末装置150と接続されている。ルータ120〜140は、第1の実施の形態と同様に、外部に接続されている端末装置を検索するため、検索メッセージを出力する。端末装置150は、各ルータ120〜140から送信されてくる検索メッセージに対し、ルータ120〜140を識別するためのタグ値を生成し、ルータ120〜140に送信する。図14の例では、端末装置150は、タグ値20をルータ120に送信し、タグ値21をルータ130に送信し、タグ値22をルータ140に送信している。
ルータ120〜140と端末装置150は、タグ値が生成され付与されると、以後、このタグ値によって通信を行う。ルータ120〜140は、経路計算を再計算する必要が生じた場合、端末装置150に対し経路計算の要求をし、端末装置150は1台で経路計算を行う。すなわち、第3の実施の形態では、端末装置150の処理能力が高い場合、複数のルータ120〜140の経路計算を1台によって行う。
タグ値による通信について説明する。
図15は、タグ値による通信を説明する図である。
図には、図14で説明したルータ120と端末装置150が示してある。端末装置150は、ルータ120と通信するとき、パケットのデータの先頭に、ルータ120に付与したタグ値20を付加する。ルータ120は、端末装置150から付与されたタグ値20を参照して、自分宛てのパケットと認識することができる。ルータ120は、端末装置150と通信するとき、パケットのデータの先頭に、端末装置150から付与されたタグ値20を付加する。端末装置150は、ルータ120に付与したタグ値20を参照して、自分宛てのパケットを認識することができる。
次に、第3の実施の形態に係るルータ120〜140と端末装置150の機能について説明する。
図16は、第3の実施の形態に係るルータと端末装置の機能ブロック図である。
図16に示すルータ120は、Xという名称が付与され、MACアドレス00:0E:00:D2:11:12を有している。ルータ130は、Yという名称が付与され、MACアドレス00:E0:32:01:23:22を有している。ルータ140は、Zという名称が付与され、MACアドレス10:02:05:D3:02:01を有している。端末装置150は、PC_Aという名称が付与され、MACアドレス00:0E:01:3D:01:02を有している。
ルータ120,130は、図4で示したルータ10と同様の機能ブロックを有しており、同じ符号を付してある。説明は省略する。ルータ140もルータ120,130と同様の機能ブロックを有している。
端末装置150は、経路計算処理通信部21a〜21c、外部計算機検索応答部22、装置管理部23a〜23c、プロトコル処理部24a〜24c、および複数ルータ経路管理部151を有している。経路計算処理通信部21a〜21c、外部計算機検索応答部22、装置管理部23a〜23c、プロトコル処理部24a〜24cは、図4で示した経路計算処理通信部21、外部計算機検索応答部22、装置管理部23、およびプロトコル処理部24と同様であり、その説明を省略する。
複数ルータ経路管理部151は、複数のルータ120〜140と通信を行う。複数ルータ経路管理部151は、複数のルータ120〜140の装置情報とネットワークの経路情報を管理している。
複数ルータ経路管理部151のタグ値の管理について説明する。
図17は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報161は、端末装置150の複数ルータ経路管理部151が保持して管理しているタグ値である。タグ値管理情報161は、ルータのMACアドレス、タグ値、および管理データ情報の欄を有している。タグ値管理情報161は、例えば、RAMやHDDの記憶装置に記憶される。
ルータのMACアドレスの欄には、端末装置150の通信相手であるルータ120〜140のMACアドレスが格納される。タグ値の欄には、複数ルータ経路管理部151がルータ120〜140に付与したタグ値が格納される。管理データ情報の欄には、各ルータ120〜140の経路計算を行わせるプロセスの名前が格納される。プロセスは、経路計算の処理を行う1単位をいい、図16の経路計算処理通信部21a、装置管理部23a、プロトコル処理部24aで経路計算を行う1単位、経路計算処理通信部21b、装置管理部23b、プロトコル処理部24bで経路計算を行う1単位、経路計算処理通信部21c、装置管理部23c、プロトコル処理部24cで経路計算を行う1単位である。
次に、図16の経路計算システムの動作について、外部計算機を検索する動作、ルータ120〜140が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作に分けて説明する。まず、外部計算機を検索する動作について説明する。
ルータ120〜140がLAN50上に外部計算機が存在するか検索するため検索メッセージを送信する動作は、第1の実施の形態と同様であり、それ以降の動作について説明する。
端末装置150の複数ルータ経路管理部151は、フレームを受信し、それが検索メッセージ(図5で示したパケット61のメッセージタイプが1)であれば、外部計算機検索応答部22に検索メッセージ処理要求を行う。
外部計算機検索応答部22は、検索メッセージ処理要求を受けると、端末装置150が外部計算機として使用可能状態であれば、計算機情報(例えば、MACアドレス、CPU、メモリの情報など)を含む検索応答メッセージを生成する。検索応答メッセージは、具体的には、図5のパケット61の送信元アドレスに端末装置150のMACアドレス00:0E:01:3D:01:02を格納し、送信先アドレスにルータ120のMACアドレス00:0E:00:D2:11:12を格納し、メッセージタイプに2を格納し、オプションにCPU速度を示す2.0(GHz)およびメモリ容量を示す512(Mバイト)を格納したものである。外部計算機検索応答部22は、検索応答メッセージの生成後、複数ルータ経路管理部151に検索メッセージ応答要求を行う。
複数ルータ経路管理部151は、検索メッセージ応答要求を受けると、外部計算機検索応答部22より通知された検索応答メッセージの送信元アドレスごとにタグ値を決定する。そして、複数ルータ経路管理部151は、図17に示すタグ値管理情報161を生成する。複数ルータ経路管理部151は、検索応答メッセージのオプションに、決定したタグ値を格納してルータ120に送信する。また、複数ルータ経路管理部151は、タグ値管理情報161の生成後、ルータ120〜140ごとに対応する経路計算処理通信部21a〜21cを起動する。経路計算処理通信部21a〜21cは、複数のルータ120〜140の経路処理を並行して処理する。
このように、端末装置150は、複数のルータ120〜140から検索メッセージを受信し、検索メッセージの送信元アドレスごとにタグ値を決定する。そして、端末装置150は、ルータ120〜140にタグ値を通知することで、以後、どのルータ120〜140からの情報転送か認識することができる。
ルータ120の経路計算処理通信部17は、フレームを受信し、検索応答メッセージ(メッセージタイプ2)であれば、外部計算機管理部14に検索応答メッセージ処理要求を行う。このとき、経路計算処理通信部17は、受信ポート情報(ここでは、受信ポート番号を120とする)と受信メッセージを通知する。
外部計算機管理部14は、検索応答メッセージ処理要求を受けると、通知された情報より図7で示した外部計算機管理情報63を生成する。このとき、メッセージのオプションにタグ値が格納されていれば、そのタグ値を外部計算機管理情報63の外部計算機識別タグ値の欄に格納する。また、制御ポート番号の欄に120が格納される。なお、第3の実施の形態では、外部計算機が1台であるので、図7の外部計算機管理情報63の下から2つの欄は、作成されない。
外部計算機管理部14は、端末装置150にルータ120が保持している装置情報と経路情報を転送するため、装置管理部15とプロトコル処理部16にデータベース情報通知要求を行う。
装置管理部15とプロトコル処理部16は、データベース情報通知要求を受け付けると、装置情報を含むデータベース情報メッセージと経路情報を含むデータベース情報メッセージを生成する。そして、経路計算処理通信部17にデータベース情報通知要求を行う。
経路計算処理通信部17は、データベース情報通知要求を受け付けると、外部計算機管理情報63を参照して、ルータ情報通知状態が未の外部計算機に対して、タグ値を付与したデータベース情報メッセージを送信する。なお、データベース情報メッセージは、具体的には、図6のパケット62のタグ値に端末装置150から付与された20を格納し、メッセージタイプに11を格納し、インフォメーションタイプに1を格納し、インフォメーションに装置情報を格納したものである。または、インフォメーションタイプに2を格納し、インフォメーションに経路情報を格納したものである。
端末装置150の複数ルータ経路管理部151は、フレームを受信し、タグ値を除去する。複数ルータ経路管理部151は、タグ値から処理する経路計算処理通信部21a〜21cを決定するため、タグ値管理情報161を参照し、管理データ情報の対応する経路計算処理通信部21a〜21cにフレームを出力する。
経路計算処理通信部21a〜21cは、フレームのメッセージタイプがデータベース情報メッセージ(メッセージタイプが11)である場合、さらに、情報種別を参照する。参照した情報種別が装置情報(インフォメーションタイプが1)なら、装置管理部23a〜23cにデータベース情報処理要求を行い、経路情報(インフォメーションタイプが2)なら、プロトコル処理部24a〜24cにデータベース情報処理要求を行う。
装置管理部23a〜23cは、データベース情報処理要求を受けると、受信されたデータベース情報メッセージから装置情報のデータベースを生成する。プロトコル処理部24a〜24cは、データベース情報処理要求を受けると、受信されたデータベース情報メッセージから経路情報のデータベースを生成する。
ルータ120の装置管理部15とプロトコル処理部16は、データベース情報通知要求が完了すると、外部計算機管理部14にデータベース情報通知完了の通知を行う。外部計算機管理部14は、データベース情報通知完了の通知を受け付けると、外部計算機管理情報63のルータ情報通知状態を済みに更新する。更新後、外部計算機管理部14は、外部計算機管理情報63のルータ情報通知状態の装置情報と経路情報のどちらも済みになった場合、経路計算処理通信部17に経路計算制御切替え要求を行う。
経路計算処理通信部17は、経路計算制御切替え要求を受けると、経路計算処理切替え部13に、経路計算制御切替え要求を行う。
経路計算処理切替え部13は、経路計算制御切替え要求を受けると、ルーティングプロトコルの制御パケットと、装置情報が変更された場合に装置管理部15から出力される装置情報変更通知とを、経路計算処理通信部17に出力するように切替える。
これにより、タグ値を利用した端末装置150とルータ120との通信手段が確立し、複数のルータ120〜140の経路計算が、1台の端末装置150で行うことができる。 ルータ120〜140が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作については、1台の端末装置150の各プロセスが、各ルータ120〜140の経路計算を行う。この各プロセスの動作は、第1の実施の形態で説明したルータ10と端末装置20の動作が複数ある場合と同様であり、その説明を省略する。
このように、複数の外部計算機を用意しなくても、1台の高性能な外部計算機を用意して各ルータの経路計算を実行させることにより、低コストで高速な経路計算を実現することできる。
なお、端末装置150に障害が発生した場合、ルータ120〜140が経路計算を行う。具体的には、外部計算機管理部14は、一定時間、検索応答メッセージがない外部計算機の情報を、外部計算機管理情報63から削除する。外部計算機管理情報63に登録されている外部計算機がなくなると、経路計算処理通信部17に、経路計算制御切戻し要求を行う。経路計算処理通信部17は、経路計算制御切戻し要求を受けると、経路計算処理切替え部13に、経路計算制御切戻し要求を行う。経路計算処理切替え部13は、経路計算制御切戻し要求を受けけると、制御パケットや装置状態、装置構成変更情報通知を、プロトコル処理部16に出力する。これにより、端末装置150に障害が発生しても、経路計算は、ルータ120〜140で行われることになる。
また、端末装置150の複数ルータ経路管理部151は、ある特定のルータから定期的な検索メッセージを一定時間受信しない場合、そのルータの経路計算を行う経路計算処理通信部21a〜21cを終了させ、タグ値管理情報161からルータのMACアドレスを削除する。これにより、障害の発生したルータに対する不要な計算機資源の浪費を抑えることができる。
さらに、新規にルータが追加された場合には、追加されたルータが検索メッセージを送信することにより、端末装置150の検索が行われ、端末装置150は、新規に接続されたルータを検出することできる。
次に、本発明の第4の実施の形態を図面を参照して詳細に説明する。
第4の実施の形態では、図4で示した複数のルータの経路計算を、図16で示した複数の端末装置で行う。
図18は、第4の実施の形態に係る経路計算システムの構成例を示す図である。
図に示すようにルータ171〜173と端末装置181〜183は接続されている。ルータ171〜173は、図4で示したルータ10と同じ機能ブロックを有し、端末装置181〜183は、図16で示した端末装置150と同じ機能ブロックを有している。
ルータ171〜173は、第1の実施の形態で説明したように、検索メッセージを端末装置181〜183に送信する。端末装置181〜183は、検索メッセージを受信すると、ネットワークの保守者が指定した端末装置181〜183を識別するタグ値をルータ171〜173に返す。ルータ171〜173は、ネットワークの保守者が指定したルータ171〜173を識別するタグ値を端末装置181〜183に送信する。なお、ルータ171〜173と端末装置181〜183には、ネットワークの保守者がタグ値を決めているが、これは、ルータ171〜173と端末装置181〜183が自動にタグ値を付与すると、重なったタグ値が出現するおそれがあるためである。
図18の例では、ルータ171〜173のタグ値は10〜30であり、端末装置181〜183のタグ値は1〜3である。端末装置181〜183は、自己に付与されたタグ値をルータ171〜173に送信し、ルータ171〜173は、端末装置181〜183のタグ値を管理する。ルータ171〜173は、自己に付与されたタグ値を端末装置181〜183に送信し、端末装置181〜183は、ルータ171〜173のタグ値を管理する。ルータ171〜173と端末装置181〜183は、自己に付与されているタグ値と、管理している相手装置のタグ値とを利用して、通信している。
図19は、タグ値による通信を説明する図である。
図には、ルータ171と端末装置181が示してある。ルータ171が端末装置181にパケットを送信するとき、パケットのデータの先頭に自己に付与されているタグ値10と、送信先の端末装置181のタグ値1を付加して送信する。端末装置181がルータ171にパケットを送信するとき、パケットのデータの先頭に送信先のルータ171のタグ値10を付加し、次に自己に付与されているタグ値1を付加して送信する。
次に、ルータ171〜173の外部計算機管理部が管理する、端末装置181〜183に関する情報について説明する。
図20は、ルータの外部計算機管理部が管理する端末装置に関する情報のデータ構成例を示した図である。
図に示す外部計算機管理情報191は、ルータ171の外部計算機管理部が管理する、端末装置181〜183に関する情報である。外部計算機管理情報191は、外部計算機MACアドレス、制御ポート番号、ルータ識別タグ値、外部計算機識別タグ値、ルータ情報通知状態、優先順位、CPU、メモリの欄を有している。なお、外部計算機管理情報191は、RAMやHDDの記憶装置に記憶される。
外部計算機MACアドレスの欄には、外部計算機管理部が検索した端末装置181〜183のMACアドレスが格納される。制御ポート番号の欄には、外部計算機管理部が検索した端末装置181〜183の接続されているポートのポート番号が格納される。ルータ識別タグ値の欄には、ネットワークの保守者によって付与されたルータ171のタグ値が格納される。外部計算機識別タグ値の欄には、外部計算機管理部が検索した端末装置181〜183に付与するタグ値が格納される。ルータ情報通知状態の欄には、ルータ171自身に関する情報を端末装置181〜183に送信したかを示す情報が格納される。ルータ情報通知状態の構成の欄には、ルータ171の構成情報を端末装置181〜183に送信したかを示す情報が格納され、済みで送信したことを示し、未で送信していないことを示す。ルータ情報通知状態のプロトコルの欄には、ルータ171のプロトコル情報を端末装置181〜183に送信したかを示す情報が格納され、済みで送信したことを示し、未で送信していないことを示す。優先順位の欄には、端末装置181〜183から送信されてくるフォワーディング制御パケットのどれを優先して受信すべきかを示す優先順位が格納される。優先順位は、次に説明するCPU、メモリによって決められる。CPUの欄には、外部計算機管理部が検索した端末装置181〜183のCPUの速度が格納される。メモリの欄には、外部計算機管理部が検索した端末装置181〜183のメモリの容量が格納される。
次に、端末装置181〜183に付与されたタグ値の管理について説明する。
図21は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報192は、端末装置181の複数ルータ経路管理部が保持して管理しているタグ値である。タグ値管理情報192は、ルータのMACアドレス、ルータ識別タグ値、外部計算機識別タグ値、および管理データ情報の欄を有している。タグ値管理情報192は、例えば、RAMやHDDの記憶装置に記憶される。
ルータのMACアドレスの欄には、端末装置181の通信相手であるルータ171〜173のMACアドレスが格納される。ルータ識別タグ値の欄には、ルータ171〜173から送信されてきたルータ171〜173のタグ値が格納される。外部計算機識別タグ値の欄には、ネットワークの保守者によって付与された端末装置181のタグ値が格納される。管理データ情報の欄には、左欄のルータに処理させるプロセスの識別子が格納される。
次に、図18の動作について、ルータ171〜173と端末装置181〜183との通信の確立の動作、フレームの転送の動作に分けて説明する。まず、通信の確立の動作について説明する。
ルータ171〜173は、第1の実施の形態と同様に、外部計算機がLAN上に存在しているか確認するため、検索メッセージを送信する。端末装置181〜183は、検索メッセージを受信し、検索応答メッセージのオプションに、保守者から付与されたタグ値を含め、ルータ171〜173に送信する。
ルータ171〜173の外部計算機管理部は、検索応答メッセージを受信すると、図20で示した外部計算機管理情報191を生成し、検索応答メッセージのオプション部分に含まれている端末装置181〜183のタグ値を登録する。そして、保守者がルータ171〜173に付与したタグ値を、タグ値通知メッセージのオプションに含め、端末装置181〜183に送信する。
端末装置181〜183の複数ルータ経路管理部は、タグ値通知メッセージを受信すると、図21で示したタグ値管理情報192を生成し、タグ値通知メッセージのオプションに含まれているルータ171〜173のタグ値を登録する。
これにより、ルータ171〜173と端末装置181〜183は、通信をするための互いを識別するタグ値を管理することとなる。
次にフレームの転送動作について説明する。
ルータ171〜173と端末装置181〜183は、フレーム転送するのに、図19で説明したようにフレームの先頭にルータ171〜173を識別するためのタグ値を格納する。そして、そのタグ値の後ろに、端末装置181〜183を識別するためのタグ値を格納する。端末装置181〜183がタグ付きのパケットを受信する場合は、送信先が自分であるかを識別するため、2段目のタグ値を参照する。
端末装置181〜183のそれぞれは、ルータ171〜173の経路計算を行う。すなわち、端末装置181〜183のそれぞれは、ルータ171〜173から制御パケットを受信し、経路計算を行う。ルータ171〜173は、端末装置181〜183で行われた経路計算の結果のうち、最も優先順位の高い端末装置の経路計算の結果のみを受信する。
これにより、ルータ171〜173と端末装置181〜183は、フレームの送信元を識別でき、フレーム処理を行うことが可能となる。複数のルータの経路計算と制御を、複数の外部の計算機で分散して実施できるため、低コストで経路計算を高速に実施し、さらに経路計算の信頼性を向上させることが可能になる。
なお、上記は、第1の実施の形態と第3の実施の形態を組み合わせた経路計算システムであるが、第2の実施の形態と第3の実施の形態を組み合わせた経路計算システムも上記と同様に、ルータと端末装置にタグ値を付与することで実現できる。この経路計算システムでは、複数のルータのVPNの経路計算を、複数の端末装置で分散する。端末装置181〜183のそれぞれは、ルータ171〜173の経路計算を行うとともに、各ルータのVPNの経路ごとにも対応して、経路計算を行う。すなわち、端末装置181〜183の経路計算を行うプロセスがルータ171〜173ごとに設けられ、さらに、VPN_IDごとにも対応して設けられることになる。具体的には、図16の端末装置150のプロトコル処理部24a〜24cが、VPN_IDごとにも対応して設けられることになる。そして、この端末装置150が複数用意され、各ルータは、優先順位の高い端末装置150からの経路計算結果のみを受信する。
(付記1) 経路計算を行う経路計算システムにおいて、
パケットの送信先を示した送信先情報を受信する送信先情報受信手段と、前記送信先情報を記憶する送信先情報記憶手段と、ルーティングプロトコルパケットを他伝送装置から受信し送信するルーティングパケット送信手段と、を有する伝送装置と、
前記ルーティングパケット送信手段から送信される前記ルーティングプロトコルパケットを受信するルーティングパケット受信手段と、前記ルーティングプロトコルパケットに基づいて、前記送信先情報の再計算を行う計算手段と、再計算された前記送信先情報を前記送信先情報受信手段に送信する送信先情報送信手段と、を有する端末装置と、
を有することを特徴とする経路計算システム。
(付記2) 前記送信先情報受信手段は、複数の前記端末装置のうち最も処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする付記1記載の経路計算システム。
(付記3) 前記送信先情報受信手段は、前記端末装置に障害が発生した場合、次に処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする付記2記載の経路計算システム。
(付記4) 前記伝送装置は、自装置のポートに関するポート情報を送信するポート情報送信手段を有し、
前記端末装置は、前記ポート情報を受信するポート情報受信手段と、前記ポート情報が変更された場合、前記送信先情報の再計算を行う変更計算手段とを有することを特徴とする付記1記載の経路計算システム。
(付記5) 前記伝送装置は、ネットワークに接続されている前記端末装置を定期的に検索する検索手段を有することを特徴とする付記1記載の経路計算システム。
(付記6) 前記伝送装置は、前記他伝送装置と仮想専用線で接続されており、前記計算手段は、前記仮想専用線に対応して設けられ、前記仮想専用線における前記送信先情報の再計算を行うことを特徴とする付記1記載の経路計算システム。
(付記7) 前記計算手段は、前記伝送装置ごとに設けられ、前記伝送装置ごとの前記送信先情報の再計算を行うことを特徴とする付記1記載の経路計算システム。
(付記8) 前記送信先情報受信手段は、複数の前記端末装置のうち最も処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする付記7記載の経路計算システム。
(付記9) 前記伝送装置は、前記他伝送装置と仮想専用線で接続されており、前記計算手段は、さらに前記仮想専用線に対応して設けられ、前記送信先情報の再計算を行うことを特徴とする付記7記載の経路計算システム。
(付記10) 経路計算を行う経路計算システムの経路計算方法において、
伝送装置のルーティングパケット送信手段によって、ルーティングプロトコルパケットを他伝送装置から受信して端末装置に送信し、
前記端末装置のルーティングパケット受信手段によって、前記ルーティングプロトコルパケットを受信し、
前記端末装置の計算手段によって、前記ルーティングプロトコルパケットに基づいて、パケットの送信先を示した送信先情報の再計算を行い、
前記端末装置の送信先情報送信手段によって、再計算された前記送信先情報を前記伝送装置に送信し、
前記伝送装置の送信先情報記憶手段によって、前記送信先情報を記憶する、
ことを特徴とする経路計算システム。