JP2017034627A - System and method for communication control - Google Patents

System and method for communication control Download PDF

Info

Publication number
JP2017034627A
JP2017034627A JP2015156000A JP2015156000A JP2017034627A JP 2017034627 A JP2017034627 A JP 2017034627A JP 2015156000 A JP2015156000 A JP 2015156000A JP 2015156000 A JP2015156000 A JP 2015156000A JP 2017034627 A JP2017034627 A JP 2017034627A
Authority
JP
Japan
Prior art keywords
packet
buffer
unit
syn
server
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.)
Pending
Application number
JP2015156000A
Other languages
Japanese (ja)
Inventor
明寛 木村
Akihiro Kimura
明寛 木村
太三 山本
Taizo Yamamoto
太三 山本
裕史 山崎
Yasushi Yamazaki
裕史 山崎
亜希 福岡
Aki Fukuoka
亜希 福岡
幸司 杉園
Koji Sugisono
幸司 杉園
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 JP2015156000A priority Critical patent/JP2017034627A/en
Publication of JP2017034627A publication Critical patent/JP2017034627A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To suppress a decreased number of connections per unit time caused by the retransmission of a SYN packet.SOLUTION: A communication control system includes a receiver unit, a packet identification unit, a transmitter unit and a buffer management unit. The communication control system controls communication between an information processing device and a server to establish a connection in a network using TCP (Transmission Control Protocol). The receiver unit receives a packet exchanged between the information processing device and the server. The packet identification unit distributes, to each buffer, SYN (Synchronization) packets, transmitted from the information processing device to the server, among received packets. The transmitter unit transmits the SYN packet stored in the buffer to the server at a predetermined transmission rate. When the received packet satisfies a predetermined condition, the buffer management unit discards the SYN packet which is stored in the buffer or a received packet.SELECTED DRAWING: Figure 2

Description

本発明は、通信制御システムおよび通信制御方法に関する。   The present invention relates to a communication control system and a communication control method.

TCP(Transmission Control Protocol)を用いた情報通信が広く利用されている。TCPを利用して、ユーザ端末とアプリケーション(APL)サーバとの間で通信を実行する際には、通常、スリーウェイハンドシェイクと呼ばれる処理が実行される。スリーウェイハンドシェイクにおいては、まず、一方の情報処理装置が他方の情報処理装置に通信接続(コネクション)の確立を要求するSYN(Synchronization)パケットを送信する。他方の情報処理装置は、SYNパケットに応じて接続を許可するためSYN−ACK(Acknowledgement)パケットを送信する。SYN−ACKパケットを受信した一方の情報処理装置が接続開始を示すACKパケットを送信する。これで、TCPを用いた通信が開始する。   Information communication using TCP (Transmission Control Protocol) is widely used. When communication is performed between a user terminal and an application (APL) server using TCP, a process called a three-way handshake is usually executed. In the three-way handshake, first, one information processing apparatus transmits a SYN (Synchronization) packet requesting establishment of a communication connection (connection) to the other information processing apparatus. The other information processing apparatus transmits a SYN-ACK (Acknowledgement) packet to permit connection in accordance with the SYN packet. One information processing apparatus that has received the SYN-ACK packet transmits an ACK packet indicating the start of connection. This starts communication using TCP.

木村 明寛、西山 聡史、大坂 健、工藤 伊知郎、「IoTサービス提供のためのサーバ数を削減するNW機能の提案」、信学技報、pp. 379-384Akihiro Kimura, Atsushi Nishiyama, Ken Osaka, Ichiro Kudo, “Proposal of NW function to reduce the number of servers for IoT service provision”, IEICE Technical Report, pp. 379-384 V. Paxson, M. Allman, J. Chu & M. Sargent, “Computing TCP’s Retransmission Timer”, Internet Engineering Task Force (IETF), 2011V. Paxson, M. Allman, J. Chu & M. Sargent, “Computing TCP ’s Retransmission Timer”, Internet Engineering Task Force (IETF), 2011

ところで、コネクションの確立を要求するSYNパケットの送信元は、所定期間にわたってSYNパケットに応答するSYN−ACKパケットを受信しない場合、SYNパケットを再送する。送信元は、SYN−ACKパケットを受信するまで、又は、所定の回数再送するまで、所定の間隔で繰り返しSYNパケットを再送する。   By the way, when the transmission source of the SYN packet requesting establishment of the connection does not receive the SYN-ACK packet responding to the SYN packet for a predetermined period, the SYN packet is retransmitted. The transmission source retransmits the SYN packet repeatedly at a predetermined interval until it receives a SYN-ACK packet or retransmits it a predetermined number of times.

複数のユーザ端末との間で通信を実行するAPLサーバに対して、複数のユーザ端末から繰り返しSYNパケットが再送されると、送信されるパケット中に占める再送パケットの割合が高くなる。このような場合、APLサーバがユーザ端末との間で確立できる単位時間当たりのコネクション数が減少する場合がある。   When a SYN packet is repeatedly retransmitted from a plurality of user terminals to an APL server that performs communication with a plurality of user terminals, the ratio of the retransmitted packets in the transmitted packets increases. In such a case, the number of connections per unit time that the APL server can establish with the user terminal may decrease.

開示の実施形態は、上記に鑑みてなされたものであり、SYNパケットの再送による、単位時間当たりのコネクション数の減少を抑制することができる通信制御システムおよび通信制御方法を提供することを目的とする。   An embodiment of the disclosure has been made in view of the above, and an object thereof is to provide a communication control system and a communication control method capable of suppressing a decrease in the number of connections per unit time due to retransmission of a SYN packet. To do.

開示する通信制御システムおよび通信制御方法は、ネットワーク上でTCPを用いてコネクションを確立する情報処理装置とサーバとの間の通信を制御する。受信部は、情報処理装置とサーバとの間で送受信されるパケットを受信する。パケット識別部は、受信するパケットのうち、情報処理装置からサーバへ送信されるSYNパケットをバッファに振り分ける。送信部は、バッファに格納されるSYNパケットを所定の送信レートでサーバに送信する。バッファ管理部は、受信したパケットが所定の条件を満たす場合に、バッファに格納されるSYNパケットまたは受信したパケットを破棄する。   The disclosed communication control system and communication control method control communication between an information processing apparatus and a server that establish a connection using TCP on a network. The receiving unit receives a packet transmitted / received between the information processing apparatus and the server. The packet identification unit distributes SYN packets transmitted from the information processing apparatus to the server among the received packets. The transmission unit transmits the SYN packet stored in the buffer to the server at a predetermined transmission rate. The buffer management unit discards the SYN packet or the received packet stored in the buffer when the received packet satisfies a predetermined condition.

開示する通信制御システムおよび通信制御方法は、SYNパケットの再送による、単位時間当たりのコネクション数の減少を抑制することができるという効果を奏する。   The communication control system and the communication control method disclosed have an effect of suppressing a decrease in the number of connections per unit time due to retransmission of SYN packets.

図1は、第1の実施形態に係る通信制御システムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a communication control system according to the first embodiment. 図2は、第1の実施形態に係る通信制御装置の構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of the communication control apparatus according to the first embodiment. 図3は、第1の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。FIG. 3 is a flowchart illustrating an example of a process flow in the communication control system according to the first embodiment. 図4は、第2の実施形態に係る通信制御装置の構成の一例を示す図である。FIG. 4 is a diagram illustrating an example of the configuration of the communication control apparatus according to the second embodiment. 図5は、第2の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。FIG. 5 is a flowchart illustrating an example of a process flow in the communication control system according to the second embodiment. 図6は、第3の実施形態に係る通信制御装置の構成の一例を示す図である。FIG. 6 is a diagram illustrating an example of the configuration of the communication control apparatus according to the third embodiment. 図7は、第3の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。FIG. 7 is a flowchart illustrating an example of a process flow in the communication control system according to the third embodiment. 図8は、第4の実施形態に係る通信制御装置の構成の一例を示す図である。FIG. 8 is a diagram illustrating an example of the configuration of the communication control apparatus according to the fourth embodiment. 図9は、第4の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of a processing flow in the communication control system according to the fourth embodiment. 図10は、第5の実施形態に係る通信制御処理の前提となるSYNパケットの再送間隔について説明するための図である。FIG. 10 is a diagram for explaining a retransmission interval of a SYN packet, which is a premise of the communication control process according to the fifth embodiment. 図11は、第5の実施形態に係る通信制御装置の構成の一例を示す図である。FIG. 11 is a diagram illustrating an example of a configuration of a communication control apparatus according to the fifth embodiment. 図12は、第5の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。FIG. 12 is a flowchart illustrating an example of a process flow in the communication control system according to the fifth embodiment. 図13は、第6の実施形態に係る通信制御装置の構成の一例を示す図である。FIG. 13 is a diagram illustrating an example of the configuration of the communication control apparatus according to the sixth embodiment. 図14は、第6の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。FIG. 14 is a flowchart illustrating an example of a processing flow in the communication control system according to the sixth embodiment. 図15は、第6の実施形態に係る通信制御処理において、受信レートが閾値を超えるタイミングを予測する手法について説明するための図である。FIG. 15 is a diagram for explaining a technique for predicting the timing at which the reception rate exceeds the threshold in the communication control process according to the sixth embodiment. 図16は、第6の実施形態に係る通信制御処理において、閾値を設定する手法について説明するための図である。FIG. 16 is a diagram for explaining a method for setting a threshold in the communication control process according to the sixth embodiment. 図17は、各実施形態に係る通信制御装置の機能を複数の装置上に実装する例を説明するための図である。FIG. 17 is a diagram for explaining an example in which the function of the communication control device according to each embodiment is mounted on a plurality of devices. 図18は、ユーザ端末からAPLサーバにSYNパケットが送信される場合の処理の例を説明するための図である。FIG. 18 is a diagram for explaining an example of processing when a SYN packet is transmitted from the user terminal to the APL server. 図19は、ユーザ端末からAPLサーバにSYNパケットが再送される場合の処理の例を説明するための図である。FIG. 19 is a diagram for explaining an example of processing when a SYN packet is retransmitted from the user terminal to the APL server. 図20は、通信制御プログラムを実行するコンピュータを示す図である。FIG. 20 is a diagram illustrating a computer that executes a communication control program.

以下に、開示するシステムおよび方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、各実施形態は適宜組み合わせることができる。   In the following, embodiments of the disclosed system and method will be described in detail based on the drawings. In addition, this invention is not limited by this embodiment. Moreover, each embodiment can be combined suitably.

(既存の手法によるSYNパケット再送処理の一例)
まず、図18および図19を参照し、実施形態に係る通信制御システム及び通信制御方法の前提として、従来のTCPを用いたコネクションの確立処理について説明する。図18は、ユーザ端末からAPLサーバにSYNパケットが送信される場合の処理の例を説明するための図である。また、図19は、ユーザ端末からAPLサーバにSYNパケットが再送される場合の処理の例を説明するための図である。
(An example of SYN packet retransmission processing by an existing method)
First, with reference to FIG. 18 and FIG. 19, a connection establishment process using the conventional TCP will be described as a premise of the communication control system and the communication control method according to the embodiment. FIG. 18 is a diagram for explaining an example of processing when a SYN packet is transmitted from the user terminal to the APL server. FIG. 19 is a diagram for explaining an example of processing when a SYN packet is retransmitted from the user terminal to the APL server.

図18の例では、ネットワークAを介してユーザ端末1〜4が、APLサーバ5と接続される。また、ユーザ端末1〜4とAPLサーバ5との間には、転送装置6、バッファ7および送信レート制御装置8が接続されている。   In the example of FIG. 18, user terminals 1 to 4 are connected to the APL server 5 via the network A. Further, a transfer device 6, a buffer 7 and a transmission rate control device 8 are connected between the user terminals 1 to 4 and the APL server 5.

ユーザ端末1〜4は、それぞれネットワークAを介してAPLサーバ5と通信を開始するに当たり、まずコネクションを確立するためにSYNパケットを送信する。APLサーバ5は、SYNパケットに対する応答確認としてACKパケットを送り返す。ユーザ端末1〜4は、ACKパケットを受信すると、コネクションが確立したものとみなし、受信したACKパケットに対する応答としてACKパケットをAPLサーバ5に送信する。また、ユーザ端末1〜4は、APLサーバ5に対してAPL層パケットを送信する。図18中、ユーザ端末nが送信するSYNパケットはSYN(n)と表示する。また、ユーザ端末nが送信するACKパケットはACK(n)と表示する。また、ユーザ端末nが送信するAPL層パケットはAPL(n)と表示する。   When each of the user terminals 1 to 4 starts communication with the APL server 5 via the network A, it first transmits a SYN packet to establish a connection. The APL server 5 sends back an ACK packet as a response confirmation for the SYN packet. When receiving the ACK packet, the user terminals 1 to 4 consider that the connection has been established, and transmit the ACK packet to the APL server 5 as a response to the received ACK packet. In addition, the user terminals 1 to 4 transmit APL layer packets to the APL server 5. In FIG. 18, the SYN packet transmitted from the user terminal n is displayed as SYN (n). An ACK packet transmitted by user terminal n is displayed as ACK (n). The APL layer packet transmitted by the user terminal n is displayed as APL (n).

送信されるSYNパケットには各々、シーケンス番号が付与される。たとえば、ユーザ端末1が送信するSYNパケットにはシーケンス番号「1」が付与される。シーケンス番号「1」のSYNパケットに応答してAPLサーバ5が送信する確認応答であるACKパケットのシーケンス番号も「1」となる。   A sequence number is assigned to each transmitted SYN packet. For example, the sequence number “1” is assigned to the SYN packet transmitted by the user terminal 1. The sequence number of the ACK packet, which is an acknowledgment transmitted by the APL server 5 in response to the SYN packet with the sequence number “1”, is also “1”.

