(57)【特許請求の範囲】
【請求項１】
複数の入、出力回線に接続され、各入力回線から受信した入力パケットをヘッダ情報によって特定される何れかの出力回線に転送するパケット転送装置であって、
各入力パケットのヘッダ情報から該入力パケットが属するフローを識別し、識別されたフローに個別のフロー束識別子、または他の少なくとも１つのフローと共通のフロー束識別子を出力するフロー検出装置と、
フロー束識別子と対応した複数の情報エントリを含む情報テーブルを備え、上記フロー検出装置から受信したフロー束識別子に基づいて、上記情報テーブルから１つの情報エントリを読出し、所定のカウンタ処理を行う制御装置とを備え、
上記フロー検出装置が、
フロー識別条件を定義した複数のフローエントリを記憶し、入力パケットのヘッダ情報に適合したフロー識別条件をもつフローエントリのアドレスを出力する連想メモリと、上記連想メモリから出力されたアドレスをフロー束識別子に変換するためのアドレス変換部とからなり、
上記制御装置が、入力パケットのヘッダ情報と上記情報テーブルから読み出された情報エントリの内容に基づいて、上記所定のカウンタ処理を実行することを特徴とするパケット転送装置。
【請求項２】
前記各入力回線に接続され、各入力パケットに少なくとも入力回線番号を含む内部ヘッダを付加する機能を備えた複数の入力回線インタフェースを有し、
前記フロー検出装置が、上記内部ヘッダを含む各入力パケットのヘッダ情報から該入力パケットが属するフローを識別することを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記制御装置が、入力パケットのヘッダ情報と前記情報テーブルから読み出された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの帯域監視のためのカウンタ処理を実行することを特徴とする請求項１に記載のパケット転送装置。
【請求項４】
前記制御装置が、入力パケットのヘッダ情報と前記情報テーブルから読み出された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの統計情報収集のためのカウンタ処理を実行することを特徴とする請求項１に記載のパケット転送装置。
【請求項５】
入力回線に接続された複数の入力回線インタフェースと、出力回線に接続された複数の出力回線インタフェースと、各入力回線インタフェースで受信した入力パケットをヘッダ情報によって特定される何れかの出力回線インタフェースに転送するパケット中継部とを備えたパケット転送装置であって、
上記各入力回線インタフェースから入力パケットのヘッダ情報を受信し、受信したヘッダ情報から上記入力パケットが属するフローを識別し、識別されたフローに個別のフロー束識別子、または他の少なくとも１つのフローと共通のフロー束識別子を出力するフロー検出装置と、
フロー束識別子と対応した複数の情報エントリを含む情報テーブルを備え、上記フロー検出装置から受信したフロー束識別子に基づいて、上記情報テーブルから１つの情報エントリを読出し、所定のカウンタ処理を行う制御装置とを備え、
上記フロー検出装置が、
フロー識別条件を定義した複数のフローエントリを記憶し、入力パケットのヘッダ情報に適合したフロー識別条件をもつフローエントリのアドレスを出力する連想メモリと、上記連想メモリから出力されたアドレスをフロー束識別子に変換するためのアドレス変換部とからなり、
上記制御装置が、入力パケットのヘッダ情報と上記情報テーブルから読み出された情報エントリの内容に基づいて、上記所定のカウンタ処理を実行することを特徴とするパケット転送装置。
【請求項６】
前記制御装置が、入力パケットのヘッダ情報と前記情報テーブルから読み出された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの帯域監視のためのカウンタ処理を実行し、監視結果を上記ヘッダ情報の送信元の入力回線インタフェースに通知することを特徴とする請求項５に記載のパケット転送装置。
【請求項７】
前記制御装置が、入力パケットのヘッダ情報と前記情報テーブルから読み出された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの統計情報収集のためのカウンタ処理を実行することを特徴とする請求項５に記載のパケット転送装置。
【請求項８】
入力パケットのヘッダ情報から該入力パケットが属するフローを識別するステップと、  識別されたフローに個別または他の少なくとも１つのフローと共通のフロー束識別子を割当てるステップと、
フロー束識別子と対応して予め用意された情報エントリの内容と上記入力パケットのヘッダ情報とに基づいて、所定のカウンタ処理を実行するステップとからなり、
上記フローの識別ステップでは、フロー識別条件を定義した複数のフローエントリを記憶した連想メモリから、入力パケットのヘッダ情報に適合したフロー識別条件をもつフローエントリのアドレスを出力し、
上記フロー束識別子の割当てステップでは、上記連想メモリの各アドレスとフロー束識別子とを対応付けたアドレス変換テーブルから、上記出力アドレスと対応するフロー束識別子を読み出すことを特徴とするパケット転送装置におけるフロー管理方法。
【請求項９】
前記所定のカウンタ処理を実行するステップは、入力パケットのヘッダ情報とフロー束識別子と対応して予め用意された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの帯域監視のためのカウンタ処理を実行することを特徴とする請求項８に記載のパケット転送装置におけるフロー管理方法。
【請求項１０】
前記所定のカウンタ処理を実行するステップは、入力パケットのヘッダ情報とフロー束識別子と対応して予め用意された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの統計情報収集のためのカウンタ処理を実行することを特徴とする請求項８に記載のパケット転送装置におけるフロー管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク間を接続するパケット転送装置およびフロー管理方法に関し、更に詳しくは、入力パケットのフローを認識して通信品質制御または統計情報収集を行う機能を備えたパケット転送装置およびフロー管理方法に関する。
【背景技術】
【０００２】
ＩＰ（Internet Protocol）ネットワークを構成するルータは、入力パケットのヘッダ情報から該パケットが属するフローを検出するフロー検出機能が必要となる。本明細書では、パケットヘッダに含まれる複数項目のヘッダ情報の組み合わせによって特定される一連のパケットを「フロー」と呼ぶ。ルータは、パケットフロー毎に、通信品質制御、統計情報収集、フィルタリング、ポリシールーティング等を実行する。
【０００３】
近年、ＩＰトラヒックの急増に対応するために、フロー検出の高速化が検討されている。例えば、“連想メモリを用いたフロー識別法”宇賀他、電子情報通信学会  ２０００年総合大会講演論文集、ＳＢ−４−２には、フロー識別条件を記述した複数のフローエントリを格納したＣＡＭ（Contents Addressable Memory）と、各フローエントリと対応して入力パケットに施すべき処理動作を記述した複数の検索結果エントリを格納した検索結果保持テーブルとを使用したフロー識別方法が提案されている。
【０００４】
上記従来技術では、フロー検出は、入力パケットのヘッダ情報からフロー識別に必要な全てのヘッダ項目（フィールド）を検索キー情報として抽出し、上記検索キー情報と一致するフローエントリをＣＡＭから検索することによって行われる。入力パケットは、検索結果保持テーブルから読み出された上記フローエントリと対応する検索結果エントリの記述内容に従って処理される。ＣＡＭは、登録されたフローエントリの個数によらず、検索キー情報と一致するフローエントリを高速に検索できるため、フロー識別を高速化できる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ルータには、通信品質制御機能として、上述したフロー毎の帯域監視機能の他に、複数のフローをまとめたフロー束毎の帯域監視機能が必要となる。また、ルータには、入力パケットや出力パケットの個数、バイト長の累計値等をフロー束毎にカウント可能な統計情報収集機能が必要となる。
【０００６】
例えば、図２は、企業Ａに属したサイトＡ１、Ａ２、Ａ３が、インターネット２００を介して接続されたネットワークを示す。
サイトＡ１は、ゲートウェイルータ２１１と端末２１２、２１３からなり、サイトＡ２は、ゲートウェイルータ２２１と端末２２２、２２３からなり、サイトＡ３は、ゲートウェイルータ２３１と端末２３２からなっている。また、インターネット２００は、ゲートウェイルータ２１１、２２１に接続されたエッジルータ２０２と、ゲートウェイルータ２３１に接続されたエッジルータ２０３と、これらのエッジルータを接続するバックボーンルータ２０１とからなる。９０は、エッジルータ２０２に接続された管理端末を示す。
【０００７】
ここで、ゲートウェイルータ２１１とエッジルータ２０２との接続回線２０６で転送されるサイトＡ１からサイトＡ３に向かうパケットフローをフロー１、ゲートウェイルータ２２１とエッジルータ２０２との接続回線２０７で転送されるサイトＡ２からサイトＡ３に向かうパケットフローをフロー２と定義する。
【０００８】
今、企業Ａとインターネット２００の管理者との間で、サイトＡ１、Ａ２からサイトＡ３に送信するパケットフローに関して、フロー１とフロー２とを合わせて１０Ｍｂｉｔ／ｓｅｃの帯域を保証する契約が行われているものと仮定すると、エッジルータ２０２では、回線２０６、２０７から流入する２つのフロー１とフロー２を検出して、フロー１とフロー２の使用帯域の合計が、契約帯域（監視帯域）１０Ｍｂｉｔ／ｓｅｃを超過した場合に、パケットの廃棄、または転送優先度を下げるためのヘッダ情報書き換えなどの制御動作を実行する必要がある。
【０００９】
しかしながら、フロー１とフロー２ではフロー識別条件が異なるため、上述したＣＡＭによるフロー識別方法を採用する場合、ＣＡＭには、フロー１の識別条件を記述した第１のフローエントリと、フロー２の識別条件を記述した第２のフローエントリとを別々に用意する必要がある。この場合、第１、第２のフローエントリは、ＣＡＭ内で互いに異なったエントリアドレスをもつため、フロー１が検出された場合と、フロー２が検出された場合では、検索結果保持テーブルから読み出される検出結果エントリが異なったものとなる。
【００１０】
ＣＡＭによるフロー識別方法を採用して帯域を監視するためには、フロー識別によって特定される検索結果エントリに、監視トラフィックの特性情報とパケットフローの状態を把握するための履歴情報とを格納しておき、パケット到着の都度、該当する検索結果エントリの履歴情報を更新し、パケットフローの現在の状態を特性情報に基づいて判定する必要がある。しかしながら、上述したように、フロー１とフロー２とで検索結果エントリが異なった場合、履歴情報がフロー毎に分かれたものとなるため、結果的に、フロー１とフロー２とを束にした形での帯域監視ができないと言う問題がある。
【００１１】
課金に使用する統計情報の収集においても、これと同様の問題が発生する。例えば、パケット数や送信メッセージ長をフロー毎に累計する場合、各フローと対応してカウンタ領域が必要となり、フロー１とフロー２をまとめた形で統計情報を収集するためには、共通のカウンタ領域が必要となる。しかしながら、ＣＡＭによる従来のフロー識別技術によれば、フロー１が検出された場合と、フロー２が検出された場合では、カウンタテーブルから読み出されるエントリが異なったものとなるため、カウンタ領域を共通化することができない。
【００１２】
本発明の目的は、複数のフローをまとめて１つのフロー束として扱うことが可能なパケット転送装置を提供することにある。
本発明の他の目的は、複数のフローをまとめて帯域監視または統計情報収集できるパケット転送装置用のフロー管理方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明のパケット転送装置は、入力パケットのヘッダ情報から該入力パケットが属するフローを識別し、識別されたフローに個別のフロー束識別子、または他の少なくとも１つのフローと共通のフロー束識別子を出力するフロー検出装置と、フロー束識別子と対応した複数の情報エントリを含む情報テーブルを備え、上記フロー検出装置から受信したフロー束識別子に基づいて、上記情報テーブルから１つの情報エントリを読出し、所定の演算処理を行う制御装置とからなることを特徴とする。
【００１４】
上記制御装置は、入力パケットのヘッダ情報と前記情報テーブルから読み出された情報エントリの内容に基づいて、該入力パケットの属するパケットフローの帯域監視、または入力パケットの属するパケットフローの統計情報収集のための演算処理を実行する。また、上記フロー検出装置は、例えば、フロー識別条件を定義した複数のフローエントリを記憶し、入力パケットのヘッダ情報に適合したフロー識別条件をもつフローエントリのアドレスを出力する連想メモリと、上記連想メモリから出力されたアドレスをフロー束識別子に変換するためのアドレス変換部とからなる。
【００１５】
本発明によるパケット転送装置におけるフロー管理方法は、入力パケットのヘッダ情報から該入力パケットが属するフローを識別するステップと、識別されたフローに個別のフロー束識別子、または他の少なくとも１つのフローと共通のフロー束識別子を割当てるステップと、フロー束識別子と対応して予め用意された情報エントリの内容と、上記入力パケットのヘッダ情報とに基づいて、所定の演算処理を実行するステップとからなることを特徴とする。
本発明が解決しようとするその他の課題、特徴および動作態様は、以下に図面を参照して行われる実施の形態の説明から明らかにされる。
【発明の効果】
【００１６】
本発明によれば、フロー識別条件が異なる複数のフローを１つのフロー束にまとめることが可能となるため、フロー束単位の帯域監視機能または統計処理機能をもつパケット転送装置を提供できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施例について図面を参照して説明する。
先ず、本発明によるパケット転送装置の第１の実施例として、フロー束単位の帯域監視機能を備えたルータについて説明する。
図１は、図２に示したエッジルータ２０２として適用可能なフロー束単位の帯域監視機能を備えたルータ１０のブロック構成図を示す。
【００１８】
ルータ１０は、それぞれ入力回線ＩＮｉ(ｉ＝１〜ｎ)に接続された複数の入力回線インタフェース１１ｉ(ｉ＝１〜ｎ)と、それぞれ出力回線ＯＵＴｉ(ｉ＝１〜ｎ)に接続された複数の出力回線インタフェース１２ｉ(ｉ＝１〜ｎ)と、出力回線インタフェース１２ｉ毎に設けられた出力バッファ１３ｉ(ｉ＝１〜ｎ)と、上記複数の入力回線インタフェース１１ｉおよび出力バッファ１３ｉに接続されたパケット中継部（パケットスイッチ部）１４と、各入力回線インタフェース１１ｉで受信された可変長パケットの転送先となる出力回線の判定（ルーティング）機能と帯域監視機能とを備えた制御部１５と、上記各入力回線インタフェース１１ｉから信号線Ｌ１ｉ(ｉ＝１〜ｎ)に出力されたパケットヘッダ情報を順次に制御部１５に供給する多重化回路１６と、制御部１５が信号線Ｌ２、Ｌ３に出力した出力回線識別子（出力回線番号）と帯域監視結果を各パケットヘッダ情報の送信元となる入力回線インタフェース１１ｉに供給する振り分け回路１７とからなる。
【００１９】
後述するように、制御部１５は、ルーティングテーブルと、ＣＡＭに接続されたアドレス変換テーブルと、該アドレス変換テーブルの出力に基づいてアクセスされる帯域監視テーブルとを備えており、これらのテーブルへのデータ設定は管理端末９０から信号線Ｌ４を介して行われる。
【００２０】
図３は、各入力回線ＩＮ−ｉで受信される可変長パケットのフォーマットの１例を示す。
各入力回線ＩＮ−ｉで受信される可変長の入力パケット５００は、ＯＳＩ参照モデルにおける第２層（データリンク層）のヘッダ情報を含むＬ２ヘッダ５４０と、第３層（ネットワーク層）のヘッダ情報を含むＬ３ヘッダ５２０と、Ｌ３データ部５１０とから構成される。Ｌ２ヘッダ５４０のフォーマットは、入力回線の種類によって異なり、入力回線ＩＮ−ｉがＥｔｈｒｅｎｅｔの場合、Ｌ２ヘッダ部３４０には、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、パケット（データ）長、その他の情報が含まれる。
【００２１】
Ｌ３ヘッダ５２０は、ネットワーク層のプロトコルがＩＰ（Internet Protocol）の場合、パケットの送信元端末を示す送信元ＩＰアドレス（ＳＩＰ：Source IP Address）５２１と、パケットの宛先端末を示す宛先ＩＰアドレス（ＤＩＰ：Destination IP Address）５２２と、パケットの優先度を示すサービスタイプ、パケット（データ）長、その他の情報を含む。ここでは、フロー識別動作の説明の都合上、第４層（トランスポート層）のプロトコルがＴＣＰ（Transmission Control Protocol）またはＵＤＰ（User Datagram Protocol）の場合のヘッダ情報、例えば、送信元プロトコル（上位アプリケーション）を示す送信元ポート（ＳＰＯＲＴ：Source Port）５２３と、宛先プロトコルを示す宛先ポート（ＤＰＯＲＴ：Destination Port）５２４も、Ｌ３ヘッダ５２０の一部として扱うことにする。尚、ここでは、ネットワーク層のプロトコルがＩＰの場合について説明するが、本発明のルータ１０は、ネットワーク層のプロトコルがＩＰ以外のもの、例えば、ＩＰＸ等であっても良い。
【００２２】
図４は、ルータ１０の内部におけるパケットのフォーマットを示す。
ルータ１０の内部では、図３に示した入力パケット５００からＬ２ヘッダ５４０を除去し、内部ヘッダ５３０を付加したフォーマットのパケット５０１となる。内部ヘッダ５３０は、パケットの全長を示すパケット長５３１と、パケットの入力回線の識別子を示す入力回線番号５３２と、パケットの転送先となる出力回線の識別子を示す出力回線番号５３３とを含む。以下に説明する実施例では、パケット長５３１の値を各入力パケットのパケット長として、各フローの帯域が監視される。
【００２３】
図５は、入力回線インタフェース１１−ｉと制御部１５の詳細を示す。
入力回線インタフェース１１−ｉは、入力回線ＩＮｉからの受信信号から入力パケット５００を再生し、データリンク層を終端してＬ２ヘッダを除去したパケットを出力するＬ２終端部１１１と、Ｌ２終端部１１１から受信した入力パケットに内部ヘッダ５３０を付加し、図４に示した内部パケット５０１として出力する内部ヘッダ付加部１１２と、内部パケット５０１を入力バッファ１１４に出力すると共に、内部パケット５０１から抽出したパケットヘッダ（内部ヘッダ５３０とＬ３ヘッダ５２０）を信号線Ｌ１−ｉに出力するパケットヘッダ抽出部１１３と、入力バッファ１１４に蓄積されたパケットのヘッダ情報の書き換えとパケット中継部１４への転送を制御するパケット転送制御部１１５と、入力バッファ１１４からヘッダ変換されたパケットを読み出すパケット読出し部１１６とからなる。内部ヘッダ付加部１１２は、Ｌ２終端部１１１から受信した入力パケットのバイト長をカウントし、内部ヘッダのパケット長５３１に設定する。また、予め指定してある入力回線ＩＮｉの識別子（番号）を入力回線番号５３２に書き込み、出力回線番号５３３には、無意味な値を設定する。
【００２４】
制御部１５は、ルーティング処理部２０と、フロー検出部３０と、帯域監視部４０とからなっている。
ルーティング処理部２０は、ルーティングテーブルを備え、多重化回路１６から信号線Ｌ１に出力されるパケットヘッダ情報から宛先ＩＰアドレス５２２を抽出し、ルーティングテーブルから上記宛先ＩＰアドレスと対応して予め登録されている出力回線識別子（出力回線番号）を読出して、信号線Ｌ２に出力する。
【００２５】
フロー検出部３０は、上記パケットヘッダ情報からフローを特定し、該フローが属するフロー束の識別子（フロー束番号）を信号線Ｌ５に出力する。帯域監視部４０は、後述するように、信号線Ｌ５から入力されたフロー束識別子に基づいて帯域監視テーブルから帯域監視制御パラメータを読出し、これらの制御パラメータと信号線Ｌ１から受信したパケットヘッダ情報中のパケット長に基づいて帯域監視処理を実行し、入力パケットのトラフィックフローが契約帯域を遵守しているか否かを示す帯域監視結果情報を信号線Ｌ３に出力する。
【００２６】
信号線Ｌ２に出力された出力回線識別子（出力回線番号）と、信号線Ｌ３に出力された帯域監視結果情報は、振り分け回路１７に入力される。振り分け回路１７には、信号線Ｌ１に出力されたパケットヘッダ情報中の入力回線番号５３２が制御信号として与えてあり、信号線Ｌ２、Ｌ３から入力された出力回線番号と帯域監視結果情報を、上記入力回線番号ｉで特定される入力回線インタフェース１１−ｉのパケット転送制御部１１５に振り分ける。
【００２７】
帯域監視結果情報が契約帯域の遵守を示していた場合、パケット転送制御部１１５は、入力バッファ１１４に蓄積された先頭パケットのヘッダに上記振り分け回路１７から受信した出力回線番号を出力回線番号５３３として書き込み、信号線Ｌ１１５を介して、パケット読出し部１１６に上記パケットの読出しを指示する。帯域監視結果情報が契約帯域の違反を示していた場合は、上記出力回線番号５３３の書き込みとパケット読出し部１１６へのパケットの読出しの指示は省略され、帯域違反のパケットが廃棄される。但し、帯域監視結果情報が契約帯域の違反を示していた場合に、例えば、パケットヘッダに含まれるサービスタイプが示す優先度情報を変更し、インターネット内でのパケット転送の優先度を下げた状態で、パケット読出し部１１６に違反パケットの読出しを指示するようにしてもよい。パケット転送制御部１１５は、入力バッファ１１４からのパケットの転送または廃棄の都度、入力バッファの読出しアドレスを次パケットの先頭アドレスに位置付けることによって、入力バッファ中の蓄積パケットを次々と転送制御する。
【００２８】
図５に示した実施例では、ルーティング処理部２０が複数の入力回線インタフェースで共用される構成となっているが、ルーティング処理部２０を各入力回線インタフェース１１−ｉに配置し、制御部１５がフロー検出部３０と帯域監視部４０を備えた構成としてもよい。
【００２９】
図１において、パケット中継部１４は、入力回線インタフェース１１ｉ（ｉ＝１〜ｎ）と接続される入力ポートＰＩｉ（ｉ＝１〜ｎ）と、出力バッファ１３ｉ（ｉ＝１〜ｎ）と接続される出力ポートＰＯｉ（ｉ＝１〜ｎ）とを備えており、各入力ポートＰＩｉから受信したパケットを出力回線番号５３３の値ｊで特定される出力ポートＰＩｊにスイッチングする。出力ポートＰＩｊから出力されたパケットは、送信バッファ１３−ｊに蓄積された後、出力回線インタフェース１２−ｊによって読み出され、内部ヘッダ５３０を除去し、出力回線ＯＵＴｊのデータリンク層プロトコルに従ったＬ２ヘッダを付加した形で、出力回線ＯＵＴｊに送出される。
【００３０】
図６は、フロー検出部３０の構成を示すブロック図である。
フロー検出部３０は、ＣＡＭ制御部３１と、ＣＡＭ３２と、アドレス変換部３３とからなる。本発明では、図７に示すように、上記ＣＡＭ３２に、フロー識別条件となるパケットヘッダ情報の特定の組み合わせを定義したフローエントリＥＮ−１〜ＥＮ−ｎを登録し、アドレス変換部３３が備えるアドレス変換テーブル３３２に、上記ＣＡＭ３２のフローエントリ・アドレスと対応してフロー束番号を示す複数のエントリＴＥ−１〜ＴＥ−ｎを登録しておく。
【００３１】
ＣＡＭ制御部３１は、信号線Ｌ１から受信したパケットヘッダ情報から上記フロー条件に該当する特定項目のヘッダ情報を抽出し、これを検索キー情報としてＣＡＭ３２をアクセスする。ＣＡＭ３２は、先頭のフローエントリＥＮ−１から順に、検索キー情報に適合するフローエントリを検索し、上記検索キー情報と一致したフロー識別条件をもつ最初に検索されたフローエントリＥＮ−ｋのアドレスを信号線Ｌ６に出力する。
【００３２】
上記フローエントリ・アドレスは、信号線Ｌ６を介してアドレス変換部３３に入力され、アドレス変換テーブル３３２から上記フローエントリ・アドレスと対応するエントリＴＥ−ｋが示すフロー束番号ｐが検索され、信号線Ｌ５に出力される。
信号線Ｌ５に出力されたフロー束番号ｐは、帯域監視部４０に入力される。
【００３３】
帯域監視部４０は、図７に示すように、フロー束番号と対応した複数の帯域監視制御情報エントリＣＥ−１〜ＣＥ−ｍをもつ帯域監視テーブル４３を備えており、帯域監視テーブル４３から上記信号線Ｌ５のフロー束番号ｐと対応する帯域監視制御情報エントリＣＥ−ｐを読出し、この帯域監視制御情報エントリが示す制御パラメータに従って入力パケットの帯域を監視する。
【００３４】
本発明では、フロー識別条件の異なる予め指定された複数のフローが同一のフロー束番号をもつように、アドレス変換テーブル３３２のエントリ内容を定義しておく。例えば、図７に示した例では、アドレス変換テーブル３３２の３つのエントリＴＥ−１、ＴＥ−２、ＴＥ−３で同一のフロー束番号を定義しておくことによって、ＣＡＭ３２のフローエントリＥＮ−１、ＥＮ−２、ＥＮ−３で識別される３つのフローに対して同一のフロー束番号を付与する。これによって、フローエントリＥＮ−１、ＥＮ−２、ＥＮ−３で識別された３つのフローを帯域監視制御エントリＣＥ−１が示す同一の制御パラメータに従って帯域監視することが可能となる。
【００３５】
図８は、ＣＡＭ３２に登録されるフローエントリＥＮ−ｉ（ｉ＝１〜ｎ）の１実施例を示す。
この例では、各フローエントリＥＮ−ｉは、パケットヘッダ情報に含まれる送信元ＩＰアドレス（ＳＩＰ）３２１、宛先ＩＰアドレス（ＤＩＰ）３２２、送信元ポート（ＳＰＯＲＴ）３２３、宛先ポート（ＤＰＯＲＴ）３２４、入力回線番号３２５からなり、これらの項目の組み合わせによってフローの識別条件が定義される。
【００３６】
ＣＡＭ３２へのフローエントリの設定は、ルータ１０の管理者によって、管理端末９０から行われる。管理端末９０から信号線Ｌ４に、ＣＡＭ書き込み命令と、ＣＡＭ３２のアドレスと、書き込みデータ（エントリの内容）とを含む制御メッセージを送信すると、ＣＡＭ制御部３１が上記メッセージを取り込み、ＣＡＭ内の指定のアドレスにデータを書き込む。ＣＡＭ制御部３１は、信号線Ｌ１からパケットヘッダ情報を受信すると、上述したフロー識別条件となるＳＩＰ：５２１、ＤＩＰ：５２２、ＳＰＯＲＴ：５２３、ＤＰＯＲＴ：５２４、入力回線番号５３２を抽出し、フロー検出キーとしてＣＡＭ３２に与える。
【００３７】
図９は、アドレス変換部３３の構成を示すブロック図である。
アドレス変換部３３は、アドレス変換テーブル制御部３３１と、アドレス変換テーブル３３２とからなる。アドレス変換テーブル制御部３３１は、信号線Ｌ６からフローエントリ・アドレスを受信すると、これを読み出しアドレスとしてアドレス変換テーブル３３２をアクセスする。上記アドレス変換テーブル制御部３３１へのエントリ（フロー束番号）ＴＥ−１〜ＴＥ−ｎの設定は、ＣＡＭ３２の場合と同様に、管理端末９０によって行われる。管理端末９０から信号線Ｌ４に、アドレス変換テーブルへの書き込み命令と、テーブルアドレスと、書き込みデータ（フロー束番号）とを含む制御メッセージを送信すると、アドレス変換テーブル制御部３３１が上記制御メッセージを取り込み、アドレス変換テーブル３３２の指定のアドレスにフロー束番号を書き込む。
【００３８】
次に、帯域監視部４０の構成と動作について説明する。
ここでは、帯域監視アルゴリズムとして、ＡＴＭ（Asynchronous Transfer Mode）網に代表される固定長パケット通信網でコネクション毎のパケットフローの帯域計測技術として知られているリーキーバケット・アルゴリズム（Continuous state Leaky Bucket Algorithm）を可変長パケット網用に変更して使用する場合について説明する。リーキーバケット・アルゴリズムに関しては、例えば、The ATM Forum Specification version 4.1の4.4.2章に記載されている。
【００３９】
リーキーバケット・アルゴリズムでは、パケットフローの帯域をコネクション毎に用意された或る深さを持った穴開きバケツ（漏れバケツ）の蓄積水量によってモデル化する。漏れバケツには、当該コネクションのセルが到着する度に、１セル分の水量が注がれ、漏れバケツに蓄積された水は、コネクション毎の契約帯域に比例した一定のレートで漏れ続ける。同一コネクションに属したセルが或る程度の範囲内でバースト的に送信されるのを許容するために、漏れバケツには許容可能な蓄積水量が予め決められている。同一コネクションに属したセルが頻繁に到着すると、漏れバケツに注ぎ込まれる水量が漏れ水量よりも多くなり、バケツの水位が上昇する。リーキーバケット・アルゴリズムでは、漏れバケツが溢れない限り契約帯域は「遵守」されているものと判断し、漏れバケツが溢れ状態になった時、契約帯域に「違反」した過剰なセルフロー（トラフィック）が発生したものと判定する。本実施例では、パケット到着時に漏れバケツに注ぎ込む水量をパケット長に応じて可変にすることによって、リーキーバケットによる可変長パケットの帯域監視を可能とする。
【００４０】
図１０は、帯域監視部４０の構成を示すブロック図である。
帯域監視部４０は、フロー束番号と対応するリーキーバケットの残り水量を算出する残り水量算出部４１と、パケット流量が契約帯域を遵守しているか否かの判定し、判定結果を出力する監視結果出力部４２と、帯域監視テーブル４３と、帯域監視テーブル４３からフロー束番号と対応する１つの帯域監視制御情報エントリを読み出す帯域監視テーブル制御部４４とから構成される。
【００４１】
図１１は、帯域監視テーブル４３の構成を示す。
帯域監視テーブル４３は、フロー検出部３０から信号線Ｌ５に出力されるフロー束番号と対応したｍ個（ｍ≦ｎ、ｎはＣＡＭ３２におけるフローエントリの個数）の帯域監視制御情報エントリＣＥ−ｉ（ｉ＝１〜ｍ）からなり、各帯域監視制御情報エントリＣＥ−ｉは、監視対象となるパケットフロー束（トラヒック）の特性を示す監視トラヒック特性情報と、パケットの到着履歴を示すパケット到着履歴情報とからなっている。
【００４２】
各帯域監視制御情報エントリＣＥ−ｉは、監視トラヒック特性情報として、例えば、バースト許容度によって決まるバケツの深さに相当する閾値（Threshold）ＴＨＲ（Ｂｙｔｅ）：４３１と、バケツからの水漏れ速度に相当する契約帯域（監視帯域：Policing Rate）ＰＯＬＲ（Ｂｙｔｅ／ｓｅｃ）：４３２とを含み、パケット到着履歴情報として、同一パケットフロー束における前回のパケットの到着時刻（Time Stamp）を示すＴＳ（ｓｅｃ）：４３３と、同一パケットフロー束における前回の帯域監視時に算出されたバケツの蓄積水量（Count値）を示すＣＮＴ（Ｂｙｔｅ）：４３４とを含む。
【００４３】
この実施例では、残り水量算出部４１は、現在時刻（ｓｅｃ）を示すタイマー４１２と、ＰＯＬＲ格納レジスタ４１３、ＴＳ格納レジスタ４１４、ＣＮＴ格納レジスタ４１５と、これらの要素に接続された残り水量算出回路４１１とからなっている。また、監視結果出力部４２は、パケット長格納レジスタ４２２およびＴＨＲ格納レジスタ４２３と、これらのレジスタの内容から契約帯域の違反の有無を判定する帯域判定回路４２１とからなっている。レジスタ４１３、４１４、４１５、４２３には、帯域監視テーブル制御部４４によって、信号線Ｌ４から受信したフロー束番号と対応して帯域監視テーブル４３から読み出された帯域監視制御情報エントリが示すＰＯＬＲ４３２、ＴＳ４３３、ＣＮＴ４３４、ＴＨＲ４３１の値が設定される。
【００４４】
図１２は、帯域監視部４０の動作を示すフローチャートである。
帯域監視部４０の動作は、開始処理１１００と、残り水量算出処理１１１０と、判定処理１１２０とに大別され、処理１１１０と１１２０は、それぞれ残り水量算出部４１と監視結果出力部４２の動作に対応している。
【００４５】
帯域監視部４０は、信号線Ｌ１からパケットヘッダ情報を受信すると、パケットヘッダ情報から抽出されたパケット長５３１を監視結果出力部４２のパケット長格納レジスタ４２２に格納する（ステップ１１０１）。また、信号線Ｌ５からフロー束識別子ｐを受信すると、帯域監視テーブル制御部４４が、帯域監視テーブル４３から上記フロー束識別子ｐと対応する帯域監視制御情報エントリＣＥ−ｐを読み出し、帯域監視制御情報エントリＣＥ−ｐが示すＰＯＬＲ４３２、ＴＳ４３３、ＣＮＴ４３４、ＴＨＲ４３１の値をレジスタ４１３、４１４、４１５、４２３にそれぞれ設定する（ステップ１１０２）。
【００４６】
残り水量算出部４１の中枢部となる残り水量算出回路４１１は、タイマー４１２から現時刻を取り込み、これとレジスタ４１４が示す前のパケットの到着時刻との差分から、判定対象パケットが属するフロー束における前回の判定処理からの経過時間（ｓｅｃ）を計算する（ステップ１１１１）。次に、上記経過時間にＰＯＬＲ格納レジスタ４１３が示す監視帯域の値を乗算することによって、上記経過時間におけるバケツからの漏れ水量を計算し（ステップ１１１２）、ＣＮＴ格納レジスタ４１５が示す前回のバケツ蓄積水量ＣＮＴ４３４から上記漏れ水量を減算することによって、今回の判定対象パケットが到着する直前のバケツ残り水量を算出する（ステップ１１１３）。残り水量算出回路４１１は、上記バケツ残り水量の正負を判定し（ステップ１１１４）、バケツ残り水量が負の場合は、バケツ残り水量の値を初期値０に設定（ステップ１１１５）した後、バケツ残り水量を帯域判定回路４２１に通知する。この時、信号線Ｌ４１１を介して残り水量算出回路４１１から帯域監視テーブル制御部４４に、ステップ１１１１で使用した現在時刻の値が新たな到着時刻ＴＳとして通知される。
【００４７】
帯域判定回路４２１は、残り水量算出回路４１１からバケツ残り水量を受信すると、上記バケツ残り水量（Ｂｙｔｅ）にパケット長格納レジスタ４２２が示すパケット長（Ｂｙｔｅ）５３１の値を加算することによって、新たなパケットが到着した直後のバケツ蓄積水量を算出する（ステップ１１２１）。帯域判定回路４２１は、上記バケツ蓄積水量をレジスタ４２３が示す閾値ＴＨＲ４３１と比較する（ステップ１１２２）。バケツ蓄積水量が閾値ＴＨＲを超えていた場合、帯域判定回路４２１は、信号線Ｌ３に契約帯域の違反を示す信号を出力すると共に、パケット長加算前のバケツ蓄積水量であるバケツ残り水量の値を信号線Ｌ４２１に出力する（ステップ１１２４）。もし、バケツ蓄積水量が閾値ＴＨＲを超えていなければ、帯域判定回路４２１は、信号線Ｌ３に契約帯域の遵守を示す信号を出力すると共に、パケット長加算後のバケツ蓄積水量の値を信号線Ｌ４２１に出力する（ステップ１１２３）。
【００４８】
帯域監視テーブル制御部４４は、信号線Ｌ４２１からバケツ蓄積水量またはバケツ残り水量の値を受信すると、これを帯域監視制御情報エントリＣＥ−ｐのＣＮＴ４３４に書き込み、既に信号線Ｌ４１１を介して受信済みの到着時刻ＴＳを上記帯域監視制御情報エントリＣＥ−ｐのＴＳ４３４に書き込む（ステップ１１２５）。
【００４９】
上記実施例のルータ構成によれば、複数のフローを集約して帯域監視を行うことが可能となる。従って、本発明のルータ１０を図２のエッジルータ２０２に適用した場合、ＣＡＭ３２に、回線２０６から入力されるサイトＡ１のパケットフローを識別するためのフローエントリと、回線２０７から入力されるサイトＡ２のパケットフローを識別するためのフローエントリを設定しておき、これらのフローエントリ・アドレスでアクセスされるアドレス変換テーブル３３２の２つのエントリに同一フロー束番号を定義しておくことによって、上記２つのフローを１つのフロー束に集約できる。また、帯域監視テーブル４３に用意される上記フロー束番号と対応した帯域監視制御情報エントリのＰＯＬＲ４３２として、これら２つのフローの契約帯域合計値を定義しておくことによって、異なった回線２０６、２０７から入力されたパケットフローを１つのグループとして帯域監視することが可能となる。
【００５０】
次に、本発明によるパケット転送装置の第２の実施例として、フロー束単位の統計情報収集機能を備えたルータについて説明する。
第２の実施例のルータは、異なる入力回線から入力される複数のパケットフローを１つのフロー束にまとめ、各フローのパケット数やバイト数をフロー束単位でまとめて集計する統計情報収集機能を備えたものであって、制御部１５の構成が第１実施例とは異なる。
【００５１】
図１３は、フロー束単位の統計情報収集機能をもつルータ１０が備える制御部１５Ｓの構成を示す。図５に示した実施例と比較すると、帯域監視部４０が統計情報収集部５０に置き換えられ構成となっている。
統計情報収集部５０は、例えば、図１４に示すように、統計情報を格納するための統計テーブル５１と、統計テーブル制御部５２と、パケット長格納レジスタ５３とからなる。レジスタ５３には、信号線Ｌ１から受信したパケットヘッダ情報から抽出したパケット長５３１が設定される。また、上記統計テーブル５１は、例えば、図１５に示すように、フロー束番号に対応した複数の統計情報エントリ５１０−ｉ（ｉ＝１〜ｋ）からなり、各統計情報エントリ５１０−ｉは、フロー束に属した入力パケットのパケット長（バイト数）の総和を示すバイトカウンタ５１１と、入力パケット数を示すパケットカウンタ５１２とからなっている。
【００５２】
統計テーブル制御部５２は、フロー検出部３０が信号線Ｌ５に出力したフロー束番号ｐを受信すると、統計テーブル５１から上記フロー束番号ｐと対応する統計情報エントリ５１０−ｐを読出し、バイトカウンタ５１１が示す値にレジスタ５３に設定されたパケット長を加算し、パケットカウンタ５１２が示す値に１を加算し、内容が更新された統計情報エントリ５１０−ｐを統計テーブル５１に書き戻す。上記統計テーブル５１に内容は、管理端末９０から信号線Ｌ４に出力された制御メッセージに応答して、統計テーブル制御部５２を経由して、信号線Ｌ４に読み出される。
【００５３】
図１６は、本発明によるパケット転送装置の第３の実施例として、出力パケットからフロー束単位の統計情報を収集する機能を備えたルータの主要部を示す。
第３実施例のルータでは、各出力回線インタフェース１２−ｉ（ｉ＝１〜ｎ）が、出力パケットから内部ヘッダ５３０とＬ３ヘッダ５２０とからなるパケットヘッダ情報を抽出し、これを信号線Ｌ１０−ｉに出力する。信号線Ｌ１０−ｉに出力されたパケットヘッダ情報は、多重化回路１７Ｔを介して信号線Ｌ１０に出力され、送信側制御部１５Ｔに入力される。
【００５４】
送信側制御部１５Ｔは、フロー検出部３０Ｔと統計情報収集部５０Ｔとからなる。フロー検出部３０Ｔは、図１３に示した第２実施例のフロー検出部３０と同様の機能を備えており、信号線Ｌ１０から受信したパケットヘッダ情報に基づいて検索したフロー束番号を信号線Ｌ５０に出力する。統計情報収集部５０Ｔは、図１３に示した第２実施例の統計情報収集部５０と同様の機能を備えており、信号線Ｌ１０に出力されたパケットヘッダ情報から抽出したパケット長５３１と、信号線Ｌ５０から受信したフロー束番号に基づいて、統計テーブルの統計情報エントリの内容を更新する。
【００５５】
上述した第１、第２の実施例では、パケット中継部１４に接続される全ての入力回線インタフェース１２−ｉ（ｉ＝１〜ｎ）を多重化回路１６と振り分け回路１７を介して１つの制御部１５に結合した構成となっているが、本発明の変形例として、入力回線インタフェース１１−ｉ（ｉ＝１〜ｎ）を複数のグループに分割し、グループ毎に制御部１５を配置した構成としてもよい。
【００５６】
また、本発明の更に他の変形例として、上述したフロー束単位の帯域監視機能または統計処理機能をもつ制御部１５を各入力回線インタフェースに個別に設けた構成としてもよい。この場合、入力回線が異なる複数のフローを１つのフロー束にまとめることはできないが、同一入力回線上に多重化された複数フローを対象として、第１、第２の実施例と同様、フロー束単位の帯域監視または統計処理が可能となる。
【図面の簡単な説明】
【００５７】
【図１】本発明によるルータ１０の第１の実施例を示すブロック構成図。
【図２】本発明のルータが適用されるＩＰネットワークの１例を示す図。
【図３】本発明のルータに入力されるパケットのフォーマットを示す図。
【図４】本発明のルータの内部で転送されるパケットのフォーマットを示す図。
【図５】図１に示した入力回線インタフェース１１−ｉと制御部１５の詳細を示すブロック図。
【図６】図５に示したフロー検出部３０の詳細を示すブロック図。
【図７】図５に示したフロー検出部３０が備えるＣＡＭ３２およびアドレス変換テーブル３３２のエントリと、帯域監視部４０が備える帯域監視テーブル４３のエントリとの関係を説明するための図。
【図８】ＣＡＭ３０に登録されるフローエントリのフォーマットを示す図。
【図９】図６に示したアドレス変換部３３の詳細を示すブロック図。
【図１０】図５に示した帯域監視部４０の１実施例を示すブロック図。
【図１１】帯域監視部４０が備える帯域監視テーブル４３のエントリフォーマットを示す図。
【図１２】帯域監視部４０の動作を示すフローチャート。
【図１３】本発明の第２の実施例によるルータ１０が備える制御部１５Ｓの構成を示すブロック図。
【図１４】図１３に示した統計情報収集部５０の詳細を示すブロック図。
【図１５】図１４に示した統計テーブル５１のエントリフォーマットを示す図。
【図１６】本発明の第３の実施例によるルータ１０の主要部を示すブロック図。
【符号の説明】
【００５８】
１１：入力回線インタフェース、１２：出力回線インタフェース、
１３：出力バッファ、１４：パケット中継部、１５：制御部、
１６：多重化回路、１７：振り分け回路、２０：ルーティング処理部、
３０：フロー検出部、３２：ＣＡＭ、３３：アドレス変換部、
３３２：アドレス変換テーブル、４０：帯域監視部、
４３：帯域監視テーブル、５０：統計情報収集部。
【図１】
0004523615.tif 000002
【図２】
0004523615.tif 000003
【図３】
0004523615.tif 000004
【図４】
0004523615.tif 000005
【図５】
0004523615.tif 000006
【図６】
0004523615.tif 000007
【図７】
0004523615.tif 000008
【図８】
0004523615.tif 000009
【図９】
0004523615.tif 000010
【図１０】
0004523615.tif 000011
【図１１】
0004523615.tif 000012
【図１２】
0004523615.tif 000013
【図１３】
0004523615.tif 000014
【図１４】
0004523615.tif 000015
【図１５】
0004523615.tif 000016
【図１６】
0004523615.tif 000017