(57)【要約】【課題】  経路上で分割されたパケットにつき、全てのデータを蓄積、解析することなしに分割前のパケットの必要な情報のみ収集する。【解決手段】  パケット処理部４は、取り込まれたＩＰパケットを一時記憶装置に保持し、当該一時記憶装置から分割されたＩＰパケットを順次読み出してフレームの境界を検索し、分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置に格納する。パケット境界検索処理部４２は、既に読み出されたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、フレーム先頭のＩＰヘッダ情報から取得した当該フレームのＩＰパケット長との比較を行い、フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断する。【選択図】      図１
2005110037.tif 000002
【特許請求の範囲】
【請求項１】
経路上で分割されたＩＰパケットから、分割前におけるＩＰパケットのヘッダ情報を収集するパケット収集装置であって、
受信され、もしくは蓄積された前記ＩＰパケットを読み取り、解析に必要なＩＰパケットを取り込むパケット種別判定部と、
前記取り込まれたＩＰパケットを一時記憶装置に保持し、当該一時記憶装置から分割されたＩＰパケットを順次読み出してフレームの境界を検索し、前記分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置に格納するパケット処理部と、
を備えたことを特徴とするパケット収集装置。
【請求項２】
前記パケット処理部は、
前記フレームの先頭にあるＩＰヘッダ情報から当該フレームのＩＰパケット長を取得し、前記一時記憶装置から既に読み出されたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、前記取得したＩＰパケット長との比較を、前記分割されたＩＰパケット単位で逐次行い、前記フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断するパケット境界検索処理部、
を備えることを特徴とする請求項１に記載のパケット収集装置。
【請求項３】
前記パケット境界検索処理部は、
前記分割されたＩＰパケットの消失を検出したときに、全てのデータを蓄積しそのデータ列を再構築して解析するために線形走査処理部を起動し、当該線形走査処理部による全走査に切替えることを特徴とする請求項２に記載のパケット収集装置。
【請求項４】
経路上で分割されたＩＰパケットから、分割前におけるＩＰパケットのヘッダ情報を収集するパケット収集装置のためのパケット収集方法であって、
受信され、もしくは蓄積された前記ＩＰパケットを読み取り、解析に必要なＩＰパケットを取り込む工程と、
フレーム先頭のＩＰヘッダ情報から当該フレームのＩＰパケット長を取得する工程と、
既に読み取られたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、前記取得したＩＰパケット長との比較を、前記分割されたＩＰパケット単位で逐次行い、前記フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断する工程と、
前記フレーム境界から前記分割前におけるＩＰパケットのヘッダ情報を切り出し記憶装置に格納する工程と、
を有することを特徴とするパケット収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路上で分割されたＩＰパケットから、分割前におけるＩＰパケットのヘッダ情報を収集する、パケット収集装置およびその方法に関する。
【背景技術】
【０００２】
従来、バイトストリームに展開されたパケットの境界を検索し、元のパケットを復元する方法としては、パケット境界を逐次全走査（以下、線形走査という）して探す必要があった。
図５、図６に従来のパケット収集方法が示されている。図５に示す例では、ＰＰＰ（Point to Point Protocol）に基づきＡ−Ｂ間で交換されるＩＰパケットは、バイトストリーム化され（元パケット）、かつ、途中の経路Ｃ−Ｄ間で分割されカプセル化されている。ここで、ＧＲＥ（Generic Routing Encapsulation）等において、Ｃ−Ｄ間を伝播する分割パケットを収集した場合、元パケットの解析に必用なヘッダ情報を収集、蓄積するためには、図６の（ｃ）、（ｄ）、（ｅ）に示されるように、全ての分割パケットを収集し、データストリームを再構築し、パケット境界を１バイトずつ線形走査して解析（ＧＲＥパケット処理、ＰＰＰフレーム処理）する必要があった。そして、収集されたヘッダのみをディスク（記憶装置）に保存している。
【０００３】
一方、従来のトラヒックモニタ・アラナイザ技術としては、以下に列挙する２通りの方法があった。
（１）ネットワーク上のトラフィックを収集すると共に、収集したフレーム中の情報全てを蓄積する。そして、複数のパケットの収集及び蓄積が終了した時点で、各フレームの解析を行う。
（２）高速のハードウェアを用いることによって、パケットの収集と並行して、そのフレーム中の上位層までのプロトコル解析を行い、必要な情報を得る。
【０００４】
更に、ＬＡＮ（Local Area Network）のトラフィック量測定の為に、フレームの全情報は必要ではないことに着目し、フレーム長を抽出し、記憶していくようにしたものもある。これにより、安価にかつ簡単な構成でトラフィックの測定が出来るようにしている（例えば、特許文献１参照）。
また、同一端末間では同じアプリケーションによるパケットが収集されることに着目し、上位層のプロトコルを予測して解析を行うものもある（例えば、特許文献２参照）。
【特許文献１】特開平４−１８０４２３号公報
【特許文献２】特開平７−２３１３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら上記した従来技術によれば、すべての分割パケットを収集し、データストリームを再構築し、パケット境界を１バイトずつ線形走査する必要があった。また、特許文献１に開示された技術によれば、パケットをすべて一旦蓄積し、その後、解析する方法は大量の記憶容量を必要とし、長時間に渡る観測が困難である。また、大量記憶装置は記憶速度が遅いため、パケットの取りこぼしの発生が多い。更に、特許文献２に開示された技術によれば、データ収集と並行してデータストリームを再構築することが必要となり、これには大容量のメモリ装置と高速なハードウェアが必要となる。また、いずれの特許文献においても、分割されカプセル化されたパケットについてはその対応が考慮されていない。
【０００６】
本発明は上記事情に鑑みてなされたものであり、経路上で分割されたパケットにつき、全てのデータを蓄積、解析することなしに、かつ、記憶容量の節約、収集処理の負荷軽減、パケットの取りこぼしの減少をはかりながら、分割される前のパケットの必要な情報のみ収集可能な、パケット収集装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記した課題を解決するために本発明は、経路上で分割されたＩＰパケットから、分割前におけるＩＰパケットのヘッダ情報を収集するパケット収集装置であって、受信され、もしくは蓄積された前記ＩＰパケットを読み取り、解析に必要なＩＰパケットを取り込むパケット種別判定部と、前記取り込まれたＩＰパケットを一時記憶装置に保持し、当該一時記憶装置から分割されたＩＰパケットを順次読み出してフレームの境界を検索し、前記分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置に格納するパケット処理部と、を備えたことを特徴とする。
【０００８】
また、本発明において、前記パケット処理部は、前記フレーム先頭のＩＰヘッダ情報から当該フレームのＩＰパケット長を取得し、前記一時記憶装置から既に読み出されたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、前記取得したＩＰパケット長との比較を、前記分割されたＩＰパケット単位で逐次行い、前記フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断するパケット境界検索処理部、を備えることを特徴とする。
【０００９】
また、本発明において、前記パケット境界検索処理部は、前記分割されたＩＰパケットの消失を検出したときに、全てのデータを蓄積しそのデータ列を再構築して解析するために線形走査処理部を起動し、当該線形走査処理部による全走査に切替えることを特徴とする。
【００１０】
上記した課題を解決するために本発明は、経路上で分割されたＩＰパケットから、分割前におけるＩＰパケットのヘッダ情報を収集するパケット収集方法であって、受信され、もしくは蓄積された前記ＩＰパケットを読み取り、解析に必要なＩＰパケットを取り込む工程と、フレーム先頭のＩＰヘッダ情報から当該フレームのＩＰパケット長を取得する工程と、既に読み取られたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、前記取得したＩＰパケット長との比較を、前記分割されたＩＰパケット単位で逐次行い、前記フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断する工程と、前記フレーム境界から前記分割前におけるＩＰパケットのヘッダ情報を切り出し記憶装置に格納する工程と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、パケット処理部が、パケット種別判定部により取り込まれたＩＰパケットを一時記憶装置に保持し、当該一時記憶装置から分割されたＩＰパケットを順次読み出してフレームの境界を検索し、分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置に格納することで、経路上で分割されたパケットについてすべてのデータを蓄積、解析することなしに、分割される前のパケットについて必要な情報を取得することができる。
【００１２】
また、パケット処理部において、パケット境界検索処理部が、一時記憶装置から既に読み出されたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、パケット長取得部でフレーム先頭のＩＰヘッダ情報から取得した当該フレームのＩＰパケット長を取得するパケットとの比較を行い、フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断することで、記憶容量の節約、収集処理の負荷軽減、そして、パケットの取りこぼしの減少をはかりながら、分割される前のパケットの必要な情報のみ収集することができる。
更に、パケット境界検索処理部が、分割されたＩＰパケットの消失を検出したときに、全てのデータを蓄積しそのデータ列を再構築して解析するために線形走査処理部を起動して線形走査処理部による全走査に切替えることで、パケット収集のロスを最小限に抑えることができる。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明のパケット収集装置の内部構成を示すブロック図である。本発明のパケット収集装置は、ネットワーク（ＮＷ）データ受信部１と、記憶装置２と、パケット種別判定部３と、パケット処理部４と、一時記憶装置５と、記憶装置６で構成される。
ＮＷデータ受信部１は、ネットワークを伝播するＩＰパケットデータを受信してパケット種別判定装置３へ供給する。パケット種別判定装置３には、他にローカルに記憶装置２に蓄積されたＩＰパケットも供給される。パケット種別判定部３は、受信され、もしくは蓄積されたＩＰパケットを読み取り、解析に必要なＩＰパケットを取り込み、パケット処理部４へ供給する。
【００１４】
パケット処理部４は、取り込まれたＩＰパケットを一時記憶装置５に保持し、当該一時記憶装置５から分割されたＩＰパケットを順次読み出してフレームの境界を検索し、分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置６に格納する機能を持ち、脱カプセル化処理部４１と、パケット境界検索処理部４２と、線形走査処理部４３で構成される。
脱カプセル化処理部４１は、カプセル化されたセッション毎の情報を一時記憶装置５に保持し、その情報と共に、入手したＩＰパケットをパケット境界検出処理部４２に渡す。また、パケット境界検索処理部４２は、一時記憶装置５から既に読み出されたＩＰパケットのデータ長と現在処理している分割されたＩＰパケット長の和と、フレーム先頭のＩＰヘッダ情報から取得される当該フレームのＩＰパケット長との比較を行い、フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断する。そして、分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置６に格納する。
【００１５】
なお、パケット境界検索処理部４２は、分割されたＩＰパケットの消失を検出したときに、全てのデータを蓄積しそのデータ列を再構築して解析する線形走査処理部４３を起動して線形走査処理部４３による全走査に切替える制御も行う。
【００１６】
図２〜図４は、本発明実施形態の動作を説明するために引用した図であり、動作手順（図２）、本発明により付加される機能（図３）、動作概念（図４）のそれぞれを示す。なお、図２、図４において使用されるステップ番号は共通とする。
以下、図２〜図４を参照しながら、図１に示す本発明実施形態の動作について詳細に説明する。
【００１７】
本発明は上記したように、経路上で分割されたパケットについてすべてのデータを蓄積、解析することなく、分割される前のパケットの必要な情報を取得するために、バイトストリームに展開されたＩＰパケット列から元パケットの長さを取得し、既に読み込んだパケットのデータ長と、現在処理している分割パケット長とを比較することにより、パケット境界が処理中の分割パケット内に存在するか否かを判断し、分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置６に格納するものである。また、分割パケットのロス時に、線形走査に切替えることでパケット収集のロスを最小限に抑えるものである。
ここでは、図３に示されるように、収集したパケットのＩＰヘッダ（２）より各パケットのＩＰパケット長（２）を収集することができる。また、ＰＰＰフレーム内のＩＰパケットヘッダ（１）からＰＰＰレーム内のＩＰパケット長（１）が取得可能である。このことにより、パケット境界の位置を予測し、高速な検索を実現することができる。以下に詳細を説明する。
【００１８】
パケット処理部４は、まず、一時記憶装置５にテンポラリに保持された分割ＩＰパケットからフレーム開始記号を読み込んだ後（Ｓ２１）、パラメータ“ｌｅｎｇｔｈ”に０を、パラメータ“ＤＡＴＡ＿ＬＥＮＧＴＨ”に未処理データ長をそれぞれ設定する（Ｓ２２）。そして、フレーム先頭のＩＰヘッダからＩＰパケット長データ（ＩＰ＿ＬＥＮＧＴＨ）を取得する（Ｓ２３）。
次に、パケット境界検索処理部４２は、一時記憶装置５から既に読み出されたＩＰパケットのデータ長（ＤＡＴＡ＿ＬＥＮＧＴＨ）と、現在処理している分割されたＩＰパケット長（ｌｅｎｇｔｈ）の和と、取得したＩＰパケット長（ＩＰ＿ＬＥＮＧＴＨ）との比較を行い、フレーム境界が現在処理中の分割されたＩＰパケット内に存在するか否かを判断する（Ｓ２４）。
【００１９】
ここで、ＤＡＴＡ＿ＬＥＮＧＴＨ＋ｌｅｎｇｔｈ＜ＩＰパケット長の場合、ｌｅｎｇｔｈ＝ｌｅｎｇｔｈ＋ＤＡＴＡ＿ＬＥＮＧＴＨとして次のパケット処理へ進み（Ｓ２５）、ＤＡＴＡ＿ＬＥＮＧＴＨ＋ｌｅｎｇｔｈ≧ＩＰパケット長の場合、本パケットの、ＤＡＴＡ＿ＬＥＮＧＴＨ−ｌｅｎｇｔｈ位置からフレーム境界を検索してフレーム境界位置の予測を行う（Ｓ２６）。ここで、検索がヒットした場合は（Ｓ２８Ｙｅｓ）、分割前におけるＩＰパケットのヘッダ情報を切り出して記憶装置６に保持する（Ｓ２９）。
なお、脱カプセル化処理部４１による脱カプセル化処理によりパケットロスが判明した場合（Ｓ２７Ｙｅｓ）、上記したフレーム境界予測は不可能となるため、パケット境界検索処理部４２は、線形走査処理部４３を起動して線形走査処理部４３の全走査による線形走査処理を行う（Ｓ３０）。
【００２０】
以上説明のように本発明によれば、カプセル化後のパケット長とフレームのパケット長を用いることで、パケット境界が分割パケット内に存在するか否かを判断することが可能になり、全走査による線形走査を不要とした処理が可能になる。このため、従来、全てのパケットを収集後、解析するしかなかった分割カプセル化されたバイトストリームについて、必要な情報のみを収集することが可能になり、記憶容量の節約、収集処理の負担軽減、パケットの取りこぼし減少に貢献できる。
【図面の簡単な説明】
【００２１】
【図１】本発明のパケット収集装置の内部構成を示すブロック図である。
【図２】本発明実施形態の動作を説明するために引用したフローチャートである。
【図３】パケット境界位置を予測するために必要なパケット長取得のための操作原理を示す図である。
【図４】本発明実施形態の動作を説明するために引用した動作概念図である。
【図５】従来のパケット収集方法を説明するために引用した図である。
【図６】従来のパケット収集方法を説明するために引用した図である。
【符号の説明】
【００２２】
１…ＮＷデータ受信部、２…記憶装置、３…パケット種別判定部、４…パケット処理部、５…一時記憶装置、６…記憶装置、４１…脱カプセル化処理部、４２…パケット境界検索処理部、４３…線形走査処理部
【図１】
2005110037.tif 000003
【図２】
2005110037.tif 000004
【図３】
2005110037.tif 000005
【図４】
2005110037.tif 000006
【図５】
2005110037.tif 000007
【図６】
2005110037.tif 000008