転送装置6は、ユーザ端末1〜4が送信するパケットを受信し、SYNパケットを抽出してバッファ7に格納する。転送装置6は、SYNパケット以外のパケットたとえばAPL層パケットやACKパケットはバッファ7に格納せずにそのままAPLサーバ5に送信する。   The transfer device 6 receives packets transmitted from the user terminals 1 to 4, extracts SYN packets, and stores them in the buffer 7. The transfer device 6 transmits packets other than the SYN packet, for example, APL layer packets and ACK packets to the APL server 5 without storing them in the buffer 7.

バッファ7は、FIFO(First In First Out)メモリである。バッファ7に格納されたSYNパケットは、送信レート制御装置8によって所定の送信レートでバッファ7からAPLサーバ5に送信される。   The buffer 7 is a FIFO (First In First Out) memory. The SYN packet stored in the buffer 7 is transmitted from the buffer 7 to the APL server 5 by the transmission rate control device 8 at a predetermined transmission rate.

ユーザ端末1〜4は、SYNパケットを送信した後、所定時間が経過してもSYNパケットに応答するACKパケットを受信しない場合、SYNパケットを再送する。TCPにおいてSYNパケットを再送する再送間隔の初期値は、各ユーザ端末の実装に依存して決定される。たとえば、Windows(登録商標)系のオペレーションシステム(OS)であれば3秒、Linux(登録商標)系のOSであれば1秒である。2回目以降の再送間隔はRFC(Request for Comments)に規定されるTCPの再送アルゴリズムに従って設定される。2回目以降の再送間隔はたとえば、前の再送間隔の2倍に設定される。転送装置6は、初回のSYNパケットと再送パケットとを区別せず、すべてバッファ7に振り分ける。   If the user terminals 1 to 4 do not receive an ACK packet in response to the SYN packet even after a predetermined time has elapsed after transmitting the SYN packet, the user terminals 1 to 4 retransmit the SYN packet. The initial value of the retransmission interval for retransmitting a SYN packet in TCP is determined depending on the implementation of each user terminal. For example, it is 3 seconds for a Windows (registered trademark) operating system (OS) and 1 second for a Linux (registered trademark) OS. The second and subsequent retransmission intervals are set according to a TCP retransmission algorithm defined in RFC (Request for Comments). The second and subsequent retransmission intervals are set to, for example, twice the previous retransmission interval. The transfer device 6 distributes all of the initial SYN packets and retransmission packets to the buffer 7 without distinguishing them.

APLサーバ5は、SYNパケットを受信すると、確立済みのコネクション数が予め定めた上限に達していない場合、APL層パケット処理用のリソースを確保して、ACKパケットを送信する。APLサーバ5は、確立済みのコネクション数が予め定めた上限に達している場合、SYNパケットを破棄し、ACKパケットは送信しない。   When the APL server 5 receives the SYN packet, if the number of established connections has not reached the predetermined upper limit, the APL server 5 secures resources for APL layer packet processing and transmits an ACK packet. When the number of established connections reaches a predetermined upper limit, the APL server 5 discards the SYN packet and does not transmit an ACK packet.

図19の例では、ユーザ端末2がSYNパケット(SYN(2))を送信しているが、APLサーバ5には到達していない。ユーザ端末2はSYNパケット(SYN(2))に応答するACKパケットを未受信であるため、所定時間が経過すると、SYNパケットを再送する。再送されるSYNパケットは、転送装置6によってバッファ7に振り分けられる。バッファ7に振り分けられたSYNパケットは送信レート制御装置8の制御のもと、所定の送信レートでAPLサーバ5に送信される。このため、ユーザ端末1〜4のそれぞれから同様のタイミングでSYNパケットが送信されると、所定時間内にAPLサーバ5から応答するACKパケットを受信しないユーザ端末がでてくる。バッファ7からの送信レートは一定であるため、ACKパケットを未受信のユーザ端末から再送されるSYNパケットがバッファ7内のSYNパケットに占める割合が増加していく。結果的に、単位時間当たりにAPLサーバ5が受信する初回送信分のSYNパケットの数が減少する。   In the example of FIG. 19, the user terminal 2 transmits a SYN packet (SYN (2)), but does not reach the APL server 5. Since the user terminal 2 has not received the ACK packet in response to the SYN packet (SYN (2)), the user terminal 2 retransmits the SYN packet when a predetermined time has elapsed. The retransmitted SYN packet is distributed to the buffer 7 by the transfer device 6. The SYN packet distributed to the buffer 7 is transmitted to the APL server 5 at a predetermined transmission rate under the control of the transmission rate control device 8. For this reason, when a SYN packet is transmitted from each of the user terminals 1 to 4 at the same timing, a user terminal that does not receive an ACK packet responding from the APL server 5 appears within a predetermined time. Since the transmission rate from the buffer 7 is constant, the ratio of the SYN packet retransmitted from the user terminal that has not received the ACK packet to the SYN packet in the buffer 7 increases. As a result, the number of SYN packets for the first transmission received by the APL server 5 per unit time decreases.

APLサーバ5は、受信したSYNパケットのシーケンス番号をチェックする。そして、同一のシーケンス番号をもつACKパケットを送信済みである場合、APLサーバ5は、受信したSYNパケットを破棄する。APLサーバ5が受信するSYNパケットに占める再送パケットの割合が増加すると、単位時間当たりに確立されるユーザ端末1〜4とAPLサーバ5間に確立されるコネクション数が減少する。   The APL server 5 checks the sequence number of the received SYN packet. If the ACK packet having the same sequence number has already been transmitted, the APL server 5 discards the received SYN packet. When the ratio of retransmission packets in the SYN packets received by the APL server 5 increases, the number of connections established between the user terminals 1 to 4 and the APL server 5 established per unit time decreases.

(第1の実施形態)
図1は、第1の実施形態に係る通信制御システムの構成の一例を示す図である。第1の実施形態に係る通信制御システム1Aにおいては、通信制御装置10は、情報処理装置20A,20B,20C,20Dおよびゲートウェイ30と、ネットワーク40を介して接続される。情報処理装置20B,20C,20Dは、ゲートウェイ30およびネットワーク40を介して通信制御装置10と接続される。また、通信制御装置10は、サーバ50とネットワーク60を介して接続される。なお、図1に示す構成は一例にすぎず、通信制御装置10が、情報処理装置20A,20B,20C,20Dとサーバ50とを接続するネットワーク上に配置されればよく、具体的な構成や各装置の数は特に限定されない。
(First embodiment)
FIG. 1 is a diagram illustrating an example of a configuration of a communication control system according to the first embodiment. In the communication control system 1A according to the first embodiment, the communication control apparatus 10 is connected to the information processing apparatuses 20A, 20B, 20C, and 20D and the gateway 30 via the network 40. The information processing devices 20B, 20C, and 20D are connected to the communication control device 10 via the gateway 30 and the network 40. The communication control apparatus 10 is connected to the server 50 via the network 60. The configuration illustrated in FIG. 1 is merely an example, and the communication control device 10 may be disposed on a network that connects the information processing devices 20A, 20B, 20C, and 20D and the server 50. The number of each device is not particularly limited.

情報処理装置20A,20B,20C,20Dはネットワーク40,60を介してサーバ50との間で情報の送受信を行う。情報処理装置20A,20B,20C,20Dはたとえば、IoT(Internet of Things)端末またはM2M(Machine to Machine)端末等である。   The information processing apparatuses 20A, 20B, 20C, and 20D transmit and receive information to and from the server 50 via the networks 40 and 60. The information processing apparatuses 20A, 20B, 20C, and 20D are, for example, IoT (Internet of Things) terminals or M2M (Machine to Machine) terminals.

ゲートウェイ30は、ネットワーク40を他のネットワークに接続する。ゲートウェイ30はたとえば、IoTゲートウェイ、M2Mゲートウェイ等である。   The gateway 30 connects the network 40 to another network. The gateway 30 is, for example, an IoT gateway, an M2M gateway, or the like.

ネットワーク40,60はたとえば、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)等である。また、ネットワーク40,60は無線ネットワークであっても有線ネットワークであっても両者の組み合わせであってもよい。   The networks 40 and 60 are, for example, the Internet, an intranet, a local area network (LAN), a wide area network (WAN), and the like. The networks 40 and 60 may be wireless networks, wired networks, or a combination of both.

サーバ50は、情報処理装置20A,20B,20C,20Dとの間でコネクションを確立し、情報の送受信を行う。サーバ50はたとえばAPLサーバである。   The server 50 establishes a connection with the information processing apparatuses 20A, 20B, 20C, and 20D, and transmits and receives information. Server 50 is, for example, an APL server.

(通信制御装置の構成の一例)
図2は、第1の実施形態に係る通信制御装置の構成の一例を示す図である。通信制御装置10は、図1に示すように、情報処理装置20A,20B,20C,20Dとサーバ50との間の通信経路上に配置される。通信制御装置10は、情報処理装置20A,20B,20C,20Dとサーバ50との間の通信を制御する。たとえば、通信制御装置10は、情報処理装置20A,20B,20C,20Dから送信されるSYNパケットをサーバ50に転送する。また、通信制御装置10は、情報処理装置20A,20B,20C,20Dから再送されるSYNパケットによる、サーバ50と情報処理装置20A,20B,20C,20D間の単位時間当たりのコネクション数の減少を抑制するよう通信を制御する。
(Example of configuration of communication control device)
FIG. 2 is a diagram illustrating an example of the configuration of the communication control apparatus according to the first embodiment. As illustrated in FIG. 1, the communication control device 10 is disposed on a communication path between the information processing devices 20A, 20B, 20C, and 20D and the server 50. The communication control device 10 controls communication between the information processing devices 20A, 20B, 20C, and 20D and the server 50. For example, the communication control device 10 transfers a SYN packet transmitted from the information processing devices 20A, 20B, 20C, and 20D to the server 50. Further, the communication control device 10 reduces the number of connections per unit time between the server 50 and the information processing devices 20A, 20B, 20C, and 20D by the SYN packet retransmitted from the information processing devices 20A, 20B, 20C, and 20D. Control communications to suppress.

図2に示すように通信制御装置10は、通信部110と、制御部120と、記憶部130と、を備える。   As illustrated in FIG. 2, the communication control apparatus 10 includes a communication unit 110, a control unit 120, and a storage unit 130.

通信部110は、ネットワーク40,60を介して送信される情報を送受信する。   The communication unit 110 transmits and receives information transmitted via the networks 40 and 60.

制御部120は、通信制御装置10の各部の処理を制御する。制御部120はたとえば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)や、ASIC(Application Specific Integrated Circuit)等で構成することができる。制御部120は、パケット識別部121と、バッファ管理部122とを有する。   The control unit 120 controls processing of each unit of the communication control device 10. The control unit 120 can be configured by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), or the like. The control unit 120 includes a packet identification unit 121 and a buffer management unit 122.

パケット識別部121は、通信部110を介して受信されるパケットの種類を識別する。パケット識別部121は、情報処理装置20A,20B,20C,20Dからサーバ50宛に送信されるSYNパケットを識別する。そして、パケット識別部121は識別したSYNパケットを後述するバッファ131に格納する。また、パケット識別部121は、SYNパケット以外のパケットを、通信部110を介して宛先に送信する。パケット識別部121は、送信元IPアドレス、送信先IPアドレス等から情報処理装置20A〜20Dおよびサーバ50を識別する。また、パケット識別部121は、パケットのTCPヘッダのSYNフラグに基づきSYNパケットを識別する。   The packet identification unit 121 identifies the type of packet received via the communication unit 110. The packet identification unit 121 identifies a SYN packet transmitted from the information processing apparatuses 20A, 20B, 20C, and 20D to the server 50. Then, the packet identification unit 121 stores the identified SYN packet in a buffer 131 described later. Further, the packet identification unit 121 transmits a packet other than the SYN packet to the destination via the communication unit 110. The packet identification unit 121 identifies the information processing apparatuses 20A to 20D and the server 50 from the transmission source IP address, the transmission destination IP address, and the like. The packet identification unit 121 identifies a SYN packet based on the SYN flag in the TCP header of the packet.

バッファ管理部122は、通信部110を介して受信したパケットが所定の条件を満たす場合に、バッファ131に格納されるSYNパケットの一部もしくは全部または受信したパケットを破棄する。   When a packet received via the communication unit 110 satisfies a predetermined condition, the buffer management unit 122 discards a part or all of the SYN packet stored in the buffer 131 or the received packet.

バッファ管理部122はまた、バッファ131に格納されたSYNパケットを所定の送信レートで通信部110を介してサーバ50に送信する。   The buffer management unit 122 also transmits the SYN packet stored in the buffer 131 to the server 50 via the communication unit 110 at a predetermined transmission rate.

記憶部130は、通信制御装置10における各部の処理に使用する情報や処理の結果生成される情報を記憶する。記憶部130はたとえば、ハードディスク、光ディスク等の記憶装置でもよい。また、記憶部130は、RAM(Random Access Memory)やフラッシュメモリ等の半導体メモリであってもよい。記憶部130はバッファ131を有する。   The storage unit 130 stores information used for processing of each unit in the communication control device 10 and information generated as a result of the processing. The storage unit 130 may be a storage device such as a hard disk or an optical disk. The storage unit 130 may be a semiconductor memory such as a RAM (Random Access Memory) or a flash memory. The storage unit 130 has a buffer 131.

バッファ131は、パケット識別部121が識別したSYNパケットを格納する。たとえばバッファ131は、FIFO(First In First Out)メモリである。バッファ131は、パケット識別部121が識別したSYNパケットを受信した順番に格納する。格納されたSYNパケットは、先に格納されたパケットから順に所定の送信レートで通信部110を介してサーバ50に送信される。   The buffer 131 stores the SYN packet identified by the packet identification unit 121. For example, the buffer 131 is a FIFO (First In First Out) memory. The buffer 131 stores the SYN packets identified by the packet identification unit 121 in the order received. The stored SYN packet is transmitted to the server 50 via the communication unit 110 at a predetermined transmission rate in order from the previously stored packet.

(第1の実施形態の通信制御処理の流れの一例)
図3は、第1の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。図3に示すように、通信制御装置10の通信部110はパケットを受信する(ステップS31)。パケット識別部121は、受信したパケットの中から、情報処理装置20A,20B,20C,20Dからサーバ50宛のSYNパケットを識別する。そして、パケット識別部121は識別したSYNパケットをバッファ131に振り分ける(ステップS32)。バッファ管理部122は、通信部110が受信したパケットが所定の条件を満たすか否かを判定する(ステップS33)。バッファ管理部122は、受信したパケットが所定の条件を満たすと判定した場合(ステップS33、Yes)、バッファ131内のSYNパケットの一部もしくは全部または受信したパケットを破棄する(ステップS34)。他方、受信したパケットが所定の条件を満たさないと判定した場合(ステップS33、No)、バッファ管理部122は、次の処理に進む。そして、バッファ管理部122は、バッファ131内のSYNパケットを所定の送信レートでサーバ50に送信する(ステップS35)。これで、第1の実施形態に係る通信制御処理が終了する。
(Example of flow of communication control process of first embodiment)
FIG. 3 is a flowchart illustrating an example of a process flow in the communication control system according to the first embodiment. As shown in FIG. 3, the communication unit 110 of the communication control apparatus 10 receives a packet (step S31). The packet identification unit 121 identifies a SYN packet addressed to the server 50 from the information processing apparatuses 20A, 20B, 20C, and 20D from the received packets. Then, the packet identification unit 121 distributes the identified SYN packet to the buffer 131 (step S32). The buffer management unit 122 determines whether or not the packet received by the communication unit 110 satisfies a predetermined condition (step S33). When it is determined that the received packet satisfies the predetermined condition (Yes at Step S33), the buffer management unit 122 discards a part or all of the SYN packet in the buffer 131 or the received packet (Step S34). On the other hand, when it is determined that the received packet does not satisfy the predetermined condition (No in step S33), the buffer management unit 122 proceeds to the next process. Then, the buffer management unit 122 transmits the SYN packet in the buffer 131 to the server 50 at a predetermined transmission rate (step S35). This completes the communication control process according to the first embodiment.

(第1の実施形態の効果)
第1の実施形態に係る通信制御システムは、ネットワーク上でTCPを用いてコネクションを確立する情報処理装置とサーバとの間の通信を制御する。受信部(通信部)は、情報処理装置とサーバとの間で送受信されるパケットを受信する。パケット識別部は、受信部が受信するパケットのうち、情報処理装置からサーバへ送信されるSYNパケットをバッファに振り分ける。送信部(通信部)は、バッファに格納されるSYNパケットを所定の送信レートでサーバに送信する。バッファ管理部は、受信部が受信したパケットが所定の条件を満たす場合に、バッファに格納されるSYNパケットまたは受信したパケットを破棄する。このため、通信制御システムは所定の条件を満たすパケットを受信した場合には、情報処理装置から送信されるSYNパケットを全てサーバに送信するのではなく、送信するSYNパケットを削減する。したがって、再送パケットすべてがサーバに送信されず、単位時間当たりに確立できるコネクション数の減少を抑制することができる。
(Effects of the first embodiment)
The communication control system according to the first embodiment controls communication between an information processing apparatus and a server that establish a connection using TCP on a network. The receiving unit (communication unit) receives a packet transmitted and received between the information processing apparatus and the server. The packet identification unit distributes the SYN packet transmitted from the information processing apparatus to the server among the packets received by the reception unit. The transmission unit (communication unit) transmits the SYN packet stored in the buffer to the server at a predetermined transmission rate. The buffer management unit discards the SYN packet stored in the buffer or the received packet when the packet received by the receiving unit satisfies a predetermined condition. For this reason, when receiving a packet that satisfies a predetermined condition, the communication control system does not transmit all SYN packets transmitted from the information processing apparatus to the server, but reduces the SYN packets to be transmitted. Therefore, all of the retransmission packets are not transmitted to the server, and a decrease in the number of connections that can be established per unit time can be suppressed.

(第2の実施形態)
第1の実施形態においては、通信制御装置10は、受信したパケットが所定の条件を満たす場合に、バッファに格納されるSYNパケットまたは受信したパケットを破棄するものとした。第2の実施形態の通信制御システムは、受信したSYNパケットのシーケンス番号と同じシーケンス番号のSYNパケットがすでにバッファに格納されている場合に、受信したSYNパケットを破棄する。
(Second Embodiment)
In the first embodiment, the communication control apparatus 10 discards the SYN packet stored in the buffer or the received packet when the received packet satisfies a predetermined condition. The communication control system according to the second embodiment discards the received SYN packet when the SYN packet having the same sequence number as the sequence number of the received SYN packet is already stored in the buffer.

図4は、第2の実施形態に係る通信制御装置の構成の一例を示す図である。第2の実施形態に係る通信制御装置10Aは、通信部110Aと、制御部120Aと、記憶部130Aと、を備える。通信部110Aの機能および構成は、第1の実施形態と同様である。   FIG. 4 is a diagram illustrating an example of the configuration of the communication control apparatus according to the second embodiment. The communication control apparatus 10A according to the second embodiment includes a communication unit 110A, a control unit 120A, and a storage unit 130A. The function and configuration of the communication unit 110A are the same as those in the first embodiment.

制御部120Aは、パケット識別部121Aとバッファ管理部122Aとを備える。   The control unit 120A includes a packet identification unit 121A and a buffer management unit 122A.

記憶部130Aは、バッファ131Aを有する。記憶部130Aおよびバッファ131Aの構成および機能は、第1の実施形態と同様である。ただし、バッファ131Aに格納されるSYNパケットは、バッファ管理部122Aにより管理される。   The storage unit 130A includes a buffer 131A. The configurations and functions of the storage unit 130A and the buffer 131A are the same as those in the first embodiment. However, the SYN packet stored in the buffer 131A is managed by the buffer management unit 122A.

パケット識別部121Aは、通信部110Aが受信したパケットの中から、情報処理装置20A,20B,20C,20Dからサーバ50にあてたSYNパケットを識別する。そして、パケット識別部121Aは、識別したSYNパケットをバッファ管理部122Aに渡す。   The packet identification unit 121A identifies the SYN packet addressed to the server 50 from the information processing devices 20A, 20B, 20C, and 20D from the packets received by the communication unit 110A. Then, the packet identification unit 121A passes the identified SYN packet to the buffer management unit 122A.

バッファ管理部122Aは、パケット識別部121Aが識別したSYNパケットをバッファ131Aに格納する前に、当該SYNパケットのシーケンス番号を抽出する。そして、バッファ管理部122Aは、同じシーケンス番号のSYNパケットがバッファ131Aに格納されているか否かを判定する。同じシーケンス番号のSYNパケットがバッファ131Aに格納されていると判定した場合、バッファ管理部122Aは、受信したSYNパケットをバッファ131Aに格納せず破棄する。他方、同じシーケンス番号のSYNパケットがバッファ131Aに格納されていないと判定した場合、バッファ管理部122Aは、当該SYNパケットをバッファ131Aに格納する。そして、バッファ管理部122Aはバッファ131Aに格納されたSYNパケットを所定の送信レートで順次サーバ50に送信する。   The buffer management unit 122A extracts the sequence number of the SYN packet before storing the SYN packet identified by the packet identification unit 121A in the buffer 131A. Then, the buffer management unit 122A determines whether the SYN packet having the same sequence number is stored in the buffer 131A. If it is determined that a SYN packet with the same sequence number is stored in the buffer 131A, the buffer management unit 122A discards the received SYN packet without storing it in the buffer 131A. On the other hand, when it is determined that the SYN packet having the same sequence number is not stored in the buffer 131A, the buffer management unit 122A stores the SYN packet in the buffer 131A. Then, the buffer management unit 122A sequentially transmits the SYN packets stored in the buffer 131A to the server 50 at a predetermined transmission rate.

(第2の実施形態に係る通信制御処理の流れの一例)
図5は、第2の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。まず、通信部110Aは、パケットを受信する(ステップS51)。そして、パケット識別部121Aは、受信したパケットがSYNパケットか否かを判定する(ステップS52)。受信したパケットがSYNパケットであると判定した場合(ステップS52、Yes)、パケット識別部121Aは、SYNパケットをバッファ管理部122Aに渡す。バッファ管理部122Aは、SYNパケットのシーケンス番号を抽出し、同一シーケンス番号のSYNパケットがバッファ131Aに格納されているか否かを判定する(ステップS53)。同一シーケンス番号のSYNパケットがバッファ131Aに格納されていると判定した場合(ステップS53、Yes)、バッファ管理部122Aは、受信したSYNパケットをバッファ131Aに格納せず破棄する(ステップS54)。他方、同一シーケンス番号のSYNパケットがバッファ131Aに格納されていないと判定した場合(ステップS53、No)、バッファ管理部122Aは、受信したSYNパケットをバッファ131Aに格納する(ステップS55)。また、受信したパケットがSYNパケットではないと判定した場合(ステップS52、No)、パケット識別部121Aは、受信したパケットをバッファ131Aに格納せず、通信部110Aを介して宛先に送信する(ステップS56)。そして、バッファ管理部122Aは、所定の送信レートでバッファ131Aに格納されたSYNパケットを順次サーバ50に送信する(ステップS57)。これで、第2の実施形態における通信制御処理が終了する。
(Example of flow of communication control processing according to second embodiment)
FIG. 5 is a flowchart illustrating an example of a process flow in the communication control system according to the second embodiment. First, the communication unit 110A receives a packet (step S51). Then, the packet identification unit 121A determines whether or not the received packet is a SYN packet (step S52). If it is determined that the received packet is a SYN packet (step S52, Yes), the packet identification unit 121A passes the SYN packet to the buffer management unit 122A. The buffer management unit 122A extracts the sequence number of the SYN packet, and determines whether the SYN packet having the same sequence number is stored in the buffer 131A (step S53). If it is determined that the SYN packet with the same sequence number is stored in the buffer 131A (Yes in step S53), the buffer management unit 122A discards the received SYN packet without storing it in the buffer 131A (step S54). On the other hand, when it is determined that the SYN packet with the same sequence number is not stored in the buffer 131A (No in step S53), the buffer management unit 122A stores the received SYN packet in the buffer 131A (step S55). If it is determined that the received packet is not a SYN packet (step S52, No), the packet identification unit 121A transmits the received packet to the destination via the communication unit 110A without storing the received packet in the buffer 131A (step S52). S56). Then, the buffer management unit 122A sequentially transmits the SYN packets stored in the buffer 131A to the server 50 at a predetermined transmission rate (step S57). This completes the communication control process in the second embodiment.

(第2の実施形態の効果)
このように、第2の実施形態に係る通信制御システムにおいては、バッファ管理部は、受信部(通信部)が受信したパケットのうち、情報処理装置からサーバへ送信されるSYNパケットのシーケンス番号が、バッファに格納されるSYNパケットのシーケンス番号と同一である場合、受信部が受信したSYNパケットを破棄する。このため、再送パケットがバッファ内に重複して格納されることがなく、サーバが同一のSYNパケットを繰り返し処理することが防止される。このため、サーバと情報処理装置との間で単位時間当たりに確立されるコネクション数の減少が抑制される。
(Effect of 2nd Embodiment)
As described above, in the communication control system according to the second embodiment, the buffer management unit has the sequence number of the SYN packet transmitted from the information processing apparatus to the server among the packets received by the reception unit (communication unit). If the sequence number of the SYN packet stored in the buffer is the same, the SYN packet received by the receiving unit is discarded. For this reason, the retransmission packet is not stored redundantly in the buffer, and the server is prevented from repeatedly processing the same SYN packet. For this reason, a decrease in the number of connections established per unit time between the server and the information processing apparatus is suppressed.

(第3の実施形態)
第2の実施形態においては、通信制御装置10Aは、パケットを受信した時点で、バッファ内のパケットとの重複をチェックし、重複する場合には受信したパケットを破棄した。第3の実施形態では、通信制御システムは、パケットをバッファから送信する時点で、当該パケットと重複するパケットがバッファ内にないかチェックし、バッファ内の重複するパケットを破棄する。
(Third embodiment)
In the second embodiment, the communication control device 10A checks the duplication with the packet in the buffer at the time of receiving the packet, and discards the received packet if there is a duplication. In the third embodiment, when a packet is transmitted from a buffer, the communication control system checks whether there is a packet that overlaps the packet in the buffer, and discards the duplicate packet in the buffer.

図6は、第3の実施形態に係る通信制御装置の構成の一例を示す図である。第3の実施形態に係る通信制御装置10Bは、通信部110Bと、制御部120Bと、記憶部130Bと、を備える。通信部110Bの機能および構成は第1、第2の実施形態と同様である。   FIG. 6 is a diagram illustrating an example of the configuration of the communication control apparatus according to the third embodiment. The communication control apparatus 10B according to the third embodiment includes a communication unit 110B, a control unit 120B, and a storage unit 130B. The function and configuration of the communication unit 110B are the same as those in the first and second embodiments.

制御部120Bは、パケット識別部121Bとバッファ管理部122Bとを備える。   The control unit 120B includes a packet identification unit 121B and a buffer management unit 122B.

記憶部130Bは、バッファ131Bを有する。記憶部130Bおよびバッファ131Bの構成および機能は、第1、第2の実施形態と同様である。ただし、バッファ131Bに格納されるSYNパケットは、バッファ管理部122Bにより管理される。   The storage unit 130B includes a buffer 131B. The configurations and functions of the storage unit 130B and the buffer 131B are the same as those in the first and second embodiments. However, the SYN packet stored in the buffer 131B is managed by the buffer management unit 122B.

パケット識別部121Bは、通信部110Bが受信したパケットのうち、情報処理装置20A,20B,20C,20Dからサーバ50にあてたSYNパケットを識別する。そして、パケット識別部121Bは、識別したSYNパケットをバッファ131Bに格納する。パケット識別部121Bは、識別したSYNパケット以外のパケットは、通信部110Bを介して宛先に転送する。   The packet identification unit 121B identifies the SYN packet addressed to the server 50 from the information processing devices 20A, 20B, 20C, and 20D among the packets received by the communication unit 110B. Then, the packet identification unit 121B stores the identified SYN packet in the buffer 131B. The packet identification unit 121B transfers packets other than the identified SYN packet to the destination via the communication unit 110B.

バッファ管理部122Bは、所定の送信レートに基づき、バッファ131BからSYNパケットを送信するタイミングで、送信するSYNパケットのシーケンス番号を抽出する。そして、バッファ管理部122Bは、同一のシーケンス番号のSYNパケットがバッファ131Bに格納されているか否かを判定する。同一のシーケンス番号のSYNパケットがバッファ131Bに格納されている場合、バッファ管理部122Bは、バッファ131Bに格納されている同一のシーケンス番号のSYNパケットを破棄する。そして、バッファ管理部122Bは、送信タイミングとなったSYNパケットを通信部110Bを介してサーバ50に送信する。   The buffer management unit 122B extracts the sequence number of the SYN packet to be transmitted at the timing of transmitting the SYN packet from the buffer 131B based on a predetermined transmission rate. Then, the buffer management unit 122B determines whether SYN packets having the same sequence number are stored in the buffer 131B. When the SYN packet with the same sequence number is stored in the buffer 131B, the buffer management unit 122B discards the SYN packet with the same sequence number stored in the buffer 131B. Then, the buffer management unit 122B transmits the SYN packet at the transmission timing to the server 50 via the communication unit 110B.

(第3の実施形態に係る通信制御処理の流れの一例)
図7は、第3の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。まず、通信部110Bがパケットを受信する(ステップS71)。パケット識別部121Bは、受信したパケットから、情報処理装置20A,20B,20C,20Dからサーバ50にあてたSYNパケットを識別する。そして、パケット識別部121Bは、識別したSYNパケットをバッファ131Bに振り分ける(ステップS72)。バッファ管理部122Bは、バッファ131BからSYNパケットを送信する所定のタイミングとなったか否かを判定する(ステップS73)。所定のタイミングではないと判定した場合(ステップS73、No)、バッファ管理部122Bは再びステップS73の判定を繰り返す。所定のタイミングになったと判定した場合(ステップS73、Yes)、バッファ管理部122Bは、送信するSYNパケットと同一のシーケンス番号のSYNパケットがバッファ131Bに格納されているか否かを判定する(ステップS74)。同一のシーケンス番号のSYNパケットが格納されていると判定した場合(ステップS74、Yes)、バッファ管理部122Bは、バッファ131Bに格納されている同一のシーケンス番号のSYNパケットを破棄する(ステップS75)。そして、バッファ管理部122Bは、送信タイミングとなったSYNパケットを通信部110Bを介してサーバ50に送信する(ステップS76)。他方、同一のシーケンス番号のSYNパケットが格納されていないと判定した場合(ステップS74、No)、バッファ管理部122Bは、そのまま送信タイミングとなったSYNパケットを通信部110Bを介してサーバ50に送信する(ステップS76)。これで処理が終了する。
(Example of flow of communication control processing according to third embodiment)
FIG. 7 is a flowchart illustrating an example of a process flow in the communication control system according to the third embodiment. First, the communication unit 110B receives a packet (step S71). The packet identification unit 121B identifies the SYN packet addressed to the server 50 from the information processing devices 20A, 20B, 20C, and 20D from the received packet. Then, the packet identification unit 121B distributes the identified SYN packet to the buffer 131B (step S72). The buffer management unit 122B determines whether or not the predetermined timing for transmitting the SYN packet from the buffer 131B has come (step S73). When it is determined that it is not the predetermined timing (No at Step S73), the buffer management unit 122B repeats the determination at Step S73 again. If it is determined that the predetermined timing has been reached (step S73, Yes), the buffer management unit 122B determines whether a SYN packet having the same sequence number as the SYN packet to be transmitted is stored in the buffer 131B (step S74). ). When it is determined that the SYN packet with the same sequence number is stored (Yes at Step S74), the buffer management unit 122B discards the SYN packet with the same sequence number stored in the buffer 131B (Step S75). . Then, the buffer management unit 122B transmits the SYN packet at the transmission timing to the server 50 via the communication unit 110B (step S76). On the other hand, if it is determined that the SYN packet having the same sequence number is not stored (No in step S74), the buffer management unit 122B transmits the SYN packet that has reached the transmission timing as it is to the server 50 via the communication unit 110B. (Step S76). This ends the process.

(第3の実施形態の効果)
このように、第3の実施形態に係る通信制御システムにおいては、バッファ管理部は、受信部(通信部)が受信したパケットのうち、バッファに格納され次にバッファからサーバに送信されるSYNパケットのシーケンス番号が、バッファに格納される他のSYNパケットのシーケンス番号と同一である場合、バッファに格納される他のSYNパケットを破棄する。このため、バッファ内には重複するSYNパケットが一時的に格納されるものの、サーバには到達しないため、サーバが同一のSYNパケットを繰り返し処理することで単位時間当たりに確立されるコネクション数が減少することが抑制される。
(Effect of the third embodiment)
As described above, in the communication control system according to the third embodiment, the buffer management unit, among the packets received by the reception unit (communication unit), is stored in the buffer and then transmitted from the buffer to the server. Is the same as the sequence number of another SYN packet stored in the buffer, the other SYN packet stored in the buffer is discarded. For this reason, duplicate SYN packets are temporarily stored in the buffer, but do not reach the server, so the number of connections established per unit time is reduced by the server repeatedly processing the same SYN packet. Is suppressed.

(第4の実施形態)
第2、第3の実施形態においては、通信制御システムは、受信したSYNパケットをチェックして、受信したSYNパケットまたはバッファ内のパケットを破棄するか否かを判定した。第4の実施形態に係る通信制御システムは、SYNパケットに応答してサーバから送信されるACKパケットをチェックして、バッファ内のパケットを破棄するか否かを判定する。
(Fourth embodiment)
In the second and third embodiments, the communication control system checks the received SYN packet and determines whether to discard the received SYN packet or the packet in the buffer. The communication control system according to the fourth embodiment checks the ACK packet transmitted from the server in response to the SYN packet, and determines whether to discard the packet in the buffer.

図8は、第4の実施形態に係る通信制御装置の構成の一例を示す図である。第4の実施形態に係る通信制御装置10Cは、通信部110Cと、制御部120Cと、記憶部130Cと、を備える。通信部110Cの機能および構成は第1〜第3の実施形態と同様である。   FIG. 8 is a diagram illustrating an example of the configuration of the communication control apparatus according to the fourth embodiment. A communication control apparatus 10C according to the fourth embodiment includes a communication unit 110C, a control unit 120C, and a storage unit 130C. The function and configuration of the communication unit 110C are the same as those in the first to third embodiments.

制御部120Cは、パケット識別部121Cとバッファ管理部122Cとを備える。   The control unit 120C includes a packet identification unit 121C and a buffer management unit 122C.

記憶部130Cは、バッファ131Cを有する。記憶部130Cおよびバッファ131Cの構成および機能は、第1〜第3の実施形態と同様である。ただし、バッファ131Cに格納されるSYNパケットはバッファ管理部122Cにより管理される。   The storage unit 130C includes a buffer 131C. The configurations and functions of the storage unit 130C and the buffer 131C are the same as those in the first to third embodiments. However, the SYN packet stored in the buffer 131C is managed by the buffer management unit 122C.

第4の実施形態においては、パケット識別部121Cは、情報処理装置20A〜20Dからサーバ50宛に送信されるSYNパケットに加えて、サーバ50からSYNパケットに応答して送信されるACKパケットを識別する。そして、パケット識別部121Cは、識別したSYNパケットをバッファ131Cに格納するとともに、識別したACKパケットをミラーリングしてバッファ管理部122Cに渡す。   In the fourth embodiment, the packet identification unit 121C identifies the ACK packet transmitted in response to the SYN packet from the server 50 in addition to the SYN packet transmitted from the information processing apparatuses 20A to 20D to the server 50. To do. Then, the packet identification unit 121C stores the identified SYN packet in the buffer 131C, mirrors the identified ACK packet, and passes it to the buffer management unit 122C.

バッファ管理部122Cは、パケット識別部121CがミラーリングしたACKパケットのシーケンス番号を抽出する。バッファ管理部122Cは、ACKパケットと同一のシーケンス番号のSYNパケットがバッファ131Cに格納されているか否かを判定する。同一のシーケンス番号のSYNパケットがバッファ131Cに格納されている場合、バッファ管理部122Cは、バッファ131C内の同一シーケンス番号のSYNパケットを破棄する。   The buffer management unit 122C extracts the sequence number of the ACK packet mirrored by the packet identification unit 121C. The buffer management unit 122C determines whether the SYN packet having the same sequence number as the ACK packet is stored in the buffer 131C. When SYN packets with the same sequence number are stored in the buffer 131C, the buffer management unit 122C discards the SYN packet with the same sequence number in the buffer 131C.

このように、第4の実施形態においては、SYNパケットを監視するのではなく、SYNパケットに対応して送信されるACKパケットを監視する。ACKパケットがサーバ50から送信される時点で、当該ACKパケットに基づいて通信が確立されると考えられるため、以後同一シーケンス番号のSYNパケットをサーバ50に送信する必要はなくなる。そこで、第4の実施形態の通信制御装置10Cは、ACKパケットが送信されたことを確認した時点で、同一シーケンス番号のSYNパケットをバッファ131Cから破棄するものとしている。   As described above, in the fourth embodiment, the SYN packet is not monitored, but the ACK packet transmitted corresponding to the SYN packet is monitored. Since communication is considered to be established based on the ACK packet when the ACK packet is transmitted from the server 50, it is not necessary to transmit a SYN packet having the same sequence number to the server 50 thereafter. Therefore, the communication control apparatus 10C according to the fourth embodiment discards the SYN packet having the same sequence number from the buffer 131C when confirming that the ACK packet has been transmitted.

(第4の実施形態に係る通信制御処理の流れの一例)
図9は、第4の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。まず、通信部110Cはパケットを受信する(ステップS91)。パケット識別部121Cは、受信したパケットが、情報処理装置20A〜20Dからサーバ50にあてたSYNパケットであるか否かを判定する(ステップS92)。SYNパケットと判定した場合(ステップS92、Yes)、パケット識別部121Cは、当該SYNパケットをバッファ131Cに振り分ける(ステップS93)。他方、SYNパケットではないと判定した場合(ステップS92、No)、パケット識別部121Cは、受信したパケットがACKパケットであるか否かを判定する(ステップS94)。受信したパケットがACKパケットではないと判定した場合(ステップS94、No)、パケット識別部121Cは、当該パケットをそのまま通信部110Cを介して宛先に送信する(ステップS95)。受信したパケットがACKパケットであると判定した場合(ステップS94、Yes)、パケット識別部121Cは当該パケットをミラーリングしてバッファ管理部122Cに渡す。そして、バッファ管理部122Cは、ミラーリングされたACKパケットのシーケンス番号を抽出する。バッファ管理部122Cは、ACKパケットと同一のシーケンス番号のSYNパケットがバッファ131Cに格納されているか判定する(ステップS96)。同一のシーケンス番号のSYNパケットがバッファ131Cに格納されていると判定した場合(ステップS96、Yes)、バッファ管理部122Cは、当該同一シーケンス番号のSYNパケットをバッファ131Cから破棄する(ステップS97)。そして、バッファ管理部122Cは、バッファ131Cに格納されているSYNパケットを所定の送信レートでサーバ50に送信する(ステップS98)。他方、同一のシーケンス番号のSYNパケットがバッファ131Cに格納されていないと判定した場合(ステップS96、No)、バッファ管理部122Cは、ミラーリングしたACKパケットを破棄する(ステップS99)。そして、バッファ管理部122Cは、バッファ131Cに格納されているSYNパケットを所定の送信レートでサーバ50に送信する(ステップS98)。これで処理が終了する。
(Example of flow of communication control processing according to fourth embodiment)
FIG. 9 is a flowchart illustrating an example of a processing flow in the communication control system according to the fourth embodiment. First, the communication unit 110C receives a packet (step S91). The packet identification unit 121C determines whether or not the received packet is a SYN packet addressed to the server 50 from the information processing devices 20A to 20D (step S92). If it is determined that the packet is a SYN packet (step S92, Yes), the packet identification unit 121C distributes the SYN packet to the buffer 131C (step S93). On the other hand, if it is determined that the packet is not a SYN packet (No in step S92), the packet identification unit 121C determines whether or not the received packet is an ACK packet (step S94). If it is determined that the received packet is not an ACK packet (step S94, No), the packet identification unit 121C transmits the packet as it is to the destination via the communication unit 110C (step S95). If it is determined that the received packet is an ACK packet (step S94, Yes), the packet identification unit 121C mirrors the packet and passes it to the buffer management unit 122C. Then, the buffer management unit 122C extracts the sequence number of the mirrored ACK packet. The buffer management unit 122C determines whether a SYN packet having the same sequence number as the ACK packet is stored in the buffer 131C (step S96). If it is determined that the SYN packet with the same sequence number is stored in the buffer 131C (step S96, Yes), the buffer management unit 122C discards the SYN packet with the same sequence number from the buffer 131C (step S97). Then, the buffer management unit 122C transmits the SYN packet stored in the buffer 131C to the server 50 at a predetermined transmission rate (step S98). On the other hand, when it is determined that the SYN packet having the same sequence number is not stored in the buffer 131C (No in step S96), the buffer management unit 122C discards the mirrored ACK packet (step S99). Then, the buffer management unit 122C transmits the SYN packet stored in the buffer 131C to the server 50 at a predetermined transmission rate (step S98). This ends the process.

(第4の実施形態の効果)
このように、第4の実施形態に係る通信制御システムにおいては、バッファ管理部は、受信部(通信部)が受信したパケットのうち、サーバから情報処理装置に送信されるACKパケットのシーケンス番号が、バッファに格納されるSYNパケットのシーケンス番号と同一である場合、バッファに格納されるSYNパケットを破棄する。このため、ACKパケットの送信を確認した上で、同一のコネクションの確立を目的として送信されているSYNパケットを破棄することができる。このため、第4の実施形態に係る通信制御システムによれば、より確実にコネクションを確立できるとともに、不要なSYNパケットの再送を減少させ、単位時間当たりに確立されるコネクション数の減少を抑制することができる。
(Effect of the fourth embodiment)
As described above, in the communication control system according to the fourth embodiment, the buffer management unit has the sequence number of the ACK packet transmitted from the server to the information processing apparatus among the packets received by the reception unit (communication unit). If the sequence number of the SYN packet stored in the buffer is the same, the SYN packet stored in the buffer is discarded. For this reason, after confirming the transmission of the ACK packet, the SYN packet transmitted for the purpose of establishing the same connection can be discarded. For this reason, according to the communication control system according to the fourth embodiment, connections can be established more reliably, unnecessary retransmissions of SYN packets are reduced, and a reduction in the number of connections established per unit time is suppressed. be able to.

(第5の実施形態)
第2〜第4の実施形態においては、通信制御装置が受信するSYNパケットまたはACKパケットのシーケンス番号に基づき、受信したSYNパケットまたはバッファに格納されるSYNパケットを破棄するか否かの判定を行った。第5の実施形態においては、SYNパケットの再送間隔を考慮して、バッファに格納されるSYNパケットを破棄する。
(Fifth embodiment)
In the second to fourth embodiments, it is determined whether to discard the received SYN packet or the SYN packet stored in the buffer based on the sequence number of the SYN packet or the ACK packet received by the communication control device. It was. In the fifth embodiment, the SYN packet stored in the buffer is discarded in consideration of the retransmission interval of the SYN packet.

図10は、第5の実施形態に係る通信制御処理の前提となるSYNパケットの再送間隔について説明するための図である。図10の例では、複数の情報処理装置からサーバ宛にほぼ同じタイミングで多数のSYNパケットが送信されたとする。たとえば、時刻0秒の時点で1000個のSYNパケットがサーバ宛に送信されたとする。この場合に、サーバが同時に処理可能なSYNパケットの数が80個であるとする。とすると、サーバは、時刻0秒の時点で受信したSYNパケットのうち、920個については処理できず破棄する。破棄されたSYNパケットを送信した情報処理装置は、RFCに定められたアルゴリズムに従ってSYNパケットを再送するため、サーバは再びほぼ同時に920個のSYNパケットを受信することになる。たとえば、図10の例では、サーバは時刻1秒の時点で920個の再送パケットを受信する。そして、SYNパケットの再送間隔は再送ごとに2倍に設定されるため、次の再送タイミングである時刻3秒の時点でサーバは840個の再送パケットを受信することになる。再送タイミングごとに同様の処理が繰り返される。   FIG. 10 is a diagram for explaining a retransmission interval of a SYN packet, which is a premise of the communication control process according to the fifth embodiment. In the example of FIG. 10, it is assumed that a large number of SYN packets are transmitted from a plurality of information processing apparatuses to the server at substantially the same timing. For example, assume that 1000 SYN packets are transmitted to the server at time 0 seconds. In this case, it is assumed that the number of SYN packets that can be processed simultaneously by the server is 80. Then, the server cannot process 920 of the SYN packets received at time 0 seconds and discards them. Since the information processing apparatus that has transmitted the discarded SYN packet retransmits the SYN packet in accordance with the algorithm defined in RFC, the server receives 920 SYN packets again almost simultaneously. For example, in the example of FIG. 10, the server receives 920 retransmission packets at time 1 second. Since the retransmission interval of the SYN packet is set to double for each retransmission, the server receives 840 retransmission packets at time 3 seconds, which is the next retransmission timing. Similar processing is repeated at each retransmission timing.

第5の実施形態に係る通信制御システムにおいては、このような前提に基づき、パケットの受信レートを監視する。そして、通信制御システムは、受信レートが所定の閾値を超えた場合、受信レートが所定の閾値を超えてから所定時間経過後にバッファ内のSYNパケットをすべて破棄する。所定時間は、SYNパケットの再送間隔の初期値よりも短い時間に設定する。   In the communication control system according to the fifth embodiment, the packet reception rate is monitored based on such a premise. When the reception rate exceeds a predetermined threshold, the communication control system discards all SYN packets in the buffer after a predetermined time has elapsed since the reception rate exceeded the predetermined threshold. The predetermined time is set to a time shorter than the initial value of the retransmission interval of the SYN packet.

(第5の実施形態に係る通信制御装置の構成の一例)
図11は、第5の実施形態に係る通信制御装置の構成の一例を示す図である。第5の実施形態に係る通信制御装置10Dは、通信部110Dと、制御部120Dと、記憶部130Dと、を備える。通信部110Dの構成および機能は、第1〜第4の実施形態と同様である。
(Example of configuration of communication control apparatus according to fifth embodiment)
FIG. 11 is a diagram illustrating an example of a configuration of a communication control apparatus according to the fifth embodiment. A communication control device 10D according to the fifth embodiment includes a communication unit 110D, a control unit 120D, and a storage unit 130D. The configuration and function of the communication unit 110D are the same as those in the first to fourth embodiments.

制御部120Dは、パケット識別部121Dと、バッファ管理部122Dと、受信レート検出部123Dとを備える。   The control unit 120D includes a packet identification unit 121D, a buffer management unit 122D, and a reception rate detection unit 123D.

記憶部130Dは、バッファ131Dを有する。記憶部130Dおよびバッファ131Dの構成および機能は、第1〜第4の実施形態と同様である。ただし、バッファ131Dに格納されるSYNパケットはバッファ管理部122Dにより管理される。   The storage unit 130D includes a buffer 131D. The configurations and functions of the storage unit 130D and the buffer 131D are the same as those in the first to fourth embodiments. However, the SYN packet stored in the buffer 131D is managed by the buffer management unit 122D.

パケット識別部121Dは、通信部110Dが受信したパケットから、情報処理装置20A〜20Dからサーバ50あてのSYNパケットを識別し、バッファ131Dに格納する。   The packet identification unit 121D identifies the SYN packet addressed to the server 50 from the information processing devices 20A to 20D from the packet received by the communication unit 110D, and stores it in the buffer 131D.

バッファ管理部122Dは、受信レート検出部123DからSYNパケットの受信レートが所定の閾値を超えた場合に通知を受け取る。そして、バッファ管理部122Dは、SYNパケットの受信レートが所定の閾値を超えてから所定時間が経過すると、バッファ131Dに格納されるSYNパケットを全て破棄する。   The buffer management unit 122D receives a notification from the reception rate detection unit 123D when the SYN packet reception rate exceeds a predetermined threshold. Then, the buffer management unit 122D discards all SYN packets stored in the buffer 131D when a predetermined time elapses after the SYN packet reception rate exceeds a predetermined threshold.

受信レート検出部123Dは、通信制御装置10Dが受信するSYNパケットの受信レートを検出する。受信レート検出部123Dは、たとえば、パケット識別部121DによるSYNパケットの識別を監視して、受信レートを検出してもよい。また、受信レート検出部123Dは、たとえば、バッファ131DへのSYNパケットの格納を監視して、受信レートを検出してもよい。受信レート検出部123Dは、随時受信レートを検出し、受信レートと所定の閾値とを比較する。そして、受信レート検出部123Dは、検出した受信レートが所定の閾値を超えると、バッファ管理部122Dに通知する。   The reception rate detection unit 123D detects the reception rate of the SYN packet received by the communication control device 10D. The reception rate detection unit 123D may detect the reception rate by monitoring the identification of the SYN packet by the packet identification unit 121D, for example. In addition, the reception rate detection unit 123D may detect the reception rate by monitoring storage of the SYN packet in the buffer 131D, for example. The reception rate detection unit 123D detects the reception rate as needed, and compares the reception rate with a predetermined threshold value. The reception rate detection unit 123D notifies the buffer management unit 122D when the detected reception rate exceeds a predetermined threshold.

なお、ここでは、受信レートとは、所定の時刻に通信制御装置10Dが受信した、情報処理装置20A〜20Dからサーバ50あてのSYNパケットの単位時間当たりの数をいうものとする。また、受信レートと比較する所定の閾値はたとえば、通信制御装置10DがSYNパケットの再送間隔の初期値の間にバッファ131Dから送信するSYNパケットの数とする。   Here, the reception rate refers to the number of SYN packets per unit time received from the information processing apparatuses 20A to 20D and received by the communication control apparatus 10D at a predetermined time. The predetermined threshold value to be compared with the reception rate is, for example, the number of SYN packets transmitted from the buffer 131D during the initial value of the SYN packet retransmission interval by the communication control apparatus 10D.

(第5の実施形態に係る通信制御処理の流れの一例)
図12は、第5の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。まず、受信レート検出部123DはSYNパケットの受信レートを検出する(ステップS101)。そして、受信レート検出部123Dは、検出した受信レートと所定の閾値とを比較し、検出した受信レートが所定の閾値を超えているか否かを判定する(ステップS102)。検出した受信レートが所定の閾値を超えていないと判定した場合(ステップS102、No)、受信レート検出部123Dは処理を終了する。他方、受信レート検出部123Dは、検出した受信レートが所定の閾値を超えていると判定した場合(ステップS102、Yes)、その旨、バッファ管理部122Dに通知する。通知を受けたバッファ管理部122Dは、受信レートが所定の閾値を超えたことが検出されてから所定時間が経過したか否かを判定する(ステップS103)。所定時間経過していないと判定した場合(ステップS103、No)、バッファ管理部122DはステップS103に戻って判定を繰り返す。所定時間経過したと判定した場合(ステップS103、Yes)、バッファ管理部122Dは、バッファ131D内のSYNパケットを全て破棄する(ステップS104)。これで処理が終了する。
(Example of flow of communication control processing according to fifth embodiment)
FIG. 12 is a flowchart illustrating an example of a process flow in the communication control system according to the fifth embodiment. First, the reception rate detection unit 123D detects the reception rate of the SYN packet (step S101). Then, the reception rate detection unit 123D compares the detected reception rate with a predetermined threshold value, and determines whether or not the detected reception rate exceeds the predetermined threshold value (step S102). When it is determined that the detected reception rate does not exceed the predetermined threshold (No in step S102), the reception rate detection unit 123D ends the process. On the other hand, if the reception rate detection unit 123D determines that the detected reception rate exceeds a predetermined threshold (Yes in step S102), the reception rate detection unit 123D notifies the buffer management unit 122D to that effect. The buffer management unit 122D that has received the notification determines whether or not a predetermined time has elapsed since it was detected that the reception rate exceeded a predetermined threshold (step S103). If it is determined that the predetermined time has not elapsed (No at Step S103), the buffer management unit 122D returns to Step S103 and repeats the determination. When it is determined that the predetermined time has elapsed (step S103, Yes), the buffer management unit 122D discards all SYN packets in the buffer 131D (step S104). This ends the process.

(第5の実施形態の効果)
このように、第5の実施形態においては、通信制御システムは、受信部(通信部)が受信するSYNパケットの受信レートを検出する検出部(受信レート検出部)をさらに備える。そして、バッファ管理部は、検出部が検出した受信レートが第1の閾値(所定の閾値)を超えた場合、第1の閾値を超えてから第1の時間(再送間隔よりも短い所定の時間)後に、バッファに格納されるパケットを破棄する。このため、多数のSYNパケットがほぼ同時にサーバに送信される場合に、再び同じタイミングで多数の再送パケットが受信されてバッファに蓄積されることを防止できる。このため、サーバが同じコネクションのためのSYNパケットおよび再送パケットを繰り返し処理することを防止することができ、単位時間当たりに確立されるコネクション数の減少を抑制できる。
(Effect of 5th Embodiment)
Thus, in the fifth embodiment, the communication control system further includes a detection unit (reception rate detection unit) that detects the reception rate of the SYN packet received by the reception unit (communication unit). Then, when the reception rate detected by the detection unit exceeds the first threshold value (predetermined threshold value), the buffer management unit exceeds the first threshold value for the first time (predetermined time shorter than the retransmission interval). ) Later, discard the packet stored in the buffer. Therefore, when a large number of SYN packets are transmitted to the server almost simultaneously, it is possible to prevent a large number of retransmission packets from being received and stored in the buffer again at the same timing. For this reason, it is possible to prevent the server from repeatedly processing the SYN packet and the retransmission packet for the same connection, and it is possible to suppress a decrease in the number of connections established per unit time.

また、第5の実施形態に係る通信制御システムは、バッファ内のSYNパケットのシーケンス番号と、受信パケットのシーケンス番号との一致判定を行わず、SYNパケットの受信レートに基づいてバッファ内のSYNパケットの破棄の要否を判定する。このため、シーケンス番号の一致判定を伴う手法と比較してより高いスケーラビリティを確保することができる。   In addition, the communication control system according to the fifth embodiment does not perform a match determination between the sequence number of the SYN packet in the buffer and the sequence number of the received packet, and the SYN packet in the buffer is based on the reception rate of the SYN packet. Determine whether or not to discard. For this reason, it is possible to ensure higher scalability as compared with a method involving sequence number coincidence determination.

(第6の実施形態)
第5の実施形態では、サーバに処理可能な数を超えるパケットが同時に送信された場合、処理可能な数を超えた分のパケットに対応する再送パケットが送信されることを前提として、バッファに格納されるSYNパケットを所定のタイミングで破棄するものとした。これに対して、第6の実施形態に係る通信制御システムは、第1の閾値を超える受信レートが検出された場合、次に受信レートが第2の閾値を超えるタイミングを予測する。そして、予測したタイミングで第2の閾値を超える受信レートが検出された場合に、バッファに格納されるSYNパケットを破棄する。
(Sixth embodiment)
In the fifth embodiment, when packets exceeding the processable number are transmitted to the server at the same time, it is stored in the buffer on the assumption that retransmission packets corresponding to the packets exceeding the processable number are transmitted. It is assumed that the SYN packet to be discarded is discarded at a predetermined timing. On the other hand, when a reception rate that exceeds the first threshold is detected, the communication control system according to the sixth embodiment predicts the next timing when the reception rate exceeds the second threshold. Then, when a reception rate exceeding the second threshold is detected at the predicted timing, the SYN packet stored in the buffer is discarded.

図13は、第6の実施形態に係る通信制御装置の構成の一例を示す図である。第6の実施形態に係る通信制御装置10Eは、通信部110Eと、制御部120Eと、記憶部130Eと、を備える。通信部110Eの構成および機能は、第1〜第5の実施形態と同様である。   FIG. 13 is a diagram illustrating an example of the configuration of the communication control apparatus according to the sixth embodiment. A communication control apparatus 10E according to the sixth embodiment includes a communication unit 110E, a control unit 120E, and a storage unit 130E. The configuration and function of the communication unit 110E are the same as those in the first to fifth embodiments.

制御部120Eは、パケット識別部121Eと、バッファ管理部122Eと、受信レート検出部123Eと、を備える。   The control unit 120E includes a packet identification unit 121E, a buffer management unit 122E, and a reception rate detection unit 123E.

記憶部130Eは、バッファ131Eを有する。記憶部130Eおよびバッファ131Eの構成および機能は、第1〜第5の実施形態と同様である。ただし、バッファ131Eに格納されるSYNパケットはバッファ管理部122Eにより管理される。   The storage unit 130E includes a buffer 131E. The configurations and functions of the storage unit 130E and the buffer 131E are the same as those in the first to fifth embodiments. However, the SYN packet stored in the buffer 131E is managed by the buffer management unit 122E.

パケット識別部121Eは、通信部110Eが受信したパケットのうち、情報処理装置20A〜20Dからサーバ50あてのSYNパケットを識別し、バッファ131Eに格納する。   The packet identification unit 121E identifies the SYN packet addressed to the server 50 from the information processing devices 20A to 20D among the packets received by the communication unit 110E, and stores the SYN packet in the buffer 131E.

バッファ管理部122Eは、受信レート検出部123EからSYNパケットの受信レートが第1の閾値を超えた場合に通知を受け取る。バッファ管理部122Eは、通知を受け取ると、次に受信レートが第2の閾値を超えるタイミングを予測する。そして、予測したタイミングで受信レートが第2の閾値を超えた旨の通知を受信レート検出部123Eから受け取ると、バッファ管理部122Eは、バッファ131Eに格納されるSYNパケットを破棄する。予測したタイミングで通知を受け取らなかった場合は、バッファ管理部122Eは処理を終了する。また、予測したタイミングで通知を受け取った場合は、バッファ管理部122Eはさらに次に受信レートが第3の閾値を超えるタイミングを予測する。そして、予測したタイミングで受信レートが第3の閾値を超えた旨の通知を受信すれば、バッファ管理部122Eはバッファ131Eに格納されるSYNパケットを破棄する。予測したタイミングで通知を受け取らなくなるまで、バッファ管理部122Eは処理を繰り返す。   The buffer management unit 122E receives a notification when the reception rate of the SYN packet exceeds the first threshold value from the reception rate detection unit 123E. When the buffer management unit 122E receives the notification, the buffer management unit 122E predicts the next timing when the reception rate exceeds the second threshold. When the notification that the reception rate has exceeded the second threshold is received from the reception rate detection unit 123E at the predicted timing, the buffer management unit 122E discards the SYN packet stored in the buffer 131E. If the notification is not received at the predicted timing, the buffer management unit 122E ends the process. When the notification is received at the predicted timing, the buffer management unit 122E further predicts the next timing when the reception rate exceeds the third threshold. If the notification indicating that the reception rate exceeds the third threshold is received at the predicted timing, the buffer management unit 122E discards the SYN packet stored in the buffer 131E. The buffer management unit 122E repeats the process until no notification is received at the predicted timing.

受信レート検出部123Eは、通信制御装置10Eが受信するSYNパケットの受信レートを検出する。第5の実施形態の受信レート検出部123Dと同様、受信レート検出部123Eは、パケット識別部121EによるSYNパケットの識別を監視して、受信レート検出してもよい。また、受信レート検出部123Eは,バッファ131EへのSYNパケットの格納を監視して、受信レートを検出してもよい。受信レート検出部123Eは、随時受信レートを検出し、受信レートと第1の閾値とを比較する。そして、受信レート検出部123Eは、検出した受信レートが第1の閾値を超えると、バッファ管理部122Eに通知する。   The reception rate detection unit 123E detects the reception rate of the SYN packet received by the communication control device 10E. Similar to the reception rate detection unit 123D of the fifth embodiment, the reception rate detection unit 123E may monitor the identification of the SYN packet by the packet identification unit 121E and detect the reception rate. Further, the reception rate detection unit 123E may detect the reception rate by monitoring the storage of the SYN packet in the buffer 131E. The reception rate detection unit 123E detects the reception rate as needed, and compares the reception rate with the first threshold value. Then, when the detected reception rate exceeds the first threshold, the reception rate detection unit 123E notifies the buffer management unit 122E.

(受信レートが閾値を超えるタイミングの予測手法の一例)
図15は、第6の実施形態に係る通信制御処理において、受信レートが閾値を超えるタイミングを予測する手法について説明するための図である。先述したように、TCPを用いたSYNパケットの送信については再送間隔がRFCによって規定されている。そこで、第6の実施形態に係る通信制御装置10Eは、RFCの規定に基づき、受信レートが閾値を超えるタイミングを予測する。たとえば、サーバ50がLinux(登録商標)系OSを使用する情報処理装置20A〜20Dとの間で通信している場合、再送間隔の初期値は1秒である。そこで、バッファ管理部122Eは、再送間隔の初期値は1秒であり、再送が実行されるごとに2倍になると予測する。つまり、図15の例では、バッファ管理部122Eは、時刻0秒のタイミングで受信レート検出部123Eから通知を受けた場合、次に受信レートが閾値を超えるタイミングを時刻1秒と予測する。そして、時刻1秒のタイミングで、受信レート検出部123Eから通知を受けた場合、バッファ管理部122Eは、次に受信レートが閾値を超えるタイミングを1秒の2倍が経過した時刻3秒と予測する。同様に、時刻3秒のタイミングで、受信レート検出部123Eから通知を受けた場合、バッファ管理部122Eは、次に受信レートが閾値を超えるタイミングを2秒の2倍である4秒が経過した時刻7秒と予測する。
(An example of a method for predicting the timing at which the reception rate exceeds the threshold)
FIG. 15 is a diagram for explaining a technique for predicting the timing at which the reception rate exceeds the threshold in the communication control process according to the sixth embodiment. As described above, the retransmission interval is defined by RFC for the transmission of SYN packets using TCP. Therefore, the communication control apparatus 10E according to the sixth embodiment predicts the timing at which the reception rate exceeds the threshold based on RFC regulations. For example, when the server 50 is communicating with the information processing apparatuses 20A to 20D using the Linux (registered trademark) OS, the initial value of the retransmission interval is 1 second. Therefore, the buffer management unit 122E predicts that the initial value of the retransmission interval is 1 second and doubles every time retransmission is performed. That is, in the example of FIG. 15, when the buffer management unit 122E receives a notification from the reception rate detection unit 123E at the timing of time 0 seconds, the buffer management unit 122E predicts the next timing when the reception rate exceeds the threshold as time 1 seconds. When the notification is received from the reception rate detection unit 123E at the timing of 1 second, the buffer management unit 122E predicts that the next timing when the reception rate exceeds the threshold is 3 seconds when 2 times 1 second has elapsed. To do. Similarly, when the notification is received from the reception rate detection unit 123E at the timing of 3 seconds, the buffer management unit 122E has passed 4 seconds, which is twice the second when the reception rate exceeds the threshold next time. The time is predicted to be 7 seconds.

バッファ管理部122Eが予測していなかったタイミングで受信レート検出部123Eから通知を受けた場合は、バッファ管理部122Eは、その通知の時点を初回SYNパケットの送信時点と仮定して、次に受信レートが閾値を超えるタイミングを予測する。   If the buffer management unit 122E receives a notification from the reception rate detection unit 123E at a timing that was not predicted, the buffer management unit 122E assumes that the time of the notification is the transmission time of the initial SYN packet, and then receives it. Predict when the rate exceeds the threshold.

なお、SYNパケットの送受信処理やネットワーク上の通信遅延によってSYNパケットが通信制御装置10Eに到達する時間には多少のずれが生じることが予想される。このため、予測したタイミングの前後約100ミリ秒(ms)程度の誤差を見込む。そして、予測したタイミングの前後約100ミリ秒の期間中に受信レート検出部123Eから通知があれば、バッファ管理部122Eは検出された受信レートと予測回数に応じた閾値とを比較する。そして、バッファ管理部122Eは、受信レートが閾値を超えていれば、バッファ131Eに格納されるSYNパケットを破棄するものとする。   Note that it is expected that there will be a slight deviation in the time for the SYN packet to reach the communication control device 10E due to the transmission / reception processing of the SYN packet and communication delay on the network. Therefore, an error of about 100 milliseconds (ms) before and after the predicted timing is expected. Then, if there is a notification from the reception rate detection unit 123E during a period of about 100 milliseconds before and after the predicted timing, the buffer management unit 122E compares the detected reception rate with a threshold corresponding to the number of predictions. Then, the buffer management unit 122E discards the SYN packet stored in the buffer 131E if the reception rate exceeds the threshold value.

(受信レートと比較する閾値の設定手法の一例)
図16は、第6の実施形態に係る通信制御処理において、閾値を設定する手法について説明するための図である。たとえば、図16において、SYNパケットの再送間隔の初期値が1秒であるとする。そして、再送ごとに再送間隔は2倍になるとする。ここで、図16に示す時刻0秒の時点で通信制御装置10Eが受信したSYNパケットの数が、1秒の間にバッファ131Eから送信することができるパケットの数を超えているとする。すると、時刻1秒の時点でバッファ131Eには未送信のSYNパケットが残留していることになる。そして、未送信のSYNパケットはサーバ50に到達しておらずACKパケットが送信されていないため、未送信のSYNパケットの再送パケットが送信されることになる。
(Example of threshold setting method for comparison with reception rate)
FIG. 16 is a diagram for explaining a method for setting a threshold in the communication control process according to the sixth embodiment. For example, in FIG. 16, it is assumed that the initial value of the SYN packet retransmission interval is 1 second. Assume that the retransmission interval is doubled for each retransmission. Here, it is assumed that the number of SYN packets received by the communication control apparatus 10E at time 0 seconds shown in FIG. 16 exceeds the number of packets that can be transmitted from the buffer 131E in one second. Then, an untransmitted SYN packet remains in the buffer 131E at time 1 second. Since an untransmitted SYN packet has not reached the server 50 and an ACK packet has not been transmitted, a retransmission packet of an untransmitted SYN packet is transmitted.

時刻0秒において通信制御装置10Eが受信しているSYNパケットの数が、1秒の間にバッファ131Eからサーバ50へ送信されるSYNパケットの数以下であれば、時刻1秒において、バッファ131Eに残留しているSYNパケットはない。そこで、第6の実施形態では、第1の閾値を、再送間隔の初期値の間にバッファ131Eからサーバ50へ送信されるSYNパケットの数とする。また、第2の閾値を、再送間隔の初期値の2倍の期間中にバッファ131Eからサーバ50へ送信されるSYNパケットの数とする。さらに、第3の閾値を、再送間隔の初期値の4倍の期間中にバッファ131Eからサーバ50へ送信されるSYNパケットの数とする。以降の閾値も同様に設定する。   If the number of SYN packets received by the communication control device 10E at time 0 second is equal to or less than the number of SYN packets transmitted from the buffer 131E to the server 50 during 1 second, the buffer 131E is stored at time 1 second. There are no SYN packets remaining. Therefore, in the sixth embodiment, the first threshold value is the number of SYN packets transmitted from the buffer 131E to the server 50 during the initial value of the retransmission interval. Further, the second threshold value is the number of SYN packets transmitted from the buffer 131E to the server 50 during a period twice the initial value of the retransmission interval. Further, the third threshold value is the number of SYN packets transmitted from the buffer 131E to the server 50 during a period four times the initial value of the retransmission interval. Subsequent threshold values are similarly set.

たとえば、図16の例では、再送間隔の初期値をt(秒)、バッファ131Eの送信レートをR(個/秒)とする。そして、t秒間にバッファ131Eから送信されるSYNパケットの数をSとする。このとき、受信レート検出部123Eが検出する受信レートと比較する第1の閾値は、R×t=Sとなる。次に受信レート検出部123Eが検出した受信レートと比較する第2の閾値は、R×t×2=2Sとなる。さらに、次に受信レート検出部123Eが受信レートと比較する第3の閾値は、R×t×2×2=4Sとなる。   For example, in the example of FIG. 16, the initial value of the retransmission interval is t (seconds), and the transmission rate of the buffer 131E is R (number / second). Then, S is the number of SYN packets transmitted from the buffer 131E in t seconds. At this time, the first threshold value to be compared with the reception rate detected by the reception rate detection unit 123E is R × t = S. Next, the second threshold value to be compared with the reception rate detected by the reception rate detection unit 123E is R × t × 2 = 2S. Further, the third threshold value that is next compared with the reception rate by the reception rate detection unit 123E is R × t × 2 × 2 = 4S.

