(57)【特許請求の範囲】
【請求項１】
第１の条件により規定されるパケットフローを転送するための、自ノードから自ノードとは異なる論理ネットワークに属するノードまでネットワーク層処理を施さずにパケットを転送可能な、第１の専用仮想パスが存在することを記憶し、
前記第１の条件より詳しい第２の条件により規定されるパケットフローを転送するための第２の専用仮想パスを、前記第１の専用仮想パスの終点ノードもしくはそのさらに下流のノードまで、前記第１の専用仮想パスを利用して設定するために、前記終点ノードとの間で前記第２の専用仮想パスを特定する情報及びこの第２の専用仮想パスにより転送されるべき前記パケットフローを規定する条件を示す情報を通信することを特徴とするパケット転送制御方法。
【請求項２】
前記第１の専用仮想パスは複数の仮想パスを含み、前記第２の専用仮想パスは、この複数の仮想パスのうちの一つであることを特徴とする請求項１記載のパケット転送制御方法。
【請求項３】
前記通信後、前記第１及び第２の条件の双方を満たすパケットは前記第２の専用仮想パスで転送し、前記第１の条件を満たすが前記第２の条件は満たさないパケットは前記第２の専用仮想パス以外の第１の専用仮想パスで転送することを特徴とする請求項１記載のパケット転送制御方法。
【請求項４】
前記通信後、前記第２の専用仮想パスにより転送されるべきパケットフローに対し専用に割り当てられた仮想パスが自ノードの上流に存在するならば、この仮想パスと前記第２の専用仮想パスとの対応関係を記憶し、
この記憶された対応関係に基づいて、受信した前記パケットフローに属するパケットをネットワーク層処理を施さずに前記第２の専用仮想パスへ転送することを特徴とする請求項１記載のパケット転送制御方法。
【請求項５】
前記終点ノードは、前記通信後、前記第２の専用仮想パスにより転送されるべきパケットフローに対し専用に割り当てられた仮想パスが自ノードの下流に存在するならば、この仮想パスと前記第２の専用仮想パスとの対応関係を記憶し、
この記憶された対応関係に基づいて、受信した前記パケットフローに属するパケットをネットワーク層処理を施さずに下流の前記仮想パスへ転送することを特徴とする請求項１記載のパケット転送制御方法。
【請求項６】
前記第２の専用仮想パスを特定する情報及び前記パケットフローを規定する条件を示す情報を、前記第１の専用仮想パスによって送信することを特徴とする請求項１記載のパケット転送制御方法。
【請求項７】
第１の条件により規定されるパケットフローを転送するための、自ノードから自ノードとは異なる論理ネットワークに属するノードまでネットワーク層処理を施さずにパケットを転送可能な、第１の専用仮想パスが存在することを記憶する記憶手段と、
前記第１の条件に加えて第２の条件により規定されるパケットフローを転送するための第２の専用仮想パスを、前記第１の専用仮想パスの終点ノードもしくはそのさらに下流のノードまで、前記第１の専用仮想パスを利用して設定するために、前記記憶手段により記憶された内容を参照して、前記終点ノードとの間で前記第２の専用仮想パスを特定する情報及びこの第２の専用仮想パスにより転送されるべき前記パケットフローを規定する条件を示す情報を通信する手段とを具備したことを特徴とするノード装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ある論理ネットワークから異なる論理ネットワークへパケットを転送するノード装置（パケットを中継するルータ装置を含む）及びそのノード装置におけるパケット転送制御方法に関する。
【０００２】
【従来の技術】
インタネットプロトコルに代表されるネットワーク層のパケットを転送するパケット通信ネットワークでは、論理ネットワークが定義されている。同一の論理ネットワーク内においては、その論理ネットワークを構成するデータリンク層のプロトコル（イーサネット、ポイントーポイントリンク、ＡＴＭ、フレームリレーなど）に基づいて所定のフレーム形式でパケット転送が行なわれる。
【０００３】
一方、異なる論理ネットワークへパケットを転送する場合には、論理ネットワークの境界のルータにおいてパケットのアドレス情報などを解析し、所定の論理ネットワークへ向けてパケットを中継転送する。したがって、論理ネットワークの境界を通過する回数だけルータでのアドレス解析によるパケット中継転送処理が行なわれることになる。
【０００４】
個々の論理ネットワークを構成するデータリンクネットワークが高速化されるにつれ、そうしたルータでのアドレス解析による中継転送処理が全体の転送性能におけるボトルネックになるという問題点がある。そうした問題点を解決するために、電子情報通信学会交換システム／情報ネットワーク研究会「セルスイッチルータ  基本コンセプトとマイグレーションシナリオ」（９６年３月）およびＩＥＴＦのＲＦＣ１９５３、１９５４に記載されたようなルータにおいてパケット毎のアドレス解析処理を行なわないカットスルー転送を行なうことで、ルータの処理性能を大幅に向上させる方法が考案されている。
【０００５】
このカットスルー転送方式を行なうルータでは、最初の１つあるいは少数のパケットのアドレスや上位プロトコルなどの情報は解析するが、解析したパケットフローの経路上の隣接ルータ（同一の論理ネットワークに属する前段あるいは次段ルータ）との間で所定の制御メッセージの交換を行なうことで、解析したパケットフローに関する情報を、高速処理可能なヘッダ値（ＡＴＭの場合はセルヘッダのＶＰＩ（バーチャルパス識別子）／ＶＣＩ値（バーチャルチャネル識別子））にマッピングさせて記憶する。
【０００６】
そして、上記パケットフローに属する以降のパケットは、記憶した高速処理可能なヘッダ値をもとに転送処理を行なうものである。パケットフローの経路上の各々のルータにおいて上記処理を行なうことで、最初の少数のパケット以外は高速転送（以降、カットスルー転送と呼ぶ）処理を行なうことが可能になる。また、エンドホストから通信品質の要求を伝えることにより、エンドエンドフローに対して所定の通信品質要求を満たすカットスルーパスを提供することも可能となる。
【０００７】
上述したパケット転送制御方法は、例えば特定の送信ホスト／受信ホスト間の通信毎にカットスルー転送パスを設定するために、ルータの管理すべきカットスルーパスの数が多くなる可能性があること、またカットスルー転送パスが完成するまでの間は従来のルータと同じようにパケット毎のアドレス解析処理を行なう必要があるために、ルータによってはパケット毎の解析処理のボトルネックが生じる可能性があることが課題として考えられる。
【０００８】
そこで、特定のルータ間のカットスルー転送パスを、特定のエンドエンドパケットフローの検出時にそのフロー専用に設定するのではなく、ネットワークの立ち上げ時などに事前に設定する方法も提案されている。その場合のカットスルー転送パスとは、考えられるすべてのエンドエンドフローに対して専用に設定するのは現実的に考えられないため、より汎用的に使用可能なように設定することになる（例えば、あるルータから特定の論理ネットワーク宛のすべてのパケットが使用するなど）。したがって、あるルータから他の論理ネットワークの他のルータまで形成されたカットスルー転送パスを種々のエンドエンドパケットフローが共用することになる。
【０００９】
この方法の場合には、前述した方法のようなカットスルー転送パス形成までの通常のアドレス解析処理のボトルネックの可能性は回避することが可能である。しかしながら、ネットワークの規模が大きくなると、あらかじめ設定すべきカットスルーパスの数が多くなるため、ある程度限定した数（トラヒック量の多い特定の宛先論理ネットワーク宛など）のカットスルーパスを設定する方が望ましい。その場合には、あるエンドエンドパケットフローが発生した場合に、その経路上にカットスルーパスが設定されていないと、経路上のルータでは従来のパケット毎のアドレス解析に基づく転送処理をすることになるため、性能ボトルネックの問題が再び生じることになる。
【００１０】
また、このある程度汎用的なカットスルーパスを設定する方法の場合には、特定のエンドエンドフローに対して所定の通信品質要求を満たすような専用のカットスルーパスを提供するようなことはできない。
【００１１】
【発明が解決しようとする課題】
このような事情を鑑み、本発明は、特定のエンドエンドフローに対して専用のカットスルーパスを提供可能としつつ、カットスルーパスが完成するまでの時間を短縮でき、ルータのアドレス解析処理の負担を軽減することのできるパケット転送制御方法及びノード装置の実現を目的とする。
【００１２】
【課題を解決するための手段】
本発明に係るパケット転送制御方法は、第１の条件により規定されるパケットフローを転送するための、自ノードから自ノードとは異なる論理ネットワークに属するノードまでネットワーク層処理を施さずにパケットを転送可能な、第１の専用仮想パスが存在することを記憶し、前記第１の条件に加えて第２の条件により規定されるパケットフローを転送するための第２の専用仮想パスを、前記第１の専用仮想パスの終点ノードもしくはそのさらに下流のノードまで、前記第１の専用仮想パスを利用して設定するために、前記終点ノードとの間で前記第２の専用仮想パスを特定する情報及びこの第２の専用仮想パスにより転送されるべき前記パケットフローを規定する条件を示す情報を通信することを特徴とする。
【００１３】
本発明が対象とするネットワークのデータリンク層は、イーサネット、ポイントーポイントリンク、ＡＴＭ、フレームリレー等のいずれであっても良い。ネットワーク層のプロトコルも、ＩＰ、ＩＰＸ等のいずれであっても良い。
【００１４】
本発明によれば、予め、第１の条件により規定されるパケットフロー用に、自ノードから、自ノードとは隣接しないあるノードまで、その間の経由ノードではネットワーク層処理を施さずに該パケットフローに属するパケットを転送可能なように、第１の専用仮想パス（カットスルーパス）が設定されている。
【００１５】
この第１の専用仮想パスは、例えばＡＴＭであれば、ＶＰ（この中に複数のＶＣ（仮想コネクション）が内包されている）のカットスルーであっても、複数のＰＶＣ（パーマネント仮想コネクション）のカットスルーであっても良い。また、例えばイーサネットであれば、ＭＡＣフレームの特定領域に第１の専用仮想パスを示す値を書き込んで転送し、この特定領域を後述する別の特定領域よりも優先的に参照・書換してネットワーク層処理せずにルーティングすることにより実現されるカットスルーとすれば良い。
【００１６】
そして、第１の条件に加えて第２の条件により規定されるパケットフローを転送するための第２の専用仮想パスを設定する必要が生じると、第１の専用仮想パスの終点ノードとの間で第２の専用仮想パスを特定する情報及びこの第２の専用仮想パスにより転送されるべきパケットフローを規定する条件を示す情報を通信することにより、自ノードと前記終点ノードの双方が、第１に加えて第２の条件により規定されるパケットフロー用の第２の専用仮想パスを認識する。
【００１７】
この第２の専用仮想パスにより転送されるべきパケットフローを規定する条件は、前記第１の条件をより詳細にしたものとなる。例えば、第１の条件が、特定の論理ネットワークＡ宛であれば、第２の条件としては、宛先論理ネットワークＡに属する特定のノードＢ宛である、該ノードＢの特定アプリケーション（ポート）を宛先とする、もしくは特定のノードＣを送信元とし該ノードＢを宛先とする、等がある。
【００１８】
この第２の専用仮想パスは、第１の専用仮想パスに含まれる複数の仮想パスのうちの一つとすることができ、例えば、ＶＰに内包されるＶＣの一つ、複数のＰＶＣのうちの一つを選択すればよい。イーサネットの場合は、前記別の特定領域に第２の専用仮想パスを示す値の書き込まれたＭＡＣフレームを転送することで、第２の専用仮想パスを使用する。
【００１９】
なお、上記発明における第１の専用仮想パスの終点ノードと自ノードの間の通信は、必要な情報を自ノードが前記終点ノードへ通知するのでも、前記終点ノードが自ノードへ通知するのでも、自ノードが前記終点ノードへ必要な情報を要求し前記終点ノードがこれに応えて自ノードへ通知するのでも良い。
【００２０】
自ノードは、この通信の後、第１及び第２の条件の双方を満たすパケットは第２の専用仮想パスで転送し、第１の条件を満たすが第２の条件は満たさないパケットは第２の専用仮想パス以外の第１の専用仮想パスで転送する。
【００２１】
そして、第２の専用仮想パス（カットスルーパス）は、前記第１の専用仮想パスの設定された区間よりも上流や下流に延ばすことができる。
上流に延ばす場合は、自ノードが、第２の専用仮想パスにより転送されるべきパケットフローに対し専用に割り当てられた仮想パスが自ノードの上流に存在するならば、この仮想パスと第２の専用仮想パスとの対応関係を記憶し、この記憶された対応関係に基づいて、受信した前記パケットフローに属するパケットをネットワーク層処理を施さずに前記第２の専用仮想パスへ転送すれば良い。
【００２２】
下流に延ばす場合は、前記終点ノードが、第２の専用仮想パスにより転送されるべきパケットフローに対し専用に割り当てられた仮想パスが自ノードの下流に存在するならば、この仮想パスと第２の専用仮想パスとの対応関係を記憶し、この記憶された対応関係に基づいて、受信した前記パケットフローに属するパケットをネットワーク層処理を施さずに下流の前記仮想パスへ転送すれば良い。
【００２３】
本発明はまた、上述した動作を行うノード装置の発明としても把握される。
このように、本発明によれば、予め設定された第１の専用仮想パスを利用して、これよりも詳細な条件で規定されたパケットフロー専用の第２の専用仮想パスの設定が行えるため、特定のエンドエンドフローに対して専用のカットスルーパスを、短い設定時間にて提供可能となる。
【００２４】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態を説明する。
図１は、カットスルー転送処理が可能なルータの一構成例を示したものである。この例はルータに接続されたデータリンクがＡＴＭの場合を示しており、カットスルーによる高速転送処理のためにＡＴＭスイッチ１０２を利用する。
【００２５】
入力インタフェース１０３、出力インタフェース１０４はＡＴＭセルの送受信を行なうインタフェースであり、その先にはＡＴＭ交換ノードやＡＴＭルータやＡＴＭホストなどが接続されている。
【００２６】
コントローラ１０１では、ＡＴＭ入力インタフェース１０３から受信したセルをＡＴＭスイッチ１０２を介して受信し、パケットへの組み立てを行ない、従来のルータと同様にパケットの宛先（および送信元）アドレス等の解析を行ない、次段の転送先ノード（ルータまたはホスト）やセルに付与すべきＶＰＩ／ＶＣＩ値を決定する。そして再びパケットからセルへの分割を行なった後に決定したインタフェースへ向けてセルを送出する。
【００２７】
以上のような通常のルータが行なう転送方法に加えて、隣接ノードとのメッセージ交換により特定のパケットフローに対して専用に割り当てたＶＰＩ／ＶＣＩ値を記憶しており、これにより、受信セルをコントローラ１０１でパケットに組み立ててパケットに記載されたフロー情報（ネットワーク層のアドレス情報等）の解析を行なうことなく、受信セルのＶＰＩ／ＶＣＩ値から転送すべき次段ノードや出力時に付与するべきＶＰＩ／ＶＣＩ値を決定することができる。
【００２８】
したがって、その場合にはコントローラでの解析処理をすることなくＡＴＭスイッチのみにより受信セルの次段ノードへの中継転送を行なうことができ、ＡＴＭスイッチの持つ高速、高スループットの転送処理を実現することができる。
【００２９】
こうしたカットスルー転送パスを利用する特定のパケットフローを規定する条件として、様々なレベルが考えられる。条件を広く規定すればそれだけそのカットスルーパスを利用するフローが多くなり、一方条件をよりスペシフィックに規定すればそれだけそのカットスルーパスを利用するフローが限定される。
【００３０】
ここでは以下の２種類の場合を例にして説明する。
（１）特定のエンドエンドのパケットフローあるいは特定のエンドエンドの特定のアプリケーションのパケットフローに専用に提供する場合。
（２）パケットの送信元は限定せず、また宛先ホストアドレスも限定せず、ある宛先論理ネットワーク行きの種々のエンドエンドパケットフローで共用できるものとして提供する場合。
【００３１】
前者の場合の運用方法としては、ルータは通常はＡＴＭインタフェースから受信したセルをコントローラでパケットに組み立て、フロー情報の解析処理結果に基づき次段ノードへパケットを転送しており、特定のエンドエンドフロー（の特定のアプリケーション）をコントローラが検出した場合にのみ、所定の制御メッセージを隣接ノードとの間で交換してそのエンドエンドフロー専用のＶＣを前段および次段との間に確立できた時点で、そのフローをＡＴＭスイッチによるカットスルー転送に変更する。
【００３２】
一方後者の場合の運用方法としては、あらかじめ特定の宛先論理ネットワーク専用のカットスルーパスをネットワーク立ち上げ時などに構築しておくことが考えられ、そのパスが構築された宛先行きのエンドエンドフローは最初のパケットから高速転送される。ただしそのパスが構築されていない宛先行きのエンドエンドフローは従来のコントローラでのパケット解析による転送が最初から最後まで行なわれることになる。
【００３３】
以下では、上述したような２種類のカットスルーパスを有効に組み合わせることで、各々の利点を有効に生かした拡張性が高く、かつ性能がより向上されたルータネットワークを構築する方法について説明する。
【００３４】
なお、ネットワーク層プロトコルがＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の場合について説明する。よって論理ネットワークはサブネットと呼ぶことにする。
【００３５】
図２は、送信ホスト２１１が５台のルータ２０１〜２０５を介して受信ホスト２２１、２２２へパケット転送する場合の、ルータ２０２〜２０４間のＡＴＭコネクションの構成例を示したものである。
【００３６】
送信ホスト２１１はサブネットａに、ルータ２０１はサブネットａとｂに、ルータ２０２はサブネットｂとｃに、ルータ２０３はサブネットｃとｄに、ルータ２０４はサブネットｄとｅに、ルータ２０５はサブネットｅとｆに、受信ホスト２２１、２２２はサブネットｆに属している。サブネットａ、ｆはイーサネット、それ以外のサブネットはＡＴＭにより構成されているものとする。
【００３７】
ルータ２０２から２０３を経由して２０４までＡＴＭカットスルーパスがあらかじめ設定されており、このＡＴＭカットスルーパスはルータ２０２を通過して宛先サブネットアドレスがｆのパケットすべてが利用できるものである。
【００３８】
ルータ２０２のサブネットｃに対するＡＴＭインタフェース（インタフェース番号２とする）では、このカットスルーパスはＶＰＩ値０で識別される。すなわち、あらかじめ設定される、宛先サブネットがｆである種々のエンドエンドパケットフローで共用されるＡＴＭカットスルーパスは、ルータ２０２から２０３まで設定されたＶＰ（バーチャルパス）とルータ２０３から２０４まで設定されたＶＰをルータ２０３においてＡＴＭレベルで接続することにより構成されたものである。
【００３９】
ルータ２０３では入力されたセルのＶＰＩ値を参照するのみで、次段ルータ２０４に対してセルをパケットに組み立てることなく転送している。
このようにＶＰをつなぎ合わせて構成されているルータ２０２から２０４へのカットスルーパス（以下ではＶＰカットスルーと呼ぶ）には、宛先サブネットがｆである種々のエンドエンドパケットフローが流れているが、その中に、さらに特定のエンドエンドパケットフロー専用（あるいは特定のエンドエンドの特定のアプリケーションのパケットフロー専用）のカットスルーパスを必要に応じて構築する方法について以下に説明する。
【００４０】
図２では、送信ホスト２１１から受信ホスト２２２へのパケットフロー専用のカットスルーパスをルータ２０１からルータ２０５まで設定している。このカットスルーパスは、ルータ２０１から２０２まで設定されたＶＣ（送信ホスト２１１から受信ホスト２２２へのパケットフロー専用）とルータ２０２から２０４まで設定されたＶＣ（送信ホスト２１１から受信ホスト２２２へのパケットフロー専用）とをルータ２０２においてＡＴＭレベルで接続し、同様にルータ２０２から２０４まで設定された上記ＶＣとルータ２０４から２０５まで設定されたＶＣ（送信ホスト２１１から受信ホスト２２２へのパケットフロー専用）とをルータ２０４においてＡＴＭレベルで接続することにより構成することができる。
【００４１】
このように、ＶＣをつなぎ合わせて構成されているカットスルーパスをＶＣカットスルーと呼ぶことにする。ルータ２０２および２０４では、入力されたセルのＶＰＩ／ＶＣＩ値を参照するのみで、セルをパケットに組み立てることなく所定のＶＰＩ／ＶＣＩ値を付与して次段ルータへ向けて転送している。ルータ２０３では、ＶＰＩ値のみをもとに転送処理が可能な点は前述したとおりである。
【００４２】
この例では、送信ホスト２１１〜受信ホスト２２２間のパケットフロー専用のＶＣカットスルーをルータ２０１から２０５まで構成する際に、すでにルータ２０２〜２０４間に構成されているサブネットｆ行きのパケットフロー専用のＶＰカットスルー（上記ＶＣカットスルーで運ばれるパケットフローを規定する条件を包含した、より広い条件で規定されたパケットフローを運ぶ）を利用することにより、ＶＣカットスルーを生成する際に、ルータ２０２の次段隣接ノードがルータ２０４であるかのようにして制御プロトコルを動作させることができる。
【００４３】
これにより、経路上のすべてのルータでＶＣカットスルーの生成手順を行なった場合に比べて、ＶＣカットスルー生成に要する時間を短縮することができ、各ルータでのパケット処理負荷の軽減につながる。
【００４４】
図４は、図２に示したルータ２０２内のコントローラにおいて保持しているＩＰ経路表の一例を示している。図５は、ルータ２０２内のコントローラにおいて保持しているＶＰカットスルー内の空きＶＣＩ管理表の一例を示している。図６は、ルータ２０２内のＡＴＭスイッチが参照するＡＴＭセル経路表の一例を示している。
【００４５】
以下に、図２および図４〜図６を参照しながら、ルータ２０２でのセル／パケット転送処理手順について説明する。
ルータ２０２と２０４の間にはあらかじめ設定されたＶＰカットスルー（宛先サブネットアドレスのみで利用できるパケットフローの条件が規定された）が存在しているが、それ以外にはＶＰカットスルーは存在していないものとする。
【００４６】
ルータ２０２がサブネットｂに属する隣接ルータ２０１からセルを受信すると、まず受信したセルのＶＰＩ／ＶＣＩ値をキーにして図６のＡＴＭセル経路表を参照する。ＡＴＭセル経路表には、図２に示す送信ホスト２１１〜受信ホスト２２２間のパケットフロー専用のＶＣカットスルーに対応したエントリとして、入力インタフェース＝１、入力ＶＰＩ／ＶＣＩ＝１／５０１に対する出力インタフェース＝２、出力ＶＰＩ／ＶＣＩ＝０／３０１が記入されている。
【００４７】
図２には記載されていないが、もしルータ２０２でＶＰカットスルーの中継を行なっている場合には、やはり対応するＡＴＭセル経路表のエントリが存在し、その場合入力ＶＰＩ値と出力ＶＰＩ値の対応のみが記入されている（ＶＰ中継をしているルータにおいては入出力ＶＣＩ値については関与しない）。
【００４８】
受信したセルのＶＰＩ／ＶＣＩ値に対する出力エントリが存在しない（あるいは出力インタフェースとしてコントローラが示されている）場合には、受信セルはコントローラへ転送されパケットに組み立てられる。組み立てられたパケットの送信元ＩＰアドレス及び宛先ＩＰアドレス（及び宛先ポート番号も参照する場合も考えられる）をキーに図４のＩＰ経路表が参照され、その結果として出力インタフェース、出力時に付与するＶＰＩ／ＶＣＩ値、そして仮想次段ノードアドレスが得られる。
【００４９】
仮想次段ノードとは、出力ＶＰＩ値に相当するＶＰがＶＰカットスルーを構成している場合にはそのＶＰカットスルーの終端点のノード（図２ではルータ２０４）、ＶＰカットスルーを構成していない場合にはサブネットをはさんだ実際の次段ノードを示す。
【００５０】
この仮想次段ノードアドレスとしてＶＰカットスルーの終端点のノードのアドレスを記入する動作は、ＶＰカットスルーが形成されたときに行われている。
図４に示すように、宛先サブネットアドレスがｆであるパケットは、出力インタフェース２からＶＰＩ／ＶＣＩ＝０／１００を付与したセルとして出力され、ＶＰカットスルーによりルータ２０４まではＡＴＭ転送されることが仮想次段ノードフィールドよりわかる。
【００５１】
さらに図４では、宛先サブネットアドレスｆで規定されたパケットフロー以外に、送信元アドレスａ. ２１１、宛先アドレスｆ. ２２１で規定されたパケットフローに対して出力インタフェース２、出力ＶＰＩ／ＶＣＩ＝０／３００がＩＰ経路表情報として記載されている。
【００５２】
この２つのエントリは宛先サブネットアドレスがｆという意味では同じものであるが、後者の方がよりスペシフィックな（詳細な）条件で規定されたパケットフローであり、テーブル参照の際にはいちばん詳細な条件で一致したエントリの内容に従うようにする（ベストマッチ）。
【００５３】
図４の例では、送信元アドレスａ. ２１１、宛先アドレスｆ. ２２１以外の宛先サブネットｆのパケットはすべてＶＰＩ／ＶＣＩ＝０／１００で送出され、仮想次段ルータ２０４（アドレスｄ. ２０４）で終端されＩＰ処理される。ＶＰＩ／ＶＣＩ＝０／１００がいわばサブネットｆ行きのパケットのデフォルトのＶＣであると言える。
【００５４】
送信元アドレスａ. ２１１、宛先アドレスｆ. ２２１のパケットフローはＶＰＩ／ＶＣＩ＝０／３００で送出され、このＶＣは図２の例ではルータ２０４〜２０５間に張られた同じ送信元／宛先ＩＰアドレスのフロー専用のＶＣとルータ２０４で相互接続され、ルータ２０５までＶＣカットスルーとしてＩＰ処理されずに転送されている。
【００５５】
なお、図２の例では、送信元アドレスａ. ２１１、宛先アドレスｆ. ２２１のフロー専用のＶＣがルータ２０１〜２０２間にも設定されれば、ルータ２０２においてもパケットに組み立てることなく、ＶＰＩ／ＶＣＩ＝０／３００で出力されるＶＣと接続されてカットスルー転送を行なうことが可能になる。
【００５６】
ルータ２０２のコントローラにおいて受信したパケットのフロー情報解析の結果、解析したパケットの属するエンドエンドフロー専用のＶＣカットスルーは存在せず（次段ルータ２０３へのデフォルト転送用ＶＣか、仮想次段ルータ２０４へのＶＰカットスルー内のデフォルト転送用ＶＣのみが存在する）、かつエンドエンドフロー専用のＶＣカットスルーを設定した方が望ましいとルータ２０２において判断した場合には、以下に示すＶＣカットスルーの設定の手順を開始する。なお、受信したパケット自体は上記いづれかのデフォルト転送用ＶＣ（図２の例ではＶＰＩ／ＶＣＩ＝０／１００）で転送することが望ましい。
【００５７】
ＶＣカットスルーを設定しようとしているエンドエンドフローの宛先ＩＰアドレスのネットワークアドレス部分をキーにＩＰ経路表を参照し、仮想次段ノードのフィールドが示しているノードとの間にそのエンドエンドフロー専用のＶＣを確保し、所定の制御メッセージをそのノードとの間でやりとりする。
【００５８】
例えば、図２の送信ホスト２１１からサブネットｆに属する図示されていない受信ホスト２２３に送られるエンドエンドパケットフロー専用のＶＣカットスルーを設定しようとする場合、ルータ２０２では宛先サブネットｆ行きのデフォルト経路の仮想次段ノードがルータ２０４であることがわかり、すなわちＶＰカットスルーがルータ２０２から２０４まで設定されていることがわかる。従って、ルータ２０２では次段隣接ノードが２０４であると考えて、ＶＣカットスルー設定手順を行なう。
【００５９】
ルータ２０２におけるＶＣカットスルー設定手順の例を以下に示す。まずルータ２０２が、ルータ２０４に張られているカットスルーＶＰ内の空きＶＣＩ値管理表（図５）を宛先ネットワークアドレスをキーに参照し、そこに記載されたＶＣＩ値（３０２）とエンドエンドフロー（ここでは、送信元アドレスａ. ２１１、宛先アドレスｄ. ２２３）との対応関係をルータ２０４に対して制御メッセージとして伝える。この制御メッセージの送信にはデフォルト転送用ＶＣ（ＶＰＩ／ＶＣＩ＝０／１００）を用いる。
【００６０】
そして、ルータ２０４からの応答を待ち、対応関係を設定することに対する許諾のメッセージをルータ２０４から受け取れば、ルータ２０２は少なくとも仮想次段ルータ２０４との間に送信ホスト２１１〜受信ホスト２２３間のエンドエンドフロー専用のＶＣが確保できたと解釈し、そのフローのパケットを確保した専用ＶＣ（ＶＰＩ／ＶＣＩ＝０／３０２）に流すことができる。
【００６１】
送信ホスト２１１〜受信ホスト２２３間のエンドエンドフロー専用のＶＣカットスルーの設定手順がルータ２０２〜２０４間で完了し、同様の手順がルータ２０４〜２０５間、ルータ２０１〜２０２間でも完了すると、ルータ２０１〜２０５までのＶＣカットスルーが設定可能となる。
【００６２】
なお、上記例では、上流ノード（ルータ２０２）が下流ノード（ルータ２０４）に対してカットスルーの設定を起動する場合について説明したが、下流側のノードが上流側のノードに対してカットスルーの設定を起動する方法をとっても構わない。この場合は、下流側のノードがルータ２０２〜２０４間のＶＰカットスルー内の空きＶＣＩ値を管理する。
【００６３】
以上述べたように、新たなＶＣカットスルーを、すでに設定されているＶＰカットスルーの中を通す（利用する）かたちで設定しようとする場合、そのＶＰカットスルーの始点になっているルータでは、ＶＰカットスルーの終点ルータのアドレスを認識し、そのルータを仮想的な隣接ノードとして、ＶＣカットスルー設定のための制御メッセージの交換を行なう。そのためには、設定されているＶＰカットスルーの終点ルータのアドレスを常に始点ルータで記憶していることが必要となる。
【００６４】
その方法としては、ＶＰカットスルー設定のためのプロトコルが常に終点ノードのアドレスを始点ノードに対して通知するようにするか、あるいはＶＰカットスルーの中のデフォルトＶＣに終点アドレスをチェックするためのメッセージを定義するか、あるいはＡＴＭのＯＡＭ情報を使うかのいづれかが考えられる。
【００６５】
なお、下流側のノードが上流側のノードに対してカットスルーの設定を起動する方法を採る場合には、ＶＰカットスルーの終点になっているルータが、ＶＰカットスルーの始点ルータのアドレスを認識し、そのルータを仮想的な隣接ノードとして動作することになる。
【００６６】
以上述べた実施の形態では、宛先ネットワークアドレスなどの比較的抽象的な（緩やかな）条件で規定されたパケットフローのためにあらかじめ設定しておくカットスルーとしてＶＰをつなぎ合わせたＶＰカットスルーを用いることを想定した。
【００６７】
ＶＰの中のあるＶＣＩ値をデフォルトのパケット転送や制御メッセージ転送用のコネクションとして使用し、送信元／宛先アドレス対（および宛先ポート番号）などのよりスペシフィック（詳細）な条件で規定されたパケットフローのためのカットスルーを生成するために、上記デフォルトのＶＣＩ値以外の空きＶＣＩ値を上記パケットフロー専用のＶＣとして随時確保する方法を説明した。
【００６８】
同様なことを実現する他の実施形態として、比較的抽象的な条件で規定されたパケットフローのためのあらかじめ設定するカットスルーとして、ＶＰでなくＶＣをつなぎ合わせたＶＣカットスルーを用いることも可能である。
【００６９】
その場合には、あらかじめ設定しておく比較的抽象的な条件で規定されたデフォルトフローの転送に用いるＶＣカットスルーの設定とともに、後に設定が要求されるかもしれない、よりスペシフィックな条件で規定されたパケットフロー用のＶＣカットスルーのためのパーツとなるＶＣカットスルーを準備しておく。この準備されたＶＣカットスルーの集合が、上記比較的抽象的な条件で規定されたパケットフローのための専用仮想パスとなる。
【００７０】
例えば、図７に示すように、ルータ２０２〜２０３〜２０４までの宛先ネットワークｆのデフォルトフローを転送するためのＶＣカットスルー（ＶＰＩ／ＶＣＩ＝０／１００）を設定するとともに、ルータ２０２〜２０３〜２０４間に同様のＶＣカットスルーのプール（ＶＰＩ／ＶＣＩ＝０／３０１、他の未使用カットスルー）を設定して維持しておく。
【００７１】
後に、例えば送信ホスト２１１、受信ホスト２２３（アドレスｆ. ２２３）で規定されたＶＣカットスルーをルータ２０１〜２０５間に設定する際に、上記プールしてあるルータ２０２〜２０４間の未使用のＶＣカットスルーをそのパーツとして利用することができる。
【００７２】
この方法は、ＶＰを用いる場合とは異なり、ルータ２０３でもＶＣ単位のスイッチングを行なう必要があるが、詳細に規定されたエンドエンドのフローのためのＶＣカットスルーの設定の際の制御手順にルータ２０３は関与する必要はなく、あらかじめ準備されたＶＣカットスルーの端点であるルータ２０２とルータ２０４の間で制御メッセージの交換を行なえば良い。
【００７３】
なお、この方法の場合は、ルータ２０３でＶＣ単位のスイッチングを行うため、一つのＶＣカットスルーのＶＣＩ値がルータ２０２とルータ２０４とでは異なるのが通常である（図７に示すＶＰＩ／ＶＣＩはルータ２０２にて認識される値であり、ルータ２０４ではこれとは異なる値で同じＶＣカットスルーが認識されている）。したがって、あらかじめルータ２０２と２０４間でプールしてあるＶＣカットスルーのそれぞれにつき、これを一意に認識できるよう、ＶＣカットスルーＩＤのネゴシエーションを行っておく。
【００７４】
すなわち、例えばルータ２０２が、あるＩＤ値を選択し、「このＶＣカットスルーＩＤ値を使ってルータ２０２〜２０４間のＶＣカットスルー設定を行いたい」旨をルータ２０４にメッセージとして伝え、ルータ２０４から許諾のメッセージを受信すると言う動作を、ルータ２０３でルータ２０２からのＶＣとルータ２０４へのＶＣをＡＴＭレベルで接続するための設定を行った後に実行することにより、この同一のＶＣカットスルーＩＤ値でルータ２０２と２０４の双方が一つのＶＣカットスルーを認識できるようになる。
【００７５】
そして、ルータ２０２はこの各ＶＣカットスルーＩＤを記憶しており、詳細に規定されたエンドエンドのフローのためのＶＣカットスルーの設定の際にルータ２０４と通信する制御メッセージには、ＶＰを用いる場合のＶＣＩ値の代わりに、ＶＣカットスルーＩＤ値を、未使用のＶＣカットスルーから選択したＶＣカットスルーを特定する情報として含ませればよい。
【００７６】
同様なことを実現するさらに別の実施形態としては、ＶＰとＶＣという階層構造を用いてカットスルーの階層化を行なうのではなく、ＶＰＩ／ＶＣＩフィールドの任意の部分を境界にしてカットスルーの階層化を行なう方法も考えられる。その場合には、境界を２つ以上定義することで３段階以上の階層化を行なうことも可能である。ただしその場合には、カットスルー設定時に各々のカットスルーはセルヘッダ領域のどのビットまでの値で識別されるものであるかを示す情報をやりとりすることが必要である。
【００７７】
以上述べてきた実施形態の説明は図２に示すネットワーク構成を例にして行なってきたが、図３に示すようなネットワーク構成においても全く同様の方法が適用可能である。
【００７８】
図３は、ルータ２０３がルートサーバ機能も持っており、ＮＨＲＰ（ＮｅｘｔＨｏｐ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等の手順によりルータ２０２、２０４間に宛先ネットワークアドレスｆのパケットフロー専用のＶＰあるいはＶＣを設定している。その後、よりスペシフィックな条件（送信元アドレスａ. ２１１、宛先アドレスｆ. ２２２）で規定されたフローのためのＶＣカットスルーを設定する際に、ルータ２０２と２０４の間で隣接ノードとして制御メッセージの交換を行ない、結果としてルータ２０２〜２０４間のＶＣをパーツとして持ったルータ２０１〜２０５間のＶＣカットスルーを構成することができる。
【００７９】
本発明の他の実施形態として、ＡＴＭでなくイーサネットなどの他の通信ネットワークにおけるカットスルー制御手順について説明する。
上記ＡＴＭにおける実施形態で用いたＶＰＩの代わりに、ＭＡＣフレーム中に、宛先ネットワークアドレス等で規定する「比較的抽象度の高いある特定フローの転送専用の仮想的なデータリンク識別子（以下ではＤＶＬＩーＡと呼ぶ）」を記入する第１の特定のフィールドを設ける。さらにＡＴＭにおける実施形態で用いたＶＣＩの代わりに、ＭＡＣフレーム中に送信元／宛先ＩＰアドレス対等で規定する「より詳細に条件が規定された特定フローの転送専用の仮想的なデータリンク識別子（以下ではＤＶＬＩーＢと呼ぶ）」を記入する第２の特定のフィールドを設ける。
【００８０】
図２で、すべてのサブネットがイーサネットであるとして、ルータ２０２からルータ２０４まで予めカットスルー（ここではＩＰ等のネットワーク層レベルの処理をせず、ＭＡＣヘッダなどのデータリンクフレームのヘッダ情報を用いてルータで転送処理することを示す）が設定されているとする。このカットスルーは宛先ネットワークアドレス等で規定された比較的抽象度の高い特定フローが転送されるためのものである。
【００８１】
この状態では、図１０に示すように、ルータ２０３にはサブネットｃでルータ２０２との間で合意された仮想的なデータリンク識別子ＤＶＬＩーＡの値（Ａ１とする）と、サブネットｄでルータ２０４との間で合意された仮想的なデータリンク識別子ＤＶＬＩーＡの値（Ａ２とする）の対応関係が記憶されている。
【００８２】
ルータ２０３は、第１の特定のフィールドに記入されている仮想的なデータリンク識別子Ａ１に基づいてこのテーブルを引くことにより、ネットワーク層のフロー解析処理を施さずに所定の出力インタフェースへ転送するとともに仮想的なデータリンク識別子の値をあらかじめルータ２０４との間で決定されたものに書き換える。
【００８３】
ここで、ルータ２０２が送信ホスト２１１から受信ホスト２２２へのデータパケットを受信し、この送受信対のパケットフロー専用の（よりスペシフィックな）カットスルーを設定すべきと判断したとする。ルータ２０２は、ルータ２０４との間で前述した第２の特定のフィールドに記入すべき仮想的なデータリンク識別子の値の合意をとるために制御メッセージの交換を行う（ここで決まった値をＤＶＬＩーＢ＝Ｂ３０１とする）。
【００８４】
なお、ルータ２０３では、第１の特定のフィールドＤＶＬＩーＡに仮想的データリンク識別子が記入されているフレームについては、第２の特定のフィールドＤＶＬＩーＢの仮想的データリンク識別子の値は書き換えずに、上述したカットスルー転送を行う。
【００８５】
ルータ２０２は、前記エンドエンドフローに属するパケットのフレームの第１及び第２の特定のフィールドにそれぞれ、Ａ１及びＢ３０１を記入して転送することになる。
【００８６】
図１１に示すように、ルータ２０２は入力側の第１および第２の特定のフィールドに記載された仮想データリンク識別子（と必要ならインタフェース番号）と、出力側の第１および第２の特定のフィールドに記載された仮想データリンク識別子（と必要ならインタフェース番号、さらに必要なら送受信ＭＡＣアドレスなどのその他のデータリンクヘッダ情報）の対応表を持っている。
【００８７】
そして、ルータ２０１とルータ２０２の間に、上記エンドエンドフロー専用の仮想的データリンク識別子が合意され記憶されている（図１１ではＡ０／Ｂ５０１）なら、ルータ２０２はその情報に基づいて上記対応表を引き（出力側はＡ１／Ｂ３０１）、ネットワーク層処理をすること無しに必要なデータリンクヘッダの書き換えをして、上記フローのパケットを転送できる。
【００８８】
なお、図８は、ＡＴＭの場合の実施形態と同様に、ルータ２０２でＩＰ処理を行なった場合の出力時に付与する仮想データリンク識別子情報が記憶されたテーブル、図９は、ルータ２０２から新たにカットスルーを生成する際の仮想的な隣接ルータ２０４との間の空きＤＶＬＩ値を管理するテーブル（制御メッセージの交換時に参照される）を示したものである。
【００８９】
このように、イーサネットにおいても、予め存在する抽象度の高いある条件で規定されたカットスルーを利用して、前記条件を満たしかつより詳細な条件で規定されたパケットフローに対し任意にカットスルーを設定することができる。
その他、本発明はその趣旨を逸脱しない範囲で種々の変形実施が可能である。
【００９０】
【発明の効果】
以上詳述したように、本発明によれば、より詳細な条件で規定されるパケットフローに対して新たな専用仮想パスを生成する場合に、すでに設定されているより抽象的な条件で規定されるパケットフロー用の専用仮想パスを利用するかたちで設定することができるため、経路上のすべてのルータで新たな専用仮想パスの生成手順を行なった場合に比べて、その生成に要する時間を短縮することができ、各ルータでのパケット処理負荷の軽減が可能となる。
【図面の簡単な説明】
【図１】  本発明の実施形態に係るルータの構成例を示す図。
【図２】  本発明の実施形態に係る第１のネットワーク構成例を示す図。
【図３】  本発明の実施形態に係る第２のネットワーク構成例を示す図。
【図４】  本実施形態のＡＴＭ接続されたルータで用いるＩＰ経路表の一例を示す図。
【図５】  本実施形態のＡＴＭ接続されたルータで用いる空きＶＣ管理表の一例を示す図。
【図６】  本実施形態のＡＴＭ接続されたルータで用いるＡＴＭセル経路表の一例を示す図。
【図７】  本発明の他の実施形態に係る第１のネットワーク構成例を示す図。
【図８】  本実施形態のイーサネット接続されたルータで用いるＩＰ経路表の一例を示す図。
【図９】  本実施形態のイーサネット接続されたルータで用いる空き仮想データリンク管理表の一例を示す図。
【図１０】  本実施形態のイーサネット接続されたルータで用いる仮想データリンクヘッダ変換表の一例を示す図。
【図１１】  本実施形態のイーサネット接続されたルータで用いる仮想データリンクヘッダ変換表の他の例を示す図。
【符号の説明】
１０１…コントローラ
１０２…ＡＴＭスイッチ
１０３…入力インタフェース
１０４…出力インタフェース
【図１】
0003688408.tif 000002
【図２】
0003688408.tif 000003
【図３】
0003688408.tif 000004
【図４】
0003688408.tif 000005
【図５】
0003688408.tif 000006
【図６】
0003688408.tif 000007
【図７】
0003688408.tif 000008
【図８】
0003688408.tif 000009
【図９】
0003688408.tif 000010
【図１０】
0003688408.tif 000011
【図１１】
0003688408.tif 000012