(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されている第一のルータ装置と第二のルータ装置との間にデータパケット送信のためのコネクションを開設するコネクション開設方法であって、
前記第一のルータ装置において、コネクションを開設するために当該開設するコネクションの特定に用いられるコネクション情報を用いて予約情報パケットを生成する予約情報パケット生成ステップと、
前記第一のルータ装置から前記予約情報パケットを所定の送信先に向かって送出する予約情報パケット送出ステップと、
前記第二のルータ装置において、前記予約情報パケットを受信する予約情報パケット受信ステップと、
前記第二のルータ装置において、前記予約情報パケット内の前記コネクション情報を抽出し、当該抽出したコネクション情報によって特定されるコネクションがトラヒック制御を施すことが許可されているか否かをチェックするチェックステップと、
前記チェックステップにおけるチェック結果が、許可されていることを示すものである場合、前記第二のルータ装置において、予め保持する前記特定されるコネクションに対して行うトラヒック制御の内容を示す通信品質パラメータを決定し、当該決定した通信品質パラメータと前記予約情報パケットのコネクション情報とを用いて予約要求パケットを生成する予約要求パケット生成ステップと、
前記第二のルータ装置から前記予約要求パケットを返送する予約要求パケット返送ステップと、
前記第二のルータ装置において、前記予約情報パケットから抽出したコネクション情報で特定されるコネクションのパケットに、前記通信品質パラメータで示される内容のトラヒック制御を施すよう当該コネクション情報および当該通信品質パラメータを保持する予約情報パケット処理ステップと、
前記第一のルータ装置において、前記第二のルータ装置からの前記予約要求パケットを受信する予約要求パケット受信ステップと、
前記第一のルータ装置において、前記予約要求パケットから抽出したコネクション情報で特定されるコネクションのパケットに、当該予約要求パケットに含まれる前記通信品質パラメータで示される内容のトラヒック制御を施すよう当該コネクション情報および当該通信品質パラメータを保持する予約要求パケット処理ステップと、を備えること
を特徴とするコネクション開設方法。
【請求項２】
請求項１記載のコネクション開設方法であって、
予約要求パケット処理ステップは、
前記予約要求パケットが当該第一のルータ装置から送信された前記予約情報パケットに対するものであることをチェックするステップを備えることを特徴とするコネクション開設方法。
【請求項３】
請求項１記載のコネクション開設方法であって、
前記予約要求パケット処理ステップは、
前記予約要求パケット内の前記通信品質パラメータを前記第一のルータ装置の、開設されたコネクションを登録するコネクション管理テーブルに登録するステップを備え、
前記予約情報パケット処理ステップは、
前記予約要求パケット生成ステップにおいて決定した通信品質パラメータを前記第二のルータ装置の、開設されたコネクションを登録するコネクション管理テーブルに登録するステップを備えること
を特徴とするコネクション開設方法。
【請求項４】
請求項１記載のコネクション開設方法であって、
前記チェックステップは、
前記予約要求パケットを、返送する、または、第三のルータ装置に送信するのいずれかを決定するステップをさらに備えること
を特徴とするコネクション開設方法。
【請求項５】
請求項１記載のコネクション開設方法であって、
前記第一のルータ装置は、各コネクションに対しトラヒック制御が許可されているか否かおよび許可されている場合、当該許可されているトラヒック制御の内容を示す通信品質パラメータを保持する通信管理情報を保持し、
前記第一のルータ装置において、当該通信管理情報を参照することにより、前記予約情報パケットの宛先を設定するステップをさらに備えること
を特徴とするコネクション開設方法。
【請求項６】
請求項１記載のコネクション開設方法であって、
前記第二のルータ装置は、各コネクションに対しトラヒック制御が許可されているか否かおよび許可されている場合、当該許可されているトラヒック制御の内容を示す通信品質パラメータを保持する通信管理情報を保持し、
前記予約要求パケット生成ステップは、
前記通信管理情報を参照することにより前記通信品質パラメータを決定すること
を特徴とするコネクション開設方法。
【請求項７】
請求項５記載のコネクション開設方法であって、
前記第一のルータ装置において、当該第一のルータ装置に接続された管理端末から当該第一のルータ装置に送信された管理パケットを参照することにより前記通信管理情報を設定するステップをさらに備えること
を特徴とするコネクション開設方法。
【請求項８】
請求項６記載のコネクション開設方法であって、
前記第二のルータ装置において、当該第二のルータ装置に接続された管理端末から当該第二のルータ装置に送信された管理パケットを参照することにより前記通信管理情報を設定するステップをさらに備えることを特徴とするコネクション開設方法。
【請求項９】
請求項１記載のコネクション開設方法であって、
前記チェックステップにおけるチェック結果が、許可されていることを示すものでない場合、前記予約情報パケットを前記第二のルータ装置に接続された第三のルータ装置に送信するステップをさらに備えることを特徴とするコネクション開設方法。
【請求項１０】
請求項１〜９いずれか１項記載のコネクション開設方法であって、
前記トラヒック制御は、転送するパケットの一部のパケットを廃棄する制御と、転送するパケットの転送順番を変える制御とからなり、
前記トラフィック制御の内容を示す通信品質パラメータは、当該コネクションのパケットの廃棄の可否と、当該パケットの転送順番の優先度を示すものであること
を特徴とするコネクション開設方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク間の通信を中継するルータ装置に関するものである。
【０００２】
【従来の技術】
ルータ装置は、複数のネットワークを接続し、接続したネットワーク間にまたがって送られるパケットの中継を行う。また、通信する端末間のコネクションの通信品質を保証するため、ルータ装置は、特定のパケットを優先的に処理するトラフィック制御を実施する。
【０００３】
このトラフィック制御が、ネットワークの管理者によりルータ装置に登録された管理情報に従って行われるシステムがある。このシステムでは、例えば、リアルタイム性を要求する通信を行う端末については、その端末が通信するパケットの優先的な処理を指示する管理情報が予めルータ装置に登録される。ただし、管理者は、あるコネクションについて登録を行う場合、そのコネクションのパケットが通過する全てのルータ装置に対して、同じ内容の管理情報を登録しなければならない。
【０００４】
一方で、トラヒック制御（通信帯域の割り当て）を、ネットワークの利用者の端末からルータ装置へ指定できるようにするプロトコル（資源予約プロトコル）の標準化が進められている。このプロトコルが適用されるシステムでは、当該プロトコルの通信を可能とするプログラムをシステム内の全ての端末に備える。通信の開始時、送信元の端末は、通信相手の端末およびその通信を中継するルータ装置に対して、資源予約プロトコルの通信で通信帯域幅などを指定する。ルータ装置は、指定された通信帯域幅などを満たすようにトラフィック制御を行う。なお、上記プロトコルの詳細については、日経コミュニケーションNo.２０９(1995.11.6)に記載されている。
【０００５】
【発明が解決しようとする課題】
トラフィック制御の内容を示す管理情報を管理者がルータ装置に登録するシステムでは、コネクション毎に、パケットが通過する全てのルータ装置に対して同じ内容の登録を行う必要がある。中継を行うルータ装置の数が多い場合、この登録は管理者にとって大きな負担となる。
【０００６】
トラヒック制御の内容を資源予約プロトコルにより利用者が指定できるシステムでは、資源予約プロトコルの通信を可能とするプログラムを全ての端末にインストールする必要があるため、システム構築時の管理者の負担は大きい。また、このシステムでは、全ての利用者が個々に自コネクションの通信帯域幅などを指定できるため、あるコネクションに通信帯域や、ルータ装置の処理能力を占有され、他のコネクションの開設や通信品質の保証ができなくなる可能性がある。
【０００７】
そこで、本発明は、管理者のコネクションの管理を容易とし、各コネクションの通信品質を保証するルータ装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するため、本発明のルータ装置は、各々一つ以上の通信端末もしくは他のルータ装置が接続された複数のネットワークの各々を相互に接続し、複数の前記ネットワークを介して通信する通信端末間の接続をコネクションとして管理するルータ装置であって、前記複数のネットワークよりパケットを受信する受信手段と、前記受信手段が受信したパケットの内容から、当該パケットを通信するコネクションを認識するコネクション認識手段と、前記コネクション認識手段が認識したコネクションに対応する前記ネットワークに、前記受信したパケットを転送する送信手段と、他のルータ装置を介さずに自ルータ装置に接続された前記通信端末のコネクション毎に、当該コネクションに対して行うトラヒック制御の内容を示す情報が登録された管理テーブルと、前記受信手段が受信したパケットが未開設のコネクションのパケットである場合に、当該コネクションを示す情報と、当該コネクションに対応して前記管理テーブルに登録されているトラヒック制御の内容を示す情報とを含む管理用のパケットを生成し、生成した管理用のパケットを前記コネクションに含まれる他の全てのルータ装置へ前記送信手段から送信するコネクション管理手段と、前記管理用のパケットの生成に用いたコネクションを示す情報とトラヒック制御の内容を示す情報、もしくは、前記受信手段が他のルータ装置より受信した前記管理用のパケットに含まれる情報に基づいて、前記コネクションを開設するとともに、当該コネクションについて前記送信手段が転送するパケットにトラフィック制御を施す通信制御手段と、所定の管理用の命令に応じて前記管理テーブルの登録内容を更新する登録手段とを備えることを特徴とする。
【０００９】
このルータ装置は、各コネクションについて行うトラヒック制御の内容を、例えばネットワークの管理者が管理用の命令を用いて登録した管理テーブルの登録内容に従って制限するため、各コネクションにルータ装置の処理能力を適切に配分し、各コネクションの通信品質を保証することが可能である。また、このルータ装置は、他のルータ装置を介さずに直接接続された通信端末のコネクションについてのみ管理テーブルの登録が必要であるため、管理者の各コネクションの管理を容易とする。
【００１０】
【発明の実施の形態】
以下で、本発明の実施形態を、図面を用いて説明する。
【００１１】
（第一の実施形態）
図１に、本発明の第一の実施形態に係るルータ装置のブロック図を示す。
【００１２】
図１のルータ装置１の処理は、パケットを品質クラス別に受信し必要に応じてその廃棄を行うパケット受信処理と、転送するパケットを品質クラスに応じて選択するパケット中継処理と、転送対象に選択されたパケットを品質クラスに応じて送信するパケット送信処理に大別される。また、ルータ装置１は、品質クラスに応じたパケットの送受信と廃棄（トラヒック制御）をコネクション毎に管理・制限することで、各コネクションの通信品質を保証する。
【００１３】
図１で、ルータ装置１は、パケット受信処理に係る構成として、パケットを受信しバッファに格納するパケット受信部２と、受信されたパケットの品質クラスを判定するパケット判別部３Rxと、品質クラスの判定に用いられるコネクション管理テーブル４Rxと、上記のバッファを管理するバッファ管理部５と、受信されたパケットが品質クラス別に格納される品質クラス別キュー６Rxとを有する。また、パケット判別部３Tx、コネクション管理テーブル４Tx、品質クラス別キュー６Tx、およびパケット送信部１１を、パケット送信処理に係る構成として有する。さらに、ルータ装置１は、パケット送信処理およびパケット受信処理を管理する通信品質管理部７と、その管理に利用される許可リスト８およびマッピングテーブル９と、パケット中継処理を行うパケット中継部１０とを有する。
【００１４】
ネットワークでルータ装置１へ伝送されたパケットは、パケット受信部２で受信されバッファの空き領域に格納される。パケット判別部３Rxは、上記パケットのコネクションがコネクション管理テーブル４Rxに登録されているかどうかを調べ、登録されていればマッピングテーブル９の情報を元に上記パケットの品質クラスを決定し、品質クラスに応じた品質クラス別キュー６Rxに格納する。上記コネクションがコネクション管理テーブル４Rxに未登録の場合、通信品質管理部７は、そのコネクションのトラヒック制御が許可されているかどうかを許可リスト８の情報から判定する。そして、許可されている場合は、マッピングテーブル９で、トラヒック制御の内容を示す通信品質パラメータを検索し、検索した通信品質パラメータを設定した制御パケットを送信する。パケット中継部１０は、品質クラス別キュー６Rxの品質クラスの高いキューから優先的にパケットを取り出し、取り出したパケットの宛先アドレスを元にパケットの中継可／不可を判断し、中継可であるパケットはパケット判別部３Txに渡す。パケット判別部３Txは、渡されたパケットの品質クラスをコネクション管理テーブル４Txを調べて決定し、対応する品質クラス別キュー６Txに格納する。パケット送信部１１は、品質クラス別キュー６Txから品質クラスの高いパケットを優先的に取り出して、ネットワークへ送出する。
【００１５】
図２に、ルータ装置１のハードウェア構成を示す。
【００１６】
図２で、ルータ装置１は、ＣＰＵ２０と、メインメモリ２１と、バッファメモリ２２と、ネットワークコントローラ２３と、それら各部２０〜２３を接続する内部バス２４とにより構成される。ネットワークコントローラ２３は、ルータ装置１に接続する各ネットワーク毎に１つ設けられている。図１のパケット受信部２およびパケット送信部１１は、ネットワークコントローラ２３およびＣＰＵ２０が連係して行う処理により実現される。図１のパケット判別部３Rx，３Tx、バッファ管理部５、通信品質管理部７、およびパケット中継部１０は、ＣＰＵ２０により実現される。図１の品質クラス別キュー６Rx，６Tx、コネクション管理テーブル４Rx，４Tx、許可リスト８、およびマッピングテーブル９は、バッファメモリ２２により実現され、メインメモリ２１に格納されるポインタにより記憶位置を管理される。
【００１７】
図３に、ルータ装置１が送受信するパケットのフォーマットを示す。
【００１８】
図３で、パケット３０は、ヘッダ部３１とデータ部３２により構成される。ヘッダ部３１には、送信元の端末が要求する優先度を示す優先度情報３３と、プロトコルの種別を示すプロトコル情報３４と、送信元の端末を示す送信元アドレス情報３５と、着信先の端末を示す宛先アドレス情報３６と、通信に係る端末のアプリケーションを示すポート番号情報３７とが設定される。データ部３２には、端末のアプリケーションにより生成された通信データなどが設定される。
【００１９】
このパケット３０は、通信資源の予約時には制御パケット、データ通信時にはデータパケットとしてそれぞれ用いられる。制御パケットは、資源予約プロトコルの処理で生成されるもので、送信元の端末またはルータ装置１から送られる予約情報パケットと、その着信側の端末またはルータ装置１から返送される予約要求パケットの２つがある。予約情報パケットでは、前述のプロトコル情報３４、宛先アドレス情報３６、およびポート番号情報３７に設定が行われる。予約要求パケットでは、受信した予約情報パケットのプロトコル情報３４、宛先アドレス情報３６、ポート番号情報３７が設定される他、データ部３２には通信品質パラメータが設定される。
【００２０】
この他、ルータ装置１は、ネットワークの管理者が操作する管理端末から送られる管理パケットも受信する。管理者は、管理パケットの送信により任意のルータ装置１の許可リスト８とマッピングテーブル９の登録内容の更新を行うことができる。
【００２１】
なお、以上の４種類のパケットには、パケットの種類を識別するための情報も含まれている。また、ポート番号情報３７により、受信したパケット３０を生成したアプリケーションが特定されるため、受信側の端末は、異なる複数のアプリケーションのパケット３０をアプリケーション別に並行して受信・識別することができる。ここでは、コネクションの特定に用いられるプロトコル情報３４、宛先アドレス情報３６、およびポート番号情報３７をまとめてコネクション情報と呼ぶ。
【００２２】
図４に、コネクション管理テーブル４の設定情報の一例を示す。図４に示すように、コネクション管理テーブル４には、コネクション情報（宛先アドレス情報、プロトコル情報、ポート番号情報）と、マッピングテーブル９へのポインタ情報とが組で登録される。コネクション管理テーブル４に登録されたコネクションは、開設のなされたコネクションであり、対応するポインタ情報により特定されるマッピングテーブル９の内容に従って品質クラス別キュー６に格納される。
【００２３】
図５に、許可リスト８とマッピングテーブル９の設定情報の一例を示す。
【００２４】
図５に示すように、許可リスト８には、送信元アドレス情報と、宛先アドレス情報と、許可フラグと、マッピングテーブル９へのポインタ情報とが組で設定される。トラヒック制御が許可されているコネクションの許可フラグには「ＯＮ」が設定され、許可されていないコネクションの許可フラグには「ＯＦＦ」が設定される。許可リスト８は、ルータ装置１の各ネットワークコントローラ２３毎（受信インターフェース毎）に１つ設けられ、他のルータ装置を介さずにネットワークコントローラ２３と直接接続される端末についての上記情報が設定される。ポインタ情報には、マッピングテーブル９の識別子（後述）が複数個設定できる。
【００２５】
マッピングテーブル９には、識別子と、プロトコルの種別と、ポート番号と、通信品質パラメータとが組で設定される。通信品質パラメータは、パケット３０の優先度情報の値に対応して複数設定され、処理の優先クラスを４レベル（０が最低で、３は最高）で示し、廃棄レベルを２レベル（「Ｄ」が廃棄可能で、「Ｎ」は廃棄不可）で示す。マッピングテーブル９は、ルータ装置１内に一つ設定され、複数ある許可リスト８のポインタ情報により共通に指し示される。ここでは、品質クラスを４レベルとし、処理の優先クラスをそのまま品質クラスとして用いる。すなわち、処理の優先レベルが３のパケットは、品質クラスも３となり、パケットの中継処理および送信処理で最優先に処理される。
【００２６】
図５の例で、＜プロトコルＡ，ポート番号ｗ＞のパケットは全て廃棄可能で、その処理優先クラスは、優先度情報が０から３では０、優先度情報が４以上でも１と低い。すなわち、このパケットは、パケットの廃棄による再送や、伝送遅延が許されるバッチ型のアプリケーションの通信に向いている。＜Ｂ，ｘ＞のパケットは、優先度情報によらず常に最優先で処理され、廃棄不可である。このパケットは、オンライン処理を行う基幹業務のアプリケーションの通信に向いている。＜Ｃ，ｙ＞および＜Ｃ，ｚ＞のパケットは共に、優先度情報が２以上の場合に最優先で処理される。廃棄レベルは、＜Ｃ，ｚ＞が全て不可であるのに対し、＜Ｃ，ｙ＞は優先度情報が３以下の場合には廃棄可能である。すなわち、＜Ｃ，ｙ＞のパケットは、リアルタイムの転送が要求され、かつ、ある程度の伝送品質の低下を許容できるデータ（例えば、音声情報）の転送に向いている。＜Ｃ，ｚ＞のパケットは、リアルタイムの転送が要求され、伝送品質の低下がより許容されるデータ（例えば、動画情報）の転送に向いている。
【００２７】
図６に、品質クラス別キュー６Rx，６Txの構成例を示す。
【００２８】
品質クラス別キュー６Rx，６Txの各々は、受信したパケットのキューを品質クラス毎およびコネクション毎に格納する。図６には、ある品質クラスｎにおいて３つのコネクションのキュー列が格納された状態を示している。各品質クラスはコネクション毎に、コネクションポインタ部８２と、キュー格納バッファ８４の列（コネクションキュー）とを有する。コネクションポインタ部８２は、次に中継対象となるコネクションポインタ８２を指し示すポインタ８２ａと、次に廃棄対象となるコネクションポインタ８２を指し示すポインタ８２ｂと、自コネクションについての先頭および最後のキュー格納バッファ８４を指し示すポインタ８２ｃとからなる。ポインタ８２ａにより処理コネクションリスト８５が形成され、ポインタ８２ｂにより廃棄コネクションリスト８６が形成される。キュー格納バッファ８４には、パケットと、その前後のキュー格納バッファ８４を指し示すポインタとが格納される。ここで、先頭のキュー格納バッファ８４には未処理で受信時刻の最も古いパケットが格納され、以降、最後のキュー格納バッファ８４にかけて受信時刻が現時刻に近いパケットが格納されている。また、中継対象と廃棄対象のコネクションポインタ部８２は、処理コネクションポインタ８０と、廃棄コネクションポインタ８１によりそれぞれ指し示される。
【００２９】
トラヒック制御の対象となるコネクションが新たに登録されると、コネクションポインタ８２が追加され、そのコネクションに属するパケットは、追加されたコネクションポインタ８２のコネクションキューに格納される。各品質クラスにおける処理では、各コネクション毎に一つずつパケットが処理される。これは、同一の品質クラスに多数のコネクションが存在する場合に、その内のあるコネクションのパケットだけが処理されることを防ぎ、すべてのコネクションに対して公平に処理を行うことを可能とする。なお、処理の終了したパケットはコネクションキューから削除される。
【００３０】
以下で、ルータ装置１の処理を、処理フローを用いて説明する。
【００３１】
図７に、パケット受信処理の処理フローを示す。
【００３２】
ルータ装置１のパケット受信部２は、パケットを受信すると、バッファ管理部５により指定されたバッファメモリ２２の空き領域にそのパケットを格納する（１００）。バッファ管理部１１は、バッファメモリ２２の空き領域の容量を常時監視し、その容量が一定値以上であるかどうかを判定する（１０１）。一定値未満の場合はパケット廃棄処理を行う（１０３）。バッファメモリ２２の空き領域の容量が一定値以上である場合と、ステップ１０２の処理の後には、パケット判別処理（１０３）を行い処理を終了する。
【００３３】
図８に、パケット廃棄処理１０２の処理フローを示す。通信品質管理部７は、バッファメモリ２２の空き領域の容量を元に輻輳の度合いを判断し、２つの廃棄制御のいずれかを実施する。バッファメモリ２２の空き領域の容量が所定の最小値以上であれば（２００）、第一の廃棄制御を行い（２０１）、所定の最小値未満の場合には第二の廃棄制御を行う（２０２）。すなわち、輻輳の度合が低い（つまり、受信バッファの空き領域の容量に余裕がある）場合に第一の廃棄制御を実施し、輻輳の度合いが高い場合には第二の廃棄制御を実施する。
【００３４】
図９に、第一の廃棄処理の処理フローを示す。第一の廃棄処理で通信品質管理部７は、品質クラス別キュー６Rxの内の、蓄積するパケットの総バイト数が最も多い品質クラスを廃棄制御の対象として選択する（２１０）。そして、選択した品質クラスにおいて廃棄可能なコネクションキューを選択する（２１１）。図６で示したように、品質クラス別キュー６Rxには廃棄対象のコネクションを示す廃棄コネクションポインタ８１が格納されている。このポインタが指すコネクションキューにパケットが存在するかを調べ（２１２）、存在すればパケットを廃棄する。なお、パケットの再送処理を行う端末（または、アプリケーション）のパケットを廃棄する場合に、コネクションキューの先頭に格納されている受信した時間の古いパケットを廃棄すると、廃棄したパケット以降の全てのパケットが再送されて、輻輳が助長されることがある。しかし、リアルタイム性を要求するパケットの通信では、一定時間を経過した古いパケットが不要となるため、できるだけ古いパケットを廃棄することが望ましい。このため、本処理では、パケットを廃棄する際に、そのパケットが上記の再送のなされるものであるかどうかを判断し（２１３）、再送されるものであればコネクションキューの最後のパケットを廃棄し（２１４）、再送されないものであればコネクションキューの先頭のパケットを廃棄する（２１５）。なお、パケットが再送さるものどうかは使用するプロトコルによって判断できるため、パケット判別処理あるいは品質管理処理で、キューポインタ部８２に再送の有無を示すフラグを付加することにより、ステップ２１３の判断が可能となる。パケットの廃棄では、選択された品質クラスの各コネクション毎にパケットが一つずつ廃棄される。廃棄コネクションポインタ８１が示すコネクションのパケットを廃棄したら、廃棄コネクションリスト８５によって示される次のコネクションキューで未処理のコネクションの有無を調べ（２１６）、存在する場合にはそのコネクションを廃棄コネクションポインタに登録して、ステップ２１２に戻る。選択した品質クラスの全ての廃棄コネクションキューについて廃棄処理が終了したら、バッファメモリ２２の空き容量を調べ（２１７）、一定値以上であれば処理を終了する。一定値未満であれば廃棄可のパケットの有無を調べ（２１９）、存在する場合にはステップ２１０に戻り、登録されているパケットの総バイト数が最も多い品質クラスを選んで、前述の廃棄処理を繰り返す。ステップ２１８で、廃棄可のパケットがなければ処理を終了する。
【００３５】
図１０に、第二の廃棄処理の処理フローを示す。この処理で通信品質管理部７は、第一の廃棄制御と同様に、蓄積するパケットの総バイト数が最も多い品質クラスを廃棄制御の対象として選択し（２３０）、廃棄コネクションポインタ８１で示されるコネクションキューを廃棄対象として選択する（２３１）。そして、選択したコネクションキューに登録されている全パケットを廃棄する（２３２）。その品質クラスに未廃棄のパケットが存在する場合は（２３３）、廃棄コネクションリスト８６によって示されるコネクションキューを廃棄対象に選択して（２３４）、ステップ２３２に戻る。上記品質クラスのパケットをすべて廃棄したら（２３３）、バッファメモリ２２の空き領域の容量が一定値以上であるか調べ（２３４）、一定値以上であれば第二の廃棄制御を終了する（２３５）。一定値未満の場合には、他のコネクションに廃棄可パケットが存在するかを調べる（２３６）。存在する場合には、ステップ２３０に戻り、総バイト数が最も多い品質クラスを廃棄対象として廃棄処理を繰り返す。
【００３６】
図１１に、パケット判別処理（１０３）の処理フローを示す。
【００３７】
この処理で、パケット判別部３Rxは、受信したパケットがデータパケットであるかどうかを判定し（１１０）、データパケットでない場合は、制御パケットと管理パケットのいずれであるかを判定する（１１８）。制御パケットの場合、資源予約処理（後述１１１）を行って処理を終了する。自ルータ装置１宛の管理パケットの場合には、その設定情報に応じて許可リスト８およびマッピングテーブル９の登録内容の更新を行って処理を終了する。ステップ１１０で、データパケットと判定された場合は、そのパケットからコネクション情報（宛先アドレス情報、プロトコル情報、ポート番号情報）を抽出し（１１２）、その情報がコネクション管理テーブル４Rxに登録されているかどうかを調べる（１１３）。登録されている場合は、そのパケットから優先度情報を抽出し（１１５）、コネクション管理テーブル４Rxに組で登録されているポインタ情報が指し示すマッピングテーブル９において、抽出した優先度情報に対応する上記パケットの品質クラスを決定する（１１６）。そして、決定した品質クラスの品質クラス別キュー６Rxに上記パケットを格納し、その格納位置を示すポインタの登録を行って（１１７）、処理を終了する。ステップ１１３において、コネクション管理テーブル４Rxに登録されていない場合は、通信品質管理処理（後述１１４）を行って処理を終了する。
【００３８】
図１２に、品質制御管理処理（１１４）の処理フローを示す。この処理は、コネクション管理テーブル４Rxに登録されていないデータパケットに対して行われる。この処理で、通信品質管理部７は、受信したデータパケットが通信品質保証制御を許可されているかどうかを、そのパケットに設定された送信元および宛先アドレス情報３５，３６を元に許可リスト８で調べる（１３０）。対応する許可フラグが「ＯＮ」に設定されている場合は、そのパケットのプロトコル情報３４とポート番号情報３７を抽出し（１３１）、同じ情報が対応するマッピングテーブル９に設定されている場合には（１３２）、そのパケットのコネクション情報を含む予約情報パケットを着信側に送信する（１３３）。ステップ１３０で、許可フラグが「ＯＦＦ」の場合には処理を終了する。
【００３９】
図１３に、資源予約処理（１１１）の処理フローを示す。この処理は、受信された制御パケットに対して行われる。まず、受信した制御パケットの送信元および宛先アドレス情報のチェックが必要であるかどうかを判定する（１５０）。アドレスのチェックが不要の場合、制御パケットが予約情報パケットと予約要求パケットのいずれであるかを判定する（１５１）。予約情報パケットならば、資源予約プロトコル処理を行い（１５２）、その予約情報パケットに含まれるコネクション情報を抽出し（１５３）、抽出した情報が許可リスト８に登録されているかを調べる（１５４）。登録されている場合は、対応するマッピングテーブル９で通信品質パラメータを決定する（１５５）。そして、決定した通信品質パラメータを用いて予約要求パケットを生成し、予約情報パケットを送信したルータ装置１（または端末）へ、生成した予約要求パケットを送信する（１５６）。そして、予約情報パケットで指定されたコネクションの通信で、以後、通信品質パラメータに基づくトラヒック制御が行なわれるように、予約情報パケットの情報をコネクション管理テーブル４に登録し（１５７）、処理を終了する。
【００４０】
ステップ１５４において、コネクション情報が許可リスト８に登録されていない場合は、予約情報パケットを転送し（１６０）、処理を終了する。ステップ１５１において、受信した制御パケットが予約要求パケットである場合は、その予約要求パケットに設定されたコネクション情報と同じ内容の予約情報パケットを送信したかどうかを調べる（１６１）。その予約情報パケットを送信していた場合は、予約要求パケットに対するプロトコル処理を行い（１６２）、その予約要求パケットの設定情報を元にコネクション管理テーブル４に登録を行って（１５７）、処理を終了する。ステップ１５０において、受信した制御パケットのアドレスチェックの必要がある場合は、制御パケットの送信元および宛先アドレス情報３５，３６を抽出し、許可リスト８に登録されているかどうかを調べる（１５８）。登録されている場合は、資源予約プロトコル処理を行い（１５９）、受信した制御パケットを着信側のルータ装置１（または端末）へ転送して（１６０）、処理を終了する。許可リスト８に登録されていない場合は、通信品質保証制御の許可されていないコネションについて制御パケットであると判断し、何も処理せずに終了する。
【００４１】
次に、ルータ装置１のパケット中継処理とパケット送信処理を説明する。
【００４２】
図１４に、パケット中継処理の処理フローを示す。この処理で、パケット中継部１０は、後述の品質制御処理によって中継すべきパケットを選択する（１７０）。選択したパケットの宛先アドレス情報から送信に利用するネットワークコントローラ２３と中継の可／不可を決定し（１７１）、中継可のパケットについて前述したパケット判別処理（図８）を行う（１０３）。ただし、この処理では、予約情報パケットおよび予約要求パケットの生成および送信は行わない。
【００４３】
図１５に、パケット送信処理の処理フローを示す。この処理で、パケット送信部１１は、後述の品質制御処理により送信すべきパケットを選択し（１７０）、選択したパケットを送信する（１７５）。
【００４４】
図１６に、品質制御処理（１７０）の処理フローを示す。
【００４５】
この処理では、品質クラス別キュー６の各品質クラスについて、連続して処理できるバイト数を制限することで、品質クラスの高いパケットを連続的に多数受信した場合に品質クラスの低いパケットが処理されなくなるのを防いでいる。また、ある品質クラスのパケットを連続的に処理する場合にも、各コネクション毎に一つずつパケットを選択することで、あるコネクションのパケットだけが処理されることを防いでいる。
【００４６】
最初に、品質クラス毎の処理バイト数の最大値Ｍi（i=0,1,2,3）を設定する（１９１）。処理されたバイト数の累計Biを各品質クラス毎に求めるカウンタに０を設定する（１８０）。処理対象となる品質クラスを示す変数ｎに、最も高い品質クラスを示す３を設定する（１８１）。ｎ番目の品質クラスのキューにパケットがあるかどうかを調べる（１８２）。存在すれば、ｎ番目の品質クラスの処理バイト数Ｂnがその品質クラスの最大値Ｍnを越えていないかどうかを調べる（１８３）。越えていなければ、ｎ番目の品質クラスで最も過去に登録されたコネクションキューを決定する（１８４）。決定したコネクションキューからパケットを一つ取り出し（１８５）、取り出したパケットのバイト数をカウンタが処理バイト数Ｂnに加算する（１８６）。コネクションリストを調べ、次に処理すべきコネクションキューを格納する。ステップ１８３において処理バイト数Ｂnが最大値Ｍnを越えている場合は、それより低い品質クラスのパケットを処理する。すなわち、ｎが０でなければ（１８８）、ｎをデクリメントして（１８９）、ステップ１８２に戻る。ｎが０であれば各品質クラスの処理バイト数を０にしてステップ１８１に戻る。
【００４７】
なお、ルータ装置１は、パケット中継処理およびパケット送信処理の両方で品質制御処理（１７０）を行なうが、パケット送信処理のみで通信品質保証制御を行う場合にも通信品質の保証が可能である。また、ネットワークコントローラ２３の増設により、３つ以上のネットワークを接続し、通信を行うことができる。
【００４８】
次に、ルータ装置１を用いたネットワークシステムについて説明する。
【００４９】
図１７に、ネットワークシステムの構成例を示す。図１７のネットワークシステムは、４つのネットワーク15A,15B,15C,15Zを含み、ネットワーク15A,15B,15Cを、それぞれルータ装置１（1A,1B,1C）を介してネットワーク15Zに接続している。ネットワーク15A,15B,15Cには、各一つ以上の端末16A,16B,16Cが接続され、ネットワーク15Zには、ネットワークシステムの回線障害管理、ルータの障害管理、構成定義情報の設定、管理情報の収集を行うネットワーク管理端末17が接続されている。ネットワーク管理端末17は、ネットワーク管理用のプロトコル（あるいはリモートアクセス）の処理で生成した管理パケットにより、ルータ装置１の許可リスト８およびマッピングテーブル９に設定を行うことができる。この機能により、ルータ装置１Aおよび１Bの許可リスト８には、ネットワーク15Aの端末16Aを示す送信元アドレス情報と、ネットワーク15Bの端末16Bを示す宛先アドレス情報とを含むコネクション情報が設定され、対応する許可フラグが「ＯＮ」に設定されている。また、ルータ装置1AZおよび1BZの許可リスト８には、上記コネクション情報の設定はなされていない。
【００５０】
コネクションが登録されていない状態で、端末16Aから端末16Bへデータパケットが送信されると、そのパケットのアドレス情報に対応する許可リスト８の許可フラグが「ＯＮ」であるため、ルータ装置1Aは、そのパケットのコネクション情報から予約情報パケットを生成して、端末16Bへ送信する。このパケットを受信したルータ装置1Bは、受信した予約情報パケットのアドレス情報が自ルータ装置1Bの許可リスト８に登録されているので、予約情報パケットの設定情報を元に品質パラメータを決定し、コネクション管理テーブル４にコネクションを登録する。そして、決定した品質パラメータとコネクション情報を含む予約要求パケットを端末16Aへ送信する。ルータ装置1Aでは、受信した予約要求パケットで示されるコネクション情報が自ルータ装置1Aが以前に送信した予約情報パケットのコネクション情報と一致するので、コネクション管理テーブル４にコネクションを登録する。これらの制御パケットを中継する他のルータ装置1AZおよび1BZは、許可リスト８に上記コネクションの設定がなされていないので、受信した制御パケットを全て正常に処理して転送する。これにより、以後、端末16Aと端末16B間の通信に対して、上記の品質パラメータに応じたトラヒック制御が行われる。
【００５１】
一方、端末16Aおよび16Bが資源予約プロトコルの処理機能を備える場合には、端末16Aおよび16Bの制御パケットの送受信によっても上記コネクションの登録およびトラヒック制御が行われる。この場合、通信品質パラメータの決定は端末16Aまたは16Bで行われ、ルータ装置1Aおよび1Bは、その通信品質パラメータに応じたトラヒック制御を行う。
【００５２】
ネットワーク15Aおよび15Cにまたがるコネクションについてのルータ装置1Aおよび1Cの許可リスト８の許可フラグを「ＯＦＦ」に設定することで、ネットワーク15Aとネットワーク15Cの間の通信のトラヒック制御は行われなくなる。この場合、端末16Aまたは16Bに向けて端末16Cから送信される制御パケットは、ルータ装置1Cで廃棄される。
【００５３】
以上で説明したように、ルータ装置１は、管理者が登録した許可リスト８およびマッピングテーブル９の内容を元に、各コネクションの開設や各コネクションの通信に施すトラヒック制御の内容を制限することで、各コネクションの通信品質を保証することができる。
【００５４】
また、ルータ装置１は、開設されていないコネクションのパケットが送信された場合、マッピングテーブル９の内容から、そのパケットの通信で要求されるトラヒック制御の内容を決定し、それを上記コネクションに含まれる全てのルータ装置に通知するため、資源予約プロトコルの機能を持たない端末に対してもコネクションの開設と適切なトラヒック制御を行うことができる。
【００５５】
さらに、ルータ装置１は、他のルータ装置を介さずに直接接続された端末のコネクションについてのみ許可リスト８およびマッピングテーブル９の登録が必要であるため、コネクションに含まれる全てのルータ装置へ登録を必要とする従来の技術に比べ、管理者のコネクションの管理を容易とすることができる。
【００５６】
（第二の実施形態）
図１８に、本発明の第二の実施例に係るルータ装置２のハードウェア構成を示す。ルータ装置２は、ルータ装置２の各部の管理を専門に行うＣＰＵ６０と、ＣＰＵ６０のプログラムや管理データを保持するメモリ６１と、複数のメモリカード６２と、それら各部６０〜６２を接続する内部バス６６とを有する。メモリカード６２は、ルータ装置２に接続される各ネットワーク毎に１つ存在し、ＣＰＵ６３、メモリ６４、およびネットワークコントローラ６５を内蔵している。
【００５７】
ルータ装置２は、第一の実施形態のルータ装置１と同様の機能（図１参照）を有する。すなわち、ルータ装置２において、図１のパケット受信部２は、パケットを受信したインタフェースカード６２に内蔵されるネットワークコントローラ６５およびＣＰＵ６３により実現される。パケット判別部３Rxおよびパケット中継部１０は、パケットを受信したインタフェースカード６２に内蔵されるＣＰＵ６３によって実現される。パケット判別部３Txは、パケットを送信するインタフェースカード６２に内蔵されるＣＰＵ６３によって、パケット送信部１１は、パケットを送信するインタフェースカード６２に内蔵されるＣＰＵ６３およびネットワークコントローラ６５によって実現される。品質クラス別キュー６Rxは、パケットを受信したインタフェースカード６１に内蔵されるメモリ６４によって、品質クラス別キュー６Txは、パケットを送信するインタフェースカード６１に内蔵されるメモリ６４によってそれぞれ実現される。コネクション管理テーブル４Rxおよび４Txは、パケットを送受信するそれぞれのインタフェースカード６２に内蔵されるメモリによって実現される。通信品質管理部７はＣＰＵ６０で実現され、許可リスト８、マッピングテーブル９はメモリ６１によって実現される。マッピングテーブル９は各インタフェースカード６２のメモリ６４で実現してもよい。
【００５８】
次に、ルータ装置２の処理について説明する。パケット判別処理と品質制御管理処理は、それぞれ図１１、図１２と同じである。資源予約処理では、図１３の処理において、トラヒック制御を行うパケットのコネクション情報を、そのパケットを受信するインタフェースカード６２のコネクション管理情報テーブル４に登録する。パケット中継処理では、図１４の処理において、送信に利用するインタフェースカード６２を決定し、そこにパケットを転送する。パケットの送受信処理でも、各インタフェースカード６２において図７、図１５と同様な処理が行われる。
【００５９】
本実施形態によれば、第一の実施形態と同様の効果が得られる。また、パケットの送受信処理および中継処理における処理負荷が、複数のＣＰＵ６３，６０や複数のネットワークコントローラ６５に分散されるため、第一の実施形態よりも処理能力を高めることができる。
【００６０】
【発明の効果】
本発明によれば、管理者のコネクションの管理を容易とし、各コネクションの通信品質を保証するルータ装置を提供することができる。
【図面の簡単な説明】
【図１】  第一の実施形態に係るルータ装置のブロック構成図である。
【図２】  ルータ装置のハードウェア構成図である。
【図３】  ルータ装置が扱うパケットのフォーマット例である。
【図４】  コネクション管理テーブルである。
【図５】  ルータ装置に設定する許可リスト、マッピングテーブルである。
【図６】  品質クラス別キューの構造図である。
【図７】  パケット受信処理の処理フローである。
【図８】  パケット廃棄処理の処理フローである。
【図９】  第一の廃棄処理の処理フローである。
【図１０】  第二の廃棄処理の処理フローである。
【図１１】  パケット判別処理の処理フローである。
【図１２】  品質制御管理処理の処理フローである。
【図１３】  資源予約処理の処理フローである。
【図１４】  パケット中継処理の処理フローである。
【図１５】  パケット送信処理の処理フローである。
【図１６】  品質制御処理の処理フローである。
【図１７】  ネットワークシステムの構成図である。
【図１８】  第二の実施形態に係るルータ装置のハードウェア構成図である。
【符号の説明】
１… ルータ装置、２… パケット受信部、３… パケット判別部、４… コネクション管理テーブル、５… バッファ管理部、６… 品質クラス別キュー、７… 通信品質管理部、８… 許可リスト、９… マッピングテーブル、１０… パケット中継部、１１… パケット送信部、２０… ＣＰＵ、２２… バッファメモリ、２３… ネットワークコントローラ、３０… パケット、３３… 優先度情報、３４… プロトコル情報、３５… 送信元アドレス情報、３６… 宛先アドレス情報、３７… ポート番号情報。
【図１】
0003693594.tif 000002
【図２】
0003693594.tif 000003
【図３】
0003693594.tif 000004
【図４】
0003693594.tif 000005
【図５】
0003693594.tif 000006
【図６】
0003693594.tif 000007
【図７】
0003693594.tif 000008
【図８】
0003693594.tif 000009
【図９】
0003693594.tif 000010
【図１０】
0003693594.tif 000011
【図１１】
0003693594.tif 000012
【図１２】
0003693594.tif 000013
【図１３】
0003693594.tif 000014
【図１４】
0003693594.tif 000015
【図１５】
0003693594.tif 000016
【図１６】
0003693594.tif 000017
【図１７】
0003693594.tif 000018
【図１８】
0003693594.tif 000019