JP6800933B2 - ネットワーク評価装置、評価方法およびプログラム - Google Patents

ネットワーク評価装置、評価方法およびプログラム Download PDF

Info

Publication number
JP6800933B2
JP6800933B2 JP2018192456A JP2018192456A JP6800933B2 JP 6800933 B2 JP6800933 B2 JP 6800933B2 JP 2018192456 A JP2018192456 A JP 2018192456A JP 2018192456 A JP2018192456 A JP 2018192456A JP 6800933 B2 JP6800933 B2 JP 6800933B2
Authority
JP
Japan
Prior art keywords
packet
data
received
packets
evaluation
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.)
Active
Application number
JP2018192456A
Other languages
English (en)
Other versions
JP2020061677A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2018192456A priority Critical patent/JP6800933B2/ja
Priority to US16/580,395 priority patent/US11190426B2/en
Publication of JP2020061677A publication Critical patent/JP2020061677A/ja
Application granted granted Critical
Publication of JP6800933B2 publication Critical patent/JP6800933B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

本発明はネットワーク評価装置、評価方法およびプログラムに関する。
LAN(Local Area Network)やインターネットなどにおいて、例えばTCPのような通信プロトコルを用いている。TCPなどの通信プロトコルでは、データが分割されたパケットを、通信経路を介して送信している。例えばサーバとクライアントの間の通信における安定性を評価するために、パケットキャプチャで通信のパケットを取得し、パケットロス率を算出する手法がある。
パケットロス率を算出するには、パケットロスがあるか否かを検出する必要がある。このためには、送信されたが受信されないパケットを見つけ出す必要があり、送信側の装置と受信側の装置との間での通信経路におけるパケットロス率を計測することは容易でなかった。
本発明は上記課題を鑑みてなされたものであり、その目的は、通信経路におけるネットワークの安定性をより容易に評価する技術を提供することにある。
上記課題を解決するために、本発明にかかるネットワーク評価装置は、それぞれ送信元からデータが送信される順序を示す識別値を含み1つずつ受信される複数のパケットを取得する取得手段と、前記受信された複数のパケットのうちいずれかである第1のパケットに含まれる前記識別値が、前記第1のパケットが当該第1のパケットより前に受信された第2のパケットより前に送信されることを示す場合に、送受信経路の不安定性を示す評価値を増加させる評価手段と、を含む。
本発明にかかる評価方法は、それぞれ送信元からデータが送信される順序を示す識別値を含み1つずつ受信される複数のパケットを取得するステップと、前記受信された複数のパケットのうちいずれかである第1のパケットに含まれる前記識別値が、前記第1のパケットが当該第1のパケットより前に受信された第2のパケットより前に送信されることを示す場合に、送受信経路の不安定性を示す評価値を増加させるステップと、を含む。
本発明にかかるプログラムは、それぞれ送信元からデータが送信される順序を示す識別値を含み1つずつ受信される複数のパケットを取得する取得手段、および、前記受信された複数のパケットのうちいずれかである第1のパケットに含まれる前記識別値が、前記第1のパケットが当該第1のパケットより前に受信された第2のパケットより前に送信されることを示す場合に、送受信経路の不安定性を示す評価値を増加させる評価手段、としてコンピュータを機能させる。
本発明によれば、通信経路におけるネットワークの安定性をより容易に評価することができる。
本発明の一形態では、前記評価手段は、前記送信元との間の接続ごとに前記評価値を算出してもよい。
本発明の一形態では、前記評価手段は、前記接続が終了した場合に、前記評価値を出力してもよい。
本発明の一形態では、前記評価手段は、前記接続において所定の数より多いパケットを受信した場合に、前記評価値を出力してもよい。
本発明の一形態では、前記評価手段は、前記接続において受信される複数のパケットのうち、先頭から所定の数のパケットを除く複数のパケットについて前記評価値を算出してもよい。
本発明の一形態では、前記第2のパケットは、前記第1のパケットを受信する前に受信された複数のパケットのうち、順序が最後であることを示す識別値を含み、前記評価手段は、前記第1のパケットに含まれる前記識別値が、前記第1のパケットが前記第2のパケットより前の順序であることを示す場合に、前記第1のパケットの識別値と前記第2のパケットの識別値との差に応じた値を前記評価値に加算してもよい。
通信システムのハードウェア構成を示す図である。 通信システムが実現する機能を示すブロック図である。 通信の概要を示す図である。 受信処理の一例を示すフローチャートである。 受信処理の一例を示すフローチャートである。 バッファに格納されるパケットのデータの一例を示す図である。 バッファに格納されるデータと受信パケットとの一例を示す図である。 バッファに格納されるデータと受信パケットとの他の一例を示す図である。 バッファに格納されるデータと受信パケットとの他の一例を示す図である。 バッファに格納されるデータと受信パケットとの他の一例を示す図である。 バッファに格納されるデータと受信パケットとの他の一例を示す図である。 バッファに格納されるデータと受信パケットとの他の一例を示す図である。 リオーダー率を出力する処理の一例を示す図である。
以下では、本発明の実施形態について図面に基づいて説明する。出現する構成要素のうち同一機能を有するものには同じ符号を付し、その説明を省略する。
図1は、本発明の実施形態にかかる通信システムのハードウェア構成を示す図である。本発明にかかる通信システムは、第1の装置10と、第2の装置20とを含む。第1の装置10は、プロセッサ11、記憶部12、通信部13、入出力部14を含むコンピュータである。第2の装置20は、プロセッサ21、記憶部22、通信部23、入出力部24を含むコンピュータである。例えば、第1の装置10がサーバコンピュータであり、第2の装置20が家庭内のLANに接続される家庭用ゲーム機であってもよい。
プロセッサ11は、記憶部12に格納されているプログラムに従って動作し、通信部13、入出力部14を制御する。プロセッサ21は、記憶部22に格納されているプログラムに従って動作し、通信部23、入出力部24を制御する。上記プログラムは、フラッシュメモリ等のコンピュータで読み取り可能な記憶媒体により供給されてもよいし、インターネット等のネットワークを介して提供されてよい。
記憶部12、記憶部22は、DRAMや、フラッシュメモリやハードディスクドライブなどの外部記憶装置によって構成されている。記憶部12,22は、上記プログラムを格納する。また、記憶部12,22は、プロセッサ11,21や通信部13,23等から入力される情報や演算結果を格納する。
通信部13,23は他の機器と通信するための集積回路やアンテナなどにより構成されている。通信部13,23は、ネットワークに接続するためのコネクタやチップなどで構成される。通信部13,23は、LANなどのネットワークを介して他の装置へデータを送信し、他の装置から送信されるデータを受信する。
入出力部14は、キーボードなどの入力デバイスからの情報を取得する回路と、音声出力デバイスや画像表示デバイスなどの出力デバイスを制御する回路とを含む。入出力部14は、入力デバイスから入力信号を取得し、その入力信号が変換された情報をプロセッサ11や記憶部12に入力する。また入出力部14は、プロセッサ11などの制御に基づいて、音声をスピーカに出力させ、画像を表示デバイスに出力させる。
図2は、通信システムが実現する機能を示すブロック図である。第1の装置10は、機能的に、送信部51を含み、第2の装置20は、機能的に、受信部56、ネットワーク評価部57、アプリケーション実行部58を含む。送信部51は、主に、第1の装置10に含まれるプロセッサ11が記憶部12に格納されるプログラムを実行し、通信部13を制御することにより実現される。受信部56は、主に、第2の装置20に含まれるプロセッサ21が記憶部22に格納されるプログラムを実行し、通信部23を制御することにより実現される。ネットワーク評価部57、アプリケーション実行部58は、主に、プロセッサ21が記憶部22に格納されるプログラムを実行し、必要に応じて入出力部14を制御することにより実現される。なお、図2には説明に必要な構成のみを記載しており、実際には第1の装置10にも受信部56に相当する構成が存在し、第2の装置20にも送信部51に相当する構成が存在する。
送信部51は、第2の装置20の特定のポートと通信接続し、通信接続されたポートへ複数のパケットPを送信する。送信部51は、パケットPのサイズより大きなデータを複数のパケットPに分割し、分割されたパケットPを送信する。パケットPのそれぞれはデータの本体が送信される順序を示す識別値としてシーケンス番号を含む。シーケンス番号は初めて送信されるパケットPに対して付与され、通信の異常などにより再送信されるパケットPは、初めて送信される際に付与されたシーケンス番号を含む。
送信されたパケットPが第2の装置20に到達すると、第2の装置20から第1の装置10へそのパケットPについての確認応答ACKが送信される。送信部51は確認応答ACKを受信し、いずれかの送信済のパケットPについてあらかじめ定められた時間に確認応答ACKを受信できなかった場合には、そのパケットPを再び送信する。
受信部56は、第1の装置10と通信接続し、送信部51から通信接続されたポートへ送信される複数のパケットPを1つずつ受信することにより、その受信されたパケットPを取得する。
ネットワーク評価部57は、受信されたパケットPのうちいずれかである第1のパケットPに含まれる識別値が、その第1のパケットPより前に受信された第2のパケットPより前にその第1のパケットPが送信されることを示す場合に、送受信経路の不安定性を示す評価値を増加させる。またネットワーク評価部57は、その評価値をアプリケーション実行部58や記憶部12へ出力する。
アプリケーション実行部58は、ネットワーク評価部57から出力された評価値に応じた処理を実行する。例えば、アプリケーション実行部58は、ある接続についての評価値が、ネットワークが不安定であることを示す場合には、第1の装置10との接続を終了し、あらたに、第1の装置10と同じ機能を有する他の装置と接続する。また、アプリケーション実行部58は、その評価値を図示しない管理サーバへ送信してもよい。管理サーバは、送信された評価値を統計処理し、ネットワークの構成を動的に変更してもよい。
図3は、第1の装置10と第2の装置20との間の通信の概要を示す図である。送信部51は、あらかじめ定められたデータ量(ウインドウサイズ)の送信領域に収まるパケットP1からP4を順に送信する。パケットP1,P2,P4が第2の装置20に受信され、パケットP3は通信が不安定になり、通信経路上で失われたとする。
第2の装置20がパケットP1,P2についての確認応答ACK(2)を送信し、送信部51がその確認応答ACK(2)を受信すると、送信部51はパケットP1,P2を送信領域から除外し、除外により送信領域に収めることができる新たなパケットP5,P6を送信する。一方、送信部51は、送信から再送タイムアウトRTを経過しても確認応答ACKを受信しないパケットP3を検出し、その検出されたパケットP3を再送する。図示しないが、第2の装置20は、パケットP5,P6を受信した場合にもパケットP2まで正常に受信している旨の確認応答ACK(2)を送信する。そこで、送信部51は、同一の確認応答ACKを所定の回数受信した場合に、その確認応答ACK(2)が示す正常に受信できたパケットP2の後続のパケットP3を再送してもよい。
図3をみると、再送が発生すると、第2の装置20からみて、パケットP3はパケットP6より後に受信しており、元の送信順と異なっている。また、通信の輻輳などにより通信が不安定になると、ルータの動作によりパケットPの受信順が変化することもある。以下では、この現象を利用して通信の安定性を評価する手法について説明する。
図4および5は、第2の装置20における受信処理の一例を示すフローチャートであり、受信部56およびネットワーク評価部57の処理の一例を示す図である。受信部56およびネットワーク評価部57のプログラムは、いわゆるTCP層のプロトコルスタックとして実行される。図4および5に示されるフローチャートは、送信部51の送信ポートと受信部56の受信ポートとの間で通信接続が確立されてから切断されるまでの間に、受信部56がパケットPを受信するごとに実行される。
はじめに、受信部56は、受信ポートに受信されたパケットPである受信パケットPRを受信順にしたがって1つ取得する(ステップS201)。受信パケットPRは、データを含み、さらに、そのデータの先頭がこの通信接続で送信される一連のデータのうちどの順序にあるかを示す先頭シーケンス番号と、データサイズとを含む。
次に、受信パケットPRのシーケンス番号が、受信最終番号TBより大きいか判定する(ステップS202)。ここで、受信最終番号TBは、これまでに受信部56がこの通信接続で受信したパケットPのデータのうち、最もうしろの位置を示すシーケンス番号であり、これまでに受信したパケットPのうち最も後ろに位置するものを示す識別値に相当する。シーケンス番号が、受信最終番号TBより大きい場合は(ステップS202のY)、受信パケットPRの受信順の入れ替わりの可能性がないケースの処理である、ステップS203以降の処理を実行する。シーケンス番号が、受信最終番号TB以下の場合(ステップS202のN)の処理については後述する。
ステップS203では、バッファに受信パケットPRを格納し、受信最終番号TBを、受信パケットPRのデータの末尾を示すシーケンス番号に更新する(ステップS203)。バッファは、受信されたパケットPのデータがそのデータのシーケンス番号と紐づけて格納される記憶部12の領域である。
図6は、バッファに格納されるデータの一例を示す図である。図6は、シーケンス番号がそれぞれ、1から1024、1025から2048、2049から3072、4097から5120、5121から6144、7169から8192、8193から9216であるデータを含む7つのパケットPが受信され、バッファに格納されるケースを示している。パケットPのデータは例えばバイトやワードといった単位に分割され、その単位ごとにシーケンス番号が対応付けられている。そのため、一つのパケットPにおける先頭シーケンス番号と次のパケットPの先頭シーケンス番号との差はデータサイズに相当する。
図6に示されるケースでは、受信最終番号TBは9216である。次期番号RNは、連続して受信できているデータの次の位置を示すシーケンス番号であり、図6の例では、シーケンス番号が3073から4096のデータを受信していないため、次期番号RNは3073となる。
受信最終番号TBが更新されると、受信パケットPRの先頭シーケンス番号が次期番号RNと等しい場合には(ステップS205のY)、次期番号RNを受信パケットPRの末尾の次を示すシーケンス番号(末尾のシーケンス番号に1が加算されたシーケンス番号)に更新する(ステップS205)。途中で紛失したパケットPのデータの受信を待つ状態でなく、かつ送信部51からのパケットPを連続的に受信する場合には、次期番号RNと受信パケットPRの先頭シーケンス番号とが一致する。
そして、受信部56は確認応答ACKを送信部51にむけて送信する(ステップS206)。
図7は、バッファに格納されるデータと受信パケットPRとの一例を示す図である。図7は、図6に示されるバッファの状態に、先頭シーケンス番号が受信最終番号TBより大きい受信パケットPRが受信された場合の例について示している。この場合には、受信最終番号TBが更新され、次期番号RNは更新されない。
受信パケットPRの先頭シーケンス番号が次期番号RNと等しくない場合には(ステップS205のN)、データの入れ替わりが起きている可能性があるケースの処理であるステップS210以降の処理を実行する。
ステップS210では、受信パケットPRに含まれるデータのうち、バッファにすでに格納されているデータと位置が重複しない領域にあるデータをバッファに格納する(ステップS210)。
図8は、バッファに格納されるデータと受信パケットPRとの他の一例を示す図である。図8の例では、受信パケットPRに含まれるデータのシーケンス番号は、3073から5120であり、その一部である4097から5120のデータがバッファにすでに格納されているデータを重複している。この場合には、新たにバッファに格納されるデータは、シーケンス番号3073から5120のデータである。なお、受信パケットPRにより次期番号RNおよびリオーダー数RCが更新されるが、その詳細は後述する。
バッファにデータが格納されると、受信部56は、新たにバッファに格納された受信パケットPRのデータが存在するか判定する(ステップS211)。新たにバッファに格納されたデータがない場合には(ステップS211のN)、この受信パケットPRについての処理を終了する。
図9は、バッファに格納されるデータと受信パケットPRとの他の一例を示す図である。図9の例では、受信パケットPRに含まれるすべてのデータの位置(シーケンス番号が示す位置)が、すでに受信されバッファに格納されているデータと重複しているため新たにバッファに格納されるデータはなく、受信部56は単に受信パケットPRを破棄し確認応答ACKを送信しない。また、すべてのデータがすでにバッファに格納されているものと重複する受信パケットPRは、ネットワーク評価部57の処理の対象から除外される。
新たにバッファに格納されたデータが存在する場合には(ステップS211のY)、受信部56は、受信パケットPRに含まれるデータに対するシーケンス番号が、次期番号RNを含む場合、言い換えれば、次期番号RNが先頭シーケンス番号以上でありかつ受信パケットPRの末尾シーケンス番号(先頭シーケンス番号とデータサイズとの和)未満の場合には(ステップS212)、次期番号RNを更新する(ステップS213)。そして、ステップS212の判定結果に関わらず、受信部56は確認応答ACKを送信部51へ向けて送信する(ステップS214)。
図10は、バッファに格納されるデータと受信パケットPRとの他の一例を示す図である。図10の例では、受信パケットPRの先頭シーケンス番号3073と次期番号RNとが等しくステップS211の条件を満たすので、受信部56は次期番号RNを更新する。受信部56は新たな次期番号RNに、バッファに格納されるデータのうち、更新前の次期番号RNから連続的に配置されているデータの終端に対応するシーケンス番号の次の値(図10の例では6145)を設定する。
図11は、バッファに格納されるデータと受信パケットPRとの他の一例を示す図である。図11の例では、受信パケットPRのデータがバッファに格納されていたデータと重複しない。そのため受信パケットPRのデータがバッファに格納される。一方、受信パケットPRは次期番号RNの位置に相当するデータを含まないため、次期番号RNが更新されない。
図12は、バッファに格納されるデータと受信パケットPRとの他の一例を示す図である。図12の例では、受信パケットPRに含まれるデータにおいて、先頭シーケンス番号が次期番号RNと等しく、末尾シーケンス番号が受信最終番号TBと等しい。このような場合には受信部56は受信パケットPRのデータのうち、バッファに格納されていない領域についてバッファに格納し、さらに次期番号RNを受信最終番号TBに更新する。
さらに、新たにバッファに格納されたデータが存在する場合には(ステップS211のY)、ネットワーク評価部57は、新たにバッファに格納されたデータが、受信最終番号TBより小さいシーケンス番号のものを含むか判定する(ステップS215)。この判定は、受信パケットPRの先頭シーケンス番号が示す位置より後ろにある、すでに受信されバッファに格納されたデータが存在するか否かを判定することと等価である。新たにバッファに格納されたデータが、受信最終番号TBより小さいシーケンス番号のものを含む場合には(ステップS215のY)、ネットワーク評価部57はリオーダー数RCを増加させる(ステップS216)。
ここで、ネットワーク評価部57は、リオーダー数RCを増加させる際に、リオーダー数RCに1を加算してもよいし、受信最終番号TB(これまでに受信されたパケットPの中で最も後の順序であることを示す識別値に相当する)と受信パケットPRのシーケンス番号との差に応じた値を加算してもよい。後者の場合、受信パケットPRの順序の入れ替わりが大きくなるほど不安定であると評価することが可能になる。
図7から12を用いて、リオーダー数RCが増加するか否かについてより具体的に説明する。図7の例では、受信パケットPRのシーケンス番号は受信最終番号TBより後ろにあるため、ネットワーク評価部57はリオーダー数RCをカウントせず、図9のように、新たにバッファに格納されるデータが存在しないケースにおいても、ネットワーク評価部57はリオーダー数RCをカウントしない。一方、図8,10から12のように、受信パケットPRが受信最終番号TBより前のシーケンス番号のデータを含む場合には、ネットワーク評価部57はリオーダー数RCをカウントする。
リオーダー数RCがカウントされるケースでは、後から受信される受信パケットPRがその前に受信されたパケットPのうち最後のシーケンス番号のデータを含むものより前に位置し、データの並び順と受信順とが一致していない。このようなケースは通信の不安定が生じるケースであり、パケットロスが生じるケースに近い。リオーダー数RCをカウントすることで、パケットロスに近い特性を有する指標を取得することが可能になる。
ステップS216の処理が実行されるか、ステップS215で条件を満たさないと判定された場合には(ステップS215のN)、受信部56は、受信パケットPRが、受信最終番号TBより大きいシーケンス番号のデータを含むか否か、言い換えれば、受信パケットPRの末尾シーケンス番号が受信最終番号TBより大きいか否かを判定する(ステップS217)。受信パケットPRの末尾シーケンス番号が受信最終番号TBより大きい場合には(ステップS217のY)、受信部56は受信最終番号TBを、受信パケットPRの末尾シーケンス番号に更新する(ステップS218)。更新された受信最終番号TBは、後続の受信パケットPRに対して図4,5の処理をする際に用いられる。
次に、カウントされたリオーダー数RCからリオーダー率を算出する処理について説明する。図13は、リオーダー率を出力する処理の一例を示す図である。
図13に示される処理は、送信部51と受信部56との間の1または複数の通信接続のそれぞれが切断されるごとに実行されるが、後で複数の通信接続のそれぞれについてまとめて実行されてもよい。この場合、受信部56は、切断の際に記憶部12にリオーダー数RC、後述の受信パケット数、通信接続の終了状況を記憶部12に格納し、ネットワーク評価部57が記憶部12に格納された値を用いて図13に示される処理を実行してもよい。
はじめに、ネットワーク評価部57は、通信接続が正常に終了したか否かを判定する(ステップS301)。通信接続が異常に終了した場合には(ステップS301のN)、ネットワーク評価部57はリオーダー率の算出をせず処理を終了する。一方、通信接続が正常に終了した場合には(ステップS301のY)、ネットワーク評価部57は、終了した通信接続において受信されたパケットPの数である受信パケット数が閾値(例えば300)以上であるか否かを判定する(ステップS302)。受信パケット数が閾値未満の場合には(ステップS302のN)、ネットワーク評価部57はリオーダー率の算出をせず処理を終了する。一方、受信パケット数が閾値以上の場合には(ステップS302のY)、ネットワーク評価部57はリオーダー数RCを受信パケット数で除算することにより、リオーダー率を算出する(ステップS303)。そして、ネットワーク評価部57は算出されたリオーダー率を記憶部12やアプリケーションへ出力する(ステップS304)。
通常のパケットPの送受信では、送信部51および受信部56は通信経路における適正な通信速度を把握することができないため、通信速度が実情に合わせてある程度安定するまでは通信の状態が不安定になりやすい。そこで、受信パケット数が閾値以上の通信接続に限ってリオーダー率を求めることで、異常値が生じる可能性を減らすことができる。
ここで、受信パケット数によってリオーダー率を算出するか判断する代わりに、通信接続の開始から受信される所定の数のパケットPを、リオーダー数RCおよびリオーダー率の算出対象から外し、残りのパケットPについてリオーダー数RCおよびリオーダー率を算出してもよい。具体的には、受信パケット数が所定の値以下である場合には、ネットワーク評価部57はステップS215、S216の処理をスキップし、またネットワーク評価部57は、ステップS303においてリオーダー数RCを受信パケット数から所定の値をひいた値で除算することによりリオーダー率を算出する。
図13の例では、正常終了した通信接続に限定してリオーダー率を算出している。これについても、通信接続が異常終了するケースでは統計的に異常値が算出されることが多いためである。このケースを除外することで、異常値が生じる可能性を減らすことができる。
なお、ネットワーク評価部57がデータを受信する第2の装置20と異なる装置に設けられてもよい。この場合は、受信部56の代わりに、第2の装置20へ送信されるパケットPをキャプチャする機能を設け、ネットワーク評価部57がその機能の一部として実装されてもよいし、ネットワーク評価部57があらかじめ取得され受信された順に記憶部12に格納される複数のパケットPを読み出すツールとして実装されてもよい。
10 第1の装置、11,21 プロセッサ、12,22 記憶部、13,23 通信部、14,24 入出力部、20 第2の装置、51 送信部、56 受信部、57 ネットワーク評価部、58 アプリケーション実行部、ACK 確認応答、P,P1,P2,P3,P4,P5,P6 パケット、PR 受信パケット、RC リオーダー数、RN 次期番号、TB 受信最終番号、RT 再送タイムアウト、

Claims (8)

  1. それぞれ送信元からデータが送信される順序を示す識別値を含む複数のパケットを1つずつ受信し、前記受信されるパケットに含まれるデータのうち既にバッファに格納されたデータと位置が重複しないデータを前記バッファに格納する取得手段と、
    前記受信された複数のパケットのうちいずれかである第1のパケットに含まれる前記識別値が、前記第1のパケットが当該第1のパケットより前に受信された第2のパケットより前に送信されることを示し、かつ、当該第1のパケットに含まれるデータのうち少なくとも一部が前記バッファに格納された場合に、送受信経路の不安定性を示す評価値を増加させる評価手段と、
    を含むネットワーク評価装置。
  2. 請求項1に記載のネットワーク評価装置において、
    前記評価手段は、前記送信元との間の接続ごとに前記評価値を算出する、
    ネットワーク評価装置。
  3. 請求項2に記載のネットワーク評価装置において、
    前記評価手段は、前記接続が終了した場合に、前記評価値を出力する、
    ネットワーク評価装置。
  4. 請求項2または3に記載のネットワーク評価装置において、
    前記評価手段は、前記接続において所定の数より多いパケットを受信した場合に、前記評価値を出力する、
    ネットワーク評価装置。
  5. 請求項2または3に記載のネットワーク評価装置において、
    前記評価手段は、前記接続において受信される複数のパケットのうち、先頭から所定の数のパケットを除く複数のパケットについて前記評価値を算出する、
    ネットワーク評価装置。
  6. 請求項1から5のいずれかに記載のネットワーク評価装置において、
    前記第2のパケットは、前記第1のパケットを受信する前に受信された複数のパケットのうち、順序が最後であることを示す識別値を含み、
    前記評価手段は、前記第1のパケットに含まれる前記識別値が、前記第1のパケットが前記第2のパケットより前の順序であることを示す場合に、前記第1のパケットの識別値と前記第2のパケットの識別値との差に応じた値を前記評価値に加算する、
    ネットワーク評価装置。
  7. それぞれ送信元からデータが送信される順序を示す識別値を含む複数のパケットを1つずつ受信し、前記受信されるパケットに含まれるデータのうち既にバッファに格納されたデータと位置が重複しないデータを前記バッファに格納するステップと、
    前記受信された複数のパケットのうちいずれかである第1のパケットに含まれる前記識別値が、前記第1のパケットが当該第1のパケットより前に受信された第2のパケットより前に送信されることを示し、かつ、当該第1のパケットに含まれるデータのうち少なくとも一部が前記バッファに格納された場合に、送受信経路の不安定性を示す評価値を増加させるステップと、
    を含むネットワーク評価方法。
  8. それぞれ送信元からデータが送信される順序を示す識別値を含む複数のパケットを1つずつ受信し、前記受信されるパケットに含まれるデータのうち既にバッファに格納されたデータと位置が重複しないデータを前記バッファに格納する取得手段、および、
    前記受信された複数のパケットのうちいずれかである第1のパケットに含まれる前記識別値が、前記第1のパケットが当該第1のパケットより前に受信された第2のパケットより前に送信されることを示し、かつ、当該第1のパケットに含まれるデータのうち少なくとも一部が前記バッファに格納された場合に、送受信経路の不安定性を示す評価値を増加させる評価手段、
    としてコンピュータを機能させるためのプログラム。
JP2018192456A 2018-10-11 2018-10-11 ネットワーク評価装置、評価方法およびプログラム Active JP6800933B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018192456A JP6800933B2 (ja) 2018-10-11 2018-10-11 ネットワーク評価装置、評価方法およびプログラム
US16/580,395 US11190426B2 (en) 2018-10-11 2019-09-24 Network evaluating apparatus, network evaluating method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018192456A JP6800933B2 (ja) 2018-10-11 2018-10-11 ネットワーク評価装置、評価方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020061677A JP2020061677A (ja) 2020-04-16
JP6800933B2 true JP6800933B2 (ja) 2020-12-16

Family

ID=70160276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018192456A Active JP6800933B2 (ja) 2018-10-11 2018-10-11 ネットワーク評価装置、評価方法およびプログラム

Country Status (2)

Country Link
US (1) US11190426B2 (ja)
JP (1) JP6800933B2 (ja)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008004616A1 (fr) * 2006-07-07 2008-01-10 Nec Corporation Procédé, dispositif et programme d'estimation et système de mesure de réseau
JP2008219127A (ja) * 2007-02-28 2008-09-18 Nec Corp ネットワーク品質計測装置、ネットワーク品質計測方法及びネットワーク品質計測プログラム
JP2009081737A (ja) * 2007-09-26 2009-04-16 Fujitsu Fsas Inc 品質情報通知システムおよび品質情報通知方法
US8474034B2 (en) * 2011-04-19 2013-06-25 Futurewei Technologies, Inc. Method and apparatus for fast check and update of anti-replay window without bit-shifting in internet protocol security
WO2013145031A1 (en) * 2012-03-30 2013-10-03 Fujitsu Limited Link aggregation apparatus
US9585048B2 (en) * 2013-10-30 2017-02-28 Qualcomm Incorporated Techniques for aggregating data from WWAN and WLAN
JP6553196B2 (ja) * 2015-01-27 2019-07-31 ノキア ソリューションズ アンド ネットワークス オサケユキチュア トラフィックフローの監視
US10509764B1 (en) * 2015-06-19 2019-12-17 Amazon Technologies, Inc. Flexible remote direct memory access
US10200435B2 (en) * 2015-09-22 2019-02-05 Pathsolutions, Inc. Network communications service quality monitor
US9985872B2 (en) * 2016-10-03 2018-05-29 128 Technology, Inc. Router with bilateral TCP session monitoring
US10644978B2 (en) * 2017-11-22 2020-05-05 Hughes Network Systems, Llc Latency increase estimated rate limiter adjustment
CN109905209B (zh) * 2017-12-07 2020-12-29 网宿科技股份有限公司 一种设置网络乱序值的方法和装置
CN111654447B (zh) * 2018-01-16 2023-04-18 华为技术有限公司 一种报文传输的方法及装置

Also Published As

Publication number Publication date
JP2020061677A (ja) 2020-04-16
US11190426B2 (en) 2021-11-30
US20200120007A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
EP4123997A2 (en) Multi-path rdma transmission
US9596192B2 (en) Reliable link layer for control links between network controllers and switches
JP6015509B2 (ja) パケット解析プログラム、パケット解析方法、パケット解析装置、およびパケット解析システム
EP2591577B1 (en) Apparatus & method
EP2978171B1 (en) Communication method, communication device, and communication program
US10791054B2 (en) Flow control and congestion management for acceleration components configured to accelerate a service
US20190068502A1 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
US20220286402A1 (en) Method and apparatus for controlling data packet sending, model training method and apparatus, and system
US10079782B2 (en) Facilitating communication of data packets using credit-based flow control
CN104104608B (zh) 接收报文的方法及装置
US10601722B2 (en) Method and device for dynamically managing the message retransmission delay on an interconnection network
CN112383622B (zh) 用于数据中心联网的可靠传输协议和硬件架构
JP2020523950A (ja) 変更通知ありのtcpストリーム動的処理
US12101238B2 (en) Data transmission performance detection
CN113259490B (zh) 基于udp传输协议的多级节点网络数据传输方法
US10789115B2 (en) Transmitter that does not resend a packet despite receipt of a message to resend the packet
JP6800933B2 (ja) ネットワーク評価装置、評価方法およびプログラム
WO2017071430A1 (zh) 处理报文的方法、网卡及系统、更新信息的方法及主机
US11962517B2 (en) Communications method, apparatus, and system for recovering lost packets
JP2015097316A (ja) 中継装置および中継方法
JP2007243447A (ja) パケット送信制御装置
US11909851B2 (en) Coalescing interrupts based on fragment information in packets and a network controller for coalescing
JP3852600B2 (ja) 通信インタフェース装置およびプログラム
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R150 Certificate of patent or registration of utility model

Ref document number: 6800933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150