(57)【要約】【課題】不正フローの疑いのあるフローを特定し、そのフローのフロー統計情報を収集できる情報中継装置を提供する。【解決手段】装置管理部２の廃棄情報解析部２０は、パケット受信部４の帯域監視部４２やパケット送信部５の帯域制御部５２による廃棄パケット数や受信パケット数または送信パケット数を解析し、解析結果に応じてＯＵＴ側フロー制御部６−１やＩＮ側フロー制御部６−２にフロー制御の対象となるフローの識別情報を自動的に設定する。ＯＵＴ側フロー制御部６−１やＩＮ側フロー制御部６−２は、設定されたフロー識別情報を用いて対象フローに属するパケットからフロー統計情報を採取する【選択図】  図１
2005277804.tif 000002
【特許請求の範囲】
【請求項１】
複数の回線と接続され、パケットを中継する情報中継装置において、
パケットを受信または送信する送受信部と、
パケットの転送先を決定する中継部と、
受信または送信するパケットに対してポリシングまたはシェーピングを実行し、ユーザ毎に決められた契約帯域に違反すると判定したパケットの数を計数する帯域制御部と、
受信または送信するパケットのうちヘッダに含まれる情報が予め登録されたフロー識別情報と一致するパケットを検出し、フロー統計情報を収集するフロー制御部と、
前記帯域制御部により計数された前記パケットの数が予め決められた閾値を超える場合、前記パケットが属するフローの識別情報を前記フロー制御部に登録する解析部とを有することを特徴とする情報中継装置。
【請求項２】
請求項１記載の情報中継装置において、
前記解析部は、前記帯域制御部により計数された前記パケットの数を定期的に前記帯域制御部より取得し、前記閾値と比較することを特徴とする情報中継装置。
【請求項３】
請求項１記載の情報中継装置において、
前記解析部は、少なくともユーザ識別情報、フロー識別情報及び前記閾値を対応付けて記憶するフロー検出用メモリを備え、前記パケットの数と共に前記帯域制御部から取得する前記パケットのユーザの識別情報と一致する前記ユーザ識別情報と対応付けられた前記フロー識別情報及び前記閾値を前記フロー検出用メモリから読出し、前記パケットの数が前記閾値を超える場合、読み出した前記フロー識別情報を前記帯域制御部に登録することを特徴とする情報中継装置。
【請求項４】
請求項１記載の情報中継装置において、
前記フロー制御部は、前記解析部により前記フロー識別情報が登録されるフロー条件メモリを備え、前記帯域制御部により契約帯域違反と判定されたパケットの数が前記閾値を超えるフローに属するパケットを前記フロー条件メモリに登録された前記フロー識別情報を用いて検出し、前記検出したパケットからフロー統計情報を収集することを特徴とする情報中継装置。
【請求項５】
請求項４記載の情報中継装置において、
前記フロー制御部により収集されたフロー統計情報を、前記情報中継装置に接続されたフロー統計解析装置に送信する統計情報送信部を更に備えることを特徴とする情報中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報中継技術に関し、特にルータ、ＬＡＮスイッチ等の情報中継装置に適用して有効な技術に関する。
【背景技術】
【０００２】
例えばルータやＬＡＮスイッチ等の情報中継装置は、受信パケット中のインターネット用のアドレスと、情報中継装置内に格納している経路情報テーブルに従って、パケットの送出経路を決定し、パケットを送出する。
【０００３】
近年、インターネットへの接続網として通信事業者（例えばＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）等）から提供される公衆網やアクセス網（例えば地域ＩＰ網等）は、専用線から広域イーサネット（Ｒ）へ移行が進んでおり、パケットの通信量の増加やアクセス網の利用ユーザ数の増加が顕著となっている。情報中継装置は、１０Ｇｂｐｓ（Ｇｉｇａ  ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）等の帯域を持つ高速イーサネット（Ｒ）回線（以下、回線）の収容数を増加させ、パケットの中継処理を非常に高速に処理するための機能を備える。
【０００４】
また、ベストエフォートでパケットを転送する広域イーサネット（Ｒ）網において、網利用ユーザ（以下、ユーザ）毎の最低保証帯域等の契約帯域を確保するべく、各ユーザの許容帯域を超えるパケットフローに対しては、帯域超過分に限りパケットを廃棄する機能も備える、このような機能により、情報中継装置は、網内におけるパケットの輻輳による他のユーザの通信帯域に影響が出ることを防止し、各ユーザとの契約帯域を遵守する。さらに、音声やデータ等を通信するための統合ネットワークにおける情報中継装置は、パケットによりデータを送受信するアプリケーション（以下、パケットのアプリケーション）種別毎に異なる優先度で転送する機能も備える。これにより、情報中継装置は、パケットのアプリケーション毎に予め定めた基準で転送優先度を判別し、音声等の低遅延での転送が要求されるパケットを、比較的遅延が許されるデータ用のパケットよりも優先して転送する。
【０００５】
このように、ユーザ毎に許容帯域を超えるパケットを制限し、または、パケットのアプリケーション種別毎に異なる転送優先度にてパケットを転送する、シェ-ピングと呼ばれる技術が特開２００２−１８５４５９号公報に記載されている。尚、シェーピングを実行する装置をここではシェーパと呼ぶ。
【０００６】
シェーパは、公衆網やアクセス網等（以下、通信網）の出口（通信網とユーザ網との境界）に配置された情報中継装置に置かれる。シェーパは、通信網の管理者（以下、網管理者）とユーザ間の契約により決定される最低保証帯域や最大許可帯域等の契約帯域情報をユーザ毎に管理する。そして、任意のユーザの利用帯域が例えば最大許可帯域を超過した場合、シェーパは帯域超過分に限りパケットを廃棄する。これにより、ユーザ毎に通信帯域が最大許可帯域を超過することを制限して他のユーザの通信帯域が阻害されることを防ぎ、各ユーザの最低保証帯域を確保する。一方、回線の余剰帯域については、契約している最低保証帯域と網資源の使用状況を考慮して各ユーザに公平に分配することで、シェーパは回線を効率的に利用する。また、シェーパは、ユーザ毎に転送優先度の異なる複数の仮想通信パスを用意し、パケットのアプリケーションに応じて、仮想通信パスにパケットを振り分けることにより、パケットのアプリケーション毎に異なる転送優先度でパケットを送信する。これにより、契約している全てのユーザ毎に最低帯域を保証し、パケット毎の要求品質を確保する。尚、パケットの振り分けは、例えばシェーパの送信部に転送優先度の異なる複数の送信キューを設け、これらの送信キューにパケットを振り分けることにより実現される。
【０００７】
また、契約帯域以上のパケットが例えば通信網内に流入すると、網内または情報中継装置内で輻輳が発生し、網管理者は各ユーザとの契約帯域を遵守できなくなってしまう可能性がある。そのため、網管理者は網入口において、ユーザ毎に使用帯域を監視し、契約帯域以上のパケットを廃棄する等の処理を行い、網内の資源を保護する必要がある。このための手段としては、例えば特開２００３−０４６５５５号公報に記載されたＵＰＣ（Ｕｓａｇｅ  Ｐａｒａｍｅｔｅｒ  Ｃｏｎｔｒｏｌ）またはポリシングと呼ばれる技術がある。尚、ＵＰＣまたはポリシングを実行する装置をここではポリサと呼ぶ。
【０００８】
ポリサは、通信網の入口（ユーザ網と通信網との境界）に配置された情報中継装置に置かれる。ポリサによる帯域監視のアルゴリズムには、例えばある深さを持った穴のあいた漏れバケツを用いたモデルで表されるＬＢ(Ｌｅａｋｙ Ｂｕｃｋｅｔ)アルゴリズムがある。ポリサとしてＬＢアルゴリズムを用いて帯域監視を行う情報中継装置は、バケツの深さに対応する蓄積量閾値情報と、水の漏れる速さであり、契約帯域に対応する監視帯域情報と、前パケットが到着した時間である前パケット到着時刻情報を備え、パケット受信時に、受信したパケットの長さを加えたパケットの蓄積量を計算し、その蓄積量が閾値情報以下である場合には受信パケットを「遵守」と判定し、逆に閾値情報を超過する場合には受信パケットを「違反」と判定することで、契約帯域違反の監視を行う。
【０００９】
更に、通信量の増加やパケットのアプリケーション種別の多様化に伴い、網管理者からは、通信網内の監視や利用量の把握、利用量に応じた課金等の管理機能が求められている。このような要求に応えるべく、情報中継装置は、通信網内のトラフィックをモニタする機能として、中継するパケットの統計的な情報（フロー統計情報）を収集するフロー統計機能を備える。ここで、フローとは任意の送信元と宛先との間で任意のデータを伝送するために送受信される一連のパケットを指す。網管理者は、フロー統計機能によって収集されたフロー統計情報を基に、通信網の使用状況やユーザ毎の利用状況等を把握する。このようなフロー統計機能に関しては、例えばＩＥＴＦ（Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）発行のＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  ｃｏｍｍｅｎｔ）３１７６に記載されたｓＦｌｏｗ技術等がある。
【００１０】
例えば、ｓＦｌｏｗ技術によれば、フロー統計情報として、転送パケット情報を収集するためのフローサンプルと、転送パケット数を把握するためのカウンタサンプルがそれぞれ採取される。フローサンプルの採取では、情報中継装置は、予め決められたサンプリング間隔で、中継するパケットからヘッダ情報等の特徴情報を抽出する。また、情報中継装置は、通信網とのインタフェースにおいて、転送するパケット数をカウントするカウンタを備え、パケットを転送する度にカウント値を加算することによりカウンタサンプルを採取する。このように採取されたサンプルは、情報中継装置から例えばフロー解析装置にリアルタイムに送信される。フロー解析装置は、情報中継装置から送られたサンプルを集計、編集及び表示する機能を有する装置である。網管理者はフロー解析装置を用いて情報中継装置が中継するパケットのサンプルを解析することで、通信網の使用状況やユーザ毎の利用状況を把握し、また、解析結果を課金、アタック解析または通信網への設備投資計画等に利用する。尚、ｓＦｌｏｗ技術においてサンプル採取の対象となるパケットは、情報中継装置が中継する全てのパケットである。このため、網管理者は、情報中継装置により中継されるフローの状況をより正確に把握することができる。また、パケットのサンプリング間隔を例えば１／１とすることにより、情報中継装置は、全てのパケットについてフローサンプルを採取することも可能である。
【００１１】
【特許文献１】特開２００２−１８５４５９号公報
【特許文献２】特開２００３−０４６５５５号公報
【非特許文献１】Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔ  ３１７６  「ＩｎＭｏｎ  Ｃｏｒｐｏｒａｔｉｏｎ'ｓ  ｓＦｌｏｗ：Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍｏｎｉｔｏｒｉｎｇ  Ｔｒａｆｆｉｃ  ｉｎ  Ｓｗｉｔｃｈｅｄ  ａｎｄ  Ｒｏｕｔｅｒ  Ｎｅｔｗｏｒｋｓ」
【発明の開示】
【発明が解決しようとする課題】
【００１２】
インターネットの普及に伴い、通信網内またはサーバに大量の不正パケットを送付し、過剰な負荷を与えることによって通信サービスを停止させることを目的とした攻撃（ＤｏＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃）が多発している。ベストエフォートで中継する広域イーサネット（Ｒ）網においては、ＤｏＳ攻撃により送り込まれた大量の不正パケットによって網資源が占有されてしまい、回線または情報中継装置を利用するユーザの通信帯域が阻害されてしまう。このような、帯域違反フローや不正フローから各ユーザの通信帯域を保護するには、上述したシェーパが有効である。不正パケットが一定の送信元（攻撃元）から一定の宛先（攻撃先）に大量送付される場合、シェーパは、不正フローによる利用帯域を制限できるため、他のユーザの通信帯域を確保できる。しかし、この場合、攻撃先への他の正常フローの通信帯域は阻害されてしまう。
【００１３】
また、近年増加しているＤＤｏＳ攻撃（Ｄｉｓｔｒｉｂｕｔｅｄ ＤｏＳ攻撃）のように、複数の攻撃元から一つの攻撃先に大量の不正パケットが送信される場合には、一つの攻撃元からの不正フローは通常フローのように振舞うが、全体として攻撃先へ大量の不正パケットが送信されてしまう。このような攻撃に対しては、網管理者は攻撃先と攻撃元を特定し、また、不正フローの特徴情報を特定し、不正フローに対して対策を施す必要がある。このようなＤｏＳ攻撃やＤＤｏＳ攻撃における攻撃先あるいは攻撃元を特定するには、上述したフロー統計技術が有効である。網管理者は、情報中継装置のフロー統計機能により収集されたサンプルを解析することにより、特定の宛先に大量に送付されているような不正フローを発見し、攻撃元や攻撃先、不正フローの特徴情報を特定する。さらに、特定されたフローと同じ送信元、宛先、その他の特徴情報を持つパケットを廃棄するように情報中継装置に設定する。これにより、通信網内の不正フローに対する対策が可能である。
【００１４】
更に、シェーパにおいて不正フローに対する許容帯域をより小さく設定することで、ＤｏＳ攻撃による通信網内の影響を少なくすることもできる。
【００１５】
但し、不正フローのように、攻撃が開始される以前には、いつ、どの送信元からどの宛先に送付されるか予測不能なフローについて、攻撃が開始された時点で即座に不正フローと特定するためには、常時、情報中継装置のフロー統計機能による全ての中継パケットのサンプル採取と、網管理者によるフロー解析装置を用いたフロー監視作業が必要となる。しかし、情報中継装置は、１０Ｇｂｐｓ等の高速回線の収容数の増加やユーザ数の増加等により、大量の正常なパケットを処理しているため、採取されるサンプルも大量である。従って、網管理者も大量のサンプルを解析しなければならず、情報中継装置により中継されるフローの中から少数の不正フローを特定するには多くの時間が必要となる。よって、網管理者は、即座に不正フローを特定して、その対策を施すことができないという問題がある。
【００１６】
従って、本発明は、不正フローによる輻輳を自動的に検知し、輻輳発生時にのみ自動的にフロー統計情報を採取することで、網管理者の解析する情報量を削減することが可能な情報中継装置を提供する。
【００１７】
また、本発明は、不正フローの特徴情報を抽出して自動的にフローの絞り込みを行い、絞り込まれたフローに対してのみフロー統計情報を採取することで、網管理者によるフロー統計情報の解析と不正フローの特定を容易にすることが可能な情報中継装置を提供する。
【００１８】
更に、本発明は、特定された不正フローに対する廃棄等の設定を自動的に行える情報中継装置を提供する。
【課題を解決するための手段】
【００１９】
本発明による情報中継装置は、受信するパケットに対してポリシングを実行し、ユーザ毎に決められた契約帯域に違反すると判定したパケットの数を計数する帯域監視部、または、送信するパケットに対してシェーピングを実行し、ユーザ毎に決められた契約帯域に違反すると判定したパケットの数を計数する帯域制御部を有する。更に情報中継装置は、受信または送信するパケットのうちヘッダに含まれる情報が予め登録されたフロー識別情報と一致するパケットを検出し、フロー統計情報を収集するフロー制御部と、帯域監視部または帯域制御部により計数されたパケットの数が予め決められた閾値を超える場合、それらのパケットが属するフローの識別情報をフロー制御部に登録する解析部を有する。この情報中継装置において、フロー制御部は、帯域監視部または帯域制御部により契約帯域違反と判定されたパケットの数が所定の閾値を超えるフローに属するパケットを、解析部により登録されるフロー識別情報を用いて検出し、検出したパケットからフロー統計情報を収集する
【発明の効果】
【００２０】
情報中継装置が、例えば輻輳が発生してパケットが廃棄されているフローのうち廃棄数が異常なフローを特定し、そのフローに関するフロー統計情報を採取するため、情報中継装置からフロー統計情報を受け取るフロー統計解析装置では、情報中継装置が中継する異常なフローを解析することができ、ＤｏＳ攻撃やＤＤｏＳ攻撃に利用される不正フローや契約帯域違反フローをより容易にまたはより高速に特定することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の一実施例を図面を参照しながら詳細に説明する。
【００２２】
図１は、本発明を適用した情報中継装置の全体構成図である。また、図１２から図２は情報中継装置内の各部の詳細構成図である。以降、情報中継装置を構成する各部の構成について説明し、その後フローチャートを用いて各部の動作手順を説明する。
【００２３】
まず、図１を用いて情報中継装置１の構成を説明する。
【００２４】
情報中継装置１は、装置全体の制御及び管理を行う装置管理部２と、１つ以上の回線と接続され、接続された回線からパケットを受信する１または複数のパケット受信部４と、１つ以上の回線と接続され、接続された回線にパケットを送信する１または複数のパケット送信部５と、受信したパケットに含まれるヘッダの情報に基づいて次の転送先を決定するパケット中継部７と、パケット受信部４からパケット送信部５へのパケットの中継を行うスイッチ部８と、受信したパケットに対するフロー制御を行う入力（ＩＮ）側フロー制御部６−２と、送信すべきパケットに対するフロー制御を行う出力（ＯＵＴ）側フロー制御部６−１から構成される。また、情報中継装置１は、後述するようにフロー統計情報送信モジュール３を備え、外部に用意されたフロー統計解析装置１２に接続される
装置管理部２は、図示しないが、装置全体の制御ソフトウェアや、各種のソフトウェアを格納するメモリと、制御ソフトウェアや各種のソフトウェアを実行する実行部（ＣＰＵ）を備える。更に、装置管理部２は後述するように廃棄情報解析部２０とフロー統計送信部２４を備える。尚、廃棄情報解析部２０とフロー統計送信部２４とは、ハードウェアとして構成されてもよいし、実行部により実行されるソフトウェアとして構成されてもよい。図１に示されるように、装置管理部２には網管理者用操作端末１１が接続されている。
【００２５】
パケット受信部４は、１つ以上の回線と接続される１つ以上の入力ポートと、接続される回線の種類に対応し、接続された回線からパケットを受信する受信制御部４１と、例えばＬＢアルゴリズムを用いて入力帯域の監視と制御（ポリシング）を行う帯域監視部４２を備える。後述するように、帯域監視部４２にはユーザ毎に決定された契約帯域が予め設定されており、これらの契約帯域に基づいて、帯域監視部４２は、受信するパケットが契約帯域を超えていないかをユーザ毎に監視（判定）する。また、後述するように、帯域監視部４２は受信カウンタメモリ４２１を備え、ユーザ毎に契約帯域を遵守しているパケットの計数値（受信パケット数）や、ユーザ毎に契約帯域に違反して廃棄されるパケットの計数値（廃棄パケット数）を記憶する。
【００２６】
パケット送信部５は、１つ以上の回線と接続される１つ以上の出力ポートと、接続される回線の種類に対応し、パケットを接続された回線に送信する送信制御部５１と、パケットの優先制御と出力帯域の制御（シェーピング）を行い、ユーザ毎に決められた契約帯域内でパケットを送信する帯域制御部５２を備える。後述するように、帯域制御部５２は、ユーザ毎に設けられ、送信すべきパケットを一時的に格納する送信キューを備える。帯域制御部５２にはユーザ毎に決定された契約帯域と、パケットのアプリケーション種別毎の送信優先度が予め設定されており、ユーザ毎に送信すべきパケットの優先制御を行うと共に、送信キュー毎にパケットの出力帯域が設定された契約帯域を越えないように制御する。また、後述するように、帯域制御部５２は送信カウンタメモリ５２１を備え、契約帯域を遵守して送信されるパケットの計数値（送信パケット数）や、契約帯域に違反して廃棄されるパケットの計数値（廃棄パケット数）を記憶する。
【００２７】
尚、上述におけるユーザとは、個々の端末やその利用者そのものを表すものではなく、例えば通信事業者と契約することにより通信事業者の提供する網（ネットワーク）を利用してデータ（パケット）を送受信する個人や法人、或いは組織や団体を表すものである。このようなユーザは、例えばパケットのヘッダに含まれるＶＬＡＮ  ＩＤ、送信元ＩＰアドレス、宛先ＩＰアドレス、或いは送信元ＭＡＣアドレスや宛先ＭＡＣアドレス等により識別されることが可能である。
【００２８】
フロー制御部６−１、６−２はそれぞれフロー検出部６５−１、６５−２とフロー統計部６６−１、６６−２を備える。後述するように、フロー検出部６５−１、６５−２はそれぞれフロー制御を行うべきフローを識別するための情報（条件）と、各フローに含まれるパケットに対して行うべきフロー制御の内容（種類）とが登録されたエントリを複数格納しているフロー制御条件メモリ６５１−１、６５１−２を備える。また、フロー統計部６６−１、６６−２は、パケットから採取されるサンプルを格納するためのフロー統計収集メモリ６６１−１、６６１−２を備える。
【００２９】
パケット中継部７は、例えば図２に示すように、送出経路（転送先）を決定するための情報（例えばルーティングテーブル）が格納されたメモリ７１とルーティング部７５を備える。パケット中継部７のルーティング部５は、パケット受信部４またはＩＮ側フロー制御部６−２からパケットを受信し、パケットのヘッダに含まれる情報、例えば宛先ＩＰアドレスまたは宛先ＭＡＣアドレス等とメモリ７１のルーティングテーブル等に登録されている経路情報に基づいてパケットの送出経路（次の転送先）を決定する。ルーティング部７５は、パケットと共に決定した送出経路情報をスイッチ部８に転送する。
【００３０】
スイッチ部８は、パケット中継部７からパケットと送出経路情報を受信し、送出経路情報に従って、そのパケットを送信すべき回線と接続されているパケット送信部５、またはそのパケット送信部５に対応して設けられているＯＵＴ側フロー制御部６−１にパケットを転送する。
【００３１】
尚、図１の情報中継装置１においてはパケット受信部４、パケット送信部５、フロー制御部６−１、６−２がそれぞれ１つずつ示されているが、上述した通り、情報中継装置１は接続される回線の種類に応じて、または接続される回線毎に複数のパケット受信部４及びパケット送信部５を備えることができ、また、パケット受信部４やパケット送信部５の数に応じて複数のフロー制御部６−１またはフロー制御部６−２を備えることもできる。
【００３２】
更に、図１の情報中継装置１においては、パケット受信部４とパケット送信部５が別々の構成要素として示されているが、情報中継装置１は、パケット受信部４とパケット送信部５に代えて１以上のパケット送受信部を備えることができる。
この場合、各パケット送受信部は、上述したパケット受信部４及びパケット送信部５と同じ構成をそれぞれ備える。従って、各パケット送受信部のうちのパケット受信部４に相当する部分がパケットを受信し、各パケット送受信部のうちのパケット送信部５に相当する部分がパケットを送信する。この場合、スイッチ部８は、パケットを受信したパケット送受信装置からそのパケットを送信すべきパケット送受信装置に受信したパケットを中継する。
【００３３】
次に、情報中継装置１の各部の詳細な構成とその動作について説明する。
【００３４】
図３はパケット受信部４の具体的な構成図を示す。
【００３５】
図３において、パケット受信部４は、上述した通り、それぞれ回線と接続される１以上の入力ポートと受信制御部４１と帯域監視部４２とを備える。帯域監視部４２は、受信制御部４１により受信したパケットを一時的に保持し、例えばパケットのヘッダに含まれている情報やパケットを受信した入力ポートの情報等からパケットのユーザ及びパケットの持つ優先度を特定し、また、受信したパケットのパケット長（例えばパケットのバイト数等）をカウントする受信パケット処理部４２２を備える。また、帯域監視部４２は、ユーザ毎にパケットの受信時点において受信パケット処理部４２２に保持されているパケットの蓄積量（パケット長の積算値）を算出し、その蓄積量に受信したパケットのパケット長を加算した値と、特定されたパケットの優先度に対して予め決められている蓄積量閾値とを比較し、受信したパケットがそのユーザの契約帯域を超えていないか判定する受信パケット判定部４２３を備える。更に、帯域監視部４２は、ユーザ毎に、例えば契約帯域と、パケットの優先度毎に予め決められた蓄積量閾値と、上述した加算値と、パケットの受信時刻等を記憶する帯域監視メモリ４２４と、各ユーザのパケットの優先度毎に契約帯域を遵守していると判定されたパケットの計数値（受信パケット数）と契約帯域違反と判定されたパケットの計数値（廃棄パケット数）を記憶する受信カウンタメモリ４２１を備える。尚、受信パケット判定部４２３はパケット長の積算値以外に、パケット数やパケットに含まれるデータ長の積算値等を用いて契約帯域違反の判定を行ってもよい。
【００３６】
図４に受信カウンタメモリ４２１に記憶される情報の一例を示す。図４において、受信カウンタメモリ４２１には、パケットを受信する入力ポートの識別情報（各入力ポートに割当てられた入力ポート番号）、ユーザの識別情報（ユーザＩＤ）、パケットの優先度を示す情報（各々の優先度を識別するための値）、受信パケット数、及び廃棄パケット数がそれぞれ対応付けられて記憶されている。尚、図４では受信カウンタメモリ４２１に記憶される情報をテーブル形式で示しており、ここではこのテーブルを受信カウンタテーブルと呼ぶ。図４に示す通り、受信カウンタテーブルは、上述した入力ポート番号、ユーザＩＤ、優先度識別値、受信パケット数及び廃棄パケット数がそれぞれ登録された複数のエントリから構成されている。但し、受信カウンタメモリ４２１は必ずしも上述した情報をテーブル形式で記憶する必要はない。
【００３７】
次に図５を用いてパケット受信部４の動作について具体的に説明する。図５はパケット受信部４の動作手順を示すフローチャートである。
【００３８】
パケット受信部４の受信制御部４１が何れかの入力ポートを介して回線からパケットを受信すると（手順１００１）、受信されたパケットは帯域監視部４２の受信パケット処理部４２２に送られる。受信パケット処理部４２２は、パケットのヘッダに含まれている情報、例えばＶＬＡＮ  ＩＤ、送信元ＩＰアドレス等によりパケットのユーザを特定する。また、受信パケット処理部４２２は、パケットのヘッダに含まれているＤＳＣＰ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ Ｓｅｒｖｉｃｅ Ｃｏｄｅ Ｐｏｉｎｔ）、送信元または宛先ＩＰアドレス、送信元または宛先ポート番号等からパケットの持つ優先度を特定する（手順１００２）。更に、受信パケット処理部４２２は受信したパケットのパケット長をカウントする。尚、上述したＤＳＣＰはヘッダのＴＯＳ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）フィールドまたはトラフィッククラスフィールドに格納される情報であり、情報中継装置におけるパケットの優先制御の基準となる値が設定される。
【００３９】
続いて、受信パケット判定部４２３は、特定されたユーザ及び優先度に対応する契約帯域、蓄積量閾値、加算値、受信時刻の各値を帯域監視メモリ４２４より読み出す。上述した通り、読み出された加算値及び受信時刻は、前回、パケットを受信した時点におけるパケットの蓄積量とその時刻である。受信パケット判定部４２３は、読出した受信時刻から現在の時刻までの経過時間に契約帯域を乗じることにより、経過時間に受信パケット処理部４２２から出力されたパケットのパケット長累計値を算出する。この値は受信パケット処理部４２２におけるそのユーザのパケットの蓄積量からの減少量に相当する。受信パケット判定部４２３は、読み出した加算値から算出したパケット長累計値を減算し、現時点で受信パケット処理部４２２に保持されているそのユーザのパケットの蓄積量を算出する。そして、受信パケット判定部４２３は算出した蓄積量に受信したパケットのパケット長を加算し、その加算値と読み出した蓄積量閾値とを比較する（手順１００３）。手順１００３において受信パケット判定部４２２は加算値が蓄積量閾値以下であれば契約帯域を遵守していると判定し、特定されたユーザ及び優先度に対応するユーザＩＤ及び優先度識別値を受信カウンタメモリ４２１の記憶内容から見つけ（受信カウンタテーブルからそれらの情報が登録されているエントリを見つけ）、それらの情報と対応付けられた受信パケット数を読み出して加算（＋１）し、加算後の受信パケット数を再び受信カウンタメモリ４２１に格納する（手順１００５）。また、受信パケット判定部４２２は、現在の時刻と算出した加算値をそれぞれ特定されたユーザに対応する受信時刻及び加算値として帯域監視メモリ４２４に格納する。これにより受信したパケットは受信パケット処理部４２２に一時的に保持される（手順１０１０）。
【００４０】
一方、手順１００３において加算値が蓄積量閾値を超えていると受信パケット判定部４２２は契約帯域を違反していると判定し、特定されたユーザ及び優先度に対応するユーザＩＤ及び優先度識別値を受信カウンタメモリ４２１の記憶内容から見つけ（受信カウンタテーブルからそれらの情報が登録されているエントリを見つけ）、それらの情報と対応付けられた廃棄パケット数を読み出して加算（＋１）し、加算後の廃棄パケット数を再び受信カウンタメモリ４２１に格納する（手順１００６）。また、受信パケット判定部４２３は、契約帯域違反と判定したパケットを廃棄するか、またはその優先度を下げて転送するか決定する（手順１００７）。この決定は、帯域監視部４２２に対して予め設定されている情報に基づいて行われる。例えばこの情報は廃棄または転送を示す情報として帯域監視メモリ４２４に設定される。この場合、受信パケット判定部４２３は、上述した各情報と共にこの情報を読み出す。受信パケット判定部４２３は、パケットを廃棄すると決定すると受信したパケットを廃棄してパケットの受信処理を終了する（手順１００９）。一方、受信パケット判定部４２３は、パケットを転送すると判定すると、例えばパケットのヘッダの内容を更新し、または新たな優先度を示すフラグをパケットに付加することによりパケットの持つ優先度を下げ（手順１００８）、受信パケット処理部４２２に保持させる（手順１０１０）。
【００４１】
受信パケット処理部４２２は、上述した処理と並行して、保持している各ユーザのパケットを、各ユーザの契約帯域に従って順次出力する（手順１０１１）。受信パケット処理部４２２から出力されたパケットはパケット受信部４から図１に示すＩＮ側フロー制御部６−２またはパケット中継部７に転送される。
【００４２】
図６はパケット送信部５の具体的な構成図を示す。
【００４３】
図６において、パケット送信部５は、上述した通り、それぞれ回線と接続される１以上の送信制御部５１と帯域制御部５２とを備える。帯域制御部５２は、ユーザ１からユーザｎ（ｎは２以上の整数）のそれぞれに対して、複数の送信キュー（送信キュー１、２、３、４）を備える。ユーザ毎に設けられた各送信キューは互いに異なる優先度を持つパケットを一時的に格納する。このようなユーザ毎の複数の送信キューを利用してシェーピングを実行するために、帯域制御部５２は、図１におけるＯＵＴ側フロー制御部６−１またはスイッチ部８からパケットを受信し、例えばパケットのヘッダに含まれている情報や図１に示すパケット中継部７により決定された送出経路情報等からパケットのユーザを特定すると共にパケットの持つ優先度を判定し、それを格納すべき送信キューを決定するユーザ決定部５２２と、ユーザ決定部５２２により決定されたユーザの送信キューにパケットを格納するキューイング部５２３を備える。
【００４４】
また、帯域制御部５２は、ユーザ毎に設けられ、各ユーザの送信キュー１〜４におけるパケットの格納状況とそれぞれの送信キューに格納されたパケットの優先度、及び契約帯域に従って何れか１つの送信キューを選択し、選択した送信キューの先頭に格納されているパケットを取り出して出力するｎ個のユーザ帯域制御部５２６と、接続される回線毎に設けられ、回線の帯域と各ユーザの契約帯域、或いはパケットの優先度に従って、各ユーザ帯域制御部５２６から出力されるパケットのうちの１つを選択して出力する１以上の回線帯域制御部５２５を備える。
【００４５】
ここで、各送信キューは、予め決められた量（例えばパケット長またはパケット数）のパケットを格納できるだけのキュー長を持つ。また、各送信キューに格納されたパケットは、それぞれのユーザに対して設定されている契約帯域に従ってユーザ帯域制御部５２６や回線帯域制御部５２５により選択され、送信制御部５１から送信される。このように帯域制御部５２においては、パケットの出力帯域がそのパケットのユーザの契約帯域以下となるように制御される。従って、受信するパケットがそのユーザの契約帯域を越えていなければ、順次、パケットはそのユーザに対して設けられた各送信キューに格納されて送信制御部５１から送信される。しかし、あるユーザの契約帯域を越える量のパケットが送られてきた場合、そのユーザの何れかの送信キューに格納しようとするパケットの量が、その送信キューから取り出されて送信されるパケットの量を上回る。そのため、送信キューにパケットを格納しきれなくなり、送信キューからパケットが溢れてしまう。それ故、帯域制御部５２のキューイング部５２３は、送信キュー毎に格納しようとするパケットが溢れてしまうか否かを監視することにより契約帯域違反の有無を判定する。
【００４６】
更に、帯域制御部５２は、各ユーザの送信キュー毎に送信キューに格納されたパケットの計数値（送信パケット数）と送信キューから溢れて廃棄されたパケットの計数値（廃棄パケット数）を記憶する送信カウンタメモリ５２１を備える。
【００４７】
図７に送信カウンタメモリ５２１に記憶される情報の一例を示す。図７において、送信カウンタメモリ５２１には、パケットを送信する出力ポートの識別情報（各出力ポートに割当てられた出力ポート番号）、ユーザの識別情報（ユーザＩＤ）、送信キューの識別情報（ユーザ毎に各送信キューに割当てられた送信キュー番号）、送信パケット数、及び廃棄パケット数がそれぞれ対応付けられて記憶されている。尚、図７では送信カウンタメモリ５２１に記憶される情報をテーブル形式で示しており、ここではこのテーブルを送信カウンタテーブルと呼ぶ。図７に示す通り、送信カウンタテーブルは、上述した出力ポート番号、ユーザＩＤ、送信キュー番号、送信パケット数及び廃棄パケット数がそれぞれ登録された複数のエントリから構成されている。但し、送信カウンタメモリ５２１は必ずしも上述した情報をテーブル形式で記憶する必要はない。
【００４８】
次に図８を用いてパケット送信部５の動作について具体的に説明する。図８はパケット送信部５の動作手順を示すフローチャートである。
【００４９】
パケット送信部５が、図１に示すＯＵＴ側フロー制御部６−１またはスイッチ部８からパケットを受信すると、ユーザ決定部５２２は、パケットのヘッダに含まれている情報、例えばＶＬＡＮ  ＩＤ、送信元または宛先ＭＡＣアドレス、または、送信元または宛先ＩＰアドレスによりパケットのユーザを特定する（手順１５０１）。更に、ユーザ決定部５２２は、パケットのヘッダに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、ＤＳＣＰ等によりパケットを格納すべき送信キューを決定する（手順１５０１）。尚、ユーザ決定部５２２には、各ユーザの送信キュー毎に、そこに格納されるべきパケットの優先度やそのパケットが属するフローを識別するための情報、例えばヘッダに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、ＤＳＣＰ等が予め網管理者等により設定される。これらの設定情報は、ユーザ決定部５２２または帯域制御部５２が備えるメモリ等に記憶される。従って、手順１５０１において、ユーザ決定部５２２は、受信したパケットのヘッダに含まれる各情報と設定情報とを比較することにより、パケットを格納すべき送信キューを決定する。
【００５０】
続いて、キューイング部５２３は、ユーザ決定部５２２により特定されたユーザの送信キュー１〜４のうち、ユーザ決定部５２２により決定された送信キューに受信したパケットを格納する（手順１５０２）。上述した通り、ユーザ毎に設けられた送信キュー１〜４に格納されたパケットは、各ユーザに対して設定された契約帯域と優先度に従って各送信キューから順次取り出されて送信される。そのため、パケット送信部５に送られてくるパケット、即ち、これから送信しようとするパケットがそのユーザの契約帯域を超えていなければ、パケットはその優先度に応じた送信キューに格納され、その後に送信される。しかし、そのユーザの契約帯域を越えてパケットが送られてくると、各送信キューから取り出されるパケットの量を格納しようとするパケットの量が上回るため、そのパケットの優先度に応じた送信キューにおいてもパケットを格納しきれなくなり、送信キューからパケットが溢れる（例えば予め決められた送信キューの最大蓄積量を超える）という現象が発生する。そこで、手順１５０２において、キューイング部５２３は、決定された送信キューにパケットを格納できるか、または送信キューから溢れてしまうかを判定し、これによって送信しようとするパケットが特定されたユーザの契約帯域に違反していないかを判定する。手順１５０２において、決定された送信キューにパケットを格納できないと判定すると、キューイング部５２３は、その送信キュー及び特定されたユーザに対応する送信キュー番号及びユーザＩＤを送信カウンタメモリ５２１の記憶内容から見つけ（送信カウンタテーブルからそれらの情報が登録されているエントリを見つけ）、それらの情報と対応付けられた廃棄パケット数を読み出して加算（＋１）し、加算後の廃棄パケット数を再び送信カウンタメモリ５２１に格納する（手順１５０６）。その後、キューイング部５２３は、受信したパケットを廃棄して処理を終了する（手順１５０７）。手順１５０２において、決定された送信キューからパケットが溢れなければ、キューイング部５２３はその送信キューにパケットを格納できたと判定し、パケットはその送信キューに格納される。
【００５１】
各ユーザ帯域制御部５２６は、上述したユーザ決定部５２２及びキューイング部５２３による処理と並行して、送信キュー１〜４のそれぞれに格納されているパケットの有無とその優先度及びユーザの契約帯域に応じて何れか１つの送信キューを選択し、選択した送信キューの先頭に格納されているパケットを取り出して出力する（手順１５０３）。パケットを何れかの送信キューから取り出すと、各ユーザ帯域制御部５２６は、その送信キュー及び自身に対応するユーザと対応する送信キュー番号及びユーザＩＤを送信カウンタメモリ５２１の記憶内容（送信カウンタテーブル中の各エントリ）の中から見つけ、それらの情報と対応付けられた送信パケット数を読み出して加算（＋１）し、加算後の送信パケット数を再び送信カウンタメモリ５２１に格納する（手順１５０４）。
【００５２】
図１に示すパケット中継部７により決定された送出経路に従ってパケットを送信すべき回線に対応して設けられた回線帯域制御部５２５は、その回線の帯域と各ユーザの契約帯域、或いはパケットの優先度に従って、各ユーザ帯域制御部５２６から出力されるパケットのうちの１つを選択し、送信制御部５１に出力する。送信制御部５１は、回線帯域制御部５２５から出力されるパケットを、上述した回線に接続された出力ポートを介して回線に送信する（手順１５０５）。
【００５３】
図９は、フロー制御部の具体的な構成図を示す。尚、図１に示すＯＵＴ側フロー制御部６−１及びＩＮ側フロー制御部６−２はそれぞれ同一の構成を備える。そこで、図９はＯＵＴ側フロー制御部６−１に関する構成図のみを示している。
【００５４】
図９において、ＯＵＴ側フロー制御部６−１は、上述した通り、スイッチ８から転送されるパケットを受信し、そのパケットがフロー制御の必要なフローに含まれるパケットか否かを判定するフロー検出部６５−１を備える。フロー検出部６５−１は、フロー制御を行うべきフローを識別するための情報（条件）と、各フローに含まれるパケットに対して行うべきフロー制御の内容（種類）とが対応付けられて登録されているフロー制御条件メモリ６５１−１と、フロー制御条件メモリ６５１−１に登録されている情報とパケットのヘッダに含まれる情報とを比較するフロー比較部６５２−１と、受信したパケットを一時的に保持し、また、フロー比較部６５２−１から比較結果を受け取り、比較結果に従ってフロー制御の内容を指示するフロー制御ラベルを付加してパケットを転送するフロー制御判定部６５３−１を備える。
【００５５】
また、ＯＵＴ側フロー制御部６−１は、フロー制御の１つとしてパケットからフロー統計情報（サンプル）を採取するフロー統計部６６−１を備える。フロー統計部６６−１は、フロー統計情報の収集が必要と判定されたフロー毎にそのパケット数をカウントするパケットカウンタ６６３−１と、予め決められたサンプリング間隔とパケットカウンタ６６３−１の値に従ってパケットからサンプルを採取するフロー統計採取部６６２−１と、フロー統計採取部６６２により採取されたサンブルを格納するフロー統計収集メモリ６６１−１とを備える。
【００５６】
更に、ＯＵＴ側フロー制御部６−１は、フロー検出部６５−１のフロー制御判定部６５３−１から出力されるパケットに付加されたフロー制御ラベルに従ってフロー統計部６６−１にフロー統計情報の収集を指示するフロー制御命令部６７−１を備える。
【００５７】
図１０にフロー制御条件メモリ６５１−１に記憶される情報の一例を示す。図１０において、フロー制御条件メモリ６５１−１には、フローを識別する為の情報として、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ポート番号、宛先ポート番号、パケット長（ペイロード長）、ＤＳＣＰ、ＶＬＡＮ  ＩＤ、及びフロー制御の内容としてここではフロー統計情報の収集の要否を示す情報がそれぞれ対応付けられて登録される。フロー制御条件メモリ６５１−１に登録される各情報の内容は、図１０に示すように、特定の値（アドレスやポート番号等）か、または何れの値でもよいことを示す情報（図１０では“ＡＮＹ”と記載）が登録される。尚、図１０ではフロー制御条件メモリ６５１−１に記憶される情報をテーブル形式で示しており、上述した各情報がそれぞれ登録された複数のエントリがフロー制御条件メモリ６５１−１に格納されている。但し、フロー制御条件メモリ６５１−１は必ずしも上述した各情報をテーブル形式で保持する必要はない。
【００５８】
図９においては、フロー制御としてフロー統計情報の収集を行うフロー統計部６６−１のみが示されているが、これ以外にパケットの優先度の変更等を実行する１以上のフロー制御実行部をＯＵＴ側フロー制御部６−１（及びＩＮ側フロー制御部６−２）が備えてもよい。その場合、フロー制御条件メモリ６５１−１には、フロー制御の内容としてそれらのフロー制御実行部により実行される処理とその要否を示す情報が登録され、また、フロー制御命令部６７−１はフロー制御ラベルに従ってフロー統計部６６−１またはそれらのフロー制御実行部の何れかにフロー制御の実行を指示する。ＩＮ側フロー制御部６−２についても同様である。
【００５９】
次に、図１１を用いてＯＵＴ側フロー制御部６−１の動作について具体的に説明する。図１１はＯＵＴ側フロー制御部６−１の動作手順を示すフローチャートである。
【００６０】
ＯＵＴ側フロー制御部６−１が図１に示すスイッチ部８（ＩＮ側フロー制御部６−２の場合はパケット受信部４）からパケットを受信すると、フロー検出部６５−１のフロー制御判定部６５３−１は受信したパケットに含まれるヘッダを抽出し（手順２００１）、抽出したヘッダをフロー比較部６５２−１に転送する（手順２００２）。受信したパケットはフロー制御判定部６５３−１に保持される。尚、手順２００１において、フロー制御判定部６５３−１はパケットに含まれるヘッダのコピーを作成してもよいし、パケットからヘッダを取り外して転送してもよい。ヘッダのみをフロー比較部６５２−１に転送する理由は、フロー比較部６５２−１の処理負荷を軽減するためである。特にフロー比較部６５２−１の負荷を考慮しなければ、フロー制御判定部６５３−１からパケット全体をフロー比較部６５２−１に転送することも可能である。
【００６１】
フロー比較部６５２−１はフロー制御判定部６５３−１からヘッダを受信すると、ヘッダに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ポート番号、宛先ポート番号、パケット長（ペイロード長）、ＤＳＣＰ、ＶＬＡＮ  ＩＤの各情報と、フロー制御条件メモリ６５１−１にそれぞれ対応付けられて格納されている情報群（各エントリに登録されている情報群）とが一致するか比較する（手順２００３）。手順２００３において、フロー制御条件メモリ６５１−１に登録されている何れの情報群もヘッダの各情報と一致せず、フロー比較部６５２−１がフロー制御条件メモリ６５１−１に登録された各情報群により識別されるフローに該当するパケットではないと判定すると、受信したヘッダをそのままフロー制御判定部６５３−１に返送する。一方、フロー制御条件メモリ６５１−１に登録されている何れかの情報群がヘッダの各情報と一致すると、フロー比較部６５２−１は、更に、一致した情報群と対応付けられてフロー制御条件メモリ６５１−１に登録されているフロー制御の内容を示す情報を参照し、フロー制御の要否を判定する（手順２００４）。例えば、フロー比較部６５２−１は、図１０に示すフロー制御条件メモリ６５１−１に登録されているフロー統計情報の収集の要否を示す情報を参照して判定する。手順２００４において、フロー制御は不要と判定すると、フロー比較部６５２−１は受信したヘッダをそのままフロー制御判定部６５３−１に返送する。一方、フロー制御が必要と判定すると、フロー比較部６５２−１は、必要なフロー制御の内容を指示する情報をヘッダに付加し、そのヘッダをフロー制御判定部６５３−１に送る（手順２００５）。例えば、手順２００５において、フロー比較部６５２−１はフロー統計情報の収集を指示する情報をヘッダに付加してフロー制御判定部６５３−１に送る。尚、上述した手順２００３、３００４、３００５において、フロー比較部６５２−１はヘッダに代えて判定結果（フロー制御条件メモリ６５１−１に登録されたフローに該当せず、または、フロー制御不要、または、必要なフロー制御の内容）のみをフロー制御判定部６５３−１に送ってもよい。
【００６２】
フロー制御判定部６５３−１は、フロー比較部６５２−１からヘッダ（または判定結果）を受信すると、ヘッダ（または判定結果）の内容に応じて、一時的に保持していたパケットにフロー制御の内容を示すフロー制御ラベルを付加し、そのパケットをフロー制御命令部６７−１に転送する（手順２００６）。手順２００６において、フロー制御判定部６５３−１は、例えばヘッダに何の情報も付加されていなければ（判定結果がフローに該当せず、またはフロー制御不要であれば）、フロー制御不要を指示するフロー制御ラベルをパケットに付加する。また、ヘッダにフロー制御の内容を指示する情報が付加されていれば、フロー制御判定部６５３−１は、その情報により示されるフロー制御の内容を指示するフロー制御ラベルをパケットに付加する。例えば、手順２００６において、フロー統計情報の収集を指示する情報がヘッダに付加されていれば、フロー制御判定部６５３−１はフロー統計情報の収集を指示するフロー制御ラベルをパケットに付加して送る。尚、フロー制御判定部６５３−１は、フロー制御が必要なときのみフロー制御ラベルを付加し、フロー制御が不要な場合はフロー制御ラベルを付加せずにパケットを転送してもよい。
【００６３】
フロー制御命令部６７−１はパケットを受信すると、パケットに付加されているフロー制御ラベルの内容を判定する（手順２００７）。手順２００７において、フロー制御ラベルの内容がフロー制御不要を指示しているか、またはフロー制御ラベルが付加されていなければ、フロー制御命令部６７−１はフロー制御不要と判定し、フロー制御ラベルが付加されていればそれを削除して、パケットをパケット送信部５（ＩＮ側フロー制御部６−２の場合はパケット中継部７）に転送する（手順２０１３）。
【００６４】
一方、手順２００７において、フロー制御ラベルの内容がフロー統計情報の収集を指示している場合は、フロー制御命令部６７−１はフロー制御が必要と判定し、指示に従って受信したパケットのコピーを作成し、それをフロー統計部６６−１に送る（手順２００８）。フロー統計部６６−１がパケットのコピーを受信すると、パケットカウンタ６６３−１はそのパケットが含まれるフローのパケット数を加算（＋１）する。また、フロー統計採取部６６２−１は、フロー統計採取部６６２−１に設定されている予め決められたサンプリング間隔とパケットカウンタ６６３−１が計数したそのフローのパケット数とを比較し、フロー統計情報を採取するか否かを判定する（手順２００９）。手順２００９において、サンプリング間隔の値とパケット数が等しければ、フロー統計採取部６６２−１はフロー統計情報の採取が必要と判定し、受信したパケットのコピーをサンプルとしてフロー統計収集メモリ６６１−１に書き込み、フロー統計収集メモリ６６１−１はそのパケットのコピーを格納する（手順２０１０）。また、手順２０１０において、フロー統計採取部６６２−１はパケットカウンタ６６３−１の計数値を“０”にする。尚、パケットカウンタ６６３−１が、例えばサンプル間隔の値やそれよりも“１”だけ少ない値までしか計数できないように構成することも可能である。また、手順２００８において、フロー制御命令部６７−１はパケットのコピーをフロー統計部６６−１に送るのと並行して、受信したパケットからフロー制御ラベルを削除し、そのパケットをパケット送信部５（ＩＮ側フロー制御部６−２の場合はパケット中継部７）に転送する（手順２０１３）。
【００６５】
更に、手順２００７において、フロー制御ラベルの内容がフロー統計情報の収集以外のフロー制御の実行を指示している場合は、やはりフロー制御命令部６７−１はフロー制御が必要と判定し、指示に従って何れかのフロー制御実行部に受信したパケット、またはそのコピーを作成して送り、フロー制御の実行を指示する（手順２０１１）。パケットまたはそのコピーを受け取ったフロー制御実行部は、パケットの優先度の変更等のフロー制御を実行する（手順２０１２）。そして、パケットはフロー制御の実行後またはフロー制御の実行と並行して、フロー制御命令部６７−１またはフロー制御実行部からパケット送信部５（ＩＮ側フロー制御部６−２の場合はパケット中継部７）に転送される（手順２０１３）。
【００６６】
尚、上述した説明によれば、情報中継装置１のパケット受信部４とパケット送信部５のそれぞれがパケットの契約帯域違反の有無を判定し、受信または送信パケット数と廃棄パケット数の計数を行っているが、一方のみが契約帯域違反の有無の判定と受信または送信パケット数や廃棄パケット数の計数を行っても構わない。即ち、情報中継装置１がシェーパとしてシェーピングのみを実行するのであれば、パケット送信部５だけが送信しようとするパケットに対する契約帯域違反の有無の判定と、送信パケット数や廃棄パケット数の計数を行う。また、情報中継装置１がポリサとしてポリシング（またはＵＰＣ）のみを実行するのであれば、パケット受信部４だけが受信したパケットに対する契約帯域違反の有無の判定と、受信パケット数や廃棄パケット数の計数を行う。
【００６７】
更に、上述した説明によれば、情報中継装置１のＩＮ側フロー制御部６−２とＯＵＴ側フロー制御部６−１がそれぞれフロー制御の要否の判定とパケットからのサンブルの採取を行っているが、何れか一方のみがそれらの処理を行うようにしても構わない。例えば、情報中継装置１がシェーパとしてシェーピングを実行するのであれば、ＯＵＴ側フロー制御部６−１のみが上述した処理を実行する。また、情報中継装置１がポリサとしてポリシング（またはＵＰＣ）を実行するのであれば、ＩＮ側フロー制御部６−２のみが上述した処理を実行する。
【００６８】
このように、情報中継装置１は、シェーピングとポリシングをそれぞれ実行できるように構成されている。
【００６９】
次に装置管理部２について具体的に説明する。装置管理部２は、図示しない実行部が図示しないメモリに格納されている制御ソフトウェアやその他の各種ソフトウェアを実行することにより、網管理者によって網管理者用操作端末１１から入力される設定情報の管理や装置の状態の管理等、情報中継装置全体の制御を行う。また、装置管理部２は廃棄情報解析部２０とフロー統計送信部２４を備える。廃棄情報解析部２０はパケット受信部４の帯域監視部４２やパケット送信部５の帯域制御部５２による廃棄パケット数や受信パケット数または送信パケット数を解析し、解析結果に応じてＯＵＴ側フロー制御部６−１やＩＮ側フロー制御部６−２にフロー制御の対象となるフローの識別情報を自動的に設定する。また、フロー統計送信部２４はＯＵＴ側フロー制御部６−１のフロー統計部６６−１またはＩＮ側フロー制御部６−２のフロー統計部６６−２によって採取されたフロー統計情報をフロー統計解析装置１２に送信する。
【００７０】
図１２は廃棄情報解析部２０の具体的な構成図を示す。
【００７１】
図１２において、廃棄情報解析部２０は情報収集部２１とフロー判定部２２を備える。情報収集部２１は、パケット受信部４の帯域監視部４２またはパケット送信部５の帯域制御部５２により計数され、受信カウンタメモリ４２１または送信カウンタメモリ５２１に格納されている送信パケット数や廃棄パケット数等の統計情報を取得する。また、フロー判定部２２は、パケットの廃棄が発生したフローに対してフロー統計情報を採取するか否かを判定する廃棄フロー判定部２２５と、廃棄フロー判定部２２５がフロー統計情報を採取すると判定した場合、そのフローに対してフロー制御を実行させるために、ＯＵＴ側フロー制御部６−１のフロー制御条件メモリ６５１−１またはＩＮ側フロー制御部６−２のフロー制御条件メモリ６５１−２に対してそのフローを識別するための情報を自動的に設定するフロー制御情報操作部２２６を備える。更に、フロー判定部２２はフロー検出用メモリ２２１を備える。フロー検出用メモリ２２は、予め網管理者によって網管理者用操作端末１１を用いて設定される情報、例えば、パケットが属するフローの識別情報と廃棄パケット数の正常または異常を判定するための閾値情報等を対応付けて記憶する。
【００７２】
図１３にフロー検出用メモリ２２１に記憶される情報の一例を示す。図１３は、特にパケット送信部５の帯域制御部５２においてパケットの廃棄が発生したフローに対してフロー統計情報を採取するか否かを判定し、また、ＯＵＴ側フロー制御部６−１のフロー制御条件メモリ６５１−１にそのフローを識別するための情報を設定するために使用される情報の例を示している。尚、パケット受信部４の帯域監視部４２においてパケットの廃棄が発生したフローに対してフロー統計情報を採取する場合に使用される情報の例については後述するが、両方の場合において同一の情報を用いることも可能である。
【００７３】
図１３において、フロー検出用メモリ２２１には、出力ポート番号、ユーザＩＤ、送信キュー番号、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ポート番号、宛先ポート番号、ＤＳＣＰの各値と、帯域制御部５２により計数された送信パケット数及び廃棄パケット数と、廃棄パケット数の正常または異常を判定するための閾値と、廃棄パケット数が閾値を超えた場合にフロー統計情報の収集が必要か否かを判定するための判定フラグとがそれぞれ対応付けられて記憶されている。図１３の例に示す閾値は、送信パケット数に対する廃棄パケット数の割合を示している。但し、この閾値は正常と判定される廃棄パケット数の最大値等であってもよい。尚、図１３はフロー検出用メモリ２２１に記憶される情報をテーブル形式で示しており、このフロー検索用のテーブルは上述した各値が登録された複数のエントリから構成されている。但し、フロー検出用メモリ２２１は必ずしも上述した情報をテーブル形式で記憶する必要はない。
【００７４】
次に図１４を用いて廃棄情報解析部２０の動作について具体的に説明する。図１４は、図１３に示された情報を記憶しているフロー検出用メモリ２２１を備える廃棄情報解析部２０の動作手順を示すフローチャートである。
【００７５】
廃棄情報解析部２０の情報収集部２１は、例えば定期的にパケット送信部５の送信カウンタメモリ５２１に格納されている統計情報を読み出す（手順２５０１）。情報収集部２１は取得した統計情報をフロー判定部２２の廃棄フロー判定部２２５に渡す。廃棄フロー判定部２２５は、その統計情報を解析し、その統計情報に含まれるユーザＩＤ、送信キュー番号、送信パケット数及び廃棄パケット数を一組ずつ抽出する（手順２５０２）。尚、統計情報から抽出した一組のユーザＩＤ、送信キュー番号、送信パケット数及び廃棄パケット数をここではキュー統計情報と呼び、統計情報は送信キューに相当する数のキュー統計情報を含む。廃棄フロー判定部２２５は、統計情報から抽出した１つのキュー統計情報における送信パケット数に対する廃棄パケット数の割合を算出する。また、廃棄フロー判定部２２５は抽出したキュー統計情報のユーザＩＤ及び送信キュー番号と一致するユーザＩＤ及び送信キュー番号をフロー検出用メモリ２２１に記憶されている情報の中から見つけ、そのユーザＩＤ及び送信キュー番号と対応付けられている閾値等の各情報（ここではユーザフロー検出情報と呼ぶ）をフロー検出用メモリ２２１から読み出し、算出した割合の値と読み出した閾値とを比較する。これによって廃棄フロー判定部２２５は、抽出したキュー統計情報の廃棄パケット数が正常か異常か判定する（手順２５０３）。手順２５０３において、算出した割合の値が読み出した閾値の値を越えている場合は、廃棄フロー判定部２２５は、廃棄パケット数が異常と判定し、読み出したユーザフロー検出情報の判定フラグによりフロー統計情報の収集が必要か否か判定する（手順２５０４）。その判定フラグがフロー統計情報の収集が必要であることを示している場合、廃棄フロー判定部２２５は、読み出したユーザフロー検出情報のうちフローを識別するための情報として送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、ＤＳＣＰの各値をフロー制御情報操作部２２６に渡す（手順２５０５）。尚、これらの情報は、キュー統計情報のユーザＩＤ及び送信キュー番号と一致するユーザＩＤ及び送信キュー番号と対応付けられている情報である。
【００７６】
フロー制御情報操作部２２６は、これらのフロー識別情報とフロー統計情報の収集が必要であることを示す情報とをそれぞれ対応付けて、ＯＵＴ側フロー制御部６−１のフロー制御条件メモリ６５１−１に登録する（手順２５０６）。これによってフロー制御条件メモリ６５１−１にはフローを識別するための情報群が新たに追加されることになり、以後、ＯＵＴ側フロー制御部６−１のフロー比較部６５２−１及びフロー制御判定部６５３−１は、新たに追加された情報群とヘッダの内容が一致するパケットをフロー制御が必要なパケットとして検出することになる。
【００７７】
また、廃棄フロー判定部２２５は、フロー検出用メモリ２２１から読み出したユーザフロー検出情報のうちの送信パケット数及び廃棄パケット数の値を、キュー統計情報の送信パケット数及び廃棄パケット数の値に置き換え（更新し）、ユーザフロー検出情報を再度フロー検出用メモリ２２１に格納する（手順２５０７）。
【００７８】
一方、手順２５０３において、算出した割合の値が読み出した閾値の値以下である場合は、廃棄フロー判定部２２５は廃棄パケット数が正常と判定し、上述した手順２５０７を実行する。また、手順２５０４において、判定フラグがフロー統計情報の収集が不要であることを示している場合も、廃棄フロー判定部２２５は上述した手順２５０７を実行する。
【００７９】
廃棄フロー判定部２２５は、統計情報から抽出する複数のキュー統計情報に関して、それぞれ上述した手順を繰り返し（手順２５０８）、処理を終了する。
【００８０】
次に、図１５にフロー検出用メモリ２２１に記憶される情報の他の例を示す。図１５は、特にパケット受信部４の帯域監視部４２においてパケットの廃棄が発生したフローに対してフロー統計情報を採取するか否かを判定し、また、ＩＮ側フロー制御部６−２のフロー制御条件メモリ６５１−２にそのフローを識別するための情報を設定するために使用される情報の例を示している。
【００８１】
図１５において、フロー検出用メモリ２２１には、入力ポート番号、ユーザＩＤ、送信元ＩＰアドレス、ＶＬＡＮ  ＩＤ、優先度識別値の各値と、帯域監視部４２により計数された送信パケット数及び廃棄パケット数と、廃棄パケット数の正常または異常を判定するための閾値と、廃棄パケット数が閾値を超えた場合にフロー統計情報の収集が必要か否かを判定するための判定フラグとがそれぞれ対応付けられて記憶されている。図１５の例に示す閾値は、図１３に示したのと同様に、送信パケット数に対する廃棄パケット数の割合を示している。尚、図１５もフロー検出用メモリ２２１に記憶される情報をテーブル形式で示しており、このフロー検索用のテーブルは上述した各値が登録された複数のエントリから構成されている。
【００８２】
次に図１５に示された情報を記憶しているフロー検出用メモリ２２１を備える廃棄情報解析部２０の動作について図１６のフローチャートを用いて説明する。
【００８３】
廃棄情報解析部２０の情報収集部２１は、例えば定期的にパケット受信部４の受信カウンタメモリ４２１に格納されている統計情報を読み出す（手順３００１）。情報収集部２１は取得した統計情報をフロー判定部２２の廃棄フロー判定部２２５に渡す。廃棄フロー判定部２２５は、その統計情報を解析し、その統計情報に含まれるユーザＩＤ、優先度識別値、送信パケット数及び廃棄パケット数を一組ずつ抽出する（手順３００２）。尚、統計情報から抽出した一組のユーザＩＤ、優先度識別値、送信パケット数及び廃棄パケット数をここではユーザ統計情報と呼び、統計情報は複数のユーザ統計情報を含む。廃棄フロー判定部２２５は、統計情報から抽出した１つのユーザ統計情報における送信パケット数に対する廃棄パケット数の割合を算出する。また、廃棄フロー判定部２２５は抽出したユーザ統計情報のユーザＩＤ及び優先度識別値と一致するユーザＩＤ及び優先度識別値をフロー検出用メモリ２２１に記憶されている情報の中から見つけ、そのユーザＩＤ及び優先度識別値と対応付けられている閾値等の各情報（ユーザフロー検出情報と呼ぶ）をフロー検出用メモリ２２１から読み出し、算出した割合の値と読み出した閾値とを比較する。これによって廃棄フロー判定部２２５は、抽出したユーザ統計情報の廃棄パケット数が正常か異常か判定する（手順３００３）。手順３００３において、算出した割合の値が読み出した閾値の値を越えている場合は、廃棄フロー判定部２２５は、廃棄パケット数が異常と判定し、読み出したユーザフロー検出情報の判定フラグによりフロー統計情報の収集が必要か否か判定する（手順３００４）。その判定フラグがフロー統計情報の収集が必要であることを示している場合、廃棄フロー判定部２２５は、読み出したユーザフロー検出情報のうちのフローを識別するための情報として送信元ＩＰアドレス、ＶＬＡＮ  ＩＤの各値をフロー制御情報操作部２２６に渡す（手順３００５）。
【００８４】
フロー制御情報操作部２２６は、これらのフロー識別情報とフロー統計情報の収集が必要であることを示す情報とをそれぞれ対応付けて、ＩＮ側フロー制御部６−２のフロー制御条件メモリ６５１−２に登録する（手順３００６）。これによってフロー制御条件メモリ６５１−２にはフローを識別するための情報群が新たに追加されることになり、以後、ＩＮ側フロー制御部６−２のフロー比較部６５２−２及びフロー制御判定部６５３−２は、新たに追加された情報群とヘッダの内容が一致するパケットをフロー制御が必要なパケットとして検出することになる。
【００８５】
また、廃棄フロー判定部２２５は、フロー検出用メモリ２２１から読み出したユーザフロー検出情報のうちの送信パケット数及び廃棄パケット数の値を、ユーザ統計情報の送信パケット数及び廃棄パケット数の値に置き換え（更新し）、ユーザフロー検出情報を再度フロー検出用メモリ２２１に格納する（手順３００７）。
【００８６】
一方、手順３００３において、算出した割合の値が読み出した閾値の値以下である場合は、廃棄フロー判定部２２５は廃棄パケット数が正常と判定し、上述した手順３００７を実行する。また、手順３００４において、判定フラグがフロー統計情報の収集が不要であることを示している場合も、廃棄フロー判定部２２５は上述した手順３００７を実行する。
【００８７】
廃棄フロー判定部２２５は、統計情報から抽出する複数のユーザ統計情報に関して、それぞれ上述した手順を繰り返し（手順３００８）、処理を終了する。
【００８８】
更に、図１７にフロー検出用メモリ２２１に記憶される情報の他の例を示す。図１３や図１５に示した情報は、パケットの廃棄が発生したフローに対してフロー統計情報を採取するか否かを判定し、フロー制御条件メモリ６５１−１やフロー制御条件メモリ６５１−２にフローを識別するための情報を設定するために使用される。ところで、ＯＵＴ側フロー制御部６−１やＩＮ側フロー制御部６−２は、上述した通り、フロー統計情報の収集以外のフロー制御も実行できる。そこで、図１７は、フロー制御条件メモリ６５１−１やフロー制御条件メモリ６５１−２にフローを識別するための情報に加えてフロー制御の内容も設定するために使用される情報の例を示す。尚、図１７は、特にフロー制御条件メモリ６５１−１に情報を設定するために使用される情報の例を示しているが、フロー制御条件メモリ６５１−２に情報を設定するために使用される情報の例についても同様である。
【００８９】
図１７において、フロー検出用メモリ２２１には、図１３に示したのとほぼ同様の情報がそれぞれ対応付けられて記憶されている。図１７に示す情報が図１３に示す情報と異なるのは、図１３における判定フラグの代わりにアクション情報を含む点である。このアクション情報は、廃棄パケット数が閾値を超えた場合に、ＯＵＴ側フロー制御部６−１が実行すべきフロー制御の内容を示している。アクション情報の内容としては、例えば、フローに含まれるパケットの全廃棄、網管理者へのアラーム通知（網管理者用操作端末１１へのアラーム表示）、通信網１０内の上流に配置される装置（情報中継装置）への異常フローの通知等がある。
【００９０】
図１７に示す情報を使用する場合には、廃棄情報解析部２０の廃棄フロー判定部２２５は、例えば図１４に示す手順２５０４において、読み出したユーザフロー検出情報のアクション情報によりどのようなフロー制御が必要か判定し、何れかのフロー制御が必要であれば、ユーザフロー検出情報に含まれるフローを識別するための情報とアクション情報をフロー制御情報操作部２２６に渡す。フロー制御情報操作部２２６は受け取った情報を対応付けてフロー制御条件メモリ６５１−１に登録する。これにより、ＯＵＴ側フロー制御部６−１のフロー比較部６５２−１及びフロー制御判定部６５３−１は新たに追加された情報群とヘッダの内容が一致するパケットをアクション情報により指定されたフロー制御が必要なパケットとして検出し、フロー制御実行部も、指定されたフロー制御を実行することになる。尚、フロー制御条件メモリ６５１−２に登録する場合も同様である。
【００９１】
次に、図１８を用いて装置管理部２のフロー統計送信部２４が、例えばＯＵＴ側フロー制御部６−１のフロー統計部６６−１において採取されたフロー統計情報をフロー統計解析装置１２へ送る動作について具体的に説明する。図１８はフロー統計送信部２４の動作手順を説明するフローチャートである。
【００９２】
フロー統計収集メモリ６６１−１にフロー統計情報（サンプル）が一定量蓄積されると、フロー統計収集メモリ６６１−１に格納されているフロー統計情報が、フロー統計部６６−１からフロー統計送信部２４に送られる。フロー統計送信部２４は、フロー統計部６６−１からフロー統計情報を受信する（手順３５０１）。フロー統計管理端末１２にフロー統計情報を送るために、フロー統計送信部２４はフロー統計情報送信フレームを作成する（手順３５０２）。この送信フレームはフロー統計機能の仕様に従って予め決められている。例えば、ＲＦＣ３１７６に記載されたｓＦｌｏｗ技術を採用する場合には、図１９に示す送信フレームフォーマットに従ってフロー統計送信部２４は送信フレームを作成する。ｓＦｌｏｗ技術によれば、転送パケットのフローサンプルと転送パケット数であるカウンタサンプルが採取されるため、図１９に示すように、送信フレームは、ｓＦｌｏｗ技術において決められたｓＦｌｏｗヘッダと複数のフローサンプル及びカウンタサンプルから構成される。フロー統計送信部２４により作成されたフロー統計情報送信フレームは、フロー統計送信部２４からフロー統計情報送信モジュール３へ出力され、そこからフロー統計解析装置１２に送信される（手順３５０３）。
【００９３】
以上によりフロー統計送信部２４からフロー統計情報送信フレームが送信されると、フロー統計解析装置１２はそのフロー統計情報送信フレームを受信する。フロー統計解析装置１２は、フロー統計情報解析用のソフトウェアを実行し、フロー統計情報送信フレームに含まれるフロー統計情報を解析する。これにより、フロー統計解析装置１２（フロー統計解析装置１２を利用する網管理者）はフロー統計情報送信フレームを送信した情報中継装置１が中継するフローを解析することができ、ＤｏＳ攻撃やＤＤｏＳ攻撃に利用される不正フローを特定することができる。
【００９４】
続いて、上述した情報中継装置１が通信事業者により提供される通信網に適用される例について説明する。
【００９５】
図２０はネットワークの構成例を示す。図２０において、通信網１０の入口または出口にあたる箇所に情報中継装置１０１−１及び情報中継装置１０１−２が配置されている。これらの情報中継装置１０１−１及び情報中継装置１０１−２は何れも上述した情報中継装置１と同じ構成、即ち、図１に示した各構成を備える。情報中継装置１０１−１には回線集積装置１０２−１が接続される。回線集積装置１０２−１は複数の回線を介して複数のユーザ１１０−１〜１１０−ｎと接続されている。同様に、情報中継装置１０１−２には回線集積装置１０２−２が接続される。回線集積装置１０２−２は複数の回線を介して複数のユーザ１１１−１〜１１１−ｎと接続されている。それぞれの回線集積装置１０２−１、１０２−２は各回線を介して各ユーザから送られてくるパケットを多重化し、高速な通信回線を介してそれぞれの情報中継装置１０１−１、１０１−２に送信する。また、それぞれの回線集積装置１０２−１、１０２−２はそれぞれの情報中継装置１０１−１、１０１−２より送られてくるパケットをその宛先に従って何れかの回線に振り分ける。
【００９６】
ここで、図２０において、回線集積装置１０２−１に接続されたユーザ１１０−２が回線集積装置１０２−２に接続されたユーザ１１１−１に対して、通信網１０を介してデータ（パケット）を送信すると仮定し、上述した情報中継装置１が情報中継装置１０１−２として通信網に配置される場合について説明する。この場合、情報中継装置１０１−２は、通信網１０から受信して各ユーザ１１１−１〜ｎに中継するパケットに対して上述したシェーピングを実行し、各ユーザ１１１−１〜ｎとの契約帯域に従ってパケットを送信する。また、情報中継装置１０１−２は、各ユーザ１１１−１〜ｎに対して送信しようとするパケットについてフロー制御の要否を判定し、フロー制御を実行する。一方、情報中継装置１０１−２は、通信網１０から受信したパケットに対するポリシングや受信したパケットに対するフロー制御を行う必要はない。そのため、以下の説明においては、情報中継装置１０１−２は、図１に示した帯域監視部４２によるポリシングやＩＮ側フロー制御部６−２によるフロー制御を実行しないものとする。
【００９７】
以下、情報中継装置１０１−２の具体的な動作について図２１及び図２２に示すフローチャートを用いて説明する。
【００９８】
先ず図２１において、情報中継装置１０１−２の何れかのパケット受信部４の受信制御部４１は、通信網１０によって転送されてきたパケットを入力ポートを介して受信する（手順４００１）。受信制御部４１は受信したパケットをパケット中継部７に転送する。
【００９９】
パケット中継部７のルーティング部７５は、パケットのヘッダに含まれる情報とルーティングテーブルに登録されている情報に基づいてパケットの送出経路（次の転送先）を決定し（手順４００２）、スイッチ部８にパケットと送出経路情報を転送する。
【０１００】
スイッチ部８は、パケット中継部７から受信した送出経路情報に従って、パケットを送信すべき回線と接続されたパケット送信部５に対応して設けられているＯＵＴ側フロー制御部６−１へパケットを転送する（手順４００３）。
【０１０１】
スイッチ部８からパケットを受信すると、ＯＵＴ側フロー制御部６−１のフロー検出部６５−１は、図１１を用いて説明した通り、受信したパケットに対するフロー制御の要否を判定する（手順４００４）。即ち、フロー検出部６５−１は、図１１に示した手順２００１から手順２００６を実行することにより、フロー制御の要否を判定し、フロー制御ラベルを付加してまたはフロー制御ラベルを付加せずにパケットをフロー制御命令部６７−１に転送する。フロー制御が必要と判定された場合は、フロー制御命令部６７−１はフロー制御ラベルの指示に従って、例えばパケットのコピーをフロー統計部６６−１に送る。また、フロー制御命令部６７−１は、フロー制御が必要と判定された場合も不要と判定された場合も、パケットをパケット送信部５に転送する。
【０１０２】
フロー制御命令部６７−１からパケットのコピーを受信すると、フロー統計部６６−１のフロー統計採取部６６２−１は、予め決められたサンプリング間隔とパケットカウンタ６６３−１が計数したそのフローのパケット数とを比較し、フロー統計情報を採取するか否かを判定する（手順４００５）。フロー統計採取部６６２−１は、サンプリング間隔の値とパケット数が等しければ、受信したパケットのコピーをサンプルとしてフロー統計収集メモリ６６１−１に格納する（手順４００６）。尚、フロー制御命令部６７−１は、フロー制御ラベルに従って他のフロー制御実行部にパケットを転送してもよい。この場合、手順４００５や手順４００６において、フロー統計情報の収集以外のフロー制御が実行される。
【０１０３】
ＯＵＴ側フロー制御部６−１からパケットを受信すると、パケット送信部５の帯域制御部５２は、図８を用いて説明した通りシェーピングを実行する（手順４００７）。即ち、帯域制御部５２は、図８に示した手順１５０１及び手順１５０２を実行し、パケットのユーザ（ここではユーザ１１１−１）の特定と送信キューの決定、及び決定した送信キューへのパケットの格納を行う。手順４００７において、送信キューからパケットが溢れてしまうことによりパケットが格納できなければ、帯域制御部５２は、図８に示した手順１５０６を実行して送信カウンタメモリ５２１に記憶されている、特定されたユーザ及び送信キューに対応する廃棄パケット数を更新し（手順４０１０）、パケットを廃棄する（手順４０１１）。
【０１０４】
また、帯域制御部５２は、図８に示した手順１５０３及び手順１５０４を実行し、ユーザ毎に何れかの送信キューに格納されているパケットを取り出し、送信カウンタメモリ５２１に記憶されている、特定されたユーザ及び送信キューに対応する送信パケット数を更新する（手順４００８）。そして、帯域制御部５２は、ユーザ毎に送信キューから取り出されたパケットを順次、送信制御部５１に送り、送信制御部５１は受け取ったパケットを接続された回線に送信する（手順４００９）。
【０１０５】
次に図２２において、装置管理部２の廃棄情報解析部２０の情報収集部２１は、図１４を用いて説明した通り、例えば定期的にパケット送信部５の送信カウンタメモリ５２１に格納されている統計情報を読み出す（手順４５０１）。情報収集部２１は読み出した統計情報をフロー判定部２２に渡し、フロー判定部２２はその統計情報に含まれるキュー統計情報を一組ずつ抽出する（手順４５０２）。フロー判定部２２は、図１４に示した手順２５０３及び手順２５０４を実行し、抽出したキュー統計情報の廃棄パケット数が正常か異常かの判定と、異常と判定した場合のフロー統計情報の収集が必要か否かの判定を行う（手順４５０３）。フロー統計情報の収集が必要な場合、フロー判定部２２は、図１４に示した手順２５０５及び手順２５０６を実行し、フローを識別するための情報をＯＵＴ側フロー制御部６−１のフロー制御条件メモリ６５１−１に登録する（手順４５０４）。その後、フロー判定部２２は図１４に示した手順２５０７を実行してフロー検出用メモリ２２１の内容を更新し処理を終了する。また、手順４５０３において、フロー統計情報の収集が不要と判定した場合も、フロー検出用メモリ２２１の内容を更新して処理を終了する。
【０１０６】
以上により、情報中継装置１０１−２によるパケットの中継が終了する。
【０１０７】
例えばＤｏＳ攻撃やＤＤｏＳ攻撃では、契約帯域以上のパケットが任意の宛先に対して送信されるため、その宛先に対応する送信キューにおいてパケットが溢れ、パケットの廃棄が発生する。上述した通り、パケット送信部５において特定のフローに属するパケットが多量に廃棄されると、パケット送信部５により計数された廃棄パケット数を装置管理部２の廃棄情報解析部２０が異常と判定し、廃棄されたパケットが属するフローを識別するための情報をＯＵＴ側フロー制御部６−１のフロー制御条件メモリ６５１−２に設定する。このため、ＯＵＴ側フロー制御部６−１のフロー統計部６６−１は、パケット送信部５において多量に廃棄されているパケットと同じフローに属するパケットからフロー統計情報を採取することになる。このように、送信キュー毎に廃棄パケット数を監視することにより、輻輳の発生を検知できると共に不正フローの疑いのあるフローを特定することができる。このため、フロー統計解析装置１２により解析すべきフロー（不正フローの疑いのあるフロー）を、例えば全体のフロー数に対して１／（ユーザ数×ユーザ毎の送信キュー数）へ絞り込むことができる。
【０１０８】
次に、図２０において、上述と同様に、回線集積装置１０２−１に接続されたユーザ１１０−２が回線集積装置１０２−２に接続されたユーザ１１１−１に対して、通信網１０を介してデータ（パケット）を送信すると仮定し、上述した情報中継装置１が情報中継装置１０１−１として通信網に配置される場合について説明する。この場合、情報中継装置１０１−１は、回線集積装置１０２−１から受信するパケットに対して上述したポリシングを実行し、各ユーザ１１０−１〜ｎとの契約帯域に従ってパケットを受信する。また、情報中継装置１０１−１は、各ユーザ１１０−１〜ｎから受信したパケットについてフロー制御の要否を判定し、フロー制御を実行する。一方、情報中継装置１０１−１は、通信網１０に対して送信しようとするパケットに対するシェーピングやフロー制御を行う必要はない。そのため、以下の説明においては、情報中継装置１０１−１は、図１に示した帯域制御部５２によるシェーピングやＯＵＴ側フロー制御部６−１によるフロー制御を実行しないものとする。
【０１０９】
以下、情報中継装置１０１−１の具体的な動作について図２３及び図２４に示すフローチャートを用いて説明する。
【０１１０】
先ず図２３において、情報中継装置１０１−１の何れかのパケット受信部４の受信制御部４１は、回線集積装置１０２−１から回線を介して送られてきたパケットを入力ポートを介して受信する（手順５００１）。パケット受信部４の帯域監視部４２は、受信制御部４１がパケットを受信すると、図５を用いて説明した通りポリシングを実行する（手順５００２）。即ち、帯域監視部４２は、図５に示した手順１００２及び手順１００３を実行し、パケットのユーザ（ここではユーザ１１０−２）及び優先度の特定と、特定したユーザのパケットの蓄積量の算出、その蓄積量へのパケットのパケット長の加算及びその加算値と特定した優先度に対応する蓄積量閾値との比較を行う。手順５００２において、加算値が蓄積量閾値以下であれば、帯域監視部４２は、図５に示した手順１００５を実行して受信カウンタメモリ４２１に記憶されている、特定されたユーザ及び優先度に対応する受信パケット数を更新する（手順５００３）。そして、帯域監視部４２は、図５に示した手順１０１０及び手順１０１１を実行し、受信したパケットを一時的に保持し、保持している各ユーザのパケットを契約帯域に従ってＩＮ側フロー制御部６−２に転送する。
【０１１１】
一方、手順５００２において、加算値が蓄積量閾値を超えていると、帯域監視部４２は、図５に示した手順１００６を実行して受信カウンタメモリ４２１に記憶されている、特定されたユーザ及び優先度に対応する廃棄パケット数を更新する（手順５０１０）。また、帯域監視部４２は、図５に示した手順１００７を実行してパケットを廃棄するか否かを決定し、その決定に従ってパケットを廃棄し（手順５０１１）、パケットの受信処理を終了する。
【０１１２】
パケット受信部４からパケットを受信すると、ＩＮ側フロー制御部６−２のフロー検出部６５−２は、図１１を用いて説明した通り、受信したパケットに対するフロー制御の要否を判定する（手順５００４）。即ち、フロー検出部６５−２は、図１１に示した手順２００１から手順２００６を実行することにより、フロー制御の要否を判定し、フロー制御ラベルを付加してまたはフロー制御ラベルを付加せずにパケットをフロー制御命令部６７−２に転送する。フロー制御が必要と判定された場合は、フロー制御命令部６７−２はフロー制御ラベルの指示に従って、例えばパケットのコピーをフロー統計部６６−２に送る。また、フロー制御命令部６７−２は、フロー制御が必要と判定された場合も不要と判定された場合も、パケットをパケット中継部７に転送する。
【０１１３】
フロー制御命令部６７−２からパケットのコピーを受信すると、フロー統計部６６−２のフロー統計採取部６６２−２は、予め決められたサンプリング間隔とパケットカウンタ６６３−２が計数したそのフローのパケット数とを比較し、フロー統計情報を採取するか否かを判定する（手順５００５）。フロー統計採取部６６２−２は、サンプリング間隔の値とパケット数が等しければ、受信したパケットのコピーをサンプルとしてフロー統計収集メモリ６６１−２に格納する（手順５００６）。尚、フロー制御命令部６７−２は、フロー制御ラベルに従って他のフロー制御実行部にパケットを転送してもよい。この場合、手順５００５や手順５００６において、フロー統計情報の収集以外のフロー制御が実行される。
【０１１４】
ＩＮ側フロー制御部６−２からパケットを受信すると、パケット中継部７のルーティング部７５は、パケットのヘッダに含まれる情報とルーティングテーブルに登録されている情報に基づいてパケットの送出経路（次の転送先）を決定し（手順５００７）、スイッチ部８にパケットと送出経路情報を転送する。
【０１１５】
スイッチ部８は、パケット中継部７から受信した送出経路情報に従って、パケットを送信すべき回線と接続されたパケット送信部５へパケットを転送する（手順５００８）。
【０１１６】
スイッチ部８からパケットを受信すると、パケット送信部５の送信制御部５１は受信したパケットを出力ポートを介して通信網１０に送信する（手順５００９）。
【０１１７】
次に図２４において、装置管理部２の廃棄情報解析部２０の情報収集部２１は、図１６を用いて説明した通り、例えば定期的にパケット受信部４の受信カウンタメモリ４２１に格納されている統計情報を読み出す（手順５５０１）。情報収集部２１は読み出した統計情報をフロー判定部２２に渡し、フロー判定部２２はその統計情報に含まれるユーザ統計情報を一組ずつ抽出する（手順５５０２）。フロー判定部２２は、図１６に示した手順３００３及び手順３００４を実行し、抽出したユーザ統計情報の廃棄パケット数が正常か異常かの判定と、異常と判定した場合のフロー統計情報の収集が必要か否かの判定を行う（手順５５０３）。フロー統計情報の収集が必要な場合、フロー判定部２２は、図１６に示した手順３００５及び手順３００６を実行し、フローを識別するための情報をＩＮ側フロー制御部６−２のフロー制御条件メモリ６５１−２に設定する（手順５５０４）。その後、フロー判定部２２は図１６に示した手順３００７を実行してフロー検出用メモリ２２１の内容を更新し処理を終了する。また、手順５５０３において、フロー統計情報の収集が不要と判定した場合も、フロー検出用メモリ２２１の内容を更新して処理を終了する。
【０１１８】
以上により、情報中継装置１０１−１によるパケットの中継が終了する。
【０１１９】
上述したのと同様、例えばＤｏＳ攻撃のように契約帯域以上のパケットが任意の送信元から任意の宛先に対して送信される場合も、パケット受信部４においてパケットの廃棄が発生する。上述した通り、パケット受信部４において特定のフローに属するパケットが多量に廃棄されると、パケット受信部４により計数された廃棄パケット数を装置管理部２の廃棄情報解析部２０が異常と判定し、廃棄されたパケットが属するフローを識別するための情報をＩＮ側フロー制御部６−２のフロー制御条件メモリ６５１−２に設定する。このため、ＩＮ側フロー制御部６−２のフロー統計部６６−２は、パケット受信部４において多量に廃棄されているパケットと同じフローに属するパケットからフロー統計情報を採取することになる。このように、パケット受信部４の廃棄パケット数を監視することにより、やはり輻輳の発生を検知できると共に不正フローの疑いのあるフローを特定することができる。このため、フロー統計解析装置１２により解析すべきフロー（不正フローの疑いのあるフロー）を、例えば全体のフロー数に対して例えば１／（ユーザ数×優先度数）へ絞り込むことができる。
【０１２０】
以上、説明した通り、パケット送信部５やパケット受信部４において特定のフローに属するパケットが多量に廃棄されると、パケット送信部５やパケット受信部４により計数された廃棄パケット数を装置管理部２の廃棄情報解析部２０が異常と判定し、廃棄されたパケットが属するフローを識別するための情報をＯＵＴ側フロー制御部６−１のフロー制御条件メモリ６５１−２やＩＮ側フロー制御部６−２のフロー制御条件メモリ６５１−２に設定する。このため、ＯＵＴ側フロー制御部６−１のフロー統計部６６−１やＩＮ側フロー制御部６−２のフロー統計部６６−２は、パケット送信部５やパケット受信部４において多量に廃棄されているパケットと同じフローに属するパケット、即ち、不正フローの疑いのあるフローに属するパケットからフロー統計情報を採取することになる。このようにフロー統計情報を収集する対象を、中継する全てのフローのうちの不正フローの疑いのあるフローに限定することができる。これにより、フロー統計解析装置１２は情報中継装置１から異常なフローに関するフロー統計情報を受け取ることになり、フロー統計解析装置１２による不正フロー検出を目的とした解析対象フロー数が減少し、解析作業が大幅に削減され、不正フローをより高速に特定することが可能となる。更に、情報中継装置１において、例えば不正フローの全廃棄、装置管理者へのアラーム通知、通信網１０内の上流に配置される装置への通知等の設定を行うことにより、不正フローに対する対策をより早く取ることが可能となる。
【図面の簡単な説明】
【０１２１】
【図１】情報中継装置の全体構成図。
【図２】パケット中継部７及びスイッチ部８の構成図。
【図３】パケット受信部４の構成図。
【図４】受信カウンタメモリ４２１に記憶される情報例。
【図５】パケット受信部４のフローチャート。
【図６】パケット送信部５の構成図。
【図７】送信カウンタメモリ５２１に記憶される情報例。
【図８】パケット送信部５のフローチャート。
【図９】ＯＵＴ側フロー制御部６−１の構成図。
【図１０】フロー制御条件メモリ６５１−１に記憶される情報例。
【図１１】ＯＵＴ側フロー制御部６−１のフローチャート。
【図１２】廃棄情報解析部２０の構成図。
【図１３】フロー検出用メモリ２２１に記憶される情報例。
【図１４】廃棄情報解析部２１のフローチャート。
【図１５】フロー検出用メモリ２２１に記憶される情報の他の例。
【図１６】廃棄情報解析部２１のフローチャート。
【図１７】フロー検出用メモリ２２１に記憶される情報の他の例。
【図１８】フロー統計送信部２４のフローチャート。
【図１９】フロー統計情報送信フレームのフォーマット。
【図２０】情報中継装置が適用されたネットワークの構成例。
【図２１】情報中継装置１０１−２のフローチャート。
【図２２】情報中継装置１０１−２のフローチャート。
【図２３】情報中継装置１０１−１のフローチャート。
【図２４】情報中継装置１０１−１のフローチャート。
【符号の説明】
【０１２２】
１  情報中継装置
２  装置管理部
３  フロー統計情報送信モジュール
４  パケット受信部
５  パケット送信部
６  フロー制御部
７  パケット中継部
８  スイッチ部
１１  網管理者用操作端末
１２  フロー統計解析装置
２０  廃棄情報解析部
２４  フロー統計送信部
４１  受信制御部
４２  帯域監視部
５１  送信制御部
５２  帯域制御部
６５  フロー検出部
６６  フロー統計部
【図１】
2005277804.tif 000003
【図２】
2005277804.tif 000004
【図３】
2005277804.tif 000005
【図４】
2005277804.tif 000006
【図５】
2005277804.tif 000007
【図６】
2005277804.tif 000008
【図７】
2005277804.tif 000009
【図８】
2005277804.tif 000010
【図９】
2005277804.tif 000011
【図１０】
2005277804.tif 000012
【図１１】
2005277804.tif 000013
【図１２】
2005277804.tif 000014
【図１３】
2005277804.tif 000015
【図１４】
2005277804.tif 000016
【図１５】
2005277804.tif 000017
【図１６】
2005277804.tif 000018
【図１７】
2005277804.tif 000019
【図１８】
2005277804.tif 000020
【図１９】
2005277804.tif 000021
【図２０】
2005277804.tif 000022
【図２１】
2005277804.tif 000023
【図２２】
2005277804.tif 000024
【図２３】
2005277804.tif 000025
【図２４】
2005277804.tif 000026