[go: up one dir, main page]

JP4657529B2 - Packet information collection apparatus and method - Google Patents

Packet information collection apparatus and method Download PDF

Info

Publication number
JP4657529B2
JP4657529B2 JP2001270332A JP2001270332A JP4657529B2 JP 4657529 B2 JP4657529 B2 JP 4657529B2 JP 2001270332 A JP2001270332 A JP 2001270332A JP 2001270332 A JP2001270332 A JP 2001270332A JP 4657529 B2 JP4657529 B2 JP 4657529B2
Authority
JP
Japan
Prior art keywords
packet
information
buffer
descriptor
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001270332A
Other languages
Japanese (ja)
Other versions
JP2003087255A (en
Inventor
輝之 長谷川
智彦 大岸
亨 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2001270332A priority Critical patent/JP4657529B2/en
Publication of JP2003087255A publication Critical patent/JP2003087255A/en
Application granted granted Critical
Publication of JP4657529B2 publication Critical patent/JP4657529B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パケットを伝送する通信ネットワーク内のトラヒックを監視するネットワークモニタ装置等に用いて好適なパケット情報収集装置及びその方法に関する。
【0002】
【従来の技術】
パケットを伝送する通信ネットワークにおいては、ネットワークの保守・運用を円滑に行うために、ネットワーク管理者によりネットワークモニタ装置を利用してトラヒック状況を把握することがなされている。このネットワークモニタ装置は、通信ネットワーク内で伝送されるパケットに係るパケット情報(パケットの全情報、あるいはパケットに含まれるヘッダ情報等)を収集し、この収集したパケット情報に基づいてトラヒック状況を示す情報を生成する。
【0003】
このようなネットワークモニタ装置が、従来から、パーソナルコンピュータを用いて実現されている。例えば、パーソナルコンピュータ上で実行されるオペレーティングシステム(OS)固有の機能を利用してパケット情報を収集するものが知られている。これは、OSが有するBPF(Berkley Packet Filter)と呼ばれるパケット情報収集機能を利用するものである。
【0004】
BPFでは、アプリケーション(例えば、ネットワークモニタアプリケーション)毎に、パケット選別フィルタとバッファを用意する。そして、通信ネットワークと接続する通信ボード(通信インタフェース装置)を介してパケットが受信されると、パケット選別フィルタで選別されたパケットのパケット情報をバッファにコピーして蓄積する。次いで、バッファに蓄積された複数のパケット情報をアプリケーション部へ提供する。
【0005】
このように、ネットワークモニタ装置となるパーソナルコンピュータ(ホスト装置)において、OSおよびアプリケーションを実行するホストCPUが、パケット情報をホストメモリ内のバッファにコピーすることによって、従来のパケット情報収集装置が実現されている。
【0006】
【発明が解決しようとする課題】
しかし、上述した従来のパケット情報収集装置では、該装置を備えるホスト装置において、OSおよびアプリケーションを実行するホストCPUがパケット情報をホストメモリ内のバッファにコピーするので、ホストCPUにかかる負荷が大きく、この結果、パケット情報の収集に対応することができなくなる虞がある。
【0007】
また、パケット情報を収集するホスト装置とは異なる装置で、パケット情報を処理したいという要望がある。しかしながら、従来のパケット情報収集装置では、ホスト装置のOSが直にアプリケーション部へパケット情報を提供するので、他の装置ではパケット情報を処理することができないという問題もある。
【0008】
本発明は、このような事情を考慮してなされたもので、その目的は、通信ネットワークからパケットを受信してパケット情報を収集する際に、ホストCPUにかかる負荷を軽減することができるパケット情報収集装置及びその方法を提供することにある。また、本発明は、そのパケット情報収集装置をコンピュータを利用して実現するためのパケット情報収集プログラムを提供することも目的としている。
【0009】
また、本発明は、パケット情報を収集するホスト装置とは異なる装置へ、その収集したパケット情報を転送することができるパケット情報収集装置及びその方法を提供することも目的とする。また、本発明は、そのパケット情報収集装置をコンピュータを利用して実現するためのパケット情報収集プログラムを提供することも目的とする。
【0010】
【課題を解決するための手段】
上記の課題を解決するために、請求項1に記載のパケット情報収集装置は、通信ネットワークと接続された通信インタフェース装置を備え、前記通信インタフェース装置で受信されたパケット内の先頭に在るヘッダ情報を収集するパケット情報収集装置であって、前記通信インタフェース装置からアクセス可能なメモリ上に設けられたバッファと、前記メモリ上に設けられ、前記バッファ内の特定の記憶領域を示すバッファ情報記述子を記憶する記述子記憶手段と、前記バッファ情報記述子により前記パケットの格納先を指定する制御手段とを具備し、前記制御手段は、一つの前記バッファに対して複数の前記バッファ情報記述子を生成し、前記バッファ情報記述子は、前記バッファ内に前記パケットを書き込むときの先頭アドレスを有し、前記複数のバッファ情報記述子のそれぞれの前記先頭アドレスは、前記ヘッダ情報の大きさ又は前記ヘッダ情報に付加情報を加えた大きさだけ順次ずらしてあり、前記制御手段は、前記先頭アドレスの順番で前記複数のバッファ情報記述子を前記記述子記憶手段へ格納し、前記通信インタフェース装置は、パケットを受信する度に、前記記述子記憶手段からバッファ情報記述子を順次読み出し、DMA転送により、前記読み出したバッファ情報記述子の先頭アドレスから受信パケットを上書きする、ことを特徴としている。
【0013】
請求項に記載のパケット情報収集装置は、前記バッファに蓄積された前記ヘッダ情報を含む転送用パケットを生成する転送パケット生成手段を具備することを特徴とする。
【0014】
請求項5に記載のパケット情報収集装置は、前記転送パケット生成手段は、前記転送用パケットのヘッダ用テンプレートを予め保持することを特徴とする。
【0015】
請求項に記載のパケット情報収集装置は、予め設定された複数の転送先へ、前記転送用パケットにより前記ヘッダ情報を転送することを特徴とする。
【0017】
請求項に記載のパケット情報収集方法は、通信ネットワークと接続された通信インタフェース装置を備え、前記通信インタフェース装置で受信されたパケット内の先頭に在るヘッダ情報を収集するパケット情報収集装置におけるパケット情報収集方法であって、前記通信インタフェース装置からアクセス可能なメモリ上に設けられたバッファ内の特定の記憶領域を示すバッファ情報記述子を、一つの前記バッファに対して複数生成する過程を含み、前記バッファ情報記述子は、前記バッファ内に前記パケットを書き込むときの先頭アドレスを有し、前記複数のバッファ情報記述子のそれぞれの前記先頭アドレスは、前記ヘッダ情報の大きさ又は前記ヘッダ情報に付加情報を加えた大きさだけ順次ずらしてあり、前記先頭アドレスの順番で前記複数のバッファ情報記述子を記述子記憶手段へ格納する過程と、前記通信インタフェース装置が、パケットを受信する度に、前記記述子記憶手段からバッファ情報記述子を順次読み出し、DMA転送により、前記読み出したバッファ情報記述子の先頭アドレスから受信パケットを上書きする過程と、をさらに含むことを特徴としている。
【0020】
請求項に記載のパケット情報収集方法は、前記バッファに蓄積された前記ヘッダ情報を含む転送用パケットを生成する過程をさらに含むことを特徴とする。
【0021】
請求項に記載のパケット情報収集プログラムは、通信ネットワークと接続された通信インタフェース装置を備え、前記通信インタフェース装置で受信されたパケット内の先頭に在るヘッダ情報を収集するパケット情報収集装置におけるパケット情報収集処理を行うためのパケット情報収集プログラムであって、前記通信インタフェース装置からアクセス可能なメモリ上に設けられたバッファ内の特定の記憶領域を示すバッファ情報記述子を、一つの前記バッファに対して複数生成する処理をコンピュータに実行させるものであり、前記バッファ情報記述子は、前記バッファ内に前記パケットを書き込むときの先頭アドレスを有し、前記複数のバッファ情報記述子のそれぞれの前記先頭アドレスは、前記ヘッダ情報の大きさ又は前記ヘッダ情報に付加情報を加えた大きさだけ順次ずらしてあり、前記先頭アドレスの順番で前記複数のバッファ情報記述子を記述子記憶手段へ格納する処理と、前記通信インタフェース装置が、パケットを受信する度に、前記記述子記憶手段からバッファ情報記述子を順次読み出し、DMA転送により、前記読み出したバッファ情報記述子の先頭アドレスから受信パケットを上書きする処理と、をさらにコンピュータに実行させることを特徴としている。
【0024】
請求項に記載のパケット情報収集プログラムは、前記バッファに蓄積された前記ヘッダ情報を含む転送用パケットを生成する処理をさらにコンピュータに実行させることを特徴とする。
これらパケット情報収集プログラムにより、前述のパケット情報収集装置がコンピュータを利用して実現できるようになる。
【0025】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図1は、本発明の一実施形態によるパケット情報収集装置を用いた通信ネットワーク監視システムの構成例を示すブロック図である。この図1において、符号1はパケット情報収集機能を備えたホスト装置であって、本実施形態においてはこのホスト装置1がパケット情報収集装置として機能する。符号2はパケット41を伝送する通信ネットワークであって、この通信ネットワーク2はホスト装置1と接続されている。
【0026】
また、通信ネットワーク2は、モニタ対象の通信ネットワークである。ホスト装置1は、通信ネットワーク2内の光ファイバ31上を流れるパケット41を光分岐器32を介して取得し、そのパケット情報(パケットに含まれるヘッダ情報)を収集する。
【0027】
符号3は通信ネットワーク4を介してホスト装置1と接続されるリモートホスト装置である。ホスト装置1は、通信ネットワーク4を介して複数のリモートホスト装置3と接続することが可能である。
【0028】
ホスト装置1は、パーソナルコンピュータ等のコンピュータにより実現されるものであって、オペレーティングシステム(OS)やアプリケーション等のプログラムを実行する処理装置(ホストCPU)と、それらプログラムおよび各種データを記憶する記憶装置(ホストメモリ)と、通信インタフェース装置等の周辺ハードウェアなどから構成される。但し、図1に示すホスト装置1においては、便宜上、ホスト装置1が有する機能についてのブロック構成を示している。
【0029】
図1のホスト装置1は、OSの中核機能であるカーネル部と、各種アプリケーション機能からなるアプリケーション部と、外部との通信機能を司る通信インタフェース部とを有する。通信インタフェース部は、通信ネットワーク2に接続されて該通信ネットワーク2との間でパケットの授受を行う通信インタフェース装置(通信ボード)11と、通信ネットワーク4に接続されて該通信ネットワーク4との間でパケットの授受を行う通信ボード12とを備える。通信ボード11はダイレクトメモリアクセス(DMA)機能を有するDMA部25を備えている。このDMA部25により、通信ボード11とホストメモリの間で、ホストCPUを介さずにデータ転送が可能である。また、通信ボード11は、通信ネットワーク2内の構成に応じて複数が具備される。
【0030】
カーネル部は、通信ボード11の駆動制御用のデバイスドライバ部13と、通信ボード12の駆動制御用のデバイスドライバ部14と、UDP(User Datagram Protocol)およびIP(Internet Protocol)に基づいたパケット処理を行うUDP/IP部16と、アプリケーション部とのインタフェース機能を有するソケット部17とを備える。
【0031】
デバイスドライバ部13は、通信ボード11で受信されたパケット41のヘッダ情報を収集するパケット情報収集部15を備えている。このパケット情報収集部15は、ヘッダ情報の収集動作を制御する制御部21と、ヘッダ情報を蓄積するバッファ部22と、バッファ部22におけるヘッダ情報の蓄積先アドレス等を格納するBDキュー部23と、バッファ部22に蓄積されたヘッダ情報群である抽出ヘッダ群42をアプリケーション部あるいはリモートホスト装置3へ転送するために、該抽出ヘッダ群42を含む抽出ヘッダ転送パケット43を生成する転送パケット生成部24とから構成される。バッファ部22およびBDキュー部23は、通信ボード11からアクセス可能なホストメモリ上に設けられている。
【0032】
アプリケーション部は、ネットワークモニタアプリケーション18を備える。
このネットワークモニタアプリケーション18により、ホスト装置1は、ネットワークモニタ装置としても機能する。ネットワークモニタアプリケーション18は、パケット情報収集部15から取得した抽出ヘッダ群42に基づいて、通信ネットワーク2のトラヒック状況を示す情報を生成する。
【0033】
なお、上記ホスト装置1においては、通信ボード11とパケット情報収集部15が本実施形態のパケット情報収集装置に対応する。また、BDキュー部23が記述子記憶手段に対応する。
【0034】
また、リモートホスト装置3は、ホスト装置1と同様の構成であるが、パケット情報収集機能については具備せず、ホスト装置1から転送された抽出ヘッダ群42に基づいて、通信ネットワーク2のトラヒック状況を示す情報を生成する。
【0035】
次に、図1のホスト装置1がパケット情報を収集する動作を説明する。初めに、本実施形態のパケット情報収集処理の概要を説明する。ホスト装置1において、DMA部25は、通信ネットワーク2と接続された通信ボード11で受信されたパケット41をホストメモリ上のバッファ部22の1つのバッファへ書き込む。この書き込みはホストCPUを介さずに行われる。そして、その書き込みの際に、バッファ部22内の1つのバッファ上で、パケット41の非ヘッダ部分の書き込み済み領域については他のパケット41のヘッダ部分を上書きすることにより、複数のパケット41のヘッダ部分のみを順次蓄積していく。これにより、1つのバッファ上において、複数のパケットのヘッダ情報が抽出されることになる。
【0036】
以下、図2〜図4を参照して、通信ネットワーク2から受信されたパケット41をバッファ部22のバッファに書き込む処理について説明する。図2は、図1に示すBDキュー部23の構成を示すブロック図である。この図2に示すように、BDキュー部23は、バッファ情報記述子(BD;Buffer Descriptor)を保持するための未使用BDキュー51と使用済BDキュー52を有している。バッファ情報記述子(BD)は、バッファ部22内の特定のバッファについての物理アドレス(Baddr)や長さ情報(Blen)等の管理情報を保持するものである。したがって、バッファ情報記述子(BD)は、自己に記述された物理アドレス(Baddr)によって示されるメモリ領域を含むバッファに関連付けられたものとなる。
【0037】
未使用BDキュー51は、未使用のバッファ情報記述子(BD)を保持するものである。未使用のバッファ情報記述子(BD)とは、該バッファ情報記述子(BD)の物理アドレス(Baddr)が示すバッファ内メモリ領域に、ヘッダ情報が未書き込みであるものを指す。使用済BDキュー52は、使用済みのバッファ情報記述子(BD)を保持するものである。使用済みのバッファ情報記述子(BD)とは、該バッファ情報記述子(BD)の物理アドレス(Baddr)が示すバッファ内メモリ領域に、ヘッダ情報が書き込み済みであるものを指す。これらキュー51,52は、FIFO(先入れ先だし)方式のバッファにより構成される。
【0038】
初めに、パケット情報収集部15の制御部21は、予め、ホストメモリ上の連続的なメモリ領域をバッファ部22の1つのバッファの使用領域として割当て、このバッファを複数用意する。また、制御部21は、各バッファについての物理アドレス(Baddr)や長さ情報(Blen)等の管理情報を記述したバッファ情報記述子(BD)を作成して未使用BDキュー51へ書き込む。なお、各キュー51,52およびバッファは、通信ボード11からアクセス可能なホストメモリ上のメモリ領域に設けられる。
【0039】
通信ボード11は、通信ネットワーク2からパケット41を受信すると、未使用BDキュー51からバッファ情報記述子(BD)を読み出す。次いで、DMA部25が、この読み出したバッファ情報記述子(BD)の物理アドレス(Baddr)に従って、該バッファ情報記述子(BD)に関連づけられているバッファに、受信パケットをDMA転送して書き込む。この受信パケットの書き込みが完了すると、通信ボード11は、該使用したバッファ情報記述子(BD)を使用済BDキュー52へ書き込む。
【0040】
また、通信ボード11は、適宜、受信割り込みを発生し、制御部21に対してパケット受信処理を行うように促す。制御部21は、この受信割り込みを受け取ると、使用済BDキュー52からバッファ情報記述子(BD)を読み出して、このバッファ情報記述子(BD)に関連付けられているバッファに格納済みのヘッダ情報を、ネットワークモニタアプリケーション18あるいはリモートホスト装置3へ提供するための転送処理を行うか否かを判断する。制御部21は、1バッファ分の書き込みが完了していた場合に、該転送処理を実行する。
【0041】
なお、上述した実施形態においては、FIFO方式のバッファにより、未使用BDキュー51および使用済BDキュー52を構成するようにしたが、図6に示すように、バッファ情報記述子(BD)を連結したChained BD Queue Structureと呼ばれるデータ転送インタフェースを用いるようにしてもよい。この方式は、未使用BDキューと使用済BDキューをマージし、バッファ情報記述子(BD)が未使用のものであるか、あるいは使用済みのものであるかを識別するためのフラグ(Own)を、バッファ情報記述子(BD)内に設けたものである。
【0042】
次に、図3、図4を参照して、バッファ部22内の1つのバッファ上に、複数のパケット41のヘッダ部分のみを抽出する処理を説明する。図3は、バッファ部22内のバッファ61におけるメモリ領域の構成を示す図である。図4は、バッファ61上に複数のパケット41のパケット情報(ヘッダ)を抽出する処理を説明するための図である。
【0043】
先ず、制御部21は、バッファ部22の各バッファ61についてのバッファ情報記述子(BD)を生成する際、各バッファ61に対して、複数のバッファ情報記述子(BD_i;iは1≦i≦mを満たす整数)を生成する。ここで、制御部21は、各バッファ情報記述子(BDi)の物理アドレス(Baddr_i)を(1),(2)式に従って設定する。
【0044】
Baddr_1=Baddr_start+HLEN+CLEN ・・・(1)
Baddr_i=Baddr_(i-1)+NLEN+CLEN ・・・(2)
但し、(2)式においては、iは2以上の整数である。Baddr_startはバッファ61の先頭の物理アドレスである。また、HLENは抽出したヘッダ情報群(抽出ヘッダ群42)を、ネットワークモニタアプリケーション18あるいはリモートホスト装置3へ転送するために付加する転送用ヘッダの長さである。CLENはパケット41から抽出したヘッダに対して個々に付加する制御情報の長さである。NLENはパケット41から抽出するヘッダの長さである。
【0045】
また、制御部21は、長さ情報(Blen)に、通信ネットワーク2から受信するパケット41の最大長に合わせた固定長を設定する。例えば、通信ネットワーク2にイーサネット(登録商標)を用いた場合には、4バイトのCRCを除いた1514バイト以上の値に長さ情報(Blen)を設定する。
【0046】
上記のようにして生成されたバッファ情報記述子(BD_1〜m)に関連付けられたバッファ61は、図3に示すような構成となる。図3において、バッファ61は先頭アドレス(Baddr_start)から位置する転送用ヘッダ格納領域Hと、制御情報格納領域Cと、物理アドレス(Baddr_1〜m)から位置する領域1〜mとから構成される。また、領域1〜mはパケット41から抽出したヘッダのヘッダ格納領域Aと制御情報格納領域Cとからなる。
【0047】
次いで、制御部21は、それら生成したバッファ情報記述子(BD_1〜m)を、バッファ情報記述子(BD_1)からバッファ情報記述子(BD_m)の順に未使用BDキュー51へ書き込む。次いで、通信ボード11はパケット41を受信する度に、未使用BDキュー51から順次、バッファ情報記述子(BD_1〜m)を読み出し、DMA転送により、図4に示すように、該物理アドレス(Baddr_1〜m)の位置から受信パケットをバッファ61へ順次、上書きしながら書き込んでいく。この結果、バッファ61内の各領域1〜mのヘッダ格納領域Aには、受信パケットのヘッダA1〜Amがそれぞれ書き込まれることになる。これにより、バッファ部22内の1つのバッファ上に、m個のパケット41のヘッダ部分のみが抽出される。
【0048】
次いで、制御部21は、各ヘッダA1〜Amの制御情報を各々の制御情報格納領域Cに設定する。また、m個のパケット41の書き込みが完了し、m個のヘッダが抽出されると、抽出ヘッダ群42をネットワークモニタアプリケーション18あるいはリモートホスト装置3へ提供するための転送処理を行う。この転送処理については後述する。
【0049】
このように、通信ボード11のDMA機能により、通信ネットワーク2から受信したパケットを、ヘッダ部分を残して順次、バッファに上書きするようにしたので、ヘッダ抽出に伴うメモリコピー等によるホストCPUへの負荷を無くすことができる。この結果、パケット情報(ヘッダ情報)を収集する際に、ホストCPUにかかる負荷を軽減することができるという効果が得られる。
【0050】
なお、制御部21は、バッファ61を用意する際、(3)式を満たすようにバッファ61の長さ(Bsizereal)を設定する。
Bsizereal ≧ m×(N+C)+H+Blen ・・・(3)
これにより、m個目のパケット41のヘッダAmをバッファ61に蓄積する際にも、受信パケット全体を書き込むことができるように、バッファ61の長さが設定されることになる。
【0051】
また、制御部21には予めmの値が設定されるが、このmの値が大きい程、多くの抽出ヘッダ情報を一括して提供することが可能となるので、抽出ヘッダ群42を転送する際のオーバーヘッドを低減するためには大きな値をmに設定することが望ましい。その一方で、抽出ヘッダ情報はIPに基づいて転送されるが、このためにIPの最大パケットサイズ(MTU size;Maximum Transfer Unit size)に、mの値が制限される可能性がある。これに対処するために、抽出ヘッダ群42の転送に使用するフレームには、ジャンボフレーム(9000バイトのMTU size)などの大きなフレームサイズのものを用いることが望ましい。
【0052】
次に、図5を参照して、バッファ61に蓄積された抽出ヘッダ群42をネットワークモニタアプリケーション18あるいはリモートホスト装置3へ転送する処理について説明する。
パケット情報収集部15の転送パケット生成部24は、バッファ61の転送用ヘッダ格納領域Hに、転送先に応じた転送用ヘッダ情報を付加して、この転送用ヘッダ情報と抽出ヘッダ群42からなる抽出ヘッダ転送パケット43を生成する。
【0053】
そこで、図5に示すような転送用ヘッダ情報のテンプレートを予め作成し、転送パケット生成部24へ設定しておく。また、この図5に示す転送用ヘッダ情報は、下位レイヤヘッダとIPヘッダとUDPヘッダとから構成されており、その下位レイヤヘッダは、例としてイーサネット(登録商標)用の内容となっている。なお、ここでいう下位レイヤとは、IPより下位に位置するデータリンクレイヤのことを指す。
【0054】
なお、発着双方のUDPポート番号(Src UDP port,Dst UDP port)は、予め利用者により、全ての宛先で共通な値に設定される。また、発着双方のIPアドレス(Src IP Address,Dst IP Address)は、予め利用者により、発アドレスについては全ての宛先で共通な値が設定されるが、着アドレスについては全ての宛先で共通な値か、あるいは複数の値が設定される。また、IPパケットサイズ(Total Length)も予め利用者により設定される。
【0055】
転送パケット生成部24は、転送用ヘッダ情報のテンプレートを着IPアドレス(Dst IP Address)毎に作成する。個々のテンプレートについては、殆ど全ての情報が固定値となるため、予め所定値を設定する。以下、固定値とはならない情報の設定方法を説明する。
【0056】
IP用Identification(ID;Identification)については、転送パケット毎に異なる値を設定する。また、IDの更新に伴い、IP用Checksumも更新する。この手順としては、先ず、転送パケット毎にIDを1増やす。次いで、IP用Checksumを1減らす。ただし、16進数0x0001から1減じた場合には、16進数0xFFFFとする。
これにより、IPヘッダ全体にわたってIP用Checksumの再計算を実行する必要がなくなる。
【0057】
UDP用Checksumについては、0に固定し、転送パケット全体の検証を未実施とする。その代わりに、自ホスト装置1と転送先となるリモートホスト装置3が、データリンクレイヤについての同一セグメント上にある場合には、データリンクレイヤにより提供される誤り検出機能を利用して、抽出ヘッダ群42転送時の正常性を検証する。但し、転送先が自ホスト装置1である場合には、抽出ヘッダ群42転送時の正常性検証は不要である。これにより、UDP用Checksumの生成および検証にかかるオーバヘッドが無くなる。
【0058】
しかしながら、転送先となるリモートホスト装置3が自ホスト装置1とは異なるセグメント上にある等、UDP用Checksum検証が必要な場合は、通信ボード11に通常具備されているUDP用Checksum生成・検証機能を利用して、抽出ヘッダ群42転送時の正常性検証を行う。
【0059】
転送パケット生成部24は、転送パケットの生成時に、順次、ラウンドロビン方式でテンプレートを選択し、この選択したテンプレートをバッファ61の転送用ヘッダ格納領域Hにコピーして、転送用ヘッダ情報と抽出ヘッダ群42からなる抽出ヘッダ転送パケット43を生成する。次いで、この生成した抽出ヘッダ転送パケット43をUDP/IP部16の入力キューに登録する。これにより、UDP/IP部16が該登録済みの抽出ヘッダ転送パケット43を、その着IPアドレス(Dst IP Address)に従って転送処理する。
【0060】
なお、着IPアドレスが自ホスト装置1のものであった場合には、着UDPポート番号(Dst UDP port)に従って、自ホスト装置1のアプリケーション部に具備されている所定のアプリケーション(例えば、ネットワークモニタアプリケーション18)へ、該登録済みの抽出ヘッダ転送パケット43に含まれる抽出ヘッダ群42を提供する。
【0061】
また、抽出ヘッダ転送パケット43をリモートホスト装置3へ送信するためには、送信先のデータリンクレイヤについてのリモートホスト装置3を示すデータリンクレイヤ対応アドレス(例えば、MAC address)と着IPアドレスとを関連付ける必要がある。このために、一般的にはARP(Address Resolution Protocol) に従ったアドレス解決手順が使用される。
【0062】
しかし、このアドレス解決手順を用いると、該手順が終了するまでパケットを送信することができないので、送信待ちの抽出ヘッダ転送パケット43が増加し、この結果、未転送のまま抽出ヘッダ転送パケット43が紛失するという事態が生じる場合もある。そこで、本実施形態においては、データリンクレイヤ対応アドレスと着IPアドレスとを関連付けて記録したアドレステーブル(ARP table)を予めUDP/IP部16へ設定し、アドレス解決手順を省略することができるようにする。
【0063】
また、図1に示すパケット情報収集部15の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラム(パケット情報収集プログラム)をコンピュータシステムに読み込ませ、実行することによりパケット情報収集処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
【0064】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0065】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0066】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
このパケット情報収集プログラムにより、上述したパケット情報収集装置がパーソナルコンピュータ等のコンピュータを利用して実現できるようになる。
【0067】
次に、上記パケット情報収集プログラムにより、パーソナルコンピュータを利用してパケット情報収集装置を実現し、このパケット情報収集装置を用いた通信ネットワーク監視システムの実施例を説明する。図7に、その通信ネットワーク監視システムの構成を示す。また、図8に、図7に示す通信ネットワーク監視システムのハードウェア構成を示す。図7に示す通信ネットワーク監視システムにおいては、ホスト装置(PC1)がパケット情報収集装置に対応する。具体的には、SUPERMICRO社製のパーソナルコンピュータ(PC1)で本実施形態のパケット情報収集プログラムを実行することによって、図1のデバイスドライバ部13のパケット情報収集部15の機能が実現されている。
【0068】
また、ホスト装置(PC1)は、ファイルシステム(FS1)と接続されており、このファイルシステム(FS1)がホスト装置(PC1)の記憶装置(メインメモリ)に対応する。ファイルシステム(FS1)上に、図1のバッファ部22およびBDキュー部23が設けられる。
【0069】
また、ホスト装置(PC1)は、DMA機能を有する通信ボード(NIC1)を備えている。この通信ボード(NIC1)がヘッダ抽出用の図1の通信ボード11に対応する。この通信ボード(NIC1)は、モニタ対象の通信ネットワーク上を流れるパケットを取得し、この取得したパケットをファイルシステム(FS1)上のバッファへDMA転送して書き込む。なお、モニタ対象の通信ネットワーク上を流れるパケットは、トラヒックテスタによって発生させたものである。
【0070】
また、ホスト装置(PC1)は、抽出ヘッダ転送パケットをリモートホスト装置(PC2)へ転送するために、ヘッダ転送用の通信ボード(NIC2)も備える。この通信ボード(NIC2)は、リモートホスト装置(PC2)の通信ボード(NIC2)と接続されている。
【0071】
上記図7の通信ネットワーク監視システムにおいて、本実施形態のヘッダ抽出方式を用いてヘッダを収集する場合と、従来のヘッダ抽出方式を用いてヘッダを収集する場合とで、それらのパケット情報収集に係る性能を比較評価するために、ヘッダ収集の実験を行った結果を図10、図11に示す。図10は、性能評価のための一指標として、実験結果から求めたヘッダ取得率を示すグラフである。また、図11は、同様に、実験結果から求めたPC1のCPU負荷を示すグラフである。また、図9に、この実験の動作環境条件を示す。図9に示す条件1,2が本実施形態のヘッダ抽出方式に対応し、条件3〜6が従来のヘッダ抽出方式に対応する。
【0072】
実験においては、条件1〜6のいずれの動作環境においても、市販のIP用のトラヒックテスタを使用して、64バイトから1518バイト(CRC含む)までのイーサネットフレームを、ギガビットイーサネットのフルレートでモニタ対象の通信ネットワークへ送信し、PC1またはPC2でパケットヘッダをファイルに蓄積するようにした。なお、条件1は、ホスト装置(PC1)で収集したヘッダ情報を抽出転送パケットでリモートホスト装置(PC2)へ転送し、このリモートホスト装置(PC2)がパケットヘッダをファイルに蓄積する場合のものとなっている。また、条件2〜6は、ホスト装置(PC1)がパケットヘッダをファイルに蓄積する場合のものである。
【0073】
これらの実験の結果、図10に示すように、本実施形態のヘッダ抽出方式により、ヘッダ取得率が2倍以上に向上するという効果が認められた。また、図11に示すように、CPUU負荷は、1/2以下に軽減されるという効果が認められた。
【0074】
このように、本実施形態によれば、DMA転送により、バッファ情報記述子で指定されたバッファ内の記憶領域へパケットを書き込むようにしたので、ホストCPUが自らパケット情報をホストメモリ内のバッファにコピーする必要は無くなる。この結果、通信ネットワークからパケットを受信してパケット情報を収集する際に、ホストCPUにかかる負荷を軽減することができるという効果が得られる。
【0075】
さらに、バッファに蓄積されたパケット情報を含む転送用パケットを生成するようにしたので、パケット情報を収集するホスト装置とは異なる装置へ、その収集したパケット情報を転送することができる。これにより、パケット情報収集をネットワークモニタに係る他の機能(解析機能など)を実現する装置とは別の独立した装置で行うことが可能となる。また、転送用パケットにより複数の装置へパケット情報を提供することができる。
これらにより、ネットワークモニタ機能を実現する際に、その処理の負荷分散を図ることができるようになる。
【0076】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0077】
【発明の効果】
以上説明したように、本発明によれば、通信インタフェース装置からアクセス可能なメモリ上にバッファを設け、このバッファ内の特定の記憶領域であるパケットの格納先を指定するバッファ情報記述子を作成し、通信インタフェース装置が、DMA転送により、該バッファ情報記述子で指定されたバッファ内の記憶領域へ、パケットを書き込むようにしたので、ホストCPUが自らパケット情報をホストメモリ内のバッファにコピーする必要は無くなる。これにより、通信ネットワークからパケットを受信してパケット情報を収集する際に、ホストCPUにかかる負荷を軽減することができるという効果が得られる。
【0078】
さらに、記憶領域の大きさを、パケット情報の大きさ、またはパケット情報に付加情報を加えた大きさに設定するようにすれば、バッファサイズを小さくすることが可能となり、メモリ容量を削減することができるという効果が得られる。
【0079】
また、バッファ内の連続した記憶領域をそれぞれ示すバッファ情報記述子を、順序付けておくようにすれば、連続した記憶領域上に複数のパケット情報を蓄積することができるので、それら蓄積されたパケット情報群を一括して、効率的に処理(転送処理など)することが可能となる。この結果、ホストCPUにかかる負荷をさらに軽減することができるという効果が得られる。
【0080】
また、バッファに蓄積されたパケット情報を含む転送用パケットを生成するようにすれば、パケット情報を収集するホスト装置とは異なる装置へ、その収集したパケット情報を転送することができる。これにより、パケット情報収集をネットワークモニタに係る他の機能(解析機能など)を実現する装置とは別の独立した装置で行うことが可能となる。また、転送用パケットにより複数の装置へパケット情報を提供することができる。これらにより、ネットワークモニタ機能を実現する際に、その処理の負荷分散を図ることができるという効果が得られる。
【0081】
また、転送用パケットのヘッダ用テンプレートを予め保持するようにすれば、転送用パケット生成処理にかかるホストCPUの負荷を軽減することが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるパケット情報収集装置を用いた通信ネットワーク監視システムの構成例を示すブロック図である。
【図2】 図1に示すBDキュー部23の構成を示すブロック図である。
【図3】 バッファ部22内のバッファ61におけるメモリ領域の構成を示す図である。
【図4】 バッファ61上に複数のパケット41のパケット情報(ヘッダ)を抽出する処理を説明するための図である。
【図5】 抽出ヘッダ転送パケットを生成する処理を説明するための図である。
【図6】 図1に示すBDキュー部23の他の構成を示すブロック図である。
【図7】 本発明の一実施形態によるパケット情報収集装置を用いた通信ネットワーク監視システムの実施例を示すブロック図である。
【図8】 図7に示す通信ネットワーク監視システムのハードウェア構成を示す表である。
【図9】 図7に示す通信ネットワーク監視システムの性能評価実験の動作環境条件を示す表である。
【図10】 性能評価実験の結果から求めたヘッダ取得率を示すグラフである。
【図11】 性能評価実験の結果から求めた図7のPC1のCPU負荷を示すグラフである。
【符号の説明】
1…ホスト装置、2,4…通信ネットワーク、3…リモートホスト装置、11,12…通信ボード、13,14…デバイスドライバ部、15…パケット情報収集部、16…UDP/IP部、17…ソケット部、18…ネットワークモニタアプリケーション、21…制御部、22…バッファ部、23…BDキュー部、24…転送パケット生成部、25…DMA部、41…パケット、42…抽出ヘッダ群、43…抽出ヘッダ転送パケット。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet information collection apparatus and method suitable for use in a network monitor apparatus or the like that monitors traffic in a communication network that transmits packets.
[0002]
[Prior art]
In a communication network for transmitting packets, a network administrator uses a network monitor device to grasp a traffic situation in order to smoothly maintain and operate the network. This network monitoring device collects packet information (all packet information or header information included in the packet) related to a packet transmitted in a communication network, and indicates traffic status based on the collected packet information Is generated.
[0003]
Such a network monitor device has been conventionally realized using a personal computer. For example, there is known one that collects packet information using a function specific to an operating system (OS) executed on a personal computer. This uses a packet information collection function called BPF (Berkley Packet Filter) that the OS has.
[0004]
In BPF, a packet selection filter and a buffer are prepared for each application (for example, a network monitor application). When a packet is received via a communication board (communication interface device) connected to the communication network, the packet information of the packet selected by the packet selection filter is copied and stored in a buffer. Next, a plurality of pieces of packet information stored in the buffer are provided to the application unit.
[0005]
As described above, in the personal computer (host device) serving as the network monitor device, the host CPU that executes the OS and the application copies the packet information to the buffer in the host memory, thereby realizing the conventional packet information collection device. ing.
[0006]
[Problems to be solved by the invention]
However, in the conventional packet information collection device described above, in the host device equipped with the device, the host CPU that executes the OS and application copies the packet information to the buffer in the host memory, so the load on the host CPU is large, As a result, there is a possibility that the collection of packet information cannot be handled.
[0007]
There is also a desire to process packet information with a device different from the host device that collects packet information. However, in the conventional packet information collection device, since the OS of the host device directly provides the packet information to the application unit, there is a problem that other devices cannot process the packet information.
[0008]
The present invention has been made in view of such circumstances, and its object is to receive packet information from a communication network and collect packet information, which can reduce the load on the host CPU. It is to provide a collecting apparatus and a method thereof. Another object of the present invention is to provide a packet information collection program for realizing the packet information collection apparatus using a computer.
[0009]
Another object of the present invention is to provide a packet information collection apparatus and method that can transfer the collected packet information to an apparatus different from the host apparatus that collects the packet information. Another object of the present invention is to provide a packet information collection program for realizing the packet information collection apparatus using a computer.
[0010]
[Means for Solving the Problems]
In order to solve the above problem, the packet information collection device according to claim 1 includes a communication interface device connected to a communication network, and the packet received by the communication interface device. Header at the beginning of A packet information collection device for collecting information, a buffer provided on a memory accessible from the communication interface device, and a buffer information descriptor provided on the memory and indicating a specific storage area in the buffer Descriptor storage means for storing the data, and control means for designating the storage destination of the packet by the buffer information descriptor, The control means generates a plurality of the buffer information descriptors for one of the buffers, and the buffer information descriptor has a head address when writing the packet in the buffer, and the plurality of buffer information descriptors The start address of each information descriptor is sequentially shifted by the size of the header information or the size of the header information plus additional information, and the control means includes the plurality of buffers in the order of the start address. Storing an information descriptor in the descriptor storage means; Communication interface device Each time a packet is received, the buffer information descriptor is sequentially read from the descriptor storage means, By DMA transfer, Overwrite the received packet from the head address of the read buffer information descriptor, It is characterized by that.
[0013]
Claim 2 The packet information collection device according to claim 1, wherein the buffer stored in the buffer is header A transfer packet generating means for generating a transfer packet including information is provided.
[0014]
According to a fifth aspect of the present invention, there is provided the packet information collection device, wherein the transfer packet generation means holds in advance a header template for the transfer packet.
[0015]
Claim 4 The packet information collection device according to claim 1, wherein the transfer packet is transmitted to a plurality of preset transfer destinations. header It is characterized by transferring information.
[0017]
Claim 5 The packet information collection method according to claim 1, comprising a communication interface device connected to a communication network, and a packet received by the communication interface device. Header at the beginning of A packet information collecting method in a packet information collecting apparatus for collecting information, wherein a specific storage area in a buffer provided on a memory accessible from the communication interface apparatus Indicate Buffer information descriptor Generating a plurality of the buffer information descriptors for one of the buffers, the buffer information descriptor having a start address when writing the packet into the buffer, and each of the plurality of buffer information descriptors The start address is sequentially shifted by the size of the header information or the size of the header information plus additional information, and the plurality of buffer information descriptors are stored in the descriptor storage means in the order of the start address. When, The communication interface device Each time a packet is received, buffer information descriptors are sequentially read from the descriptor storage means, By DMA transfer, Overwrite the received packet from the start address of the read buffer information descriptor Process and further It is characterized by including.
[0020]
Claim 6 The packet information collection method according to claim 4, wherein the buffer stored in the buffer is header The method further includes a step of generating a transfer packet including information.
[0021]
Claim 7 The packet information collection program according to claim 1, comprising a communication interface device connected to a communication network, the packet received by the communication interface device Header at the beginning of A packet information collection program for performing packet information collection processing in a packet information collection apparatus that collects information, a specific storage area in a buffer provided on a memory accessible from the communication interface apparatus Indicate Buffer information descriptor Are generated for a single buffer, and the buffer information descriptor has a head address for writing the packet into the buffer, and the buffer information The start addresses of the descriptors are sequentially shifted by the size of the header information or the size of the header information plus additional information, and the plurality of buffer information descriptors are described in the order of the start addresses. Processing to store in the storage means; The communication interface device Each time a packet is received, buffer information descriptors are sequentially read from the descriptor storage means, By DMA transfer, Overwrite the received packet from the start address of the read buffer information descriptor Processing and further It is characterized by being executed by a computer.
[0024]
Claim 8 The packet information collection program described in the above is stored in the buffer. header A process for generating a transfer packet including information is further executed by a computer.
These packet information collection programs enable the above-described packet information collection apparatus to be realized using a computer.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration example of a communication network monitoring system using a packet information collection device according to an embodiment of the present invention. In FIG. 1, reference numeral 1 denotes a host device having a packet information collection function. In this embodiment, the host device 1 functions as a packet information collection device. Reference numeral 2 denotes a communication network that transmits the packet 41, and the communication network 2 is connected to the host device 1.
[0026]
The communication network 2 is a communication network to be monitored. The host device 1 acquires the packet 41 flowing on the optical fiber 31 in the communication network 2 via the optical branching device 32, and collects the packet information (header information included in the packet).
[0027]
Reference numeral 3 denotes a remote host device connected to the host device 1 via the communication network 4. The host device 1 can be connected to a plurality of remote host devices 3 via the communication network 4.
[0028]
The host device 1 is realized by a computer such as a personal computer, and includes a processing device (host CPU) that executes programs such as an operating system (OS) and applications, and a storage device that stores these programs and various data. (Host memory) and peripheral hardware such as a communication interface device. However, in the host device 1 shown in FIG. 1, for the sake of convenience, a block configuration of functions that the host device 1 has is shown.
[0029]
The host device 1 shown in FIG. 1 includes a kernel unit that is a core function of the OS, an application unit that includes various application functions, and a communication interface unit that manages external communication functions. The communication interface unit is connected to the communication network 2 and exchanges packets with the communication network 2. The communication interface unit (communication board) 11 is connected to the communication network 4 and communicates with the communication network 4. And a communication board 12 for sending and receiving packets. The communication board 11 includes a DMA unit 25 having a direct memory access (DMA) function. The DMA unit 25 can transfer data between the communication board 11 and the host memory without going through the host CPU. A plurality of communication boards 11 are provided according to the configuration in the communication network 2.
[0030]
The kernel unit performs packet processing based on a device driver unit 13 for driving control of the communication board 11, a device driver unit 14 for driving control of the communication board 12, and UDP (User Datagram Protocol) and IP (Internet Protocol). A UDP / IP unit 16 to perform and a socket unit 17 having an interface function with the application unit are provided.
[0031]
The device driver unit 13 includes a packet information collection unit 15 that collects header information of the packet 41 received by the communication board 11. The packet information collection unit 15 includes a control unit 21 that controls header information collection operation, a buffer unit 22 that accumulates header information, a BD queue unit 23 that stores an accumulation destination address of header information in the buffer unit 22, and the like. In order to transfer the extracted header group 42 which is the header information group stored in the buffer unit 22 to the application unit or the remote host device 3, the transfer packet generating unit that generates the extracted header transfer packet 43 including the extracted header group 42 24. The buffer unit 22 and the BD queue unit 23 are provided on a host memory accessible from the communication board 11.
[0032]
The application unit includes a network monitor application 18.
With this network monitor application 18, the host device 1 also functions as a network monitor device. The network monitor application 18 generates information indicating the traffic status of the communication network 2 based on the extracted header group 42 acquired from the packet information collection unit 15.
[0033]
In the host device 1, the communication board 11 and the packet information collection unit 15 correspond to the packet information collection device of this embodiment. The BD queue unit 23 corresponds to a descriptor storage unit.
[0034]
The remote host device 3 has the same configuration as the host device 1, but does not have a packet information collection function, and based on the extracted header group 42 transferred from the host device 1, the traffic status of the communication network 2 Generates information indicating
[0035]
Next, the operation of the host device 1 in FIG. 1 collecting packet information will be described. First, the outline of the packet information collection processing of this embodiment will be described. In the host device 1, the DMA unit 25 writes the packet 41 received by the communication board 11 connected to the communication network 2 to one buffer of the buffer unit 22 on the host memory. This writing is performed without going through the host CPU. At the time of writing, the headers of a plurality of packets 41 are overwritten by overwriting the header part of another packet 41 in the written area of the non-header part of the packet 41 on one buffer in the buffer unit 22. Only the parts are accumulated sequentially. Thereby, header information of a plurality of packets is extracted on one buffer.
[0036]
Hereinafter, the process of writing the packet 41 received from the communication network 2 to the buffer of the buffer unit 22 will be described with reference to FIGS. FIG. 2 is a block diagram showing a configuration of the BD queue unit 23 shown in FIG. As shown in FIG. 2, the BD queue unit 23 has an unused BD queue 51 and a used BD queue 52 for holding a buffer information descriptor (BD). The buffer information descriptor (BD) holds management information such as a physical address (Baddr) and length information (Blen) for a specific buffer in the buffer unit 22. Therefore, the buffer information descriptor (BD) is associated with the buffer including the memory area indicated by the physical address (Baddr) described in the buffer information descriptor (BD).
[0037]
The unused BD queue 51 holds an unused buffer information descriptor (BD). The unused buffer information descriptor (BD) indicates that the header information is not written in the buffer memory area indicated by the physical address (Baddr) of the buffer information descriptor (BD). The used BD queue 52 holds a used buffer information descriptor (BD). The used buffer information descriptor (BD) indicates that the header information has been written in the buffer memory area indicated by the physical address (Baddr) of the buffer information descriptor (BD). These queues 51 and 52 are constituted by FIFO (first in first out) type buffers.
[0038]
First, the control unit 21 of the packet information collecting unit 15 allocates a continuous memory area on the host memory as a use area of one buffer of the buffer unit 22 in advance, and prepares a plurality of buffers. Further, the control unit 21 creates a buffer information descriptor (BD) describing management information such as a physical address (Baddr) and length information (Blen) for each buffer, and writes the buffer information descriptor (BD) to the unused BD queue 51. Each of the queues 51 and 52 and the buffer are provided in a memory area on the host memory accessible from the communication board 11.
[0039]
When receiving the packet 41 from the communication network 2, the communication board 11 reads the buffer information descriptor (BD) from the unused BD queue 51. Next, the DMA unit 25 DMA-transfers and writes the received packet to the buffer associated with the buffer information descriptor (BD) according to the physical address (Baddr) of the read buffer information descriptor (BD). When the writing of the received packet is completed, the communication board 11 writes the used buffer information descriptor (BD) to the used BD queue 52.
[0040]
In addition, the communication board 11 appropriately generates a reception interrupt and prompts the control unit 21 to perform packet reception processing. Upon receiving this reception interrupt, the control unit 21 reads the buffer information descriptor (BD) from the used BD queue 52, and stores the header information stored in the buffer associated with the buffer information descriptor (BD). Then, it is determined whether or not to perform transfer processing for providing to the network monitor application 18 or the remote host device 3. The control unit 21 executes the transfer process when writing for one buffer has been completed.
[0041]
In the above-described embodiment, the unused BD queue 51 and the used BD queue 52 are configured by FIFO buffers. However, as shown in FIG. 6, the buffer information descriptor (BD) is linked. A data transfer interface called Chained BD Queue Structure may be used. In this method, an unused BD queue and a used BD queue are merged, and a flag (Own) for identifying whether the buffer information descriptor (BD) is unused or has been used. Are provided in the buffer information descriptor (BD).
[0042]
Next, with reference to FIGS. 3 and 4, processing for extracting only header portions of a plurality of packets 41 on one buffer in the buffer unit 22 will be described. FIG. 3 is a diagram showing the configuration of the memory area in the buffer 61 in the buffer unit 22. FIG. 4 is a diagram for explaining a process of extracting packet information (headers) of a plurality of packets 41 on the buffer 61.
[0043]
First, when the control unit 21 generates a buffer information descriptor (BD) for each buffer 61 of the buffer unit 22, a plurality of buffer information descriptors (BD_i; i is 1 ≦ i ≦ integer that satisfies m). Here, the control unit 21 sets the physical address (Baddr_i) of each buffer information descriptor (BDi) according to equations (1) and (2).
[0044]
Baddr_1 = Baddr_start + HLEN + CLEN (1)
Baddr_i = Baddr_ (i-1) + NLEN + CLEN (2)
However, in the formula (2), i is an integer of 2 or more. Baddr_start is the top physical address of the buffer 61. HLEN is the length of the transfer header added to transfer the extracted header information group (extracted header group 42) to the network monitor application 18 or the remote host device 3. CLEN is the length of control information added individually to the header extracted from the packet 41. NLEN is the length of the header extracted from the packet 41.
[0045]
Further, the control unit 21 sets a fixed length in accordance with the maximum length of the packet 41 received from the communication network 2 in the length information (Blen). For example, when Ethernet (registered trademark) is used for the communication network 2, the length information (Blen) is set to a value of 1514 bytes or more excluding the 4-byte CRC.
[0046]
The buffer 61 associated with the buffer information descriptors (BD_1 to m) generated as described above has a configuration as shown in FIG. In FIG. 3, the buffer 61 includes a transfer header storage area H located from the head address (Baddr_start), a control information storage area C, and areas 1 to m located from the physical address (Baddr_1 to m). The areas 1 to m are composed of a header storage area A and a control information storage area C of the header extracted from the packet 41.
[0047]
Next, the control unit 21 writes the generated buffer information descriptors (BD_1 to m) to the unused BD queue 51 in the order of the buffer information descriptor (BD_1) to the buffer information descriptor (BD_m). Next, every time the communication board 11 receives the packet 41, it sequentially reads out the buffer information descriptors (BD_1 to m) from the unused BD queue 51, and by DMA transfer, as shown in FIG. 4, the physical address (Baddr_1 The received packets are sequentially written into the buffer 61 while being overwritten from the position of ~ m). As a result, the headers A1 to Am of the received packet are written in the header storage areas A of the areas 1 to m in the buffer 61, respectively. As a result, only the header portion of the m packets 41 is extracted on one buffer in the buffer unit 22.
[0048]
Next, the control unit 21 sets the control information of each header A1 to Am in each control information storage area C. When writing of m packets 41 is completed and m headers are extracted, transfer processing for providing the extracted header group 42 to the network monitor application 18 or the remote host device 3 is performed. This transfer process will be described later.
[0049]
As described above, the packet received from the communication network 2 is sequentially overwritten in the buffer by the DMA function of the communication board 11, leaving the header portion. Can be eliminated. As a result, it is possible to reduce the load on the host CPU when collecting packet information (header information).
[0050]
When preparing the buffer 61, the control unit 21 sets the length (Bsizereal) of the buffer 61 so as to satisfy the expression (3).
Bsizereal ≧ m × (N + C) + H + Blen (3)
Thus, the length of the buffer 61 is set so that the entire received packet can be written even when the header Am of the m-th packet 41 is stored in the buffer 61.
[0051]
Further, the value of m is set in advance in the control unit 21, but as the value of m is larger, more extracted header information can be provided in a lump, so the extracted header group 42 is transferred. In order to reduce overhead, it is desirable to set a large value to m. On the other hand, the extracted header information is transferred based on the IP. For this reason, the value of m may be limited to the maximum packet size (MTU size; Maximum Transfer Unit size) of the IP. In order to cope with this, it is desirable to use a frame having a large frame size such as a jumbo frame (9000-byte MTU size) as a frame used for transferring the extracted header group 42.
[0052]
Next, processing for transferring the extracted header group 42 accumulated in the buffer 61 to the network monitor application 18 or the remote host device 3 will be described with reference to FIG.
The transfer packet generation unit 24 of the packet information collection unit 15 adds transfer header information corresponding to the transfer destination to the transfer header storage area H of the buffer 61, and includes the transfer header information and the extracted header group 42. An extracted header transfer packet 43 is generated.
[0053]
Therefore, a transfer header information template as shown in FIG. 5 is created in advance and set in the transfer packet generator 24. 5 includes a lower layer header, an IP header, and a UDP header, and the lower layer header has contents for Ethernet (registered trademark) as an example. The lower layer here refers to a data link layer located lower than IP.
[0054]
Note that the UDP port numbers (Src UDP port, Dst UDP port) for both arrival and departure are set in advance to a common value for all destinations by the user. In addition, the IP address (Src IP Address, Dst IP Address) for both the arrival and departure is set in advance by the user, and a common value is set for all the destinations for the departure and arrival addresses. A value or multiple values are set. The IP packet size (Total Length) is also set in advance by the user.
[0055]
The forwarding packet generator 24 creates a forwarding header information template for each destination IP address (Dst IP Address). For each template, since almost all information is a fixed value, a predetermined value is set in advance. Hereinafter, a method for setting information that is not a fixed value will be described.
[0056]
For IP Identification (ID; Identification), a different value is set for each transfer packet. Also, the IP Checksum is updated with the ID update. As this procedure, first, the ID is incremented by 1 for each transfer packet. Next, the IP checksum is reduced by one. However, when 1 is subtracted from the hexadecimal number 0x0001, the hexadecimal number is 0xFFFF.
This eliminates the need to recalculate the IP Checksum over the entire IP header.
[0057]
The UDP Checksum is fixed to 0, and the entire transfer packet is not verified. Instead, when the local host device 1 and the remote host device 3 serving as the transfer destination are on the same segment for the data link layer, an extraction header is obtained by using an error detection function provided by the data link layer. The normality at the time of transferring the group 42 is verified. However, when the transfer destination is the own host device 1, normality verification at the time of transferring the extracted header group 42 is not necessary. This eliminates the overhead associated with generating and verifying the UDP checksum.
[0058]
However, if UDP checksum verification is required, such as when the remote host device 3 as the transfer destination is on a different segment from the host device 1, the UDP checksum generation / verification function normally provided in the communication board 11 Is used to verify the normality when the extracted header group 42 is transferred.
[0059]
When generating a transfer packet, the transfer packet generation unit 24 sequentially selects a template by a round robin method, copies the selected template to the transfer header storage area H of the buffer 61, and transfers the transfer header information and the extraction header. An extracted header transfer packet 43 consisting of a group 42 is generated. Next, the generated extracted header transfer packet 43 is registered in the input queue of the UDP / IP unit 16. As a result, the UDP / IP unit 16 transfers the registered extracted header transfer packet 43 in accordance with the destination IP address (Dst IP Address).
[0060]
If the destination IP address is that of the local host device 1, a predetermined application (for example, a network monitor) provided in the application unit of the local host device 1 is determined according to the destination UDP port number (Dst UDP port). The extracted header group 42 included in the registered extracted header transfer packet 43 is provided to the application 18).
[0061]
Further, in order to transmit the extracted header transfer packet 43 to the remote host device 3, an address corresponding to the data link layer (for example, MAC address) indicating the remote host device 3 for the destination data link layer and a destination IP address are obtained. Need to be associated. For this purpose, an address resolution procedure according to ARP (Address Resolution Protocol) is generally used.
[0062]
However, when this address resolution procedure is used, packets cannot be transmitted until the procedure is completed, so the number of extracted header transfer packets 43 waiting to be transmitted increases. As a result, the extracted header transfer packet 43 remains untransmitted. In some cases, it may be lost. Therefore, in this embodiment, an address table (ARP table) in which the data link layer compatible address and the destination IP address are recorded in association with each other is set in the UDP / IP unit 16 in advance, so that the address resolution procedure can be omitted. To.
[0063]
1 is recorded on a computer-readable recording medium, and the program (packet information collecting program) recorded on the recording medium is read into a computer system. The packet information collecting process may be performed by executing. Here, the “computer system” may include an OS and hardware such as peripheral devices.
[0064]
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used. The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system.
[0065]
Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
[0066]
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
With this packet information collection program, the above-described packet information collection apparatus can be realized using a computer such as a personal computer.
[0067]
Next, a description will be given of an embodiment of a communication network monitoring system using a packet information collection program, which realizes a packet information collection device using a personal computer. FIG. 7 shows the configuration of the communication network monitoring system. FIG. 8 shows a hardware configuration of the communication network monitoring system shown in FIG. In the communication network monitoring system shown in FIG. 7, the host device (PC1) corresponds to a packet information collection device. Specifically, the function of the packet information collection unit 15 of the device driver unit 13 of FIG. 1 is realized by executing the packet information collection program of the present embodiment on a personal computer (PC1) manufactured by SUPERMICRO.
[0068]
The host device (PC1) is connected to the file system (FS1), and this file system (FS1) corresponds to the storage device (main memory) of the host device (PC1). The buffer unit 22 and the BD queue unit 23 of FIG. 1 are provided on the file system (FS1).
[0069]
The host device (PC1) includes a communication board (NIC1) having a DMA function. This communication board (NIC1) corresponds to the communication board 11 of FIG. 1 for header extraction. The communication board (NIC1) acquires a packet flowing on the communication network to be monitored, and DMA-transfers the acquired packet to a buffer on the file system (FS1) and writes it. Note that the packet flowing on the communication network to be monitored is generated by a traffic tester.
[0070]
The host device (PC1) also includes a header transfer communication board (NIC2) for transferring the extracted header transfer packet to the remote host device (PC2). This communication board (NIC2) is connected to the communication board (NIC2) of the remote host device (PC2).
[0071]
In the communication network monitoring system shown in FIG. 7, the packet information is collected when the header is collected using the header extraction method of the present embodiment and when the header is collected using the conventional header extraction method. In order to compare and evaluate performance, the results of header collection experiments are shown in FIGS. FIG. 10 is a graph showing the header acquisition rate obtained from the experimental results as an index for performance evaluation. Similarly, FIG. 11 is a graph showing the CPU load of the PC 1 obtained from the experimental results. FIG. 9 shows the operating environment conditions for this experiment. Conditions 1 and 2 shown in FIG. 9 correspond to the header extraction method of this embodiment, and conditions 3 to 6 correspond to the conventional header extraction method.
[0072]
In the experiment, in any operating environment of conditions 1 to 6, a commercially available IP traffic tester is used to monitor Ethernet frames from 64 bytes to 1518 bytes (including CRC) at the full rate of Gigabit Ethernet. The packet header is stored in a file by PC1 or PC2. Condition 1 is the case where the header information collected by the host device (PC1) is transferred to the remote host device (PC2) as an extracted transfer packet, and the remote host device (PC2) stores the packet header in a file. It has become. Conditions 2 to 6 are for the case where the host device (PC1) stores the packet header in a file.
[0073]
As a result of these experiments, as shown in FIG. 10, the effect of improving the header acquisition rate by a factor of two or more was recognized by the header extraction method of this embodiment. Moreover, as shown in FIG. 11, the effect that the CPUU load is reduced to 1/2 or less was recognized.
[0074]
As described above, according to the present embodiment, the packet is written to the storage area in the buffer specified by the buffer information descriptor by the DMA transfer, so that the host CPU itself stores the packet information in the buffer in the host memory. No need to copy. As a result, it is possible to reduce the load on the host CPU when collecting packets by receiving packets from the communication network.
[0075]
Furthermore, since the transfer packet including the packet information accumulated in the buffer is generated, the collected packet information can be transferred to a device different from the host device collecting the packet information. As a result, packet information collection can be performed by an independent device different from a device that realizes other functions (such as an analysis function) related to the network monitor. In addition, packet information can be provided to a plurality of devices by a transfer packet.
As a result, when realizing the network monitor function, it is possible to achieve load distribution of the processing.
[0076]
The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like within a scope not departing from the gist of the present invention.
[0077]
【The invention's effect】
As described above, according to the present invention, a buffer is provided on a memory accessible from the communication interface device, and a buffer information descriptor for designating a storage location of a packet which is a specific storage area in the buffer is created. Since the communication interface device writes the packet to the storage area in the buffer specified by the buffer information descriptor by DMA transfer, the host CPU needs to copy the packet information to the buffer in the host memory. Will disappear. As a result, it is possible to reduce the load on the host CPU when receiving packets from the communication network and collecting packet information.
[0078]
Furthermore, if the size of the storage area is set to the size of the packet information or the size of the packet information plus additional information, the buffer size can be reduced and the memory capacity can be reduced. The effect of being able to be obtained.
[0079]
In addition, if the buffer information descriptors respectively indicating the continuous storage areas in the buffer are ordered, a plurality of packet information can be stored in the continuous storage areas. It becomes possible to process a group efficiently (such as a transfer process). As a result, it is possible to further reduce the load on the host CPU.
[0080]
In addition, if the transfer packet including the packet information stored in the buffer is generated, the collected packet information can be transferred to a device different from the host device collecting the packet information. As a result, packet information collection can be performed by an independent device different from a device that realizes other functions (such as an analysis function) related to the network monitor. In addition, packet information can be provided to a plurality of devices by a transfer packet. As a result, when the network monitor function is realized, an effect that the load of the processing can be distributed is obtained.
[0081]
Further, if the header template for the transfer packet is stored in advance, it is possible to reduce the load on the host CPU for the transfer packet generation process.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a communication network monitoring system using a packet information collection device according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a BD queue unit 23 shown in FIG.
3 is a diagram showing a configuration of a memory area in a buffer 61 in a buffer unit 22. FIG.
FIG. 4 is a diagram for explaining processing for extracting packet information (headers) of a plurality of packets 41 on a buffer 61;
FIG. 5 is a diagram for explaining processing for generating an extracted header transfer packet;
FIG. 6 is a block diagram showing another configuration of the BD queue unit 23 shown in FIG.
FIG. 7 is a block diagram showing an example of a communication network monitoring system using a packet information collection device according to an embodiment of the present invention.
8 is a table showing a hardware configuration of the communication network monitoring system shown in FIG.
9 is a table showing operating environment conditions for a performance evaluation experiment of the communication network monitoring system shown in FIG. 7;
FIG. 10 is a graph showing a header acquisition rate obtained from the results of a performance evaluation experiment.
11 is a graph showing the CPU load of the PC 1 of FIG. 7 obtained from the results of the performance evaluation experiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Host device, 2, 4 ... Communication network, 3 ... Remote host device, 11, 12 ... Communication board, 13, 14 ... Device driver part, 15 ... Packet information collection part, 16 ... UDP / IP part, 17 ... Socket , 18 ... Network monitor application, 21 ... Control part, 22 ... Buffer part, 23 ... BD queue part, 24 ... Transfer packet generation part, 25 ... DMA part, 41 ... Packet, 42 ... Extraction header group, 43 ... Extraction header Forwarded packet.

