JP2013150291A - Device, method, and program for measuring the number of packet loss - Google Patents

Device, method, and program for measuring the number of packet loss Download PDF

Info

Publication number
JP2013150291A
JP2013150291A JP2012100486A JP2012100486A JP2013150291A JP 2013150291 A JP2013150291 A JP 2013150291A JP 2012100486 A JP2012100486 A JP 2012100486A JP 2012100486 A JP2012100486 A JP 2012100486A JP 2013150291 A JP2013150291 A JP 2013150291A
Authority
JP
Japan
Prior art keywords
packet
storage means
packet loss
flow
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012100486A
Other languages
Japanese (ja)
Other versions
JP5557869B2 (en
Inventor
Takuya Tojo
琢也 東條
Hiroyuki Kitada
裕之 北田
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 JP2012100486A priority Critical patent/JP5557869B2/en
Publication of JP2013150291A publication Critical patent/JP2013150291A/en
Application granted granted Critical
Publication of JP5557869B2 publication Critical patent/JP5557869B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To improve measurement accuracy in the number of packet loss.SOLUTION: The device for measuring the number of packet loss detects a flow which flows between a network A and a network B and a direction in which a reception packet in the flow flows, stores information on the reception packet in flow storage means, extracts reception data packet information and ACK packet information from the reception packet, determines that a packet loss may be generated in a portion between a measurement point and a TCP receiving terminal when the reception data packet information is a retransmission packet and a timeout occurs, and turns on a time-out flag of flow recording means. Moreover, the device refers to the flow storage means on the basis of the ACK packet information, and adds the number of the packet loss when the time-out flag indicating a situation of the packet loss between the measurement point and the TCP receiving terminal is turned on.

Description

本発明は、パケットロス数測定装置及び方法及びプログラムに係り、特に、TCP(Transmission Control Protocol)を用いて通信を行うIP(Internet Protocol)ネットワークにおいて、ネットワークのパケットロス数を測定するためのパケットロス数測定装置及び方法及びプログラムに関する。   The present invention relates to a packet loss number measuring apparatus, method, and program, and more particularly to a packet loss for measuring the number of packet losses in an IP (Internet Protocol) network that performs communication using TCP (Transmission Control Protocol). The present invention relates to a number measuring 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 of 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 by adding (not added etc.) (for example, see Non-Patent Document 1).

"A Passive Method for Estimating End-to-End TCP Packet Loss", Peter Benko and Andras Veres, IEEE GLOBECOM 2002, vol.3, p. 2609-2613."A Passive Method for Estimating End-to-End TCP Packet Loss", Peter Benko and Andras Veres, IEEE GLOBECOM 2002, vol.3, p. 2609-2613.

非特許文献1では、測定ポイントの前のネットワーク(TCP送信端末〜測定ポイント)のパケットロス率が後のネットワーク(測定ポイント〜TCP受信端末)のパケットロス率より大きい環境において、推定誤差が数百パーセントになることが非特許文献1の評価で明らかになっており、実用上の課題となっている。   In Non-Patent Document 1, in an environment where the packet loss rate of the network before the measurement point (TCP transmission terminal to measurement point) is larger than the packet loss rate of the subsequent network (measurement point to TCP reception terminal), the estimation error is several hundreds. It is clear from the evaluation of Non-Patent Document 1 that it becomes a percentage, which is a practical problem.

非特許文献1の課題を解決するために、データパケットだけでなくACKパケットの情報も用いることで推定精度を向上させる技術がある。当該技術は、端末群がネットワークA及びネットワークBを介して、TCP通信を行うIPネットワークにおいて、ネットワークAとネットワークB間を流れるフローと当該フローの受信データパケットが流れる方向を検出し、受信データパケットから受信データパケット情報とACKパケット情報を抽出する。抽出されたACKパケット情報に受信確認済みであるSACKパケットが含まれている場合には、SACKパケットのシーケンス番号を記憶しておき、データパケット情報、フロー記憶手段、記憶されたSACK番号を参照することにより、当該受信データパケットのシーケンス番号の順序がシーケンスになっているか否かの判定、当該パケットが再送パケットか否かの判定、当該受信パケットが重複パケットか否か、及び、重複パケットである場合に送信端末がタイムアウトにより再送されたパケットか否かを判定し、判定結果に基づいてフロー方向に対応するネットワークのパケットロスをカウントする。当該技術を以下、『技術1』と記す。   In order to solve the problem of Non-Patent Document 1, there is a technique for improving estimation accuracy by using not only data packets but also information of ACK packets. The technology detects a flow that flows between the network A and the network B and a direction in which the received data packet flows in the IP network in which the terminal group performs TCP communication via the network A and the network B, and receives the received data packet. To receive data packet information and ACK packet information. If the extracted ACK packet information includes a SACK packet whose reception has been confirmed, the sequence number of the SACK packet is stored, and the data packet information, the flow storage means, and the stored SACK number are referred to Therefore, it is determined whether the sequence number of the received data packet is a sequence, whether the packet is a retransmission packet, whether the received packet is a duplicate packet, and a duplicate packet In this case, it is determined whether the transmission terminal is a packet retransmitted due to timeout, and the packet loss of the network corresponding to the flow direction is counted based on the determination result. This technology is hereinafter referred to as “Technology 1”.

当該技術1により、非特許文献1の課題を解決できた点は、測定ポイントの前のネットワークのACKパケットのロスが原因でタイムアウトが起き、測定ポイントの後のパケットロスとして誤カウントするケースだけである。これ以外にも、タイムアウトの発生による誤カウントの原因として、測定ポイントの後のACKパケットのロス、バーストロスによるTCP送信端末の輻輳ウィンドウのストール等がある。パケットロスの測定を高い精度で行うためには、これらを正しく判別し、誤カウントを低減させることが必要である。   The problem of Non-Patent Document 1 can be solved by the technology 1 only when a timeout occurs due to the loss of the ACK packet in the network before the measurement point, and the packet loss after the measurement point is erroneously counted. is there. In addition to this, the causes of erroneous counting due to the occurrence of timeout include loss of ACK packet after the measurement point, stall of congestion window of TCP transmission terminal due to burst loss, and the like. In order to measure the packet loss with high accuracy, it is necessary to correctly discriminate these and reduce the erroneous count.

本発明は、上記の点に鑑みなされたもので、パケットロス数の推定精度を向上させることが可能なパケットロス数測定装置及び方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points, and an object of the present invention is to provide a packet loss number measuring apparatus, method, and program capable of improving the estimation accuracy of the packet loss number.

上記の課題を解決するため、本発明(請求項1)は、TCP送信端末群とTCP受信端末群が、ネットワークA(TCP送信端末〜測定ポイント)及びネットワークB(測定ポイント〜TCP受信端末)を介して、TCP(Transmission Control Protocol)通信を行うIP(Internet Protocol)ネットワークの測定ポイントにおいて、該ネットワークのパケットロス数を測定するパケットロス数測定装置であって、
少なくとも、フロー識別子毎に、フローの方向、最終パケットの受信時刻、最終パケットの種類、タイムアウトフラグ、タイムアウト時シーケンス番号を格納するフロー記憶手段と、
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信パケットが流れる方向を検出し、該受信パケットの情報を前記フロー記憶手段に格納すると共に、該受信パケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理手段と、
前記フロー処理手段から取得した前記受信データパケット情報について、データパケットとその前に送られたACKパケットの時間差に基づいてタイムアウトしているか否かを判定し、所定の条件及び、再送パケットであるか否かに基づいて、パケットロス数を算出し、パケットロス数記憶手段を更新するTCPデータパケット処理手段と、
前記フロー処理手段から取得した前記ACKパケット情報に基づいて前記フロー情報記憶手段を参照し、前記測定ポイントと前記TCP受信端末との間のパケットロスの状況を示す前記タイムアウトフラグがオンの場合は、パケットロス数を算出し、前記パケットロス数記憶手段を更新するTCP ACKパケット処理手段と、有する。
In order to solve the above-described problems, the present invention (Claim 1) is configured such that a TCP transmission terminal group and a TCP reception terminal group include a network A (TCP transmission terminal to measurement point) and a network B (measurement point to TCP reception terminal). Via a TCP (Transmission Control Protocol) communication at a measurement point of an IP (Internet Protocol) network, a packet loss number measuring device for measuring the number of packet losses of the network,
At least for each flow identifier, flow storage means for storing the flow direction, the reception time of the last packet, the type of the last packet, a timeout flag, a sequence number at timeout,
The flow flowing between the network A and the network B and the direction in which the received packet of the flow flows are detected, the received packet information is stored in the flow storage means, and the received data packet information and the ACK packet are received from the received packet. Flow processing means for extracting and outputting information;
For the received data packet information acquired from the flow processing means, it is determined whether it is timed out based on the time difference between the data packet and the ACK packet sent before it, and whether it is a predetermined condition and a retransmission packet TCP data packet processing means for calculating the packet loss number based on whether or not, and updating the packet loss number storage means;
Based on the ACK packet information acquired from the flow processing means, referring to the flow information storage means, if the timeout flag indicating the status of packet loss between the measurement point and the TCP receiving terminal is on, TCP ACK packet processing means for calculating the packet loss number and updating the packet loss number storage means.

また、本発明(請求項2)は、前記TCPデータパケット処理手段において、
前記フロー処理手段から取得した前記受信データパケット情報について、タイムアウトしている場合は、前記測定ポイントと前記TCP受信端末間においてパケットロスが発生している可能性があるものと判定し、
前記所定の条件として、前記フロー記憶手段の最終パケットの種類がACKで、ACKの番号の重複数が0であり、再送パケットのフラグがオフであるかを判定し、該条件を満たす場合は、パケットロス数Nを
N=LOG2((パケットの受信時刻−フロー記憶手段の最終ACKパケットの受信時刻)/推定RTO値)+1
により算出し、フローの方向に応じて前記パケットロス数記憶手段に加算し、該フロー記憶手段の再送パケットフラグをオンにする第1のパケットロス数算出手段を含む。
The present invention (Claim 2) provides the TCP data packet processing means,
For the received data packet information acquired from the flow processing means, if it has timed out, determine that there is a possibility that a packet loss has occurred between the measurement point and the TCP receiving terminal,
As the predetermined condition, it is determined whether the type of the final packet of the flow storage means is ACK, the duplication number of the ACK number is 0, and the flag of the retransmission packet is off. Packet loss number N
N = LOG2 ((packet reception time-last ACK packet reception time of flow storage means) / estimated RTO value) + 1
And a first packet loss number calculation means for turning on the retransmission packet flag of the flow storage means.

また、本発明(請求項3)は、前記TCPデータパケット処理手段において、
前記フロー処理手段から取得した前記受信データパケット情報について、タイムアウトしておらず、前記受信済みシーケンス番号記憶手段に、前記データパケットのシーケンス番号が含まれていなければ、該受信済みシーケンス番号記憶手段に該シーケンス番号の上限値及び下限値を記憶し、前記フロー記憶手段の再送パケットフラグをオフにし、含まれていれば、現在時刻から前記フロー記憶手段の最終パケットの受信時刻を引いた時間が推定RTO値以上である場合はタイムアウトと判断し、該フロー記憶手段の最終パケットの種類がデータパケットである場合は、該フロー記憶手段のタイムアウトフラグをオンにし、該最終パケットの種類がACKパケットである場合は、フローの方向に応じてパケットロス数記憶手段に加算し、前記フロー記憶手段の再送パケットフラグをオンにする手段と、
前記フロー記憶手段の前記タイムアウト時シーケンス番号に当該パケットのシーケンス番号の上限値を設定する手段と、
現在時刻から前記フロー記憶手段の最終パケットの受信時刻を引いた時間が推定RTO値より小さい場合には、前記フロー記憶手段の再送パケットフラグをオフに設定する第2のパケットロス数算出手段と、
前記フロー記憶手段の前記最終のパケットの受信時刻に現在時刻を設定し、前記最終パケットの種類をデータパケットと設定する手段と、を含む。
The present invention (Claim 3) provides the TCP data packet processing means,
If the received data packet information acquired from the flow processing means has not timed out and the received sequence number storage means does not include the sequence number of the data packet, the received sequence number storage means Stores the upper limit value and lower limit value of the sequence number, turns off the retransmission packet flag of the flow storage means, and if included, estimates the time obtained by subtracting the reception time of the last packet of the flow storage means from the current time If it is equal to or greater than the RTO value, it is determined that a timeout has occurred. If the final packet type of the flow storage means is a data packet, the timeout flag of the flow storage means is turned on and the final packet type is an ACK packet In this case, it is added to the packet loss number storage means according to the flow direction, and the flow recording is performed. It means for turning on the retransmission packet flag means,
Means for setting an upper limit value of the sequence number of the packet to the timeout sequence number of the flow storage means;
If the time obtained by subtracting the reception time of the last packet of the flow storage means from the current time is smaller than the estimated RTO value, a second packet loss number calculation means for setting the retransmission packet flag of the flow storage means off;
Means for setting the current time to the reception time of the final packet of the flow storage means and setting the type of the final packet as a data packet.

また、本発明(請求項4)は、前記TCP ACKパケット処理手段において、
前記フロー情報記憶手段を参照した結果、前記タイムアウトフラグがオンであり、かつ、前記タイムアウト時シーケンス番号に1加算した値が前記ACKパケットのシーケンス番号と等しい場合は、フローの方向に応じて、前記パケットロス数記憶手段のパケットロス数を1加算し、該フロー情報記憶手段におけるデータパケットのフローの再送パケットフラグをオンにする第3のパケットロス数算出手段と、
前記フロー情報記憶手段の前記タイムアウトフラグをオフにする手段と、含む。
The present invention (Claim 4) is characterized in that in the TCP ACK packet processing means,
As a result of referring to the flow information storage means, when the timeout flag is on and the value obtained by adding 1 to the timeout sequence number is equal to the sequence number of the ACK packet, depending on the flow direction, A third packet loss number calculating means for adding 1 to the packet loss number in the packet loss number storage means and turning on a retransmission packet flag of the flow of data packets in the flow information storage means;
Means for turning off the timeout flag of the flow information storage means.

また、本発明(請求項5)は、前記TCP ACKパケット処理手段において、
前記フロー情報記憶手段を参照した結果、前記タイムアウトフラグがオフであり、かつ、ACKパケットのシーケンス番号と該フロー情報記憶手段の最終ACKパケットのシーケンス番号が同じ値である場合は、該フロー情報記憶手段の重複数に1を加算し、同じ値でない場合は、該フロー情報記憶手段の重複数に0を設定する手段と、
前記フロー情報記憶手段の最終ACKパケットのシーケンス番号に、受信したACKパケットのシーケンス番号を設定する手段と、を含む。
The present invention (Claim 5) provides the TCP ACK packet processing means,
As a result of referring to the flow information storage means, when the timeout flag is OFF and the sequence number of the ACK packet and the sequence number of the final ACK packet of the flow information storage means are the same value, the flow information storage 1 is added to the duplication number of the means, and if not the same value, means for setting 0 to the duplication number of the flow information storage means,
Means for setting the sequence number of the received ACK packet to the sequence number of the final ACK packet in the flow information storage means.

また、本発明(請求項6)は、前記第1のパケットロス数算出手段において、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に前記パケットロス数Nを加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に該パケットロス数Nを加算する手段を含む。
In the present invention (Claim 6), in the first packet loss number calculating means,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, the packet loss number N is added to the packet loss number of the network B of the packet loss number storage means. When the network B flows from the network B to the network A, the packet loss number storage means includes means for adding the packet loss number N to the packet loss number of the network A.

また、本発明(請求項7)は、前記第2のパケットロス数算出手段において、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に1を加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に1を加算する手段を含む。
In the present invention (Claim 7), in the second packet loss number calculating means,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, 1 is added to the packet loss number of the network B of the packet loss number storage means, and the network In the case of flowing from B to the network A, a means for adding 1 to the packet loss number of the network A in the packet loss number storage means is included.

また、本発明(請求項8)は、前記第3のパケットロス数算出手段において、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に1を加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に1を加算する手段を含む。
The present invention (Claim 8) is characterized in that in the third packet loss number calculating means,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, 1 is added to the packet loss number of the network B of the packet loss number storage means, and the network In the case of flowing from B to the network A, a means for adding 1 to the packet loss number of the network A in the packet loss number storage means is included.

本発明によれば、TCP送信端末群とTCP受信端末群が、ネットワークA(TCP送信端末−測定ポイント)及びネットワークB(測定端末−TCP受信端末)を介して、TCP通信を行うIPネットワークの測定ポイントにおいて、パケットロスの可能性がある受信パケット情報を選別して、フローテーブル(フロー記憶手段)にフラグを設定していくことにより、
・測定ポイント〜TCP受信端末(ネットワークA⇒ネットワークB)におけるウィンドウの全パケットロス;
・測定ポイント〜TCP受信端末(ネットワークA⇒ネットワークB)におけるウィンドウの半数以上のパケットロス(ただし、全パケットロスではない);
・TCP受信端末〜測定ポイント(ネットワークB⇒ネットワークA)におけるウィンドウの全ACKパケットロス;
の検出も可能となり、パケットロスの測定精度を向上させることができる。
According to the present invention, measurement of an IP network in which a TCP transmission terminal group and a TCP reception terminal group perform TCP communication via a network A (TCP transmission terminal-measurement point) and a network B (measurement terminal-TCP reception terminal). At the point, by selecting the received packet information with the possibility of packet loss and setting a flag in the flow table (flow storage means),
-All packet loss of window at measurement point-TCP receiving terminal (network A-> network B);
-Packet loss of more than half of the window at the measurement point-TCP receiving terminal (network A-> network B) (but not all packet loss);
-All ACK packet loss of window from TCP receiving terminal to measurement point (network B ⇒ network A);
Can be detected, and the accuracy of packet loss measurement can be improved.

本発明の一実施の形態における測定ポイントを示す図である。It is a figure which shows the measurement point in one embodiment of this invention. パケットロス発生ポイントと発生パターンである。Packet loss occurrence point and occurrence pattern. 本発明で想定するネットワークの構成図である。It is a block diagram of the network assumed by this invention. 本発明の一実施の形態におけるパケットロス数測定装置の構成図である。It is a block diagram of the packet loss number measuring apparatus in one embodiment of this invention. 本発明の一実施の形態におけるフローテーブルの例である。It is an example of the flow table in one embodiment of this invention. 本発明の一実施の形態におけるパケットロス数テーブルの例である。It is an example of the packet loss number table in one embodiment of this invention. 本発明の一実施の形態における受信済みシーケンス番号テーブルの例である。It is an example of the received sequence number table in one embodiment of this invention. 本発明の一実施の形態におけるTCPデータパケット処理部のフローチャートである。It is a flowchart of the TCP data packet processing part in one embodiment of the present invention. 本発明の一実施の形態におけるTCP ACKパケット処理部のフローチャートである。4 is a flowchart of a TCP ACK packet processing unit in an embodiment of the present invention.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

本発明では、非特許文献1及び上記の技術1と同様に、図1に示すように、データパケットの転送方向(TCP送信端末)からTCP受信端末への通信方向)において、測定ポイントの前後のネットワークのパケットロス数を測定する。同図において、逆方向のc,dのパケットロスは、区間a,bのパケットロスと区別するために考慮が必要なため、本明細書で触れているが、実際にパケットロス数をカウントするのは、TCP送信端末からTCP受信端末方向における、区間a,bのポイントのみである。   In the present invention, similarly to Non-Patent Document 1 and Technique 1 above, as shown in FIG. 1, in the data packet transfer direction (the communication direction from the TCP transmitting terminal) to the TCP receiving terminal) Measure the number of packet losses in the network. In the figure, the c and d packet losses in the reverse direction need to be considered in order to distinguish them from the packet losses in the sections a and b, and are mentioned in this specification, but actually count the number of packet losses. Are only points in the sections a and b in the direction from the TCP transmitting terminal to the TCP receiving terminal.

なお、「測定ポイント」は、本発明のパケットロス数測定装置の位置とする。   The “measurement point” is the position of the packet loss number measuring apparatus of the present invention.

図2は、パケットロスの発生ポイントと発生パターンを示している。   FIG. 2 shows packet loss occurrence points and occurrence patterns.

同図において、区間aは、TCP送信端末からTCP受信端末に向かう通信におけるTCP送信端末と測定ポイント間を指す。区間bは、TCP送信端末からTCP受信端末に向かう通信における測定ポイントとTCP受信端末間を指す。区間cは、TCP受信端末からTCP送信端末に向かう通信におけるTCP受信端末と測定ポイント間を指す。区間dは、TCP受信端末からTCP送信端末に向かう通信における測定ポイントとTCP送信端末間を指す。   In the figure, a section a indicates between a TCP transmission terminal and a measurement point in communication from a TCP transmission terminal to a TCP reception terminal. The interval b indicates between the measurement point and the TCP receiving terminal in the communication from the TCP transmitting terminal to the TCP receiving terminal. The section c indicates between the TCP receiving terminal and the measurement point in the communication from the TCP receiving terminal to the TCP transmitting terminal. The interval d indicates between the measurement point and the TCP transmission terminal in the communication from the TCP reception terminal to the TCP transmission terminal.