第6の実施形態では、受信レート検出部123Eは、検出した受信レートと予め設定された第1の閾値とを比較し、バッファ管理部122Eに通知するものとする。そして、通知を受けたバッファ管理部122Eは、通知された時点が、予め受信レートが閾値を超えると予測したタイミングであれば、予測回数に応じて設定される閾値と通知された受信レートとを比較する。たとえば、バッファ管理部122Eは、通知された時点が、最初に受信レートが第1の閾値を超えてから1回目の予測時点である場合、受信レートが第2の閾値(t×2×1×R)を超えるか否かを判定する。また、バッファ管理部122Eは、通知された時点が、最初に受信レートが第1の閾値を超えてから2回目の予測時点である場合、受信レートが第3の閾値(t×2×2×R)を超えるか否かを判定する。また、バッファ管理部122Eは、通知された時点が、最初に受信レートが第1の閾値を超えてから3回目の予測時点である場合、受信レートが第4の閾値(t×2×4×R)を超えるか否かを判定する。また、バッファ管理部122Eは、通知された時点が、予測時点ではない場合、当該時点をSYNパケットの初回送信時点として、次に受信レートが第2の閾値を超える時点を予測する。   In the sixth embodiment, it is assumed that the reception rate detection unit 123E compares the detected reception rate with a preset first threshold and notifies the buffer management unit 122E. Then, if the notified buffer management unit 122E is a timing at which the notified timing predicts that the reception rate exceeds the threshold in advance, the buffer management unit 122E sets the threshold set according to the number of predictions and the notified reception rate. Compare. For example, when the notified time is the first predicted time after the reception rate first exceeds the first threshold, the buffer management unit 122E sets the reception rate to the second threshold (t × 2 × 1 ×). R) is determined. Further, when the notified time point is the second predicted time point after the reception rate first exceeds the first threshold value, the buffer management unit 122E sets the reception rate to the third threshold value (t × 2 × 2 ×). R) is determined. In addition, when the notified time point is the third prediction time point after the reception rate first exceeds the first threshold value, the buffer management unit 122E sets the reception rate to the fourth threshold value (t × 2 × 4 ×). R) is determined. Further, when the notified time point is not the predicted time point, the buffer management unit 122E sets the time point as the initial transmission time point of the SYN packet and predicts the next time point when the reception rate exceeds the second threshold.

なお、予測時点と予測時点に対応する閾値は、RFCに規定される再送間隔の初期値に基づき予め算出して記憶部130Eに記憶しておいてもよい。   Note that the prediction time point and the threshold value corresponding to the prediction time point may be calculated in advance based on the initial value of the retransmission interval defined in the RFC and stored in the storage unit 130E.

(第6の実施形態における通信制御処理の流れの一例)
図14は、第6の実施形態に係る通信制御システムにおける処理の流れの一例を示すフローチャートである。受信レート検出部123Eは、SYNパケットの受信レートを検出する(ステップS1401)。そして、受信レート検出部123Eは、検出した受信レートが第1の閾値を超えるか否かを判定する(ステップS1402)。受信レート検出部123Eは、検出した受信レートが第1の閾値を超えないと判定した場合(ステップS1402、No)、ステップS1401に戻って検出を続ける。他方、受信レート検出部123Eは、検出した受信レートが第1の閾値を超えると判定した場合(ステップS1402、Yes)、バッファ管理部122Eにその旨通知する。バッファ管理部122Eは、通知を受けて次に受信レートが閾値を超える時間を予測する(ステップS1403)。バッファ管理部122Eは、予測した時間に受信レートが対応する閾値を超えたか否かを判定する(ステップS1404)。予測した時間に受信レートが対応する閾値を超えなかったと判定した場合(ステップS1404、No)、バッファ管理部122Eは、処理を終了する。他方、予測した時間に受信レートが閾値を超えたと判定した場合(ステップS1404、Yes)、バッファ管理部122Eは、バッファ131Eに格納されるSYNパケットを破棄する(ステップS1405)。そして、バッファ管理部122Eは、再び次に受信レートが閾値を超える時間を予測して処理を繰り返す(ステップS1403)。バッファ管理部122Eが、予測した時間に受信レートは閾値を超えなかったと判定すれば(ステップS1404、No)処理は終了する。
(Example of flow of communication control processing in sixth embodiment)
FIG. 14 is a flowchart illustrating an example of a processing flow in the communication control system according to the sixth embodiment. The reception rate detection unit 123E detects the reception rate of the SYN packet (step S1401). Then, the reception rate detection unit 123E determines whether or not the detected reception rate exceeds the first threshold (step S1402). If the reception rate detection unit 123E determines that the detected reception rate does not exceed the first threshold (No in step S1402), the reception rate detection unit 123E returns to step S1401 and continues detection. On the other hand, when it is determined that the detected reception rate exceeds the first threshold (Yes in step S1402), the reception rate detection unit 123E notifies the buffer management unit 122E to that effect. Upon receiving the notification, the buffer management unit 122E predicts the next time that the reception rate exceeds the threshold (step S1403). The buffer management unit 122E determines whether or not the reception rate exceeds a corresponding threshold value at the predicted time (step S1404). If it is determined that the reception rate does not exceed the corresponding threshold value at the predicted time (step S1404, No), the buffer management unit 122E ends the process. On the other hand, if it is determined that the reception rate has exceeded the threshold at the predicted time (step S1404, Yes), the buffer management unit 122E discards the SYN packet stored in the buffer 131E (step S1405). Then, the buffer management unit 122E again predicts the next time when the reception rate exceeds the threshold and repeats the process (step S1403). If the buffer management unit 122E determines that the reception rate has not exceeded the threshold at the predicted time (step S1404, No), the process ends.

(第6の実施形態の効果)
このように第6の実施形態に係る通信制御システムは、受信部(通信部)が受信するSYNパケットの受信レートを検出する検出部(受信レート検出部)をさらに備える。バッファ管理部は、検出部が検出した受信レートが第1の閾値を超えた場合、次に受信レートが第2の閾値を超えると予測される第2の時間を算出し、検出部が当該第2の時間に検出した受信レートが第2の閾値を超えた場合、バッファに格納されるパケットを破棄する。このため、第6の実施形態の通信制御システムによれば、多数の再送パケットが送信されると予測されるタイミングになるまで、バッファ内のSYNパケットを所定の送信レートでサーバに送信し続けることができる。このため、第6の実施形態によれば、受信レートが閾値を超えたときすぐにバッファをクリアする処理と比較して、バッファからSYNパケットを送信しない期間を短縮することができる。また、再送されると予測されるSYNパケットをバッファから破棄するため、同じ再送パケットがバッファに蓄積されていくのを防止することができる。このため、サーバが同じ再送パケットを繰り返し処理することを防止でき、単位時間当たりに確立されるコネクション数の減少を抑制することができる。
(Effect of 6th Embodiment)
As described above, the communication control system according to the sixth embodiment further includes a detection unit (reception rate detection unit) that detects the reception rate of the SYN packet received by the reception unit (communication unit). When the reception rate detected by the detection unit exceeds the first threshold, the buffer management unit calculates a second time when the reception rate is predicted to exceed the second threshold, and the detection unit When the reception rate detected at time 2 exceeds the second threshold, the packet stored in the buffer is discarded. For this reason, according to the communication control system of the sixth embodiment, the SYN packet in the buffer is continuously transmitted to the server at a predetermined transmission rate until it is predicted that a large number of retransmission packets are transmitted. Can do. For this reason, according to the sixth embodiment, it is possible to shorten the period during which no SYN packet is transmitted from the buffer, compared to the process of clearing the buffer immediately when the reception rate exceeds the threshold. In addition, since the SYN packet predicted to be retransmitted is discarded from the buffer, it is possible to prevent the same retransmission packet from being accumulated in the buffer. For this reason, it is possible to prevent the server from repeatedly processing the same retransmission packet, and to suppress a decrease in the number of connections established per unit time.

また、第6の実施形態に係る通信制御システムにおいて、バッファ管理部は、検出部が第2の時間に検出した受信レートが第2の閾値を超えた場合、バッファに格納されるパケットを破棄し、次に受信レートが第3の閾値を超えると予測される第3の時間を算出し、検出部が当該第3の時間に検出した受信レートが第3の閾値を超えた場合、バッファに格納されるパケットを再度破棄する。このように、第6の実施形態の通信制御システムは、SYNパケットの再送が収束するまで、継続的に受信レートを監視してバッファ内のSYNパケットを管理する。このため、第6の実施形態の通信制御システムは、SYNパケットの再送間隔にあわせてバッファに格納されるSYNパケットを制御することができる。このため、サーバが同じ再送パケットを繰り返し処理することを防止でき、単位時間当たりに確立されるコネクション数の減少を抑制することができる。   In the communication control system according to the sixth embodiment, the buffer management unit discards the packet stored in the buffer when the reception rate detected by the detection unit at the second time exceeds the second threshold. Next, a third time when the reception rate is predicted to exceed the third threshold value is calculated, and when the reception rate detected by the detection unit at the third time exceeds the third threshold value, it is stored in the buffer. Abandoned packets again. As described above, the communication control system of the sixth embodiment manages the SYN packet in the buffer by continuously monitoring the reception rate until the retransmission of the SYN packet converges. Therefore, the communication control system of the sixth embodiment can control the SYN packet stored in the buffer in accordance with the retransmission interval of the SYN packet. For this reason, it is possible to prevent the server from repeatedly processing the same retransmission packet, and to suppress a decrease in the number of connections established per unit time.

また、第6の実施形態に係る通信制御システムは、バッファ内のSYNパケットのシーケンス番号と、受信パケットのシーケンス番号との一致判定を行わず、SYNパケットの受信レートに基づいてバッファ内のSYNパケットの破棄の要否を判定する。このため、シーケンス番号の一致判定を伴う手法と比較してより高いスケーラビリティを確保することができる。   In addition, the communication control system according to the sixth embodiment does not perform a match determination between the sequence number of the SYN packet in the buffer and the sequence number of the received packet, and the SYN packet in the buffer is based on the reception rate of the SYN packet. Determine whether or not to discard. For this reason, it is possible to ensure higher scalability as compared with a method involving sequence number coincidence determination.

上記実施形態の通信制御方法は、ネットワーク管理者がTCPを用いる通信にシェーピングをかける際に利用することができる。   The communication control method of the above embodiment can be used when a network administrator applies shaping to communication using TCP.

(変形例)
上記実施形態においては、通信制御システムが備える通信制御装置内に、パケット識別部とバッファ管理部とを設けるものとした。しかし、これに限定されず、パケット識別部とバッファ管理部とをそれぞれ独立の装置としてネットワーク上に配置してもよい。また、パケット識別部とバッファ管理部とをサーバに組み入れてもよい。受信レート検出部も同様に、独立の装置としてもよく、また、パケット識別部およびバッファ管理部とともにサーバに組み入れてもよい。すなわち、通信制御システムにおいて、TCPを用いてコネクションを確立する情報処理装置とサーバとの通信経路上に通信制御装置が備える各機能部が配置されればよい。
(Modification)
In the above embodiment, the packet identification unit and the buffer management unit are provided in the communication control device provided in the communication control system. However, the present invention is not limited to this, and the packet identification unit and the buffer management unit may be arranged on the network as independent devices. Further, the packet identification unit and the buffer management unit may be incorporated in the server. Similarly, the reception rate detection unit may be an independent device, or may be incorporated in the server together with the packet identification unit and the buffer management unit. That is, in the communication control system, each functional unit included in the communication control device may be arranged on the communication path between the information processing device that establishes a connection using TCP and the server.

たとえば、図17は、各実施形態に係る通信制御装置の機能を複数の装置上に実装する例を説明するための図である。図17に示す通信制御システム1Bは、図1に示す通信制御システム1Aと、通信制御装置が備える機能部の配置が相違する。他の点では、図17に示す通信制御システム1Bは、図1に示す通信制御システム1Aと同様である。   For example, FIG. 17 is a diagram for explaining an example in which the function of the communication control device according to each embodiment is mounted on a plurality of devices. The communication control system 1B illustrated in FIG. 17 is different from the communication control system 1A illustrated in FIG. 1 in the arrangement of functional units included in the communication control device. In other points, the communication control system 1B shown in FIG. 17 is the same as the communication control system 1A shown in FIG.

第1〜第6の実施形態においては、パケット識別部、バッファ管理部、受信レート検出部をそれぞれ一つの通信制御装置内に配置するものとして説明した。しかし、これに限らず、図17のように各機能部を別の装置上に配置することもできる。   In the first to sixth embodiments, it has been described that the packet identification unit, the buffer management unit, and the reception rate detection unit are arranged in one communication control device. However, the present invention is not limited to this, and each functional unit can be arranged on another device as shown in FIG.

図17の例では、パケット識別装置11がネットワーク40,60を介して情報処理装置20A〜20Dとサーバ50との間に接続される。そして、パケット識別装置11は、バッファ12を備えるバッファ管理装置13と接続される。受信レート監視装置14は、パケット識別装置11およびバッファ管理装置13と接続される。   In the example of FIG. 17, the packet identification device 11 is connected between the information processing devices 20 </ b> A to 20 </ b> D and the server 50 via the networks 40 and 60. The packet identification device 11 is connected to a buffer management device 13 including a buffer 12. The reception rate monitoring device 14 is connected to the packet identification device 11 and the buffer management device 13.

パケット識別装置11は、第1〜第6の実施形態に係るパケット識別部121〜121Eの機能を実行することができる装置である。パケット識別装置11はたとえばルータ等で構成することができる。パケット識別装置11は、SYNパケットを識別してバッファ管理装置13に送信する。また、パケット識別装置11は、ACKパケットを識別してミラーリングし、ミラーリングしたACKパケットをバッファ管理装置13に送信する。   The packet identification device 11 is a device that can execute the functions of the packet identification units 121 to 121E according to the first to sixth embodiments. The packet identification device 11 can be composed of a router, for example. The packet identification device 11 identifies the SYN packet and transmits it to the buffer management device 13. The packet identification device 11 identifies and mirrors the ACK packet, and transmits the mirrored ACK packet to the buffer management device 13.

バッファ12は、パケット識別装置11から転送されるSYNパケットを受信した順に格納する。そして、バッファ12は、先に受信したSYNパケットから先に所定の送信レートで順次送信する。   The buffer 12 stores SYN packets transferred from the packet identification device 11 in the order received. Then, the buffer 12 sequentially transmits from the previously received SYN packet first at a predetermined transmission rate.

