JP5014282B2 - 通信データ統計装置、通信データ統計方法およびプログラム - Google Patents

通信データ統計装置、通信データ統計方法およびプログラム Download PDF

Info

Publication number
JP5014282B2
JP5014282B2 JP2008202886A JP2008202886A JP5014282B2 JP 5014282 B2 JP5014282 B2 JP 5014282B2 JP 2008202886 A JP2008202886 A JP 2008202886A JP 2008202886 A JP2008202886 A JP 2008202886A JP 5014282 B2 JP5014282 B2 JP 5014282B2
Authority
JP
Japan
Prior art keywords
statistical
flow
aggregate
data
communication data
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.)
Active
Application number
JP2008202886A
Other languages
English (en)
Other versions
JP2010041471A (ja
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2008202886A priority Critical patent/JP5014282B2/ja
Priority to US12/483,679 priority patent/US8427968B2/en
Publication of JP2010041471A publication Critical patent/JP2010041471A/ja
Application granted granted Critical
Publication of JP5014282B2 publication Critical patent/JP5014282B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを流れる通信データの統計をとる技術に関する。
インターネットは重要な社会インフラとして定着しており、従来のベストエフォート型のデータ通信だけでなく、音声や動画、基幹業務のトランザクションデータなど、通信の品質の保証が必要なデータの通信も行われつつある。また、ADSL(Asymmetric Digital Subscriber Line)やFTTH(Fiber To The Home)技術の普及によってアクセス回線はブロードバンド化され、これに伴い、通信されるデータ量も増大している。
このような背景から、通信事業者やISP(インターネットサービスプロバイダ)はネットワーク内の通信の状態を把握するため、ネットワークを流れる通信データの統計をとる技術を必要としている。中でも、通信データの送信元や宛先、利用されるアプリケーション、品質レベルなどにより分類されるフロー毎に通信データの統計をとる技術に対する要求が高い。
フロー毎に通信データの統計をとる技術として、例えば、特許文献1には、キャッシュ型のフロー統計技術についての記載がある。この技術では、受信パケットのヘッダ情報から所定の組み合わせの識別子(例えば、送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号等)を取得し、その組み合わせ内の各識別子の値がすべて同一であるパケットの数量をカウントすることで、フロー毎の通信量を集計している。
また、統計情報を高速な回線で収集する技術として、例えば、特許文献2が挙げられる。この技術では、更新する情報を一定数蓄積し、メモリからの読み込み、統計の更新、メモリへの書き込みを一括して実施することで、統計処理の高速化を実現している。
特開2006−5402号公報 特開2006−352831号公報
特許文献1に記載されるような、キャッシュ型のフロー統計技術では、パケットを受信する度に、ヘッダ情報の解析を行うため、フローの分析能力が極めて高いという特徴がある。しかし、受信したパケットのすべてについてヘッダ情報の解析を行い、さらに、その解析結果をメモリに記録する必要があるため、回線速度が40Gbps、100Gbpsと高速になるにつれて、メモリへのアクセス速度がネックとなり、必要な統計情報をメモリに記録することが困難になる場合がある。
また、特許文献2に記載された統計処理の高速化技術は、統計情報の一括更新を目的にバッファへ蓄積する。しかしながら、フローの種類が多様である場合には、その統計処理を行う際に、以下の問題がある。例えば、バッファの容量が小さいと、少ないフローの数で、バッファの空き容量がなくなってしまうため、蓄積される情報量が少なく、情報を蓄積することによる高速化の効果は得られない。そのため、統計処理の高速化としては、統計更新処理のオーバヘッド削減効果が得られるだけである。
そこで、本発明は、上記の従来技術の課題に鑑みて、統計処理を高速化することによって、高速な通信回線においても、通信データの統計をとることが可能な技術を提供することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1] ネットワークを流れる通信データについて、複数種類の条件の統計をとる通信データ統計装置であって、
複数種類の識別子を含むパケットを受信する受信部と、
前記受信部において受信されたパケットであって、前記複数種類の識別子うち、予め定められた2種類以上の前記識別子に関して、対応する前記識別子が一致するパケットを、同一の集約フローに分類して、前記集約フローごとに、前記集約フローに属するパケットのパケット数を含む集約統計情報の生成を行なう集約部と、
前記複数種類の条件のうち、1つの前記統計の条件を定める、1種類以上の識別子に関して、対応する前記識別子が一致する統計用フローに、1つの前記集約フローを分類し、前記分類された統計用フローに属するパケットのパケット数を含む統計情報を、対応する前記集約統計情報に基づいて更新する更新処理を、前記集約部においてパケットが分類された複数の集約フローについて繰り返し行うことによって、前記複数種類の統計の条件に7ついて、各統計情報の更新処理を行う統計処理部と、
を備える、通信データ統計装置。
この通信データ統計装置では、ネットワークを流れる通信データについて、複数種類の条件の統計をとる際に、予め定められた所定の集約フローに、受信したパケットを分類して、集約統計情報を生成し、その集約統計情報に基づいて、複数種類の統計の条件について、各統計用フローの統計情報の更新を行なう。そのため、パケットを受信するたびに、1パケットずつ、複数種類の統計の条件について、各統計用フローの統計情報の更新を行なう場合に比べて、各統計用フローの統計情報の更新を行なう回数を減少させることができる。そのため、統計情報が記録されるメモリへのアクセス回数を削減することができ、統計処理を高速化することができる。したがって、高速な通信回線においても、通信データの統計をとることが可能になる。
[適用例2]適用例1に記載の通信データ統計装置であって、
前記統計処理部は、
1つの前記統計の条件について、予め定められた数の前記集約フローに対応する前記集約統計情報に基づいて、各統計用フローの前記統計情報を更新する処理を、前記複数種類の統計の条件について行なうことによって、前記複数種類の統計の条件について、各統計情報の更新処理を行う、通信データ統計装置。
この通信データ統計装置では、1つの統計条件について、複数の集約統計情報に基づいて、連続して各統計用フローの統計情報を更新するため、1つの統計条件について、統計情報を更新している間は、キャッシュメモリを、その1つの統計条件についての統計情報で占有することができる。そのため、キャッシュヒット率が向上し、さらに、統計処理を高速化することができ、高速な通信回線においても、通信データの統計をとることが可能になる。
なお、本発明は、上述した通信データ統計装置としての構成のほか、通信データ統計方法や、コンピュータプログラムとしても構成することができる。かかるコンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。記録媒体としては、例えば、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
以下、本発明の実施の形態をいくつかの実施例に基づき説明する。
A.第1の実施例:
A−1.第1の実施例の構成:
まず、本発明の第1の実施例について説明する。図1は、第1の実施例としての通信データ統計装置104を含むネットワーク構成の一例を示す図である。図示するように、本実施例のネットワーク構成には、それぞれ相互に接続されてパケットの中継を行うルータ101a〜101cと、ルータ101bに接続されたサーバ102aと、ルータ101cに接続されたサーバ102bと、ルータ101aに接続された通信データ統計装置104と、ルータ101aに接続された端末装置103a〜103cと、が含まれている。ルータ101aは、ミラーリング技術あるいはRFC3176に規定されたsFlow技術を用いることで、中継を行ったパケット(トラフィック)のコピーを通信データ統計装置104に送信する。
パケットには、複数の識別子が含まれる。識別子としては、例えば、送信元IP(Internet Protcol)アドレス、宛先IPアドレス、上位プロトコル、送信元ポート番号、宛先ポート番号(これらを、「5tuples」という)、VLAN(バーチャルLAN(Local Area Network))ID(Identification)、送信元MAC(Media Access Control)アドレス、宛先MACアドレス、等が例示される。
本実施例における通信データ統計装置104は、ルータ101aから送信されたパケットを受信して、条件の異なる3種類の統計データを、出力する装置である。各統計の条件は、上記した識別子の種類で定められる。この識別子の組み合わせは、通信データ統計装置104を管理する管理者によって、任意に設定することができる。
本実施例において、第1の統計条件を定める識別子は、送信元IPアドレス(SIP)であり、第2の統計条件を定める識別子は、送信元IPアドレス(SIP)と宛先IPアドレス(DIP)、第3の統計条件を定める識別子は、送信元IPアドレス(SIP)と宛先IPアドレス(DIP)と宛先ポート番号(DPT)である。本実施例において、上記した統計条件を示す識別子が一致するパケットの集合を、「統計用フロー」という。通信データ統計装置104は、統計条件ごとに、パケットを統計用フローに分類して、パケット数の集計を含む統計処理を行う(後に詳述する)。
A−1−1.通信データ統計装置の構成:
図2は、本実施例の通信データ統計装置104の概略構成を示す機能ブロック図である。図示するように、本実施例の通信データ統計装置104は、集約部201と、統計処理部202と、記憶装置211と、を備える。
記憶装置211には、集約テーブル221と、SIPテーブル231と、SIP−DIPテーブル232と、SIP−DIP−DPTテーブル233とが記録される。以下、SIPテーブル231と、SIP−DIPテーブル232と、SIP−DIP−DPTテーブル233とをまとめて、単に「統計用フローテーブル」ともいう。集約テーブル221と統計用フローテーブルについては、後に詳述する。記憶装置211としては、例えば、一般的に流通しているSDRAMや、アクセスのレイテンシを低減させたRLDRAMを用いることができる。
なお、本実施例では、通信データ統計装置104が出力する統計データの統計条件に対応して、3種類の統計用フローテーブルが作成されるが、統計用フローテーブルの数および、統計条件を定める識別子の組み合わせは、本実施例に限定されない。識別子の他の組み合わせで統計用フローテーブルを作成してもよい。
集約部201は、ルータ101aから送信されたパケットを受信して、受信したパケットを、上記した統計用フローに分類して統計処理を行う前に、「集約フロー」に分類して集約フローの統計処理(パケット数の集計を含む)を行う。「集約フロー」は、上記した統計条件を定める識別子の全てを含む識別子の組み合わせで定められる。そして、その統計処理結果を示す「集約データ」を、統計処理部202に出力する。すなわち、集約部201は、ルータ101aから送信されたパケットを受信して、集約テーブル221を更新する。本実施例における集約部201が、請求項における「集約部」に相当する。
統計処理部202は、集約部201から出力される集約データに基づいて、上記した統計用フローの統計処理を行う。すなわち、統計処理部202は、集約部201から入力される集約データに基づいて、統計用フローテーブルを更新する。本実施例における統計処理部202が、請求項における「統計処理部」に相当する。集約部201および統計処理部202については、後に詳述する。
A−1−2.集約テーブル:
図3は、集約テーブル221の構成を示す図である。集約テーブル221は、「エントリ番号」と「集約フロー識別条件」と「統計情報」とを含んでいる。集約テーブル221に記録される集約フローを規定する識別子の組み合わせは、VLAN ID(VIP)と、送信元IPアドレス(SIP)と、宛先IPアドレス(DIP)と、上位プロトコル(PRT)と、送信元ポート番号(SPT)と、宛先ポート番号(DPT)との6種類の識別子の組み合わせである。この識別子の組み合わせは、管理者によって、任意に設定することができる。
「エントリ番号」は、集約テーブル221の各エントリを一意に識別する識別子である。「集約フロー識別条件」には、上述した6種類(VID,SIP,DIP,PRT,SPT,DPT)の識別子とその他の情報が格納される。「その他の情報」には、必要に応じて、送信元MACアドレス、宛先MACアドレス、入力インタフェース、出力インタフェース等、パケットのヘッダに含まれる情報が格納される。
「統計情報」には、「パケット数」、「バイト数」、「開始時刻」、「最終更新時刻」、「その他の情報」が格納される。「バイト数」は受信したパケットの積算バイト数を表し、「開始時刻」は、そのフローに属するパケットが最初に到着した時刻を表す。また、「最終更新時刻」は、そのフローに属するパケットが最後に到着した時刻を表す。「その他の情報」には、必要に応じて、TCPフラグのうちのSYNフラグが立っているパケットの数等が格納される。なお、以下では、集約テーブル221に記録された「集約フロー識別条件」と「統計情報」とをまとめて、「集約データ」という。
A−1−3.統計用フローテーブル:
図4は、各統計用フローテーブルの構成を示す図である。図4(a)〜(c)に示した統計用フローテーブル231、232、233は、識別子の1以上の組み合わせからなる統計の条件毎に用意されている。統計用フロー識別条件は、上記した集約フロー識別条件を構成する6種類の識別子のうちから、管理者によって任意に選択された組み合わせで設定される。
図4(a)に示すSIPテーブル231は、SIPをフロー識別条件とするテーブルである。図4(b)に示すSIP−DIPテーブル232は、SIPとDIPの組み合わせをフロー識別条件とするテーブルである。図4(c)に示すSIP−DIP−DPTテーブル233は、送信元IPアドレス(SIP)と宛先IPアドレス(DIP)と宛先ポート番号(DPT)との組み合わせをフロー識別条件とするテーブルである。
各統計用フローテーブルには、「エントリ番号」、「統計用フロー識別条件」、「統計情報」が記録される。「エントリ番号」は、統計用フローテーブルの各エントリを一意に識別する識別番号である。「統計用フロー識別条件」には、各統計用テーブルの統計用フロー識別条件に含まれる識別子が記録される。例えば、SIPテーブル231のフロー識別条件には、SIPが記録され、SIP−DIPテーブル232のフロー識別条件には、SIPとDIPが記録され、SIP−DIP−DPTテーブル233のフロー識別条件には、SIPとDIPとDPTが記録される。
「統計情報」には、統計用フロー毎にカウントされた「パケット数」、「バイト数」、「開始時刻」、「最終更新時刻」、「その他の情報」が記録される。「その他の情報」には、TCPフラグのうちSYNフラグが立っているパケットの数、各統計用フローのパケット数に基づいて算出されたパケット数の平均値や分散、偏差値、中央値などの種々の統計値が記録される。
また、SIP−DIP−DPTテーブル233以外の統計用フローテーブルには、統計情報として、「異なり数」が記録される。「異なり数」とは、統計用フロー識別条件に含まれる識別子の各値は同一であるが、その統計用フロー識別条件以外の識別子(異種識別子)の値が異なるパケットの数である。例えば、SIP−DIPテーブル232では、SIPとDIPの値は同じであるが、DPTの値が異なるパケットの数が、「異なり数」として記録される。なお、以下では、統計用フローテーブル231、232、233に記録された「統計用フロー識別条件」と「統計情報」とをまとめて、「統計用フローデータ」という。
A−1−4.集約部の構成:
図5は、集約部201の概略構成を示す機能ブロック図である。図示するように、集約部201は、パケット取得部501と、集約テーブル制御部502と、統計出力部503と、を備える。パケット取得部501は、パケット取得部バッファ511を備える。パケット取得部501は、ルータ101aから送信されたパケットを受信する。パケットは、ヘッダ情報として、識別子VIP、SIP、DIP、PRT、SPT、DPT等や、パケットバイト数情報、TCPフラグ情報等を含んでいる。
そして、パケット取得部501は、受信したパケットのヘッダ情報を抽出し、さらに、パケットを取得した時刻を、抽出したヘッダ情報に追加して、ヘッダ情報としてパケット取得部バッファ511に蓄積する。本実施例では、パケット取得部501は、ルータ101a(図1)から送信されたパケットを受信するが、パケット取得部501は、ネットワークを流れるパケットを横取り(キャプチャ)することとしてもよい。
パケット取得部501が抽出するヘッダ情報は、上記した集約テーブル221に記録されるフローを識別するための識別子(具体的には、VIP、SIP、DIP、PRT、SPT、DPT)と、パケットバイト数情報、TCPフラグ情報等である。本実施例におけるパケット取得部501が、請求項における「受信部」に相当する。
集約テーブル制御部502は、パケット取得部バッファ511に蓄積されているヘッダ情報を取得して、ヘッダ情報中の識別子(具体的には、VIP、SIP、DIP、PRT、SPT、DPT)に基づいて、パケットを、対応する集約フローに分類し、分類された集約フロー毎にパケット数の集計を行う。そして、集約テーブル制御部502は、集計の結果を、集約部201に接続された記憶装置211(図2)が有する集約テーブル221(図2)に記録する。
具体的には、集約テーブル制御部502は、パケット取得部バッファ511に蓄積されたヘッダ情報の中から、上記した6種類の識別子(VIP、SIP、DIP、PRT、SPT、DPT)を抽出する。そして、集約テーブル制御部502は、抽出した識別子が、集約テーブル221に含まれる集約フロー識別条件の識別子と、一致するエントリを、集約テーブル221から検索して、集約データ(集約フロー識別条件と統計情報)を抽出する。集約テーブル制御部502は、抽出された集約データと、パケット取得部バッファ511から取得したヘッダ情報に基づいて、集約テーブル221に含まれる対応する統計情報を更新する。
統計情報の更新について、具体的に説明する。集約テーブル制御部502は、集約データのうち、統計情報中の「パケット数」を1つ、カウントアップする。また、集約テーブル制御部502は、集約データに含まれる「バイト数」に、ヘッダ情報に含まれるバイト数を加算し、「最終更新時刻」=取得時刻とする。また、集約テーブル制御部502は、ヘッダ情報に、SYNフラグがセットされていれば、集約データに含まれる「SYNフラグがセットされているパケット数」を1つ、カウントアップする。
そして、集約テーブル制御部502は、このようにして更新した集約データを、集約テーブル221に書き込む。集約テーブル制御部502は、LRU(Least Recently Used)アルゴリズムやハッシュ法等のメモリ管理方法に従って、集約データを集約テーブル221に書き込む。
集約テーブル制御部502は、ヘッダ情報中の集約フロー識別条件が、集約テーブル221に含まれる集約フロー識別条件と一致するエントリを、集約テーブル221から検索して、一致するエントリが存在しない場合には、新規にエントリを作成する。このとき、集約テーブル制御部502は、「開始時刻」に取得時刻を登録する。
なお、集約テーブル制御部502は、ヘッダ情報の中から抽出した識別子に基づいて、受信したパケットの統計情報を記録する集約テーブル221のエントリ番号を決定する。具体的には、ヘッダ情報中の中から抽出した識別子のハッシュ値をハッシュ関数によって求め、このハッシュ値をエントリ番号に対応付ける(マッピングする)ことで、エントリ番号の決定を行う。なお、「ハッシュ関数」とは、あるデータが与えられたときに、そのデータを代表する数値を得る関数のことをいう。与えられたデータが同一の場合には、そのデータを代表する数値として、必ず、同一の値が得られる。
集約テーブル制御部502は、更新した集約データが出力条件を満たす場合には、集約データを統計出力部503へ出力し、該当するエントリを集約テーブル221から削除する。本実施例では、出力条件として、パケット数が閾値に達した集約データ(エントリ)を出力するように、予め、管理者により設定されている。なお、出力条件は、この条件に限定されず、種々の条件を設定することができる。例えば、エントリ番号順に定期的に集約データを出力してもよいし、集約フローに属するパケットの取得開始時刻から一定時間経った集約データ(エントリ)を出力してもよい。また、一定パケット受信ごとに出力してもよいし、ハッシュ方式により上書きされるエントリの集約データを出力してもよい。さらに、これらの条件を組み合わせた条件を設定してもよい。
統計出力部503は、統計出力部バッファ512を備える。統計出力部503は、集約テーブル制御部502から送出された集約データを受信して、受信した集約データを統計出力部バッファ512に蓄積する。統計出力部バッファ512に蓄積された集約データの数が一定数に達すると、統計出力部503は、蓄積された全ての集約データを、統計処理部202へ出力する。
パケット取得部501と、集約テーブル制御部502と、統計出力部503とは、それぞれ、FPGA(Field Programmable Gate Array)によって構成されている。これらは、全ての機能が1つのFPGAによって構成されていてもよいし、個別のFPGAによって構成されていてもよい。また、FPGAではなく、ASIC(Application Specifc Integrated Circuit)によって構成されていてもよい。
A−1−5.統計処理部の構成:
図6は、統計処理部202の概略構成を示す機能ブロック図である。図示するように、統計処理部202は、集約データ取得部601と、組合せ抽出部602と、統計用フローテーブル制御部603と、統計用フローデータ出力部604と、を備える。集約データ取得部601は、集約データ取得部バッファ611を備える。集約データ取得部601は、集約部201から送信された集約データを受信して、受信した集約データを集約データ取得部バッファ611へ蓄積する。
組合せ抽出部602は、集約データ取得部バッファ611から集約データを読み込み、各統計用フローテーブル231、232、233(図4)それぞれに格納すべき識別子と、統計情報を抽出する。図7は、組合せ抽出部602における識別子の組合せの抽出の一例を概念的に示す説明図である。図示するように、組合せ抽出部602は、読み込んだ1つの集約データ701について、SIPテーブル231用の処理のために、識別子SIPと統計情報を抽出する。同様に、組合せ抽出部602は、集約データ701について、SIP−DIPテーブル232の処理のために、識別子SIPとDIPと統計情報を抽出する。また、組合せ抽出部602は、集約データ701について、SIP−DIP−DPTテーブル233用の処理のために、識別子SIPとDIPとDPTと統計情報を、抽出する。図7では、抽出されない識別子に、ハッチングを付して示している。なお、以下、抽出した「識別子」と「統計情報」とをまとめて「組み合わせ抽出データ」という。組合せ抽出部602は、抽出された組合せ抽出データ702、703、704を、統計用フローテーブル制御部603に送信する。
統計用フローテーブル制御部603は、組合せ抽出部602から送信された組合せ抽出データを受信して、受信した組合せ抽出データに基づいて、各統計用フローテーブル231、232、233(図4)を更新する。
以下に、SIP−DIP−DPTテーブル233を更新する場合を例に挙げて、具体的に説明する。統計用フローテーブル制御部603は、受信した組合せ抽出データに含まれる識別子(SIPとDIPとDPT)が、SIP−DIP−DPTテーブル233に含まれる統計用フロー識別条件と一致するエントリを、SIP−DIP−DPTテーブル233(図4(c))から検索して、統計用フローデータ(統計用フロー識別条件と統計情報)を抽出する。
統計用フローテーブル制御部603は、抽出された統計用フローデータのうち、統計情報中の「パケット数」に、受信した組合せ抽出データに含まれる統計情報中の「パケット数」を加算する。また、統計用フローテーブル制御部603は、統計用フローデータに含まれる「バイト数」に、組合せ抽出データに含まれる「バイト数」を加算し、「最終更新時刻」を、組合せ抽出データに含まれる「取得時刻」とする。また、統計用フローテーブル制御部603は、統計用フローデータに含まれる「SYNフラグがセットされているパケット数」に、組合せ抽出データに含まれるパケット数を加算する。そして、集約テーブル制御部502は、このようにして更新した統計用フローデータを、SIP−DIP−DPTテーブル233(図4)に書き込む。統計用フローテーブル制御部603は、上記した集約テーブル221を更新する場合と同様に、LRUアルゴリズムやハッシュ法等のメモリ管理方法に従って、統計用フローデータをSIP−DIP−DPTテーブル233(図4)に書き込む。
統計用フローテーブル制御部603は、受信した組合せ抽出データに含まれる識別子(SIPとDIPとDPT)が一致するエントリが、SIP−DIP−DPTテーブル233中に存在しない場合には、新規にエントリを作成する。このとき、統計用フローテーブル制御部603は、統計情報中の「開始時刻」に組合せ抽出データに含まれる「開始時刻」を登録する。なお、SIP−DIP−DPTテーブル233におけるエントリ番号も、上記した集約テーブル221におけるエントリ番号の決定方法と同様にハッシュ関数を用いて決定される。
統計用フローテーブル制御部603は、更新した統計用フローデータが出力条件を満たす場合には、統計用フローデータを統計用フローデータ出力部604へ出力し、該当するエントリをSIP−DIP−DPTテーブル233から削除する。出力条件は、上記した集約テーブル制御部502が、集約データを出力する場合の条件と同様である。SIPテーブル231、SIP−DIPテーブル232についても、同様に更新される。
統計用フローデータ出力部604は、出力部バッファ612を備える(図6)。統計用フローデータ出力部604は、統計用フローテーブル制御部603から送信された統計用フローデータを受信して、受信した統計用フローデータを出力部バッファ612に蓄積する。出力部バッファ612に蓄積された統計用フローデータの数が一定数に達すると、統計用フローデータ出力部604は、蓄積された全ての統計用フローデータを、通信データ統計装置104が備えるデータベース(図示しない)へ出力する。
なお、統計用フローデータ出力部604は、ネットワークを介して接続される、フローデータを収集する装置(例えば、データベースを備えるサーバ102a)へ出力するようにしてもよい。また、フローデータを収集する装置は、RS−232CやUSB等のインタフェースによって接続されてもよい。さらに、統計用フローデータ出力部604は、所定のインタフェースに対して統計情報を出力する以外にも、通信データ統計装置104に接続された表示装置や印刷装置に対して、統計情報を出力することとしてもよい。
集約データ取得部601と、組合せ抽出部602と、統計用フローテーブル制御部603と、統計用フローデータ出力部604とは、それぞれ、FPGAによって構成されている。これらは、全ての機能が1つのFPGAによって構成されていてもよいし、個別のFPGAによって構成されていてもよい。また、FPGAではなく、ASICによって構成されていてもよい。
A−2.第1の実施例の動作:
第1の実施例における通信データ統計装置104の動作について、図8、9に基づいて、説明する。図8は、第1の実施例の集約部における処理の流れを示すフローチャートであり、図9は、第1の実施例の統計処理部における処理の流れを示すフローチャートである。
まず、図8に示すように、集約部201は、101aから送信されたパケットを受信し(ステップS102)、受信したパケットに含まれる識別子(VIP、SIP、DIP、PRT、SPT、DPT)に基づいて、集約テーブル221(図2)から、識別子が一致するエントリを検索する(ステップS104)。そして、集約部201は、該当するエントリの集約データに含まれる統計情報を、そのパケットに含まれるヘッダ情報に基づいて更新する(ステップS106)。
集約部201は、更新した集約データが、上記した出力条件を満たす場合には(ステップS108において、Yes)、統計出力部バッファ512(図5)に、その集約データを蓄積する(ステップS110)。そして、統計出力部バッファ512に蓄積した集約データに該当するエントリを、集約テーブルから削除する(ステップS112)。集約部201は、統計出力部バッファ512に蓄積された集約データの数が一定数N1に達すると(ステップS114において、Yes)、蓄積された全ての集約データを、統計処理部202へ出力して(ステップS112)、集約部の処理を終了する。
一方、集約部201は、更新した集約データが、上記した出力条件を満たさないと判断した場合には(ステップS108において、No)、更新した集約データを、集約テーブルの該当するエントリに書き込んで(ステップS118)、集約部の処理を終了する。
また、統計出力部バッファ512に蓄積された集約データの数が一定数N1に達しない場合には(ステップS114において、No)、集約部201は、集約データを出力せず、集約部201の処理を終了する。集約部201は、パケットを受信すると、上記した処理を実行する。すなわち、連続してパケットを受信している場合には、上記した処理を繰り返し実行して、記憶装置211に記録されている集約テーブル221(図2)を更新している。
図9に示すように、統計処理部202は、集約部201から集約データを受信すると、受信した集約データから、上記したように、各フローテーブルに格納すべき識別子と、統計情報を抽出する(ステップS202)。統計処理部202は、抽出した識別子(SIP)に基づいて、SIPテーブル231から、識別子が一致するエントリを検索する(ステップS204a)。そして、統計処理部202は、該当するエントリの統計用フローデータに含まれる統計情報を、抽出された統計情報に基づいて更新する(ステップS206a)。
統計処理部202は、更新した統計用フローデータが、上記した出力条件を満たす場合には(ステップS208aにおいて、Yes)、出力部バッファ612(図6)に、更新した統計用フローデータを蓄積する(ステップS210a)。そして、蓄積した統計用フローデータに該当するエントリを、SIPテーブル231から削除する(ステップS212a)。
一方、統計処理部202は、更新した統計用フローデータが、上記した出力条件を満たさないと判断した場合には(ステップS208aにおいて、No)、更新した統計用フローデータを、SIPテーブル231の該当するエントリに書き込む(ステップS214a)。
統計処理部202は、同様の処理を、SIP−DIPテーブル232、SIP−DIP−DIPテーブル233に対して実行する(ステップS204b〜S214b、ステップS204c〜S214c)。
統計処理部202は、SIPテーブル231、SIP−DIPテーブル232、SIP−DIP−DIPテーブル233全てについて、1つの集約データに基づいて、統計用フローデータの更新処理が終了すると、出力部バッファ612(図6)に蓄積された統計用フローデータの数が一定数N2に達したか否か判定し(ステップS216)、蓄積された統計用フローデータの数が一定数N2に達していると(ステップS216において、Yes)、蓄積された全ての統計用フローデータを、通信データ統計装置104が備えるデータベース(図示しない)へ出力して(ステップS212)、統計処理部の処理を終了する。
また、出力部バッファ612に蓄積された統計用フローデータの数が一定数N2に達しない場合には(ステップS216において、No)、統計処理部202は、統計用フローデータを出力せず、統計処理部の処理を終了する。統計処理部202は、集約データを受信すると、上記した処理を実行する。すなわち、連続して集約データを受信している間は、上記した処理を繰り返し実行して、記憶装置211に記録されているSIPテーブル231、SIP−DIPテーブル232、SIP−DIP−DIPテーブル233(図2)を更新している。
A−3.第1の実施例の効果:
従来は、ネットワークを流れる通信データ(トラフィック)について、複数種類の条件の統計をとる場合には、統計の条件に対応する識別子の組み合わせごとに、フローテーブルを作成し、通信データ統計装置が1パケット受信するごとに、全てのテーブルの統計情報を更新していた。すなわち、1パケット受信するごとに、フローテーブルが格納されているメモリにアクセスして、統計情報を更新していた。例えば、上記した実施例と同様に3つのフローテーブル(SIPテーブル、SIP−DIPテーブル、SIP−DIP−DPTテーブル)の統計情報を更新する場合には、パケット数がnとすると、3(テーブル数)×n回、統計情報を更新する必要がある。このような場合に、回線速度が高速であると、受信するパケット数が膨大になるため、フローテーブルが格納されているメモリへのアクセス速度がネックとなり、必要な統計情報をメモリに記録することが困難になる場合があった。
これに対して、本実施例における通信データ統計装置104によれば、SIPテーブル231、SIP−DIPテーブル232、SIP−DIP−DPTテーブル233の統計情報を更新する前に、識別子SIP、DIP、DPT全てを含む集約フロー(識別子フロー情報で規定されるフロー)ごとに、パケット数を集計して、その集計結果である集約データを用いて、SIPテーブル231、SIP−DIPテーブル232、SIP−DIP−DPTテーブル233の統計情報を更新している。
例えば、集約部201が受信するパケット数がnパケットとして、集約部201が統計処理部202に送信するパケット数がm(<n)とすると、統計処理部202において、SIPテーブル231、SIP−DIPテーブル232、SIP−DIP−DPTテーブル233の統計情報を更新する回数は、3(テーブル数)×mである。したがって、本実施例の104におけるテーブル更新回数は、集約テーブルの更新回数と、統計用フローテーブルの更新回数を合わせて、n+3m回となる。
例えば、上記した集約フローに、通常10パケット含まれると考えると、集約率(出力パケット数m/入力パケット数)は、1/10になると考えられる。そのため、n+3m<3nとなる。すなわち、本実施例の通信データ統計装置104によれば、従来より、テーブルの更新回数が減少するため、記憶装置211へのアクセス回数を削減することができる。したがって、統計処理を高速化することが可能となり、ネットワークの規模が大きい場合や回線速度が高速な場合であっても、通信データの統計をとることが可能となる。
また、本実施例の通信データ統計装置104によれば、集約部201における集約テーブル制御部502は、更新した集約データが出力条件を満たす場合には、集約データを統計出力部503へ出力し、該当するエントリを集約テーブル221から削除する。また、統計処理部202における統計用フローテーブル制御部603は、更新した統計用フローデータが出力条件を満たす場合には、統計用フローデータを統計用フローデータ出力部604へ出力し、該当するエントリを統計用フローテーブルから削除する。すなわち、統計情報を更新する際に、出力条件を満たすと、記憶装置211に格納されている各テーブルのエントリが削除されて、空き容量が確保される。そのため、統計の種類が多い場合に、記憶装置211の容量が小さくても、パケットを集約して、統計用フローテーブルを更新することができる。
また、本実施例の通信データ統計装置104によれば、上記したように、出力条件を満たすと、記憶装置211に格納されている各テーブルのエントリが削除されるため、記憶装置211に蓄積される集約フローデータや統計用フローデータの数が膨大になりすぎる可能性を低減することができる。したがって、集約テーブルや、統計用フローテーブルを更新する際に、目的のエントリの検索に要する時間を短縮することができる。
また、本実施例の通信データ統計装置104によれば、受信したパケットについて、複数種類の統計情報が外部の機器に出力される。キャリアやISPは、こうして出力された統計情報を用いることにより、サービス提供時のデータの伝送品質の状況を確認することが可能となる。また、このような情報を用いることで、ネットワーク資源を有効に活用するためのトラフィック・エンジニアリングが可能になる。さらに、顧客の需要を予測してネットワーク資源を計画的に準備しておき、ユーザの要求(帯域、サービス)に対して迅速にネットワーク資源を提供するプロビジョニングや、アタックの検出・分析、課金などを行うことが可能となる。
また、本実施例では、異なり数の集計結果も出力されるため、フロー識別条件によって集約されたフローについて、それらのフローが他の識別子についてどの程度拡散されて送信されているかを把握することができる。そのため、ポートスキャンを伴うネットワークワームの増殖活動等を監視することが可能になる。
B.第2の実施例:
続いて、本発明の第2の実施例について説明する。第2の実施例は、第1の実施例における集約部201をハードウェアで実装した集約装置201Aとして構成し、統計処理部202をコンピュータとプログラムにより実装した統計処理装置202Aとして構成した、通信データ統計装置の実装形態を例示している。集約装置201Aと統計処理装置202Aとは、通信インタフェースを介して接続してもよいし、直接バス等を介して接続してもよい。図10は、統計処理装置202Aの概略構成を示すブロック図である。
図10に示すように、統計処理装置202Aは、CPU(Central Processing Unit)802と、ワークメモリ803と、プログラムメモリ804と、統計情報データベース805と、通信インタフェース807と、集約データ取得部バッファ808と、入出力装置821と、を備える。これらは、バス809によって接続されている。
プログラムメモリには、パケット送受信処理部811、集約データ取得部812、組み合わせ抽出部813、統計用フローテーブル制御部814、統計用フローデータ出力部815が格納されている。これらは、第1の実施例において説明した各部の処理を実現するためのプログラムである。CPU802は、プログラムメモリ804に格納されている各種プログラムを、ワークメモリにロードして実行することにより、各部の機能を実現する。
統計情報データベース805には、第1の実施例で説明した、統計用フローテーブル(SIPテーブル231、SIP−DIPテーブル232、SIP−DIP−DPTテーブル233が格納されている。また、出力される統計用フローデータも、統計情報データベース805に記録される。集約データ取得部バッファ808には、集約装置201Aから通信インタフェース807を介して入力される集約データが格納される。
図11は、本実施例における統計用フローテーブルの更新順序を概念的に示す図である。図11において、各統計用フローテーブルを更新するのに用いる集約データを、A〜Zで示している。本実施例では、組合せ抽出部813は、集約データ取得部バッファ808に蓄積された集約データの中から、第1の集約データ(図中Aで示す)に基づいて、SIP−DIP−DPTテーブル233に格納すべき組合せ抽出データを抽出して、統計用フローテーブル制御部814に送信すると、続いて、第2の集約データ(図中Bで示す)に基づいて、SIP−DIP−DPTテーブル233に格納すべき組合せ抽出データを抽出して、統計用フローテーブル制御部814に送信する。
このように、本実施例における組合せ抽出部813は、集約データ取得部バッファ808に蓄積された1000個の集約データについて、まず、SIP−DIP−DPTテーブル233に格納すべき組合せ抽出データを抽出して、統計用フローテーブル制御部814に送信する。続いて、SIP−DIP−DPTテーブル233に格納すべき組合せ抽出データを抽出したのと同一の1000個の集約データについて、SIP−DIPテーブル232に格納すべき組合せ抽出データを抽出して、統計用フローテーブル制御部814に送信する。最後に、SIP−DIP−DPTテーブル233に格納すべき組合せ抽出データを抽出したのと同一の1000個の集約データについて、SIPテーブル231に格納すべき組合せ抽出データを抽出して、統計用フローテーブル制御部814に送信する。なお、本実施例では、1000個の集約データに基づいて、同一のテーブルに格納すべき抽出データを抽出しているが、その個数は1000個に限定されない。例えば、10000個でも、100000個でもよい。その個数は、予め、管理者によって、任意に設定される。
統計用フローテーブル制御部814は、受信した抽出データに基づいて、統計用フローテーブルを更新する。したがって、統計用フローテーブル制御部814は、まず、SIP−DIP−DPTテーブル233に含まれる1000個の統計用フローデータを更新し、続いて、SIP−DIPテーブル232に含まれる1000個の統計用フローデータを更新し、最後に、SIPテーブル231に含まれる1000個の統計用フローデータを更新する。このようにすると、CPU802は、連続して同一の統計用フローテーブルを更新することになる。そのため、CPU802が同一の統計用フローテーブルを更新している間は、CPU802に付属するキャッシュメモリ802cを、1つの統計用フローテーブルで占有することができるため、キャッシュヒット率が向上する。なお、「連続して同一の統計用フローテーブルを更新する」とは、同一の統計用フローテーブルの更新処理が連続して行なわれていればよく、統計用フローテーブルの更新処理以外の処理が間に行われてもよい。すなわち、1000個の集約データに基づいて、SIP−DIP−DPTテーブル233の更新処理を行う間に、SIP−DIPテーブル232の更新処理や、SIPテーブル231テーブルの更新処理が、間に挟まれなければよい。
次に、本実施例の統計処理装置202Aの動作について、図12〜14に基づいて説明する。図12〜14は、統計処理装置202Aにおける処理の流れを示すフローチャートである。
集約データ取得部812は、集約データを受信すると(ステップU102)、集約データ取得部バッファ808に蓄積し(ステップU104)、集約データ取得部バッファ808内に蓄積される集約データの数(以下、「バッファ蓄積数」という)が1000個か否かを判定する(ステップU106)。バッファ蓄積数が1000個の場合には(ステップU106において、Yes)、組合せ抽出部813は、i=1とする(ステップU108)。
i<1000であるため(ステップU110においてNo)、組合せ抽出部813は、バッファの1番目の集約データ(第1の集約データ)について、SIP−DIP−DPTテーブル233に格納すべき組合せ抽出データを抽出し、統計用フローテーブル制御部814に送信する。統計用フローテーブル制御部814は、受信した抽出データに基づいて、SIP−DIP−DPTテーブル233から識別子が一致するエントリを検索して、該当するエントリの統計用フローデータに含まれる統計情報を更新する(ステップU112)。
統計用フローテーブル制御部814は、更新した統計用フローデータが、所定の出力条件を満たす場合には(ステップU114においてYES)、更新した統計用フローデータを統計用フローデータ出力部815に出力(ステップU116)し、該当するエントリをSIP−DIP−DPTテーブル233から削除する(ステップU118)。出力条件は、上記した第1の実施例における出力条件と同様である。一方、更新した統計用フローデータが、出力条件を満たさない場合には(ステップU114においてNO)、更新した統計用フローデータを、SIP−DIP−DPTテーブル233の該当するエントリに書き込む(ステップU120)。
続いて、組合せ抽出部813は、iを1カウントアップして(すなわち、i=2にして)(ステップU122)、ステップU110に戻り、バッファの2番目の集約データ(第2の集約データ)について、SIP−DIP−DPTテーブル233を更新する(ステップU110〜U120)。CPU802は、ステップU110〜U122の処理を繰り返し、バッファの1000番目の集約データに基づいてSIP−DIP−DPTテーブル233を更新すると、ステップU122において、i=1001として、ステップU110に戻る。i>1000であるため(ステップU110において、YES)、ステップU124の処理に移行する。
組合せ抽出部813は、i=1とする(ステップU124)。i<1000であるため(ステップU126においてNo)、組合せ抽出部813は、バッファの1番目の集約データ(第1の集約データ)について、SIP−DIPテーブル232に格納すべき組合せ抽出データを抽出し、統計用フローテーブル制御部814に送信する。統計用フローテーブル制御部814は、受信した抽出データに基づいて、SIP−DIPテーブル233から識別子が一致するエントリを検索して、該当するエントリの統計用フローデータに含まれる統計情報を更新する(ステップU128)。
統計用フローテーブル制御部814は、更新した統計用フローデータが、所定の出力条件を満たす場合には(ステップU130においてYES)、更新した統計用フローデータを統計用フローデータ出力部815に出力する(ステップU116)し、該当するエントリをSIP−DIPテーブル232から削除する(ステップU118)。出力条件は、上記したSIP−DIP−DPTテーブル233における出力条件と同様である。一方、更新した統計用フローデータが、出力条件を満たさない場合には(ステップU130においてNO)、更新した統計用フローデータを、SIP−DIPテーブル232の該当するエントリに書き込む(ステップU136)。
SIP−DIPテーブル232を更新する場合も、SIP−DIP−DPTテーブル233を更新する場合と同様に、CPU802は、ステップU126〜U136の処理を行うと、iをカウントアップして、i=1000になるまで、ステップU126〜U136の処理を繰り返す。そして、i=1001になると(ステップU126において、YES)、ステップU140に移行する。
CPU802は、上記したSIP−DIP−DPTテーブル233、SIP−DIPテーブル232を更新する場合と同様に、ステップU126〜U136の処理を繰り返して、バッファの1〜1000番目の集約データに基づいて、SIPテーブル231を更新する。そして、i=1001になると、CPU802は、処理を終了する。なお、CPU802は、バッファ蓄積数<1000の場合は(ステップU106において、NO)、上記した処理(ステップU108〜U154)を行なわずに、終了する。すなわち、CPU802は、バッファ蓄積数が1000に達するまでは、受信した集約データを集約データ取得部バッファ808に蓄積するだけでステップU108〜U154の処理は実行せず、バッファ蓄積数が1000に達すると、ステップU108〜U154の処理を繰り返して、SIP−DIP−DPTテーブル233、SIP−DIPテーブル232、SIPテーブル231を更新する。
なお、本実施例における集約装置201Aの動作は、第1の実施例における集約部201の動作と同様であるため、その説明は省略する。
以上説明したように、本実施例の通信データ統計装置における統計処理装置202Aによれば、CPU802は、連続して同一の統計用フローテーブルを更新することになる。そのため、CPU802が同一の統計用フローテーブルを更新している間は、CPU802に付属するキャッシュメモリ802cを、1つの統計用フローテーブルで占有することができるため、キャッシュヒット率が向上する。したがって、1つの集約データに基づいて、3つの統計用フローテーブル(SIP−DIP−DPTテーブル233、SIP−DIPテーブル232、SIPテーブル231)を更新する処理を、1000個の集約データについて繰り返し行なうことにより、3つの統計用フローテーブルを更新する場合に比べて、CPU802が、統計用フローテーブルが格納されている統計情報データベース805にアクセスする回数が減少する。そのため、さらに、統計処理を高速化することができる。
C.第3の実施例:
次に、本発明の第3の実施例について説明する。上述した第1の実施例や第2の実施例では、通信データ統計装置104は独立した装置の形態をとっている。これに対して、第3の実施例では、上述した通信データ統計装置104が有する機能(以下、「通信データ統計機能」という)を図1に示したルータ101aの内部に実装させる構成とする。
図15は、通信データ統計機能を内蔵したルータ101aの機能ブロック図である。ルータ101aは、入力回線に接続された受信パケット処理部1001と、出力回線に接続された送信パケット処理部1002と、受信パケット処理部1001に接続された検索処理部1003と、トラフィック統計取得部1005と、検索処理部1003に付随するルーティングテーブル1004と、ルータ制御部1011とを備えている。
ルータ制御部1011は、管理端末1012に接続されており、管理端末1012の指示に従い、受信パケット処理部1001や送信パケット処理部1002、検索処理部1003に対して、各種の設定を行う。管理端末1012とルータ制御部1011とは、ネットワークによって接続されてもよいし、RS−232CやUSB等のインタフェースによって接続されてもよい。
受信パケット処理部1001は、入力回線から受信したパケットを、一旦、内部に備えるバッファ(図示しない)に蓄積し、蓄積したパケットのヘッダ情報を、検索処理部1003とトラフィック統計取得部1005とに送信する。
検索処理部1003は、受信パケット処理部1001からヘッダ情報を受信すると、ルーティングテーブル1004を参照して、そのパケットの出力先となる出力回線を検索し、その検索結果を、受信パケット処理部1001に通知する。
受信パケット処理部1001は、検索処理部1003から検索結果を受信すると、検索結果に含まれる出力回線が含まれる送信パケット処理部1002に、バッファに蓄積されたパケットと検索結果とを転送する。
送信パケット処理部は、受信パケット処理部から、パケット情報と検索処理部1003による検索結果を受信し、この検索結果に含まれる出力回線にパケットを出力する。
トラフィック統計取得部1005は、図2に示した通信データ統計装置104が有する機能ブロックをすべて有する。ただし、第1の実施例では、ルータ101aからトラフィック情報を受信しているのに対して、本実施例では、受信パケット処理部1001からパケットのヘッダ情報を受信する。また、第1の実施例では、統計用フローデータを、データベース、もしくは所定のインタフェースに対して出力するのに対して、本実施例にでは、受信パケット処理部1001に統計用フローデータが出力される。統計用フローデータを取得した受信パケット処理部1001は、所定のネットワーク機器(例えば、端末装置103a〜103c)に、統計情報を転送する。
以上で説明した第3の実施例によれば、ルータ101aが、高速回線における通信データの統計をとることが可能になる。
D.変形例:
また、上記した第2の実施例における統計処理装置202Aのみで、通信データ統計装置を構成することも可能である。この場合には、統計処理装置202Aにおける集約データ取得部812を、集約装置201Aにおけるパケット取得部501に置き換える。統計処理装置202Aは、ルータ101aから受信したパケットを蓄積して、蓄積されたパケットに基づいて、各統計用フローテーブル(SIP−DIP−DPTテーブル233、SIP−DIPテーブル232、SIPテーブル231)を更新する。このようにしても、CPU802は、連続して同一の統計用フローテーブルを更新することになるため、キャッシュヒット率が向上し、1パケット受信するごとに、全ての統計用フローテーブルを更新する場合に比べて、統計処理を高速化することが可能となる。この構成は、トラフィック量が少ない回線を対象とする場合に、好適である。
以上、本発明の種々の実施例について説明したが、本発明はこれら実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ハードウェアによって実現した機能は、CPUが所定のプログラムを実行することでソフトウェア的に実現することとしてもよい。
第1の実施例としての通信データ統計装置104を含むネットワーク構成の一例を示す図である。 通信データ統計装置104の概略構成を示す機能ブロック図である。 集約テーブル221の構成を示す図である。 各統計用フローテーブルの構成を示す図である。 集約部201の概略構成を示す機能ブロック図である。 統計処理部202の概略構成を示す機能ブロック図である。 組合せ抽出部602における識別子の組合せの抽出の一例を概念的に示す説明図である。 集約部における処理の流れを示すフローチャートである。 統計処理部における処理の流れを示すフローチャートである。 第2の実施例における統計処理装置202Aの概略構成を示すブロック図である。 第2の実施例における統計用フローテーブルの更新順序を概念的に示す図である。 統計処理装置202Aにおける処理の流れを示すフローチャートである。 統計処理装置202Aにおける処理の流れを示すフローチャートである。 統計処理装置202Aにおける処理の流れを示すフローチャートである。 通信データ統計機能を内蔵したルータ101aの機能ブロック図である。
符号の説明
101a、101b、101c…ルータ
102a、102b…サーバ
103a…端末装置
104…通信データ統計装置
201…集約部
201A…集約装置
202…統計処理部
202A…統計処理装置
211…記憶装置
221…集約テーブル
231…SIPテーブル
232…SIP−DIPテーブル
233…SIP−DIP−DPTテーブル
501…パケット取得部
502…集約テーブル制御部
503…統計出力部
511…パケット取得部バッファ
512…統計出力部バッファ
601…集約データ取得部
602…組合せ抽出部
603…統計用フローテーブル制御部
604…統計用フローデータ出力部
611…集約データ取得部バッファ
612…出力部バッファ
701…集約データ
702…抽出データ
802…CPU
802c…キャッシュメモリ
803…ワークメモリ
804…プログラムメモリ
805…統計情報データベース
807…通信インタフェース
808…集約データ取得部バッファ
809…バス
811…パケット送受信処理部
812…集約データ取得部
813…組合せ抽出部
814…統計用フローテーブル制御部
815…統計用フローデータ出力部
821…入出力装置
1001…受信パケット処理部
1002…送信パケット処理部
1003…検索処理部
1004…ルーティングテーブル
1005…トラフィック統計取得部
1011…ルータ制御部
1012…管理端末

Claims (6)

  1. ネットワークを流れる通信データについて、複数種類の条件の統計をとる通信データ統計装置であって、
    複数種類の識別子を含むパケットを受信する受信部と、
    前記受信部において受信されたパケットであって、前記複数種類の識別子うち、予め定められた2種類以上の前記識別子に関して、対応する前記識別子が一致するパケットを、同一の集約フローに分類して、前記集約フローごとに、前記集約フローに属するパケットのパケット数を含む集約統計情報の生成を行なう集約部と、
    前記複数種類の条件のうち、1つの前記統計の条件を定める、1種類以上の識別子に関して、対応する前記識別子が一致する統計用フローに、1つの前記集約フローを分類し、前記分類された統計用フローに属するパケットのパケット数を含む統計情報を、対応する前記集約統計情報に基づいて更新する更新処理を、前記集約部においてパケットが分類された複数の集約フローについて繰り返し行うことによって、前記複数種類の統計の条件について、各統計情報の更新処理を行う統計処理部と、
    を備える、通信データ統計装置。
  2. 請求項1記載の通信データ統計装置において、
    前記統計処理部は、
    1つの前記統計の条件について、予め定められた数の前記集約フローに対応する前記集約統計情報に基づいて、各統計用フローの前記統計情報を更新する処理を、前記複数種類の統計の条件について行なうことによって、前記複数種類の統計の条件について、各統計情報の更新処理を行う、通信データ統計装置。
  3. ネットワークを流れる通信データについて、複数種類の条件の統計をとる通信データ統計方法であって、
    (a)複数種類の識別子を含むパケットを受信する工程と、
    (b)前記工程(a)において受信されたパケットであって、前記複数種類の識別子うち、予め定められた2種類以上の前記識別子に関して、対応する前記識別子が一致するパケットを同一の集約フローに分類して、前記集約フローごとに、前記集約フローに属するパケットのパケット数を含む集約統計情報の生成を行なう工程と、
    (c)1つの前記統計の条件を定める、1種類以上の識別子に関して、対応する前記識別子が一致する統計用フローに、1つの前記集約フローを分類し、前記分類された統計用フローに属するパケットのパケット数を含む統計情報を、対応する前記集約統計情報に基づいて更新する更新処理を行う工程と、
    (d)前記複数種類の統計の条件それぞれに関して、前記工程(c)を、複数の前記集約フローついて繰り返す工程と、
    を備える、通信データ統計方法。
  4. 請求項3に記載の通信データ統計方法において、
    前記工程(d)は、
    (d1)前記工程(c)を、1つの前記統計の条件に対して、予め定められた数の集約フローについて繰り返す工程と、
    (d2)前記工程(d1)を、複数の前記統計の条件について繰り返す工程と、
    を備える、通信データ統計方法。
  5. ネットワークを流れる通信データについて、複数種類の条件の統計をとる通信データ統計装置に統計処理を実行させるためのプログラムであって、
    (a)複数種類の識別子を含むパケットを受信する手順と、
    (b)前記手順(a)において受信されたパケットであって、前記複数種類の識別子うち、予め定められた2種類以上の前記識別子に関して、対応する前記識別子が一致するパケットを、同一の集約フローに分類して、前記集約フローごとに、前記集約フローに属するパケットのパケット数を含む集約統計情報の生成を行なう手順と、
    (c)1つの前記統計の条件を定める、1種類以上の識別子に関して、対応する前記識別子が一致する統計用フローに、1つの前記集約フローを分類し、前記分類された統計用フローに属するパケットのパケット数を含む統計情報を、対応する前記集約統計情報に基づいて更新する更新処理を行う手順と、
    (d)前記複数の統計の条件それぞれに関して、前記手順(c)を、複数の前記集約フローついて繰り返す手順と、
    を、前記通信データ統計装置に実行させるためのプログラム。
  6. 請求項5に記載のプログラムにおいて、
    前記手順(d)は、
    (d1)前記手順(c)を、1つの前記統計の条件に対して、予め定められた数の集約フローについて繰り返す手順と、
    (d2)前記手順(d1)を、複数の前記統計の条件について繰り返す手順と、
    を備える、プログラム。
JP2008202886A 2008-08-06 2008-08-06 通信データ統計装置、通信データ統計方法およびプログラム Active JP5014282B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008202886A JP5014282B2 (ja) 2008-08-06 2008-08-06 通信データ統計装置、通信データ統計方法およびプログラム
US12/483,679 US8427968B2 (en) 2008-08-06 2009-06-12 Communication data statistical apparatus, communication data statistical method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008202886A JP5014282B2 (ja) 2008-08-06 2008-08-06 通信データ統計装置、通信データ統計方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010041471A JP2010041471A (ja) 2010-02-18
JP5014282B2 true JP5014282B2 (ja) 2012-08-29

Family

ID=41652862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008202886A Active JP5014282B2 (ja) 2008-08-06 2008-08-06 通信データ統計装置、通信データ統計方法およびプログラム

Country Status (2)

Country Link
US (1) US8427968B2 (ja)
JP (1) JP5014282B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007050244A2 (en) 2005-10-27 2007-05-03 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US10027688B2 (en) 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US8619586B2 (en) * 2009-10-15 2013-12-31 Cisco Technology, Inc. System and method for providing troubleshooting in a network environment
US8578497B2 (en) * 2010-01-06 2013-11-05 Damballa, Inc. Method and system for detecting malware
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US8724487B1 (en) * 2010-02-15 2014-05-13 Cisco Technology, Inc. System and method for synchronized reporting in a network environment
US9516058B2 (en) 2010-08-10 2016-12-06 Damballa, Inc. Method and system for determining whether domain names are legitimate or malicious
EP2667545A4 (en) 2011-01-17 2017-08-23 Nec Corporation Network system, controller, switch, and traffic monitoring method
US8631489B2 (en) 2011-02-01 2014-01-14 Damballa, Inc. Method and system for detecting malicious domain names at an upper DNS hierarchy
JP5659393B2 (ja) * 2011-08-22 2015-01-28 アラクサラネットワークス株式会社 ネットワーク装置、及び、パケット処理方法
US9922190B2 (en) 2012-01-25 2018-03-20 Damballa, Inc. Method and system for detecting DGA-based malware
US8755389B1 (en) * 2012-04-04 2014-06-17 Google Inc. Semi-centralized multiple path routing
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US9166994B2 (en) 2012-08-31 2015-10-20 Damballa, Inc. Automation discovery to identify malicious activity
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US9680861B2 (en) 2012-08-31 2017-06-13 Damballa, Inc. Historical analysis to identify malicious activity
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
MY172616A (en) * 2013-03-13 2019-12-06 Telekom Malaysia Berhad A system for analysing network traffic and a method thereof
US9571511B2 (en) 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
CN103457949B (zh) * 2013-08-29 2016-09-14 哈尔滨工程大学 一种基于sFlow的大规模网络安全分析方法
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
JP7003873B2 (ja) * 2018-08-07 2022-01-21 日本電信電話株式会社 負荷分散システム及び負荷分散方法
JP7131705B2 (ja) * 2019-07-01 2022-09-06 日本電信電話株式会社 トラフィック監視装置、およびトラフィック監視方法
WO2021031190A1 (zh) * 2019-08-22 2021-02-25 北京大学深圳研究生院 一种路由器及其数据包的评估方法
US11522776B1 (en) * 2021-06-10 2022-12-06 Cradlepoint, Inc. Systems and methods to collect and store network traffic statitics of IP desitnations in time-series format
US20230261955A1 (en) * 2022-01-27 2023-08-17 Avago Technologies International Sales Pte. Limited Feature extraction for inline network analysis

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置
JP4392294B2 (ja) * 2004-06-15 2009-12-24 株式会社日立製作所 通信統計収集装置
JP2006254134A (ja) * 2005-03-11 2006-09-21 Alaxala Networks Corp 通信統計収集装置
JP4547342B2 (ja) 2005-04-06 2010-09-22 アラクサラネットワークス株式会社 ネットワーク制御装置と制御システム並びに制御方法
JP4538370B2 (ja) 2005-05-13 2010-09-08 アラクサラネットワークス株式会社 異常通信探知装置
JP2006352831A (ja) 2005-05-20 2006-12-28 Alaxala Networks Corp ネットワーク制御装置およびその制御方法
US20070008888A1 (en) * 2005-06-28 2007-01-11 Shuchi Chawla Direct lookup tables and extensions thereto for packet classification
JP4512196B2 (ja) * 2005-10-20 2010-07-28 アラクサラネットワークス株式会社 異常トラヒックの検出方法およびパケット中継装置
JP4585975B2 (ja) 2006-02-01 2010-11-24 アラクサラネットワークス株式会社 トラフィック対処装置およびシステム
JP2007208575A (ja) 2006-02-01 2007-08-16 Alaxala Networks Corp 不正トラフィック管理装置およびシステム
JP4331174B2 (ja) * 2006-02-22 2009-09-16 日本電信電話株式会社 トラフィックデータ中継システム、トラフィックデータの分散配置システムおよびトラフィックデータの分散配置方法
JP4346096B2 (ja) * 2006-02-22 2009-10-14 日本電信電話株式会社 トラフィックデータ集約装置およびトラフィックデータ集約方法
JP4267633B2 (ja) * 2006-02-27 2009-05-27 株式会社日立製作所 ネットワークシステム及びトラヒック情報集約装置
JP4774357B2 (ja) * 2006-05-18 2011-09-14 アラクサラネットワークス株式会社 統計情報収集システム及び統計情報収集装置
JP2008113409A (ja) 2006-10-04 2008-05-15 Alaxala Networks Corp トラフィック制御システム及び管理サーバ
JP4734223B2 (ja) 2006-11-29 2011-07-27 アラクサラネットワークス株式会社 トラヒック分析装置および分析方法
JP4871775B2 (ja) 2007-04-06 2012-02-08 アラクサラネットワークス株式会社 統計情報収集装置
JP2009027400A (ja) 2007-07-19 2009-02-05 Alaxala Networks Corp 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード

Also Published As

Publication number Publication date
US20100034109A1 (en) 2010-02-11
US8427968B2 (en) 2013-04-23
JP2010041471A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
JP5014282B2 (ja) 通信データ統計装置、通信データ統計方法およびプログラム
JP4341413B2 (ja) 統計収集装置を備えたパケット転送装置および統計収集方法
JP4392294B2 (ja) 通信統計収集装置
EP1742416B1 (en) Method, computer readable medium and system for analyzing and management of application traffic on networks
US7843827B2 (en) Method and device for configuring a network device
JP4126707B2 (ja) 情報システムの状態を解析する技術
US20180309678A1 (en) Multi-phase ip-flow-based classifier with domain name and http header awareness
JP4774357B2 (ja) 統計情報収集システム及び統計情報収集装置
US10097464B1 (en) Sampling based on large flow detection for network visibility monitoring
US9979624B1 (en) Large flow detection for network visibility monitoring
US10536360B1 (en) Counters for large flow detection
CN106972985B (zh) 加速dpi设备数据处理与转发的方法和dpi设备
US20110167149A1 (en) Internet flow data analysis method using parallel computations
MX2010006846A (es) Metodo para configuracion de acls en dispositivo de red basado en informacion de flujo.
JP2006254134A (ja) 通信統計収集装置
JP4988632B2 (ja) パケット中継装置およびトラフィックモニタシステム
US10003515B1 (en) Network visibility monitoring
KR20090079945A (ko) 플로우 정보 제한장치 및 방법
CN112242965A (zh) 遥测事件聚合
WO2021098425A1 (zh) 配置业务的服务质量策略方法、装置和计算设备
CN116114233A (zh) 自动流管理
Alqahtani et al. Traffic behavior in cloud data centers: A survey
JP2009296158A (ja) 通信データ統計装置および通信データ統計方法
JP4871775B2 (ja) 統計情報収集装置
JP2008135871A (ja) ネットワーク監視システム、ネットワーク監視方法及びネットワーク監視プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

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: 20120508

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: 20120605

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5014282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250