JP2011049794A - パケットフロー統計値取得システム及びパケットフロー統計値取得方法 - Google Patents
パケットフロー統計値取得システム及びパケットフロー統計値取得方法 Download PDFInfo
- Publication number
- JP2011049794A JP2011049794A JP2009196166A JP2009196166A JP2011049794A JP 2011049794 A JP2011049794 A JP 2011049794A JP 2009196166 A JP2009196166 A JP 2009196166A JP 2009196166 A JP2009196166 A JP 2009196166A JP 2011049794 A JP2011049794 A JP 2011049794A
- Authority
- JP
- Japan
- Prior art keywords
- statistics
- packet
- statistical
- collection device
- statistics collection
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】パケットフロー統計値の取得処理を負荷分散させると共に、異なり数を正確に集計する。
【解決手段】パケットフロー統計値取得システムは、パケットフローを特徴付ける複数の特徴アイテムのうち、1以上の特徴アイテムの値に基づきパケットフロー統計を得る複数統計収集装置(第1及び第2の統計収集装置グループにそれぞれ少なくとも1つ属する)と、第1及び第2の統計収集装置グループに属する統計収集装置にそれぞれ接続され、第1のキーアイテムの値に応じて第1の統計収集装置グループのいずれか1つに、受信したパケットのうち少なくとも複数の特徴アイテムの値を送信すると共に、第1のキーアイテムとは異なる第2のキーアイテムの値に応じて第2の統計収集装置グループのいずれか1つに、受信したパケットのうち少なくとも複数の特徴アイテムの値を送信する負荷分散装置と、を備える。
【選択図】図1
【解決手段】パケットフロー統計値取得システムは、パケットフローを特徴付ける複数の特徴アイテムのうち、1以上の特徴アイテムの値に基づきパケットフロー統計を得る複数統計収集装置(第1及び第2の統計収集装置グループにそれぞれ少なくとも1つ属する)と、第1及び第2の統計収集装置グループに属する統計収集装置にそれぞれ接続され、第1のキーアイテムの値に応じて第1の統計収集装置グループのいずれか1つに、受信したパケットのうち少なくとも複数の特徴アイテムの値を送信すると共に、第1のキーアイテムとは異なる第2のキーアイテムの値に応じて第2の統計収集装置グループのいずれか1つに、受信したパケットのうち少なくとも複数の特徴アイテムの値を送信する負荷分散装置と、を備える。
【選択図】図1
Description
本発明は、ネットワークを介して送受信されるパケットに基づきパケットフローに関する統計値を取得する技術に関する。
ADSL(Asymmetric Digital Subscriber Line)や、FTTH(Fiber To The Home)技術の発達により、ネットワークのブロードバンド化が進み、通信データ量が増加している。これに伴い、通信事業者やISP(Internet Services Provider)において、通信品質の向上やアプリケーションの最適化等を目的として、実際に送受信されるパケットに基づき、パケットの送信元及び宛先,TCP/UDPポート番号,上位プロトコル種別等により分類されるパケット群(以下、「パケットフロー」と呼ぶ)に関する統計値(以下、「パケットフロー統計値」と呼ぶ)の取得が求められている。そこで、パケットのヘッダに記述されているパケットフローを特徴付けるアイテム(送信元IPアドレスや、宛先IPアドレスや、上記プロトコル種別や、送信元TCP/UDPポート番号や、宛先TCP/UDPポート番号等)に基づき、これらアイテムの組み合わせが同一のパケットの数をカウントすることで、パケットフロー毎の通信量を集計する技術が提案されている(特許文献1)。
上記パケットフロー毎の通信量を集計する技術では、高速データ通信においてパケットフロー統計値(例えば、パケットフロー毎の通信量)を取得する処理を実行する場合、パケットをバッファするメモリへのアクセス速度がボトルネックとなり、パケットフロー統計値を正確に取得することが困難となっていた。そこで、パケットフロー統計値の取得処理の負荷を分散させるために、複数の統計収集装置に対して、ロードバランサを用いてパケットフロー単位で処理を分散させる方法が考えられる。
しかしながら、このような負荷分散方法では、所定のアイテムについての異なり数(一部のアイテムの値が一致するパケットの種類数)を正確に取得することが困難になるという問題があった。具体的には、例えば、「送信元IPアドレス」が同一であり「宛先IPアドレス」が互いに異なるパケットの種類数(異なり数)を集計しようとする場合、送信元IPアドレスが同一であるパケットは各統計収集装置に分散されて集計されている可能性がある。したがって、全ての統計収集装置からパケットフロー毎のパケット数を集め、これらのパケット数の中から、条件に合致するパケット数を抽出して集計しなければならず、正確な異なり数を取得できないおそれがあった。
また、或る期間における異なり数を正確に集計しようとすると、各統計収集装置からパケットフロー統計値(パケットフロー毎のパケット数)を出力するタイミングを合わせなければならないため、高い頻度で発生するパケットフローのパケットを集計する統計収集装置においては、出力タイミングまでの間に多数のパケットフロー統計値を記憶しておかねばならず、パケットフロー統計値を記憶するための記憶容量が不足するという問題があった。
本発明は、パケットフロー統計値の取得処理を負荷分散させると共に、異なり数を正確に集計することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1]ネットワークを介して送受信されるパケットに基づき、パケットフローに関する統計値であるパケットフロー統計値を得るためのパケットフロー統計値取得システムであって、前記パケットのヘッダに含まれている前記パケットフローを特徴付ける複数のアイテムである複数の特徴アイテムのうち、1つ以上の特徴アイテムの値に基づき前記パケットフロー統計値を得る複数の統計収集装置であって、少なくとも1つの前記統計収集装置は、第1の統計収集装置グループに属し、前記第1の統計収集グループに属する前記統計収集装置とは異なる少なくとも1つの前記統計収集装置は、第2の統計収集装置グループに属する、複数の統計収集装置と、前記第1及び第2の統計収集装置グループに属する前記統計収集装置にそれぞれ接続され、前記ネットワークから前記パケットを受信する負荷分散装置であって、前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせである第1のキーアイテムの値に応じて前記第1の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信すると共に、前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせであり前記第1のキーアイテムとは異なる第2のキーアイテムの値に応じて前記第2の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信する負荷分散装置と、を備える、パケットフロー統計値収集システム。
適用例1のパケットフロー統計値取得システムでは、第1のキーアイテムの値に応じて第1の統計収集装置グループのいずれか1つの統計収集装置に少なくとも複数の特徴アイテムの値を送信すると共に、第2のキーアイテムの値に応じて第2の統計収集装置グループのいずれか1つの統計収集装置に少なくとも複数の特徴アイテムの値を送信するので、第1のキーアイテムの値に基づくパケットフロー統計値の取得と、第2のキーアイテムの値に基づくパケットフロー統計値の取得とを負荷分散できる。また、第1のキーアイテムが同一の値であるパケットについては、第1の統計収集装置グループのいずれか1つの統計収集装置に送信されるので、複数の統計収集装置で取得されたパケットフロー統計値を集約する必要がない。同様に、第2のキーアイテムが同一の値であるパケットについては、第2の統計収集装置グループのいずれか1つの統計収集装置に送信されるので、複数の統計収集装置で取得されたパケットフロー統計値を集約する必要がない。したがって、第1のキーアイテムが同一のパケットについてのパケット数等のパケットフロー統計値や、異なり数を正確に取得することができると共に、各統計収集装置において、他の統計収集装置においてパケットフロー統計値が取得されるまで、パケットフロー統計値や受信したパケットを記憶しておく必要がないので、パケットフロー統計値や受信したパケットを記憶するための記憶容量が不足することを抑制できる。
[適用例2]適用例1に記載のパケットフロー統計値取得システムにおいて、さらに、前記第1及び第2の統計収集装置グループに属する前記統計収集装置にそれぞれ接続された統計集約装置を備え、前記第1及び第2の統計収集装置グループに属する前記統計収集装置は、それぞれ前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を前記統計集約装置に送信し、前記統計集約装置は、前記複数の特徴アイテムのうち、前記第1及び第2のキーアイテムとは異なる1つ以上の前記特徴アイテムの値に基づき前記パケットフロー統計を得る、パケットフロー統計値取得システム。
このような構成により、第1のキーアイテム及び第2のキーアイテムとは異なる1つ以上の特徴アイテムの値についても、パケットフロー統計値を取得することができる。
[適用例3]適用例2に記載のパケットフロー統計値取得システムにおいて、前記統計集約装置は、前記パケットフロー統計値を出力する統計情報出力部を有し、前記第1及び第2の統計収集装置グループに属する前記統計収集装置は、それぞれ得られた前記パケットフロー統計値を前記統計集約装置に送信し、前記統計情報出力部は、前記第1及び第2のキーアイテムのうち前記第1のキーアイテムのみを含む1つ以上の前記特徴アイテムに基づき得られた前記パケットフロー統計値については、前記第1の統計収集装置グループに属する前記統計収集装置から受信した前記パケットフロー統計値を出力し、前記第1及び第2のキーアイテムのうち前記第2のキーアイテムのみを含む1つ以上の前記特徴アイテムに基づき得られた前記パケットフロー統計値については、前記第2の統計収集装置グループに属する前記統計収集装置から受信した前記パケットフロー統計値を出力し、前記第1のキーアイテムと前記第2のキーアイテムとのいずれも含む1つ以上の前記特徴アイテムに基づき得られた前記パケットフロー統計値については、前記第1の統計収集装置グループ及び前記第2の統計収集装置グループのいずれか一方の統計収集装置グループに属する前記統計収集装置から受信した前記パケットフロー統計値を出力する、パケットフロー統計値取得システム。
このような構成により、第1及び第2のキーアイテムのうち第1のキーアイテムのみを含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値については、第1の統計収集装置グループに属する統計収集装置から受信したパケットフロー統計値を出力するので、第1及び第2のキーアイテムのうち第1のキーアイテムのみを含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値として、正確な値を出力することができる。これは、第1のキーアイテムのみを含む1つ以上の特徴アイテムに基づくパケットフロー統計値は、第1の統計収集装置グループに属する統計収集装置においてのみ正確に取得できるからである。また、第1及び第2のキーアイテムのうち第2のキーアイテムのみを含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値については、第2の統計収集装置グループに属する統計収集装置から受信したパケットフロー統計値を出力するので、第1及び第2のキーアイテムのうち第2のキーアイテムのみを含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値として、正確な値を出力することができる。これは、第2のキーアイテムのみを含む1つ以上の特徴アイテムに基づくパケットフロー統計値は、第2の統計収集装置グループに属する統計収集装置においてのみ正確に取得できるからである。また、第1のキーアイテムと第2のキーアイテムとのいずれも含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値については、第1の統計収集装置グループ及び第2の統計収集装置グループのいずれか一方の統計収集装置グループに属する統計収集装置から受信したパケットフロー統計値を出力するので、第1のキーアイテムと第2のキーアイテムとのいずれも含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値として、正確な値を出力することができる。これは、第1のキーアイテムと第2のキーアイテムとのいずれも含む1つ以上の特徴アイテムに基づき得られたパケットフロー統計値は、第1の統計収集装置グループと第2の統計収集装置グループとで同じ値を重複して取得できるため、いずれか一方からのパケットフロー統計値を出力することで、重複したパケットフロー統計値の出力を抑制できるからである。
[適用例4]適用例1ないし適用例3のいずれかに記載のパケットフロー統計値取得システムにおいて、前記特徴アイテムは、送信元IPアドレスと、宛先IPアドレスと、上位プロトコル種別と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも2つを含む、パケットフロー統計値取得システム。
このような構成により、送信元IPアドレスと、宛先IPアドレスと、上位プロトコル種別と、送信元ポート番号と、宛先ポート番号とのうち、いずれか2つをキーアイテムとして設定することができる。
[適用例5]適用例4に記載のパケットフロー統計値取得システムにおいて、前記第1のキーアイテムは、送信元IPアドレスであり、前記第2のキーアイテムは、宛先IPアドレスである、パケットフロー統計値取得システム。
このような構成により、送信元IPアドレスに基づくパケットフロー統計値、及び宛先IPアドレスに基づくパケットフロー統計値の取得処理の負荷を分散させることができると共に、送信元IPアドレスが同一のパケットについての異なり数、及び宛先IPアドレスが同一のパケットについての異なり数を正確に集計(取得)することができる。
[適用例6]ネットワークを介して送受信されるパケットに基づき、パケットフローに関する統計値であるパケットフロー統計値を得るためのパケットフロー統計値取得方法であって、(a)前記パケットのヘッダに含まれている前記パケットフローを特徴付ける複数のアイテムである複数の特徴アイテムのうち、1つ以上の特徴アイテムの値に基づき前記パケットフロー統計値を得る複数の統計収集装置であって、少なくとも1つの前記統計収集装置は、第1の統計収集装置グループに属し、前記第1の統計収集グループに属する前記統計収集装置とは異なる少なくとも1つの前記統計収集装置は、第2の統計収集装置グループに属する、複数の統計収集装置を用意する工程と、(b)前記ネットワークを介して前記パケットを取得する工程と、(c)前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせである第1のキーアイテムの値に応じて前記第1の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信すると共に、前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせであり前記第1のキーアイテムとは異なる第2のキーアイテムの値に応じて前記第2の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信する工程と、を備える、パケットフロー統計値取得方法。
適用例6のパケットフロー統計値取得方法では、第1のキーアイテムの値に応じて第1の統計収集装置グループのいずれか1つの統計収集装置に少なくとも複数の特徴アイテムの値を送信すると共に、第2のキーアイテムの値に応じて第2の統計収集装置グループのいずれか1つの統計収集装置に少なくとも複数の特徴アイテムの値を送信するので、第1のキーアイテムの値に基づくパケットフロー統計値の取得と、第2のキーアイテムの値に基づくパケットフロー統計値の取得とを負荷分散できる。また、第1のキーアイテムが同一の値であるパケットについては、第1の統計収集装置グループのいずれか1つの統計収集装置に送信されるので、複数の統計収集装置で取得されたパケットフロー統計値を集約する必要がない。同様に、第2のキーアイテムが同一の値であるパケットについては、第2の統計収集装置グループのいずれか1つの統計収集装置に送信されるので、複数の統計収集装置で取得されたパケットフロー統計値を集約する必要がない。したがって、第1のキーアイテム又は第2のキーアイテムが同一のパケットについてのパケット数等のパケットフロー統計値や、異なり数を正確に取得することができると共に、各統計収集装置において、他の統計収集装置においてパケットフロー統計値が取得されるまで、パケットフロー統計値や受信したパケットを記憶しておく必要がないので、パケットフロー統計値や受信したパケットを記憶するための記憶容量が不足することを抑制できる。
A.第1の実施例:
A1.システム構成:
図1は、本発明の一実施例としてのパケットフロー統計値取得システムの概略構成を示す説明図である。パケットフロー統計値取得システム10は、ネットワークシステム100に接続され、ネットワークシステム100において送受信されるパケットに基づき、ネットワークシステム100内のパケットフローに関する統計値(以下、「パケットフロー統計値」と呼ぶ)を取得する。本実施例において、「パケットフロー」とは、各パケットのヘッダに記載されたアイテムにより分類されるパケット群を意味する。「ヘッダに記載されたパケットフローを分類するためのアイテム」とは、本実施例では、送信元IPアドレスと、宛先IPアドレスと、送信元TCPポート番号(以下、単に「送信元ポート番号」と呼ぶ)と、宛先ポート番号と、上記プロトコル種別とを意味する。
A1.システム構成:
図1は、本発明の一実施例としてのパケットフロー統計値取得システムの概略構成を示す説明図である。パケットフロー統計値取得システム10は、ネットワークシステム100に接続され、ネットワークシステム100において送受信されるパケットに基づき、ネットワークシステム100内のパケットフローに関する統計値(以下、「パケットフロー統計値」と呼ぶ)を取得する。本実施例において、「パケットフロー」とは、各パケットのヘッダに記載されたアイテムにより分類されるパケット群を意味する。「ヘッダに記載されたパケットフローを分類するためのアイテム」とは、本実施例では、送信元IPアドレスと、宛先IPアドレスと、送信元TCPポート番号(以下、単に「送信元ポート番号」と呼ぶ)と、宛先ポート番号と、上記プロトコル種別とを意味する。
パケットフロー統計値取得システム10は、負荷分散装置20と、4つの統計収集装置(第1〜4統計収集装置)31〜34と、統計集約装置40と、管理用端末50とを備えている。
負荷分散装置20は、ネットワークシステム100及び4つの統計収集装置31〜34にそれぞれ接続されており、ネットワークシステム100からパケットを取得し、取得したパケットのアイテムの値に応じて、4つの統計収集装置31〜34のうち、後述のキーアイテムの数に相当する台数(本実施例では2台)の統計収集装置に取得したパケットを転送する。
4つの統計収集装置31〜34は、それぞれ負荷分散装置20及び統計集約装置40に接続されており、負荷分散装置20から受信したパケットに基づき、所定のパケットフロー統計値を取得して統計集約装置40に送信する。各統計収集装置31〜34において取得されるパケットフロー統計値の詳細は後述する。図1の例では、各統計収集装置31〜34には、予め各統計収集装置を識別する識別子(装置ID)が設定されている。具体的には、第1統計収集装置31には、装置ID「A」が設定されている。同様に、第2統計収集装置32には装置ID「B」が、第3統計収集装置33には装置ID「C」が、第4統計収集装置34には装置ID「D」が、それぞれ設定されている。なお、これら装置ID「A」〜「D」に代えて、各統計収集装置31〜34のMAC(Media Access Control)アドレスをIDとして設定することもできる。
統計集約装置40は、4つの統計収集装置31〜34と、負荷分散装置20と、管理用端末50とに接続されている。統計集約装置40は、4つの統計収集装置31〜34から得られたパケットフロー統計値を集約して統計情報として出力する。統計情報の出力先としては、例えば、パケットフロー統計値をグラフや表にして表示する統計管理用端末(図示省略)や、統計情報を蓄積するストレージ装置(図示省略)などを採用することができる。また、統計集約装置40は、負荷分散装置20及び4つの統計収集装置31〜34を制御する。
管理用端末50は、システム管理者が、パケットフロー統計値を取得及び集約を行うために必要なパラメータ(以下、「制御情報」と呼ぶ)を、統計集約装置40に設定するために用いられる端末である。なお、統計集約装置40に設定される制御情報の詳細は後述する。
ネットワークシステム100の概略構成について説明する。図1の左側に示すように、ネットワークシステム100は、相互に接続された3つのルータ91〜93と、2台のサーバ(第1,2サーバ)97,98と、3台の端末(第1〜3端末)94〜96とを備えている。第1サーバ97は、ルータ92に接続されている。第2サーバ98は、ルータ93に接続されている。3台の端末94〜96は、ルータ91に接続されている。なお、前述のパケットフロー統計値取得システム10の負荷分散装置20は、ルータ91に接続されている。ルータ91は、いわゆるミラーリング機能を有しており、他のルータ92,93や各端末94〜96に転送するパケットをコピーして、負荷分散装置20に送信する。なお、各パケットをコピーして負荷分散装置20に送信する技術として、ミラーリングに代えて、RFC(Request For Comment)3176で規定されているsFlowを採用することもできる。
ネットワークシステム100では、各端末94〜96は、各サーバ97,98との間において、それぞれレイヤ3(OSI参照モデルにおける第3層(ネットワーク層))の通信を行うことができる。本実施例では、レイヤ3のプロトコルとしてIP(Internet Protocol)を採用するが、IPに代えて、IPX(Internetwork Packet eXchange)等の他のプロトコルを採用することもできる。また、本実施例では、レイヤ4(OSI参照モデルにおける第4層(トランスポート層))のプロトコルとしてTCP(Transmission Control Protocol)を採用するが、TCPに代えて、UDP(User Datagram Protocol)等の他のプロトコルを採用することもできる。
3台の端末94〜96及び2台のサーバ97,98には、それぞれ予めIPアドレスが設定されている。具体的には、第1端末94にはIPアドレス「X1」が設定されている。同様に、第2端末95にはIPアドレス「X2」が、第3端末にはIPアドレス「X3」が、第1サーバ97にはIPアドレス「Y1」が、第2サーバ98にはIPアドレス「Y2」が、それぞれ予め設定されている。なお、各ルータ91〜93のポートにもそれぞれIPアドレスが予め設定されているが、図1では記載を省略している。また、上述した各IPアドレスは、説明の便宜上、模式的に表わしているが、実際には、IPv4又はIPv6の規定に従ったIPアドレスが、それぞれ設定されている。
図2は、図1に示す負荷分散装置20の機能ブロック図である。負荷分散装置20は、4つの出力ポートOP1〜OP4と、制御部21と、パケット受信部22と、検索部23と、パケット送信部24とを備えている。各機能部21〜24は、図示しないメモリ内のプログラムを図示しないマイクロプロセッサが実行することにより実現される。或いは、AISC(Application Specific Integrated Circuit)により各機能部21〜24を構成することもできる。
第1出力ポートOP1は、第1統計収集装置31に接続されている。同様に、第2出力ポートOP2は第2統計収集装置32に、第3出力ポートOP3は第3統計収集装置33に、第4出力ポートOP4は第4統計収集装置34に、それぞれ接続されている。これら4つの出力ポートOP1〜OP4は、それぞれ接続されている統計収集装置31〜34に対してパケットを出力(送信)するためのポート(物理的なインタフェース)である。
制御部21は、パケット受信部22,検索部23,パケット送信部24,及び統計集約装置40に接続され、統計集約装置40からの制御情報に基づき、各機能部22〜24を制御する。
パケット受信部22は、アイテム抽出部221とパケット転送部222とを備えている。アイテム抽出部221は、ルータ91から出力されたパケットを受信して、ヘッダに記述されている各アイテム(送信元IPアドレス(SIP),宛先IPアドレス(DIP),送信元ポート番号(SPT),宛先ポート番号(DPT),上位プロトコル種別(PTR))の値を抽出して、検索部23に送信すると共に、受信したパケットをパケット転送部222に送信する。パケット転送部222は、アイテム抽出部221から受信したパケットを図示しないバッファに蓄積すると共に、検索部23から通知された出力先に対して、バッファに蓄積されたパケットを送信する。後述するように、検索部23からは2つの出力先が通知されるので、パケット転送部222は、バッファに蓄積されたパケットを2つの出力先にコピーして送信する。
検索部23は、キーアイテム抽出部231と、ハッシュ演算部232と、出力先決定部233とを備え、パケット受信部22により受信したパケットの出力先の出力ポートを決定する。
キーアイテム抽出部231は、アイテム抽出部221から受信した各アイテムの値のうち、キーアイテムの値を抽出してハッシュ演算部232に渡す。キーアイテムとは、4つの統計収集装置31〜34のうち、パケットの転送先の統計収集装置を決定するために用いられるアイテムであり、予めシステム管理者によって定められる。なお、本実施例では、後述するように、キーアイテムとして「SIP」と「DIP」とが予め定められている。
ハッシュ演算部232は、キーアイテム抽出部231から受信したキーアイテムの値を、所定のハッシュ関数に代入してハッシュ値を求め、得られたハッシュ値を出力先決定部233に送信する。本実施例では、ハッシュ関数として、任意の範囲の整数値(例えば、1〜254)のいずれかを得ることができる任意の関数を採用することができる。
出力先決定部233は、負荷分散出力先テーブル234を備え、ハッシュ演算部232から受信したハッシュ値に基づき、負荷分散出力先テーブル234を参照してパケットの出力先を決定し、決定した出力先の情報をパケット受信部22のパケット転送部222に通知する。
図3は、図2に示す負荷分散出力先テーブル234の設定内容を示す説明図である。負荷分散出力先テーブル234は、キーアイテムとグループIDと出力ポートとを互いに対応付けている。キーアイテムフィールドは、キーアイテムを示す。グループIDフィールドは、4つの統計収集装置31〜34のうち、パケットの分散先となる1つ以上の統計収集装置からなる統計収集装置群の識別子を示す。出力ポートフィールドは、4つの出力ポートOP1〜OP4のうち、パケットを転送する際に用いる出力ポートを示す。
図3の例では、2つのキーアイテム(SIP,DIP)に対応した2つのエントリ(第1,2エントリ)が負荷分散出力先テーブル234に設定されている。第1エントリでは、キーアイテム「SIP」,グループID「GID1」,出力ポート「第1出力ポートOP1(0),第2出力ポートOP2(1)」が設定されている。グループID「GID1」とは、2台の統計収集装置31,32からなる統計収集装置群の識別子である。出力ポート「第1出力ポートOP1(0)」とは、ハッシュ値を2で除算した余りの値が「0」である場合に、第1出力ポートOP1を出力ポートとして選択することを意味する。出力ポート「第2出力ポートOP2(1)」とは、ハッシュ値を2で除算した余りの値が「1」である場合に、第2出力ポートOP2を出力ポートとして選択することを意味する。
負荷分散出力先テーブル234の第2エントリでは、キーアイテム「DIP」,グループID「GID2」,出力ポート「第3出力ポートOP3(0),第4出力ポートOP4(1)」が設定されている。グループID「GID2」とは、2台の統計収集装置33,34からなる統計収集装置群の識別子である。出力ポート「第3出力ポートOP3(0)」とは、ハッシュ値を2で除算した余りの値が「0」である場合に、第3出力ポートOP3を出力ポートとして選択することを意味する。出力ポート「第4出力ポートOP4(1)」とは、ハッシュ値を2で除算した余りの値が「1」である場合に、第4出力ポートOP4を出力ポートとして選択することを意味する。
このような負荷分散出力先テーブル234を用いた出力先の具体的な決定方法は、以下の通りである。すなわち、出力先決定部233は、ハッシュ演算部232から受信したハッシュ値を2で除算して得られた余りの値に基づき、負荷分散出力先テーブル234の出力ポートフィールドを参照して出力ポートを決定する。例えば、ハッシュ値を2で除算した余りが「0」であれば、出力先決定部233は、第1出力ポートOP1及び第3出力ポートOP3を出力先として決定する。ハッシュ値を、2で除算して得られた余りは「0」か「1」となる。したがって、各グループIDと対応付けられた2つの出力ポートのうち、いずれかの出力ポートがパケットの出力先(転送先)として決定されるので、パケットは、合計2つの出力ポートに出力される。なお、出力先決定部233がハッシュ値を除算する際の値「2」は、各グループに属する統計収集装置の台数を意味する。したがって、ハッシュ値を2で割ることにより得られる余りは、「0」又は「1」の2通りとなるので、各グループにおいて、出力先の統計収集装置(出力ポート)が2つに分散される。
図2に示すパケット送信部24は、4つの送信部241〜244を備えている。第1送信部241は、パケット受信部22及び第1出力ポートOP1に接続されており、パケット転送部222から出力されるパケットを、第1出力ポートOP1を介して第1統計収集装置31に送信する。第2送信部242は、パケット受信部22及び第2出力ポートOP2に接続されており、パケット転送部222から出力されるパケットを、第2出力ポートOP2を介して第2統計収集装置32に送信する。第3送信部243は、パケット受信部22及び第3出力ポートOP3に接続されており、パケット転送部222から出力されるパケットを、第3出力ポートOP3を介して第3統計収集装置33に送信する。第4層深部244は、パケット受信部22及び第4出力ポートOP4に接続されており、パケット転送部222から出力されるパケットを、第4出力ポートOP4を介して第4統計収集装置34に送信する。
図4は、図1に示す第1,2統計収集装置31,32の機能ブロック図である。2つの統計収集装置31,32は、互いに同じ構成を有しており、それぞれ、制御部311と、パケット受信部312と、組み合わせ生成部314と、フローテーブル制御部315と、メモリ320と、フローデータ出力部316とを備えている。各機能部311〜316は、図示しないメモリ内のプログラムを図示しないマイクロプロセッサが実行することにより実現される。或いは、AISC(Application Specific Integrated Circuit)により各機能部21〜24を構成することもできる。
制御部311は、組み合わせ生成部314,フローテーブル制御部315,及び統計集約装置40に接続され、統計集約装置40からの制御情報に基づき、各機能部314,315を制御する。
パケット受信部312は、パケットパケット受信バッファ3aを備え、負荷分散装置20(第1出力ポートOP1又は第3出力ポートOP3)から送信されたパケットを受信してパケット受信バッファ3aに格納する。
組み合わせ生成部314は、各アイテムのうち、制御部311から指定された集約アイテムの値(値の組み合わせ)を抽出してフローテーブル制御部315に渡す。集約アイテムとは、パケットフロー統計値を取得する際の基礎となるアイテムであり、予めシステム管理者によって定められる。本実施例では、第1,2統計収集装置に対し、集約アイテムとして「SIP」と「SIP−DIP」と「DPT」とが予め定められている。
フローテーブル制御部315は、メモリ320内に格納されているフローテーブル(後述)の生成及び更新を行うと共に、所定の条件に合致した場合に、各フローテーブルのエントリに設定されている値を、メモリ320から読み出してフローデータ出力部316に渡す。
メモリ320は、フローテーブル格納部330を備えており、フローテーブル格納部330にフローテーブルを格納する。図4の例では、フローテーブル格納部330には、3つのフローテーブル(SIPテーブル331,SIP−DIPテーブル332,DPTテーブル333)が格納されている。
図5は、第1統計収集装置31が備えるSIPテーブルの内容を示す説明図である。図5では、第2統計収集装置32が備えるSIPテーブルと区別するために、第1統計収集装置31が備えるSIPテーブルに対して符号「331a」を付している。
SIPテーブル331aは、集約アイテム「SIP」と、統計情報とを対応付けている。集約アイテムフィールドは、集約アイテム「SIP」の値を示す。統計情報フィールドは、パケット数フィールドと、バイト数フィールドと、開始時刻フィールドと、最終更新時刻フィールドと、異なり数フィールドと、その他フィールドとを備えている。パケット数フィールドは、集約アイテムフィールドの値と同一の値が設定されたパケットの数を示す。バイト数フィールドは、集約アイテムフィールドの値と同一の値が設定されたパケットにより送信されたデータ量を示す。開始時刻フィールドは、エントリを生成した時刻を示す。最終更新時刻は、エントリを最後に更新した時刻を示す。異なり数フィールドは、集約アイテムフィールドの値と同一の値が設定されたパケットであって、所定のアイテムの値が異なるパケットの種類数を示す。図5の例では、異なり数フィールドは、SIPの値が同一であって、DIPの値が異なるパケットの種類数を示す。その他フィールドは、パケット数,バイト数,開始時刻,最終更新時刻,及び異なり数とは異なる、他の統計値をカウントした値を示す。具体的には、例えば、TCPフラグのうちSYNフラグが立っているパケットの数や、DIPの値ごとのパケット数の平均値,分散,中央値などを採用することができる。
図5の例では、エントリ番号「Es1_1」のエントリがSIPテーブル331aに記録されている。このエントリ(Es1_1)では、集約アイテム「X1」,パケット数「10」,バイト数「b11」,開始時刻「t11」,最終更新時刻「t12」,異なり数「2」,その他「N11」が設定されている。なお、各フィールドの値のうち、集約アイテムフィールド,パケット数フィールド及び異なり数フィールドを除く他のフィールドの値については、模式的な値を表している。
図6は、第1統計収集装置31が備えるSIP−DIPテーブルの内容を示す説明図である。図6では、第2統計収集装置32が備えるSIP−DIPテーブルと区別するために、第1統計収集装置31が備えるSIP−DIPテーブルに対して符号「332a」を付している。
SIP−DIPテーブル332aは、集約アイテム「SIP−DIP」(すなわち、SIPとDIPとの組み合わせ)と、統計情報とを対応付けている。集約アイテムフィールドは、SIPフィールドと、DIPフィールドとを備えている。SIPフィールドは、集約アイテム「SIP−DIP」のうち、SIPの値を示す。DIPフィールドは、集約アイテム「SIP−DIP」のうち、DIPの値を示す。なお、統計情報フィールドは、異なり数フィールドを備えていない点を除き、図5に示すSIPテーブル331aと同じであるので、説明を省略する。
図6の例では、エントリ番号「Esd1_1」及び「Esd1_2」の2つのエントリがSIP−DIPテーブル332aに記録されている。エントリ(Esd1_1)では、集約アイテム「X1,Y1」,パケット数「6」,バイト数「b21」,開始時刻「t21」,最終更新時刻「t22」,その他「N23」が設定されている。また、エントリ(Esd1_2)では、集約アイテム「X1,Y2」,パケット数「4」,バイト数「b22」,開始時刻「t22」,最終更新時刻「t24」,その他「N24」が設定されている。なお、これらエントリの各フィールドの値のうち、集約アイテムフィールド及びパケット数フィールドを除く他のフィールドの値については、模式的な値を表している。
図7は、第1統計収集装置31が備えるDPTテーブルの内容を示す説明図である。図7では、第2統計収集装置32が備えるDPTテーブルと区別するために、第1統計収集装置31が備えるDPTテーブルに対して符号「333a」を付している。
DPTテーブル333aは、集約アイテム「DPT」と、統計情報とを対応付けている。集約アイテムフィールドは、集約アイテム「DPT」の値を示す。なお、統計情報フィールドは、図5に示すSIPテーブル331aと同じであるので、説明を省略する。
図7の例では、エントリ番号「Edp1_1」及び「Edp1_2」の2つのエントリがDPTテーブル333aに記録されている。エントリ(Edp1_1)では、集約アイテム「P1」,パケット数「6」,バイト数「b31」,開始時刻「t31」,最終更新時刻「t33」,その他「N33」が設定されている。また、エントリ(Edp1_2)では、集約アイテム「P2」,パケット数「4」,バイト数「b32」,開始時刻「t32」,最終更新時刻「t34」,その他「N34」が設定されている。なお、これらエントリの各フィールドの値のうち、集約アイテムフィールド及びパケット数フィールドを除く他のフィールドの値については、模式的な値を表している。
図8は、図1に示す第3,4統計収集装置33,34の機能ブロック図である。2つの統計収集装置33,34は、互いに同じ構成を有している。ここで、2つの統計収集装置33,34は、SIPテーブル331に代えて、DIPテーブル333がフローテーブル格納部330に格納されている点を除き、図4に示す2つの統計収集装置31,32と同じ構成を有する。
図9は、第3統計収集装置33が備えるDIPテーブルの内容を示す説明図である。なお、図9では、第4統計収集装置34が備えるDIPテーブルと区別するために、第3統計収集装置33が備えるDIPテーブルに対して符号「334c」を付している。
DIPテーブル334cは、集約アイテム「DIP」と、統計情報とを対応付けている。集約アイテムフィールドは、集約アイテム「DIP」の値を示す。統計情報フィールドは、異なり数フィールドが、DIPの値が同一であって、SIPの値が異なるパケット種類数を示す点を除き、図5に示すSIPテーブル331aと同じであるので、説明を省略する。
図9の例では、エントリ番号「Ed3_1」のエントリがDIPテーブル334cに記録されている。このエントリ(Ed3_1)では、集約アイテム「Y1」,パケット数「7」,バイト数「b41」,開始時刻「t41」,最終更新時刻「t42」,異なり数「2」,その他「N41」が設定されている。なお、各フィールドの値のうち、集約アイテムフィールド,パケット数フィールド及び異なり数フィールドを除く他のフィールドの値については、模式的な値を表している。
図10は、図1に示す統計集約装置40の機能ブロック図である。統計集約装置40は、システム制御部41と、統計情報集約部42とを備えている。
システム制御部41は、パケットフロー統計値取得システム10全体を制御するための機能部であり、統計収集装置制御部411と、負荷分散装置制御部412と、制御情報蓄積バッファ413と、制御情報生成部414と、制御部415とを備えている。
統計収集装置制御部411は、4つの統計収集装置31〜34にそれぞれ接続されており、各統計収集装置31〜34に対して制御情報を送信する。負荷分散装置制御部412は、負荷分散装置20に接続されており、負荷分散装置20に対して制御情報を送信する。
制御情報蓄積バッファ413は、各種の制御情報を格納する機能部である。制御情報生成部414は、制御部415と接続されており、制御部415を介して、管理用端末50から出力される情報や、負荷分散装置20及び4つの統計収集装置31〜34から出力される情報を入力する。また、制御情報生成部414は、入力された情報に基づき各種の制御情報を生成して、制御情報蓄積バッファ413に格納する。
図11は、制御情報蓄積バッファ413に格納される制御情報を示す説明図である。図11に示すように、制御情報蓄積バッファ413は、キーアイテム格納部4aと、集約アイテム格納部4bと、異なり数カウント対象アイテム格納部4cと、異なり数基準アイテム格納部4dと、接続テーブル格納部4eと、負荷分散出力先テーブル格納部4fとを備えている。本実施例では、これら各格納部4a〜4fに格納される情報が制御情報に相当する。
キーアイテム格納部4aは、キーアイテム種別を格納する。集約アイテム格納部4bは、集約アイテム種別を格納する。異なり数カウント対象アイテム格納部4cは、異なり数カウント対象アイテム種別を格納する。異なり数カウント対象アイテム(以下、単に「対象アイテム」とも呼ぶ)とは、或るアイテムの値が同一のパケットについて異なり数をカウントする場合における、この或るアイテムを示す。この異なり数カウントアイテムは、集約アイテムの中から選択される。異なり数基準アイテム格納部4dは、異なり数基準アイテムを格納する。異なり数基準アイテム(以下、単に「基準アイテム」とも呼ぶ)とは、対象アイテムの値が同一であって或るアイテムの値の異なるパケットの種類数を異なり数としてカウントする場合における、この或るアイテムを示す。したがって、例えば、DIPの値が異なるパケットの種類数を異なり数としてカウントする場合には、アイテム「DIP」が異なり数基準アイテムに相当する。接続テーブル格納部4eは、接続テーブルを格納する。接続テーブルとは、負荷分散装置20の各出力ポートOP1〜OP4がいずれの統計収集装置31〜34に接続されているかを示すテーブルである。負荷分散出力先テーブル格納部4fは、負荷分散出力先テーブルを格納する。
本実施例では、これらの各格納部4a〜4fに格納される情報は、システム管理者により管理用端末50を介して設定される。具体的には、図11の例では、キーアイテムとして「SIP,DIP」が設定されている。また、集約アイテムとして「SIP,DIP,SIP−DIP,DPT」が、異なり数カウント対象アイテムとして「SIP,DIP」が、それぞれ設定されている。また、異なり数基準アイテムとして、対象アイテム「SIP」に対して「DIP」が、対象アイテム「DIP」に対して「SIP」が、それぞれ設定されている。接続テーブルとして、第1出力ポートOP1に対して装置ID=A(第1統計収集装置31)が対応付けられ、第2出力ポートOP2に対して装置ID=B(第2統計収集装置32)が対応付けられ、第3出力ポートOP3に対して装置ID=C(第3統計収集装置33)が対応付けられ、第4出力ポートOP4に対して装置ID=D(第4統計収集装置34)が対応付けられて設定されている。負荷分散出力先テーブルとして、図3に示す負荷分散出力先テーブル234と同一の内容が設定されている。なお、負荷分散装置制御部412は、統計集約装置40起動した直後及び負荷分散出力先テーブルが更新された直後に、負荷分散出力先テーブル格納部4fに格納されている負荷分散出力先テーブルを負荷分散装置20に送信する。負荷分散装置20の制御部21は、受信した負荷分散出力先テーブルを出力先決定部233に渡す。
図10に示す統計情報集約部42は、メモリ421と、フローデータ集約部422と、集約アイテムチェック部423と、統計情報出力部424と、を備えている。メモリ421は、フローデータ集約テーブル421aを格納している。フローデータ集約テーブル421aの詳細については後述する。フローデータ集約部422は、各統計収集装置31〜34から受信したフローデータの一部について、フローデータ集約テーブル421aを更新することにより集約を行う。フローデータとは、フローテーブルの各フィールドの値からなるデータを意味する。集約アイテムチェック部423は、各統計収集装置31〜34から受信したフローデータのうち、集約アイテムの値に応じて、フローデータをフローデータ集約部422又は統計情報出力部424に転送する。統計情報出力部424は、集約アイテムチェック部423及びフローデータ集約部422から受信したフローテーブルを、統計情報として出力する。
A2.フローテーブル生成処理:
図12は、4つの統計収集装置31〜34において実行されるフローテーブル生成処理の手順を示すフローチャートである。各統計収集装置31〜34では、起動時において、フローテーブル生成処理を実行し、図4〜9に示すフローテーブルを生成する。一例として、第1統計収集装置31において実行されるフローテーブル生成処理について説明する。
図12は、4つの統計収集装置31〜34において実行されるフローテーブル生成処理の手順を示すフローチャートである。各統計収集装置31〜34では、起動時において、フローテーブル生成処理を実行し、図4〜9に示すフローテーブルを生成する。一例として、第1統計収集装置31において実行されるフローテーブル生成処理について説明する。
図4に示す第1統計収集装置31の制御部311は、統計集約装置40から集約アイテムを取得すると共に、統計集約装置40から負荷分散出力先テーブル及び接続テーブルを取得して、これらテーブルに基づき第1統計収集装置31に対応付けられたキーアイテムを取得する(ステップS105)。図11に示すように、集約アイテム格納部4bには集約アイテム「SIP,DIP,SIP−DIP,DPT」が格納されているので、制御部311は、これらキーアイテム「SIP,DIP,SIP−DIP,DPT」を取得する。図11に示すように、接続テーブルでは、第1統計収集装置31(装置ID=A)に対し、第1出力ポートOP1が対応付けられており、負荷分散出力先テーブルでは、第1出力ポートOP1は、キーアイテム「SIP」に対応付けられている。したがって、制御部311は、統計収集装置31に対応付けられたキーアイテムとして「SIP」を取得する。
次に、制御部311は、第1統計収集装置31に対応付けられたキーアイテムを含む集約アイテムのフローテーブルを生成する(ステップS110)。第1統計収集装置31に対応付けられたキーアイテムは「SIP」であり、集約アイテムは「SIP,DIP,SIP−DIP,DPT」であるので、制御部311は、図4に示すSIPテーブル331及びSIP−DIPテーブル332を生成する。
次に、制御部311は、いずれのキーアイテムも含まない集約アイテムのフローテーブルを生成する(ステップS115)。キーアイテムは、「SIP,DIP」であるので、制御部311は、これらキーアイテムを含まない集約アイテム「DPT」のフローテーブル(図4に示すDPTテーブル333)を生成する。
なお、第2統計収集装置32においても同様にして、図4に示す各フローテーブル331〜333が生成される。また、第3,4統計収集装置33,34では、対応付けられたキーアイテムが「DIP」であるので、ステップS110において、図8に示すDIPテーブル334及びSIP−DIPテーブル332が生成される。なお、第3,4統計収集装置33,34では、ステップS115において、第1,2統計収集装置31,32と同様に、DPTテーブル333が生成される。
A3.フローテーブルの更新:
ネットワークシステム100内においてパケットの送受信が行われると、いずれかの統計収集装置31〜34において、フローテーブルが更新されることとなる。以下、フローテーブルの更新処理の一例を説明する。
ネットワークシステム100内においてパケットの送受信が行われると、いずれかの統計収集装置31〜34において、フローテーブルが更新されることとなる。以下、フローテーブルの更新処理の一例を説明する。
図13は、ネットワークシステム100において送受信されたパケットを模式的に示す説明図である。なお、図13では、3台のルータ91〜93により構成されるネットワークを模式的にネットワーク101と表わしている。
図13に示すように、第1端末94から第1サーバ97に対して、DPTの値が「P1」であるパケットが既に6つ送信されている。また、第1端末94から第2サーバ98に対して、DPTの値が「P2」であるパケットが既に4つ送信されている。また、第2端末95から第1サーバ97に対して、DPTの値が「P1」であるパケットが既に1つ送信されている。また、第2端末95から第2サーバ98に対して、DPTの値が「P2」であるパケットが既に1つ送信されている。
図14は、図13に示す各パケットが送受信された後の、各統計収集装置31〜34におけるフローテーブルの設定内容を示す説明図である。図14において、各統計収集装置31〜34の右側には、それぞれの統計収集装置に格納されているフローテーブルを記載している。具体的には、第1統計収集装置31の右側には、SIPテーブル331a,SIP−DIPテーブル332a及びDPTテーブル333aを記載している。なお、これら3つのテーブル331a,332a,333aは、図5〜図6の各テーブルを模式的に表わしたものである。第2統計収集装置32の右側には、SIPテーブル331b,SIP−DIPテーブル332b及びDPTテーブル333bを記載している。第3統計収集装置33の右側には、DIPテーブル334c,SIP−DIPテーブル332c及びDPTテーブル333cを記載している。第4統計収集装置34の右側には、DIPテーブル334d,SIP−DIPテーブル332d及びDPTテーブル333dを記載している。
図14のSIPテーブル331a,331b及びDIPテーブル334c,334dには、図示の便宜上、集約アイテムフィールド,パケット数フィールド(Np)及び異なり数フィールド(Nd)のみを記載している。また、図14に示すその他のフローテーブルには、図示の便宜上、集約アイテムフィールド及びパケット数フィールド(Np)のみを記載している。
図14の左側に示すように、SIPの値により、パケットは、2つの統計収集装置31,32のいずれかに分散される。図14の例では、SIPの値が「X1」及び「X3」のパケットは、第1統計収集装置31に転送される。SIPの値が「X2」のパケットは、第2統計収集装置32に転送される。また、DIPの値により、パケットは、2つの統計収集装置33,34のいずれかに分散される。図14の例では、DIPの値が「Y1」のパケットは、第3統計収集装置33に転送される。DIPの値が「Y2」のパケットは、第4統計収集装置34に転送される。
第1統計収集装置31のSIPテーブル331aには、エントリ(Es1_1)が設定されている。このエントリ(Es1_1)では、SIP「X1」が設定され、また、パケット数(Np)「10」が設定されている。これは、図13に示すように、第1端末94が送信元となるパケットは、合計10パケットであるからである。また、このエントリ(Es1_1)では、異なり数(Nd)「2」が設定されている。図11に示すように、SIPテーブルの異なり数基準アイテムはDIPである。したがって、図13に示すように、第1端末94からのパケットの宛先は第1サーバ97及び第2サーバ98の2つであるので、異なり数として「2」が設定されている。
第1統計収集装置31のSIP−DIPテーブル332aのエントリ(Esd1_1)では、SIP「X1」,DIP「Y1」,パケット数「6」が設定されている。これは、図13に示すように、第1端末94(IPアドレス=X1)から第1サーバ(IPアドレス=Y1)へのパケット数が6であるからである。なお、SIP−DIPテーブル332aの各エントリ(Esd1_1,Esd1_2)では、SIPの値はいずれも「X1」である。これは、第1統計収集装置31には、キーアイテム「SIP」の値が「X1」,「X3」のパケットのみが転送され、かつ、図13の状態では、第1端末94のみがパケットを送信しているため、SIPの値が「X1」のエントリのみが記録されるからである。
第1統計収集装置31のDPTテーブル333aのエントリ(Edp1_1)では、DPT「P1」,パケット数「6」が設定されている。これは、図13に示すように、第1端末94を送信元とするパケットのうち、DPTの値が「P1」であるパケットは、第1サーバ97に送信した6パケットであるからである。
なお、第2統計収集装置32における各テーブル331b,332b,333bの各エントリも、図13の状態に基づき、第1統計収集装置31における各テーブル331a,332a,333aと同様に設定されている。
第3統計収集装置33のDIPテーブル334cのエントリ(Ed3_1)では、DIP「Y1」,パケット数「7」,異なり数「2」が設定されている。これは、図13に示すように、第1サーバ97が宛先となるパケットは、合計7パケットであるからである。また、このエントリ(Ed3_1)では、異なり数(Nd)「2」が設定されている。図11に示すように、DIPテーブルの異なり数基準アイテムはSIPである。したがって、図13に示すように、第1サーバ97を宛先とするパケットの送信元は第1端末94及び第2端末95の2つであるので、異なり数として「2」が設定されている。
第3統計収集装置33のSIP−DIPテーブル332cのエントリ(Esd3_1)では、SIP「X1」,DIP「Y1」,パケット数「6」が設定されている。これらの値は、前述の第1統計収集装置のSIP−DIPテーブル332aのエントリ(Esd1_1)に設定されている値と同一である。なお、SIP−DIPテーブル332cの各エントリ(Esd3_1,Esd3_2)では、DIPの値はいずれも「Y1」である。これは、第3統計収集装置33には、キーアイテム「DIP」の値が「Y1」のパケットのみが転送され、かつ、図13の状態では、宛先が第1端末94とするパケットの送受信が行われているからである。
第3統計収集装置33のDPTテーブル333cのエントリ(Edp3_1)では、DPT「P1」,パケット数「7」が設定されている。これは、図13に示すように、第1サーバ97を宛先とするパケットのうち、DPTの値が「P1」であるパケットは、第1端末94からの6パケットと、第2端末95からの1パケットとの合計7パケットであるからである。
なお、第4統計収集装置34における各テーブル334d,332d,333dの各エントリも、図13の状態に基づき、第3統計収集装置33における各テーブル334c,332c,333cと同様に設定されている。
図14に示すように、GIDの値がGID1のグループ(以下、「第1グループ」と呼ぶ)のSIP−DIPテーブルの各エントリは、GIDがGID2のグループ(以下、「第2グループ」と呼ぶ)のいずれかのエントリと一致している。例えば、第1グループのエントリ(Esd1_1)は、第2グループのエントリ(Esd3_1)と一致している。これは、同じパケットを、第1グループのいずれかの統計収集装置と、第2グループのいずれかの統計収集装置とに、並行して転送しているため、SIPの値及びDIPの値の組み合わせが同一となるエントリが、第1,2グループにそれぞれ生成されるからである。
また、第1グループにおけるDPTが同一のパケット数の合計値は、第2グループにおけるDPTが同一のパケット数の合計値と一致している。例えば、第1グループにおけるDPTの値が「P1」のパケット数は、エントリ(Edp1_1)の「6」と、エントリ(Edp2_1)の「1」とを足し合わせた「7」となる。一方、第2グループにおけるDPTの値が「P1」のパケット数は、エントリ(Edp3_1)の「7」となる。これも、同じパケットを、第1グループのいずれかの統計収集装置と、第2グループのいずれかの統計収集装置とに、並行して転送していることに起因している。
図13に示すパケット送受信状態および図14に示す各フローテーブルの設定状態において、フローテーブル更新処理が実行されて各フローテーブルが更新される様子を、図15〜17を用いて説明する。
図15は、異なり数カウント非対象フローテーブルについてのフローテーブル更新処理の手順を示すフローチャートである。図16は、異なり数カウント対象フローテーブルについてのフローテーブル更新処理の手順を示すフローチャートである。図17は、各フローテーブルの更新処理を実行した結果の一例を示す説明図である。図17の例では、図17の左側に示すように、第3端末96から第1サーバ97にDPTの値がP1であるパケットが1つ送信された場合における、各統計収集装置31〜34の各フローテーブルの状態を示している。この場合、パケットの送信元が第3端末96(SIP=X1)であり、パケットの宛先が第1サーバ97(DIP=Y1)であるので、第1統計収集装置31及び第3統計収集装置33にそれぞれパケットが転送される。
図12に示すフローテーブル生成処理が実行された後、各統計収集装置31〜34では、図15,16に示すフローテーブル更新処理が、この順序で実行される。まず、図15に示す異なり数カウント非対象フローテーブルについてのフローテーブル更新処理について説明する。異なり数カウント非対象フローテーブルとは、異なり数カウント対象アイテムを除く他のアイテムを集約アイテムとするフローテーブルを意味する。すなわち、本実施例では、「SIP−DIP」及び「DPT」を集約アイテムとするフローテーブル(図14に示すSIP−DIPテーブル332a〜332d及びDPT333a〜333d)を意味する。
図15に示すように、各統計収集装置31〜34において、フローテーブル制御部315は、組み合わせ生成部314から集約アイテムの値(値の組み合わせ)を受信するまで待機し(ステップS205)、集約アイテムの値を受信すると、受信した集約アイテムの値が、異なり数カウント非対象フローテーブルの既存エントリに存在するか否かを判定する(ステップS210)。
図17に示すように、第3端末96から第1サーバ97にDPT「P1」のパケットが1つ送信された場合、組み合わせ生成部314から受信する集約アイテムの値にはDPT「P1」が含まれる。フローテーブル制御部315は、DPTテーブル333aにおいて、DPTの値が「P1」のエントリを検索する。この場合、フローテーブル制御部315は、エントリ(Edp1_1)を発見することとなる。
フローテーブル制御部315は、受信した集約アイテムの値が、異なり数カウント非対象フローテーブルの既存エントリに存在すると判定すると、見つかったエントリにおいてパケット数を1つ増加させると共に、フローテーブルの他のフィールドの値を更新する(ステップS215)。
前述のように、フローテーブル制御部315は、エントリ(Edp1_1)を発見すると、図17に示すように、エントリ(Edp1_1)のパケット数(Np)を1つ増加させ「7」とする。また、フローテーブル制御部315は、図7に示すエントリ(Edp1_1)のバイト数フィールドを増加させ、最終更新時刻フィールド及びその他フィールドの値をそれぞれ更新させる。
前述のステップS210において、受信した集約アイテムの値が、異なり数カウント非対象フローテーブルの既存エントリに存在しないと判定すると、フローテーブル制御部315は、受信した集約アイテムの値を、集約アイテムフィールドに設定した新たなエントリを異なり数カウント非対象フローテーブルに追加する(ステップS220)。
例えば、仮に、第3端末96から第1サーバ97に送信されたパケットのDPTの値が「P3」である場合には、図14に示すDPTテーブル333aには該当するエントリがないので、フローテーブル制御部315は、DPTの値を「P3」に設定した新たなエントリを追加する。
なお、図17に示すように、第3統計収集装置33においても同様にして、DPTテーブル333cのエントリ(Edp3_1)が更新される。以上は、異なり数カウント非対象フローテーブルとしてDPTテーブルを一例として説明したが、次に、SIP−DIPテーブルについて説明する。
第1統計収集装置31のフローテーブル制御部315は、ステップS210において、SIP「X3」,DIP「Y1」の組み合わせがSIP−DIPテーブル332aに存在しないと判断するので(図14参照)、ステップS220を実行し、図17に示すように、SIP−DIPテーブル332aにエントリ(Esd1_3)を追加する。同様に、第3統計収集装置33のフローテーブル制御部315は、ステップS210において、SIP「X3」,DIP「Y1」の組み合わせがSIP−DIPテーブル332cに存在しないと判断するので(図14参照)、ステップS220を実行し、図17に示すように、SIP−DIPテーブル332cにエントリ(Esd3_3)を追加する。
上述した異なり数カウント非対象フローテーブルについてのフローテーブル更新処理を実行した後、各統計収集装置31〜34のフローテーブル制御部315は、図16に示す異なり数カウント対象フローテーブルについてのフローテーブル更新処理を実行する。
図16に示すように、各統計収集装置31〜34において、フローテーブル制御部315は、組み合わせ生成部314から集約アイテムの値(値の組み合わせ)を受信するまで待機する(ステップS305)。フローテーブル制御部315は、集約アイテムの値を受信すると、対象アイテム及び基準アイテムを集約アイテムとするフローテーブル(以下、「異なり数参照テーブル」と呼ぶ)において、エントリが追加されたか否かを判定する(ステップS310)。
第1統計収集装置31において、対象アイテムは「SIP」である。フローテーブル制御部315は、以下のようにして自己に割り当てられた対象アイテムを取得する。各統計収集装置31〜34のフローテーブル制御部315は、負荷分散装置制御部412に格納されている負荷分散出力先テーブル,接続テーブル及び異なり数カウント対象アイテムを、制御部311を介して取得する。フローテーブル制御部315は、これらテーブル等を参照して第1統計収集装置31に割り当てられている対象アイテムを取得する。具体的には、フローテーブル制御部315は、接続テーブルを参照して、第1統計収集装置31(装置ID=A)の接続先の出力ポートが第1出力ポートOP1であることを取得し、この第1出力ポートOP1に対応付けられているキーアイテムは、SIPであることを、負荷分散出力先テーブルから取得する。この取得したキーアイテムが、異なり数カウント対象アイテム格納部4cに格納されているいずれかの対象アイテムに一致するかを判定し、一致したアイテム(この場合SIP)を、第1統計収集装置31に割り当てられた対象アイテムであると判断する。また、フローテーブル制御部315は、対象アイテム「SIP」に対応する基準アイテム「DIP」を、制御部311を介して負荷分散装置制御部412の数基準アイテム格納部4dから取得する。したがって、第1統計収集装置31のフローテーブル制御部315は、異なり数参照テーブル「SIP−DIPテーブル332a」において、エントリが追加されたか否かを判定する。
前述の図15に示すフローテーブル更新処理の結果、図17に示すように、SIP−DIPテーブル332aでは、エントリ(Esd1_3)が追加されている。したがって、第1統計収集装置31のフローテーブル制御部315は、ステップS310において、異なり数参照テーブルにエントリが追加されたと判定する。同様に、SIP−DIPテーブル332cでは、エントリ(Esd3_3)が追加されている。したがって、第3統計収集装置33のフローテーブル制御部315は、ステップS310において、異なり数参照テーブルにエントリが追加されたと判定する。
フローテーブル制御部315は、ステップS310において、異なり数参照テーブルにおいてエントリが追加されたと判定すると、この追加されたエントリの対象アイテムの値を集約アイテムとする異なり数カウント対象フローテーブルのエントリがあるか否かを判定する(ステップS320)。フローテーブル制御部315は、ステップS320において、エントリがないと判定すると、異なり数参照テーブルの追加エントリの対象アイテムの値を集約アイテムの値とする新たなエントリを、異なり数カウント対象フローテーブルに追加する(ステップS325)。
図17に示すように、第1統計収集装置31のSIP−DIPテーブル332aに追加されたエントリ(Esd1_3)において、対象アイテム(SIP)の値は「X3」である。このSIP「X3」を集約アイテムとする異なり数カウント対象フローテーブル(SIPテーブル331a)のエントリは、図14に示すように存在しない。したがって、第1統計収集装置31のフローテーブル制御部315は、図17に示すように、このSIP「X3」を集約アイテムの値とするエントリ(Es1_2)を、SIPテーブル331aに追加する。
前述のステップS320において、エントリがあると判定すると、フローテーブル制御部315は、見つかったエントリにおいて、パケット数及び異なり数を1つ増加させると共に、他のフィールドの値を更新する(ステップS330)。
図17に示すように、第3統計収集装置33のSIP−DIPテーブル332cに追加されたエントリ(Esd3_3)において、対象アイテム(DIP)の値は「Y1」である。このDIP「Y1」を集約アイテムとする異なり数カウント対象フローテーブル(DIPテーブル334c)のエントリは、エントリ(Ed3_1)として存在する。したがって、第1統計収集装置31のフローテーブル制御部315は、図17に示すように、DIPテーブル334cのエントリ(Ed3_1)のパケット数(Np)を1つ増加させて「8」にすると共に、異なり数(Nd)を1つ増加させて「3」にする。なお、フローテーブル制御部315は、DIPテーブル334cにおける最終更新時刻フィールドや及びその他フィールドの値も更新する。
前述のステップS310において、異なり数参照テーブルにおいてエントリが追加されていないと判定すると、フローテーブル制御部315は、異なり数カウント対象テーブルの既存エントリのパケット数を1つ増加させると共に、他のフィールドの値を更新する(ステップS315)。
例えば、仮に、図13に示す状態から、第1端末94から第1サーバ97にDPT「P1」のパケットが1つ送信された場合に、第1統計収集装置31のフローテーブル制御部315は、SIPテーブル331aのエントリ(Es1_1)のパケット数(Np)を、10から11に増加させる。
各統計収集装置31〜34のフローテーブル制御部315は、上述したフローテーブル更新処理を実行すると共に、異なり数カウント対象フローテーブルの各エントリのパケット数が所定の値となった場合に、フローデータを、フローデータ出力部316のフローデータ出力バッファ317に蓄積すると共に、該当するエントリを削除する。また、異なり数カウント非対象フローテーブルについては、各統計収集装置31〜34のフローテーブル制御部315は、所定の期間ごとに、全てのエントリのフローデータをフローデータ出力バッファ317に蓄積すると共に、全てのエントリを削除する。なお、各統計収集装置31〜34において、異なり数カウント非対象フローテーブルについて全てのエントリのフローデータをフローデータ出力バッファ317に蓄積する時刻は、互いに一致するように予め設定されている。各統計収集装置31〜34のフローデータ出力部316は、フローデータ出力バッファ317に蓄積されたフローデータを、統計集約装置40に送信する。
A4.統計情報出力処理:
図18は、統計集約装置40において実行される統計情報出力処理の手順を示すフローチャートである。統計集約装置40では、起動後に統計情報出力処理が実行される。
図18は、統計集約装置40において実行される統計情報出力処理の手順を示すフローチャートである。統計集約装置40では、起動後に統計情報出力処理が実行される。
図10に示す統計集約装置40の集約アイテムチェック部423は、いずれかの統計収集装置31〜34からフローデータを受信するまで待機しており(ステップS405)、フローデータを受信すると、フローデータから集約アイテムを抽出し(ステップS410)、抽出した集約アイテムにキーアイテムが含まれているか否かを判定する(ステップS415)。
例えば、統計収集装置31から、図17に示すSIPテーブル331aまたはSIP−DIPテーブル332aに含まれるいずれかのエントリに対応するフローデータを受信した場合、集約アイテムチェック部423は、第1統計収集装置31に割り付けられたキーアイテム「SIP」が、フローデータの集約アイテムに含まれていると判定する。なお、集約アイテムチェック部423は、各統計収集装置31〜34に割り当てられているキーアイテムを、制御情報蓄積バッファ413に格納されている負荷分散出力先テーブルから導き出すことができる。
前述のステップS415において、集約アイテムにキーアイテムが含まれていると判定すると、集約アイテムチェック部423は、抽出した集約アイテムにすべてのキーアイテムが含まれているか否かを判定する(ステップS420)。
例えば、第1統計収集装置31から、図17に示すSIPテーブル331aのいずれかのエントリに対応するフローデータを受信した場合、集約アイテムチェック部423は、すべてのキーアイテム「SIP,DIP」を集約アイテムに含んでいないと判定する。一方、第1統計収集装置31から、図17に示すSIP−DIPテーブル332aのいずれかのエントリに対応するフローデータを受信した場合、集約アイテムチェック部423は、すべてのキーアイテム「SIP,DIP」を集約アイテムに含んでいると判定する。
前述のステップS420において、抽出した集約アイテムに全てのキーアイテムが含まれていない(すなわち、一部のキーアイテムが含まれている)と判定すると、集約アイテムチェック部423は、受信したフローデータを、統計情報出力部424を介して、統計情報として出力する(ステップS425)。一方、ステップS420において、抽出した集約アイテムに全てのキーアイテムが含まれていると判定すると、集約アイテムチェック部423は、受信したフローデータが第1グループのいずれかの統計収集装置から受信したフローデータであるか否かを判定する(ステップS430)。
受信したフローデータが第1グループのいずれかの統計収集装置から受信したフローデータである場合には、集約アイテムチェック部423は、前述のステップS425を実行し、受信したフローデータをそのまま統計情報として出力する。一方、受信したフローデータが第2グループのいずれかの統計収集装置から受信したフローデータである場合には、集約アイテムチェック部423は、受信したフローデータを廃棄する(ステップS435)。
このように、ステップS420〜ステップS435の各処理を実行しているのは、以下の理由による。一部のキーアイテムのみを集約アイテムに含むフローデータ(エントリ)は、すべてのグループ(第1,2グループ)において、唯一となっている。具体的には、図17におけるSIPテーブル331a,331bの各エントリ、及びDIPテーブル334c,334dの各エントリは、互いに異なっており重複がない。したがって、各エントリに対応するフローデータは集約する必要がなく、そのまま統計情報として出力することができる。一方、すべてのキーアイテムを集約アイテムに含むフローデータ(エントリ)は、第1,2グループで互いに重複している。具体的には、第1グループ(第1統計収集装置31)のSIP−DIPテーブル332aのエントリ(Esd1_2)は、第2グループ(第4統計収集装置34)のSIP−DIPテーブル332dのエントリ(Esd4_1)と重複している。したがって、両方のグループから受信するフローデータを統計情報として出力すると、重複した統計情報を出力することとなる。したがって、いずれか一方のグループ(実施例では、第1グループ)から受信したフローデータのみ、統計情報として出力するようにしている。
前述のステップS415において、集約アイテムにキーアイテムが含まれていないと判定すると、集約アイテムチェック部423は、受信したフローデータをフローデータ集約部422に送信する(ステップS440)。フローデータ集約部422は、受信したフローデータに基づき、フローデータ集約処理を実行する(ステップS445)。
図19は、図18に示すフローデータ集約処理(S445)の詳細手順を示すフローチャートである。フローデータ集約処理が開始されると、フローデータ集約部422は、受信したフローデータが第1グループのいずれかの統計収集装置から受信したフローデータであるか否かを判定する(ステップS510)。受信したフローデータが第2グループのいずれかの統計収集装置から受信したフローデータである場合には、フローデータ集約部422は、受信したフローデータを廃棄する(ステップS550)。
このように、受信したフローデータが第2グループのいずれかの統計収集装置から受信したフローデータである場合に、フローデータを廃棄しているのは、以下の理由による。キーアイテムを含まない集約アイテムについては、図17に示すDPTテーブルのように、第1グループと、第2グループとで重複して記録される。これは、同一のパケットが第1グループのいずれかの統計収集装置と、第2グループのいずれかの統計収集装置とに並行kして送信されるからである。具体的には、例えば、第1グループの第2統計収集装置32のDPTテーブル333bのエントリ(Edp2_1)は、第2グループの第3統計収集装置33のDPTテーブル333cのエントリ(Edp3_1)に含まれている。したがって、両方のグループ(第1,2グループ)からのフローデータを集約すると、誤った統計情報を得ることとなる。したがって、いずれか一方のグループ(実施例では、第1グループ)から受信したフローデータのみ、集約するようにしている。
受信したフローデータが第1グループのいずれかの統計収集装置から受信したフローデータである場合には、フローデータ集約部422は、受信したフローデータの集約アイテムの値を抽出する(ステップS515)。フローデータ集約部422は、抽出した集約アイテムの値が一致するエントリが、フローデータ集約テーブル421aに既に存在するか否かを判定する(ステップS520)。
図20は、図10に示すフローデータ集約テーブル421aの設定内容を示す説明図である。フローデータ集約テーブル421aは、装置IDと、集約アイテムと、統計情報とを互いに対応付けている。装置IDフィールドは、フローデータを送信した統計収集装置の装置IDを示す。集約アイテムフィールド及び統計情報フィールドについては、例えば、図6に示すSIP−DIPテーブルの集約アイテムフィールド及び統計情報フィールドと同じであるので、説明を省略する。
図20の例では、図17に示す第1統計収集装置31のDPTテーブル333aの2つのエントリ(Edp1_1,Edp1_2)に対応するフローデータがフローデータ集約部422に送信され、これらのフローデータに基づき、2つのエントリ(Edp1,Edp2)が、フローデータ集約テーブル421aに生成されている。
図20の例では、エントリ(Edp1)において、装置ID「A」,集約アイテム(DPT)「P1」,パケット数「7」,バイト数「b31」,開始時刻「t31」,最終更新時刻「t32」及びその他「N33」が設定されている。このエントリ(Edp1)は、図17に示す第1統計収集装置31のDPTテーブル333aのエントリ(Edp1_1)に基づき追加されたエントリである。また、エントリ(Edp2)において、装置ID「A」,集約アイテム「P2」,パケット数「4」,バイト数「b32」,開始時刻「t32」,最終更新時刻「t34」及びその他「N34」が設定されている。このエントリ(Edp2)は、図17に示す第1統計収集装置31のDPTテーブル333aのエントリ(Edp1_2)に基づき追加されたエントリである。なお、これら2つのエントリ(Edp1,Edp2)の各フィールドの値のうち、集約アイテムフィールド及びパケット数フィールドを除く他のフィールドの値については、模式的な値を表している。
例えば、フローデータ集約テーブル421aが図20に示す状態において、図17に示す第2統計収集装置32のエントリ(Edp2_1)に対応するフローデータを受信した場合、フローデータ集約部422は、集約アイテムの値が「P1」であるエントリとして、エントリ(Edp1)が既にあると判定する。
前述のステップS520において、集約アイテムが一致するエントリが既にあると判定すると、フローデータ集約部422は、フローデータを集約して既存エントリを更新する(ステップS530)。
前述のように、図17に示す第2統計収集装置32のエントリ(Edp2_1)に対応するフローデータを受信した場合、フローデータ集約部422は、図20に示すエントリ(Edp1)のパケット数を「1」増加させる。また、バイト数フィールドを増加させると共に、最終更新時刻フィールド及びその他フィールドの値をそれぞれ更新する。
前述のステップS520において、集約アイテムが一致するエントリがないと判定すると、フローデータ集約部422は、新たなエントリをフローデータ集約テーブル421aに追加する(ステップS525)。
前述のステップS525,S530を実行すると、フローデータ集約部422は、第1グループに属する全ての統計収集装置からフローデータを受信したか否かを判定する(ステップS535)。いずれの統計収集装置が第1グループに属する統計収集装置であるかは、負荷分散装置制御部412に格納されている負荷分散出力先テーブル及び接続テーブルを参照することで得ることができる。
図20に示すように第1統計収集装置31(装置ID=A)からのみフローテーブルを受信している場合には、フローデータ集約部422は、第1グループ(GID=GID1)の全ての統計収集装置からフローデータを受信していないと判定する。
ステップS535において、第1グループの全ての統計収集装置からフローデータを受信していないと判定すると、フローデータ集約部422は、第1グループのいずれかの統計収集装置からフローデータを受信してから、所定期間だけ経過したか否かを判定する(ステップS540)。この判定は、例えば、フローデータ集約テーブル421aの各エントリにおける最終更新時刻フィールドの値に基づき実行できる。
前述のステップS540において、未だ所定期間だけ経過していないと判定した場合、図18に示すステップS405に戻る。すなわち、第1グループ内のフローデータを未送信の統計収集装置からフローデータを受信するのを待って、上述したステップS510〜S530の処理を実行する。前述のステップS540における所定期間は、予め実験等により求めて設定しておくことができる。
前述のステップS540において所定期間経過したと判定した場合、或いは、前述のステップS535において第1グループに属する全ての統計収集装置からフローデータを受信したと判定した場合には、フローデータ集約部422は、フローデータ集約テーブル421aの各エントリを集約して、得られた集約データを、統計情報として、統計情報出力部424を介して出力する(ステップS545)。
例えば、フローデータ集約テーブル421aが図20に示す状態において、さらに、図17に示す第2統計収集装置32からDPTテーブル333bの各エントリに対応するフローデータを受信した場合に、フローデータ集約部422は、DPTの値が「P1」のDPTテーブル333aのエントリ(Edp1_1)と、DPTテーブル333bのエントリ(Edp2_1)とを集約する。また、フローデータ集約部422は、DPTの値が「P2」のDPTテーブル333aのエントリ(Edp1_2)と、DPTテーブル333bのエントリ(Edp2_2)とを集約する。
ここで、「集約」とは、パケット数及びバイト数については合算し、開始時刻についてはより過去の時刻を採用し、最終更新時刻はより最近の時刻を採用し、その他フィールドの値については、例えば、中央値については、改めて算出し直すことを意味する。
所定期間経過した場合にフローデータ集約テーブル421aの各エントリを集約するのは、フローデータを送信しない統計収集装置において、キーアイテムを含まない集約アイテムについてフローテーブルにエントリが存在しないために、フローデータが送られてこない可能性が高いからである。
以上説明した第1の実施例のパケットフロー統計値取得システム10では、キーアイテムごとに、複数の統計収集装置からなるグループを設定し、パケットに含まれるキーアイテムの値に応じて、各グループにおけるパケットの転送先を決定している。したがって、パケットフロー統計値を取得する処理(フローデータを取得する処理及び統計情報出力処理)を負荷分散させることができる。また、キーアイテムを集約アイテムとするフローテーブルの各エントリは、各統計収集装置間において重複しないので、複数の統計収集装置からフローテーブルの各エントリを取得して集約することなく、キーアイテムの値が同一であるパケットのパケット数や、異なり数を正確に取得することができる。それゆえ、例えば、他の統計収集装置からのフローデータを待つことなく正確な統計情報を出力することができるので、統計集約装置40におけるメモリ421の容量や、各統計収集装置31〜34におけるフローデータ出力バッファ317の容量が不足することを抑制できる。
また、統計集約装置40においては、キーアイテムを含む集約アイテムのフローデータについては、集約せずに統計情報として出力することができるので、統計集約装置40における集約処理の負荷を軽減することができる。
B.第2の実施例:
図21は、第2の実施例におけるパケットフロー統計値取得システムの概略構成を示す説明図である。第2の実施例におけるパケットフロー統計値取得システム10aは、フロー一次集約装置60を備えている点において、図1に示すパケットフロー統計値取得システム10と異なり、他の構成は第1の実施例と同じである。
図21は、第2の実施例におけるパケットフロー統計値取得システムの概略構成を示す説明図である。第2の実施例におけるパケットフロー統計値取得システム10aは、フロー一次集約装置60を備えている点において、図1に示すパケットフロー統計値取得システム10と異なり、他の構成は第1の実施例と同じである。
パケットフロー統計値取得システム10aでは、ルータ91と、負荷分散装置20との間にフロー一次集約装置60が配置されている。このフロー一次集約装置60は、ルータ91から受信したパケットを、5つのアイテム(SIP,DIP,上位プロトコル,SPT,DPT)に基づき集約する。
図22は、図21に示すフロー一次集約装置60の機能ブロック図である。フロー一次集約装置60は、メモリ63と、パケット取得部61と、一次集約テーブル制御部62と、統計出力部64とを備えている。メモリ63は、一次集約テーブル63aを備えている。
パケット取得部61は、パケット取得バッファ61aを備え、ルータ91から出力されたパケットを受信してパケット取得バッファ61aにバッファすると共に、パケット取得バッファ61aに蓄積されたパケットを一次集約テーブル制御部62に出力する。
パケット取得部61は、パケット取得バッファ61aを備え、ルータ91から出力されたパケットを受信してパケット取得バッファ61aにバッファすると共に、パケット取得バッファ61aに蓄積されたパケットを一次集約テーブル制御部62に出力する。
一次集約テーブル制御部62は、パケット取得部61,メモリ63,及び統計出力部64と接続されており、パケット取得部61からパケットを受信して、受信したパケットに基づき一次集約テーブル63aを更新する。また、一次集約テーブル63aの内容(エントリ)を、一次集約データとして統計出力部64に出力し、出力した内容(エントリ)を一次集約テーブル63aから削除する。なお、一次集約データを出力する方法は、例えば、一定期間毎に一次集約テーブル63aの全てのエントリを出力する方法や、パケット数が所定値に達したエントリのみを随時出力する方法を採用することもできる。
図23は、図22に示す一次集約テーブル63aの設定内容を示す説明図である。図23に示すように、一次集約テーブル63aは、アイテムセットと、統計情報とを対応付けている。アイテムセットは、各パケットフローを識別するためのアイテム群であり、SIP,DIP,上記プロトコル,SPT,DPTの各フィールドを有する。統計情報の各フィールドは、異なり数フィールドを備えていない点を除き、図5に示すSIPテーブル331aと同じであるので、説明を省略する。
一次集約テーブル制御部62は、受信したパケットのうち、5つのアイテム(SIP,DIP,上記プロトコル,SPT,DPT)の各値を抽出して、アイテムセットの全ての値が同一のパケットを同一のエントリに集約する。図23の例では、例えば、エントリ(Ep1)として、SIP「X1」,DIP「Y1」,上記プロトコル「TCP」,SPT「P11」,DPT「P1」が設定されている。これらアイテムセットの各値が一致するパケットについての統計情報として、パケット数「12」,バイト数「b81」,開始時刻「t81」,最終更新時刻「t83」,その他「N81」がそれぞれ設定されている。仮に、SIP「X1」,DIP「Y1」,上記プロトコル「TCP」,SPT「P11」,DPT「P1」であるパケットを新たに1つ受信した場合に、一次集約テーブル制御部62は、エントリ(Ep1)のパケット数フィールドの値を1つ増加させると共に、バイト数フィールドの値を増加させ、最終更新時刻フィールド及びその他フィールドの値を更新する。
統計出力部64は、出力バッファ64aを備えており、一次集約テーブル制御部62から受信した一次集約データを出力バッファ64aに蓄積すると共に、出力バッファ64aに蓄積された一次集約データを、負荷分散装置20に出力する。
したがって、図2に示す負荷分散装置20では、第1の実施例とは異なり、アイテム抽出部221は一次集約データを受信し、パケット転送部222は一次集約データを、指定された出力先に出力する。また、各統計収集装置31〜34では、一次集約データを受信し、一次集約データを受信するたびに、図15及び図16に示すフローテーブル更新処理を実行する。
以上の構成を有する第2の実施例のパケットフロー統計値取得システム10aも、第1の実施例のパケットフロー統計値取得システム10と同様な効果を有する。加えて、負荷分散装置20の上流側にフロー一次集約装置60を設けて、5つのアイテムが一致するパットを集約しているので、負荷分散装置20において出力先を決定する頻度や、各統計収集装置31〜34において、フローテーブル更新処理を実行する頻度を低減させることができ、負荷分散装置20及び各統計収集装置31〜34の処理負荷を低減させることができる。
C.第3の実施例:
図24は、第3の実施例におけるパケットフロー統計値取得システムの概略構成を示す説明図である。第3の実施例におけるパケットフロー統計値取得システム10bは、負荷分散装置を2台(負荷分散装置20a,20b)備えている点と、フロー一次集約装置を2台(フロー一次集約装置60a,60b)備えている点と、フロー単位負荷分散装置70を備えている点とにおいて、図21,22に示すパケットフロー統計値取得システム10aと異なり、他の構成は第2の実施例と同じである。
図24は、第3の実施例におけるパケットフロー統計値取得システムの概略構成を示す説明図である。第3の実施例におけるパケットフロー統計値取得システム10bは、負荷分散装置を2台(負荷分散装置20a,20b)備えている点と、フロー一次集約装置を2台(フロー一次集約装置60a,60b)備えている点と、フロー単位負荷分散装置70を備えている点とにおいて、図21,22に示すパケットフロー統計値取得システム10aと異なり、他の構成は第2の実施例と同じである。
第3の実施例では、複数のフロー一次集約装置を設けて、これらに一次集約の処理負荷を分散させる。
2台の負荷分散装置20a,20bは、いずれも第1の実施例の負荷分散装置20と同じ構成を有しており、それぞれ各統計収集装置31〜32に接続されている。また、負荷分散装置20aはフロー一次集約装置60aに、負荷分散装置20bはフロー一次集約装置60bに、それぞれ接続されている。2台のフロー一次集約装置60a,60bは、第2の実施例のフロー一次集約装置60と同じ構成を有している。
フロー単位負荷分散装置70は、ルータ91及び2台のフロー一次集約装置60a,60bに接続されている。フロー単位負荷分散装置70は、以下の5つの点を除き、負荷分散装置20と同様な構成を有している。すなわち、図2に示すパケット送信部24が有する送信部及び出力ポートの数がいずれも2つである点と、一方の出力ポートにフロー一次集約装置60aが接続され、他方の出力ポートにフロー一次集約装置60bが接続されている点と、キーアイテム抽出部が、5つのアイテム(SIP,DIP,上記プロトコル,SPT,DPT)を抽出する点と、ハッシュ演算部232が、これら5つのアイテムの値に基づきハッシュ値を算出する点と、負荷分散出力先テーブル234には、ハッシュ値から導き出される値(0,1)に応じて、2つの出力ポートのいずれかが割り当てられている点とが、フロー単位負荷分散装置70と負荷分散装置20との相違点となる。
このような構成を有する第3の実施例のパケットフロー統計値取得システム10bは、第2の実施例のパケットフロー統計値取得システム10aと同様な効果を有する。加えて、フロー単位負荷分散装置70は、ルータよりパケットを受信すると、5つのアイテム(アイテムセット)の値に応じて、2台のフロー一次集約装置60a,60bのいずれかにパケットを転送する。それゆえ、各フロー一次集約装置60a,60bにおける一次集約の処理負荷が軽減され、高速データ通信においても、パケットフロー統計値(統計情報)を正確に取得することができる。
D.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
D1.変形例1:
各実施例では、負荷分散出力先テーブルは、システム管理者が手動設定していたが、これに代えて、図10に示す制御情報生成部414が自動生成する構成とすることもできる。図25は、制御情報生成部414が実行する負荷分散出力先テーブル生成処理の手順の一例を示すフローチャートである。統計集約装置40が起動された場合、或いは、負荷分散装置制御部412が有するいずれかの制御情報が更新された場合に、負荷分散出力先テーブル更新処理が開始される。
各実施例では、負荷分散出力先テーブルは、システム管理者が手動設定していたが、これに代えて、図10に示す制御情報生成部414が自動生成する構成とすることもできる。図25は、制御情報生成部414が実行する負荷分散出力先テーブル生成処理の手順の一例を示すフローチャートである。統計集約装置40が起動された場合、或いは、負荷分散装置制御部412が有するいずれかの制御情報が更新された場合に、負荷分散出力先テーブル更新処理が開始される。
制御情報生成部414は、設定されているキーアイテム、及び統計収集装置の装置数を取得する(ステップS605)。制御情報生成部414は、図11に示すキーアイテム格納部4aを参照してキーアイテムを取得することができる。また、接続テーブル格納部4eに格納されている接続テーブルを参照して統計収集装置の装置数を取得することができる。
制御情報生成部414は、取得した各キーアイテムに対して、統計収集装置を割り当てる(ステップS610)。具体的には、例えば、制御情報生成部414は、取得した装置数をキーアイテム数で除算し、得られた値に相当する数の統計収集装置を、各キーアイテムに割り当てる。このとき、先頭のキーアイテム(図11の例では、「SIP」)から順番に、装置IDの順序(図11の例では、A,B,・・・の順序)で統計収集装置を割り当てる。なお、装置数をキーアイテム数で除算した結果余りが得られた場合には、この余りの数の統計集約装置を先頭のキーアイテムに加算して割り当てることもできる。
制御情報生成部414は、各キーアイテムにグループIDを割り当てる(ステップS620)。具体的には、例えば、制御情報生成部414は、先頭のキーアイテム(図11の例では、「SIP」)から順番に、グループID(GID1,GID2,GID3,・・・)を順次割り当てる。
制御情報生成部414は、各グループの各統計収集装置に対して、ハッシュ値を除算して得られる余り値を割り当てる(ステップS625)。出力先決定部233がハッシュ値を除算する値は、各グループ(キーアイテム)に割り当てられる統計収集装置の台数であるので、かかる除算により得られる余り値は、「0〜統計収集装置の台数−1」となる。そこで、制御情報生成部414は、これらの余り値を、各グループに割り当てられた統計収集装置に、装置IDの順に(第1グループであれば、装置IDがA,Bの順序で)割り当てる。
以上の処理の結果、図3,11に示す負荷分散出力先テーブルが生成されることとなる。このような構成により、システム管理者が初期設定する際の手間を軽減させることができる。また、例えば、初期設定の後にキーアイテムが追加された場合には、自動的に負荷分散出力先テーブルが更新されるので、継続して正確なパケットフロー統計値(統計情報)を取得することが出来る。
D2.変形例2:
各実施例では、図19に示すフローデータ集約処理において、第1グループの全ての統計収集装置からフローデータを受信しない場合に、所定期間だけ待ち合わせしていたが(ステップS540)、本発明はこれに限定されるものではない。例えば、第1のグループの全ての統計収集装置からフローデータを受信しない場合に(ステップS535:NO)、フローデータ集約部422は、制御部415及び統計収集装置制御部411を介して、第1グループの他の統計収集装置に対して、フローデータの送信リクエストを送信することもできる。第1グループの各統計収集装置において、制御部311は、フローデータの送信リクエストを受信すると、フローデータ出力部316を制御して、フローデータ出力バッファ317に蓄積されているフローデータを送信する。また、制御部311は、フローデータ出力バッファ317にフローデータが蓄積されていない場合には、フローデータがない旨の通知を、制御部311を介して統計集約装置40に送信する。このような構成により、所定期間の待ち合わせをすることなく集約データを得ることができ、或る期間における統計情報として正確な値を取得することができる。
各実施例では、図19に示すフローデータ集約処理において、第1グループの全ての統計収集装置からフローデータを受信しない場合に、所定期間だけ待ち合わせしていたが(ステップS540)、本発明はこれに限定されるものではない。例えば、第1のグループの全ての統計収集装置からフローデータを受信しない場合に(ステップS535:NO)、フローデータ集約部422は、制御部415及び統計収集装置制御部411を介して、第1グループの他の統計収集装置に対して、フローデータの送信リクエストを送信することもできる。第1グループの各統計収集装置において、制御部311は、フローデータの送信リクエストを受信すると、フローデータ出力部316を制御して、フローデータ出力バッファ317に蓄積されているフローデータを送信する。また、制御部311は、フローデータ出力バッファ317にフローデータが蓄積されていない場合には、フローデータがない旨の通知を、制御部311を介して統計集約装置40に送信する。このような構成により、所定期間の待ち合わせをすることなく集約データを得ることができ、或る期間における統計情報として正確な値を取得することができる。
D3.変形例3:
各実施例では、集約アイテムとしてSIP−DIPがシステム管理者により設定されていたため、各統計収集装置31〜34では、異なり数参照テーブルであるSIP−DIPテーブルが生成されていたが、本発明は、これに限定されるものではない。例えば、集約アイテムとしてSIP−DIPが設定されていない場合であっても、以下のようにして、異なり数参照テーブルであるSIP−DIPテーブルを生成させることもできる。具体的には、各統計収集装置31〜34の制御部311は、起動直後に、図11に示す負荷分散出力先テーブル格納部4fに格納されている負荷分散出力先テーブルを参照して、自己の統計収集装置に割り当てられているキーアイテムを取得する。次に、制御部311は、異なり数基準アイテム格納部4dから、対象アイテムと基準アイテムを読み出し、自己の統計収集装置に割り当てられている対象アイテムと、当該対象アイテムに対応付けられている基準アイテムとを取得し、これらアイテムを集約アイテムとするフローテーブルを生成する。このようにすることで、例えば、第1統計収集装置31においては、キーアイテム「SIP」が割り当てられているので、このキーアイテム「SIP」と、SIPに対応付けられている基準アイテム「DIP」とを集約アイテムとするSIP−DIPテーブルが生成される。このような構成により、システム管理者が集約アイテムとして異なり数参照テーブルの集約アイテムを設定しない場合であっても、キーアイテムを集約アイテムとするフローテーブルにおいて、異なり数を正確にカウントすることができる。
各実施例では、集約アイテムとしてSIP−DIPがシステム管理者により設定されていたため、各統計収集装置31〜34では、異なり数参照テーブルであるSIP−DIPテーブルが生成されていたが、本発明は、これに限定されるものではない。例えば、集約アイテムとしてSIP−DIPが設定されていない場合であっても、以下のようにして、異なり数参照テーブルであるSIP−DIPテーブルを生成させることもできる。具体的には、各統計収集装置31〜34の制御部311は、起動直後に、図11に示す負荷分散出力先テーブル格納部4fに格納されている負荷分散出力先テーブルを参照して、自己の統計収集装置に割り当てられているキーアイテムを取得する。次に、制御部311は、異なり数基準アイテム格納部4dから、対象アイテムと基準アイテムを読み出し、自己の統計収集装置に割り当てられている対象アイテムと、当該対象アイテムに対応付けられている基準アイテムとを取得し、これらアイテムを集約アイテムとするフローテーブルを生成する。このようにすることで、例えば、第1統計収集装置31においては、キーアイテム「SIP」が割り当てられているので、このキーアイテム「SIP」と、SIPに対応付けられている基準アイテム「DIP」とを集約アイテムとするSIP−DIPテーブルが生成される。このような構成により、システム管理者が集約アイテムとして異なり数参照テーブルの集約アイテムを設定しない場合であっても、キーアイテムを集約アイテムとするフローテーブルにおいて、異なり数を正確にカウントすることができる。
D4.変形例4:
各実施例では、異なり数をカウントするために、異なり数参照テーブルを生成していたが、本発明はこれに限定されるものではない。例えば、図6に示すSIP−DIPテーブル332aのように、SIP−DIPの値が同一のパケットについて集約せずとも、受信した各パケットのSIPの値及びDIPの値の組み合わせを、順次記録しておくテーブルを用いて異なり数をカウントすることもできる。このような構成においても、フローデータを出力する際に、かかるテーブルを参照して異なり数を取得することができる。
各実施例では、異なり数をカウントするために、異なり数参照テーブルを生成していたが、本発明はこれに限定されるものではない。例えば、図6に示すSIP−DIPテーブル332aのように、SIP−DIPの値が同一のパケットについて集約せずとも、受信した各パケットのSIPの値及びDIPの値の組み合わせを、順次記録しておくテーブルを用いて異なり数をカウントすることもできる。このような構成においても、フローデータを出力する際に、かかるテーブルを参照して異なり数を取得することができる。
D5.変形例5:
各実施例では、キーアイテムはシステム管理者が手動設定していたが、これに代えて、システム管理者により設定された集約アイテムにおいて、用いられている頻度の高いアイテムをキーアイテムとして自動的に決定することもできる。具体的には、例えば、各実施例では、システム管理者により設定された集約アイテムはSIP,DIP,SIP−DIP,DPTであり、これらにおいて、「SIP」及び「DIP」は、いずれも2回用いられているのに対し、DPTは1回のみ用いられている。したがって、この場合、アイテム「SIP」及び「DIP」をキーアイテムとして決定することができ、上述した各実施例と同じアイテムをキーアイテムとして決定することができる。
各実施例では、キーアイテムはシステム管理者が手動設定していたが、これに代えて、システム管理者により設定された集約アイテムにおいて、用いられている頻度の高いアイテムをキーアイテムとして自動的に決定することもできる。具体的には、例えば、各実施例では、システム管理者により設定された集約アイテムはSIP,DIP,SIP−DIP,DPTであり、これらにおいて、「SIP」及び「DIP」は、いずれも2回用いられているのに対し、DPTは1回のみ用いられている。したがって、この場合、アイテム「SIP」及び「DIP」をキーアイテムとして決定することができ、上述した各実施例と同じアイテムをキーアイテムとして決定することができる。
D6.変形例6:
各実施例では、図18に示す統計情報出力処理のステップS435、及び図19に示すフローデータ集約処理のステップS550において、第1グループの統計収集装置からのフローデータでない場合には、受信したフローデータを廃棄していたが、本発明はこれに限定されるものではない。これらステップS435及びステップS550において、第2グループの統計収集装置からのフローデータでない場合に受信したフローデータを廃棄する構成とすることもできる。すなわち、一般には、いずれかのグループの統計収集装置からのフローデータのみを用いて統計情報を出力し、他のグループの統計収集装置からのフローデータを廃棄する構成を採用することができる。
各実施例では、図18に示す統計情報出力処理のステップS435、及び図19に示すフローデータ集約処理のステップS550において、第1グループの統計収集装置からのフローデータでない場合には、受信したフローデータを廃棄していたが、本発明はこれに限定されるものではない。これらステップS435及びステップS550において、第2グループの統計収集装置からのフローデータでない場合に受信したフローデータを廃棄する構成とすることもできる。すなわち、一般には、いずれかのグループの統計収集装置からのフローデータのみを用いて統計情報を出力し、他のグループの統計収集装置からのフローデータを廃棄する構成を採用することができる。
また、本発明は、上記ステップS435,S550のように、統計収集装置からのフローデータを廃棄する構成に限定されるものではない。例えば、第2グループの各統計収集装置において、集約アイテムに全てのキーアイテムが含まれているフローデータ、及び集約アイテムにいずれのキーアイテムも含まれていないフローデータは、統計集約装置40に送信しない構成とすることもできる。このような構成により、各統計収集装置31〜34から統計集約装置40へのトラヒックを軽減できると共に、各統計収集装置31におけるフローデータを送信するための処理や、統計集約装置40における統計情報出力処理の負荷を軽減できる。
なお、集約アイテムのうち、キーアイテムを含まない集約アイテムについて異なり数をカウントする設定である場合には、図19に示すステップS510,S550を省略することもできる。例えば、上記各実施例において、集約アイテム「DPT」を対象アイテムとし、上位プロトコルを基準アイテムとして異なり数をカウントする設定であれば、集約アイテムが「DPT」のフローデータについてもステップS515以下の処理を行い、集約データを生成して統計情報として出力することもできる。このような構成とすることにより、キーアイテムを含まない集約アイテムについて異なり数を正確に取得することができる。
D7.変形例7:
各実施例では、キーアイテムは、「SIP」及び「DIP」であったが、これに代えて、「DPT」や「上位プロトコル」など、他のアイテムとすることもできる。また、複数のアイテムの組み合わせをキーアイテムとすることもできる。例えば、「SIP−DIP」や、「SIP−DPT」等をキーアイテムとすることもできる。同様に、基準アイテムについても、「SIP」及び「DIP」に代えて、他の任意のアイテム又は複数のアイテムの組み合わせを採用することもできる。また、集約アイテムについても、「SIP,DIP,SIP−DIP,DPT」に代えて、他の任意のアイテム又は複数のアイテムの組み合わせを採用することもできる。
各実施例では、キーアイテムは、「SIP」及び「DIP」であったが、これに代えて、「DPT」や「上位プロトコル」など、他のアイテムとすることもできる。また、複数のアイテムの組み合わせをキーアイテムとすることもできる。例えば、「SIP−DIP」や、「SIP−DPT」等をキーアイテムとすることもできる。同様に、基準アイテムについても、「SIP」及び「DIP」に代えて、他の任意のアイテム又は複数のアイテムの組み合わせを採用することもできる。また、集約アイテムについても、「SIP,DIP,SIP−DIP,DPT」に代えて、他の任意のアイテム又は複数のアイテムの組み合わせを採用することもできる。
D8.変形例8:
各実施例では、集約アイテムとして、キーアイテムを含まないアイテム(DPT)が設定されていたが、集約アイテムとして、キーアイテムを含むアイテムのみを設定され得る構成であれば、統計集約装置40における統計情報集約部42を省略することもできる。この場合、各統計収集装置31〜34は、フローデータをそのまま統計情報として出力することができる。
各実施例では、集約アイテムとして、キーアイテムを含まないアイテム(DPT)が設定されていたが、集約アイテムとして、キーアイテムを含むアイテムのみを設定され得る構成であれば、統計集約装置40における統計情報集約部42を省略することもできる。この場合、各統計収集装置31〜34は、フローデータをそのまま統計情報として出力することができる。
D9.変形例9:
各実施例では、第1グループは、第1統計収集装置31及び第2統計収集装置32で構成され、第2グループは、第3統計収集装置33及び第4統計収集装置34で構成されていたが、本発明はこれに限定されるものではない。例えば、第1グループを、第1統計収集装置31及び第3統計収集装置33で構成し、第2グループを、第2統計収集装置32及び第4統計収集装置34構成することもできる。また、両グループに属する統計収集装置の数は、同じであったが、異ならせることもできる。例えば、第1グループを3つの統計収集装置31〜33で構成し、第2グループを第4統計収集装置34のみで構成することもできる。なお、統計収集装置の台数も3台に限らず任意の台数とすることもできる。
各実施例では、第1グループは、第1統計収集装置31及び第2統計収集装置32で構成され、第2グループは、第3統計収集装置33及び第4統計収集装置34で構成されていたが、本発明はこれに限定されるものではない。例えば、第1グループを、第1統計収集装置31及び第3統計収集装置33で構成し、第2グループを、第2統計収集装置32及び第4統計収集装置34構成することもできる。また、両グループに属する統計収集装置の数は、同じであったが、異ならせることもできる。例えば、第1グループを3つの統計収集装置31〜33で構成し、第2グループを第4統計収集装置34のみで構成することもできる。なお、統計収集装置の台数も3台に限らず任意の台数とすることもできる。
D10.変形例10:
第2,3の実施例では、一次集約テーブル制御部62は、5つのアイテム(SIP,DIP,上記プロトコル,SPT,DPT)の各値に基づき、パケットを集約していたが、これら5つのアイテムに加えて、パケットのヘッダに記載されている他の任意のアイテムに基づきパケットを集約することもできる。例えば、これら5つのアイテムに加えて、VLAN(Virtual LAN)の識別子や、TTL(Time To Live)の値や、サービスタイプの値等に基づき、パケットを集約することもできる。
第2,3の実施例では、一次集約テーブル制御部62は、5つのアイテム(SIP,DIP,上記プロトコル,SPT,DPT)の各値に基づき、パケットを集約していたが、これら5つのアイテムに加えて、パケットのヘッダに記載されている他の任意のアイテムに基づきパケットを集約することもできる。例えば、これら5つのアイテムに加えて、VLAN(Virtual LAN)の識別子や、TTL(Time To Live)の値や、サービスタイプの値等に基づき、パケットを集約することもできる。
D11.変形例11:
第1の実施例では、負荷分散装置20から各統計収集装置31〜34に送信するデータは、パケットであったが、パケットに代えて、ヘッダ内の各アイテムの値のみを送信することもできる。このような構成により、負荷分散装置20と各統計収集装置31〜34との間のトラヒックを低減させることができる。
第1の実施例では、負荷分散装置20から各統計収集装置31〜34に送信するデータは、パケットであったが、パケットに代えて、ヘッダ内の各アイテムの値のみを送信することもできる。このような構成により、負荷分散装置20と各統計収集装置31〜34との間のトラヒックを低減させることができる。
D12.変形例12:
各実施例では、パケットを集約するためにメモリ内にフローテーブルを生成/更新していたが、フローテーブルを用いずにパケットを集約することもできる。例えば、各フローテーブルの各フィールドに対応するレジスタを予め用意しておき、パケットを受信するたびに、該当するレジスタをカウントアップする構成とすることもできる。
各実施例では、パケットを集約するためにメモリ内にフローテーブルを生成/更新していたが、フローテーブルを用いずにパケットを集約することもできる。例えば、各フローテーブルの各フィールドに対応するレジスタを予め用意しておき、パケットを受信するたびに、該当するレジスタをカウントアップする構成とすることもできる。
D13.変形例13:
各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、負荷分散装置20の検索部23の機能の一部をハードウェア回路で構成することもできる。
各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、負荷分散装置20の検索部23の機能の一部をハードウェア回路で構成することもできる。
3a…パケット受信バッファ、4a…キーアイテム格納部、4b…集約アイテム格納部、4c…数カウント対象アイテム格納部、4d…数基準アイテム格納部、4e…接続テーブル格納部、4f…負荷分散出力先テーブル格納部、10,10a,10b…パケットフロー統計値取得システム、20,20a,20b…負荷分散装置、21…制御部、22…パケット受信部、23…検索部、24…パケット送信部、31…第1統計収集装置、32…第2統計収集装置、33…第3統計収集装置、34…第4統計収集装置、40…統計集約装置、41…システム制御部、42…統計情報集約部、50…管理用端末、60,60a,60b…フロー一次集約装置、61…パケット取得部、61a…パケット取得バッファ、62…一次集約テーブル制御部、63…メモリ、63a…一次集約テーブル、64…統計出力部、64a…出力バッファ、70…フロー単位負荷分散装置、91〜93…ルータ、94…第1端末、95…第2端末、96…第3端末、97…第1サーバ、98…第2サーバ、100…ネットワークシステム、101…ネットワーク、221…アイテム抽出部、222…パケット転送部、231…キーアイテム抽出部、232…ハッシュ演算部、233…出力先決定部、234…負荷分散出力先テーブル、241…第1送信部、242…第2送信部、243…第3送信部、244…第4送信部、311…制御部、312…パケット受信部、314…組み合わせ生成部、315…フローテーブル制御部、316…フローデータ出力部、317…フローデータ出力バッファ、320…メモリ、330…フローテーブル格納部、331,331a,331b…SIPテーブル、332,332a〜332d…SIP−DIPテーブル、333,333a〜333d…DPTテーブル、334,334c,334d…DIPテーブル、411…統計収集装置制御部、412…負荷分散装置制御部、413…制御情報蓄積バッファ、414…制御情報生成部、415…制御部、421…メモリ、421a…フローデータ集約テーブル、422…フローデータ集約部、423…集約アイテムチェック部、424…統計情報出力部、OP1…第1出力ポート、OP2…第2出力ポート、OP3…第3出力ポート、OP4…第4出力ポート
Claims (6)
- ネットワークを介して送受信されるパケットに基づき、パケットフローに関する統計値であるパケットフロー統計値を得るためのパケットフロー統計値取得システムであって、
前記パケットのヘッダに含まれている前記パケットフローを特徴付ける複数のアイテムである複数の特徴アイテムのうち、1つ以上の特徴アイテムの値に基づき前記パケットフロー統計値を得る複数の統計収集装置であって、
少なくとも1つの前記統計収集装置は、第1の統計収集装置グループに属し、
前記第1の統計収集グループに属する前記統計収集装置とは異なる少なくとも1つの前記統計収集装置は、第2の統計収集装置グループに属する、複数の統計収集装置と、
前記第1及び第2の統計収集装置グループに属する前記統計収集装置にそれぞれ接続され、前記ネットワークから前記パケットを受信する負荷分散装置であって、
前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせである第1のキーアイテムの値に応じて前記第1の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信すると共に、
前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせであり前記第1のキーアイテムとは異なる第2のキーアイテムの値に応じて前記第2の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信する負荷分散装置と、
を備える、パケットフロー統計値収集システム。 - 請求項1に記載のパケットフロー統計値取得システムにおいて、さらに、
前記第1及び第2の統計収集装置グループに属する前記統計収集装置にそれぞれ接続された統計集約装置を備え、
前記第1及び第2の統計収集装置グループに属する前記統計収集装置は、それぞれ前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を前記統計集約装置に送信し、
前記統計集約装置は、前記複数の特徴アイテムのうち、前記第1及び第2のキーアイテムとは異なる1つ以上の前記特徴アイテムの値に基づき前記パケットフロー統計を得る、パケットフロー統計値取得システム。 - 請求項2に記載のパケットフロー統計値取得システムにおいて、
前記統計集約装置は、前記パケットフロー統計値を出力する統計情報出力部を有し、
前記第1及び第2の統計収集装置グループに属する前記統計収集装置は、それぞれ得られた前記パケットフロー統計値を前記統計集約装置に送信し、
前記統計情報出力部は、
前記第1及び第2のキーアイテムのうち前記第1のキーアイテムのみを含む1つ以上の前記特徴アイテムに基づき得られた前記パケットフロー統計値については、前記第1の統計収集装置グループに属する前記統計収集装置から受信した前記パケットフロー統計値を出力し、
前記第1及び第2のキーアイテムのうち前記第2のキーアイテムのみを含む1つ以上の前記特徴アイテムに基づき得られた前記パケットフロー統計値については、前記第2の統計収集装置グループに属する前記統計収集装置から受信した前記パケットフロー統計値を出力し、
前記第1のキーアイテムと前記第2のキーアイテムとのいずれも含む1つ以上の前記特徴アイテムに基づき得られた前記パケットフロー統計値については、前記第1の統計収集装置グループ及び前記第2の統計収集装置グループのいずれか一方の統計収集装置グループに属する前記統計収集装置から受信した前記パケットフロー統計値を出力する、パケットフロー統計値取得システム。 - 請求項1ないし請求項3のいずれかに記載のパケットフロー統計値取得システムにおいて、
前記特徴アイテムは、送信元IPアドレスと、宛先IPアドレスと、上位プロトコル種別と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも2つを含む、パケットフロー統計値取得システム。 - 請求項4に記載のパケットフロー統計値取得システムにおいて、
前記第1のキーアイテムは、送信元IPアドレスであり、
前記第2のキーアイテムは、宛先IPアドレスである、パケットフロー統計値取得システム。 - ネットワークを介して送受信されるパケットに基づき、パケットフローに関する統計値であるパケットフロー統計値を得るためのパケットフロー統計値取得方法であって、
(a)前記パケットのヘッダに含まれている前記パケットフローを特徴付ける複数のアイテムである複数の特徴アイテムのうち、1つ以上の特徴アイテムの値に基づき前記パケットフロー統計値を得る複数の統計収集装置であって、少なくとも1つの前記統計収集装置は、第1の統計収集装置グループに属し、前記第1の統計収集グループに属する前記統計収集装置とは異なる少なくとも1つの前記統計収集装置は、第2の統計収集装置グループに属する、複数の統計収集装置を用意する工程と、
(b)前記ネットワークを介して前記パケットを取得する工程と、
(c)前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせである第1のキーアイテムの値に応じて前記第1の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信すると共に、前記複数の特徴アイテムのいずれか1つ又は複数の前記特徴アイテムの組み合わせであり前記第1のキーアイテムとは異なる第2のキーアイテムの値に応じて前記第2の統計収集装置グループのいずれか1つの前記統計収集装置に、前記受信したパケットのうち少なくとも前記複数の特徴アイテムの値を送信する工程と、
を備える、パケットフロー統計値取得方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009196166A JP2011049794A (ja) | 2009-08-27 | 2009-08-27 | パケットフロー統計値取得システム及びパケットフロー統計値取得方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009196166A JP2011049794A (ja) | 2009-08-27 | 2009-08-27 | パケットフロー統計値取得システム及びパケットフロー統計値取得方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011049794A true JP2011049794A (ja) | 2011-03-10 |
Family
ID=43835688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009196166A Pending JP2011049794A (ja) | 2009-08-27 | 2009-08-27 | パケットフロー統計値取得システム及びパケットフロー統計値取得方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011049794A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030944A (ja) * | 2011-07-28 | 2013-02-07 | Fujitsu Ltd | パケットキャプチャ処理方法及び装置 |
JP2018152672A (ja) * | 2017-03-10 | 2018-09-27 | 富士通株式会社 | 監視方法,監視装置,及びプログラム |
JP2019134484A (ja) * | 2015-01-09 | 2019-08-08 | 北京京東尚科信息技術有限公司Beijing Jingdong Shangke Information Technology Co., Ltd. | アクセス要求を規制するシステムおよび方法 |
JPWO2021095179A1 (ja) * | 2019-11-13 | 2021-05-20 |
-
2009
- 2009-08-27 JP JP2009196166A patent/JP2011049794A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030944A (ja) * | 2011-07-28 | 2013-02-07 | Fujitsu Ltd | パケットキャプチャ処理方法及び装置 |
JP2019134484A (ja) * | 2015-01-09 | 2019-08-08 | 北京京東尚科信息技術有限公司Beijing Jingdong Shangke Information Technology Co., Ltd. | アクセス要求を規制するシステムおよび方法 |
JP2018152672A (ja) * | 2017-03-10 | 2018-09-27 | 富士通株式会社 | 監視方法,監視装置,及びプログラム |
JPWO2021095179A1 (ja) * | 2019-11-13 | 2021-05-20 | ||
WO2021095179A1 (ja) * | 2019-11-13 | 2021-05-20 | 日本電信電話株式会社 | 振り分け装置、振り分け方法、振り分けプログラム |
JP7239016B2 (ja) | 2019-11-13 | 2023-03-14 | 日本電信電話株式会社 | 振り分け装置、振り分け方法、振り分けプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4341413B2 (ja) | 統計収集装置を備えたパケット転送装置および統計収集方法 | |
US7644157B2 (en) | Statistical information collecting system and apparatus thereof | |
Chanda et al. | Content based traffic engineering in software defined information centric networks | |
US8238324B2 (en) | Method and system for network aware virtual machines | |
JP5660198B2 (ja) | ネットワークシステム、及びスイッチ方法 | |
CN100562020C (zh) | 检测方法、统计分析服务器以及检测系统 | |
US20090010262A1 (en) | Network routing apparatus | |
KR101409311B1 (ko) | 패킷 처리 및 전처리기를 위한 장치 및 방법 | |
WO2014208538A1 (ja) | 通信システムと装置と方法とプログラム | |
US20120054079A1 (en) | Charging system and charging method | |
JP2010041471A (ja) | 通信データ統計装置、通信データ統計方法およびプログラム | |
CN106972985B (zh) | 加速dpi设备数据处理与转发的方法和dpi设备 | |
CN104378264A (zh) | 一种基于sFlow的虚拟机进程流量监控方法 | |
KR20090079945A (ko) | 플로우 정보 제한장치 및 방법 | |
WO2015101952A1 (en) | Accurate measurement of distributed counters | |
WO2011044396A2 (en) | Method and apparatus for supporting network communications | |
CN109040243A (zh) | 一种报文处理方法及装置 | |
US11706152B2 (en) | Methods and systems for queue and pipeline latency metrology in network devices and smart NICs | |
JP7103883B2 (ja) | 通信システム、通信制御方法、及び通信装置 | |
CN113746654A (zh) | 一种IPv6地址管理和流量分析的方法和装置 | |
JP2011049794A (ja) | パケットフロー統計値取得システム及びパケットフロー統計値取得方法 | |
US20230198885A1 (en) | Network layer reachable information transmission method, system, and apparatus and network device | |
WO2013139678A1 (en) | A method and a system for network traffic monitoring | |
Raumer et al. | Performance exploration of software-based packet processing systems | |
CN109672594B (zh) | IPoE报文处理方法、装置及宽带远程接入服务器 |