(57)【要約】【課題】収集装置へのデータの送信レートが許容送信レートを超えないように、収集装置へ送信するデータを決定する。【解決手段】通信装置は、出力回線に接続された収集装置に送信される複製対象データと複製対象データそれぞれの送信レートとを示すモニタ情報を保持し、モニタ情報を参照して受信したデータを複製するか否かの判定を実行し、該判定の結果に基づいて、該受信したデータの複製データを生成し、複製データを収集装置に送信し、複製データの収集装置への送信レートが出力回線の許容送信レートより大きいと判定した場合、複製データの収集装置への送信レートが許容送信レート以下となるように、モニタ情報を変更する。【選択図】図１
2018164141.tif 000002
【特許請求の範囲】
【請求項１】
入力回線と、収集装置に接続された出力回線と、に接続された通信装置であって、
前記収集装置に送信される複製対象データと、前記複製対象データそれぞれの送信レートと、を示すモニタ情報を保持する、メモリと、
前記入力回線から入力されたデータを受信する、データ受信部と、
前記モニタ情報を参照して前記受信したデータを複製するか否かを判定する第１判定を実行し、前記第１判定の結果に基づいて、前記受信したデータの複製データを生成する、データ処理部と、
前記出力回線を介して、前記複製データを前記収集装置に送信する、データ送信部と、を含み、
前記データ処理部は、前記複製データの前記収集装置への送信レートが前記出力回線の許容送信レートより大きいと判定した場合、前記複製データの前記収集装置への送信レートが前記許容送信レート以下となるように、前記モニタ情報を変更する、通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記モニタ情報は、前記複製対象データのヘッダ情報と、前記複製対象データが前記通信装置内で付与される装置内情報と、の少なくとも一方、を示すフローエントリと、
前記データ処理部は、
前記受信したデータと前記フローエントリとを比較して、前記受信したデータが前記複製対象データであると判定した場合、当該複製対象データに対応する送信レートに基づいて、前記第１判定を実行する、通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記データ処理部は、
新規複製対象データのフローエントリと、前記新規複製対象データの送信レートと、を示す複製対象データ追加指示を受け付け、
前記新規複製対象データのフローエントリと、前記新規複製対象データの送信レートと、を前記メモリに格納し、
前記複製対象データと前記新規複製対象データの送信レートの合計が、前記許容送信レートを超える場合、
前記合計が前記許容送信レート以下となるよう、前記複製対象データの送信レート及び前記新規複製対象データの送信レートの少なくとも一方を下げる第１送信レート変更処理を実行する、通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記データ処理部は、
第１複製対象データの削除指示を受け付け、
前記第１複製対象データのフローエントリと、前記第１複製対象データの送信レートと、を前記メモリから削除する削除処理を実行し、
前記第１送信レート変更処理を実行済みである場合、
前記削除処理後の前記複製対象データの送信レートの合計が前記許容送信レート以下となるよう、前記削除処理後の前記複製対象データの送信レートを上げる第２送信レート変更処理を実行する、通信装置。
【請求項５】
請求項４に記載の通信装置であって、
前記データ処理部は、
前記第１送信レート変更処理において、元の送信レートの値を前記メモリに格納し、
前記第２送信レート変更処理において、
前記削除処理後の前記複製対象データそれぞれの元の送信レートを前記メモリから取得し、
前記取得した元の送信レートの合計が前記許容送信レート以下である場合、前記削除処理後の前記複製対象データの送信レートを、前記取得した元の送信レートに変更する、通信装置。
【請求項６】
請求項２に記載の通信装置であって、
前記データ処理部は、
新規複製対象データのフローエントリと、前記新規複製対象データの送信レートの制限がないことを示す情報と、を示す複製対象データ追加指示を受け付け、
前記新規複製対象データの前記入力回線を介した受信レートを計測し、
前記複製対象データの送信レートと前記受信レートとの合計が、前記許容送信レートを超過する場合、前記新規複製対象データを複数の新規複製対象データに分割し、
前記複数の新規複製対象データのフローエントリそれぞれは、前記新規複製対象データのフローエントリと、前記新規複製対象データに含まれないヘッダ情報又は装置内情報を示す追加情報と、を含み、
前記データ処理部は、
前記複数の新規複製対象データそれぞれの前記入力回線を介した受信レートを計測し、
前記複数の新規複製対象データのうち、前記複製対象データの送信レートと当該新規複製対象データの受信レートとの合計が前記許容送信レート以下である、新規複製対象データ、が存在すると判定した場合、
当該新規複製対象データに含まれる第１新規複製対象データのフローエントリと、前記第１新規複製対象データの送信レートの制限がないことを示す情報と、を前記メモリに格納する、通信装置。
【請求項７】
請求項６に記載の通信装置であって、
前記メモリは、前記ヘッダ情報と前記装置内情報における優先度を示す優先度情報を保持し、
前記データ処理部は、
前記複数の新規複製対象データのうち、前記複製対象データの送信レートと当該新規複製対象データの受信レートとの合計が前記許容送信レート以下である、新規複製対象データ、が存在すると判定した場合、
前記優先度情報を参照して、当該新規複製対象データのうち、前記追加情報における優先度が最も高い新規複製対象データを選択し、
前記選択した新規複製対象データのフローエントリと、前記選択した新規複製対象データの送信レートの制限がないことを示す情報と、を前記メモリに格納する、通信装置。
【請求項８】
請求項２に記載の通信装置であって、
前記データ処理部は、
新規複製対象データのフローエントリと、前記新規複製対象データの送信レートの制限がないことを示す情報と、を示す複製対象データ追加指示を受け付け、
前記新規複製対象データの前記入力回線を介した受信レートを計測し、
前記複製対象データの送信レートと前記受信レートとの合計が、前記許容送信レートを超過する場合、
前記ヘッダ情報及び前記装置内情報の少なくとも一方から生成されるＨＡＳＨ値の範囲を決定し、
前記受信したデータが前記複製対象データであり、前記受信したデータの前記ＨＡＳＨ値が、前記決定した範囲に含まれる場合に、前記受信したデータの前記複製データを生成する、通信装置。
【請求項９】
入力回線と、収集装置に接続された出力回線と、に接続された通信装置が実行する通信方法であって、
前記通信装置は、前記収集装置に送信される複製対象データと、前記複製対象データそれぞれの送信レートと、を示すモニタ情報を保持し、
前記通信方法は、前記通信装置が、
前記入力回線から入力されたデータを受信する、データ受信手順と、
前記モニタ情報を参照して前記受信したデータを複製するか否かのを判定する第１判定を実行し、前記第１判定の結果に基づいて、前記受信したデータの複製データを生成する、データ処理手順と、
前記出力回線を介して、前記複製データを前記収集装置に送信する、データ送信手順と、を含み、
前記データ処理手順において、前記通信装置が、前記複製データの前記収集装置への送信レートが前記出力回線の許容送信レートより大きいと判定した場合、前記複製データの前記収集装置への送信レートが前記許容送信レート以下となるように、前記モニタ情報を変更する、通信方法。
【請求項１０】
請求項９に記載の通信方法であって、
前記モニタ情報は、前記複製対象データのヘッダ情報と、前記複製対象データが前記通信装置内で付与される装置内情報と、の少なくとも一方、を示すフローエントリと、
前記データ処理手順において、前記通信装置が、
前記受信したデータと前記フローエントリとを比較して、前記受信したデータが前記複製対象データであると判定した場合、当該複製対象データに対応する送信レートに基づいて、前記第１判定を実行する、通信方法。
【請求項１１】
請求項１０に記載の通信方法であって、
前記データ処理手順において、前記通信装置が、
新規複製対象データのフローエントリと、前記新規複製対象データの送信レートと、を示す複製対象データ追加指示を受け付け、
前記新規複製対象データのフローエントリと、前記新規複製対象データの送信レートと、を前記通信装置に格納し、
前記複製対象データと前記新規複製対象データの送信レートの合計が、前記許容送信レートを超える場合、
前記合計が前記許容送信レート以下となるよう、前記複製対象データの送信レート及び前記新規複製対象データの送信レートの少なくとも一方を下げる第１送信レート変更処理を実行する、通信方法。
【請求項１２】
請求項１１に記載の通信方法であって、
前記データ処理手順において、前記通信装置が、
第１複製対象データの削除指示を受け付け、
前記第１複製対象データのフローエントリと、前記第１複製対象データの送信レートと、を前記通信装置から削除する削除処理を実行し、
前記第１送信レート変更処理を実行済みである場合、
前記削除処理後の前記複製対象データの送信レートの合計が前記許容送信レート以下となるよう、前記削除処理後の前記複製対象データの送信レートを上げる第２送信レート変更処理を実行する、通信方法。
【請求項１３】
請求項１２に記載の通信方法であって、
前記データ処理手順においては、前記通信装置が、
前記第１送信レート変更処理において、元の送信レートの値を前記通信装置に格納し、
前記第２送信レート変更処理において、
前記削除処理後の前記複製対象データそれぞれの元の送信レートを前記通信装置から取得し、
前記取得した元の送信レートの合計が前記許容送信レート以下である場合、前記削除処理後の前記複製対象データの送信レートを、前記取得した元の送信レートに変更する、通信方法。
【請求項１４】
請求項１０に記載の通信方法であって、
前記データ処理手順において、前記通信装置が、
新規複製対象データのフローエントリと、前記新規複製対象データの送信レートの制限がないことを示す情報と、を示す複製対象データ追加指示を受け付け、
前記新規複製対象データの前記入力回線を介した受信レートを計測し、
前記複製対象データの送信レートと前記受信レートとの合計が、前記許容送信レートを超過する場合、前記新規複製対象データを複数の新規複製対象データに分割し、
前記複数の新規複製対象データのフローエントリそれぞれは、前記新規複製対象データのフローエントリと、前記新規複製対象データに含まれないヘッダ情報又は装置内情報を示す追加情報と、を含み、
前記データ処理手順において、前記通信装置が、
前記複数の新規複製対象データそれぞれの前記入力回線を介した受信レートを計測し、
前記複数の新規複製対象データのうち、前記複製対象データの送信レートと当該新規複製対象データの受信レートとの合計が前記許容送信レート以下である、新規複製対象データ、が存在すると判定した場合、
当該新規複製対象データに含まれる第１新規複製対象データのフローエントリと、前記第１新規複製対象データの送信レートの制限がないことを示す情報と、を前記通信装置に格納する、通信方法。
【請求項１５】
請求項１０に記載の通信方法であって、
前記データ処理手順において、前記通信装置が、
新規複製対象データのフローエントリと、前記新規複製対象データの送信レートの制限がないことを示す情報と、を示す複製対象データ追加指示を受け付け、
前記新規複製対象データの前記入力回線を介した受信レートを計測し、
前記複製対象データの送信レートと前記受信レートとの合計が、前記許容送信レートを超過する場合、
前記ヘッダ情報及び前記装置内情報の少なくとも一方から生成されるＨＡＳＨ値の範囲を決定し、
前記受信したデータが前記複製対象データであり、前記受信したデータの前記ＨＡＳＨ値が、前記決定した範囲に含まれる場合に、前記受信したデータの前記複製データを生成する、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信方法に関する。
【背景技術】
【０００２】
トラフィックをポートミラーリングやＮｅｔＦｌｏｗ等のモニタリング機能によってトラフィック情報をコレクタ装置宛に転送し、収集装置によってトラフィック情報を解析するネットワーク監視方法がある。近年のトラフィック量増加に伴い、収集装置の解析性能も上がっているが、全てのトラフィックを解析することは難しく、モニタリングするパケットを効率的に選択する必要がある。
【０００３】
本技術分野の背景技術として、特開２００７−３３６５１２号公報（特許文献１）がある。この公報には、「統計情報収集装置と、コレクタ装置と、を備え、前記統計情報収集装置は、パケットを受信し、前記受信パケットの統計情報を収集し、前記収集された統計情報を前記コレクタ装置に送信する通信情報収集システムにおいて、前記統計情報収集装置は、前記受信パケットが属するフローを識別するためのフロー識別条件を含むフロー情報が格納され、前記フロー識別条件によって識別されるフロー毎に、前記収集されたパケットの統計情報を分類し、前記フロー毎に分類された統計情報を参照し、前記統計情報収集装置が前記統計情報を前記コレクタ装置に送信する送信間隔を前記フロー毎に決定することを特徴とする。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３３６５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、通信装置が中継するデータ量は多く、通信装置が中継するデータを全て複製して収集装置へ送信しようとすると、出力回線帯域や収集装置の性能から定まる許容送信レートを超過してしまう可能性が高い。
【０００６】
通信装置は、複製するデータをサンプリングし、送信する複製データ量を減らすことで、上記問題を解決することができる。しかし、ネットワーク管理者が、複製データの出力回線帯域や収集装置の性能等から、例えば複製するデータのサンプリング率又は複製するデータのフロー等を決定し、通信装置に設定する必要がある。
【０００７】
そこで本発明の一態様は、収集装置へのデータの送信レートが許容送信レートを超えないように、収集装置へ送信するデータを決定することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一態様は以下の構成を採用する。入力回線と、収集装置に接続された出力回線と、に接続された通信装置であって、前記収集装置に送信される複製対象データと、前記複製対象データそれぞれの送信レートと、を示すモニタ情報を保持する、メモリと、前記入力回線から入力されたデータを受信する、データ受信部と、前記モニタ情報を参照して前記受信したデータを複製するか否かを判定する第１判定を実行し、前記第１判定の結果に基づいて、前記受信したデータの複製データを生成する、データ処理部と、前記出力回線を介して、前記複製データを前記収集装置に送信する、データ送信部と、を含み、前記データ処理部は、前記複製データの前記収集装置への送信レートが前記出力回線の許容送信レートより大きいと判定した場合、前記複製データの前記収集装置への送信レートが前記許容送信レート以下となるように、前記モニタ情報を変更する、通信装置。
【発明の効果】
【０００９】
本発明の一態様によれば、収集装置へのデータの送信レートが許容送信レートを超えないように、収集装置へ送信するデータを決定することができる。
【００１０】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施例１におけるパケット中継装置の構成例を示すブロック図である。
【図２】実施例１におけるパケット情報処理部の構成例を示すブロック図である。
【図３】実施例１におけるフロー検索ＣＡＭの一例を示す説明図である。
【図４】実施例１におけるフロー検索ＲＡＭの一例を示す説明図である。
【図５】実施例１におけるパケット中継装置が扱うデータの一例を示す説明図。
【図６】実施例１におけるモニタエントリを登録処理の一例を示すフローチャートである。
【図７】実施例１におけるモニタエントリ削除処理の一例を示すフローチャートである。
【図８】実施例２におけるフロー検索ＣＡＭの一例を示す説明図である。
【図９】実施例２におけるフロー検索ＲＡＭの一例を示す説明図である。
【図１０】実施例２におけるモニタエントリ送信レート判定処理の一例を示すフローチャートである。
【図１１】実施例２におけるモニタエントリ追加処理の一例を示すフローチャートである。
【図１２】実施例２におけるモニタエントリ追加処理において、フローエントリ追加されたフロー検索ＣＡＭの一例を示す説明図である。
【図１３】実施例２におけるモニタエントリ追加処理において、ＲＡＭエントリ追加されたフロー検索ＲＡＭの一例を示す説明図である。
【図１４】実施例２における解析情報格納テーブルに格納された細分化フローテーブルの一例を示す説明図である。
【図１５Ａ】実施例２における優先度スコアテーブルの一例を示す説明図である。
【図１５Ｂ】実施例２における優先度スコアテーブルの一例を示す説明図である。
【図１６】実施例２における全モニタ可能フロー選択処理の一例を示すフローチャートである。
【図１７】実施例２において再度モニタエントリ追加処理が終了した際の、フロー検索ＣＡＭの一例を示す説明図である。
【図１８】実施例３におけるＨＡＳＨ方式モニタ対象選択処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【実施例１】
【００１３】
図１は、本実例のパケット中継装置の構成例を示すブロック図である。通信装置の一例であるパケット中継装置１０００は、データの一例であるパケットの入力を受け付け、当該パケットのヘッダ情報に基づいて当該パケットを他の装置に転送する。パケット中継装置１０００は、一つ以上の入力回線１００１、一つ以上の出力回線１００２、管理端末１００３、及び一つ以上のコレクタ装置１００４と接続される。なお、図面においては、便宜のため、一つの入力回線１００１、１つの出力回線１００２、及び一つのコレクタ装置１００４が記載されている。
【００１４】
入力回線１００１は、他の装置からパケット中継装置１０００にパケットを入力するための通信回線である。出力回線１００２は、パケット中継装置１０００から他の装置へパケットを出力するための通信回線である。
【００１５】
パケット中継装置１０００は、例えば、パケット受信部１１００、パケット送信部１２００、パケット情報処理部１３００、経路検索部１４００、及びパケット中継処理部１５００を備える。パケット中継装置１０００の各部は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアで構成される。
【００１６】
パケット受信部１１００は、パケットの受信処理を実行する。パケット受信部１１００には、一つ以上の入力回線１００１が接続される。パケット受信部１１００は、経路検索部１４００、及びパケット情報処理部１３００にパケットヘッダ情報を出力する。また、パケット受信部１１００は、受信したパケットと、経路検索部１４００から出力された当該受信パケットに対応する処理結果と、をパケット中継処理部１５００に出力する。
【００１７】
パケット情報処理部１３００は、パケット受信部１１００及びパケット送信部１２００からのパケット情報と、解析情報格納テーブル１３２０が格納する情報と、に基づいて、パケットのヘッダ情報やモニタ先の出力回線１００２の番号等の情報をパケット複製部１３３０に出力する。パケット複製部１３３０は、複製したパケットを、パケット送信部１２００に出力する。
【００１８】
経路検索部１４００は、例えば、予め定められたパケットのヘッダ情報と出力回線１００２との対応に従って、パケット受信部１１００から出力されたパケットを出力するための出力回線１００２を特定する。パケット中継処理部１５００は、経路検索部１４００が特定した出力回線１００２の情報に基づいて、所定のスイッチングを行い、パケット本体、パケットヘッダ情報、及び出力回線１００２等の情報をパケット送信部１２００に出力する。
【００１９】
パケット送信部１２００は、スイッチングされたパケットを一時的に蓄積する送信バッファ（図示省略）を備え、パケットの送信処理を実行する。また、パケット送信部１２００は、パケット複製部１３３０から出力された複製パケットを、パケット複製部１３３０から出力された宛先情報に従って、コレクタ装置１００４と接続されている出力回線１００２に送信する。
【００２０】
また、パケット中継装置１０００は、プログラムを実行するプロセッサを含むＣＰＵ（Ｃｏｎｔｒｏｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムを格納するメモリと、を有してもよい。メモリは、不揮発性の記憶素子であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及び揮発性の記憶素子であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ））などを格納する。ＲＡＭは、ＤＲＡＭのような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００２１】
パケット中継装置１０００の各部における一部又は全部の機能は、ＣＰＵがメモリに格納されたプログラムを実行することによって実現されてもよい。この場合プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。
【００２２】
管理端末１００３は、例えばＣＰＵ及びメモリを有し、パケット中継装置１０００の各種設定を行うための計算機である。コレクタ装置１００４は、例えばＣＰＵ及びメモリを有し、パケット中継装置１０００から出力された複製パケットを受け取り、解析等を行う計算機である。
【００２３】
図２は、パケット情報処理部１３００の構成例を示すブロック図である。パケット解析部１３１０は、例えば、フロー検索部１３１１と、フロー検索ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）１３１２と、フロー検索ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓｓ  Ｍｅｍｏｒｙ）１３１３と、複製判定部１３１４と、を備える。フローとは、共通の属性を有するパケットのグループを示す。
【００２４】
フロー検索部１３１１は、パケット受信部１１００やパケット中継処理部１５００から入力された情報に基づいて、フロー検索ＣＡＭ１３１２がフローエントリを検索するためのフロー検索キーを生成する。また、フロー検索部１３１１は、生成されたフロー検索キーをフロー検索ＣＡＭ１３１２に出力する。
【００２５】
フロー検索ＣＡＭ１３１２は、フロー検索部１３１１から出力されたフロー検索キーに一致するフローエントリを検索し、一致したフローエントリが存在した場合、フローエントリのアドレスをフロー検索部１３１１に出力する。一致したフローエントリが存在しなかった場合、フロー検索ＣＡＭ１３１２は一致しなかったことを示す結果をフロー検索部１３１１に出力する。本実施例では、フロー検索ＣＡＭ１３１２は、「０」、「１」、及び「ｄ．ｃ．」が設定可能な３値ＣＡＭ（Ｔｅｒｎａｒｙ  ＣＡＭ）である例を説明するが、２値ＣＡＭ（Ｂｉｎａｒｙ  ＣＡＭ）であってもよい。
【００２６】
フロー検索部１３１１は、フロー検索ＣＡＭ１３１２から出力されたアドレスに基づいて、検索されたフローエントリに対応するフロー検索ＲＡＭ１３１３のＲＡＭエントリのアドレスを生成する。また、フロー検索部１３１１は、生成したアドレスをフロー検索ＲＡＭ１３１３に出力する。
【００２７】
フロー検索ＲＡＭ１３１３は、フロー検索部１３１１から出力されたアドレスに基づいて、当該アドレスのＲＡＭエントリ情報を読み出す。フロー検索ＲＡＭ１３１３は、読み出したＲＡＭエントリのモニタ制御情報をフロー検索部１３１１に出力する。フロー検索部１３１１は、当該アドレスのＲＡＭエントリ情報が存在した場合、フロー検索ＲＡＭ１３１３から出力されたモニタ制御情報を複製判定部１３１４に送信する。フロー検索部１３１１は、当該アドレスのＲＡＭエントリ情報が存在しなかった場合、フロー検索ＣＡＭ１３１２から出力されたアドレスに一致するエントリが無かったことを示す結果を、複製判定部１３１４に出力する。
【００２８】
複製判定部１３１４は、フロー検索部１３１１からのモニタ制御情報や解析情報格納テーブル１３２０の情報等に基づいて、パケットの複製を実施するか否かを判定する。複製判定部１３１４は、パケットの複製を実施する場合、パケット複製部１３３０に対して、複製するパケットのヘッダ情報や出力回線１００２の情報等を出力する。
【００２９】
解析情報格納テーブル１３２０は、例えばパケット情報処理部１３００に搭載されたＤＲＡＭ等のメモリに格納され、パケット情報処理部１３００による処理に必要な情報や、処理結果等を格納する。パケット複製部１３３０は、複製判定部１３１４から出力された情報を元に、パケットを複製し、複製したパケットと宛先などの情報をパケット送信部１２００に出力する。
【００３０】
図３は、本実施例におけるフロー検索ＣＡＭ１３１２の一例を示す説明図である。フロー検索ＣＡＭ１３１２は、フローエントリを一つ以上格納する。フローエントリそれぞれは、エントリデータ３００及びエントリマスクか３１０から構成される。図３の例では、フロー検索ＣＡＭ１３１２は、二つのフローエントリ３２０−１〜３２０−２を格納している。フローエントリは、複製対象のパケットを示す情報である。
【００３１】
エントリデータ３００は、パケットに対応するフローを特定するための情報の値を格納する。具体的には、エントリデータ３００は、一つ以上のビットから構成される複数の情報を含む。なお、入力回線、送信元ＭＡＣアドレス、及び宛先ポート番号等の各情報を構成する各ビットには、「０」、「１」、及び「ｄ．ｃ．（ｄｏｎ’ｔ  ｃａｒｅ）」のいずれかが格納される。
【００３２】
エントリマスク３１０は、フローエントリの検索時に参照される情報を特定するためのビットを格納する。具体的には、エントリマスク３１０のうち、「１」が設定されている情報は、当該情報に対応するエントリデータ３００の値が参照されないことを示す。すなわち、エントリマスク３１０において「１」が設定された情報は、フローエントリの検索時にマスクされる。エントリマスク３１０において「１」が設定された情報に対応するエントリデータ３００の情報の値は「ｄ．ｃ．」である。
【００３３】
また、エントリマスク３１０のうち、「０」が設定されている情報に対応するエントリデータ３００の値が、フローエントリの検索時において参照される。つまり、エントリマスク３１０において「０」が設定された情報に対応するエントリデータ３００の情報の値は「０」、及び「１」の少なくとも一方を含む。
【００３４】
図４は、本実施例におけるフロー検索ＲＡＭ１３１３の一例を示す説明図である。フロー検索ＲＡＭ１３１３は、フローエントリ３２０それぞれと一対一に対応するＲＡＭエントリを格納する。各ＲＡＭエントリは、モニタ先出力回線番号の情報、及びサンプリング率の情報等を含む。
【００３５】
サンプリング率は、例えば、１秒あたりのｂｉｔ数やＢｙｔｅ数単位で示されてもよいし、１秒あたりのパケット数（以下、ｐｐｓ（ｐａｃｋｅｔ  ｐｅｒ  ｓｅｃｏｎｄ）と呼ぶ）単位で示されてもよい。以降の説明では、サンプリング率がｐｐｓで設定されているものとする。サンプリング率は、複製されたパケットの転送レートを示す。
【００３６】
図４の例では、フローエントリ３２０−１はＲＡＭエントリ４００−１と対応づけられており、フローエントリ３２０−２はＲＡＭエントリ４００−２と対応づけられているものとする。
【００３７】
図５は、本実施例におけるパケット中継装置１０００が扱うデータ５００の一例を示す説明図である。データ５００は、パケットヘッダ情報５１０及び装置内情報５２０を含む。パケットヘッダ情報５１０は、各Ｌａｙｅｒの情報を格納する。例えば、Ｌａｙｅｒ２情報は、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、及びＥｔｈｅｒ  Ｔｙｐｅを含み、Ｌａｙｅｒ３情報は、Ｖｅｒｓｉｏｎ、送信元ＩＰアドレス、及び宛先ＩＰアドレス等を含み、Ｌａｙｅｒ４情報は、送信元ポート番号、及び宛先ポート番号等を含む。
【００３８】
なお、Ｅｔｈｅｒ  Ｔｙｐｅは、パケットの転送時に用いられる通信プロトコルの種類を示す。各ＬａｙｅｒのＬａｙｅｒ情報に含まれる公知の情報についての詳細な説明は省略する。
【００３９】
装置内情報５２０は、パケット中継装置１０００内で付与される情報である。装置内情報５２０は、例えば、入力回線、シーケンス番号、及びその他の装置内情報を含む。なお、フローはパケットヘッダ情報５１０だけで特定されなくてもよく、パケットヘッダ情報５１０及び装置内情報５２０の少なくとも一方によって特定されればよい。
【００４０】
図６は、モニタエントリを登録処理の一例を示すフローチャートである。モニタエントリとは、複製パケットがコレクタ装置１００４に送信されてモニタ対象となるフロー、を示すフローエントリである。最初のステップ（Ｓ６００）では、複製判定部１３１４が、管理端末１００３から、例えば管理者によって入力された、新規に登録するモニタエントリのパケットヘッダ情報５１０及び装置内情報５２０に含まれる情報のうち少なくとも一つの情報、並びにモニタ制御情報４００の入力を受け付ける。
【００４１】
コレクタ装置性能の判定処理ステップ（Ｓ６０１）では、複製判定部１３１４が、複製したパケットの出力先であるコレクタ装置１００４（即ちステップＳ６００において取得したモニタ制御情報４００が示す出力回線１００２に対応するコレクタ装置１００４）のパケット採取性能（以下、コレクタ装置性能と呼ぶ）が、複製判定部１３１４に設定されているか否かを判定する。複製判定部１３１４は、例えば管理端末１００３から受信したコレクタ装置性能を設定する。コレクタ装置性能の設定は、モニタエントリ追加処理の開始前に完了している必要がある。
【００４２】
コレクタ装置性能の設定手順の一例を説明する。例えば、管理者が、管理端末１００３にモニタ先の出力回線番号とコレクタ装置性能とを対応づけて画面上に入力し、管理端末１００３が複製判定部１３１４に、入力された情報を出力する。複製判定部１３１４は、管理端末１００３からの受信した情報を、解析情報格納テーブル１３２０に設定する。
【００４３】
コレクタ装置性能は、例えば、１秒あたりのｂｉｔ数やＢｙｔｅ数単位で示されてもよいし、ｐｐｓで示されてもよい。以降の説明では、コレクタ装置性能がｐｐｓで設定されているものとする。
【００４４】
本実施例では、コレクタ装置性能を、当該コレクタ装置１００４が接続されている出力回線１００２の許容転送レートとして用いている。なお、複製判定部１３１４は、出力回線１００２自体の許容転送レートを示す情報を管理端末１００３からさらに受信してもよい。複製判定部１３１４は、当該許容転送レートがコレクタ装置性能を下回っていると判定した場合、当該許容転送レートを、コレクタ装置性能として解析情報格納テーブル１３２０に設定する。
【００４５】
複製判定部１３１４は、コレクタ装置性能が複製判定部１３１４に設定されていないと判定した場合（Ｓ６０１：ＮＯ）、モニタ情報設定処理（Ｓ６０５）を実行する。一方、複製判定部１３１４は、コレクタ装置性能が、複製判定部１３１４に設定されていると判定した場合（Ｓ６０１：ＹＥＳ）、コレクタ装置性能判定ステップ（Ｓ６０２）を実行する。
【００４６】
コレクタ装置性能判定ステップ（Ｓ６０２）では、複製判定部１３１４は、ステップＳ６００において取得したモニタ制御情報４００が示す出力回線１００２の合計送信レートが、当該出力回線１００２に対応するコレクタ装置性能より大きいか否かを判定する。
【００４７】
具体的には、複製判定部１３１４は、フロー検索ＲＡＭ１３１３のモニタ制御情報４００が示す、当該出力回線にパケットを複製しているモニタエントリ数（ｎとする）と、各モニタエントリのサンプリング率（Ｍ１、Ｍ２、・・・、Ｍｎとする）と、登録するモニタエントリのサンプリング率（Ｌとする）と、に基づいて、モニタエントリ登録後の同一の出力回線宛の複製パケットの合計送信レート（Ｍ１＋Ｍ２＋・・Ｍｎ＋Ｌ）を求め、コレクタ装置性能（Ｑとする）と比較する。
【００４８】
なお、複製判定部１３１４は、フロー検索ＣＡＭ１３１２と、フロー検索ＲＡＭ１３１３と、に設定されている情報を予め解析情報格納テーブル１３２０に記録しておく。複製判定部１３１４は、サンプリング率の計算において、登録するモニタエントリの同一の出力回線宛のサンプリング率を参照して求める。また、複製判定部１３１４は、フロー検索部１３１１から受信したサンプリング率を超えないように、パケット複製部１３３０に、複製指示を行う。
【００４９】
複製判定部１３１４は、複製パケットの合計送信レート（Ｍ１＋Ｍ２＋・・Ｍｎ＋Ｌ）≦コレクタ装置性能（Ｑ）であると判定した場合（Ｓ６０２：ＮＯ）、モニタ情報設定処理（Ｓ６０５）を実行する。前記複製パケットの合計送信レート（Ｍ１＋Ｍ２＋・・Ｍｎ＋Ｌ）＞コレクタ装置性能（Ｑ）の場合（Ｓ６０２のＹＥＳ）、サンプリング計算ステップ（Ｓ６０３）を実行する。
【００５０】
サンプリング計算ステップ（Ｓ６０３）では、複製判定部１３１４が、複製パケットの合計送信レート（Ｍ１＋Ｍ２＋・・・＋Ｍｎ＋Ｌ）×係数（Ｐとする）＝コレクタ装置性能（Ｑ）を満たすＰ＝Ｑ／（Ｍ１＋Ｍ２＋・・・＋Ｍｎ＋Ｌ）を求める。そして、複製判定部１３１４は、各モニタエントリのサンプリング率を、例えば、Ｍ１／Ｐ、Ｍ２／Ｐ、・・・、Ｍｎ／Ｐ、Ｌ／Ｐに設定する指示を、フロー検索部１３１１へ出力する。なお、Ｐの代わりにＰ’（＞Ｐ）が用いられてもよい、即ち各サンプリング率は上述した値より小さくてもよい。
【００５１】
なお、複製判定部１３１４が各サンプリング率を一律に同じ割合で下げる例を説明したが、複製判定部１３１４は各サンプリング率を一律に同じ割合で下げなくてもよい。例えば、あるモニタエントリについて下限のサンプリング率が予め管理者等によって指定されていてもよい。Ｍ１の下限がＭ１’であるとする。例えば、前述の計算において算出されたＰについてＭ１／Ｐ＜Ｍ１’である場合、複製判定部１３１４は、（Ｍ２＋・・・＋Ｍｎ＋Ｌ）×Ｔ＝Ｑ−Ｍ１’を満たすＴを求め、各モニタエントリのサンプリング率を、Ｍ１’、Ｍ１／Ｔ、Ｍ２／Ｔ、・・・、Ｍｎ／Ｔ、Ｌ／Ｔに設定してもよい。
【００５２】
また、例えば、各モニタエントリに優先度Ｓ１、Ｓ２、・・・、Ｓｎが、登録対象のモニタエントリに優先度Ｓｌが管理者によって定められているとする（優先度が高いほど値は大きい）。複製判定部１３１４は、（Ｍ１Ｓ１＋Ｍ２Ｓ２＋・・・＋ＭｎＳｎ＋Ｌ）×Ｐ＝Ｑを満たすＰを求め、各モニタエントリのサンプリング率を、例えば、Ｍ１Ｓ１／Ｐ、Ｍ２Ｓ２／Ｐ、・・・、ＭｎＳｎ／Ｐ、ＭｌＳｌ／Ｐに設定してもよい。
【００５３】
フロー検索部１３１１は、該当するフロー検索ＲＡＭ１３１３の情報の書き換えを行い、その後、サンプリング率変更通知ステップ（Ｓ６０４）に進む。なお、複製判定部１３１４は、モニタエントリのサンプリング率を変更した場合、変更対象のモニタエントリと、変更前のサンプリング率（管理者によって指定されたサンプリング率）と、を対応づけて、解析情報格納テーブル１３２０に保存する。
【００５４】
仮にモニタエントリ登録後にサンプリング率が計算される場合、フロー検索ＲＡＭ１３１３にサンプリング率が反映されるまでの間に、一時的に前記合計送信レート（Ｍ１＋Ｍ２＋・・Ｍｎ＋Ｌ）がコレクタ装置性能（Ｑ）を上回ってしまう。従って、前述したように、モニタエントリ登録前に複製判定部１３１４がサンプリング率を計算することが望ましい。
【００５５】
サンプリング率変更通知ステップ（Ｓ６０４）では、新規にモニタエントリ登録が行われたことで、複製パケットの合計送信レートがコレクタ装置性能を上回るために、該当する各モニタエントリのサンプリング率を変更したこと、を示す情報を複製判定部１３１４が、管理端末１００３に送信する。管理端末１００３は、例えば、管理端末１００３の画面上のログに当該情報を表示して管理者に通知し、その後、モニタ設定追加ステップ（Ｓ６０５）に進む。
【００５６】
なお、複製判定部１３１４は、コレクタ装置性能判定ステップにおいて、（Ｍ１＋Ｍ２＋・・Ｍｎ＋Ｌ）＞Ｑと判定した場合（Ｓ６０２：ＹＥＳ）、例えば、各モニタエントリのエントリデータ及びサンプリング率、並びにコレクタ装置性能等を、管理端末１００３の画面に出力してもよい。そして、各モニタエントリのサンプリング率を変更するか、又はいずれかのモニタエントリを削除するか等を、管理者に選択させてもよい。
【００５７】
モニタ設定追加ステップ（Ｓ６０５）では、複製判定部１３１４が、フロー検索部１３１１にフロー検索ＣＡＭ１３１２に登録する情報と、フロー検索ＲＡＭ１３１３に登録する情報と、を出力する。フロー検索部１３１１は、フロー検索ＣＡＭ１３１２にフローエントリを、フロー検索ＲＡＭ１３１３にＲＡＭエントリを設定し、モニタエントリ登録処理を終える。
【００５８】
図７は、モニタエントリ削除処理の一例を示すフローチャートである。最初のステップ（Ｓ７００）では、管理端末１００３は、削除するモニタエントリを特定する情報の入力を受け付け、当該情報を複製判定部１３１４に送信する。なお、当該情報は、エントリデータ３００の内容を示す情報であってもよいし、モニタエントリ登録時に識別子が付与された場合には、当該識別子を示す情報であってもよい。
【００５９】
モニタエントリ削除ステップ（Ｓ７０１）では、複製判定部１３１４が、フロー検索部１３１１に対して、フロー検索ＣＡＭ１３１２から削除する情報と、フロー検索ＲＡＭ１３１３から削除する情報と、を出力する。フロー検索部１３１１は、フロー検索ＣＡＭ１３１２に設定されているフローエントリを削除して、フロー検索ＲＡＭ１３１３に設定されているＲＡＭエントリを削除する。
【００６０】
ステップＳ７０２では、複製判定部１３１４が、解析情報格納テーブル１３２０を参照して、ステップＳ６０３において、モニタフローの合計転送レートがコレクタ装置性能を超過していたために再計算後のサンプリング率をＲＡＭエントリに設定したかを判定する（Ｓ７０２）。複製判定部１３１４は、再計算後のサンプリング率を設定していないと判定した場合（Ｓ７０２：ＮＯ）、モニタエントリ削除処理を終了し、設定していたと判定した場合（Ｓ７０２：ＹＥＳ）、コレクタ装置性能判定ステップ（Ｓ７０３）に進む。
【００６１】
コレクタ装置性能判定ステップ（Ｓ７０３）では、複製判定部１３１４が、削除されたモニタエントリと同一の出力回線宛の、モニタエントリ削除後の再設定前の合計送信レートとコレクタ装置性能（Ｑ）を比較する。
【００６２】
複製判定部１３１４は、同一の出力回線宛のモニタエントリ数（ｍとする）と、各モニタエントリの管理者が設定したサンプリング率（Ｍ１、Ｍ２・・Ｍｍとする）から、合計送信レート（Ｍ１＋Ｍ２＋・・＋Ｍｍ）を計算し、合計送信レート（Ｍ１＋Ｍ２＋・・＋Ｍｍ）＞コレクタ装置性能（Ｑ）であると判定した場合（Ｓ７０３：ＮＯ）、ステップＳ７０４に進む。複製判定部１３１４は、合計送信レート（Ｍ１＋Ｍ２＋・・＋Ｍｍ）≦コレクタ装置性能（Ｑ）であると判定した場合（Ｓ７０３：ＹＥＳ）、ステップＳ７０５に進む。
【００６３】
サンプリング率計算ステップ（Ｓ７０４）では、複製判定部１３１４が、合計送信レート（Ｍ１＋Ｍ２＋・・Ｍｍ）×係数（Ｒとする）＝コレクタ装置性能（Ｑ）となる係数Ｒ＝Ｑ／（Ｍ１＋Ｍ２＋・・Ｍｍ）を求め、各モニタエントリのサンプリング率Ｍ１／Ｒ、Ｍ２／Ｒ、・・、Ｍｍ／Ｒを計算し、フロー検索部１３１１に出力する。なお、ステップＳ６０３と同様に、Ｒの代わりにＲ’（＞Ｒ）が用いられてもよいし、複製判定部１３１４は、各サンプリング率を一律に同じ割合だけ下げる以外の方法を用いて、サンプリング率を下げてもよい。
【００６４】
フロー検索部１３１１は、フロー検索ＲＡＭ１３１３のＲＡＭエントリのサンプリング率を書き換え、モニタエントリ削除処理を終了する。なお、複製判定部１３１４は、管理端末１００３を介して、サンプリング率を書き換えたことを、管理者に通知してもよい。
【００６５】
サンプリング率初期化ステップ（Ｓ７０５）では、複製判定部１３１４が、解析情報格納テーブル１３２０を参照して、管理者によって指定されていた元のサンプリング率を、フロー検索部１３１１に出力する。フロー検索部１３１１は、フロー検索ＲＡＭ１３１３のＲＡＭエントリのサンプリング率を、複製判定部１３１４から受け取った値に設定する。
【００６６】
ステップＳ７０６では、複製判定部１３１４が、合計送信レート（Ｍ１＋Ｍ２＋・・Ｍｍ）≦コレクタ装置性能（Ｑ）となったことと、管理者が設定したサンプリング率に戻したことと、を示す情報を管理端末１００３に出力し、当該情報を管理端末１００３の画面上のログに表示させる。
【００６７】
本実施例のパケット中継装置１０００は、複製するパケットの合計送信レートに応じて、コレクタ装置性能を超えないように、モニタエントリの各サンプリング率を自動で再計算するため、モニタエントリの追加が容易になる。また、モニタエントリ削除後、サンプリング率を自動で再計算するため、コレクタ装置１００４の性能を余らせることなく、効率的にモニタを実施することができる。
【実施例２】
【００６８】
ネットワーク管理者が、特定の条件を満たすプロトコルのやりとりを全て解析したい場合がある。その場合、複製パケットが、サンプリングや廃棄されたりすると、正しく解析できないことがある。そこで本実施例のパケット中継装置１０００は、管理者から指定されたパケットヘッダ情報と装置固有情報の条件を満たし、かつ全パケットをモニタリングできるフローを選択し、モニタエントリに登録する。
【００６９】
管理端末１００３は、例えば管理者から、新規に登録するモニタエントリのパケットヘッダ情報、装置情報、及びモニタ制御情報の入力を受け付ける。なお、管理者が入力するモニタ制御情報４００は、当該フローについてはサンプリングをしないこと（即ち当該フローの全てのパケットを複製してモニタ対象とすること）を示す指示を含む。
【００７０】
図８は、管理者が、管理端末１００３に入力したモニタエントリのパケットヘッダ情報が、送信元ポート番号Ａ、宛先ポート番号Ｂである場合のフロー検索ＣＡＭ１３１２の一例を示す説明図である。以降の図面において、簡単のためエントリマスク３１０の記載を省略している。この例では、フロー検索ＣＡＭ１３１２に、フローエントリ８００−１が設定されており、フローエントリ８００−１のエントリデータ３００において、送信元ポート番号Ａ、宛先ポート番号Ｂ、他の情報は「ｄ．ｃ．」で設定されている。
【００７１】
図９は、フロー検索ＲＡＭ１３１３の一例を示す説明図である。フロー検索ＲＡＭ１３１３には、図８で説明したフローエントリ８００−１に対応するＲＡＭエントリ９００−１が設定されている。ＲＡＭエントリ９００−１において、全パケット複製フラグが「１」、エントリ追加フラグが「０」に設定されている。
【００７２】
全パケット複製フラグは、対応するフローについてサンプリングをするか否かを示すフラグである。全パケット複製フラグが「１」である場合、対応するフローの全パケットをサンプリングする指示（即ち、当該フローについては転送レートの制限がないことを示す）を管理者から受けたことを示し、全パケット複製フラグが「０」である場合、対応するフローの全パケットをサンプリングする指示を管理者から受けていないことを示す。エントリ追加フラグについては、後述する。
【００７３】
なお、本実施例のフロー検索ＣＡＭ１３１２及びフロー検索ＲＡＭ１３１３に、図８及び図９に記載されているモニタエントリに加えて、実施例１の形式のモニタエントリが格納されていてもよい。
【００７４】
図１０は、モニタエントリ送信レート判定処理の一例を示すフローチャートである。モニタエントリ送信レート判定処理は、パケット情報処理部１３００が、全パケット複製フラグが「１」であるモニタエントリの登録指示を管理端末１００３から受け付け、フロー検索ＣＡＭ１３１２及びフロー検索ＲＡＭ１３１３に当該モニタエントリを登録することにより開始する。以下に説明する、図１０、図１１、図１６、及び図１８の処理は、登録指示を受け付けた全パケット複製フラグが「１」であるモニタエントリそれぞれについて独立して実施される。
【００７５】
ステップＳ１０００では、フロー検索部１３１１は、全パケット複製フラグが「１」であり、かつパケット送信レートを未計算のモニタエントリに対応するフローのパケットを、パケット受信部１１００を介して受け取り、複製判定部１３１４に送信して、ステップＳ１００１に進む。
【００７６】
ステップＳ１００１では、複製判定部１３１４が、ステップＳ１０００で受け取ったパケットに対応するフローのモニタエントリのパケット送信レート（以後、モニタエントリ送信レートと呼ぶ）を計算するのに、必要な条件を満たしているか否かを、解析情報格納テーブル１３２０に格納されている各種情報等（例えば、パケット受信時刻や受信したパケットのパケット長等）から判定する。
【００７７】
例えば、フロー検索部１３１１が当該モニタエントリ登録後に、複製判定部１３１４が初めて当該モニタエントリに対応するパケットを受け取った時点では、複製判定部１３１４は、モニタエントリ送信レートを求めることができない。また、複製判定部１３１４は、当該モニタエントリに対応するパケットを前回受け取った時から短い時間しか経過していない場合、正確なモニタエントリ送信レートを求めることができない。
【００７８】
従って、フロー検索部１３１１が当該モニタエントリをフロー検索ＣＡＭ１３１２に登録してからの経過時間が所定値以上であること、は当該必要な条件の一例である。また、フロー検索部１３１１が当該モニタエントリをフロー検索ＣＡＭ１３１２に登録してから、複製判定部１３１４が受信した当該モニタエントリに対応するパケット数が所定値以上であること、は当該必要な条件の一例である。
【００７９】
複製判定部１３１４は、モニタエントリ送信レートを求めることが不可能である場合（Ｓ１００１：ＮＯ）、ステップＳ１０００に戻る。モニタエントリ送信レートを求めることが可能である場合（Ｓ１００１：ＹＥＳ）、ステップＳ１００２に進む。
【００８０】
ステップＳ１００２では、複製判定部１３１４が、解析情報格納テーブル１３２０に格納している各種情報を読み出し、モニタエントリ送信レートを計算し、計算したモニタエントリ送信レートと、複製判定部１３１４に設定されている当該モニタエントリのフローの出力先のコレクタ装置性能と、を比較する。複製判定部１３１４は、モニタエントリ送信レート≦コレクタ装置性能であると判定した場合（Ｓ１００２：ＮＯ）、モニタエントリ送信レート判定処理フローを終了する。複製判定部１３１４は、モニタエントリ送信レート＞コレクタ装置性能であると判定した場合（Ｓ１００２：ＹＥＳ）、ステップＳ１００３に進む。
【００８１】
ステップＳ１００３では、複製判定部１３１４が、当該モニタエントリに対応するＲＡＭエントリ９００−１のエントリ追加フラグを「１」に書き換える指示を、フロー検索部１３１１に出力し、フロー検索部１３１１が、フロー検索ＲＡＭ１３１３の当該ＲＡＭエントリ９００−１のエントリ追加フラグを「１」に書き換え、当該モニタエントリについてモニタエントリ追加処理開始へ進む。
【００８２】
後述するモニタエントリ追加処理は、管理者からフローの全パケットをモニタするよう指示されたものの、ステップＳ１００２において、フローの送信レートがコレクタ装置性能を超過するために全パケットをモニタすることができないと判定された場合に、フローを細分化する処理である。これにより、コレクタ装置１００４は、細分化されたフローについては、全パケットをモニタすることができるようになる。つまり、エントリ追加フラグが「１」であるモニタエントリは、細分化対象のモニタエントリである。
【００８３】
なお、図１０では、全パケット複製フラグが「１」である１つのモニタエントリのフローの複製パケットが送信されるコレクタ装置１００４には、当該複製パケットしか送信されない例を説明しているが、複数のモニタエントリのフローの複製パケットが送信されてもよい。この場合、複製判定部１３１４は、ステップＳ１００２において、「当該コレクタ装置１００４に送信されるフローの合計送信レート＞コレクタ装置性能」であるか否かを判定する。
【００８４】
図１１は、モニタエントリ追加処理の一例を示すフローチャートである。ステップＳ１１００では、フロー検索部１３１１は、パケット受信部１１００を介してパケットを受け取って複製判定部１３１４に送信し、複製判定部１３１４は、当該パケットに対応するモニタ制御情報におけるエントリ追加フラグが「１」であるか否かを判定する（Ｓ１１００）。
【００８５】
複製判定部１３１４は、エントリ追加フラグが「１」であると判定した場合（ステップＳ１１００：ＹＥＳ）、ステップＳ１１０１に進み、エントリ追加フラグが「０」であると判定した場合（ステップＳ１１００：ＮＯ）、ステップＳ１１０５に進む。
【００８６】
ステップＳ１１０１では、複製判定部１３１４が、後述する追加情報選択ステップ（Ｓ１１０２）で、モニタエントリの追加を既に実施したか否かを判定する。複製判定部１３１４は、追加情報選択ステップ（Ｓ１１０２）をまだ実施していないと判定した場合（Ｓ１１０１：ＮＯ）、追加情報選択ステップ（Ｓ１１０２）に進み、追加情報選択ステップ（Ｓ１１０２）を実施済みであると判定した場合（Ｓ１１０１：ＹＥＳ）、ステップＳ１１０３に進む。
【００８７】
追加情報選択ステップ（Ｓ１１０２）では、複製判定部１３１４が、フローエントリに既に設定されている条件以外のパケットヘッダ情報や装置情報を選択する。例えばフローエントリ８００−１に対応するパケットを受信していた場合、フローエントリ８００−１には、送信元ポート番号Ａ、宛先ポート番号Ｂが登録されているため、複製判定部１３１４は、送信ポート番号と宛先ポート番号以外のパケットヘッダ情報又は装置情報を、当該モニタエントリに追加する条件として、選択する。また、受信したパケットにおける当該選択した情報の値を取得する。
【００８８】
複製判定部１３１４は、パケットヘッダ情報又は装置情報を、ランダムに選択してもよいし、選択可能なパケットヘッダ情報及び装置情報を管理端末１００３に表示し、管理者からの指示に従って、パケットヘッダ情報又は装置情報を選択してもよい。また、各パケットヘッダ情報及び各装置情報に予め優先度が定められ、複製判定部１３１４は、優先度に従って、パケットヘッダ情報又は装置情報を選択してもよい。
【００８９】
なお、詳細は後述するが、後述するステップＳ１６０２を経由して、ステップＳ１１０２が実行される場合、複製判定部１３１４は、解析情報格納テーブル１３２０が示すパケットヘッダ情報及び装置情報を選択し、さらに別のパケットヘッダ情報又は装置情報を選択する。
【００９０】
また、複製判定部１３１４は、既にフローエントリに設定されている条件（フローエントリ８００−１の例では送信ポート番号及び宛先ポート番号）の一部のｂｉｔがマスク設定されている場合、マスク設定を解除してもよい。
【００９１】
複製判定部１３１４が、フロー検索部１３１１に対し、選択したパケットヘッダ情報又は装置情報（以下、追加フローエントリ情報とも呼ぶ）と、受信したパケットにおける追加フローエントリ情報の値と、を出力する。また、複製判定部１３１４が、フロー検索部１３１１に出力した情報を、解析情報格納テーブル１３２０にも格納し、追加エントリ設定ステップ（Ｓ１１０４）に進む。
【００９２】
ステップＳ１１０３では、複製判定部１３１４が、解析情報格納テーブル１３２０を参照して追加情報選択ステップ（Ｓ１１０２）で決定した追加フローエントリ情報と、受信したパケットにおける追加フローエントリ情報の値と、を検索判定部に１３１１に出力する。
【００９３】
例えば、追加情報選択ステップ（Ｓ１１０２）で、複製判定部１３１４が、宛先ＩＰアドレスを追加フローエントリ情報に決定した場合、ステップＳ１１０３において、同一の追加フローエントリ情報と、受信したパケットが示す宛先ＩＰアドレスの値と、をフロー検索部１３１１に出力する。
【００９４】
エントリ追加登録設定ステップ（Ｓ１１０４）では、フロー検索部１３１１が、ステップＳ１１０２又はステップＳ１１０３で、追加フローエントリ情報と、受信したパケットにおける追加フローエントリ情報の値と、に従って、フロー検索ＣＡＭ１３１２と、フロー検索ＲＡＭ１３１３に、エントリ追加登録を行い、経過時間判定ステップ（Ｓ１１０５）に進む。
【００９５】
例えば、条件が、送信元ポート番号Ａ、宛先ポート番号Ｂであるフローエントリ８００−１のパケットを受信し、当該パケットが示すＩＰアドレスがＣであった場合、ステップＳ１１０４において、条件として宛先ＩＰアドレスＣを有し、かつ他の情報はフローエントリ８００−１と同一のフローエントリ、をフロー検索ＣＡＭ１３１２に設定する。フローエントリを追加したフロー検索ＣＡＭ１３１２の説明は、図１２で後述する。
【００９６】
また、フロー検索部１３１１は、フロー検索ＣＡＭ１３１２に追加したフローエントリに対応するＲＡＭエントリとして、エントリ追加フラグが「０」で、他の情報はＲＡＭエントリ９００−１と同じＲＡＭエントリを、フロー検索ＲＡＭ１３１３に設定する。
【００９７】
なお、フロー検索部１３１１は、フローエントリ８００−１より、検索優先度が高くなるように、新規にフローエントリを設定する必要がある。フロー検索ＣＡＭ１３１２は、検索キーが複数のフローエントリに一致する場合、エントリ位置の若い方（後述する図１２及び図１３における上方向）の結果が有効になるため、フロー検索部１３１１は、フローエントリ８００−１より若い位置に、新規にフローエントリを設定登録する。
【００９８】
続いて、経過時間刻判定ステップ（Ｓ１１０５）では、複製判定部１３１４が、ステップＳ１００３で、対象のＲＡＭエントリのエントリ追加フラグを「１」に設定してからの経過時間が必要経過時間ｔ以上であるか否かを判定する。なお、必要経過時間ｔは、パケット中継装置１０００の性能等に従って予め決定されている。
【００９９】
複製判定部１３１４は、経過時間＜必要経過時間ｔであると判定した場合（Ｓ１１０５：ＮＯ）、パケット中継装置１０００がフローエントリ８００−１に該当するパケットを十分に受信するのを待つために、ステップＳ１１００の処理に戻る。複製判定部１３１４は、経過時間≧必要経過時間ｔであると判定した場合（Ｓ１１０５：ＹＥＳ）、複製判定部１３１４は、モニタエントリ追加処理において、モニタエントリに追加した各種情報を、解析情報格納テーブル１３２０にも書き込み、スコア判定処理へ進む。
【０１００】
図１２は、モニタエントリ追加処理において、フローエントリ追加されたフロー検索ＣＡＭ１３１２の一例を示す説明図である。図１３は、モニタエントリ追加処理において、ＲＡＭエントリ追加されたフロー検索ＲＡＭ１３１３の一例を示す説明図である。
【０１０１】
図１２の例では、フローエントリ８００−１の条件に、送信元ＩＰアドレス「Ｃ」を加えたフローエントリ１２００−１と、送信元ＩＰアドレス「Ｄ」を加えたフローエントリ１２００−２と、送信元ＩＰアドレス「Ｄ」を加えたフローエントリ１２００−３と、がフローエントリ８００−１より若いエントリ位置に追加されている。図１３の例では、図１２のフローエントリ１２００−２〜４に対応するＲＡＭエントリ１３００−２〜１３００−４が、設定されており、ＲＡＭエントリ１３００−２〜１３００−４のエントリ追加フラグは「０」である。
【０１０２】
フロー検索部１３１１が、宛先ＩＰアドレスＣ、送信元ポート番号Ａ、宛先ポート番号がＢのパケットを受信した場合、当該パケットはフローエントリ８００−１とフローエントリ１２００−１の条件を満たす。しかし、フローエントリ１２００−１は、フローエントリ８００−１より若いエントリ位置に登録されているため、フローエントリ１２００−１が有効となり、フロー検索部１３１１は、フローエントリ１２００−１に対応するＲＡＭエントリ１３００−１を参照する。
【０１０３】
ＲＡＭエントリ１３００−１のエントリ追加フラグは「０」であるため、複製判定部１３１４は、ステップＳ１１００において、エントリ追加フラグが「０」であるパケットを受信したと判定するため（ステップＳ１１００：ＮＯ）、ステップＳ１１０５に進む。つまり、この場合、エントリ追加登録設定ステップ（Ｓ１１０４）が実行されず、つまり追加済みのフローエントリと同一のフローエントリ、及び当該フローエントリに対応するＲＡＭエントリが二重に追加されることはない。
【０１０４】
そのため、図１２が示すフロー検索ＣＡＭ１３１２の状態において、送信元ポート番号がＡで、宛先ポート番号がＢで、かつ宛先ＩＰアドレスがＣでもＤでもＥでもないパケットをパケット中継装置１０００が受信した場合にのみ、フローエントリ８００−１が有効となる。つまり、この場合にのみ、複製判定部１３１４は、ステップＳ１１００においてエントリ追加フラグが「１」であると判定し（Ｓ１１００：ＹＥＳ）、新規にフローエントリとＲＡＭエントリが追加されるエントリ追加登録設定ステップ（Ｓ１１０４）を実行する。
【０１０５】
パケット中継装置１０００は、モニタエントリ追加処理によって、フローエントリ８００−１に条件を、特定のパケットヘッダ条件や装置条件を用いて細分化することができる。特に、パケット中継装置１０００は、条件の細分化において、実際に受信したパケットの情報を用いているため、条件を細分化しても重要なパケットをコレクタ装置１００４に送信できる可能性が高い。
【０１０６】
図１４は、解析情報格納テーブル１３２０に格納された細分化フローテーブルの一例を示す説明図である。細分化フローテーブル１４０１は、ステップＳ１１０５で、経過時間≧ｔと判定された場合（Ｓ１１０５：ＹＥＳ）に、解析情報格納テーブル１３２０に書き込まれる。細分化フローテーブル１４０１のレコード１４０１−１〜１４０１−３は、それぞれ図１２のフローエントリ１２００−１〜３に対応している。解析情報格納テーブル１３２０は、フローの条件である宛先ＩＰアドレスと、送信元ポート番号と、宛先ポート番号と、を示す。
【０１０７】
図１５Ａ及び図１５Ｂは、優先度スコアテーブルの一例を示す説明図である。優先度スコアテーブル１５０１−１は宛先ＩＰアドレスＣ、Ｄ、Ｅそれぞれの優先度スコアを示す。優先度スコアテーブル１５０１−２は、受信元ＩＰアドレスＦ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋそれぞれの優先度スコアを示す。以下、優先度スコアテーブル１５０１−１及び優先度スコアテーブル１５０１−２を特に区別する必要がない場合、優先度スコアテーブル１５０１とも記載する。
【０１０８】
図１５Ａ及び図１５Ｂの例では、宛先ＩＰアドレスと受信元ＩＰアドレスに対応する優先度スコアのみが記載されているが、送信ポート番号、受信元ポート番号、入力回線等の、パケットヘッダ情報や装置情報毎に他の優先度スコアが存在してもよい。優先度スコアは、図１６を用いて説明する全モニタ可能フロー選択処理において用いられる。
【０１０９】
また、優先度スコアテーブル１５０１は、解析情報格納テーブル１３２０に格納されている。管理端末１００３が、管理者から指示された優先度スコアを、パケット中継装置１０００に通知してもよいし、パケット中継装置１０００自身が自動で決定してもよい。
【０１１０】
管理者が優先度スコアを指示する場合、管理端末１００３は、優先させたいパケットヘッダ情報や装置情報の入力を管理者から受け付け、パケット中継装置１０００に送信する。複製判定部１３１４は、入力された情報のスコア値を高く設定し、解析情報格納テーブル１３２０に書き込む。
【０１１１】
具体的には、例えば、管理端末１００３から、宛先ＩＰアドレスＣのフローを優先したい指示が入力され、他の宛先ＩＰアドレスの優先度スコアが既に「１００」に設定されていた場合、複製判定部１３１４は、宛先ＩＰアドレスＣの優先度スコアを（例えば、「１００」に所定値を加えた値、又は「１００」を所定割合増加させた値である）「１５０」に決定し、優先度スコアテーブル１５０１に書き込む。
【０１１２】
以下、パケット中継装置１０００が優先度スコア決定する例を説明する。例えば、パケット中継装置１０００がＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバへ中継する機能を有しており、ＤＨＣＰサーバ中継機能を有効にしていた場合、パケット中継装置１０００には、転送先のＤＨＣＰサーバのＩＰアドレスが設定されていることになる。サーバは攻撃の対象になることが多いため、ＤＨＣＰサーバのＩＰアドレスは、他ＩＰアドレスよりも重要度が高い。そのため、複製判定部１３１４は、ＤＨＣＰサーバの送信元ＩＰアドレスと宛先ＩＰアドレスの優先度スコアを、他の送信元ＩＰアドレスや宛先ＩＰアドレスよりも高く設定した優先度スコアを自動で設定する。
【０１１３】
また、例えば、パケット中継装置１０００が、特定の入力回線１００１から、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）による処理が必要なパケットを多く受信した場合、その入力回線１００１に接続されたネットワークで、一時的に異常が発生している可能性があるため、パケット中継装置１０００は、他の入力回線１００１よりも高い優先度スコアを自動で設定する。
【０１１４】
図１６は、全モニタ可能フロー選択処理の一例を示すフローチャートである。ステップＳ１６００では、複製判定部１３１４が、解析情報格納テーブル１３２０から、モニタエントリ追加処理で追加した全てのモニタエントリが示すフローの情報と、優先度スコアテーブル１５０１を読み出す。ステップＳ１６０１では、複製判定部１３１４が、追加したモニタエントリが示す各フローの送信レートを計算し、当該フローの複製パケットの送信先であるコレクタ装置性能との比較判定を行う。
【０１１５】
複製判定部１３１４は、当該フローの送信レートのうち、コレクタ装置性能以下のものが一つであると判定した場合（ステップＳ１６０１：送信レートがコレクタ装置性能以下のフロー数＝１）、ステップＳ１６０３に進む。複製判定部１３１４は、コレクタ装置性能以下のものが一つも存在しないと判定した場合（ステップＳ１６０１：送信レートがコレクタ装置性能以下のフロー数＝０）、ステップＳ１６０２に進む。複製判定部１３１４は、コレクタ装置性能以下のものが二つ以上存在すると判定した場合（ステップＳ１６０１：送信レートがコレクタ装置性能以下のフロー数≧２）、スコア判定ステップ（Ｓ１６０４）に進む。
【０１１６】
ステップＳ１６０２では、複製判定部１３１４は、必要な処理を行い、その後再度モニタエントリ追加処理を遷移する。ステップＳ１６０２では、複製判定部１３１４は、フロー検索部１３１１に、前回のモニタエントリ追加処理フローでは、全パケットを複製できるフローが存在しなかったことを通知する。フロー検索部１３１１は、前回のモニタエントリ追加処理で追加したフローエントリとＲＡＭエントリとを削除する。
【０１１７】
また、フロー検索部１３１１は、解析情報格納テーブル１３２０に、前回のモニタエントリ追加処理のステップＳ１１０２で追加したパケット情報や装置情報を記録する。なお、ステップＳ１６０２を経由した後に、再びステップＳ１１０２が実行される場合、複製判定部１３１４は、解析情報格納テーブル１３２０を参照し、フローエントリにおいて管理者が指定した条件以外のパケットヘッダ情報や装置情報であって、前回実行されたステップＳ１１０２の情報と別の情報をさらに含むパケットヘッダ情報や装置情報、を追加したモニタエントリを登録する。
【０１１８】
なお、ステップＳ１６０２において、複製判定部１３１４は、上述した処理に代えて、前回のモニタエントリ追加処理で追加したモニタエントリのエントリ追加フラグの値を全て「１」に変更する処理を行ってもよい。この場合、ステップＳ１６０２を経由した場合におけるステップＳ１１０２の処理は、ステップＳ１６０２を経由していない場合におけるステップＳ１１０２の処理と同じである。
【０１１９】
ステップＳ１６０１において「送信レートがコレクタ装置性能以下のフロー数＝１」であると判定されたことは、パケット中継装置１０００がモニタエントリ追加処理フローにおいてフローを細分化しても、全パケットを複製できるフローが存在しないことを意味する。
【０１２０】
複製判定部１３１４は、前述した処理により、前回のモニタエントリ追加処理において追加したパケットヘッダ情報や装置情報とは別の情報を条件としてさらに含んだモニタエントリを、次回のモニタエントリ追加処理において追加することができる。モニタエントリの一致条件が増えると、前回モニタエントリ追加処理における一つのフローが、さらに複数のフローに細分化され、細分化された各フローの送信レートも低くなるため、パケット中継装置１０００は、全パケットを複製可能なフローに対応するモニタエントリを生成することができる。
【０１２１】
図１７は、図１２のフロー検索ＣＡＭ１３１２の状態の後に、ステップＳ１６０２が実行され、再度モニタエントリ追加処理が終了した際の、フロー検索ＣＡＭ１３１２の一例を示す説明図である。
【０１２２】
フロー検索ＣＡＭ１３１２には、宛先ＩＰアドレスがＣで送信元ＩＰアドレスがＦであるフローエントリ１７００−１、宛先ＩＰアドレスがＣで送信元ＩＰアドレスがＧであるフローエントリ１７００−２、宛先ＩＰアドレスがＤで、送信元ＩＰアドレスがＨであるフローエントリ１７００−３、宛先ＩＰアドレスがＤで送信元ＩＰアドレスがＩであるフローエントリ１７００−４と、宛先ＩＰアドレスがＥで送信元ＩＰアドレスがＪであるフローエントリ１７００−５、及び宛先ＩＰアドレスがＥで送信元ＩＰアドレスがＫであるフローエントリ１７００−６が設定されている。
【０１２３】
図１２の全てのフローエントリの送信元ＩＰアドレスは「ｄ．ｃ．」であったが、フローエントリ１７００−１〜１７００−６の送信元ＩＰアドレスには有効な値が設定されている。即ち、図１２の例は、宛先ＩＰアドレスＣ、Ｄ、Ｅであるフローエントリそれぞれが、２つのフローに分割されたことを示す。
【０１２４】
続いて、ステップＳ１６０３では、複製判定部１３１４は、送信レートがコレクタ装置性能以下であるフローに対応するモニタエントリの情報をフロー検索部１３１１に出力し、ステップＳ１６０５に進む。
【０１２５】
スコア判定ステップ（Ｓ１６０４）では、送信レートがコレクタ装置性能以下であるフローに対応するモニタエントリから１以上のモニタエントリを、例えば優先度スコアに基づいて選択する。
【０１２６】
例えば、図１２のフローエントリ１２００−１〜１２００−３に対応する各フローの送信レートがコレクタ装置性能以下である例を考える。複製判定部１３１４は、フローエントリに追加した条件に該当する優先度スコアテーブル（この例では、宛先ＩＰアドレスに対応する優先度スコアテーブル１５０１−１）から、各宛先ＩＰアドレスの優先度スコア（ＣＳ、ＤＳ、ＥＳ）を取得する。複製判定部１３１４は、例えば、取得した優先度スコアのうち最も大きい優先度スコアに対応するモニタエントリを選択する。
【０１２７】
また、複製判定部１３１４は、送信レートの合計値がコレクタ装置性能以下であれば、複数のモニタエントリを選択してもよい。例えば、優先度スコアの合計値が最大となる１以上のモニタエントリからなるモニタエントリ群を選択する。複製判定部１３１４は、フロー検索部１３１１に、選択したモニタエントリの情報を出力し、ステップＳ１６０５に進む。
【０１２８】
なお、複製判定部１３１４は、複数のパケットヘッダ情報及び装置情報における優先度スコアを用いて、モニタエントリを選択してもよい。例えば、複製判定部１３１４は、当該複数のパケットヘッダ情報や装置情報の優先度スコア値を所定の関数（例えば、優先度スコアの総和、総乗）に代入した値が、最も大きい優先度スコアに対応するフローのモニタエントリを選択する。
【０１２９】
管理者がモニタエントリに登録したもの以外のパケットヘッダ情報や装置情報、即ちモニタエントリ追加処理フローで追加されたパケットヘッダ情報や装置情報、に対応する優先度スコアが使用されることが望ましい。
【０１３０】
図１７のフローエントリ１７００−１〜１７００−６においては、宛先ＩＰアドレスと、送信元ＩＰアドレスとが、新たに追加された条件である。このとき、複製判定部１３１４は、例えば、ＣＳ＋ＦＳ、ＣＳ＋ＧＳ、ＤＳ＋ＨＳ、ＤＳ＋ＩＳ、ＥＳ＋ＪＳ、ＥＳ＋ＫＳを算出し、結果が最大であるモニタエントリに対応するフローを、選択する。複製判定部１３１４は、例えば、ＣＳ×ＦＳ、ＣＳ×ＧＳ、ＤＳ×ＨＳ、ＤＳ×ＩＳ、ＥＳ×ＪＳ、ＥＳ×ＫＳを比較してもよい。
【０１３１】
続いて、ステップＳ１６０５では、複製判定部１３１４は、管理者が指示した条件に従って設定されたモニタエントリでなく、かつステップＳ１６０３又はステップＳ１６０４において選択されたモニタエントリでない、モニタエントリのフローエントリ及びＲＡＭエントリを削除し、管理者の指示に従って設定されたＲＡＭエントリの、エントリ追加フラグを「０」に書き換えるよう、フロー検索部１３１１に指示する。フロー検索部１３１１は、当該指示に従って、フローエントリ及びＲＡＭエントリの削除、並びにエントリ追加フラグの書き換えを実施する。
【０１３２】
図１２の例において、例えば、フローエントリ１２００−１及びＲＡＭエントリ１３００−１に対応するモニタエントリが、ステップＳ１６０３又はステップＳ１６０４で選択されたとする。この場合、複製判定部１３１４が、複製判定部１３１４は、フローエントリ８００−１及びフローエントリ１２００−１、以外のフローエントリと、ＲＡＭエントリ９００−１及びＲＡＭエントリ１３００−１、以外のＲＡＭエントリと、を削除する指示と、ＲＡＭエントリ９００−１のエントリ追加フラグを書き換える指示を、フロー検索部１３１１に出力する。フロー検索部１３１１が、フローエントリとＲＡＭエントリを削除し、ＲＡＭエントリ９００−１のエントリ追加フラグを「０」に書き換え、全モニタ可能フロー選択処理を終了する。
【０１３３】
なお、図１６では、全パケット複製フラグが「１」である１つのモニタエントリのフローの複製パケットが送信されるコレクタ装置１００４には、当該複製パケットしか送信されない例を説明しているが、複数のモニタエントリのフローの複製パケットが送信されてもよい。この場合、ステップＳ１６０２の条件における「コレクタ装置性能」という記載を、「コレクタ装置性能−当該コレクタ装置に送信される他のフローの合計送信レート」と読み替えればよい。
【０１３４】
本実例のパケット中継装置１０００は、特定のパケットヘッダ情報や装置情報の条件を満たすフローの中から、コレクタ装置性能を超えず、優先度が高いフローのパケットをモニタリング対象に決定することができる。
【実施例３】
【０１３５】
実施例２のパケット中継装置１０００は、モニタエントリ追加処理によって、最終的なモニタエントリを決定した。本実施例のパケット中継装置１０００は、パケットヘッダ情報や装置情報から計算されるＨＡＳＨ値の範囲を限定することにより、モニタリング対象とするフローを限定し、最終的なモニタエントリを決定する。
【０１３６】
図１８は、ＨＡＳＨ方式モニタ対象選択処理の一例を示すフローチャートである。図１０のステップＳ１００２において、複製判定部１３１４がモニタエントリ送信レート＞コレクタ装置性能であると判定した場合（ステップＳ１００２：ＹＥＳ）に、ステップＳ１００３に進まず、ＨＡＳＨ方式モニタ対象選択処理に進む。
【０１３７】
ステップＳ１８００では、複製判定部１３１４は、モニタ対象とするフローのＨＡＳＨ値の範囲を狭める。具体的には、例えば、複製判定部１３１４は、Ｎ回目（Ｎは整数）のステップＳ１８００において、最上位からＮビットの値が全て０であるＨＡＳＨ値を有するフローのみをモニタ対象とすることを決定する。複製判定部１３１４は、決定したＨＡＳＨ値の範囲を、フロー検索ＣＡＭ１３１２に、解析情報格納テーブル１３２０に格納する。複製判定部１３１４は、パケットの複製判定処理において、解析情報格納テーブル１３２０に格納されたＨＡＳＨ値を参照して、パケットを複製するか否かを判定する。
【０１３８】
ステップＳ１８０１では、複製判定部１３１４は、モニタ対象とするフローの送信レートをコレクタ装置性能と比較し、モニタ対象とするフローの送信レートがコレクタ装置性能を超えているか否かを判定する。複製判定部１３１４は、モニタ対象とするフローの送信レートがコレクタ装置性能を超えていると判定した場合（Ｓ１８０１：ＹＥＳ）、ステップＳＳ１８００に戻り、モニタ対象とするフローのＨＡＳＨ値の範囲をさらに狭める。
【０１３９】
複製判定部１３１４は、モニタ対象とするフローの送信レートがコレクタ装置性能以下であると判定した場合（Ｓ１８０１：ＮＯ）、ＨＡＳＨ方式モニタ対象選択処理を終了する。
【０１４０】
本実施例のパケット中継装置１０００は、コレクタ装置性能を超えない範囲で、条件を満たす特定のフローについては、サンプリングでなく全データをモニタリングすることができる。つまり、コレクタ装置１００４は、当該特定のフローのアプリケーションデータを復元することができる。アプリケーションデータを復元して解析することは、モニタリングの目的によっては必須である場合があり、この場合においても本実施例のＨＡＳＨ方式モニタ対象選択処理は有効である。
【０１４１】
また、パケット中継装置１０００は、ＨＡＳＨ値を用いてモニタ対象のフローを決定することにより、ランダムにパケットを採取することができ、ひいては管理者によるフロー選択の恣意性を排除でき、かつパケット受信部１１００が受信するパケットに依存せずにパケットを採取することができる。
【０１４２】
なお、本実施形態のパケット中継装置１０００は、ＩＰパケットを中継する例として説明したが、ＭＰＬＳや、イーサネット（登録商標）等の各種プロトコルについてもコンフィグ設定を変更することで対応可能である。また、本実施形態は、フロー単位でのモニタリングの例を主に説明したが、回線単位等の他の単位におけるモニタリングに適用することができる。
【０１４３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１４４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１４５】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４６】
１０００  パケット中継装置、１００３  管理端末、１００４  コレクタ装置、１１００  パケット受信部、１２００  パケット送信部、１３００  パケット情報処理部、１３１０  パケット解析部、１３１１  フロー検索部、１３１２  フロー検索ＣＡＭ、１３１３  フロー検索ＲＡＭ、１３１４  複製判定部、１３２０  解析情報格納テーブル、１３３０  パケット複製部、１４００  経路検索部、１５００  中継処理部
【図１】
2018164141.tif 000003
【図２】
2018164141.tif 000004
【図３】
2018164141.tif 000005
【図４】
2018164141.tif 000006
【図５】
2018164141.tif 000007
【図６】
2018164141.tif 000008
【図７】
2018164141.tif 000009
【図８】
2018164141.tif 000010
【図９】
2018164141.tif 000011
【図１０】
2018164141.tif 000012
【図１１】
2018164141.tif 000013
【図１２】
2018164141.tif 000014
【図１３】
2018164141.tif 000015
【図１４】
2018164141.tif 000016
【図１５Ａ】
2018164141.tif 000017
【図１５Ｂ】
2018164141.tif 000018
【図１６】
2018164141.tif 000019
【図１７】
2018164141.tif 000020
【図１８】
2018164141.tif 000021