JP2013243534A - 遅延時間評価装置および遅延時間評価方法 - Google Patents

遅延時間評価装置および遅延時間評価方法 Download PDF

Info

Publication number
JP2013243534A
JP2013243534A JP2012115729A JP2012115729A JP2013243534A JP 2013243534 A JP2013243534 A JP 2013243534A JP 2012115729 A JP2012115729 A JP 2012115729A JP 2012115729 A JP2012115729 A JP 2012115729A JP 2013243534 A JP2013243534 A JP 2013243534A
Authority
JP
Japan
Prior art keywords
time
delay time
session establishment
packet
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012115729A
Other languages
English (en)
Inventor
Takeshi Yada
健 矢田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012115729A priority Critical patent/JP2013243534A/ja
Publication of JP2013243534A publication Critical patent/JP2013243534A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】簡易且つ適切にネットワーク遅延時間を測定することを課題とする。
【解決手段】遅延時間評価装置10は、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定する。続いて、遅延時間評価装置10は、特定されたセッション確立シーケンスのうち、ユーザ端末20とゲートウェイ40との間におけるセッション確立シーケンスと、サーバ30とゲートウェイ40との間におけるセッション確立シーケンスとを対応付けて管理する。そして、遅延時間評価装置10は、対応付けられたセッション確立シーケンスにおいて、ユーザ端末20からサーバ30へ送信されるパケットの送信時刻および受信時刻と、サーバ30からユーザ端末20へ送信されるパケットの送信時刻および受信時刻とを用いて、ユーザ端末20とサーバ30との間の遅延時間を算出する。
【選択図】 図1

Description

