JP5723307B2 - Packet monitoring system - Google Patents

Packet monitoring system Download PDF

Info

Publication number
JP5723307B2
JP5723307B2 JP2012042396A JP2012042396A JP5723307B2 JP 5723307 B2 JP5723307 B2 JP 5723307B2 JP 2012042396 A JP2012042396 A JP 2012042396A JP 2012042396 A JP2012042396 A JP 2012042396A JP 5723307 B2 JP5723307 B2 JP 5723307B2
Authority
JP
Japan
Prior art keywords
packet
tcp
monitoring
flow
monitoring device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012042396A
Other languages
Japanese (ja)
Other versions
JP2013179486A (en
Inventor
千晴 森岡
千晴 森岡
太三 山本
太三 山本
伸也 河野
伸也 河野
雅之 今野
雅之 今野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2012042396A priority Critical patent/JP5723307B2/en
Publication of JP2013179486A publication Critical patent/JP2013179486A/en
Application granted granted Critical
Publication of JP5723307B2 publication Critical patent/JP5723307B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、IP(Internet Protocol)ネットワーク上で送受信されるTCP(Transmission Control Protocol)パケットを監視するパケット監視装置、パケット監視方法およびパケット監視システムに関する。   The present invention relates to a packet monitoring apparatus, a packet monitoring method, and a packet monitoring system that monitor TCP (Transmission Control Protocol) packets transmitted and received on an IP (Internet Protocol) network.

インターネットなどで広く利用されているTCPプロトコルは、通信の途中でパケットロスが発生した場合に当該パケットを再送する信頼性の高いプロトコルである。TCPプロトコルでは、ネットワークの輻輳を回避するための輻輳制御を行っており、サーバ−クライアント端末間のエンドツーエンドにおいてパケットロスが発生しないようウィンドウサイズを制御する。多くのオペレーションシステム(OS)に標準で実装されているTCPの輻輳制御方式では、3つ以上の重複ACKパケットの受信やラウンドトリップタイム(RTT)によるタイムアウトを検出すると、輻輳が発生していると判断し、ウィンドウサイズを大幅に減少させる。このようなウィンドウサイズの減少が行われると、データ転送速度が著しく低下する。   The TCP protocol widely used in the Internet or the like is a highly reliable protocol that retransmits a packet when a packet loss occurs during communication. In the TCP protocol, congestion control is performed to avoid network congestion, and the window size is controlled so that packet loss does not occur end-to-end between the server and the client terminal. In the TCP congestion control method that is implemented as standard in many operation systems (OS), if a timeout occurs due to reception of three or more duplicate ACK packets or a timeout due to round trip time (RTT), congestion occurs. Judgment and greatly reduce the window size. When the window size is reduced as described above, the data transfer rate is significantly reduced.

近年、IPネットワークの広帯域化が進む一方で、ユーザのネットワークアクセス環境は多様化している。従来のユーザネットワークは有線が主流であったため、エンドツーエンドのネットワーク品質においてはIPネットワークの品質が支配的であり、IPネットワークの広帯域化・高品質化はユーザが体感する通信品質の向上に大きく寄与していた。   In recent years, the bandwidth of IP networks has increased, and the network access environment of users has diversified. Since conventional user networks are mainly wired, the quality of IP networks is dominant in end-to-end network quality. Broadband and high quality IP networks greatly improve the communication quality experienced by users. Contributed.

一方で、最近のユーザネットワークは無線LANなどの無線が普及しつつある。無線は有線に比べてビットエラー率が高く、データパケットやACKパケットのロスが生じやすい。そのため、IPネットワークが高品質な場合でも、ユーザネットワークが無線のためビットエラーが頻発する場合は、TCPの輻輳制御によってデータ転送速度が低下する。これにより、ユーザの通信快適性が低下するとともに、パケット再送によってエンドツーエンド通信経路上のトラヒックおよび装置負荷が増加するという問題点があった。   On the other hand, in recent user networks, wireless such as wireless LAN is becoming widespread. Wireless has a higher bit error rate than wired, and data packets and ACK packets are likely to be lost. Therefore, even if the IP network is high quality, if the user network is wireless and bit errors occur frequently, the data transfer rate is reduced by TCP congestion control. As a result, there is a problem in that the user's communication comfort is reduced and the traffic on the end-to-end communication path and the apparatus load are increased due to packet retransmission.

このような無線ネットワークにおけるTCP性能の問題点を改善する手法の一例として、無線基地局において、通過するデータパケットをこれに対応するACKパケットが通過するまでキャッシュし、パケットロスが生じた場合には、ロスしたパケットを無線基地局から再送する手法(スヌープ)が知られている(例えば、非特許文献1参照)。   As an example of a technique for improving the problem of TCP performance in such a wireless network, when a packet loss occurs in a wireless base station, the passing data packet is cached until the corresponding ACK packet passes. A technique (snoop) of retransmitting a lost packet from a radio base station is known (for example, see Non-Patent Document 1).

H. Balakrishnan, et al., “Improving TCP/IP Performance over Wireless Networks,” Proc. ACM MOBICOM, pp.2-11, Nov. 1995.H. Balakrishnan, et al., “Improving TCP / IP Performance over Wireless Networks,” Proc. ACM MOBICOM, pp.2-11, Nov. 1995.

しかしながら、上述した従来技術では、無線基地局でのスヌープにおいて、全てのTCPフローを対象にパケットのキャッシュを行う。このため、無線基地局に大量のメモリを配備する必要があるという問題点がある。一方で、IPネットワークにおけるユーザネットワークは有線および無線のパケットフローが混在しており、全てのフローでパケットロスが発生するとは限らない。   However, in the above-described conventional technology, packet caching is performed for all TCP flows in the snoop at the radio base station. For this reason, there is a problem that it is necessary to provide a large amount of memory in the radio base station. On the other hand, wired and wireless packet flows are mixed in a user network in an IP network, and packet loss does not always occur in all flows.

このような背景に鑑みて本発明がなされたのであり、本発明は、TCPプロトコルを用いた通信において、通信の信頼性を維持しつつ、パケットキャッシュに要するメモリを削減することができる、パケット監視装置、パケット監視方法およびパケット監視システムを提供することを課題とする。   The present invention has been made in view of such a background, and the present invention is a packet monitor capable of reducing the memory required for the packet cache while maintaining communication reliability in communication using the TCP protocol. It is an object to provide an apparatus, a packet monitoring method, and a packet monitoring system.

前記した課題を解決するため、請求項に記載の発明は、IPネットワーク上のサーバ−クライアント端末間で確立されたTCPセッションで送受信されるTCPパケットを監視するパケット監視装置を複数備えるとともに、複数の前記パケット監視装置を管理する管理サーバを備え、前記IPネットワーク上のサーバ−クライアント端末間で確立された前記TCPセッションで送受信される前記TCPパケットを監視するパケット監視システムであって、前記パケット監視装置が、前記IPネットワーク上で送受信される前記TCPパケットが、いずれの前記TCPセッションで送受信されたものかを識別するパケットフロー識別部と、前記TCPセッションで所定時間内に送受信されるACKパケットの重複数が、所定の閾値を超えた場合に、前記TCPセッションを品質監視すべきと判定する品質監視判定部と、前記品質監視すべきと判定された前記TCPセッションごとに、前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を、前記TCPパケットの重複数、パケットロス、パケットの遅着、および前記TCPセッションにおけるラウンドトリップタイム、の少なくとも1つに基づき実行する品質監視部と、前記パケットの重複数、前記パケットロス、前記パケットの遅着、および前記ラウンドトリップタイムに基づき、前記TCPセッションにおける劣化区間が、前記サーバと前記パケット監視装置との間の区間または前記クライアント端末と前記パケット監視装置との間のいずれであるかを判定し、前記劣化区間が前記サーバと前記パケット監視装置との間である場合は、前記TCPパケットのキャッシュを不要と判定し、前記劣化区間が前記クライアント端末と前記パケット監視装置との間である場合は、前記品質監視部がキャッシュを要すると判定した前記TCPパケットについて、キャッシュを要するとの最終的な判定をする劣化区間判定部と、前記TCPパケットを送受信する前記TCPセッションが、キャッシュを要するとの前記最終的な判定をされた場合に、前記TCPパケットのキャッシュを行い、再送要求を受信した場合に、前記キャッシュされたTCPパケットを再送するパケットキャッシュ部と、を備え、前記パケット監視装置が、前記TCPセッションにおける前記劣化区間が前記サーバと当該パケット監視装置との間であると判定した場合に、前記TCPセッションを識別する識別情報を含む当該劣化区間の判定結果を前記管理サーバに送信し、前記劣化区間が前記クライアント端末と当該パケット監視装置との間であると判定した場合は自装置において前記TCPパケットのキャッシュを要するとの前記最終的な判定し、前記管理サーバが、前記TCPパケットの通信経路上にあり、前記判定結果を送信したパケット監視装置よりも前記通信経路において上流となる前記サーバ側に位置するパケット監視装置を特定し、前記特定したサーバ側に位置するパケット監視装置に、前記判定結果を送信したパケット監視装置から受信した前記識別情報と、前記識別情報で識別される前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を要求するキャッシュ要否判定要求とを送信し、前記サーバ側に位置するパケット監視装置が、前記識別情報および前記キャッシュ要否判定要求を受信し、前記識別情報に示されるTCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行うことを特徴とするパケット監視システムとした。 To solve the problems described above, a first aspect of the present invention, a server on the IP network - with providing a plurality of packet monitoring unit for monitoring the TCP packets transmitted and received TCP session established between the client terminal, multiple a management server for managing the number of the packet monitoring device, the IP network on the server - a packet monitoring system for monitoring the TCP packets transmitted and received by the TCP session established between the client terminal, said packet A packet flow identifying unit that identifies which TCP session the TCP packet transmitted / received on the IP network is transmitted / received on the IP network, and an ACK packet transmitted / received within the predetermined time in the TCP session If the number of duplicates exceeds a predetermined threshold In addition, a quality monitoring determination unit that determines that the TCP session should be quality-monitored, and whether the TCP packet that is transmitted and received in the TCP session is necessary for each TCP session that is determined to be quality-monitored A quality monitoring unit that performs a determination based on at least one of the duplication number of the TCP packet, packet loss, packet delay, and round trip time in the TCP session; and the duplication number of the packet, the packet loss, Based on the late arrival of the packet and the round trip time, the degradation interval in the TCP session is either the interval between the server and the packet monitoring device or between the client terminal and the packet monitoring device. And the deteriorated section is If it is between the client monitoring device and the packet monitoring device, the quality monitoring unit determines that the TCP packet cache is unnecessary. For the TCP packet determined to be required, the degradation section determination unit that finally determines that a cache is required, and the TCP session that transmits and receives the TCP packet has been determined to require a cache. A packet cache unit that caches the TCP packet and retransmits the cached TCP packet when a retransmission request is received, and the packet monitoring device includes the degradation section in the TCP session. When it is determined that the server and the packet monitoring device, When the determination result of the degradation section including identification information for identifying the CP session is transmitted to the management server and it is determined that the degradation section is between the client terminal and the packet monitoring apparatus, The final determination that the packet needs to be cached, and the management server is on the communication path of the TCP packet and is upstream in the communication path than the packet monitoring apparatus that has transmitted the determination result Identifying the packet monitoring device located on the side, the identification information received from the packet monitoring device that sent the determination result to the packet monitoring device located on the identified server side, and the TCP identified by the identification information A cache necessity judgment requesting the necessity of caching of the TCP packet transmitted and received in the session. The packet monitoring device located on the server side receives the identification information and the cache necessity determination request, and transmits a cache request for the TCP packet transmitted and received in the TCP session indicated by the identification information. The packet monitoring system is characterized by performing necessity determination.

このようにすることで、パケット監視装置は、IPネットワークにおける個々のTCPセッションごとにパケットキャッシュの要否を判定して、TCPパケットのキャッシュや再送を行うことができる。これにより、パケットキャッシュの必要がないTCPセッションのパケットをキャッシュする必要がなくなり、キャッシュに要するメモリを削減することができる。また、パケット監視装置がIPネットワーク上で監視を行うことによって、端末側装置を改変することなく、TCP輻輳制御によるデータ転送速度の低下を回避することができる。
さらに、パケットの重複数、パケットロス、パケットの遅着(パケットのシーケンス番号の順序逆転)、およびラウンドトリップタイムの少なくとも1つに基づき、改善効果が高いと推定されるTCPセッションに対してのみ、TCPパケットのキャッシュや再送を行うことができる。これにより、パケット監視装置のリソースを有効に活用できるとともに、データ送信端末からパケット監視装置までのトラヒックおよび装置負荷を削減することができる。
また、IPネットワーク上の劣化発生区間に近いパケット監視装置でTCPパケットのキャッシュや再送を行うことができる。これにより、パケット監視装置とサーバと間のトラヒックおよび装置負荷を削減することができる。また、クライアント端末において再送データパケットを受信するまでの時間を短縮することができる。
In this way, the packet monitoring apparatus can determine whether or not a packet cache is necessary for each TCP session in the IP network, and perform TCP packet caching and retransmission. This eliminates the need to cache TCP session packets that do not require packet caching, thereby reducing the memory required for caching. Further, since the packet monitoring device performs monitoring on the IP network, it is possible to avoid a decrease in data transfer rate due to TCP congestion control without modifying the terminal side device.
Furthermore, only for TCP sessions that are estimated to be highly effective based on at least one of packet duplication, packet loss, packet delay (packet sequence number order reversal), and round trip time, TCP packet caching and retransmission can be performed. As a result, the resources of the packet monitoring device can be used effectively, and the traffic from the data transmission terminal to the packet monitoring device and the device load can be reduced.
In addition, TCP packet caching and retransmission can be performed by a packet monitoring device close to the degradation occurrence section on the IP network. Thereby, the traffic between the packet monitoring device and the server and the device load can be reduced. In addition, it is possible to shorten the time until the retransmission data packet is received at the client terminal.

本発明によれば、TCPプロトコルを用いた通信において、通信の信頼性を維持しつつ、パケットキャッシュに要するメモリを削減することができる、パケット監視装置、パケット監視方法およびパケット監視システムを提供することができる。   According to the present invention, it is possible to provide a packet monitoring device, a packet monitoring method, and a packet monitoring system that can reduce the memory required for the packet cache while maintaining communication reliability in communication using the TCP protocol. Can do.

本実施の形態に係るパケット監視装置を配置したネットワーク構成の一例を示す図である。It is a figure which shows an example of the network structure which has arrange | positioned the packet monitoring apparatus which concerns on this Embodiment. 本実施の形態に係るパケット監視装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the packet monitoring apparatus which concerns on this Embodiment. 本実施の形態に係るパケットフロー識別部による処理を示すフローチャートである。It is a flowchart which shows the process by the packet flow identification part which concerns on this Embodiment. 本実施の形態に係る監視フローテーブルのデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the monitoring flow table which concerns on this Embodiment. 本実施の形態に係るデータパケット情報テーブルのデータ構成の一例を示す図である。It is a figure which shows an example of a data structure of the data packet information table which concerns on this Embodiment. 本実施の形態に係る品質監視部のデータパケット入力時の処理を示すフローチャートである。It is a flowchart which shows the process at the time of the data packet input of the quality monitoring part which concerns on this Embodiment. 本実施の形態に係る品質監視部のACKパケット入力時の処理を示すフローチャートである。It is a flowchart which shows the process at the time of the ACK packet input of the quality monitoring part which concerns on this Embodiment. 本実施の形態に係るパケット監視装置を複数配置したパケット監視システムのシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of the packet monitoring system which has arrange | positioned multiple packet monitoring apparatuses concerning this Embodiment.

以下に添付図面を参照して、本発明に係るパケット監視装置100、パケット監視方法およびパケット監視システム800の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a packet monitoring device 100, a packet monitoring method, and a packet monitoring system 800 according to the present invention will be described below in detail with reference to the accompanying drawings.

≪ネットワーク構成の概要≫
図1は、本実施の形態に係るパケット監視装置100を配置したネットワーク構成の一例を示す図である。本実施の形態に係るパケット監視装置100は、IPネットワーク上の2つの端末である、サーバ110およびクライアント端末120との間で確立されたTCPセッションで送受信されるTCPパケットを監視する。より詳細には、パケット監視装置100は、IPネットワーク上のサーバ110からクライアント端末120へ送信されるTCPデータパケットと、これに対応してクライアント端末120からサーバ110へ送信されるACKパケットと、からなるパケットフローを監視対象とする。以下において、送信元アドレス、送信元ポート番号、送信先アドレス、送信先ポート番号が同一のTCPデータパケットおよび対応するACKパケットによる2つの端末間でのTCPセッションを「フロー」と呼ぶ。また、特に説明しない限り、本実施の形態では、ACK番号はACKパケットのACK番号、シーケンス番号はデータパケットのシーケンス番号を指す。
≪Overview of network configuration≫
FIG. 1 is a diagram showing an example of a network configuration in which a packet monitoring apparatus 100 according to the present embodiment is arranged. The packet monitoring apparatus 100 according to the present embodiment monitors TCP packets transmitted and received in a TCP session established between the server 110 and the client terminal 120, which are two terminals on the IP network. More specifically, the packet monitoring apparatus 100 includes a TCP data packet transmitted from the server 110 on the IP network to the client terminal 120 and an ACK packet transmitted correspondingly from the client terminal 120 to the server 110. The target packet flow is to be monitored. Hereinafter, a TCP session between two terminals using a TCP data packet having the same transmission source address, transmission source port number, transmission destination address, and transmission destination port number and a corresponding ACK packet is referred to as a “flow”. Unless otherwise specified, in this embodiment, the ACK number indicates the ACK number of the ACK packet, and the sequence number indicates the sequence number of the data packet.

パケット監視装置100は、IPネットワークのアクセス網側エッジに配備されており、IPネットワークのインターネット側(サーバ110側)にはゲートウェイ(GW)130が、アクセス網側(クライアント端末120側)にはエッジルータ140がそれぞれ配置されている。サーバ110とクライアント端末120との間のTCPセッションにおいて、パケット監視装置100とクライアント端末120との間(下流区間)を区間A、パケット監視装置100とサーバ110との間(上流区間)を区間Bとする。   The packet monitoring device 100 is provided at the edge of the IP network on the access network side. The gateway (GW) 130 is provided on the Internet side (server 110 side) of the IP network, and the edge is provided on the access network side (client terminal 120 side). Each router 140 is arranged. In the TCP session between the server 110 and the client terminal 120, the section A is between the packet monitoring apparatus 100 and the client terminal 120 (downstream section), and the section B is between the packet monitoring apparatus 100 and the server 110 (upstream section). And

≪パケット監視装置100の機能的構成≫
図2は、本実施の形態に係るパケット監視装置100の機能的構成を示すブロック図である。パケット監視装置100は、パケットフロー識別部201、品質監視判定部202、品質監視部203、劣化区間判定部204、パケットキャッシュ部205、テーブル記憶部211、データパケット情報テーブル記憶部212、および、パケットキャッシュ記憶部213を含んで構成される。
<< Functional Configuration of Packet Monitoring Device 100 >>
FIG. 2 is a block diagram showing a functional configuration of the packet monitoring apparatus 100 according to the present embodiment. The packet monitoring apparatus 100 includes a packet flow identification unit 201, a quality monitoring determination unit 202, a quality monitoring unit 203, a degradation section determination unit 204, a packet cache unit 205, a table storage unit 211, a data packet information table storage unit 212, and a packet A cache storage unit 213 is included.

パケットフロー識別部201は、IPネットワーク上で送受信されるTCPパケットが、いずれのTCPセッション(フロー)で送受信されたものかを識別する。また、パケットフロー識別部201は、受信したTCPパケットに対して行う実行処理(品質監視判定、品質監視、キャッシュ、監視中止)を選択し、該当する各機能部に出力する(なお、詳細は後記する図3参照)。   The packet flow identification unit 201 identifies in which TCP session (flow) the TCP packet transmitted / received on the IP network is transmitted / received. Further, the packet flow identification unit 201 selects an execution process (quality monitoring determination, quality monitoring, cache, and monitoring cancellation) to be performed on the received TCP packet, and outputs it to the corresponding functional units (details will be described later). See FIG. 3).

品質監視判定部202は、TCPセッション(フロー)で所定の時間内に送受信されるACKパケットの重複数をカウントし、所定の閾値を超えた場合に、当該TCPセッション(フロー)を品質監視すべきと判定する。   The quality monitoring determination unit 202 should count the number of overlapping ACK packets transmitted and received within a predetermined time in a TCP session (flow), and when the predetermined threshold is exceeded, the quality monitoring determination unit 202 should perform quality monitoring on the TCP session (flow) Is determined.

品質監視部203は、IPネットワーク上で確立されている各TCPセッション(フロー)ごとに、当該TCPセッション(フロー)で送受信されるTCPパケットのキャッシュの要否判定を行う。品質監視部203は、例えば、TCPセッション(フロー)で送受信されるパケットの重複数(後記する「重複パケットカウンタ」「重複ACKカウンタ」)、パケットロス、パケットの遅着数、およびTCPセッション(フロー)におけるラウンドトリップタイム、の少なくとも1つに基づき、そのTCPセッション(フロー)で送受信されるTCPパケットのキャッシュを要すると判定する。なお、本実施の形態における「パケットの遅着」とは、パケットの到着順序の逆転やパケットの再送により、本来先に到着しているはずのパケットが遅れて到着した場合を意味する。つまり、パケットのシーケンス番号が順序逆転をしている場合であり、シーケンス番号が順序逆転していない場合は、遅く到着しても「パケットの遅着」には該当しない。品質監視部203は、TCPパケットのキャッシュを要すると判定した場合に、劣化区間判定部204に劣化区間判定要求を送信する。そして、最終的なTCPパケットのキャッシュ要否判断が、劣化区間判定部204による劣化区間判定結果に基づいて行われる。   For each TCP session (flow) established on the IP network, the quality monitoring unit 203 determines whether or not it is necessary to cache TCP packets transmitted and received in the TCP session (flow). The quality monitoring unit 203, for example, overlaps the number of packets transmitted and received in a TCP session (flow) (“duplicate packet counter” and “duplicate ACK counter” described later), packet loss, the number of late arrivals of packets, and a TCP session (flow It is determined that it is necessary to cache a TCP packet transmitted / received in the TCP session (flow) based on at least one of the round trip times in FIG. Note that “packet arrival” in the present embodiment means a case where a packet that should have arrived first is delayed due to a reverse of the arrival order of packets or retransmission of packets. In other words, this is a case where the sequence number of the packet is reversed in order, and when the sequence number is not reversed, even if it arrives late, it does not fall under “packet arrival”. When the quality monitoring unit 203 determines that the TCP packet cache is required, the quality monitoring unit 203 transmits a degradation segment determination request to the degradation segment determination unit 204. Then, the final determination as to whether or not the TCP packet is cached is performed based on the result of determination of the deterioration section by the deterioration section determination unit 204.

劣化区間判定部204は、TCPセッションにおける劣化区間が、サーバ110とパケット監視装置100との間の区間(図1の区間B)またはクライアント端末120とパケット監視装置100との間の区間(図1の区間A)のいずれであるかを判定し、劣化区間がサーバ110とパケット監視装置100との間(図1の区間B)である場合は、TCPパケットのキャッシュを不要と判定し、劣化区間がクライアント端末120とパケット監視装置100との間(図1の区間A)である場合はTCPパケットのキャッシュを要すると判定する。   The degradation section determination unit 204 determines that the degradation section in the TCP session is a section between the server 110 and the packet monitoring apparatus 100 (section B in FIG. 1) or a section between the client terminal 120 and the packet monitoring apparatus 100 (FIG. 1). And if the degradation period is between the server 110 and the packet monitoring device 100 (section B in FIG. 1), it is determined that the TCP packet cache is unnecessary, and the degradation period Is between the client terminal 120 and the packet monitoring device 100 (section A in FIG. 1), it is determined that TCP packet caching is required.

パケットキャッシュ部205は、TCPパケットを送受信するTCPセッション(フロー)が、品質監視部203でTCPパケットのキャッシュを要すると判定されたTCPセッション(フロー)の場合、TCPパケットをキャッシュする。また、パケットキャッシュ部205は、キャッシュされたTCPパケットの再送要求を受信した場合、再送要求されたTCPパケットを再送する。   The packet cache unit 205 caches a TCP packet when the TCP session (flow) for transmitting and receiving the TCP packet is a TCP session (flow) determined by the quality monitoring unit 203 to require the caching of the TCP packet. When the packet cache unit 205 receives a retransmission request for a cached TCP packet, the packet cache unit 205 retransmits the TCP packet requested for retransmission.

テーブル記憶部211には、監視フローテーブル400およびユーザ情報テーブル450が記憶され、パケットフロー識別部201、品質監視判定部202、品質監視部203、劣化区間判定部204、パケットキャッシュ部205のいずれからもアクセス可能である。データパケット情報テーブル記憶部212には、品質監視部203で使用するデータパケット情報テーブル500が記憶される。パケットキャッシュ記憶部213には、パケットキャッシュ部205によってパケットキャッシュが記憶される。   The table storage unit 211 stores a monitoring flow table 400 and a user information table 450. From the packet flow identification unit 201, the quality monitoring determination unit 202, the quality monitoring unit 203, the degradation section determination unit 204, and the packet cache unit 205. Is also accessible. The data packet information table storage unit 212 stores a data packet information table 500 used by the quality monitoring unit 203. The packet cache storage unit 213 stores the packet cache by the packet cache unit 205.

≪各機能部の詳細≫
次に、パケット監視装置100の各機能部の詳細について説明する。
≪Details of each functional part≫
Next, details of each functional unit of the packet monitoring apparatus 100 will be described.

<パケットフロー識別部201>
図3は、本実施の形態に係るパケットフロー識別部201による処理を示すフローチャートである。また、図4は、本実施の形態に係る監視フローテーブル400のデータ構成の一例を示す図である。
図3のフローチャートにおいて、パケットフロー識別部201は、TCPパケットが入力されるまで待機して(ステップS301:No)、TCPパケットが入力されると(ステップS301:Yes)、テーブル記憶部211に記憶されている監視フローテーブル400を参照して、当該パケットが監視フローテーブル400に登録されているフローで送受信されたものであるか否かを判断する(ステップS302)。
<Packet flow identification unit 201>
FIG. 3 is a flowchart showing processing by the packet flow identification unit 201 according to the present embodiment. FIG. 4 is a diagram illustrating an example of a data configuration of the monitoring flow table 400 according to the present embodiment.
In the flowchart of FIG. 3, the packet flow identification unit 201 waits until a TCP packet is input (step S <b> 301: No), and when a TCP packet is input (step S <b> 301: Yes), stores it in the table storage unit 211. With reference to the monitored flow table 400, it is determined whether or not the packet has been transmitted / received in the flow registered in the monitored flow table 400 (step S302).

図4に示す監視フローテーブル400は、フローID401、サーバIPアドレス402、端末IPアドレス403、サーバポート番号404、端末ポート番号405、MSS(Maximum Segment Size)406、アプリケーション識別番号407、端末識別番号408、および、実行処理409を含んで構成される。   The monitoring flow table 400 shown in FIG. 4 includes a flow ID 401, a server IP address 402, a terminal IP address 403, a server port number 404, a terminal port number 405, an MSS (Maximum Segment Size) 406, an application identification number 407, and a terminal identification number 408. And an execution process 409.

フローID401は、監視フローテーブル400に登録されたフローを識別するIDである。サーバIPアドレス402は、当該フローにおいてTCPパケット(データパケット)の送信元となるサーバ110のIPアドレスである。端末IPアドレス403は、当該フローにおいてTCPパケット(データパケット)の送信先となるクライアント端末120のIPアドレスである。サーバポート番号404は、サーバ110のポート番号である。端末ポート番号405は、クライアント端末120のポート番号である。   The flow ID 401 is an ID for identifying a flow registered in the monitoring flow table 400. The server IP address 402 is an IP address of the server 110 that is a transmission source of the TCP packet (data packet) in the flow. The terminal IP address 403 is an IP address of the client terminal 120 that is a transmission destination of the TCP packet (data packet) in the flow. The server port number 404 is a port number of the server 110. The terminal port number 405 is the port number of the client terminal 120.

また、MSS406は、当該フローにおける最大セグメントサイズである。アプリケーション識別番号407は、当該フローにおける通信を利用するアプリケーションの識別番号である。端末識別番号408は、クライアント端末120が複数ある場合に通信先のクライアント端末を識別する番号である。実行処理409は、当該フローのパケットに対して実行する処理内容である。   The MSS 406 is the maximum segment size in the flow. The application identification number 407 is an identification number of an application that uses communication in the flow. The terminal identification number 408 is a number for identifying a communication destination client terminal when there are a plurality of client terminals 120. The execution process 409 is a process content to be executed for the packet of the flow.

図3に戻り、パケットフロー識別部201は、図3のステップS301でパケットを受信すると(ステップS301:Yes)、そのヘッダ情報と図4に示す監視フローテーブル400の情報(例えば、サーバIPアドレス402、端末IPアドレス403、サーバポート番号404、端末ポート番号405など)とを照合して、一致するフローが登録されているかを判断する(図3のステップS302)。   Returning to FIG. 3, when the packet flow identifying unit 201 receives the packet in step S301 of FIG. 3 (step S301: Yes), the header information and information of the monitoring flow table 400 shown in FIG. 4 (for example, the server IP address 402) Terminal IP address 403, server port number 404, terminal port number 405, etc.) to determine whether a matching flow is registered (step S302 in FIG. 3).

