【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、ATMネットワークにおけるマルチパス・ルーティングに関する。 【0002】 【従来の技術】ATMのようなコネクション指向のネットワークにおけるルーティングは、設定される最終パスの選択の処理と共に、コネクション設定パケットにパスを選択する処理として定義される。 以下のATMネットワークの特徴は本発明に適用される。 【0003】1. ソース・ノードおよび目的ノードが新規の仮想コネクション(VC)を確立しようとするとき、新しいVCを確立するために、帯域外のシグナリング・パケット(コネクション設定パケット)が用いられる。 これらのパケットは、ネットワークを通過するルートをナビゲートするようなソース・ルーティングを用いる。 このとき、ソース・ノード、またはネットワーク内の再ルーティングを実行する中間ノードは、目的ノードへの全パスを決定する。 すべてのノードID及び出力ポートIDを含むこのパスの全記述は、コネクション設定・パケットに書き込まれている。 中間ノードは、コネクション設定パケットに書き込まれたソース・ルートから、そのノードIDおよび次ノードIDに対応する出力ポートIDを見い出すことによってパケットを送ることができる。 【0004】2. コネクション設定パケットは、レコード・ルートを含む。 このレコード・ルートは、コネクション設定パケットが最後にソース・ノードを通過したとき以降、通過したすべてのノードのノードIDリストを有する。 レコード・ルートは、順次ルーティングが可能なときループを検出し回避するために用いられる。 【0005】3. コネクション設定パケットのルーティング・プロトコルは、リンクステート・プロトコルに基づいている。 特に、再ルーティングが可能なすべてのソース・ノードおよびすべての中間ノードは、リンクを用いる要求度を示すリンク・コストと共に、すべてのリンクの存在を含むネットワーク・トポロジーのマップを得たものとされる。 パスは、パスを構成するすべてのリンクのリンク・コストの総計と等しい合計コストに従って比較される。 リンク・コストは、再ルーティング可能なすべてのソース・ノードとすべての中間ノードにブロードキャストされる新しいリンク・コストでダイナミックに更新される。 再ルーティング可能なすべてのソース・ ノードとすべての中間ノードは、ネットワーク・トポロジーのマップを用い、すべての可能な目的アドレスに対し1つ以上のソース・ルートをリストするルーティング・テーブルを計算する。 ルーティング・テーブルは、目的アドレスとQOSクラスに基づいて、コネクション設定パケットのソース・ルートを選択するために用いられる。 ルーティング・テーブルは、新しいリンク・コストの更新を受信した後、必要なとき更新される。 【0006】4. VCが設定された後、帯域内セルは各ノードのフォワーディング・テーブルと共に、セルヘッダの仮想コネクション識別子(VCI)を用いることによってコネクションに沿って送られる。 各中間ノードにおいて、フォワーディング・テーブルはそのノードを通るVCの完全なリストを有し、このノードは各コネクションへの入力ポートIDとVCI、および同一コネクションへの対応する出力ポートIDとVCIを有する。 帯域内セルが或るVCIで或る入力ポートに到着すると、 フォワーディング・テーブルは対応する出力ポートとV CIを見い出すために用いられる。 セル・ヘッダ内のV CIを新しい値に変更した後、セルは出力ポートに送られ、次にそのコネクションの次ノードに向かって送られる。 コネクション設定が完了した後、VCに沿った各ノードはそのフォワーディング・テーブルの対応す項目を有する。 【0007】5. サービスの質(QOS)の保証が必要とされるVCを維持するために、各ノードは必要とされる資源が次ホップにわたって得られるかどうかを確認しなければならない。 もし必要とされる資源が得られなければ、コネクションはこのリンクでブロックされる。 この場合、新規パスが選択されるか、またはコネクション設定処理が失敗してそのときコネクションを確立できないかのいずれかである。 【0008】最後に2項は、ATM規格[CCITT Recommendation I. 371]に含まれており、一方、最初の3項は、以前に[R. Colto nand M. Sosaによる“VC Routing Proposal”,IETF Internet Draft,March 1993]によって提案されているが、適切な規格団体によって容認または拒否されていない。 【0009】従来のマルチパス・ルーティング・プロトコルは、一般に2つのカテゴリーに分類される。 それらは、コネクション設定がブロックされた後、中間再ルーティングを可能とする順次ルーティング・プロトコル、 およびルーティングがソース・ノードで定められる発信制御ルーティング・プロトコルである。 順次ルーティング・プロトコルの主な利点は、特にネットワークの伝搬遅延が大きいとき、高速コネクション設定を与える能力にある。 順次ルーティングの欠点は、コネクション設定がブロックされた後、最良に近い代替パスの使用、およびルーピングとクランクバックの可能性を有することである。 この可能性は、ループを有するパスの設定を検出し回避するために複雑なシグナリングと処理が必要とされる。 発信制御ルーティング・プロトコルの主な利点は、最もよいコストのルートを与えるまたは、最良の代替ルートを与える能力である。 また主な欠点は、伝搬遅延がかなりあるとき、コネクション設定時間が長くなる可能性があることである。 【0010】 【発明が解決しようとする課題】本発明においては、順次ルーティング・プルトコルおよび発信制御ルーティング・プロトコルの最良の特徴を結合する新規な技術を提案し、特に、最終目的は高速のコネクション設定および最小に近いコストパスの両方を提供できるルーティング制御方法を提供することにある。 【0011】 【課題を解決するための手段】本発明のルーティング方法は、コネクションの設定を開始し、他のソース・ノードから送られてきたコネクション設定要求パケットをルーティングするソース・ノードと、他のソース・ノードから送られてきたコネクション設定要求パケットをルーティングする仲間ノードとで構成されるネットワークにおいて、コネクション設定要求パケットがソース・ノードから目的ノードに到着するまでに以下の1〜4のステップを行うことを特徴とする。 【0012】ステップ1. (a)前記ソース・ノードは、そのルーティング・テーブルから最初の候補パスを得る。 【0013】(b)前記ソース・ノードは、前記ルーティング・テーブルの複数の候補パスのコストを参考にコストしきい値Dおよび折り返ししきい値Gを計算し、これらしきい値DおよびGをコネクション設定要求パケットに記入する。 【0014】(c)コネクション設定要求パケットは、 前記パスに沿って送られ、目的ノードを目指す。 【0015】(d)前記パス上のソース・ノードと目的ノード間のすべての中間ノードで通信に必要なリンクの帯域などの網資源が確保され、かつ各ノードでのデータのスイッチングのためのテーブルが設定されたことが目的ノードに知らされた場合には、コネクション設定は成功とし、必要な資源が確保できなかった場合には、コネクション設定要求はブロックされる。 【0016】ステップ2. (e)前記ステップ1でコネクション設定要求がブロックされた場合には、そのブロックを発生したリンクの手前の中間ノードは、前記ソース・ノードから前記目的ノードまでのコストdがステップ1でコネクション要求パケットに記入されたコストしきい値Dよりも小さくなるように、前記中間ノードから前記目的ノードまでの新規パスを前記中間ノードのルーティング・テーブルから得る。 【0017】ステップ3. (f)前記ステップ2で、コストdがコストDよりも小さくなるような新規パスが存在しない場合、かつ前記コネクション設定要求パケットの折り返し回数がステップ1でコネクション設定要求パケットに記入された折り返ししきい値Dより小さい場合、前記コネクション設定要求パケットは、前記中間ノードの1つ手前のノードまで折り返し送られる。 【0018】(g)前記1つ手前のノードでは、前記パケットを送ってきたパスを含むパスを候補から外し、ステップ1〜3を行う。 【0019】ステップ4. (h)前記ステップ3で、折り返しのための条件を満足せず、折り返すことができなかった場合には、前記ステップ1〜3で試みたパスは失敗とされ、前記コネクション要求パケットに対応する失敗(NACK)メッセージがソース・ノードに送られる。 【0020】(i)ソース・ノードは、再びステップ1 の手順を繰り返す。 また、前記(NACK)メッセージは、失敗した記録、すなわちステップ1〜3において前記要求パケットがノードを経由するたびに記録していたリンク識別子(ID)やノードIDやブロックされたリンクID等の情報を含んでおり、前記(NACK)メッセージの記録を用いて、前記すでにブロックされたリンクを含まないように、前記コストしきい値Dおよび前記折り返ししきい値Gを再度利用するか、あるいは再度計算するかのどちらかを行い、新規パスを得ることを特徴とする。 【0021】 【実施例】本発明では、ATMネットワークにおけるコネクション設定パケットのマルチパス・ルーティングの新しい手順を提供する。 【0022】ネットワークは、関連するリンク・コストによって計量化された各リンクの適切度を有する多数のリンクによって接続された多数のノードより成る。 このネットワークでは、ノードが、特定の目的ノードに用いられる完全なパスを特定することができるソース・ルーティングを用いることができる。 【0023】まず、本発明の全体を概略として示し、次に詳細な実施例について記述する。 【0024】まず、発明の全体像を図9を用いて示す。 【0025】本発明は、コネクションの設定を開始する機能と他ノードから送られてきたコネクション設定パケットをルーティングする機能とをもつソースノードと、 他のノードから送られてきたコネクション設定パケットをルーティングする中間ノードとで構成されるネットワークにおいて、コネクション設定要求パケットがソースノードから目的ノードに到着するまでに以下の1〜4のステップを行う手段を持つことを特徴とするルーティング制御方法であって、各ステップでは概ね次の内容が実行される。 【0026】ステップ1. ソース・ノードは、該ノードのルーティングテーブルから最初の候補パスを得る(9 11)。 該ソースノードは、該ルーティングテーブルの複数の候補パスのコストを参考にコスト閾値D及び折り返し閾値Gを決める(912)。 また、D及びGをコネクション設定パケットに書き込む(912)。 ソースルートは,最初のホップ(リンク)(913)で、通信に必要なリンクの帯域等の網資源が確保された場合には、 次リンク(914)に進み、同様に資源を確保し(91 8)、全てのリンクで資源確保に成功した場合に、コネクション設定成功である(950)。 【0027】ステップ2. 最初のホップ913において資源が確保されない場合、あるいは、ステップ4で述べるようなNACKをソースノードに送るという判断がなされた場合には、発信制御ルーティング(940)を行う。 すなわち、すでにブロックされたリンクを含まないような新規パスを得る(944)。 該新規パスにおいて、ステップ1と同様に最初のリンク(945)で、通信に必要なリンクの帯域等の網資源が確保された場合には、前記コスト閾値D及び前記折り返し閾値Gを再度利用するか、あるいは再度計算するかのどちらかを行い(946)、次リンク(914)に進み、ステップ1に戻る。 一方、すでにブロックされたリンクを含まないような新規パスを得ることが可能である、つまり、全てのパスでブロックにあった場合には、コネクション設定は失敗に終わる(949)。 【0028】ステップ3. 中間ノード(918)で資源が確保されない場合には、順次ルーティング(920) を行う。 すなわち、すでにブロックされたリンクを含まないような新規パスを得る(921)。 最初のリンク(923)で、通信に必要なリンクの帯域等に網資源が確保され、かつ該新規パスを用いた場合のソースから目的ノードまでのコストdがステップ1あるいはステップ2でコネクション要求パケットに記入されたコスト閾値Dよりも小さくならなければならない(922)。 前記条件を満足する場合には、該新規パスを用い(92 4)、次リンク(919)に進む。 【0029】ステップ4. ステップ3において、すでにブロックされたリンクを含まないような新規パスを得る(921)ことが不可能である場合、次の判断を行い(931)、発信制御か折り返し制御かを選択する。 9 31において前記要求パケットの折り返し回数がステップ1でコネクション要求パケットに記入された折り返し閾値Dよりも小さい場合に限り、該要求パケットは、該ノードの1一つ手前のノードまで折り返し送られ(93 2)折り返し制御を行う、さもなければ、該要求パケットに対応する失敗(NACK)メッセージがーソースノードに送られ(941)、発信制御が行われる。 該メッセージは、失敗した記録、すなわちステップ1〜3において、該要求パケットがノードを経由する度に記録していたリンク識別子(ID)やノードIDやブロックされたリンクID等の情報を含んでいる。 折り返し制御の場合は、該一つ手前のノードでは、該パケットを送ってきたパスを含むパスを候補から外し(934)、ステップ3を行う。 【0030】以下、具体的な実施例を説明する。 【0031】最初に、ソース・ノードは、そのルーティング・テーブルにおける目的ノードのためにリストされたパスのパス・コストに基づいたコストしきい値と、折り返ししきい値とを計算する。 これらの値は、コネクション設定パケットに書き込まれる。 これらの値は、再ルーティングをいつ行うのが最も適切か、ソース・ノードに制御をいつ返すのが最も最適であるかを決定するために用いられる。 【0032】ソース・ノードは、そのルーティング・テーブルから第1の候補パスを得る。 もしこのパスに沿うコネクション設定要求がブロックされれば、ブロックされたリンクのすぐ手前の中間ノードは、その中間ノードから目的ノードへの新規パステールのために、そのルーティング・テーブルを検索する。 これにより、コストしきい値以下のコストを有する新規パスを得る。 もし中間ノード・ルーティング・テーブルにこのようばなパス(テール)を見い出せなければ、中間ノードは、異なったパス(テール)を同じように検索することができる前ノードにコネクション設定パケットを折り返すかどうかを、または最小コストの代替パスをソース・ノードから試みることができるように、否定応答(NACK)をソース・ノードに返すべきかどうかを決定しなければならない。 【0033】図1は、コネクション設定の際に用いられるパスを選択するために、ソース・ノードにより実行される手順を示す。 このソース・ノードは、幾つかのホストが接続される入口スイッチである。 ソース・ノードは、コネクション確立手順の開始、および発信制御が用いられるときパス選択の特別な役割の負担に対し責任を有する。 【0034】受信したVCの確立を要求する(10 1):コネクションの確立は、ソース・ノードが、1つ以上のホスト、またはソース・ノード自身内のいずれかから新規VCを確立する要求を受け取るときに始まる。 この要求は、ノードによって必要とされるそれらのQO Sパラメータとともに目的アドレスを含んでおり、受け入れられるコネクション要求に対して充分な資源が得られるかどうかを決定する。 【0035】ルーティング・テーブルから最短パスを見い出す(102):ソース・ノードのルーティング・テーブルには、1つ以上の特定の目的アドレスが記載されている。 リンク・コスト要素を加算することにより決定されるような最短の全パス・コストの項目がまず試される。 【0036】順次または発信制御を用いる103:QO Sの要求に基づいて、ソース・ノードは、高速コネクションの確立が最小のパス・コストのルートを見い出すほど重要でない場合に、発信制御のみを用いるかどうかを、または迅速にコネクションを確立するためにまず順次ルーティングを試みるかどうかを決定する。 このソース・ノードの決定は、コネクション設定パケットにフラグを設定することによってすべての中間ノードに伝えられる。 【0037】コストしきい値および折り返ししきい値の設定(104):もし順次ルーティングが最初に試されると,コストしきい値が最大許容パス・コストを示すように設定される。 もし順次ルーティングを用いコストしきい値を越えないパスが見い出せなければ、発信制御が用いられるように、NACKメッセージがソース・ノードに返される。 さらに、折り返ししきい値は、コネクション設定パケットが折り返されるホップの数を制限するように選択される。 【0038】順次制御のためにフラグを設定(10 5):発信制御のためにフラグを設定(106):資源が確保されているか? (107):ひとたびパスが選択されたなら、ソース・ノードは、必要とされるQCS要求を維持するために、充分な資源が次ホップにわたって得られるかどうかを確認する。 もし充分な資源が得られれば、コネクション設定は、このパスを使用して行われる。 もしコネクションが最初のホップのブロックされれば、異なったパスが試される。 【0039】ソース・ルートをコネクション設定パケットに設定(108):あるノードから次のノードへ渡すために用いられる出力ポートIDと共に、このパスに含まれるノードのすべてのIDから成るソース・ルートは、コネクション設定パケット内のネットワークで実行される。 ソース・ルートに必要とされるすべての値は、 ソース・ノードのルーティング・テーブルから得ることができる。 【0040】フォワーディング・テーブルの設定(10 9):コネクションの設定において、各ノードはフォワーディング・テーブルの次ホップにわたって用いられる対応する出力ポートIDおよびVICと共に、このコネクションの入力ポートIDおよびVCIを格納する。 入力ポートにおけるVCIは、新規VCを確立する要求に含まれ、一方、出力ポートにおけるVCIは、ソース・ ノードによって決定される。 このコネクションに用いられる出力ポートは、ソース・ルートで決められている。 【0041】現コストの付加とレコード・ルートの更新110:次ホップのリンク・コストは、現用パスのコストとしてコスト設定パケットに書き込まれる。 ソース・ ノードのノードIDはレコード・ルートの開始として格納される。 【0042】次ホップにパケットを送る(111):ひとたびシグナリング・パケットが準備され、ソース・ノード自身がこのコネクションに対して準備されたならば、コネクション設定パケットは、次の中間ノードに向かって次ホップに特定の出力ポートを経て送られる。 【0043】コネクション設定手順を開始するのに加えて、ソース・ノードは、発信制御が用いられるとき、パスを選択する特別な役割も有している。 この場合、特定のコネクションを開始する以前に送られたコネクション設定パケットがブロックされたこと、およびコネクション設定が最初の試みに対して異なった方向を用いて再び試すべきであることを示すNACKが受信される。 【0044】リリース・パケットを送り、フォワーディング・テーブルからVCを除去する(113):前のコネクション設定の試みに失敗すると、以前のコネクション設定に試みに対応するすべてのフォワーディング・テーブルの項目が除去される。 そのフォワーディング・テーブルから対応する項目を除去する前に、ソース・ノードは次ホップに対する出力ポートIDおよびVCIに注目し、次ホップにリリース・パケットを送る。 連続するノードは、項目が適切に除去されるように、フォワーディング・テーブルの項目に対応するすべてのスイッチに対してリリース・パケットを送信するために、ポートI DおよびVCIの連鎖を用いることができる。 ソース・ ノードは、コネクション設定を継続する前に完了されるリリース処理を持つ必要がないことに留意されたい。 【0045】NACKのレコード・ルートからブロックされたリンクを保持する(114):NACKパケットのレコード・ルートは、どのリンクが前のコネクション設定パケットをブロックしたかを決定するために用いられる。 同一コネクションに対する次のコネクション設定パケットが同じ地点でブロックされないように、これらのリンクの識別子が保持される。 【0046】ルーティング・テーブルに他のパスが存在するか? (115):このコネクションの確立のために、まだ試みられていない目的ノードへの最良の代替パスは、ルーティング・テーブルから選択される。 もしより多数の代替パスがルーティング・テーブルにリストされていなければ、このコネクションは確立されない。 【0047】パスが前にブロックされたリンクをも含むか? (116):新規パスを試みる前に、ソース・ノードは、新規パスが前にこのコネクションをブロックしたリンクをも含むかどうかを検証する。 もしそうであれば、このパスは、コネクションが再び同じリンクでブロックされることが有りうるので、考慮から除かれる。 【0048】資源が確保できるか? (117):ソース・ノードは、必要とされるQOS要求を維持するために、充分な資源が次ホップに得られるかどうか検証する。 充分な資源が得られれば、コネクション設定はこのパスを使用して行われる。 もしコネクションが最初のホップでブロックされれば、異なったパスが試される。 【0049】コストしきい値、折り返ししきい値、順次/発信制御のフラグをリセットする(118):試されるパスが目的ノードに対して最短のコスト・パスではないので、ソース・ノードはコストしきい値を増加することも可能である。 さらに、ソース・ノードは、折り返ししきい値、またはマルチパス・ルーティングの順次または発信制御を用いるかどうかについての決定を変更することも可能である。 すべての新しい値は、次ホップに送られる前に新しいコネクション設定パケットに書き込まれる。 【0050】新規パスが選択され、QOS要求に関して最初のホップが確認された後、コネクション設定パケットは、最短のパスを試みる場合のように、ソース・ルート、現コストおよび更新されたレコード・ルートに対して準備される。 フォワーディング・テーブルはまた、新しい出力ポートIDと次ホップVCIを有するように更新される。 【0051】図2に、中間ノードにより実行される手順を示す。 もしQOS要求がコネクション設定パケットに書き込まれたソース・ルートに特定された次ホップに対して満足されれば、ソース・ルートに特定されたパスに沿ってさらにパケットを送る前に、中間ノードはフォワーディング・テーブルを設定し、コネクション設定パケットのいくつかの値を更新する必要がある。 もし、QO S要求が次ホップに対して満足されず発信制御が行われているならば、ソース・ノードが異なったパスを再び試みるように、中間ノードはNACKをソース・ノードへ送る。 もし、QOS要求が満足されず順次ルーティングが用いられていれば、中間ノードは目的ノードに到達するために新規パス部分を見い出す。 もしこのようなパス部分が存在しなければ、中間ノードはコネクション設定パケットを折り返すかどうかを、またはNACKをソース・ノードへ送り異なったパスの使用を再び試みるかどうかを決定しなければならない。 【0052】順次または発信制御のフラグを検証する(202):もしソース・ノードが発信制御の使用のみを特定していれば、すべての代替パスの決定は、中間ノードに小さな役割のみを残してソース・ノードで行われる。 【0053】このパケットは折り返されたか? (20 9):もし順次ルーティングが用いられ、コネクション設定パケットが折り返されれば、中間ノードは目的ノードへの新規パス部分を見い出すように試みる。 さもなければ、コネクション設定パケットのソース・ルートは、 まず試みようとするパスを特定する。 【0054】ソース・ルートから出力ポートを見い出す(203):コネクション設定パケットのソース・ルートは、次にどの出力ポートを試みるかを特定する。 【0055】資源が確保されたか? (204):中間ノードは、必要とされるQOS要求を維持するために、充分な資源が次ホップに得られるかどうかを検証する。 もし充分な資源が得られれば、コネクション設定はこのパスを用いて行われる。 もしコネクションが次ホップでブロックされ、発信制御が用いられていれば、レコード・ ルートを含むNACKはソース・ノードに返される。 もしコネクションが次ホップでブロックされ、順次ルーティングが用いられていれば、異なったパス部分は目的ノードに到達するように試される。 【0056】フォワーディング・テーブルを設定する(205):入力ポートIDおよび前ホップVCIは、 出力ポートIDおよび次ホップVCIを示すフォワーディング・テーブルにリストされる。 前ホップVCIは、 コネクション設定パケットから得られる。 次ホップVC Iは、中間ノードによって選択される。 出力ポートID は、現用ソース・ルートから得られる。 【0057】現コストに加算し、レコード・ルートを更新する(206):次ホップのリンク・コストは、現用パスのコストに加算され、中間ノードのIDはコスト設定パケットのレコード・ルートに追加される。 【0058】次ホップにパケットを送る(207):ひとたびシグナリング・パケットが準備され、中間ノードがこのコネクションにそれ自身を準備すると、コネクション設定パケットは、その中間ノードに向かう次ホップ用に特定された出力ポートを経て送られる。 【0059】フォワーディング・テーブルからVCを除去し、入力ポートIDおよびVCIを格納する(21 2):コネクション設定パケットが折り返されるのは、 このコネクションに対してすでに試されたがうまくはいかなかった場合であるフォワーディング・テーブルの対応する項目が除去される。 次ホップのVCIは、フォワーディング・テーブルの現用項目が識別されるように、 コネクション設定パケットに含まれる。 前フォワーディング・テーブルの項目が除去される前に、前入力ポートIDおよびVCIが保持され、したがって、もし目的ノードへの新規パス部分が見い出されれば、次のフォワーディング・テーブルの項目に同じ値が用いられる。 さらに、現用パスが変化しているので、フォワーディング・ テーブルから除去される次ホップのリンク・コストは現用パスのコストから減算される。 【0060】ルーティング・テーブルに他のパスが存在するか? (213):このコネクションを確立するためにまだ試されていない目的ノードへの最良の代替パス部分は、ルーティング・テーブルから選択される。 ルーティング・テーブルにさらに代替パスがリストされていなければ、このコネクションの制御は、折り返しによって前ノードに受け渡され、またはNACKを送ることによってソース・ノードに戻される。 【0061】新規パス・コスト≦コストしきい値であるか? (214):中間ノードから目的ノードへの新規パス部分のコストは、ソース・ノードからこの中間ノードへのパス部分のコストを示すコネクション設定パケットの現用パスのコストに加算され、新規パスの全コストを決定する。 もし新規パスの全コストがコストしきい値以下ならば、新規パスがさらに考慮される。 もし新規パスの全コストがコストしきい値よりも大きいならば、新規パスが考慮から除かれ、異なったパスが用いられる。 【0062】パスは以前にブロックされたリンクを含むか? (215):新規パスを試みる前に、中間ノードは、このコネクションが前にブロックされ、コネクション設定パケットのレコード・ルートから決定されるどのようなリンクをも新規パスが含むかどうかを検証する。 もしそうであれば、このパスはコネクションが同じリンクで再びブロックされる恐れがあるので、考慮から除かれる。 さもなければ、パスはさらに考慮される。 【0063】パスはループを形成し、または折り返しが必要であるか? (216,217):コネクション設定パケットに含まれるレコード・ルートから決定されたような現用パスにすでに含まれたノードのいずれかを含むかどうかを検証するために、新規パスが検証される。 もしそうであれば、新規パス部分の直接使用はループを形成する。 ルーピングを避けるために、パスは現用パスと新規パス部分の両方に含まれた最初のノードに折り返しを要求する。 2ホップ以上に折り返しには多くの時間を要するので、2ホップ以上の折り返しを要求するコネクションは考慮から除かれ、異なったパスが試される。 もし新規パスが1ホップの折り返しを要求すれば、コネクション設定パケットは前ノードに折り返される。 もし新規パスが決してループを形成せず、または決して折り返しを要求しないならば、コネクション設定はその新規パスを用いて試される。 【0064】折り返しを行う、または発信制御を用いる(218):もしコネクション設定パケットが、コネクション設定パケットの折り返ししきい値内に特定された回数より少ない数で折り返されたならば、前ノードへさらに1ホップを折り返す。 さもなければ、ソース・ノードが異なったパスを試みるように、NACKがソース・ ノードへ返される。 NACKは、ソース・ノードが前にブロックされたリンクを回避できるようにレコード・ルートを有する。 【0065】前ノードへ折り返す(219):コネクション設定パケットは、前ノードへ返される。 パケットを返すために用いられる出力ポートは、中間ノードでネットワーク・トポロジーのマップを用いて決定される。 前ホップで用いられたVCIはコネクション設定パケットに書き込まれる。 これにより、前ノードは対応するフォワーディング・テーブルの項目を配置できる。 【0066】資源が確保されるか? (220):ひとたび新規パスが選択されると、中間ノードは必要とされるQOS要求を維持するために、充分な資源が次ホップに得られるかどうかを検証する。 もし充分な資源が得られれば、コネクション設定は新規パスを用いて行われる。 もしコネクションが次ホップでブロックされれば、そこからさらに部分的に異なったパス部分が目的ノードに到着するように試される。 新しいソース・ルートのテーを追加する(221):新規パスが用いられる前に、中間ノードから目的ノードへのソースルートのテールは変更される。 古いソース・ルートのテールは除去され、新規パス部分を識別する新しいソース・ルートのテールはコネクション設定パケットに書き込まれる。 【0067】中間ノードで受信されたソース・ルートが許可される場合と同様に、フォワーディング・テーブルの各項目は、入力ポートIDおよび前ホップVCIを、 出力ポートIDと次ホップVCIにマッピングする。 さらに、次ホップのコストは、現用パスのコストに加算され、中間ノードIDは、コネクション設定パケットが新規パスに特定された次のノードに送られる前に、レコード・ルートに追加される。 【0068】図3に、ATMネットワークにおけるルーティングとコネクション設定の例を示す。 図3に、各リンクのリンク・コストと共に7つのノードと9つのリンクにより成るネットワークを示す。 【0069】 【数1】 【0070】は、以下の式により決定される。 【0071】 【数2】 【0072】ここで、D jは、ソース・ノードと目的ノードとの間のj番目の最短パスのコストである。 この例示のネットワークは小規模なので、すべてのノードは1 の折り返ししきい値を用いる。 各ノードは、そのルーティング・テーブルのすべての目的ノードへの2つの最短パスを有する。 ノードA〜ノードDで得られたルーティング・テーブルを図4に示す。 【0073】最初に、ソース・ノードAは、目的ノードGへの仮想コネクションを確立するために要求を受け取る。 ノードAでのルーティング・テーブルから、最短パスはA−B−D−E−Gであると見い出され、これは初期ソース・ルートとしてコネクション設定パケットに入力される。 ソース・ノードAと目的ノードGに対して、 D 1 =5およびD 2 =6であり、したがって 【0074】 【数3】 【0075】である。 ノードAからノードBまでの最初のホップは、要求QOSを維持するために充分な資源が得られる。 したがって、現コストを1に設定し、レコード・ルートにノードAを含ませた後、コネクション設定パケットはノードBに送られる。 ノードBに到着すると、ソース・ルートは次ホップがノードDに対するものであることを調べるために照会される。 ノードBからノードDへの次ホップは、再び充分な資源が得られ、したがって現コストは2に増加され、ノードBがレコード・ ルートに追加される。 そして、コネクション設定パケットは、ノードDへ送られる。 ノードDに到着すると、ソース・ルートは次ホップがノードDに対するもであることを調べるために再び照会される。 しかしながら、このときノードDからノードEへの次ホップは、充分な資源が得られない。 したがって、コネクション設定パケットは、図5に示すようにブロックされる。 【0076】ノードDでのルーティング・テーブルは、 目的ノードGへの2つのパスをリストしている。 パスD −E−Gと続く第1パスはブロックされたパスである。 したがって、第2パスは図6に示すように検証されなければならない。 第2パスD−F−Gは、コストが7であって、現コストの2を加算して全パス・コストは9になる。 これは、 【0077】 【数4】 【0078】を越えている。 目的ノードGへの他のパスはノードDのルーティング・テーブルに含まれていないので、コネクション設定パケットは、図7に示すようにレコード・ルートにリストされた最後のノードであるノードBに折り返される。 ノードBに到着すると、フォワーディング・テーブルの項目は除去され、現コストは1 の値に減少される。 ノードBのルーティング・テーブルにリストされた第1パスは、ブロックされたパスである。 ノードBのルーティング・テーブルにリストされ、 パスB−C−Gと続く第2パスは、コストが8であって、これに現コストの1を加算して全パス・コストが9 になる。 これは、 【0079】 【数5】 【0080】を越えている。 目的ノードGへの他のパスはノードBのルーティング・テーブルに含まれていないので、およびすでに折り返ししきい値である1に達しているので、対応するフォワーディング・テーブルの項目は除かれ、図7に示すように、NACKがソース・ノードAに返される。 【0081】NACKを受け取ると、ノードAは対応するフォワーディング・テーブルの項目を除く。 NACK パケットはノードBから発信されたので、リリース・パケットを送る必要がなく、ノードBは1ホップだけ離れており、その対応するフォワーディング・テーブルの項目はすでに除かれている。 目的ノードGに対するノードAのルーティング・テーブルの第1項目は、ブロックされたパスである。 したがって、第2パスA−C−Gが次に試される。 ノードAからノードCへの第1ホップは、 要求QOSを維持するために、充分な資源を有する。 したがって、パスA−C−Gは、新しいソース・ルートとしてコネクション設定パケットに格納され、現コストが2に設定され、ノードAがレコード・ルートとして格納され、パケットはノードCへ送られる。 ノードCに到着すると、ソース・ルートは次ホップがノードCであることを調べるために照会される。 ノードCからノードGへの次ホップは、再び充分な資源が得られる。 したがって、現コストは6に増加し、ノードGがレコード・ルートに加えられ、パケットは目的ノードGに送られ、図8 に示すようにルーティング手順を完了する。 【0082】 【発明の効果】本発明によれば、順次ルーティング・プロトコルおよび発信制御ルーティング・プロトコルの最良の特徴を結合するルーティング制御方法が提供され、 高速のコネクション設定および最小または最小に近いコストパスの両方を実現することができる。 【図面の簡単な説明】 【図1】ルーティングおよびコネクション設定のために、ソース・ノードにより実行される手順を示す図。 【図2】ルーティングおよびコネクション設定のために、中間ノードにより用いられる手順を示す図。 【図3】ATMネットワークにおいてルーティングを行う順次および発信制御統合システムのサンプルパスを示す図。 【図4】ノードA,B,C,Dのルーティングテーブルを示す図。 【図5】ATMネットワークにおいてルーティングを行う順次および発信制御統合システムのサンプルパスを示す図。 【図6】ATMネットワークにおいてルーティングを行う順次および発信制御統合システムのサンプルパスを示す図。 【図7】ATMネットワークにおいてルーティングを行う順次および発信制御統合システムのサンプルパスを示す図。 【図8】ATMネットワークにおいてルーティングを行う順次および発信制御統合システムのサンプルパスを示す図。 【図9】ルーティングおよびコネクション設定の手順を示す図。 【符号の説明】 101〜118 ルーティングおよびコネクション設定のためのソース・ノードにより実行される手段 201〜222 ルーティングおよびコネクション設定のための中間ノードにより用いられる手順 |