"受信したパケットのヘッダ情報を抽出するステップと、フロー情報と、該フロー情報に対応するアドレス情報が関連づけられたテーブルを用い、前記ヘッダ情報に示されるアドレス情報からフローを検索するステップと、前記フローが前記テーブルに存在した場合には、前記フローに関連するアドレス情報に検索履歴情報を関連づけて検索履歴管理情報格納手段に格納するとともに、前記アドレス情報に対応したフローの処理情報を取得するステップと、前記検索履歴情報と前記フローの処理情報を用いて前記受信したパケットのキューイングを行なうステップと、前記検索履歴情報によりサービス妨害攻撃の発生を検出するステップと、を含むことを特徴とするフロー別流量監視制御方法。請求項1において、前記キューイングを行なうステップは、QoSキュー単位に行なうことを特徴とするフロー別流量監視制御方法。請求項1において、前記サービス妨害攻撃の発生を検出するステップは、読み出された自装置宛のパケットをソフトウェア処理で終端処理が完了するたびに該当する前記検索履歴情報を読み出すことを特徴とするフロー別流量監視制御方法。請求項3において、前記サービス妨害攻撃の発生を検出するステップは、単位時間あたりの前記検索履歴情報の発生率を算定することを特徴とするフロー別流量監視制御方法。受信したパケットのヘッダ情報を抽出する手段と、フロー情報と、該フロー情報に対応するアドレス情報が関連づけられたテーブルと、ヘッダ情報に示されるアドレス情報からフローを検索する手段と、前記フローが前記テーブルに存在した場合には、前記フローに関連するアドレス情報に検索履歴情報を関連づけて格納する手段と、前記アドレス情報に対応したフローの処理情報を取得する手段と、前記検索履歴管理情報と前記フローの処理情報を用いて前記受信したパケットのキューイングを行なう手段と、前記検索履歴情報によりサービス妨害攻撃の発生を検出する手段と、を備えることを特徴とする通信装置。請求項5において、前記受信したパケットのキューイングを行なう手段は、QoSキュー単位に優先選択と帯域制御を行なうことを特徴とする通信装置。請求項5において、前記サービス妨害攻撃の発生を検出する手段は、読み出された自装置宛のパケットをソフトウェア処理で終端処理が完了するたびに該当する前記検索履歴情報を読み出すことを特徴とする通信装置。請求項7において、前記サービス妨害攻撃の発生を検出するステップは、単位時間あたりの前記検索履歴情報の発生率を算定することを特徴とする通信装置。コンピュータに、受信したパケットのヘッダ情報を抽出するステップと、フロー情報と、該フロー情報に対応するアドレス情報が関連づけられたテーブルを用い、前記ヘッダ情報に示されるアドレス情報からフローを検索するステップと、前記フローが前記テーブルに存在した場合には、前記フローに関連するアドレス情報に検索履歴情報を関連づけて検索履歴管理情報格納手段に格納するとともに、前記アドレス情報に対応したフローの処理情報を取得するステップと、前記検索履歴情報と前記フローの処理情報を用いて前記受信したパケットのキューイングを行なうステップと、前記検索履歴情報によりサービス妨害攻撃の発生を検出するステップと、を実行させることを特徴とするプログラム。従来技術においては、パケット流量の監視および制御する場合に、対象のフローまたはキュークラスを固定的に設定し、対象を限定していた。しかし、実際には複数のフローを束ねたキュークラス単位で監視対象となることが多く、一律な閾値が適用された結果、一つのフローの帯域違反が他のフローの廃棄を招いていた。DoS攻撃パケットを拒否するための上記先行技術文献に開示の技術は、通常では監視対象として設定しないプロトコル系パケットのフローを指定してパケット数やバイト数が著しく多いフローを固定的な基準で検出するために、非常に多くの資源を用意しなければならなかった。本発明は、ネットワークに流れるプロトコル系パケットも含め、全てのフローを制御対象とするフロー別の流量を監視制御する技術に関し、特に複数フローが平等なフロー廃棄になるように制御するとともに、DoS攻撃からの通信装置を適切に防御することを目的とする。上記課題を解決するための方法の一観点は、受信したパケットのヘッダ情報を抽出するステップと、フロー情報と、該フロー情報に対応するアドレス情報が関連づけられたテーブルを用い、前記ヘッダ情報に示されるアドレス情報からフローを検索するステップと、前記フローが前記テーブルに存在した場合には、前記フローに関連するアドレス情報に検索履歴情報を関連づけて検索履歴管理情報格納手段に格納するとともに、前記アドレス情報に対応したフローの処理情報を取得するステップと、前記検索履歴情報と前記フローの処理情報を用いて前記受信したパケットのキューイングを行なうステップと、前記検索履歴情報によりサービス妨害攻撃の発生を検出するステップとを含んでいる。以上、開示の技術によれば、全パケットを監視対象とし、且つソフトウェアモジュールごとの処理性能に合わせて柔軟に輻輳状態の判断が行なえるようにしたため、一つのフローの帯域違反が他のフローへの影響を受けなくなるとともに、高度なデータ解析が可能となるので、DoS攻撃を受けていると判断したら、エントリの無効化、帯域制限などの防御策について保守者を介さず、リアルタイムに適用することができる。図1は、本発明の適用される通信装置のネットワーク配置図であり、aLANに接続されたL2SW、及びbWANに接続されたL3SWである。aLANに接続されたL2SWL2SWレイヤ2スイッチ2は、ネットワークの中継機器の一つであり、データリンク層第2層のデータでパケット31、32の行先を判断して転送を行なうものである。複数のユーザ端末41~43が接続されているLANLocalAriaNetwork1にはパケット情報が飛び交っており、不正なパケット攻撃を受ける可能性がある。そのため、L2SW2にてパケット流量の監視制御が行われる。bWANに接続されたL3SWL3SWレイヤ3スイッチ61~64は、ネットワークの中継機器の一つであり、ネットワーク層第3層のデータでパケットの行先を判断して転送を行なうものである。L3SW[Edge]61、63では、L3SW[Core]62、64と異なり、UpperLinkとLowerLinkの帯域が異なり、サービス品質QoS:QualityofServiceによる流量制御を必要とする。図2は、本発明に適用される通信装置の構成図である。通信装置7は、図1で説明したL2SW2およびL3SW61~64であり、回線処理モジュール81~83、フォワーディング処理モジュール91、92、93、スイッチングモジュール10、および装置制御モジュール11で構成される。回線処理モジュール81~83は、外部の回線と直接接続し、パケットの送受信処理を行うモジュールである。フォワーディング処理モジュール91、92、93は、パケットのL2L3L4ヘッダ情報を解析し、装置内におけるパケット処理方法を決めるモジュールであり、QoSキュー単位に帯域制御と優先制御を行う優先/帯域制御部911、912と、パケットの廃棄もしくはQoSキュークラスへの振り分け指示を行なう制御部92を備える。スイッチングモジュール10は、装置内のスロット間スイッチングを行なうモジュールである。装置制御モジュール11は、装置全体を統括して装置管理及び通信プロトコル終端を行うモジュールである。本発明は、フォワーディング処理モジュール91、92、93内の優先/帯域制御部911、912および制御部92に適用される。なお、後述する図3との対応において、制御部92は、ソフトウェア処理部25に対応し、その他のモジュール部はパケットに対する読み取り加工処理がメインのため、一般的には優先/帯域制御部911、912とは区別される。図3は、本発明の一実施形態における通信装置の詳細構成図である。パケット受信用バッファ12は、パケットが到着した場合、パケット振り分け先のQoSキュークラスが決まるまでの間、到着したパケットを格納する。受信パケットは、最適な経路を選択して送信するルーチングパケット13、IPアドレスから物理層のネットワークアドレスMACアドレスを求めるために利用されるARPAddressResolutionProtocolパケット14、およびIPの機能を補完するためのICMPInternetControlMessageProtocolパケット15が存在する。なお、ARPは、L2レイヤのプロトコルであることからL2ヘッダを解析して装置内の処理を決める。ICMPは、L3レイヤのプロトコルであることからL3ヘッダを解析して装置内の処理を決める。フロー識別モジュール16は、受信用パケットのL2/L3/L4ヘッダ情報を抽出し、それらを検索キーとしてCAMContentAddressableMemory17へ送信する。CAMContentAddressableMemory17は、ロンゲストプレフィックス方式でフローのエントリ検索を行い、ヒットしたエントリのアドレス情報を返す。アドレス情報はアドレスデコーダ18により、セレクタ20向けおよび連想メモリ22向けのアドレス情報へと変換される。ロンゲストプレフィックス方式は、対象となっているあるアドレスに対し、複数のプレフィックスの中から上位ビットが最も長く合致するプレフィックスを選択する方式である。CAMテーブル17aは、CAM17に付随するテーブルであり、テーブル構造については、後述する図8にて説明する。セレクタ20は、アドレスデコーダ18より受信したアドレス情報に対応したヒット履歴格納用FIFO[ICMP]21a、FIFO[ARP]21bへ時刻情報19を格納する。ヒット履歴格納用FIFO[ICMP]21a、FIFO[ARP]21bは、フローごとの管理FIFOであり、FIFOの構造については、後述する図8にて説明する。連想メモリ22は、アドレスデコーダ18より受信したアドレス情報に対応した連想メモリテーブル22aにアクセスし、QoSキューおよび有効または無効に関する情報を取得する。連想メモリテーブル22aは、連想メモリ22に付随するテーブルであり、テーブル構造については、後述する図8にて説明する。制御部23は、ヒット履歴格納用FIFO21a,21bの情報と連想メモリ22の情報有効または無効フラグ、QoSキュー番号を基にパケットの廃棄もしくはQoSキュークラスへの振り分け指示を行なう。優先/帯域制御部24は、QoSキュー単位に優先制御と帯域制御を行う。優先/帯域制御部24の詳細については図4にて説明する。ソフトウェア処理部25は、フォワーディング処理モジュール9のソフトウェアで終端するパケットの処理を行う。流量解析動的制御部251は、フォワーディング処理モジュール91、92、93のソフトウェアで終端するパケットの処理が完了するたびに該当するヒット履歴格納用FIFO21a、21bよりヒット履歴を読み出す。また、単位時間当たりのヒット率を計算し、DoS攻撃を受けていると判断した場合にはフローエントリの一時的な無効化や、QoSキューの帯域変更を動的に行い、パケット廃棄動作を起動させる。ARP処理モジュール252は、前述したARPAddressResolutionProtocolパケット14を処理するモジュールである。ICMP処理モジュール253は、前述したICMPInternetControlMessageProtocolパケット15を処理するモジュールである。このように、ソフトウェアモジュールごとに流量制御するため、あるモジュールで輻輳してもその影響が他のソフトウェアモジュールに及ぶことは無く、ソフトウェアモジュール自身の処理性能に合わせてパケット供給を行なうことができる。以上の構成において、フロー識別モジュール16→CAM17→アドレスデコーダ18→セレクタ20→制御部23→優先/帯域制御部24のルートは、パケットのヘッダ部のみの処理になる。本例では、パケットの種類として、ルーチングパケット13、ARPパケット14、およびICMPパケット15を例にして説明したが、多種類あるパケットのうちで自装置宛フローと、他装置宛フローの一例として上げたものであり、本発明はその他のパケットに対しても適用することが可能である。ARPパケット14、およびICMPパケット15は、ARプロトコル、ICMプロトコルを任意の通信の制御部ソフトウェア処理部へ伝達するためのパケットであり、本例では、DoS攻撃の代表例として、それらのパケットを対象として説明した。なお、本例では流量監視制御対象を自装置宛フローとした場合について記載している。図4は、本発明の一実施形態における優先/帯域制御部の構成図である。図4に示すように、優先/帯域制御部24は、クラシファイア241と、メインスケジューラ242と、QoSキューアドレス管理FIFO12431~FIF32433とQoS共有メモリ244と、セレクタ245とからなる。クラシファイアClassifier241は、制御部23から指示されたQoSキューにパケット受信用バッファ12から受信したパケットを振り分けて格納する分類装置であり、制御部23から振り分け指示を受けた場合は、QoS共有メモリ244へ受信したパケットを格納し、受信パケットのアドレスをQoSキューアドレス管理FIFO12431~FIFO32433へ格納する。メインスケジューラ242は、流量解析動的制御部251から送信される帯域調整値に基づいて、QoS共有メモリ244に格納されたパケットの読出し順序および回数を指示する。QoSキューアドレス管理FIFO12431~FIFO32433は、QoS共有メモリ244に格納されたパケットのアドレスが格納される。QoS共有メモリ244は、パケット受信用バッファ12から受信したパケットを格納する。セレクタ245は、メインスケジューラ242からの指示の元、QoS共有メモリ244からパケットを読み出す。以上の構成により、優先/帯域制御部24は、パケット振り分け先のQoSキュークラスを決定してQoSの利用条件や運用条件の規定を決めるQoSポリシーを実現する。QoSポリシーとは、どのアプリケーションを優先するか、各アプリケーションに対するQoSの評価尺度をどの程度にするのかを決めたものを呼ぶ。図5は、本発明の一実施形態におけるフロー別流量監視制御手順のフローチャートその1である。以下に、図3通信装置の詳細構成図を参照しながら、フロー別流量監視制御手順を時系列的に説明する。S1.パケット受信用バッファ12は、パケットが到着し、自バッファ内にパケットが格納されているかを確認する。S2.フロー識別モジュール16は、パケット受信用バッファ12内に格納されているパケットのヘッダ領域を抽出し、それらを検索キーとしてCAM17へ送信する。パケットのヘッダ領域L2ヘッダ、L3ヘッダ、L4ヘッダについては、図5にて詳述する。S3.CAM17は、ロンゲストプレフィックス方式で、フローのエントリ検索を行い、ヒットしたエントリのアドレス情報をアドレスデコーダ18へ送信する。ロンゲストプレフィックス方式は、対象となっているあるアドレスに対し、複数のプレフィックスの中から上位ビットがもっとも長く合致するプレフィックスを選択する方式である。アドレスデコーダ18は、このアドレス情報をデコードし、セレクタ20向けのアドレス情報と、連想メモリ22向けのアドレス情報に変換する。なお、フローエントリがヒットする詳細説明は、図8にて後述する。S4.受信した時刻情報23を含むセレクタ20は、アドレスデコーダ18より受信したアドレス情報に示されるフロー種別により、アドレス情報に対応したヒット履歴格納用FIFO[ICMP]21aおよびヒット履歴格納用FIFO[ARP]21b等へそれぞれ時刻情報を格納する。S5.連想メモリ22は、アドレスデコーダ18より受信したアドレス情報に対応した連想メモリテーブル22aにアクセスし、フロー情報の判別QoSキューおよび有効/無効に関する情報よりを行なう。S6.制御部23は、前述のS4によるヒット履歴格納用FIFOの情報Full、AlmostFullと、前述のS5による有効/無効フラグ、QoSキュー番号を元に、パケットの廃棄もしくはQoSクラスへの振り分けを行なう。S7.優先/帯域制御部24は、QoSキュー単位に優先制御と帯域制御を行う。具体的には、QoS共有メモリ244にパケットを格納し、格納したパケットのアドレスをQoSキューアドレス管理FIFO12431~QoSキューアドレス管理FIFO32433に振り分ける動作をする。以上のフローチャートは、受信パケットのヘッダ情報を抽出してからQoSキュー単位に優先/帯域制御を行うまでを示す。特に、フロー識別処理の際に装置内のデバイス間での情報伝達されるエントリアドレスと、ヒット時刻を管理することにより、全ての履歴をデータ解析可能な形で保存できることに着目している。図6は、本発明の一実施形態におけるフロー別流量監視制御手順のフローチャートその2である。以下に、図3通信装置の詳細構成図を参照しながら、フロー別流量監視制御手順を時系列的に説明する。S8.優先/帯域制御24より出力されるパケットのうち、自装置宛については、ソフトウェア処理部25へのフォワーディングforwardingを行なう。自装置宛のパケットは、ARPパケット14とICMPパケット15である。S9.優先/帯域制御24より出力されるパケットのうち、他装置宛については、他装置へのフォワーディングforwardingを行なう。他装置宛のパケットは、ルーチングパケット13である。S10.フォワーディング処理モジュール9のソフトウェアで終端するパケットの処理を行う。S11.流量解析動的制御部251は、フォワーディング処理モジュール9のソフトウェアで終端するパケットの処理が完了するたびに該当するヒット履歴格納用FIFO21よりヒット履歴を読みだし、流量の解析と、動的制御を実行する。流量の解析は、単位時間あたりのヒット率を算定する。動的制御は、DoS攻撃を受けていると判断した場合にフローエントリの無効化、QoSキューの帯域変更およびパケット廃棄動作である。上記動的制御は、流量解析動的制御部251より連想メモリ22および優先/帯域制御部24に対して指示される。以上のフローチャートは、QoSキュー単位に優先/帯域制御を行ってから、特に自装置宛のパケットについて流量解析と動的制御を行うまでを示す。特に、フローのエントリアドレスとヒット時刻がデータとして装置内のソフトウェア処理部に渡されるため、高度なデータ解析が可能となる。その結果、攻撃を受けていると判断したら、エントリの無効化、帯域制限などの防御策について保守者を介さずリアルタイムに適用できる。図7は、本発明による通信装置で処理するパケットの構造である。到着するパケットのヘッダ構造は図7に示すとおりであり、ネットワークレイヤーごとヘッダを具備する。レイヤ2であれば、L2ヘッダには、MACDst48ビットとMACSrc48ビットが該当する。レイヤ3であれば、L3ヘッダには、IPSrc32ビットとIPDst32ビットが該当する。レイヤ4であれば、L4ヘッダには、PortSrc16ビットとPortDst16ビットが該当する。ネットワークポリシーの適用単位となるフローは、これらのヘッダ情報に基づいて決められる。ペイロードPayloadは、パケット、フレーム、セルなどで、制御用のヘッダ部分などを除いた実データを伝送するフィールドであり、FCS[32ビット]は、フレームチェックシーケンスFramechecksequenceであり、受信側が伝送誤りを検出できるようにするために、送信側がフレームと呼ぶデータ転送単位の最後尾に付けるビット列である。以上の構成において、L2ヘッダ、L3ヘッダ及びL4ヘッダのヘッダ構造は、ネットワークレイヤごとのヘッダを具備している。よって、ネットワークポリシーの適用単位となるフローは、これらのヘッダ情報に基づいて決められる。図8は、本発明の一実施形態における通信装置で使用する管理テーブルの構成図である。CAMテーブル17aの構造は、[フローNo0]、[フローNo1]、[フローNo2]、[フローNo3]の中で、L2/L3/L4ヘッダをキーとした検索により、[フローNo1]エントリーがヒット状態を示す。CAMContentAddressableMemoryテーブル17aは、ヒットしたエントリのアドレス情報0x00000010をアドレスデコーダ18に返す。アドレスデコーダ18は、ヒット履歴管理用FIFO21に対し、[フローNo1のヒット履歴]へヒットした時刻を格納する。更に、アドレスデコーダ18は、連想メモリ22の[フローNo1の処理詳細]から、ヒットしたフローに対する処理詳細であるQoSキューFIFO番号:2及び有効/無効フラグ:有効の情報を取得する。以上の構成により、アドレスデコーダ18は、CAMテーブル17aからフローエントリがヒットしたエントリアドレスを受信し、このエントリアドレスに対応した連想メモリ22aのアドレスからヒットしたフローに対する処理詳細を取得でき、且つ、ヒットした時刻をフローごとのヒット履歴管理用FIFO21へ格納できる。"