Claims (8)

通信ネットワークと接続された通信インタフェース装置を備え、前記通信インタフェース装置で受信されたパケット内の先頭に在るヘッダ情報を収集するパケット情報収集装置であって、
前記通信インタフェース装置からアクセス可能なメモリ上に設けられたバッファと、
前記メモリ上に設けられ、前記バッファ内の特定の記憶領域を示すバッファ情報記述子を記憶する記述子記憶手段と、
前記バッファ情報記述子により前記パケットの格納先を指定する制御手段とを具備し、
前記制御手段は、一つの前記バッファに対して複数の前記バッファ情報記述子を生成し、
前記バッファ情報記述子は、前記バッファ内に前記パケットを書き込むときの先頭アドレスを有し、
前記複数のバッファ情報記述子のそれぞれの前記先頭アドレスは、前記ヘッダ情報の大きさ又は前記ヘッダ情報に付加情報を加えた大きさだけ順次ずらしてあり、
前記制御手段は、前記先頭アドレスの順番で前記複数のバッファ情報記述子を前記記述子記憶手段へ格納し、
前記通信インタフェース装置は、パケットを受信する度に、前記記述子記憶手段からバッファ情報記述子を順次読み出し、DMA転送により、前記読み出したバッファ情報記述子の先頭アドレスから受信パケットを上書きする、
ことを特徴とするパケット情報収集装置。
A packet information collection device comprising a communication interface device connected to a communication network, and collecting header information at the head of a packet received by the communication interface device,
A buffer provided on a memory accessible from the communication interface device;
Descriptor storage means provided on the memory for storing a buffer information descriptor indicating a specific storage area in the buffer;
Control means for designating the storage destination of the packet by the buffer information descriptor,
The control means generates a plurality of the buffer information descriptors for one buffer,
The buffer information descriptor has a head address when writing the packet into the buffer,
The start address of each of the plurality of buffer information descriptors is sequentially shifted by the size of the header information or the size of the header information plus additional information,
The control means stores the plurality of buffer information descriptors in the descriptor storage means in the order of the head address,
The communication interface device sequentially reads the buffer information descriptor from the descriptor storage means each time a packet is received , and overwrites the received packet from the head address of the read buffer information descriptor by DMA transfer .
A packet information collecting apparatus.
前記バッファに蓄積された前記ヘッダ情報を含む転送用パケットを生成する転送パケット生成手段
を具備することを特徴とする請求項1に記載のパケット情報収集装置。
The packet information collection device according to claim 1, further comprising: a transfer packet generation unit that generates a transfer packet including the header information accumulated in the buffer.
前記転送パケット生成手段は、
前記転送用パケットのヘッダ用テンプレートを予め保持する
ことを特徴とする請求項に記載のパケット情報収集装置。
The transfer packet generation means includes:
The packet information collection device according to claim 2 , wherein a header template of the transfer packet is stored in advance.
予め設定された複数の転送先へ、前記転送用パケットにより前記ヘッダ情報を転送する
ことを特徴とする請求項または請求項に記載のパケット情報収集装置。
The packet information collection device according to claim 2 or 3 , wherein the header information is transferred to the plurality of preset transfer destinations by the transfer packet.
通信ネットワークと接続された通信インタフェース装置を備え、前記通信インタフェース装置で受信されたパケット内の先頭に在るヘッダ情報を収集するパケット情報収集装置におけるパケット情報収集方法であって、
前記通信インタフェース装置からアクセス可能なメモリ上に設けられたバッファ内の特定の記憶領域を示すバッファ情報記述子を、一つの前記バッファに対して複数生成する過程を含み、
前記バッファ情報記述子は、前記バッファ内に前記パケットを書き込むときの先頭アドレスを有し、
前記複数のバッファ情報記述子のそれぞれの前記先頭アドレスは、前記ヘッダ情報の大きさ又は前記ヘッダ情報に付加情報を加えた大きさだけ順次ずらしてあり、
前記先頭アドレスの順番で前記複数のバッファ情報記述子を記述子記憶手段へ格納する過程と、
前記通信インタフェース装置が、パケットを受信する度に、前記記述子記憶手段からバッファ情報記述子を順次読み出し、DMA転送により、前記読み出したバッファ情報記述子の先頭アドレスから受信パケットを上書きする過程と、
さらに含むことを特徴とするパケット情報収集方法。
A packet information collection method in a packet information collection device comprising a communication interface device connected to a communication network and collecting header information at the head of a packet received by the communication interface device,
Including a step of generating a plurality of buffer information descriptors indicating a specific storage area in a buffer provided on a memory accessible from the communication interface device for one of the buffers,
The buffer information descriptor has a head address when writing the packet into the buffer,
The start address of each of the plurality of buffer information descriptors is sequentially shifted by the size of the header information or the size of the header information plus additional information,
Storing the plurality of buffer information descriptors in descriptor storage means in the order of the head address;
Each time the communication interface device receives a packet, it sequentially reads out the buffer information descriptor from the descriptor storage means, and overwrites the received packet from the head address of the read buffer information descriptor by DMA transfer;
A packet information collecting method, further comprising:
前記バッファに蓄積された前記ヘッダ情報を含む転送用パケットを生成する過程
をさらに含むことを特徴とする請求項に記載のパケット情報収集方法。
The packet information collecting method according to claim 5 , further comprising: generating a transfer packet including the header information accumulated in the buffer.
通信ネットワークと接続された通信インタフェース装置を備え、前記通信インタフェース装置で受信されたパケット内の先頭に在るヘッダ情報を収集するパケット情報収集装置におけるパケット情報収集処理を行うためのパケット情報収集プログラムであって、
前記通信インタフェース装置からアクセス可能なメモリ上に設けられたバッファ内の特定の記憶領域を示すバッファ情報記述子を、一つの前記バッファに対して複数生成する処理をコンピュータに実行させるものであり、
前記バッファ情報記述子は、前記バッファ内に前記パケットを書き込むときの先頭アドレスを有し、
前記複数のバッファ情報記述子のそれぞれの前記先頭アドレスは、前記ヘッダ情報の大きさ又は前記ヘッダ情報に付加情報を加えた大きさだけ順次ずらしてあり、
前記先頭アドレスの順番で前記複数のバッファ情報記述子を記述子記憶手段へ格納する処理と、
前記通信インタフェース装置が、パケットを受信する度に、前記記述子記憶手段からバッファ情報記述子を順次読み出し、DMA転送により、前記読み出したバッファ情報記述子の先頭アドレスから受信パケットを上書きする処理と、
さらにコンピュータに実行させることを特徴とするパケット情報収集プログラム。
A packet information collection program for performing packet information collection processing in a packet information collection device that includes a communication interface device connected to a communication network and collects header information at the head of a packet received by the communication interface device There,
The buffer information descriptor indicating a specific storage area in the buffer provided in the communication interface apparatus accessible from a memory, which to execute processing for generating a plurality in the computer for one of the buffer,
The buffer information descriptor has a head address when writing the packet into the buffer,
The start address of each of the plurality of buffer information descriptors is sequentially shifted by the size of the header information or the size of the header information plus additional information,
A process of storing the plurality of buffer information descriptors in a descriptor storage means in the order of the head address;
Each time the communication interface device receives a packet, the buffer information descriptor is sequentially read from the descriptor storage means , and a process of overwriting the received packet from the head address of the read buffer information descriptor by DMA transfer;
Further packet information collection program for causing a computer to execute.
前記バッファに蓄積された前記ヘッダ情報を含む転送用パケットを生成する処理
をさらにコンピュータに実行させることを特徴とする請求項に記載のパケット情報収集プログラム。
The packet information collection program according to claim 7 , further causing the computer to execute a process of generating a transfer packet including the header information accumulated in the buffer.
JP2001270332A 2001-09-06 2001-09-06 Packet information collection apparatus and method Expired - Fee Related JP4657529B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001270332A JP4657529B2 (en) 2001-09-06 2001-09-06 Packet information collection apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001270332A JP4657529B2 (en) 2001-09-06 2001-09-06 Packet information collection apparatus and method

Publications (2)

Publication Number Publication Date
JP2003087255A JP2003087255A (en) 2003-03-20
JP4657529B2 true JP4657529B2 (en) 2011-03-23

Family

ID=19095998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001270332A Expired - Fee Related JP4657529B2 (en) 2001-09-06 2001-09-06 Packet information collection apparatus and method

Country Status (1)

Country Link
JP (1) JP4657529B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013137A1 (en) 2003-08-04 2005-02-10 Fujitsu Limited Data transfer method
US7561573B2 (en) 2005-03-23 2009-07-14 Fujitsu Limited Network adaptor, communication system and communication method
US7567521B2 (en) * 2006-06-06 2009-07-28 Litepoint Corp. Apparatus for capturing multiple data packets in a data signal for analysis
US7484146B2 (en) * 2006-06-06 2009-01-27 Litepoint Corp. Method for capturing multiple data packets in a data signal for analysis
JP4126707B2 (en) 2006-07-28 2008-07-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Technology for analyzing the state of information systems
JP5256886B2 (en) * 2008-06-30 2013-08-07 富士通株式会社 Communication apparatus and communication method
JP5141830B2 (en) * 2009-12-14 2013-02-13 富士通株式会社 Communication device, statistical information collection control device, and statistical information collection control method
JP5055420B2 (en) * 2010-12-15 2012-10-24 ルネサスエレクトロニクス株式会社 Stream data communication method and stream data communication apparatus
JP5573709B2 (en) * 2011-01-31 2014-08-20 ブラザー工業株式会社 Communication device
JP6338186B2 (en) * 2015-02-17 2018-06-06 日本電信電話株式会社 Virtual network system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962613A (en) * 1995-08-22 1997-03-07 Dainippon Screen Mfg Co Ltd Data transfer device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962613A (en) * 1995-08-22 1997-03-07 Dainippon Screen Mfg Co Ltd Data transfer device

Also Published As

Publication number Publication date
JP2003087255A (en) 2003-03-20

Similar Documents

Publication Publication Date Title
US7561573B2 (en) Network adaptor, communication system and communication method
JP5220974B2 (en) Apparatus and method for acceleration of hardware execution or operating system functions
JP5066702B2 (en) Intelligent network storage interface system and device
US7860943B2 (en) Enhanced network direct attached storage controller
US9729664B2 (en) System and method for managing connections between a client and a server
US6801927B1 (en) Network adaptor card with reverse proxy and cache and method implemented therewith
JP5322983B2 (en) Traffic receiver with parallel capture engine
KR101008510B1 (en) Methods, systems, and computer products for high performance bonding resequencing
JP4657529B2 (en) Packet information collection apparatus and method
US20050135395A1 (en) Method and system for pre-pending layer 2 (L2) frame descriptors
JP2003179626A (en) Relay connection management program and relay connection management method
US20080002682A1 (en) Generalized serialization queue framework for protocol processing
US7499463B1 (en) Method and apparatus for enforcing bandwidth utilization of a virtual serialization queue
US9401879B1 (en) Systems and methods for sending and receiving information via a network device
US7908473B2 (en) System for storing encrypted data by sub-address
JP5039292B2 (en) Network adapter, communication system, and communication method
US8050266B2 (en) Low impact network debugging
JP2006285811A (en) Storage system and data processing method
US20080002730A1 (en) Serialization queue framework for transmitting packets
US20080002701A1 (en) Network interface card virtualization based on hardware resources and software rings
CN108965093A (en) A kind of VLAN allocation method and device
JP4409401B2 (en) Packet transfer apparatus and storage system
US20120016854A1 (en) File-sharing system and method for managing files, and program
JP4776412B2 (en) Packet transfer apparatus, packet transfer method, and program
US10069767B1 (en) Method of dynamically allocating buffers for packet data received onto a networking device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071009

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071009

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101007

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees