JP2013179486A - Packet monitoring device, packet monitoring method, and packet monitoring system - Google Patents
Packet monitoring device, packet monitoring method, and packet monitoring system Download PDFInfo
- Publication number
- JP2013179486A JP2013179486A JP2012042396A JP2012042396A JP2013179486A JP 2013179486 A JP2013179486 A JP 2013179486A JP 2012042396 A JP2012042396 A JP 2012042396A JP 2012042396 A JP2012042396 A JP 2012042396A JP 2013179486 A JP2013179486 A JP 2013179486A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- tcp
- received
- monitoring
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
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).
しかしながら、上述した従来技術では、無線基地局でのスヌープにおいて、全ての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.
前記した課題を解決するため、請求項1に記載の発明は、IPネットワーク上の2つの端末間で確立されたTCPセッションで送受信されるTCPパケットを監視するパケット監視装置であって、前記IPネットワーク上で送受信される前記TCPパケットが、いずれの前記TCPセッションで送受信されたものかを識別するパケットフロー識別部と、前記TCPセッションで所定時間内に送受信されるACKパケットの重複数が、所定の閾値を超えた場合に、前記TCPセッションを品質監視すべきと判定する品質監視判定部と、前記品質監視すべきと判定された前記TCPセッションごとに、前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行う品質監視部と、前記TCPパケットを送受信する前記TCPセッションが、前記キャッシュの要否判定においてキャッシュを要すると判定された場合に、前記TCPパケットのキャッシュを行い、再送要求を受信した場合に、前記キャッシュされたTCPパケットを再送するパケットキャッシュ部と、を備えることを特徴とするパケット監視装置とした。
In order to solve the above-mentioned problem, the invention according to
また、請求項4に記載の発明は、IPネットワーク上の2つの端末間で確立されたTCPセッションで送受信されるTCPパケットを監視するパケット監視装置のパケット監視方法であって、前記パケット監視装置が、前記IPネットワーク上で送受信される前記TCPパケットが、いずれの前記TCPセッションで送受信されたものかを識別するステップと、前記TCPセッションで所定時間内に送受信されるACKパケットの重複数が、所定の閾値を超えた場合に、前記TCPセッションを品質監視すべきと判定するステップと、前記品質監視すべきと判定された前記TCPセッションごとに、前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行うステップと、前記TCPパケットを送受信する前記TCPセッションが、前記キャッシュの要否判定においてキャッシュを要すると判定された場合に、前記TCPパケットのキャッシュを行い、再送要求を受信した場合に、前記キャッシュされたTCPパケットを再送するステップと、を実行することを特徴とするパケット監視方法とした。 The invention according to claim 4 is a packet monitoring method of a packet monitoring apparatus for monitoring a TCP packet transmitted and received in a TCP session established between two terminals on an IP network, wherein the packet monitoring apparatus A step of identifying in which TCP session the TCP packet transmitted / received on the IP network is transmitted / received, and a plurality of ACK packets transmitted / received in the TCP session within a predetermined time are predetermined A step of determining that the TCP session is to be quality monitored when a threshold value of the TCP packet is exceeded, and for each TCP session determined to be quality monitored, a cache of the TCP packet transmitted and received in the TCP session Determining whether it is necessary, and transmitting and receiving the TCP packet. P session caches the TCP packet when it is determined that the cache is required in the cache determination, and retransmits the cached TCP packet when a retransmission request is received. The packet monitoring method is characterized by being executed.
このようにすることで、パケット監視装置は、IPネットワークにおける個々のTCPセッションごとにパケットキャッシュの要否を判定して、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.
請求項2に記載の発明は、前記品質監視部は、前記TCPセッションで送受信されるパケットの重複数、パケットロス、パケットの遅着、および前記TCPセッションにおけるラウンドトリップタイム、の少なくとも1つに基づき、前記TCPセッションで送受信される前記TCPパケットのキャッシュを要すると判定することを特徴とする請求項1に記載のパケット監視装置とした。
According to a second aspect of the present invention, the quality monitoring unit is based on at least one of a duplication number of packets transmitted and received in the TCP session, a packet loss, a late arrival of the packet, and a round trip time in the TCP session. The packet monitoring apparatus according to
このようにすることで、パケットの重複数、パケットロス、パケットの遅着(パケットのシーケンス番号の順序逆転)、およびラウンドトリップタイムの少なくとも1つに基づき、改善効果が高いと推定されるTCPセッションに対してのみ、TCPパケットのキャッシュや再送を行うことができる。これにより、パケット監視装置のリソースを有効に活用できるとともに、データ送信端末からパケット監視装置までのトラヒックおよび装置負荷を削減することができる。 In this way, a TCP session that is estimated to have a high improvement effect based on at least one of packet duplication, packet loss, packet delay (reversal of sequence number of packets), and round trip time Only TCP packets can be cached and retransmitted. 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.
請求項3に記載の発明は、前記2つの端末が、サーバとクライアント端末であり、前記パケットの重複数、前記パケットロス、前記パケットの遅着数、および前記ラウンドトリップタイムに基づき、前記TCPセッションにおける劣化区間が、前記サーバと前記パケット監視装置との間の区間または前記クライアント端末と前記パケット監視装置との間のいずれであるかを判定し、前記劣化区間が前記サーバと前記パケット監視装置との間である場合は、前記TCPパケットのキャッシュを不要と判定し、前記劣化区間が前記クライアント端末と前記パケット監視装置との間である場合は前記TCPパケットのキャッシュを要すると判定する劣化区間判定部をさらに備えることを特徴とする請求項2に記載のパケット監視装置とした。
According to a third aspect of the present invention, the two terminals are a server and a client terminal, and the TCP session is based on the overlapping number of the packets, the packet loss, the number of late arrivals of the packet, and the round trip time. It is determined whether the degradation section in the section between the server and the packet monitoring apparatus or between the client terminal and the packet monitoring apparatus, and the degradation section is the server and the packet monitoring apparatus Is determined to determine that the TCP packet cache is unnecessary, and if the deterioration interval is between the client terminal and the packet monitoring device, it is determined that the TCP packet cache is required. The packet monitoring device according to
このようにすることで、IPネットワーク上の劣化発生区間に近いパケット監視装置でTCPパケットのキャッシュや再送を行うことができる。これにより、パケット監視装置とサーバ(データ送信端末)と間のトラヒックおよび装置負荷を削減することができる。また、クアイアント端末(データ受信端末)において再送データパケットを受信するまでの時間を短縮することができる。 In this way, 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 apparatus and the server (data transmission terminal) and the apparatus load can be reduced. Further, it is possible to shorten the time until the retransmission data packet is received at the client terminal (data receiving terminal).
請求項5に記載の発明は、請求項3に記載のパケット監視装置を複数備えるとともに、前記複数のパケット監視装置を管理する管理サーバを備え、IPネットワーク上のサーバ−クライアント端末間で確立されたTCPセッションで送受信されるTCPパケットを監視するパケット監視システムであって、前記パケット監視装置が、前記TCPセッションにおける前記劣化区間が前記サーバと当該パケット監視装置との間であると判定した場合に、前記TCPセッションを識別する識別情報を含む当該劣化区間の判定結果を前記管理サーバに送信し、前記劣化区間が前記クライアント端末と当該パケット監視装置との間であると判定した場合は自装置において前記TCPパケットのキャッシュを要すると判定し、前記管理サーバが、前記TCPパケットの通信経路上にあり、前記判定結果を送信したパケット監視装置よりも前記通信経路において上流となる前記サーバ側に位置するパケット監視装置を特定し、前記特定したサーバ側に位置するパケット監視装置に、前記判定結果を送信したパケット監視装置から受信した前記識別情報と、前記識別情報で識別される前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を要求するキャッシュ要否判定要求とを送信し、前記サーバ側に位置するパケット監視装置が、前記識別情報および前記キャッシュ要否判定要求を受信し、前記識別情報に示されるTCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行うことを特徴とするパケット監視システムとした。 The invention according to claim 5 comprises a plurality of packet monitoring devices according to claim 3 and a management server for managing the plurality of packet monitoring devices, and is established between a server and a client terminal on an IP network. A packet monitoring system that monitors TCP packets transmitted and received in a TCP session, wherein the packet monitoring device determines that the degradation section in the TCP session is between the server and the packet monitoring device. When the determination result of the degradation section including identification information for identifying the TCP 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, It is determined that a TCP packet cache is required, and the management server determines that the TC A packet monitoring device located on the server side that is located on the server side that is on the communication path of the packet and that is located upstream of the packet monitoring device that transmitted the determination result in the communication path. A cache necessity determination request for requesting a cache necessity determination of the TCP packet transmitted / received in the TCP session identified by the identification information and the identification information received from the packet monitoring apparatus that has transmitted the determination result. The packet monitoring device located on the server side receives the identification information and the cache necessity determination request, and whether or not the TCP packet is cached transmitted and received in the TCP session indicated by the identification information The packet monitoring system is characterized by performing the determination.
このようにすることで、IPネットワーク上の劣化発生区間に近いパケット監視装置でTCPパケットのキャッシュや再送を行うことができる。これにより、パケット監視装置とサーバと間のトラヒックおよび装置負荷を削減することができる。また、クライアント端末において再送データパケットを受信するまでの時間を短縮することができる。 In this way, 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 apparatus and the server and the apparatus 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.
以下に添付図面を参照して、本発明に係るパケット監視装置100、パケット監視方法およびパケット監視システム800の好適な実施の形態を詳細に説明する。
Exemplary embodiments of a
≪ネットワーク構成の概要≫
図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
パケット監視装置100は、IPネットワークのアクセス網側エッジに配備されており、IPネットワークのインターネット側(サーバ110側)にはゲートウェイ(GW)130が、アクセス網側(クライアント端末120側)にはエッジルータ140がそれぞれ配置されている。サーバ110とクライアント端末120との間のTCPセッションにおいて、パケット監視装置100とクライアント端末120との間(下流区間)を区間A、パケット監視装置100とサーバ110との間(上流区間)を区間Bとする。
The
≪パケット監視装置100の機能的構成≫
図2は、本実施の形態に係るパケット監視装置100の機能的構成を示すブロック図である。パケット監視装置100は、パケットフロー識別部201、品質監視判定部202、品質監視部203、劣化区間判定部204、パケットキャッシュ部205、テーブル記憶部211、データパケット情報テーブル記憶部212、および、パケットキャッシュ記憶部213を含んで構成される。
<< Functional Configuration of
FIG. 2 is a block diagram showing a functional configuration of the
パケットフロー識別部201は、IPネットワーク上で送受信されるTCPパケットが、いずれのTCPセッション(フロー)で送受信されたものかを識別する。また、パケットフロー識別部201は、受信したTCPパケットに対して行う実行処理(品質監視判定、品質監視、キャッシュ、監視中止)を選択し、該当する各機能部に出力する(なお、詳細は後記する図3参照)。
The packet
品質監視判定部202は、TCPセッション(フロー)で所定の時間内に送受信されるACKパケットの重複数をカウントし、所定の閾値を超えた場合に、当該TCPセッション(フロー)を品質監視すべきと判定する。
The quality
品質監視部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
劣化区間判定部204は、TCPセッションにおける劣化区間が、サーバ110とパケット監視装置100との間の区間(図1の区間B)またはクライアント端末120とパケット監視装置100との間の区間(図1の区間A)のいずれであるかを判定し、劣化区間がサーバ110とパケット監視装置100との間(図1の区間B)である場合は、TCPパケットのキャッシュを不要と判定し、劣化区間がクライアント端末120とパケット監視装置100との間(図1の区間A)である場合はTCPパケットのキャッシュを要すると判定する。
The degradation
パケットキャッシュ部205は、TCPパケットを送受信するTCPセッション(フロー)が、品質監視部203でTCPパケットのキャッシュを要すると判定されたTCPセッション(フロー)の場合、TCPパケットをキャッシュする。また、パケットキャッシュ部205は、キャッシュされたTCPパケットの再送要求を受信した場合、再送要求されたTCPパケットを再送する。
The
テーブル記憶部211には、監視フローテーブル400およびユーザ情報テーブル450が記憶され、パケットフロー識別部201、品質監視判定部202、品質監視部203、劣化区間判定部204、パケットキャッシュ部205のいずれからもアクセス可能である。データパケット情報テーブル記憶部212には、品質監視部203で使用するデータパケット情報テーブル500が記憶される。パケットキャッシュ記憶部213には、パケットキャッシュ部205によってパケットキャッシュが記憶される。
The
≪各機能部の詳細≫
次に、パケット監視装置100の各機能部の詳細について説明する。
≪Details of each functional part≫
Next, details of each functional unit of the
<パケットフロー識別部201>
図3は、本実施の形態に係るパケットフロー識別部201による処理を示すフローチャートである。また、図4は、本実施の形態に係る監視フローテーブル400のデータ構成の一例を示す図である。
図3のフローチャートにおいて、パケットフロー識別部201は、TCPパケットが入力されるまで待機して(ステップS301:No)、TCPパケットが入力されると(ステップS301:Yes)、テーブル記憶部211に記憶されている監視フローテーブル400を参照して、当該パケットが監視フローテーブル400に登録されているフローで送受信されたものであるか否かを判断する(ステップS302)。
<Packet
FIG. 3 is a flowchart showing processing by the packet
In the flowchart of FIG. 3, the packet
図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
フローID401は、監視フローテーブル400に登録されたフローを識別するIDである。サーバIPアドレス402は、当該フローにおいてTCPパケット(データパケット)の送信元となるサーバ110のIPアドレスである。端末IPアドレス403は、当該フローにおいてTCPパケット(データパケット)の送信先となるクライアント端末120のIPアドレスである。サーバポート番号404は、サーバ110のポート番号である。端末ポート番号405は、クライアント端末120のポート番号である。
The
また、MSS406は、当該フローにおける最大セグメントサイズである。アプリケーション識別番号407は、当該フローにおける通信を利用するアプリケーションの識別番号である。端末識別番号408は、クライアント端末120が複数ある場合に通信先のクライアント端末を識別する番号である。実行処理409は、当該フローのパケットに対して実行する処理内容である。
The
図3に戻り、パケットフロー識別部201は、図3のステップS301でパケットを受信すると(ステップS301:Yes)、そのヘッダ情報と図4に示す監視フローテーブル400の情報(例えば、サーバIPアドレス402、端末IPアドレス403、サーバポート番号404、端末ポート番号405など)とを照合して、一致するフローが登録されているかを判断する(図3のステップS302)。
Returning to FIG. 3, when the packet
フローが登録されている場合(ステップS302:Yes)、パケットフロー識別部201は、入力されたパケットのヘッダ情報内のフラグを参照して、当該フローの終了を検出したか否かを判断する(ステップS303)。具体的には、パケットフロー識別部201は、パケットのヘッダ情報内のフラグが、コネクション開放またはコネクション強制切断のいずれかを示しているかを判断する。フローの終了を検出した場合は(ステップS303:Yes)、ステップS311に移行して、監視対象テーブルから該当フローの情報を削除するとともに(ステップS311)、入力パケットをIPネットワーク上に出力して(ステップS312)、本フローチャートによる処理を終了する。
When the flow is registered (step S302: Yes), the packet
一方、フローの終了を検出しなかった場合は(ステップ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
実行処理409が「品質監視」の場合は(ステップS304:品質監視)、入力されたパケットを該当するフローID401の情報と共に品質監視部203に出力して(ステップS306)、本フローチャートによる処理を終了する。実行処理409が「キャッシュ」の場合は(ステップS304:キャッシュ)、入力されたパケットを該当するフローID401の情報と共にパケットキャッシュ部205に出力して(ステップS307)、本フローチャートによる処理を終了する。なお、ステップS306およびS307では、入力されたパケットがデータパケットおよびACKパケットのいずれであっても、出力を行う。また、実行処理409が「監視中止」の場合は、入力パケットをそのままIPネットワークに出力して(ステップS312)、本フローチャートによる処理を終了する。
When the
また、ステップ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
ここで、ユーザ情報テーブル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
新規フローが監視対象フローである場合(ステップ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
<品質監視判定部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
The quality
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
<品質監視部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」に設定される。
<
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
シーケンス番号501は、品質監視部203に入力されたデータパケットのシーケンス番号である。ACK番号502は、シーケンス番号501のデータパケットのACK番号である。データサイズ503は、データパケットのデータサイズである。ウィンドウサイズ504は、確認応答を待たずに送ることのできるデータ量である。パケット到着時刻505は、パケットの到着時刻である。RTT506は、品質監視部203がデータパケットを出力後、対応するACKパケットを受信するまでの時間である。
The
また、重複パケットカウンタ507は、データパケットの重複数をカウントするカウンタである。重複ACKカウンタ508は、シーケンス番号501のデータパケットに対応するACKパケットの重複数をカウントするカウンタである。データロスフラグ509は、データロスが発生したことを示すフラグである。遅着フラグ510はデータパケットの遅着(パケットのシーケンス番号の順序逆転)が発生したことを示すフラグである。RTTフラグ511は、RTTが所定閾値を超えたことを示すフラグである。
The
品質監視部203は、パケットフロー識別部201からTCPパケットが入力されると、その入力パケットを用いてデータパケット情報テーブル500(図5)を更新し、データパケット情報テーブル500のデータに基づきパケットキャッシュの要否判定を行う。入力パケットに対する処理は、データパケットかACKパケットかによって異なる。以下、入力パケットがデータパケットの場合の処理は図6、ACKパケットの場合の処理は図7を用いて、それぞれ説明する。
When the TCP packet is input from the packet
図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
同一パケットの情報が登録されている場合(ステップ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
続いて、品質監視部203は、データパケット情報テーブル500に保持されている情報(前回受信したデータパケットのシーケンス番号など)から、今回入力されるべきデータパケットのシーケンス番号E_SEQを算出し、実際に今回入力されたデータパケットのシーケンス番号SEQと比較する(ステップS606)。そして、SEQ>E_SEQの場合(ステップS606:SEQ>E_SEQ)、品質監視部203は、データパケットの損失が生じたものとして、今回到着したデータパケットについてのデータパケット情報テーブル500のデータロスフラグ509を「1」に設定する(ステップS607)。そして、品質監視部203は、データパケットをIPネットワークに出力して(ステップS609)、本フローチャートによる処理を終了する。
Subsequently, the
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
SEQ=E_SEQの場合(ステップS606:SEQ=E_SEQ)、正常にデータフローが機能しているものとして、品質監視部203は、データパケットを送信先のクライアント端末120に出力して(ステップS609)、本フローチャートによる処理を終了する。
In the case of SEQ = E_SEQ (step S606: SEQ = E_SEQ), the
図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
続いて、品質監視部203は、データパケット情報テーブル500を参照し、ACKパケットに対応するデータパケットの遅着フラグ510の値が「0」か否かを判断する(ステップS706)。
Subsequently, the
ここで、遅着フラグ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
一方、ステップS706において、遅着フラグ510の値が「0」でない場合(つまり「1」の場合)(ステップS705:No)、または、ステップS708において、RTTが所定の閾値以下の場合(ステップS708:No)、品質監視部203は、ACKパケットをIPネットワークに出力して(ステップS710)、本フローチャートによる処理を終了する。
On the other hand, if the value of the
そして、品質監視部203は、上記において説明した処理によりデータパケット情報テーブル500を更新した上で、所定の時間ごとに、データパケット情報テーブル500のデータに基づき、当該フローにおけるパケットキャッシュの要否判定を行う。なお、ここでのパケットキャッシュの要否判定は、パケットキャッシュを行うべきと判断する可能性が高いフローを抽出するための判定であり、最終的には、劣化区間判定部204による劣化区間判定結果に基づいてパケットキャッシュの要否が決定される。
Then, the
具体的には、品質監視部203は、所定の時間ごとに、データパケット情報テーブル500を参照し、例えば、以下に示す算出値が所定の閾値を超えた場合に、最終的にパケットキャッシュを行うべきと判断される可能性が高いものとして、劣化区間判定部204に対し、該当フロー(該当フローID401)の劣化区間判定要求を出力する。
Specifically, the
(1)[重複パケットカウンタ507の値が所定値を超えているデータパケット数]/[登録されているデータパケット数]
(2)[重複ACKカウンタ508の値が所定値を超えているデータパケット数]/[登録されているデータパケット数]
(3)[データロスフラグの合計値]/[登録されているデータパケット数]
(4)[遅着フラグの合計値]/[登録されているデータパケット数]
(5)[RTTフラグの合計値]/[登録されている遅着フラグが「0」のデータパケット数]
(1) [Number of data packets in which the value of the
(2) [Number of data packets in which the value of the
(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
<劣化区間判定部204>
劣化区間判定部204は、品質監視部203から劣化区間判定要求を受信すると、該当フロー(フローID)のデータパケット情報テーブル500に登録されているデータから、通信の劣化区間がパケット監視装置100の下流(図1の区間A)および上流(図1の区間B)のいずれであるかを判定する。劣化区間判定部204は、劣化区間を「下流」と判定した場合は、監視フローテーブル400の実行処理409を「キャッシュ」に設定する。一方、劣化区間を「上流」と判定した場合は、監視フローテーブル400の実行処理409を「監視中止」に設定する。劣化区間判定処理が終了すると、劣化区間判定部204は、データパケット情報テーブル500から該当フローのパケット情報を削除して、処理を終了する。
<Deterioration
When receiving the degradation segment determination request from the
この劣化区間判定部204による通信劣化区間の判定は、例えば、該当フロー(フローID401)のデータパケット情報テーブル500(図5)について、下記の(Na)〜(Nd)を算出して比較することにより、劣化区間を判定する。
The determination of the communication deterioration section by the deterioration
・(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) =
そして、劣化区間判定部204は、(Na)〜(Nd)を算出し、以下の(式1)に基づき、劣化区間の判定を行う。なお、α、βは係数である。
And the degradation
ここで、(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
In (Nc), since the
Contrary to (Nc), (Nd) is a value for estimating the occurrence of downstream deterioration because the
劣化区間判定部204は、例えば、この(式1)を劣化区間判定に用いて、(式1)が成立するときに、上流(区間B)で劣化と判定し、(式1)が不成立のときに、下流(区間A)で劣化と判定する。
For example, the degradation
<パケットキャッシュ部205>
パケットキャッシュ部205は、パケットフロー識別部201から入力されたパケットがデータパケットである場合には、当該データパケットがパケットキャッシュ記憶部213にキャッシュされているか否かを判断する。当該データパケットがすでにキャッシュされている場合、パケットキャッシュ部205は、当該データパケットのキャッシュは行わず、IPネットワークへ当該データパケットを出力する。一方、当該データパケットがキャッシュされていない場合、パケットキャッシュ部205は、パケットキャッシュ記憶部213に当該データパケットをキャッシュした後、IPネットワークへ当該データパケットを出力する。
<
When the packet input from the packet
また、パケットキャッシュ部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
一方、入力された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
また、パケットキャッシュ部205は、所定時間内に重複ACKパケットが検出されないフローについては、監視フローテーブル400の実行処理409を「品質監視判定」に設定する。これにより、フローの劣化要因が解決した場合にはTCPパケットのキャッシュを終了することができる。
Further, the
≪複数のパケット監視装置100を用いたパケット監視システム800の一例≫
本実施の形態に係るパケット監視装置100を複数配置することによって、より効率的にパケットのキャッシュおよび再送を行うことが可能となる。以下に、パケット監視装置100を複数配置したパケット監視システム800の一例を示す。
<< Example of Packet Monitoring System 800 Using Multiple
By arranging a plurality of
図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
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 (
まず、パケット監視システム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
一方、劣化区間が「上流」(図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
管理サーバ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
管理サーバ830からのキャッシュ要否判定要求を受けたパケット監視装置810は、TCPパケットが入力されると監視フローテーブル400を参照して品質監視を実施する。パケット監視装置810の劣化区間判定部204で劣化区間を「下流」(図8の区間D)と判定した場合は、監視フローテーブル400の実行処理409を「キャッシュ」に設定し、データパケットのキャッシュ、ロスパケットの再送、重複ACKパケットの削除などをパケット監視装置810で適宜行うとともに、劣化区間判定結果を管理サーバ830へ送信する。一方、劣化区間を「上流」(図8の区間E)と判定した場合は、監視フローテーブル400の実行処理409を「監視中止」に設定して、該当フローの識別情報と劣化区間判定結果を管理サーバ830へ送信する。
The
管理サーバ830は、パケット監視装置810から受信した劣化区間判定結果が「上流」(図8の区間E)の場合は、パケット監視装置810の監視フローテーブル400から該当フローの情報を削除するように要請する。一方、劣化区間が「下流」(図8の区間D)の場合、管理サーバ830は、パケット監視装置820の監視フローテーブル400から該当フローの情報を削除するように要請する。
When the degradation section determination result received from the
このように、パケット監視システム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
以上説明したように、実施の形態に係るパケット監視装置100によれば、IPネットワークにおける個々のTCPセッション(フロー)ごとにパケットキャッシュの要否を判定して、スヌープ(データパケットのキャッシュ、ロスパケットの再送、重複ACKの適宜削除など)を行うことができる。これにより、パケットキャッシュの必要がないTCPセッションのパケットをキャッシュする必要がなくなり、キャッシュに要するメモリを削減することができる。また、パケット監視装置100がIPネットワーク上で監視を行うことによって、端末側装置(サーバ110やクライアント端末120)を改変することなく、TCP輻輳制御によるデータ転送速度の低下を回避することができる。
As described above, the
また、パケット監視装置100によれば、パケットの重複数、パケットロス、パケットの遅着数、およびラウンドトリップタイムに基づき、改善効果が高いと推定されるフローにおいてのみ、スヌープを行う。また、劣化区間を判定することにより、パケットキャッシュの必要がないTCPセッションのパケットをキャッシュする必要をなくすことができる。これにより、パケット監視装置100のリソースを有効に活用できるとともに、サーバ110からパケット監視装置100までのトラヒックおよび装置負荷を削減することができる。
Further, according to the
また、パケット監視装置100によれば、キャッシュ要否判定に先立って、比較的処理量の少ない重複ACK監視のみを実施し、パケットロスが多く発生しているフローのみキャッシュ要否判定を行う。これにより、パケット監視装置100のリソースを有効に活用することができる。
Further, according to the
なお、本実施の形態においては、アクセス網側エッジにパケット監視装置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
100,810,820 パケット監視装置
110 サーバ
120 クライアント端末
130 ゲートウェイ(GW)
140 エッジルータ
201 パケットフロー識別部
202 品質監視判定部
203 品質監視部
204 劣化区間判定部
205 パケットキャッシュ部
211 テーブル記憶部
212 データパケット情報テーブル記憶部
213 パケットキャッシュ記憶部
400 監視フローテーブル
450 ユーザ情報テーブル
500 データパケット情報テーブル
830 管理サーバ
100, 810, 820
140
Claims (5)
前記IPネットワーク上で送受信される前記TCPパケットが、いずれの前記TCPセッションで送受信されたものかを識別するパケットフロー識別部と、
前記TCPセッションで所定時間内に送受信されるACKパケットの重複数が、所定の閾値を超えた場合に、前記TCPセッションを品質監視すべきと判定する品質監視判定部と、
前記品質監視すべきと判定された前記TCPセッションごとに、前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行う品質監視部と、
前記TCPパケットを送受信する前記TCPセッションが、前記キャッシュの要否判定においてキャッシュを要すると判定された場合に、前記TCPパケットのキャッシュを行い、再送要求を受信した場合に、前記キャッシュされたTCPパケットを再送するパケットキャッシュ部と、
を備えることを特徴とするパケット監視装置。 A packet monitoring device that monitors TCP packets transmitted and received in a TCP session established between two terminals on an IP network,
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;
A quality monitoring unit that determines whether or not the TCP packet to be transmitted / received in the TCP session is necessary for each of the TCP sessions determined to be monitored.
When the TCP session for transmitting / receiving the TCP packet is determined to require caching in the cache necessity determination, the TCP packet is cached, and when the retransmission request is received, the cached TCP packet is cached. A packet cache unit for retransmitting
A packet monitoring device comprising:
前記パケットの重複数、前記パケットロス、前記パケットの遅着数、および前記ラウンドトリップタイムに基づき、前記TCPセッションにおける劣化区間が、前記サーバと前記パケット監視装置との間の区間または前記クライアント端末と前記パケット監視装置との間のいずれであるかを判定し、前記劣化区間が前記サーバと前記パケット監視装置との間である場合は、前記TCPパケットのキャッシュを不要と判定し、前記劣化区間が前記クライアント端末と前記パケット監視装置との間である場合は前記TCPパケットのキャッシュを要すると判定する劣化区間判定部を
さらに備えることを特徴とする請求項2に記載のパケット監視装置。 The two terminals are a server and a client terminal,
Based on the duplication number of the packet, the packet loss, the number of late arrivals 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. 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 packet monitoring device according to claim 2, further comprising a degradation section determination unit that determines that the TCP packet needs to be cached between the client terminal and the packet monitoring device.
前記パケット監視装置は、
前記IPネットワーク上で送受信される前記TCPパケットが、いずれの前記TCPセッションで送受信されたものかを識別するステップと、
前記TCPセッションで所定時間内に送受信されるACKパケットの重複数が、所定の閾値を超えた場合に、前記TCPセッションを品質監視すべきと判定するステップと、
前記品質監視すべきと判定された前記TCPセッションごとに、前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行うステップと、
前記TCPパケットを送受信する前記TCPセッションが、前記キャッシュの要否判定においてキャッシュを要すると判定された場合に、前記TCPパケットのキャッシュを行い、再送要求を受信した場合に、前記キャッシュされたTCPパケットを再送するステップと、
を実行することを特徴とするパケット監視方法。 A packet monitoring method of a packet monitoring device for monitoring a TCP packet transmitted and received in a TCP session established between two terminals on an IP network,
The packet monitoring device includes:
Identifying in which TCP session the TCP packet transmitted / received on the IP network was transmitted / received;
Determining that the quality of the TCP session should be monitored when the overlap 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, determining whether or not it is necessary to cache the TCP packet transmitted and received in the TCP session;
When the TCP session for transmitting / receiving the TCP packet is determined to require caching in the cache necessity determination, the TCP packet is cached, and when the retransmission request is received, the cached TCP packet is cached. Re-sending
The packet monitoring method characterized by performing.
前記パケット監視装置は、
前記TCPセッションにおける前記劣化区間が前記サーバと当該パケット監視装置との間であると判定した場合に、前記TCPセッションを識別する識別情報を含む当該劣化区間の判定結果を前記管理サーバに送信し、前記劣化区間が前記クライアント端末と当該パケット監視装置との間であると判定した場合は自装置において前記TCPパケットのキャッシュを要すると判定し、
前記管理サーバは、
前記TCPパケットの通信経路上にあり、前記判定結果を送信したパケット監視装置よりも前記通信経路において上流となる前記サーバ側に位置するパケット監視装置を特定し、
前記特定したサーバ側に位置するパケット監視装置に、前記判定結果を送信したパケット監視装置から受信した前記識別情報と、前記識別情報で識別される前記TCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を要求するキャッシュ要否判定要求とを送信し、
前記サーバ側に位置するパケット監視装置は、
前記識別情報および前記キャッシュ要否判定要求を受信し、前記識別情報に示されるTCPセッションで送受信される前記TCPパケットのキャッシュの要否判定を行うこと
を特徴とするパケット監視システム。 A plurality of packet monitoring devices according to claim 3, a management server that manages the plurality of packet monitoring devices, and a TCP packet transmitted and received in a TCP session established between a server and a client terminal on an IP network A packet monitoring system for monitoring,
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 section is between the client terminal and the packet monitoring device, it is determined 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.
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 true JP2013179486A (en) | 2013-09-09 |
JP5723307B2 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015108959A (en) * | 2013-12-04 | 2015-06-11 | Kddi株式会社 | Communication device storing transferred content, server device and program |
JP2017538335A (en) * | 2014-10-30 | 2017-12-21 | 中国科学院声学研究所Institute Of Acoustics, Chinese Academy Of Sciences | TCP man-in-the-middle processing method in a mode without protocol stack |
CN112491871A (en) * | 2020-11-25 | 2021-03-12 | 北京宝兰德软件股份有限公司 | TCP (Transmission control protocol) recombination method and device, electronic equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117974A1 (en) * | 2001-12-26 | 2003-06-26 | Lg Electronics Inc. | TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof |
JP2006287331A (en) * | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | Congestion control network repeating device and method |
WO2011088899A1 (en) * | 2010-01-22 | 2011-07-28 | Telefonaktiebolaget L M Ericsson (Publ) | Selective caching in a packet network and packet loss repair using selective caching |
-
2012
- 2012-02-28 JP JP2012042396A patent/JP5723307B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030117974A1 (en) * | 2001-12-26 | 2003-06-26 | Lg Electronics Inc. | TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof |
JP2006287331A (en) * | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | Congestion control network repeating device and method |
WO2011088899A1 (en) * | 2010-01-22 | 2011-07-28 | Telefonaktiebolaget L M Ericsson (Publ) | Selective caching in a packet network and packet loss repair using selective caching |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015108959A (en) * | 2013-12-04 | 2015-06-11 | Kddi株式会社 | Communication device storing transferred content, server device and program |
JP2017538335A (en) * | 2014-10-30 | 2017-12-21 | 中国科学院声学研究所Institute Of Acoustics, Chinese Academy Of Sciences | TCP man-in-the-middle processing method in a mode without protocol stack |
CN112491871A (en) * | 2020-11-25 | 2021-03-12 | 北京宝兰德软件股份有限公司 | TCP (Transmission control protocol) recombination method and device, electronic equipment and storage medium |
CN112491871B (en) * | 2020-11-25 | 2023-07-28 | 北京宝兰德软件股份有限公司 | TCP reorganization method, TCP reorganization device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5723307B2 (en) | 2015-05-27 |
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 | |
CN102006283B (en) | Data transmission method and device | |
US9867068B2 (en) | Wirespeed TCP session optimization for networks having radio segments | |
US8085669B2 (en) | Session relay device and session relay method | |
JPWO2008023656A1 (en) | Communication device | |
JP2014524092A (en) | System and method for reliable virtual bidirectional data stream communication with single socket point-to-multipoint performance | |
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 | |
CN103944691A (en) | Data retransmission method and access network gateway in collaborative business transmission | |
CN110602568B (en) | Video stream transmission packet loss retransmission method, device and storage device based on RTP | |
JP5723307B2 (en) | Packet monitoring system | |
JP2014192811A (en) | Relay device and communication method | |
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 | |
KR100919056B1 (en) | Apparatus and method for optimizing a report-time in a mobile communication system | |
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 | |
JP4832483B2 (en) | Mobile communication system and mobile communication method | |
US20030065736A1 (en) | System, method, and apparatus for preventing data packet overflow at plurality of nodes in wireless packet data services network |
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 |