説明

ネットワーク中継機器、統計情報取得システム及び統計情報取得方法

【課題】トラフィックに関する統計情報の取得に関する設定を自動的に行う。
【解決手段】ネットワーク中継機器30は、内蔵する統計情報生成部40でパケットをサンプリングしつつ、統計情報を生成して管理端末に統計情報パケットを送信する。設定値算出部42は、トラフィック量やポーリングインターバル時間を設定した後、CPU34の使用率を所定の値以下とすることを基準としてサンプリングレートを自動的に設定する。このときサンプリングレートの算出は、予め用意された設定値テーブル60を用いて行うことができる。CPU34の使用率が所定の値以下に抑えられるため、統計情報の生成以外の処理が大きく阻害されることはない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のトラフィックに関する統計情報を取得する用途に適したネットワーク中継機器、統計情報取得システム及び統計情報取得方法に関する。
【背景技術】
【0002】
従来、ネットワーク機器からトラフィックに関する統計情報を収集し、計測サーバ等でネットワークの性能を評価する計測システムの先行技術が知られている(例えば、特許文献1参照。)。統計情報を用いた評価手法とは、ネットワークを流通する全てのパケットを取得するのではなく、適度な割合でサンプリングしたパケットを用いてフローサンプルを生成し、そこから統計的にトラフィックの動向を調査する手法である。
【0003】
一般にsFlow(登録商標)等の統計手法で用いる統計情報には、サンプリングごとに生成されるフローサンプルと、ポーリングインターバルごとに生成されるカウンタサンプルが存在する。このうちフローサンプルには、ネットワークを流通するパケットのヘッダ部分だけを取り出した統計情報が含まれており、カウンタサンプルには、ネットワーク中継機器等で監視対象なるポートの統計情報が格納されている。これらフローサンプルやカウンタサンプルは、コレクタと呼ばれる計測サーバ等の監視装置に送信され、そこで統計情報として利用される。
【0004】
上記の先行技術は、例えばネットワーク中継機器のように、ネットワーク内のトラフィックが集中する箇所では比較的高いサンプリングの割合で統計情報を収集しつつ、得られた統計情報からネットワークトラフィックの異常状態を判断すると、同じ種類のネットワーク機器に対するサンプリングの割合を小さくすることとしている。このため先行技術によれば、サンプリングの割合をある程度は高く設定して統計情報の精度を維持しつつ、異常発生時も高い割合でサンプリングを続けることによるトラフィック量の増大を抑えることで、ネットワークの負荷を軽減することができると考えられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−286684号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の先行技術は、基本的に異常状態を判断しなければ、常に同一のサンプリングレートを設定して統計情報を取得するものである。しかし、たとえ異常状態でなくとも、ネットワークのトラフィック(パケットの流通量)が一時的に増加した場合、それまでと同一のサンプリングレートを維持することが統計情報の取得にとって最適な設定であるとは限らない。
【0007】
その一方で統計情報の取得に関する設定には、サンプリングレートの他にも監視対象となるポート数やパケットの入出力方向の別、さらにはカウンタサンプルを生成するポーリングインターバル時間といった多くのパラメータが存在し、これら全てを考慮した上で適切なサンプリングレートの値を一意に設定することは極めて困難である。
【0008】
そこで本発明は、トラフィックに関する統計情報の取得に関する設定を自動的に行うことができる技術の提供を課題とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本発明は以下の解決手段を採用する。
本発明は、ネットワークを介して複数の電子機器間で送受信される複数のパケットをネットワーク内で中継するネットワーク中継機器である。特に本発明のネットワーク中継機器は、複数のパケットを中継する過程で、予め設定されたサンプリングレートに基づき複数のパケットの中から任意のパケットを取得するパケット取得手段と、パケット取得手段により取得された任意のパケットに基づき、ネットワーク内のトラフィックに関する統計情報を生成する統計情報生成手段と、統計情報生成手段により生成された統計情報を所定の管理端末に対して送信する統計情報送信手段と、統計情報生成手段による統計情報の生成に要する負荷を所定水準に設定することを基準として、サンプリングレートを設定するサンプリングレート設定手段とを備える。
【0010】
上記のように統計情報を生成する機能は、ネットワークを管理する上で有用なものであり、この機能をネットワーク中継機器が内蔵することで、管理対象のネットワークから必要な統計情報を取得することができる。その一方で、ネットワーク中継機器には本来の中継動作を問題なく実行することが求められることから、統計情報を生成する際の負荷が本来の中継動作の妨げとなるべきではない。そこで本発明は、「統計情報の生成に要する負荷を所定水準に設定する」という明確な基準に則って最適なサンプリングレートを自動的に設定することとしている。このとき、「所定水準」を本来の中継動作を圧迫しない負荷の水準として予め定めておけば、統計情報の生成に要する負荷が中継動作を妨げることなく、最適な設定を用いてネットワーク中継機器により統計情報を生成することができる。
【0011】
本発明のネットワーク中継機器は、少なくとも統計情報生成手段として統計情報を生成する処理を実行する中央処理装置(CPU)を含むことが好ましい。この場合、上記のサンプリングレート設定手段は、その処理の実行に伴う中央処理装置の使用率を所定の値以下にすることを基準としてサンプリングレートを設定することができる。
【0012】
上記の態様であれば、「中央処理装置の使用率」という実用上の値を基準として適切なサンプリングレートを設定することができる。したがって、例えばネットワーク中継機器が本来の中継動作に必要とする中央処理装置の使用率から逆算し、予め統計情報の生成処理に割くことができる使用率の範囲内で「所定の値以下」を定めておけば、ネットワーク中継機器として最適なサンプリングレートを自動的に設定することができる。
【0013】
また本発明のネットワーク中継機器は、統計情報生成手段による統計情報の生成に要した実際の負荷を取得する負荷取得手段をさらに備えてもよい。この場合、サンプリングレート設定手段は、負荷取得手段により取得された実際の負荷が所定水準を超える場合、設定済みのサンプリングレートを低下させることが好ましい。
【0014】
上記の態様であれば、一度は最適に設定したサンプリングレートで統計情報を生成していても、その他の要因によって負荷が高くなった場合、それに合わせて最適なサンプリングレートに設定し直すことができる。これにより、トラフィック量の増大等による影響を考慮した上で最適な設定を自動的に行うことができる。
【0015】
またサンプリングレート設定手段は、単位時間内に中継される全パケット数のうち、同じ単位時間内に取得されるパケット数の割合をサンプリングレートとして設定するとともに、サンプリングレートとして2のべき乗の逆数を用いるか、もしくは2のべき乗から1を減じた値の逆数を用いることが好ましい。
【0016】
例えば、単位時間内に中継される全パケット数「N」に対し、同じ単位時間内に取得されるパケット数を「1」とすると、設定されるサンプリングレートは「1/N」となる。このときサンプリングレートとして「2のべき乗の逆数」又は「2のべき乗−1の逆数」(「N」の値が「2のべき乗」又は「2のべき乗−1」)を用いれば、コンピュータハードウェアを用いてサンプリングレート設定手段を実現することが容易となるため、より実用性に優れたものとなる。
【0017】
本発明は、統計情報取得システムとして構成することができる。すなわち本発明のシステムは、複数の電子機器間で送受信される複数のパケットを中継するネットワーク中継機器を有したネットワークと、このネットワークを管理対象としてネットワーク外に配置された管理端末と、ネットワーク中継機器により複数のパケットが中継される過程で、予め設定されたサンプリングレートに基づき複数のパケットの中から任意のパケットを取得するパケット取得手段と、パケット取得手段により取得された任意のパケットに基づき、ネットワーク内のトラフィックに関する統計情報を生成する統計情報生成手段と、統計情報生成手段により生成された統計情報を管理端末に対して送信する統計情報送信手段と、統計情報生成手段による統計情報の生成に要する負荷を所定水準に設定することを基準として、サンプリングレートを設定するサンプリングレート設定手段と、管理端末に送信された統計情報を収集してネットワーク内のトラフィックに関する統計情報を取得する統計情報取得手段とを備えたものとなる。
【0018】
本発明の統計情報取得システムによれば、管理対象となるネットワーク内のネットワーク中継機器で統計情報を生成し、これを管理端末で収集することにより、ネットワークの管理に資することができる。また、統計情報を生成する機能がネットワーク中継機器に内蔵されていても、その分の負荷がパケットの中継動作を妨げることないため、システム内で最適なサンプリングレートを自動的に設定しつつ、管理端末で必要な統計情報を取得することができる。
【0019】
システムが有するネットワーク中継機器は、少なくとも統計情報生成手段として統計情報を生成する処理を実行する中央処理装置(CPU)を含むものであってもよい。この場合、サンプリングレート設定手段は、処理の実行に伴う中央処理装置の使用率を所定の値以下にすることを基準としてサンプリングレートを設定する。
【0020】
上記の態様であれば、ネットワーク中継機器内での「中央処理装置の使用率」という実用上の値を基準として適切なサンプリングレートを設定することができる。したがって、例えばネットワーク中継機器が本来の中継動作に必要とする中央処理装置の使用率から逆算し、予め統計情報の生成処理に割くことができる使用率の範囲内で「所定の値以下」を定めておけば、システム全体として最適なサンプリングレートを自動的に設定することができる。
【0021】
また本発明の統計情報取得システムは、統計情報生成手段による統計情報の生成に要した実際の負荷を取得する負荷取得手段をさらに備えてもよい。この場合、サンプリングレート設定手段は、負荷取得手段により取得された実際の負荷が所定水準を超える場合、設定済みのサンプリングレートを低下させることが好ましい。
【0022】
上記の態様であれば、一度はシステムとして最適に設定したサンプリングレートでネットワーク中継機器が統計情報を生成していても、その他の要因によって負荷が高くなった場合、それに合わせて最適なサンプリングレートに設定し直すことができる。これにより、トラフィック量の増大等による影響を考慮した上で最適な設定を自動的に行うことができる。
【0023】
本発明の統計情報取得システムにおけるサンプリングレート設定手段は、単位時間内に中継される全パケット数のうち、同じ単位時間内に取得されるパケット数の割合をサンプリングレートとして設定するとともに、サンプリングレートとして2のべき乗の逆数を用いるか、もしくは2のべき乗から1を減じた値の逆数を用いることができる。
【0024】
この場合も同様に、例えば単位時間内に中継される全パケット数「N」に対し、同じ単位時間内に取得されるパケット数を「1」とすると、設定されるサンプリングレートは「1/N」となる。このときサンプリングレートとして「2のべき乗の逆数」又は「2のべき乗−1の逆数」(「N」の値が「2のべき乗」又は「2のべき乗−1」)を用いれば、システムにおいてコンピュータハードウェアを用いてサンプリングレート設定手段を実現することが容易となり、より実用性に優れたものとなる。
【0025】
また本発明は、統計情報取得方法を提供する。本発明の統計情報取得方法は、以下の工程を有する。
(1)パケット取得工程
この工程では、ネットワークを介して複数の電子機器間で送受信される複数のパケットがネットワーク中継機器により中継される過程で、予め設定されたサンプリングレートに基づき複数のパケットの中から任意のパケットを取得する。
(2)統計情報生成工程
この工程では、上記(1)のパケット取得工程で取得された任意のパケットに基づき、ネットワーク内のトラフィックに関する統計情報を生成する。
(3)統計情報送信工程
この工程では、上記(2)の統計情報生成工程で生成された統計情報を所定の管理端末に対して送信する。
(4)サンプリングレート設定工程
この工程は、上記(1)のパケット取得工程に先立って実行される。すなわちこの工程は、上記(3)の統計情報生成工程での統計情報の生成に要する負荷を所定水準に設定することを基準として、サンプリングレートを設定するものである。
(5)統計情報取得工程
この工程では、管理端末に送信された統計情報を収集してネットワーク内のトラフィックに関する統計情報を取得する。
【0026】
以上の工程(1)〜(5)を実行することにより、上述した統計情報取得システムとしての利点を得ることができる。
【0027】
また上記(4)のサンプリングレート設定工程では、ネットワーク中継機器が少なくとも統計情報生成手段として統計情報を生成する処理を実行する中央処理装置(CPU)を含む構成である場合、その処理の実行に伴う中央処理装置の使用率を所定の値以下にすることを基準としてサンプリングレートを設定することができる。
【0028】
これにより、パケット取得工程の実行に先立ち、ネットワーク中継機器内での「中央処理装置の使用率」という実用上の値を基準として適切なサンプリングレートを設定することができる。したがって、例えばネットワーク中継機器が本来の中継動作に必要とする中央処理装置の使用率から逆算し、予め統計情報の生成処理に割くことができる使用率の範囲内で「所定の値以下」を定めておけば、統計情報取得方法の使用に際して最適なサンプリングレートを自動的に設定することができる。
【0029】
統計情報取得方法は、さらに以下の工程を有していてもよい。
(6)負荷取得工程
この工程は、上記(5)の統計情報生成工程での統計情報の生成に要した実際の負荷を取得するものである。
この場合、上記(4)のサンプリングレート設定工程では、上記(6)の負荷取得工程で取得された実際の負荷が所定水準を超える場合、設定済みの値を低下させてサンプリングレートを再設定することができる。
【0030】
上記の態様であれば、一度は統計情報取得方法において最適に設定したサンプリングレートでネットワーク中継機器が統計情報を生成していても、その他の要因によって負荷が高くなった場合、それに合わせて最適なサンプリングレートに設定し直すことができる。これにより、トラフィック量の増大等による影響を考慮した上で最適な設定を自動的に行うことができる。
【0031】
また上記(4)のサンプリングレート設定工程では、単位時間内に中継される全パケット数のうち、同じ単位時間内に取得されるパケット数の割合をサンプリングレートとして設定するとともに、サンプリングレートとして2のべき乗の逆数を用いるか、もしくは2のべき乗から1を減じた値の逆数を用いることができる。
【0032】
統計情報取得方法においても同様に、例えば単位時間内に中継される全パケット数「N」に対し、同じ単位時間内に取得されるパケット数を「1」とすると、設定されるサンプリングレートは「1/N」となる。このときサンプリングレートとして「2のべき乗の逆数」又は「2のべき乗−1の逆数」(「N」の値が「2のべき乗」又は「2のべき乗−1」)を用いれば、統計情報取得方法においてコンピュータハードウェアを用いてサンプリングレート設定手段を実現することが容易となり、より実用性に優れたものとなる。
【発明の効果】
【0033】
本発明のネットワーク中継機器、統計情報取得システム及び統計情報取得方法は、統計情報の生成や取得に関して最適な設定を自動的に行いつつ、ネットワークの管理に資することができる。また、ネットワーク上のトラフィックに変動があっても、これに追従して最適な設定を自動的に再度行うことができる。したがって、外的な要因で最適な設定がずれた場合にも柔軟に対応し、ネットワーク中継機器での中継動作の安定性を維持することができる。
【図面の簡単な説明】
【0034】
【図1】統計情報取得システムの構成を概略的に示す図である。
【図2】ネットワーク中継機器のハードウェア構成を概略的に示したブロック図である。
【図3】統計情報生成部の機能的な構成を示すブロック図である。
【図4】サンプリングレートの設定手順を示すフローチャートである。
【図5】サンプリングレートの設定処理の手順例を示したフローチャートである。
【図6】設定値テーブルの構成例を示す図である。
【図7】CPUの設計時(出荷時)に作成されたスペックデータの一例を示す特性図である。
【図8】統計情報生成部起動コントロールの手順例を示すフローチャートである。
【発明を実施するための形態】
【0035】
以下、本発明の実施形態について図面を参照しながら説明する。なお本実施形態は、(1)ネットワーク内に配置されるネットワーク中継機器としての形態、(2)ネットワークのトラフィックに関する統計情報を取得する統計情報取得システムとしての形態、(3)統計情報取得システムを用いて実行される統計情報取得方法としての形態を含むものとする。
【0036】
〔統計情報取得システムの概要〕
図1は、上記の形態(2)として挙げられる統計情報取得システムの構成を概略的に示す図である。この統計情報取得システムは、例えば管理端末10を用いて管理対象となるネットワーク20,26等のトラフィックに関する統計情報を取得する用途に適している。なお、図1には管理対象として2つのネットワーク20,26が示されているが、この他にも管理対象となるネットワークが存在してもよい。
【0037】
管理対象である1つのネットワーク20には、例えば複数台のユーザ端末22やウェブサーバ24が接続されている他、図示しないメールサーバやFTP(File Transfer Protocol)サーバ等が接続されている。このようなネットワーク20は、例えば広域ネットワークとしての使用を想定した通信インフラである。
【0038】
広域用のネットワーク20内には、例えば複数台のネットワーク中継機器30が設置されている。これら複数台のネットワーク中継機器30は、ネットワークケーブル(図中参照符号なし)を介して接続され、ネットワーク20内に物理的なトポロジを構成している。ネットワーク20を介して複数のユーザ端末22間、あるいはユーザ端末22とウェブサーバ24間で送受信されるパケット(フレーム)は、その過程でいずれかのネットワーク中継機器30により中継される。なお、図1に示されているネットワーク中継機器30はその一部であり、全てを網羅したものではない。また、ネットワーク中継機器30の外形(外観)は図示のものに限られず、その他の形態もあり得る。例えば、物理的ではなく、論理的にソフトウェアエミュレーションによる仮想的なネットワーク中継機器の場合もあり得る。
【0039】
管理端末10は、例えばサーバとしての機能を有したコンピュータ機器であり、この管理端末10は、例えば管理用ネットワーク12に接続されている。管理端末10には、管理用アプリケーションの1つである統計情報コレクタ(例えばsFlowコレクタ:ただし「sFlow」は登録商標)が実装されており、統計情報コレクタは、管理用ネットワーク12を通じて管理対象のネットワーク20,26等から統計情報を取得(収集)する。
【0040】
一方、管理対象のネットワーク20を構成するネットワーク中継機器30には、統計情報の取得に関する機能(以下、「統計情報取得エージェント」と称する。)が実装されている。統計情報取得エージェント(例えばsFlowエージェット:同じく「sFlow」は登録商標)は、ネットワーク中継機器30のリソースを用いてパケットをサンプリングし、統計情報を生成して管理端末10に統計情報を送信する。
【0041】
上記の統計情報コレクタ及び統計情報取得エージェントは、ネットワーク管理用プロトコルの1つであるSNMP(Simple Network Management Protocol)に準拠している。管理端末10は、SNMPを用いて各ネットワーク中継機器30の統計情報取得エージェントと通信を行い、それぞれから統計情報を収集する。また管理端末10には、管理用のデータベースであるMIB(Management Information Base)14が接続(又は内蔵)されており、このMIB14には、統計情報の取得に関する管理情報が記録されている。管理端末10は、MIB14にアクセスして管理情報を読み出し、管理対象となるネットワーク20の状態を確認することができる。なお、SNMPやMIB14を用いた管理手法は公知であるため、ここではその詳細な説明を省略する。
【0042】
〔ネットワーク中継機器の構成〕
図2は、ネットワーク中継機器30のハードウェア構成を概略的に示したブロック図である。ネットワーク中継機器30は、例えば複数のポート30a,30bを有する他、内蔵の電子機器としてスイッチLSI(Large Scale Integration)32やCPU(Central Processing Unit:中央処理装置)34、フラッシュメモリ36、主記憶メモリ38を有している。また、この他にネットワーク中継機器30は統計情報生成部40を有しており、この統計情報生成部40は、上記の統計情報取得エージェントとして機能する。
【0043】
複数あるポート30a,30bのうち、いくつか(この例では4つ)のポート30aはネットワークケーブル(図2には示していない)を介して他のネットワーク中継機器30(ポート30a)と接続されている。これらポート30aは、例えば主にユーザパケットの入力又は出力に使用されている。ユーザパケットは、例えばネットワーク20を介して送受信される、後述するポート30bでの管理用パケットや統計情報パケット以外のパケットである。なお、ネットワーク中継機器30には図示以外のポートが設けられていてもよい。
【0044】
また1つのポート30bは、図示しないネットワークケーブルを介して上記の管理用ネットワーク12に接続されることで、管理用ポートとして確保されている。このポート30bは、例えば主に管理用パケットの入力や統計情報パケットの出力に使用されている。管理用パケットは、SNMPを用いて管理端末10から送信されてくるパケットであり、この管理用パケットには統計情報の取得に関する設定情報が含まれている。また統計情報パケットは、ネットワーク中継機器30から管理端末10に向けて送信されるパケットであり、この統計情報パケットには、上記の統計情報取得エージェントで生成された統計情報が含まれている。
【0045】
スイッチLSI32は、複数のポート30a間でのユーザパケットの入出力を制御する。これにより、ユーザパケットはネットワーク20内で順に中継され、宛先となるユーザ端末22やウェブサーバ24に到達する。またCPU34は、スイッチLSI32による中継動作を制御する他、統計情報生成部40による統計情報の生成処理に必要なシステムリソースを提供する。フラッシュメモリ36は、例えばEEPROM等の不揮発記憶媒体である。フラッシュメモリ36には各種のプログラムモジュールが格納されており、CPU34はこれらプログラムモジュールの実行を通して、上述した中継動作の制御や統計情報の生成処理を行う。また主記憶メモリ38は、例えば書き換え可能なRAMである。主記憶メモリ38は、CPU34が動作中にバッファメモリとして利用可能な一時記憶領域を提供する。
【0046】
統計情報生成部40は、上記のように統計情報取得エージェントとしての機能を実現する要素である。統計情報生成部40は、スイッチLSI32を通じてパケット(キャプチャパケット)を取得したり、上記の統計情報パケットを生成してポート30bから送出したりする機能を果たす要素である。また統計情報生成部40には設定値算出部42が内蔵されており、この設定値算出部42は、統計情報パケットを生成する際のサンプリングレートを設定する機能を果たす。この例では、ネットワーク中継機器30内にある1つの独立した機能要素として統計情報生成部40を示しているが、統計情報生成部40の機能はフラッシュメモリ36やスイッチLSI32に分散して組み込むことができる。以下、統計情報生成部40の機能的な構成についてより具体的に説明する。
【0047】
〔統計情報生成部の構成〕
図3は、統計情報生成部40の機能的な構成を示すブロック図である。統計情報生成部40は、上記の設定値算出部42を有する他、例えばリンクアップ検出部44、パケット取得部46、サンプリング部48、カウンタ50、タイマ52、CPU使用率取得部54、フローサンプル生成部56及びカウンタサンプル生成部58を有している。また設定値算出部42には、参照用として設定値テーブル60が付属する。
【0048】
上記のリンクアップ検出部44は、ネットワーク中継機器30において実際にリンクアップしているポート30aを検出し、そのポート番号を特定する部分である。またパケット取得部46は、統計情報パケットを生成するためのパケットを取得する部分であり、サンプリング部48は、スイッチLSI32にサンプリング動作を実行させる部分である。カウンタ50は、各ポート30aで中継されたパケットの数をカウントする部分である。
【0049】
なお、図3中に2点鎖線の枠で囲まれた各要素(リンクアップ検出部44、パケット取得部46、サンプリング部48及びカウンタ50)は、いずれもスイッチLSI32のリソースを用いて実現することができる。この場合、これら要素はスイッチLSI32に内蔵された形態となる。
【0050】
設定値算出部42は、サンプリング部48によりサンプリング動作を行う頻度、つまりサンプリングレートを設定する部分であり、具体的には、単位時間あたりに中継される全パケット数に対して、その中からサンプリングするパケットの割合(1/N)を設定値として算出する。また設定値テーブル60には、設定値の算出に際して参照される情報が予め記憶されている。タイマ52は、経過時間を計測する一般的な機能要素であり、CPU使用率取得部54は、CPU34の使用率(処理負荷の度合)を取得する一般的な機能要素である。またフローサンプル生成部56は、サンプリング動作ごとに統計情報(フローサンプル)を生成する部分であり、カウンタサンプル生成部58は、ポーリングインターバルごとに別の統計情報(カウンタサンプル)を生成する部分である。
【0051】
図3中に1点鎖線の枠で囲まれた各要素(設定値算出部42、設定値テーブル60、タイマ52、CPU使用率取得部54、フローサンプル生成部56及びカウンタサンプル生成部58)は、いずれもフラッシュメモリ36のリソースを用いて実現することができる。この場合、これら要素はフラッシュメモリ36に内蔵された形態となる。
【0052】
〔サンプリングレート設定値の算出〕
図4は、サンプリングレートの設定手順を示すフローチャートである。統計情報生成部40は、例えばネットワーク中継機器30の起動時に以下の設定手順を通じて設定値を算出し、サンプリングレートを設定することができる。以下、各手順について説明する。
【0053】
ステップS10:統計情報生成部40は、上記のリンクアップ検出部44によりリンクアップしているポート(複数のポート30aの中のいずれか)を検出する。ここで検出されたポートは、別途指定された監視対象ポートであった場合、監視対象ポートとして設定される。
【0054】
ステップS12:次に統計情報生成部40は、監視対象ポートについてIngress(入力方向)又はEgress(出力方向)のいずれを監視対象とするか、もしくは、両方向をともに監視対象とするかを、別途指定された指示に基づき、決定する。
【0055】
ステップS14:統計情報生成部40は、上記のカウンタ50にて現在(現時点まで)のカウンタ値を取得する。
ステップS16:続いて統計情報生成部40は、上記のタイマ52により時間を計測し、単位時間(例えば数秒)が経過するまで待機し(No)、単位時間が経過すると(Yes)、次のステップS18に進む。
【0056】
ステップS18:統計情報生成部40は、カウンタ50にて単位時間経過後のカウンタ値を取得する。
ステップS20:そして統計情報生成部40は、ステップS14で取得したカウンタ値とステップS18で後から取得したカウンタ値との差を単位時間で除し、トラフィック量を算出する。例えば、先のカウンタ値が「10パケット」であり、単位時間経過後のカウンタ値が「100パケット」であれば、「(100−10)/単位時間」がトラフィック量(パケット数/時間)となる。
【0057】
ステップS22:次に統計情報生成部40は、ポーリングインターバル時間を設定する。ポーリングインターバル時間は、例えば監視対象のポート数に1秒を掛けた時間とすることができる。例えば、設定した監視対象のポート数が「Pn個」であれば、「Pn×1秒」がポーリングインターバル時間となる。
【0058】
ステップS24:そして統計情報生成部40は、サンプリングレートの設定処理を実行する。具体的には、上記の設定値算出部42を起動させ、サンプリングレートの設定値を算出する。
【0059】
なお、本実施形態では、監視対象ポート及び方向が別途指示されると記述したが、例えば、リンクアップだけで自動的に統計情報生成部40にサンプリングレートの設定値を決定させてもよい。
【0060】
図5は、サンプリングレートの設定処理の手順例を示したフローチャートである。設定値算出部42は、以下の手順を通じてサンプリングレートの設定値を算出することができる。
【0061】
ステップS30:設定値算出部42は、設定値の算出に必要な各種パラメータを設定する。具体的には、監視対象となるポート数、入出力方向の別、ポーリングインターバル時間等である。
【0062】
ステップS32,S34:設定値算出部42は上記の設定値テーブル60を参照し、CPU34の使用率が所定の値以下となるサンプリングレートを算出する。例えば、設定値算出部42は仮の候補値として定めたサンプリングレートを用いてトライ・アンド・エラーを行い、設定値テーブル60上でCPU34の使用率が所定の値(例えば数%)以下に収束しなければ(No)、候補値を変更してCPU34の使用率を確認する。
【0063】
ステップS36:CPU34の使用率が所定の値以下に収束すると(ステップS34:Yes)、設定値算出部42はそのときの値をサンプリングレートの設定値として決定し、算出結果を保存する。
【0064】
〔設定値テーブル〕
図6は、設定値テーブル60の構成例を示す図である。設定値テーブル60は、例えばCPU34の設計時にスペックデータとして作成されている。設定値テーブル60は、例えばサンプリングレート、監視対象ポート数、及びポーリングインターバル時間を各種のパラメータとし、各パラメータとCPU使用率との既知の関係から適切なサンプリングレートを算出するためのものである。このような設定値テーブル60を用いたサンプリングレートの算出は、例えば以下の手法で行われる。
【0065】
(1)仮にサンプリングレートの候補値を決定しておく。
(2)決定したサンプリングレートの候補値を固定とし、他のパラメータを用いてCPU使用率を確認する。
(3)CPU使用率が所定の値を超えていれば、サンプリングレートの候補値を変更する。
(4)候補値の変更に伴い、CPU使用率が所定の値以下に収束するときのサンプリングレートを設定値として決定する。
【0066】
図7は、CPU34の設計時(出荷時)に作成されたスペックデータの一例を示す特性図である。例えば、トラフィック量及びサンプリングレートをいずれも固定値として考えた場合、統計情報の生成に要するCPU34の使用率は、監視対象のポート数の関数として表される。したがって、あるネットワーク中継機器30について、監視対象とするポート数がPnであるとすると、これに対応するCPU使用率は、設計時のスペックからX(%)となる。このときのX(%)が上記の所定の値以下であれば、固定値(候補値)として考えたサンプリングレートを実際の設定値として採用することができる。これに対し、X(%)が上記の所定の値以下とならない場合、サンプリングレートの固定値を変更してCPU使用率が所定の値以下に収束する値を算出する。
【0067】
本発明の発明者は、(1)サンプリングレートが大きいほど、(2)監視対象のポート数が多いほど、(3)ポーリングインターバルが小さいほど、いずれもCPU使用率を押し上げるという特性に着目し、これらの条件からCPU使用率を一定値に抑えるサンプリングレートを算出可能であることを見出した。具体的には、以下の関係式からサンプリングレートを算出することが可能である。
CPU使用率=(係数A)×(ポート数)×(トラフィック量)×(サンプリングレート)+(定数B)
なお上式において、係数AはCPU34が高性能であるほど小さい。また定数Bは、トラフィック量を「0」とした場合の定常的な値とする。これにより、上式に所望のCPU使用率(所定の値)を当てはめれば、その他のパラメータを固定として最適なサンプリングレートを算出可能であることがわかる。
【0068】
なお本実施形態では、統計情報生成部40をハードウェアで構成しているため、サンプリングレートの具体的な値は「1/2のべき乗(=1/2)」、あるいは「1/2のべき乗−1(=1/(2−1))」で設定することが望ましい。
【0069】
〔統計情報取得方法〕
以上より、本実施形態で採用する統計情報取得方法は、次の工程を通じて実行することができる。
【0070】
〔1〕サンプリングレート設定工程
例えば、ネットワーク中継機器30の起動時に統計情報生成部40で図4,図5の手順を実行し、CPU34の使用率が所定の値以下となるサンプリングレートを設定する。「所定の値」は、CPU34の定常的な処理の実行に支障とならない使用率とすることができる。
〔2〕パケット取得工程
設定されたサンプリングレートに基づき、ネットワーク中継機器30によりパケットが中継される過程で複数のパケットの中から任意のパケットを取得する。
〔3〕統計情報生成工程
設定したサンプリングレート(設定値)に基づき、ネットワーク中継機器30の統計情報生成部40(フローサンプル生成部56)で統計情報を生成する。
〔4〕統計情報送信工程
生成した統計情報をネットワーク中継機器30から統計情報パケットとして管理端末10に送信する。
〔5〕統計情報取得工程
統計情報取得システムの管理端末10は、統計情報コレクタの機能を用いて統計情報パケットを取得(収集)する。統計情報コレクタは、複数のネットワーク中継機器30から取得した統計情報パケットを解析し、管理対象となるネットワーク20のトラフィックを評価することができる。
【0071】
また、以下の工程を適宜追加してもよい。
〔6〕負荷取得工程
CPU使用率取得部54によりCPU34の使用率を監視する。その結果、使用率が所定の値を超えた場合、〔1〕の工程で設定したサンプリングレートを低下させる。
【0072】
また本実施形態については、以下の好ましい変形例を適用することができる。
〔変形例1〕
CPU使用率取得部54によりCPU34の使用率を定期的に監視し、使用率が所定の値を超えている場合、設定済みのサンプリングレート(設定値)を低下させる。これにより、一度は最適に設定したサンプリングレートで統計情報の生成を行っていても、何らかの要因(例えば単位時間あたりのトラフィック量の増加)によってCPU34の使用率が増加した場合、改めて使用率を所定の値以下に抑えることができる。
【0073】
〔変形例2〕
変形例2は、本実施形態で管理対象のネットワーク20にVLANの設定があることを想定したものである。例えば、ネットワーク20についてのVLAN設定テーブルを参照し、使用されているVLANが複数ある場合、使用中のVLANの数だけ統計情報生成部40を作動させることができる。
【0074】
〔変形例3〕
変形例3は、本実施形態において設定値算出部42を常時動作させるものである。上記のように適切なサンプリングレートは、ネットワーク中継機器30の起動時に取得したトラフィック量を用いて設定することができるが、変形例3では常時、設定値算出部42を動作させ、トラフィック量のリアルタイムな変動に追従してサンプリングレートを動的に算出する。
【0075】
図8は、統計情報生成部起動コントロールの手順例を示すフローチャートである。この手順は、例えばネットワーク中継機器30の起動時にCPU34により実行することができる。以下、手順例に沿って説明する。
【0076】
ステップS50:CPU34は、常時サンプリングレートの算出を行う初期設定がされているか否かを確認する。初期設定の確認は、例えばフラッシュメモリ36に設定された初期設定フラグの値を用いて行うか、もしくは、物理的な接点を切り替えるスイッチの状態に基づいて行うことができる。
【0077】
ステップS52:常時算出する初期設定がされている場合(ステップS50:Yes)、CPU34は設定値算出部42の動作を「常駐」に設定する。
ステップS54:そして、CPU34は常駐時に適用される動作条件を設定する。例えば、設定値算出部42がサンプリングレートの算出を行うインターバル(割り込み周期)の条件を設定する。この場合、設定値算出部42は設定された動作条件でサンプリングレートを算出する。これにより、トラフィック量が一時的に変動した場合、その変動に追従して最適なサンプリングレートをリアルタイムに設定することができる。
【0078】
ステップS56:特に常時算出する初期設定がされていなければ(ステップS50:No)、CPU34は設定値算出部42の動作を起動時に設定する。
【0079】
上述した実施形態(変形例1〜3を含む)によれば、CPU34の使用率を所定の値以下とすることを基準として最適なサンプリングレートを自動的に算出し、その設定を行うことができる。これにより、統計情報の生成に伴うCPU34の負荷が極端に増大することを抑え、そのシステムリソースを適切に利用することができる。
【0080】
また、一度設定したサンプリングレートを再設定したり、トラフィック量の変動に追従して動的に設定したりすることができるため、外的な要因による最適値のずれに対しても柔軟に対応することができる。
【0081】
本発明は上述した一実施形態に制約されることなく、種々に変形して実施することができる。例えば、設定値算出部42はCPU34の使用率を所定の値以下とするサンプリングレートを算出しているが、使用率を一定値に収束するようにサンプリングレートを算出する態様であってもよい。また、上限値と下限値を設定し、使用率を所定の範囲内で最適なサンプリングレートを算出する態様であってもよい。この場合、CPU34の使用率が下限値を下回ると、設定値算出部42はサンプリングレートを増加させるように動作する。
【符号の説明】
【0082】
10 管理端末
12 管理用ネットワーク
20 ネットワーク
22 ユーザ端末
24 ウェブサーバ
30 ネットワーク中継機器
30a,30b ポート
32 スイッチLSI
34 CPU
36 フラッシュメモリ
38 主記憶メモリ
40 統計情報生成部(統計情報生成手段)
42 設定値算出部(サンプリングレート設定手段)
46 パケット取得部(パケット取得手段)
54 CPU使用率取得部(負荷取得手段)
56 フローサンプル生成部(統計情報送信手段)
58 カウンタサンプル生成部
60 設定値テーブル(サンプリングレート設定手段)