フローが登録されている場合(ステップS302:Yes)、パケットフロー識別部201は、入力されたパケットのヘッダ情報内のフラグを参照して、当該フローの終了を検出したか否かを判断する(ステップS303)。具体的には、パケットフロー識別部201は、パケットのヘッダ情報内のフラグが、コネクション開放またはコネクション強制切断のいずれかを示しているかを判断する。フローの終了を検出した場合は(ステップS303:Yes)、ステップS311に移行して、監視対象テーブルから該当フローの情報を削除するとともに(ステップS311)、入力パケットをIPネットワーク上に出力して(ステップS312)、本フローチャートによる処理を終了する。   When the flow is registered (step S302: Yes), the packet flow identification unit 201 refers to the flag in the header information of the input packet and determines whether or not the end of the flow is detected ( Step S303). Specifically, the packet flow identification unit 201 determines whether the flag in the header information of the packet indicates whether the connection is released or the connection is forcibly disconnected. When the end of the flow is detected (step S303: Yes), the process proceeds to step S311 to delete the information of the corresponding flow from the monitoring target table (step S311) and output the input packet on the IP network ( Step S312), the process according to this flowchart is terminated.

一方、フローの終了を検出しなかった場合は(ステップS303:No)、監視フローテーブル400(図4)の当該フローに対応する実行処理409を参照して、入力されたパケットに対して実行する処理を判定する(ステップS304)。図4の監視フローテーブル400には、実行処理409として、「品質監視判定」、「品質監視」、「キャッシュ」、「監視中止」の4つの処理が登録されている。実行処理409が「品質監視判定」の場合は(ステップS304:品質監視判定)、入力されたパケットがACKパケットの場合、該当するフローID401の情報とACKパケットを品質監視判定部202に出力して(ステップS305)、本フローチャートによる処理を終了する。なお、入力されたパケットがデータパケットの場合は、そのままIPネットワーク上に出力する。   On the other hand, when the end of the flow is not detected (step S303: No), the execution process 409 corresponding to the flow in the monitoring flow table 400 (FIG. 4) is referred to and executed on the input packet. Processing is determined (step S304). In the monitoring flow table 400 of FIG. 4, four processes of “quality monitoring determination”, “quality monitoring”, “cache”, and “monitoring stop” are registered as execution processing 409. When the execution process 409 is “quality monitoring determination” (step S304: quality monitoring determination), when the input packet is an ACK packet, the information of the corresponding flow ID 401 and the ACK packet are output to the quality monitoring determination unit 202. (Step S305), the process according to this flowchart is terminated. When the input packet is a data packet, it is output as it is on the IP network.

実行処理409が「品質監視」の場合は(ステップS304:品質監視)、入力されたパケットを該当するフローID401の情報と共に品質監視部203に出力して(ステップS306)、本フローチャートによる処理を終了する。実行処理409が「キャッシュ」の場合は(ステップS304:キャッシュ)、入力されたパケットを該当するフローID401の情報と共にパケットキャッシュ部205に出力して(ステップS307)、本フローチャートによる処理を終了する。なお、ステップS306およびS307では、入力されたパケットがデータパケットおよびACKパケットのいずれであっても、出力を行う。また、実行処理409が「監視中止」の場合は、入力パケットをそのままIPネットワークに出力して(ステップS312)、本フローチャートによる処理を終了する。   When the execution process 409 is “quality monitoring” (step S304: quality monitoring), the input packet is output to the quality monitoring unit 203 together with the information of the corresponding flow ID 401 (step S306), and the processing according to this flowchart ends. To do. When the execution process 409 is “cache” (step S304: cache), the input packet is output to the packet cache unit 205 together with the information of the corresponding flow ID 401 (step S307), and the process according to this flowchart ends. In steps S306 and S307, output is performed regardless of whether the input packet is a data packet or an ACK packet. If the execution process 409 is “monitoring stop”, the input packet is output to the IP network as it is (step S312), and the process according to this flowchart ends.

また、ステップS302で、TCPパケットを送受信したフローが監視フローテーブル400に登録されていない場合(ステップS302:No)、パケットフロー識別部201は、入力されたパケットを送受信するフローが新規フロー(新たに接続を開始したTCPセッション)であるか否かを判断する(ステップS308)。新規フローである場合(ステップS308:Yes)、パケットフロー識別部201は、テーブル記憶部211のユーザ情報テーブル450を参照し、新規フローが監視対象フローであるかを判定する(ステップS309)。   In step S302, if the flow that transmits and receives the TCP packet is not registered in the monitoring flow table 400 (step S302: No), the packet flow identification unit 201 determines that the flow that transmits and receives the input packet is a new flow (new It is determined whether it is a TCP session that has started connection to (step S308). When it is a new flow (step S308: Yes), the packet flow identification unit 201 refers to the user information table 450 of the table storage unit 211 and determines whether the new flow is a monitoring target flow (step S309).

ここで、ユーザ情報テーブル450には、パケット監視装置100のサービス対象ユーザの識別情報(IPアドレス、ポート番号、アプリケーション情報、端末情報など)が含まれている。パケットフロー識別部201は、ユーザ情報テーブル450にあるIPアドレス、ポート番号などの情報と、新規フローの情報(入力されたパケットのヘッダ情報)とが一致するか否かを判断し、一致する場合には監視対象フローと判定する。なお、ユーザ情報テーブル450に、パケットヘッダ情報から識別できないアプリケーション情報や端末情報がある場合は、DPI(Deep Packet Inspection)などの機能によって該当フローのアプリケーション情報や端末情報を識別し、監視対象フローであるか否かを判定する。   Here, the user information table 450 includes identification information (IP address, port number, application information, terminal information, etc.) of the service target user of the packet monitoring apparatus 100. The packet flow identification unit 201 determines whether or not the information such as the IP address and the port number in the user information table 450 matches the new flow information (the header information of the input packet). Is determined as a monitoring target flow. If there is application information or terminal information that cannot be identified from the packet header information in the user information table 450, the application information and terminal information of the corresponding flow are identified by a function such as DPI (Deep Packet Inspection), and the monitoring target flow It is determined whether or not there is.

新規フローが監視対象フローである場合(ステップS309:Yes)、パケットフロー識別部201は、監視フローテーブル400に新規フローのフロー情報を登録した上で(ステップS310)、ステップS304の処理に移行する。ステップS310では、監視フローテーブル400の実行処理409は初期値である「品質監視判定」に設定する。一方、新規フローが監視対象フローでない場合(ステップS309:No)、および、ステップS308で、入力されたパケットを送受信するフローが新規フローでない場合(ステップS308:No)、パケットフロー識別部201は、そのまま入力パケットをIPネットワークに出力して(ステップS312)、本フローチャートによる処理を終了する。   When the new flow is a monitoring target flow (step S309: Yes), the packet flow identification unit 201 registers the flow information of the new flow in the monitoring flow table 400 (step S310), and then proceeds to the process of step S304. . In step S310, the execution process 409 of the monitoring flow table 400 is set to “quality monitoring determination” which is an initial value. On the other hand, when the new flow is not the monitoring target flow (step S309: No) and when the flow for transmitting and receiving the input packet is not the new flow (step S308: No), the packet flow identifying unit 201 The input packet is output to the IP network as it is (step S312), and the processing according to this flowchart ends.

<品質監視判定部202>
品質監視判定部202は、フロー(フローID)別に重複ACKを監視することによって、品質監視の実施要否を判定する。品質監視判定部202は、フロー(フローID)別に最新ACK番号を保持しており、パケットフロー識別部201から入力されたACKパケットが重複ACKパケットでない場合は、最新ACK番号を更新する。一方、重複ACKパケットである場合は、そのACKの最初の重複ACKパケット検出時のみ、フローIDごとに設定された重複ACKカウンタに「1」を加算する。重複ACKは短時間に大量に検出される可能性があるため、同じACK番号の重複ACKパケットについては、最初の重複ACKパケット検出時のみカウンタを「1」加算する。つまり、品質監視判定部202は、受信したACK番号の異なるACKパケットごとに重複ACKを監視し、最初の重複ACKパケットが検出されるごとに重複ACKカウンタに「1」を加算する。そして、品質監視判定部202は、所定時間Ta単位毎に、Ta以内に重複ACKカウンタの値が所定の閾値THaを超えた否かを判定する。さらに、品質監視判定部202は、所定時間Taを複数回含んだ第2の所定時間Tb内で、重複ACKカウンタの値が所定の閾値THaを超えたと判定された回数をカウントし、その回数が閾値THbを超過した場合、監視フローテーブル400の該当フローの実行処理を「品質監視」に設定して、該当フローの品質監視判定処理を終了する。ここで、第2の所定時間Tbを設定し、閾値THaを超えたと判定された回数に、さらに、閾値THbを設けた理由は、重複ACKは一時的に大量に検出される可能性があり、重複ACKが大量に検出される状態が続いているのか、それとも、短時間で、重複ACKの検出がなされない状態になったかを判断するためである。この判定により、品質監視判定部202は、重複ACKが検出される状態が続いている場合に、該当フローの実行処理409を「品質監視」に設定することができる。
なお、重複ACKカウンタは、所定時間Taごとに0に初期化する。また、品質監視判定部202が保持するフロー別の最新ACK番号は、到着したACKパケットのACK番号が、保持しているACK番号より小さい場合は更新しない。
<Quality monitoring determination unit 202>
The quality monitoring determination unit 202 determines whether or not to perform quality monitoring by monitoring duplicate ACKs for each flow (flow ID). The quality monitoring determination unit 202 holds the latest ACK number for each flow (flow ID), and updates the latest ACK number when the ACK packet input from the packet flow identification unit 201 is not a duplicate ACK packet. On the other hand, if it is a duplicate ACK packet, “1” is added to the duplicate ACK counter set for each flow ID only when the first duplicate ACK packet of the ACK is detected. Since duplicate ACKs may be detected in a large amount in a short time, for duplicate ACK packets with the same ACK number, the counter is incremented by “1” only when the first duplicate ACK packet is detected. That is, the quality monitoring determination unit 202 monitors the duplicate ACK for each received ACK packet with a different ACK number, and adds “1” to the duplicate ACK counter each time the first duplicate ACK packet is detected. Then, the quality monitoring determination unit 202 determines whether the value of the duplicate ACK counter has exceeded a predetermined threshold value THa within Ta for every predetermined time Ta. Furthermore, the quality monitoring determination unit 202 counts the number of times that the value of the duplicate ACK counter is determined to exceed the predetermined threshold value THa within the second predetermined time Tb including the predetermined time Ta a plurality of times, and the number of times is determined. When the threshold value THb is exceeded, the execution process of the corresponding flow in the monitoring flow table 400 is set to “quality monitoring”, and the quality monitoring determination process of the corresponding flow is ended. Here, the reason why the second predetermined time Tb is set and the threshold THb is provided in addition to the number of times it is determined that the threshold THa has been exceeded is that a large number of duplicate ACKs may be temporarily detected. This is for determining whether a state where a large number of duplicate ACKs are detected continues, or whether a state where no duplicate ACKs are detected in a short time has been reached. With this determination, the quality monitoring determination unit 202 can set the execution process 409 of the corresponding flow to “quality monitoring” when the state where the duplicate ACK is detected continues.
The duplicate ACK counter is initialized to 0 every predetermined time Ta. In addition, the latest ACK number for each flow held by the quality monitoring determination unit 202 is not updated when the ACK number of the arrived ACK packet is smaller than the held ACK number.

<品質監視部203>
図5は、本実施の形態に係るデータパケット情報テーブル500のデータ構成の一例を示す図である。データパケット情報テーブル500は、各フロー(フローID401)ごとに作成され、データ項目として、シーケンス番号501、データパケットのACK番号502、データサイズ503、ウィンドウサイズ504、パケット到着時刻505、RTT(Round Trip Time)506、重複パケットカウンタ507、重複ACKカウンタ508、データロスフラグ509、遅着フラグ510、および、RTTフラグ511を含んで構成される。データパケット情報テーブル500の全てのカウンタおよびフラグの初期値は「0」に設定される。
<Quality monitoring unit 203>
FIG. 5 is a diagram showing an example of the data configuration of the data packet information table 500 according to the present embodiment. The data packet information table 500 is created for each flow (flow ID 401) and includes, as data items, a sequence number 501, a data packet ACK number 502, a data size 503, a window size 504, a packet arrival time 505, an RTT (Round Trip). Time) 506, duplicate packet counter 507, duplicate ACK counter 508, data loss flag 509, late arrival flag 510, and RTT flag 511. The initial values of all counters and flags in the data packet information table 500 are set to “0”.

シーケンス番号501は、品質監視部203に入力されたデータパケットのシーケンス番号である。ACK番号502は、シーケンス番号501のデータパケットのACK番号である。データサイズ503は、データパケットのデータサイズである。ウィンドウサイズ504は、確認応答を待たずに送ることのできるデータ量である。パケット到着時刻505は、パケットの到着時刻である。RTT506は、品質監視部203がデータパケットを出力後、対応するACKパケットを受信するまでの時間である。   The sequence number 501 is the sequence number of the data packet input to the quality monitoring unit 203. The ACK number 502 is the ACK number of the data packet with the sequence number 501. The data size 503 is the data size of the data packet. The window size 504 is the amount of data that can be sent without waiting for an acknowledgment. The packet arrival time 505 is a packet arrival time. RTT 506 is the time from when the quality monitoring unit 203 outputs a data packet until the corresponding ACK packet is received.

また、重複パケットカウンタ507は、データパケットの重複数をカウントするカウンタである。重複ACKカウンタ508は、シーケンス番号501のデータパケットに対応するACKパケットの重複数をカウントするカウンタである。データロスフラグ509は、データロスが発生したことを示すフラグである。遅着フラグ510はデータパケットの遅着(パケットのシーケンス番号の順序逆転)が発生したことを示すフラグである。RTTフラグ511は、RTTが所定閾値を超えたことを示すフラグである。   The duplicate packet counter 507 is a counter that counts the number of overlapping data packets. The duplicate ACK counter 508 is a counter that counts the number of duplicate ACK packets corresponding to the data packet with the sequence number 501. The data loss flag 509 is a flag indicating that a data loss has occurred. The late arrival flag 510 is a flag indicating that a late arrival of the data packet (reversal of the sequence number of the packet) has occurred. The RTT flag 511 is a flag indicating that the RTT has exceeded a predetermined threshold.

品質監視部203は、パケットフロー識別部201からTCPパケットが入力されると、その入力パケットを用いてデータパケット情報テーブル500(図5)を更新し、データパケット情報テーブル500のデータに基づきパケットキャッシュの要否判定を行う。入力パケットに対する処理は、データパケットかACKパケットかによって異なる。以下、入力パケットがデータパケットの場合の処理は図6、ACKパケットの場合の処理は図7を用いて、それぞれ説明する。   When the TCP packet is input from the packet flow identification unit 201, the quality monitoring unit 203 updates the data packet information table 500 (FIG. 5) using the input packet, and the packet cache based on the data in the data packet information table 500 The necessity determination of is performed. The processing for an input packet differs depending on whether it is a data packet or an ACK packet. Hereinafter, the processing when the input packet is a data packet will be described with reference to FIG. 6, and the processing when the input packet is an ACK packet will be described with reference to FIG.

図6は、本実施の形態に係る品質監視部203のデータパケット入力時の処理を示すフローチャートである。品質監視部203は、データパケットが入力されたか否かを判定し、データパケットが入力されていない場合には、入力されるまで待機する(ステップS601:No)。品質監視部203は、データパケットが入力されると(ステップS601:Yes)、データパケットの到着時刻情報を取得する(ステップS602)。次に、品質監視部203は、データパケットのヘッダ情報(シーケンス番号など)およびデータパケット情報テーブル500を参照して、当該データパケットがデータパケット情報テーブル500に登録されているか否かを判断する(ステップS603)。   FIG. 6 is a flowchart showing processing at the time of data packet input of the quality monitoring unit 203 according to the present embodiment. The quality monitoring unit 203 determines whether or not a data packet is input. If no data packet is input, the quality monitoring unit 203 waits until the data packet is input (step S601: No). When the data packet is input (step S601: Yes), the quality monitoring unit 203 acquires the arrival time information of the data packet (step S602). Next, the quality monitoring unit 203 refers to the header information (sequence number and the like) of the data packet and the data packet information table 500 to determine whether or not the data packet is registered in the data packet information table 500 ( Step S603).

同一パケットの情報が登録されている場合(ステップS603:Yes)、品質監視部203は、データパケットの重複が生じたものとして、重複パケットカウンタ507に「1」を加算して(ステップS604)、データパケットをIPネットワークに出力して(ステップS609)、本フローチャートによる処理を終了する。一方、パケット情報が登録されていない場合(ステップS603:No)、品質監視部203は、今回到着したデータパケットの情報(シーケンス番号、到着時刻など)をデータパケット情報テーブル500に登録する(ステップS605)。   When the information of the same packet is registered (step S603: Yes), the quality monitoring unit 203 adds “1” to the duplicate packet counter 507 on the assumption that the data packet has been duplicated (step S604). The data packet is output to the IP network (step S609), and the processing according to this flowchart is terminated. On the other hand, when the packet information is not registered (step S603: No), the quality monitoring unit 203 registers information (sequence number, arrival time, etc.) of the data packet that has arrived this time in the data packet information table 500 (step S605). ).

続いて、品質監視部203は、データパケット情報テーブル500に保持されている情報(前回受信したデータパケットのシーケンス番号など)から、今回入力されるべきデータパケットのシーケンス番号E_SEQを算出し、実際に今回入力されたデータパケットのシーケンス番号SEQと比較する(ステップS606)。そして、SEQ>E_SEQの場合(ステップS606:SEQ>E_SEQ)、品質監視部203は、データパケットの損失が生じたものとして、今回到着したデータパケットについてのデータパケット情報テーブル500のデータロスフラグ509を「1」に設定する(ステップS607)。そして、品質監視部203は、データパケットをIPネットワークに出力して(ステップS609)、本フローチャートによる処理を終了する。   Subsequently, the quality monitoring unit 203 calculates the sequence number E_SEQ of the data packet to be input this time from information (such as the sequence number of the previously received data packet) held in the data packet information table 500, and actually It is compared with the sequence number SEQ of the data packet input this time (step S606). If SEQ> E_SEQ (step S606: SEQ> E_SEQ), the quality monitoring unit 203 sets the data loss flag 509 of the data packet information table 500 for the data packet that has arrived this time, assuming that a data packet loss has occurred. “1” is set (step S607). Then, the quality monitoring unit 203 outputs the data packet to the IP network (step S609), and ends the processing according to this flowchart.

SEQ<E_SEQの場合(ステップS606:SEQ<E_SEQ)、品質監視部203は、データパケットの遅着(パケットのシーケンス番号の順序逆転)が生じたものとして、データパケット情報テーブル500の遅着フラグ510を「1」に設定する(ステップS608)。そして、品質監視部203は、データパケットをIPネットワークに出力して(ステップS609)、本フローチャートによる処理を終了する。   In the case of SEQ <E_SEQ (step S606: SEQ <E_SEQ), the quality monitoring unit 203 assumes that the arrival of the data packet (reversal of the sequence number of the packet) has occurred, and the arrival flag 510 of the data packet information table 500 Is set to “1” (step S608). Then, the quality monitoring unit 203 outputs the data packet to the IP network (step S609), and ends the processing according to this flowchart.

SEQ=E_SEQの場合(ステップS606:SEQ=E_SEQ)、正常にデータフローが機能しているものとして、品質監視部203は、データパケットを送信先のクライアント端末120に出力して(ステップS609)、本フローチャートによる処理を終了する。   In the case of SEQ = E_SEQ (step S606: SEQ = E_SEQ), the quality monitoring unit 203 outputs the data packet to the destination client terminal 120 on the assumption that the data flow is functioning normally (step S609). The process according to this flowchart ends.

図7は、本実施の形態に係る品質監視部203のACKパケット入力時の処理を示すフローチャートである。図7のフローチャートにおいて、品質監視部203は、ACKパケットが入力されたか否かを判定し、ACKパケットが入力されていない場合には(ステップS701:No)、入力されるまで待機する。品質監視部203は、ACKパケットが入力されると(ステップS701:Yes)、ACKパケットの到着時刻情報を取得する(ステップS702)。次に、品質監視部203は、フロー(フローID)別に重複ACKを監視しており、パケットフロー識別部201から入力されたACKパケットが重複ACKパケットであるか否かを判断する(ステップS703)。品質監視部203は、フロー(フローID)別に最新のACK番号(最新ACK番号)を保持し、パケットフロー識別部201から入力されたACKパケットが重複ACKパケットでない場合は(ステップS703:No)、該当するフロー(フローID)の最新ACK番号を更新する(ステップS705)。なお、品質監視部203が保持するフロー別の最新ACK番号は、到着したACKパケットのACK番号が、保持しているACK番号より小さい場合は更新しない。一方、重複ACKパケットである場合(ステップS703:Yes)、品質監視部203は、ACKパケットの重複が生じているものとして、データパケット情報テーブル500の該当パケットの重複ACKカウンタ508に「1」を加算する(ステップS704)。そして、ACKパケットをIPネットワークに出力して(ステップS710)、本フローチャートによる処理を終了する。   FIG. 7 is a flowchart showing processing at the time of ACK packet input of the quality monitoring unit 203 according to the present embodiment. In the flowchart of FIG. 7, the quality monitoring unit 203 determines whether or not an ACK packet has been input. If no ACK packet has been input (step S701: No), the quality monitoring unit 203 waits until it is input. When the ACK packet is input (step S701: Yes), the quality monitoring unit 203 acquires arrival time information of the ACK packet (step S702). Next, the quality monitoring unit 203 monitors duplicate ACKs for each flow (flow ID), and determines whether or not the ACK packet input from the packet flow identification unit 201 is a duplicate ACK packet (step S703). . The quality monitoring unit 203 holds the latest ACK number (latest ACK number) for each flow (flow ID), and when the ACK packet input from the packet flow identification unit 201 is not a duplicate ACK packet (step S703: No), The latest ACK number of the corresponding flow (flow ID) is updated (step S705). The latest ACK number for each flow held by the quality monitoring unit 203 is not updated when the ACK number of the arrived ACK packet is smaller than the held ACK number. On the other hand, if it is a duplicate ACK packet (step S703: Yes), the quality monitoring unit 203 assumes that duplication of the ACK packet has occurred and sets “1” to the duplicate ACK counter 508 of the corresponding packet in the data packet information table 500. Addition is performed (step S704). Then, the ACK packet is output to the IP network (step S710), and the processing according to this flowchart ends.

続いて、品質監視部203は、データパケット情報テーブル500を参照し、ACKパケットに対応するデータパケットの遅着フラグ510の値が「0」か否かを判断する(ステップS706)。   Subsequently, the quality monitoring unit 203 refers to the data packet information table 500 and determines whether or not the value of the late arrival flag 510 of the data packet corresponding to the ACK packet is “0” (step S706).

ここで、遅着フラグ510の値が「0」である場合(ステップS706:Yes)、品質監視部203は、データパケットが出力されてからACKパケットを受信するまでのRTTを算出する(ステップS707)。算出されたRTTはデータパケット情報テーブル500のRTT506に記憶される。そして、品質監視部203は、RTTが所定の閾値を超えているか否かを判断し(ステップS708)、所定の閾値を超えている場合は(ステップS708:Yes)、データパケット情報テーブル500のRTTフラグ511を「1」に設定する(ステップS709)。そして、品質監視部203は、ACKパケットをIPネットワークに出力して(ステップS710)、本フローチャートによる処理を終了する。   Here, when the value of the late arrival flag 510 is “0” (step S706: Yes), the quality monitoring unit 203 calculates the RTT from when the data packet is output until the ACK packet is received (step S707). ). The calculated RTT is stored in the RTT 506 of the data packet information table 500. Then, the quality monitoring unit 203 determines whether or not the RTT exceeds a predetermined threshold (step S708). If the RTT exceeds the predetermined threshold (step S708: Yes), the RTT of the data packet information table 500 is determined. The flag 511 is set to “1” (step S709). Then, the quality monitoring unit 203 outputs an ACK packet to the IP network (step S710), and ends the processing according to this flowchart.

一方、ステップS706において、遅着フラグ510の値が「0」でない場合(つまり「1」の場合)(ステップS705:No)、または、ステップS708において、RTTが所定の閾値以下の場合(ステップS708:No)、品質監視部203は、ACKパケットをIPネットワークに出力して(ステップS710)、本フローチャートによる処理を終了する。   On the other hand, if the value of the late arrival flag 510 is not “0” (ie, “1”) (step S705: No) in step S706, or if the RTT is equal to or less than a predetermined threshold value in step S708 (step S708). : No), the quality monitoring unit 203 outputs an ACK packet to the IP network (step S710), and ends the processing according to this flowchart.

そして、品質監視部203は、上記において説明した処理によりデータパケット情報テーブル500を更新した上で、所定の時間ごとに、データパケット情報テーブル500のデータに基づき、当該フローにおけるパケットキャッシュの要否判定を行う。なお、ここでのパケットキャッシュの要否判定は、パケットキャッシュを行うべきと判断する可能性が高いフローを抽出するための判定であり、最終的には、劣化区間判定部204による劣化区間判定結果に基づいてパケットキャッシュの要否が決定される。   Then, the quality monitoring unit 203 updates the data packet information table 500 by the processing described above, and then determines whether or not the packet cache is necessary in the flow based on the data in the data packet information table 500 every predetermined time. I do. Note that the necessity determination of the packet cache here is a determination for extracting a flow having a high possibility of determining that the packet cache should be performed, and finally, the deterioration section determination result by the deterioration section determination unit 204 The necessity of the packet cache is determined based on the above.

具体的には、品質監視部203は、所定の時間ごとに、データパケット情報テーブル500を参照し、例えば、以下に示す算出値が所定の閾値を超えた場合に、最終的にパケットキャッシュを行うべきと判断される可能性が高いものとして、劣化区間判定部204に対し、該当フロー(該当フローID401)の劣化区間判定要求を出力する。   Specifically, the quality monitoring unit 203 refers to the data packet information table 500 at predetermined time intervals, and finally performs packet caching when, for example, the calculated value shown below exceeds a predetermined threshold value. As a possibility that it is determined that it should be, a deterioration section determination request for the corresponding flow (corresponding flow ID 401) is output to the deterioration section determination unit 204.

(1)[重複パケットカウンタ507の値が所定値を超えているデータパケット数]/[登録されているデータパケット数]
(2)[重複ACKカウンタ508の値が所定値を超えているデータパケット数]/[登録されているデータパケット数]
(3)[データロスフラグの合計値]/[登録されているデータパケット数]
(4)[遅着フラグの合計値]/[登録されているデータパケット数]
(5)[RTTフラグの合計値]/[登録されている遅着フラグが「0」のデータパケット数]
(1) [Number of data packets in which the value of the duplicate packet counter 507 exceeds a predetermined value] / [Number of registered data packets]
(2) [Number of data packets in which the value of the duplicate ACK counter 508 exceeds a predetermined value] / [Number of registered data packets]
(3) [Total value of data loss flag] / [Number of registered data packets]
(4) [Total value of late arrival flags] / [Number of registered data packets]
(5) [total value of RTT flag] / [number of registered late arrival flags is “0”]

品質監視部203は、データパケット情報テーブル500を参照して、例えば、上記(1)〜(5)のうち少なくとも1つの算出値が、所定の閾値を超えた場合に、該当フローの劣化区間判定要求を劣化区間判定部204に送信する。なお、この判定は、(1)〜(5)の算出値のうち複数が閾値を超えた場合や、(1)〜(5)の算出値のうちのいずれかの組の算出値が閾値を超えた場合などに、該当フローの劣化区間判定要求を劣化区間判定部204に送信するようにしてもよい。また、この算出値は、データパケット情報テーブル500に登録されている全てのデータパケット数について算出するようにしもよいし、所定時間内に追加されたデータパケット数について算出するようにしてもよい。   The quality monitoring unit 203 refers to the data packet information table 500. For example, when at least one of the calculated values (1) to (5) exceeds a predetermined threshold, the quality monitoring unit 203 determines the degradation period of the corresponding flow. The request is transmitted to the degradation period determination unit 204. This determination is made when a plurality of calculated values (1) to (5) exceed a threshold value, or a calculated value of any set of the calculated values (1) to (5) sets a threshold value. When it exceeds, for example, a deterioration section determination request for the corresponding flow may be transmitted to the deterioration section determination unit 204. Further, this calculated value may be calculated for all the number of data packets registered in the data packet information table 500, or may be calculated for the number of data packets added within a predetermined time.

<劣化区間判定部204>
劣化区間判定部204は、品質監視部203から劣化区間判定要求を受信すると、該当フロー(フローID)のデータパケット情報テーブル500に登録されているデータから、通信の劣化区間がパケット監視装置100の下流(図1の区間A)および上流(図1の区間B)のいずれであるかを判定する。劣化区間判定部204は、劣化区間を「下流」と判定した場合は、監視フローテーブル400の実行処理409を「キャッシュ」に設定する。一方、劣化区間を「上流」と判定した場合は、監視フローテーブル400の実行処理409を「監視中止」に設定する。劣化区間判定処理が終了すると、劣化区間判定部204は、データパケット情報テーブル500から該当フローのパケット情報を削除して、処理を終了する。
<Deterioration section determination unit 204>
When receiving the degradation segment determination request from the quality monitoring unit 203, the degradation segment determination unit 204 determines that the degradation segment of communication is the packet monitoring device 100 from the data registered in the data packet information table 500 of the corresponding flow (flow ID). It is determined whether it is downstream (section A in FIG. 1) or upstream (section B in FIG. 1). When the deterioration section determination unit 204 determines that the deterioration section is “downstream”, the execution section 409 of the monitoring flow table 400 is set to “cache”. On the other hand, when it is determined that the deterioration section is “upstream”, the execution process 409 of the monitoring flow table 400 is set to “monitoring stop”. When the degradation period determination process ends, the degradation period determination unit 204 deletes the packet information of the corresponding flow from the data packet information table 500 and ends the process.

この劣化区間判定部204による通信劣化区間の判定は、例えば、該当フロー(フローID401)のデータパケット情報テーブル500(図5)について、下記の(Na)〜(Nd)を算出して比較することにより、劣化区間を判定する。   The determination of the communication deterioration section by the deterioration section determination unit 204 is, for example, by calculating and comparing the following (Na) to (Nd) for the data packet information table 500 (FIG. 5) of the corresponding flow (flow ID 401). Thus, the deterioration section is determined.

・(Na)=遅着フラグ510の合計
・(Nb)=遅着フラグ510が「0」、かつ、2つのカウンタ(重複パケットカウンタ507、重複ACKカウンタ508)の両方が「1」以上であるデータパケット数
・(Nc)=遅着フラグ510が「0」、RTTフラグ511が「0」であり、かつ、2つのカウンタ(重複パケットカウンタ507、重複ACKカウンタ508)のいずれか一方が「1」以上のデータパケット数
・(Nd)=遅着フラグ510が「0」、RTTフラグ511が「1」であり、かつ、2つのカウンタ(重複パケットカウンタ507、重複ACKカウンタ508)のいずれか一方が「1」以上のデータパケット数
(Na) = total of late arrival flags 510 (Nb) = late arrival flag 510 is “0” and both counters (duplicate packet counter 507 and duplicate ACK counter 508) are “1” or more. Number of data packets (Nc) = late arrival flag 510 is “0”, RTT flag 511 is “0”, and one of the two counters (duplicate packet counter 507 and duplicate ACK counter 508) is “1”. Number of data packets greater than or equal to: (Nd) = late arrival flag 510 is “0”, RTT flag 511 is “1”, and one of two counters (duplicate packet counter 507 and duplicate ACK counter 508) Number of data packets with "1" or more

そして、劣化区間判定部204は、(Na)〜(Nd)を算出し、以下の(式1)に基づき、劣化区間の判定を行う。なお、α、βは係数である。   And the degradation area determination part 204 calculates (Na)-(Nd), and determines a degradation area based on the following (Formula 1). Α and β are coefficients.

Figure 0005723307
Figure 0005723307

ここで、(Na)は、遅着フラグ510が「1」であるものを合計するので、上流でのパケットロスやパケットの到着順序の逆転などの発生に依存する値となる。
(Nb)は、遅着フラグ510が「0」であるので、上流ではパケットロスやパケットの到着順序の逆転などは起きていない。データパケットおよびACKパケットの再送が起きていることから、下流でのデータパケットの劣化を推定する値となる。
(Nc)は、遅着フラグ510が「0」であるので、上流ではデータパケットのロスやパケットの到着順序の逆転などは起きていない。データパケットの再送またはACKパケットの再送の一方しか行われておらず、RTTフラグ511が「0」であるため、上流でのACKパケットの劣化の発生を推定する値となる。
(Nd)は、(Nc)とは逆に、RTTフラグ511が「1」であるため、下流での劣化の発生を推定する値となる。
Here, (Na) is a value depending on the occurrence of upstream packet loss, packet arrival order reversal, and the like, since the sums of late arrival flags 510 of “1” are totaled.
In (Nb), since the late arrival flag 510 is “0”, no packet loss or reversal of the arrival order of packets occurs upstream. Since the data packet and the ACK packet are retransmitted, this value is a value for estimating the deterioration of the data packet downstream.
In (Nc), since the late arrival flag 510 is “0”, there is no loss of data packet or reversal of the arrival order of packets in the upstream. Only one of the retransmission of the data packet or the retransmission of the ACK packet is performed, and the RTT flag 511 is “0”, so that it is a value for estimating the occurrence of the deterioration of the ACK packet upstream.
Contrary to (Nc), (Nd) is a value for estimating the occurrence of downstream deterioration because the RTT flag 511 is “1”.

劣化区間判定部204は、例えば、この(式1)を劣化区間判定に用いて、(式1)が成立するときに、上流(区間B)で劣化と判定し、(式1)が不成立のときに、下流(区間A)で劣化と判定する。   For example, the degradation section determination unit 204 uses this (Equation 1) for the degradation section determination, and when (Equation 1) is established, determines that the degradation is upstream (section B), and (Equation 1) is not established. Sometimes, it is determined that the degradation is downstream (section A).

<パケットキャッシュ部205>
パケットキャッシュ部205は、パケットフロー識別部201から入力されたパケットがデータパケットである場合には、当該データパケットがパケットキャッシュ記憶部213にキャッシュされているか否かを判断する。当該データパケットがすでにキャッシュされている場合、パケットキャッシュ部205は、当該データパケットのキャッシュは行わず、IPネットワークへ当該データパケットを出力する。一方、当該データパケットがキャッシュされていない場合、パケットキャッシュ部205は、パケットキャッシュ記憶部213に当該データパケットをキャッシュした後、IPネットワークへ当該データパケットを出力する。
<Packet cache unit 205>
When the packet input from the packet flow identification unit 201 is a data packet, the packet cache unit 205 determines whether the data packet is cached in the packet cache storage unit 213. If the data packet is already cached, the packet cache unit 205 does not cache the data packet and outputs the data packet to the IP network. On the other hand, when the data packet is not cached, the packet cache unit 205 caches the data packet in the packet cache storage unit 213 and then outputs the data packet to the IP network.

また、パケットキャッシュ部205は、フロー(フローID)別に重複ACKを監視しており、フロー(フローID)別に最新のACK番号(最新ACK番号)を保持し、パケットフロー識別部201から入力されたパケットがACKパケットである場合には、当該ACKパケットが重複ACKパケットであるか否かを判断する。重複ACKパケットでない場合、パケットキャッシュ部205は、該当するフロー(フローID)の最新ACK番号を更新し、ACKパケットをIPネットワークへ出力する。なお、パケットキャッシュ部205が保持するフロー別の最新ACK番号は、到着したACKパケットのACK番号が、保持しているACK番号より小さい場合は更新しない。また、パケットキャッシュ部205は、当該ACKパケットによってクライアント端末120での受信確認ができたデータパケットをパケットキャッシュ記憶部213から削除する。   The packet cache unit 205 monitors duplicate ACKs for each flow (flow ID), holds the latest ACK number (latest ACK number) for each flow (flow ID), and is input from the packet flow identification unit 201. If the packet is an ACK packet, it is determined whether the ACK packet is a duplicate ACK packet. If it is not a duplicate ACK packet, the packet cache unit 205 updates the latest ACK number of the corresponding flow (flow ID), and outputs the ACK packet to the IP network. Note that the latest ACK number for each flow held by the packet cache unit 205 is not updated when the ACK number of the arrived ACK packet is smaller than the held ACK number. In addition, the packet cache unit 205 deletes from the packet cache storage unit 213 a data packet that has been confirmed to be received at the client terminal 120 by the ACK packet.

一方、入力されたACKパケットが重複ACKパケットの場合、パケットキャッシュ部205は、最初の重複ACKパケット検出時には、再送要求されたデータパケットをパケットキャッシュ記憶部213から読み出してクライアント端末120に送信するとともに、受信したACKパケットを廃棄する。その後、パケットキャッシュ部205は、再送要求されたデータパケットがパケットキャッシュ記憶部213に記憶されている場合には、最初の重複ACKパケット検出時以外でも、受信したACKパケットを廃棄するとともに、重複ACKパケットを所定数受信するごとに、再送要求されたデータパケットをパケットキャッシュ記憶部213から読み出してクライアント端末120に送信する。例えば、所定数=5とすると、同一のACKパケットを2回目に受信したとき(1番目の重複ACK)、7番目に受信したとき、12番目に受信したときのように、再送要求されたデータパケットを送信する。なお、パケットキャッシュ部205は、再送要求されたデータパケットがパケットキャッシュ記憶部213に記憶されていないときは、重複ACKパケットをネットワークに出力する。   On the other hand, when the input ACK packet is a duplicate ACK packet, the packet cache unit 205 reads the data packet requested for retransmission from the packet cache storage unit 213 and transmits it to the client terminal 120 when the first duplicate ACK packet is detected. The received ACK packet is discarded. Thereafter, when the data packet requested for retransmission is stored in the packet cache storage unit 213, the packet cache unit 205 discards the received ACK packet and detects the duplicate ACK even when the first duplicate ACK packet is detected. Each time a predetermined number of packets are received, the data packet requested to be retransmitted is read from the packet cache storage unit 213 and transmitted to the client terminal 120. For example, if the predetermined number = 5, the data requested to be retransmitted is the same as when the same ACK packet is received for the second time (first duplicate ACK), when it is received seventh, and when it is received twelfth. Send the packet. The packet cache unit 205 outputs a duplicate ACK packet to the network when the retransmitted data packet is not stored in the packet cache storage unit 213.

また、パケットキャッシュ部205は、所定時間内に重複ACKパケットが検出されないフローについては、監視フローテーブル400の実行処理409を「品質監視判定」に設定する。これにより、フローの劣化要因が解決した場合にはTCPパケットのキャッシュを終了することができる。   Further, the packet cache unit 205 sets the execution process 409 of the monitoring flow table 400 to “quality monitoring determination” for a flow in which a duplicate ACK packet is not detected within a predetermined time. As a result, when the flow deterioration factor is resolved, the TCP packet cache can be terminated.

≪複数のパケット監視装置100を用いたパケット監視システム800の一例≫
本実施の形態に係るパケット監視装置100を複数配置することによって、より効率的にパケットのキャッシュおよび再送を行うことが可能となる。以下に、パケット監視装置100を複数配置したパケット監視システム800の一例を示す。
<< Example of Packet Monitoring System 800 Using Multiple Packet Monitoring Devices 100 >>
By arranging a plurality of packet monitoring apparatuses 100 according to the present embodiment, it becomes possible to cache and retransmit packets more efficiently. An example of a packet monitoring system 800 in which a plurality of packet monitoring devices 100 are arranged is shown below.

図8は、本実施の形態に係るパケット監視装置100を複数配置したパケット監視システム800のシステム構成の一例を示す図である。パケット監視システム800は、図1と同様に、サーバ110からクライアント端末120へ送信されるTCPデータパケットと、それに対応してクライアント端末120からサーバ110へ送信されるACKパケットと、からなるパケットフローを監視対象としている。パケット監視システム800において、IPネットワーク上のインターネット側エッジにはパケット監視装置810が、アクセス網側エッジにはパケット監視装置820が配置されている。また、パケット監視システム800には、IPネットワーク上のパケット監視装置810,820を管理する管理サーバ830が設けられている。   FIG. 8 is a diagram showing an example of a system configuration of a packet monitoring system 800 in which a plurality of packet monitoring apparatuses 100 according to the present embodiment are arranged. As in FIG. 1, the packet monitoring system 800 has a packet flow composed of a TCP data packet transmitted from the server 110 to the client terminal 120 and an ACK packet transmitted correspondingly from the client terminal 120 to the server 110. It is a monitoring target. In the packet monitoring system 800, a packet monitoring device 810 is arranged at the Internet side edge on the IP network, and a packet monitoring device 820 is arranged at the access network side edge. Also, the packet monitoring system 800 is provided with a management server 830 that manages the packet monitoring devices 810 and 820 on the IP network.

IPネットワークのインターネット側(サーバ110側)にはゲートウェイ(GW)130が、アクセス網側(クライアント端末120側)にはエッジルータ140がそれぞれ配置されている。また、パケット監視装置810およびパケット監視装置820との間にはルータ805が配置されている。サーバ110とクライアント端末120との間のTCPセッションにおいて、パケット監視装置820とクライアント端末120との間を区間C、パケット監視装置810およびパケット監視装置820との間を区間D、パケット監視装置810とサーバ110との間を区間Eとする。   A gateway (GW) 130 is arranged on the Internet side (server 110 side) of the IP network, and an edge router 140 is arranged on the access network side (client terminal 120 side). A router 805 is arranged between the packet monitoring device 810 and the packet monitoring device 820. In the TCP session between the server 110 and the client terminal 120, the section C is between the packet monitoring device 820 and the client terminal 120, the section D is between the packet monitoring device 810 and the packet monitoring device 820, and the packet monitoring device 810 is A section E is defined between the server 110 and the server 110.

まず、パケット監視システム800では、クライアント端末120側のエッジに設置されたパケット監視装置820で前記したパケット監視を行う。パケット監視の結果、通信の劣化が検知され、パケット監視装置820の劣化区間判定部204によって劣化区間が「下流」(図8の区間C)と判定された場合、パケット監視装置820でデータパケットのキャッシュ、ロスパケットの再送、重複ACKパケットの削除などを適宜行う。また、このとき、パケット監視装置820は、管理サーバ830とは通信しない。   First, in the packet monitoring system 800, the packet monitoring described above is performed by the packet monitoring device 820 installed at the edge on the client terminal 120 side. As a result of packet monitoring, when communication deterioration is detected and the deterioration section determining unit 204 of the packet monitoring apparatus 820 determines that the deterioration section is “downstream” (section C in FIG. 8), the packet monitoring apparatus 820 determines the data packet. Cache, retransmission of lost packets, deletion of duplicate ACK packets, etc. are performed as appropriate. At this time, the packet monitoring device 820 does not communicate with the management server 830.

一方、劣化区間が「上流」(図8の区間DまたはE)と判定された場合、パケット監視装置820の劣化区間判定部204は、実行処理を「監視中止」に設定し、監視フローテーブル400に登録されている該当フローの識別情報(フローIDやIPアドレスなどの情報)を含む劣化区間判定結果を管理サーバ830に送信する。   On the other hand, when the deterioration section is determined to be “upstream” (section D or E in FIG. 8), the deterioration section determination unit 204 of the packet monitoring device 820 sets the execution process to “monitoring stop” and the monitoring flow table 400. The degradation section determination result including the identification information (information such as the flow ID and IP address) of the corresponding flow registered in is transmitted to the management server 830.

管理サーバ830は、パケット監視装置820から受信した該当フローの識別情報に基づいて、該当フローの経路情報をIPネットワーク内の装置から収集し、該当フローの通信経路上にあり、パケット監視装置820よりも上流にあるパケット監視装置810を特定する。管理サーバ830は該当フローの識別情報を、パケット監視装置810の監視フローテーブル400に登録する。すなわち、管理サーバ830は、該当フローの識別情報と、この識別情報で識別されるTCPセッションで送受信されるTCPパケットのキャッシュの要否判定を要求するキャッシュ要否判定要求とを送信する。このとき、監視フローテーブル400の実行処理409は「品質監視」として登録する。   The management server 830 collects the path information of the corresponding flow from the apparatus in the IP network based on the identification information of the corresponding flow received from the packet monitoring apparatus 820, and is on the communication path of the corresponding flow. Also, the packet monitoring device 810 located upstream is identified. The management server 830 registers the identification information of the corresponding flow in the monitoring flow table 400 of the packet monitoring device 810. That is, the management server 830 transmits the identification information of the corresponding flow and a cache necessity determination request for requesting the necessity of caching of a TCP packet transmitted / received in the TCP session identified by the identification information. At this time, the execution process 409 of the monitoring flow table 400 is registered as “quality monitoring”.

管理サーバ830からのキャッシュ要否判定要求を受けたパケット監視装置810は、TCPパケットが入力されると監視フローテーブル400を参照して品質監視を実施する。パケット監視装置810の劣化区間判定部204で劣化区間を「下流」(図8の区間D)と判定した場合は、監視フローテーブル400の実行処理409を「キャッシュ」に設定し、データパケットのキャッシュ、ロスパケットの再送、重複ACKパケットの削除などをパケット監視装置810で適宜行うとともに、劣化区間判定結果を管理サーバ830へ送信する。一方、劣化区間を「上流」(図8の区間E)と判定した場合は、監視フローテーブル400の実行処理409を「監視中止」に設定して、該当フローの識別情報と劣化区間判定結果を管理サーバ830へ送信する。   The packet monitoring apparatus 810 that has received the cache necessity determination request from the management server 830 performs quality monitoring with reference to the monitoring flow table 400 when a TCP packet is input. When the deterioration section determination unit 204 of the packet monitoring device 810 determines that the deterioration section is “downstream” (section D in FIG. 8), the execution processing 409 of the monitoring flow table 400 is set to “cache”, and the data packet cache is set. The packet monitoring device 810 appropriately performs retransmission of lost packets, deletion of duplicate ACK packets, and the like, and transmits the degradation section determination result to the management server 830. On the other hand, when it is determined that the deterioration section is “upstream” (section E in FIG. 8), the execution process 409 of the monitoring flow table 400 is set to “stop monitoring”, and the identification information of the corresponding flow and the deterioration section determination result are set. Transmit to the management server 830.

管理サーバ830は、パケット監視装置810から受信した劣化区間判定結果が「上流」(図8の区間E)の場合は、パケット監視装置810の監視フローテーブル400から該当フローの情報を削除するように要請する。一方、劣化区間が「下流」(図8の区間D)の場合、管理サーバ830は、パケット監視装置820の監視フローテーブル400から該当フローの情報を削除するように要請する。   When the degradation section determination result received from the packet monitoring apparatus 810 is “upstream” (section E in FIG. 8), the management server 830 deletes the information of the corresponding flow from the monitoring flow table 400 of the packet monitoring apparatus 810. Request. On the other hand, when the deterioration section is “downstream” (section D in FIG. 8), the management server 830 requests to delete the information of the corresponding flow from the monitoring flow table 400 of the packet monitoring apparatus 820.

このように、パケット監視システム800では、IPネットワーク上の劣化発生区間に近い監視点(パケット監視装置)で、スヌープ(データパケットのキャッシュ、ロスパケットの再送、重複ACKの適宜削除など)を行うことができる。このため、パケット監視システム800によれば、パケット監視装置−サーバ間のトラヒックおよび装置負荷を削減することができる。また、パケット監視システム800によれば、クライアント端末120で再送データパケットを受信するまでの時間を短縮させることができる。   As described above, the packet monitoring system 800 performs snoop (data packet cache, loss packet retransmission, duplication ACK deletion, etc.) at a monitoring point (packet monitoring device) close to the degradation occurrence section on the IP network. Can do. Therefore, according to the packet monitoring system 800, it is possible to reduce the traffic between the packet monitoring device and the server and the device load. Further, according to the packet monitoring system 800, it is possible to reduce the time until the client terminal 120 receives a retransmission data packet.

以上説明したように、実施の形態に係るパケット監視装置100によれば、IPネットワークにおける個々のTCPセッション(フロー)ごとにパケットキャッシュの要否を判定して、スヌープ(データパケットのキャッシュ、ロスパケットの再送、重複ACKの適宜削除など)を行うことができる。これにより、パケットキャッシュの必要がないTCPセッションのパケットをキャッシュする必要がなくなり、キャッシュに要するメモリを削減することができる。また、パケット監視装置100がIPネットワーク上で監視を行うことによって、端末側装置(サーバ110やクライアント端末120)を改変することなく、TCP輻輳制御によるデータ転送速度の低下を回避することができる。   As described above, the packet monitoring apparatus 100 according to the embodiment determines whether or not a packet cache is necessary for each TCP session (flow) in the IP network, and snoops (data packet cache, lost packet). For example, retransmission of duplicate ACKs, etc.). This eliminates the need to cache TCP session packets that do not require packet caching, thereby reducing the memory required for caching. Further, since the packet monitoring apparatus 100 performs monitoring on the IP network, it is possible to avoid a decrease in data transfer rate due to TCP congestion control without modifying the terminal side apparatus (server 110 or client terminal 120).

また、パケット監視装置100によれば、パケットの重複数、パケットロス、パケットの遅着数、およびラウンドトリップタイムに基づき、改善効果が高いと推定されるフローにおいてのみ、スヌープを行う。また、劣化区間を判定することにより、パケットキャッシュの必要がないTCPセッションのパケットをキャッシュする必要をなくすことができる。これにより、パケット監視装置100のリソースを有効に活用できるとともに、サーバ110からパケット監視装置100までのトラヒックおよび装置負荷を削減することができる。   Further, according to the packet monitoring apparatus 100, the snoop is performed only in the flow that is estimated to have a high improvement effect based on the overlapping number of packets, the packet loss, the packet arrival number, and the round trip time. Also, by determining the degradation period, it is possible to eliminate the need to cache TCP session packets that do not require packet caching. As a result, the resources of the packet monitoring device 100 can be used effectively, and the traffic and device load from the server 110 to the packet monitoring device 100 can be reduced.

