JP5013001B2 - パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム - Google Patents

パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム Download PDF

Info

Publication number
JP5013001B2
JP5013001B2 JP2010548258A JP2010548258A JP5013001B2 JP 5013001 B2 JP5013001 B2 JP 5013001B2 JP 2010548258 A JP2010548258 A JP 2010548258A JP 2010548258 A JP2010548258 A JP 2010548258A JP 5013001 B2 JP5013001 B2 JP 5013001B2
Authority
JP
Japan
Prior art keywords
capture
packet
measurement
packets
sharing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010548258A
Other languages
English (en)
Other versions
JPWO2010086907A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010086907A1 publication Critical patent/JPWO2010086907A1/ja
Application granted granted Critical
Publication of JP5013001B2 publication Critical patent/JP5013001B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1053IP private branch exchange [PBX] functionality entities or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

本発明はパケットキャプチャ技術に関する。
近年、様々な分野でパケット通信ネットワークを流れるパケットをキャプチャ(すなわち取得)することが行われている。例えば、IP(Internet Protocol)ネットワークの監視やVoIP(Voice over Internet Protocol)の品質管理のためにパケットのキャプチャが行われている。特に、近年では日本国内のVoIPサービス(例えばIP電話サービス)の市場規模および日本国内企業のVoIP機器の市場規模は急激に拡大しており、さらに高い成長率が見込まれることから、VoIP品質管理システムの重要性も高まっている。
また、パケットキャプチャの目的によっては、ネットワーク上の監視対象ポイントを流れるすべてのパケットを漏らさずキャプチャするフルキャプチャ(full capture)が行われる。例えば、フォレンジック(forensic)製品ではフルキャプチャが行われる。もちろん、IPネットワーク監視システムやVoIP品質管理がフルキャプチャ装置を含むこともある。
VoIPによる通話の品質に影響する因子の1つは、一定間隔で送信されるパケット同士の間隔に、ネットワークの影響で、宛先において揺れ(ジッタ(jitter)ともいう)が生じてしまうことである。よって、例えば、呼が集中するネットワークの経路上に予め1台の監視装置を配置し、品質を計測する対象の通話に関わるパケットをすべてキャプチャし、ジッタをリアルタイムに解析することで、VoIPによる通話の品質を監視することも可能である。
また、通信品質管理のためには、ジッタだけではなく、トラフィック量、パケットの消失率(ロス率)、送信元から宛先までの遅延時間など、様々な量が計測の対象となりうる。計測対象によっては、フルキャプチャが必要となることもある。なお、計測された通信品質値を、ネットワーク管理者などが予め設定した管理基準値と比較することにより、通信状態を自動的に判断し、パケット通信ネットワークを監視することができる。
しかし、通話本数が大量になった場合であっても1台の監視装置によりフルキャプチャを実現し、かつリアルタイムの解析処理を続行可能としようとすると、高価な専用装置が必要になることがありうる。なぜなら、汎用の監視装置が備えるバッファメモリの容量、および汎用の監視装置が備えるCPU(Central Processing Unit)の処理能力では、ピーク時の通信量に対処しきれず、フルキャプチャとリアルタイムの解析が保証されない場合があるからである。例えば、汎用の監視装置を使うと、通話本数が大量になった場合にはバッファオーバフローによるキャプチャ漏れが生じるかもしれない。
そこで、高価な装置を使わずにフルキャプチャを実現するため、複数の装置でキャプチャを分担することにより大量のIPパケットをキャプチャすることも考えられる。
例えば、複数のトラフィック収集・分析装置と、分担調整手段とを有するトラフィック収集・分析システムが知られている。複数のトラフィック収集・分析装置は、同一のネットワークセグメント上に接続され、各々がトラフィック収集・分析手段を具備する。また、分担調整手段はトラフィック収集・分析手段における分担を調整する。分担調整手段は、ネットワークセグメント上のトラフィックを、各トラフィック収集・分析手段に取りこぼしなく分担させて収集・分析させる。
このトラフィック収集・分析システムでは、例えば、各トラフィック収集・分析装置間で時間を同期させ、それぞれの収集プロセス(収集オブジェクト)にトラフィックを収集する時間帯を割り当てることで分担を決める方法が用いられる。つまり、各収集プロセスは、割り当てられた時間帯内にそのセグメントを通過したパケットに関してのみ収集・分析処理を行うように決められる。この場合、切り換え時に取りこぼしが発生してしまうのを防ぐために、同期の精度の分だけ、各収集オブジェクトの連続収集時間相互間に余裕(すなわち重なり)を持たせる必要がある。
特開平11−88328号公報
以下に開示する技術の目的は、複数の計測装置間での時刻同期を必要とせずに、複数の計測装置によるパケットのフルキャプチャを実現することである。
開示の技術の第1の態様によれば、パケットキャプチャシステムが提供される。前記パケットキャプチャシステムは、同一のネットワーク上に接続され、前記ネットワーク上を流れるパケットをキャプチャする複数の計測装置を備える。また、前記パケットキャプチャシステムは、前記ネットワーク上を流れるパケットのキャプチャの、前記複数の計測装置間での分担を制御する分担制御処理手段を備える。さらに、前記パケットキャプチャシステムは、前記複数の計測装置がそれぞれキャプチャしたパケットを収集する集計手段を備える。
前記複数の計測装置のそれぞれは、前記キャプチャの開始と停止を制御するキャプチャ制御手段と、前記キャプチャ制御手段による制御にしたがって行われる前記キャプチャに関する状況を前記分担制御処理手段に通知するキャプチャ状況通知手段とを備える。
また、前記分担制御処理手段は、予め決められた分担制御規則と前記キャプチャ状況通知手段により通知される前記状況に基づいて、前記複数の計測装置のいずれに前記キャプチャを開始または停止させるかを決定する分担制御手段を備える。前記分担制御処理手段はさらに、前記分担制御手段の決定にしたがって複数の計測装置に前記キャプチャの開始または停止を指示する分担指示手段を備える。
そして、前記分担制御手段が第1の計測装置から第2の計測装置に前記キャプチャを交替させることを決定すると、前記分担指示手段は、前記キャプチャを開始するよう前記第2の計測装置に指示する。また、前記分担指示手段は、前記第2の計測装置がパケットを実際にキャプチャしたことを表す第1の状況を前記第2の計測装置の前記キャプチャ状況通知手段が前記分担制御処理手段に通知した後に、前記第1の計測装置に前記キャプチャの停止を指示する。
なお、前記集計手段は、前記第1と前記第2の計測装置が重複してキャプチャしたために前記収集したパケットの中に重複して含まれるパケットを重複パケットとして特定することで、前記ネットワーク上を流れる一連のパケットを重複なく復元する。
開示の技術の第2の態様によれば、第1の態様における前記パケットキャプチャシステムが実行するのと同様の方法が提供される。
また、開示の技術の第3と第4の態様によれば、第1の態様における前記計測装置および前記分担制御処理手段としてそれぞれ機能する情報処理装置が提供される。さらに、開示の技術の第5および第6の態様によれば、情報処理装置が第3と第4の態様においてそれぞれ実行する処理を当該情報処理装置に実行させるためのプログラムが提供される。
開示の技術によれば、いずれの態様においても、第1の計測装置がキャプチャを停止する前に第2の計測装置が実際にパケットをキャプチャしているので、第1と第2の計測装置の双方によりキャプチャされるパケットが存在する。よって、複数の計測装置間での時刻同期を行わなくても、複数の計測装置によるパケットのフルキャプチャが実現される。
第1〜第3実施形態に共通のキャプチャ動作を説明する図である。 第1〜第3実施形態に共通の集計動作を説明する図である。 第1〜第3実施形態が適用されるネットワークの例を示す構成図である。 第1実施形態における通信品質測定システムの構成図である。 第1実施形態におけるキャプチャ動作を説明する図である。 第1実施形態におけるキャプチャ動作のフローチャートである。 第1実施形態における集計動作のフローチャートである。 IPv4(IP version 4)のIPパケットの形式を説明する図である。 第2実施形態における通信品質測定システムの構成図である。 第2実施形態におけるキャプチャ動作を説明する図である。 第2実施形態におけるキャプチャ動作のフローチャートである。 第3実施形態における通信品質測定システムの構成図である。 第3実施形態におけるキャプチャ動作のフローチャートである。 第3実施形態における集計動作を説明する図である。 第3実施形態における集計動作のフローチャートである。
以下、実施形態について、図面を参照しながら詳細に説明する。まず、図1〜図3を参照して第1〜第3実施形態の共通点を説明してから、図4〜図8を参照して第1実施形態について説明し、図9〜図11を参照して第2実施形態について説明し、図12〜図15を参照して第3実施形態について説明する。最後にその他の実施形態について説明する。
図1は、第1〜第3実施形態に共通のキャプチャ動作を説明する図である。図1の横軸は時間軸である。
第1〜第3実施形態のいずれにおいても、複数の計測装置が交替しながらパケットのキャプチャを行う。すなわち、複数の計測装置は時分割式にパケットのキャプチャを分担する。詳しくは後述するが、第1〜第3実施形態の違いは、交替の契機や、交替の順序の決め方などである。
図1のキャプチャ動作によれば、計測装置A〜Cと分担制御処理装置とを含むパケットキャプチャシステムにおいて、計測装置A〜Cの時刻同期を行わなくても、目的のパケットを漏れなくすべてキャプチャするフルキャプチャを実現することができる。
パケットキャプチャシステムの構成の具体例は図3とともに後述するが、計測装置A〜Cは、例えばネットワークタップ(以下では単に「タップ」という)を介して、同一ネットワーク上に接続されており、ネットワーク上を流れるパケットをキャプチャする。例えば、計測装置A〜Cは1つのコリジョンドメイン(collision domain)に含まれてもよい。
また、詳細は後述するが、分担制御処理装置は、計測装置A〜Cとそれぞれ通信可能な装置である。分担制御処理装置は、計測装置A〜Cのいずれかの内部に組み込まれていてもよく、計測装置A〜Cとは独立した外部装置であってもよい。
以下では、個々の計測装置がネットワーク上を流れるパケットをキャプチャする期間を「計測区間」という。
図1では、計測区間T11、T12、およびT13において、それぞれ計測装置A、B、およびCがパケットをキャプチャする。図1に示すとおり、計測区間T11とT12は一部が重なっており、計測区間T12とT13は一部が重なっている。隣り合う2つの計測区間が適切に重なるように各計測装置A〜Cの動作を分担制御処理装置が制御することにより、フルキャプチャが保証される。
図1はさらに、計測区間T11とT12の重なりの詳細を示している。図1の例では、キャプチャに関する状況が、計測装置AがパケットP3をキャプチャした時点からパケットP4をキャプチャした時点までのいずれかの時点で変化し、予め決められた基準(以下「停止基準」という)が満たされる。停止基準の詳細は後述するが、停止基準が満たされると、キャプチャを実行中の計測装置Aはキャプチャの停止のための準備を開始する。
つまり、計測装置AがパケットP1をキャプチャした時点、およびパケットP2をキャプチャした時点では停止基準が満たされていないので、計測装置Aはキャプチャを続ける。また、停止基準が満たされた後も、計測装置Aは、すぐにはキャプチャを停止しない。したがって、計測装置AはパケットP3の後続のパケットP4もキャプチャしている。
停止基準が満たされることは、計測装置Aから他の計測装置へのキャプチャの交替の契機となる。具体的には、計測装置Aは、停止基準が満たされたことを認識すると、ステップS101において、分担制御処理装置に、停止基準が満たされたという状況を通知する。換言すれば、計測装置AはステップS101において、キャプチャを停止する予定であることを分担制御処理装置に通知する。
分担制御処理装置は、ステップS101の通知を受けると、次にキャプチャを行う計測装置を、予め決められた規則(以下「分担制御規則」という)に基づいて決定する。分担制御規則の具体例は後述する。図1の例は、次にキャプチャを行う計測装置として、分担制御処理装置が計測装置Bを選択した場合の例である。
分担制御処理装置は、次にキャプチャを行う計測装置を計測装置Bに決定すると、ステップS102において、計測装置Bにパケットのキャプチャを開始するよう指示する。そして、計測装置Bは指示にしたがってパケットのキャプチャを開始し、計測区間T12が開始する。
図1の例では、ステップS102の後にネットワーク上をパケットP4が流れるので、パケットP4は計測装置AとBの双方にキャプチャされる。以下、キャプチャを担当する計測装置の交替時に2つの計測装置が重複してキャプチャするパケットを「重複パケット」という。
計測装置Bは、パケットP4をキャプチャした後、ステップS103において、「実際にパケットP4をキャプチャした」という状況を分担制御処理装置に通知する。なお、図1の例では1つのパケットP4をキャプチャしたことを契機にステップS103の通知が行われるが、実施形態によっては、複数のパケットをキャプチャしてから計測装置BがステップS103の通知を行ってもよい。
ステップS103の通知は、重複パケットに関して予め決められた条件(以下「重複パケット条件」という)にしたがってなされる。重複パケット条件の詳細は後述する。図1の例では、例えば「ステップS102の指示にしたがってキャプチャを開始した後、計測装置Bがキャプチャしたパケットの個数が、1個に達した」という条件を重複パケット条件として用いてもよい。
分担制御処理装置は、ステップS103の通知を受けると、続いてステップS104において、計測装置Aにキャプチャの停止を指示する。そして、計測装置Aは指示にしたがってパケットのキャプチャを停止し、計測区間T11が終了する。
以上の動作によれば、計測装置Bがキャプチャ動作を開始したことではなく、実際に計測装置Bがパケットのキャプチャに成功したこと(より正確には重複パケット条件が満たされたこと)を契機として、計測装置Aがキャプチャを停止する。したがって、少なくとも1つのパケットが重複して計測装置AとBによりキャプチャされることが保証される。
よって、図1のキャプチャ動作によれば、複数の計測装置が交替しながらパケットをキャプチャするパケットキャプチャシステムにおいて、あるパケットがどの計測装置にもキャプチャされない、いわゆる「キャプチャ漏れ」を防ぐことができる。換言すれば、図1のキャプチャ動作によれば、フルキャプチャを実現することができる。
また、上記の説明から明らかなとおり、図1のキャプチャ動作は、計測装置A〜C間での時刻同期を必要としない。そして、計測装置A〜Cが時計を備えていない場合であっても、図1のキャプチャ動作によればフルキャプチャが保証される。
例えば、複数の計測装置間で時刻同期を行い、隣り合う2つの計測区間が同期の精度に応じた長さの重なりを有するように、各計測装置の計測区間の時間割を予め決める比較例を想定し、この比較例と比較すると、図1の方法は次の点で有利である。
すなわち、1回時刻同期を行っても、いずれは各計測装置の時計にずれが生じるので、比較例においては繰り返し時刻同期を行う必要があるが、図1の方法には時刻同期を行う必要がまったくない。また、比較例では同期の精度を予め調べる必要がある。
さらに、比較例において計測装置の経年変化や環境の変化などが同期の精度に影響する場合には、キャプチャ漏れを防ぐために重なりの範囲を大きめに設定しなくてはならないかもしれない。すると、計測装置に必要以上の負荷がかかることがある。他方、図1の方法では、重複パケット条件に応じて決められた1つまたは複数のパケットが、隣り合う2つの計測区間に対応する2つの計測装置で重複してキャプチャされさえすれば、前の計測装置はキャプチャを停止することができる。よって、停止基準と重複パケット条件が適切に定められていれば、計測装置に必要以上の負荷はかからない。
以上、図1を参照して、第1〜第3実施形態に共通のキャプチャ動作とその利点について説明した。
続いて、パケットキャプチャシステムが備える集計処理装置が、複数の計測装置によりそれぞれキャプチャされたパケットを収集してから行う集計動作について、図2を参照して説明する。なお、詳細は後述するが、集計処理装置は、計測装置A〜Cとそれぞれ通信可能な装置である。集計処理装置は、計測装置A〜Cのいずれかの内部に組み込まれていてもよく、計測装置A〜Cとは独立した外部装置であってもよい。
図2は、第1〜第3実施形態に共通の集計動作を説明する図である。集計処理装置による集計動作には、下記の2つのステップが含まれる。
集計動作の第1ステップは、収集したパケットの中に含まれる重複パケットを特定(すなわち同定)することにより、ネットワーク上を流れる一連のパケットを重複なく復元するステップである。図1の方法によればキャプチャ漏れがないので、図2の集計動作により、漏れも重複もなく一連のパケットを復元することが可能となる。
例えば、図2には元のデータとして15個のパケットP1〜P15が示されている。また、図2の例では、計測装置Aが計測区間T21においてパケットP1〜P6をキャプチャし、計測装置Bが計測区間T22においてパケットP6〜11をキャプチャし、計測装置Cが計測区間T23においてパケットP11〜P15をキャプチャしている。
図2に示すとおり、計測区間T21とT22は重なっており、パケットP6は計測装置AとBに重複してキャプチャされる重複パケットである。同様に、計測区間T22とT23は重なっており、パケットP11は計測装置BとCに重複してキャプチャされる重複パケットである。図2と後述の図14では重複パケットを四角形で表し、それ以外のパケットを円で表している。
図2の例では、集計処理装置は、計測装置Aから6個のパケットP1〜P6を収集し、計測装置Bから6個のパケットP6〜P11を収集し、計測装置Cから5個のパケットP11〜P15を収集する。換言すれば、集計処理装置は延べ17個(=6+6+5)のパケットを収集する。
なお、各計測装置は、複数のパケットを、キャプチャした順序が保たれるように記憶しており、集計処理装置は、各計測装置がキャプチャした複数のパケットを、キャプチャされた順序にしたがって収集する。順序を保つことは、各計測装置に時計がなくても可能である。
そして、集計動作の第1ステップでは、集計処理装置は、パケットP6とP11が重複パケットであることを同定する。詳しくは後述するが、集計処理装置は、2つのパケットが等しいか否かを判断するために、2つのパケットのパケットヘッダに含まれる情報同士を比較してもよい。
集計処理装置は、後述の第2ステップの後で、計測装置AとBの両方から重複して収集したパケットP6のうちの1個を廃棄し、計測装置BとCの両方から重複して収集したパケットP11のうちの1個を廃棄する。重複パケットの一方を廃棄することで、集計処理装置は、重複のない一連の15個のパケットP1〜P15を得ることができる。
また、集計処理装置は上記のように順序を保ってパケットを収集するので、パケットP1〜P6の中での順序と、パケットP6〜P11の中での順序と、パケットP11〜P15の中での順序を認識している。したがって、重複のないよう復元した15個のパケットP1〜P15の中での順序も集計処理装置は認識することができる。
以上により、複数の計測装置が分担しながらパケットP1〜P15をキャプチャする場合でも、パケットキャプチャシステムは、漏れも重複もなくしかも順序を保って、一連のパケットP1〜P15を復元することができる。復元されたパケットP1〜P15は、例えば監査証跡として記憶装置に記憶されてもよいし、品質解析システムに出力されてもよい。
集計動作の第2ステップは、省略することもできるが、例えばVoIPサービスなどのストリーミングデータを提供するサービスにおける品質管理などを目的として、行われてもよい。具体的には、例えばジッタ解析のためなどに、第2ステップが行われてもよい。
なお、第2ステップが行われるのは、下記3つの条件が成立する場合である。
・各計測装置が時計を備えている。
・各計測装置は、キャプチャしたパケットをキャプチャ時刻と関連付けて記憶する。
・集計処理装置は、パケットだけでなくキャプチャ時刻も収集する。
第2ステップは、具体的には、第1ステップにより復元された漏れも重複もない一連のパケットP1〜P15にそれぞれ関連付けられているキャプチャ時刻を調整し、基準の時計で表した時刻に補正するステップである。第2ステップでの補正は、異なる2つの計測装置が同じ重複パケットにそれぞれ関連付けたキャプチャ時刻の差に基づく。
例えば、計測装置AがキャプチャしたパケットP1〜P6には、計測装置Aの時計で表したキャプチャ時刻が関連付けられている。同様に、計測装置BがキャプチャしたパケットP6〜P11には、計測装置Bの時計で表したキャプチャ時刻が関連付けられており、計測装置CがキャプチャしたパケットP11〜P15には、計測装置Cの時計で表したキャプチャ時刻が関連付けられている。
どの時計を基準の時計として採用するかは任意であり、計測装置A〜Cのいずれかの時計でもよいし、それ以外の時計でもよい。以下では、説明の便宜上、計測装置Aの時計を基準の時計とする。また、説明の便宜上、計測装置Bの時計は計測装置Aの時計よりも1秒進んでおり、計測装置Cの時計は計測装置Aの時計よりも0.8秒遅れているとする。
なお、図2において各横軸は、それぞれの時計での時刻を表す時間軸である。よって、複数の計測装置で同時にキャプチャされるパケットの水平方向の位置が、図2では計測装置間の時計のずれに応じてずれて表されている。例えば、計測装置Bの時計が計測装置Aの時計よりも1秒進んでいるので、計測装置Aの時間軸上のパケットP6の位置よりも計測装置Bの時間軸上のパケットP6の位置の方が右にある。
ここで、基準の時計は計測装置Aの時計なので、計測装置AがキャプチャしたパケットP1〜P6に関連付けたキャプチャ時刻は、補正の必要がない。
また、集計処理装置は、第1ステップにおいてパケットP6が重複パケットであると特定している。したがって、パケットP6に計測装置AとBがそれぞれ関連付けたキャプチャ時刻の差から、集計処理装置は、「計測装置Bの時計は計測装置Aの時計よりも1秒進んでいる」と認識する。よって、集計処理装置は、パケットP7〜P11に計測装置Bが関連付けたキャプチャ時刻から1秒を引くことで、パケットP7〜P11のキャプチャ時刻を基準の時計で表した時刻に補正することができる。
同様に、集計処理装置は、既にパケットP11が重複パケットであると特定している。よって、集計処理装置は、パケットP11に計測装置BとCがそれぞれ関連付けたキャプチャ時刻の差から、計測装置Cの時計は計測装置Bの時計よりも1.8秒遅れていることを認識することができる。したがって、集計処理装置は、計測装置Bの時計は計測装置Aの時計よりも1秒進んでいるという認識に基づいて、計測装置Cの時計が計測装置Aの時計よりも0.8秒遅れていることを認識することができる。
その結果、集計処理装置は、パケットP12〜P15に計測装置Cが関連付けたキャプチャ時刻に0.8秒を足すことで、パケットP12〜P15のキャプチャ時刻を基準の時計で表した時刻に補正することができる。
以上説明した第2ステップにより、重複も漏れもない一連のパケットP1〜P15のキャプチャ時刻は調整され、同じ1つの基準の時計で表される。よって、調整後のキャプチャ時刻を用いることで、複数の計測区間にわたってキャプチャされたキャプチャを対象とするジッタ解析などが可能となる。
続いて、図1と図2で説明した第1〜第3実施形態に共通の動作を実行するパケットキャプチャシステムの構成例について、図3を参照して説明する。上記で説明したパケットキャプチャシステムは、パケットをキャプチャする目的によって、監査証跡を記録するフォレンジックシステムでもよいし、ジッタ解析などを行う品質管理システムでもよい。以下では説明の便宜上、パケットキャプチャシステムの一例として、通信品質測定システムについて主に述べる。
図3は、第1〜第3実施形態が適用されるネットワークの例を示す構成図である。
図3のネットワーク100内に設定された観測地点に、通信品質測定システム110が設けられる。通信品質測定システム110は、通信品質の解析および管理のために、観測地点におけるトラフィックを観測する。通信品質測定システム110は、タップ111、112、および113、ならびに計測装置114、115、および116を含む。
観測地点は、具体的にはルータ120と130で挟まれたセグメントにある。また、ルータ120はネットワーク140と接続されている。ネットワーク140は、例えばLAN(Local Area Network)である。図3には、ISP(Internet Service Provider)により提供されるWAN(Wide Area Network)150によって互いに接続されたネットワーク140、160、および170が例示されている。ネットワーク160と170も、例えばLANである。図3におけるWAN150は、VoIPによりIP電話サービスを提供するパケット通信ネットワークである。
図3の例ではWAN150とネットワーク140の間に観測地点があるので、ネットワーク100に含まれる複数のルータのうち、ネットワーク140を外部に接続するルータ120と、ルータ120に対向するWAN150側のルータ130のみを表示している。例えば、WAN150とネットワーク160を接続するルータなどは図示を省略している。
ネットワーク140には、IP電話機能を有する電話機141および142、ならびにPC(Personal Computer)143および144が、不図示のスイッチングハブなどを介して接続されている。同様に、ネットワーク160には、IP電話機能を有する電話機161および162、ならびにPC163および164が、不図示のスイッチングハブなどを介して接続されている。また、ネットワーク170には、IP電話機能を有する電話機171および172、ならびにPC173および174が、不図示のスイッチングハブなどを介して接続されている。
PC143、144、163、164、173、および174は、例えば、IP電話機能を有してもよいし、WAN150を介して不図示のストリーミングサーバからストリーミングサービスを受けてもよい。
以上のように構成された図3のネットワーク100内の通信品質測定システム110において、図1と図2に関して説明した複数の計測装置に相当する装置は、計測装置114、115、および116である。これらの計測装置114、115、および116は、それぞれタップ111、112、および113を介して、ルータ120とルータ130の間の監視対象の経路に接続されている。よって、計測装置114、115、および116は、監視対象の経路上を流れるパケットを、タップ111、112、および113を介してキャプチャすることができる。
また、図1と図2に関して説明した分担制御処理装置と集計処理装置はそれぞれ、図3の例では、計測装置114、115、および116のいずれかの内部に設けられている。詳しくは後述するが、図1と図2に関して説明した分担制御処理装置と集計処理装置と計測装置の機能は、いずれもプログラムによって実現することが可能である。よって、いずれかの計測装置が分担制御処理装置と集計処理装置を兼ねることにより、通信品質測定システム110に含まれる装置の数を減らし、通信品質測定システム110を小規模化することができる。
以上、図1〜図3を参照して第1〜第3実施形態の共通点について説明した。
続いて、図4〜図8を参照して第1実施形態について説明する。
図4は、第1実施形態における通信品質測定システムの構成図である。図4の通信品質測定システム110−1は、図3の通信品質測定システム110の具体例である。
通信品質測定システム110−1は、図3の計測装置114、115、および116の具体例である計測装置200a、200b、および200cを含む。また、通信品質測定システム110−1は、図3のタップ111、112、および113の具体例であるタップ220a、220b、および220cを含む。また、図3に示したルータ120と130の間の監視対象経路は、図4では監視対象経路230として示されている。なお、第1実施形態では、計測装置200aが図1と図2に関して説明した分担制御処理装置と集計処理装置の機能を兼ねている。
計測装置200aは、RAM(Random Access Memory)などの書き換え可能なメモリ201aを含み、メモリ201aには、分担制御処理部202a、集計処理部203a、およびキャプチャ制御処理部204aの機能を実現するためのプログラムがロードされている。
分担制御処理部202aは図1に関して説明した分担制御処理装置と同様の機能を提供し、集計処理部203aは図2に関して説明した集計処理装置と同様の機能を提供する。キャプチャ制御処理部204aは計測装置200aが行うパケットのキャプチャを制御する。
第1実施形態において分担制御処理部202aは、分担指示部205a、分担制御部206a、および重複パケット指定部207aを備え、集計処理部203aは、集計部208aと相対時刻調整部209aを備える。また、キャプチャ制御処理部204aは、キャプチャ状況通知部210aとキャプチャ制御部211aを備える。分担制御処理部202a、集計処理部203a、およびキャプチャ制御処理部204aが備えるこれら各部の詳細は、図5〜図7とともに後述する。
計測装置200aはさらに、メモリ201aにロードされたプログラムを実行することにより分担制御処理部202a、集計処理部203a、およびキャプチャ制御処理部204aの機能を実現するCPU(Central Processing Unit)212aを備える。
また、計測装置200aは、タップ220aと接続された通信部213aと、タップ220aを介さずに監視対象経路230と接続された通信部214aを備える。例えば、2つの物理的な通信ポートと、各通信ポートを介しての通信のインタフェイスを提供するデバイスドライバにより、通信部213aと214aが実現されてもよい。
計測装置200bは、メモリ201bを含み、メモリ201bにキャプチャ制御処理部204bの機能を実現するためのプログラムがロードされている点で計測装置200aと類似する。また、キャプチャ制御処理部204bは、キャプチャ制御処理部204aと同様に、キャプチャ状況通知部210bとキャプチャ制御部211bを含む。
また、計測装置200bは、メモリ201bにロードされたプログラムを実行することによりキャプチャ制御処理部204bの機能を実現するCPU212bを備える。さらに、計測装置200bは、タップ220bと接続された通信部213bと、タップ220bを介さずに監視対象経路230と接続された通信部214bも備える。
計測装置200cは計測装置200bと同様の構成なので、詳しい説明を省略する。
なお、以上説明した計測装置200a、200b、および200cは、専用の機器により実現されてもよいが、汎用的なコンピュータにより実現されてもよい。また、分担制御処理部202a、集計処理部203a、ならびにキャプチャ制御処理部204a、204b、および204cの機能が、プログラムではなくハードウェア回路によって実現されてもよい。なお、各部の機能を実現するプログラムは、磁気ディスクや光ディスクなどのコンピュータ読み取り可能な記憶媒体に格納され、記憶媒体から各計測装置200a、200b、および200cに読み出されてもよい。
図4において、計測装置200a、200b、および200cは、監視対象経路230上に挿入されたタップ220a、220b、および220cをそれぞれ介して、監視対象経路230に接続されている。よって、監視対象経路230を通って図3のルータ120と130の間を流れるパケットを、計測装置200a、200b、および200cはそれぞれタップ220a、220b、および220cを介してキャプチャすることができる。
なお、本実施形態におけるタップ220a、220b、および220cは、データ・インジェクション(data injection)機能を持たない一般的なネットワークタップである。すなわち、タップ220a、220b、および220cをそれぞれ介して、通信部213a、213b、および213cから監視対象経路230へのデータ送信を行うことができない。
しかし、図1のキャプチャ動作は、各計測装置が分担制御処理装置との間で通信可能であることが前提である。換言すれば、本実施形態では、計測装置200a、200b、および200cの間の通信経路が存在することが前提である。
本実施形態は、計測装置200a、200b、および200cの間の通信経路として、監視対象経路230を利用する例である。よって、計測装置200a、200b、および200cは、通信部214a、214b、および214cをそれぞれ介して監視対象経路230に接続されている。その結果、計測装置200a、200b、および200cから監視対象経路230へとデータを送信することが可能となり、計測装置200a、200b、および200cの間での通信経路が確保される。
なお、通信部214a、214b、および214cのそれぞれを介した、計測装置200a、200b、および200cの監視対象経路230への接続経路は任意であるので、図4では詳細な図示を省略している。例えば、図3のルータ120と130に挟まれた図4の監視対象経路230上の任意の箇所に、3台の不図示のハブが存在し、3台のハブと通信部214a、214b、および214cとがそれぞれケーブルによって接続されていてもよい。
また、タップ220a、220b、および220cは、監視対象経路230上をルータ120からルータ130へ向かって流れるパケットと、逆方向に流れるパケットを、まとめて1つの物理ポートから出力するタイプでもよい。その場合、通信部213a、213b、および213cを実現する物理ポートはそれぞれ1つでよい。
あるいは、タップ220a、220b、および220cは、監視対象経路230上をルータ120からルータ130へ向かって流れるパケットと、逆方向に流れるパケットを、別々の2つのポートから出力するタイプでもよい。その場合、通信部213a、213b、および213cを実現する物理ポートはそれぞれ2つである。
なお、キャプチャ制御処理部204a、204b、および204cは、通信部213a、213b、および213cを介して流入してきたパケットのうち、計測装置200a、200b、および200cの間の通信のためのパケット(以下では「管理パケット」という)を破棄するための制御をさらに行ってもよい。なぜなら、管理パケットは通信部214a、214b、および214cでも受信されるためである。
なお、あるパケットが管理パケットであるか否かは、例えば、パケットの送信元または宛先が計測装置200a、200b、または200cであるか否かによって判断することができる。
あるいは、図3のルータ120と130の間の通信にはネットワーク層のプロトコルとしてIPのみが使われる場合、管理パケットの通信には、例えばIPX(Internetwork Packet eXchange)などのIP以外のプロトコルを使う実施形態も可能である。その場合、キャプチャ制御処理部204a、204b、および204cは、IPXパケットを廃棄し、IPパケットのみをキャプチャするよう、計測装置200a、200b、および200cそれぞれのキャプチャ動作を制御してもよい。
以上、図4を参照して第1実施形態における通信品質測定システム110−1の構成について説明した。
続いて、通信品質測定システム110−1の各部の動作を、図5〜図8とともに説明する。図5と図6は、図1の具体例に相当し、図7は図2の具体例に相当する。
図5は、第1実施形態におけるキャプチャ動作を説明する図である。第1実施形態において、図1に関して説明した分担制御規則は、複数の計測装置200a、200b、および200cの間でキャプチャを分担する順序を静的に定める規則である。また、図1に関して説明した停止基準と重複パケット条件も、第1実施形態では静的に予め決められている。
分担制御規則として静的に定められる分担順序、および停止基準は、分担制御部206aに設定される。また、重複パケット条件は、重複パケット指定部207aに設定される。
例えば、分担順序と停止基準は、不図示の入力装置を介して分担制御部206aに入力されてもよく、重複パケット条件も、不図示の入力装置を介して重複パケット指定部207aに入力されてもよい。あるいは、停止基準と重複パケット条件は、計測装置200aが備える不図示の不揮発性記憶装置に予め記録され、分担制御部206aと重複パケット指定部207aにそれぞれ読み込まれてもよい。
以下に、分担順序、停止基準、および重複パケット条件の組み合わせの例として(1a)〜(1g)を挙げる。
(1a)分担順序、停止基準、および重複パケット条件がすべて一律な例
分担順序は、「計測装置200a→計測装置200b→計測装置200c→計測装置200a→計測装置200b→計測装置200c→……」の繰り返しである。すなわち分担順序は、すべての計測装置200a、200b、および200cが一律に同じ頻度で現れる繰り返しパターンにより定義される。
停止基準は、「キャプチャを開始してからのキャプチャの継続時間が60秒に達した」という条件である。なお、ここで「60秒」という値は説明の便宜上の値である。予備実験などに基づいて、計測装置200a、200b、および200cの能力に合った適切な値を用いて停止基準を定義することが好ましい。
なお、上記の「能力」とは、例えば、以下の要素などに依存して決まる全般的な処理能力である。
・通信部213a、213b、および213cを介してキャプチャしたパケットを一時的に保存するバッファとして使用可能なメモリ201a、201b、および201cの容量。
・CPU212a、212b、および212cのクロックスピード
・通信部213a、213b、および213cの通信スピード
重複パケット条件は「キャプチャを開始した後、実際にキャプチャしたパケットの個数が1個に達した」という条件である。この重複パケット条件は、パケットの種類などによらない。換言すれば、この重複パケット条件は、「どのような属性のパケットであるかは問わず、とにかく1つのパケットを実際にキャプチャした」という条件である。つまり、(1a)の例における重複パケット条件は、単純に、「1個」という重複パケット数で表される。
この(1a)の例は、計測装置200a、200b、および200cの能力に大きな差がないときに好適である。
(1b)停止基準が一律でない例
この(1b)の例において、分担順序と重複パケット条件は(1a)の例と同様に一律である。他方、停止基準は、計測装置200a、200b、および200cの能力(性能)に応じて決められている。
例えば、計測装置200aの性能が最も高く、計測装置200cの能力が最も低いとする。このとき、計測装置200aの停止基準は、例えば、「キャプチャを開始してからのキャプチャの継続時間が60秒に達した」という条件である。また、計測装置200bの停止基準は、例えば、「キャプチャを開始してからのキャプチャの継続時間が30秒に達した」という条件である。そして、計測装置200cの停止基準は、例えば、「キャプチャを開始してからのキャプチャの継続時間が10秒に達した」という条件である。
つまり、(1b)の例においては、高い能力の計測装置ほど、長い時間で規定される停止基準が適用される。よって、予備実験などによって各計測装置の能力を予め調べておき、調べた結果に基づいて各計測装置の停止基準を定めることにより、複数の計測装置の能力が異なる場合にも各計測装置の能力に応じた適切かつ効率的な分担が実現される。
(1c)分担順序が一律でない例
この(1c)の例において、停止基準と重複パケット条件は(1a)の例と同様に一律である。しかし、分担順序は、計測装置200a、200b、および200cの性能に応じて決められている。
例えば、計測装置200aの性能が最も高く、計測装置200bと200cの性能はほぼ同等だとする。このとき、分担順序は、例えば、「計測装置200a→計測装置200b→計測装置200a→計測装置200c→計測装置200a→計測装置200b→計測装置200a→計測装置200c→……」という順序である。
つまり、(1c)の例においては、高い能力の計測装置ほど高い頻度で出現する繰り返しパターンにより分担順序が定義される。よって、予備実験などによって各計測装置の能力を予め調べておき、調べた結果に基づいて分担順序の繰り返しパターンを定めることにより、複数の計測装置の能力が異なる場合にも各計測装置の能力に応じた適切かつ効率的な分担が実現される。
(1d)重複パケット条件における重複パケット数が1より大きい例
この(1d)の例において、分担順序と停止基準は(1a)の例と同様である。
重複パケット条件は、「キャプチャを開始した後、実際にキャプチャしたパケットの個数が10個に達した」という条件である。換言すれば、(1d)は重複パケット数が「10個」という例である。
図1の説明は第1実施形態に当てはまるので、第1実施形態によればフルキャプチャが実現される。しかし、ごくまれに生じる何らかの問題によりキャプチャ漏れが起きる可能性は、完全なゼロではない。この(1d)の例は、万が一のキャプチャ漏れの可能性を、上記(1a)の例よりも低減させる効果がある。
(1e)重複パケット条件において重複パケットとして数えるパケットが制限されている例
この(1e)の例において、分担順序は、(1a)の例と同様に一律な繰り返しパターンで定義されてもよく、(1c)の例と同様に能力に応じた頻度で各計測装置200a、200b、および200cが出現する繰り返しパターンで定義されてもよい。また、(1a)の例と同様に一律な停止基準がすべての計測装置200a、200b、および200cに適用されてもよく、(1b)の例と同様に能力に応じて異なる停止基準が計測装置200a、200b、および200cにそれぞれ適用されてもよい。
重複パケット条件は、「キャプチャを開始した後、実際にキャプチャしたパケットのうち、ユーザパケットの個数が1個に達した」という条件である。
すなわち、(1e)の重複パケット条件は、「実際にキャプチャしたパケットのうち、予め指定された特定の属性のパケットのみを数えることにして、数えた値が所定の閾値に達した」という条件の例である。なお、(1e)の例では、「特定の属性」とは「ユーザパケットであること」、「所定の閾値」とは「1個」である。
なお、ユーザパケットとは、アプリケーションソフトウェアからネットワークに送信されたパケットのことである。本実施形態のユーザパケットは、より具体的には、通信品質測定システム110−1の内部で送信される管理パケット以外のパケットのことである。
また、上記重複パケット条件では、ユーザパケットの種類をさらに限定する条件を含まないので、ルータ120または130から監視対象経路230上に流される任意のIPパケットはユーザパケットとして数えられる。
(1f)重複パケット条件において重複パケットとして数えるパケットがさらに制限されている例
この(1f)の例において、分担順序と停止基準は(1e)の例と同様である。重複パケット条件は、(1e)の例における重複パケット条件をさらに限定した条件である。(1f)の例における重複パケット条件は、(1e)の例に関して説明した「特定の属性」が「RTP(Real-time Transport Protocol)によるユーザパケットであること」であり、「所定の閾値」が「1個」である場合に相当する。
(1g)重複パケット条件において重複パケットとして数えるパケットがさらに制限されている例
この(1g)の例において、分担順序と停止基準は(1e)の例と同様である。また、重複パケット条件は、(1f)の例における重複パケット条件をさらに限定した条件である。例えば(1g)の例において上記の「特定の属性」とは、「RTPによるユーザパケットであり、送信元IPアドレスが10.25.123.33であり、送信元ポート番号が20000である」という属性であってもよい。
なお、送信元IPアドレスは、図8とともに後述するとおり、IPヘッダに含まれる。また、RTPパケットは、IPパケットのデータペイロードに含まれるUDP(User Datagram Protocol)パケットのデータペイロードに含まれ、送信元ポート番号はUDPヘッダに含まれる。キャプチャ制御処理部204a、204b、および204cは、キャプチャしたパケットにカプセル化されて含まれる各階層のプロトコルヘッダを解析することで、(1e)〜(1g)の例のような重複パケット条件が満たされているか否かを判断することができる。
また、(1e)〜(1g)の例のような重複パケット条件は、キャプチャの目的に合わせて、より確実に万が一のキャプチャ漏れを防ぐのに有益である。例えば、キャプチャの目的が、RTPを用いて提供されるサービスの品質の管理である場合、RTPパケット以外の種類のパケットのキャプチャ漏れよりも、RTPパケットのキャプチャ漏れの方が深刻な問題である。そこで、キャプチャの目的に応じて重要視される属性のパケット(例えばRTPパケット)が必ず重複パケットとして含まれるように、重複パケット条件を定めておくことは有益である。
以上、分担順序、停止基準、および重複パケット条件の組み合わせについて、(1a)〜(1g)の例を示したが、他にも様々な組み合わせが可能なことは明らかである。
さて、以下では説明の便宜上、(1a)の場合を例として、図5について説明する。すなわち、分担制御規則として、具体的には「計測装置200a→計測装置200b→計測装置200c→計測装置200a→計測装置200b→計測装置200c→……」の繰り返しパターンにより定義される分担順序が分担制御部206aに設定されている。また、停止基準として、「キャプチャを開始してからのキャプチャの継続時間が60秒に達した」という条件が分担制御部206aに設定されている。さらに、重複パケット条件として、「キャプチャを開始した後、実際にキャプチャしたパケットの個数が1個に達した」という条件が重複パケット指定部207aに設定されている。
まず、図5のステップS201の前に、予め以下の処理が行われる。分担制御部206aは、通信部214aと監視対象経路230を介して、計測装置200bと200cの双方に停止基準を通知する。通知された停止基準は、通信部214bと214cでそれぞれ受信され、キャプチャ状況通知部210bと210cでそれぞれ認識される。また、分担制御部206aは、同じ計測装置200a内のキャプチャ状況通知部210aにも停止基準を通知し、キャプチャ状況通知部210aは停止基準を認識する。
また、重複パケット指定部207aは、通信部214aと監視対象経路230を介して、計測装置200bと200cの双方に重複パケット条件を通知する。通知された重複パケット条件は、通信部214bと214cでそれぞれ受信され、キャプチャ状況通知部210bと210cでそれぞれ認識される。また、重複パケット指定部207aは、同じ計測装置200a内のキャプチャ状況通知部210aにも重複パケット条件を通知し、キャプチャ状況通知部210aは重複パケット条件を認識する。
以上のように事前準備が整うと、ステップS201において、図1の分担制御処理装置としての、分担制御処理部202a内の分担制御部206aは、設定された分担順序から、最初にパケットのキャプチャを行う計測装置が計測装置200aであると決定する。そして、分担制御部206aは、計測装置200a(より具体的にはキャプチャ制御部211a)にキャプチャの開始を指示するよう、分担指示部205aに指示する。
すると、分担指示部205aは分担制御部206aからの指示にしたがって、計測装置200aのキャプチャ制御部211aにキャプチャ動作の開始を指示する。キャプチャ制御部211aは、キャプチャを行うか否かを切り替えるための制御機能を有し、指示にしたがってキャプチャ動作を開始する制御を行う。計測装置200aがキャプチャ動作を開始した時点から、図5の計測区間T31が始まっている。
キャプチャ動作を開始する制御として、キャプチャ制御部211aは、タップ220aから通信部213aを介して流入してくるパケットを破棄せずに、メモリ201aまたはその他の不図示の記憶装置に記憶するための制御を行う。より具体的には、本実施形態においてキャプチャ制御部211aは、パケットをキャプチャした順序を保ち、かつキャプチャした各パケットにはキャプチャ時刻を関連付けながら、キャプチャしたパケットを記憶するための制御を行う。
計測区間T31において、キャプチャ状況通知部210aは、キャプチャ動作の状況を監視し続けており、具体的には、停止基準が満たされているか否かを監視する。図5は、計測区間T31の開始時点から60秒間の間に10個のパケットP1〜P10が計測装置200aにキャプチャされたこと、およびパケットP10を計測装置200aがキャプチャした直後に計測区間T31の開始時点から60秒が経過したことを示している。
こうしてステップS202において計測区間T31の開始時点から60秒が経過すると、キャプチャ状況通知部210aは、停止基準が満たされたことを認識し、停止基準が満たされたことを分担制御部206aに通知する。停止基準が満たされたという通知は、計測装置200aがキャプチャを停止する予定であるという通知でもある。
すると、ステップS202の通知を受けた分担制御部206aは、ステップS203において、計測装置200aから計測装置200bにキャプチャを交替させることを決定する。すなわち、ステップS202の通知を契機として、分担順序により定義された分担制御規則にしたがって、分担制御部206aは、次にキャプチャを行う計測装置を計測装置200bと決定する。
ステップS203においてさらに、分担指示部205aが、分担制御部206aの決定にしたがって、計測装置200bのキャプチャ制御部211bに、キャプチャを開始するよう指示する。この指示は、通信部214a、監視対象経路230、および通信部214bを介して行われる。
そして、指示を受け取った計測装置200bのキャプチャ制御部211bは、ステップS201におけるキャプチャ制御部211aと同様に、キャプチャ動作を開始する制御を行う。計測装置200bがキャプチャ動作を開始した時点から、図5の計測区間T32が始まっている。
また、計測区間T32において、キャプチャ状況通知部210bは、キャプチャ動作の状況を監視し続けており、具体的には、重複パケット条件と停止基準が満たされているか否かをそれぞれ監視する。
その後、監視対象経路230上にパケットP11が流れると、パケットP11は、計測装置200aと200bの双方によりキャプチャされる。すると、計測装置200bはキャプチャの開始後、実際に1つのパケットをキャプチャしたことになり、重複パケット条件が満たされる。キャプチャ状況通知部210bは、計測区間T32の開始時点から計測装置200bがキャプチャしたパケットの個数を数えることによって、重複パケット条件が満たされたことを認識することができる。
すると、ステップS204においてキャプチャ状況通知部210bは、通信部214b、監視対象経路230、および通信部214aを介して、分担制御部206aに、重複パケット条件が満たされたことを通知する。
通知を受けた分担制御部206aは、ステップS205において、計測装置200aによるキャプチャを停止することを決定する。そして、分担指示部205aが、分担制御部206aによる決定に基づいて、計測装置200aのキャプチャ制御部211aにキャプチャの停止を指示する。
すると、キャプチャ制御部211aはキャプチャを停止する制御を行い、計測装置200aはキャプチャを停止し、計測区間T31が終了する。このように、計測装置200aは、ステップS202で重複パケット条件が満たされた後にもキャプチャを続けているので、パケットP11をキャプチャしている。つまり、パケットP11は計測装置200aと200bの双方により重複してキャプチャされている。
ステップS205の後は、計測装置200bがパケットP12、P13、P14などのキャプチャを継続する。計測装置200bのキャプチャ状況通知部210bは、計測区間T32の開始時点から60秒が経過した時点で分担制御処理部202aの分担制御部206aに、キャプチャを停止する予定であることを通知する。
なお、上記の図5の説明では、ステップS201の前に予め計測装置200a、200b、および200cに停止基準と重複パケット条件を通知する場合を説明した。しかし、事前の通知の代わりに、分担制御部206aが各計測装置200a、200b、および200cのキャプチャ制御部211a、211b、および211cにキャプチャの開始を指示する際に、停止基準と重複パケット条件の通知を合わせて行うこともできる。それにより、可変の停止基準または可変の重複パケット条件を利用することが可能となる。
以下に、可変の重複パケット条件を含む設定の例を(1h)として挙げる。
(1h)重複パケット条件における重複パケット数が可変の例
この(1h)の例において、分担順序と停止基準は(1a)の例と同様である。
また、上記の(1a)と(1d)の例ではそれぞれ「1個」と「10個」という固定の重複パケット数により重複パケット条件が定義されているが、(1h)の例では、可変の重複パケット数により重複パケット条件が定義される。具体的には、パケットをキャプチャしている計測装置が停止基準を満たした時点での、当該計測装置の負荷状況に応じて重複パケット条件が可変であってもよい。
例えば、重複パケット数は、「停止基準が満たされた時点での計測装置のCPU使用率が10%未満なら15個、10%以上20%未満なら10個、20%以上50%未満なら5個、50%以上80%未満なら2個、80%以上なら1個」などと定義されてもよい。このように負荷が高いほど重複パケット数が少なくなるように決めることで、計測装置にリソースの余裕がある場合は、余裕の度合いに合わせて、より確実に重複パケットのロス(つまりキャプチャ漏れ)を防ぐことができる。
続いて、図5を参照して説明したキャプチャ動作について、さらに図6を参照して説明する。
図6は、第1実施形態におけるキャプチャ動作のフローチャートである。
ステップS301において、分担制御処理部202aは分担設定を取得する。図5に関して説明したとおり、分担設定は、上記(1a)〜(1h)またはその他の様々な設定が可能だが、説明の便宜上、(1a)の分担設定が利用されるものとする。上記(1a)の例によれば、ステップS301で分担制御処理部202aが取得する分担設定は下記の3つの組み合わせである。
・停止基準を規定する、個々の計測装置による計測時間(すなわちキャプチャを継続する時間)
・分担制御規則の具体例としての、静的に決められた分担順序
・重複パケット条件を規定する重複パケット数
より具体的には、計測時間と分担順序は分担制御部206aが取得し、重複パケット数は重複パケット指定部207aが取得する。
次に、分担制御処理部202aは、ステップS302において、分担順序にしたがい、第1の計測装置に計測開始を指示する。つまり、分担制御処理部202a内の分担制御部206aが分担順序にしたがって、最初にキャプチャ動作を行う計測装置を決定し、決定にしたがって分担指示部205aが第1の計測装置にキャプチャ動作の開始を指示する。図5の例では、第1の計測装置は計測装置200aである。
すると、指示を受けた第1の計測装置は、ステップS303において計測(つまりパケットのキャプチャ)を開始する。例えば、第1の計測装置である計測装置200aにおいて、キャプチャ制御部211aがキャプチャを開始する制御を行うことにより、計測装置200aはキャプチャ動作を開始する。ステップS302とS303が図5のステップS201に相当する。
続くステップS304において、現在計測中の計測装置において計測時間が経過したか否かが判断される。
例えば、図5の計測区間T31では「現在計測中の計測装置」は計測装置200aである。よって、計測装置200aのキャプチャ状況通知部210aは、ステップS304において、例えば「60秒」という計測時間が経過して停止基準が満たされたか否かを監視している。
計測時間が経過していなければステップS304の監視が繰り返される。計測時間が経過すると、現在計測中の計測装置(例えば200a)のキャプチャ状況通知部(例えば210a)は、キャプチャを停止する予定であることを分担制御処理部202aの分担制御部206aに通知し、処理はステップS305に移行する。ステップS304からステップS305への移行が、図5のステップS202に相当する。
すると、ステップS305で分担制御処理部202aは、分担順序にしたがい、次の計測装置に計測開始を指示する。例えば、図5の例では、分担制御処理部202aの分担制御部206aが、分担順序にしたがって、計測装置200bを次の計測装置として決定し、決定にしたがって分担指示部205aが計測装置200bにキャプチャの開始を指示する。
すると、ステップS306では、次の計測装置が計測を開始する。例えば、図5の例では、次の計測装置として選ばれた計測装置200bにおいて、キャプチャ制御部211bがパケットのキャプチャを開始する制御を行うことにより、計測装置200bはパケットのキャプチャを開始する。ステップS305とS306が図5のステップS203に相当する。
続くステップS307において、次の計測装置がIPパケットを「重複パケット数」分取得したか否かが判断される。次の計測装置がIPパケットを「重複パケット数」分取得するまで、ステップS307は繰り返される。
例えば、図5の例では、計測区間T32の開始後、「次の計測装置」である計測装置200bが、「重複パケット数」すなわち1個のIPパケットを取得したか否かを、計測装置200bのキャプチャ状況通知部210bが監視し続けている。ステップS307の判断は、キャプチャ状況通知部210bによってなされる。よって、計測区間T32の開始後、1個目のパケットP11を計測装置200bがキャプチャするまで、ステップS307が繰り返される。そして、計測装置200bがパケットP11をキャプチャすると、処理はステップS308に移行する。
すると、ステップS308において、次の計測装置は、分担制御処理部202aに、「重複パケット数」分のIPパケットを取得したことを通知する。例えば、図5の例では、次の計測装置である計測装置200bのキャプチャ状況通知部210bが、分担制御処理部202aの分担制御部206aに、ステップS308の通知を行う。なお、ステップS307からステップS308への移行およびステップS308の実行が、図5のステップS204に相当する。
続いて、ステップS309において、分担制御処理部202aは、現在計測中の計測装置に計測停止を指示する。なお、ステップS309が実行される時点では、2つの計測装置が同時にパケットのキャプチャを実行しているが、ステップS309における「現在計測中の計測装置」とは、ステップS304における「現在計測中の計測装置」を指す。
例えば、図5の例では、ステップS309において、分担制御処理部202a内の分担制御部206aが、「現在計測中の計測装置」である計測装置200aにキャプチャを停止させることを決定する。そして分担指示部205aが決定にしたがって計測装置200aのキャプチャ制御部211aにキャプチャの停止を指示する。
すると、指示を受けた現在計測中の計測装置は、ステップS310において計測(すなわちパケットのキャプチャ)を停止する。例えば、図5の例では、キャプチャ制御部211aがキャプチャを停止する制御を行い、計測装置200aはキャプチャを停止する。なお、ステップS309とS310が図5のステップS205に相当する。
そして、ステップS311では計測を続けるか否かが判断される。例えば、計測装置200aに、不図示の入力装置を介してキャプチャの停止を指示する入力が与えられた場合は、分担制御処理部202aが、計測を続けないと判断し、図6の処理が終了する。逆に、キャプチャの停止を指示する入力がなければ、分担制御処理部202aは、計測を続けると判断する。
ステップS311において、計測を続けると判断されると、処理はステップS304に戻り、その際、現在の「次の計測装置」を新たな「現在計測中の計測装置」とする。例えば、図5の例では、現在の「次の計測装置」である計測装置200bを新たな「現在計測中の計測装置」として、図6のステップS304以降の処理が繰り返される。
以上、図5と図6を参照して第1実施形態におけるキャプチャ動作について詳細に説明した。
続いて、図7と図8を参照して、第1実施形態における集計動作の例を説明する。なお、具体的な集計動作は重複パケット条件に応じて変化しうるが、上記(1e)の分担設定が利用される場合について説明する。また、図5のパケットP11がユーザパケットである場合、図5は(1e)の分担設定にも当てはまるので、以下では適宜図5も参照しながら説明する。
図7は、第1実施形態における集計動作のフローチャートである。図7のステップS407より前が、図2に関して説明した集計動作の第1ステップであり、図7のステップS407が、集計動作の第2ステップである。
ステップS401において、集計処理部203a内の集計部208aは、各計測装置200a、200b、および200cから、各計測装置200a、200b、および200cがキャプチャしたパケットを収集する。
計測装置200aがキャプチャしたパケットの収集は、例えば、キャプチャしたパケットを記憶するための第1の記憶領域から、収集したパケットを記憶するための第2の記憶領域への、計測装置200a内部データ転送により実現されてもよい。第1の記憶領域はキャプチャ制御処理部204aにより管理され、第2の記憶領域は集計部208aにより管理される。第2の記憶領域は、不図示のハードディスク装置などでもよい。
また、計測装置200bがキャプチャしたパケットの収集は、通信部214b、監視対象経路230、および通信部214aを介して行われる。同様に、計測装置200cがキャプチャしたパケットの収集は、通信部214c、監視対象経路230、および通信部214aを介して行われる。
ステップS401が実行されるタイミングは任意である。例えば、キャプチャしたパケットをほぼリアルタイムに解析するために通信品質測定システム110−1が利用される場合は、各計測装置200a、200b、および200cは、1つパケットをキャプチャするたびにキャプチャしたパケットを出力し、集計部208aは出力されたパケットを継続的に収集してもよい。
あるいは、リアルタイム解析が不要な場合は、各計測装置200a、200b、および200cは、キャプチャしたパケットを計測区間ごとにまとめて出力してもよい。または、各計測装置200a、200b、および200cは、分担順序の繰り返しパターンが複数回繰り返される間に、それぞれキャプチャしたパケットを不図示のハードディスク装置などに蓄積していってもよい。そして、例えば、ルータ120と130の間での通信量が少ない時間帯など、保守作業に適した予め決められた時刻になると、集計部208aがパケットの収集を行ってもよい。
なお、図7は、説明の簡単化のため、隣り合う2つの計測区間でキャプチャされたパケットの集計作業についてのみ示している。しかし、図7の処理を繰り返すことで、3つ以上の計測区間にわたって複数の計測装置によりキャプチャされたパケットの集計作業が可能なことは明らかである。
集計部208aは、ステップS401でのパケットの収集の後、隣り合う2つの計測区間のうち後の計測区間でキャプチャされた最初のユーザパケット(以下、便宜的に「参照パケット」という)と同一の、前の計測区間でキャプチャされたパケットを特定する。図7において、ステップS402〜S406が、参照パケットと同一のパケットを特定する処理に当たる。
例えば、図5の例では、「隣り合う2つの計測区間」は計測区間T31とT32である。また、集計部208aはステップS401において、計測区間T31でキャプチャされたパケットP1〜P11と、計測区間T32でキャプチャされたパケットP11、P12、……を収集している。
この場合、「前の計測区間」は計測区間T31であり、「後の計測区間」は計測区間T32であり、「参照パケット」は、計測装置200bから収集したパケットP11である。よって、集計部208aは、ステップS401の後、計測装置200aから収集したパケットのうち、参照パケットと同一のパケットを特定するため、ステップS402〜S406の処理を実行する。
具体的には、ステップS402で集計部208aは、前の計測区間の最後のパケットに注目する。以下、注目したパケットを便宜的に「注目パケット」という。例えば、図5の例では、集計部208aは、計測区間T31で計測装置200aによりキャプチャされた最後のパケットであるパケットP11に注目する。
続くステップS403〜S406は、前の計測区間でキャプチャされたパケットを後ろから順に調べて、参照パケットと同一のパケットを探す処理である。
すなわち、ステップS403で集計部208aは、注目パケットがIPパケットであるか否かを調べる。注目パケットがIPパケットならば処理はステップS404に移行し、注目パケットがIPパケットでなければ処理はステップS406に移行する。
また、ステップS404で集計部208aは、参照パケットと注目パケットの送信元IPアドレスが同じか否かを調べる。両パケットの送信元IPアドレスが同じならば処理はステップS405に移行し、同じでなければ処理はステップS406に移行する。
そして、ステップS405で集計部208aは、参照パケットと注目パケットの識別子(identification)が同じか否かを調べる。両パケットの識別子が同じならば処理はステップS407に移行し、同じでなければ処理はステップS406に移行する。
ここで、ステップS403〜S405の処理によって参照パケットと注目パケットの同一性を判断することが可能な理由について、図8を参照して説明する。
図8は、IPv4(IP version 4)のIPパケットの形式を説明する図である。
図8に示すように、IPv4のIPパケットは、ヘッダとデータペイロードを含み、ヘッダは下記のフィールドを含む。なお、下記のリストにおける括弧内のビット数は、当該フィールドの長さを示す。
・バージョン番号(4ビット)
・ヘッダ長(4ビット)
・サービスタイプ(Type Of Service)(8ビット)
・パケット長(16ビット)
・識別子(identification)(16ビット)
・フラグ(3ビット)
・フラグメントオフセット(13ビット)
・TTL(Time To Live)(8ビット)
・プロトコル番号(8ビット)
・ヘッダチェックサム(16ビット)
・送信元IPアドレス(32ビット)
・宛先IPアドレス(32ビット)
・オプション(可変長)
・パディング(可変長)
各フィールドの意味などは公知であるので、詳細な説明は省略する。
本実施形態に関連する部分について説明すると、例えば、ネットワーク100の設定から断片化(fragmentation)が起きないことが保証される場合には、送信元IPアドレスとIDの組によりIPパケットを一意に識別することができる。なぜなら、IDフィールドは、送信元ホストがIPパケットを識別するために割り当てた識別情報を示すからである。図7では説明の簡単化のため、断片化が起きないものと仮定する。
ただし、ネットワーク100において断片化が起こり得る場合にも、集計部208aは、送信元IPアドレスとIDとフラグメントオフセットの組によってIPフラグメントパケット同士の同一性を判断することができる。よって、図7の処理に、参照パケットと注目パケットのフラグメントオフセット同士を比較するステップを追加してもよい。
ここで図7の説明に戻ると、ステップS403〜S405の実行により、参照パケットと注目パケットが等しいと判明した場合は処理がステップS407に移行する。例えば、図5の例では、ステップS402で注目した注目パケットは、計測装置200aによりキャプチャされたパケットP11なので、参照パケット(すなわち計測装置200bによりキャプチャされたパケットP11)と等しい。よって、処理はステップS405からステップS407へと移行する。
他方、参照パケットと注目パケットが等しくないと判明した場合は、処理がステップS406に移行する。ステップS406で集計部208aは、前の計測区間でキャプチャされたパケットのうち、現在の注目パケットの1つ前のパケットに注目し、新たな「注目パケット」とする。そして、処理はステップS403に戻る。フルキャプチャが実現されている限り、ステップS403〜S405を1回以上実行した後、必ず処理はステップS407に移行する。
ステップS407では、相対時刻調整部209aが、隣り合う2つの計測区間において2つの計測装置でキャプチャした重複パケットのキャプチャ時刻を利用して、計測装置間の時計のずれを算出し、時刻調整を行う。例えば、相対時刻調整部209aは、複数の計測装置のうちのどれか1つの時計に、収集した各パケットのキャプチャ時刻を合わせる。
また、集計部208aは、ステップS402〜S406の処理により特定した重複パケットを削除することで、重複なく一連のパケットを復元することができる。
なお、ステップS407の時刻調整の詳細は、図2に関して説明したとおりである。例えば、第1実施形態では、収集した各パケットのキャプチャ時刻を計測装置200aの時計で表すための調整を相対時刻調整部209aが行ってもよい。
ステップS407の実行により図7の処理は終了する。図7の処理結果は、例えば、ジッタ解析などの各種の解析に利用可能である。
また、重複パケット条件に応じて、ステップS403〜S405の処理を適宜変更してもよい。例えば、図5に関して説明した(1f)の例の場合、集計部208aはさらに、下記の3条件が満たされるか否かを調べ、この3条件とステップS403〜S405の各条件が満たされた場合に、参照パケットと注目パケットが等しいと判断してもよい。
・参照パケットと注目パケットがともにRTPパケットである。
・参照パケットと注目パケットそれぞれのUDPヘッダにおける送信元ポート番号が等しい。
・参照パケットと注目パケットそれぞれのRTPヘッダにおけるシーケンス番号が等しい。
以上、図4〜図8を参照して第1実施形態について説明した。
続いて、図9〜図11を参照して第2実施形態について説明する。なお、第1実施形態との共通点については適宜説明を省略する。
図9は、第2実施形態における通信品質測定システムの構成図である。図9の通信品質測定システム110−2は、下記の3点において、第1実施形態に関する図4の通信品質測定システム110−1と異なる。
・分担制御処理部202aは、各計測装置200a、200b、および200cに負荷状況を問い合わせる負荷状況問い合わせ部215aをさらに備える。
・計測装置200a、200b、および200cがそれぞれ負荷状況通知部216a、216b、および216cをさらに備える。負荷状況通知部216a、216b、および216cは、それぞれ、負荷状況問い合わせ部215aからの問い合わせに応じて、負荷状況を負荷状況問い合わせ部215aに通知する。負荷状況問い合わせ部215aと負荷状況通知部216aの間の問い合わせおよび応答は、例えば、分担制御部206aとキャプチャ状況通知部210aの間の通信と同様に、計測装置200a内部のプロセス間通信により実現することができる。負荷状況問い合わせ部215aと負荷状況通知部216bまたは216cとの間の通信は、通信部214a、214b、および214cを介してなされる。
・通信部214a、214b、および214cは、監視対象経路230とは別系統の通信路240に接続されている。計測装置200a、200b、および200cの間の通信は通信路240を介して行われる。
なお、負荷状況問い合わせ部215aが問い合わせる負荷状況は、例えば、CPU使用率、メモリ使用率、キャプチャしたパケットを記憶する記憶領域の残り容量、およびその組み合わせである。
また、例えば、計測装置200a、200b、および200cが、不図示の同じ1台のスイッチングハブに、通信部214a、214b、および214cをそれぞれ介して接続されていてもよい。その場合、通信路240は、スイッチングハブ内のルーティング経路である。あるいは、通信路240が無線通信路であり、各通信部214a、214b、および214cが無線通信インタフェイスであってもよい。
第2実施形態での分担制御規則は、負荷状況通知部216aが負荷状況問い合わせ部215a、215b、および215cに問い合わせる問い合わせ事項と、問い合わせた結果に基づいて1つの計測装置を選択するための選択基準の組により定義される。したがって、第1実施形態とは異なり、第2実施形態では、実際にどのような順序で計測装置200a、200b、および200cがキャプチャを分担するかは、問い合わせの結果に応じて動的に決定される。負荷状況問い合わせ部215aは、問い合わせ事項を問い合わせる問い合わせ手段の一例である。
以下に、第2実施形態における分担設定の例として(2a)と(2b)を挙げる。
(2a)CPU使用率に基づく分担設定の例
停止基準として、CPU使用率に基づいて、例えば「CPU使用率が80%を超えた」などの条件が設定される。
分担制御規則は、例えば計測装置200aを、通信品質測定システム110−2がキャプチャを開始するときに最初にキャプチャを行う計測装置として定める設定を含む。
さらに、分担制御規則は、キャプチャを実行中の計測装置が停止基準を満たした場合に、キャプチャを行っていない他の計測装置(以下、便宜的に「不活性計測装置」という)に負荷状況問い合わせ部215aが問い合わせる問い合わせ事項を含む。具体的には、停止基準と問い合わせ事項が同じリソースに関連した内容となるように、CPU使用率が問い合わせ事項として設定される。あるいは、問い合わせ事項は、CPUのクロックスピードとCPU使用率の組などでもよい。
また、分担制御規則は、不活性計測装置への問い合わせに対する応答の中から1つの応答を選択するための選択基準を含む。選択基準は、好ましくは、「問い合わせに対する応答のうち最も低い負荷を示す応答を選択する」という基準である。
例えば、図9において計測装置200aがキャプチャを実行している場合、不活性計測装置は計測装置200bと200cである。よって、負荷状況問い合わせ部215aは、計測装置200bと200cの負荷状況通知部216bと216cに、CPU212bと212cそれぞれの使用率を問い合わせる。
例えば、負荷状況通知部216bからは「5%」、負荷状況通知部216cからは「15%」という応答が得られたとすると、最も低い負荷(つまり最も低いCPU使用率)を示すのは「5%」という応答である。したがって、この場合、分担制御部206aは、選択基準により「5%」という応答を選択し、「5%」という応答を返した計測装置200bを、次の計測装置として決定する。
CPU使用率が一時的に増加する(瞬時に増加してすぐに減少する)場合のことを考慮し、停止基準は、「CPU使用率が80%を超えた状態が5秒間以上続いた」などの条件でもよい。
なお、(2a)の例における重複パケット条件は、例えば(1a)の例と同様でよい。
(2b)メモリ使用率に基づく分担設定の例
停止基準として、メモリ使用率に基づいて、例えば「メモリ使用率が80%を超えた」などの条件が設定される。
分担制御規則は、(2a)の例と同様に、例えば計測装置200aを、通信品質測定システム110−2がキャプチャを開始するときに最初にキャプチャを行う計測装置として定める設定を含む。また、分担制御規則が含む問い合わせ事項は、例えば、メモリ使用量、メモリ使用率、メモリ残量などである。選択基準は、例えば、「問い合わせに対する応答のうち最も低い負荷を示す応答を選択する」という基準である。例えば、メモリ201a、201b、および201cの容量が等しい場合、メモリ使用量を問い合わせ事項として設定し、「最も少ないメモリ使用量を示す応答を選択する」という基準を選択基準として設定してもよい。
メモリ使用率が一時的に増加する(瞬時に増加してすぐに減少する)場合のことを考慮し、停止基準は、「メモリ使用率が80%を超えた状態が5秒間以上続いた」などの条件でもよい。
この(2b)の例においても、重複パケット条件は、例えば(1a)の例と同様でよい。
以上、第2実施形態における分担設定の例として(2a)と(2b)を挙げたが、CPUリソースとメモリリソースの使用状況に基づいて定義される総合的な負荷状況を、停止基準や問い合わせ事項に利用することもできる。
以下では、説明の便宜上、(2a)の分担設定が分担制御処理部202aに設定されている場合について説明する。
図10は、第2実施形態におけるキャプチャ動作を説明する図である。
ステップS501において、分担制御処理部202a内の分担制御部206aは、設定された分担順序から、最初にパケットのキャプチャを行う計測装置が計測装置200aであると決定する。そして、分担指示部205aは、決定に基づいてキャプチャ制御部211aにキャプチャ動作の開始を指示する。
すると、キャプチャ制御部211aは、指示にしたがってキャプチャ動作を開始する制御を行う。計測装置200aがキャプチャ動作を開始した時点から、図10における計測区間T41が始まっている。
計測区間T41において、キャプチャ状況通知部210aは、キャプチャ動作の状況を監視し続けており、具体的には、停止基準が満たされているか否かを監視する。図10では、計測装置200aがパケットP1〜P10を取得するまでは、計測装置200aにおけるCPU212aの使用率は80%以下であって、停止基準が満たされていない。しかし、計測装置200aがパケットP10をキャプチャした直後に、CPU212aの使用率が80%を超え、停止基準が満たされる。
するとステップS502においてキャプチャ状況通知部210aは、停止基準が満たされたことを分担制御部206aに通知する。この通知を受けた時点で不活性計測装置は計測装置200bと200cである。
そこで、負荷状況問い合わせ部215aは、ステップS503bにおいて、計測装置200bの負荷状況通知部216bに、問い合わせ事項として設定されたCPU使用率を問い合わせる。問い合わせは、通信部214a、通信路240、および通信部214bを介してなされる。
同様に、負荷状況問い合わせ部215aは、ステップS503cにおいて、計測装置200cの負荷状況通知部216cに、問い合わせ事項として設定されたCPU使用率を問い合わせる。問い合わせは、通信部214a、通信路240、および通信部214cを介してなされる。
なお、ステップS503bとS503cの実行順序は任意である。負荷状況問い合わせ部215aは、問い合わせ事項を216が通信部214aを介して通信路240にブロードキャストすることで、ステップS503bとS503cを同時に実行してもよい。
すると、ステップS504bでは、計測装置200bの負荷状況通知部216bが、通信部214b、通信路240、および通信部214aを介して、計測装置200bの負荷状況としてCPU212bの使用率を計測装置200aに通知する。以下、説明の便宜上、ステップS504bでは「5%」というCPU使用率が通知されたとする。
同様に、ステップS504cでは、計測装置200cの負荷状況通知部216cが、通信部214c、通信路240、および通信部214aを介して、計測装置200cの負荷状況としてCPU212cの使用率を計測装置200aに通知する。以下、説明の便宜上、ステップS504cでは「15%」というCPU使用率が通知されたとする。なお、ステップS504bとS504cの実行順は任意である。
また、ステップS503b、S503c、S504b、およびS504cの実行中に、新たなパケットP11が監視対象経路230上を流れることもある。図10に示すように、このパケットP11も、まだキャプチャを停止していない計測装置200aによりキャプチャされる。
その後、ステップS505で、各不活性計測装置(つまり計測装置200bと200c)からの通知を受けた計測装置200aにおいて分担制御部206aは、CPU使用率が最も低いのは計測装置200bだと認識する。そして、分担制御部206aは、次の計測装置を計測装置200bに決定する。すると、分担指示部205aは、分担制御部206aの決定にしたがって、計測装置200bのキャプチャ制御部211bに、キャプチャを開始するよう、通信部214a、通信路240、および通信部214bを介して指示する。
続いて、キャプチャ制御部211bは、キャプチャ動作を開始する制御を行う。計測装置200bがキャプチャ動作を開始した時点から、図10の計測区間T42が始まっている。また、計測区間T42においてキャプチャ状況通知部210bは、キャプチャ動作の状況を監視し続けており、具体的には、重複パケット条件と停止基準が満たされているか否かをそれぞれ監視する。
その後、監視対象経路230上にパケットP12が流れると、パケットP12は計測装置200aと200bの双方によりキャプチャされる。すると、計測装置200bはキャプチャの開始後、実際に1つのパケットをキャプチャしたことになり、重複パケット条件が満たされる。キャプチャ状況通知部210bは、計測区間T42開始時点から計測装置200bがキャプチャしたパケットの個数を数えることによって、重複パケット条件が満たされたことを認識することができる。
すると、ステップS506においてキャプチャ状況通知部210bは、通信部214b、通信路240、および通信部214aを介して、分担制御部206aに、重複パケット条件が満たされたことを通知する。
通知を受けた分担制御部206aは、ステップS507において、計測装置200aによるキャプチャを停止することを決定する。そして、分担指示部205aが、分担制御部206aによる決定に基づいて、計測装置200aのキャプチャ制御部211aにキャプチャの停止を指示する。
すると、キャプチャ制御部211aはキャプチャを停止する制御を行い、計測装置200aはキャプチャを停止し、計測区間T41が終了する。このように、計測装置200aは、ステップS502で重複パケット条件が満たされた後にもキャプチャを続けているので、パケットP12をキャプチャしている。つまり、パケットP12は計測装置200aと200bの双方により重複してキャプチャされている。
ステップS507の後は、計測装置200bがパケットP13、P14などのキャプチャを継続する。
なお、第1実施形態と同様に、停止基準と重複パケット条件は、ステップS501の前に予め分担制御処理部202aから通知されていてもよいし、キャプチャの開始の指示とともに通知されてもよい。
続いて、図10を参照して説明したキャプチャ動作について、さらに図11を参照して説明する。図6と同様の点については、適宜説明を省略する。
図11は、第2実施形態におけるキャプチャ動作のフローチャートである。
ステップS601において、分担制御処理部202aは分担設定を取得する。以下では説明の便宜上、(2a)の分担設定が利用されるものとする。具体的には、停止基準と分担制御規則は分担制御部206aが取得し、重複パケット条件としての重複パケット数は重複パケット指定部207aが取得する。
次に、分担制御処理部202aは、ステップS602において、分担制御規則にしたがい、第1の計測装置に計測開始を指示する。つまり、分担制御処理部202a内の分担制御部206aが分担制御規則にしたがって、最初にキャプチャ動作を行う計測装置を決定し、決定にしたがって分担指示部205aが第1の計測装置にキャプチャ動作の開始を指示する。図10の例では、第1の計測装置は計測装置200aである。
すると、指示を受けた第1の計測装置は、ステップS603において計測(つまりパケットのキャプチャ)を開始する。ステップS602とS603が図10のステップS501に相当する。
続くステップS604では、現在計測中の計測装置において、CPU使用率が80%を超えたか否かが判断される。なお、図11における「現在計測中の計測装置」の意味は、図6における意味と同様である。
CPU使用率が80%を超えていなければステップS604の監視が繰り返される。CPU使用率が80%を超えると、現在計測中の計測装置(例えば200a)のキャプチャ状況通知部(例えば210a)は、キャプチャを停止する予定であることを分担制御処理部202aの分担制御部206aに通知し、処理はステップ605に移行する。ステップS604からS605への移行が、図10のステップS502に相当する。
すると、ステップS605で分担制御処理部202aの負荷状況問い合わせ部215aは、設定された問い合わせ事項であるCPU使用率を、「現在計測中の計測装置」以外の計測装置(すなわち不活性計測装置)に問い合わせる。すると、各不活性計測装置からCPU使用率が通知される。
以上のステップS605は、図10のステップS503b〜S504cに相当する。
すると、ステップS606において分担制御部206aは、選択基準にしたがって、最もCPU使用率の低い計測装置(例えば、図10の例では計測装置200b)を次の計測装置に決定する。なお、図11における「次の計測装置」の意味は、図6における意味と同様である。さらに、分担制御部206aの決定に基づいて、分担指示部205aが、計測装置200bにキャプチャの開始を指示する。
そして、ステップS607では、次の計測装置が計測を開始する。ステップS606とS607が図10のステップS505に相当する。
続くステップS608において、次の計測装置がIPパケットを「重複パケット数」分取得したか否かが判断される。次の計測装置がIPパケットを「重複パケット数」分取得するまで、ステップS608は繰り返される。
次の計測装置がIPパケットを「重複パケット数」分取得すると、ステップS609において、次の計測装置のキャプチャ状況通知部(例えば210b)は、分担制御処理部202aに、「重複パケット数」分のIPパケットを取得したことを通知する。なお、ステップS608からS609への移行およびステップS609の実行が、図10のステップS506に相当する。
続いて、ステップS610において、分担制御処理部202aは、現在計測中の計測装置に計測停止を指示する。
すると、ステップS611において現在計測中の計測装置は、計測(すなわちパケットのキャプチャ)を停止する。ステップS610とS611が、図10のステップS507に相当する。
そして、ステップS612では計測を続けるか否かが、例えば第1実施形態と同様にして判断される。ステップS612において計測を続けると判断されると、処理はステップS604に戻り、その際、現在の「次の計測装置」を新たな「現在計測中の計測装置」とする。逆に、ステップS612において計測を続けないと判断されると、図11の処理全体が終了する。
以上、図9〜図11を参照して第2実施形態におけるキャプチャ動作について詳細に説明した。
第2実施形態における集計動作は、キャプチャされたパケットの収集が監視対象経路230ではなく通信路240を介して行われる点以外は、第1実施形態と同様である。したがって詳しい説明は省略する。
続いて、図12〜図15を参照して第3実施形態について説明する。なお、第1実施形態または第2実施形態との共通点については適宜説明を省略する。
図12は、第3実施形態における通信品質測定システムの構成図である。図12の通信品質測定システム110−3は、計測装置200aがビーコン送信部217aをさらに備えるという点において、第1実施形態に関する図4の通信品質測定システム110−1と異なる。
ビーコン送信部217aは、通信部214aを介して一定間隔で監視対象経路230にビーコンパケットを送信する。ビーコンパケットの具体的な形式は任意である。本実施形態では、「一意な識別番号を含み、一定間隔で送信される、予め決められた形式のパケット」を「ビーコンパケット」と定義している。なお、以下ではビーコンパケットの識別番号を「ビーコン番号」という。
本実施形態において計測装置200a、200b、および200cは、タップ220a、220b、および220cと通信部213a、213b、および213cを介して、監視対象経路230上を流れるビーコンパケットをキャプチャする。なお、第1実施形態に関して説明したように、キャプチャ制御処理部204a、204b、および204cは、管理パケットを破棄する制御を行ってもよい。その場合、第3実施形態では、キャプチャ制御処理部204a、204b、および204cは、管理パケットの1種であるビーコンパケットは例外的に破棄しないように制御を行う。
ビーコンパケットは監視対象経路230上をブロードキャストされてもよい。その場合、送信元が計測装置200a、200b、または200cのパケットを破棄するように、監視対象経路230の両端に位置する図3のルータ120および130が予め設定されていることが好ましい。その設定により、ビーコンパケットがネットワーク140やWAN150に流出することを防ぐことができる。
なお、以下では説明の便宜上、第1実施形態の(1a)の例と同様の分担順序および停止基準が分担制御部206aに設定されているものとするが、その他の分担順序および停止基準を採用する実施形態も可能である。
また、第3実施形態における重複パケット条件は、例えば「キャプチャを開始した後、実際にキャプチャしたパケットのうち、ビーコンパケットの個数が1個に達した」という条件である。すなわち、第3実施形態における重複パケット条件は、重複パケット数と、ビーコンパケットというパケットの属性により規定される。なお、重複パケット数は、(1h)の例のように可変であってもよい。
続いて、図13を参照して通信品質測定システム110−3によるキャプチャ動作について説明する。
図13は、第3実施形態におけるキャプチャ動作のフローチャートである。図6と同様の点については適宜説明を省略する。
ステップS701において、分担制御処理部202aは重複パケット条件を含む分担設定を取得する。具体的には、停止基準と分担制御規則は分担制御部206aが取得し、重複パケット条件は重複パケット指定部207aが取得する。
次に、分担制御処理部202aは、ステップS702において、分担順序にしたがい、第1の計測装置に計測開始を指示する。つまり、分担制御処理部202a内の分担制御部206aが分担順序にしたがって最初にキャプチャ動作を行う計測装置を決定し、決定にしたがって分担指示部205aが第1の計測装置にキャプチャ動作の開始を指示する。例えば、(1a)の分担順序によれば、第1の計測装置は計測装置200aである。
すると、指示を受けた第1の計測装置は、ステップS703において計測(つまりパケットのキャプチャ)を開始する。
続くステップS704において、現在計測中の計測装置において、停止基準として設定されている計測時間が経過したか否かが判断される。なお、「現在計測中の計測装置」の意味は、図6における意味と同様である。
計測時間が経過していなければステップS704の監視が繰り返される。計測時間が経過すると、現在計測中の計測装置(例えば200a)のキャプチャ状況通知部(例えば210a)は、キャプチャを停止する予定であることを分担制御処理部202aの分担制御部206aに通知し、処理はステップS705に移行する。
すると、ステップS705で分担制御処理部202aは、分担順序にしたがい、次の計測装置に計測開始を指示する。なお、「次の計測装置」の意味は、図6における意味と同様である。
そして、ステップS706では、次の計測装置が計測を開始する。
続くステップS707において、次の計測装置が、重複パケット条件において設定された属性の重複パケット(すなわちビーコンパケット)を1つ以上(具体的には重複パケット条件で規定されている重複パケット数)取得したか否かが判断される。例えば、次の計測装置が計測装置200bのとき、キャプチャ状況通知部210bが計測装置200bによるパケットのキャプチャの状況を監視しており、ステップS707の判断はキャプチャ状況通知部210bによりなされる。
ステップS707は、次の計測装置がビーコンパケットを「重複パケット数」分取得するまで繰り返される。次の計測装置がビーコンパケットを「重複パケット数」分取得すると、処理はステップS708に移行する。
すると、ステップS708において、次の計測装置(具体的には、例えばキャプチャ状況通知部210b)は、分担制御処理部202aに、「重複パケット数」分のビーコンパケットを取得したことを通知する。
続いて、ステップS709において、分担制御処理部202aは、現在計測中の計測装置に計測停止を指示する。
そして、ステップS710において、現在計測中の計測装置は、計測(すなわちパケットのキャプチャ)を停止する。
さらに、ステップS711では計測を続けるか否かが、例えば図6のステップS311と同様にして判断される。ステップS711において計測を続けると判断されると、処理はステップS704に戻り、その際、現在の「次の計測装置」を新たな「現在計測中の計測装置」とする。逆に、ステップS711において計測を続けないと判断されると、図13の処理全体が終了する。
続いて、第3実施形態における集計動作について図14と図15を参照して説明する。
図14は、第3実施形態における集計動作を説明する図である。図14は図2と類似の形式により、各時計による時刻を表す時間軸を横軸として集計動作を説明している。
図14では、図3のルータ120または130により中継されて図12の監視対象経路230上を流れる15個のパケットP1〜P11が、「元のデータ」として表されている。パケットP1〜P11はユーザパケットである。
さらに、第3実施形態では、パケットP1〜P11が流れるタイミングとは無関係に図12のビーコン送信部217aが一定間隔で送出するビーコンパケットが、監視対象経路230上を流れる。図13には9個のビーコンパケットB1〜B9が示されている。
また、分担制御処理部202aは、設定された分担順序にしたがって、計測装置200a、200b、200cの順にキャプチャを担当するよう制御する。すると、図14に示すように、計測装置200aが計測区間T51でパケットP1〜P6とビーコンパケットB1〜B4をキャプチャする。また、計測装置200bが計測区間T52でパケットP7〜P11とビーコンパケットB4〜B7をキャプチャする。そして計測装置200cが計測区間T53でパケットP12〜P15とビーコンパケットB7〜B9をキャプチャする。
なお、第3実施形態の重複パケット条件によれば、隣り合う2つの計測区間において2つの計測装置が同じユーザパケットを重複してキャプチャしなくても、フルキャプチャが実現される。
例えば、図14の例において、計測装置200aと200bはビーコンパケットB4を重複してキャプチャしているが、計測装置200aと200bにより重複してキャプチャされるユーザパケットはない。同様に、計測装置200bと200cはビーコンパケットB7を重複してキャプチャしているが、計測装置200bと200cにより重複してキャプチャされるユーザパケットはない。
もちろん、ユーザパケットが監視対象経路230上を流れるタイミングによっては、隣り合う2つの計測区間において2つの計測装置が同じユーザパケットを重複してキャプチャすることも起こりうる。
例えば、パケットP6とP7の間に、ビーコンパケットB4よりも前のタイミングで、不図示のユーザパケットPxが監視対象経路230上を流れる場合、当該ユーザパケットPxは、計測装置200aと200bにより重複してキャプチャされる。この場合、集計部208aは、「重複パケットであるビーコンパケットB4より前に計測区間T52でキャプチャされたユーザパケットPxも、計測装置200aと200bにより重複してキャプチャされたパケットである」と認識することができる。
いずれにせよ、集計処理部203aは、重複してキャプチャされたビーコンパケットを特定することで、重複なく順序を保って、ユーザパケットとビーコンパケットを復元し、さらに各パケットに関連付けられたキャプチャ時刻の補正を行う。
また、ビーコンパケットは所定の形式なので、集計部208aはビーコンパケットとユーザパケットを判別することが可能である。したがって、復元後に集計部208aはビーコンパケットを取り除いて、一連のユーザパケットP1〜P15のみを後段の解析処理のために出力してもよい。
なお、ビーコンパケットを重複パケットとして利用することで、例えばユーザパケットが少ない場合やユーザパケットの流れが停止してしまう場合でも、「現在計測中の計測装置」は、停止基準が満たされてから一定の時間以内にキャプチャを停止することができる。一定の時間とは、計測装置200a、200b、および200cの間での2往復分の通信時間と、ビーコンパケットの送信間隔との和である。
また、第3実施形態では集計部208aが重複なく順序を保ってユーザパケットP1〜P15を復元するだけではなく、相対時刻調整部209aが時刻の調整を行う。なお、説明の便宜上、例えば計測装置200bの時計は計測装置200aの時計よりも1秒進んでおり、計測装置200cの時計は計測装置200aの時計よりも0.8秒遅れているとする。また、基準の時計は計測装置200aの時計であるとする。
この場合、相対時刻調整部209aは、重複パケットであると特定されたビーコンパケットB4に計測装置200aと200bがそれぞれ関連付けたキャプチャ時刻の差から、計測装置200bの時計は計測装置200aの時計よりも1秒進んでいると認識する。よって、相対時刻調整部209aは、パケットP7〜P11とビーコンパケットB4〜B7に計測装置200bが関連付けたキャプチャ時刻から1秒を引くことで、時刻の調整を行う。
同様に、相対時刻調整部209aは、重複パケットであると特定されたビーコンパケットB7に計測装置200bと200cがそれぞれ関連付けたキャプチャ時刻の差から、計測装置200cの時計は計測装置200bの時計よりも1.8秒遅れていることを認識することができる。したがって、相対時刻調整部209aは、計測装置200bの時計は計測装置200aの時計よりも1秒進んでいるという認識に基づいて、計測装置200cの時計が計測装置200aの時計よりも0.8秒遅れていることを認識することができる。
その結果、相対時刻調整部209aは、パケットP12〜P15とビーコンパケットB7〜B9に計測装置200cが関連付けたキャプチャ時刻に0.8秒を足すことで、時刻の調整を行う。
続いて、図15を参照して、集計動作についてさらに説明する。
図15は、第3実施形態における集計動作のフローチャートである。図7と同様の点については適宜説明を省略する。
ステップS801において、集計処理部203a内の集計部208aは、各計測装置200a、200b、および200cから、各計測装置200a、200b、および200cがキャプチャしたパケットを収集する。
集計部208aは、ステップS801でのパケットの収集の後、隣り合う2つの計測区間のうち後の計測区間でキャプチャされた最初のビーコンパケットを参照パケットとして、参照パケットと同一の、前の計測区間でキャプチャされたパケットを特定する。特定のための処理がステップS802〜S805に相当する。ステップS802およびS805は、図7のステップS402およびS406とそれぞれ類似のステップであり、図7のステップS403〜S405の代わりに第3実施形態ではステップS803とS804が実行される。
ステップS802で集計部208aは、前の計測区間の最後のパケットに注目する。
続くステップS803〜S805は、前の計測区間でキャプチャされたパケットを後ろから順に調べて、参照パケットと同一のパケットを探す処理である。
すなわち、ステップS803で集計部208aは、注目パケットがビーコンパケットであるか否かを調べる。注目パケットがビーコンパケットならば処理はステップS804に移行し、注目パケットがビーコンパケットでなければ処理はステップS805に移行する。
また、ステップS804で集計部208aは、参照パケットと注目パケットのビーコン番号が同じか否かを調べる、両パケットのビーコン番号が同じならば処理はステップS806に移行し、同じでなければ処理はステップS805に移行する。
つまり、ステップS803とS804の実行により、参照パケットと注目パケットが等しいと判明した場合は処理がステップS806に移行する。他方、参照パケットと注目パケットが等しくないと判明した場合は、処理がステップS805に移行する。
ステップS805で集計部208aは、前の計測区間でキャプチャされたパケットのうち、現在の注目パケットの1つ前のパケットに注目し、新たな「注目パケット」とする。そして、処理はステップS803に戻る。フルキャプチャが実現されている限り、ステップS803〜S804を1回以上実行した後、必ず処理はステップS806に移行する。
ステップS806では、相対時刻調整部209aが、隣り合う2つの計測区間において2つの計測装置でキャプチャした重複パケットのキャプチャ時刻を利用して、計測装置間の時計のずれを算出し、時刻調整を行う。例えば、相対時刻調整部209aは、複数の計測装置のうちのどれか1つの時計に、収集した各パケットのキャプチャ時刻を合わせる。
また、集計部208aは、ステップS803〜S805の処理により特定した重複パケットを削除することで、重複なく一連のパケットを復元することができる。
なお、ステップS806の時刻調整の詳細は、図2に関して説明したとおりである。ステップS806の実行により図15の処理は終了する。図15の処理結果も、例えば、ジッタ解析などの各種の解析に利用可能である。
以上、第1〜第3実施形態について説明したが、いずれの実施形態においても、複数の計測装置でキャプチャを分担する。よって、通信品質測定システム全体としては切れ目なくキャプチャを継続することができる一方で、1台の計測装置のキャプチャ量(換言すればキャプチャの実行によって生じる負荷)を抑えることができる。したがって、汎用の安価な装置を使ってフルキャプチャを実現することが可能である。
また、複数の計測装置間での時刻同期がなされていなくても、上記実施形態によれば、重複パケットを用いることにより、各パケットのキャプチャ時刻を基準の時計による時刻で表すための補正が可能である。したがって時刻同期のためのコストも不要である。
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
第1実施形態または第3実施形態を、第2実施形態のように監視対象経路230とは独立した通信路240を利用するよう変形してもよい。逆に、第2実施形態を、第1実施形態のように、通信路240ではなく監視対象経路230を利用するように変形してもよい。
また、第2実施形態と第3実施形態を組み合わせることもできる。あるいは、第2実施形態において重複パケット条件として、(1e)〜(1g)のような条件を利用することもできる。
また、上記の説明では、キャプチャされたすべてのパケットを復元する集計動作について説明したが、特定の条件を満たすパケットのみを集計部208aが集計動作において復元してもよい。例えば、特定のRTPセッションに関わるパケットのみを復元することも可能である。
なお、相対時刻調整部209aによる時刻調整は、例えば、20msecといった所定の間隔で定期的にRTPパケットが送信されるストリームデータの送信における通信品質の解析に特に好適である。例えば、RTPパケットのみを集計部208aが復元し、不図示の解析システムが、隣接する2つのパケット同士の間隔をRTPセッションごとに解析してもよい。時刻調整されたキャプチャ時刻を用いることで、例えば、間隔が揺れている(すなわちジッタが生じている)か否か、間隔が次第に大きくなる傾向がある(すなわち通信路上のどこかが混雑している)か否か、といった解析が可能となる。
もちろん、時刻調整は、それ以外の目的で行われてもよい。例えば、HTTP(HyperText Transfer Protocol)のリクエストからレスポンスまでの遅延時間の計測をはじめとして、各種の通信における経過時間や反応時間の正確な計測のために、時刻調整後のキャプチャ時刻を用いることもできる。
また、第1〜第3実施形態では、データ・インジェクション機能を持たないタップ220a〜220cを介して計測装置200a〜200cが監視対象経路230に接続されている。しかし、タップ220a〜220cをデータ・インジェクション機能付きのタップに置き換えてもよい。その場合、通信部214a〜214cは省略可能であり、第1〜第3実施形態における通信部214a〜214cの機能を通信部213a〜213cが兼ねることになる。
あるいは、タップ220a〜220cを、ポートミラーリング(port mirroring)機能を持ったスイッチングハブに置き換えることもできる。ポートミラーリング機能を持つスイッチングハブは、一般には、設定を切り替えることによって監視対象のポートへとデータを送出することができるので、通信部214a、214b、および214cを省略することもできる。
ただし、スイッチングハブは一般的に、ルーティングするデータを一時的に記憶するバッファを内部に有する。そのため、実際に監視対象経路230上をパケットが流れた時点と、スイッチングハブを介して計測装置200a、200b、または200cがパケットをキャプチャする時点に差が生じることがある。
よって、バッファリングによって生じる時差の程度によっては、相対時刻調整部209aによる時刻の調整や、調整後の時刻を用いたジッタ解析など、時刻にシビアな用途には向かないスイッチングハブもある。しかしながら、バッファリングによって生じる時差がキャプチャの目的に応じた許容範囲に収まるならば、タップ220a〜220cの代わりにポートミラーリング機能を持ったスイッチングハブを用いてもよい。
また、上記の実施形態において、集計動作における時刻の調整では、計測装置200a、200b、および200cの時計の時刻のずれを相対時刻調整部209aが補正している。しかし、複数の時計の間で、単に時刻がずれているだけではなく、時刻が進む割合が異なる場合もある。例えば、計測装置200aの時計が60秒進む間に計測装置200bの時計は60.5秒進むかもしれない。
このように複数の時計の間で時刻が進む割合が異なる場合は、例えば、重複パケット条件において重複パケット数をN(N>1)に設定してもよい。そして、例えば、j番目(1≦j≦N)の重複パケットに2つの計測装置がそれぞれ関連付けたキャプチャ時刻の差dの変動に基づいて、相対時刻調整部209aが時刻が進む割合の差を算出し、時刻の調整を行ってもよい。
また、上記の各実施形態では、隣り合う2つの計測区間に対応する2つの計測装置によってある1つのパケットが重複してキャプチャされる場合、キャプチャの絶対時刻同士は等しいと仮定している。複数の計測装置が同一ネットワーク上(例えば1つのコリジョンドメイン内)に接続される限り、一般に、この仮定が成立すると見なせる。
しかし、タップやポートミラーリング機能を備えたスイッチングハブなどの分岐装置の特性、またはネットワークの構成など、何らかの理由によって、1つのパケットが2つの計測装置で重複してキャプチャされる絶対時刻に差が生じる実施形態もあるかもしれない。その場合、無視することができないほどの差があるならば、例えば次のように図1の処理を変形し、同じパケットが重複してキャプチャされていることをより確実に確認してもよい。
すなわち、ステップS102において分担制御処理装置は、計測装置Bに計測開始を指示するとともに、現在計測中の計測装置が計測装置Aであることを通知する。そして、ステップS103で重複パケット条件が満たされたと計測装置Bが認識すると、計測装置Bは、計測装置B自身が重複パケットとしてキャプチャしたパケットを同定するための情報を計測装置Aに送る。すなわち、計測装置Bは、計測装置Aも同じパケットをキャプチャしたか否かを計測装置Aに問い合わせる。
そして、計測装置Aは計測装置Bの問い合わせに応答する。計測装置AとBの双方が同じパケットを重複パケットとしてキャプチャしていることが確認できたら、計測装置Bは、図2のステップS103と同様に、重複パケット条件が満たされたことを分担制御処理装置に通知する。
なお、計測装置Bから計測装置Aへの問い合わせと計測装置Aから計測装置Bへの応答を、分担制御処理装置を介して行うよう、さらに上記の変形例を変形することも可能である。あるいは、計測装置Aは、計測装置Bからの問い合わせにより、計測装置Bと同じパケットを重複してキャプチャしていたことを認識した時点でキャプチャを停止し、キャプチャを停止したことを分担制御処理装置に報告してもよい。

Claims (8)

  1. 同一のネットワーク上に接続され、前記ネットワーク上を流れるパケットをキャプチャする複数の計測装置と、
    前記ネットワーク上を流れるパケットのキャプチャの、前記複数の計測装置間での分担を制御する分担制御処理手段と、
    前記複数の計測装置がそれぞれキャプチャしたパケットを収集する集計手段とを備え、
    前記複数の計測装置のそれぞれは、
    前記キャプチャの開始と停止を制御するキャプチャ制御手段と、
    前記キャプチャ制御手段による制御にしたがって行われる前記キャプチャに関する状況を前記分担制御処理手段に通知するキャプチャ状況通知手段とを備え、
    前記分担制御処理手段は、
    予め決められた分担制御規則と前記キャプチャ状況通知手段により通知される前記状況に基づいて、前記複数の計測装置のいずれに前記キャプチャを開始または停止させるかを決定する分担制御手段と、
    前記分担制御手段の決定にしたがって前記複数の計測装置に前記キャプチャの開始または停止を指示する分担指示手段とを備え、
    前記分担制御手段が第1の計測装置から第2の計測装置に前記キャプチャを交替させることを決定すると、前記分担指示手段は、前記キャプチャを開始するよう前記第2の計測装置に指示し、前記第2の計測装置がパケットを実際にキャプチャしたことを表す第1の状況を前記第2の計測装置の前記キャプチャ状況通知手段が前記分担制御処理手段に通知した後に、前記第1の計測装置に前記キャプチャの停止を指示し、
    前記集計手段は、前記第1と前記第2の計測装置が重複してキャプチャしたために前記収集したパケットの中に重複して含まれるパケットを重複パケットとして特定することで、前記ネットワーク上を流れる一連のパケットを重複なく復元する、
    ことを特徴とするパケットキャプチャシステム。
  2. 前記第1の計測装置が前記キャプチャを行っているときに、前記キャプチャに関する状況が予め決められた停止基準を満たす場合、前記第1の計測装置の前記キャプチャ状況通知手段は、前記停止基準が満たされているという第2の状況を前記分担制御手段に通知し、
    前記分担制御手段は、通知された前記第2の状況を契機として、前記分担制御規則に基づいて、前記第1の計測装置から前記第2の計測装置に前記キャプチャを交替させることを決定する、
    ことを特徴とする請求項1に記載のパケットキャプチャシステム。
  3. 前記分担制御規則は、前記複数の計測装置の間で前記キャプチャを分担する分担順序を静的に定めていることを特徴とする請求項1または2に記載のパケットキャプチャシステム。
  4. 前記分担制御規則は、前記第2の状況が前記第1の計測装置の前記キャプチャ状況通知手段から通知されたときに、前記複数の計測装置のうち前記第1の計測装置以外の1つ以上の不活性計測装置に問い合わせる問い合わせ事項と、前記問い合わせ事項に対する応答の中から1つの応答を選択するための選択基準とを含み、
    前記パケットキャプチャシステムは、前記分担制御規則にしたがって前記問い合わせ事項を前記不活性計測装置に問い合わせる問い合わせ手段をさらに備え、
    前記分担制御手段は、前記問い合わせ手段による問い合わせに対する前記不活性計測装置からの前記応答の中から前記選択基準によって1つの応答を選択し、選択した前記1つの応答を返した計測装置を前記第2の計測装置として決定する、
    ことを特徴とする請求項2に記載のパケットキャプチャシステム。
  5. 前記複数の計測装置は、前記ネットワーク上を流れるパケットをキャプチャすると、キャプチャ時刻と関連付けて前記キャプチャしたパケットを記憶し、
    前記集計手段は、前記複数の計測装置から前記キャプチャ時刻も収集し、
    前記パケットキャプチャシステムは、前記重複パケットに前記第1と前記2の計測装置がそれぞれ関連付けた第1と第2のキャプチャ時刻の差に基づいて、前記重複なく復元した一連のパケットにそれぞれ関連付けられている前記キャプチャ時刻を調整し、基準の時計で表した時刻に補正する相対時刻調整手段をさらに備える、
    ことを特徴とする請求項1からのいずれか1項に記載のパケットキャプチャシステム。
  6. 同一のネットワーク上に接続された複数の計測装置を備えるパケットキャプチャシステムが実行するパケットキャプチャ方法であって、
    前記複数の計測装置のうち第1の計測装置に前記ネットワーク上を流れるパケットのキャプチャの開始を指示し、
    前記第1の計測装置に、キャプチャしたパケットの個数、前記キャプチャを行う時間、または前記第1の計測装置の負荷に関して予め決められた停止基準が満たされるか否かを監視させ、
    前記停止基準が満たされたとき、前記第1の計測装置に、前記停止基準が満たされたという第1の状況を通知させ、
    前記第1の状況の通知を契機として、予め決められた分担制御規則に基づいて、前記複数の計測装置のうち第2の計測装置に前記キャプチャを交替させることを決定し、
    前記キャプチャを開始するよう前記第2の計測装置に指示し、
    前記第2の計測装置が実際にパケットをキャプチャしたとき、前記第2の計測装置に前記パケットを実際にキャプチャしたという第2の状況を通知させ、
    前記第2の状況の通知の後に、前記第1の計測装置に前記キャプチャの停止を指示し、
    前記複数の計測装置がそれぞれキャプチャしたパケットを収集し、
    前記第1の計測装置と前記第2の計測装置が重複してキャプチャしたために前記収集したパケットの中に重複して含まれるパケットを重複パケットとして特定することで、前記ネットワーク上を流れる一連のパケットを重複なく復元する、
    ことを特徴とするパケットキャプチャ方法。
  7. 同一のネットワーク上に接続され、前記ネットワーク上を流れるパケットをキャプチャする情報処理装置に、
    前記ネットワーク上を流れるパケットのキャプチャの開始と停止を、前記情報処理装置と通信可能な分担制御処理手段から与えられる指示にしたがって制御するキャプチャ制御ステップと、
    前記キャプチャ制御ステップによる制御にしたがって行われる前記キャプチャに関する状況を前記分担制御処理手段に通知するキャプチャ状況通知ステップとを実行させ、
    前記分担制御処理手段から前記キャプチャの開始が指示されると、さらに
    前記キャプチャを開始する制御を行うキャプチャ開始ステップと、
    キャプチャするパケットの個数、前記キャプチャを行う時間、または前記情報処理装置の負荷に関して予め決められた停止基準が満たされるか否かの監視を開始する監視開始ステップと、
    実際にパケットをキャプチャしたとき前記パケットを実際にキャプチャしたという状況を前記分担制御処理手段に通知する第1の通知ステップとを実行させ、
    前記停止基準が満たされたときにはさらに、
    前記停止基準が満たされたという状況を前記分担制御処理手段に通知する第2の通知ステップと、
    前記分担制御処理手段から前記キャプチャの停止の指示を受けてから、前記キャプチャを停止させる制御を行う停止ステップとを実行させる、
    ことを特徴とするプログラム。
  8. 同一のネットワーク上に接続され、前記ネットワーク上を流れるパケットのキャプチャを行う複数の計測装置と通信可能な情報処理装置に、前記複数の計測装置間での前記キャプチャの分担を制御させるプログラムであって、
    該プログラムは前記情報処理装置に、
    予め決められた分担制御規則と、前記複数の計測装置が通知してくる前記キャプチャに関する状況とに基づいて、前記複数の計測装置のいずれに前記キャプチャを開始または停止させるかを決定する決定ステップと、
    前記決定ステップにおける決定にしたがって前記複数の計測装置に前記キャプチャの開始または停止を指示する指示ステップとを実行させ、
    前記決定ステップにおいて、第1の計測装置から第2の計測装置に前記キャプチャを交替させると決定されると、前記プログラムは、前記指示ステップにおいて前記情報処理装置に、前記キャプチャを開始するよう前記第2の計測装置に指示させるとともに、前記第2の計測装置がパケットを実際にキャプチャしたという状況を前記第2の計測装置が通知してきた後に、前記第1の計測装置に前記キャプチャの停止を指示させる、
    ことを特徴とするプログラム。
JP2010548258A 2009-02-02 2009-02-02 パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム Expired - Fee Related JP5013001B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/000398 WO2010086907A1 (ja) 2009-02-02 2009-02-02 パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2010086907A1 JPWO2010086907A1 (ja) 2012-07-26
JP5013001B2 true JP5013001B2 (ja) 2012-08-29

Family

ID=42395179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010548258A Expired - Fee Related JP5013001B2 (ja) 2009-02-02 2009-02-02 パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム

Country Status (3)

Country Link
US (1) US8605617B2 (ja)
JP (1) JP5013001B2 (ja)
WO (1) WO2010086907A1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012104981A1 (ja) 2011-01-31 2012-08-09 富士通株式会社 トラフィックデータ統合方法および装置
US8626912B1 (en) 2013-03-15 2014-01-07 Extrahop Networks, Inc. Automated passive discovery of applications
US8619579B1 (en) 2013-03-15 2013-12-31 Extrahop Networks, Inc. De-duplicating of packets in flows at layer 3
US8867343B2 (en) 2013-03-15 2014-10-21 Extrahop Networks, Inc. Trigger based recording of flows with play back
JP6287409B2 (ja) * 2014-03-19 2018-03-07 日本電気株式会社 通信品質監視装置及び方法とシステム並びにプログラム
JP6458383B2 (ja) 2014-07-22 2019-01-30 富士通株式会社 パケット処理プログラム,パケット処理装置及びパケット処理方法
JP6476853B2 (ja) 2014-12-26 2019-03-06 富士通株式会社 ネットワーク監視システム及び方法
JP6492707B2 (ja) 2015-02-04 2019-04-03 富士通株式会社 パケット検出プログラム、パケット検出装置、および、パケット検出方法
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US9338147B1 (en) 2015-04-24 2016-05-10 Extrahop Networks, Inc. Secure communication secret sharing
US10204211B2 (en) 2016-02-03 2019-02-12 Extrahop Networks, Inc. Healthcare operations with passive network monitoring
US10243813B2 (en) 2016-02-12 2019-03-26 Extreme Networks, Inc. Software-based packet broker
US9729416B1 (en) 2016-07-11 2017-08-08 Extrahop Networks, Inc. Anomaly detection using device relationship graphs
US9660879B1 (en) 2016-07-25 2017-05-23 Extrahop Networks, Inc. Flow deduplication across a cluster of network monitoring devices
JP6740911B2 (ja) * 2017-01-16 2020-08-19 富士通株式会社 ポート切替プログラム、ポート切替方法、および情報処理装置
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US10263863B2 (en) 2017-08-11 2019-04-16 Extrahop Networks, Inc. Real-time configuration discovery and management
US10063434B1 (en) 2017-08-29 2018-08-28 Extrahop Networks, Inc. Classifying applications or activities based on network behavior
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10264003B1 (en) 2018-02-07 2019-04-16 Extrahop Networks, Inc. Adaptive network monitoring with tuneable elastic granularity
US10038611B1 (en) 2018-02-08 2018-07-31 Extrahop Networks, Inc. Personalization of alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
US10116679B1 (en) 2018-05-18 2018-10-30 Extrahop Networks, Inc. Privilege inference and monitoring based on network behavior
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10594718B1 (en) 2018-08-21 2020-03-17 Extrahop Networks, Inc. Managing incident response operations based on monitored network activity
US10965702B2 (en) * 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
JP7284398B2 (ja) * 2019-06-20 2023-05-31 富士通株式会社 パケット解析プログラムおよびパケット解析装置
US11165814B2 (en) 2019-07-29 2021-11-02 Extrahop Networks, Inc. Modifying triage information based on network monitoring
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
CN112532468B (zh) * 2019-09-19 2023-03-28 华为技术有限公司 网络测量系统、方法、设备及存储介质
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
EP4218212A4 (en) 2020-09-23 2024-10-16 Extrahop Networks Inc ENCRYPTED NETWORK TRAFFIC MONITORING
CN112615692B (zh) * 2020-11-26 2022-07-12 新华三技术有限公司 一种流量统计的时间同步方法、装置以及流量分析系统
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188328A (ja) * 1997-09-08 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> トラフィック収集・分析システム
JP2004229217A (ja) * 2003-01-27 2004-08-12 Kddi Corp トラヒック計測システム及びトラヒック計測方法、コンピュータプログラム
JP2004356953A (ja) * 2003-05-29 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> パケット転送装置、ネットワーク制御サーバ、およびパケット通信ネットワーク
JP2006203276A (ja) * 2005-01-18 2006-08-03 Fujitsu Ltd トラフィック監視システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
US6570857B1 (en) * 1998-01-13 2003-05-27 Telefonaktiebolaget L M Ericsson Central multiple access control for frequency hopping radio networks
US6363056B1 (en) * 1998-07-15 2002-03-26 International Business Machines Corporation Low overhead continuous monitoring of network performance
US6205122B1 (en) * 1998-07-21 2001-03-20 Mercury Interactive Corporation Automatic network topology analysis
JP3620986B2 (ja) * 1999-01-20 2005-02-16 富士通株式会社 複合交換網における通信制御方法とその制御方法を使用するゲートウェイ装置
JP2001290627A (ja) * 2000-02-04 2001-10-19 Fuji Photo Film Co Ltd プリントシステム、プリント方法および装置並びに注文振り分け方法および装置
JP3677205B2 (ja) * 2000-11-08 2005-07-27 株式会社東芝 複数記録面対応の情報記録装置及び複数記録面対応の情報記録方法
US8018900B2 (en) * 2005-12-30 2011-09-13 Hewlett-Packard Company Seamless roaming across wireless subnets using source address forwarding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188328A (ja) * 1997-09-08 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> トラフィック収集・分析システム
JP2004229217A (ja) * 2003-01-27 2004-08-12 Kddi Corp トラヒック計測システム及びトラヒック計測方法、コンピュータプログラム
JP2004356953A (ja) * 2003-05-29 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> パケット転送装置、ネットワーク制御サーバ、およびパケット通信ネットワーク
JP2006203276A (ja) * 2005-01-18 2006-08-03 Fujitsu Ltd トラフィック監視システム