本発明は、遅延時間評価装置および遅延時間評価方法に関する。
近年、クラウドコンピューティングに代表されるように、データセンタなどにあるサーバ上にアプリケーションやデータなどを配置し、ユーザは遠隔にあるユーザ端末からネットワークを介してサーバ上のアプリケーションを起動してデータ処理などを行う作業形態が増えている。
また、インターネットや通信事業者が提供する公衆ネットワークなどを利用した通信環境により、データセンタや企業内LANなどに接続して作業が実施される場合が多く、サービス品質は通信経路上のネットワークの遅延などの品質の影響を受けることになる。
インターネットや公衆ネットワークは、ユーザや企業などの利用者側で品質を管理することができないため、ネットワーク品質を把握するためには、ユーザ端末の地理的な位置や利用時間帯に応じてユーザ端末とサーバとの間のネットワーク遅延時間を測定して、品質を監視することが重要となる。この結果を受けてネットワークの帯域や接続構成、サーバ設定などに対して必要なアクションをとることができる。
このため、ユーザ環境は基本的に汎用PC(Personal Computer)などのユーザ端末とモデムやHGW(Home Gate Way)などの接続装置のみで構成されることが多く、簡便な方法でネットワーク遅延時間の測定が可能である必要がある。
このように、ネットワーク遅延時間を測定する方法として、ICMP(Internet Control Message Protocol)エコーによる方法が知られている。このICMPエコーによる方法では、ICMPエコー要求メッセージの送付とそれに対するICMPエコー応答の各時刻を測定して往復遅延時間を算出する。なお、ICMPエコーによる方法でネットワーク遅延時間を測定する場合には、通信経路全体を通してICMPエコーの疎通が許容されていることが前提である。
また、ネットワーク遅延時間を測定する方法として、パケットキャプチャによる方法が知られている。例えば、専用の装置で測定を行う場合は、測定対象となる装置の近くのスイッチで測定対象装置が接続されるインタフェースを通過するパケットをコピー(ミラーリング設定)し、パケットキャプチャを行う。また、汎用PCで測定を行う場合には、自端末と他の機器との通信を測定する方法としては、自端末とネットワークが接続されているネットワークインタフェースカード(NIC)を指定して、Wireshark(登録商標)などのパケットキャプチャツールを用いて、NICが送受信するパケットを収集する。
パケットキャプチャによる方法は、送受信パケットを全てあるいはその一部を収集し保存するため、パケットヘッダなどに含まれる情報を用いた詳細な分析が可能である。パケットキャプチャデータの時刻は、測定機器における時刻情報が記録されるため、2拠点間の遅延時間を測定するためには、2つの異なる地点で測定を実施し、測定したパケットキャプチャデータをつき合わせて時間差を求める必要がある。データを付き合わせる方法は、時刻情報をもとに統合する方法と、シーケンス番号をもとに統合する方法との二つの方法に大別される。
まず、時刻情報をもとに統合する方法について説明する。パケットキャプチャデータの時刻情報を用いて、複数のパケットキャプチャデータを時系列順に並べることで統合する機能が、キャプチャデータ分析ツールに具備されている。既存ツールとしては、WiresharkやNetScout(登録商標)には複数のキャプチャファイルを統合する機能がある。また、コマンドラインのツールとしてはmergecapが同じ機能を持つ。これらは基本的に複数のファイルに含まれているフレームの時刻情報をもとに時間順にフレームを並べ直してデータを統合するものである。したがって、統合するキャプチャデータ間で時刻情報が同期していることが前提となる。
続いて、シーケンス番号をもとに統合する方法について説明する。TCPヘッダには、シーケンス番号と確認応答番号が含まれており、同じ情報を転送するパケットに関しては同一TCPセッションであればそれぞれの番号は変わらないため、異なる地点で収集したキャプチャデータをTCPのシーケンス番号を関連づけることで、着目するパケットが2つの地点から発信される時刻と着信する時刻を求め、さらに確認応答番号を対応させることでこれに対する確認応答のパケットが発信する時刻と着信する時刻を求めることで往復遅延時間を導出する方法がある。
この往復遅延時間は、サーバ処理時間が含まれるが、サーバ処理時間は処理内容やデータサイズに依存し、パケット毎に変動が大きいため、往復遅延時間の変動に大きく影響することとなり、ネットワーク遅延時間を把握することが難しくなる。ネットワーク遅延時間を測定するためにサーバでの処理時間が比較的軽いTCPセッション確立時の3-way handshakeなどを抽出して往復遅延時間を求めることが多い。ただし、TCPのシーケンス番号を突き合わせてデータを対応づけさせるには、ユーザ端末からサーバまでの経路にわたって1つのTCPセッションで張られている必要がある。これにより、同じ情報を転送するパケットに関してはTCPヘッダのシーケンス番号が同一のものとなるため、キャプチャデータ間でパケット送受信のイベントの対応付けが可能となる。
なお、ICMPエコーの要求と応答やTCPの3-way handshakeのようなサーバ処理時間を無視できるような処理に着目することができないネットワーク環境である場合には、サーバ処理時間の影響を除外するために、サーバ処理時間が含まれる往復遅延時間ではなく、片道遅延時間を求める必要がある。この場合には、2つの異なる地点で収集したキャプチャデータの発着時刻の差分から片道遅延時間を求めるために、2つの異なる地点におけるデータの時刻を同期させて、データの時刻情報のずれを補正する必要がある。
特開2006−352527号公報 特開2004−88289号公報 特開2008−118270号公報 特開2009−260706号公報
しかしながら、上記した従来の技術では、簡易且つ適切にネットワーク遅延時間を測定することができないという課題があった。例えば、上記したICMPエコーを用いて往復遅延時間を測定する方法に関しては、インターネットや公衆ネットワークを介して遠隔にあるユーザ端末からデータセンタや社内LANなどのセキュアな環境にあるサーバへアクセスするネットワーク環境においては、セキュリティ確保の観点からTCPポートを閉じてアクセス制御を行っており、ユーザ端末からサーバまでの疎通ができず、適切にネットワーク遅延時間を測定することができない。
また、上記した時刻情報をもとに2つのパケットキャプチャデータを統合する方法に関しては、異なる地点で測定するパケットキャプチャデータを同期させるために、測定装置の時刻が同期していなければならず、特別な装置や環境が必要となる。ユーザが専用装置や特別な環境を必要な都度、用意することは難しく、異なる地点で測定するパケットキャプチャデータの時刻を同期させることも困難である。したがって、パケットキャプチャツールに具備されているデータ統合機能が適用できない場合が多く、適切にネットワーク遅延時間を測定することができない。
また,TCPシーケンス番号を使って2つのパケットキャプチャデータを対応させる方法では、ユーザ端末からサーバまでが1つのTCPセッションで張られていることが条件となる。しかし、遠隔にあるユーザ端末から公衆ネットワークを介してデータセンタや企業のLANのようなセキュアなネットワーク環境に接続する場合は、データセンタや企業LANの入り口でセキュリティ確保のためにネットワーク接続を分断するゲートウェイを設置することが一般的である。また、インターネットや公衆ネットワークではデータを暗号化することが一般的である。例えば、クラウドコンピューティングの一つの形態であるDaaS(Desktop as a Service)サービスでは,外部から企業LAN内のサーバに接続するために企業LANと外部との接続にリバースプロキシサーバを設置し、ユーザ端末とプロキシサーバ間およびプロキシサーバとサーバ間のそれぞれで別々にTCPセッションを張り、その上でさらにユーザ端末とプロキシサーバ間ではTLSv1などのデータ暗号化のためのプロトコルを利用したセッションを張ることがある。
このような接続形態はDaaSサービスに限らず、遠隔からサーバへのアクセスにおいては通常、利用される接続形態であるが、この場合はユーザ端末とサーバ間での通信が複数のTCPセッションに分かれており、同じ情報を転送するパケットであってもTCPのシーケンス番号が異なってくる。さらに、往復遅延時間に含まれるサーバ処理時間の影響を少なくするために、TCPセッション確立時の3-way handshakeなどを対象として往復遅延時間を測定することが一般的であるが、ユーザ端末とサーバ間の通信経路においてTCPセッションが分かれてしまう場合はこのような方法が適用できない。このため、適切にネットワーク遅延時間を測定することができない。
なお、Web3階層構成のような複数サーバ間での通信がある場合、トランザクションを把握するために複数個所でのパケットキャプチャを一元的に制御するために各キャプチャ箇所にエージェントをインストールして同時キャプチャを実現しているツールが存在する。ただし、エージェントのインストールが前提であり、また管理できるエージェントにも制限がある。エージェントのインストールによって、サーバ本来の目的とするサービス提供に影響を与える可能性があるため、測定や監視の目的のためにエージェントをインストールすることができない場合が多い。また、インターネットや公衆ネットワークを越えてエージェントを制御することができない場合が多い。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、簡易且つ適切にネットワーク遅延時間を測定することを目的とする。
上述した課題を解決し、目的を達成するため、本願に開示する遅延時間評価装置は、第一の装置と中継装置との間で通信されたパケット、及び、第二の装置と中継装置との間で通信されたパケットそれぞれのキャプチャデータを収集する収集部と、前記収集部によって収集されたキャプチャデータのうち、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定する特定部と、前記特定部によって特定されたセッション確立シーケンスのうち、第一の装置と中継装置との間における第一のセッション確立シーケンスと、第二の装置と中継装置との間における第二のセッション確立シーケンスとを対応付けて管理する管理部と、前記管理部によって対応付けられた前記第一のセッション確立シーケンスと前記第二のセッション確立シーケンスとにおいて、前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを取得する取得部と、前記取得部によって取得された前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを用いて、前記第一の装置と前記第二の装置との間の通信にかかる時間である遅延時間を算出する算出部と、を備えることを特徴とする。
遅延時間評価装置は、簡易且つ適切にネットワーク遅延時間を測定することができるという効果を奏する。
図1は、第一の実施の形態に係る遅延時間評価装置を含む通信ネットワークシステムの構成を示すブロック図である。 図2は、TCPヘッダフォーマットを示す図である。 図3は、TCPセッション確立シーケンスを説明する図である。 図4は、セッション確立シーケンスの対応付け処理を説明するための図である。 図5は、時刻補正値と片道遅延時間の算出処理を説明する図である。 図6は、第一の実施の形態に係る遅延時間評価装置の処理手順を説明するためのフローチャートである。 図7は、TLSv1セッション確立シーケンスを説明する図である。 図8は、時刻補正して統合したDaaSサービス利用時のエンド・ツー・エンドシーケンスを説明する図である。 図9は、第二の実施の形態に係る遅延時間評価装置の処理手順を説明するためのフローチャートである。 図10は、遅延時間評価プログラムを実行するコンピュータを示す図である。
以下に添付図面を参照して、この発明に係る遅延時間評価装置および遅延時間評価方法の実施形態を説明する。なお、この遅延時間評価装置および遅延時間評価方法の実施形態の記載によりこの発明が限定されるものではない。
(第1の実施形態)
以下の実施形態では、第1の実施形態に係る通信システム、遅延時間評価装置の構成および処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
[通信ネットワークシステム、遅延時間評価装置の構成]
最初に、図1を用いて、遅延時間評価装置を含む通信ネットワークシステム100の構成を説明する。図1は、第一の実施の形態に係る遅延時間評価装置を含む通信ネットワークシステムの構成を示すブロック図である。図1に示すように、この通信ネットワークシステム100は、遅延時間評価装置10、ユーザ端末20、サーバ30、ゲートウェイ40および測定装置60を有し、ユーザ端末20とゲートウェイ40とは、インターネット(または、公衆ネットワーク)50を介して接続されている。
通信ネットワークシステム100では、遠隔地点にあるユーザ端末20とサーバ間のエンド・ツー・エンドの経路上にあるゲートウェイ40においてTCPセッションが終端されるようなネットワーク構成において、ユーザ端末20とサーバ30側のLAN環境(サーバファーム)に設置した測定装置60においてパケットキャプチャを行う。
また、サーバ30側の測定には、サーバ30に接続するスイッチにおいてポートミラーリングによりサーバ30が送受信するパケットのキャプチャリングを行う。なお、サーバファーム内は高速なLAN環境でありネットワーク遅延は小さく、無視できるものとする。
また、図1に示すように、通信ネットワークシステム100では、ユーザ端末20とゲートウェイ40との間でTCPセッションが確立されており、また、サーバ30とゲートウェイ40間でもTCPセッションが確立されている。
また、図1に示すように、遅延時間評価装置10は、収集部11と、抽出部12と、管理部13と、取得部14と、算出部15、作成部16とを有し、ユーザ端末20及び測定装置60と接続されている。以下にこれらの各部の処理を説明する。
収集部11は、ユーザ端末20とゲートウェイ40との間で通信されたパケットのキャプチャデータをユーザ端末から収集し、サーバ30とゲートウェイ40との間で通信されたパケットのキャプチャデータを測定装置60から収集する。
抽出部12は、収集部11によって収集されたキャプチャデータのうち、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを抽出し、該キャプチャデータからセッション確立シーケンスを特定する。具体的には、抽出部12は、収集したパケットキャプチャデータをダンプし、パケットキャプチャデータ中のセッション確立部分を抽出し、セッション確立部分を解析して、TCPセッションが確立されたシーケンスを特定する。
ここで、図2を用いて、TCPヘッダのフォーマットについて説明する。図2は、TCPヘッダフォーマットを示す図である。図2に示すように、TCPヘッダには、送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号等が含まれる。このうち、TCPヘッダの中から、セッション確立部分として、SYNフラグ(図2の例では、「SYN」と記載)、ACKフラグ(図2の例では、「ACK」と記載)を検出し、SYNフラグのオン/オフと、ACKフラグのオン/オフをチェックすることで、3ウェイ−ハンドシェイク(3-way handshake)が行われたTCPセッション確立シーケンスを特定することができる。
ここで、図3を用いて、TCPセッション確立シーケンスについて説明する。図3は、TCPセッション確立シーケンスを説明する図である。図3に示すように、TCPコネクションの確立を要求する装置AがTCPヘッダ内のSYN(Synchronize:同期)フラグをONにしたSYNパケットを装置Bに対して送信すると、SYNパケットを受信した装置Bは、かかるSYNパケットの応答としてSYNフラグおよびACK(Acknowledge:確認)フラグをONにしたACKパケットを装置Aに対して送信する。
続いて、ACKパケットを受信した装置Aは、かかるACKパケットの応答としてACKパケットを装置Bに対して送信する。このようにして、3ウェイ−ハンドシェイクと呼ばれるTCPコネクションの確立手順が完了する。このように、TCPコネクションを確立する際の手順において、SYNフラグがオン、SYNフラグおよびACKフラグがオン、ACKフラグがオンになることが事前に決まっているので、TCPセッション確立シーケンスを特定することが可能となる。
図3では、装置Aと装置Bとの2装置間で行われるTCPセッション確立を例にして説明した。図1の通信システム100の例では、この2装置として、ユーザ端末20とゲートウェイ40との間、及び、ゲートウェイ40とサーバ30との間でTCPセッションが確立することとなる。このため、ユーザ端末20とゲートウェイ40間、及び、ゲートウェイ40とサーバ30間でセッションは分けられることになるが、両者は独立ではなく、通信開始にあたってユーザ側からのセッション確立要求を受けてユーザ端末20とゲートウェイ40間のセッションが確立するとともに、ゲートウェイ40ではユーザからの要求に対応して、サーバ30に対してセッション確立要求を送り、ゲートウェイ40とサーバ30間のセッションを確立する。
管理部13は、特定部12によって特定されたセッション確立シーケンスのうち、ユーザ装置20とゲートウェイ40との間におけるセッション確立シーケンスと、サーバ30とゲートウェイ40との間におけるセッション確立シーケンスとを対応付けて管理する。ここで、図4の例を用いて、セッション確立シーケンスの対応付け処理について説明する。図4は、セッション確立シーケンスの対応付け処理を説明するための図である。図4に示すように、管理部13は、ユーザ端末20とゲートウェイ40間およびゲートウェイ40とサーバ30間のセッションを対応づけて管理する。
ここで、パケットキャプチャにおいて着目している発着ノードのIPアドレスでフィルタリングすれば、セッション確立イベントも限定されるため、双方のパケットキャプチャデータから得たセッション確立シーケンスについても起動の関連性を対応づけることができる。
取得部14は、管理部13によって対応付けられた二つのセッション確立シーケンスにおいて、ユーザ装置20からサーバ30へ送信されるパケットの送信時刻および受信時刻と、サーバ30からユーザ装置20へ送信されるパケットの送信時刻および受信時刻とを取得する。
ここで、上記した図4の例を用いて具体的に説明すると、取得部14は、ユーザ端末20でのパケットキャプチャデータにおいて、セッション確立後にユーザ端末20から送付される最初のパケットの送信時刻(図4の時刻a)と、サーバ30でのパケットキャプチャデータにおいて、ユーザ端末20側ゲートウェイ40からサーバ30に送られるパケットが到着する時刻(図4の時刻b)を取得して、記録する。
ユーザ側の要求を契機に連動して両セッションが確立された後にユーザ端末20からサーバ30へと上位アプリケーションのデータが送信される。セッション確立後はゲートウェイ40においては上位レイヤのプロトコルを処理することなくアプリケーションデータの転送に専念するため、処理は比較的軽く、処理時間は短く変動は小さい。
ユーザ側から送信される最初のアプリケーションデータを運ぶパケットは、セッション確立後に始めて疎通するパケットであるので、両パケットキャプチャデータにおいて特定が可能であり、ここではこのパケットに着目して、ユーザ端末20からの発信時刻とサーバファームでの着信時刻を取得して、記録する。
次に、取得部14は、最初のアプリケーションデータ受信後、サーバ30からユーザ端末20向けゲートウェイ40に送信される最初のパケットについても両パケットキャプチャデータから特定でき、同様にサーバファームからの発信時刻(図5のb)およびユーザ端末20での受信時刻(図4のa)を取得して、記録する。
なお、この時点ではユーザ端末20で収集したパケットキャプチャの時刻とサーバ30で収集したパケットキャプチャデータの時刻は同期しておらず、発生した事象の前後関係に対して記録した時刻が逆転している可能性がある。
算出部15は、取得部14によって取得されたユーザ端末20からサーバ30へ送信されるパケットの送信時刻および受信時刻と、サーバ30からユーザ端末20へ送信されるパケットの送信時刻および受信時刻とを用いて、ユーザ端末20とサーバ30との間の通信にかかる時間である遅延時間を算出する。例えば、算出部15は、取得部14が記録した時刻情報と、中間点でデータ転送のための処理時間が等しいという前提のもとで定式化した数式を用いて、両キャプチャ間の時刻のずれと片道遅延時間を算出する。
ここで、図5を用いて、時刻補正値と片道遅延時間の算出処理について説明する。図5は、時刻補正値と片道遅延時間の算出処理を説明する図である。ここで、ユーザ端末20で収集したパケットキャプチャデータの時刻に対する、サーバ30で収集したパケットキャプチャデータの時刻の遅れを時刻補正値Δとする。サーバ30でのパケットキャプチャデータの時刻の方が進んでいる場合は、時刻補正値Δが負の値をとることになるので、このように一般性を失うことなく2つのデータを同期させるための時刻補正値としてΔとすることができる。
また、ここではユーザ端末20からゲートウェイ40経由でサーバ30へと転送される時間と、サーバ30からゲートウェイ40経由でユーザ端末20に転送される時間は等しいことを前提としている。サーバ30内あるいはユーザ端末20内での処理時間は処理内容やデータ量に大きく依存するが、ネットワーク遅延は比較的安定していると考えて、このような前提としている。
このため、図5に示すように、片道遅延時間ND1と片道遅延時間ND2とが等しいと仮定して、算出部15は、「Δ=(a4−b4+a5−b5)/2」の数式を用いて、時刻補正値Δを算出する。
また、図5に示すように、片道遅延時間ND1と片道遅延時間ND2とが等しいと仮定して、算出部15は、「ND=(−a4+b4+a5−b5)/2」の数式を用いて、片道遅延時間NDを算出する。なお、算出部15は、図5に示すように、ユーザ端末20からサーバ30への片道遅延時間ND1について、「(b4+Δ)−a4=ND1」の算出式を用いて算出してもよいし、サーバ30からユーザ端末20への片道遅延時間ND2について、「a5−(b5+Δ)=ND2」の数式を用いて、算出してもよい。
このように、TCPセッションの確立は相互に連携して動作するという性質を利用し、それぞれのパケットキャプチャデータからセッション確立シーケンスを抽出し、それらを対応させることで、エンド・ツー・エンドでアプリケーションデータの送信を開始する時点を見つけ、ユーザ端末20とサーバ30間で着目するパケットの発信時刻と着信時刻を双方向で記録して、これを用いた容易な演算により時刻補正値と片道遅延時間を算出する。
作成部16は、算出部15によって算出された時刻補正値Δを用いて時刻補正を行い、同期させた2つのキャプチャデータを組み合わせて、ユーザ端末とサーバ間でのシーケンス図を作成する。
このように、遅延時間評価装置10は、ユーザ端末20で収集したパケットキャプチャデータの時刻を基準とした場合の、サーバ30で収集したパケットキャプチャデータの時間の補正を行うことができ、ユーザ端末20とサーバ30間のエンド・ツー・エンドのシーケンス図を表示することができる。
[遅延時間評価装置による処理]
次に、図6を用いて、第1の実施形態に係る遅延時間評価装置10による処理を説明する。図6は、第1の実施形態に係る遅延時間評価装置10の処理動作を示すフローチャートである。
図6に示すように、遅延時間評価装置10の収集部11は、ユーザ端末20及び測定装置60からパケットキャプチャデータを収集する(ステップS101)。そして、抽出部12は、収集したパケットキャプチャデータをダンプし(ステップS102)、TCPヘッダからシーケンスを解析して、パケットキャプチャデータ中のセッション確立部分を抽出する(ステップS103)。具体的には、抽出部12は、収集したパケットキャプチャデータをダンプし、TCPヘッダからシーケンスを解析して、パケットキャプチャデータ中のセッション確立部分を抽出した後、セッション確立部分を解析して、TCPセッションが確立されたシーケンスを特定する。
そして、管理部13は、ユーザ端末20とゲートウェイ40間およびゲートウェイ40とサーバ30間のセッションを対応づける(ステップS104)。続いて、取得部14は、セッション確立後に、ユーザ端末20からサーバ30へ送付される最初のパケットの送信時刻(例えば、図5に示すa4に相当)と、ユーザ端末20側ゲートウェイ40からサーバ30に送られるパケットの受信時刻(例えば、図5に示すb4に相当)を記録する(ステップS105)。
その後、取得部14は、サーバ30側でデータ受信後に次に送信される、サーバ30からユーザ端末20向けアプリケーションデータ(パケット)の送信時刻(例えば、図5に示すb5に相当)および受信時刻(例えば、図5に示すa5に相当)を記録する(ステップS106)。
そして、算出部15は、時刻補正値と片道遅延時間を算出する(ステップS107)。具体的には、算出部15は、片道遅延時間ND1と片道遅延時間ND2とが等しいと仮定して、「Δ=(a4−b4+a5−b5)/2」の算出式を用いて、時刻補正値Δを算出する。また、同様に、片道遅延時間ND1と片道遅延時間ND2とが等しいと仮定して、算出部15は、「ND=(−a4+b4+a5−b5)/2」の算出式を用いて、片道遅延時間NDを算出する。
その後、作成部16は、ユーザ端末側の送信時刻および着信時刻(例えば、図5に示すa4、a5に相当)と時刻補正したサーバ側の送信時刻および着信時刻(例えば、図5に示すb4+Δ、b5+Δに相当)を連結して、エンド・ツー・エンドのシーケンス図を作成する(ステップS108)。
[第1の実施形態の効果]
上述してきたように、第1の実施形態に係る遅延時間評価装置10は、ユーザ端末20とゲートウェイ40との間で通信されたパケット、及び、サーバ30とゲートウェイ40との間で通信されたパケットそれぞれのキャプチャデータを収集する。そして、収集されたキャプチャデータのうち、セッション確立に関する情報を解析して、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定する。続いて、遅延時間評価装置10は、特定されたセッション確立シーケンスのうち、ユーザ端末20とゲートウェイ40との間におけるセッション確立シーケンスと、サーバ30とゲートウェイ40との間におけるセッション確立シーケンスとを対応付けて管理する。そして、遅延時間評価装置10は、対応付けられたセッション確立シーケンスにおいて、ユーザ端末20からサーバ30へ送信されるパケットの送信時刻および受信時刻と、サーバ30からユーザ端末20へ送信されるパケットの送信時刻および受信時刻とを取得する。その後、遅延時間評価装置10は、取得されたユーザ端末20からサーバ30へ送信されるパケットの送信時刻および受信時刻と、サーバ30からユーザ端末20へ送信されるパケットの送信時刻および受信時刻とを用いて、ユーザ端末20とサーバ30との間の通信にかかる時間である遅延時間を算出する。これにより、簡易且つ適切にネットワーク遅延時間を測定することが可能となる。
また、第1の実施形態によれば、遅延時間を算出するとともに、ユーザ端末20からサーバ30へ送信されるパケットの送信時刻および受信時刻と、サーバ30からユーザ端末20へ送信されるパケットの送信時刻および受信時刻とを用いて、ユーザ端末20とゲートウェイ40との間で通信されたパケットのキャプチャデータと、サーバ30とゲートウェイ40との間で通信されたパケットキャプチャデータとの時刻のずれを算出する。これにより、異なる地点で収集したパケットキャプチャデータに対して特別の装置を導入することなく時刻のずれを補正することが可能である。
また、第1の実施形態によれば、セッション確立に関する情報として、SYNフラグおよびACKフラグを解析して、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定する。このため、TCPヘッダにおける既存のフラグを用いて、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出することが可能である。
このように、例えば、第1の実施形態に係る遅延時間評価装置10では、エンド・ツー・エンドの通信においてネットワークに起因する遅延時間を算出することができる。また、TCPセッションが途中で終端されて別れてしまうような場合にも、キャプチャデータの時刻合わせや片道遅延時間の算出が可能となり、エンド・ツー・エンドでトランザクション処理のシーケンス図を表示することができようになる。また、従来は、途中の区間ごとの遅延時間までしかわからなかったが、遠隔ユーザがサーバを利用する際のネットワーク品質を評価することができ、性能管理機能の向上をもたらすことができる。
(第2の実施形態)
ところで、上記の第1の実施形態で説明した処理手順を、クラウドコンピューティング環境の一形態であり、ユーザはサーバファーム上の仮想デスクトップクライアントを利用して,ユーザ端末の機能やリソースを使うことなく遠隔から作業をすることができるDaaS(Desktop as a Service)サービス提供環境に適用してもよい。以下で説明する第2の実施形態では、DaaSサービス提供環境において、遅延時間評価処理を行う場合について説明する。
DaaSサービスでは、ユーザは外部接続(サーバファームの設置拠点外からの接続)による利用が多くなるが、業務データなど高いセキュリティ要件の情報をやり取りするために、TLSv1などを使って暗号化するのが一般的である。
TLSv1は、RFC2246で規定されたプロトコルであり、セッション確立までにHandshakeプロトコルが処理される。ユーザ端末とゲートウェイ間およびゲートウェイとサーバ間でそれぞれ前述のようにTCPセッションが確立された後、TLSv1のセッションの確立処理が動作し、セッション確立後にユーザ端末とサーバ間でアプリケーションデータの通信が行われる。
このため、TLSv1が適用される場合は、遅延時間評価装置は、上記の第1の実施形態と同様に、パケットキャプチャデータを収集し、バイナリデータをダンプした後に、TCPセッション確立部分の抽出を行うとともに、TLSv1セッションを解析してセッション確立部分を抽出する処理を行う。
ここで、図7を用いて、TLSv1セッション確立シーケンスについて説明する。図7は、TLSv1セッション確立シーケンスを説明する図である。図7に示すように、コネクションの確立を要求する装置AがClient Helloを装置Bに送信すると、Client Helloを受信した装置Bは、Server Hello、Certificate、Server Key Exchange、Server Hello Doneを装置Aに対して送信する。
そして、装置Aは、Client Key Exchange、Change Cipher Spec、Finishedを装置Bに対して送信する。続いて、装置Bは、Change Cipher Spec、Finishedを装置Aに対して送信する。これにより、TCLv1セッションの確立手順が完了する。
このようなTLSv1のセッション確立シーケンスは、RFC2246で規定されており、パケットキャプチャデータを分析すると暗号化されている部分を除くとパケット解析ツールでTLSv1セッションの確立部分を把握することができる。
このように、TCPセッション確立部分の抽出を行うとともに、TLSv1セッションを解析してセッション確立部分を抽出することで、TCPセッションおよびTLSv1セッションがユーザ端末とゲートウェイ間、ゲートウェイとサーバ間にそれぞれ張られるケースに対しても、2つのパケットキャプチャデータの時刻補正値と片道遅延時間を求めることができる。
その後、遅延時間評価装置は、図8に例示するように、時刻補正して統合したDaaSサービス利用時のエンド・ツー・エンドシーケンスを作成する。図8は、時刻補正して統合したDaaSサービス利用時のエンド・ツー・エンドシーケンスを説明する図である。図8に例示するように、遠隔にあるユーザ端末からDaaSサービスを利用した時に、ユーザ端末およびサーバファームの測定装置で収集したパケットキャプチャデータに対するユーザ端末20とサーバ30との間のエンド・ツー・エンドのシーケンス図が作成される。なお、図8には、具体的な時刻データの値が記載されているが、この値は一例に過ぎず、この値に限定されるものではない。
このように、第2の実施形態に係る遅延時間評価装置は、TLSv1が適用される場合は、TCPセッション確立部分の抽出を行うとともに、TLSv1セッションを解析してセッション確立部分を抽出する処理を行うので、第1の実施形態と同様にセッション確立後のパケットのやり取りに着目して、キャプチャデータの時刻合わせや片道遅延時間の算出が可能となる。
[複数の計算結果を平均]
なお、上述したように、異なる地点で収集したパケットキャプチャデータの時刻のずれの補正と片道遅延時間を算出することができるが、実際には測定時のネットワークの使用状況やゲートウェイの処理負荷、パケットサイズなどの影響を受けるため、ある特定のパケットの発着時刻を分析した結果には誤差の影響を受ける可能性がある。そこで、算出する計算結果の精度を上げるために、複数回の算出を行い、得られた数値の平均をとることが考えられる。
ここで、図9を用いて、複数回の算出を行い、得られた数値の平均をとる変形例の遅延時間評価装置による処理を説明する。図9は、変形例の遅延時間評価装置の処理動作を示すフローチャートである。セッション確立シーケンスの対応づけと時刻補正値と片道遅延時間の数値計算の部分を予め設定した回数Nだけ実施して計算結果の平均をとる手順を示したものである。なお、計算を繰り返す場合には、前回の計算で着目したパケットの次の発信パケットに着目する方法と、再度セッション確立部分の抽出から行う方法の2種類がある。
図9に示すように、遅延時間評価装置は、第1の実施形態と同様に、ユーザ端末20及び測定装置60からパケットキャプチャデータを収集する(ステップS201)。ここで、初期化として、n=1をセットする。そして、抽出部12は、収集したパケットキャプチャデータをダンプし(ステップS202)、TCPセッション確立部分を抽出する(ステップS203)。そして、遅延時間評価装置は、TLSv1セッション確立部分を抽出する(ステップS204)。
そして、遅延時間評価装置は、ユーザ端末20とゲートウェイ40間およびゲートウェイ40とサーバ30間のセッションを対応づける(ステップS205)。続いて、遅延時間評価装置は、セッション確立後に、ユーザ端末20からサーバ30へ送付される最初のパケットの送信時刻と、ユーザ端末20側ゲートウェイ40からサーバ30に送られるパケットの受信時刻を記録する(ステップS206)。
その後、遅延時間評価装置は、サーバ30側でデータ受信後に次に送信される、サーバ30からユーザ端末20向けアプリケーションデータ(パケット)の送信時刻および受信時刻を記録する(ステップS207)。
そして、遅延時間評価装置は、時刻補正値と片道遅延時間を算出する(ステップS208)。そして、遅延時間評価装置は、N≦nであるか否かを判別し(ステップS209)、N≦nでない場合には、nに「1」を加算し(ステップS210)、ステップS205に戻る。また、N≦nである場合には、遅延時間評価装置は、時刻補正値と片道遅延時間の平均を算出し(ステップS211)、ユーザ端末側の送信時刻および着信時刻と時刻補正したサーバ側の送信時刻および着信時刻を連結して、エンド・ツー・エンドのシーケンス図を作成する(ステップS212)。
このように、遅延時間評価装置が、所定の回数だけ、時刻補正値と片道遅延時間を算出する処理を繰り返し行い、複数の時刻補正値と片道遅延時間の平均を算出するので、より適切に時刻補正値と片道遅延時間を算出することが可能である。
[システム構成]
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[プログラム]
また、上記実施形態において説明した遅延時間評価装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態1に係る遅延時間評価装置10が実行する処理をコンピュータが実行可能な言語で記述した遅延時間評価プログラムを作成することもできる。この場合、コンピュータが遅延時間評価プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる遅延時間評価プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録され遅延時間評価プログラムをコンピュータに読み込ませて実行することにより上記実施形態1と同様の処理を実現してもよい。以下に、図1に示した遅延時間評価装置10と同様の機能を実現する遅延時間評価プログラムを実行するコンピュータの一例を説明する。
図10は、遅延時間評価プログラムを実行するコンピュータ1000を示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図10に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1061に接続される。
ここで、図10に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の遅延時間評価プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種手順を実行する。
なお、遅延時間評価プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、遅延時間評価プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 遅延時間評価装置
11 収集部
12 抽出部
13 管理部
14 取得部
15 算出部
16 作成部
20 ユーザ端末
30 サーバ
40 ゲートウェイ
50 インターネット
100 通信ネットワークシステム

Claims (5)

  1. 第一の装置と中継装置との間で通信されたパケット、及び、第二の装置と中継装置との間で通信されたパケットそれぞれのキャプチャデータを収集する収集部と、
    前記収集部によって収集されたキャプチャデータのうち、セッション確立に関する情報を解析して、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定する特定部と、
    前記特定部によって特定されたセッション確立シーケンスのうち、第一の装置と中継装置との間における第一のセッション確立シーケンスと、第二の装置と中継装置との間における第二のセッション確立シーケンスとを対応付けて管理する管理部と、
    前記管理部によって対応付けられた前記第一のセッション確立シーケンスと前記第二のセッション確立シーケンスとにおいて、前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを取得する取得部と、
    前記取得部によって取得された前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを用いて、前記第一の装置と前記第二の装置との間の通信にかかる時間である遅延時間を算出する算出部と、
    を備えることを特徴とする遅延時間評価装置。
  2. 前記算出部は、前記遅延時間を算出するとともに、前記取得部によって取得された前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを用いて、第一の装置と中継装置との間で通信されたパケットのキャプチャデータと、第二の装置と中継装置との間で通信されたパケットキャプチャデータとの時刻のずれを算出することを特徴とする請求項1に記載の遅延時間評価装置。
  3. 前記特定部は、セッション確立に関する情報として、同期フラグおよび確認フラグを解析して、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定することを特徴とする請求項1または2に記載の遅延時間評価装置。
  4. 前記算出部は、所定の回数だけ、前記遅延時間を算出する処理を繰り返し行い、複数の遅延時間の平均を算出することを特徴とする請求項1〜3のいずれか一つに記載の遅延時間評価装置。
  5. 遅延時間を算出する遅延時間評価装置で実行される遅延時間評価方法であって、
    第一の装置と中継装置との間で通信されたパケット、及び、第二の装置と中継装置との間で通信されたパケットそれぞれのキャプチャデータを収集する収集工程と、
    前記収集工程によって収集されたキャプチャデータのうち、セッション確立に関する情報を解析して、セッション確立が行われた際に通信が行われたパケットのキャプチャデータを検出し、該キャプチャデータからセッション確立シーケンスを特定する特定工程と、
    前記特定工程によって特定されたセッション確立シーケンスのうち、第一の装置と中継装置との間における第一のセッション確立シーケンスと、第二の装置と中継装置との間における第二のセッション確立シーケンスとを対応付けて管理する管理工程と、
    前記管理工程によって対応付けられた前記第一のセッション確立シーケンスと前記第二のセッション確立シーケンスとにおいて、前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを取得する取得工程と、
    前記取得工程によって取得された前記第一の装置から前記第二の装置へ送信されるパケットの送信時刻および受信時刻と、前記第二の装置から前記第一の装置へ送信されるパケットの送信時刻および受信時刻とを用いて、前記第一の装置と前記第二の装置との間の通信にかかる時間である遅延時間を算出する算出工程と、
    を含んだことを特徴とする遅延時間評価方法。
JP2012115729A 2012-05-21 2012-05-21 遅延時間評価装置および遅延時間評価方法 Pending JP2013243534A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012115729A JP2013243534A (ja) 2012-05-21 2012-05-21 遅延時間評価装置および遅延時間評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012115729A JP2013243534A (ja) 2012-05-21 2012-05-21 遅延時間評価装置および遅延時間評価方法

Publications (1)

Publication Number Publication Date
JP2013243534A true JP2013243534A (ja) 2013-12-05

Family

ID=49844017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012115729A Pending JP2013243534A (ja) 2012-05-21 2012-05-21 遅延時間評価装置および遅延時間評価方法

Country Status (1)

Country Link
JP (1) JP2013243534A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016075924A1 (ja) * 2014-11-10 2016-05-19 日本電気株式会社 情報処理システム及び遅延計測方法
CN114697241A (zh) * 2022-04-07 2022-07-01 机械工业仪器仪表综合技术经济研究所 一种端到端的时延测试系统及方法
JP2022547368A (ja) * 2020-08-01 2022-11-14 シトリックス・システムズ・インコーポレイテッド デスクトップサービスシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016075924A1 (ja) * 2014-11-10 2016-05-19 日本電気株式会社 情報処理システム及び遅延計測方法
US10554509B2 (en) 2014-11-10 2020-02-04 Nec Corporation Information processing system and delay measurement method
JP2022547368A (ja) * 2020-08-01 2022-11-14 シトリックス・システムズ・インコーポレイテッド デスクトップサービスシステム
CN114697241A (zh) * 2022-04-07 2022-07-01 机械工业仪器仪表综合技术经济研究所 一种端到端的时延测试系统及方法
CN114697241B (zh) * 2022-04-07 2023-09-12 机械工业仪器仪表综合技术经济研究所 一种端到端的时延测试系统及方法

Similar Documents

Publication Publication Date Title
US11606275B2 (en) Network quality measurement method and apparatus
Maier et al. On dominant characteristics of residential broadband internet traffic
US9577906B2 (en) Scalable performance monitoring using dynamic flow sampling
US9007929B2 (en) Correlating communication transactions across communication networks
US7779133B2 (en) Estimation of web client response time
CN102377620B (zh) 基于osi传输层时间戳的宽带私接检测方法
US20120257529A1 (en) Computer system and method of monitoring computer system
US9660833B2 (en) Application identification in records of network flows
US9634851B2 (en) System, method, and computer readable medium for measuring network latency from flow records
Murray et al. An analysis of changing enterprise network traffic characteristics
US20180343182A1 (en) Network traffic capture analysis
CN103220161A (zh) 一种服务器状态的探测方法和装置
US10523549B1 (en) Method and system for detecting and classifying networked devices
CN110691007A (zh) 一种精确测量quic连接丢包率的方法
TW201626759A (zh) 用於自共用公用ip位址之網際網路請求訊務偵測由一具有額外非指定網域名稱的網路伺服器所選擇之複數個用戶端終端機之裝置的數量之方法,及用於選擇性偵測其之系統
JP2013243534A (ja) 遅延時間評価装置および遅延時間評価方法
KR101469285B1 (ko) 정책기반 라우팅을 이용한 선택적인 인터넷 트래픽 분석 시스템 및 그 방법
CN108667913B (zh) 共享终端接入管理的方法、装置、计算机设备和存储介质
CN110912904B (zh) 恶意设备识别方法、装置、存储介质和计算机设备
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
KR20110057529A (ko) 더미요청 태그를 이용한 서버의 응답시간 측정 시스템 및 그 방법
KR20110067871A (ko) Ip 망에서 oam 패킷을 이용한 트래픽 감시 및 제어를 위한 네트워크 액세스 장치 및 방법
TW201038009A (en) Real-time traffic measurement system of IP network centralized network management and distributed nodes
JP2010239392A (ja) サービス不能攻撃制御システム、装置、および、プログラム
JP2016144153A (ja) サービス監視装置、および、サービス監視方法