【特許請求の範囲】
【請求項1】
ネットワークを介して複数の電子機器間で送受信される複数のパケットを前記ネットワーク内で中継するネットワーク中継機器であって、
複数のパケットを中継する過程で、予め設定されたサンプリングレートに基づき複数のパケットの中から任意のパケットを取得するパケット取得手段と、
前記パケット取得手段により取得された任意のパケットに基づき、前記ネットワーク内のトラフィックに関する統計情報を生成する統計情報生成手段と、
前記統計情報生成手段により生成された前記統計情報を所定の管理端末に対して送信する統計情報送信手段と、
前記統計情報生成手段による前記統計情報の生成に要する負荷を所定水準に設定することを基準として、前記サンプリングレートを設定するサンプリングレート設定手段と
を備えたネットワーク中継機器。
【請求項2】
請求項1に記載のネットワーク中継機器において、
少なくとも前記統計情報生成手段として前記統計情報を生成する処理を実行する中央処理装置を含み、
前記サンプリングレート設定手段は、
前記処理の実行に伴う中央処理装置の使用率を所定の値以下にすることを基準として、前記サンプリングレートを設定することを特徴とするネットワーク中継機器。
【請求項3】
請求項1又は2に記載のネットワーク中継機器において、
前記統計情報生成手段による前記統計情報の生成に要した実際の負荷を取得する負荷取得手段をさらに備え、
前記サンプリングレート設定手段は、
前記負荷取得手段により取得された実際の負荷が所定水準を超える場合、設定済みの前記サンプリングレートを低下させることを特徴とするネットワーク中継機器。
【請求項4】
請求項1から3のいずれかに記載のネットワーク中継機器において、
前記サンプリングレート設定手段は、
単位時間内に中継される全パケット数のうち、同じ単位時間内に取得されるパケット数の割合を前記サンプリングレートとして設定するとともに、前記サンプリングレートとして2のべき乗の逆数を用いるか、もしくは2のべき乗から1を減じた値の逆数を用いることを特徴とするネットワーク中継機器。
【請求項5】
複数の電子機器間で送受信される複数のパケットを中継するネットワーク中継機器を有したネットワークと、
前記ネットワークを管理対象として前記ネットワーク外に配置された管理端末と、
前記ネットワーク中継機器により複数のパケットが中継される過程で、予め設定されたサンプリングレートに基づき複数のパケットの中から任意のパケットを取得するパケット取得手段と、
前記パケット取得手段により取得された任意のパケットに基づき、前記ネットワーク内のトラフィックに関する統計情報を生成する統計情報生成手段と、
前記統計情報生成手段により生成された前記統計情報を前記管理端末に対して送信する統計情報送信手段と、
前記統計情報生成手段による前記統計情報の生成に要する負荷を所定水準に設定することを基準として、前記サンプリングレートを設定するサンプリングレート設定手段と、
前記管理端末に送信された前記統計情報を収集して前記ネットワーク内のトラフィックに関する統計情報を取得する統計情報取得手段と
を備えた統計情報取得システム。
【請求項6】
請求項5に記載の統計情報取得システムにおいて、
前記ネットワーク中継機器は、
少なくとも前記統計情報生成手段として前記統計情報を生成する処理を実行する中央処理装置を含み、
前記サンプリングレート設定手段は、
前記処理の実行に伴う中央処理装置の使用率を所定の値以下にすることを基準として、前記サンプリングレートを設定することを特徴とする統計情報取得システム。
【請求項7】
請求項5又は6に記載の統計情報取得システムにおいて、
前記統計情報生成手段による前記統計情報の生成に要した実際の負荷を取得する負荷取得手段をさらに備え、
前記サンプリングレート設定手段は、
前記負荷取得手段により取得された実際の負荷が所定水準を超える場合、設定済みの前記サンプリングレートを低下させることを特徴とする統計情報取得システム。
【請求項8】
請求項5から7のいずれかに記載の統計情報取得システムにおいて、
前記サンプリングレート設定手段は、
単位時間内に中継される全パケット数のうち、同じ単位時間内に取得されるパケット数の割合を前記サンプリングレートとして設定するとともに、前記サンプリングレートとして2のべき乗の逆数を用いるか、もしくは2のべき乗から1を減じた値の逆数を用いることを特徴とする統計情報取得システム。
【請求項9】
ネットワークを介して複数の電子機器間で送受信される複数のパケットがネットワーク中継機器により中継される過程で、予め設定されたサンプリングレートに基づき複数のパケットの中から任意のパケットを取得するパケット取得工程と、
前記パケット取得工程で取得された任意のパケットに基づき、前記ネットワーク内のトラフィックに関する統計情報を生成する統計情報生成工程と、
前記統計情報生成工程で生成された前記統計情報を所定の管理端末に対して送信する統計情報送信工程と、
前記パケット取得工程に先立ち、前記統計情報生成工程での前記統計情報の生成に要する負荷を所定水準に設定することを基準として、前記サンプリングレートを設定するサンプリングレート設定工程と、
前記管理端末に送信された前記統計情報を収集して前記ネットワーク内のトラフィックに関する統計情報を取得する統計情報取得工程と
を有する統計情報取得方法。
【請求項10】
請求項9に記載の統計情報取得方法において、
前記サンプリングレート設定工程では、
前記ネットワーク中継機器が少なくとも前記統計情報生成手段として前記統計情報を生成する処理を実行する中央処理装置を含む場合、前記処理の実行に伴う中央処理装置の使用率を所定の値以下にすることを基準として、前記サンプリングレートを設定することを特徴とする統計情報取得方法。
【請求項11】
請求項9又は10に記載の統計情報取得方法において、
前記統計情報生成工程での前記統計情報の生成に要した実際の負荷を取得する負荷取得工程をさらに有し、
前記サンプリングレート設定工程では、
前記負荷取得工程で取得された実際の負荷が所定水準を超える場合、設定済みの値を低下させて前記サンプリングレートを再設定することを特徴とする統計情報取得方法。
【請求項12】
請求項9から11のいずれかに記載の統計情報取得方法において、
前記サンプリングレート設定工程では、
単位時間内に中継される全パケット数のうち、同じ単位時間内に取得されるパケット数の割合を前記サンプリングレートとして設定するとともに、前記サンプリングレートとして2のべき乗の逆数を用いるか、もしくは2のべき乗から1を減じた値の逆数を用いることを特徴とする統計情報取得方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−239218(P2011−239218A)
【公開日】平成23年11月24日(2011.11.24)
【国際特許分類】
【出願番号】特願2010−109413(P2010−109413)
【出願日】平成22年5月11日(2010.5.11)
【出願人】(000005120)日立電線株式会社 (3,358)
【Fターム(参考)】