Also Published As

Publication number Publication date
JPWO2010086907A1 (ja) 2012-07-26
US20110280149A1 (en) 2011-11-17
WO2010086907A1 (ja) 2010-08-05
US8605617B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
JP5013001B2 (ja) パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム
US20100138531A1 (en) Real time protocol stream migration
US7908393B2 (en) Network bandwidth detection, distribution and traffic prioritization
US8767716B2 (en) Systems and methods of routing IP telephony data packet communications
JP2020502948A (ja) パケット伝送システムおよび方法
US8369229B2 (en) Methods for monitoring delivery performance of a packet flow between reference nodes
US8023509B2 (en) Communication terminal and retransmission request method
US7895356B2 (en) IP router, communication system and band setting method used therein and its program
CN112491717B (zh) 一种服务路由方法及装置
US20170063699A1 (en) Method and apparatus for configuring multi-paths using segment list
US9825815B2 (en) System and method for aggregating and estimating the bandwidth of multiple network interfaces
CN114071168B (zh) 混流直播流调度方法及装置
EP4044525B1 (en) Data transmission method and apparatus
JP2008017257A (ja) 情報配信システム及び障害判定方法
KR101537835B1 (ko) 링크 트래픽 조정 기법
EP3021522B1 (en) Service chain management method, delivery node, controller, and value-added service node
JP4761078B2 (ja) マルチキャストノード装置とマルチキャスト転送方法ならびにプログラム
US7822056B2 (en) LCR switch with header compression
CN115695523B (zh) 一种数据传输控制方法、装置、电子设备及存储介质
KR100737678B1 (ko) 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법
JP2012213081A (ja) トラフィックエンジニアリング装置、トラフィックエンジニアリング方法およびプログラム
JP5061088B2 (ja) 解析支援装置、解析システムおよびプログラム
JP3781663B2 (ja) トラヒック情報収集装置およびトラヒック情報収集方法およびプログラムおよび記録媒体
EP2713580A1 (en) Systems and methods of routing IP telephony data packet communications
JP4959512B2 (ja) 優先制御システムおよび優先制御方法

Legal Events

Date Code Title Description
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: 20120521

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees