JP5292444B2 - Packet loss rate estimation apparatus, method, and program - Google Patents
Packet loss rate estimation apparatus, method, and program Download PDFInfo
- Publication number
- JP5292444B2 JP5292444B2 JP2011167681A JP2011167681A JP5292444B2 JP 5292444 B2 JP5292444 B2 JP 5292444B2 JP 2011167681 A JP2011167681 A JP 2011167681A JP 2011167681 A JP2011167681 A JP 2011167681A JP 5292444 B2 JP5292444 B2 JP 5292444B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- flow
- network
- sequence number
- storage means
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
本発明は、パケットロス率推定装置及び方法及びプログラムに係り、特に、TCP(Transmission Control Protocol)を用いて通信を行うIP(Internet Protocol)ネットワークにおいて、ネットワークのパケットロス率を推定するためのパケットロス率推定装置及び方法及びプログラムに関する。 The present invention relates to a packet loss rate estimation apparatus, method, and program, and more particularly to a packet loss rate for estimating a packet loss rate of a network in an IP (Internet Protocol) network that performs communication using TCP (Transmission Control Protocol). The present invention relates to a rate estimation apparatus, method, and program.
IPネットワークのパケットロス率を測定する方法は、大きく分けてパッシブ型とアクティブ型の二つに分けられる。パッシブ型は、ネットワークを流れるパケットの情報から測定する方法で、アクティブ型はネットワークに試験パケットを流すことで測定する方法である。 Methods for measuring the packet loss rate of an IP network can be broadly divided into two types: passive type and active type. The passive type is a method of measuring from information of packets flowing through the network, and the active type is a method of measuring by flowing test packets through the network.
アクティブ型とパッシブ型の測定には、それぞれ様々な方法が提案されているが、特にパッシブ型の測定方法の一つとして、TCPのシーケンス番号の情報を元にネットワークのパケットロス率を推定する方法がある。TCPは双方向の通信プロトコルであり、データパケットと受信確認のためのACKパケットから構成される。パッシブ型の測定方法として、TCPのデータパケットに着目し、データパケットのシーケンス番号を監視し、シーケンス番号の重複、番号飛びを検出し、独自の補正(再送パケットはパケットロスのカウントの母数に加えない等)を加えることによって、測定ポイントの前後のネットワーク(TCP送信端末〜測定ポイント、測定ポイント〜TCP受信端末)のパケットロス率を推定する方法がある(例えば、非特許文献1参照)。 Various methods have been proposed for active and passive measurements, respectively. One of the passive measurement methods is to estimate the packet loss rate of the network based on the TCP sequence number information. There is. TCP is a bi-directional communication protocol, and consists of a data packet and an ACK packet for confirmation of reception. As a passive measurement method, focusing on TCP data packets, monitoring the sequence number of the data packet, detecting duplication of sequence numbers, skipping of the number, and original correction (the retransmitted packet is used as the parameter of the packet loss count). There is a method for estimating the packet loss rate of the network (TCP transmission terminal to measurement point, measurement point to TCP reception terminal) before and after the measurement point (for example, see Non-Patent Document 1).
パケットロス率の推定精度は、上記の非特許文献1の評価によると、分析に用いるデータ量とネットワークの実際のパケットロス率に依存する特徴がある。測定ポイント〜TCP受信端末の推定においては、パケットロス率10-3程度のネットワークにおいては、測定誤差が0.2〜0.6(20〜60%)になることが文献の中で示されている(非特許文献1中のFig4・右下の図)。また、文献1「Dynamic Performance Limits of the Benko-Veres Passive TCP Packet Loss Estimation Algorithm", Claudio Favi and Grenville Armitage, ATNAC 2004, p.336-340.」において同じアルゴリズムで評価した結果があるが、非特許文献1の評価結果と同様に、10-3のパケットロス率では10,000パケットのデータ量を用いても約50%程度の誤差が出ることが示されている(同文献1中のFig5・0.001のグラフ)。国内のインターネットにおいては、パケットロス率が10-3程度であると言われており、非特許文献1のアルゴリズムを用いて推定した場合、最大で60%程度の誤差が出ることになる。誤差60%は非常に大きく、精度の向上が必要である。
According to the evaluation of Non-Patent
非特許文献1の方法では、TCPのデータパケットの情報のみを用いて推定を行っているが、データパケットから得られる情報は限られており、同じ方法で大幅な精度向上を行うのは困難であると考えられる。TCPは双方向の通信プロトコルであり、受信端末から送信端末に送られるACKパケットには正常に受信できたパケットのシーケンス番号の情報が含まれる。非特許文献1の方法において誤差が大きいのは、測定ポイント〜TCP受信端末の推定であり、誤差を大きくしている要因の一つがTCP送信端末のタイムアウト処理と考えられている。非特許文献1の方法では、同じシーケンス番号を持つデータパケットが複数回転送されてきた場合、ネットワークにおけるパケットロスが原因で再送されたものであると考える。しかし、実際には、TCPの送信端末は、データパケットの送信後一定の条件を満たすと、タイムアウト処理として、同じパケットの再送を行う。この再送によって、ネットワークでパケットロスが起きていないにも関わらず、パケットロスとカウントしてしまい、誤差を大きくする原因になっていると考えられている。
In the method of Non-Patent
本発明は、上記の点に鑑みなされたもので、タイムアウトによるパケットロスの誤判定を改善し、パケットロス率の推定精度を向上させることが可能なパケットロス率推定装置及び方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above points, and provides a packet loss rate estimation apparatus, method, and program capable of improving erroneous determination of packet loss due to timeout and improving the accuracy of estimation of the packet loss rate. For the purpose.
上記の課題を解決するために、本発明は、端末群がネットワークA及びネットワークBを介して、TCP通信を行うIPネットワークにおいて、該ネットワークのパケットロス率を推定するパケットロス率推定装置であって、
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向を検出し、フロー記憶手段に格納すると共に、該受信データパケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理手段と、
前記ACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、SACKパケットのシーケンス番号をSACK番号記憶手段に格納するACKパケット処理手段と、
前記データパケット情報、前記フロー記憶手段、前記SACK番号記憶手段を参照することにより、当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否かの判定、当該パケットが再送パケットか否かの判定、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントするデータパケット処理手段と、を有する。
In order to solve the above problems, the present invention provides a packet loss rate estimation apparatus for estimating a packet loss rate of an IP network in which a terminal group performs TCP communication via a network A and a network B. ,
The flow flowing between the network A and the network B and the direction in which the received data packet of the flow flows are detected, stored in the flow storage means, and received data packet information and ACK packet information are extracted from the received data packet and output. Flow processing means to
When the ACK packet information includes a confirmed SACK packet, ACK packet processing means for storing the sequence number of the SACK packet in the SACK number storage means,
By referring to the data packet information, the flow storage means, and the SACK number storage means, it is determined whether the sequence number order of the received data packet is a sequence, whether the packet is a retransmission packet or not Judgment, whether the received packet is a duplicate packet, and if it is a duplicate packet, it is judged whether the sending terminal is a packet retransmitted due to timeout, and based on the judgment result, the packet loss of the network corresponding to the flow direction Data packet processing means.
また、前記データパケット処理手段は、
前記データパケット情報から当該受信パケットのシーケンス番号の順序がシーケンスになっているか否かを判定し、欠落しているシーケンス番号がある場合は、欠落しているシーケンス番号をギャップ記憶手段に格納するギャップ検出手段と、
前記ギャップ記憶手段を参照して該ギャップ記憶手段に前記受信データパケットのシーケンス番号がある場合は、該受信データパケットが再送パケットと判定して、前記フロー記憶手段を参照してフロー方向に対応させてパケットロス数記憶手段のカウント値をカウントアップする再送パケットチェック手段と、
前記受信パケットのシーケンス番号が、前記フロー記憶手段に格納されているフローの最終シーケンス番号以下で、かつ、前記ギャップ記憶手段に含まれておらず、かつ、前記SACK番号記憶手段に含まれていない場合のみ、重複パケットと判定して、前記パケットロス数記憶手段のフロー方向に対応するカウント値をカウントアップする重複チェック手段と、を含む。
The data packet processing means includes
It is determined whether or not the sequence number of the received packet is a sequence from the data packet information, and if there is a missing sequence number, the gap storing the missing sequence number in the gap storage means Detection means;
If the gap storage means has the sequence number of the received data packet with reference to the gap storage means, the received data packet is determined to be a retransmission packet, and the flow storage means is referred to correspond to the flow direction. Retransmission packet check means for counting up the count value of the packet loss number storage means,
The sequence number of the received packet is less than or equal to the final sequence number of the flow stored in the flow storage unit, is not included in the gap storage unit, and is not included in the SACK number storage unit Only in the case, it is determined that the packet is a duplicate packet, and a duplicate check means for counting up the count value corresponding to the flow direction of the packet loss number storage means.
また、前記フロー処理手段は、
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向に加え、該ネットワークBの片道の遅延時間を取得して前記フロー記憶手段に格納する手段を含み、
前記データパケット処理手段は、
前記フロー処理手段から、データパケット情報を取得すると、TCPシーケンス番号分析を行い、再送パケットを検出した場合には、再送パケット記憶手段に該パケットのシーケンス番号のLeft Edge、Right Edge、タイムスタンプを記録する手段を含み、
前記ACKパケット処理手段は、
ACKパケットが属するフローIDに基づいて前記再送パケット記憶手段を検索し、該ACKパケットもしくはSACKパケットに含まれる受信確認済みのシーケンス番号がある場合には、現在時刻、前記フロー記憶手段の前記ネットワークBの片道の遅延時間、該再送パケット記憶手段の前記タイムスタンプを取得して、
(現在時刻−ネットワークBの片道遅延時間)<タイムスタンプ
が成立するとき、前記パケットロス数記憶手段の前記カウント値から1減算する手段を含む。
The flow processing means includes:
In addition to the flow that flows between the network A and the network B and the direction in which the received data packet of the flow flows, the network B includes means for acquiring a one-way delay time of the network B and storing it in the flow storage means,
The data packet processing means includes
When data packet information is acquired from the flow processing means, TCP sequence number analysis is performed. When a retransmission packet is detected, the left edge, right edge, and time stamp of the sequence number of the packet are recorded in the retransmission packet storage means. Including means to
The ACK packet processing means includes
The retransmission packet storage means is searched based on the flow ID to which the ACK packet belongs, and when there is a confirmed sequence number included in the ACK packet or SACK packet, the current time, the network B of the flow storage means The one-way delay time of the retransmission packet storage means to obtain the time stamp,
(Current time-one-way delay time of network B) <When the time stamp is established, means for subtracting 1 from the count value of the packet loss number storage means is included.
上記のように、本発明によれば、ACKパケットを用い、ACKパケットによって受信確認されたパケットが再度送られてきた場合(SACK番号記憶手段に受信パケットのシーケンス番号が存在する場合)には、TCP送信端末がタイムアウトで再送したパケットであり、パケットロスではないと判断することにより、パケットロス率の推定精度が向上する。 As described above, according to the present invention, when an ACK packet is used and a packet confirmed to be received by the ACK packet is sent again (when the sequence number of the received packet exists in the SACK number storage means), By determining that the packet is a packet retransmitted by the TCP transmission terminal due to a timeout and not a packet loss, the accuracy of estimating the packet loss rate is improved.
以下図面と共に、本発明の実施の形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.
従来、IPネットワークのパケットロス率を測定する方法において、パッシブ型としてTCPのデータパケットのシーケンス番号を監視し、重複、番号飛びを検出し、測定ポイントの前後のネットワークのパケットロス率を推定していたが、誤差が非常に大きくなるという問題があった。それは、TCPの送信端末は、データパケット送信後一定の条件を満たすとタイムアウト処理として同じパケットの再送を行うため、パケットロスが発生していないも関わらず、パケットロスとカウントしてしまうことが原因になっていると考えられる。 Conventionally, in the method of measuring the packet loss rate of an IP network, the TCP data packet sequence number is monitored as a passive type, duplication and number skip are detected, and the packet loss rate of the network before and after the measurement point is estimated. However, there is a problem that the error becomes very large. This is because a TCP sending terminal retransmits the same packet as a timeout process if a certain condition is satisfied after sending a data packet, so it counts as a packet loss even though no packet loss has occurred. It is thought that.
そこで、本発明では、上記の問題を解決するために、TCPのACKパケットの情報を用いる。ACKパケットには、TCP受信端末が正常に受信できたパケットの情報が含まれており、ACKパケットによって受信確認されたパケットが後から再度送られてきた場合には、TCP送信端末がタイムアウトで再送したパケットであり、ネットワークにおけるパケットロスではないと判断することができる。この考え方を取り入れることで、非特許文献1に比べてパケットロス率の推定精度の向上が見込める。ACKパケットに含まれる情報としては、TCPの標準仕様(RFC793)で規定されている" Acknowledgment Number"と、オプションとしてRFC2018にて規定されている" SACK option"がある。いずれも正常に受信できたパケットのシーケンス番号を伝達するための規定であり、タイムアウトによるパケットロスの誤判定の改善に用いることができる。
Therefore, in the present invention, in order to solve the above problem, information of the TCP ACK packet is used. The ACK packet contains information on the packet that was successfully received by the TCP receiving terminal. If a packet that was confirmed to be received by the ACK packet was sent again later, the TCP sending terminal retransmitted with a timeout. It can be determined that the packet is not lost in the network. By adopting this way of thinking, it is possible to improve the estimation accuracy of the packet loss rate compared to
図1は、本発明で想定するネットワークの構成を示したものである。 FIG. 1 shows a network configuration assumed in the present invention.
同図に示すシステムは、複数の端末群100、200がネットワークA、及びネットワークBを介してTCP通信を行う。ネットワークAとネットワークB間に通信データをコピーする装置(ネットワークスイッチのポートミラーリング機能、タップ装置等)を置き、端末100と端末200の間でやり取りされるパケットのコピーがパケットロス率推定装置300に転送されるように接続する。パケットロス率推定装置300では、ネットワークAとネットワークBの間を流れるパケットを分析することにより、ネットワークAとネットワークBのパケットロス率の推定を行う。
In the system shown in the figure, a plurality of
[第1の実施の形態]
図2は、本発明の第1の実施の形態におけるパケットロス率推定装置の構成を示す。
[First Embodiment]
FIG. 2 shows the configuration of the packet loss rate estimation apparatus according to the first embodiment of the present invention.
同図に示すパケットロス率推定装置300Aは、フロー処理部11、TCPデータパケット処理部12、TCP ACKパケット処理部13、ギャップ番号テーブル14、SACK番号テーブル15、パケットロス数テーブル16、フローテーブル17を有する。このうち、ギャップ番号テーブル14、SACK番号テーブル15、パケットロス数テーブル16、フローテーブル17は、メモリやハードディスク等の記憶媒体である。
The packet loss rate estimation apparatus 300A shown in the figure includes a
以下の説明において、ネットワークAからネットワークBへ流れるパケット、ネットワークBからネットワークAへ流れるパケットは、それぞれパケットが流れる方向が識別できるように、例えば別回線で接続する等して、フロー処理部11に転送されるものとする。
In the following description, the packet flowing from the network A to the network B and the packet flowing from the network B to the network A are connected to the
フロー処理部11では、受信したパケットのIPヘッダ、及びTCPヘッダから、下記の情報で一意に識別できるものをフローとして検出し、フローテーブル17を参照し、当該フローテーブル17に既に登録されているフローであれば、フローIDを取得し、登録されていなければユニークなフローIDを新たに付与して、図3に示すように、フローテーブル17に登録する。
・送信元IPアドレス(Source Address)
・送信先IPアドレス(Destination Address)
・送信元TCPポート番号(Source Port)
・送信先TCPポート番号(Destination Port)
・フローの方向
上記のフローの方向は、例えば、データパケットが流れる方向を基準にして、ネットワークAからネットワークBに流れる場合は"1"、ネットワークBからネットワークAに流れる場合は"0"というような識別番号を設定する。
The
-Source IP address (Source Address)
・ Destination IP address (Destination Address)
-Source TCP port number (Source Port)
-Destination TCP port number (Destination Port)
Flow direction The above flow direction is, for example, “1” when flowing from the network A to the network B and “0” when flowing from the network B to the network A with reference to the direction in which the data packet flows. Set a unique identification number.
TCPは双方向の通信プロトコルであるため、一つのパケットに、データパケットとしてのシーケンス番号と受信確認のためのACKシーケンス番号の両方が含まれる。 Since TCP is a bidirectional communication protocol, one packet includes both a sequence number as a data packet and an ACK sequence number for confirmation of reception.
フロー処理部11は、ネットワークAからネットワークBへの受信パケットから図4に示すデータパケット情報を取り出して、TCPデータパケット処理部12に渡す。また、ネットワークBからネットワークAへのパケットから、図5に示すACKパケット情報を取り出して、TCP ACKパケット処理部13に渡す。
The
TCPデータパケット処理部12は、
a)パケットシーケンス番号が欠落しているかのチェック;
b)受信パケットが再送パケットか否かのチェック;
c)受信パケットが重複パケットか否かのチェック;
を行う。
The TCP data
a) Check for missing packet sequence numbers;
b) Check whether the received packet is a retransmission packet;
c) Check whether the received packet is a duplicate packet;
I do.
a)のパケットシーケンス番号が飛んでいるか否かのチェックは、フローの最終シーケンス番号と受信パケットのシーケンス番号が連続しているかをチェックする。具体的には、前のパケットが"1〜999"、到着パケットが"2000〜2999"である場合には、"1000〜1999"が欠落していることになる。この場合、欠落している"1000〜1999"をギャップ番号テーブル14に格納する。この場合は、左端を"1000"、右端を"1999"としてギャップ番号テーブル14に設定する。 The check of whether the packet sequence number in a) is skipped checks whether the last sequence number of the flow and the sequence number of the received packet are consecutive. Specifically, when the previous packet is “1 to 999” and the arrival packet is “2000 to 2999”, “1000 to 1999” is missing. In this case, the missing “1000 to 1999” is stored in the gap number table 14. In this case, the left end is set to “1000” and the right end is set to “1999” in the gap number table 14.
b)の受信パケットが再送パケットか否かのチェックは、受信パケットのシーケンス番号が未受信の番号かをチェックする。具体的には、ギャップ番号テーブル14に記録されていれば欠落(未受信)と判定する。未受信であれば、観測ポイント(当該パケットロス率推定装置300Aを設置している地点)よりも前でパケットロスが発生し、そのパケットが再送されてきたものと見做す。例えば、ネットワークA⇒ネットワークBのフローであれば、ネットワークAのパケットロスと見做し、ネットワークB⇒ネットワークAのフローであれば、ネットワークBのパケットロスと見做してカウントし、パケットロス数テーブル16に格納する。 In the check of whether the received packet in b) is a retransmission packet, it is checked whether the sequence number of the received packet is an unreceived number. Specifically, if it is recorded in the gap number table 14, it is determined that it is missing (not received). If the packet has not been received, it is assumed that a packet loss has occurred before the observation point (the point where the packet loss rate estimation apparatus 300A is installed), and that the packet has been retransmitted. For example, if the flow is network A => network B, the packet loss is considered as network A, and if the flow is network B => network A, the packet loss is counted as network B, and the number of packet losses Store in table 16.
c)の受信パケットが重複パケットか否かのチェックは、既に受信済みのシ−ケンス番号のパケットが再度送られてきたかをチェックし、再度送られてきたら重複パケットと判断する。判断の具体的な方法としては、フローテーブル17のフローの最終シーケンス番号(受信済みパケットで最も大きいシーケンス番号)よりも小さく(=古い番号のパケットである)、ギャップ番号テーブル14に含まれていないもの(=未受信パケットではない)を重複パケットと見做す。重複パケットであるということは、観測ポイントよりも後でパケットロスが起きたと見做し、ネットワークA⇒ネットワークBのフローであれば、ネットワークBのパケットロス、ネットワークB⇒ネットワークAのフローであれば、ネットワークAのパケットロスとしてカウントし、パケットロス数テーブル16に格納する。但し、重複パケットであっても、既に受信端末によってパケットの受信確認がされている場合(ACKまたはSACKパケットが送信され、観測ポイントに届いている場合)は、観測ポイントよりも後でパケットロスが起きたことによる再送ではなく、送信端末がTCPのタイムアウト等により再送されたパケットであるため、ネットワークのパケットロスとしてはカウントしないようにする。 In c), whether the received packet is a duplicate packet is checked by checking whether a packet with a sequence number that has already been received is sent again, and if it is sent again, it is determined as a duplicate packet. As a specific method of determination, it is smaller than the last sequence number of the flow in the flow table 17 (the largest sequence number in the received packet) (= the packet with the old number), and is not included in the gap number table 14. A thing (= not an unreceived packet) is regarded as a duplicate packet. If the packet is a duplicate packet, it is assumed that a packet loss has occurred after the observation point. If the flow is network A⇒network B, the packet loss is network B, and if the flow is network B⇒network A. The packet loss of network A is counted and stored in the packet loss number table 16. However, even if it is a duplicate packet, if the reception of the packet has already been confirmed by the receiving terminal (when an ACK or SACK packet has been transmitted and has arrived at the observation point), there is a packet loss after the observation point. The packet is not retransmitted due to the occurrence but is a packet retransmitted by the sending terminal due to a TCP timeout or the like, so that it is not counted as a network packet loss.
具体的には、TCP データパケット処理部12では以下に示す手順でデータパケット情報を処理する。
Specifically, the TCP data
図6は、本発明の第1の実施の形態におけるTCPデータパケット処理部の処理のフローチャートである。 FIG. 6 is a flowchart of processing of the TCP data packet processing unit in the first embodiment of the present invention.
ステップ101) TCPデータパケット処理部12は、フロー処理部11からデータパケット情報を取得する。データパケット情報に含まれるフローIDに基づいて、フローテーブル17を検索し、フロー情報を取得する。
Step 101) The TCP data
ステップ102) フローIDに基づいて、図7に示すパケットロステーブル16を検索し、該当するフローIDの転送パケット数に1加える。 Step 102) Based on the flow ID, the packet loss table 16 shown in FIG. 7 is searched, and 1 is added to the number of transfer packets of the corresponding flow ID.
ステップ103) データパケット情報に含まれるシーケンス番号(受信シーケンス番号)が、フローテーブル16の最終シーケンス番号より大きく、かつ、最終シーケンス番号に1を加算した値と受信シーケンス番号が等しい場合には、シーケンス番号が欠落しているものとしてステップ104に移行し、等しくない場合はステップ105に移行する。 Step 103) If the sequence number (reception sequence number) included in the data packet information is larger than the final sequence number of the flow table 16 and the value obtained by adding 1 to the final sequence number is equal to the reception sequence number, the sequence Assuming that the number is missing, the process proceeds to step 104. If they are not equal, the process proceeds to step 105.
ステップ104) 図8に示すギャップ番号テーブル14にステップ103の欠落している番号(ギャップ)を記録する。ギャップ番号テーブル14の「Left Edge」には、最終シーケンス番号に1加えた値を、「Right Edge」には受信シーケンス番号から1を引いた値を記録する。
Step 104) The missing number (gap) of
ステップ105) ギャップ番号テーブル14に受信パケットのシーケンス番号が含まれるかを判定し、含まれる場合はステップ106に移行し、含まれない場合はステップ108に移行する。 Step 105) It is determined whether the gap number table 14 includes the sequence number of the received packet. If included, the process proceeds to Step 106, and if not included, the process proceeds to Step 108.
ステップ106) ステップ105において含まれると判定された場合はパケットロスと見做し、当該パケットロスをパケットロス数テーブル16に記録する。具体的には、フロー方向が、ネットワークAからネットワークBであれば(識別番号"1")、パケットロス数テーブル17のフローIDに対応するネットワークAのパケットロス数に1を加算する。一方、フロー方向がネットワークBからネットワークAであれば(識別番号"0")、パケットロス数テーブル17のフローIDに対応するネットワークBのパケットロス数に1を加算する。 Step 106) If it is determined in Step 105 that the packet loss is included, it is regarded as a packet loss, and the packet loss is recorded in the packet loss number table 16. Specifically, if the flow direction is network A to network B (identification number “1”), 1 is added to the packet loss number of network A corresponding to the flow ID in the packet loss number table 17. On the other hand, if the flow direction is from network B to network A (identification number “0”), 1 is added to the packet loss number of network B corresponding to the flow ID in the packet loss number table 17.
ステップ107) ギャップ番号テーブル14から区間(受信パケットのシーケンス番号〜受信パケットのシーケンス番号+データ長−1)を除く。具体的には、ギャップ番号テーブル14のLeft Edgeもしくは、Right Edgeの修正による除去、または、該当エントリを削除して、除去区間を含まないように新たに2つのエントリを作成し、処理を終了する。 Step 107) The section (the sequence number of the received packet to the sequence number of the received packet + the data length-1) is removed from the gap number table 14. Specifically, the removal by the modification of the left edge or the right edge of the gap number table 14 or the corresponding entry is deleted, two new entries are created so as not to include the removal section, and the process is terminated. .
ステップ108) ステップ105において、ギャップ番号テーブル14に受信パケットのシーケンス番号が存在しない場合には、パケットロスではないと見做し、パケットの重複受信のチェックを行う。具体的には、受信パケットのシーケンス番号が最終シーケンス番号(フローテーブル)以下、かつ、受信パケットのシーケンス番号が最終ACKシーケンス番号(フローテーブル)より大きく、かつ、受信パケットのシーケンス番号が図9に示すSACK番号テーブル15に登録されていない場合は、ステップ109に移行し、登録されている場合には受信端末からの受信確認パケット(SACKパケット)を受信しているため、ステップ110に移行する。 Step 108) If the sequence number of the received packet does not exist in the gap number table 14 in Step 105, it is assumed that there is no packet loss, and a duplicate packet reception check is performed. Specifically, the sequence number of the received packet is equal to or less than the final sequence number (flow table), the sequence number of the received packet is greater than the final ACK sequence number (flow table), and the sequence number of the received packet is shown in FIG. If it is not registered in the SACK number table 15 shown, the process proceeds to step 109. If it is registered, since a reception confirmation packet (SACK packet) from the receiving terminal is received, the process proceeds to step 110.
ステップ109) パケットロスをパケットロス数テーブル16に記録する。具体的には、フロー方向がネットワークAからネットワークBであれば、パケットロス数テーブル16の該当フローIDのネットワークBのパケットロス数に1加算する。フロー方向が根とワークBからネットワークAであれば、パケットロス数テーブル16の該当フローIDのネットワークAのパケットロス数に1加算し、処理を終了する。 Step 109) Record the packet loss in the packet loss number table 16. Specifically, when the flow direction is network A to network B, 1 is added to the packet loss number of network B of the corresponding flow ID in packet loss number table 16. If the flow direction is from the root and the work B to the network A, 1 is added to the packet loss number of the network A of the corresponding flow ID in the packet loss number table 16, and the process is terminated.
ステップ110) フローテーブル14の最終シーケンス番号を更新する。具体的には、フローテーブル14の該当号フローIDの最終シーケンス番号を、シーケンス番号+データ長−1として更新し、パケットカウンタ数をカウントアップせずに処理を終了する。 Step 110) Update the last sequence number in the flow table 14. Specifically, the last sequence number of the corresponding flow ID in the flow table 14 is updated as sequence number + data length−1, and the process is terminated without counting up the number of packet counters.
TCP ACKパケット処理部13は、ACKパケット、SACKパケットの受信が確認されると、確認されたACKパケットのシーケンス番号をフローテーブル17に格納し、その中にSACKパケットが含まれている場合はSACKの情報をSACK番号テーブル15に格納する。
When the reception of the ACK packet and the SACK packet is confirmed, the TCP ACK
次に、TCP ACKパケット処理部13がフロー処理部11から、ネットワークBからネットワークAへのパケット取り出されたACKパケット情報を取得した場合の処理を説明する。
Next, processing when the TCP ACK
図10は、本発明の第1の実施の形態におけるTCK ACKパケット処理部の処理のフローチャートである。 FIG. 10 is a flowchart of processing of the TCK ACK packet processing unit in the first embodiment of the present invention.
ステップ201) TCK ACKパケット処理部13は、フロー処理部11から取得したACKパケット情報のフローIDに基づいて、フローテーブル17のACKシーケンス番号をACKパケット情報として取得したACKシーケンス番号で更新する。
Step 201) Based on the flow ID of the ACK packet information acquired from the
ステップ202) 取得したACKパケット情報にSACKの情報が含まれているかを判定し、含まれている場合にはステップ203に移行し、含まれていない場合は当該処理を終了する。 Step 202) It is determined whether or not SACK information is included in the acquired ACK packet information. If included, the process proceeds to Step 203, and if not included, the process is terminated.
ステップ203) SACK情報が含まれている場合には当該SACK情報をSACK番号テーブル15に記録する。具体的には、ACKパケット情報のフローID、SACK Left Edge(N),SACK Right (n)の情報をそれぞれSACK番号テーブル15のフローID、Left Edge、Right Edgeとして追加する(n=1〜4)。 Step 203) If SACK information is included, record the SACK information in the SACK number table 15. Specifically, the flow ID, SACK Left Edge (N), and SACK Right (n) information of the ACK packet information are added as the flow ID, Left Edge, and Right Edge of the SACK number table 15, respectively (n = 1 to 4). ).
ステップ204) 古いSACK情報をSACK番号テーブル15から削除する。具体的には、ACKパケット情報のACKシーケンス番号より小さい番号のLeft Edge、及び、Right Edgeを持つエントリをSACK番号テーブル15から削除する。 Step 204) The old SACK information is deleted from the SACK number table 15. Specifically, an entry having a left edge and a right edge with a number smaller than the ACK sequence number of the ACK packet information is deleted from the SACK number table 15.
上記の処理により、TCPのデータパケットがTCPデータパケット処理部12で処理される毎に、フローがネットワークA、ネットワークBにおいてロスしたと想定されるパケット数とパケットロス率(=パケットロス数/転送パケット数)を算出することができる。
With the above processing, every time a TCP data packet is processed by the TCP data
本実施の形態では、図11に示すように、TCP受信端末から送られるACKパケットのシーケンス番号を記録しておき、重複パケットが既にACKパケットにより受信確認されているパケットであることが確認できれば、ネットワークBにおいてパケットロスが発生していないことが明らかであるため、TCP送信端末による誤再送と見做し、ネットワークBのパケットロスとしてはカウントしない。 In this embodiment, as shown in FIG. 11, if the sequence number of the ACK packet sent from the TCP receiving terminal is recorded and it can be confirmed that the duplicate packet is a packet that has already been acknowledged by the ACK packet, Since it is clear that no packet loss has occurred in the network B, it is regarded as an erroneous retransmission by the TCP transmission terminal, and is not counted as a packet loss in the network B.
[第2の実施の形態]
前述の第1の実施の形態では、図12(A)に示すように、測定ポイントを通過したACKパケットを記録し、再送パケットと記録済みのACKパケットを照合するため、ACKパケットが再送パケットより先に通過することが条件であった。これに対し、本実施の形態では、図12(B)に示すように、測定ポイントとTCP受信端末の遅延時間を予め測定しておき、再送パケットより後にACKパケットが到着した場合でも、遅延時間からACKパケットの送信時刻を推定し、再送パケットの通過時刻とACKパケットの送信時刻の比較で順序関係を決める。再送パケットよりACKパケットの方が早く送信されたとみなした場合には、ACKパケットをロス率の補正に用いる。つまり、再送パケットはタイムアウト等による誤送信とみなし、ネットワークBのパケットロスとしてカウントしない。
[Second Embodiment]
In the first embodiment described above, as shown in FIG. 12 (A), the ACK packet that has passed the measurement point is recorded, and the retransmitted packet is compared with the recorded ACK packet. It was a condition to pass first. On the other hand, in the present embodiment, as shown in FIG. 12B, the delay time of the measurement point and the TCP receiving terminal is measured in advance, and even when the ACK packet arrives after the retransmission packet, the delay time ACK packet transmission time is estimated, and the order relation is determined by comparing the retransmission packet passage time and the ACK packet transmission time. When it is considered that the ACK packet is transmitted earlier than the retransmission packet, the ACK packet is used for correcting the loss rate. That is, the retransmitted packet is regarded as an erroneous transmission due to a timeout or the like, and is not counted as a network B packet loss.
したがって、本発明では、測定端末とTCP受信端末の遅延時間に基づいて、パケットの順序関係を補正するため、遅延時間の測定が必要になる。遅延時間の測定方法の一つとして、TCP3wayハンドシェイクの例を示す。 Therefore, in the present invention, since the order relation of packets is corrected based on the delay time between the measuring terminal and the TCP receiving terminal, it is necessary to measure the delay time. An example of TCP3way handshake is shown as one of the delay time measurement methods.
TCPは双方向の通信プロトコルであるため、1つのコネクションに2つ(双方向)のフローが含まれる。このため、TCP端末p1からp2に対してTCPコネクション接続を開始した場合、図13に示すように、SYNとSYN+ACKのパケットのタイムスタンプTs,Teを用いて、測定ポイントとTCP端末p2の片道遅延時間を(Te−Ts)/2として算出し、p1→p2のフローにおけるネットワークBの片道遅延時間として用いる。なお、測定ポイントとTCP端末間の遅延時間は対称であるものとする。 Since TCP is a bidirectional communication protocol, two (bidirectional) flows are included in one connection. Therefore, when the TCP connection connection is started from the TCP terminals p 1 to p 2 , as shown in FIG. 13, using the time stamps Ts and Te of the SYN and SYN + ACK packets, the measurement point and the TCP terminal It calculates a one-way delay time p 2 as (Te-Ts) / 2, is used as the one-way delay time of the network B in the flow of p 1 → p 2. It is assumed that the delay time between the measurement point and the TCP terminal is symmetric.
p1→p2のフローにおけるネットワークBの片道遅延時間は、SYN+ACKとACKのタイムスタンプから同様に(Te−Ts)/2にて算出する。算出した片道遅延時間は、フロー処理部11により図14に示すようにフローテーブル17に格納される。同図に示すフローテーブル27は、図3のフローテーブルにネットワークBの片道遅延時間のデータ項目を追加した構成である。
The one-way delay time of the network B in the flow of p 1 → p 2 is similarly calculated by (Te−Ts) / 2 from the time stamps of SYN + ACK and ACK. The calculated one-way delay time is stored in the flow table 17 by the
フローテーブル27の片道遅延時間を用いてパケットの順序関係を補正するために、本実施の形態では、再送パケットに対してタイムスタンプを記録する。タイムスタンプ記録ため、図15に示すように、パケットロス率推定装置300Bに再送パケットテーブル28を備える。 In order to correct the order relation of packets using the one-way delay time of the flow table 27, in this embodiment, a time stamp is recorded for the retransmitted packet. For time stamp recording, as shown in FIG. 15, the packet loss rate estimation apparatus 300B is provided with a retransmission packet table.
TCP データパケット処理部12は、フロー処理部11からデータパケット情報を取得すると、TCPシーケンス番号分析を行う。これにより、再送パケットを検出した場合には、図16に示すように、再送パケットテーブル28にパケットのシーケンス番号のLeft Edge、Right Edge、現在時刻(タイムスタンプ)を記録する。再送パケットの検出方法としては、受信パケットが重複パケットか否かのチェックは、既に受信済みのシ−ケンス番号のパケットが再度送られてきたかをチェックし、再度送られてきたら重複パケットと判断する。判断の具体的な方法としては、フローテーブル27のフローの最終シーケンス番号(受信済みパケットで最も大きいシーケンス番号)よりも小さく(=古い番号のパケットである)、ギャップ番号テーブル14に含まれていないもの(=未受信パケットではない)を重複パケットと見做す。重複パケットであるということは、観測ポイントよりも後でパケットロスが起きたと見做し、ネットワークA⇒ネットワークBのフローであれば、ネットワークBのパケットロス、ネットワークB⇒ネットワークAのフローであれば、ネットワークAのパケットロスとしてカウントする。
When the TCP data
ここで、パケットの順序関係の補正により、ACKが再送パケットの後に到着した場合に対応できるようにするため、本実施の形態では、TCP ACKパケット処理部13では、図10の処理に加えて、以下の処理を行う。
Here, in order to be able to cope with the case where the ACK arrives after the retransmission packet by correcting the order relation of the packets, in this embodiment, the TCP ACK
図17は、本発明の第2の実施の形態におけるTCP ACKパケット処理部の処理のフローチャートである。同図において、図10と同一の処理部分には図10と同一のステップ番号を付し、その説明を省略する。 FIG. 17 is a flowchart of processing of the TCP ACK packet processing unit in the second embodiment of the present invention. In the figure, the same processing numbers as those in FIG. 10 are denoted by the same step numbers as those in FIG.
TCP ACKパケット処理部13では、フロー処理部11からACKパケット情報を取得すると、ACKパケットが属するフローIDから、再送パケットテーブル28を検索し、SACKパケットに含まれるシーケンス番号をチェックする(ステップ301)。当該チェックにおいて、(SACKのLeft Edge≦再送パケットテーブルのLeft Edge) and (再送パケットテーブルのRight Edge≦ SACKのRight Edge)であれば(ステップ302、Yes)、パケットの順序関係を補正する(ステップ303)。次に、ACKパケットが属するフローIDから再送パケットテーブル28を検索してACKパケットに含まれるシーケンス番号をチェックする(ステップ304)。当該チェックにおいて、再送パケットテーブルのRight Edge < ACKシーケンス番号であるとき(ステップ305,Yes)、以下に示すパケットの順序関係の補正を行う(ステップ306)。なお、前述の図10のステップ202において、ACKパケット情報にSACKの情報が含まれていない場合(ステップ202,No)は、ステップ304の処理に移行するものとする。
When the TCP ACK
パケットの順序関係の補正を以下の式で行う。 The correction of the packet order relation is performed by the following formula.
(現在時刻−フローテーブルのネットワークBの片道遅延時間)<再送パケットテーブルのタイムスタンプ
上記の式が成り立つならば、再送パケットが測定ポイントを通過する前に、ACKパケットが送信されたと見做し(=最初のパケットは受信端末に届いており、ネットワークでパケットロスは発生していない)、既にパケットロスとしてカウントされている分を補正するため、パケットロス数テーブル16の該当フローIDの行において、ネットワークBのパケットロス数から1を減算する。
(Current time-one-way delay time of network B of flow table) <time stamp of retransmission packet table If the above equation holds, it is assumed that an ACK packet was transmitted before the retransmission packet passed the measurement point ( = The first packet has arrived at the receiving terminal, and no packet loss has occurred in the network.) In order to correct the amount already counted as packet loss, in the row of the corresponding flow ID in the packet loss number table 16, Subtract 1 from the number of packet losses in network B.
<評価>
本発明をネットワークシミュレータNS-2(http://www.isi.edu/nsnam/ns/)を用いて評価した結果を示す。評価では、2台の端末が2つのネットワークA・Bを経由してTCP通信を行い、ネットワークA・Bでパケットロスがランダムに発生するシミュレーション環境を構築した。シミュレーションでは、
端末1→ネットワークA→ネットワークB→端末2
の経路でTCPのデータパケットを流し、ネットワークA・Bの間を流れるパケットに対して、本発明のアルゴリズムを用いてネットワークBにおけるパケットロス率を推定した。また、シミュレーションは同一の条件で10回行い、推定誤差の最大値を結果とした。分析対象のパケットは約10,000パケットになるようにした。以下に評価結果を示す。
<Evaluation>
The result of having evaluated this invention using network simulator NS-2 (http://www.isi.edu/nsnam/ns/) is shown. In the evaluation, we constructed a simulation environment in which two terminals perform TCP communication via two networks A and B, and packet loss occurs randomly in networks A and B. In the simulation
Terminal 1 → Network A → Network
The packet loss rate in the network B was estimated by using the algorithm of the present invention for the TCP data packets that flowed along the path of, and the packets flowing between the networks A and B. The simulation was performed 10 times under the same conditions, and the maximum value of the estimation error was the result. The number of packets to be analyzed is about 10,000. The evaluation results are shown below.
なお、上記の実施の形態におけるパケットロス率推定装置の各構成要素の動作をプログラムとして構築し、パケットロス率推定装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。 In addition, the operation | movement of each component of the packet loss rate estimation apparatus in said embodiment is constructed | assembled as a program, installed in the computer utilized as a packet loss rate estimation apparatus, made to run, or distribute | circulates via a network It is possible.
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用可能である。 The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.
11 フロー処理部
12 TCPデータパケット処理部
13 TCP ACKパケット処理部
14 ギャップ番号テーブル
15 SACK番号テーブル
16 パケットロス数テーブル
17 フローテーブル
27 フローテーブル
28 再送パケットテーブル
100,200 端末
300 パケットロス率推定装置
11
Claims (7)
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向を検出し、フロー記憶手段に格納すると共に、該受信データパケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理手段と、
前記ACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、該SACKパケットのシーケンス番号をSACK番号記憶手段に格納するACKパケット処理手段と、
前記データパケット情報、前記フロー記憶手段、前記SACK番号記憶手段を参照することにより、前記データパケット情報から当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否か、当該パケットが再送パケットか否か、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントするデータパケット処理手段と、
を有することを特徴とするパケットロス率推定装置。 In an IP (Internet Protocol) network that performs TCP (Transmission Control Protocol) communication via a network A and a network B, a packet loss rate estimation device that estimates the packet loss rate of the network,
The flow flowing between the network A and the network B and the direction in which the received data packet of the flow flows are detected, stored in the flow storage means, and received data packet information and ACK packet information are extracted from the received data packet and output. Flow processing means to
If the ACK packet information includes a confirmed SACK packet, ACK packet processing means for storing the sequence number of the SACK packet in a SACK number storage means;
By referring to the data packet information, the flow storage means, and the SACK number storage means, whether the sequence number order of the received data packet is a sequence from the data packet information, whether the packet is a retransmission packet No, whether the received packet is a duplicate packet, and if it is a duplicate packet, it is judged whether it is a packet retransmitted due to timeout, and the network packet corresponding to the flow direction based on the judgment result Data packet processing means for counting losses;
A packet loss rate estimation apparatus comprising:
前記データパケット情報から当該受信パケットのシーケンス番号の順序がシーケンスになっているか否かを判定し、欠落しているシーケンス番号がある場合は、欠落しているシーケンス番号をギャップ記憶手段に格納するギャップ検出手段と、
前記ギャップ記憶手段を参照して該ギャップ記憶手段に前記受信データパケットのシーケンス番号がある場合は、該受信データパケットが再送パケットと判定して、前記フロー記憶手段を参照してフロー方向に対応させてパケットロス数記憶手段のカウント値をカウントアップする再送パケットチェック手段と、
前記受信パケットのシーケンス番号が、前記フロー記憶手段に格納されているフローの最終シーケンス番号以下で、かつ、前記ギャップ記憶手段に含まれておらず、かつ、前記SACK番号記憶手段に含まれていない場合のみ、重複パケットと判定して、前記パケットロス数記憶手段のフロー方向に対応するカウント値をカウントアップする重複チェック手段と、を含む
請求項1記載のパケットロス率推定装置。 The data packet processing means includes
It is determined whether or not the sequence number of the received packet is a sequence from the data packet information, and if there is a missing sequence number, the gap storing the missing sequence number in the gap storage means Detection means;
If the gap storage means has the sequence number of the received data packet with reference to the gap storage means, the received data packet is determined to be a retransmission packet, and the flow storage means is referred to correspond to the flow direction. Retransmission packet check means for counting up the count value of the packet loss number storage means,
The sequence number of the received packet is less than or equal to the final sequence number of the flow stored in the flow storage unit, is not included in the gap storage unit, and is not included in the SACK number storage unit 2. The packet loss rate estimation apparatus according to claim 1, further comprising: a duplication check unit that determines that the packet is a duplicate packet and counts up a count value corresponding to a flow direction of the packet loss number storage unit.
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向に加え、該ネットワークBの片道の遅延時間を取得して前記フロー記憶手段に格納する手段を含み、
前記データパケット処理手段は、
前記フロー処理手段から、データパケット情報を取得すると、TCPシーケンス番号分析を行い、再送パケットを検出した場合には、再送パケット記憶手段に該パケットのシーケンス番号のLeft Edge、Right Edge、タイムスタンプを記録する手段を含み、
前記ACKパケット処理手段は、
ACKパケットが属するフローIDに基づいて前記再送パケット記憶手段を検索し、該ACKパケットもしくはSACKパケットに含まれる受信確認済みのシーケンス番号がある場合には、現在時刻、前記フロー記憶手段の前記ネットワークBの片道の遅延時間、該再送パケット記憶手段の前記タイムスタンプを取得して、
(現在時刻−ネットワークBの片道遅延時間)<タイムスタンプ
が成立するとき、前記パケットロス数記憶手段の前記カウント値から1減算する手段を含む請求項1または2記載のパケットロス率推定装置。 The flow processing means includes:
In addition to the flow that flows between the network A and the network B and the direction in which the received data packet of the flow flows, the network B includes means for acquiring a one-way delay time of the network B and storing it in the flow storage means,
The data packet processing means includes
When data packet information is acquired from the flow processing means, TCP sequence number analysis is performed. When a retransmission packet is detected, the left edge, right edge, and time stamp of the sequence number of the packet are recorded in the retransmission packet storage means. Including means to
The ACK packet processing means includes
The retransmission packet storage means is searched based on the flow ID to which the ACK packet belongs, and when there is a confirmed sequence number included in the ACK packet or SACK packet, the current time, the network B of the flow storage means The one-way delay time of the retransmission packet storage means to obtain the time stamp,
3. The packet loss rate estimation apparatus according to claim 1, further comprising means for subtracting 1 from the count value of the packet loss number storage means when time stamp is established (current time−one-way delay time of network B).
フロー処理手段が、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向を検出し、フロー記憶手段に格納すると共に、該受信データパケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理ステップと、
ACKパケット処理手段が、前記ACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、該SACKパケットのシーケンス番号を対応付けてSACK番号記憶手段に格納するACKパケット処理ステップと、
データパケット処理手段が、前記データパケット情報、前記フロー記憶手段、前記SACK番号記憶手段を参照することにより、前記データパケット情報から当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否か、当該パケットが再送パケットか否か、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントするデータパケット処理ステップと、
を行うことを特徴とするパケットロス率推定方法。 In an IP (Internet Protocol) network that performs TCP (Transmission Control Protocol) communication via a network A and a network B, a packet loss rate estimation method for estimating the packet loss rate of the network,
The flow processing means detects the flow flowing between the network A and the network B and the direction in which the received data packet of the flow flows, stores it in the flow storage means, and receives the received data packet information and the ACK packet from the received data packet. A flow processing step to extract and output information;
When the ACK packet processing means includes a SACK packet whose reception has been confirmed in the ACK packet information, an ACK packet processing step of storing the SACK packet sequence number in association with the SACK number storage means;
Whether the sequence of the sequence number of the received data packet from the data packet information is a sequence by referring to the data packet information, the flow storage unit, the SACK number storage unit, the data packet processing unit, Determine whether the packet is a retransmission packet, whether the received packet is a duplicate packet, and if it is a duplicate packet, whether the sending terminal is a packet retransmitted due to timeout, and based on the determination result, the flow direction A data packet processing step for counting packet loss of the network corresponding to
A packet loss rate estimation method characterized by:
前記データパケット情報から当該受信パケットのシーケンス番号の順序がシーケンスになっているか否かを判定し、欠落しているシーケンス番号がある場合は、欠落しているシーケンス番号をギャップ記憶手段に格納するギャップ検出ステップと
前記ギャップ記憶手段を参照して該ギャップ記憶手段に前記受信データパケットのシーケンス番号がある場合は、該受信データパケットが再送パケットと判定して、前記フロー記憶手段を参照してフロー方向に対応させてパケットロス数記憶手段のカウント値をカウントアップする再送パケットチェックステップと、
前記受信パケットのシーケンス番号が、前記フロー記憶手段に格納されているフローの最終シーケンス番号以下で、かつ、前記ギャップ記憶手段に含まれておらず、かつ、前記SACK番号記憶手段に含まれていない場合のみ、重複パケットと判定して、前記パケットロス数記憶手段のフロー方向に対応するカウント値をカウントアップする重複チェックステップと、
を行う請求項4記載のパケットロス率推定方法。 In the data packet processing step,
It is determined whether or not the sequence number of the received packet is a sequence from the data packet information, and if there is a missing sequence number, the gap storing the missing sequence number in the gap storage means If there is a sequence number of the received data packet in the gap storing means with reference to the detecting step and the gap storing means, the received data packet is determined to be a retransmission packet, and the flow direction is referred to by referring to the flow storing means A retransmission packet check step for counting up the count value of the packet loss number storage means in correspondence with
The sequence number of the received packet is less than or equal to the final sequence number of the flow stored in the flow storage unit, is not included in the gap storage unit, and is not included in the SACK number storage unit Only when it is determined as a duplicate packet, a duplicate check step for counting up the count value corresponding to the flow direction of the packet loss number storage means,
5. The packet loss rate estimation method according to claim 4, wherein:
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信データパケットが流れる方向に加え、該ネットワークBの片道の遅延時間を取得して前記フロー記憶手段に格納し、
前記データパケット処理ステップにおいて、
前記フロー処理手段から、データパケット情報を取得すると、TCPシーケンス番号分析を行い、再送パケットを検出した場合には、再送パケット記憶手段に該パケットのシーケンス番号のLeft Edge、Right Edge、タイムスタンプを記録する手段を含み、
前記ACKパケット処理ステップにおいて、
ACKパケットが属するフローIDに基づいて前記再送パケット記憶手段を検索し、該ACKパケットもしくはSACKパケットに含まれる受信確認済みのシーケンス番号がある場合には、現在時刻、前記フロー記憶手段の前記ネットワークBの片道の遅延時間、該再送パケット記憶手段の前記タイムスタンプを取得して、
(現在時刻−ネットワークBの片道遅延時間)<タイムスタンプ
が成立するとき、前記パケットロス数記憶手段の前記カウント値から1減算する
請求項4または5記載のパケットロス率推定方法。 In the flow processing step,
In addition to the flow flowing between the network A and the network B and the direction in which the received data packet of the flow flows, the one-way delay time of the network B is acquired and stored in the flow storage unit,
In the data packet processing step,
When data packet information is acquired from the flow processing means, TCP sequence number analysis is performed. When a retransmission packet is detected, the left edge, right edge, and time stamp of the sequence number of the packet are recorded in the retransmission packet storage means. Including means to
In the ACK packet processing step,
The retransmission packet storage means is searched based on the flow ID to which the ACK packet belongs, and when there is a confirmed sequence number included in the ACK packet or SACK packet, the current time, the network B of the flow storage means The one-way delay time of the retransmission packet storage means to obtain the time stamp,
6. The packet loss rate estimation method according to claim 4, wherein (current time−one-way delay time of network B) <one is subtracted from the count value of the packet loss number storage means when a time stamp is established.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011167681A JP5292444B2 (en) | 2011-02-17 | 2011-07-29 | Packet loss rate estimation apparatus, method, and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011032656 | 2011-02-17 | ||
JP2011032656 | 2011-02-17 | ||
JP2011167681A JP5292444B2 (en) | 2011-02-17 | 2011-07-29 | Packet loss rate estimation apparatus, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012186780A JP2012186780A (en) | 2012-09-27 |
JP5292444B2 true JP5292444B2 (en) | 2013-09-18 |
Family
ID=47016418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011167681A Active JP5292444B2 (en) | 2011-02-17 | 2011-07-29 | Packet loss rate estimation apparatus, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5292444B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11032449B2 (en) | 2015-12-18 | 2021-06-08 | Christina Schannath | Glove-like device with ergonomically advantageously activatable camera integrated therein |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103796228B (en) | 2012-10-31 | 2018-09-11 | 中兴通讯股份有限公司 | A kind of wireless network capillary channel performance estimating method and device |
JP5941853B2 (en) * | 2013-02-12 | 2016-06-29 | 株式会社日立製作所 | Packet communication method and apparatus |
CN104038845B (en) * | 2014-06-30 | 2017-10-17 | 新华三技术有限公司 | Message transmitting method and device |
CN112491871B (en) * | 2020-11-25 | 2023-07-28 | 北京宝兰德软件股份有限公司 | TCP reorganization method, TCP reorganization device, electronic equipment and storage medium |
US20220417303A1 (en) | 2021-06-28 | 2022-12-29 | Tencent America LLC | Techniques for monitoring encrypted streaming traffic using underlying transport metrics |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4254555B2 (en) * | 2004-01-23 | 2009-04-15 | 日本電信電話株式会社 | Network quality single point observation type measurement method and apparatus |
JP3931988B2 (en) * | 2004-08-26 | 2007-06-20 | 日本電気株式会社 | Network quality measuring method and measuring apparatus |
-
2011
- 2011-07-29 JP JP2011167681A patent/JP5292444B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11032449B2 (en) | 2015-12-18 | 2021-06-08 | Christina Schannath | Glove-like device with ergonomically advantageously activatable camera integrated therein |
Also Published As
Publication number | Publication date |
---|---|
JP2012186780A (en) | 2012-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5292444B2 (en) | Packet loss rate estimation apparatus, method, and program | |
US8493875B2 (en) | System and method for estimation of round trip times within a TCP based data network | |
US7945661B2 (en) | Real time monitoring of TCP flows | |
JP6015509B2 (en) | Packet analysis program, packet analysis method, packet analysis device, and packet analysis system | |
JP4924503B2 (en) | Congestion detection method, congestion detection apparatus, and congestion detection program | |
JP4583312B2 (en) | Communication status determination method, communication status determination system, and determination device | |
WO2017133014A1 (en) | Method and system for network performance detection based on receiving end in tcp transmission stream | |
CN110391953B (en) | Method for improving TCP KPI calculation accuracy | |
JP5199224B2 (en) | Flow communication quality estimation method, apparatus and program | |
JP2015023463A (en) | Packet analyzing device, packet analyzing method, and packet analyzing program | |
EP3637692A1 (en) | Method, apparatus, and system for measuring transmission performance | |
JP2019022052A (en) | Packet classification program, packet classification method and packet classification device | |
JP5192451B2 (en) | Network quality calculation system and method and program | |
JP5437194B2 (en) | Flow communication quality estimation method, apparatus and program | |
JP4311675B2 (en) | Quality degradation isolation method and apparatus | |
Siekkinen et al. | Root cause analysis for long-lived TCP connections | |
JP5557869B2 (en) | Packet loss number measuring apparatus, method and program | |
JP2015195511A (en) | Packet analysis program, packet analysis device, and packet analysis method | |
EP3100413B1 (en) | Reliable network probing session | |
JP2004140596A (en) | Method and system for estimating quality in data transfer on transmission control protocol | |
Alcock et al. | Passive detection of TCP congestion events | |
CN106341289B (en) | A kind of the packet loss ratio estimation method and device of network packet packet capturing process | |
JP6920835B2 (en) | Equipment monitoring device | |
Lan et al. | Passive overall packet loss estimation at the border of an ISP | |
Schulte et al. | On detecting TCP path saturation in LTE networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130529 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5292444 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |