(57)【特許請求の範囲】
【請求項１】
ネットワーク間でデータグラムを転送するルータ装置において、
少なくとも１つの仮想コネクションネットワーク及び少なくとも１つの非仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースと、
仮想コネクション識別子と転送先となる接続インタフェースとの対応関係及び仮想コネクション識別子とネットワークアドレスとの対応関係を記憶するための記憶手段と、
ある仮想コネクションから、仮想コネクションネットワークに接続された前記接続インタフェースを介して入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段に記憶された前記対応関係を参照して、該データグラムの転送先となる接続インタフェースを決定するための第１のコネクション識別子解析手段と、
前記仮想コネクションから入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段に記憶された前記対応関係を参照して、該データグラムの転送先となるネットワークアドレスを決定するための第２のコネクション識別子解析手段と、
前記第１のコネクション識別子解析手段により前記転送先となる接続インタフェースが決定された場合に、該接続インタフェース宛てに前記データグラムを転送する第１の転送手段と、
前記第２のコネクション識別子解析手段により前記転送先となるネットワークアドレスが決定された場合に、該ネットワークアドレスが示す少なくとも１つの非仮想コネクションネットワークに接続された前記接続インタフェース宛てに前記データグラムを転送する第２の転送手段とを具備することを特徴とするルータ装置。
【請求項２】
前記転送先となる接続インタフェースは、転送先として決定したネットワークアドレスに基づいて決定されるデータリンクアドレス宛てに前記データグラムを送出することを特徴とする請求項１に記載のルータ装置。
【請求項３】
前記データグラムの転送先は、該データグラムの内容を参照することなく決定されることを特徴とする請求項１に記載のルータ装置。
【請求項４】
少なくとも１つの仮想コネクションネットワーク及び少なくとも１つの非仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースを備えたルータ装置を用いた、ネットワーク間でデータグラムを転送するデータ転送方法において、
前記ルータ装置の記憶手段に、前記仮想コネクションネットワークにおける仮想コネクション識別子と前記接続インタフェースとの対応関係及び前記仮想コネクション識別子と前記非仮想コネクションネットワークにおけるネットワークアドレスとの対応関係を記憶する記憶ステップと、
ある仮想コネクションから、仮想コネクションネットワークに接続された前記接続インタフェースを介して前記ルータ装置へ入力されたデータグラムに与えられた仮想コネクション識別子に基づき、前記記憶手段に記憶された前記対応関係を参照して、該データグラムの転送先となる接続インタフェースを決定する第１の決定ステップと、
ある仮想コネクションから、仮想コネクションネットワークに接続された前記接続インタフェースを介して前記ルータ装置へ入力されたデータグラムに与えられた仮想コネクション識別子に基づき、前記記憶手段に記憶された前記対応関係を参照して、該データグラムの転送先となるネットワークアドレスを決定する第２の決定ステップと、
前記第１の決定ステップにより前記転送先となる接続インタフェースが決定された場合に、該接続インタフェース宛てに前記データグラムを転送する第１の転送ステップと、
前記第２の決定ステップにより前記転送先となるネットワークアドレスが決定された場合に、該ネットワークアドレスが示す少なくとも１つの非仮想コネクションネットワークに接続された前記接続インタフェース宛てに前記データグラムを転送する第２の転送ステップとを含むことを特徴とするデータ転送方法。
【請求項５】
前記第２の転送ステップでは、転送先として決定したネットワークアドレスに基づいて決定されるデータリンクアドレス宛てに前記データグラムを送出することを特徴とする請求項４に記載のデータ転送方法。
【請求項６】
前記第２の決定ステップでは、前記データグラムの転送先は、前記データグラムの内容を参照することなく決定されることを特徴とする請求項４に記載のデータ転送方法。
【請求項７】
少なくとも１つの仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースを備えた少なくとも２つのルータ装置を用いた、ネットワーク間でデータグラムを転送するデータ転送方法において、
あるルータ装置に設けられた記憶手段に、前記仮想コネクションネットワークにおける仮想コネクション識別子と、前記接続インタフェースとの対応関係を記憶する記憶ステップと、
ある仮想コネクションから、仮想コネクションネットワークに接続された前記接続インタフェースを介して前記あるルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段に記憶された前記対応関係を参照して、該データグラムの転送先となる接続インタフェースを決定する決定ステップと、
この決定ステップにより決定された接続インタフェース宛てに前記データグラムを転送する転送ステップと、
前記データグラムを、該接続インタフェースと他のルータ装置の間に設定された第２の仮想コネクションを介して送出する第１の送出ステップと、
前記他のルータ装置において、前記第２の仮想コネクションを介して、前記あるルータ装置が送出した前記データグラムを受信する受信ステップと、
前記データグラムから、前記仮想コネクションネットワークにおける仮想コネクション識別子を削除する削除ステップと、
前記他のルータ装置において、前記仮想コネクションネットワークにおける仮想コネクション識別子を用いることなく、該他のルータ装置から該ルータ装置が接続されたネットワークへ前記データグラムを送出する第２の送出ステップとを含むことを特徴とするデータ転送方法。
【請求項８】
前記第２の送出ステップは、前記他のルータ装置から前記データグラムを送出するとき、該データグラムを非仮想コネクションにより送出することを特徴とする請求項７に記載のデータ転送方法。
【請求項９】
前記第２の送出ステップでは、前記他のルータ装置から前記データグラムを送出するとき、該データグラムに関連付けられたネットワークアドレスが示すネットワークへ向けて該データグラムを送出することを特徴とする請求項７または８に記載のデータ転送方法。
【請求項１０】
前記第２の送出ステップでは、前記他のルータ装置から前記データグラムを送出するとき、該データグラムの内容を参照することなく、該データグラムに関連付けられたネットワークアドレスが示すネットワークへ向けて該データグラムを送出することを特徴とする請求項７に記載のデータ転送方法。
【請求項１１】
少なくとも１つの仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースを備えたルータ装置を用いた、ネットワーク間でデータグラムを転送するデータ転送方法において、
前記ルータ装置の記憶手段に、前記仮想コネクションネットワークにおける仮想コネクション識別子と接続インタフェースとの対応関係を記憶する記憶ステップと、
前記仮想コネクションネットワークに設定されたある仮想コネクションから入力されたデータグラムを転送すべき接続インタフェースを、該データグラムが受信されたときの仮想コネクションの仮想コネクション識別子に基づき、前記記憶手段に記憶された前記対応関係を参照して決定する決定ステップと、
決定された前記転送すべき接続インタフェースへ、前記データグラムを転送する転送ステップと、
前記仮想コネクションネットワークにおける仮想コネクション識別子を用いることなく、前記ルータ装置から前記データグラムを送出する送出ステップとを含むことを特徴とするデータ転送方法。
【請求項１２】
ネットワーク間でデータグラムを転送するための複数のルータ装置を含むデータ通信ネットワークシステムにおいて、
第１のルータ装置は、
少なくとも１つの仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースからなる第１の接続インタフェース群と、
仮想コネクションネットワークにおける第１の入力仮想コネクション識別子と、前記データグラムを転送すべき第１の転送先となる接続インタフェースとの第１の対応関係を記憶するための第１の記憶手段と、
仮想コネクションネットワークに設定された第１の入力仮想コネクションから入力された第１のデータグラムが持つ第１の入力仮想コネクション識別子に基づき、前記第１の記憶手段に記憶された前記第１の対応関係を参照して、該データグラムの第１の転送先となる接続インタフェースを決定する第１のコネクション識別子解析手段と、
この第１のコネクション識別子解析手段により決定された前記第１の転送先となる接続インタフェース宛てに、前記第１のデータグラムを転送する第１の転送手段とを具備し、
第２のルータ装置は、
少なくとも１つの仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースからなる第２の接続インタフェース群と、
仮想コネクションネットワークにおける第２の入力仮想コネクション識別子と、前記複数の接続インタフェースからなる第２の接続インタフェース群に少なくとも１つの非仮想コネクションネットワークを接続する場合に使用する次段ネットワークアドレスとの第２の対応関係を記憶するための第２の記憶手段と、
仮想コネクションネットワークに設定された第２の入力仮想コネクションから入力された第２のデータグラムが持つ第２の入力仮想コネクション識別子に基づき、前記第２の記憶手段に記憶された前記第２の対応関係を参照して、該データグラムの第２の転送先となる接続インタフェースを決定する第２のコネクション識別子解析手段と、
この第２のコネクション識別子解析手段により決定された前記第２の転送先となる接続インタフェース宛てに、前記第２のデータグラムを転送する第２の転送手段とを具備することを特徴とするデータ通信ネットワークシステム。
【請求項１３】
少なくとも１つの仮想コネクションネットワークを含む複数のネットワークに接続するための複数の接続インタフェースを備えた第１のルータ装置及び第２のルータ装置を用いて、ネットワーク間でデータグラムを転送するためのデータ転送方法において、
前記第１のルータ装置に設けられた第１の記憶手段に、仮想コネクションネットワークにおける第１の仮想コネクション識別子と、前記データグラムを転送すべき第１の転送先となる接続インタフェースとの第１の対応関係を記憶する第１の記憶ステップと、
仮想コネクションネットワークに設定された第１の仮想コネクションから前記第１のルータ装置へ入力されたデータグラムが持つ仮想コネクション識別子に基づき、前記第１の記憶手段に記憶された前記第１の対応関係を参照して、該データグラムの転送先となる接続インタフェースを決定する第１の決定ステップと、
この第１の決定ステップにより決定された前記第１の転送先となる接続インタフェース宛てに、前記第１の仮想コネクションから入力された前記データグラムを転送する第１の転送ステップと、
前記第２のルータ装置に設けられた第２の記憶手段に、仮想コネクションネットワークにおける第２の仮想コネクション識別子と、前記第２のルータ装置の接続インタフェースに少なくとも１つの非仮想コネクションネットワークを接続する場合に使用する次段ネットワークアドレスに接続されている、前記データグラムを転送すべき第２の転送先となる接続インタフェースとの第２の対応関係を記憶するための第２の記憶ステップと、
仮想コネクションネットワークに設定された第２の仮想コネクションから前記第２のルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、前記第２の記憶手段に記憶された前記第２の対応関係を参照して、該データグラムの転送先となる接続インタフェースを決定する第２の決定ステップと、
この第２の決定ステップにより決定された前記第２の転送先となる接続インタフェース宛てに、前記第２の仮想コネクションから入力された前記データグラムを転送する第２の転送ステップとを含むことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク間にデータグラムを転送するルータ装置、複数のルータ装置を含むデータ通信ネットワークシステム及びデータ転送方法に関する。
【背景技術】
【０００２】
ルータ装置は、ＬＡＮ間を接続する際に用いるもので、一方のＬＡＮから他方のＬＡＮにデータグラムを転送する役割を果たす。データグラムには転送すべき通信情報データに加えてその送信元および最終宛先のネットワーク層アドレス（例えばＩＰの場合はＩＰアドレス）が記載されており、ルータ装置ではそのアドレス情報を用いてデータグラムの出力インタフェースおよび次の転送先ノード（ルータ装置もしくは通信端末となるホスト）を決定している。
【０００３】
従来のルータ装置のデータグラム転送方法を図１７を用いて説明する。
【０００４】
まず、非仮想コネクション型ＬＡＮであるイーサネット(R)に接続するルータ装置を例に取って、データグラム転送の手順を示す。ＬＡＮからイーサネット(R)フレーム（データリンクフレーム）を受信すると、受信部９１１において、そのデータリンクフレームをネットワーク層で扱うデータグラムに変更する。次に、データグラム解析部９２１で、データグラムの最終宛先のアドレスから出力インタフェースと次の転送ノード（ホストかルータ装置）のネットワーク層アドレスを決定し、該当する出力インタフェースのデータグラム処理部９２２に転送部９３０を介してデータグラムを渡す。データグラムを渡されたデータグラム処理部９２２では、ネットワーク層の処理（ＩＰの場合は、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）を減らす処理、チェックサム計算、オプションの処理等）を行なう。最後に、送信部９１３において、次の転送ノードのネットワーク層アドレスからイーサネット(R)アドレス（データリンク層アドレス）を決定し、そのアドレスとデータグラムからイーサネット(R)フレームを構築して、ＬＡＮに出力する。
【０００５】
仮想コネクション型ＬＡＮであるＡＴＭでも、ほぼ同様にデータグラム転送が行なわれる。まず、ＬＡＮからＡＴＭセルを受信するとＡＡＬフレーム（データリンクフレーム）に変更し、そのフレームをネットワーク層で扱うデータグラムに変更する。次に、データグラムの最終宛先のアドレスから出力インタフェースと次の転送ノードのネットワーク層アドレスを決定し、ネットワーク層の処理を行なう。最後に、送信部において、次の転送ノードのネットワーク層アドレスから転送する仮想コネクション識別子を決定し、その識別子とデータグラムからＡＴＭセルを構築して、ＬＡＮに出力する。
【０００６】
上記のように仮想コネクション型ＬＡＮに接続するルータ装置でも非仮想コネクション型ＬＡＮに接続するルータ装置でも、データグラムを転送する場合には、データグラム解析部でデータグラムの内容（ＩＰの場合は、送信元アドレス、宛先アドレス、サービスタイプ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）などのヘッダ情報ならびにポートアドレス等の上位レイヤ情報）を参照することでその出力先を決定している。そのため、データグラム解析部で転送処理の時間がかかり、データグラムの高速転送ができなかった。
【０００７】
ところで、転送するデータグラムの要求サービス品質が異なる場合には、データグラムをその到着順序に従って処理するだけでなく、それらの要求サービス品質を考慮した処理を行なうことが望ましい。そのために設けられた機能がスケジューラであり、データグラムを到着順序だけではなく、要求サービス品質も考慮して、次の機能に渡す順序を制御する。
【０００８】
ところが、各データグラムに要求されるサービス品質に関する情報はデータグラムの内容を参照して得るようになっているため、図１８に示すように、データグラム解析部９２１の処理を受けた後にその結果に基づき優先制御処理（スケジューリング）を施さざるを得ない。これは、次段ノードへの送信インタフェースの容量が十分でない場合、サービス品質の上位のものから優先的に出力処理する場合には有効となる。
【０００９】
しかし、データグラム解析部の解析処理の能力自体が十分にないような場合には、そこでの処理待ち時間が性能上問題となる可能性があるにもかかわらず、優先度情報がまだわかる前であるため、サービス品質を考慮したスケジューリング等は行なえず、スケジューラでは到着順処理を行なわざるを得ないという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記のように従来のルータ装置では、データグラムの内容を参照するまで、転送先を決定できなかった。
【００１１】
本発明は、データグラムの内容を参照する前に転送先を知ることにより、転送効率の向上を図ったルータ装置、データ通信ネットワークシステム及びデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、ネットワーク間にデータグラムを転送するルータ装置において、少なくとも１つの仮想コネクションネットワーク及び少なくとも１つの非仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースと、仮想コネクション識別子と転送先となる接続インタフェースとの対応関係及び仮想コネクション識別子とネットワークアドレスとの対応関係を記憶するための記憶手段と、仮想コネクションから入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段を参照して、該データグラムの転送先となる接続インタフェースを決定するための第１のコネクション識別子解析手段と、前記仮想コネクションから入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段を参照して、該データグラムの転送先となるネットワークアドレスを決定するための第２のコネクション識別子解析手段と、前記第１のコネクション識別子解析手段により前記転送先となる接続インタフェースが決定された場合に、他の仮想コネクションに接続された該接続インタフェースへ、前記データグラムを転送するための第１の転送手段と、前記第２のコネクション識別子解析手段により前記転送先となるネットワークアドレスが決定された場合に、該転送先となるネットワークアドレスへ向かう少なくとも１つの非仮想コネクションに接続された前記接続インタフェースへ、前記データグラムを転送するための第２の転送手段とを具備することを特徴とする。  
また、本発明は、少なくとも１つの仮想コネクションネットワーク及び少なくとも１つの非仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースを備えたルータ装置を用いて、ネットワーク間にデータグラムを転送するデータ転送方法において、前記ルータ装置の記憶手段に、仮想コネクション識別子と転送先となる接続インタフェースとの対応関係及び仮想コネクション識別子とネットワークアドレスとの対応関係を記憶する記憶ステップと、仮想コネクションから前記ルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段を参照して、該データグラムの転送先となる接続インタフェースを決定する第１の決定ステップと、仮想コネクションから前記ルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段を参照して、該データグラムの転送先となるネットワークアドレスを決定する第２の決定ステップと、前記第１の決定ステップにより前記転送先となる接続インタフェースが決定された場合に、他の仮想コネクションに接続された該接続インタフェースへ、前記データグラムを転送する第１の転送ステップと、前記第２の決定ステップにより前記転送先となるネットワークアドレスが決定された場合に、該転送先となるネットワークアドレスへ向かう少なくとも１つの非仮想コネクションに接続された前記接続インタフェースへ、前記データグラムを転送する第２の転送ステップとを含むことを特徴とする。  
また、本発明は、少なくとも１つの仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースを備えた少なくとも２つのルータ装置を用いて、ネットワーク間にデータグラムを転送するデータ転送方法において、或るルータ装置に設けられた記憶手段に、仮想コネクション識別子と転送先となる接続インタフェースとの対応関係を記憶する記憶ステップと、仮想コネクションから前記或るルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段を参照して、該データグラムの転送先となる接続インタフェースを決定する決定ステップと、この決定ステップにより決定された前記転送先となる接続インタフェースへ、前記データグラムを転送する転送ステップと、前記データグラムを、前記転送先となる接続インタフェースから、他のルータ装置へ接続された第２の仮想コネクション上へ、他の仮想コネクション識別子に沿って送出する第１の送出ステップと、前記他のルータ装置において、前記第２の仮想コネクション上にて、前記或るルータ装置の前記転送先となる接続インタフェースからの前記データグラムを受信する受信ステップと、前記データグラムから、前記転送先となる接続インタフェースにおける前記他の仮想コネクション識別子を削除する削除ステップと、前記他のルータ装置において、前記他の仮想コネクション識別子を用いることなく、且つ、他の仮想コネクション識別子を付加することなく、該他のルータ装置から外部へ前記データグラムを送出する第２の送出ステップとを含むことを特徴とする。  
また、本発明は、少なくとも１つの仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースを備えたルータ装置を用いて、ネットワーク間にデータグラムを転送するデータ転送方法において、前記ルータ装置の記憶手段に、仮想コネクション識別子と転送先となる接続インタフェースとの対応関係を記憶する記憶ステップと、仮想コネクションから入力されたデータグラムの転送先となる接続インタフェースを、該データグラムが受信された仮想コネクションの仮想コネクション識別子に基づき、前記記憶手段を参照して決定する決定ステップと、決定された前記転送先となる接続インタフェースへ、前記データグラムを転送する転送ステップと、前記仮想コネクション識別子を用いることなく、且つ、他の仮想コネクション識別子を付加することなく、前記ルータ装置から前記データグラムを送出する送出ステップとを含むことを特徴とする。  
また、本発明は、ネットワーク間にデータグラムを転送する複数のルータ装置を含むデータ通信ネットワークシステムにおいて、第１のルータ装置は、少なくとも１つの仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースからなる第１のセットと、第１の入力仮想コネクション識別子と第１の転送先となる接続インタフェースとの第１の対応関係を記憶するための第１の記憶手段と、第１の入力仮想コネクションから入力された第１のデータグラムの第１の入力仮想コネクション識別子に基づき、前記第１の記憶手段を参照して、該データグラムの第１の転送先となる接続インタフェースを決定するための第１のコネクション識別子解析手段と、この第１のコネクション識別子解析手段により決定された前記第１の転送先となる接続インタフェースへ、前記第１のデータグラムを転送するための第１の転送手段とを具備し、第２のルータ装置は、少なくとも１つの仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースからなる第２のセットと、第２の入力仮想コネクション識別子と、前記複数の接続インタフェースからなる第２のセットに少なくとも１つの非仮想コネクションネットワークが接続する場合に使用すべき次段ネットワークアドレスとの対応関係を記憶するための第２の記憶手段と、第２の入力仮想コネクションから入力された第２のデータグラムの第２の入力仮想コネクション識別子に基づき、前記第２の記憶手段を参照して、該データグラムの第２の転送先となる接続インタフェースを決定するための第２のコネクション識別子解析手段と、この第２のコネクション識別子解析手段により決定された前記第２の転送先となる接続インタフェースへ、前記第２のデータグラムを転送するための第２の転送手段とを具備することを特徴とする。  
また、本発明は、少なくとも１つの仮想コネクションネットワークを含む複数のネットワークのそれぞれに接続するための複数の接続インタフェースを備えた第１のルータ装置及び第２のルータ装置を用いて、ネットワーク間にデータグラムを転送するデータ転送方法において、前記第１のルータ装置に設けられた記憶手段に、第１の仮想コネクション識別子と第１の転送先となる接続インタフェースとの対応関係を記憶する第１の記憶ステップと、第１の仮想コネクションから前記第１のルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、該第１のルータ装置に設けられた前記記憶手段を参照して、該データグラムの転送先となる接続インタフェースを決定する第１の決定ステップと、この第１の決定ステップにより決定された前記第１の転送先となる接続インタフェースへ、前記第１の仮想コネクションから入力された前記データグラムを転送する第１の転送ステップと、前記第２のルータ装置に設けられた記憶手段に、第２の仮想コネクション識別子と、第２の転送先となる接続インタフェースであって、前記第２のルータ装置の接続インタフェースに少なくとも１つの非仮想コネクションネットワークが接続する場合に使用すべき次段ネットワークアドレスに接続されている第２の転送先となる接続インタフェースとの対応関係を記憶するための第２の記憶手段と、第２の仮想コネクションから前記第２のルータ装置へ入力されたデータグラムの仮想コネクション識別子に基づき、該第２のルータ装置に設けられた前記記憶手段を参照して、該データグラムの転送先となる接続インタフェースを決定する第２の決定ステップと、この第２の決定ステップにより決定された前記第２の転送先となる接続インタフェースへ、前記第２の仮想コネクションから入力された前記データグラムを転送する第２の転送ステップとを含むことを特徴とする。
【００１３】
本発明では、データグラムの内容を見ることなく、入力されたデータグラムの仮想コネクション識別子に基づき、前記記憶手段を参照して、データグラムの転送先となる接続インタフェースを決定し、この決定された接続インタフェースへ向けて前記データグラムを転送することができる。なお、前記転送手段は、ネットワークのプロトコルに応じたネットワーク層処理をデータグラムに対して施す手段を含んでも良い。
【００１４】
このネットワーク層処理をデータグラムに対して施す手段は、各接続インタフェース毎に存在することがより好ましい。入力されたデータグラムが、仮想コネクション識別子に基づいて高速に出力インタフェースに振り分けられ、各出力インタフェースでネットワーク層処理が並列に施されることになるからである。
【００１５】
以上のように、データグラムを参照する前に、仮想コネクション識別子から情報を得ることで、ルータ装置の手間が減り、ルータ装置の転送効率を向上させることができる。
【発明の効果】
【００１６】
本発明によれば、データグラムの内容を見る処理を行なうことなく、入力されたデータグラムの仮想コネクション識別子から、転送先を決定することができ、ルータ装置の転送効率を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら発明の実施の形態を説明する。
【００１８】
本発明は、ルータ装置において、受信したデータリンクフレームから取り出したデータグラムの内容を参照して得た転送先のネットワーク層アドレスに基いてデータグラム転送を行なう代わりに、受信データリンクフレームの仮想コネクション識別子を参照することで、データグラム転送を行なうものである。
【００１９】
受信データリンクフレームの仮想コネクション識別子に基いて当該データグラムの転送先を決定するためには、データグラムの送信ノードが特定の仮想コネクションには特定のデータグラムしか流さないようにしておけば良い。
【００２０】
特定のデータグラムとは、例えば次に列挙する情報のうち１又は複数の情報が同一であるようなデータグラムであるとする。  
・プロトコル・タイプ（例えば、ＩＰ、ＩＰＸ）  
・ＩＰバージョン（例えば、ＩＰｖ４、ＩＰｖ６）  
・プロトコル識別子（例えばＴＣＰ、ＵＤＰ）  
・宛先アドレス  
・宛先アドレスとマスクの論理和を取ったもの  
・宛先トランスポート層ポート  
・送信元アドレス  
・送信元アドレスとマスクの論理和を取ったもの  
・送信元トランスポート層ポート  
・ＳＴ−２のストリームＩＤ（Ｓｔｒｅａｍ  ＩＤ；ＩＰｖ５の場合）  
・フローＩＤ（ｆｌｏｗ  ＩＤ；ＩＰｖ６の場合）  
・ＴＯＳ（Ｔｙｐｅ  ｏｆ  ｓｅｒｖｉｃｅ；ＩＰｖ４の場合）  
・トラフィック・クラス（Ｔｒａｆｆｉｃ  Ｃｌａｓｓ；ＩＰｖ６の場合）
特定の仮想コネクションに特定のデータグラムを流すようにすることは、例えば、図１に示すような構成を有する送信ノードを用いることで実現できる。
【００２１】
以下、図１の送信ノードが、データグラムを送出する手順を説明する。
【００２２】
例えば宛先Ａへのデータグラムを送信する場合、データグラム解析部１で、宛先と出力Ｉ／Ｆと出力仮想コネクション識別子の対応を登録した経路表２を宛先Ａをキーとして参照し、宛先Ａへのデータグラムの出力Ｉ／Ｆはａｔｍ１、出力仮想コネクションは１であることを決定する。そして、データグラムをａｔｍ１に該当するＩ／Ｆに送る。Ｉ／Ｆの送信部４では、データグラムをデータリンクフレームであるＡＡＬフレームに組み立て、ＡＴＭセルに分割し、仮想コネクション１に送出する。
【００２３】
ここではデータグラム解析部１の経路表２は「宛先」をキーに検索しているが、「宛先」だけでなく「サービス品質」や「送信元アドレス」のような他の情報からも検索できる経路表を持っていても良い。
【００２４】
以下に説明するように本発明のルータ装置の各実施形態では、例えば図１のような送信ノードを使うことにより、特定の仮想コネクションには特定のデータグラムのみ流すように設定されているものとする。
【００２５】
（第１の実施形態）
図２に、本発明の第１の実施形態に係るルータ装置の構成例を示す。
【００２６】
本実施形態のルータ装置は、２つの仮想コネクションＬＡＮ４１，４２と１つの非仮想コネクションＬＡＮ４３に接続している。ここでは、仮想コネクション型ＬＡＮは、ＡＴＭ−ＬＡＮを例とし、非仮想コネクション型ＬＡＮは、イーサネット(R)を例として説明する。
【００２７】
本実施形態のルータ装置は、図２のように、接続するそれぞれのＬＡＮに対して、受信部１１、送信部１３、データグラム解析部２１、データグラム処理部２２、転送部３０を持つ。仮想コネクション型ＬＡＮに接続するインターフェイスについては、コネクション識別子解析部１２を持つ。また、これらのＬＡＮ対応部分の間を相互接続するための転送部３０を持つ。
【００２８】
なお、図中では、受信部などの複数ある各ブロックがどのＬＡＮに対するブロックであるかを区別するため、例えば受信部１１1、１１2、１１3のように記してある。
【００２９】
図中１０1〜１０3は、Ｉ／Ｆである。
【００３０】
ここでは、データグラムを転送するネットワークプロトコルとして、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を例に取る。もちろん、本発明は、ＩＰのみに適用可能なわけではなく、ＩＰＸなどの他のネットワークプロトコルにも適用可能である。
【００３１】
受信部１１は、ＬＡＮからデータリンクフレームを受信し、そのＬＡＮに適合した処理を行なう。イーサネット(R)ＬＡＮである場合は、自分宛てのデータリンクフレームを抽出し、データリンクフレームの誤り検出をするためにＣＲＣチェックを行なう。その後、データグラムの構成を行ない、どのネットワークプロトコルを使用するかをデータリンクフレームから特定する。構成したデータグラムと受信した仮想コネクション識別子をコネクション識別子解析部１２に渡す。
【００３２】
ＡＴＭ−ＬＡＮであるならば、ＡＴＭセルのエラーを検出し、ＡＡＬフレームに組み立てエラー検出を行ない、どのネットワークプロトコルを使用するか決定し、データグラム構成を行なう。構成したデータグラムと受信したＶＰＩ／ＶＣＩをコネクション識別子解析部１２に渡す。
【００３３】
データグラム解析部２１は、データグラムの内容（送信元アドレス、宛先アドレス、フローＩＤ、ＴＯＳなどのヘッダ情報ならびにポートアドレス等の上位レイヤ情報）を参照して、出力インターフェイスと次段ノードのネットワークアドレスを決定する。この機能を実現するために、例えば、図３のようにデータグラム解析部２１にはデータグラムの宛先アドレスから出力インターフェイスと次段ネットワークアドレスを参照できる経路表２１０を用意する。
【００３４】
出力インターフェイスが仮想コネクション型ＬＡＮである場合には、次段ネットワークアドレスの代わりに出力仮想コネクション識別子を入れることもできる。
【００３５】
ここでは、経路表に次段ネットワークアドレスが書いてある場合と、出力仮想コネクション識別子が書いてある場合の両方を説明するために、出力Ｉ／Ｆが非仮想コネクション型ＬＡＮでは次段ネットワークアドレスが書いてあり、出力Ｉ／Ｆが仮想コネクション型ＬＡＮでは出力仮想コネクション識別子が書いてあるものを説明する。
【００３６】
データグラム解析部２１は、このような経路表に従って決定した出力インターフェイスのデータグラム処理部２２に、転送部３０を通してデータグラムを渡す。
【００３７】
上記の経路表は、宛先アドレスによってのみ参照するものであるが、前述したように種々のデータグラムの内容から出力インターフェイスがわかるように構成しても良い。
【００３８】
コネクション識別子解析部１２は、仮想コネクション型ＬＡＮに接続するインターフェイスにのみ存在する。データグラム解析部２１では、データグラムの内容から出力インターフェイスを決定したが、コネクション識別子解析部１２は、データグラムの内容を参照する代わりに、受信したデータリンクフレームの仮想コネクション識別子を参照して、出力インターフェイスを決定する。さらに、次段ネットワークアドレスあるいは出力仮想コネクション識別子を決定しても良い。この機能を行なうために、例えば、図４のようにコネクション識別子解析部１２には仮想コネクション識別子から出力Ｉ／Ｆと次段ネットワークアドレスあるいは出力仮想コネクション識別子を参照できる転送表１２０を用意する。
【００３９】
この転送表の設定は、手動で行なっても良いし、自動的に送信ノードとのプロトコルで行なっても良い。自動的に構成する場合は、自ルータ装置と隣接ノードの間で仮想コネクション識別子とその仮想コネクションで運ばれるデータグラムの種類（宛先ネットワークアドレスやトランスポート層ポートなど）を交換することで実現できる。
【００４０】
この転送表に従って、データグラムをデータグラム解析部２１に送るか、あるいは転送部３０を介して送信するＩ／Ｆのデータグラム処理部２２に送出するかを決定する。すなわち、この転送表に存在するコネクションで受信したデータグラムは、対応する出力Ｉ／Ｆに属するデータグラム処理部２２に渡す。一方、この転送表にないコネクション識別子を持つデータリンクフレームやデータグラム解析部２１に渡すように書いてあるデータグラムは、データグラム解析部２１に渡してデータグラムの内容を見ることになる。
【００４１】
転送部３０は、データグラム解析部２１またはコネクション識別子解析部１２からデータグラムを受け取り、そのデータグラムを指定された出力Ｉ／Ｆに属するデータグラム処理部２２に渡す。その際、データグラムのみでなく、データグラム解析部２１の経路表あるいはコネクション識別子解析部１２の転送表から検索した次段ノードのネットワークアドレスか出力仮想コネクション識別子もデータグラム処理部２２に渡す。
【００４２】
転送部３０は、バスあるいはスイッチなどにより構成することができる。データグラム処理部２２は、データグラムのヘッダの書き換え（ＩＰの場合は、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）を減らす処理、オプション処理、チェックサム計算）を行なう。また、ＬＡＮの最大フレーム長よりデータグラムが大きい場合、最大フレーム長に収まるようにデータグラムを分割する。これらの処理は、どのネットワークプロトコルを使用しているかで処理内容が異なる。
【００４３】
送信部１３は、ＬＡＮへデータグラムを送信するため、そのＬＡＮに適合した処理を行なう。例えば、ＡＴＭ−ＬＡＮの場合は、データリンクフレーム（ＡＡＬフレーム）に変更し、ＡＴＭセルの大きさに分割して指定された出力コネクション識別子を付けて送出する。
【００４４】
出力仮想コネクション識別子が経路表および転送表のいずれでも指定されていない場合は、経路表または転送表で次段ノードのネットワークアドレスが指定される。送信部１３に設けたネットワークアドレスと仮想コネクション識別子の対応関係を登録した表を参照して、指定された次段ノードのネットワークアドレスから出力仮想コネクション識別子を決定する。その決定された出力仮想コネクションを使ってＬＡＮにセルを出力する。
【００４５】
出力仮想コネクション識別子が経路表あるいは転送表から得られた場合は、その識別子を使って、データグラムからＡＴＭセルを構築し、ＬＡＮに出力する。
【００４６】
次に、本実施形態のルータ装置のデータグラム転送の動作を説明する。
【００４７】
図５のようにＩ／Ｆ１に仮想コネクションが３本（仮想コネクション１，２，１０）、Ｉ／Ｆ２に仮想コネクションが１本（仮想コネクション３）設定されていて、Ｉ／Ｆ１のコネクション識別子解析部１２の転送表およびデータグラム解析部２１の経路表はそれぞれ図中に示すように設定されているものとする。これらの設定は、前述した転送表と同様に、手動で行なっても構わないし、自動的に行なうプロトコルで設定しても構わない。
【００４８】
仮想コネクション１には、宛先Ａのデータグラムしか送られて来ないように設定し、仮想コネクション２には、宛先Ｂのデータグラムしか送られて来ないように設定したものとする。この設定は、例えば図１で説明したような送信装置を用いることにより実現する。宛先ＡはＩ／Ｆ２の方向にあり、宛先ＢはＩ／Ｆ３の方向にあるとする。ここでは、１つの仮想コネクションに１つの宛先のデータグラムしか送られて来ないような設定を仮定しているが、例えば図１で説明したような送信装置により仮想コネクションへ送信するデータグラムを送信元アドレスと宛先アドレスが同一のものに設定するというように、ルータ装置と隣接ノード間で、前述したように特定のデーらグラムしか流さないように設定することができる。
【００４９】
ここで、仮想コネクション１にデータグラムが流れて来たものとする。まず、受信部１１1がこのデータグラムを受け取り、受信したデータグラムとその仮想コネクション識別子をコネクション識別子解析部１２1に渡す。
【００５０】
コネクション識別子解析部１２1は、当該データグラムが仮想コネクション１から入力されたデータグラムとわかるので、仮想コネクション１（入力コネクション識別子１）をキーとして転送表１２０1を参照する。この参照により、当該データグラムは、Ｉ／Ｆ２の仮想コネクション３に出力すれば良いことがわかる。
【００５１】
このように、本実施形態によれば、データグラムを参照しなくても出力先を決めることができる。
【００５２】
上記のようにして出力先が決まると、このデータグラムと出力仮想コネクション識別子３（仮想コネクション３）は、転送部３０を通して、Ｉ／Ｆ２のデータグラム処理部２２2に渡される。このデータグラムは、データグラム処理部２２2でネットワーク層処理を施された後、送信部１３2を通り、先の転送表から決定された仮想コネクション３に送信される。
【００５３】
このようにして、仮想コネクション型ＬＡＮから仮想コネクション型ＬＡＮへの転送が終了する。
【００５４】
もし、転送表で出力仮想コネクション識別子ではなく、次段ノードのネットワークアドレスが転送部３０に渡されたとすると、転送部３０は、データグラムと次段ノードのネットワークアドレスをデータグラム処理部２２に渡す。そして、データグラム処理部２２で、データグラムにネットワーク層処理を行なった後、送信部１３に渡す。送信部１３では、次段ノードのネットワークアドレスから出力仮想コネクション識別子を決定した後、データグラムをＬＡＮに転送する。
【００５５】
次に、仮想コネクション型ＬＡＮから非仮想コネクション型ＬＡＮへの転送例を説明する。
【００５６】
Ｉ／Ｆ１の仮想コネクション２からデータグラムが入力されたものとする。受信部１１1がデータグラムを受信した後、コネクション識別子解析部１２1では、データグラムの仮想コネクション識別子２をキーにして転送表１２０1を参照する。この参照により、出力Ｉ／Ｆ３および次段ノードのネットワークアドレスＣと決定される。そして、コネクション識別子解析部１２1は、データグラムおよび次段ノードのネットワークアドレスを、転送部３０を通して、Ｉ／Ｆ３のデータグラム処理部２２3に渡す。このデータグラム処理部２２3でネットワーク層処理を行なった後、データグラムおよび次段ノードのネットワークアドレスを送信部１３3に渡す。送信部１３3では、次段ノードのネットワークアドレスからデータリンクアドレスを決定した後、データグラムをＬＡＮに転送する。
【００５７】
以上では、データグラムの内容を参照せずに、コネクション識別子を使って転送先を決定したが、従来の方法も使えるようにできる。コネクション識別子で、転送先がわからない場合は、データグラム解析部２１1にデータグラムを渡し、データグラムの内容から、転送先を決定することもできる。
【００５８】
仮想コネクション１０から入力されたデータリンクフレームは、受信部１１1により受信され、ここでデータグラムに変更された後、コネクション識別子解析部１２1で転送表１２０1の参照が行なわれる。ここでは参照の結果、転送表１２０1に該当する項目がないので、データグラムをデータグラム解析部２１に渡す。転送表１２０1にデータグラム解析部２１1に渡すように書いてある場合も、データグラムをデータグラム解析部２１1に渡す。
【００５９】
データグラム解析部２１1は、データグラムの内容を参照し、このデータグラムが宛先Ｂ行きであることを認識する。次に、経路表２１０1を参照し、宛先Ｂ宛てのデータグラムは出力Ｉ／Ｆ３であり、次段ネットワークアドレスがＣであることがわかる。そこで、転送部３０を通して、Ｉ／Ｆ３のデータグラム処理部２２3から送信部１３3へとデータグラムおよび次段ノードのネットワークアドレスＣを渡し、非仮想コネクション型ＬＡＮに送出する。
【００６０】
以上のように、ルータ装置が入力されたデータグラムの仮想コネクションＩＤから入力データグラムの宛先アドレスを知ることができる。そこで、出力Ｉ／Ｆ、次段ルータ装置のアドレス、出力先が仮想コネクションネットワークの場合の出力仮想コネクションＩＤをデータグラムの内容を見ることなく、決定することができる。これにより転送の効率を向上させることができる。
【００６１】
図２では、データグラム解析部２１とデータグラム処理部２２をそれぞれのインターフェイスに対応して設けた例を示したが、１つのルータ装置に複数のインターフェイスで１組のデータグラム解析部２１およびデータグラム処理部２２を共用する例も考えられる。そのようなルータ装置の例を図６に示す。
【００６２】
以下、図６のルータ装置で、データグラム転送を行なう手順を説明する。なお、それぞれのブロックでの動作の詳細は、図５のルータ装置と同様である。
【００６３】
仮想コネクション１には宛先Ｄのデータグラムが流れ、仮想コネクション１０には様々なデータグラムが流れて来るものとする。これらの設定は、図１で説明したような送信装置を使って実現できる。
【００６４】
仮想コネクション１からデータリンクフレームが入力されると、受信したデータリンクフレームを受信部１１2がデータグラムに変更する。仮想コネクション１で受信したデータグラムは、コネクション識別子解析部１２2にて転送表１２０2を参照することにより、出力Ｉ／Ｆ３に送出するものであり、次段ネットワークアドレスをＣとするものであることがわかる。次に、データグラムは、転送部３０からデータグラム処理部２２を通り、転送部３０、送信部１３3と渡り、図５の例と同様にして送信される。
【００６５】
仮想コネクション１０でデータリンクフレームが受信されると、受信部１１2でデータグラムに変更される。そして、コネクション識別子解析部１２2にて転送表１２０2を検索する。検索の結果、この転送表に仮想コネクション１０がないことを確認すると、転送部３０を介しデータグラム解析部２１にデータグラムを渡す。データグラム解析部２１では、経路表２１０を参照することにより、出力Ｉ／Ｆ３および次段ネットワークアドレスＢとわかる。そして、先程と同様にデータグラムは、処理部２２を通り、転送部３０から送信部１３3へと渡され、送信される。
【００６６】
図６のルータ装置の変形例を図７に示す。このルータ装置は、データリンクフレームからデータグラムへの変更とデータグラムからデータリンクフレームへの変更を受信部１１と送信部１３の機能から取り除き、その代わりに転送部３０とデータグラム解析部２１の間および転送部３０とデータグラム処理部２２の間に該機能を有するデータリンクフレーム・データグラム変換部５０を設けたものである。
【００６７】
仮想コネクション１あるいは仮想コネクション１０からデータリンクフレームが入力し、送信部１３3から送信されるまでの動作は、図６のルータ装置の動作から容易に理解することができるので、その詳細は省略する。
【００６８】
図７のルータ装置では、図６のルータ装置と異なり、データグラム解析部２１とデータグラム処理部２２とデータリンクフレーム・データグラム変換部５０の処理をせずに、データ転送を行なうことができる。
【００６９】
すなわち、Ｉ／Ｆ２の仮想コネクション２から受信したデータリンクフレームは、受信部１１2でデータリンクのチェックサム等データリンク層の処理を施される。その後、コネクション解析部１２2にて転送表１２０2を参照する。参照の結果、このデータリンクフレームは、Ｉ／Ｆ１の仮想コネクション３に出せば良いことがわかる。このデータリンクフレームは、転送部３０から送信部１３1に渡され、送信部１３1にてデータリンクの処理を施された後、仮想コネクション型ＬＡＮに送出される。
【００７０】
（第２の実施形態）
第２の実施形態では、ルータ装置でデータグラムを転送するときに、データグラムのサービス品質毎に入力部で優先制御処理を行なうルータ装置を示す。
【００７１】
図８に、本実施形態のルータ装置の構成を示す。受信部（１１）、コネクション識別子解析部（１２）、データグラム解析部（２１）、データグラム処理部（２２）、転送部（３０）、送信部（１３）の構成・機能は、基本的には、第１の実施形態のルータ装置と同様である。
【００７２】
本実施形態と第１の実施形態の相違は、スケジューラ６０，６１とコネクション識別子解析部（１２）の内部構成にある。
【００７３】
スケジューラ６０，６１は、データグラムを受け取った順序ではなく、それぞれのデータグラムの要求サービス品質により出力順序を変更するものである。例えば、データグラムを要求サービス品質毎のバッファに分けて、サービス品質によりバッファからの抜きだし速度を変更することで、データグラムの出力順序を変更することができる。
【００７４】
コネクション識別子解析部１２には、図９のようなＱＯＳ表１２６を設ける。このＱＯＳ表１２６は、コネクション識別子からサービス品質を決めるものである。このＱＯＳ表１２６を変更することで、コネクション識別子から決定することのできる情報が変わる。
【００７５】
このルータ装置のデータグラム転送の具体例を図１０を用いて説明する。
【００７６】
第１の実施形態と同様に、仮想コネクション１，２が設定されており、仮想コネクション１にはサービス品質１のデータグラムのみが入力され、仮想コネクション２にはサービス品質２のデータグラムのみが入力されるように設定されているものとする。この設定は、例えば、図１で説明したような送信装置を用いて行なうことで実施できる。なお、サービス品質２よりサービス品質１の方が、優先順位が高いものとする。
【００７７】
ＱＯＳ表１２６には、仮想コネクション１はサービス品質１に対応し、仮想コネクション２はサービス品質２に対応するように設定してある。この設定は、手動で行なっても良いし、自動的に設定するプロトコルを使用しても良い。自動的に構成する場合は、自ルータ装置と隣接ノードの間で仮想コネクション識別子とその仮想コネクションで運ばれるデータグラムのサービス品質を交換することで実現できる。
【００７８】
データグラム解析部２１の経路表２１０には図のように設定されているものとする。
【００７９】
ここで、仮想コネクション１でデータグラムを受信すると、受信部１１1が受け、受信部１１1でデータリンク層の処理をする。その後、コネクション識別子解析部１２1がＱＯＳ表１２６1を参照する。ここでは、参照の結果、このデータグラムがサービス品質１であることを認識する。
【００８０】
このように、本実施形態によれば、データグラムを参照しなくてもサービス品質を決めることができる。
【００８１】
次に、スケジューラ６０1でデータグラムをバッファ１に入れる。スケジューラ６０1は、データグラムの優先順位に従って、バッファからデータグラムを抜きだし、転送部３０を通して、データグラム解析部２１に送る。
【００８２】
抜きだしの順序は、例えば、優先順位の高いサービス品質１のデータグラムがバッファにあった場合はそれから抜きだし、次に、サービス品質２のバッファから抜き出す、という方法がある。
【００８３】
データグラム解析部２１に送られたデータグラムは、第１の実施形態と同様に、経路表２１０の参照により、データグラムの宛先から出力Ｉ／Ｆおよび次のノードのネットワークアドレスが決定された後、データグラム処理部２２を通り、出力先のスケジューラ６１2に渡され、送信部１３2で送信され、転送が終了する。
【００８４】
出力Ｉ／Ｆのスケジューラ６１2から送信部１３2へのデータグラム転送も優先順位にしたがって行なえることは言うまでもない。
【００８５】
仮想コネクション２から入力されたデータグラムについても同様に、受信部１１１を通り、コネクション識別子解析部１２1でのＱＯＳ表１２６1の検索によりサービス品質２であることがわかる。そして、スケジューラ６０1のサービス品質２のバッファにデータグラムを入れ、その後、上記と同様に処理を行なう。
【００８６】
また、仮想コネクション１０から入力されたデータグラムについては、コネクション識別子解析部１２1のＱＯＳ表１２６1に対応する仮想コネクション識別子が書かれていないので、スケジューラ６０1の一番低い優先順位のバッファに入れ、その後、上記と同様に処理を行なう。
【００８７】
以上のように、ルータ装置が入力されたデータグラムの仮想コネクションＩＤから入力データグラムのＱＯＳクラスを知ることができる。そこで、データグラムを参照することなく、それぞれのＱＯＳクラスに分類することができる。これにより、入力段でデータグラムスケジューリングする場合、データグラム転送部３０、データグラム解析部２１、データグラム処理部２２が遅くてもＱＯＳクラスにしたがった、スケジューリングが可能になる。
【００８８】
図１１に、データグラム解析部２１とデータグラム処理部２２がＩ／Ｆ毎にある場合の例を示す。この例でも、先程示した図１０の例と同様に、受信したデータリンクフレームを受信部１１にてデータリンク層処理した後、コネクション識別子解析部１２にてＱＯＳ表によりサービス品質を決定し、決定されたサービス品質に応じてデータグラムをスケジューラ６０に渡すところまでは、同様である。
【００８９】
ここでは、スケジューラ６０から出力されたデータグラムは、データグラム解析部２１に渡され、ここでデータグラムの宛先アドレスから出力Ｉ／Ｆと次段ノードのネットワークアドレスか出力仮想コネクション識別子が決定される。その後、転送部３０により、出力Ｉ／Ｆのデータグラム処理部２２に転送され、スケジューラ６１に渡されて、出力される。
【００９０】
出力Ｉ／Ｆのスケジューラ６１から送信部１３へのデータグラム転送も優先順位にしたがって行なえることは言うまでもない。
【００９１】
（第３の実施形態）
第１の実施形態では、データグラムの内容を参照せずに、転送先を決定することができた。また、第２の実施形態では、データグラムの内容を参照せずに、サービス品質を決定することができた。
【００９２】
本実施形態では、データグラムの内容を参照せずに、転送先とサービス品質の両方を決定できるようにした例を示す。
【００９３】
図１２は、本実施形態のルータ装置の構成を示す図である。
【００９４】
Ｉ／Ｆ１の仮想コネクション１にはサービス品質１で宛先Ａのデータグラムが入力され、仮想コネクション２にはサービス品質２のデータグラムが入力されるように設定する。この仮想コネクションの送信側は、図１で説明したような送信ノードであるものとする。
【００９５】
コネクション識別子解析部１２の転送表１２９1とデータグラム解析部２１の経路表２１０は、図中に示したように設定されているものとする。Ｉ／Ｆ１の仮想コネクション１と２から入力されたデータグラムの転送手順を説明する。
【００９６】
Ｉ／Ｆ１の受信部１１1で仮想コネクション１からデータグラムを受信すると、受信部１１1にてこのデータグラムにデータリンク処理をした後、コネクション識別子解析部１２1に渡す。コネクション識別子解析部１２1では転送表１２９1を参照する。この参照により、仮想コネクション１から来たデータグラムは、サービス品質１で出力Ｉ／Ｆ２であり、出力仮想コネクションが３であることがわかる。
【００９７】
このデータグラムは、スケジューラ６０1のサービス品質１のバッファに入れられ、スケジューラ６０1による転送順序の優先制御を受け、転送部３０へ出力仮想コネクション識別子３とともに渡される。その後、データグラム処理部２２でネットワーク処理を行ない、データグラム等をＩ／Ｆ２のスケジューラ６１2に渡してスケジュールを行ない、それらを送信部１３2に渡して仮想コネクション３に出力する。
【００９８】
スケジューラ６０1から転送部３０へは、データグラムと仮想コネクション識別子３を渡したが、これらの他にサービス品質１も渡すことで、スケジューラ６１2での優先制御に利用することができる。
【００９９】
仮想コネクション２で受信したデータグラムは、受信部１１1からコネクション識別子解析部１２1へと渡される。コネクション識別子解析部１２で転送表１２９1を検索すると、サービス品質は２であり、出力Ｉ／Ｆおよびアドレスは決まっていないことがわかる。
【０１００】
そこで、スケジューラ６０1のサービス品質２のバッファに入れ、次に、出力Ｉ／Ｆが決まっていないので、転送部３０を通してデータグラム解析部２１に渡す。データグラム解析部２１では、データグラムの宛先を参照し、この宛先がＢであることがわかると、出力Ｉ／Ｆと次段ノードのネットワークアドレスを経路表２１０から検索する。この場合は、出力Ｉ／Ｆが３で次段ノードのネットワークアドレスがＤであることがわかる。
【０１０１】
次に、データグラム処理部２２にデータグラムを渡してネットワーク処理した後、転送部３０を通して、Ｉ／Ｆ３のスケジューラ６１３に渡す。そして、送信部１３3で、次段のネットワークアドレスからデータリンクアドレスを解析した後、データリンクフレームを構築して、ＬＡＮへ送出する。
【０１０２】
上記の例では、コネクション識別子解析部１２の転送表は、入力仮想コネクション識別子から、サービス品質、出力Ｉ／Ｆ、次段ノードのネットワークアドレスの全てを決定できるか、サービス品質のみを決定できるものであったが、出力Ｉ／Ｆ、次段ノードのネットワークアドレスを決定できるものも考えられる。
【０１０３】
以上のように、ルータ装置が入力されたデータグラムの仮想コネクションＩＤから入力データグラムの宛先アドレスとサービス品質を知ることができる。これにより、ルータ装置の効率を大幅に向上させることができる。
【０１０４】
図１３は、図１２と同様に、データグラムの内容を参照せずに、転送先とサービス品質を決定することができるようにした他の実施形態である。
【０１０５】
図１３は、図１２のデータグラム解析部２１とデータグラム処理部２２がＩ／Ｆ毎にある実施形態である。
【０１０６】
以下、図１３の動作については、図１２との相違点を説明する。
【０１０７】
図１２では、スケジューラ６０1から転送部３０に渡していたが、図１３のルータ装置では、スケジューラ６０1が、データグラム解析部２１1に渡すか、転送部３０に渡すかを決定する。
【０１０８】
それぞれの仮想コネクションで受信するデータグラムは、図１２と同様に設定しているとする。
【０１０９】
図１３の仮想コネクション１で受信するデータグラムは、コネクション識別子解析部の転送表で出力Ｉ／Ｆがわかる。そこで、データグラムと次段ネットワークアドレスか出力仮想コネクション識別子を転送部３０を通して、出力Ｉ／Ｆのデータグラム処理部２２2に渡す。
【０１１０】
仮想コネクション２で受信するデータグラムは、コネクション識別子解析部の転送表で出力Ｉ／Ｆがわからない。そこで、データグラム解析部２１1に渡し、データグラムの宛先から、経路表２１０1を検索し、出力Ｉ／Ｆと次段ネットワークアドレスか出力仮想コネクション識別子を決定した後、転送部３０を通して、出力Ｉ／Ｆのデータグラム処理部２２3に渡す。
【０１１１】
なお、以上の各実施形態において、ルータ装置に接続する仮想コネクション型ＬＡＮや非仮想コネクション型ＬＡＮの数は任意である。また、ＬＡＮとしては、ＡＴＭ−ＬＡＮやイーサネット(R)の他にも種々のものを接続することができる。
【０１１２】
（第４の実施形態）
次に、ＡＴＭ網を接続するルータにおいて、ネットワーク層のデータグラムを見る事なく、入力の仮想コネクション識別子（ＶＰＩ／ＶＣＩ）を用いて、出力のＩ／Ｆと仮想コネクション識別子を決定し、ＡＡＬフレーム（ＡＡＬ  ＰＤＵ又はＡＡＬ  ＳＤＵ）として転送するルータの例を図１４を使って説明する。
【０１１３】
図１４では、１つの汎用バス（図中１０２１）に複数のＡＴＭ  ＮＩＣ（ネットワークインタフェースカード）１０００とネットワーク層処理をするＣＰＵボード１１００が接続する。さらに、非仮想コネクション用のＮＩＣ（ここではイーサネット(R)ＮＩＣ）２０００が接続しても良い。ここでは、汎用バスを例に取っているが、スイッチを用いても構わない。ＣＰＵボード１１００では、ネットワーク層プロトコル処理をソフトウェアで処理する。ＡＴＭ  ＮＩＣ１０００では、ＡＡＬフレームからＡＴＭセルへの分割とＡＴＭセルからＡＡＬフレームへの組み立てを行なう。
【０１１４】
ＡＴＭ  ＮＩＣとＡＴＭ又は非仮想コネクション用ＮＩＣとの間、及び、ＣＰＵボード間の転送には、２通りの方法がある。
【０１１５】
１つ目の方法は、ＡＴＭ  ＮＩＣ１０００の受信バッファ１００３と送信バッファ１００６をＣＰＵの持つメモリと同様に見えるように共有メモリとしてＣＰＵに見せるものである。これにより、ＡＴＭ  ＮＩＣ１０００とＣＰＵボード１１００間は、ＣＰＵから読み書きができるようになる。また、ＡＴＭ  ＮＩＣ間は、ＣＰＵがＡＴＭ  ＮＩＣ１０００から読みだし、別のＡＴＭ  ＮＩＣ１０００に書き込むことで、転送可能となる。また、ＡＴＭ  ＮＩＣとイーサネット(R)用ＮＩＣ間は、一方のＡＴＭ  ＮＩＣ１００をイーサネット(R)用ＮＩＣ２０００に置き換えることで、同様に転送できる。
【０１１６】
２つ目の方法は、ＡＴＭ  ＮＩＣ１０００から読み出したい場合は、バス送信部１００４にＡＴＭ  ＮＩＣ１０００の受信バッファ１００３のアドレスとデータサイズと転送先のメモリアドレスを指定することで、ＣＰＵボード１１００あるいは別のＡＴＭ  ＮＩＣ１０００、またはイーサネット(R)用ＮＩＣ２０００にデータ転送を行うものである。ＡＴＭ  ＮＩＣ１０００に書き込む場合は、バス送信部１００４に転送先のＡＴＭ  ＮＩＣ１０００の送信バッファ１００６のメモリアドレスと送信元のメモリアドレスと転送データサイズを書くことで、送信バッファ１００６に転送される。また、上記転送先のＡＴＭ  ＮＩＣ１０００をイーサネット(R)用ＮＩＣ２０００に置き換えることで、同様に転送できる。
【０１１７】
以下では、ＡＴＭ網から受信したセルが、ネットワーク層処理を行なって転送される手順と、ＡＡＬフレームのまま転送される手順を示す。
【０１１８】
ＡＴＭ  ＮＩＣ１０００は、ＡＴＭ網からＡＴＭセルをＡＴＭ受信部１００１で受信し、そのＡＴＭセルをＡＡＬ受信処理部１００２でＡＡＬフレームに組み立て、受信バッファ１００３にＡＡＬ  ＰＤＵとそれを受信したＶＰＩ／ＶＣＩを記憶させる。受信バッファ１００３にデータが入るとバス送信部１００４がＣＰＵボード１１００にデータを受信した事と入力Ｉ／Ｆを知らせる。ＣＰＵボード１１００は、データを受信した事を認識した後に、入力ＶＰＩ／ＶＣＩを読みだす。なお、入力ＶＰＩ／ＶＣＩは、データ受信を知らせるときにＡＴＭ  ＮＩＣ１０００がＣＰＵボード１１００に知らせても構わない。次に、ＣＰＵボード１１００内のコネクション識別子解析部１１０５は、入力Ｉ／Ｆ、ＶＰＩ／ＶＣＩより出力Ｉ／Ｆ、ＶＰＩ／ＶＣＩ又は次段ネットワーク層アドレスを決定する。
【０１１９】
ここからの処理は、ネットワーク層処理をした場合と、ＡＡＬフレームのまま転送（ＡＡＬ転送）する場合に分かれる。まず、ネットワーク層処理をする場合を説明する。
【０１２０】
（１）ネットワーク層処理をする場合
コネクション識別子解析部１１０５で出力Ｉ／ＦがＣＰＵボード１１００となっていた場合は、ＡＴＭ  ＮＩＣ１０００の受信バッファ１００３からネットワーク層プロトコル選択部１１０１にＡＡＬフレームを転送する。
【０１２１】
ネットワーク層プロトコル選択部１１０１で、ＡＡＬフレーム中のプロトコルタイプフィールドにより、対応するネットワーク層処理部（ＩＰ処理部１１０３、ＩＰＸ処理部１１０４など）にＡＡＬフレーム中のデータのヘッダ／トレイラを取り除きデータグラムに変換して渡す。ネットワーク層処理部では、それぞれのネットワーク層固有の処理を行なう。例えば、ＩＰ処理部１１０３では、パケット中のＴＴＬフィールドを減らし、宛先アドレスから、次に送るべきルータを選択する。
【０１２２】
ネットワーク層処理部で処理されたデータグラムは、ネットワーク層プロトコル多重化部１１０２でデータグラムにネットワーク層を示すプロトコルタイプフィールドを持つヘッダを取り付ける。そして、上記で選択されたルータのアドレスから出力ＶＰＩ／ＶＣＩを求め、ヘッダが取り付けられたデータグラムをＡＡＬフレームに変換する。このＡＡＬフレームを出力するＩ／Ｆの送信バッファ１００６に転送先のメモリアドレスを指定して、転送する。さらに、上記で求められた出力ＶＰＩ／ＶＣＩを追加して送信バッファ１００６に書き込み、ＡＡＬ送信処理部１００７が送信バッファ１００６中のＡＡＬフレームをＡＴＭセルに分割した後、ＡＴＭ送信部１００８がこのＡＴＭセルを送信バッファ１００６に書き込まれた出力ＶＰＩ／ＶＣＩを用いてＡＴＭ網に出力する。
【０１２３】
上記では、出力するＡＡＬフレームと出力ＶＰＩ／ＶＣＩを別々に出力ＡＴＭＮＩＣに転送していたが、ＡＡＬフレームと出力ＶＰＩ／ＶＣＩを同時に転送することも出来る。
【０１２４】
出力Ｉ／Ｆがイーサネット(R)用ＮＩＣ２０００の場合は、ネットワーク層処理部で処理されたデータグラムを変換して得られたＡＡＬフレームを送信バッファ２００５に転送する。そして、ＡＡＬフレームへの変換を行う際に、選択されたルータのアドレス（次段ネットワーク層アドレス）からイーサネット(R)アドレスを決定し、このイーサネット(R)アドレスを追加して送信バッファ２００５に書き込む。その後、送信バッファ２００５のＡＡＬフレームがこのイーサネット(R)アドレスを付加されて、イーサネット(R)送信部２００６より送信される。
【０１２５】
（２）ＡＡＬ転送をする場合
コネクション識別子解析部１１０５で出力Ｉ／ＦがＣＰＵボード１１００以外のときは、コネクション管理表に書かれている出力Ｉ／Ｆに汎用バスを通してＡＡＬフレームを送る様に、出力Ｉ／Ｆの送信バッファ１００６の位置と出力Ｉ／Ｆを指定する。上記の２つの転送方法のいずれかで、ＡＴＭ  ＮＩＣから別のＡＴＭ  ＮＩＣにＡＡＬフレームを転送させ、送信Ｉ／Ｆの送信バッファ１００６に記憶させる。このときにコネクション識別子解析部１１０５が、送信すべきＶＰＩ／ＶＣＩを送信バッファ１００６に記入する。次に、ＡＡＬ送信処理部１００７が、ＡＡＬフレームからＡＴＭセルへと変換し、ＡＴＭ送信部１００８が送信バッファ１００６に記入されたＶＰＩ／ＶＣＩを用いてＡＴＭセルをＡＴＭ網に送出する。
【０１２６】
上記では、出力するＡＡＬフレームと出力ＶＰＩ／ＶＣＩを別々に出力ＡＴＭＮＩＣに転送していたが、受信バッファ１００３の入力ＶＰＩ／ＶＣＩをコネクション識別子解析部１１０５が、出力ＶＰＩ／ＶＣＩに変更し、ＡＡＬフレームと出力ＶＰＩ／ＶＣＩを同時に送信バッファに転送することもできる。
【０１２７】
出力Ｉ／Ｆがイーサネット(R)用ＮＩＣ２０００の場合は、以下の２通りのＡＡＬ転送の方法がある。一つは、上述した出力Ｉ／ＦがＡＴＭ  ＮＩＣの場合と同様に、ＡＴＭセルを受信したＡＴＭ  ＮＩＣからコネクション管理表に書かれている出力Ｉ／Ｆのイーサネット(R)用ＮＩＣへＡＡＬフレームを転送させると共に、コネクション識別子解析部１１０５が、コネクション管理表に書かれている次段ネットワーク層アドレスを送信バッファ２００５に記入する方法である。この場合のイーサネット(R)送信部２００６には、次段ネットワーク層アドレスからイーサネット(R)アドレスを決定する機能が付加されており、送信バッファ２００５に記入された次段ネットワーク層アドレスから対応するイーサネット(R)アドレスを求め、これを送信バッファ２００５中のＡＡＬフレームに付加してネットワークへ送信する。
【０１２８】
もう一つは、ネットワーク層プロトコル多重化部１１０２の機能として提供されている（ネットワーク層処理をする場合の説明参照）機能のうち、次段ネットワーク層アドレスからイーサネット(R)アドレスを決定する機能のみを流用する方法である。この場合、ＡＴＭセルを受信したＡＴＭ  ＮＩＣからＡＡＬフレームを転送させると共に、コネクション管理表に書かれている次段ネットワーク沿うアドレスから対応するいー座ネットアドレスを求め、このイーサネット(R)アドレスを送信バッファ２００５に記入することになる。
【０１２９】
上記の方法により、通常のＡＴＭ  ＮＩＣ又は非仮想コネクション用ＮＩＣを複数枚汎用バスに指す事により、ネットワーク層処理をする事なく、ＡＡＬフレームのまま転送する事により、高速な転送を行なう事が出来る。
【０１３０】
次に、上記で説明した図１４を変形した実施形態を図１５に示す。動作はほぼ同じであるので相違する点だけを示す。図１４では、コネクション識別子解析部１１０５をＣＰＵボード１１００内に設けていたのに対し、図１５では各ＡＴＭＮＩＣ１０００にコネクション識別子解析部１００９が存在する事である。これにより、ＡＴＭ  ＮＩＣ１０００の追加機構は必要になるが、ＣＰＵボード１１００での処理が必要なくなるため、ＣＰＵの処理が軽くなる。
【０１３１】
図１６は、汎用バスを複数本用意することにより、ＡＴＭ  ＮＩＣ間又はＡＴＭ  ＮＩＣと非仮想コネクション用ＮＩＣとの間のＡＡＬフレーム転送により他の汎用バスに接続するカードに影響を与えないようにするものである。上記で説明したＡＴＭ  ＮＩＣ１０００及びイーサネット(R)用ＮＩＣ２０００は、汎用バス２に接続する。ＡＴＭ  ＮＩＣ１０００及びイーサネット(R)用ＮＩＣ２０００以外のディスプレーカード等は汎用バス１に接続する。汎用バス間は、ブリッジ１２００で接続する。これにより、ＡＴＭ  ＮＩＣ間又はＡＴＭ  ＮＩＣと非仮想コネクション用ＮＩＣとの間で転送するＡＡＬフレームは、汎用バス２内でのみ転送され、ブリッジ１２００により、汎用バス１には到達する事がないので、ＣＰＵ１１００やディスプレーカード１３００のように汎用バス２以外に接続するものに影響を与えないため、ＡＡＬ転送による影響を少なくする事ができる。
【０１３２】
また、本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施形態に用いる送信装置の構成例を示す図
【図２】本発明の第１の実施形態に係るルータ装置の構成を示す図
【図３】同実施形態のデータグラム識別子解析部の構成を示す図
【図４】同実施形態のコネクション識別子解析部の構成を示す図
【図５】同実施形態のデータグラム転送の動作を説明するための図
【図６】同実施形態のルータ装置の他の構成例を示す図
【図７】同実施形態のルータ装置のさらに他の構成例を示す図
【図８】本発明の第２の実施形態に係るルータ装置の構成を示す図
【図９】同実施形態のコネクション識別子解析部の構成を示す図
【図１０】同実施形態のデータグラム転送の動作を説明するための図
【図１１】同実施形態のルータ装置の他の構成例を示す図
【図１２】本発明の第３の実施形態に係るルータ装置の構成を示す図
【図１３】同実施形態のルータ装置の他の構成例を示す図
【図１４】本発明の第４の実施形態に係るルータ装置の構成を示す図
【図１５】同実施形態のルータ装置の他の構成例を示す図
【図１６】汎用バスを複数本用いた接続形態の一例を示す図
【図１７】従来のルータ装置の一例を示す図
【図１８】従来のルータ装置の他の例を示す図
【符号の説明】
【０１３４】
１…データグラム解析部、３…Ｉ／Ｆ、４…送信部、１０1〜１０3…Ｉ／Ｆ、１１1〜１１3…受信部、１２，１２1〜１２3…コネクション識別子解析部、１３1〜１３3…送信部、２１，２１1〜２１3…データグラム解析部、２２，２２1〜２２3…データグラム処理部、３０…転送部、４１，４２…仮想コネクション型ＬＡＮ、４３，４４…非仮想コネクション型ＬＡＮ、５０…データリンク・データフレーム変換部、６０1，６０2，６１1〜６１3…スケジューラ、１０００…ＡＴＭ  ＮＩＣ、１００１…ＡＴＭ受信部、１００２…ＡＡＬ受信処理部、１００３…受信バッファ、１００４…バス送信部、１００５…バス受信部、１００６…送信バッファ、１００７…ＡＡＬ送信処理部、１００８…ＡＴＭ送信部、１００９…コネクション識別子解析部、１１００…ＣＰＵボード、１１０１…ネットワーク層プロトコル選択部、１１０２…ネットワーク層プロトコル多重化部、１１０３…ＩＰ処理部、１１０４…ＩＰＸ処理部、１１０５…コネクション識別子解析部、１０２１，１０２９，１０３１…汎用バス、１０２３，１０２５…ＡＴＭ網、１０２７…内部バス、１２００…ブリッジ、１３００…ディスプレーカード、２０００…イーサネット(R)用ＮＩＣ、２００１…イーサネット(R)受信部、２００２…受信バッファ、２００３…バス送信部、２００４…バス受信部、２００５…送信バッファ、２００６…イーサネット(R)送信部
【図１】
0003655623.tif 000002
【図２】
0003655623.tif 000003
【図３】
0003655623.tif 000004
【図４】
0003655623.tif 000005
【図５】
0003655623.tif 000006
【図６】
0003655623.tif 000007
【図７】
0003655623.tif 000008
【図８】
0003655623.tif 000009
【図９】
0003655623.tif 000010
【図１０】
0003655623.tif 000011
【図１１】
0003655623.tif 000012
【図１２】
0003655623.tif 000013
【図１３】
0003655623.tif 000014
【図１４】
0003655623.tif 000015
【図１５】
0003655623.tif 000016
【図１６】
0003655623.tif 000017
【図１７】
0003655623.tif 000018
【図１８】
0003655623.tif 000019