区間aにおいて、ウィンドウの半数未満のパケットが損失するような状態(以下、「a−(2)」と記す)、区間bにおいて、ウィンドウの半数未満のパケットが損失するような状態(以下、「b−(2)と記す」については、非特許文献1の手法で検出が可能である。   A state in which packets less than half the window are lost in the interval a (hereinafter referred to as “a- (2)”), and a state in which packets less than half the window are lost in the interval b (hereinafter, “ “b- (2)” can be detected by the method of Non-Patent Document 1.

しかし、パケットが半数以上損失し、TCPの送信端末がタイムアウトを起こすようなケースとしては、区間aにおいて、ウィンドウの全パケットが損失する状態(以下、「a−(1)と記す」や、区間aにおいて、ウィンドウの半数以上のパケットが損失する状態(以下、「a−(3)」と記す)や、区間bにおいて、ウィンドウの全パケットが損失する状態(以下、「b−(1)」と記す)や、ウィンドウの半数以上のパケットが損失する状態(以下、「b−(3)」と記す)や、区間cにおいてウィンドウの全ACKパケットが損失する状態(以下、「c−(1)」と記す)や、区間dにおいて、ウィンドウの全ACKパケットが損失する状態(以下、「d−(1)」と記す)は、TCPの振る舞いは非常に似ており、判別が難しいが、これらを正しく判別できないことが非特許文献1の手法において大きな誤差を生じる原因となっている。   However, in the case where more than half of the packets are lost and the TCP transmission terminal times out, in the interval a, all the packets in the window are lost (hereinafter referred to as “a- (1)”), A state in which more than half of the windows are lost in a (hereinafter referred to as “a- (3)”), or a state in which all packets in the window are lost in interval b (hereinafter, “b- (1)”). ), A state in which more than half of the windows are lost (hereinafter referred to as “b- (3)”), or a state in which all ACK packets in the window are lost in the interval c (hereinafter referred to as “c- (1)”. ) ”) Or a state in which all ACK packets of the window are lost in the interval d (hereinafter referred to as“ d- (1) ”), the behavior of TCP is very similar and difficult to distinguish. These correctly Inability another has become a cause for a large error in the non-patent document 1 approach.

また、上記技術1では、区間dにおいてウィンドウの全ACKパケットが損失するd−(1)の検出を可能にしているが、本発明では、更に、「a−(1)」、「b−(1)」、「b−(3)」、「c−(1)」の検出を可能にすることで、測定精度を向上させるものである。   Further, in the technique 1, it is possible to detect d- (1) in which all ACK packets in the window are lost in the interval d. However, in the present invention, “a- (1)”, “b- ( 1) "," b- (3) ", and" c- (1) "can be detected to improve measurement accuracy.

図3は、本発明で想定するネットワークの構成図である。   FIG. 3 is a configuration diagram of a network assumed in the present invention.

同図に示すシステムは、複数の端末群100,200がネットワークA及びネットワークBを介してTCP通信を行う。ネットワークAとネットワークB間に通信データをコピーする装置(ネットワークスイッチのポートミラーリング機能、タップ装置等)を置き、TCP送信端末100とTCP受信端末200の間でやり取りされるパケットのコピーがパケットロス数測定装置300に転送されるように接続する。パケットロス数測定装置300では、ネットワークAとネットワークBの間を流れるパケットを分析することにより、ネットワークAとネットワークBのパケットロス数の測定を行う。   In the system shown in the figure, a plurality of terminal groups 100 and 200 perform TCP communication via a network A and a network B. A device for copying communication data between the network A and the network B (a port mirroring function of a network switch, a tap device, etc.) is placed, and a copy of a packet exchanged between the TCP transmitting terminal 100 and the TCP receiving terminal 200 is the number of packet losses. Connection is made so as to be transferred to the measuring apparatus 300. The packet loss number measuring apparatus 300 measures the number of packet losses in the network A and the network B by analyzing packets flowing between the network A and the network B.

上記の各ケースについて説明する。   Each case will be described.

<a−(1)のケース>
当該ケースは、TCP送信端末100から送信されたパケットが測定ポイントに到着する前に、全てのパケットがロスし、TCP送信端末100のタイムアウト後に、パケットが再送され、測定ポイントに到着するケースである。
<Case of a- (1)>
In this case, all packets are lost before the packet transmitted from the TCP transmission terminal 100 arrives at the measurement point, and after the TCP transmission terminal 100 times out, the packet is retransmitted and arrives at the measurement point. .

このケースでは、測定ポイントでは、最初のパケットが送信されたことはわからず、再送パケットだけが到着する。但し、再送パケットが初回送信のパケットか、再送パケットかは、TCPパケットにそのような情報がないため判別がつかない。このため、2つのパケットの時間差も分からないため、タイムアウトが発生したのかの判断さえも難しいケースである。   In this case, the measurement point does not know that the first packet has been transmitted, and only the retransmission packet arrives. However, it is not possible to determine whether the retransmission packet is the first transmission packet or the retransmission packet because there is no such information in the TCP packet. For this reason, since the time difference between two packets is not known, it is difficult to even determine whether a timeout has occurred.

本発明では、タイムアウトを検出するために、到着したパケットpktiとその前に送られたACKパケットACKi−1の時間差から、タイムアウトの検出を行う。 In the present invention, in order to detect the timeout, the timeout is detected from the time difference between the arrived packet pkt i and the ACK packet ACK i−1 sent before that.

Ti−TAi−1≧(RTOestimated+α)
の式が成り立てば、タイムアウトが発生したと見做す。また、この方法では、ACKパケットがTCP送信端末100に到着するまでの伝搬遅延を考慮する必要があるため、例えば、TCP送信端末100と測定ポイント間のRTT(Round Trip Time)の計測値を用いて、
α=(TCP送信端末〜測定ポイント間のRTT)/2
として補正することも考えられる。
T i −TA i−1 ≧ (RTOestimated + α)
If the following formula is established, it is considered that a timeout has occurred. In this method, since it is necessary to consider the propagation delay until the ACK packet arrives at the TCP transmitting terminal 100, for example, a measured value of RTT (Round Trip Time) between the TCP transmitting terminal 100 and the measurement point is used. And
α = (RTT between TCP transmission terminal and measurement point) / 2
It is also possible to correct as follows.

タイムアウトの発生が検出されたら、誤判定を防ぐために、下記の条件に当てはまるか評価を行う。   If the occurrence of a timeout is detected, an evaluation is performed to determine whether the following conditions are met in order to prevent erroneous determination.

・pkt iと前のACKパケットは同一のシーケンス番号を持つ。 • pkt i and the previous ACK packet have the same sequence number.

・重複ACKは発生していない。   ・ No duplicate ACK has occurred.

・一つ前のデータパケットpkti−1は再送パケットでない。 The previous data packet pkt i-1 is not a retransmission packet.

以上をまとめると、下記の式になる。この式に当てはまる場合に、a−(1)のパケットロスのパターンが発生したと考える。   In summary, the following equation is obtained. When this formula is applied, it is considered that the packet loss pattern a- (1) has occurred.

但し、 However,

TA i:ACK iの測定ポイントにおける到着時間
ACK i:ACK iのAcknowledgement番号(次に期待するシーケンス番号
RTOestimated:RTOの推定値
Dupack:同一ACK番号を持つACKパケットの連続受信数
RX i:pkt iが再送パケット種別を示すフラグ
(再送パケット=1、再送パケットではない=0)
である。
TA i : Arrival time at the measurement point of ACK i
ACK i : Acknowledgment number of ACK i (next expected sequence number
RTO estimated : Estimated value of RTO
Dupack: Number of consecutive ACK packets with the same ACK number
RX i : pkt i is a flag indicating the type of retransmission packet (retransmission packet = 1, not retransmission packet = 0)
It is.

当該パターンは、全てのパケットがロスし、タイムアウト発生後に、パケットが再送されたパターンであるが、再送パケットが更に1回、もしくは、複数回ロスしている可能性も考えられる。   This pattern is a pattern in which all packets are lost and the packet is retransmitted after a timeout occurs, but there is a possibility that the retransmission packet may be lost once more or a plurality of times.

TCPでは、タイムアウトによる再送が発生する毎に、再送間隔を2倍にする指数バックオフが規定されている(RFC2988)。この指数バックオフを考慮することで、パケットの再送回数(=パケットロス数)を下記のように指定する。αは前述の通り、ACKパケットがTCP送信端末100に届くまでの伝搬遅延を考慮した補正である。   TCP specifies an exponential backoff that doubles the retransmission interval each time a retransmission occurs due to a timeout (RFC2988). Considering this exponential backoff, the number of packet retransmissions (= number of packet losses) is specified as follows. As described above, α is a correction considering the propagation delay until the ACK packet reaches the TCP transmitting terminal 100.

パケットロス数=Log2((T i−TAi−1−α/RTOestimated)+1
<b−(1)のケース>
当該ケースは、測定ポイントの後の区間bにおいて、TCPのウィンドウのパケットが全て損失するケースである。このケースでは、ACKがTCP送信端末100に返ってこないため、TCP送信端末100はタイムアウトを起こす。
Number of packet loss = Log 2 ((T i −TA i−1 −α / RTO estimated ) +1
<Case b- (1)>
This case is a case where all packets in the TCP window are lost in the interval b after the measurement point. In this case, since ACK does not return to the TCP transmission terminal 100, the TCP transmission terminal 100 times out.

タイムアウトが発生するため、再送されたデータパケットpktiとその一つ前のデータパケットpkti−1の間隔は、RTO(Retransmission TimeOut)値以上になる。TCP受信端末200は、再送パケットpktiを受け取った後、ACKを返信するが、ウィンドウのパケットが全てTCP受信端末200に到着する前に損失しているため、再送されたpkt i以外のパケットは受信できていない。このため、返送されるACKは、pkt iの次のシーケンス番号を示すことが期待できる。よって、当該ケースの検出方法としては、測定ポイントにおいて、再送パケット(既に測定ポイントにて観測されたパケット)に対して、下記の判定式により検出することができる。 Since a timeout occurs, the interval between the retransmitted data packet pkt i and the previous data packet pkt i−1 is equal to or greater than the RTO (Retransmission Time Out) value. The TCP receiving terminal 200 returns an ACK after receiving the retransmission packet pkt i , but since all the packets in the window are lost before arriving at the TCP receiving terminal 200, packets other than the retransmitted pkt i are not received. Not receiving. For this reason, the returned ACK can be expected to indicate the next sequence number of pkt i . Therefore, as a detection method of the case, it is possible to detect a retransmission packet (a packet that has already been observed at the measurement point) at the measurement point using the following determination formula.

ただし、 However,

である。 It is.

<b−(3)のケース>
当該ケースは、測定ポイントの後の区間bにおいて、TCPのウィンドウのパケットの半数以上が損失するケースである。この場合、TCP送信端末100では、Triple Duplicated ACKの検出により、輻輳回避モードになりウィンドウが半分になるが、半数以上のパケットが損失しているため、TCP送信端末100はタイムアウトを引き起こすことになる。
<Case b- (3)>
This case is a case where more than half of the TCP window packets are lost in the interval b after the measurement point. In this case, when the TCP transmitting terminal 100 detects Triple Duplicated ACK, the congestion avoiding mode is entered and the window is halved. However, since more than half of the packets are lost, the TCP transmitting terminal 100 causes a timeout. .

タイムアウトが発生するため、再送されたデータパケットpkt iとその一つ前のデータパケットpkti i-1の間隔は、RTO値以上になる。タイムアウトは発生するものの、ACKは正常にTCP送信端末100に届いているため、再送パケットpkt iはACKパケットの受信確認情報に従った再送パケットになる。すなわち、pkt iのシーケンス番号の下限は、前に届いたACKパケットACK i-1で示されたシーケンス番号と同じになる。そして、TCP受信端末200は損失したパケット以外の一部のパケットについては既に受信しているため、pkt iを受信したTCP受信端末200が返送するACKパケットACKiは、acknowledgment番号としてpkt iの次のシーケンス番号よりも大きい番号を示すことが期待できる。よって、b−(3)の検出方法としては、測定のポイントにおいて、再送パケット(既に測定ポイントにて観測されたパケット)に対して、下記の判定式により検出することができる。 Since a timeout occurs, the interval between the retransmitted data packet pkt i and the immediately preceding data packet pkt i i−1 is equal to or greater than the RTO value. Although a timeout occurs, ACK has normally reached the TCP transmission terminal 100, so that the retransmission packet pkt i becomes a retransmission packet according to the acknowledgment information of the ACK packet. That is, the lower limit of the sequence number of pkt i is the same as the sequence number indicated by the previously received ACK packet ACK i-1 . Since TCP receiving terminal 200 which has already received for some packets other than packets lost, ACK packet ACKi the TCP receiving terminal 200 which has received the pkt i sends back the the next pkt i as acknowledgment number It can be expected to indicate a number larger than the sequence number. Therefore, as a detection method of b- (3), it is possible to detect a retransmission packet (a packet that has already been observed at the measurement point) at the measurement point using the following determination formula.

ただし、 However,

である。 It is.

また、下記の判定式のように、タイムアウトの検出と、前のパケットがACKであることの確認だけで、検出することも可能である。   Moreover, it is also possible to detect only by detecting a timeout and confirming that the previous packet is ACK, as in the following judgment formula.

<c−(1)のケース>
当該ケースは、測定ポイントの後の区間cにおいて、TCPのウィンドウのACKパケットが全て損失するケースである。当該ケースでは、ACKがTCP送信端末100に返って来ないため、TCP送信端末100はタイムアウトを引き起こす。タイムアウトが発生するため、再送されたデータパケットpkt iとその一つ前のデータパケットpkt i-1の間隔は、RTO値以上になる。TCP受信端末200は、再送パケットpkt iを受け取った後、ACKを返送するが、損失したのはACKパケットであり、データパケットは既にTCP受信端末200に届いている。このため、返送されるACKはpkt iの次のシーケンス番号によりも大きい番号を示すことが期待できる。よって、c−(1)の検出方法としては、測定ポイントにおいて、再送パケット(既に測定ポイントにて観測されたパケットに対して、下記の判定式により検出することができる。
<C- (1) Case>
This case is a case where all ACK packets in the TCP window are lost in the interval c after the measurement point. In this case, since the ACK does not return to the TCP transmission terminal 100, the TCP transmission terminal 100 causes a timeout. Since a timeout occurs, the interval between the retransmitted data packet pkt i and the immediately preceding data packet pkt i-1 is equal to or greater than the RTO value. After receiving the retransmission packet pkt i , the TCP receiving terminal 200 returns an ACK, but the lost packet is the ACK packet, and the data packet has already reached the TCP receiving terminal 200. For this reason, the returned ACK can be expected to indicate a larger number than the sequence number next to pkt i . Therefore, as a detection method of c- (1), a retransmitted packet (a packet that has already been observed at the measurement point) can be detected by the following determination formula at the measurement point.

以下に、本発明のパケットロス数測定装置について説明する。 The packet loss number measuring apparatus of the present invention will be described below.

図4は、本発明の一実施の形態におけるパケットロス数測定装置の構成を示す。   FIG. 4 shows the configuration of the packet loss number measuring apparatus according to the embodiment of the present invention.

同図に示すパケットロス測定装置300は、フロー処理部1、TCPデータパケット処理部2、TCP ACKパケット処理部3、フローテーブル4、受信済みシーケンス番号テーブル5、パケットロス数テーブル6から構成される。フローテーブル4、受信済みシーケンス番号テーブル5、パケットロス数テーブル6は、メモリやハードディスク装置等の記憶媒体である。   A packet loss measuring apparatus 300 shown in FIG. 1 includes a flow processing unit 1, a TCP data packet processing unit 2, a TCP ACK packet processing unit 3, a flow table 4, a received sequence number table 5, and a packet loss number table 6. . The flow table 4, the received sequence number table 5, and the packet loss number table 6 are storage media such as a memory and a hard disk device.

同図において、ネットワークAからネットワークBへ流れるパケット、ネットワークBからネットワークAへ流れるパケットは、それぞれパケットが流れる方向が識別できるように、例えば、別回線で接続するなどして、フロー処理部1に転送されるものとする。   In the figure, the packets flowing from the network A to the network B and the packets flowing from the network B to the network A are connected to the flow processing unit 1 by, for example, connecting them with separate lines so that the flow direction of the packets can be identified. Shall be transferred.

図5は、本発明の一実施の形態におけるフローテーブルの例である。   FIG. 5 is an example of a flow table in one embodiment of the present invention.

同図に示すフローテーブル4は、フローID、送信元IPアドレス、送信先IPアドレス、送信元TCPポート番号、送信先TCPポート番号、フローの方向、最終パケットの受信時刻、最終ACKパケットの受信時刻、最終ACKパケットのシーケンス番号、ACK番号の重複数、最終パケットの種類(データまたはACK)、再送パケットフラグ、タイムアウトフラグ、タイムアウト時シーケンス番号を格納する。再送パケットフラグは、区間bにおいてウィンドウの半数以上のパケッとロス(ただし、全パケットロスではない)の可能性があるときにオンとなるフラグである。タイムアウトフラグは、区間bにおいてウィンドウの全パケットロスの可能性がある、または、区間cにおいてウィンドウの全ACKパケットロスの可能性があるときにオンとなるフラグである。   The flow table 4 shown in the figure includes a flow ID, a transmission source IP address, a transmission destination IP address, a transmission source TCP port number, a transmission destination TCP port number, a flow direction, a reception time of the final packet, and a reception time of the final ACK packet. The sequence number of the last ACK packet, the overlapping number of ACK numbers, the type of last packet (data or ACK), the retransmission packet flag, the timeout flag, and the sequence number at timeout are stored. The retransmission packet flag is a flag that is turned on when there is a possibility of packet and loss (however, not all packet loss) of half or more of the windows in the interval b. The time-out flag is a flag that is turned on when there is a possibility of a total packet loss of the window in the period b or a possibility of a total ACK packet loss of the window in the period c.

図6は、本発明の一実施の形態におけるパケットロス数テーブルの例である。   FIG. 6 is an example of a packet loss number table in one embodiment of the present invention.

同図に示すパケットロス数テーブル5は、フローID、ネットワークAのパケットロス数、ネットワークBのパケットロス数が格納される。   The packet loss number table 5 shown in the figure stores the flow ID, the network A packet loss number, and the network B packet loss number.

図7は、本発明の一実施の形態における受信済みシーケンス番号テーブルの例である。   FIG. 7 is an example of a received sequence number table in one embodiment of the present invention.

同図に示す受信済みシーケンス番号テーブル5は、フローID、パケットのシーケンス番号の下限値及び上限値を格納する。   The received sequence number table 5 shown in the figure stores the flow ID, the lower limit value and the upper limit value of the sequence number of the packet.

フロー処理部1では、受信したパケットのIPヘッダ、及びTCPヘッダから、送信元IPアドレス、送信先IPアドレス、送信元TCPポート番号、送信先TCPポート番号、フローの方向で一意に識別できるものをフローとして検出し、フローテーブル4を参照し、当該フローテーブル4に既に登録されているフローであれば、フローIDを取得し、登録されていなければユニークなフローIDを新たに付与して、フローテーブル4に登録する。なお、この時点の再送パケットフラグ、タイムアウトフラグにはデフォルトとして"0"(オフ)が設定されているものとする。   In the flow processing unit 1, from the IP header and the TCP header of the received packet, those that can be uniquely identified by the source IP address, destination IP address, source TCP port number, destination TCP port number, and flow direction If it is detected as a flow and the flow table 4 is referenced and the flow is already registered in the flow table 4, a flow ID is obtained. If it is not registered, a unique flow ID is newly assigned. Register in Table 4. It is assumed that “0” (off) is set as a default for the retransmission packet flag and the timeout flag at this time.

フローテーブル4に設定されるフローの方向は、例えば、データパケットが流れる方向を基準にして、ネットワークAからネットワークBに流れる場合は"1"、ネットワークBからネットワークAに流れる場合は"0"というような識別番号を設定する。   The flow direction set in the flow table 4 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. An identification number like this is set.

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.

フロー処理部1は、ネットワークAからネットワークBへの受信パケットからデータパケット情報を取り出して、TCPデータパケット処理部2に渡す。また、ネットワークBからネットワークAへのパケットから、ACKパケット情報を取り出して、TCP ACKパケット処理部3に渡す。   The flow processing unit 1 extracts data packet information from the received packet from the network A to the network B and passes it to the TCP data packet processing unit 2. In addition, ACK packet information is extracted from the packet from network B to network A and passed to TCP ACK packet processing unit 3.

TCPデータパケット処理部2は、
a)再送パケットの確認;
b)タイムアウトの確認;
c)タイムアウト前のACKの確認;
を行う。
The TCP data packet processing unit 2
a) Confirmation of retransmission packet;
b) confirmation of timeout;
c) Confirmation of ACK before timeout;
I do.

a)再送パケットの確認は、受信済みシーケンス番号テーブル6にパケットのシーケンス番号が含まれるかをチェックする。   a) For confirmation of a retransmitted packet, it is checked whether the sequence number of the packet is included in the received sequence number table 6.

b)タイムアウトの確認は、現在時刻からフローテーブル4の最終パケットの受信時刻が推定(Retransmission TimeOut)値以上であるかをチェックする。   b) For confirmation of timeout, it is checked whether the reception time of the last packet in the flow table 4 from the current time is equal to or greater than the estimated (Retransmission TimeOut) value.

c)タイムアウト前のACKの確認は、上記のb)において(現在時刻−フローテーブル4の最終パケットの受信時刻≧推定RTO値)である場合に、フローテーブル4の最終パケットの種類がデータパケットかACKパケットかのチェックを行う。   c) Confirmation of ACK before time-out is whether the type of the final packet in the flow table 4 is a data packet when (current time−reception time of the final packet in the flow table 4 ≧ estimated RTO value) in b) above. Check for ACK packet.

以下に、TCPデータパケット処理部3の処理を説明する。   Hereinafter, the processing of the TCP data packet processing unit 3 will be described.

図8は、本発明の一実施の形態におけるTCPデータパケット処理部のフローチャートである。   FIG. 8 is a flowchart of the TCP data packet processing unit in one embodiment of the present invention.

ステップ101) TCPデータパケット処理部2は、フロー処理部1からフローIDとパケットデータを取得する。   Step 101) The TCP data packet processing unit 2 acquires a flow ID and packet data from the flow processing unit 1.

ステップ102) 現在時刻−フローテーブル4の最終ACKパケットの受信時刻≧推定RTO値+αである場合はステップ103に移行し、そうでない場合は、ステップ106に移行する。なお、αは補正値である。   Step 102) If the current time minus the reception time of the last ACK packet in the flow table 4 ≧ estimated RTO value + α, the process proceeds to Step 103; otherwise, the process proceeds to Step 106. Α is a correction value.

ステップ103) 下記の条件を満たす場合はステップ104に移行し、満たさない場合はステップ106に移行する。   Step 103) If the following condition is satisfied, the process proceeds to Step 104. If not, the process proceeds to Step 106.

条件)
・フローテーブル4の最終パケットの種類=ACK;
・フローテーブル4のACK番号の重複数=0;
・フローテーブル4の再送パケットフラグ=0;
ステップ104) パケットロス数を算出し、パケットロス数テーブル5に格納する。
conditions)
-Last packet type of flow table 4 = ACK;
-Duplicate number of ACK numbers in flow table 4 = 0;
-Retransmission packet flag of flow table 4 = 0;
Step 104) The packet loss number is calculated and stored in the packet loss number table 5.

パケットロス数は、
N=LOG2(パケットの受信時刻−フローテーブルの最終ACKパケットの受信時刻−α)/推定TRO値)+1
により求める。
The number of packet loss is
N = LOG 2 (packet reception time−flow table last ACK packet reception time−α) / estimated TRO value) +1
Ask for.

パケットロス数をパケットロス数テーブル5に格納する場合は以下のように、フロー方向によって異なる。   When the number of packet losses is stored in the packet loss number table 5, it differs depending on the flow direction as follows.

・フローの方向がネットワークA→ネットワークBの場合:
パケットロス数テーブル5のネットワークBのパケットロス数にNを加算する。
-When the flow direction is network A → network B:
N is added to the packet loss number of the network B in the packet loss number table 5.

・フローの方向がネットワークB→ネットワークAの場合:
パケットロス数テーブル5のネットワークAのパケットロス数にNを加算する。
・ When the flow direction is network B → network A:
N is added to the packet loss number of the network A in the packet loss number table 5.

ステップ105) フローテーブル4の再送パケットフラグを1に設定し、ステップ116に移行する。   Step 105) The retransmission packet flag of the flow table 4 is set to 1, and the process proceeds to Step 116.

ステップ106) 受信済みシーケンス番号テーブル6にパケットのシーケンス番号が含まれるかを判定し、含まれる場合はステップ107に移行し、含まれない場合はステップ114に移行する。   Step 106) It is determined whether the sequence number of the packet is included in the received sequence number table 6. If included, the process proceeds to Step 107. If not included, the process proceeds to Step 114.

ステップ107) タイムアウトの確認として、
現在時刻−フローテーブルの最終パケットの受信時刻≧推定RTO値
である場合は「タイムアウトの可能性あり」として、ステップ108に移行し、そうでない場合はステップ113に移行する。
Step 107) As confirmation of timeout,
If the current time—the reception time of the last packet in the flow table ≧ the estimated RTO value, “there is a possibility of timeout”, the process proceeds to step 108; otherwise, the process proceeds to step 113.

ステップ108) タイムアウト前のACKパケットの確認として、フローテーブル4の最終パケットの種類がデータパケットであるかACKパケットであるかを判定し、データパケットである場合は、ステップ109に移行し、ACKパケットである場合はステップ110に移行する。   Step 108) As a confirmation of the ACK packet before the timeout, it is determined whether the type of the final packet in the flow table 4 is a data packet or an ACK packet. If YES, go to Step 110.

ステップ109) b−(1)または、c−(1)のケースの可能性を示す、フローテーブル4のタイムアウトフラグに"1"を設定し、ステップ112に移行する。   Step 109) “1” is set in the timeout flag of the flow table 4 indicating the possibility of the case of b- (1) or c- (1), and the routine proceeds to Step 112.

ステップ110) パケットロスをパケットロス数テーブル5に記録する。この際、フローの方向によって以下のように、格納する。   Step 110) Record the packet loss in the packet loss number table 5. At this time, the data is stored as follows depending on the flow direction.

・フローの方向がネットワークA→ネットワークBの場合:
パケットロス数テーブル5のネットワークBのパケットロス数に1を加算する。
-When the flow direction is network A → network B:
1 is added to the packet loss number of the network B in the packet loss number table 5.

・フローの方向がネットワークB→ネットワークAの場合:
パケットロス数テーブル5のネットワークAのパケットロス数に1を加算する。
・ When the flow direction is network B → network A:
1 is added to the packet loss number of the network A in the packet loss number table 5.

ステップ111) フローテーブル4の再送パケットフラグを"1"に設定する。   Step 111) The retransmission packet flag of the flow table 4 is set to “1”.

ステップ112) フローテーブル4のタイムアウト時シーケンス番号に当該パケットのシーケンス番号の上限値を記録し、ステップ116に移行する。   Step 112) The upper limit value of the sequence number of the packet is recorded in the time-out sequence number of the flow table 4, and the process proceeds to Step 116.

ステップ113) フローテーブル4の再送パケットフラグを0に設定し、ステップ116に移行する。   Step 113) The retransmission packet flag of the flow table 4 is set to 0, and the process proceeds to Step 116.

ステップ114) ステップ106において、受信済みシーケンス番号テーブル6にパケットシーケンス番号が含まれていない場合は、フローテーブル4の受信済みシーケンス番号にパケットのシーケンス番号の上限値及び下限値を記録する。   Step 114) In step 106, if the packet sequence number is not included in the received sequence number table 6, the upper limit value and the lower limit value of the sequence number of the packet are recorded in the received sequence number of the flow table 4.

ステップ115) フローテーブル4の再送パケットフラグを0に設定する。   Step 115) The retransmission packet flag of the flow table 4 is set to 0.

ステップ116) フローテーブル4の最終パケットの受信時刻に現在時刻を設定し、最終パケットの種類(データパケット/ACKパケット)を設定する。   Step 116) The current time is set as the reception time of the last packet in the flow table 4, and the type of the last packet (data packet / ACK packet) is set.

TCP ACKパケット処理部3は、フロー処理部1を介してネットワークBからネットワークAへのパケット取り出されたACKパケット情報を取得し、フローがネットワークA、ネットワークBにおいてロスしたと想定されるパケット数とパケットロス率(=パケットロス数/転送パケット数)を算出することができる。   The TCP ACK packet processing unit 3 acquires ACK packet information extracted from the network B to the network A via the flow processing unit 1, and the number of packets assumed to have lost the flow in the network A and the network B. The packet loss rate (= packet loss number / transfer packet number) can be calculated.

次に、TCP ACKパケット処理部3の処理を説明する。   Next, the processing of the TCP ACK packet processing unit 3 will be described.

図9は、本発明の一実施の形態におけるTCP ACKパケット処理部のフローチャートである。   FIG. 9 is a flowchart of the TCP ACK packet processing unit in one embodiment of the present invention.

ステップ201) TCP ACKパケット処理部3は、フローテーブル4からフロー情報として、フローIDとACKパケットデータを取得する。   Step 201) The TCP ACK packet processing unit 3 acquires a flow ID and ACK packet data as flow information from the flow table 4.

ステップ202) b−(1)もしくは、c−(1)のケースの可能性を示す、フローテーブル4のタイムアウトフラグが"1"であるかを判定し、"1"である場合は、ステップ203に移行し、"0"である場合はステップ207に移行する。   Step 202) It is determined whether the timeout flag of the flow table 4 indicating the possibility of the case of b- (1) or c- (1) is “1”. If “0”, the process proceeds to step 207.

ステップ203) フローテーブル4のタイムアウト時シーケンス番号+1=ACKパケットのシーケンス番号である場合は、パケットロスがあるものとして、ステップ204に移行し、そうでない場合はステップ206に移行する。   Step 203) If the sequence number at timeout in the flow table 4 + 1 = the sequence number of the ACK packet, it is determined that there is a packet loss, and the process proceeds to Step 204. Otherwise, the process proceeds to Step 206.

ステップ204) 以下によりパケットロス数を求め、パケットロス数テーブル5に記録し、ステップ205に移行する。   Step 204) The number of packet losses is obtained as follows, recorded in the packet loss number table 5, and the process proceeds to Step 205.

・フロー方向が(ネットワークA⇒ネットワークB)の場合:
パケットロス数テーブルのネットワークBのパケットロス数に1を加算する。
-When the flow direction is (Network A ⇒ Network B):
Add 1 to the packet loss number of network B in the packet loss number table.

・フロー方向が(ネットワークB⇒ネットワークA)の場合:
パケットロス数テーブルのネットワークAのパケットロス数に1を加算する。
・ When the flow direction is (Network B⇒Network A):
1 is added to the packet loss number of the network A in the packet loss number table.

ステップ205) フローテーブル4における逆方向のフロー(データパケットのフロー)の再送パケットフラグを1に設定する。   Step 205) The retransmission packet flag of the reverse flow (data packet flow) in the flow table 4 is set to 1.

ステップ206) フローテーブル4のタイムアウトフラグを"0"に設定する。   Step 206) The timeout flag of the flow table 4 is set to “0”.

ステップ207) ACKパケットのシーケンス番号とフローテーブル4の最終ACKパケットのシーケンス番号が同じ値であるかを判定し、同じ値である場合はステップ209に移行し、異なる値である場合はステップ208に移行する。   Step 207) It is determined whether the sequence number of the ACK packet and the sequence number of the final ACK packet in the flow table 4 are the same value. If they are the same value, the process proceeds to Step 209, and if they are different values, the process proceeds to Step 208. Transition.

ステップ208) フローテーブル4のACK番号の重複数に0を設定し、ステップ210に移行する。   Step 208) Set 0 to the overlap number of the ACK number in the flow table 4 and proceed to Step 210.

ステップ209) フローテーブル4のACK番号の重複数に1を加算する。   Step 209) 1 is added to the overlap of the ACK number in the flow table 4.

ステップ210) フローテーブル4の最終ACKパケットのシーケンス番号に、受信したACKパケットのシーケンス番号を設定する。   Step 210) The sequence number of the received ACK packet is set in the sequence number of the final ACK packet in the flow table 4.

なお、本発明は、データパケットのロスのカウントが目的とすることから、c−(1)のケースは、ACKパケットのロスであるため、パケットロス数テーブル5への記録は行わない。   Since the present invention is aimed at counting the loss of data packets, the case of c- (1) is a loss of ACK packets, and therefore recording to the packet loss number table 5 is not performed.

なお、図4に示すパケットロス数測定装置の各構成要素の動作をプログラムとして構築し、パケットロス数測定装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The operation of each component of the packet loss number measuring apparatus shown in FIG. 4 can be constructed as a program, installed in a computer used as the packet loss number measuring apparatus and executed, or distributed via a network. 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.

1 フロー処理部
2 TCPデータパケット処理部
3 TCP ACKパケット処理部
4 フローテーブル
5 パケットロス数テーブル
6 受信済みシーケンス番号テーブル
100 TCP送信端末
200 TCP受信端末
300 パケットロス数測定装置
DESCRIPTION OF SYMBOLS 1 Flow processing part 2 TCP data packet processing part 3 TCP ACK packet processing part 4 Flow table 5 Packet loss number table 6 Received sequence number table 100 TCP transmitting terminal 200 TCP receiving terminal 300 Packet loss number measuring device

Claims (15)

TCP送信端末群とTCP受信端末群が、ネットワークA(TCP送信端末〜測定ポイント)及びネットワークB(測定ポイント〜TCP受信端末)を介して、TCP(Transmission Control Protocol)通信を行うIP(Internet Protocol)ネットワークの測定ポイントにおいて、該ネットワークのパケットロス数を測定するパケットロス数測定装置であって、
少なくとも、フロー識別子毎に、フローの方向、最終パケットの受信時刻、最終パケットの種類、タイムアウトフラグ、タイムアウト時シーケンス番号を格納するフロー記憶手段と、
前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信パケットが流れる方向を検出し、該受信パケットの情報を前記フロー記憶手段に格納すると共に、該受信パケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理手段と、
前記フロー処理手段から取得した前記受信データパケット情報について、データパケットとその前に送られたACKパケットの時間差に基づいてタイムアウトしているか否かを判定し、所定の条件及び、再送パケットであるか否かに基づいて、パケットロス数を算出し、パケットロス数記憶手段を更新するTCPデータパケット処理手段と、
前記フロー処理手段から取得した前記ACKパケット情報に基づいて前記フロー記憶手段を参照し、前記測定ポイントと前記TCP受信端末との間のパケットロスの状況を示す前記タイムアウトフラグがオンの場合は、パケットロス数を算出し、前記パケットロス数記憶手段を更新するTCP ACKパケット処理手段と、
を有することを特徴とするパケットロス数測定装置。
IP (Internet Protocol) in which TCP transmission terminal group and TCP receiving terminal group perform TCP (Transmission Control Protocol) communication via network A (TCP transmission terminal to measurement point) and network B (measurement point to TCP reception terminal) A packet loss number measuring device for measuring the number of packet losses in a network at a measurement point of the network,
At least for each flow identifier, flow storage means for storing the flow direction, the reception time of the last packet, the type of the last packet, a timeout flag, a sequence number at timeout,
The flow flowing between the network A and the network B and the direction in which the received packet of the flow flows are detected, the received packet information is stored in the flow storage means, and the received data packet information and the ACK packet are received from the received packet. Flow processing means for extracting and outputting information;
For the received data packet information acquired from the flow processing means, it is determined whether it is timed out based on the time difference between the data packet and the ACK packet sent before it, and whether it is a predetermined condition and a retransmission packet TCP data packet processing means for calculating the packet loss number based on whether or not, and updating the packet loss number storage means;
The flow storage means is referred to based on the ACK packet information acquired from the flow processing means, and when the timeout flag indicating the state of packet loss between the measurement point and the TCP receiving terminal is on, the packet TCP ACK packet processing means for calculating the number of losses and updating the packet loss number storage means;
A device for measuring the number of packet losses.
前記TCPデータパケット処理手段は、
前記フロー処理手段から取得した前記受信データパケット情報について、タイムアウトしている場合は、前記測定ポイントと前記TCP受信端末間においてパケットロスが発生している可能性があるものと判定し、
前記所定の条件として、前記フロー記憶手段の最終パケットの種類がACKで、ACKの番号の重複数が0であり、再送パケットのフラグがオフであるかを判定し、該条件を満たす場合は、パケットロス数Nを
N=LOG2((パケットの受信時刻−フロー記憶手段の最終ACKパケットの受信時刻)/推定RTO値)+1
により算出し、フローの方向に応じて前記パケットロス数記憶手段に加算し、該フロー記憶手段の再送パケットフラグをオンにする第1のパケットロス数算出手段
を含む請求項1記載のパケットロス数測定装置。
The TCP data packet processing means includes
For the received data packet information acquired from the flow processing means, if it has timed out, determine that there is a possibility that a packet loss has occurred between the measurement point and the TCP receiving terminal,
As the predetermined condition, it is determined whether the type of the final packet of the flow storage means is ACK, the duplication number of the ACK number is 0, and the flag of the retransmission packet is off. Packet loss number N
N = LOG2 ((packet reception time-last ACK packet reception time of flow storage means) / estimated RTO value) + 1
2. The packet loss number according to claim 1, further comprising: a first packet loss number calculation unit that calculates the packet loss number according to a flow direction and adds the packet loss number storage unit to the retransmission packet flag of the flow storage unit. measuring device.
前記TCPデータパケット処理手段は、
前記フロー処理手段から取得した前記受信データパケット情報について、タイムアウトしておらず、前記受信済みシーケンス番号記憶手段に、前記データパケットのシーケンス番号が含まれていなければ、該受信済みシーケンス番号記憶手段に該シーケンス番号の上限値及び下限値を記憶し、前記フロー記憶手段の再送パケットフラグをオフにし、含まれていれば、現在時刻から前記フロー記憶手段の最終パケットの受信時刻を引いた時間が推定RTO値以上である場合はタイムアウトと判断し、該フロー記憶手段の最終パケットの種類がデータパケットである場合は、該フロー記憶手段のタイムアウトフラグをオンにし、該最終パケットの種類がACKパケットである場合は、フローの方向に応じてパケットロス数記憶手段に加算し、前記フロー記憶手段の再送パケットフラグをオンにする手段と、
前記フロー記憶手段の該タイムアウト時シーケンス番号に当該パケットのシーケンス番号の上限値を設定する手段と、
現在時刻から前記フロー記憶手段の最終パケットの受信時刻を引いた時間が推定RTO値より小さい場合には、前記フロー記憶手段の再送パケットフラグをオフに設定する第2のパケットロス数算出手段と、
前記フロー記憶手段の前記最終のパケットの受信時刻に現在時刻を設定し、前記最終パケットの種類をデータパケットと設定する手段と、を含む
請求項1記載のパケットロス数測定装置。
The TCP data packet processing means includes
If the received data packet information acquired from the flow processing means has not timed out and the received sequence number storage means does not include the sequence number of the data packet, the received sequence number storage means Stores the upper limit value and lower limit value of the sequence number, turns off the retransmission packet flag of the flow storage means, and if included, estimates the time obtained by subtracting the reception time of the last packet of the flow storage means from the current time If it is equal to or greater than the RTO value, it is determined that a timeout has occurred. If the final packet type of the flow storage means is a data packet, the timeout flag of the flow storage means is turned on, and the final packet type is an ACK packet. In this case, it is added to the packet loss number storage means according to the flow direction, and the flow recording is performed. It means for turning on the retransmission packet flag means,
Means for setting an upper limit value of the sequence number of the packet to the timeout sequence number of the flow storage means;
If the time obtained by subtracting the reception time of the last packet of the flow storage means from the current time is smaller than the estimated RTO value, a second packet loss number calculation means for setting the retransmission packet flag of the flow storage means off;
2. The packet loss number measuring apparatus according to claim 1, further comprising means for setting a current time as a reception time of the final packet of the flow storage unit and setting a type of the final packet as a data packet.
前記TCP ACKパケット処理手段は、
前記フロー記憶手段を参照した結果、前記タイムアウトフラグがオンであり、かつ、前記タイムアウト時シーケンス番号に1加算した値が前記ACKパケットのシーケンス番号と等しい場合は、フローの方向に応じて、前記パケットロス数記憶手段のパケットロス数を1加算し、該フロー記憶手段におけるデータパケットのフローの再送パケットフラグをオンにする第3のパケットロス数算出手段と、
前記フロー記憶手段の前記タイムアウトフラグをオフにする手段と、含む
請求項1記載のパケットロス数測定装置。
The TCP ACK packet processing means is
As a result of referring to the flow storage means, when the timeout flag is on and the value obtained by adding 1 to the timeout sequence number is equal to the sequence number of the ACK packet, depending on the flow direction, the packet A third packet loss number calculating means for adding 1 to the packet loss number of the loss number storage means and turning on the retransmission packet flag of the flow of data packets in the flow storage means;
The packet loss number measuring apparatus according to claim 1, further comprising: means for turning off the timeout flag of the flow storage means.
前記TCP ACKパケット処理手段は、
前記フロー記憶手段を参照した結果、前記タイムアウトフラグがオフであり、かつ、ACKパケットのシーケンス番号と該フロー記憶手段の最終ACKパケットのシーケンス番号が同じ値である場合は、該フロー記憶手段の重複数に1を加算し、同じ値でない場合は、該フロー記憶手段の重複数に0を設定する手段と、
前記フロー記憶手段の最終ACKパケットのシーケンス番号に、受信したACKパケットのシーケンス番号を設定する手段と、
を含む請求項1記載のパケットロス数測定装置。
The TCP ACK packet processing means is
As a result of referring to the flow storage means, if the timeout flag is OFF and the sequence number of the ACK packet and the sequence number of the final ACK packet of the flow storage means are the same value, the flow storage means is duplicated. 1 is added to a plurality, and if they are not the same value, means for setting 0 to the overlap number of the flow storage means,
Means for setting the sequence number of the received ACK packet to the sequence number of the final ACK packet of the flow storage means;
2. The packet loss number measuring apparatus according to claim 1, comprising:
前記第1のパケットロス数算出手段は、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に前記パケットロス数Nを加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に該パケットロス数Nを加算する手段を含む
請求項2記載のパケットロス数測定装置。
The first packet loss number calculating means includes
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, the packet loss number N is added to the packet loss number of the network B of the packet loss number storage means. 3. A packet loss number measuring device according to claim 2, further comprising means for adding the packet loss number N to the packet loss number of the network A in the packet loss number storage means when flowing from the network B to the network A. .
前記第2のパケットロス数算出手段は、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に1を加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に1を加算する手段を含む
請求項3記載のパケットロス数測定装置。
The second packet loss number calculating means is
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, 1 is added to the packet loss number of the network B of the packet loss number storage means, and the network 4. The packet loss number measuring apparatus according to claim 3, further comprising means for adding 1 to the packet loss number of the network A in the packet loss number storage means when flowing from B to the network A.
前記第3のパケットロス数算出手段は、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に1を加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に1を加算する手段を含む
請求項4記載のパケットロス数測定装置。
The third packet loss number calculating means,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, 1 is added to the packet loss number of the network B of the packet loss number storage means, and the network 5. The packet loss number measuring device according to claim 4, further comprising means for adding 1 to the packet loss number of the network A in the packet loss number storage means when flowing from B to the network A.
TCP送信端末群とTCP受信端末群が、ネットワークA(TCP送信端末〜測定ポイント)及びネットワークB(測定ポイント〜TCP受信端末)を介して、TCP(Transmission Control Protocol)通信を行うIP(Internet Protocol)ネットワークの測定ポイントにおいて、該ネットワークのパケットロス数を測定するパケットロス数測定方法であって、
少なくとも、フロー識別子毎に、フローの方向、最終パケットの受信時刻、最終パケットの種類、タイムアウトフラグ、タイムアウト時シーケンス番号を格納するフロー記憶手段を有する装置において、
フロー処理手段が、前記ネットワークAと前記ネットワークB間を流れるフローと該フローの受信パケットが流れる方向を検出し、該受信パケットの情報を前記フロー記憶手段に格納すると共に、該受信パケットから受信データパケット情報とACKパケット情報を取り出して出力するフロー処理ステップと、
TCPデータパケット処理手段が、 前記フロー処理手段から取得した前記受信データパケット情報について、データパケットとその前に送られたACKパケットの時間差に基づいてタイムアウトしているか否かを判定し、所定の条件及び、再送パケットであるか否かに基づいて、パケットロス数を算出し、パケットロス数記憶手段を更新するTCPデータパケット処理ステップと、
TCP ACKパケット処理手段が、前記ACKパケット情報に基づいて前記フロー記憶手段を参照し、前記測定ポイントと前記TCP受信端末との間のパケットロスの状況を示す前記タイムアウトフラグがオンの場合は、パケットロス数を算出し、前記パケットロス数記憶手段を更新するTCP ACKパケット処理ステップと、
を行うことを特徴とするパケットロス数測定方法。
IP (Internet Protocol) in which TCP transmission terminal group and TCP receiving terminal group perform TCP (Transmission Control Protocol) communication via network A (TCP transmission terminal to measurement point) and network B (measurement point to TCP reception terminal) A packet loss number measuring method for measuring the number of packet losses in a network at a measurement point of the network,
At least, for each flow identifier, in an apparatus having flow storage means for storing the flow direction, the last packet reception time, the last packet type, the timeout flag, and the timeout sequence number,
The flow processing means detects the flow flowing between the network A and the network B and the direction in which the received packet of the flow flows, stores the received packet information in the flow storage means, and receives received data from the received packet. A flow processing step for extracting and outputting packet information and ACK packet information;
The TCP data packet processing means determines whether the received data packet information acquired from the flow processing means has timed out based on the time difference between the data packet and the ACK packet sent before the data packet, and a predetermined condition And a TCP data packet processing step of calculating a packet loss number based on whether the packet is a retransmission packet and updating the packet loss number storage means;
TCP ACK packet processing means refers to the flow storage means based on the ACK packet information, and when the timeout flag indicating the state of packet loss between the measurement point and the TCP receiving terminal is on, the packet A TCP ACK packet processing step of calculating a loss number and updating the packet loss number storage means;
A method for measuring the number of packet losses.
前記TCPデータパケット処理ステップにおいて、
前記受信データパケット情報について、タイムアウトしている場合は、前記測定ポイントと前記TCP受信端末間においてパケットロスが発生している可能性があるものと判定し、
前記所定の条件として、前記フロー記憶手段の最終パケットの種類がACKで、ACKの番号の重複数が0であり、再送パケットのフラグがオフであるかを判定し、該条件を満たす場合は、パケットロス数Nを、
N=LOG2((パケットの受信時刻−フロー記憶手段の最終ACKパケットの受信時刻)
/推定RTO値)+1
により算出し、フローの方向に応じて前記パケットロス数記憶手段に加算し、該フロー記憶手段の再送パケットフラグをオンにする第1のパケットロス数算出ステップと、
前記受信データパケット情報について、タイムアウトしておらず、前記受信済みシーケンス番号記憶手段に、前記データパケットのシーケンス番号が含まれていなければ、該受信済みシーケンス番号記憶手段に該シーケンス番号の上限値及び下限値を記憶し、前記フロー記憶手段の再送パケットフラグをオフにし、含まれていれば、現在時刻から前記フロー記憶手段の最終パケットの受信時刻を引いた時間が推定RTO値以上である場合はタイムアウトと判断し、該フロー記憶手段の最終パケットの種類がデータパケットである場合は、該フロー記憶手段のタイムアウトフラグをオンにし、該最終パケットの種類がACKパケットである場合は、フローの方向に応じてパケットロス数記憶手段に加算し、前記フロー記憶手段の再送パケットフラグをオンにし、
前記フロー記憶手段の該タイムアウト時シーケンス番号に当該パケットのシーケンス番号の上限値を設定ステップと、
現在時刻から前記フロー記憶手段の最終パケットの受信時刻を引いた時間が推定RTO値より小さい場合には、前記フロー記憶手段の再送パケットフラグをオフに設定する第2のパケットロス数算出ステップと、
前記フロー記憶手段の前記最終のパケットの受信時刻に現在時刻を設定し、前記最終パケットの種類をデータパケットと設定するステップと、を含む
請求項9記載のパケットロス数測定方法。
In the TCP data packet processing step,
For the received data packet information, if a timeout has occurred, determine that there is a possibility that a packet loss has occurred between the measurement point and the TCP receiving terminal,
As the predetermined condition, it is determined whether the type of the final packet of the flow storage means is ACK, the duplication number of the ACK number is 0, and the flag of the retransmission packet is off. Packet loss number N
N = LOG2 ((packet reception time-last ACK packet reception time of flow storage means))
/ Estimated RTO value) +1
A first packet loss number calculating step of turning on the retransmission packet flag of the flow storage means, and adding to the packet loss number storage means according to the flow direction;
If the received data packet information has not timed out and the received sequence number storage means does not include the sequence number of the data packet, the received sequence number storage means stores an upper limit value of the sequence number and Store the lower limit value, turn off the retransmission packet flag of the flow storage means, if included, if the time obtained by subtracting the reception time of the last packet of the flow storage means from the current time is greater than or equal to the estimated RTO value If it is determined that a time-out has occurred and the type of the final packet of the flow storage means is a data packet, the time-out flag of the flow storage means is turned on. If the type of the final packet is an ACK packet, Accordingly, the packet loss count storage means is added, and the retransmission packet flag of the flow storage means is turned on. To,
A step of setting an upper limit value of the sequence number of the packet to the timeout sequence number of the flow storage means;
If the time obtained by subtracting the reception time of the last packet of the flow storage means from the current time is smaller than the estimated RTO value, a second packet loss number calculation step of setting the retransmission packet flag of the flow storage means off;
The packet loss number measuring method according to claim 9, further comprising: setting a current time as a reception time of the final packet of the flow storage unit, and setting a type of the final packet as a data packet.
前記TCP ACKパケット処理ステップにおいて、
前記フロー記憶手段を参照した結果、前記タイムアウトフラグがオンであり、かつ、前記タイムアウト時シーケンス番号に1加算した値が前記ACKパケットのシーケンス番号と等しい場合は、フローの方向に応じて、前記パケットロス数記憶手段のパケットロス数を1加算し、該フロー記憶手段におけるデータパケットのフローの再送パケットフラグをオンにし、該フロー記憶手段の前記タイムアウトフラグをオフにする第3のパケットロス数算出ステップと、
前記フロー記憶手段を参照した結果、前記タイムアウトフラグがオフであり、かつ、ACKパケットのシーケンス番号と該フロー記憶手段の最終ACKパケットのシーケンス番号が同じ値である場合は、該フロー記憶手段の重複数に1を加算し、同じ値でない場合は、該フロー記憶手段の重複数に0を設定し、該フロー記憶手段の最終ACKパケットのシーケンス番号に、受信したACKパケットのシーケンス番号を設定するステップと、
を含む請求項9記載のパケットロス数測定方法。
In the TCP ACK packet processing step,
As a result of referring to the flow storage means, when the timeout flag is on and the value obtained by adding 1 to the timeout sequence number is equal to the sequence number of the ACK packet, depending on the flow direction, the packet A third packet loss number calculation step of adding 1 to the packet loss number of the loss number storage means, turning on the retransmission packet flag of the data packet flow in the flow storage means, and turning off the timeout flag of the flow storage means When,
As a result of referring to the flow storage means, if the timeout flag is OFF and the sequence number of the ACK packet and the sequence number of the final ACK packet of the flow storage means are the same value, the flow storage means is duplicated. A step of adding 1 to a plurality and setting 0 to the overlap number of the flow storage means if they are not the same value, and setting the sequence number of the received ACK packet to the sequence number of the final ACK packet of the flow storage means When,
The method for measuring the number of packet losses according to claim 9.
前記第1のパケットロス数算出ステップにおいて、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に前記パケットロス数Nを加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に該パケットロス数Nを加算する
請求項10記載のパケットロス数測定方法。
In the first packet loss number calculating step,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, the packet loss number N is added to the packet loss number of the network B of the packet loss number storage means. 11. The packet loss number measuring method according to claim 10, wherein, when flowing from the network B to the network A, the packet loss number N is added to the packet loss number of the network A of the packet loss number storage means.
前記第2のパケットロス数算出ステップにおいて、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に1を加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に1を加算する
請求項10記載のパケットロス数測定方法。
In the second packet loss number calculating step,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, 1 is added to the packet loss number of the network B of the packet loss number storage means, and the network 11. The packet loss number measuring method according to claim 10, wherein when the packet flows from B to the network A, 1 is added to the packet loss number of the network A in the packet loss number storage means.
前記第3のパケットロス数算出ステップにおいて、
前記パケットロス数記憶手段に加算する際に、フローの方向が前記ネットワークAから前記ネットワークBに流れる場合には、前記パケットロス数記憶手段のネットワークBのパケットロス数に1を加算し、該ネットワークBから該ネットワークAに流れる場合には、該パケットロス数記憶手段のネットワークAのパケットロス数に1を加算する
請求項11記載のパケットロス数測定方法。
In the third packet loss number calculating step,
When adding to the packet loss number storage means, if the flow direction flows from the network A to the network B, 1 is added to the packet loss number of the network B of the packet loss number storage means, and the network 12. The packet loss number measuring method according to claim 11, wherein when the packet flows from B to the network A, 1 is added to the packet loss number of the network A in the packet loss number storage means.
コンピュータを、
請求項1乃至8のいずれか1項に記載のパケットロス数測定装置の各手段として機能させるためのパケットロス数測定プログラム。
Computer
A packet loss number measurement program for causing each of the means of the packet loss number measurement apparatus according to any one of claims 1 to 8 to function.
JP2012100486A 2011-12-22 2012-04-25 Packet loss number measuring apparatus, method and program Active JP5557869B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012100486A JP5557869B2 (en) 2011-12-22 2012-04-25 Packet loss number measuring apparatus, method and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011282033 2011-12-22
JP2011282033 2011-12-22
JP2012100486A JP5557869B2 (en) 2011-12-22 2012-04-25 Packet loss number measuring apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2013150291A true JP2013150291A (en) 2013-08-01
JP5557869B2 JP5557869B2 (en) 2014-07-23

