(57)【特許請求の範囲】
【請求項１】
入力回線に接続された複数の入力回線インタフェースと、出力回線に接続された複数の出力回線インタフェースとを備え、各入力回線インタフェースで受信した可変長パケットをヘッダ情報で決まる何れかの出力回線に転送するパケット転送装置において、
上記各入力回線と対応して帯域監視アルゴリズムのモード指定情報を記憶するための手段と、
上記各入力回線における入力パケットの帯域を上記モード指定情報で特定された帯域監視アルゴリズムによって監視する帯域監視手段とを有し、
上記各入力回線インタフェースが、各入力パケットについて、ＯＳＩ参照モデルにおける第２層のヘッダ長と第３層パケット長とを検出し、上記帯域監視手段に通知するための手段を有し、
上記帯域監視手段が、上記第３層パケット長に基づいて判定対象パケット流量を算出し、上記モード指定情報で特定された帯域監視アルゴリズムの種類に応じて、判定対象パケット流量に上記第２層のヘッダ長を加算して、各入力パケットの帯域を監視し、
上記各入力回線インタフェースが、上記帯域監視手段の判定結果に従って、各入力パケットの転送優先度を制御することを特徴とするパケット転送装置。
【請求項２】
前記入力回線インタフェースで受信された各入力パケットのヘッダ情報から各入力パケットの属するフローを判定し、フロー識別情報を出力するフロー検出手段を有し、
前記モード情報記憶手段が、各入力回線における入力パケットのフロー識別情報と対応して前記帯域監視アルゴリズムのモード指定情報を記憶しており、
前記帯域監視手段が、上記フロー検出手段から出力されたフロー識別情報と対応するモード指定情報を上記モード情報記憶手段から読み出し、該モード指定情報で特定された帯域監視アルゴリズムによって各入力パケットの帯域を監視することを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記モード情報記憶手段が、前記モード指定情報として、リーキーバケット・アルゴリズムにおけるパケット長の加算タイミングで区別される第１種類のアルゴリズム指定モードと、リーキーバケット・アルゴリズムにおける加算パケット長で区別される第２種類のアルゴリズム指定モードの少なくとも一方を記憶したことを特徴とする請求項１または請求項２に記載のパケット転送装置。
【請求項４】
入力回線に接続された複数の入力回線インタフェースと、出力回線に接続された複数の出力回線インタフェースとを備え、各入力回線インタフェースで受信した可変長パケットをヘッダ情報で決まる何れかの出力回線に転送するパケット転送装置において、
上記各入力回線と対応して帯域監視アルゴリズムのモード指定情報を記憶するための手段と、
上記各入力回線における入力パケットの帯域を上記モード指定情報で特定された帯域監視アルゴリズムによって監視する帯域監視手段とを有し、
上記帯域監視手段が、各入力回線と対応してＯＳＩ参照モデルにおける第２層のヘッダ長を記憶するための手段を備え、各入力パケットについて、ＯＳＩ参照モデルにおける第３層のパケット長に基づいて判定対象パケット流量を算出し、上記モード指定情報で特定された帯域監視アルゴリズムの種類に応じて、判定対象パケット流量に上記第２層のヘッダ長を加算して、各入力パケットの帯域を監視し、
上記各入力回線インタフェースが、上記帯域監視手段の判定結果に従って、各入力パケットの転送優先度を制御することを特徴とするパケット転送装置。
【請求項５】
前記入力回線インタフェースで受信された各入力パケットのヘッダ情報から各入力パケットの属するフローを判定し、フロー識別情報を出力するフロー検出手段を有し、
前記モード情報記憶手段が、各入力回線における入力パケットのフロー識別情報と対応して前記帯域監視アルゴリズムのモード指定情報を記憶しており、
前記帯域監視手段が、上記フロー検出手段から出力されたフロー識別情報と対応するモード指定情報を上記モード情報記憶手段から読み出し、該モード指定情報で特定された帯域監視アルゴリズムによって入力パケットの帯域を監視することを特徴とする請求項４に記載のパケット転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット転送装置に関し、更に詳しくは、複数種類の帯域監視モードを備えたパケット転送装置に関する。
【０００２】
【従来の技術】
パケット通信方式は、同一の回線を多数のユーザが共用して通信できるため、帯域当たりの通信コストを低く抑えることができる。各種の情報をＩＰ（Internet Protocol）パケットで転送するインターネットでは、トラフィックの増加に伴って、既設の電話網や企業網で実現されている遅延時間やパケット廃棄率等の通信品質（ＱｏＳ：Quality of Service）保証サービスへの要求が強まっている。
【０００３】
ＱｏＳ保証サービスを提供するキャリア網と、該キャリア網を利用するユーザ網との間では、ＱｏＳ保証帯域に関して予め契約が交わされる。ユーザ網から契約帯域を超えて過剰なパケットが流入すると、キャリア網内で輻輳が発生し、ＱｏＳを保証できなくなる可能性がある。
このため、キャリア網の管理者は、キャリア網の入口ノードにＵＰＣ（User Parameter Control）機能を配置し、契約帯域の範囲内で通信が行われているか否かを監視する。もし、契約帯域を超えるトラフィックを検知した場合は、その場で違反パケットを廃棄するか、輻輳発生時に廃棄の対象とするためにキャリア網内での転送優先度を低く設定する、等の転送優先度制御を行なう。一方、ユーザ網の管理者は、ユーザ網の出口にシェーパ機能を配置し、ユーザ網からキャリア網に送出されるパケット量が契約帯域以下となるようにトラフィックを制御（シェーピング）し、キャリア網内での送信パケットの廃棄を回避する。
【０００４】
ＡＴＭ（Asynchronous Transfer Mode）に代表される固定長パケット（セル）の通信網では、ＵＰＣにおける各トラフィックの帯域計測アルゴリズムとして、リーキー・バケット（ＬＢ：Leaky bucket）アルゴリズムが知られている。ＬＢアルゴリズムは、各トラフィックと対応して或る深さを持った穴空きのバケツ（漏れバケツ）を用意し、蓄積水量によってトラフィックの帯域を監視する。ＵＰＣノードにセルが到着する度に、到着セルのトラフィックと対応するバケツに１セル分の水を注ぎ込む。バケツ内に蓄積された水は、契約帯域に比例したレートで外部に漏れており、流入量と排出量との関係から、バケツが溢れない限り契約帯域が遵守されていると見なし、バケツが溢れた時点で帯域違反と判定される。
【０００５】
ＡＴＭ網におけるＬＢアルゴリズムの応用は、例えば、特公平７−４８７２９号（特開平２−２３９７４８号）公報に記載されている。上記従来技術では、ＵＰＣノードに固定長パケットであるＡＴＭセルが到着すると、現在時刻と前回のセル到着時刻とから経過時間を算出し、この経過時間と監視帯域から、前回のセル到着時以降の漏れ水量を計算する（処理１）。次に、前回のセル到着時に算出された蓄積水量から上記漏れ水量を減算することによって、残ったバケツ蓄積水量を計算する（処理２）。最後に、このバケツ蓄積水量に１セル分の水量を加えることによって、現在時刻におけるバケツ蓄積水量を計算し、この水量が閾値と比較判定される（処理３）。但し、上記判定処理３では、１セル分の水量を加える前に蓄積水量と閾値とを比較してもよい。以下の説明では、到着セル分の水量の加算タイミングで区別して、水量（パケット流量）の増加を閾値判定の前に行うＬＢアルゴリズムを「Ｂｉ（Before increment）アルゴリズム」、閾値判定の後に行うＬＢアルゴリズムを「Ａｉ（After increment）アルゴリズム」と呼ぶことにする。
【０００６】
【発明が解決しようとする課題】
図２は、企業ＡのサイトＡ１とＡ２、企業ＢのサイトＢ１とＢ２が、それぞれキャリア網２００を介して接続されたネットワークを示している。
サイトＡは、ルータ２１４に接続された複数の端末２１１〜２１３からなり、サイトＡ２は、ルータ２３４に接続された複数の端末２３１〜２３３からなる。同様に、サイトＢ１は、ルータ２２４に接続された複数の端末２２１〜２２３からなり、サイトＢ２は、ルータ２４４に接続された複数の端末２４１〜２４３からなっている。
【０００７】
ここで、企業Ａ、企業Ｂが、それぞれキャリア網２００との間で、サイトＡ１〜Ａ２間の通信は１０Ｍｂｉｔ／ｓｅｃ、サイトＢ１〜Ｂ２間の通信は５Ｍｂｉｔ／ｓｅｃの帯域を契約しているものと仮定する。また、サイトＡ１のルータ２１４は、キャリア網への送出パケット流量（トラフィック）が契約帯域１０Ｍｂｉｔ／ｓｅｃに収まるように、サイトＡ１（端末２１１〜２１３）からの送信パケットをＡｉアルゴリズムでシェーピングし、サイトＢ１のルータ２２４は、キャリア網への送出パケット流量が契約帯域５Ｍｂｉｔ／ｓｅｃに収まるように、サイトＢ１（端末２２１〜２２３）からの送信パケットをＢｉアルゴリズムでシェーピングするものと仮定する。
【０００８】
上記サイトＡ１、サイトＢ１からのトラフィックは、キャリア網２００のエッジルータ２０１において監視される。この例では、サイトＡ１、Ｂ１で異なったシェーピングアルゴリズムＡｉ、Ｂｉが採用されているため、契約帯域が遵守されているか否かを正しく判定するためには、エッジルータルータ２０１にＡｉアルゴリズム用とＢｉアルゴリズム用の２つの帯域監視機能を備える必要がある。また、ＬＢアルゴリズムを可変長パケット網に適用した場合、パケット到着時にバケツに加える水量を到着パケットの長さに比例させる必要がある。この場合、加算パケット長として、例えば、ＯＳＩ参照モデルの第３層（ネットワーク層）におけるパケット長を適用する帯域監視アルゴリズム（以下、Ｌ３アルゴリズムと言う）と、第２層（データリンク層）におけるパケット長を適用する帯域監視アルゴリズム（以下、Ｌ２アルゴリズムと言う）とが考えられる。
【０００９】
図２のネットワークにおいて、仮に、サイトＡ１のルータ２１４はＬ２アルゴリズムを採用し、サイトＢ１のルータ２２４はＬ３アルゴリズムを採用して、それぞれのトラフィックをシェーピングしていた場合、キャリア網側で適切な帯域監視を行い、契約違反パケットに対してユーザが納得する転送優先制御を実施するためには、エッジルータ２０１にＬ２アルゴリズム用とＬ３アルゴリズム用の２つの帯域監視機能を備える必要がある。
【００１０】
本発明の目的は、キャリア網のエッジルータとして好適な帯域監視機能を備えたパケット転送装置を提供することにある。
本発明の他の目的は、同一監視装置で複数種類の帯域監視アルゴリズムを選択的に実行できるパケット転送装置を提供することにある。
本発明の更に他の目的は、各入力パケットに対して、送信元で行われたシェーピング・アルゴリズムに適合したアルゴリズムで帯域監視できるパケット転送装置を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明のパケット転送装置は、入力回線と対応して帯域監視アルゴリズムのモード指定情報を記憶するための手段と、各入力回線における入力パケットの帯域を上記モード指定情報で特定された帯域監視アルゴリズムによって監視する帯域監視手段とを有し、各入力回線に接続された入力回線インタフェースが、上記帯域監視手段の判定結果に従って、各入力パケットの転送優先度を制御することを特徴とする。
【００１２】
更に詳述すると、本発明のパケット転送装置は、各入力回線インタフェースで受信された入力パケットのヘッダ情報から各入力パケットの属するフローを判定し、フロー識別情報を出力するフロー検出手段を有し、上記モード情報記憶手段が、各入力回線における入力パケットのフロー識別情報と対応して前記帯域監視アルゴリズムのモード指定情報を記憶しており、上記帯域監視手段が、上記フロー検出手段から出力されたフロー識別情報と対応するモード指定情報を上記モード情報記憶手段から読み出し、該モード指定情報で特定された帯域監視アルゴリズムによって入力パケットの帯域を監視する。
上記モード情報記憶手段に記憶されるモード指定情報としては、リーキーバケット・アルゴリズムにおけるパケット長の加算タイミングで区別される第１種類のアルゴリズム（例えば、ＡｉアルゴリズムとＢｉアルゴリズム）の指定モードと、リーキーバケット・アルゴリズムにおける加算パケット長で区別される第２種類のアルゴリズム（例えば、Ｌ２アルゴリズムとＬ３アルゴリズム）の指定モードがある。
【００１３】
【発明の実施の形態】
以下、本発明による帯域監視機能を備えたパケット転送装置の実施例について、図面を参照して説明する。
図１は、前述したキャリア網２００におけるエッジルータ２０１として適用可能な本発明によるパケット転送装置（以下、ルータと言う）１００の全体構成を示す。
【００１４】
ルータ１００は、パケット入力回線１１０（１１０−１〜１１０―ｎ）に接続された入力回線インタフェース１２０（１２０−１〜１２０―ｎ）と、入力パケットのヘッダ情報に基づいて出力回線を判定し、出力回線番号を含む内部ヘッダの付加（ルーティング処理）と帯域監視を行うヘッダ処理部１８０（１８０−１〜１８０―ｎ）と、各入力回線インタフェース１２０からの出力パケットを出力回線番号と対応した出力ポートにスイッチングするパケット中継部（スイッチ部）１４０と、スイッチ部１４０の各出力ポート毎に設けられた出力バッファ１９０（１９０−１〜１９０―ｎ）と、出力バッファ１９０からパケットを読み出し、内部ヘッダを除去し、第２層プロトコルに従って出力回線１６０（１６０−１〜１６０―ｎ）に送出する出力回線インタフェース１５０（１５０−１〜１５０―ｎ）と、各ヘッダ処理部１８０への制御パラメータの設定とルータの全体管理を行う管理端末１９５とから構成される。
【００１５】
図３は、入力回線１１０から受信される可変長パケット３００のフォーマットの一例を示す。入力パケットは、Ｌ２ヘッダ部３４０と、Ｌ３ヘッダ部３１０と、Ｌ３データ部３２０から構成される。
Ｌ２ヘッダ部３４０のフォーマットは、入力回線の種類によって異なる。入力回線１１０がＥｔｈｒｅｎｅｔの場合、Ｌ２ヘッダ部３４０には、送信元ＭＡＣアドレス３４１と、宛先ＭＡＣアドレス３４２と、パケット（データ）長、その他の情報が含まれる。
【００１６】
Ｌ３ヘッダ部３１０は、パケットの優先度を示すサービスタイプ３１１と、パケット（データ）長３１２と、パケットの送信元端末を示す送信元ＩＰアドレス３１３と、パケットの宛先端末を示す宛先ＩＰアドレス３１４、その他の情報を含む。ここでは、簡単化のために、トランスポート層のヘッダ情報である送信元プロトコル（上位アプリケーション）を示す送信元ポート３１５と、宛先プロトコルを示す宛先ポート３１６も、Ｌ３ヘッダ部３１０の一部として図示した。
【００１７】
図４は、ルータ１００の内部におけるパケット３０１のフォーマットを示す。ルータ１００の内部では、入力パケット３００からＬ２ヘッダ３４０を除去し、内部ヘッダ部３３０を付加したパケットフォーマットとなる。内部ヘッダ部３３０は、内部ヘッダ部３３０を含むパケットの全長を示す内部Ｌ３パケット長３３１と、パケットの入力回線の識別子を示す入力回線番号３３２と、パケットの転送先となる出力回線の識別子を示す出力回線番号３３３とを含む。本発明の特徴の１つは、上記内部ヘッダ部３３０に、入力回線によって決まる入力Ｌ２ヘッダ長３３４が設定されることにある。
【００１８】
図５は、入力回線インタフェース１２０の詳細を示す。
入力回線インタフェース１２０は、入力回線１１０に接続された内部ヘッダ付加部９１１、Ｌ３パケット長検出部９１２およびＬ２ヘッダ長検出部９１３と、入力回線識別部９１４と、パケット処理部９１７と、内部ヘッダ付加部９１１とパケット処理部９１７との間に設けられた入力バッファ９１６とからなる。
【００１９】
入力回線識別部９１４には、入力回線１１０の識別子が予め設定されている。Ｌ３パケット長検出部９１２は、各入力パケットのヘッダを解析し、ヘッダ情報として含まれるＬ３パケット長を抽出する。但し、Ｌ３ヘッダの先頭からのデータ部の最終バイトまでのバイト長をカウントするカウンタ構造のものであってもよい。Ｌ２ヘッダ長検出部９１３は、Ｌ２ヘッダ部３４０のバイト数をカウントするカウンタによって構成される。
入力回線１１０からパケットが入力されると、Ｌ３パケット長検出部９１２によって、入力パケット３００のＬ３ヘッダ部３１０とＬ３データ３２０とを合わせたバイト長が検出され、Ｌ２ヘッダ長検出部９１３によって、入力パケットのＬ２ヘッダ部３４０のバイト長が検出され、それぞれの検出値が内部ヘッダ付加部９１１に通知される。
【００２０】
内部ヘッダ付加部９１１は、入力パケット３００を受信すると、Ｌ２ヘッダ部を削除し、Ｌ３ヘッダの前に内部ヘッダ３３０を付加して、図４のパケットフォーマットに変換する。内部ヘッダ３３０のＬ３パケット長３３１には、Ｌ３パケット長検出部９１２から受信したバイト長が設定され、入力回線番号３３２には、入力回線識別部９１４が示す回線識別子が設定され、出力回線番号３３３には、無意味な値が設定され、入力Ｌ２ヘッダ長３３４には、Ｌ２ヘッダ長検出部９１３から受信したバイト長が設定される。
内部ヘッダ付加部９１１は、フォーマット変換されたパケット３０１を受信バッファ９１６に出力すると共に、内部ヘッダ部３３０とヘッダ部３１０から構成されるパケットヘッダ情報１１を、ヘッダ処理部１８０に送信する。
【００２１】
ヘッダ処理部１８０は、図１に示すように、ルーティング処理部１５０と、フロー検出部１７０と、帯域監視部５００とからなっている。
ルーティング処理部１５０は、受信したパケットヘッダ情報１１中の宛先ＩＰアドレス３１４に基づいてルーティングテーブルを検索し、パケットの転送先となる出力回線１６０を示す識別子をパケット出力回線情報１４として入力回線インタフェース１２０に通知する。
【００２２】
フロー検出部１７０は、受信したパケットヘッダ情報１１に基づいて入力パケット３００が属するフローを検出し、フロー識別子１２を帯域監視部５００に通知する。各入力パケットのフローは、Ｌ３ヘッダ部３１０に含まれるサービスタイプ３１１、アドレス情報３１３、３１４、ポート識別情報３１５、３１６のうちの少なくとも１つによって特定される。フロー検出部１７０は、フローの条件と識別子との関係を予め定義した判定テーブルを参照して、上記フロー識別子１２を特定する。
【００２３】
帯域監視部５００は、フロー識別子毎に帯域監視を行い、パケット流量が予め設定された監視帯域（契約帯域）以内であれば「遵守」、監視帯域を超過している場合は「違反」を示す帯域監視結果１８を入力回線インタフェース１２０に通知する。
【００２４】
入力回線インタフェース１２０のパケット処理部９１７は、上記帯域監視結果１８を受信すると、受信バッファ９１６からパケット３０１を読み出し、内部ヘッダの出力回線番号３３３にルーティング処理部１５０から受信したパケット出力回線情報１４を設定し、帯域監視結果１８に従って、入力パケットの転送優先度を制御する。すなわち、帯域監視結果１８が「遵守」を示す場合は、入力パケット３０１をパケット中継部１４０に転送し、帯域監視結果１８が「違反」を示す場合は、網内での優先度を下げるためのサービスタイプ３１１の書き換え処理、またはその場でのパケット廃棄処理を行う。
【００２５】
パケット中継部１４０は、各入力回線インタフェース１２０からの入力パケットを出力回線番号３３３と対応した送信バッファ１９０に転送する。出力回線インタフェース１５０は、送信バッファ１９０に蓄積された出力パケットを出力回線１６０の帯域に応じた速度で読み出し、内部ヘッダ部３３０を削除し、新たなＬ２ヘッダ部３４０を付加した後、出力回線１６０に送信する。出力回線インタフェース１５０で生成するＬ２ヘッダ部３４０には、出力回線１６０におけるノード間通信のための第２層（データリンク層）プロトコルに従ったアドレス情報、あるいはコネクション識別子が設定される。
【００２６】
図６は、帯域監視部５００の１実施例を示す。
この実施例では、帯域監視部５００は、フロー識別子と対応して複数の帯域監視制御情報エントリを格納した帯域監視テーブル７００と、帯域監視テーブル７００から入力パケットのフロー識別子と対応する１つの帯域監視制御情報エントリを読み出す帯域監視テーブル制御部５５０と、フロー毎のパケット流量（実帯域）を表すカウンタ残量を計算するためのカウンタ残量算出部５１０と、パケット流量が監視帯域を遵守しているか否かの判定し、判定結果を出力する監視結果出力部５２０とからなっている。
【００２７】
カウンタ残量算出部５１０は、現在時刻（ｓｅｃ）を示すタイマー５１２と、監視帯域格納レジスタ５１３、時刻格納レジスタ５１４、カウンタ値格納レジスタ５１５と、これらの要素に接続されたカウンタ残量算出回路５１１とからなっている。また、監視結果出力部５２０は、Ｌ３パケット長格納レジスタ５２２、閾値格納レジスタ５２３、判定アルゴリズムモード格納レジスタ５２４、Ｌ２ヘッダ長格納レジスタ５２５、パケット長識別アルゴリズムモード格納レジスタ５２６と、これらのレジスタの内容から監視帯域の違反の有無を判定する帯域判定回路６００とからなっている。
【００２８】
図７に、帯域監視テーブル７００のフォーマットを示す。
帯域監視テーブル７００には、フロー識別子に対応した複数の帯域監視制御情報エントリ７００−ｋ（ｋ＝１〜Ｍ）が格納されており、各帯域監視制御情報エントリ７００−ｋは、契約違反か否かを判定するためのカウンタ閾値（Ｂｙｔｅ）７０１と、帯域監視の判定アルゴリズム（Ａｉ／Ｂｉアルゴリズム）を指定する判定アルゴリズムモード７０２と、Ｌ２アルゴリズムとＬ３アルゴリズムの何れかを指定するパケット長識別アルゴリズムモード７０６と、契約帯域の上限値（Ｂｙｔｅ／ｓｅｃ）を示す監視帯域７０３と、同一フローで監視帯域を遵守していることが確認された最後の入力パケットの判定時刻を示す時刻７０４と、時刻７０４におけるカウンタ残量（Ｂｙｔｅ）を示すカウンタ値７０５とからなっている。
【００２９】
これらの制御情報エントリは、帯域契約に従って管理端末１９５から設定される。以下に説明するように、本実施例では、各フロー識別子と対応して、帯域監視テーブル７００に、判定アルゴリズムモード７０２とパケット長識別アルゴリズムモード７０３を記憶しておくことによって、１つの帯域監視部５００で複数種類の帯域監視アルゴリズムに選択的に適合できるようになっている。
【００３０】
図８は、帯域監視部５００の動作を示すフローチャートである。
帯域監視部５００の動作は、開始処理８００、カウンタ残量算出処理８１０、判定処理８２０に大別され、処理８１０と８２０は、それぞれカウンタ残量算出部５１０と監視結果出力部５２０の動作に対応している。
【００３１】
帯域監視部５００は、入力回線インタフェース１２０からパケットヘッダ情報１１を受信すると、内部ヘッダ部に含まれる内部Ｌ３パケット長３３１と入力Ｌ２ヘッダ長３３４の値を、それぞれ監視結果出力部５２０のレジスタ５２２、５２５に設定する（ステップ８０１）。
フロー検出部１７０から出力されたフロー識別子情報１２は、帯域監視テーブル制御部５５０に入力される。帯域監視テーブル制御部５５０は、フロー識別子情報１２を受信すると、帯域監視テーブル７００から上記フロー識別子情報１２と対応する帯域監視制御情報エントリ７００−ｋを読み出す。帯域監視制御情報エントリ７００−ｋが示す閾値７０１、判定アルゴリズムモード７０２、パケット長識別アルゴリズムモード７０６の値は、それぞれ監視結果出力部５２０のレジスタ５２３に、５２４、５２６に設定され、監視帯域７０３、時刻７０４、カウンタ値７０５の値は、それぞれカウンタ残量算出部５１０のレジスタ５１３、５１４、５１５に設定される（ステップ８０４）。
【００３２】
カウンタ残量算出部５１０の中枢部となるカウンタ残量算出回路５１１は、タイマー５１２から現在時刻を取り込み、これと時刻用レジスタ５１４が示す前回の判定時刻との差分から、入力パケットが属するフローにおける前回の判定処理からの経過時間（ｓｅｃ）を計算する（ステップ８１１）。次に、上記経過時間に監視帯域用レジスタ５１３が示す監視帯域の値を乗算することによって、上記経過時間におけるカウンタ値の減少量（ＬＢアルゴリズムにおけるバケツからの漏れ量）を計算し（ステップ８１２）、カウンタ用レジスタ５１５が示すカウンタ値から上記減少量を減算することによって、今回の入力パケットの到着直前のカウンタ残量（ＬＢアルゴリズムにおけるバケツ水量）を算出する（ステップ８１３）。カウンタ残量算出回路５１１は、上記カウンタ残量の正負を判定し（ステップ８１４）、カウンタ残量が負の場合は、カウンタ残量を初期値０に設定（ステップ８１５）した後、カウンタ残量を監視結果出力部５２０の帯域判定回路６００に通知する。この時、カウンタ残量算出回路５１１から帯域監視テーブル制御部５５０に、ステップ８１１で使用した現在時刻の値が通知される。
【００３３】
帯域判定回路６００は、例えば、図９に示すように、判定部６１０と、カウンタ加算部６２０と、Ｌ２ヘッダ加算部６３０とからなっている。
Ｌ２ヘッダ加算部６３０は、レジスタ５２６に設定されたパケット長識別アルゴリズムモードを判定し（ステップ８２１）、パケット長識別アルゴリズムモード情報がＬ２アルゴリズムを指定していた場合は、レジスタ５２２が示すＬ３パケット長にレジスタ５２５が示すＬ２のヘッダ長を加算した値をパケット長とし（ステップ８２３）、パケット長識別アルゴリズムモード情報がＬ３アルゴリズムを指定していた場合は、レジスタ５２２が示すＬ３パケット長をそのままパケット長として（ステップ８２４）、カウンタ加算部６２０に出力する。
【００３４】
このように、フロー識別子に応じて、カウンタ加算値をＬ３パケット長とするかＬ２ヘッダを含めたパケット長とするかを選択することによって、１つの帯域監視部で、Ｌ２アルゴリズムとＬ３アルゴリズムのように複数種類の帯域監視機能を選択的に実現できる。Ｌ２ヘッダの長さは、入力回線の種類によって異なるが、本実施例のように、入力回線に接続された入力回線インタフェース１２０においてＬ２のヘッダ長を検出し、内部ヘッダ情報として帯域監視部に通知することによって、データリンク層プロトコルが異なるトラフィックを同一の帯域監視部で監視できる。
【００３５】
カウンタ加算部６２０は、レジスタ５２４が示す判定アルゴリズムモードを判定し（ステップ８２１）、判定アルゴリズムモードがＡｉアルゴリズムを指定していた場合は、カウンタ残量算出回路５１１から受信したカウンタ残量をそのまま判定部６１０に出力し、上記カウンタ残量にＬ２ヘッダ長加算部６３０から受信したパケット長（Ｂｙｔｅ）を加算した値を、カウンタ残量１６として帯域監視テーブル制御回路５５１に出力する。判定アルゴリズムモードがＢｉアルゴリズムを指定していた場合、カウンタ加算部６２０は、カウンタ残量算出回路５１１から受信したカウンタ残量にＬ２ヘッダ長加算部６３０から受信したパケット長を加算した値を、カウンタ残量として判定部６１０と帯域監視テーブル制御回路５５１に出力する。
【００３６】
判定部６１０は、カウンタ加算部６２０から受信したカウンタ残量と、レジスタ５２３が示す閾値とを比較する。判定アルゴリズムがＡｉアルゴリズムの場合、入力パケットの到着直前のカウンタ残量と閾値とが比較され（ステップ８２６）、カウンタ残量が閾値以下であれば、監視帯域（契約帯域）を「遵守」していることを示す帯域監視結果１８が帯域監視テーブル制御部５５０と入力回線インタフェース１２０に出力される（ステップ８２８）。カウンタ残量が閾値を超えていれば、監視帯域に「違反」すること示す帯域監視結果１８が帯域監視テーブル制御部５５０と入力回線インタフェース１２０に出力される（ステップ８２９）。
【００３７】
判定アルゴリズムがＢｉアルゴリズムの場合、カウンタ加算部６２０から受信したカウンタ残量は、カウンタ残量算出回路５１１で算出したカウンタ残量にパケット長を加算した値となっている。従って、判定部６１０は、「カウンタ残量＋パケット長」をレジスタ５２３が示す閾値と比較し（ステップ８２７）、「カウンタ残量＋パケット長」の値が閾値を超えている場合は「違反」、閾値以内であれば「遵守」を示す帯域監視結果１８を帯域監視テーブル制御部５５０と入力回線インタフェース１２０に出力することになる。
【００３８】
帯域監視テーブル制御部５５０は、帯域監視結果１８が監視帯域の「遵守」を示していた場合、帯域判定回路６００から受信したカウンタ残量１６を新たなカウンタ値７０５、カウンタ残量算出回路５１１から受信した現在時刻の値を新たな時刻７０４として、帯域監視テーブルの制御情報エントリ７００−ｋに書き込み（ステップ８３０）、１パケット分の帯域監視処理を終了する。帯域監視結果１８が「違反」を示していた場合は、制御情報エントリ７００−ｋを更新することなく、帯域監視処理が終了する。
【００３９】
上述したように、判定アルゴリズムモードに応じて、閾値との比較対象となるカウンタ残量をパケットの到着直前の値と到着直後の値の何れかに選択できるようにしておくことによって、ＡｉアルゴリズムとＢｉアルゴリズムの帯域監視を１つの帯域監視部で実現することが可能となる。
以上の実施例では、入力回線毎に帯域監視部５００を設けたが、帯域監視部５００は複数の入力回線インタフェース１２０に共用する形で配置してもよい。この場合、図１にヘッダ処理部１８０の構成要素として示したルーティング処理部１５０とフロー検出部１７０は、帯域監視部５００と同様、複数の入力回線インタフェース１２０に共用しても、各入力回線インタフェース１２０に専用の構成要素としてもよい。
【００４０】
帯域監視部５００は複数の入力回線インタフェース１２０に共用する場合は、例えば、帯域監視テーブル７００に入力回線番号と対応した複数のテーブル領域を設け、各テーブル領域にフロー識別子と対応した複数の帯域監視制御情報エントリを格納する。この場合、フロー検出部１７０から出力されるフロー識別子の上位ビットに入力回線番号を挿入しておくことによって、各入力回線と対応したテーブル領域から制御情報エントリを読み出すことができる。
【００４１】
図１０は、監視結果出力部５２０の他の実施例を示す。
本実施例は、帯域監視部５００を複数の入力回線インタフェースに共用する場合に適したものであり、監視結果出力部５２０が、図６に示した構成要素の他に、アルゴリズムモード制御部５６０と、判定アルゴリズムモードテーブル５６３と、パケット長識別アルゴリズムモードテーブル５６４を備えた構成となっている。
【００４２】
判定アルゴリズムモードテーブル５６３には、図１１に示すように、入力回線番号３３２と対応した複数の判定アルゴリズムモード５６３−ｋ（ｋ＝１〜Ｍ）が記憶されている。また、パケット長識別アルゴリズムモードテーブル５６４には、図１２に示すように、入力回線番号３３２と対応した複数のパケット長識別アルゴリズムモード５６４−ｋ（ｋ＝１〜Ｍ）が記憶されている。これらのテーブル情報は、管理端末１９５からアルゴリズムモード制御部５６０を介して設定される。
【００４３】
本実施例において、アルゴリズムモード制御部５６０には、入力回線インタフェース１２０から出力されたパケットヘッダ情報１１のうち、内部ヘッダに含まれる入力回線番号３３２が供給される。アルゴリズムモード制御部５６０は、入力回線番号３３２を受信すると、判定アルゴリズムモードテーブル５６３から、上記入力回線番号と対応する判定アルゴリズムモード５６３−ｋを読み出し、レジスタ５２４に設定する。また、パケット長識別アルゴリズムモードテーブル５６４から、上記入力回線番号と対応するパケット長識別アルゴリズムモード５６４−ｋを読み出し、レジスタ５２６に設定する。これらのテーブル情報の読み出しは、帯域監視テーブル制御部５５０による帯域監視テーブル７００からの制御情報エントリの読み出し動作（ステップ８０４）と並行して実行される。
【００４４】
上記実施例は、判定アルゴリズムモードとパケット長識別アルゴリズムモードをルータの入力回線によって特定できる場合を前提としている。テーブル５６３、５６４を採用した場合、図７に示した帯域監視テーブル７００の帯域監視制御情報エントリの判定アルゴリズムモード７０２とパケット長識別アルゴリズムモード７０６は不要となる。
【００４５】
尚、図１０では、判定アルゴリズムモードとパケット長識別アルゴリズムモードの２つのモード情報を入力回線番号に応じて選択し、選択されたモード情報をレジスタ５２４、５２６に設定する方式となっているが、何れか一方のモード情報を入力回線番号に応じて選択し、他方のモード情報は、図６と同様に、フロー識別子に応じて帯域監視テーブル７００から選択するようにしてもよい。
【００４６】
また、帯域監視部５００が１つの入力回線インタフェース、すなわち、特定の入力回線に専用に使用される場合、図１０のアルゴリズムモード制御部５６０は、入力回線と対応した特定の判定アルゴリズムモードとパケット長識別アルゴリズムモードの読み出し動作を繰り返すことになる。従って、この場合は、図１０の構成から、テーブル５６３、５６４を省略し、管理端末１９５からレジスタ５２４、５２６に入力回線に固有の判定アルゴリズムモードとパケット長識別アルゴリズムモードモードを設定することによって、入力パケットのヘッダ情報１１とは無関係に、固定的なモード情報が帯域判定部６００に供給されるようにすればよい。
【００４７】
図１３は、入力回線インタフェース１２０の第２の実施例を示す。
第２の実施例では、入力回線インタフェース１２０は、図５に示した入力回線インタフェースからＬ２ヘッダ長検出部９１３を省略した構成となっている。本実施例では、内部ヘッダ付加部９１１による入力Ｌ２ヘッダ長３３４の設定はなく、内部パケットは、図４に示したパケットフォーマットの内部ヘッダ３３０から入力Ｌ２ヘッダ長３３４を省略した形となる。
【００４８】
図１４は、上記第２の実施例の入力回線インタフェース１２０に適合した帯域監視部５００の構成を示す。
第２の実施例の帯域監視部５００は、監視結果出力部５２０が、Ｌ２ヘッダ長テーブル５２７と、Ｌ２ヘッダ長テーブル制御部５２８とを備え、上記Ｌ２ヘッダ長テーブル５２７から読み出されたＬ２ヘッダ長をレジスタ５２５に設定するようになっている。
Ｌ２ヘッダ長テーブル５２７には、図１５に示すように、入力回線番号と対応してＬ２ヘッダ長を示す複数のエントリ情報が記憶されている。
【００４９】
本実施例において、Ｌ２ヘッダ長テーブル制御回路５２８には、入力回線インタフェース１２０から出力されたパケットヘッダ情報１１のうち、内部ヘッダにある入力回線番号３３２が供給される。Ｌ２ヘッダ長テーブル制御回路５２８は、入力回線番号３３２を受信すると、Ｌ２ヘッダ長テーブル５２７から上記入力回線番号と対応するＬ２ヘッダ長５２７−ｋを読み出し、レジスタ５２５に設定する。この動作は、帯域監視テーブル制御部５５０による帯域監視テーブル７００からの制御情報エントリの読み出し動作（ステップ８０４）と並行して実行される。
【００５０】
本実施例も、帯域監視部５００が複数の入力回線インタフェースに共用される場合に適したものであり、帯域監視部５００が１つの入力回線インタフェースに専用に使用される場合、図１０の実施例と同様、テーブル５２７を省略し、管理端末１９５からレジスタ５２５に入力回線に固有のＬ２ヘッダ長を設定することによって、入力パケットのヘッダ情報１１とは無関係に、固定的なヘッダ長が帯域判定部６００に供給されるようにすればよい。
【００５１】
【発明の効果】
以上の実施例の説明から明らかなように、本発明のパケット転送装置によれば、入力回線と対応して予め帯域監視アルゴリズムのモード指定情報を記憶しておき、各入力回線における入力パケットの流量を上記モード指定情報で特定された帯域監視アルゴリズムによって監視することによって、同一監視装置で複数種類の帯域監視アルゴリズムを選択的に実行できる。
【図面の簡単な説明】
【図１】本発明によるパケット転送装置の１実施例を示すブロック構成図。
【図２】本発明のパケット転送装置が適用されるネットワークの１例を示す図。
【図３】パケット転送装置の入力パケット・フォーマットを示す図。
【図４】パケット転送装置内部におけるパケット・フォーマットの１例を示す図。
【図５】図１に示した入力回線インタフェース１２０の１実施例を示すブロック図。
【図６】図１に示した帯域監視部５００の１実施例を示すブロック図。
【図７】図６に示した帯域監視テーブル７００のフォーマット図。
【図８】帯域監視部５００の動作を示すフローチャート。
【図９】図６に示した帯域判定部６００の機能を示すブロック図。
【図１０】監視結果出力部５２０の他の実施例を示すブロック図。
【図１１】図１０に示した判定アルゴリズムモードテーブル５６３のフォーマット図。
【図１２】図１０に示したパケット長識別アルゴリズムモードテーブル５６４のフォーマット図。
【図１３】入力回線インタフェース１２０の他の実施例を示すブロック図。
【図１４】帯域監視部５００の他の実施例を示すブロック図。
【図１５】図１４に示したＬ２ヘッダ長テーブル５２７のフォーマット図。
【符号の説明】
１１０：入力回線、１２０：入力回線インタフェース、
１４０：パケット中継部（スイッチ部）、１５０：出力回線インタフェース、
１５０：ルーティング処理部、１７０：フロー検出部、１８０：ヘッダ処理部、
５００：帯域監視部、５１０：カウンタ残量算出部、５２０：監視結果出力部、
５５０:帯域監視テーブル制御部、７００：帯域監視テーブル。
【図１】
0003884925.tif 000002
【図２】
0003884925.tif 000003
【図３】
0003884925.tif 000004
【図４】
0003884925.tif 000005
【図５】
0003884925.tif 000006
【図６】
0003884925.tif 000007
【図７】
0003884925.tif 000008
【図８】
0003884925.tif 000009
【図９】
0003884925.tif 000010
【図１０】
0003884925.tif 000011
【図１１】
0003884925.tif 000012
【図１２】
0003884925.tif 000013
【図１３】
0003884925.tif 000014
【図１４】
0003884925.tif 000015
【図１５】
0003884925.tif 000016