JP2014123811A - ネットワーク分析方法、情報処理装置およびプログラム - Google Patents

ネットワーク分析方法、情報処理装置およびプログラム Download PDF

Info

Publication number
JP2014123811A
JP2014123811A JP2012277895A JP2012277895A JP2014123811A JP 2014123811 A JP2014123811 A JP 2014123811A JP 2012277895 A JP2012277895 A JP 2012277895A JP 2012277895 A JP2012277895 A JP 2012277895A JP 2014123811 A JP2014123811 A JP 2014123811A
Authority
JP
Japan
Prior art keywords
packet
packets
ack
communication device
delay
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.)
Granted
Application number
JP2012277895A
Other languages
English (en)
Other versions
JP5958325B2 (ja
Inventor
Sumiyo Okada
純代 岡田
Yuji Nomura
祐士 野村
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
Priority to JP2012277895A priority Critical patent/JP5958325B2/ja
Priority to US14/077,814 priority patent/US9253669B2/en
Publication of JP2014123811A publication Critical patent/JP2014123811A/ja
Application granted granted Critical
Publication of JP5958325B2 publication Critical patent/JP5958325B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • 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/0858One way delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Abstract

【課題】遅延が発生している無線区間を効率的に特定できる。
【解決手段】有線ネットワーク5と、有線ネットワーク5に接続されたアクセスポイント3および通信装置2と、アクセスポイント3を介して通信装置2との間でパケットを送受信する無線通信装置4とを含むシステムにおいてネットワーク分析を行う。ネットワーク分析方法は、有線ネットワーク5からパケットを受信し、受信したパケットの集合の中から、通信装置2により送信された連続する複数のパケットと連続する複数のパケットに対して無線通信装置4により送信された受信応答パケットとを抽出する。連続する複数のパケットの時間間隔と複数の受信応答パケットの時間間隔とに基づいて、無線通信装置4とアクセスポイント3との間の無線通信で遅延が発生していることを判定する。
【選択図】図1

Description

本発明はネットワーク分析方法、情報処理装置およびプログラムに関する。
現在、通信ネットワークを介した通信が行われている。通信ネットワークは、有線区間や無線区間を含み得る。例えば、インターネットの標準プロトコルとしてTCP/IP(Transmission Control Protocol/Internet Protocol)がある。通信ネットワーク上では、TCP/IPを用いてパケット化したデータの送受信が広く行われている。
ところで、サービス事業者などが通信ネットワーク上のデータ通信品質の管理を行うことがある。そこで、通信ネットワークに対し、データ通信品質の管理を行う方法が考えられている。例えば、受信パケットの連続性と到着間隔とを観測し、高速・低速何れかの区間でパケット廃棄が発生したかを特定する提案がある。また、例えば無線区間におけるパケットの送達確認情報から、遅延時間の変動特性データを生成する提案がある。
特開2006−13809号公報 特開2010−154201号公報
通信ネットワーク内において、無線区間における通信遅延を検出したいということがある。そのために、無線区間ごとに監視装置を設置して、無線区間ごとの通信を個別に監視することが考えられる。しかし、通信ネットワーク内の無線区間は、例えば、無線端末と無線基地局とを繋ぐユーザ側のネットワーク末端に多く存在している。このため、無線区間ごとに監視装置を設置すると、監視装置の設置数が増大し得るという問題がある。
また、全ての無線基地局に監視装置を設置できるとは限らない。例えば、監視装置の設置が困難な場所に無線基地局が存在することもある。この場合、限られた場所に設置された監視装置を用いて情報収集することも考え得る。しかし、限られた無線区間について収集された情報のみでは、それ以外の無線区間の通信の監視や分析を行うことが難しい。
一側面によれば、本発明は、遅延が発生している無線区間を効率的に特定できるネットワーク分析方法、情報処理装置およびプログラムを提供することを目的とする。
一実施態様によれば、有線ネットワークと、有線ネットワークに接続されたアクセスポイントおよび通信装置と、アクセスポイントを介して通信装置との間でパケットを送受信する無線通信装置と、を含むシステムにおいて、有線ネットワークに接続された情報処理装置が実行するネットワーク分析方法が提供される。このネットワーク分析方法では、コンピュータが、有線ネットワークからパケットを受信し、受信したパケットの集合の中から、通信装置により送信された連続する複数のパケットと連続する複数のパケットに対して無線通信装置により送信された確認応答パケットとを抽出し、当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、無線通信装置とアクセスポイントとの間の無線通信で遅延が発生していることを判定する。
また、一実施態様によれば、有線ネットワークと、有線ネットワークに接続されたアクセスポイントおよび通信装置と、アクセスポイントを介して通信装置との間でパケットを送受信する無線通信装置と、を含むシステムにおいて、有線ネットワークに接続される情報処理装置が提供される。この情報処理装置は、受信部と制御部とを有する。受信部は、有線ネットワークからパケットを受信する。制御部は、受信したパケットの集合の中から、通信装置により送信された連続する複数のパケットと連続する複数のパケットに対して無線通信装置により送信された確認応答パケットとを抽出し、当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、無線通信装置とアクセスポイントとの間の無線通信で遅延が発生していることを判定する。
また、一実施態様によれば、有線ネットワークと、有線ネットワークに接続されたアクセスポイントおよび通信装置と、アクセスポイントを介して通信装置との間でパケットを送受信する無線通信装置と、を含むシステムにおいて、有線ネットワークに接続されたコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、有線ネットワークからパケットを受信し、受信したパケットの集合の中から、通信装置により送信された連続する複数のパケットと連続する複数のパケットに対して無線通信装置により送信された確認応答パケットとを抽出し、当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、無線通信装置とアクセスポイントとの間の無線通信で遅延が発生していることを判定する、処理を実行させる。
一実施態様によれば、遅延が発生している無線区間を効率的に特定できる。
第1の実施の形態の通信システムを示す図である。 第2の実施の形態の通信システムを示す図である。 第2の実施の形態のハードウェア例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態のACK遅延の例を示す図である。 第2の実施の形態のサーバ要因によるACK遅延の例を示す図である。 第2の実施の形態のRTTによるACK遅延の例を示す図である。 第2の実施の形態のパケットロスによるACK遅延の例を示す図である。 第2の実施の形態のパケット再送によるACK遅延の例を示す図である。 第2の実施の形態のDelayed ACKの例を示す図である。 第2の実施の形態のDelayed ACKによるACK遅延の例を示す図である。 第2の実施の形態のDelayed ACKの検出動作の例を示す図である。 第2の実施の形態の無線端末要因のACK遅延の例を示す図である。 第2の実施の形態の連続DATAパケットに対するACK間隔を示す図である。 第2の実施の形態のACKパケット受信間隔を示す図である。 第2の実施の形態の全体動作を示すフローチャートである。 第2の実施の形態の判定方法(その1)を示すフローチャートである。 第2の実施の形態の判定方法(その2)を示すフローチャートである。 第2の実施の形態の全体動作の他の例を示すフローチャートである。 第2の実施の形態のDATAパケットの例を示す図である。 第2の実施の形態のACKパケットの例を示す図である。 第2の実施の形態の遅延解析結果を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の通信システムを示す図である。第1の実施の形態の通信システムは、情報処理装置1、通信装置2、アクセスポイント3、無線通信装置4および有線ネットワーク5を含む。情報処理装置1、通信装置2およびアクセスポイント3は有線ネットワーク5に接続されている。通信装置2は有線ネットワーク5およびアクセスポイント3を介して無線通信装置4と通信する。ここで、通信装置2とアクセスポイント3の間の有線ネットワーク5を介した区間は有線で通信する有線区間である。アクセスポイント3と無線通信装置4との間の区間は無線で通信する無線区間である。
ここで、通信装置2はコンピュータなどの情報処理装置でもよい。アクセスポイント3は、無線通信を中継可能な中継装置や無線基地局などでもよい。
情報処理装置1は、受信部1aおよび制御部1bを有する。受信部1aは、有線ネットワーク5からパケットを受信する。例えば、有線ネットワーク5で送受信されるパケットを中継する中継装置が、当該パケットを複製して情報処理装置1へも転送する。受信部1aは、当該複製されたパケットを受信する。この方法は、ポートミラーリング(port mirroring)と呼ばれることがある。受信部1aは、収集したパケットを情報処理装置1が備える記憶部(図1では図示を省略)に格納してもよい。あるいはTAP装置で信号を分岐して取り出す方法を用いてもよい。
制御部1bは、受信したパケットの集合の中から、通信装置2により送信された連続する複数のパケットと連続する複数のパケットに対して無線通信装置4により送信された確認応答パケットとを抽出する。制御部1bは、連続する複数のパケットの時間間隔(受信間隔)と複数の確認応答パケットの時間間隔(受信間隔)とに基づいて、無線通信装置4とアクセスポイント3との間の無線通信で遅延が発生していることを判定する。
ここで、通信装置2により送信された連続する複数のパケットとは、例えば、通信装置2が無線通信装置4に対して連続して送信したパケットである。例えば、TCP/IPでは、このような連続する複数のパケットを、各パケットに含まれる送信元/宛先IP(Internet Protocol)アドレスやシーケンス番号などによって識別できる。以下では、通信装置2により送信された連続する複数のパケットを指して、連続パケットと称することがある。
制御部1bは、複数の確認応答パケットのうち再送により遅延した確認応答パケットの組を抽出し、当該組に含まれる確認応答パケットの時間間隔の周期性に基づいて、無線通信で遅延が発生していることを判定してもよい。より具体的には、分析対象の当該確認応答パケットの受信タイミングが無線区間の通信規格に特徴的な周期に一致する、あるいは、所定の精度で一致する場合に、無線通信で遅延が発生していると判定する。再送周期は、無線通信の規格に応じて定められていることが一般的だからである。
制御部1bは、通信装置2により送信された連続パケットの時間間隔と連続パケットに応じて無線通信装置4により送信された複数の確認応答パケットの受信間隔とに基づいて、無線通信の遅延の分析対象とする確認応答パケット(遅延候補)を絞り込んでもよい。
より具体的には、次のような2通りの絞り込み方法が考えられる。第1の方法では、連続パケットの時間間隔が第1の閾値以下であり、かつ、対応する複数の確認応答パケットの時間間隔が第2の閾値以上である確認応答パケットの組を無線通信の遅延の分析対象とする。一方、それ以外の確認応答パケットの組を無線通信の遅延の分析対象としない。
連続パケットの時間間隔が比較的大きい場合、無線区間の遅延以外の原因で遅延が発生している可能性があるからである。当該遅延の原因としては、例えば、サーバの負荷が高いことによる遅延、RTT(Round Trip Time)によるACK待ちなどが考えられる。時間間隔が比較的大きな連続パケットに対応する確認応答パケットを分析対象外とすることで、このような要因による遅延を取り除く。
なお、第1,第2の閾値は通信環境に合わせて予め定められる。例えば、通信装置2が送信する連続パケットの通信状況を実測して連続パケットと識別できる時間間隔の上限を第1の閾値に決定することが考えられる。同様に、無線通信装置4が送信する確認応答パケットの通信状況を実測して遅延していないと判断できる時間間隔の上限を第2の閾値に決定することが考えられる。
第2の方法では、連続する複数のパケットの時間間隔と対応する複数の確認応答パケットの時間間隔との差が第3の閾値以上である確認応答パケットの組を無線通信の遅延の分析対象とする。一方、当該差が第3の閾値よりも小さい確認応答パケットの組を無線通信の遅延の分析対象としない。この方法を採る理由も、第1の方法の理由と同じである。なお、第3の閾値も、第1,第2の閾値と同様に、通信環境に合わせて予め定められる。
制御部1bは、第1,第2の方法の何れかを用いることで、無線区間での遅延の以外の遅延要因によるノイズを除去することができ、分析の精度を向上できる。
情報処理装置1によれば、受信部1aにより、有線ネットワーク5からパケットが受信される。制御部1bにより、受信したパケットの集合の中から、通信装置2により送信された連続する複数のパケットと当該連続する複数のパケットに対して無線通信装置4により送信された確認応答パケットとが抽出される。制御部1bにより、当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、無線通信装置4とアクセスポイント3との間の無線通信で遅延が発生していることが判定される。
これにより、無線区間を直接監視せずに、伝送遅延が無線区間で発生していることを特定することができる。このように無線区間ではなく、有線区間に監視装置を置くことにより、パケットのキャプチャを集約して行えるため、無線区間ごとにキャプチャを行わなくてもよい。よって、無線区間が複数存在していても、パケットのキャプチャを容易に行える。また、キャプチャを集約して行えるので、監視を行う装置の集約が可能となる。すなわち、無線区間ごとに監視を行う装置を設置しなくてもよい。よって、監視を行う装置の数を減らすことができる。このようにして、遅延が発生している無線区間を効率的に特定することが可能となる。
[第2の実施の形態]
図2は、第2の実施の形態の通信システムを示す図である。第2の実施の形態の通信システムは、ネットワーク監視装置100、サーバ200および無線端末300を含む。サーバ200と無線端末300とは、ネットワーク10、中継装置20および無線基地局30を介して通信する。ネットワーク監視装置100は、ネットワーク10と中継装置20との間の有線の伝送路Lに接続されている。伝送路Lは、ネットワーク10に含まれてもよい。
ネットワーク10、中継装置20および無線基地局30の区間は有線で通信が行われる有線区間である。無線基地局30および無線端末300の区間は、無線で通信が行われる無線区間である。無線端末300は、無線基地局30をアクセスポイントとして、サーバ200と通信できる。
ネットワーク監視装置100は、サーバ200と無線端末300との間の通信を監視するコンピュータである。サーバ200は、無線端末300に対して所定のサービスを提供するサーバコンピュータである。無線端末300は、サーバ200と通信して、サーバ200が提供するサービスを利用するためのクライアント端末である。無線端末300は、携帯電話機やスマートデバイスなどの電子装置でもよいし、クライアントコンピュータでもよい。
例えば、無線端末300はサーバ200からデータのダウンロードを行える。その場合、ダウンロードされるデータは、サーバ200、中継装置20および無線基地局30の順に通過して、無線端末300で受信される。
また、例えば、TCPによる通信では、送信側からデータが送信されると、受信側ではデータ確認応答としてACK(Acknowledgement)パケットを返信する。したがって、第2の実施の形態の通信システムの場合、無線端末300がデータをダウンロードして該データが無線端末300で受信されると、無線端末300は、ACKパケットを送信元(サーバ200)へ送信する。
このACKパケットは、無線基地局30および中継装置20の順に通過してサーバ200で受信され、サーバ200は、該データが無線端末300に到達したことを確認する。
一方、ネットワーク監視装置100は、中継装置20とサーバ200間の伝送路Lを流れるトラフィックからパケットキャプチャを行って、有線伝送路区間を介したネットワーク監視および分析を行う。パケットキャプチャとは、伝送路を流れるトラフィックからパケットを取得することである。
図3は、第2の実施の形態のハードウェア例を示す図である。ネットワーク監視装置100は、CPU101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、画像信号処理部104、入力信号処理部105、ディスクドライブ106およびNIC(Network Interface Card)107を有する。各ユニットがネットワーク監視装置100のバスに接続されている。
CPU101は、ネットワーク監視装置100の情報処理を制御するプロセッサである。CPU101は、HDD103に記憶されているプログラムやデータの少なくとも一部を読み出し、RAM102に展開してプログラムを実行する。なお、ネットワーク監視装置100に複数のプロセッサを設けて、プログラムを分散して実行させてもよい。
RAM102は、CPU101が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。なお、ネットワーク監視装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えていてもよい。
HDD103は、OSプログラムやアプリケーションプログラムなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。HDD103は、CPU101の命令に従って、内蔵の磁気ディスクに対してデータの読み書きを行う。なお、ネットワーク監視装置100は、HDD以外の種類の不揮発性の記憶装置(例えば、SSD(Solid State Drive)など)を備えてもよく、複数の記憶装置を備えていてもよい。
画像信号処理部104は、CPU101の命令に従って、ネットワーク監視装置100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、例えば、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイを用いることができる。
入力信号処理部105は、ネットワーク監視装置100に接続された入力デバイス12から入力信号を取得し、CPU101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ106は、記録媒体13に記録されたプログラムやデータを読み取る駆動装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ106は、例えば、CPU101の命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
NIC107は、伝送路Lの通信を中継するスイッチ装置14に接続する。NIC107は、スイッチ装置14を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。また、NIC107は、スイッチ装置14が複製した、伝送路L上で伝送されるパケットを受信する。
図4は、第2の実施の形態のソフトウェア例を示す図である。図4に示す各ユニットは、例えば、CPU101がRAM102に記憶されたプログラムを実行することで実現できる。ネットワーク監視装置100は、記憶部110、受信部120および制御部130を有する。
記憶部110は、受信部120が受信したパケットを記憶する。
受信部120は、スイッチ装置14が複製して送信するパケットを受信し、記憶部110に格納する。当該パケットは、サーバ200と無線端末300との間で送受信されるデータを含む。
制御部130は、記憶部110に記憶されたパケットの集合に基づいて、無線区間における通信遅延の有無を判定する。制御部130は、例えば、ネットワークの管理者により入力デバイス12を用いた所定の操作がなされることで、ネットワーク分析の開始の指示を受け付ける。すると、制御部130は、当該指示に応じて無線区間における通信遅延の有無を判定する。制御部130は、当該分析の結果を示す画面をディスプレイ11に表示させてもよい。
次にACKパケットの受信間隔の情報から、無線区間で遅延が生じている可能性があることを検出するための動作について説明する。
図5は、第2の実施の形態のACK遅延の例を示す図である。図5では、無線区間で発生した通信障害により、ACKパケットの到着が遅延する状態を示している。なお、図5中のAP(Access Point)は無線基地局300を表し、Probeはネットワーク監視装置100を表す(以下、同様)。以下、図5に示す処理をステップ番号に沿って説明する。
〔S1a〕無線端末400は、サーバ200から送信されたパケットの応答として、ACKパケット#1をサーバ200へ向けて送信する。また、ネットワーク監視装置100は、伝送路L上のトラフィックからパケットキャプチャを行って、ACKパケット#1の自装置(ネットワーク監視装置100)に対する到着時間t1を検出する。
〔S1b〕無線端末400は、サーバ200から送信されたパケットの応答として、ACKパケット#2をサーバ200へ向けて送信する。また、ネットワーク監視装置100は、伝送路L上のトラフィックからパケットキャプチャを行って、ACKパケット#2の自装置に対する到着時間t2を検出する。
〔S1c〕ネットワーク監視装置100は、ACKパケット#1の到着時間t1と、ACKパケット#2の到着時間t2との時間差である受信間隔T0を認識する。
〔S1d〕無線端末400は、サーバ200から送信されたパケットの応答として、ACKパケット#3をサーバ200へ向けて送信する。また、ネットワーク監視装置100は、伝送路L上のトラフィックからパケットキャプチャを行って、ACKパケット#3の自装置に対する到着時間t3を検出する。
〔S1e〕ネットワーク監視装置100は、ACKパケット#2の到着時間t2と、ACKパケット#3の到着時間t3との時間差である受信間隔T0を認識する。
〔S2a〕無線端末400は、ACKパケット#4を送信するが、無線伝送路上でパケットロスが生じたとする。
〔S2b〕無線端末400は、ACKパケット#4の再送を行うが、再びロスしたとする。
〔S3a〕無線端末400は、ACKパケット#4の2回目の再送を行い、ACKパケット#4はサーバ200に到達したとする。また、ネットワーク監視装置100は、伝送路L上のトラフィックからパケットキャプチャを行って、ACKパケット#4の自装置に対する到着時間t4を検出する。
〔S3b〕ネットワーク監視装置100は、ACKパケット#3の到着時間t3と、ACKパケット#4の到着時間t4との時間差である受信間隔T1を認識する。
ここで、ステップS1a〜S1eのように、通信が正常に行われている場合、ACKパケット#1、#2による受信間隔と、ACKパケット#2、#3による受信間隔とは共に等しく、互いに受信間隔T0である。
これに対し、ステップS2a、S2b、S3aのように、無線区間で通信障害が発生してACKパケット#4が再送された場合は、ACKパケット#4の到着時間が遅くなる。このため、ACKパケット#3、#4による受信間隔T1は、受信間隔T0よりも大きくなる。
このように、無線区間で例えば、通信障害が発生して、ACKパケットのロスおよびACKパケットの再送が行われたりすると、ACKパケットの受信間隔が通信正常時の受信間隔と比べて大きくなる。
したがって、ネットワーク監視装置100では、ACKパケットの受信間隔を、ACKパケットが流れる有線伝送路、例えば、伝送路Lなどの有線区間上で監視することで、無線区間に対して遅延が生じている可能性があることを認識することができる。なお、APから無線端末へのデータパケットのロスの場合も、同様である。また、データパケットが無線基地局より返信されたときにロスして再送される場合も同様である。さらに、無線区間でのロス以外に、ビット誤り(データの一部が壊れるなど)の場合にも再送が行われ、同様の動作となる。
上記のシーケンスを一般化して記述する。無線端末400から無線基地局30を介してサーバ200へACKパケットが送信され、ネットワーク監視装置100でACKパケットの受信間隔が測定される。
このとき、ACKパケット#1、#2の受信間隔、ACKパケット#2、#3の受信間隔、・・・、ACKパケット#(n)、#(n+1)の受信間隔が互いに等しく受信間隔=T0であったとする(n=1、2、3、・・・)。また、ACKパケット#(n+1)、#(n+2)の受信間隔が到達間隔T1であり、T0<T1であったとする。
ACKパケットの受信間隔に対し、同一値の受信間隔が連続している場合に、あるACKパケットを取得して、受信間隔がこれまでの値と比べて大きい値になっている。このような状態になったときは、無線端末300と無線基地局30との間の無線区間において、何らかの通信障害があり、遅延が発生している可能性があると認識できる。
次にACKパケットの受信間隔が伸長する場合であっても、無線区間で遅延が発生していない現象について説明する。上記では、ACKパケットの受信間隔の情報から、無線区間で遅延が生じている“可能性”を認識できるとした。
これは、あるACKパケットの受信間隔が、他のACKパケットの受信間隔よりも大きくなる場合であっても、無線区間の遅延を原因としない現象もあるからである。すなわち、ACKパケットの受信間隔が伸長しても、その原因が全て無線区間で遅延が発生しているものではない。
したがって、無線区間で遅延が発生するといった現象以外にも、あるACKパケットの受信間隔が、他のACKパケットの受信間隔と比べて伸長する現象がありえるので、遅延が無線区間で発生していると特定するためには、これらの現象は除外することになる。
無線区間での遅延以外に、ACKパケットの受信間隔が伸長する現象としては、主に、サーバ側の原因、RTTによるACK待ちの原因、TCPレベルの原因、無線端末側の原因の4つがある。以下それぞれについて説明する。
最初に、サーバ側の原因によってACKパケットの到着が遅延することについて説明する。
図6は、第2の実施の形態のサーバ要因によるACK遅延の例を示す図である。以下、図6に示す処理をステップ番号に沿って説明する。
〔S11a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S11b〕無線端末300は、パケットを受信すると、ACKパケット#1をサーバ200へ送信する。
〔S12a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S12b〕無線端末300は、パケットを受信すると、ACKパケット#2をサーバ200へ送信する。
〔S13a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S13b〕無線端末300は、パケットを受信すると、ACKパケット#3をサーバ200へ送信する。
〔S14a〕サーバ200上で例えば、パケット送信の処理に遅延が生じ、本来送信すべき時刻から時間DL1遅れてパケットを無線端末300へ送信する。
〔S14b〕無線端末300は、パケットを受信すると、ACKパケット#4をサーバ200へ送信する。
ここで、ステップS11a〜S13bのように、サーバ200側でパケット送信処理に遅延がない場合、ネットワーク監視装置100におけるACKパケット#1、#2による受信間隔と、ACKパケット#2、#3による受信間隔とは共に等しく、互いに受信間隔T0である。
これに対し、ステップS14a、14bのように、サーバ200側でパケット送信処理に遅延が発生すると、ACKパケット#4の到着が遅延して、ネットワーク監視装置100におけるACKパケット#3、#4による受信間隔T1は、これまでの受信間隔T0よりも大きくなる(T0<T1)。
このように、サーバ200側の原因(例えば、サーバ200内のパケット送信処理の遅延)によっても、ACKパケットの受信間隔が伸長する。
次にRTTによるACK待ちの原因によってACKパケットの到着が遅延することについて説明する。RTTとは、パケットを発してから応答が返って来るまでの時間のことであり、ネットワークの応答速度の指標となる。また、RTTによるACK待ちとは、ACKパケットの応答速度に遅延が生じて、本来受信すべき時間でACKパケットを受信できずに待ち時間が発生することである。
図7は、第2の実施の形態のRTTによるACK遅延の例を示す図である。以下、図7に示す処理をステップ番号に沿って説明する。
〔S21a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S21b〕無線端末300は、パケットを受信すると、ACKパケット#1をサーバ200へ送信する。
〔S22a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S22b〕無線端末300は、パケットを受信すると、ACKパケット#2をサーバ200へ送信する。
〔S23a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S23b〕無線端末300は、パケットを受信すると、ACKパケット#3をサーバ200へ送信する。このとき、RTTのACK待ちが生じて、サーバ200では、本来受信すべき時刻から時間DL2a遅れてACKパケット#3を受信したとする。
〔S24a〕サーバ200は、本来送信すべき時刻から時間DL2後にパケットを無線端末300へ送信する。
ここで、RTTによるACK待ちがない場合は、ネットワーク監視装置100におけるACKパケット#1、#2による受信間隔は、受信間隔T0である。
これに対し、RTTによるACK待ちが発生すると、ACKパケット#3の到着が遅延して、ネットワーク監視装置100におけるACKパケット#2、#3による受信間隔T1は、受信間隔T0よりも大きくなる(T0<T1)。このように、RTTによるACK待ちの原因によっても、ACKパケットの受信間隔が伸長する。
次にTCPレベルの原因によってACKパケットの到着が遅延することについて説明する。サーバ200から送信されるパケットが遅延する場合としては、例えば、TCPレベルのパケットロスおよびパケット再送がある。また、無線端末300から送信されるACKパケットが遅延する場合として、例えば、Delayed ACKがある。
最初にパケットロスの場合について説明する。
図8は、第2の実施の形態のパケットロスによるACK遅延の例を示す図である。以下、図8に示す処理をステップ番号に沿って説明する。
〔S31a〕サーバ200は、パケットp1(シーケンス番号=100、データサイズ=100)を無線端末300へ送信する。
〔S31b〕無線端末300は、パケットp1を受信すると、ACKパケット#1をサーバ200へ送信する。
〔S32a〕サーバ200は、パケットp2(シーケンス番号=200、データサイズ=100)を無線端末300へ送信する。
〔S32b〕無線端末300は、パケットp2を受信すると、ACKパケット#2をサーバ200へ送信する。
〔S33a〕サーバ200は、パケットp3(シーケンス番号=300、データサイズ=100)を無線端末300へ送信する。
〔S33b〕無線端末300は、パケットp3を受信すると、ACKパケット#3をサーバ200へ送信する。
なお、ここまでのシーケンスでは通信が正常に行われているため、ネットワーク監視装置100におけるACKパケット#1、#2による受信間隔と、ACKパケット#2、#3による受信間隔とは共に等しく、互いに受信間隔T0である。
〔S34〕サーバ200は、パケットp4(シーケンス番号=400、データサイズ=100)を無線端末300へ向けて送信するが、サーバ200とネットワーク監視装置100との間の有線ネットワーク上でロスしたとする。
〔S35a〕サーバ200は、パケットp5(シーケンス番号=500、データサイズ=100)を無線端末300へ送信する。
〔S35b〕無線端末300は、パケットp5を受信すると、ACKパケット#5をサーバ200へ送信する。
ここで、ネットワーク監視装置100は、シーケンス番号=400のパケットp4を受信せずに、シーケンス番号=500のパケットp4を受信することにより、パケットp4がロスしたことを検出する。ネットワーク監視装置100では、期待する値よりも大きなシーケンス番号のパケットを受信したら、パケットロスが発生したことを検出することができる。
パケットロスが発生すると、ACKパケット#3、#5による受信間隔T1は、これまでの受信間隔T0よりも大きくなる。このように、TCPレベルの原因の1つであるパケットロスの発生によっても、ACKパケットの受信間隔が伸長する。
次にパケット再送の場合について説明する。
図9は、第2の実施の形態のパケット再送によるACK遅延の例を示す図である。以下、図9に示す処理をステップ番号に沿って説明する。
〔S41a〕サーバ200は、パケットp1(シーケンス番号=100、データサイズ=100)を無線端末300へ送信する。
〔S41b〕無線端末300は、パケットp1を受信すると、ACKパケット#1をサーバ200へ送信する。
〔S42a〕サーバ200は、パケットp2(シーケンス番号=200、データサイズ=100)を無線端末300へ送信する。
〔S42b〕無線端末300は、パケットp2を受信すると、ACKパケット#2をサーバ200へ送信する。
〔S43a〕サーバ200は、パケットp3(シーケンス番号=300、データサイズ=100)を無線端末300へ送信する。
〔S43b〕無線端末300は、パケットp3を受信すると、ACKパケット#3をサーバ200へ送信する。
なお、ここまでのシーケンスでは通信が正常に行われているため、ネットワーク監視装置100におけるACKパケット#1、#2による受信間隔と、ACKパケット#2、#3による受信間隔とは共に等しく、互いに受信間隔T0である。
〔S44〕サーバ200は、パケットp4(シーケンス番号=400、データサイズ=100)を無線端末300へ向けて送信するが、ネットワーク監視装置100とアクセスポイント22との間の有線ネットワーク上でロスしたとする。
〔S46〕サーバ200は、ACKパケット#4が返って来ないのでタイムアウトによりパケットp4(シーケンス番号=500、データサイズ=100)を無線端末300へ再送する。
なお、ネットワーク監視装置100は、同じシーケンス番号のパケット(この例ではパケットp4)を受信したら、パケット再送が発生したことを検出する。または、ネットワーク監視装置100では、期待する値よりも大きなシーケンス番号が付されているACKパケットを受信しても、パケット再送が発生したと検出する。
このように、パケット再送が発生するような状態では、ACKパケット#3、#4による受信間隔T1は、受信間隔T0よりも大きくなる。したがって、TCPレベルの原因の1つであるパケット再送の発生によっても、ACKパケットの受信間隔が伸長する。
次にDelayed ACKの場合について説明する。まず、Delayed ACKの定義について説明する。受信側において、データを受信してACKパケットを即時に返信すると、受信側は、データを受け取った直後なので、小さいウィンドウサイズを返す可能性が高くなる(ウィンドウサイズは、ACKパケットのヘッダに記載される)。これを防ぐための仕組みがDelayed ACKである。
なお、ウィンドウサイズとは、ACKを待たずに一度に受信できるデータのサイズのことであり、送信側は、受信側から通知されるウィンドウサイズにしたがって、送信データのサイズを調整する。
ここで、受信側では、データの受信直後は、バッファ容量の空きが少ない場合があるので、データ受信直後にACKを返信すると、送信側に対する送信データのサイズ(ウィンドウサイズ)として、小さいサイズを通知する可能性がある。
このため、バッファ容量にある程度の空きができるまで一定時間おき、一定時間経過後に所定量の送信データサイズをウィンドウサイズで送信側に通知して、所定量のデータを送信側から出力させるようにする。
図10は、第2の実施の形態のDelayed ACKの例を示す図である。図10(A)のシーケンスでは、送信側はデータd1を受信側に送信する。受信側は、データd1を受信すると一定時間(例えば500ms)経過してからACKパケットを返す。
図10(B)のシーケンスでは、送信側はデータd1を受信側に送信し、受信側は、データd1を受信する。さらに、送信側は、データd2を受信側に送信する。受信側では、データd2を一定時間(例えば500ms)以内に受信すると、直ちにACKパケットを返す。厳密には図10(A)の場合も、図10(B)の場合もDelayed ACKであるが、本発明の遅延計測において影響があるのは図(A)の場合であるので、今後本書類では、図10(A)の場合をDelayedACKと呼ぶことにする。
図11は、第2の実施の形態のDelayed ACKによるACK遅延の例を示す図である。データが連続して到着しているときには、データ2つに対してACKが1つ返信されるものとする。以下、図11に示す処理をステップ番号に沿って説明する。
〔S51a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S51b〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S51c〕無線端末300は、2つのパケットを受信すると、ACKパケット#1をサーバ200へ送信する。
〔S52a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S52b〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S52c〕無線端末300は、2つのパケットを受信すると、ACKパケット#2をサーバ200へ送信する。
〔S53a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S53b〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S53c〕無線端末300は、2つのパケットを受信すると、ACKパケット#3をサーバ200へ送信する。
なお、ここまでのシーケンスでは通信が正常に行われているため、ネットワーク監視装置100におけるACKパケット#1、#2による受信間隔と、ACKパケット#2、#3による受信間隔とは共に等しく、互いに受信間隔T0である。
〔S54a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S54b〕無線端末300は、次のパケットが到着しないため、一定時間DL3の経過後にACKパケット#4をサーバ200へ送信する。
上記のようなDelayed ACKにより、ACKパケット#4の到着が遅延して、ネットワーク監視装置100におけるACKパケット#3、#4による受信間隔T1は、受信間隔T0よりも大きくなる(T0<T1)。このように、TCPレベルの原因の1つであるDelayed ACKによっても、ACKパケットの受信間隔が伸長する。
図12は、第2の実施の形態のDelayed ACKの検出動作の例を示す図である。図12(A)はデータが連続して到着しているときのDシーケンス、図12(B)はデータが遅れて到着したときのシーケンスである。図12(A)では、2つ目のデータに対して即座にACKが返信される。図12(B)は、図12(A)に対してデータが遅れて到着したときのシーケンスを示している。
図12(A)では、受信側からACKパケット#1が送信側に返信され、その後、送信側では、データd2、d3を受信側に送信する。そして、受信側は、ACKパケット#2を送信側に返信する。
図12(B)では、受信側からACKパケット#1が送信側に返信され、その後、送信側では、データd2を受信側に送信する。受信側は、次のデータが来ない場合、一定時間経過してからデータd2に対するACKパケット#2を送信側に返信する。
ネットワーク監視装置100では、図12(A)のように、データ2つ分に対するACKであれば、ACK間隔に影響のあるDelayed ACKではないと判断し、図12(B)のように、データ1つに対するACKであればACK間隔に影響のあるDelayed ACKと判断する。
次に無線端末側の原因によって生じるACKパケットの到着が遅延することについて説明する。
図13は、第2の実施の形態の無線端末要因のACK遅延の例を示す図である。以下、図13に示す処理をステップ番号に沿って説明する。
〔S61a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S61b〕無線端末300は、パケットを受信すると、ACKパケット#1をサーバ200へ送信する。
〔S62a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S62b〕無線端末300は、パケットを受信すると、ACKパケット#2をサーバ200へ送信する。
〔S63a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S63b〕無線端末300は、パケットを受信すると、ACKパケット#3をサーバ200へ送信する。
ここまでのシーケンスでは通信が正常に行われているため、ネットワーク監視装置100におけるACKパケット#1、#2による受信間隔と、ACKパケット#2、#3による受信間隔とは共に等しく、互いに受信間隔T0である。
〔S64a〕サーバ200は、パケットを無線端末300へ向けて送信する。
〔S64b〕無線端末300上で例えば、ACKパケット送信の処理に遅延が生じ、本来送信すべき時刻から時間DL4遅れて、ACKパケット#4をサーバ200へ送信する。
上記のように、無線端末300側でパケット送信処理に遅延が発生すると、ACKパケット#4の到着が遅延して、ネットワーク監視装置100におけるACKパケット#3、#4による受信間隔T1は、受信間隔T0よりも大きくなる(T0<T1)。
このように、無線端末300側の原因(例えば、無線端末300内のACKパケット送信処理の遅延)によっても、ACKパケットの受信間隔が伸長する。
次に上記の4つの遅延原因を除外して、遅延が無線区間で発生していることを特定するための動作について説明する。遅延原因である、サーバ側の原因、RTTによるACK待ちの原因およびTCPレベルの原因については、ACKパケットの受信間隔の分析だけでなく、ACKパケットの送信の契機となった、サーバ200から無線端末300へ送られるDATAパケットについても分析する。
具体的には、ネットワーク監視装置100は、連続3つ以上の通常パケットに対して返信されたACKパケットを対象にしてパケットキャプチャを行い、測定したACKパケットの受信間隔に基づき、遅延が無線区間で発生していることを特定する。
ここで、サーバ側の原因、RTTによるACK待ちの原因およびTCPレベルの原因を除外して、遅延が無線区間で発生していることを特定するための条件としては3つある。
すなわち、「DATAパケットが3つ以上送信されること」、「連続するDATAパケットであること」、「TCPレベルの遅延が発生していないこと」の3つが同時に満たされることである。以下それぞれについて説明する。
(a)DATAパケットが3つ以上送信されることについて。
1つのACKパケットの受信間隔を認識するためには、2つ以上のACKパケットが返信されることになる。通常は、2つのDATAパケットに対して1つのACKパケットが返信されるので、DATAパケットが3つ以上送信されれば、最低1つのACKパケットの受信間隔を認識できる。
(b)連続するDATAパケットであることについて。
DATAパケットが3つ以上送信される場合であっても、それらのDATAパケットに連続性がなければ、サーバ側の原因、RTTによるACK待ちの原因およびTCPレベルの原因を除外することはできないので、連続パケットであることが要される。連続パケットであることの判定は、DATAパケットのデータサイズが一定か不定かによって異なる。
DATAパケットのデータサイズが一定の場合、DATAパケットの送信間隔が閾値以下であるならば、これらのDATAパケットは連続性を有しているとする。また、DATAパケットのデータサイズが不定の場合、DATAパケットの送信速度が閾値以上であるならば、これらのDATAパケットは連続性を有しているとする。なお、DATAパケットの送信速度は、(DATAパケット送信間隔)÷(DATAパケットデータサイズ)から求まる。
(c)TCPレベルの遅延が発生していないことについて。
TCPレベルの遅延が発生する具体的な例としては、DATAパケットがロスした場合、DATAパケットが再送された場合、ACKパケットのDelayed ACKなどがある。
図14は、第2の実施の形態の連続DATAパケットに対するACK間隔を示す図である。パケット2つに対してACKが1つ返信される場合を示している。
送信側からは、パケットp1−2、p2−1、p2−2、p3−1、p3−2、p4−1、p4−2(全て通常パケットであるとする)が受信側に送信されており、パケットp2−2、p3−1、p3−2、p4−1、p4−2が連続性を有しているとする。
ACKパケット#1は、パケットp1−2に対する確認応答パケットであり、ACKパケット#2は、パケットp2−2に対する確認応答パケットである。また、ACKパケット#3は、パケットp3−2に対する確認応答パケットであり、ACKパケット#4は、パケットp4−2に対する確認応答パケットである。
ここで、パケットp2−2、p3−2、p4−2は連続性を有している。したがって、パケットp2−2に対して返信されているACKパケット#2と、パケットp3−2に対して返信されているACKパケット#3との間のACK受信間隔T11と、ACKパケット#3と、パケットp4−2に対して返信されているACKパケット#4との間のACK受信間隔T12とは分析対象になる。
一方、パケットp1−2とパケットp2−2は連続していない。したがって、パケットp1−2に対して返信されているACKパケット#1と、パケットp2−2に対して返信されているACKパケット#2との間のACK受信間隔T10は分析対象にはならない。
次に無線端末300側の再送周期について説明する。無線端末300における無線通信では、無線回線種別によっては、再送が行われる場合、L2(Layer 2)レベルでの再送が一定周期で行われる。
したがって、ネットワーク監視装置100において、無線通信上での再送周期とは一致しない周期でACKパケットを受信した場合は、無線端末300側で送信処理が遅延としていると認識する。すなわち、無線端末側の原因による遅延が発生している可能性があると判断する。
一方、ネットワーク監視装置100において、無線通信上での再送周期と略一致する周期でACKパケットを受信した場合は、図2に示したような無線区間でのロスなどが無線区間で生じ、無線端末300が再送していると認識する。
すなわち、ネットワーク監視装置100が、無線通信上でのパケット再送周期と略一致する周期で、ACKパケットを受信した場合は、遅延が無線区間で発生しているものと特定する。
図15は、第2の実施の形態のACKパケット受信間隔を示す図である。横軸はネットワーク監視装置100で受信されるACKパケットの受信間隔(秒)であり、縦軸はACKパケットの到着順序である。
図15では、HSDPA(High Speed Downlink Packet Access)の無線再送周期の例を示している。HSDPAの再送周期は、通常10msである。よって、無線区間で再送が起こった場合、ACKパケット受信間隔は10ms置きとなるが、実際は数msのゆらぎがある。
したがって、例えば、±2msのゆらぎがあるとすれば、ネットワーク監視装置100が10ms×N±2msの範囲で(N=1、2、3、・・・)、ACKパケットを受信すれば、再送周期に乗ってACKパケットが送信されていると認識できる。
すなわち、ネットワーク監視装置100が10ms×N±2msの範囲で(N=1、2、3、・・・)、ACKパケットを受信すれば、無線区間で再送が発生しており、遅延が無線区間で生じていると特定できる。また、10ms×N±2msの範囲からずれて受信する場合は、無線端末側の原因により遅延発生している可能性があると判断する。
次にネットワーク監視装置100の全体動作(ネットワーク分析方法)についてフローチャートを用いて説明する。
図16は、第2の実施の形態の全体動作を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
〔S101〕ネットワーク監視装置100の受信部120は、パケットを受信する。
〔S102〕ネットワーク監視装置100の制御部130は、受信したパケットがTCPパケットか否かを判定する。TCPパケットである場合はステップS103へ行き、TCPパケットでない場合はステップS101へ戻る。
〔S103〕制御部130は、パケットをコネクションごとに分類する。なお、以下の各ステップは、コネクションごとに行われる。ここで、コネクションは、各パケットに含まれる送信元/宛先IPアドレスおよび送信元/宛先ポート番号の組合せによって識別できる。
〔S104〕制御部130は、TCPレベルの原因によって遅延が発生する場合のACKパケットは分析対象外とする。
具体的には、制御部130は、期待する値よりも大きなシーケンス番号のDATAパケットを受信したら、パケットロスが発生したと検出するので、期待する値よりも大きなシーケンス番号のDATAパケットに対して返信されたACKパケットについては、分析対象から除外する。
例えば、上記の図8において、ネットワーク監視装置100は、期待するシーケンス番号=400に対して、シーケンス番号=500のパケットp5を受信している。したがって、パケットp5に対して返信されたACKパケット#5は、通常パケットに対する返信でないと判断し、分析対象から除外する。
また、制御部130は、同じシーケンス番号のDATAパケットを受信したら、パケット再送が発生したことを検出するので、同じシーケンス番号のDATAパケットに対して返信されたACKパケットについては、分析対象から除外する。
例えば、上記の図9において、ネットワーク監視装置100は、シーケンス番号=400のパケットp4を2回受信している。したがって、ステップS45で受信したパケットp4は、通常パケットに対する返信ではないと判断し、p4に対するACKパケット#4は、分析対象から除外する。
さらにまた、制御部130は、Delayed ACKによって遅延したACKパケットは、分析対象から除外する。Delayed ACKによって遅延したACKパケットか否かの判断については、図12で上述したので説明は省略する。
〔S105〕制御部130は、パケットの受信時刻を抽出する。
〔S106〕制御部130は、連続DATAパケットに対して返信されたACKパケットの受信間隔が大きいものを選択する。
〔S107〕制御部130は、選択したものの中で、ACKパケットの受信間隔が無線再送周期と一致していれば、無線区間での遅延発生と特定する。
次に上記のステップS106の判定方法について詳しく説明する。ステップS106の判定方法としては2つの方法がある。
図17は、第2の実施の形態の判定方法(その1)を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
〔S111〕制御部130は、DATAパケット送信間隔が、閾値A(第1の閾値)よりも小さいものを記録する。
〔S112〕制御部130は、ACKパケット受信間隔が閾値B(第2の閾値)よりも大きいものを記録する。
〔S113〕制御部130は、ACKパケット受信間隔が閾値Bより大きいもののうち、それらACKパケットに対応するDATAパケットの送信間隔が閾値Aより小さい場合は、DATAパケット送信間隔に比べてACKパケットの受信間隔が大きくなったと認識する。
〔S114〕制御部130は、ACKパケットの受信間隔が大きくなったと判定した際の該当ACKパケットが伝送された無線区間で遅延が発生していると特定する。
ここで、サーバ200が原因によるACKパケットの到着遅延およびRTTのACK待ちによるACKパケットの到着遅延では共に、図6、図7で上述したように、サーバ200側でのパケット送信間隔が大きくなる。
したがって、第1の判定方法のように、所定値以下のパケット送信間隔に対するACKパケット受信間隔を分析することにより、サーバ200が原因によるACKパケットの到着遅延およびRTTのACK待ちによるACKパケットの到着遅延の各場合について除外できる。なお、ステップS111,S112では受信間隔および送信間隔の判定を、閾値A,B以上とするようにA,Bを決めることもできる。また、ステップS113では、ACK受信間隔が閾値B以上で、対応するDATAパケットの送信間隔が閾値A以下の場合にDATAパケット送信間隔に比べてACKパケットの受信間隔が大きくなったと認識するようにしてもよい。
図18は、第2の実施の形態の判定方法(その2)を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
〔S121〕制御部130は、DATAパケット受信間隔を記録する。
〔S122〕制御部130は、ACKパケット受信間隔を記録する。
〔S123〕制御部130は、ACKパケット受信間隔から、それらACKパケットに対応するDATAパケットの受信間隔を減算し、減算結果が閾値C(第3の閾値)より大きい場合は、DATAパケット受信間隔に比べてACKパケットの受信間隔が大きくなったと認識する。なお、(閾値C)=(閾値B)−(閾値A)である。
〔S124〕制御部130は、ACKパケットの受信間隔が大きくなったと判定した際の該当ACKパケットが伝送された無線区間で遅延が発生していると特定する。
第2の判定方法によっても、所定値以下のDATAパケット受信間隔に対するACKパケット受信間隔を分析することにより、サーバ200が原因によるACKパケットの到着遅延およびRTTのACK待ちによるACKパケットの到着遅延の各場合について除外できる。
なお、上記の閾値A、Bまたは閾値Cは、あらかじめ決めておく静的決定の場合と、分析中に決める動的決定の場合がある。また、ステップS123では減算結果が、閾値C以上の場合に、DATAパケット受信間隔に比べてACKパケットの受信間隔が大きくなったと認識するように閾値Cを決めてもよい。
以下、閾値の動的決定を行う場合の全体フローについて説明する(静的決定の場合は、単に、固定の閾値をあらかじめ決めて置く処理を、例えば、図16のステップS101の前段で行えばよいだけなので、全体フローの説明は省略する)。
図19は、第2の実施の形態の全体動作の他の例を示すフローチャートである。閾値の動的決定を行う場合の全体フローを示している。以下、図19に示す処理をステップ番号に沿って説明する。
〔S131〕受信部120は、パケットを受信する。
〔S132〕制御部130は、受信したパケットがTCPパケットか否かを判定する。TCPパケットである場合はステップS133へ行き、TCPパケットでない場合はステップS131へ戻る。
〔S133〕制御部130は、パケットをセッションごとに分類する。なお、以下の各ステップは、セッションごとに行われる。
〔S134〕制御部130は、TCPレベルの原因によって遅延が発生する場合のACKパケットは分析対象外とする。
〔S135〕制御部130は、ACKパケットの受信時刻を抽出する。
〔S136〕制御部130は、DATAパケットの受信間隔を取得する。
〔S137〕制御部130は、セッションの先頭からn(nは1以上の整数)個のパケット送信間隔を取得したらステップS138へ行き、n個未満ならステップS131へ戻る。
〔S138〕制御部130は、閾値A、Bまたは閾値Cを決定する(閾値決定の具体例については後述する)。
〔S139〕制御部130は、連続DATAパケットに対して返信されたACKパケットの受信間隔が大きいものを選択する。
〔S140〕制御部130は、選択したものの中で、ACKパケットの受信間隔が無線再送周期と一致していれば、無線区間での遅延発生と特定する。
次に閾値の決め方について説明する。まず、閾値を静的に決定する場合について説明する。閾値Aについては、パケット送信側のネットワーク(図2のネットワーク10)の帯域(速度)に基づいて決定する。
例えば、100Mbpsの帯域のネットワークから、1500バイトのパケットデータが連続して送信されるのであれば、最小のパケット送信間隔は、120μsとなる(∵速度=データサイズ÷送信間隔)。また、マージンを持たせるために、最小の送信間隔を整数倍しておく(整数倍の値は任意)。
したがって、ネットワーク帯域が100Mbpsであり、整数倍を4倍とするならば、100Mbps→120μs×4=480μsとなり、パケット送信間隔に対する閾値Aは、480μsと決めておくことになる。
一方、閾値Bについても、閾値Aの決め方と同様な考え方で、ACKパケット送信側のネットワークの帯域(速度)に基づいて決定する。
例えば、ACKパケット送信側のネットワークの帯域が1Mbpsであり、1500バイトのACKパケットデータが連続して送信されるのであれば、最小のACKパケット受信間隔は、12msとなる。また、マージンを持たせるために、最小の受信間隔を整数倍しておく(整数倍の値は任意)。
したがって、ネットワーク帯域が1Mbpsであり、整数倍を4倍とするならば、1Mbps→12ms×4=48msとなり、ACKパケット受信間隔に対する閾値Bは、48msと決めておくことになる。
次に閾値を動的に決定する場合について説明する。閾値Aについては、セッションの先頭からn番目までに取得したn個のパケット送信間隔の中の最小値を整数倍した値を閾値とする(nまたは整数倍の値は分析精度に応じて適宜調整する)。例えば、セッションの先頭から取得した10個のパケット送信間隔の中の最小値を4倍した値を閾値Aとする。
一方、閾値Bについては、閾値Aの決め方と同様な考え方で、セッションの先頭からn番目までに取得したn個のACKパケット受信間隔の中の最小値を整数倍した値を閾値とする。
例えば、セッションの先頭から取得した10個のACKパケット受信間隔の中の最小値を4倍した値を閾値Bとする。なお、閾値Cについては、静的または動的いずれに対しても(閾値C)=(閾値B)−(閾値A)で求める。
次に閾値Aの動的決定について具体例を示して説明する。
図20は、第2の実施の形態のDATAパケットの例を示す図である。パケット一覧テーブルTa1は、ネットワーク監視装置100で取得した、サーバ200から送信されたパケットデータに関する各種属性を登録したテーブルである。
パケット一覧テーブルTa1は、No.、TIME、DELTA、SA(Source Address)、SP(Source Port)、DA(Destination Address)、DP(Destination Port)、Protocol、SIZE、SEQ(SEQuence)の属性項目を含む。
TIMEは、パケットデータ受信時刻であり、年月日時分秒に加えて1μs単位まで記録される。DELTAは、1つ前に送信したパケットデータとの受信時間間隔である。
SAは、送信元IPアドレス(サーバ200のIPアドレス“11.22.111.222”)である。SPは送信元ポート番号(80)である。DAは、宛先IPアドレス(無線端末300のIPアドレス“11.22.222.111”)である。DPは宛先ポート番号(39916)である。
Protocolは、使用する通信プロトコルの名称(図ではTCP)、SIZEは、パケットデータサイズ(バイト)である。SEQは、パケットデータに付加されるTCPのシーケンス番号である。
ここで、TCPによる通信開始時には、サーバ200と無線端末300との間で3WAYハンドシェイクが行われて、サーバ200と無線端末300との間でコネクションが確立する。
3WAYハンドシェイクとして具体的には(a1:無線端末300からサーバ200へ接続要求の送信)→(b1:サーバ200から無線端末300へ確認応答の送信)→(a2:無線端末300からサーバ200へ確認応答の送信)が行われてコネクションが確立する。
さらに(a3:無線端末300からサーバ200へHTTP(Hyper Text Transfer Protocol)リクエストの送信)→(b2:サーバ200から無線端末300へHTTPレスポンスの送信)が行われた後、サーバ200から無線端末300へ実パケットを送信することになる。
パケット一覧テーブルTa1のNo.=16のパケット送信は、上記の(b1:サーバ200から無線端末300へ確認応答の送信)に該当し、No.=19のパケット送信は、上記の(b2:サーバ200から無線端末300へHTTPレスポンスの送信)に該当する。したがって、No.=20以降から実パケットがサーバ200から無線端末300へ送信される。
ここで、閾値Aの動的決定は、セッションの先頭からn番目までに取得したn個のパケット送信間隔の中の最小値を整数倍した値である。したがって、n=10とすれば、この例において、セッション先頭から10番目までに取得した10個のパケット送信間隔は、No.=21、23、24、26、27、29、30、32、33、35に示されるパケット送信間隔となる(図中の太線枠内)。これらパケット送信間隔の中の最小値は、No.=24の100μsなので、整数倍として4倍するとすれば、閾値Aは400μsとなる。
次に閾値Bの動的決定について具体例を示して説明する。
図21は、第2の実施の形態のACKパケットの例を示す図である。ACKパケット一覧テーブルTa2は、ネットワーク監視装置100で取得したACKパケットに関する各種属性を登録したテーブルである。
ACKパケット一覧テーブルTa2は、No.、TIME、DELTA、SA、SP、DA、DP、Protocol、SIZE、SEQの属性項目を含む。
TIMEは、ACKパケット受信時刻であり、年月日時分秒に加えて1μs単位まで記録される。DELTAは、1つ前に受信したACKパケットとの受信時間間隔である。
SAは、送信元IPアドレス(無線端末300のIPアドレス“11.22.222.111”)である。SPは送信元ポート番号(39916)である。DAは、宛先IPアドレス(サーバ200のIPアドレス“11.22.111.222”)である。DPは宛先ポート番号(80)である。
Protocolは、使用する通信プロトコルの名称(図ではTCP)、SIZEは、ACKパケットサイズ(バイト)である。SEQは、ACKパケットに付加されるTCPのシーケンス番号である。
ここで、ACKパケット一覧テーブルTa2のNo.=15のパケット受信は、上述の3WAYハンドシェイクの(a1:無線端末300からサーバ200へ接続要求の送信)に該当し、No.=17のパケット受信は、(a2:無線端末300からサーバ200へ確認応答の送信)に該当し、No.=18のパケット受信は、(a3:無線端末300からサーバ200へHTTPリクエストの送信)に該当する。
ここで、閾値Bの動的決定は、セッションの先頭からn番目までに取得したn個のACKパケット受信間隔の中の最小値を整数倍した値である。したがって、n=10とすれば、この例において、セッション先頭から10番目までに取得した10個のACKパケット受信間隔は、No.=22、25、28、31、34、37、40、43、46、49に示されるACKパケット受信間隔となる(図中の太線枠内)。
これらACKパケット受信間隔の中の最小値は、No.=34の9335μsなので、整数倍として4倍するとすれば37340μsとなるので、閾値Bはおよそ37msとなる。
次に伝送中に生じる全体の遅延の中で、無線区間が原因で生じる遅延が占める割合について説明する。
図22は、第2の実施の形態の遅延解析結果を示す図である。縦軸はコネクション番号、横軸はコネクション開始から終了までの各遅延原因が占める割合を示している。
実線の矢印A1が占める遅延は、無線区間で生じる遅延である。矢印A2(破線)および矢印A3(点線)が占める遅延は、無線区間で生じる遅延以外の遅延である(例えば、サーバ200側の処理遅れ、無線端末300側で処理遅れなど)。
図22に示すように、どのコネクションにおいても無線区間で生じる遅延が存在している。本技術では、現在生じている遅延が無線区間で生じているものか否かを効率よく的確に判断できる。これにより、遅延原因を特定した後の、遅延原因を解消するための制御を早期に実行することが可能になる。
以上説明したように、ネットワーク監視装置100によれば、無線区間ではなく、有線区間に監視装置を置くことにより、キャプチャが容易になる。また、無線端末の近くではなく、コア網にネットワーク監視装置を置くことにより、ネットワーク監視装置の集約が可能となり、ネットワーク監視装置の数を減らすことが可能になる。このようにして、遅延が発生している無線区間を効率的に特定することが可能となる。
なお、第1,第2の実施の形態の情報処理は、コンピュータが備えるCPUなどのプロセッサがプログラムを実行することで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体13)に記録できる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
1 情報処理装置
1a 受信部
1b 制御部
2 通信装置
3 アクセスポイント
4 無線通信装置
5 有線ネットワーク

Claims (7)

  1. 有線ネットワークと、前記有線ネットワークに接続されたアクセスポイントおよび通信装置と、前記アクセスポイントを介して前記通信装置との間でパケットを送受信する無線通信装置と、を含むシステムにおいて、前記有線ネットワークに接続された情報処理装置が実行するネットワーク分析方法であって、
    前記有線ネットワークからパケットを受信し、受信したパケットの集合の中から、前記通信装置により送信された連続する複数のパケットと当該連続する複数のパケットに対して前記無線通信装置により送信された確認応答パケットとを抽出し、
    当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、前記無線通信装置と前記アクセスポイントとの間の無線通信で遅延が発生していることを判定する、ネットワーク分析方法。
  2. 前記通信装置により送信された連続する複数のパケットの時間間隔と、連続する複数のパケットに対して前記無線通信装置により送信された複数の受信応答パケットの受信間隔とに基づいて、前記無線通信の遅延の分析対象とする受信応答パケットを絞り込む、請求項1記載のネットワーク分析方法。
  3. 連続する複数のパケットの時間間隔が第1の閾値以下であり、かつ、対応する複数の受信応答パケットの時間間隔が第2の閾値以上である受信応答パケットの組を前記無線通信の遅延の分析対象とし、それ以外の受信応答パケットの組を前記無線通信の遅延の分析対象としない、請求項2記載のネットワーク分析方法。
  4. 連続する複数のパケットの時間間隔と、対応する複数の受信応答パケットの時間間隔との差が第3の閾値以上である受信応答パケットの組を前記無線通信の遅延の分析対象とし、前記差が第3の閾値よりも小さい受信応答パケットの組を前記無線通信の遅延の分析対象としない、請求項2記載のネットワーク分析方法。
  5. 複数の受信応答パケットのうち再送された受信応答パケットの組を抽出し、当該組に含まれる受信応答パケットの時間間隔の周期性に基づいて、前記無線通信で遅延が発生していることを判定する、請求項1乃至4の何れか一項に記載のネットワーク分析方法。
  6. 有線ネットワークと、前記有線ネットワークに接続されたアクセスポイントおよび通信装置と、前記アクセスポイントを介して前記通信装置との間でパケットを送受信する無線通信装置と、を含むシステムにおいて、前記有線ネットワークに接続される情報処理装置であって、
    前記有線ネットワークからパケットを受信する受信部と、
    受信した前記パケットの集合の中から、前記通信装置により送信された連続する複数のパケットと当該連続する複数のパケットに対して前記無線通信装置により送信された確認応答パケットとを抽出し、当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、前記無線通信装置と前記アクセスポイントとの間の無線通信で遅延が発生していることを判定する制御部と、を有する情報処理装置。
  7. 有線ネットワークと、前記有線ネットワークに接続されたアクセスポイントおよび通信装置と、前記アクセスポイントを介して前記通信装置との間でパケットを送受信する無線通信装置と、を含むシステムにおいて、前記有線ネットワークに接続されたコンピュータに、
    前記有線ネットワークからパケットを受信し、受信したパケットの集合の中から、前記通信装置により送信された連続する複数のパケットと当該連続する複数のパケットに対して前記無線通信装置により送信された確認応答パケットとを抽出し、
    当該連続する複数のパケットの時間間隔と複数の確認応答パケットの時間間隔とに基づいて、前記無線通信装置と前記アクセスポイントとの間の無線通信で遅延が発生していることを判定する、処理を実行させるプログラム。
JP2012277895A 2012-12-20 2012-12-20 ネットワーク分析方法、情報処理装置およびプログラム Active JP5958325B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012277895A JP5958325B2 (ja) 2012-12-20 2012-12-20 ネットワーク分析方法、情報処理装置およびプログラム
US14/077,814 US9253669B2 (en) 2012-12-20 2013-11-12 Network analysis method, information processing device, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012277895A JP5958325B2 (ja) 2012-12-20 2012-12-20 ネットワーク分析方法、情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2014123811A true JP2014123811A (ja) 2014-07-03
JP5958325B2 JP5958325B2 (ja) 2016-07-27

Family

ID=50974544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012277895A Active JP5958325B2 (ja) 2012-12-20 2012-12-20 ネットワーク分析方法、情報処理装置およびプログラム

Country Status (2)

Country Link
US (1) US9253669B2 (ja)
JP (1) JP5958325B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018121117A (ja) * 2017-01-23 2018-08-02 株式会社Kddi総合研究所 通信装置、通信方法、及びコンピュータプログラム
JP2019087800A (ja) * 2017-11-02 2019-06-06 富士通株式会社 パケット解析プログラム、パケット解析装置、及び、パケット解析方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5329581B2 (ja) 2011-02-04 2013-10-30 株式会社東芝 無線通信端末および無線通信方法
JP5814829B2 (ja) * 2012-03-01 2015-11-17 株式会社東芝 無線通信装置及び方法
DE102014208500A1 (de) * 2014-05-07 2015-11-12 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Schätzung einer zu erwartenden Empfangsqualität
CN111404842B (zh) * 2019-12-11 2024-04-09 杭州海康威视系统技术有限公司 数据传输方法、装置及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163047A1 (en) * 2003-03-20 2005-07-28 Christopher M. Mcgregor, Gregory M. Mcgregor And Travis M. Mcgregor Method and system for processing quality of service (QOS) performance levels for wireless devices
JP2009232300A (ja) * 2008-03-25 2009-10-08 Fujitsu Ltd 輻輳検出方法、輻輳検出装置及び輻輳検出プログラム
JP2010154201A (ja) * 2008-12-25 2010-07-08 Kddi R & D Laboratories Inc 通信特性測定装置及び無線端末
JP2012151693A (ja) * 2011-01-19 2012-08-09 Fujitsu Ltd 監視プログラム、監視装置、及び監視方法
JP2012186772A (ja) * 2011-03-08 2012-09-27 Oki Electric Ind Co Ltd パケット損失予測装置、プログラムおよびパケット損失予測方法
JP2012191440A (ja) * 2011-03-10 2012-10-04 Kddi Corp 通信品質測定方法および装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4169725B2 (ja) 2004-06-24 2008-10-22 富士通株式会社 パケット廃棄箇所探索方法及び装置
JP4818948B2 (ja) * 2007-02-16 2011-11-16 株式会社神戸製鋼所 無線信号干渉検知装置,その方法及びそのプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163047A1 (en) * 2003-03-20 2005-07-28 Christopher M. Mcgregor, Gregory M. Mcgregor And Travis M. Mcgregor Method and system for processing quality of service (QOS) performance levels for wireless devices
JP2009232300A (ja) * 2008-03-25 2009-10-08 Fujitsu Ltd 輻輳検出方法、輻輳検出装置及び輻輳検出プログラム
JP2010154201A (ja) * 2008-12-25 2010-07-08 Kddi R & D Laboratories Inc 通信特性測定装置及び無線端末
JP2012151693A (ja) * 2011-01-19 2012-08-09 Fujitsu Ltd 監視プログラム、監視装置、及び監視方法
JP2012186772A (ja) * 2011-03-08 2012-09-27 Oki Electric Ind Co Ltd パケット損失予測装置、プログラムおよびパケット損失予測方法
JP2012191440A (ja) * 2011-03-10 2012-10-04 Kddi Corp 通信品質測定方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018121117A (ja) * 2017-01-23 2018-08-02 株式会社Kddi総合研究所 通信装置、通信方法、及びコンピュータプログラム
JP2019087800A (ja) * 2017-11-02 2019-06-06 富士通株式会社 パケット解析プログラム、パケット解析装置、及び、パケット解析方法

Also Published As

Publication number Publication date
JP5958325B2 (ja) 2016-07-27
US20140177462A1 (en) 2014-06-26
US9253669B2 (en) 2016-02-02

Similar Documents

Publication Publication Date Title
JP5958325B2 (ja) ネットワーク分析方法、情報処理装置およびプログラム
US10122606B1 (en) System and method for estimating an amount of acknowledged application data transmitted by encrypted transport
CN111295865B (zh) 获得局域网诊断测试结果
CN106411629B (zh) 一种用于监控cdn节点的状态的方法和设备
Luo et al. Design and Implementation of TCP Data Probes for Reliable and Metric-Rich Network Path Monitoring.
JP5292444B2 (ja) パケットロス率推定装置及び方法及びプログラム
JP2017163272A (ja) パケット解析プログラム、パケット解析方法およびパケット解析装置
JP2015023463A (ja) パケット解析装置、パケット解析方法、及びパケット解析プログラム
JP5484376B2 (ja) ログ収集自動化装置、ログ収集自動化試験システム、及びログ収集制御方法
US9749203B2 (en) Packet analysis apparatus and packet analysis method
JP6455135B2 (ja) パケット抽出装置、パケット抽出プログラムおよびパケット抽出方法
US9516109B2 (en) Registry synchronizer and integrity monitor
JP2018182594A (ja) パケット解析プログラム、パケット解析装置およびパケット解析方法
JP5625940B2 (ja) 監視プログラム、監視装置、及び監視方法
JP2012169831A (ja) トラフィックデータの監視システムおよびサーバ間データ整合方法
JP5958355B2 (ja) 分析装置、分析方法及び分析プログラム
US7643503B2 (en) System and method for dynamically determining retransmit buffer time
JP2020150359A (ja) 解析プログラム、解析装置、及び解析方法
Tilmans et al. COP2: Continuously Observing Protocol Performance
US20240113955A1 (en) Measuring apparatus, method for measuring, and recorded program medium
JP5155986B2 (ja) 監視システム、監視方法、監視用プログラム
JP2015170878A (ja) ネットワーク内の複数データ通信装置を管理する運用管理装置
GB2566467A (en) Obtaining local area network diagnostic test results
Schulte et al. On detecting TCP path saturation in LTE networks
WO2015093345A1 (ja) 通信装置、パケット監視方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5958325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150