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