バッファ管理装置13は、第1〜第6の実施形態に係るバッファ管理部122〜122Eの機能を実行することができる装置である。バッファ管理装置13はたとえば、サーバ50に組み入れることもできるし、サーバと独立の装置としてもよい。   The buffer management device 13 is a device that can execute the functions of the buffer management units 122 to 122E according to the first to sixth embodiments. For example, the buffer management device 13 may be incorporated in the server 50 or may be a device independent of the server.

受信レート監視装置14は、第5、第6の実施形態に係る受信レート検出部123D,123Eの機能を実行することができる装置である。図17の例では、受信レート監視装置14は、パケット識別装置11およびバッファ管理装置13の双方に接続されているが、いずれか一方のみに接続される構成としてもよい。   The reception rate monitoring device 14 is a device that can execute the functions of the reception rate detection units 123D and 123E according to the fifth and sixth embodiments. In the example of FIG. 17, the reception rate monitoring device 14 is connected to both the packet identification device 11 and the buffer management device 13, but may be configured to be connected to only one of them.

このように、通信制御装置10〜10Eの各機能は異なる装置上に実装して実現することができる。また、APLサーバ等、既存の装置に通信制御装置10〜10Eの機能の一部を実装してもよい。また、図17の例では、バッファ管理装置13がバッファ12を備えるものとしたが、バッファ12をバッファ管理装置13とは別の装置上に設けてバッファ管理装置13と接続する構成とすることもできる。   As described above, the functions of the communication control devices 10 to 10E can be implemented by being mounted on different devices. Moreover, you may mount a part of function of the communication control apparatuses 10-10E in existing apparatuses, such as an APL server. In the example of FIG. 17, the buffer management device 13 includes the buffer 12. However, the buffer 12 may be provided on a device different from the buffer management device 13 and connected to the buffer management device 13. it can.

(プログラム)
また、上記実施形態において説明した通信制御システムが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る通信制御装置が実行する処理をコンピュータが実行可能な言語で記述した通信制御プログラムを作成することもできる。この場合、コンピュータが通信制御プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる通信制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された通信制御プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
(program)
It is also possible to create a program in which the processing executed by the communication control system described in the above embodiment is described in a language that can be executed by a computer. For example, a communication control program in which processing executed by the communication control apparatus according to the embodiment is described in a language that can be executed by a computer can be created. In this case, when the computer executes the communication control program, it is possible to obtain the same effect as in the above embodiment. Further, the same processing as in the above embodiment may be realized by recording the communication control program on a computer-readable recording medium, and reading and executing the communication control program recorded on the recording medium. Good.

図20は、通信制御プログラムを実行するコンピュータ1000を示す図である。図20に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 20 is a diagram illustrating a computer 1000 that executes a communication control program. As illustrated in FIG. 20, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図20に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図20に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図20に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、図20に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図20に例示するように、例えばディスプレイ1061に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to a mouse 1051 and a keyboard 1052, for example, as illustrated in FIG. The video adapter 1060 is connected to a display 1061, for example, as illustrated in FIG.

ここで、図20に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の通信制御プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 20, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the communication control program is stored in, for example, the hard disk drive 1031 as a program module in which a command executed by the computer 1000 is described.

また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。   The various data described in the above embodiment is stored as program data, for example, in the memory 1010 or the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1031 to the RAM 1012 as necessary, and executes various processing procedures.

なお、通信制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、通信制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the communication control program are not limited to being stored in the hard disk drive 1031, but are stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Also good. Alternatively, the program module 1093 and the program data 1094 related to the communication control program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and the network interface 1070 is stored. Via the CPU 1020.

なお、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   Of the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。   The above embodiments and modifications thereof are included in the invention disclosed in the claims and equivalents thereof as well as included in the technology disclosed in the present application.

1A,1B 通信制御システム
10,10A,10B,10C,10D,10E 通信制御装置
20A,20B,20C,20D 情報処理装置
30 ゲートウェイ
40 ネットワーク
50 サーバ
60 ネットワーク
110,110A,110B,110C,110D,110E 通信部
120,120A,120B,120C,120D,120E 制御部
121,121A,121B,121C,121D,121E パケット識別部
122,122A,122B,122C,122D,122E バッファ管理部
123D,123E 受信レート検出部
130,130A,130B,130C,130D,130E 記憶部
131,131A,131B,131C,131D,131E バッファ
1A, 1B Communication control system 10, 10A, 10B, 10C, 10D, 10E Communication control device 20A, 20B, 20C, 20D Information processing device 30 Gateway 40 Network 50 Server 60 Network 110, 110A, 110B, 110C, 110D, 110E Communication Unit 120, 120A, 120B, 120C, 120D, 120E Control unit 121, 121A, 121B, 121C, 121D, 121E Packet identification unit 122, 122A, 122B, 122C, 122D, 122E Buffer management unit 123D, 123E Reception rate detection unit 130 , 130A, 130B, 130C, 130D, 130E Storage unit 131, 131A, 131B, 131C, 131D, 131E Buffer

Claims (8)

ネットワーク上でTCP(Transmission Control Protocol)を用いてコネクションを確立する情報処理装置とサーバとの間で送受信されるパケットを受信する受信部と、
前記受信部が受信するパケットのうち、前記情報処理装置から前記サーバへ送信されるSYN(Synchronization)パケットをバッファに振り分けるパケット識別部と、
前記バッファに格納されるSYNパケットを所定の送信レートで前記サーバに送信する送信部と、
前記受信部が受信したパケットが所定の条件を満たす場合に、バッファに格納されるSYNパケットまたは受信したパケットを破棄するバッファ管理部と、
を備えることを特徴とする通信制御システム。
A receiving unit that receives packets transmitted and received between the server and the information processing apparatus that establishes a connection using TCP (Transmission Control Protocol) on the network;
A packet identifying unit that distributes a SYN (Synchronization) packet transmitted from the information processing apparatus to the server among the packets received by the receiving unit;
A transmission unit for transmitting the SYN packet stored in the buffer to the server at a predetermined transmission rate;
A buffer management unit for discarding a SYN packet stored in a buffer or a received packet when a packet received by the receiving unit satisfies a predetermined condition;
A communication control system comprising:
前記バッファ管理部は、前記受信部が受信したパケットのうち、前記情報処理装置から前記サーバへ送信されるSYNパケットのシーケンス番号が、前記バッファに格納されるSYNパケットのシーケンス番号と同一である場合、前記受信部が受信したSYNパケットを破棄することを特徴とする請求項1に記載の通信制御システム。   The buffer management unit, when the sequence number of the SYN packet transmitted from the information processing apparatus to the server among the packets received by the reception unit is the same as the sequence number of the SYN packet stored in the buffer The communication control system according to claim 1, wherein the SYN packet received by the receiving unit is discarded. 前記バッファ管理部は、前記受信部が受信したパケットのうち、前記バッファに格納され次に前記バッファから前記サーバに送信されるSYNパケットのシーケンス番号が、前記バッファに格納される他のSYNパケットのシーケンス番号と同一である場合、バッファに格納される当該他のSYNパケットを破棄することを特徴とする請求項1に記載の通信制御システム。   The buffer management unit stores the sequence number of a SYN packet stored in the buffer and then transmitted from the buffer to the server among the packets received by the reception unit. 2. The communication control system according to claim 1, wherein when the sequence number is the same as the sequence number, the other SYN packet stored in the buffer is discarded. 前記バッファ管理部は、前記受信部が受信したパケットのうち、前記サーバから前記情報処理装置に送信されるACK(Acknowledgement)パケットのシーケンス番号が、前記バッファに格納されるSYNパケットのシーケンス番号と同一である場合、前記バッファに格納されるSYNパケットを破棄することを特徴とする請求項1に記載の通信制御システム。   The buffer management unit is configured such that a sequence number of an ACK (Acknowledgement) packet transmitted from the server to the information processing device is the same as a sequence number of a SYN packet stored in the buffer among the packets received by the reception unit. The communication control system according to claim 1, wherein the SYN packet stored in the buffer is discarded. 前記受信部が受信するSYNパケットの受信レートを検出する検出部をさらに備え、
前記バッファ管理部は、前記検出部が検出した受信レートが第1の閾値を超えた場合、第1の閾値を超えてから第1の時間後に、前記バッファに格納されるパケットを破棄することを特徴とする請求項1に記載の通信制御システム。
A detector that detects a reception rate of the SYN packet received by the receiver;
When the reception rate detected by the detection unit exceeds a first threshold, the buffer management unit discards a packet stored in the buffer after a first time after exceeding the first threshold. The communication control system according to claim 1, wherein:
前記受信部が受信するSYNパケットの受信レートを検出する検出部をさらに備え、
前記バッファ管理部は、前記検出部が検出した受信レートが第1の閾値を超えた場合、次に受信レートが第2の閾値を超えると予測される第2の時間を算出し、前記検出部が当該第2の時間に検出した受信レートが前記第2の閾値を超えた場合、前記バッファに格納されるパケットを破棄することを特徴とする請求項1に記載の通信制御システム。
A detector that detects a reception rate of the SYN packet received by the receiver;
When the reception rate detected by the detection unit exceeds a first threshold, the buffer management unit calculates a second time when the reception rate is predicted to exceed the second threshold next, and the detection unit 2. The communication control system according to claim 1, wherein if the reception rate detected at the second time exceeds the second threshold, the packet stored in the buffer is discarded.
前記バッファ管理部は、前記検出部が前記第2の時間に検出した受信レートが前記第2の閾値を超えた場合、前記バッファに格納されるパケットを破棄し、次に受信レートが第3の閾値を超えると予測される第3の時間を算出し、前記検出部が当該第3の時間に検出した受信レートが前記第3の閾値を超えた場合、前記バッファに格納されるパケットを再度破棄することを特徴とする請求項6に記載の通信制御システム。   The buffer management unit discards the packet stored in the buffer when the reception rate detected by the detection unit at the second time exceeds the second threshold, and then the reception rate is the third A third time predicted to exceed the threshold is calculated, and when the reception rate detected by the detection unit at the third time exceeds the third threshold, the packet stored in the buffer is discarded again. The communication control system according to claim 6. ネットワーク上でTCPを用いてコネクションを確立する情報処理装置とサーバとの間の通信を制御する通信制御方法であって、
前記情報処理装置と前記サーバとの間で送受信されるパケットを受信する受信工程と、
前記受信工程において受信されたパケットのうち、前記情報処理装置から前記サーバへ送信されるSYNパケットをバッファに振り分けるパケット識別工程と、
前記バッファに格納されるSYNパケットを所定の送信レートで前記サーバに送信する送信工程と、
前記受信工程において受信されたパケットが所定の条件を満たす場合に、バッファに格納されるSYNパケットまたは受信したパケットを破棄するバッファ管理工程と、
をコンピュータが実行することを特徴とする通信制御方法。
A communication control method for controlling communication between an information processing apparatus and a server that establishes a connection using TCP on a network,
A receiving step of receiving a packet transmitted and received between the information processing apparatus and the server;
A packet identification step of distributing SYN packets transmitted from the information processing apparatus to the server among the packets received in the reception step;
A transmission step of transmitting a SYN packet stored in the buffer to the server at a predetermined transmission rate;
A buffer management step of discarding a SYN packet stored in a buffer or a received packet when a packet received in the reception step satisfies a predetermined condition;
A communication control method characterized in that a computer executes.
JP2015156000A 2015-08-06 2015-08-06 System and method for communication control Pending JP2017034627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015156000A JP2017034627A (en) 2015-08-06 2015-08-06 System and method for communication control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015156000A JP2017034627A (en) 2015-08-06 2015-08-06 System and method for communication control

Publications (1)

Publication Number Publication Date
JP2017034627A true JP2017034627A (en) 2017-02-09

Family

ID=57989065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015156000A Pending JP2017034627A (en) 2015-08-06 2015-08-06 System and method for communication control

Country Status (1)

Country Link
JP (1) JP2017034627A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017147576A (en) * 2016-02-16 2017-08-24 日本電信電話株式会社 Communication control system and communication control method
JP2022000987A (en) * 2018-08-06 2022-01-04 日本電気株式会社 Communication device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017147576A (en) * 2016-02-16 2017-08-24 日本電信電話株式会社 Communication control system and communication control method
JP2022000987A (en) * 2018-08-06 2022-01-04 日本電気株式会社 Communication device
JP7168053B2 (en) 2018-08-06 2022-11-09 日本電気株式会社 Communication device

Similar Documents

Publication Publication Date Title
US7921215B2 (en) Method and apparatus for optimizing and prioritizing the creation of a large number of VPN tunnels
CN106612284B (en) Streaming data transmission method and device
JPWO2012066824A1 (en) Communication apparatus and communication system
WO2017190467A1 (en) Adjustment method and apparatus for maximum transmission unit of terminal, and terminal device
CN108322836A (en) A kind of method and device of data transmission
CN106453356B (en) The bilateral acceleration transmission method of wireless network and system
TWI580226B (en) Method for determining maximum segment size
WO2019052264A1 (en) Method for transmitting message, network component and computer-readable storage medium
US10129163B2 (en) Methods and apparatus for preventing head of line blocking for RTP over TCP
JP5476852B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
JP2017034627A (en) System and method for communication control
CN106130746B (en) Data transmission method and device
CN110808917A (en) Multilink aggregation data retransmission method and transmitting equipment
JP5723307B2 (en) Packet monitoring system
CN107959554B (en) A kind of repeating method and device of data
JP6200870B2 (en) Data transfer control device, method and program
CN112866133B (en) Method and device for acquiring MSS (maximum segment size)
WO2020259040A1 (en) Data transmission method, system and device
JP2004187099A (en) Communication control method, communication system and communication equipment
WO2021192294A1 (en) Optical transfer device, optical communication system, and optical communication method
US20100166011A1 (en) Method, apparatus and system for realizing dynamic correlation of control plane traffic rate
JP2008199431A (en) Communication device
NO327367B1 (en) Assigning wireless channels in a base station processor
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
US7680050B1 (en) Distributed admission control