また、パケット監視装置100によれば、キャッシュ要否判定に先立って、比較的処理量の少ない重複ACK監視のみを実施し、パケットロスが多く発生しているフローのみキャッシュ要否判定を行う。これにより、パケット監視装置100のリソースを有効に活用することができる。   Further, according to the packet monitoring apparatus 100, prior to determining whether or not the cache is necessary, only duplication ACK monitoring with a relatively small processing amount is performed, and only whether or not a flow in which a large amount of packet loss has occurred is determined. Thereby, the resource of the packet monitoring apparatus 100 can be used effectively.

なお、本実施の形態においては、アクセス網側エッジにパケット監視装置100(820)を、そして、インターネット側エッジにパケット監視装置810を配置するようにした(図1および図8参照)。しかしながら、本発明は、このような配置には限定されず、パケット監視装置100が備える機能を、エッジルータ140やゲートウェイ(GW)130、ルータ805などが備え、パケットを監視するようにしてもよい。   In this embodiment, the packet monitoring device 100 (820) is arranged at the access network side edge, and the packet monitoring device 810 is arranged at the Internet side edge (see FIGS. 1 and 8). However, the present invention is not limited to such an arrangement, and the functions provided in the packet monitoring apparatus 100 may be provided in the edge router 140, the gateway (GW) 130, the router 805, and the like to monitor packets. .

100,810,820 パケット監視装置
110 サーバ
120 クライアント端末
130 ゲートウェイ(GW)
140 エッジルータ
201 パケットフロー識別部
202 品質監視判定部
203 品質監視部
204 劣化区間判定部
205 パケットキャッシュ部
211 テーブル記憶部
212 データパケット情報テーブル記憶部
213 パケットキャッシュ記憶部
400 監視フローテーブル
450 ユーザ情報テーブル
500 データパケット情報テーブル
830 管理サーバ
100, 810, 820 Packet monitoring device 110 Server 120 Client terminal 130 Gateway (GW)
140 Edge router 201 Packet flow identification unit 202 Quality monitoring determination unit 203 Quality monitoring unit 204 Degraded section determination unit 205 Packet cache unit 211 Table storage unit 212 Data packet information table storage unit 213 Packet cache storage unit 400 Monitoring flow table 450 User information table 500 Data packet information table 830 Management server

Claims (1)

IPネットワーク上のサーバ−クライアント端末間で確立されたTCPセッションで送受信されるTCPパケットを監視するパケット監視装置を複数備えるとともに、複数の前記パケット監視装置を管理する管理サーバを備え、前記IPネットワーク上のサーバ−クライアント端末間で確立された前記TCPセッションで送受信される前記TCPパケットを監視するパケット監視システムであって、
前記パケット監視装置は、
前記IPネットワーク上で送受信される前記TCPパケットが、いずれの前記TCPセッションで送受信されたものかを識別するパケットフロー識別部と、
前記TCPセッションで所定時間内に送受信されるACKパケットの重複数が、所定の閾値を超えた場合に、前記TCPセッションを品質監視すべきと判定する品質監視判定部と、
前記品質監視すべきと判定された前記TCPセッションごとに、前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を、前記TCPパケットの重複数、パケットロス、パケットの遅着、および前記TCPセッションにおけるラウンドトリップタイム、の少なくとも1つに基づき実行する品質監視部と、
前記パケットの重複数、前記パケットロス、前記パケットの遅着、および前記ラウンドトリップタイムに基づき、前記TCPセッションにおける劣化区間が、前記サーバと前記パケット監視装置との間の区間または前記クライアント端末と前記パケット監視装置との間のいずれであるかを判定し、前記劣化区間が前記サーバと前記パケット監視装置との間である場合は、前記TCPパケットのキャッシュを不要と判定し、前記劣化区間が前記クライアント端末と前記パケット監視装置との間である場合は、前記品質監視部がキャッシュを要すると判定した前記TCPパケットについて、キャッシュを要するとの最終的な判定をする劣化区間判定部と、
前記TCPパケットを送受信する前記TCPセッションが、キャッシュを要するとの前記最終的な判定をされた場合に、前記TCPパケットのキャッシュを行い、再送要求を受信した場合に、前記キャッシュされたTCPパケットを再送するパケットキャッシュ部と、
を備え、
前記パケット監視装置は、
前記TCPセッションにおける前記劣化区間が前記サーバと当該パケット監視装置との間であると判定した場合に、前記TCPセッションを識別する識別情報を含む当該劣化区間の判定結果を前記管理サーバに送信し、前記劣化区間が前記クライアント端末と当該パケット監視装置との間であると判定した場合は自装置において前記TCPパケットのキャッシュを要するとの前記最終的な判定し、
前記管理サーバは、
前記TCPパケットの通信経路上にあり、前記判定結果を送信したパケット監視装置よりも前記通信経路において上流となる前記サーバ側に位置するパケット監視装置を特定し、
前記特定したサーバ側に位置するパケット監視装置に、前記判定結果を送信したパケット監視装置から受信した前記識別情報と、前記識別情報で識別される前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を要求するキャッシュ要否判定要求とを送信し、
前記サーバ側に位置するパケット監視装置は、
前記識別情報および前記キャッシュ要否判定要求を受信し、前記識別情報に示されるTCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行うこと
を特徴とするパケット監視システム。
Server on IP network - with providing a plurality of packet monitoring unit for monitoring the TCP packets transmitted and received TCP session established between the client terminal, a management server for managing the packet monitoring device multiple, the IP network server above - a packet monitoring system for monitoring the TCP packets transmitted and received by the TCP session established between the client terminal,
The packet monitoring device includes:
A packet flow identification unit for identifying in which TCP session the TCP packet transmitted / received on the IP network is transmitted / received;
A quality monitoring determination unit that determines that the TCP session should be quality monitored when the overlapping number of ACK packets transmitted and received in the TCP session within a predetermined time exceeds a predetermined threshold;
For each TCP session that is determined to be quality-monitored, a determination as to whether or not the TCP packet to be transmitted / received in the TCP session needs to be cached includes a plurality of TCP packets, packet loss, packet delay, and the A quality monitoring unit that executes based on at least one of round trip times in a TCP session;
Based on the duplication number of the packet, the packet loss, the late arrival of the packet, and the round trip time, the degradation section in the TCP session is a section between the server and the packet monitoring device or the client terminal and the It is determined whether the packet monitoring device is between the server and the packet monitoring device, and it is determined that the TCP packet cache is unnecessary, and the deterioration interval is the A degradation section determination unit that finally determines that a cache is required for the TCP packet that the quality monitoring unit has determined that a cache is required, between the client terminal and the packet monitoring device;
When the TCP session that transmits and receives the TCP packet is determined to require caching, the TCP packet is cached, and when a retransmission request is received, the cached TCP packet is A packet cache unit to be retransmitted;
With
The packet monitoring device includes:
When it is determined that the deterioration interval in the TCP session is between the server and the packet monitoring device, the determination result of the deterioration interval including identification information for identifying the TCP session is transmitted to the management server, If it is determined that the degradation interval is between the client terminal and the packet monitoring device, the final determination that the TCP packet needs to be cached in its own device,
The management server
Identify the packet monitoring device located on the server side that is on the communication path of the TCP packet and is upstream in the communication path than the packet monitoring device that transmitted the determination result,
The identification information received from the packet monitoring device that transmitted the determination result to the packet monitoring device located on the specified server side, and the cache of the TCP packet transmitted and received in the TCP session identified by the identification information A cache necessity determination request for requesting necessity determination, and
The packet monitoring device located on the server side is:
A packet monitoring system that receives the identification information and the cache necessity determination request and determines whether or not the TCP packet to be transmitted / received in the TCP session indicated by the identification information is cached.
JP2012042396A 2012-02-28 2012-02-28 Packet monitoring system Active JP5723307B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012042396A JP5723307B2 (en) 2012-02-28 2012-02-28 Packet monitoring system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012042396A JP5723307B2 (en) 2012-02-28 2012-02-28 Packet monitoring system

Publications (2)

Publication Number Publication Date
JP2013179486A JP2013179486A (en) 2013-09-09
JP5723307B2 true JP5723307B2 (en) 2015-05-27

Family

ID=49270754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012042396A Active JP5723307B2 (en) 2012-02-28 2012-02-28 Packet monitoring system

Country Status (1)

Country Link
JP (1) JP5723307B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6195785B2 (en) * 2013-12-04 2017-09-13 Kddi株式会社 Communication device, server device, and program for storing transferred content
CN105635058B (en) * 2014-10-30 2019-05-17 中国科学院声学研究所 Go-between's processing method of TCP is directed under a kind of no-protocol mode stack
CN112491871B (en) * 2020-11-25 2023-07-28 北京宝兰德软件股份有限公司 TCP reorganization method, TCP reorganization device, electronic equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100787294B1 (en) * 2001-12-26 2007-12-20 엘지노텔 주식회사 Tcp progress apparatus in mobile communication base station
JP2006287331A (en) * 2005-03-31 2006-10-19 Fujitsu Ltd Congestion control network repeating device and method
US20130003524A1 (en) * 2010-01-22 2013-01-03 Yangcheng Huang Selective Caching in a Packet Network and Packet Loss Repair Using Selective Caching

Also Published As

Publication number Publication date
JP2013179486A (en) 2013-09-09

Similar Documents

Publication Publication Date Title
KR101746629B1 (en) Communication apparatus and communication method
JP5816718B2 (en) Communication apparatus, communication system, and data communication relay method
JP4433202B2 (en) Transport layer relay method, transport layer relay device, and program
KR100436435B1 (en) Method and Apparatus for Transmitting Packet Using Indirect Ackowledgement over Wire/Wireless Integrated Network
US9867068B2 (en) Wirespeed TCP session optimization for networks having radio segments
US20060221825A1 (en) Congestion control network relay device and method
JPWO2008023656A1 (en) Communication device
US7489637B2 (en) Method of enhancing the efficiency of data flow in communication systems
WO2004017663A1 (en) Traffic control in cellular networks
JPWO2013125096A1 (en) Communication device
CN107104902B (en) RDMA data transmission method, related device and system
US20150237104A1 (en) Communication system, communication apparatus, and communication method
JP2008153778A (en) Packet transfer apparatus
US20030128672A1 (en) Transmission and flow control
CN116848835A (en) Implementing regional continuous proxy services
CN110602568B (en) Video stream transmission packet loss retransmission method, device and storage device based on RTP
JP5723307B2 (en) Packet monitoring system
JP4506430B2 (en) Application monitor device
JP4447028B2 (en) Communication control method, transmission apparatus, and computer program
JP4372814B2 (en) Method for counting the number of transmissions of a data unit, a counting device, a transmitting device, and a computer program
JP5761193B2 (en) Communication apparatus, communication system, packet retransmission control method, and packet retransmission control program
EP3613164B1 (en) Device and method for monitoring a tcp connection
JP4766703B2 (en) Edge node and bandwidth control method
US20030065736A1 (en) System, method, and apparatus for preventing data packet overflow at plurality of nodes in wireless packet data services network
Liu et al. Using congestion coherence to enhance TCP over wireless links

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140307

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140502

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150306

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150327

R150 Certificate of patent or registration of utility model

Ref document number: 5723307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150