(57)【要約】【課題】  伝送装置のハードウェアの交換をすることなく、低コストで経路計算を高速化する。【解決手段】  伝送装置１の送信先情報受信手段１ａは、端末装置２からパケットの送信先を示した送信先情報を受信する。送信先情報記憶手段１ｂは、送信先情報を記憶する。ルーティングパケット送信手段１ｃは、ルーティングプロトコルパケットを他伝送装置３から受信し、端末装置２に送信する。端末装置２のルーティングパケット受信手段２ａは、ルーティングパケット送信手段１ｃから送信されるルーティングプロトコルパケットを受信する。計算手段２ｂは、ルーティングプロトコルパケットに基づいて、送信先情報の再計算を行う。送信先情報送信手段２ｃは、再計算された送信先情報を送信先情報受信手段１ａに送信する。【選択図】  図１
2006019867.tif 000002
【特許請求の範囲】
【請求項１】
経路計算を行う経路計算システムにおいて、
パケットの送信先を示した送信先情報を受信する送信先情報受信手段と、前記送信先情報を記憶する送信先情報記憶手段と、ルーティングプロトコルパケットを他伝送装置から受信し送信するルーティングパケット送信手段と、を有する伝送装置と、
前記ルーティングパケット送信手段から送信される前記ルーティングプロトコルパケットを受信するルーティングパケット受信手段と、前記ルーティングプロトコルパケットに基づいて、前記送信先情報の再計算を行う計算手段と、再計算された前記送信先情報を前記送信先情報受信手段に送信する送信先情報送信手段と、を有する端末装置と、
を有することを特徴とする経路計算システム。
【請求項２】
前記送信先情報受信手段は、複数の前記端末装置のうち最も処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする請求項１記載の経路計算システム。
【請求項３】
前記送信先情報受信手段は、前記端末装置に障害が発生した場合、次に処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする請求項２記載の経路計算システム。
【請求項４】
前記伝送装置は、前記他伝送装置と仮想専用線で接続されており、前記計算手段は、前記仮想専用線に対応して設けられ、前記仮想専用線における前記送信先情報の再計算を行うことを特徴とする請求項１記載の経路計算システム。
【請求項５】
前記計算手段は、前記伝送装置ごとに設けられ、前記伝送装置ごとの前記送信先情報の再計算を行うことを特徴とする請求項１記載の経路計算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は経路計算システムに関し、特にルーティングプロトコルパケットに基づいて経路計算を行う経路計算システムに関する。
【背景技術】
【０００２】
近年、企業の事業所間の通信を行う手段として、従来の専用線を利用したＷＡＮ（Wide Area Network）にかわり、インターネットを利用したＩＰ−ＶＰＮ（Internet Protocol-Virtual Private Network）サービスが広く用いられるようになっている。ＩＰ−ＶＰＮは、ＯＳＰＦ（Open Shortest Path First）、ＢＧＰ（Border Gateway Protocol）、ＭＰＬＳ（Multiprotocol Label Switching）といったプロトコル処理を実装したルータにて実現されている。このような、インターネットの普及にともない、ＩＤＣ（Internet Data Center）の需要が増してきている。ＩＤＣでは、複数の顧客から預かったサーバをルータに接続してインターネットへ接続し、サーバの保守を行うサービスを提供している。
【０００３】
キャリア向けおよびエンタプライズ向けのルータは、パケットを高速に転送するため、フルワイヤでパケットの宛先経路検索が可能な、例えば、ハードウェアで構成されたＣＡＭ（Content Addressable Memory）を搭載するフォワーディングエンジンを備えている。パケットは、このハードウェアで構成されたフォワーディングエンジンにより宛先が決められ、フルワイヤのパケット転送処理が実施される。一方、経路情報の交換、経路データベースの構築、回線障害や他のルータのダウンに伴う、ネットワーク経路変動時の経路データベースの再計算は、フォワーディングエンジンでは実行されておらず、専用のプロトコルプロセッサで実行されている。
【０００４】
インターネットの経路は、年々増加してトポロジも複雑化している。あるノードがダウンすると、大量の経路変動が発生するため、新しい迂回経路の経路計算を実行して通信が復旧するまでの時間は、ルータのプロトコルプロセッサの性能により決まり、場合によっては、数十秒かかってしまうことがある。このため、プロトコルプロセッサは高性能なものが要求される。
【０００５】
なお、経路計算を行う経路計算部に障害が発生しても、データ転送できるルータがある（例えば、特許文献１参照）。このルータは、経路計算部とＨｅｌｌｏパケットを応答する応答部とを別々に構成し、経路計算部に障害が発生しても、Ｈｅｌｌｏパケットの交換が引き続き行われるようにしている。
【０００６】
また、ルータのフォワーディング処理とルーティング処理を行う専用モジュールにおいて、バスへの接続の制御方式を工夫することにより、モジュールを複数接続する際の転送性能低下を低減したルータがある（例えば、特許文献２参照）。
【０００７】
さらに、経路計算を行う経路計算部を、インターフェースごとに具備し、経路計算を分散することによって、経路計算を高速化したルータがある（例えば、特許文献３参照）。
【特許文献１】特開２００２−１６４９１３号公報（段落番号〔００１８〕〜〔００１９〕、図２）
【特許文献２】特開平１０−３０１９１０号公報（段落番号〔００３５〕〜〔００４０〕、図１）
【特許文献３】特開２００３−８６２７号公報（段落番号〔００２２〕〜〔００２４〕、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ルータに内蔵しているプロトコル処理用のプロセッサは、単体の交換が困難であり、高性能なものに交換する場合は、プロセッサを含むハードウェアを設計し直して製造する必要があり、コストがかかるという問題点があった。特に、ルータの経路計算は、経路変動時の通信断時間を短縮するために高速な処理が必要であるが、経路変動は、頻繁に発生しないので、ルータのプロセッサを搭載したハードウェアを再設計し、交換することは、投資コストに対して、メリットが少ない。
【０００９】
本発明はこのような点に鑑みてなされたものであり、伝送装置の経路計算を行うハードウェアの再設計、交換を不要とし、低コストで経路計算を高速化できる経路計算システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では上記問題を解決するために、図１に示すような経路計算を行う経路計算システムにおいて、パケットの送信先を示した送信先情報を受信する送信先情報受信手段１ａと、送信先情報を記憶する送信先情報記憶手段１ｂと、ルーティングプロトコルパケットを他伝送装置３から受信し送信するルーティングパケット送信手段１ｃと、を有する伝送装置１と、ルーティングパケット送信手段１ｃから送信されるルーティングプロトコルパケットを受信するルーティングパケット受信手段２ａと、ルーティングプロトコルパケットに基づいて、送信先情報の再計算を行う計算手段２ｂと、再計算された送信先情報を送信先情報受信手段１ａに送信する送信先情報送信手段２ｃと、を有する端末装置２と、を有することを特徴とする経路計算システムが提供される。
【００１１】
このような経路計算システムによれば、伝送装置１は、他伝送装置３から送信されるルーティングプロトコルパケットを端末装置２に送信する。端末装置２は、伝送装置１から送信されたルーティングプロトコルパケットに基づいて、パケットの送信先を示した送信先情報を再計算し、伝送装置１に送信する。これにより、送信先情報の計算は端末装置２で行われるので、計算の高速化は、端末装置２の交換で済み、伝送装置１のハードウェアの再設計、交換が不要となる。
【発明の効果】
【００１２】
本発明の経路計算システムでは、端末装置にパケットの送信先を示した送信先情報の再計算を行わせるようにした。これによって、送信先情報の計算を高速化するには、高性能な端末装置に交換することによって済み、伝送装置のハードウェアの再設計、交換が不要となり、低コストで送信先情報の計算の高速化を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、本発明の経路計算システムの原理図である。
図に示すように伝送装置１は、端末装置２および他伝送装置３と接続されている。伝送装置１は、他伝送装置３からルーティングプロトコルパケットを受信すると、端末装置２に送信し、端末装置２にパケットの送信先を示した送信先情報の再計算を行わせる。そして、端末装置２で計算された送信先情報を受信する。
【００１４】
伝送装置１は、送信先情報受信手段１ａ、送信先情報記憶手段１ｂおよびルーティングパケット送信手段１ｃを有している。端末装置２は、ルーティングパケット受信手段２ａ、計算手段２ｂ、および送信先情報送信手段２ｃを有している。
【００１５】
伝送装置１の送信先情報受信手段１ａは、端末装置２からパケットの送信先を示した送信先情報を受信する。送信先情報記憶手段１ｂは、送信先情報受信手段１ａより受信された送信先情報を記憶する。ルーティングパケット送信手段１ｃは、ルーティングプロトコルパケットを他伝送装置３から受信し、端末装置２に送信する。なお、端末装置２を除くネットワーク上の端末装置間でやり取りされる通常のパケットは、送信先情報記憶手段１ｂに記憶されている送信先情報を参照して、転送される。
【００１６】
端末装置２のルーティングパケット受信手段２ａは、伝送装置１のルーティングパケット送信手段１ｃから送信されるルーティングプロトコルパケットを受信する。計算手段２ｂは、ルーティングプロトコルパケットに基づいて、送信先情報の再計算を行う。送信先情報送信手段２ｃは、再計算された送信先情報を伝送装置１の送信先情報受信手段１ａに送信する。
【００１７】
このような経路計算システムによると、伝送装置１は、他伝送装置３から送信されるルーティングプロトコルパケットを端末装置２に送信する。端末装置２は、伝送装置１から送信されたルーティングプロトコルパケットに基づいて、パケットの送信先を示した送信先情報を再計算し、伝送装置１に送信する。
【００１８】
このように、端末装置にパケットの送信先を示した送信先情報の再計算を行わせるようにした。これによって、送信先情報の計算を高速化するには、高性能な端末装置に交換することによって済み、伝送装置のハードウェアの再設計、交換が不要となり、低コストで送信先情報の計算の高速化を図ることができる。
【００１９】
次に、本発明の第１の実施の形態を図面を参照して詳細に説明する。
図２は、第１の実施の形態に係る経路計算システムの構成例を示す図である。
図に示すようにルータ１０は、例えば、ＰＣ（Personal Computer）である端末装置２０〜４０と接続されている。ルータ１０と端末装置２０〜４０は、例えば、イーサネット（登録商標）や光ケーブルで接続されている。また、図示していないが、ルータ１０は、他のルータと、例えば、イーサネットや光ケーブルで接続されている。ルータ１０には、Ｘという名称が付与され、端末装置２０〜４０には、ＰＣ＿Ａ、ＰＣ＿Ｂ、ＰＣ＿Ｃという名称が付与されている。ルータ１０は、経路変動によって経路計算が必要となった場合、経路計算に必要なパケットを端末装置２０〜４０に送信し、経路計算を端末装置２０〜４０に実行させる。
【００２０】
ルータ１０は、端末装置２０〜４０にパケットを送信するとき、端末装置２０〜４０を識別するためのタグ値をパケットに付与して送信する。端末装置２０〜４０は、パケットに付与されているタグ値を参照することによって、自分宛てのパケットを認識することができる。なお、図２の例では、タグ値１０のパケットは端末装置２０宛てのパケット、タグ値１１のパケットは端末装置３０宛てのパケット、タグ値１２のパケットは端末装置４０宛てのパケットである。一方、端末装置２０〜４０も、パケットをルータ１０に送信するとき、タグ値を付与する。ルータ１０は、パケットに付与されているタグ値を参照することにより、どの端末装置からパケットが送信されたかを認識することができる。
【００２１】
図３は、タグ値を説明する図である。
図３には、図２のルータ１０と端末装置２０が示してある。ルータ１０は、パケットを端末装置２０に送信するとき、端末装置２０宛てであることを示すため、データの先頭に、タグ値１０を付与する。端末装置２０も、自分がパケットを送信したことを示すために、データの先頭にタグ値１０を付与する。ルータ１０と端末装置２０は、データの先頭に付与されているタグ値を参照することにより、パケットの送信元を認識することができる。なお、このようなパケットの制御として、ＶＬＡＮ（Virtual Local Area Network）タグ（ＩＥＥＥ８０２．１ｑで定められるＶＬＡＮＩＤ）を用いることができる。
【００２２】
図２の説明に戻る。端末装置２０〜４０は、図３で説明したようにタグ値を参照して、自分宛てのパケットを受信する。端末装置２０〜４０は、ルータ１０から送信されたパケットに基づいて、経路計算を行う。端末装置２０〜４０は、経路計算の結果を示すフォワーディング制御パケットをルータ１０に送信する。
【００２３】
ルータ１０は、どの端末装置２０〜４０からのフォワーディング制御パケットを受信するかの優先度を有している。優先度は、端末装置２０〜４０の経路計算の処理能力が高い順になっている。ルータ１０は、優先度の最も高い端末装置２０〜４０からフォワーディング制御パケットを受信する。なお、例えば、優先度の最も高い端末装置２０〜４０が故障した場合、ルータ１０は、次に優先度の高い端末装置２０〜４０からフォワーディング制御パケットを受信する。
【００２４】
ルータ１０は、端末装置２０〜４０から受信したフォワーディング制御パケットに基づいて、通常のパケットの転送先を示すフォワーディングエントリを書き換える。
このように、経路変動が生じた場合、ルータ１０は、外部の端末装置２０〜４０に経路計算を行わせるようにした。これによって、経路計算の高速化を図る場合、端末装置２０〜４０を交換すればよく、ルータ１０のハードウェアの交換は不要となり、低コストで経路計算の高速化を図ることができる。また、複数の端末装置２０〜４０により、経路計算の冗長性を持たせることによって、端末装置２０〜４０に障害が発生した際にも、次に優先度の高い端末装置２０〜４０で経路計算が続行でき、信頼性の高い運用が可能となる。
【００２５】
次に、ルータ１０と端末装置２０〜４０が有する機能について説明する。
図４は、第１の実施の形態に係るルータと端末装置の機能ブロック図である。
図に示すように、ルータ１０と端末装置２０〜４０は、ＬＡＮ（Local Area Network）５０で接続されている。ルータ１０は、00:0E:00:D2:11:12のＭＡＣアドレスを有し、端末装置２０〜３０は、それぞれ00:0E:01:3D:01:02、00:03:0D:00:10:20、00:00:B0:30:22:15のＭＡＣアドレスを有している。
【００２６】
ルータ１０は、プロトコルパケット判別部１１、フォワーディング処理部１２、経路計算処理切替え部１３、外部計算機管理部１４、装置管理部１５、プロトコル処理部１６、および経路計算処理通信部１７を有している。
【００２７】
プロトコルパケット判別部１１は、回線を介して他のルータから受信したパケットが、ルーティングプロトコルパケット（制御パケット）であるか、端末装置間で送受信される非制御パケットであるかを判別する。プロトコルパケット判別部１１は、制御パケットと判別した場合、経路計算処理切替え部１３に出力する。非制御パケットと判別した場合、フォワーディング処理部１２に出力する。また、プロトコルパケット判別部１１は、フォワーディング処理部１２によって経路切替えされた非制御パケットを、他のルータに送信する。
【００２８】
フォワーディング処理部１２は、非制御パケットの他のルータに転送すべき転送先を示したテーブルを有している。フォワーディング処理部１２は、テーブルを参照して、プロトコルパケット判別部１１から出力される非制御パケットの転送先を切替える。テーブルは、例えば、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）の記憶装置に構築され、保持される。
【００２９】
経路計算処理切替え部１３は、プロトコルパケット判別部１１から出力された制御パケットの出力先を切替える。また、装置管理部１５が管理しているルータ１０自身に関する装置情報の出力先を切替える。経路計算処理切替え部１３は、ルータ１０に端末装置２０〜４０が接続されている場合、制御パケットおよび装置情報を経路計算処理通信部１７に出力し、端末装置２０〜４０が接続されていない場合、制御パケットおよび装置情報をプロトコル処理部１６に出力する。すなわち、ルータ１０は、端末装置２０〜４０が接続されている場合、端末装置２０〜４０に経路計算を行わせ、端末装置２０〜４０が接続されていない場合、自分で経路計算を行うようにする。
【００３０】
外部計算機管理部１４は、ＬＡＮ５０に接続されている端末装置２０〜４０を定期的に検索し、その端末装置２０〜４０に関する情報を収集して管理する。このとき、外部計算機管理部１４は、端末装置２０〜４０を識別するためのタグ値を付与して、管理する。端末装置２０〜４０に関する情報は、例えば、ＣＰＵ（Central Processing Unit）速度、メモリ容量など、端末装置２０〜４０の処理能力に関する情報である。この端末装置２０〜４０の情報は、例えば、ＲＡＭやＨＤＤの記憶装置に保持され、管理される。
【００３１】
装置管理部１５は、ルータ１０自身に関する装置情報をデータベースに保持している。この装置情報には、例えば、ルータ１０が具備しているポートのポート状態（例えば、アップ状態かダウン状態）を示す装置状態情報、各ポートに付与されているアドレスを管理する装置構成情報がある。装置管理部１５は、装置情報が変更された場合、変更された装置情報における経路計算を行う。その計算結果、フォワーディング処理部１２のテーブルを変更する必要が生じた場合、装置管理部１５は、経路計算に従った新たなフォワーディングエントリをテーブルに登録する。なお、データベース情報は、例えば、ＲＡＭやＨＤＤの記憶装置に保持される。また、装置管理部１５は、端末装置２０〜４０の検索が行われるとき、この装置情報を端末装置２０〜４０に送信する。
【００３２】
プロトコル処理部１６は、ネットワークにおける経路情報（例えば、ある経路において隣にはどのようなルータが接続されているかの情報）を保持している。プロトコル処理部１６は、経路情報と経路計算処理切替え部１３から出力される制御パケットに基づいて、経路計算を行う。経路計算の結果、フォワーディング処理部１２のテーブルを変更する必要が生じた場合、プロトコル処理部１６は、経路計算に従った新たなフォワーディングエントリをテーブルに登録する。
【００３３】
経路計算処理通信部１７は、ＬＡＮ５０に接続されている端末装置２０〜４０と通信を行う。経路計算処理通信部１７は、端末装置２０〜４０によって経路計算された、新たなフォワーディングエントリを受信すると、外部計算機管理部１４の情報を参照して、最も処理能力の高い端末装置２０〜４０から送信されてくるフォワーディングエントリのみをフォワーディング処理部１２のテーブルに登録する。
【００３４】
端末装置２０は、経路計算処理通信部２１、外部計算機検索応答部２２、装置管理部２３、およびプロトコル処理部２４を有している。
経路計算処理通信部２１は、ルータ１０と通信を行う。経路計算処理通信部２１は、ルータ１０からタグ値が付与されると、そのタグ値をパケットに付与してルータ１０と通信を行う。
【００３５】
外部計算機検索応答部２２は、ルータ１０からの検索要求に応じ、端末装置２０自身に関する情報を、経路計算処理通信部２１を介してルータ１０に返信する。端末装置２０自身に関する情報は、上記の外部計算機管理部１４で説明したＣＰＵ速度、メモリ容量など、処理能力に関する情報である。また、外部計算機検索応答部２２は、ルータ１０から付与されたタグ値を保持し、管理する。
【００３６】
装置管理部２３は、ルータ１０から送信されてくる装置管理部１５の装置情報を保持する。装置管理部２３は、ルータ１０の装置情報が変更された場合、変更された装置情報をプロトコル処理部２４に通知を行う。プロトコル処理部２４が新しい装置情報を基に経路計算を行う。その計算結果、フォワーディング処理部１２のテーブルを変更する必要が生じた場合、プロトコル処理部２４は、経路計算に従った新たなフォワーディングエントリをルータ１０に送信する。なお、装置情報は、例えば、ＲＡＭやＨＤＤの記憶装置に保持される。
【００３７】
プロトコル処理部２４は、ネットワークにおける経路情報を保持している。プロトコル処理部２４は、経路情報とルータ１０から送信されてくる制御パケットに基づいて、経路計算を行う。経路計算の結果、フォワーディング処理部１２のテーブルを変更する必要が生じた場合、プロトコル処理部２４は、経路計算に従った新たなフォワーディングエントリをルータ１０に送信する。
【００３８】
なお、端末装置３０，４０も端末装置２０と同じ機能ブロックを有している。
次に、外部計算機管理部１４が、ＬＡＮ５０に接続されている端末装置２０〜４０を定期的に検索するときに用いるパケットのデータ構成例について説明する。
【００３９】
図５は、端末装置検索時に送受信されるパケットのデータ構成例を示した図である。
図に示すようにパケット６１は、送信元アドレス、送信先アドレス、メッセージタイプ、およびオプションの領域を有している。
【００４０】
送信元アドレスには、パケット６１を送信する装置のＭＡＣアドレスが格納される。ルータ１０が、外部の端末装置２０〜４０を検索するために、パケット６１を出力する場合、送信元アドレスには、ルータ１０のＭＡＣアドレスが格納される。端末装置２０〜４０が、ルータ１０からの検索に対する応答のために、パケット６１を出力する場合、送信元アドレスには、端末装置２０〜４０のＭＡＣアドレスが格納される。
【００４１】
送信先アドレスには、パケット６１の送信先のＭＡＣアドレスが格納される。ルータ１０がＬＡＮ５０に接続されている端末装置を検出する場合は、全端末装置に送信されるようにするため、送信先アドレスには、ブロードキャスト設定（FF:FF:FF:FF:FF:FF）がされる。端末装置２０〜４０がルータ１０の検出に対し応答する場合は、ルータ１０のＭＡＣアドレスが格納される。
【００４２】
メッセージタイプには、オプションに格納されるデータの特性を示す情報が格納される。メッセージタイプが１の場合、パケット６１は端末装置２０〜４０の検索のために使用されていることを示し、オプションは使用されないことを示す。メッセージタイプが２の場合、オプションには、端末装置２０〜４０のルータ１０への応答に関するデータが格納されていることを示す。このデータは、例えば、端末装置２０〜４０のＣＰＵ速度、メモリ容量である。メッセージタイプが３の場合、オプションには、タグ値が格納されていることを示す。
【００４３】
次に、ルータ１０から端末装置２０〜４０にタグ値が付与された場合に、ルータ１０と端末装置２０〜４０間で送受信されるパケットのデータ構成例について説明する。
図６は、ルータと端末装置間で送受信されるパケットのデータ構成例を示した図である。
【００４４】
図に示すようにパケット６２は、タグ値、メッセージタイプ、インフォメーションタイプ、およびインフォメーションの領域を有している。
タグ値には、ルータ１０が端末装置２０〜４０に付与したタグ値が格納される。ルータ１０は、タグ値によって端末装置２０〜４０を識別し、通信を行う。
【００４５】
メッセージタイプとインフォメーションタイプには、インフォメーションのデータの特性を示す情報が格納される。メッセージタイプでインフォメーションの大まかな特性を示し、インフォメーションタイプで詳細な特性を示している。
【００４６】
メッセージタイプが１１の場合は、情報に関するデータが格納されていることを示す。
メッセージタイプが１２の場合は、経路変更の状態に関するデータが格納されていることを示す。メッセージタイプが１３の場合は、端末装置の状態チェックに関するデータが格納されていることを示す。
【００４７】
インフォメーションタイプが１の場合は、装置情報に関するデータが格納されていることを示す。インフォメーションタイプが２の場合は、経路情報に関するデータが格納されていることを示す。インフォメーションタイプが３の場合は、ＶＰＮに関するデータが格納されていることを示す。インフォメーションタイプが４の場合は、端末装置のＣＰＵ等の負荷情報に関するデータが格納されていることを示す。
【００４８】
次に、ルータ１０の外部計算機管理部１４が管理する、端末装置２０〜４０に関する情報について説明する。
図７は、ルータの外部計算機管理部が管理する端末装置に関する情報のデータ構成例を示した図である。
【００４９】
図に示す外部計算機管理情報６３は、ルータ１０の外部計算機管理部１４が管理する、端末装置２０〜４０に関する情報である。外部計算機管理情報６３は、外部計算機ＭＡＣアドレス、制御ポート番号、外部計算機識別タグ値、ルータ情報通知状態、優先順位、ＣＰＵ、メモリの欄を有している。
【００５０】
外部計算機ＭＡＣアドレスの欄には、外部計算機管理部１４が検索した端末装置２０〜４０のＭＡＣアドレスが格納される。制御ポート番号の欄には、外部計算機管理部１４が検索した端末装置２０〜４０の接続されているポートのポート番号が格納される。外部計算機識別タグ値の欄には、外部計算機管理部１４が検索した端末装置２０〜４０に付与するタグ値が格納される。ルータ情報通知状態の欄は、装置情報と経路情報の欄を有し、装置情報の欄には、ルータ１０自身に関する装置情報を端末装置２０〜４０に送信したかを示す情報が格納される。経路情報の欄には、ネットワークにおける経路情報を送信したかを示す情報が格納される。なお、済みで送信したことを示し、未で送信していないことを示す。優先順位の欄には、端末装置２０〜４０から送信されてくる経路計算結果のどれを優先して受信すべきかを示す優先順位が格納される。優先順位は、次に説明するＣＰＵおよびメモリによって決められる。ＣＰＵの欄には、外部計算機管理部１４が検索した端末装置２０〜４０のＣＰＵ速度が格納される。メモリの欄には、外部計算機管理部１４が検索した端末装置２０〜４０のメモリ容量が格納される。
【００５１】
次に、端末装置２０〜４０に付与されたタグ値の管理について説明する。
図８は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報６４は、端末装置２０の外部計算機検索応答部２２が保持して管理しているタグ値である。タグ値管理情報６４は、ルータのＭＡＣアドレスおよびタグ値の欄を有している。タグ値管理情報６４は、例えば、ＲＡＭやＨＤＤの記憶装置に記憶される。
【００５２】
ルータのＭＡＣアドレスの欄には、端末装置２０の通信相手であるルータ１０のＭＡＣアドレスが格納される。タグ値の欄には、ルータ１０から付与されたタグ値が格納される。経路計算処理通信部２１は、外部計算機検索応答部２２で管理されているタグ値管理情報６４を参照して、ルータ１０から送信された自分宛てのパケットを判別する。また、タグ値管理情報６４を参照して、ルータ１０に送信するパケットにタグ値を付加する。なお、ルータ１０は、パケットに付加されているタグ値１０によって、端末装置２０が送信元であることを判別できる。
【００５３】
次に、図４の経路計算システムの動作について、外部計算機（端末装置２０〜４０）を検索する動作、ルータ１０が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作に分けて説明する。まず、外部計算機を検索する動作について説明する。
【００５４】
ルータ１０の外部計算機管理部１４は、ＬＡＮ５０上に端末装置２０〜４０が存在しているか、定期的に検索する。このとき、外部計算機管理部１４は、端末装置２０〜４０を検索するための検索メッセージを生成し、経路計算処理通信部１７に検索メッセージ転送要求を行う。検索メッセージは、具体的には、図５で説明したパケット６１の送信元アドレスにルータ１０のＭＡＣアドレス00:0E:00:D2:11:12を格納し、送信先アドレスにFF:FF:FF:FF:FF:FFを格納し（ブロードキャスト設定）、メッセージタイプに１を格納したものである。経路計算処理通信部１７は、検索メッセージ転送要求を受けて、上記の検索メッセージをブロードキャストし、端末装置２０〜４０に送信する。
【００５５】
端末装置２０の経路計算処理通信部２１は、ＬＡＮ５０からフレームを受信し、それが検索メッセージであれば、外部計算機検索応答部２２に検索メッセージ処理要求を行う。外部計算機検索応答部２２は、検索メッセージ処理要求を受けると、端末装置２０自身が外部計算機として使用可能状態であれば、端末装置２０自身に関する情報を含む検索応答メッセージを作成する。端末装置２０自身に関する情報は、例えば、ＣＰＵ速度、メモリ容量である。検索応答メッセージは、具体的には、図５で説明したパケット６１の送信元アドレスに端末装置２０のＭＡＣアドレス00:0E:01:3D:01:02を格納し、送信先アドレスにルータ１０のＭＡＣアドレス00:0E:00:D2:11:12を格納し、メッセージタイプに２を格納し、オプションに２．０、５１２を格納したものである。２．０は端末装置２０のＣＰＵ速度２．０ＧＨｚを示し、５１２は端末装置２０のメモリ容量５１２Ｍバイトを示している。
【００５６】
外部計算機検索応答部２２は、検索応答メッセージを作成すると、経路計算処理通信部２１に、検索応答メッセージをルータ１０に送信するよう、検索応答メッセージ送信要求をする。経路計算処理通信部２１は、検索応答メッセージ送信要求を受けて、検索応答メッセージをルータ１０に送信する。
【００５７】
ルータ１０の経路計算処理通信部１７は、フレームを受信し、検索応答メッセージであれば（メッセージタイプが２であれば）、外部計算機管理部１４に検索応答メッセージ処理要求を行う。このとき、経路計算処理通信部１７は、受信した検索応答メッセージと、検索応答メッセージを受信したポートのポート番号とを経路計算処理通信部１７に引き渡す。なお、ここでは、ポート番号を１２０とする。
【００５８】
外部計算機管理部１４は、検索応答メッセージ処理要求を受けると、ともに引き渡される検索応答メッセージより、図７で示した外部計算機管理情報６３を生成する。このとき、外部計算機のＭＡＣアドレスに対応するタグ値を決定し、外部計算機管理情報６３に含める。また、検索応答メッセージを受信したポート番号（１２０）も含める。なお、上記例では、端末装置２０より検索応答メッセージを受信しているので、外部計算機管理情報６３は、図７に示す最上欄のようになる。なお、タグ値は、外部計算機のＭＡＣアドレスごとに決定する。
【００５９】
外部計算機管理部１４は、タグ値を決定すると、タグ値通知メッセージを生成する。タグ値通知メッセージは、具体的には、図５で説明したパケット６１の送信元アドレスにルータ１０のＭＡＣアドレスを格納し、送信先アドレスに端末装置２０のＭＡＣアドレスを格納し、メッセージタイプに３を格納し、オプションに付与するタグ値の１０を格納したものである。外部計算機管理部１４は、タグ値を決定した端末装置２０に、タグ値通知メッセージを送信するよう、経路計算処理通信部１７にタグ値通知要求をする。経路計算処理通信部１７は、タグ値通知要求を受けて、タグ値通知メッセージを端末装置２０に送信する。
【００６０】
端末装置２０の経路計算処理通信部２１は、フレームを受信し、タグ値通知メッセージであれば（メッセージタイプが３）、外部計算機検索応答部２２にタグ値通知処理要求をする。外部計算機検索応答部２２は、タグ値通知処理要求を受けると、タグ値通知メッセージから、図８に示したタグ値管理情報６４を生成し、保持する。経路計算処理通信部２１は、外部計算機検索応答部２２にタグ値が保持されると、以後、このタグ値をフレームに付与して、ルータ１０と通信を行う。
【００６１】
ルータ１０の経路計算処理通信部１７は、タグ値メッセージの送信を完了すると、外部計算機管理部１４にタグ値通知完了の通知をする。外部計算機管理部１４は、タグ値通知完了の通知を受けると、外部計算機にルータ１０が保持している経路計算に必要な情報（装置情報、経路情報）を外部計算機に送信するため、装置管理部１５とプロトコル処理部１６にデータベース情報通知要求をする。
【００６２】
装置管理部１５は、データベース情報通知要求を受けると、装置情報を含むデータベース情報メッセージを生成する。プロトコル処理部１６は、データベース情報通知要求を受けると、経路情報を含むデータベース情報メッセージを生成する。データベース情報メッセージは、具体的には、図６で説明したパケット６２のメッセージタイプに１１を格納し、インフォメーションタイプに１を格納し、インフォメーションに装置情報を格納したものである。または、インフォメーションタイプに２を格納し、インフォメーションに経路情報を格納したものである。なお、タグ値は、データベース情報メッセージが外部計算機に送信されるときに付与される。
【００６３】
装置管理部１５とプロトコル処理部１６は、経路計算処理通信部１７にデータベース情報送信要求をする。経路計算処理通信部１７は、データベース情報送信要求を受けると、データベース情報メッセージにタグ値を付与してＬＡＮ５０に送信する。このとき、経路計算処理通信部１７は、外部計算機管理情報６３のルータ情報通知状態が未である外部計算機に対して、データベース情報メッセージを送信する。
【００６４】
端末装置２０の経路計算処理通信部２１は、自分宛てのタグ値のフレームを受信し、タグ値を除去する。フレームのメッセージタイプが１１で、インフォメーションタイプが１の場合は装置管理部２３に、インフォメーションタイプが２の場合はプロトコル処理部２４にデータベース情報処理要求をする。
【００６５】
装置管理部２３は、データベース情報処理要求を受けると、データベース情報メッセージから装置情報のデータベースを生成する。プロトコル処理部２４は、データベース処理要求を受けると、データベース情報メッセージから経路情報のデータベースを生成する。装置管理部２３とプロトコル処理部２４は、データベース情報処理要求に対する処理が完了すると、ルータ１０にデータベース情報通知完了の通知をする。
【００６６】
ルータ１０の外部計算機管理部１４は、端末装置２０からデータベース情報通知完了の通知を受けると、外部計算機管理情報６３のルータ情報通知状態を済みにする。外部計算機管理部１４は、ルータ情報通知状態の装置情報と経路情報とがともに済みになった場合、ＣＰＵとメモリの情報を参照して、外部計算機の優先順位を計算し、外部計算機管理情報６３に格納する。優先順位は、ＣＰＵ速度とメモリ容量によって決められる。例えば、ＣＰＵ速度の速い順またはメモリ容量の大きい順で決められる。
【００６７】
優先順位の決定後、外部計算機管理部１４は、経路計算処理通信部１７に経路計算制御切替え要求を行う。経路計算処理通信部１７は、経路計算制御切替え要求を受けると、経路計算処理切替え部１３に、経路計算制御切替え要求を行う。経路計算処理切替え部１３は、経路計算制御切替え要求を受けると、ルーティングプロトコルの制御パケットと、装置情報が変更された場合に装置管理部１５から出力される装置情報変更通知とを、経路計算処理通信部１７に出力するように切替える。
【００６８】
これにより、タグ値を利用した外部計算機とルータとの通信手段が確立し、ルータの経路計算機能を外部計算機で行うことができる。
次に、ルータ１０が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作について説明する。
【００６９】
ルータ１０のプロトコルパケット判別部１１は、他のルータからルーティングプロトコルの制御パケットを受信すると、その制御パケットを経路計算処理切替え部１３に出力する。また、装置管理部１５は、装置情報の変更が発生すると、装置状態変更通知パケットを生成し、経路計算処理切替え部１３に出力する。装置状態変更通知パケットは、具体的には、図６で示したパケット６２のタグ値に端末装置２０〜４０に付与したタグ値を格納し、メッセージタイプに１２を格納し、インフォメーションタイプに１を格納し、インフォメーションに装置状態の変更情報を格納したものである。
【００７０】
経路計算処理切替え部１３は、経路計算処理通信部１７から経路計算制御切替え要求を受付け済みであれば、経路計算処理通信部１７に制御パケット転送要求を行い、制御パケットおよび装置状態変更通知パケットを出力する。
【００７１】
経路計算処理通信部１７は、経路計算処理切替え部１３から制御パケット転送要求を受けると、外部計算機管理情報６３のルータ情報通知状態が済みとなっている外部計算機に対し、タグ値を付与した装置内制御パケット（制御パケット、フォワーディング制御パケット、装置状態変更通知パケットを装置内制御パケットと呼ぶ）を送信する。
【００７２】
端末装置２０の経路計算処理通信部２１は、外部計算機検索応答部２２で管理されているタグ値の付与された装置内制御パケットを受信する。受信した装置内制御パケットのタグ値を除去し、それが制御パケットなら、プロトコル処理部２４に出力する。装置状態変更通知パケットなら、装置管理部２３に出力する。
【００７３】
プロトコル処理部２４は、受信された制御パケットに基づいて、経路の再計算をし、保持している経路情報のデータベースを更新する。その結果、フォワーディングエントリの登録・変更・削除が必要な場合は、フォワーディング制御パケットを生成する。また、他のルータへパケットの送信が必要な場合は、制御パケットを生成し、経路計算処理通信部２１に制御パケット転送要求を行う。
【００７４】
装置管理部２３は、受信された装置状態変更通知パケットより、保持している装置情報のデータベースを更新する。装置管理部２３は、変更された装置情報をプロトコル処理部２４に通知する。プロトコル処理部２４は、経路の再計算を行い、その結果、フォワーディングエントリの登録・変更・削除が必要な場合は、フォワーディング制御パケットを生成し、経路計算処理通信部２１に制御パケット転送要求を行う。
【００７５】
経路計算処理通信部２１は、制御パケット転送要求を受けると、装置内制御パケットに、外部計算機検索応答部２２が管理しているタグ値を付与し、ＬＡＮ５０に送信する。
ルータ１０の経路計算処理通信部１７は、外部計算機管理情報６３で管理されているタグ値が付与された装置内制御パケットを受信する。このとき、外部計算機管理情報６３に設定されている優先順位を参照し、優先度の最も高いタグ値の端末装置２０〜４０から送信されてきた装置内制御パケットのみを受信する。
【００７６】
経路計算処理通信部１７は、受信した装置内制御パケットのタグ値を除去し、それが制御パケットなら、経路計算処理切替え部１３に出力する。フォワーディング制御パケットなら、フォワーディング処理部１２に出力する。
【００７７】
経路計算処理切替え部１３は、経路計算処理通信部１７からの制御パケットをプロトコルパケット判別部１１に出力し、他のルータへ送信する。
フォワーディング処理部１２は、経路計算処理通信部１７からのフォワーディング制御パケットより、フォワーディングエントリの登録、変更、削除を行う。
【００７８】
これにより、ルータは、制御パケットを受信した場合や装置情報の変更があった場合、外部計算機で経路計算を行わせ、その結果を受信することにより、フォワーディングエントリの書き換えを行うことができる。よって、外部計算機の交換により、経路計算処理の高速化が図られ、外部計算機の進歩に合わせて、ルータの経路計算性能を安価に高速化することが可能となる。
【００７９】
また、経路計算を行う外部計算機を複数接続し、障害が発生したとき性能順に切替えることで、ルータの信頼性を高めることが可能となる。
なお、上記で説明した、外部計算機の定期的な検索によって、障害が発生した外部計算機を検出することができる。また、定期的な外部計算機の検索において、優先順位の再計算を行うことで、図７の外部計算機管理情報６３の優先順位が変更されるため、外部計算機の障害が発生しても、新しい優先順位に従い、受信した装置内制御パケットを処理するため、高い計算能力を維持することができる。
【００８０】
また、定期的な外部計算機の検索により、新規に追加された外部計算機を検出することができる。このとき、優先順位の再計算を行うことで、外部計算機管理情報６３の優先順位が変更される。また、ルータ１０は、データベース情報を外部計算機に転送した後から、新規に追加された外部計算機に対して装置内制御パケットを転送する。このため、ルータ１０と各外部計算機との間で同じデータベース情報を維持することができる。
【００８１】
次に、本発明の第２の実施の形態を図面を参照して詳細に説明する。
第２の実施の形態では、ＶＰＮ環境下の経路計算を外部計算機に行わせる。
図９は、ＶＰＮを説明する図である。
【００８２】
図に示すようにルータ７１，７４は、ＩＰネットワーク７７を介して接続されている。ルータ７１の配下にはルータ７２ａ〜７２ｃが接続され、ルータ７４の配下にはルータ７５ａ〜７５ｃが接続されている。ルータ７２ａの配下には、端末装置７３ａ，７３ｂが接続され、ルータ７２ｂの配下には、端末装置７３ｃ，７３ｄが接続され、ルータ７２ｃの配下には、端末装置７３ｅ，７３ｆが接続されている。ルータ７５ａの配下には、端末装置７６ａ，７６ｂが接続され、ルータ７５ｂの配下には、端末装置７６ｃ，７６ｄが接続され、ルータ７５ｃの配下には、端末装置７６ｅ，７６ｆが接続されている。
【００８３】
図に示すネットワークでは、例えば、３つのＶＰＮが構築されている。端末装置７３ａ，７３ｂ，７６ａ，７６ｂは１つのＶＰＮを構築し、端末装置７３ｃ，７３ｄ，７６ｃ，７６ｄは１つのＶＰＮを構築し、端末装置７３ｅ，７３ｆ，７６ｅ，７６ｆは１つのＶＰＮを構築している。
【００８４】
次に、第２の実施の形態に係るルータと端末装置の機能について説明する。
図１０は、第２の実施の形態に係るルータと端末装置の機能ブロック図である。
図１０において、図４と同様のものには同じ符号を付し、その説明を省略する。ルータ８０は、新たにプロトコル終端部８１およびＶＰＮ経路計算分散部８２を有している。
【００８５】
ルータ８０のプロトコル終端部８１は、他のルータとセッションを確立しているルーティングプロトコルの制御パケットのコネクションを終端し、ＶＰＮごとの経路計算が切り替わっても、他のルータとのセッションを継続する。
【００８６】
ＶＰＮ経路計算分散部８２は、ＶＰＮの経路に関するＶＰＮ経路情報データベースを作成する。ＶＰＮ経路計算分散部８２は、このＶＰＮ経路情報データベースと、外部計算機管理部１４が作成する図７で示した外部計算機管理情報６３を基に、外部計算機にＶＰＮごとの経路計算をさせるための外部計算機ＶＰＮ管理情報を作成する。ＶＰＮ経路情報データベース、外部計算機ＶＰＮ管理情報は、例えば、ＲＡＭやＨＤＤの記憶装置に記憶される。
【００８７】
端末装置９０は、新たにＶＰＮ経路計算分散部９１と複数のプロトコル処理部９２〜９４を有している。ＶＰＮ経路計算分散部９１は、ＶＰＮごとの経路計算を、どのプロトコル処理部９２〜９４に割り当てるかを示す情報を管理している。ＶＰＮ経路計算分散部９１は、ルータ８０からのＶＰＮの経路計算の要求に応じて、各ＶＰＮの経路計算を各プロトコル処理部９２〜９４に分散させる。
【００８８】
プロトコル処理部９２〜９４は、ルータ８０から送信されてきた制御パケットに基づいて、経路計算を行う。プロトコル処理部９２〜９４は、ＶＰＮごとに対応して設けられ、それぞれのＶＰＮの経路計算を行う。プロトコル処理部９２〜９４は、経路計算の結果、フォワーディング処理部１２のテーブルを変更する必要が生じた場合、新たなフォワーディングエントリをルータ８０に送信する。
【００８９】
次に、ルータ８０が管理するＶＰＮの情報について説明する。
図１１は、ルータのＶＰＮ経路計算分散部が管理するＶＰＮ経路情報データベースのデータ構成例を示した図である。
【００９０】
図に示すＶＰＮ経路情報データベース１１１は、ルータ８０のＶＰＮ経路計算分散部８２が管理するＶＰＮに関する情報である。ＶＰＮ経路情報データベース１１１は、ＶＰＮ＿ＩＤ、ＶＰＮ経路、ネイバ、および送信ポートの欄を有している。ＶＰＮ＿ＩＤの欄には、ルータ８０が構築しているＶＰＮに付与されている識別子が格納される。ＶＰＮ経路の欄には、ＶＰＮの各経路に付与されているアドレスが格納される。ネイバの欄には、左欄のＶＰＮのアドレスにおいて隣接しているルータのアドレスが格納される。送信ポートの欄には、左欄のＶＰＮのアドレスにおいて隣接しているルータが接続されているポートのポート番号が格納される。
【００９１】
例えば、ＶＰＮ＿ＩＤ１が付与されているＶＰＮの経路のアドレスとして、192.100.10.2、192.100.10.5、192.100.10.11がある。これら各経路のアドレスに接続されている隣接したルータのアドレスは、2.2.2.2、2.2.2.2、3.3.3.3である。送信ポートのポート番号は、１３０、１３０、１２２である。
【００９２】
次に、外部計算機ＶＰＮ管理情報について説明する。
図１２は、ルータのＶＰＮ経路計算分散部が管理する端末装置に関する情報のデータ構成例を示した図である。
【００９３】
図に示す外部計算機ＶＰＮ管理情報１１２は、ルータ８０のＶＰＮ経路計算分散部８２が管理している端末装置９０，１００，１０１に関する情報である。外部計算機ＶＰＮ管理情報１１２は、外部計算機ＭＡＣアドレス、外部計算機識別タグ値、ルータ情報通知状態、処理ＶＰＮ＿ＩＤ、ＣＰＵ、メモリの欄を有している。
【００９４】
外部計算機ＭＡＣアドレスの欄には、ルータ８０と接続されている端末装置９０、１００、１０１のＭＡＣアドレスが格納される。外部計算機識別タグ値の欄には、ルータ８０と接続されている端末装置９０，１００，１０１に付与されたタグ値が格納される。ルータ情報通知状態の欄は、装置情報と経路情報の欄を有し、装置情報の欄には、ルータ８０自身に関する装置情報を端末装置９０，１００，１０１に送信したかを示す情報が格納される。経路情報の欄には、ＶＰＮにおける経路情報を送信したかを示す情報が格納される。なお、済みで送信したことを示し、未で送信していないことを示す。処理ＶＰＮ＿ＩＤの欄には、端末装置９０，１００，１０１に経路計算させるＶＰＮのＶＰＮ＿ＩＤが格納される。ＣＰＵの欄には、ルータ８０に接続されている端末装置９０，１００，１０１のＣＰＵ速度が格納される。メモリの欄には、ルータ８０に接続されている端末装置９０，１００，１０１のメモリ容量が格納される。
【００９５】
次に、端末装置９０，１００，１０１のタグ値の管理について説明する。
図１３は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報１１３は、端末装置９０のＶＰＮ経路計算分散部９１が保持して管理しているタグ値である。タグ値管理情報１１３は、ルータのＭＡＣアドレス、タグ値、ＶＰＮ＿ＩＤ、およびプロトコル処理の欄を有している。タグ値管理情報１１３は、例えば、ＲＡＭやＨＤＤの記憶装置に記憶される。
【００９６】
ルータのＭＡＣアドレスの欄には、端末装置９０の通信相手であるルータ８０のＭＡＣアドレスが格納される。タグ値の欄には、ルータ８０から付与されたタグ値が格納される。ＶＰＮ＿ＩＤの欄には、ＶＰＮに付与されている識別子が格納される。プロトコル処理の欄には、左欄のＶＰＮ＿ＩＤの経路計算を行うプロセスの名前が格納される。
【００９７】
次に、図１０の経路計算システムの動作について、外部計算機（端末装置９０，１００，１０１）を検索する動作、ルータ８０が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作に分けて説明する。まず、外部計算機を検索する動作について説明する。
【００９８】
ルータ８０が、検索メッセージを作成して端末装置９０，１００，１０１を検索し、タグ値を付与する動作は、第１の実施の形態と同様であり、それ以降の動作について説明する。ルータ８０は、ＶＰＮ経路が安定するまで、自装置内のプロトコル処理部１６で経路情報の計算を行う。プロトコル処理部１６は、一定時間、ＶＰＮ経路が変動しない状態になると、ＶＰＮ経路計算分散部８２にデータベース生成要求を行う。このとき、プロトコル処理部１６は、ＶＰＮごとに得た経路情報をＶＰＮ経路計算分散部８２に通知する。
【００９９】
ＶＰＮ経路計算分散部８２は、データベース生成要求を受け付け、図１１に示すようなＶＰＮ経路情報データベース１１１を生成する。ＶＰＮ経路計算分散部８２は、ＶＰＮ経路情報データベース１１１の生成後、外部計算機管理部１４が作成した外部計算機管理情報の外部計算機の性能と、生成したＶＰＮ経路情報データベース１１１のＶＰＮの経路数とを基に、ＣＰＵの性能が高い外部計算機から、経路数が多いＶＰＮ＿ＩＤを割り当てた、図１２に示す外部計算機ＶＰＮ管理情報１１２を生成する。このとき、外部計算機ごとにタグ値を決定する。なお、外部計算機の数より、ＶＰＮの数の方が多い場合には、外部計算機の性能と、各ＶＰＮの経路数を比較し、外部計算機の性能に比例して、ＶＰＮの経路数が分配されるよう、各外部計算機に対し、計算する複数のＶＰＮを対応付けていく。
【０１００】
ＶＰＮ経路計算分散部８２は、タグ値決定後、外部計算機ＶＰＮ管理情報１１２を参照してタグ値通知メッセージを生成し、タグ値通知要求を経路計算処理通信部１７に行う。経路計算処理通信部１７は、タグ値通知要求を受けると、その要求とともに送られてくるタグ値通知メッセージを端末装置９０，１００，１０１に送信する。
【０１０１】
なお、タグ値通知メッセージには、端末装置に付与されるタグ値と、ルータ８０により割り当てられる、端末装置のプロトコル処理部に経路計算を行わせるＶＰＮの識別子が含まれる。タグ値通知メッセージは、具体的には、図５のパケット６１の送信元アドレスにルータ８０のＭＡＣアドレス00:0E:00:D2:11:12を格納し、送信先アドレスに端末装置９０のＭＡＣアドレス00:0E:01:3D:01:02を格納し、メッセージタイプに３を格納し、オプションにタグ値２０とＶＰＮ＿ＩＤの２と５を格納したものである。
【０１０２】
端末装置９０の経路計算処理通信部２１は、フレームを受信し、そのフレームがタグ値通知メッセージ（メッセージタイプが３）で、オプションにＶＰＮ＿ＩＤがあれば、ＶＰＮ経路計算分散部９１にタグ値通知処理要求を行う。
【０１０３】
ＶＰＮ経路計算分散部９１は、タグ値通知処理要求を受けると、タグ値通知メッセージから、図１３に示したタグ値管理情報１１３を生成する。ＶＰＮ経路計算分散部９１は、タグ値管理情報１１３の生成後、各ＶＰＮ経路を計算するプロトコル処理部９２〜９４を起動する。プロトコル処理部９２〜９４は、複数のＶＰＮの経路計算を並行して処理する。ＶＰＮ経路計算分散部９１は、プロトコル処理部９２〜９４の起動後、経路計算処理通信部２１に、タグ値通知処理完了の通知を行う。
【０１０４】
経路計算処理通信部２１は、タグ値通知処理完了の通知を受けると、以後、図１３に示すタグ値をフレームに付与してルータ８０と通信を行う。
ルータ８０の経路計算処理通信部１７は、タグ値通知メッセージの送信が完了すると、ＶＰＮ経路計算分散部８２にタグ値通知完了通知を行う。
【０１０５】
ＶＰＮ経路計算分散部８２は、タグ値通知完了通知を受けると、外部計算機にルータ８０が保持している装置情報と経路情報を送信するため、装置管理部１５にデータベース情報通知要求を行う。
【０１０６】
装置管理部１５は、データベース情報通知要求を受けると、装置情報を含むデータベース情報メッセージを生成し、経路計算処理通信部１７にデータベース情報通知要求を行う。データベース情報メッセージは、具体的には、図６のパケット６２のタグ値に、送信すべき端末装置に付与したタグ値を格納し、メッセージタイプに１１を格納し、インフォメーションタイプに１を格納し、インフォメーションに装置情報を格納したものである。
【０１０７】
ＶＰＮ経路計算分散部８２は、データベース情報通知要求を受けると、ＶＰＮ経路情報データベース１１１の情報を含むデータベース情報メッセージを生成し、経路計算処理通信部１７にデータベース情報通知要求を行う。データベース情報メッセージは、具体的には、図６のパケット６２のタグ値に、送信すべき端末装置に付与したタグ値を格納し、メッセージタイプに１１を格納し、インフォメーションタイプに３を格納し、インフォメーションにＶＰＮ＿ＩＤとこのＶＰＮ＿ＩＤに対応するＶＰＮ経路情報データベース１１１の情報を格納したものである。
【０１０８】
経路計算処理通信部１７は、装置管理部１５からデータベース情報通知要求を受けると、外部計算機ＶＰＮ管理情報１１２のルータ情報通知状態の装置状態が未となっている外部計算機に対し、データベース情報メッセージを送信する。また、ＶＰＮ経路計算分散部８２からデータベース情報通知要求を受けると、外部計算機ＶＰＮ管理情報１１２のルータ情報通知状態の経路情報が未となっている外部計算機に対し、データベース情報メッセージを送信する。
【０１０９】
端末装置９０の経路計算処理通信部２１は、フレームを受信し、タグ値を除去する。フレームのメッセージ種別がデータベース情報メッセージ（メッセージタイプが１１）である場合は、インフォメーションタイプを参照する。インフォメーションタイプが１（装置構成情報）なら、装置管理部２３にデータベース情報処理要求を行い、インフォメーションタイプが３（ＶＰＮの経路情報）ならＶＰＮ経路計算分散部９１にデータベース情報処理要求を行う。
【０１１０】
装置管理部２３は、データベース情報処理要求を受け付けると、装置情報のデータベース情報を生成する。
ＶＰＮ経路計算分散部９１は、データベース情報処理要求を受け付けると、受信したメッセージのインフォメーションからＶＰＮ＿ＩＤを取得し、タグ値管理情報１１３の対応するプロセスを有しているプロトコル処理部９２〜９４に、データベース情報処理要求を行う。
【０１１１】
プロトコル処理部９２〜９４は、データベース情報処理要求を受けると、ＶＰＮ経路情報データベース１１１と同様のデータベースを生成する。
ルータ８０の装置管理部１５は、データベース情報通知要求が完了すると、ＶＰＮ経路計算分散部８２にデータ情報通知完了の通知を行う。ＶＰＮ経路計算分散部８２は、データ情報通知完了の通知を受けると、図１２に示した外部計算機ＶＰＮ管理情報１１２の装置情報の欄を済みに更新する。
【０１１２】
同様に、ＶＰＮ経路計算分散部８２も、データベース情報通知要求が完了すると、外部計算機ＶＰＮ管理情報１１２の経路情報の欄を済みに更新する。更新後、外部計算機ＶＰＮ管理情報１１２の装置情報および経路情報が済みになった場合、経路計算処理通信部１７に経路計算制御切替え要求を行う。
【０１１３】
経路計算処理通信部１７は、経路計算制御切替え要求を受けると、経路計算処理切替え部１３に、経路計算制御切替え要求を行う。
経路計算処理切替え部１３は、経路計算制御切替え要求を受けると、ルーティングプロトコルの制御パケットと、装置情報が変更された場合に装置管理部１５から出力される装置情報変更通知とを、経路計算処理通信部１７に出力するように切替える。また、プロトコル終端部８１に、経路計算制御切替え要求を行う。プロトコル終端部８１は、経路計算制御切替え要求を受けると、受信された制御パケットの終端処理を行い、制御パケットのセッション情報の管理、維持を開始する。
【０１１４】
これにより、タグ値を利用した外部計算機とルータとの通信手段が確立し、ルータのＶＰＮ経路計算機能を外部計算機で行うことができる。
次に、ルータ８０が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作について説明する。
【０１１５】
ルータ８０のプロトコルパケット判別部１１は、他のルータから受信した制御パケットをプロトコル終端部８１に出力する。
プロトコル終端部８１は、制御パケットを受信すると、経路計算制御切替え要求を受付済みならば、受信した制御パケットのセッション情報の終端処理をし、セッション情報の維持・管理を行う。そして、制御パケットを経路計算処理切替え部１３に出力する。
【０１１６】
装置管理部１５は、装置状態、装置構成の情報変更が発生すると、装置情報を含む装置状態変更通知パケットを生成し、経路計算処理切替え部１３に出力する。
経路計算処理切替え部１３は、経路計算処理通信部１７から経路計算制御切替え要求を受けていた場合、受信されたパケットが制御パケットならば、その制御パケットのＶＰＮ＿ＩＤが、外部計算機ＶＰＮ管理情報１１２に登録されているか検索する。ＶＰＮ＿ＩＤが外部計算機ＶＰＮ管理情報１１２に登録されていれば、経路計算処理切替え部１３は、ルータ情報通知状態の装置情報と経路情報が済みになっているかを確認する。ルータ情報通知状態の装置情報と経路情報がともに済みになっている場合、制御パケットを経路計算処理通信部１７に出力し、制御パケット転送要求を行う。なお、経路計算処理切替え部１３は、受信したパケットが装置状態変更通知パケットの場合は、外部計算機ＶＰＮ管理情報１１２の参照は行わず、経路計算処理通信部１７に制御パケット転送要求を行う。
【０１１７】
経路計算処理通信部１７は、経路計算処理切替え部１３からパケット転送要求を受け付けると、制御パケットの場合、外部計算機ＶＰＮ管理情報１１２を参照して、制御パケットのＶＰＮ＿ＩＤに対応するタグ値を取得して制御パケットに付与し、ＬＡＮ５０に送信する。装置状態変更通知パケットの場合は、外部計算機ＶＰＮ管理情報１１２のルータ情報通知状態が済みになっている外部計算機数分だけ、装置状態変更通知パケットをコピーし、対応するタグ値をそれぞれ付与してＬＡＮ５０に送信する。
【０１１８】
端末装置９０の経路計算処理通信部２１は、ＶＰＮ経路計算分散部９１で管理しているタグ値管理情報１１３のタグ値が付与されたパケットを受信する。経路計算処理通信部２１は、受信したパケットのタグ値を除去し、それが制御パケットならば、ＶＰＮ経路計算分散部９１に出力する。装置状態変更通知パケットならば、装置管理部２３に出力する。
【０１１９】
ＶＰＮ経路計算分散部９１は、受信された制御パケットよりＶＰＮ＿ＩＤを取得し、タグ値管理情報１１３から、制御パケットを処理するプロセス（プロトコル処理部９２〜９４）を検索する。ＶＰＮ経路計算分散部９１は、検索したプロセスに制御パケットを出力する。
【０１２０】
プロトコル処理部９２〜９４は、受信された制御パケットに基づいて、経路の再計算をし、保持している経路情報を更新する。その結果、フォワーディングエントリの登録、変更、削除が必要な場合は、フォワーディング制御パケットを生成する。また、他のルータへ、パケットの送信が必要な場合は、制御パケットを生成する。プロトコル処理部９２〜９４は、ＶＰＮ経路計算分散部９１に制御パケット情報通知要求を行う。
【０１２１】
ＶＰＮ経路計算分散部９１は、制御パケット情報通知要求を受けると、タグ値管理情報１１３を参照して、プロトコル処理部９２〜９４より生成されたフォワーディング制御パケットまたは制御パケットのＶＰＮ＿ＩＤを取得し、制御パケット転送要求とともに経路計算処理通信部２１に出力する。
【０１２２】
装置管理部２３は、受信された装置状態変更通知パケットより、保持している装置情報のデータベースを更新する。装置管理部２３は、変更された装置情報における経路の再計算を行い、その結果、フォワーディングエントリの登録・変更・削除が必要な場合、フォワーディング制御パケットを生成する。そして、経路計算処理通信部２１に制御パケット転送要求を行う。
【０１２３】
経路計算処理通信部２１は、制御パケット転送要求を受けると、装置内制御パケット（ＶＰＮ経路計算分散部９１からのフォワーディング制御パケット、制御パケット、または装置管理部２３からのフォワーディング制御パケット）にタグ値管理情報１１３のタグ値を付与し、ＬＡＮ５０に送信する。
【０１２４】
ルータ８０の経路計算処理通信部１７は、外部計算機ＶＰＮ管理情報１１２で管理されているタグ値が付与された装置内制御パケットを外部計算機から受信する。経路計算処理通信部１７は、受信した装置内制御パケットのタグ値を除去し、それが制御パケットならＶＰＮ経路計算分散部８２に出力する。フォワーディング制御パケットなら、フォワーディング処理部１２に出力する。
【０１２５】
ＶＰＮ経路計算分散部８２は、経路計算処理通信部１７が受信した制御パケットより、ＶＰＮ経路情報データベース１１１を書き換える。フォワーディング処理部１２は、経路計算処理通信部１７が受信したフォワーディング制御パケットより、フォワーディングエントリの登録、変更、削除を行う。
【０１２６】
これにより、ルータ８０は、制御パケットを受信した場合や装置情報の変更があった場合、外部計算機で経路の計算をさせ、フォワーディングエントリの書き換えを行うことができる。ルータ８０のＶＰＮの経路計算を、ＶＰＮの経路数に応じて複数の外部計算機に分散して処理させることで、高速にＶＰＮの経路計算をすることが可能となる。
【０１２７】
なお、定期的な外部計算機の検索によって、障害が発生した外部計算機を検出することができ、別の端末装置にＶＰＮの経路計算を行わせることができる。これはまず、障害が発生した外部計算機を外部計算機ＶＰＮ管理情報１１２から削除する。障害が発生した外部計算機の行っていた経路計算をルータ８０のプロトコル処理部１６で行わせる。そして、プロトコル処理部１６が経路計算を行っている間に、ＶＰＮ経路計算分散部８２によって、外部計算機ＶＰＮ管理情報１１２に登録されている外部計算機のうち、最も負荷の小さい外部計算機を選択する。以後は、外部計算機の検出手順と同様の手順によって、選択された外部計算機に装置情報とＶＰＮの経路情報の通知を行うことによって、ＶＰＮ経路計算を新たな外部計算機で処理させることができる。
【０１２８】
また、定期的な外部計算機の検索によって、新規に追加された外部計算機を追加することができる。これは、外部計算機の検出手順と同様の手順を新規に追加された外部計算機に対して行い、外部計算機ＶＰＮ管理情報１１２を更新する。ルータ８０は、データベース情報メッセージの転送完了後から、新規に追加された外部計算機に対して、装置内制御パケットを転送して、各外部計算機と同様の経路計算をすることができる。
【０１２９】
さらに、ルータ８０は、外部計算機に対し、負荷調査を行うことができる。これは、ルータ８０のＶＰＮ経路計算分散部８２が、定期的に負荷調査メッセージを生成して、経路計算処理通信部１７に転送し、負荷調査要求を行う。経路計算処理通信部１７は、負荷調査要求を受けると、負荷調査メッセージに各外部計算機に対応するタグ値を付加してＬＡＮ５０に送信する。負荷調査メッセージは、具体的には、図６に示すパケット６２のタグ値に、負荷調査を行う外部計算機（端末装置９０）のタグ値を格納し、メッセージタイプに１３を格納し、インフォメーションタイプに４を格納したものである。
【０１３０】
端末装置９０の経路計算処理通信部２１は、ルータ８０からメッセージを受信し、タグ値を除去する。メッセージタイプが１３で、インフォメーションタイプが４ならば、ＶＰＮ経路計算分散部９１に受信したメッセージを出力する。ＶＰＮ経路計算分散部９１は、負荷調査メッセージを受信すると、ＣＰＵの使用率とメモリの使用率を調査する。調査を終えると、負荷調査応答メッセージを生成し、経路計算処理通信部２１に負荷調査メッセージ応答要求を行う。経路計算処理通信部２１は、負荷調査メッセージ応答要求を受け付けると、タグ値管理情報１１３を参照して、生成された負荷調査応答メッセージにタグ値を付加してＬＡＮ５０に送信する。なお、負荷調査応答メッセージは、具体的には、図６に示すパケット６２のタグ値に端末装置９０のタグ値を格納し、メッセージタイプに１３を格納し、インフォメーションタイプに４を格納し、インフォメーションに、例えば、ＣＰＵ７０％、メモリ５０％と、ＣＰＵとメモリの使用率を格納したものである。
【０１３１】
ルータ８０の経路計算処理通信部１７は、負荷調査応答メッセージを受信し、タグ値を除去する。経路計算処理通信部１７は、受信した負荷調査応答メッセージをＶＰＮ経路計算分散部８２に出力する。ＶＰＮ経路計算分散部８２は、通知された負荷情報から、ＶＰＮ経路情報データベース１１１のＶＰＮ経路数に負荷を掛け合わせたうえで、再度、経路数が多いものからＣＰＵの性能の高い外部計算機を割り当て、外部計算機ＶＰＮ管理情報１１２を変更する。処理を行う外部計算機の変更および新規に処理する外部計算機の追加をする場合においても、上記の定期的に外部計算機を検索する手順後、上記の負荷の状況に応じた分散処理ができる。
【０１３２】
次に、本発明の第３の実施の形態を図面を参照して詳細に説明する。
第３の実施の形態では、複数のルータに対し、１つの外部計算機で経路計算を行う。
図１４は、第３の実施の形態に係る経路計算システムの構成例を示す図である。
【０１３３】
図に示すようにルータ１２０〜１４０は、端末装置１５０と接続されている。ルータ１２０〜１４０は、第１の実施の形態と同様に、外部に接続されている端末装置を検索するため、検索メッセージを出力する。端末装置１５０は、各ルータ１２０〜１４０から送信されてくる検索メッセージに対し、ルータ１２０〜１４０を識別するためのタグ値を生成し、ルータ１２０〜１４０に送信する。図１４の例では、端末装置１５０は、タグ値２０をルータ１２０に送信し、タグ値２１をルータ１３０に送信し、タグ値２２をルータ１４０に送信している。
【０１３４】
ルータ１２０〜１４０と端末装置１５０は、タグ値が生成され付与されると、以後、このタグ値によって通信を行う。ルータ１２０〜１４０は、経路計算を再計算する必要が生じた場合、端末装置１５０に対し経路計算の要求をし、端末装置１５０は１台で経路計算を行う。すなわち、第３の実施の形態では、端末装置１５０の処理能力が高い場合、複数のルータ１２０〜１４０の経路計算を１台によって行う。
【０１３５】
タグ値による通信について説明する。
図１５は、タグ値による通信を説明する図である。
図には、図１４で説明したルータ１２０と端末装置１５０が示してある。端末装置１５０は、ルータ１２０と通信するとき、パケットのデータの先頭に、ルータ１２０に付与したタグ値２０を付加する。ルータ１２０は、端末装置１５０から付与されたタグ値２０を参照して、自分宛てのパケットと認識することができる。ルータ１２０は、端末装置１５０と通信するとき、パケットのデータの先頭に、端末装置１５０から付与されたタグ値２０を付加する。端末装置１５０は、ルータ１２０に付与したタグ値２０を参照して、自分宛てのパケットを認識することができる。
【０１３６】
次に、第３の実施の形態に係るルータ１２０〜１４０と端末装置１５０の機能について説明する。
図１６は、第３の実施の形態に係るルータと端末装置の機能ブロック図である。
【０１３７】
図１６に示すルータ１２０は、Ｘという名称が付与され、ＭＡＣアドレス00:0E:00:D2:11:12を有している。ルータ１３０は、Yという名称が付与され、ＭＡＣアドレス00:E0:32:01:23:22を有している。ルータ１４０は、Ｚという名称が付与され、ＭＡＣアドレス10:02:05:D3:02:01を有している。端末装置１５０は、ＰＣ＿Ａという名称が付与され、ＭＡＣアドレス00:0E:01:3D:01:02を有している。
【０１３８】
ルータ１２０，１３０は、図４で示したルータ１０と同様の機能ブロックを有しており、同じ符号を付してある。説明は省略する。ルータ１４０もルータ１２０，１３０と同様の機能ブロックを有している。
【０１３９】
端末装置１５０は、経路計算処理通信部２１ａ〜２１ｃ、外部計算機検索応答部２２、装置管理部２３ａ〜２３ｃ、プロトコル処理部２４ａ〜２４ｃ、および複数ルータ経路管理部１５１を有している。経路計算処理通信部２１ａ〜２１ｃ、外部計算機検索応答部２２、装置管理部２３ａ〜２３ｃ、プロトコル処理部２４ａ〜２４ｃは、図４で示した経路計算処理通信部２１、外部計算機検索応答部２２、装置管理部２３、およびプロトコル処理部２４と同様であり、その説明を省略する。
【０１４０】
複数ルータ経路管理部１５１は、複数のルータ１２０〜１４０と通信を行う。複数ルータ経路管理部１５１は、複数のルータ１２０〜１４０の装置情報とネットワークの経路情報を管理している。
【０１４１】
複数ルータ経路管理部１５１のタグ値の管理について説明する。
図１７は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報１６１は、端末装置１５０の複数ルータ経路管理部１５１が保持して管理しているタグ値である。タグ値管理情報１６１は、ルータのＭＡＣアドレス、タグ値、および管理データ情報の欄を有している。タグ値管理情報１６１は、例えば、ＲＡＭやＨＤＤの記憶装置に記憶される。
【０１４２】
ルータのＭＡＣアドレスの欄には、端末装置１５０の通信相手であるルータ１２０〜１４０のＭＡＣアドレスが格納される。タグ値の欄には、複数ルータ経路管理部１５１がルータ１２０〜１４０に付与したタグ値が格納される。管理データ情報の欄には、各ルータ１２０〜１４０の経路計算を行わせるプロセスの名前が格納される。プロセスは、経路計算の処理を行う１単位をいい、図１６の経路計算処理通信部２１ａ、装置管理部２３ａ、プロトコル処理部２４ａで経路計算を行う１単位、経路計算処理通信部２１ｂ、装置管理部２３ｂ、プロトコル処理部２４ｂで経路計算を行う１単位、経路計算処理通信部２１ｃ、装置管理部２３ｃ、プロトコル処理部２４ｃで経路計算を行う１単位である。
【０１４３】
次に、図１６の経路計算システムの動作について、外部計算機を検索する動作、ルータ１２０〜１４０が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作に分けて説明する。まず、外部計算機を検索する動作について説明する。
【０１４４】
ルータ１２０〜１４０がＬＡＮ５０上に外部計算機が存在するか検索するため検索メッセージを送信する動作は、第１の実施の形態と同様であり、それ以降の動作について説明する。
【０１４５】
端末装置１５０の複数ルータ経路管理部１５１は、フレームを受信し、それが検索メッセージ（図５で示したパケット６１のメッセージタイプが１）であれば、外部計算機検索応答部２２に検索メッセージ処理要求を行う。
【０１４６】
外部計算機検索応答部２２は、検索メッセージ処理要求を受けると、端末装置１５０が外部計算機として使用可能状態であれば、計算機情報（例えば、ＭＡＣアドレス、ＣＰＵ、メモリの情報など）を含む検索応答メッセージを生成する。検索応答メッセージは、具体的には、図５のパケット６１の送信元アドレスに端末装置１５０のＭＡＣアドレス00:0E:01:3D:01:02を格納し、送信先アドレスにルータ１２０のＭＡＣアドレス00:0E:00:D2:11:12を格納し、メッセージタイプに２を格納し、オプションにＣＰＵ速度を示す２．０（ＧＨｚ）およびメモリ容量を示す５１２（Ｍバイト）を格納したものである。外部計算機検索応答部２２は、検索応答メッセージの生成後、複数ルータ経路管理部１５１に検索メッセージ応答要求を行う。
【０１４７】
複数ルータ経路管理部１５１は、検索メッセージ応答要求を受けると、外部計算機検索応答部２２より通知された検索応答メッセージの送信元アドレスごとにタグ値を決定する。そして、複数ルータ経路管理部１５１は、図１７に示すタグ値管理情報１６１を生成する。複数ルータ経路管理部１５１は、検索応答メッセージのオプションに、決定したタグ値を格納してルータ１２０に送信する。また、複数ルータ経路管理部１５１は、タグ値管理情報１６１の生成後、ルータ１２０〜１４０ごとに対応する経路計算処理通信部２１ａ〜２１ｃを起動する。経路計算処理通信部２１ａ〜２１ｃは、複数のルータ１２０〜１４０の経路処理を並行して処理する。
【０１４８】
このように、端末装置１５０は、複数のルータ１２０〜１４０から検索メッセージを受信し、検索メッセージの送信元アドレスごとにタグ値を決定する。そして、端末装置１５０は、ルータ１２０〜１４０にタグ値を通知することで、以後、どのルータ１２０〜１４０からの情報転送か認識することができる。
【０１４９】
ルータ１２０の経路計算処理通信部１７は、フレームを受信し、検索応答メッセージ（メッセージタイプ２）であれば、外部計算機管理部１４に検索応答メッセージ処理要求を行う。このとき、経路計算処理通信部１７は、受信ポート情報（ここでは、受信ポート番号を１２０とする）と受信メッセージを通知する。
【０１５０】
外部計算機管理部１４は、検索応答メッセージ処理要求を受けると、通知された情報より図７で示した外部計算機管理情報６３を生成する。このとき、メッセージのオプションにタグ値が格納されていれば、そのタグ値を外部計算機管理情報６３の外部計算機識別タグ値の欄に格納する。また、制御ポート番号の欄に１２０が格納される。なお、第３の実施の形態では、外部計算機が１台であるので、図７の外部計算機管理情報６３の下から２つの欄は、作成されない。
【０１５１】
外部計算機管理部１４は、端末装置１５０にルータ１２０が保持している装置情報と経路情報を転送するため、装置管理部１５とプロトコル処理部１６にデータベース情報通知要求を行う。
【０１５２】
装置管理部１５とプロトコル処理部１６は、データベース情報通知要求を受け付けると、装置情報を含むデータベース情報メッセージと経路情報を含むデータベース情報メッセージを生成する。そして、経路計算処理通信部１７にデータベース情報通知要求を行う。
【０１５３】
経路計算処理通信部１７は、データベース情報通知要求を受け付けると、外部計算機管理情報６３を参照して、ルータ情報通知状態が未の外部計算機に対して、タグ値を付与したデータベース情報メッセージを送信する。なお、データベース情報メッセージは、具体的には、図６のパケット６２のタグ値に端末装置１５０から付与された２０を格納し、メッセージタイプに１１を格納し、インフォメーションタイプに１を格納し、インフォメーションに装置情報を格納したものである。または、インフォメーションタイプに２を格納し、インフォメーションに経路情報を格納したものである。
【０１５４】
端末装置１５０の複数ルータ経路管理部１５１は、フレームを受信し、タグ値を除去する。複数ルータ経路管理部１５１は、タグ値から処理する経路計算処理通信部２１ａ〜２１ｃを決定するため、タグ値管理情報１６１を参照し、管理データ情報の対応する経路計算処理通信部２１ａ〜２１ｃにフレームを出力する。
【０１５５】
経路計算処理通信部２１ａ〜２１ｃは、フレームのメッセージタイプがデータベース情報メッセージ（メッセージタイプが１１）である場合、さらに、情報種別を参照する。参照した情報種別が装置情報（インフォメーションタイプが１）なら、装置管理部２３ａ〜２３ｃにデータベース情報処理要求を行い、経路情報（インフォメーションタイプが２）なら、プロトコル処理部２４ａ〜２４ｃにデータベース情報処理要求を行う。
【０１５６】
装置管理部２３ａ〜２３ｃは、データベース情報処理要求を受けると、受信されたデータベース情報メッセージから装置情報のデータベースを生成する。プロトコル処理部２４ａ〜２４ｃは、データベース情報処理要求を受けると、受信されたデータベース情報メッセージから経路情報のデータベースを生成する。
【０１５７】
ルータ１２０の装置管理部１５とプロトコル処理部１６は、データベース情報通知要求が完了すると、外部計算機管理部１４にデータベース情報通知完了の通知を行う。外部計算機管理部１４は、データベース情報通知完了の通知を受け付けると、外部計算機管理情報６３のルータ情報通知状態を済みに更新する。更新後、外部計算機管理部１４は、外部計算機管理情報６３のルータ情報通知状態の装置情報と経路情報のどちらも済みになった場合、経路計算処理通信部１７に経路計算制御切替え要求を行う。
【０１５８】
経路計算処理通信部１７は、経路計算制御切替え要求を受けると、経路計算処理切替え部１３に、経路計算制御切替え要求を行う。
経路計算処理切替え部１３は、経路計算制御切替え要求を受けると、ルーティングプロトコルの制御パケットと、装置情報が変更された場合に装置管理部１５から出力される装置情報変更通知とを、経路計算処理通信部１７に出力するように切替える。
【０１５９】
これにより、タグ値を利用した端末装置１５０とルータ１２０との通信手段が確立し、複数のルータ１２０〜１４０の経路計算が、1台の端末装置１５０で行うことができる。  ルータ１２０〜１４０が他のルータから制御パケットを受信した場合、装置情報の変更があった場合の動作については、１台の端末装置１５０の各プロセスが、各ルータ１２０〜１４０の経路計算を行う。この各プロセスの動作は、第１の実施の形態で説明したルータ１０と端末装置２０の動作が複数ある場合と同様であり、その説明を省略する。
【０１６０】
このように、複数の外部計算機を用意しなくても、１台の高性能な外部計算機を用意して各ルータの経路計算を実行させることにより、低コストで高速な経路計算を実現することできる。
【０１６１】
なお、端末装置１５０に障害が発生した場合、ルータ１２０〜１４０が経路計算を行う。具体的には、外部計算機管理部１４は、一定時間、検索応答メッセージがない外部計算機の情報を、外部計算機管理情報６３から削除する。外部計算機管理情報６３に登録されている外部計算機がなくなると、経路計算処理通信部１７に、経路計算制御切戻し要求を行う。経路計算処理通信部１７は、経路計算制御切戻し要求を受けると、経路計算処理切替え部１３に、経路計算制御切戻し要求を行う。経路計算処理切替え部１３は、経路計算制御切戻し要求を受けけると、制御パケットや装置状態、装置構成変更情報通知を、プロトコル処理部１６に出力する。これにより、端末装置１５０に障害が発生しても、経路計算は、ルータ１２０〜１４０で行われることになる。
【０１６２】
また、端末装置１５０の複数ルータ経路管理部１５１は、ある特定のルータから定期的な検索メッセージを一定時間受信しない場合、そのルータの経路計算を行う経路計算処理通信部２１ａ〜２１ｃを終了させ、タグ値管理情報１６１からルータのＭＡＣアドレスを削除する。これにより、障害の発生したルータに対する不要な計算機資源の浪費を抑えることができる。
【０１６３】
さらに、新規にルータが追加された場合には、追加されたルータが検索メッセージを送信することにより、端末装置１５０の検索が行われ、端末装置１５０は、新規に接続されたルータを検出することできる。
【０１６４】
次に、本発明の第４の実施の形態を図面を参照して詳細に説明する。
第４の実施の形態では、図４で示した複数のルータの経路計算を、図１６で示した複数の端末装置で行う。
【０１６５】
図１８は、第４の実施の形態に係る経路計算システムの構成例を示す図である。
図に示すようにルータ１７１〜１７３と端末装置１８１〜１８３は接続されている。ルータ１７１〜１７３は、図４で示したルータ１０と同じ機能ブロックを有し、端末装置１８１〜１８３は、図１６で示した端末装置１５０と同じ機能ブロックを有している。
【０１６６】
ルータ１７１〜１７３は、第１の実施の形態で説明したように、検索メッセージを端末装置１８１〜１８３に送信する。端末装置１８１〜１８３は、検索メッセージを受信すると、ネットワークの保守者が指定した端末装置１８１〜１８３を識別するタグ値をルータ１７１〜１７３に返す。ルータ１７１〜１７３は、ネットワークの保守者が指定したルータ１７１〜１７３を識別するタグ値を端末装置１８１〜１８３に送信する。なお、ルータ１７１〜１７３と端末装置１８１〜１８３には、ネットワークの保守者がタグ値を決めているが、これは、ルータ１７１〜１７３と端末装置１８１〜１８３が自動にタグ値を付与すると、重なったタグ値が出現するおそれがあるためである。
【０１６７】
図１８の例では、ルータ１７１〜１７３のタグ値は１０〜３０であり、端末装置１８１〜１８３のタグ値は１〜３である。端末装置１８１〜１８３は、自己に付与されたタグ値をルータ１７１〜１７３に送信し、ルータ１７１〜１７３は、端末装置１８１〜１８３のタグ値を管理する。ルータ１７１〜１７３は、自己に付与されたタグ値を端末装置１８１〜１８３に送信し、端末装置１８１〜１８３は、ルータ１７１〜１７３のタグ値を管理する。ルータ１７１〜１７３と端末装置１８１〜１８３は、自己に付与されているタグ値と、管理している相手装置のタグ値とを利用して、通信している。
【０１６８】
図１９は、タグ値による通信を説明する図である。
図には、ルータ１７１と端末装置１８１が示してある。ルータ１７１が端末装置１８１にパケットを送信するとき、パケットのデータの先頭に自己に付与されているタグ値１０と、送信先の端末装置１８１のタグ値１を付加して送信する。端末装置１８１がルータ１７１にパケットを送信するとき、パケットのデータの先頭に送信先のルータ１７１のタグ値１０を付加し、次に自己に付与されているタグ値１を付加して送信する。
【０１６９】
次に、ルータ１７１〜１７３の外部計算機管理部が管理する、端末装置１８１〜１８３に関する情報について説明する。
図２０は、ルータの外部計算機管理部が管理する端末装置に関する情報のデータ構成例を示した図である。
【０１７０】
図に示す外部計算機管理情報１９１は、ルータ１７１の外部計算機管理部が管理する、端末装置１８１〜１８３に関する情報である。外部計算機管理情報１９１は、外部計算機ＭＡＣアドレス、制御ポート番号、ルータ識別タグ値、外部計算機識別タグ値、ルータ情報通知状態、優先順位、ＣＰＵ、メモリの欄を有している。なお、外部計算機管理情報１９１は、ＲＡＭやＨＤＤの記憶装置に記憶される。
【０１７１】
外部計算機ＭＡＣアドレスの欄には、外部計算機管理部が検索した端末装置１８１〜１８３のＭＡＣアドレスが格納される。制御ポート番号の欄には、外部計算機管理部が検索した端末装置１８１〜１８３の接続されているポートのポート番号が格納される。ルータ識別タグ値の欄には、ネットワークの保守者によって付与されたルータ１７１のタグ値が格納される。外部計算機識別タグ値の欄には、外部計算機管理部が検索した端末装置１８１〜１８３に付与するタグ値が格納される。ルータ情報通知状態の欄には、ルータ１７１自身に関する情報を端末装置１８１〜１８３に送信したかを示す情報が格納される。ルータ情報通知状態の構成の欄には、ルータ１７１の構成情報を端末装置１８１〜１８３に送信したかを示す情報が格納され、済みで送信したことを示し、未で送信していないことを示す。ルータ情報通知状態のプロトコルの欄には、ルータ１７１のプロトコル情報を端末装置１８１〜１８３に送信したかを示す情報が格納され、済みで送信したことを示し、未で送信していないことを示す。優先順位の欄には、端末装置１８１〜１８３から送信されてくるフォワーディング制御パケットのどれを優先して受信すべきかを示す優先順位が格納される。優先順位は、次に説明するＣＰＵ、メモリによって決められる。ＣＰＵの欄には、外部計算機管理部が検索した端末装置１８１〜１８３のＣＰＵの速度が格納される。メモリの欄には、外部計算機管理部が検索した端末装置１８１〜１８３のメモリの容量が格納される。
【０１７２】
次に、端末装置１８１〜１８３に付与されたタグ値の管理について説明する。
図２１は、端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
図に示すタグ値管理情報１９２は、端末装置１８１の複数ルータ経路管理部が保持して管理しているタグ値である。タグ値管理情報１９２は、ルータのＭＡＣアドレス、ルータ識別タグ値、外部計算機識別タグ値、および管理データ情報の欄を有している。タグ値管理情報１９２は、例えば、ＲＡＭやＨＤＤの記憶装置に記憶される。
【０１７３】
ルータのＭＡＣアドレスの欄には、端末装置１８１の通信相手であるルータ１７１〜１７３のＭＡＣアドレスが格納される。ルータ識別タグ値の欄には、ルータ１７１〜１７３から送信されてきたルータ１７１〜１７３のタグ値が格納される。外部計算機識別タグ値の欄には、ネットワークの保守者によって付与された端末装置１８１のタグ値が格納される。管理データ情報の欄には、左欄のルータに処理させるプロセスの識別子が格納される。
【０１７４】
次に、図１８の動作について、ルータ１７１〜１７３と端末装置１８１〜１８３との通信の確立の動作、フレームの転送の動作に分けて説明する。まず、通信の確立の動作について説明する。
【０１７５】
ルータ１７１〜１７３は、第１の実施の形態と同様に、外部計算機がＬＡＮ上に存在しているか確認するため、検索メッセージを送信する。端末装置１８１〜１８３は、検索メッセージを受信し、検索応答メッセージのオプションに、保守者から付与されたタグ値を含め、ルータ１７１〜１７３に送信する。
【０１７６】
ルータ１７１〜１７３の外部計算機管理部は、検索応答メッセージを受信すると、図２０で示した外部計算機管理情報１９１を生成し、検索応答メッセージのオプション部分に含まれている端末装置１８１〜１８３のタグ値を登録する。そして、保守者がルータ１７１〜１７３に付与したタグ値を、タグ値通知メッセージのオプションに含め、端末装置１８１〜１８３に送信する。
【０１７７】
端末装置１８１〜１８３の複数ルータ経路管理部は、タグ値通知メッセージを受信すると、図２１で示したタグ値管理情報１９２を生成し、タグ値通知メッセージのオプションに含まれているルータ１７１〜１７３のタグ値を登録する。
【０１７８】
これにより、ルータ１７１〜１７３と端末装置１８１〜１８３は、通信をするための互いを識別するタグ値を管理することとなる。
次にフレームの転送動作について説明する。
【０１７９】
ルータ１７１〜１７３と端末装置１８１〜１８３は、フレーム転送するのに、図１９で説明したようにフレームの先頭にルータ１７１〜１７３を識別するためのタグ値を格納する。そして、そのタグ値の後ろに、端末装置１８１〜１８３を識別するためのタグ値を格納する。端末装置１８１〜１８３がタグ付きのパケットを受信する場合は、送信先が自分であるかを識別するため、２段目のタグ値を参照する。
【０１８０】
端末装置１８１〜１８３のそれぞれは、ルータ１７１〜１７３の経路計算を行う。すなわち、端末装置１８１〜１８３のそれぞれは、ルータ１７１〜１７３から制御パケットを受信し、経路計算を行う。ルータ１７１〜１７３は、端末装置１８１〜１８３で行われた経路計算の結果のうち、最も優先順位の高い端末装置の経路計算の結果のみを受信する。
【０１８１】
これにより、ルータ１７１〜１７３と端末装置１８１〜１８３は、フレームの送信元を識別でき、フレーム処理を行うことが可能となる。複数のルータの経路計算と制御を、複数の外部の計算機で分散して実施できるため、低コストで経路計算を高速に実施し、さらに経路計算の信頼性を向上させることが可能になる。
【０１８２】
なお、上記は、第１の実施の形態と第３の実施の形態を組み合わせた経路計算システムであるが、第２の実施の形態と第３の実施の形態を組み合わせた経路計算システムも上記と同様に、ルータと端末装置にタグ値を付与することで実現できる。この経路計算システムでは、複数のルータのＶＰＮの経路計算を、複数の端末装置で分散する。端末装置１８１〜１８３のそれぞれは、ルータ１７１〜１７３の経路計算を行うとともに、各ルータのＶＰＮの経路ごとにも対応して、経路計算を行う。すなわち、端末装置１８１〜１８３の経路計算を行うプロセスがルータ１７１〜１７３ごとに設けられ、さらに、ＶＰＮ＿ＩＤごとにも対応して設けられることになる。具体的には、図１６の端末装置１５０のプロトコル処理部２４ａ〜２４ｃが、ＶＰＮ＿ＩＤごとにも対応して設けられることになる。そして、この端末装置１５０が複数用意され、各ルータは、優先順位の高い端末装置１５０からの経路計算結果のみを受信する。
【０１８３】
（付記１）  経路計算を行う経路計算システムにおいて、
パケットの送信先を示した送信先情報を受信する送信先情報受信手段と、前記送信先情報を記憶する送信先情報記憶手段と、ルーティングプロトコルパケットを他伝送装置から受信し送信するルーティングパケット送信手段と、を有する伝送装置と、
前記ルーティングパケット送信手段から送信される前記ルーティングプロトコルパケットを受信するルーティングパケット受信手段と、前記ルーティングプロトコルパケットに基づいて、前記送信先情報の再計算を行う計算手段と、再計算された前記送信先情報を前記送信先情報受信手段に送信する送信先情報送信手段と、を有する端末装置と、
を有することを特徴とする経路計算システム。
【０１８４】
（付記２）  前記送信先情報受信手段は、複数の前記端末装置のうち最も処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする付記１記載の経路計算システム。
【０１８５】
（付記３）  前記送信先情報受信手段は、前記端末装置に障害が発生した場合、次に処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする付記２記載の経路計算システム。
【０１８６】
（付記４）  前記伝送装置は、自装置のポートに関するポート情報を送信するポート情報送信手段を有し、
前記端末装置は、前記ポート情報を受信するポート情報受信手段と、前記ポート情報が変更された場合、前記送信先情報の再計算を行う変更計算手段とを有することを特徴とする付記１記載の経路計算システム。
【０１８７】
（付記５）  前記伝送装置は、ネットワークに接続されている前記端末装置を定期的に検索する検索手段を有することを特徴とする付記１記載の経路計算システム。
（付記６）  前記伝送装置は、前記他伝送装置と仮想専用線で接続されており、前記計算手段は、前記仮想専用線に対応して設けられ、前記仮想専用線における前記送信先情報の再計算を行うことを特徴とする付記１記載の経路計算システム。
【０１８８】
（付記７）  前記計算手段は、前記伝送装置ごとに設けられ、前記伝送装置ごとの前記送信先情報の再計算を行うことを特徴とする付記１記載の経路計算システム。
（付記８）  前記送信先情報受信手段は、複数の前記端末装置のうち最も処理能力の高い前記端末装置から前記送信先情報を受信することを特徴とする付記７記載の経路計算システム。
【０１８９】
（付記９）  前記伝送装置は、前記他伝送装置と仮想専用線で接続されており、前記計算手段は、さらに前記仮想専用線に対応して設けられ、前記送信先情報の再計算を行うことを特徴とする付記７記載の経路計算システム。
【０１９０】
（付記１０）  経路計算を行う経路計算システムの経路計算方法において、
伝送装置のルーティングパケット送信手段によって、ルーティングプロトコルパケットを他伝送装置から受信して端末装置に送信し、
前記端末装置のルーティングパケット受信手段によって、前記ルーティングプロトコルパケットを受信し、
前記端末装置の計算手段によって、前記ルーティングプロトコルパケットに基づいて、パケットの送信先を示した送信先情報の再計算を行い、
前記端末装置の送信先情報送信手段によって、再計算された前記送信先情報を前記伝送装置に送信し、
前記伝送装置の送信先情報記憶手段によって、前記送信先情報を記憶する、
ことを特徴とする経路計算システム。
【図面の簡単な説明】
【０１９１】
【図１】本発明の経路計算システムの原理図である。
【図２】第１の実施の形態に係る経路計算システムの構成例を示す図である。
【図３】タグ値を説明する図である。
【図４】第１の実施の形態に係るルータと端末装置の機能ブロック図である。
【図５】端末装置検索時に送受信されるパケットのデータ構成例を示した図である。
【図６】ルータと端末装置間で送受信されるパケットのデータ構成例を示した図である。
【図７】ルータの外部計算機管理部が管理する端末装置に関する情報のデータ構成例を示した図である。
【図８】端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
【図９】ＶＰＮを説明する図である。
【図１０】第２の実施の形態に係るルータと端末装置の機能ブロック図である。
【図１１】ルータのＶＰＮ経路計算分散部が管理するＶＰＮ経路情報データベースのデータ構成例を示した図である。
【図１２】ルータのＶＰＮ経路計算分散部が管理する端末装置に関する情報のデータ構成例を示した図である。
【図１３】端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
【図１４】第３の実施の形態に係る経路計算システムの構成例を示す図である。
【図１５】タグ値による通信を説明する図である。
【図１６】第３の実施の形態に係るルータと端末装置の機能ブロック図である。
【図１７】端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
【図１８】第４の実施の形態に係る経路計算システムの構成例を示す図である。
【図１９】タグ値による通信を説明する図である。
【図２０】ルータの外部計算機管理部が管理する端末装置に関する情報のデータ構成例を示した図である。
【図２１】端末装置が管理するタグ値管理情報のデータ構成例を示した図である。
【符号の説明】
【０１９２】
１  伝送装置
１ａ  送信先情報受信手段
１ｂ  送信先情報記憶手段
１ｃ  ルーティングパケット送信手段
２  端末装置
２ａ  ルーティングパケット受信手段
２ｂ  計算手段
２ｃ  送信先情報送信手段
３  他伝送装置
【図１】
2006019867.tif 000003
【図２】
2006019867.tif 000004
【図３】
2006019867.tif 000005
【図４】
2006019867.tif 000006
【図５】
2006019867.tif 000007
【図６】
2006019867.tif 000008
【図７】
2006019867.tif 000009
【図８】
2006019867.tif 000010
【図９】
2006019867.tif 000011
【図１０】
2006019867.tif 000012
【図１１】
2006019867.tif 000013
【図１２】
2006019867.tif 000014
【図１３】
2006019867.tif 000015
【図１４】
2006019867.tif 000016
【図１５】
2006019867.tif 000017
【図１６】
2006019867.tif 000018
【図１７】
2006019867.tif 000019
【図１８】
2006019867.tif 000020
【図１９】
2006019867.tif 000021
【図２０】
2006019867.tif 000022
【図２１】
2006019867.tif 000023