Family

ID=49047353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012100486A Active JP5557869B2 (en) 2011-12-22 2012-04-25 Packet loss number measuring apparatus, method and program

Country Status (1)

Country Link
JP (1) JP5557869B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006246118A (en) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> Method and apparatus for discriminating quality deterioration
JP2010109499A (en) * 2008-10-28 2010-05-13 Fujitsu Ltd Packet capturing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006246118A (en) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> Method and apparatus for discriminating quality deterioration
JP2010109499A (en) * 2008-10-28 2010-05-13 Fujitsu Ltd Packet capturing apparatus

Also Published As

Publication number Publication date
JP5557869B2 (en) 2014-07-23

Similar Documents

Publication Publication Date Title
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
US7075887B2 (en) Measuring efficiency of data transmission
JP6015509B2 (en) Packet analysis program, packet analysis method, packet analysis device, and packet analysis system
US9344347B2 (en) Delay time measuring apparatus, computer readable record medium on which delay time measuring program is recorded, and delay time measuring method
JP3931988B2 (en) Network quality measuring method and measuring apparatus
JP4924503B2 (en) Congestion detection method, congestion detection apparatus, and congestion detection program
JP5292444B2 (en) Packet loss rate estimation apparatus, method, and program
WO2008023570A1 (en) Method for estimating quality-degraded portion on a network in a communication network system
WO2017133014A1 (en) Method and system for network performance detection based on receiving end in tcp transmission stream
JP4583312B2 (en) Communication status determination method, communication status determination system, and determination device
WO2011124165A2 (en) Method and device for detecting link loss ratio
JP4311675B2 (en) Quality degradation isolation method and apparatus
JP5557869B2 (en) Packet loss number measuring apparatus, method and program
JP5199224B2 (en) Flow communication quality estimation method, apparatus and program
JP2006080584A (en) Method for separating quality deteriorated part of packet switch network and apparatus therefor, and program and recording medium therefor
CN104702385B (en) Network quality detection method, device and equipment
JP5437194B2 (en) Flow communication quality estimation method, apparatus and program
JP5192451B2 (en) Network quality calculation system and method and program
JP2015195511A (en) Packet analysis program, packet analysis device, and packet analysis method
EP3100413B1 (en) Reliable network probing session
JP2019022052A (en) Packet classification program, packet classification method and packet classification device
CN106341289B (en) A kind of the packet loss ratio estimation method and device of network packet packet capturing process
Alcock et al. Passive detection of TCP congestion events
JP6920835B2 (en) Equipment monitoring device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140603

R150 Certificate of patent or registration of utility model

Ref document number: 5557869

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150