(57)【要約】【課題】ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得する技術を提供する。【解決手段】装置内廃棄検出部１１３は、ネットワークインタフェースからサンプリング部１１２にいたるまでのパケット廃棄を監視し、その廃棄パケット数をサンプリング部１１２に通知する。サンプリング部１１２は、パケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数のパケットを選択し、装置内廃棄検出部１１３から通知された廃棄パケット数を前記カウンタ値に加算し、装置内で廃棄されたパケットが前記乱数を用いて選択されたパケットと一致すると判明した場合に、判明以降のパケットから代理の選択パケットを決定する。エクスポート部１１１は、サンプリング部１１２で選択したパケットの情報を外部装置に通知する。【選択図】図２
2011171797.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、
前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数を前記サンプリング部に通知する装置内廃棄検出部と、
到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、前記装置内廃棄検出部から通知された廃棄パケット数を前記カウンタ値に加算し、装置内で廃棄されたパケットが前記乱数を用いて選択されたパケットと一致すると判明した場合に、判明以降のパケットから代理の選択パケットを決定するサンプリング部と、
前記サンプリング部で選択したパケットの情報を外部装置に通知するエクスポート部と
を有することを特徴とするパケットサンプリング装置。
【請求項２】
ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、
前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数を前記サンプリング部に通知する装置内廃棄検出部と、
到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、選択しなかったパケットの一部もしくは全てをバッファに記憶し、前記装置内廃棄検出部から通知された廃棄パケット数を前記カウンタ値に加算し、装置内で廃棄されたパケットが前記乱数を用いて選択されたパケットと一致すると判明した場合に前記バッファに記憶したパケットから代理の選択パケットを決定するサンプリング部と、
前記サンプリング部で選択したパケットの情報を外部装置に通知するエクスポート部と
を有することを特徴とするパケットサンプリング装置。
【請求項３】
ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、
前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数をエクスポート部に通知する装置内廃棄検出部と、
到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、第１の個数のパケットを受信した間に前記装置内廃棄検出部から通知された装置内廃棄パケット数をエクスポート部に通知するサンプリング部と、
前記パケット選択に用いた第１の個数を本来のそれに前記サンプリング部から通知された装置内廃棄パケット数を加算した値に書き換えた値としたうえで、前記サンプリング部で選択したパケットの情報とを関連付けて外部装置に通知するエクスポート部と
を有することを特徴とするパケットサンプリング装置。
【請求項４】
ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、
ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数を前記サンプリング部に通知する装置内廃棄検出部と、
到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、前記装置内廃棄検出部から通知された装置内廃棄パケット数に応じて、次周期においてパケット選択に用いるパラメータ｛第２の個数，第１の個数｝を変更するサンプリング部と、
前記次周期においてパケット選択に用いる変更後のパラメータ｛第２の個数，第１の個数｝と前記サンプリング部で選択したパケットの情報とを関連付けて外部装置に通知するエクスポート部と
を有することを特徴とするパケットサンプリング装置。
【請求項５】
ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された時間だけ抽出するパケットサンプリング装置において、
前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその事実を前記サンプリング部に通知する装置内廃棄検出部と、
到着したパケットから、予め設定した時間周期に、予め設定した第１の時間だけパケット抽出を行い、残る第２の時間はパケット抽出を行わず、前記装置内廃棄検出部から装置内廃棄を通知された時に、パケット抽出する時間帯（抽出開始時刻から第１の時間以内）であれば直ちにパケット抽出を停止し、抽出開始時刻からの経過時間Δｔをエクスポート部に通知するサンプリング部と、
パケット抽出に用いるパラメータ｛第１の時間，第２の時間｝を前記サンプリング部から通知されたΔｔを元に実際にパケット抽出に用いたパラメータ｛第１の時間−Δｔ，第２の時間＋Δｔ｝に書き換えたうえで、前記サンプリング部にて抽出したパケットに関する情報と関連付けて外部装置に通知するエクスポート部と
を有することを特徴とするパケットサンプリング装置。
【請求項６】
ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された時間だけ抽出するパケットサンプリング装置において、
前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数をネットワーク廃棄検出部に直ちに通知する装置内廃棄検出部と、
到着したパケットから、予め設定した時間周期に、予め設定した第１の時間だけパケット抽出を行い、残る第２の時間はパケット抽出を行わないサンプリング部と、
前記サンプリング部において抽出したパケットのシーケンス番号を監視し、その抜けからネットワークでのパケット廃棄を検出し、その廃棄パケット数をカウントし、前記装置内廃棄検出部から装置内廃棄を通知されたときに抽出したパケットのシーケンス番号に抜けがある場合は、ネットワークでのパケット廃棄としては検出しないネットワーク廃棄検出部と、
前記ネットワーク廃棄検出部にて検出したパケット廃棄に関する情報を外部装置に通知するエクスポート部と
を有することを特徴とするパケットサンプリング装置。
【請求項７】
請求項１に記載のパケットサンプリング装置において、
サンプリング部は、判明以降のパケットからの代理の選択パケットの決定は、判明直後に受信したパケットを代理の選択パケットと決定するものであることを特徴とするパケットサンプリング装置。
【請求項８】
請求項１に記載のパケットサンプリング装置において、
サンプリング部は、代理の選択パケットの決定は、判明以降のパケットから乱数を用いて決定するものであることを特徴とするパケットサンプリング装置。
【請求項９】
請求項２に記載のパケットサンプリング装置において、
サンプリング部は、選択しなかったパケットのバッファへの記憶は、最新の非選択パケットから予め設定した数だけを記憶し、予め設定した数を越えるものは古いパケットから削除するものであって、代理の選択パケットの決定は、前記バッファに記憶したパケットのうち最新のパケットもしくは最古のパケットを代理の選択パケットとして決定するものであることを特徴とするパケットサンプリング装置。
【請求項１０】
請求項２に記載のパケットサンプリング装置において、
サンプリング部は、代理の選択パケットの決定は、前記バッファに記憶したパケットから乱数を用いて選択したパケットを代理の選択パケットとして決定するものであることを特徴とするパケットサンプリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サンプリング技術を用いてトラヒック監視を行う装置、特にランダムパケットサンプリングや時間サンプリングを用いて低コストにトラヒック監視を行う装置に関するものである。
【背景技術】
【０００２】
サンプリング技術を用いて低コストでトラヒック監視を行う装置としては、ｎＰｒｏｂｅ（非特許文献１）を搭載した装置が既知である。
【０００３】
ｎＰｒｏｂｅは、汎用ＰＣ上でＮｅｔＦｌｏｗ、ＩＰＦＩＸといった、サンプリング機能を動作させることが可能となっており、専用のトラヒックキャプチャ装置を用いることなく、トラヒック監視を実現することが可能である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ｎＰｒｏｂｅ”、［ｏｎｌｉｎｅ］、［平成２２年１月２１日検索］、インターネット＜http://www.ntop.org/nProbe.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１の方法、つまり、ｎＰｒｏｂｅを搭載したパケットサンプリング装置は、汎用ＰＣ上で実現されるために、低コストにトラヒック監視を実現することが可能である。一方で、専用のトラヒックキャプチャ装置ではなく、汎用ＰＣを用いるために、次に示す問題があった。すなわち、ネットワークインタフェース、デバイスドライバ、カーネル部分でのパケット廃棄時に、ネットワーク上のパケット流量を実際よりも少なく測定する、ネットワーク上のパケット廃棄を誤検出するなどの問題があった。
【０００６】
そこで、本発明は、トラヒック監視を実現する装置において、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することを目的とする。
【課題を解決するための手段】
【０００７】
本発明においては、前記の課題を解決するために、装置内で発生したパケット廃棄を考慮しながらサンプリング処理やその他の処理を行うことを特徴する。
【０００８】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００９】
第１の発明は、ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数を前記サンプリング部に通知する装置内廃棄検出部と、到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、前記装置内廃棄検出部から通知された廃棄パケット数を前記カウンタ値に加算し、装置内で廃棄されたパケットが前記乱数を用いて選択されたパケットと一致すると判明した場合に、判明以降のパケットから代理の選択パケットを決定するサンプリング部と、前記サンプリング部で選択したパケットの情報を外部装置に通知するエクスポート部とを有することを特徴とする。
【００１０】
第２の発明は、ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数を前記サンプリング部に通知する装置内廃棄検出部と、到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、選択しなかったパケットの一部もしくは全てをバッファに記憶し、前記装置内廃棄検出部から通知された廃棄パケット数を前記カウンタ値に加算し、装置内で廃棄されたパケットが前記乱数を用いて選択されたパケットと一致すると判明した場合に前記バッファに記憶したパケットから代理の選択パケットを決定するサンプリング部と、前記サンプリング部で選択したパケットの情報を外部装置に通知するエクスポート部とを有することを特徴とする。
【００１１】
第３の発明は、ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数をエクスポート部に通知する装置内廃棄検出部と、到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、第１の個数のパケットを受信した間に前記装置内廃棄検出部から通知された装置内廃棄パケット数をエクスポート部に通知するサンプリング部と、前記パケット選択に用いた第１の個数を本来のそれに前記サンプリング部から通知された装置内廃棄パケット数を加算した値に書き換えた値としたうえで、前記サンプリング部で選択したパケットの情報とを関連付けて外部装置に通知するエクスポート部とを有することを特徴とする。
【００１２】
第４の発明は、ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された割合でランダムに選択するパケットサンプリング装置において、ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数を前記サンプリング部に通知する装置内廃棄検出部と、到着したパケット数をカウントし、カウントしたカウンタ値と乱数を用いて、予め設定した第１の個数のパケット周期に予め設定した第２の個数（１≦第２の個数＜第１の個数）のパケットを選択し、前記装置内廃棄検出部から通知された装置内廃棄パケット数に応じて、次周期においてパケット選択に用いるパラメータ｛第２の個数，第１の個数｝を変更するサンプリング部と、前記次周期においてパケット選択に用いる変更後のパラメータ｛第２の個数，第１の個数｝と前記サンプリング部で選択したパケットの情報とを関連付けて外部装置に通知するエクスポート部とを有することを特徴とする。
【００１３】
第５の発明は、ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された時間だけ抽出するパケットサンプリング装置において、前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその事実を前記サンプリング部に通知する装置内廃棄検出部と、到着したパケットから、予め設定した時間周期に、予め設定した第１の時間だけパケット抽出を行い、残る第２の時間はパケット抽出を行わず、前記装置内廃棄検出部から装置内廃棄を通知された時に、パケット抽出する時間帯（抽出開始時刻から第１の時間以内）であれば直ちにパケット抽出を停止し、抽出開始時刻からの経過時間Δｔをエクスポート部に通知するサンプリング部と、パケット抽出に用いるパラメータ｛第１の時間，第２の時間｝を前記サンプリング部から通知されたΔｔを元に実際にパケット抽出に用いたパラメータ｛第１の時間−Δｔ，第２の時間＋Δｔ｝に書き換えたうえで、前記サンプリング部にて抽出したパケットに関する情報と関連付けて外部装置に通知するエクスポート部とを有することを特徴とする。
【００１４】
第６の発明は、ネットワークインタフェースを備え、該ネットワークインタフェースから受信したパケットの中から一部のパケットを予め設定された時間だけ抽出するパケットサンプリング装置において、前記ネットワークインタフェースからサンプリング部にいたるまでの単数もしくは複数の部位でのパケット廃棄を監視し、パケット廃棄を検出した場合にその廃棄パケット数をネットワーク廃棄検出部に直ちに通知する装置内廃棄検出部と、到着したパケットから、予め設定した時間周期に、予め設定した第１の時間だけパケット抽出を行い、残る第２の時間はパケット抽出を行わないサンプリング部と、前記サンプリング部において抽出したパケットのシーケンス番号を監視し、その抜けからネットワークでのパケット廃棄を検出し、その廃棄パケット数をカウントし、前記装置内廃棄検出部から装置内廃棄を通知されたときに抽出したパケットのシーケンス番号に抜けがある場合は、ネットワークでのパケット廃棄としては検出しないネットワーク廃棄検出部と、前記ネットワーク廃棄検出部にて検出したパケット廃棄に関する情報を外部装置に通知するエクスポート部とを有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、装置内で発生したパケット廃棄を考慮しながらサンプリング処理を行うことにより、低コストでありながら、ネットワーク上の流量やパケット廃棄を正確に取得することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１に係るパケットサンプリング装置の構成図である。
【図２】本発明の実施例１に係るパケットサンプリング装置の処理内容を示す図である。
【図３】本発明の実施例２に係るパケットサンプリング装置の構成図である。
【図４】本発明の実施例２に係るパケットサンプリング装置の処理内容を示す図である。
【図５】本発明の実施例３に係るパケットサンプリング装置の構成図である。
【図６】本発明の実施例３に係るパケットサンプリング装置の処理内容を示す図である。
【図７】本発明の実施例４に係るパケットサンプリング装置の構成図である。
【図８】本発明の実施例４に係るパケットサンプリング装置の処理内容を示す図である。
【図９】本発明の実施例５に係るパケットサンプリング装置の構成図である。
【図１０】本発明の実施例５に係るパケットサンプリング装置の処理内容を示す図である。
【図１１】本発明の実施例６に係るパケットサンプリング装置の構成図である。
【図１２】本発明の実施例６に係るパケットサンプリング装置の処理内容を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施例を図を用いて詳細に説明する。
【実施例１】
【００１８】
図１は、本発明の実施例１に係るパケットサンプリング装置の構成図である。
【００１９】
図１において、１１０はＵｓｅｒＬａｎｄ、１２０はＫｅｒｎｅｌ、１３０はＮＩＣ、１１１はエクスポート部、１１２はサンプリング部、１１３は装置内廃棄検出部である。
【００２０】
エクスポート部１１１、サンプリング部１１２、装置内廃棄検出部１１３はＵｓｅｒＬａｎｄ１１０に配置される。ネットワークインタフェース（図示していない）において受信したパケットは、ＮＩＣ１３０、カーネル１２０を通過してサンプリング部１１２に到達する。
【００２１】
図２は、本発明の実施例１に係るパケットサンプリング装置の処理内容を示す図である。
【００２２】
図２において、２０１はネットワークインタフェースに到着したパケット、２０２はサンプリング部に到着したパケット、２０３はサンプリング部のカウンタ値である。２１１は装置内廃棄検出部１１３からサンプリング部１１２への３パケット廃棄の通知、２１２は同２パケット廃棄の通知である。
【００２３】
装置内廃棄検出部１１３は、常時ＮＩＣ１３０およびカーネル１２０を監視し、パケット廃棄の有無を確認する。パケット廃棄が発生した場合は、即座にその事実をその廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓとともにサンプリング部１１２に通知する。
【００２４】
サンプリング部１１２は、受信したパケット数をカウンタする。本カウンタは、パケットを受信時に加算されるだけでなく、装置内廃棄検出部１１３から装置内廃棄を通知された場合にも加算される。装置内廃棄検出部１１３から装置内廃棄を通知された場合にはその通知された廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓ分が加算される。図２の例では、サンプリング部のカウンタ値２０３は、３パケット廃棄の通知２１１の時に３が加算され、２パケット廃棄の通知２１２の時に２が加算される。
【００２５】
サンプリング部１１２は、前記カウンタのｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個（第１の個数）のパケット周期に、１周期毎に予め設定したｓａｍｐｌｉｎｇＳｉｚｅ（１≦ｓａｍｐｌｉｎｇＳｉｚｅ＜＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ）個（第２の個数）のパケットをランダムに選択する。具体的には、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個のパケット周期に乱数を用いて１〜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎの範囲の異なるｓａｍｐｌｉｎｇＳｉｚｅ個の整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）を取得する。当該周期では、取得した整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）番目の受信パケットを選択パケットとして決定する。これを各周期で行う。
【００２６】
サンプリング部１１２では、前記カウンタの増分として、装置内廃棄パケット数が含まれているため、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個中ｓａｍｐｌｉｎｇＳｉｚｅ個の割合でパケットを選択することが可能となる。ただし、乱数から取得した整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）が示すパケットが装置内廃棄パケットに含まれている場合もありうるため、代理の選択パケットを決定することにより、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個中ｓａｍｐｌｉｎｇＳｉｚｅ個の割合を守ってパケット選択を行うことが可能となる。代理の選択パケットの決定は、選択すべきパケットが装置内廃棄されたことが判明した以降の非選択パケットから選択する。代理の選択パケットの決定は、判明した直後のパケットとする、もしくは、判明した以降のパケットから再度乱数を用いて決定するものである。
【００２７】
例えば、図２に示すように、｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，２０｝の場合に、乱数にて１４番目を選択することを決定したが、選択すべき１４番のパケットは装置内で廃棄されたので、１６〜２０もしくは以降の周期の中から代理の選択パケットを決定して、最終的な選択パケットを１８番のパケットとして、このパケットをサンプリングする。
【００２８】
サンプリング部１１２で用いるパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝は、あらかじめ当該装置のハードウェア、ソフトウェア等の性能を考慮して、決定することが望ましい。例えば、連続で発生しうる装置内パケット廃棄の最悪値からパラメータを決定することがよい。連続のパケット廃棄が１０００であれば、例えば｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１００１以上｝をパラメータとして採用することが望ましい。これは、１周期内で装置内廃棄されるパケットが多すぎて、選択パケット決定できないケースをあらかじめさけることを目的としている。ただし、これには限定されず、１≦ｓａｍｐｌｉｎｇＳｉｚｅ（第２の個数）＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ（第１の個数）であればよい。
【００２９】
エクスポート部１１１は、サンプリング部１１２で取得したパケットの情報を、ＮｅｔＦｌｏｗ、ｓＦＬｏｗ、ＩＰＦＩＸ等のプロトコルを用いて外部装置に通知する。ここで、パケット選択に用いたパラメータを関連付けて通知してもよい。
【００３０】
以上説明したように、本実施例は、ランダムサンプリングを行うサンプリング装置において、選択パケットが装置内廃棄された場合は未来の非選択パケットから代理の選択パケットを選ぶことによりサンプリングレートを守るものである。
【００３１】
本実施例により、例えば汎用ＰＣ上でトラヒック監視を実現する装置において、低コストでありながら、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することができる。
【実施例２】
【００３２】
図３は、本発明の実施例２に係るパケットサンプリング装置の構成図である。
【００３３】
図３において、３１０はＵｓｅｒＬａｎｄ、３２０はＫｅｒｎｅｌ、３３０はＮＩＣ、３１１はエクスポート部、３１２はサンプリング部、３１３は装置内廃棄検出部である。
【００３４】
エクスポート部３１１、サンプリング部３１２、装置内廃棄検出部３１３はＵｓｅｒＬａｎｄ３１０に配置される。ネットワークインタフェース（図示していない）において受信したパケットは、ＮＩＣ３３０、カーネル３２０を通過してサンプリング部３１２に到達する。
【００３５】
図４は、本発明の実施例２に係るパケットサンプリング装置の処理内容を示す図である。
【００３６】
図４において、４０１はネットワークインタフェースに到着したパケット、４０２はサンプリング部に到着したパケット、４０３はサンプリング部のカウンタ値である。４１１は装置内廃棄検出部３１３からサンプリング部３１２への３パケット廃棄の通知、４１２は同２パケット廃棄の通知である。
【００３７】
装置内廃棄検出部３１３は、常時ＮＩＣ３３０およびカーネル３２０を監視し、パケット廃棄の有無を確認する。パケット廃棄が発生した場合は、即座にその事実をその廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓとともにサンプリング部３１２に通知する。
【００３８】
サンプリング部３１２は、受信したパケット数をカウンタする。本カウンタは、パケットを受信時に加算されるだけでなく、装置内廃棄検出部３１３から装置内廃棄を通知された場合にも加算される。装置内廃棄検出部３１３から装置内廃棄を通知された場合にはその通知された廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓ分が加算される。図４の例では、サンプリング部のカウンタ値４０３は、３パケット廃棄の通知４１１の時に３が加算され、２パケット廃棄の通知４１２の時に２が加算される。
【００３９】
サンプリング部３１２は、前記カウンタのｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個（第１の個数）のパケット周期に、１周期毎に予め設定したｓａｍｐｌｉｎｇＳｉｚｅ（１≦ｓａｍｐｌｉｎｇＳｉｚｅ＜＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ）個（第２の個数）のパケットをランダムに選択する。具体的には、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個のパケット周期に乱数を用いて１〜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎの範囲の異なるｓａｍｐｌｉｎｇＳｉｚｅ個の整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）を取得する。当該周期では、取得した整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）番目の受信パケットを選択パケットとして決定する。これを各周期で行う。
【００４０】
サンプリング部３１２では、前記カウンタの増分として、装置内廃棄パケット数が含まれているため、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個中ｓａｍｐｌｉｎｇＳｉｚｅ個の割合でパケットを選択することが可能となる。ただし、乱数から取得した整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）が示すパケットが装置内廃棄パケットに含まれている場合もありうるため、代理の選択パケットを決定することにより、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個中ｓａｍｐｌｉｎｇＳｉｚｅこの割合を守ってパケット選択を行うことが可能となる。代理の選択パケットの決定は、過去の非選択パケットをバッファしておき、その中から選択する。非選択パケットのバッファは、予め設定した長さのバッファであって、最新の非選択パケットのみを記憶するものとすることで、バッファ容量を低減することが可能である。その場合、バッファの先頭もしくは最後尾のパケットを代理の選択パケットとして決定することができる。もしくは、バッファから乱数を用いて代理の選択パケットを決定することができる。
【００４１】
例えば、図４に示すように、｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，２０｝の場合に、乱数にて１４番目を選択することを決定したが、選択すべき１４番のパケットが装置内で廃棄されたので、バッファされている１〜４、８〜１３の中から代理の選択パケットを決定して、最終的な選択パケットを１２番のパケットとして、このパケットをサンプリングする。
【００４２】
サンプリング部３１２で用いるパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝は、あらかじめ当該装置のハードウェア、ソフトウェア等の性能を考慮して、決定することが望ましい。例えば、連続で発生しうる装置内パケット廃棄の最悪値からパラメータを決定することがよい。連続のパケット廃棄が１０００であれば、例えば｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１００１以上｝をパラメータとして採用することが望ましい。これは、１周期内で装置内廃棄されるパケットが多すぎて、選択パケット決定できないケースをあらかじめさけることを目的としている。ただし、これには限定されず、１≦ｓａｍｐｌｉｎｇＳｉｚｅ（第２の個数）＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ（第１の個数）であればよい。
【００４３】
エクスポート部３１１は、サンプリング部３１２で取得したパケットの情報を、ＮｅｔＦｌｏｗ、ｓＦＬｏｗ、ＩＰＦＩＸ等のプロトコルを用いて外部装置に通知する。ここで、パケット選択に用いたパラメータを関連付けて通知してもよい。
【００４４】
以上説明したように、本実施例は、ランダムサンプリングを行うサンプリング装置において、選択パケットが装置内廃棄された場合は過去の非選択パケットから代理の選択パケットを選ぶことによりサンプリングレートを守るものである。
【００４５】
本実施例により、例えば汎用ＰＣ上でトラヒック監視を実現する装置において、低コストでありながら、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することができる。
【実施例３】
【００４６】
図５は、本発明の実施例３に係るパケットサンプリング装置の構成図である。
【００４７】
図５において、５１０はＵｓｅｒＬａｎｄ、５２０はＫｅｒｎｅｌ、５３０はＮＩＣ、５１１はエクスポート部、５１２はサンプリング部、５１３は装置内廃棄検出部である。
【００４８】
エクスポート部５１１、サンプリング部５１２、装置内廃棄検出部５１３はＵｓｅｒＬａｎｄ５１０に配置される。ネットワークインタフェース（図示していない）において受信したパケットは、ＮＩＣ５３０、カーネル５２０を通過してサンプリング部５１２に到達する。
【００４９】
図６は、本発明の実施例３に係るパケットサンプリング装置の処理内容を示す図である。
【００５０】
図６において、６０１はネットワークインタフェースに到着したパケット、６０２はサンプリング部に到着したパケット、６０３はサンプリング部のカウンタ値、６０４は装置内廃棄の合算値である。６１１は装置内廃棄検出部５１３からエクスポート部５１１への３パケット廃棄の通知、６１２は同２パケット廃棄の通知である。
【００５１】
装置内廃棄検出部５１３は、常時ＮＩＣ５３０およびカーネル５２０を監視し、パケット廃棄の有無を確認する。パケット廃棄が発生した場合は、即座にその事実をその廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓとともにエクスポート部５１１に通知する。
【００５２】
サンプリング部５１２は、受信したパケット数をカウンタする。本カウンタは、パケットを受信時に加算されるだけである。
【００５３】
サンプリング部５１２は、前記カウンタのｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個（第１の個数）のパケット周期に、１周期毎に予め設定したｓａｍｐｌｉｎｇＳｉｚｅ（１≦ｓａｍｐｌｉｎｇＳｉｚｅ＜＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ）個（第２の個数）のパケットをランダムに選択する。具体的には、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個のパケット周期に乱数を用いて１〜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎの範囲の異なるｓａｍｐｌｉｎｇＳｉｚｅ個の整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）を取得する。当該周期では、取得した整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）番目の受信パケットを選択パケットとして決定する。これを各周期で行う。
【００５４】
サンプリング部５１２で用いるパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝は、あらかじめ当該装置のハードウェア、ソフトウェア等の性能を考慮して、決定することが望ましい。例えば、連続で発生しうる装置内パケット廃棄の最悪値からパラメータを決定することがよい。連続のパケット廃棄が１０００であれば、例えば｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１００１以上｝をパラメータとして採用することが望ましい。これは、１周期内で装置内廃棄されるパケットが多すぎて、選択パケットを決定できないケースをあらかじめさけることを目的としている。ただし、これには限定されず、１≦ｓａｍｐｌｉｎｇＳｉｚｅ（第２の個数）＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ（第１の個数）であればよい。
【００５５】
エクスポート部５１１は、装置内廃棄検出部５１３から通知された装置内廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓを用いて、パケット選択に用いたパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝を｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ＋ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓ｝に書き換えた上で、サンプリング部５１２にて選択したパケットの情報と関連付けて、ＮｅｔＦｌｏｗ、ｓＦＬｏｗ、ＩＰＦＩＸ等のプロトコルを用いて外部装置に通知する。これにより、外部装置は結果としてパケット選択に用いられたパラメータを知ることができるため、正しい割合でトラヒック情報を取得できる。
【００５６】
例えば、図６に示すように、サンプリング部５１２のパラメータが｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１５｝の場合に、装置内廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓ＝５となったときに、パケット選択に用いたパラメータを｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１５｝ではなく、｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１５＋５｝として外部装置に通知する。
【００５７】
以上説明したように、本実施例は、ランダムサンプリングを行うサンプリング装置において、装置内廃棄パケット数分だけサンプリングレートの分母を増大させ、外部装置に通知するものである。
【００５８】
本実施例により、例えば汎用ＰＣ上でトラヒック監視を実現する装置において、低コストでありながら、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することができる。
【実施例４】
【００５９】
図７は、本発明の実施例４に係るパケットサンプリング装置の構成図である。
【００６０】
図７において、７１０はＵｓｅｒＬａｎｄ、７２０はＫｅｒｎｅｌ、７３０はＮＩＣ、７１１はエクスポート部、７１２はサンプリング部、７１３は装置内廃棄検出部である。
【００６１】
エクスポート部７１１、サンプリング部７１２、装置内廃棄検出部７１３はＵｓｅｒＬａｎｄ７１０に配置される。ネットワークインタフェース（図示していない）において受信したパケットは、ＮＩＣ７３０、カーネル７２０を通過してサンプリング部７１２に到達する。
【００６２】
図８は、本発明の実施例４に係るパケットサンプリング装置の処理内容を示す図である。
【００６３】
図８において、８０１はネットワークインタフェースに到着したパケット、８０２はサンプリング部に到着したパケット、８０３はサンプリング部のカウンタ値、８０４は装置内廃棄の合算値である。８１１は装置内廃棄検出部７１３からサンプリング部７１２への３パケット廃棄の通知、８１２は同２パケット廃棄の通知である。
【００６４】
装置内廃棄検出部７１３は、常時ＮＩＣ７３０およびカーネル７２０を監視し、パケット廃棄の有無を確認する。パケット廃棄が発生した場合は、即座にその事実をその廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓとともにエクスポート部７１１に通知する。
【００６５】
サンプリング部７１２は、受信したパケット数をカウンタする。本カウンタは、パケットを受信時に加算されるだけである。
【００６６】
サンプリング部７１２は、前記カウンタのｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個（第１の個数）のパケット周期に、１周期毎に予め設定したｓａｍｐｌｉｎｇＳｉｚｅ（１≦ｓａｍｐｌｉｎｇＳｉｚｅ＜＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ）個（第２の個数）のパケットをランダムに選択する。具体的には、ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ個のパケット周期に乱数を用いて１〜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎの範囲の異なるｓａｍｐｌｉｎｇＳｉｚｅ個の整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）を取得する。当該周期では、取得した整数（Ｎ１，Ｎ２，…，ＮｓａｍｐｌｉｎｇＳｉｚｅ）番目の受信パケットを選択パケットとして決定する。また、サンプリング部７１２は、装置内廃棄検出部７１３から通知された装置内廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓを用いて、次周期においてパケット選択にいるパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝を｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ＋ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓ｝に書き換える。これを各周期で行う。
【００６７】
例えば、図８に示すように、サンプリング部７１２のパラメータが｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１５｝の場合に、装置内廃棄の合算値８０４が５であるとき、次周期においてパケット選択に用いるパラメータを｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１５｝ではなく、｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１５＋５｝に変更する。
【００６８】
サンプリング部７１２で用いるパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝は、あらかじめ当該装置のハードウェア、ソフトウェア等の性能を考慮して、決定することが望ましい。例えば、連続で発生しうる装置内パケット廃棄の最悪値からパラメータを決定することがよい。連続のパケット廃棄が１０００であれば、例えば｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝＝｛１，１００１以上｝をパラメータとして採用することが望ましい。これは、１周期内で装置内廃棄されるパケットが多すぎて、選択パケットを決定できないケースをあらかじめさけることを目的としている。ただし、これには限定されず、１≦ｓａｍｐｌｉｎｇＳｉｚｅ（第２の個数）＜ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ（第１の個数）であればよい。
【００６９】
エクスポート部７１１は、サンプリング部７１２が変更した変更後のパラメータ｛ｓａｍｐｌｉｎｇＳｉｚｅ，ｓａｍｐｌｉｎｇＰｏｐｕｌａｔｉｏｎ｝とサンプリング部７１２にて選択したパケットの情報とを関連付けて、ＮｅｔＦｌｏｗ、ｓＦＬｏｗ、ＩＰＦＩＸ等のプロトコルを用いて外部装置に通知する。これにより、外部装置は結果としてパケット選択に用いられたパラメータを知ることができるため、正しい割合でトラヒック情報を取得できる。
【００７０】
以上説明したように、本実施例は、ランダムサンプリングを行うサンプリング装置において、装置内廃棄パケット数分だけサンプリングレートを変更するものである。
【００７１】
本実施例により、例えば汎用ＰＣ上でトラヒック監視を実現する装置において、低コストでありながら、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することができる。
【実施例５】
【００７２】
図９は、本発明の実施例５に係るパケットサンプリング装置の構成図である。
【００７３】
図９において、９１０はＵｓｅｒＬａｎｄ、９２０はＫｅｒｎｅｌ、９３０はＮＩＣ、９１１はエクスポート部、９１２はサンプリング部、９１３は装置内廃棄検出部である。
【００７４】
エクスポート部９１１、サンプリング部９１２、装置内廃棄検出部９１３はＵｓｅｒＬａｎｄ９１０に配置される。ネットワークインタフェース（図示していない）において受信したパケットは、ＮＩＣ９３０、カーネル９２０を通過してサンプリング部９１２に到達する。
【００７５】
図１０は、本発明の実施例５に係るパケットサンプリング装置の処理内容を示す図である。
【００７６】
図１０において、１００１はネットワークインタフェースに到着したパケット、１００２はサンプリング部に到着したパケットである。１０１１は装置内廃棄検出部９１３からサンプリング部９１２への３パケット廃棄時の通知、１０１２は同２パケット廃棄時の通知である。
【００７７】
装置内廃棄検出部９１３は、常時ＮＩＣ９３０およびカーネル９２０を監視し、パケット廃棄の有無を確認する。パケット廃棄が発生した場合は、即座にその事実をサンプリング部９１２に通知する。
【００７８】
サンプリング部９１２は、ネットワークインタフェースから受信したパケットから、予め設定した時間周期に、予め設定したｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ時間（第１の時間）だけパケット抽出を行い、残るｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ時間（第２の時間）はパケット抽出を行わず、装置内廃棄検出部９１３から装置内廃棄を通知された時に、パケット抽出する時間帯（抽出開始時刻からｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ時間以内）であれば直ちにパケット抽出を停止し、抽出開始時刻からの経過時間Δｔをエクスポート部に通知する。これを各周期で行う。
【００７９】
例えば、図１０に示すように、｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ｝＝｛５００ｍｓ，５００ｍｓ｝の場合に、ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ時間（５００ｍｓ）だけパケット抽出を行い、残るｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ時間（５００ｍｓ）はパケット抽出を行わないように予め設定されていたが、パケットを抽出する時間帯に装置内廃棄検出部９１３から３パケット廃棄時の通知１０１１を通知されたため、直ちにパケット抽出を停止し、抽出開始時刻からの経過時間Δｔ（２３０ｍｓ）をエクスポート部９１１に通知する。
【００８０】
サンプリング部９１２で用いるパラメータ｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ｝は、あらかじめ当該装置のハードウェア、ソフトウェア等の性能を考慮して、決定することが望ましい。
【００８１】
エクスポート部９１１は、パケット抽出に用いるパラメータ｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ｝をサンプリング部９１２から通知されたΔｔを元に実際にパケット抽出に用いたパラメータ｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａ−Δｔ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ＋Δｔ｝に書き換えたうえで、サンプリング部９１２にて抽出したパケットに関する情報と関連付けて、ＮｅｔＦｌｏｗ、ｓＦＬｏｗ、ＩＰＦＩＸ等のプロトコルを用いて外部装置に通知する。
【００８２】
図１０の例では、エクスポート部９１１は、｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ｝を｛２３０ｍｓ，６７０ｍｓ｝として外部装置に通知する。
【００８３】
以上説明したように、本実施例は、時間サンプリングを行うサンプリング装置において、装置内廃棄が発生した時間以降を非抽出時間とするものである。
【００８４】
本実施例により、例えば汎用ＰＣ上でトラヒック監視を実現する装置において、低コストでありながら、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することができる。
【実施例６】
【００８５】
図１１は、本発明の実施例６に係るパケットサンプリング装置の構成図である。
【００８６】
図１１において、１１１０はＵｓｅｒＬａｎｄ、１１２０はＫｅｒｎｅｌ、１１３０はＮＩＣ、１１１１はエクスポート部、１１１２はサンプリング部、１１１３は装置内廃棄検出部、１１１４はネットワーク廃棄検出部である。
【００８７】
エクスポート部１１１１、サンプリング部１１１２、装置内廃棄検出部１１１３、ネットワーク廃棄検出部１１４はＵｓｅｒＬａｎｄ１１１０に配置される。ネットワークインタフェース（図示していない）において受信したパケットは、ＮＩＣ１１３０、カーネル１１２０を通過してサンプリング部１１１２に到達する。
【００８８】
図１２は、本発明の実施例６に係るパケットサンプリング装置の処理内容を示す図である。
【００８９】
図１２において、１２０１はネットワークインタフェースに到着したパケット、１２０２はサンプリング部に到着したパケット、１２０３はサンプリング部において抽出したパケットのシーケンス番号である。１２１１は装置内廃棄検出部１１１３からネットワーク廃棄検出部１１１４への３パケット廃棄の通知、１２１２は同２パケット廃棄の通知である。
【００９０】
装置内廃棄検出部１１１３は、常時ＮＩＣ１１３０およびカーネル１１２０を監視し、パケット廃棄の有無を確認する。パケット廃棄が発生した場合は、即座にその事実をその廃棄パケット数ｉｎｎｅｒＤｒｏｐｐｅｄＰａｃｋｅｔｓとともにネットワーク廃棄検出部１１１４に通知する。
【００９１】
サンプリング部１１１２は、ネットワークインタフェースから受信したパケットから、予め設定した時間周期に、予め設定したｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ時間（第１の時間）だけパケット抽出を行い、残るｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ時間（第２の時間）はパケット抽出を行わない。これを各周期で行う。
【００９２】
例えば、図１２に示すように、｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ｝＝｛５００ｍｓ，５００ｍｓ｝の場合に、ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ時間（５００ｍｓ）だけパケット抽出を行い、残るｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ時間（５００ｍｓ）はパケット抽出を行わない。
【００９３】
サンプリング部１１１２で用いるパラメータ｛ｓａｍｐｌｉｎｇＴｉｍｅＩｎｔｅｒｖａｌ，ｓａｍｐｌｉｎｇＴｉｍｅＳｐａｃｅ｝は、あらかじめ当該装置のハードウェア、ソフトウェア等の性能を考慮して、決定することが望ましい。
【００９４】
ネットワーク廃棄検出部１１１４はサンプリング部１１１２において抽出したパケットのシーケンス番号１２０３を監視し、その抜けからネットワークでのパケット廃棄を検出し、その廃棄パケット数をカウントし、装置内廃棄検出部１１１３から装置内廃棄を通知されたときに抽出したパケットのシーケンス番号に抜けがある場合は、ネットワークでのパケット廃棄としては検出しない。ネットワーク廃棄検出部１１１４は、検出したネットワークでのパケット廃棄（パケットロス）に関する情報をエクスポート部１１１１に通知する。
【００９５】
図１２の例では、シーケンス番号１２０３が１００７の時に４パケット廃棄を検出するが、装置内廃棄検出部１１１３から３パケット廃棄の通知１２１１を通知されているため、ネットワークの廃棄は１パケットとして検出する。
【００９６】
エクスポート部１１１１は、ネットワーク廃棄検出部１１１４にて検出したパケット廃棄（パケットロス）に関する情報を、サンプリング部１１１２にて抽出したパケットに関する情報と関連付けて、ＮｅｔＦｌｏｗ、ｓＦＬｏｗ、ＩＰＦＩＸ等のプロトコルを用いて外部装置に通知する。
【００９７】
図１２の例では、エクスポート部１１１１はネットワーク廃棄パケット数＝１として外部装置に通知する。
【００９８】
以上説明したように、本実施例は、時間サンプリングを行うサンプリング装置において、ネットワークで発生した廃棄と装置内で発生した廃棄とを区別するものである。
【００９９】
本実施例により、例えば汎用ＰＣ上でトラヒック監視を実現する装置において、低コストでありながら、ネットワーク内のパケット流量やパケット廃棄などのネットワーク内のトラヒックの情報を正確に取得することができる。
【０１００】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【符号の説明】
【０１０１】
１１０、３１０、５１０、７１０、９１０、１１１０…ＵｓｅｒＬａｎｄ、１２０、３２０、５２０、７２０、９２０、１１２０…Ｋｅｒｎｅｌ、１３０、３３０、５３０、７３０、９３０、１１３０…ＮＩＣ、１１１、３１１、５１１、７１１、９１１、１１１１…エクスポート部、１１２、３１２、５１２、７１２、９１２、１１１２…サンプリング部、１１３、３１３、５１３、７１３、９１３、１１１３…は装置内廃棄検出部、１１１４…ネットワーク廃棄検出部、２０１、４０１、６０１、８０１、１００１、１２０１…ネットワークインタフェースに到着したパケット、２０２、４０２、６０２、８０２、１００２、１２０２…サンプリング部に到着したパケット、２０３、４０３、６０３、８０３…サンプリング部のカウンタ値、６０４、８０４…装置内廃棄の合算値、１２０３…シーケンス番号、２１１、４１１、８１１…装置内廃棄検出部からサンプリング部への３パケット廃棄の通知、２１２、４１２、８１２…同２パケット廃棄の通知、６１１…装置内廃棄検出部からエクスポート部への通知、６１２…同２パケット廃棄の通知、１０１１…装置内破棄検出からサンプリング部への３パケット廃棄時の通知、１０１２…同２パケット廃棄時の通知、１２１１…装置内破棄検出部からネットワーク廃棄検出部への３パケット廃棄の通知、１２１２…同２パケット廃棄の通知
【図１】
2011171797.tif 000003
【図２】
2011171797.tif 000004
【図３】
2011171797.tif 000005
【図４】
2011171797.tif 000006
【図５】
2011171797.tif 000007
【図６】
2011171797.tif 000008
【図７】
2011171797.tif 000009
【図８】
2011171797.tif 000010
【図９】
2011171797.tif 000011
【図１０】
2011171797.tif 000012
【図１１】
2011171797.tif 000013
【図１２】
2011171797.tif 000014