(57)【特許請求の範囲】
【請求項１】
それぞれホスト・コンピュータが接続される複数のエッジルータと、これらのエッジルータ間に介在配置される複数のコアルータとを備え、これらのコアルータにより前記エッジルータ間にＩＰフォワーディング処理による複数の転送経路を形成するコンピュータ・ネットワークシステムにおいて、前記エッジルータとして使用されるＡＴＭ中継装置であって、
宛先となる前記ホスト・コンピュータのアドレスに対応付けて、前記複数の転送経路に係わるそれぞれのルーティング情報を記憶したルーティング・テーブルと、
上流側のホスト・コンピュータから送信されたＩＰパケットが到来した場合に、当該ＩＰパケットのトポロジ情報を基に前記ルーティング・テーブルを検索して、転送先として複数の転送経路が記憶されているか否かを判定する判定手段と、
この判定手段により複数の転送経路が記憶されていると判定された場合に、対応する各ルーティング情報に基づいて該当する複数の転送経路にそれぞれ同一トポロジのカットスルーパスを生成するカットスルーパス生成手段と、
以後前記上流側のホスト・コンピュータから送信された同一トポロジのＩＰパケットを、ＡＴＭスイッチ交換処理により、前記カットスルーパス生成手段により生成された複数のカットスルーパスへ分散させて送出する転送制御手段と
を具備したことを特徴とするＡＴＭ中継装置。
【請求項２】
前記ルーティング・テーブルは、ルーティング情報にホップ値を示すメトリック情報を含めて記憶し、
前記判定手段は、前記ルーティング・テーブルに転送先として複数の転送経路が登録されている場合に、これらの転送経路の中からホップ値が同一に設定された複数の転送経路を選択することを特徴とする請求項１記載のＡＴＭ中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばインターネット等のコンピュータ・ネットワークやＬＡＮ（Local Area Network）において、ＩＰ（Internet Protocol ）パケットのルーティング処理を行うために設けられる中継装置に係わり、特にＡＴＭ（Asynchronous Transfer Mode：非同期転送モード）技術を使用したＡＴＭ中継装置に関する。
【０００２】
【従来の技術】
近年のインターネットやイントラネットの発展によりネットワーク上のデータ卜ラヒックは急激に増大し、その傾向は現在も続いている。この傾向に対しネットワークの高速化への要求は強く、回線容量の拡大と共にルータの転送能力の向上は必須である。
【０００３】
従来のルータは、上流側の回線を介してパケットが到達するごとに、このパケットの各々に対し無条件にネットワーク層におけるソフトウェアによるパケット交換処理を行っていた。ところが、このようなルータでは、ＩＰパケットが連続的に大量に転送される場合に、最初のＩＰパケットにおいてルーティングされた経路と同じ経路を介して後続のすべてのＩＰパケットも転送されるにも拘わらず、２個目以降のＩＰパケットに対しても同様のルーティング処理を行うことになる。これではルータのプロセッサ（ＣＰＵ）の処理能力を無駄に費やすことになり、その結果過負荷となったルータにおいてＩＰパケットの廃棄等の問題が発生することがある。また、ルーティング処理による遅延が大きくなり、このルーティング処理は中継するルータすべてで行われるため、中継ルータが多くなるほど伝送遅延が大きくなる。
【０００４】
また、この転送ボトルネックをＣＰＵの処理速度を高めることで解決しようとする試みもなされている。しかし、ＣＰＵの高速化は容易ではなく、装置のコストアップを招く。また、たとえＣＰＵの処理速度を高めたとしても、それを遥かに上回るペースでインターネット上のデータ転送量は増加しているため、有効な対策にはなり難い。
【０００５】
そこで、このようなルータの転送能力によるネットワークスループットのボトルネックを解決する手段の一つとして、ＩＰパケットのデータリンク層の処理を省略し、カットスルー転送と呼ばれるＡＴＭスイッチ交換によって高速なＩＰフォワーディング処理を実現するラベルスイッチスイッチ方式のルータが提案されている。この種のルータはセルスイッチルータ（ＣＳＲ：Cell Switch Router）と呼ばれる。ＣＳＲを使用すると、転送量が多いと思われるフロー、または転送量が多いと予想されるトポロジに関しては、ＡＴＭスイッチによる高速なスイッチングによりスループット上のボトルネックを解消できる。
【０００６】
ＣＳＲは、ＦＡＮＰ（Flow Attribute Negotiation Protocol ）により、隣接ＣＳＲとの間で、カットスルーパケット転送を行う送信元及び宛先の各アドレスと、ＡＴＭパスのＶＰ（Virtual Path：仮想パス）及びＶＣ（Virtual Channel ：仮想チャネル）の各ＩＤとのネゴシエーションを行い、データリンク層以下での転送を行う。このカットスルー転送には、フロー・ドリブン方式とトポロジ・ドリブン方式の２方式がある。
【０００７】
フロー・ドリブン方式のカットスルーパケット転送は、フロー単位のカットスルー転送である。フローが発生した際にそのフローのプロトコル及びポート番号からフローの性格を判断し、カットスルー転送に移行する。フローの判断は、予め設定されたトリガー情報を参照し、このトリガー情報がカットスルー転送に該当する場合に、転送されるパケット数が大きいと判断する。例えば、ＴＣＰ／ＩＰ通信における標準的なファイル転送プロトコル（ｆｔｐ：file transfer protocol）では、予めｆｔｐのプロトコル番号及びポート番号がトリガー情報として設定されていれば、ｆｔｐのフローが発生した場合、その先頭パケットのデータ転送からこのフローはカットスルー転送に移行する。ＣＳＲでは、フローの発生を受けてフロー・ドリブンのカットスルー転送に移行するかを判断し、トリガー情報に該当すればそこで始めてカットスルーに移行する。
【０００８】
これに対しトポロジ・ドリブン方式のカットスルーパケット転送は、有効にカットスルー転送が行われるであろうパケット転送が多いと予想されるトポロジ（転送の始点と終点）に関して行われる。トポロジ・ドリブンでは、送信元のホストアドレス（またはネットワークアドレス）と、宛先のホストアドレス（またはネットワークアドレス）とから、カットスルー転送に移行するか否かが判断される。ＣＳＲでは、フロー・ドリブン方式がフローの発生を契機にカットスルー転送に移行するのに対し、トポロジ・ドリブン方式は予めカットスルーパスが設定されており、トポロジ・ドリブン方式でのカットスルー転送に該当するパケットはそのカットスルーパスにより転送される。
【０００９】
これらのカットスルーパスは、ルーティング・テーブル上にある宛先のネットワークアドレス（もしくはホストアドレス）へのネクストホップとなる隣接ＣＳＲとの間のＦＡＮＰメッセージをもとに設定される。そのルーティング・テーブル上のルーティング情報は、ＯＳＰＦ，ＢＧＰといったルーティング・プロトコルによって得られる。これらのルーティング・プロトコルの幾つかは、転送を複数経路に分散させるロードバランス機能を提供する。
【００１０】
例えば、あるホストから他のホストへデータを転送する場合に、経由するルータの数などから任意の経路が最短であるとすると、上記ホスト間の通信はこの最短の経路で転送されるべきである。しかし、この経路上のルータの転送能力や物理的な回線の容量を越える量の通信が行なわれると、ホスト間の通信に支障を来たし、さらにはこの経路上のルータを介して行なわれている他の通信にまで影響を与えることになる。
【００１１】
このような事態を避けるために、宛先となるホスト（またはそのホストのネットワーク）への経路を複数持たせ、その複数の経路に宛先ホストへ転送すべきＩＰパケットを分散させるいわゆるロードバランス機能を、エッジルータに持たせることが考えられている。
【００１２】
すなわち、エッジルータ間に複数の経路を用意し、転送元のエッジルータがパケットデータを転送する際にこれらの経路を選択的に使用する。このようにすると、各経路にトラフィックが分散され、それまで特定の経路に集中していたトラヒックの軽減が可能となる。
【００１３】
しかしＣＳＲでは、ルーティング・プロトコルが提供するロードバランス機能に対応しておらず、同一トポロジのカットスルーパスを１つしか持たない。このため、カットスルー転送ではロードバランスを行うことができない。現状で負荷分散を行うには、予想されるトラヒックから転送量が多いと思われるトポロジに対して、スタティックにトポロジ・ドリブン方式のカットスルーパスを設定するといった、ネットワーク設計によるものしかない。しかし、このようなものでは、予想を裏切るトラヒックの発生や中継ルータのダウンによる自動ルート変更などが発生すると、負荷分散を十分に行えなくなる場合がある。
【００１４】
【発明が解決しようとする課題】
以上述べたように従来のロードバランス機能を備えたＡＴＭ中継装置には、次のような課題があった。
（１）ＣＳＲに於いて、ロードバランスを目的とする同一トポロジのカットスルーパスを複数設定することができない。
（２）ＣＳＲはルーティング・プロトコルが有するロードバランス機能に対応していない。
【００１５】
この発明は上記事情に着目してなされたもので、その目的とするところは、ルーティング・プロトコルが提供するロードバランス機能に対応して同一トポロジのカットスルーパスを複数設定できるようにし、これにより特定のパスへのトラフィックの集中を防止して高効率で信頼性の高いパケット転送を実現するＡＴＭ中継装置を提供することにある。
【００１６】
【課題を解決するための手段】
上記目的を達成するためにこの発明は、それぞれホスト・コンピュータが接続される複数のエッジルータと、これらのエッジルータ間に介在配置される複数のコアルータとを備え、これらのコアルータにより上記エッジルータ間にＩＰフォワーディング処理による複数の転送経路を形成するコンピュータ・ネットワークシステムで、上記エッジルータとして使用されるＡＴＭ中継装置にあって、宛先となる上記ホスト・コンピュータのアドレスに対応付けて、上記複数の転送経路に係わるルーティング情報をそれぞれ記憶したルーティング・テーブルを備えると共に、転送経路の判定手段と、カットスルーパス生成手段と、転送制御手段とを備える。
【００１７】
そして、上流側のホスト・コンピュータから送信されたＩＰパケットが到来した場合に、上記判定手段により、当該ＩＰパケットのＩＰヘッダに含まれるトポロジ情報を基に前記ルーティング・テーブルを検索して、転送先として複数の転送経路が記憶されているか否かを判定し、転送先として複数の転送経路が記憶されていると判定された場合に、上記カットスルーパス生成手段により対応する各ルーティング情報に基づいて該当する複数の転送経路にそれぞれ同一トポロジのカットスルーパスを生成し、以後上記上流側のホスト・コンピュータから送信された同一トポロジのＩＰパケットを、上記転送制御手段によりＡＴＭスイッチ交換処理を行って、上記生成された複数のカットスルーパスへ分散させて送出するようにしたものである。
【００１８】
従ってこの発明によれば、ＣＳＲにあって、ルーティング・テーブルから転送経路を検索してトポロジ・カットスルーパスを生成する際に、同一ホップ値の複数の転送経路が存在するか否かが判定され、同一ホップ値の複数の転送経路が存在する場合にはこれら複数の転送経路にそれぞれトポロジ・カットスルーパスが生成される。このため、トポロジ・カットスルー転送においてもロードバランス機能を提供することが可能となり、この結果ＩＰパケットの過密による転送不可や遅延の発生をさらに低減して、高効率でかつ信頼性の高いパケット転送を実現できる。
【００１９】
また、ルーティング・テーブルに、ホップ値を表すメトリック情報を含むルーティング情報を記憶しておき、判定手段において、上記ルーティング・テーブルに転送先として複数の転送経路が登録されている場合にはこれらの転送経路の中からホップ値が同一に設定された複数の転送経路を選択するとよい。
【００２０】
【発明の実施の形態】
以下、図面を参照してこの発明に係わる実施形態を説明する。
図１は、この発明に係わるＡＴＭ中継装置を使用したコンピュータ・ネットワークシステムの概略構成図である。同図において、ホストＨ１，Ｈ２はそれぞれＡＴＭ中継装置としてのエッジルータＥＲ１，ＥＲ２に接続される。これらのエッジルータＥＲ１，ＥＲ２間には、２個のコアルータＣ１，Ｃ２を経由する第１の転送経路Ｌ１と、３個のコアルータＤ１，Ｄ２，Ｄ３を経由する第２の転送経路Ｌ２と、１個のコアルータＥ１を経由する第３の転送経路Ｌ３とが設けてある。
【００２１】
ところで、上記エッジルータＥＲ１，ＥＲ２は、例えば図２に示すようにＩＰ処理ユニット１と、ＡＴＭスイッチユニット２とから構成される。
ＩＰ処理ユニット１は、上流側から到来したＩＰパケットの転送先を決定してＡＴＭスイッチユニット２をスイッチング制御するもので、プロセッサ（ＣＰＵ）と、ルーティング・テーブル１１とを備えている。ルーティング・テーブル１１には、各宛先アドレス（Destination Address ）に対応付けて、転送先となるルータのアドレスとその付属情報がそれぞれ記憶してある。図４にその記憶情報の一例を示す。この例では、宛先アドレス「address ２」に対応付けて、転送先をaddress Ｃ１，address Ｄ１，address Ｅ１とする３個のルーティング情報が記憶してある。
【００２２】
プロセッサ１０はソフトウエアにより動作する。図３はこのソフトウエアの構造を示すもので、オペレーティング・システム（ＯＳ：Operating System）１０ａを基盤とし、このＯＳ１０ａ上において、ＦＡＮＰ（Flow Attribute Negotiation Protocol ）処理部１０ｂと、ルーティング処理部１０ｃと、スイッチ制御処理部１０ｄがそれぞれ所定の処理を実行するように構成されている。
【００２３】
ルーティング処理部１０ｃは、各ＩＰパケットに係わるルーティング情報を作成してこのルーティング情報をルーティング・テーブル１１に登録する。ＦＡＮＰ処理部１０ｂは、受信したＩＰパケットの宛先アドレスをキー情報として上記ルーティング・テーブル１１を検索することで、そのルーティング情報からロードバランス処理を実行するか否かを判定する。そして、ロードバランス処理を実行する場合には、同一トポロジのカットスルーパスを生成するための要求をスイッチ制御処理部１０ｄに与える。
【００２４】
スイッチ制御処理部１０ｄは、上記ＦＡＮＰ処理部１０ｂからトポロジ・カットスルーパスの生成要求が与えられると、上記ルーティング・テーブル１１に記憶されたルーティング情報に応じてＡＴＭスイッチユニット２を制御し、これによりＡＴＭスイッチユニット２に複数のトポロジ・カットスルーパスを設定する。ＯＳ１０ａは、上記スイッチ制御処理部１０ｄの制御により設定された複数のトポロジ・カットスルーパスへのＩＰパケットの分配制御を実行する。
【００２５】
次に、以上のように構成されたエッジルータＥＲ１によるロードバランス処理動作を説明する。図５は、その処理制御手順と制御内容を示すフローチャートである。
【００２６】
ＩＰ処理ユニット１のＣＰＵ１０は、ＩＰパケットに対するルーティング制御の実行中に、ステップ５ａにおいて定期的にトポロジ情報を取り込み、ステップ５ｂでトポロジ・ドリブン情報があるか否かを判定する。そして、トポロジ・ドリブン情報があると判定されると、ステップ５ｃに移行してここでそのトポロジに関するルーティング情報をルーティング・テーブル１１から読み込み、該当するルーティング情報があるか否かをステップ５ｄで判定する。
【００２７】
さて、該当するルーティング情報がルーティング・テーブル１１に登録されていたとする。そうするとＣＰＵ１０は、続いてステップ５ｅに移行して、ここで上記該当するルーティング情報の中に同一メトリック値を有するルーティング情報が複数あるか否かを判定する。ここで、メトリック値とはその転送経路を選択する際のホップ値を表す情報である。
【００２８】
上記判定の結果、同一メトリック値のルーティング情報が複数ある場合には、ＣＰＵ１０はステップ５ｆに移行し、ここで該当する各ルーティング情報に応じてＡＴＭスイッチユニット２にそれぞれカットスルーパスを設定する。そして、以後上流側から到来した同一トポロジのＩＰパケットを、該当するルーティング情報に含まれるインタフェース情報（Interface ）に応じて、上記３個のトポロジ・カットスルーパスへ分配転送する。
【００２９】
例えば、図１に示すシステムにおいて、発信元のホストＨ１から、宛先アドレスとしてホストＨ２のアドレス「address ２」を持つＩＰパケットが送信されたとする。このときエッジルータＥＲ１のルーティング・テーブル１１には、図４に示すごとく、上記ホストＨ２のアドレス「address ２」に対応付けて、転送先をそれぞれ「address Ｃ１」，「address Ｄ１」，「address Ｅ１」とする３個のルーティング情報が登録されており、しかもこれら３個のルーティング情報に含まれるメトリック値（ホップ値）は同一値に、つまりいずれも「５」に設定されている。
【００３０】
このためＣＰＵ１０は、上記３個のルーティング情報に従って、ＡＴＭスイッチユニット２にそれぞれ３個のトポロジ・カットスルーパスを設定する。この結果エッジルータＥＲ１，ＥＲ２間には、図１に示すごとくコアルータＤ１，Ｄ２，Ｄ３を経由する第１の転送路と、コアルータＣ１，Ｃ２を経由する第２の転送経路Ｌ２と、コアルータＥ１を経由する第３の転送経路Ｌ３が同時に設定される。そして、以後送信元のホストＨ１から同一トポロジのＩＰパケットが転送されるごとに、これらのＩＰパケットは上記３個の転送経路Ｌ１，Ｌ２，Ｌ３に対し分配転送される。
【００３１】
なお、上記ステップ５ｅにおいて、メトリック値が同一の該当ルーティング情報は複数個存在しないと判定された場合には、ＣＰＵ１０はステップ５ｈに移行し、ここで該当するルーティング情報に従ってＡＴＭスイッチユニット２に１個のトポロジ・カットスルーパスを設定する。そして、以後送信元のホストＨ１から同一トポロジのＩＰパケットが転送されるごとに、これらのＩＰパケットを上記１個のトポロジ・カットスルーパスへそれぞれ転送する。
【００３２】
以上のようにこの実施形態では、エッジルータＥＲ１のルーティング・テーブル１１に、トポロジ・カットスルー転送の対象となるＩＰパケットの宛先アドレスに対応付けて、複数の異なるルーティング情報を予め記憶しておく。そして、トポロジ・カットスルーパスを生成すべきトポロジ情報を取得すると、ルーティング・テーブル１１を検索してメトリック値が等しい該当する全てのルーティング情報を読み出し、これらのルーティング情報に従ってＡＴＭスイッチユニット２にそれぞれ対応するトポロジ・カットスルーパスを設定する。そして、以後到来した同一トポロジを持つＩＰパケットを、上記複数のトポロジ・カットスルーパスへ分配して転送させる。
【００３３】
従ってこの実施形態によれば、ホストＨ１からホストＨ２へパケットを転送する場合に、エッジルータＥＲ１間に３個のトポロジ・カットスルーパスからなる転送路Ｌ１，Ｌ２，Ｌ３が設定され、これらの転送路Ｌ１，Ｌ２，Ｌ３へＩＰパケットが分配転送される。このため、トポロジ・カットスルー転送においてもロードバランス機能を提供することが可能となり、この結果ＩＰパケットの過密による転送不可や遅延の発生をさらに低減して、高効率でかつ信頼性の高いパケット転送を実現できる。
【００３４】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態ではロードバランスに供する転送経路に係わるルーティング情報を予めルーティング・テーブル１１に記憶しておき、これらのルーティング情報に従って複数のトポロジ・カットスルーパスを設定するようにした。しかし、それに限らず、ロードバランスのために用意した複数の転送経路の各々について、その運用状態を例えば通信トラフィックや障害の有無等を検出することにより監視し、この監視結果をもとにロードバランスに供する転送経路を適応的に可変設定するようにしてもよい。
【００３５】
その他、ロードバランス処理の制御手順とその内容、このロードバランス処理を実行する装置の構成、ＡＴＭ中継装置の種類とその構成及びシステムの種類とその構成等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００３６】
【発明の効果】
以上詳述したようにこの発明では、それぞれホスト・コンピュータが接続される複数のエッジルータと、これらのエッジルータ間に介在配置される複数のコアルータとを備え、これらのコアルータにより上記エッジルータ間にＩＰフォワーディング処理による複数の転送経路を形成するコンピュータ・ネットワークシステムで、上記エッジルータとして使用されるＡＴＭ中継装置にあって、宛先となる上記ホスト・コンピュータのアドレスに対応付けて上記複数の転送経路に係わるルーティング情報をそれぞれ記憶したルーティング・テーブルを備える。そして、上流側のホスト・コンピュータから送信されたＩＰパケットが到来した場合に、当該ＩＰパケットのＩＰヘッダに含まれるトポロジ情報を基に上記ルーティング・テーブルを検索して、転送先として複数の転送経路が記憶されているか否かを判定する。そして、転送先として複数の転送経路が記憶されていると判定された場合に、対応する各ルーティング情報に基づいて該当する複数の転送経路にそれぞれ同一トポロジのカットスルーパスを生成し、以後上記上流側のホスト・コンピュータから送信された同一トポロジのＩＰパケットを、ＡＴＭスイッチ交換処理により上記生成された複数のカットスルーパスへ分散させて送出するように構成したものである。
【００３７】
従ってこの発明によれば、ルーティング・プロトコルが提供するロードバランス機能に対応して同一トポロジのカットスルーパスを複数設定することができ、これにより特定のパスへのトラフィックの集中を防止して高効率で信頼性の高いパケット転送を実現するＡＴＭ中継装置を提供することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係わるＡＴＭ中継装置を含むコンピュータネットワークシステムの概略構成図。
【図２】この発明に係わるＡＴＭ中継装置の一実施形態を示す機能構成図。
【図３】図２に示したＡＴＭ中継装置におけるＩＰ処理ユニットのソフトウエアの構成を示す図。
【図４】図２に示したＡＴＭ中継装置のＩＰ処理ユニットに設けられるルーティング・テーブルの記憶情報の一例を示す図。
【図５】図２に示したＡＴＭ中継装置のＩＰ処理ユニットによるロードバランス処理の制御手順及び制御内容を示すフローチャート。
【符号の説明】
Ｈ１，Ｈ２…ホスト
ＥＲ１，ＥＲ２…エッジルータ
Ｃ１，Ｃ２，Ｄ１，Ｄ２，Ｄ３，Ｅ１…コアルータ
Ｌ１…第１の転送経路
Ｌ２…第２の転送経路
Ｌ３…第３の転送経路
１…ＩＰ処理ユニット
２…ＡＴＭスイッチユニット
１０…プロセッサ（ＣＰＵ）
１１…ルーティング・テーブル
【図１】
0004108844.tif 000002
【図２】
0004108844.tif 000003
【図３】
0004108844.tif 000004
【図４】
0004108844.tif 000005
【図５】
0004108844.tif 000006