JP7286513B2 - COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM - Google Patents
COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM Download PDFInfo
- Publication number
- JP7286513B2 JP7286513B2 JP2019208238A JP2019208238A JP7286513B2 JP 7286513 B2 JP7286513 B2 JP 7286513B2 JP 2019208238 A JP2019208238 A JP 2019208238A JP 2019208238 A JP2019208238 A JP 2019208238A JP 7286513 B2 JP7286513 B2 JP 7286513B2
- Authority
- JP
- Japan
- Prior art keywords
- packets
- communication device
- ack
- reference number
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Communication Control (AREA)
Description
本発明は、確認応答を用いた通信を行う通信装置等に関する。 The present invention relates to a communication device and the like that perform communication using an acknowledgment.
TCP(Transport Control Protocol)では、送信装置からデータパケットを受信した受信装置は、確認応答(Acknowledgement、ACK)パケットを送信する仕組みが規定されている(特許文献1)。また、TCPでは、所定数のデータパケットを受信すると当該所定数分のデータパケットに対して1つのACKパケットを送信する遅延確認応答(遅延ACK)が規定されている。また、TCPでは、受信したデータパケットの数が所定数に満たない場合であっても、1つ目のデータパケットの受信から所定の遅延時間が経過すると、遅延ACKパケットを送信することも規定されている。 TCP (Transport Control Protocol) defines a mechanism in which a receiving device that receives a data packet from a transmitting device transmits an acknowledgment (ACK) packet (Patent Document 1). Further, TCP defines a delayed acknowledgment (delayed ACK) in which, when a predetermined number of data packets are received, one ACK packet is transmitted for the predetermined number of data packets. TCP also stipulates that even if the number of received data packets is less than a predetermined number, a delayed ACK packet is transmitted when a predetermined delay time elapses from the reception of the first data packet. ing.
上記のように、遅延ACKを使用するTCP通信では、遅延ACKパケットの送信頻度(以下、ACK送信頻度)と、遅延ACKを送信するための1つ目のデータパケットの受信からの遅延時間(以下、単に遅延時間とも称する)を設定する必要がある。ACK送信頻度は、遅延ACKパケットを送信するための基準として用いられる受信データパケット数(以下、遅延ACK送信のための基準パケット数)に対応する。ここで、ACK送信頻度を固定に設定した場合(すなわち、遅延ACK送信のための基準パケット数を固定に設定した場合)、以下の課題が生じる。 As described above, in TCP communication using delayed ACK, the transmission frequency of delayed ACK packets (hereinafter referred to as ACK transmission frequency) and the delay time from the reception of the first data packet for transmitting delayed ACK (hereinafter referred to as , simply called delay time) must be set. The ACK transmission frequency corresponds to the number of received data packets used as a reference for transmitting delayed ACK packets (hereinafter the reference number of packets for delayed ACK transmission). Here, when the ACK transmission frequency is set to be fixed (that is, when the reference number of packets for delayed ACK transmission is set to be fixed), the following problem arises.
受信装置の受信バッファの空き容量を表すウインドウサイズは、ACKパケットのウインドウサイズフィールドを用いて、送信装置に通知される。送信装置は受信したACKパケットから取得したウインドウサイズに基づき、送信するデータ量を決定する。送信装置は決定した量のデータ(例えば、ウインドウサイズ分のデータ)のデータパケットの送信を終えると、受信装置からACKパケットを受信するまでデータパケットの送信を停止する。送信装置がデータパケットの送信を停止する前に送ったデータパケット数が、遅延ACK送信のための基準パケット数に満たない場合、受信装置は遅延時間の経過後に遅延ACKパケットを送信する。しかしながら、受信装置が遅延時間の経過後に遅延ACKパケットを送信する回数が増加すると、通信性能が低下する。遅延ACK送信のための基準パケット数を大きく設定するほど(すなわち、ACK送信頻度が低いほど)、ACK送信を待たなければならないパケット数が増えるため、遅延時間を待って遅延ACKパケットを送信する可能性が大きくなる。 The window size indicating the free space of the receiving buffer of the receiving device is notified to the transmitting device using the window size field of the ACK packet. The transmitting device determines the amount of data to be transmitted based on the window size obtained from the received ACK packet. When the transmitting device finishes transmitting data packets of a determined amount of data (for example, data for the window size), it stops transmitting data packets until it receives an ACK packet from the receiving device. If the number of data packets sent before the transmitting device stops transmitting data packets is less than the reference number of packets for delayed ACK transmission, the receiving device transmits delayed ACK packets after the delay time has elapsed. However, communication performance deteriorates as the number of times the receiving device transmits the delayed ACK packet after the delay time has elapsed increases. As the reference number of packets for delayed ACK transmission is set larger (that is, the lower the frequency of ACK transmission), the number of packets that must wait for ACK transmission increases. sexuality increases.
本発明は上記課題に鑑みてなされたものであり、遅延ACKパケットの送信頻度を制御するための技術を提供することを目的とする。 SUMMARY OF THE INVENTION An object of the present invention is to provide a technique for controlling the transmission frequency of delayed ACK packets.
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、通信装置であって、の通信装置からパケットを受信する受信手段と、前記受信手段により受信されたパケットのデータを受信バッファに格納する格納手段と、前記受信手段により受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数を制御する制御手段と、前記受信手段により受信されたパケットの数が、前記基準パケット数以上になった場合に、前記ACKパケットを送信する送信手段と、を有し、前記制御手段は、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記ACKパケットの送信頻度が高くなるように、前記基準パケット数を制御する。 As one means for achieving the above object, the communication device of the present invention has the following configuration. That is, the communication device comprises receiving means for receiving a packet from the communication device, storage means for storing data of the packet received by the receiving means in a receiving buffer, and confirmation of the packet received by the receiving means. a control means for controlling a reference number of packets used as a reference for transmitting a response (ACK) packet; and transmitting means for transmitting the reference packet so that the transmission frequency of the ACK packet is increased when the window size representing the free space of the reception buffer is less than a predetermined threshold. control the numbers.
本発明によれば、遅延ACKパケットの送信頻度を制御するための技術が提供される。 In accordance with the present invention, techniques are provided for controlling the frequency of transmission of delayed ACK packets.
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In addition, the following embodiments do not limit the invention according to the scope of claims. Although multiple features are described in the embodiments, not all of these multiple features are essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant description is omitted.
(第1実施形態)
[通信システムの構成]
図1は、通信装置10と他の通信装置20から構成される通信システムにおける接続形態を示す図である。通信装置10と他の通信装置20は、ネットワーク30を介して相互に接続されている。例えば、他の通信装置20はデータパケットを送信し、データパケットを受信した通信装置10は(遅延)ACKパケットを送信する。通信装置10は、一例として、センサデバイス、タブレット、スマートフォン、PC、ノートPC、携帯電話、カメラ、ビデオカメラ、ヘッドマウントディスプレイ等であるが、後述のハードウエア構成及び機能構成を満たすものであれば、これらに限定されない。一方、他の通信装置20は、一例として、センサデバイス、タブレット、スマートフォン、PC、ノートPC、携帯電話、カメラ、ビデオカメラ、ヘッドマウントディスプレイ等であるが、これらに限定されない。
(First embodiment)
[Configuration of communication system]
FIG. 1 is a diagram showing a connection configuration in a communication system composed of a
ネットワーク30は、一例として、通信装置10と他の通信装置20が参加する無線LAN(Local Area Network)であり、例えばIEEE802.11シリーズの規格に対応した無線ネットワークである。なお、ネットワーク30は、無線LANに限定されず、Ethernet等の有線LAN、無線LANと有線LANの組み合わせ等、TCP/IP(Transmission Control Protocol/Internet Protocol)通信やACK(確認応答)パケット通信を使用する他のプロトコルが可能なネットワークであればよい。
The
[装置の構成]
図2は、本実施形態による通信装置10のハードウエア構成例を示すブロック図である。 通信装置10は、RAM(Random Access Memory)201、ROM(Read Only Memory)202、CPU(Central Processing Unit)203、タイマ部204、メディアアクセス制御モジュール(MAC)205、物理レイヤモジュール(PHY)206、アンテナ207を備える。なお、通信装置10が上記のモジュール全てを備えることは必須でない。
[Equipment configuration]
FIG. 2 is a block diagram showing a hardware configuration example of the
RAM201は、プログラムやデータを一時記憶する。ROM202は、変更を必要としないプログラムやパラメータを格納する。CPU203は、通信装置10全体を制御する。CPU203は、メインメモリであるRAM201をワークメモリとして、ROM202や図示しないHDD(Hard Disc Drive)などプログラム格納部の記憶媒体に格納された各種プログラムを実行する。タイマ部204は、計時処理を行い、プログラムの処理などの時間の経過を管理する。MAC205とPHY206は、アンテナ207を介してネットワーク30経由の通信を行う通信部である。CPU203は、ネットワークドライバを実行し、MAC205を制御して各種データの送受信を行う。
A
図3は、本実施形態による通信装置10の機能構成例を示すブロック図である。通信装置10は、制御部301、LAN制御部302、TCP/IP制御部303を備え、TCP/IP制御部303は、受信処理部304、送信処理部305、バッファ管理部306、パケットカウント部307、ACK制御部308を備える。各機能モジュールは、CPU203により処理が実行される。なお、通信装置10が上記の機能モジュール全てを備えることは必須でない。
FIG. 3 is a block diagram showing a functional configuration example of the
制御部301は、通信装置10が備える個々の機能モジュールを制御する。LAN制御部302はMAC205を制御し、他の通信装置20との通信の制御を行う。通信装置10が外部の無線アクセスポイント(不図示)を経由して他の通信装置20と無線LAN接続する場合は、LAN制御部302は、MAC205を制御して無線アクセスポイントとの無線LAN通信の制御を行う。なお、LAN制御部302はこれに限らず、有線LAN通信の制御など、TCP/IP通信やACK(確認応答)パケットを用いた通信といった他の通信方式の制御を行いうる。
The
TCP/IP制御部303は、LAN制御部302を利用して、他の通信装置20との間でTCP/IP方式の通信プロトコル処理および通信制御を行う。なお、TCP/IP制御部303は、TCP/IPに限らず、ACK(確認応答)パケット通信を使用する他のプロトコルを利用してもよい。以下、TCP/IP制御部303における機能モジュールについて説明する。
The TCP/
受信処理部304は、LAN制御部302を介して他の通信装置20からデータパケット等のパケット/情報を受信するための処理を行う。パケットのデータはTCPにおけるMSS(Maximum Segment Size)以上のサイズを有しうる。送信処理部305は、LAN制御部302を介してACKパケットおよび/または遅延ACKパケットの送信を行うための処理を行う。例えば、送信処理部305は、タイマ部204を使用し、受信処理部304による1つ目のデータパケットの受信から所定の遅延時間が経過する前に受信されたデータパケットに対するACKパケットを一つにまとめ、遅延ACKパケットとして送信する。ただし、遅延時間が経過する前であっても、遅延ACK送信のための基準パケット数(遅延ACKパケットを送信するために必要な受信データパケット数)のデータパケットが受信処理部304により受信された場合、送信処理部305は遅延ACKパケットを送信する。なお、遅延時間の初期値と、遅延ACK送信のための基準パケット数の初期値は、予め通信装置10に設定されてもよく、また、ユーザによる操作等を介して、後述するACK制御部308により設定されてもよい。
The
バッファ管理部306はRAM201等に設けられるバッファを管理し、バッファに対して各種データを記憶または削除するための制御を行う。本実施形態では、バッファ管理部306は、以下において受信バッファと称するバッファを管理し、該受信バッファの空き容量を表すウインドウサイズの記憶に関する制御を行う。記憶されるウインドウサイズは、他の通信装置20に通知されたウインドウサイズであってもよいし、他の通信装置20に通知されていないウインドウサイズであってもよい。なお、本実施形態ではバッファ管理部306による制御対象の記憶媒体としてRAM201を利用する例を示すが、これに限らず、補助記憶装置(不図示)など他の記憶部を利用してもよい。パケットカウント部307は、受信処理部304により受信されたデータパケットをカウントする。ACK制御部308は、遅延ACKパケットの送信に対する制御を行う。例えばACK制御部308は、遅延ACKパケットの通信頻度、すなわち遅延ACK送信のための基準パケット数を制御する。
A
[第1実施形態における処理の流れ]
図4は、本実施形態による通信装置10により実行される処理のフローチャートである。具体的には、図4は、通信装置10がデータパケットを受信してから条件に応じてACK送信頻度を変更して遅延ACKパケットを送信する手順を示すフローチャートである。図4に示すフローチャートは、通信装置10のCPU203がROM202に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウエアの制御を実行することにより実現されうる。
[Flow of processing in the first embodiment]
FIG. 4 is a flowchart of processing executed by the
S401において、受信処理部304は、他の通信装置20からLAN制御部302を介してデータパケットを受信する。
In S<b>401 , the
S402以降の処理は、TCP/IP制御部303における処理である。S402において、バッファ管理部306は、受信処理部304により受信されたデータパケットを受信バッファに格納する。なお、他の通信装置20から受信されたデータパケットは、LAN制御部302が管理するバッファに一旦格納されてもよく、その場合は、バッファ管理部306は、LAN制御部302により管理されたバッファに格納されているデータパケットを、受信バッファに格納する。また、バッファ管理部306は、データパケットを受信バッファに格納後に、受信バッファの空き容量(ウインドウサイズ)を更新する。また、S402において、送信処理部305は、タイマ部204で計時されている時間を計測する。S402において、タイマ部204が計時を開始していない(起動していない)場合、送信処理部305はタイマ部204による計時を開始させる。すなわち、タイマ部204は、ACKパケットが送信されていない1つ目のデータパケットの受信からの時間を計時する。
Processing after S402 is processing in the TCP/
S403において、ACK制御部308は、バッファ管理部306により管理されているウインドウサイズを所定の閾値を比較する。ウインドウサイズが所定の閾値より小さい場合(S403でYES)、処理はS404に進み、ウインドウサイズが所定の閾値以上の場合(S403でNO)、処理はS405に進む。所定の閾値は、例えば、予め通信装置10に設定されており、遅延ACK送信のための基準パケット数にMSSを乗じた値を最小値とし、それ以上の値とすることができる。
In S403, the
S404において、ACK制御部308は、ACK送信頻度を高くなるように設定する。すなわち、ACK制御部308は、遅延ACK送信のための基準パケット数を現在の値よりも小さい値に変更する。変更後の値は、例えば、現在設定されている値未満で1を最小値とする整数値であればよい。
In S404,
S405において、パケットカウント部307は、受信処理部304により受信されたデータパケット数(受信データパケット数)を、遅延ACK送信のための基準パケット数と比較する。受信データパケット数が、遅延ACK送信のための基準パケット数以上の場合(S405でYES)、処理はS406に進み、受信データパケット数が、遅延ACK送信のための基準パケット数未満の場合(S405でNO)、処理はS409に進む。
In S405, the
S406において、バッファ管理部306は、受信バッファに格納されているパケットのデータが減った(削除された)ことを受けて、ウインドウサイズが広がるようにウインドウサイズを更新し、パケットカウント部307は、カウントしていた受信データパケット数を初期化する(0にする)。なお、受信バッファに格納されているパケットのデータは、ユーザアプリケーション等(上位レイヤにおける処理)により引き抜かれることにより、減らされ得る。また、受信処理部304は、タイマ部204を初期化する(0にする)。S407において、送信処理部305は、LAN制御部302を介して遅延ACKパケットを送信する。遅延ACKパケットには、バッファ管理部306により管理される受信バッファにおけるウインドウサイズの情報が含まれうる。すなわち、更新された(広がった)ウインドウサイズが通知されうる。
In S406, the
S408において、ACK制御部308は、ACK送信頻度を元に戻す。すなわち、ACK制御部308は、遅延ACK送信のための基準パケット数を初期値(S404における変更前の値)に変更する。
In S408, the
受信データパケット数が、遅延ACK送信のための基準パケット数未満の場合に進むS409において、ACK制御部308は、タイマ部204により計時されている時間(タイマ部204の経過時間)を所定の遅延時間と比較する。タイマ部204の経過時間が遅延時間未満の場合(S409でYES)、処理はS410に進み、タイマ部204の経過時間が遅延時間以上の場合(S409でNO)、処理はS406に進む。S410において、パケットカウント部307は、受信処理部304により受信されたデータパケットのカウント数を1増やし、処理はS408へ進む。
In S409, which proceeds when the number of received data packets is less than the reference number of packets for delayed ACK transmission,
以上、説明したように、通信装置10は管理している現在の受信バッファにおけるウインドウサイズに応じて、ACK送信頻度を変更する。すなわち、ウインドウサイズが所定の閾値未満の場合、通信装置10は、ACK送信頻度を高めるために、遅延ACK送信のための基準パケット数を、より小さい値に設定する。これにより、変更前のACK送信頻度では遅延時間の経過後に送信されるはずであった遅延ACKの数を削減することができ、通信性能の低下を防止することが可能となる。
As described above, the
(第2実施形態)
以下、第2実施形態の通信処理を説明する。本実施形態では、通信装置10は、受信バッファが広がったことを通知する(遅延)ACKを、他の通信装置20が正常に受信できなかったと想定した場合に、模擬的なウインドウサイズを設定する。そして、通信装置10は、当該模擬的なウインドウサイズに基づいてACK送信頻度を制御する。なお、本実施形態において、第1実施形態と同様の図、および図中と同じ要素に関しては説明を省略する。本実施形態における通信システムの構成および通信装置10の構成は、第1実施形態と同様である。
(Second embodiment)
Communication processing according to the second embodiment will be described below. In this embodiment, the
[第2実施形態における処理の流れ]
図5は、本実施形態による通信装置10により実行される処理のフローチャートである。具体的には、図5は、通信装置10がデータパケットを受信してから条件に応じてACK送信頻度を変更して遅延ACKパケットを送信する手順を示すフローチャートである。図5に示すフローチャートは、通信装置10のCPU203がROM202に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウエアの制御を実行することにより実現されうる。
[Flow of processing in the second embodiment]
FIG. 5 is a flowchart of processing executed by the
S501~S502の処理は、図4のS401~S402の処理と同様である。S503において、ACK制御部308は、送信処理部305により送信された最後のACKパケットでウインドウサイズが広がったことを他の通信装置20に通知したかを確認する。例えば、ACK制御部308は、送信処理部305により送信された最後のACKパケットに、広がったウインドウサイズの情報が含まれていたかを確認する。ウインドウサイズが広がったことを通知している場合(S503でYES)、処理はS504に進み、ウインドウサイズが広がったことを通知していない場合(S503でNO)、処理はS512に進む。
The processing of S501-S502 is the same as the processing of S401-S402 in FIG. In S503, the
S504において、ACK制御部308は、パケットロス等(通信状況等により他の通信装置がACKパケットの受信に失敗したこと)により、他の通信装置20がウインドウサイズの広がったことを認識していないことを想定して、模擬的なウインドウサイズを設定する。なお、模擬的なウインドウサイズとは、直近のACKよりも1つ前のACKで通知したウインドウサイズのことである。そして、ACK制御部308は、設定した模擬的なウインドウサイズを所定の閾値を比較する。模擬的なウインドウサイズが所定の閾値より小さい場合(S504でYES)、処理はS505に進み、模擬的なウインドウサイズが所定の閾値以上の場合(S504でNO)、処理はS508に進む。なお、所定の閾値は、図4のS403の処理で用いた閾値と同様に、例えば、予め通信装置10に設定されており、遅延ACK送信のための基準パケット数にMSSを乗じた値を最小値とし、それ以上の値とすることができる。
In S504, the
S505の処理は、図4のS404の処理と同様である。S506において、ACK制御部308は、S504の処理において設定した模擬的なウインドウサイズを、他の通信装置20から受信したデータパケットのデータサイズ(受信データサイズ)の合計と比較する。当該データパケットは、送信処理部305によりウインドウサイズが広がったことを通知したACKパケットが送信された後に他の通信装置20から受信したデータパケットである。模擬的なウインドウサイズが受信データサイズの合計より小さい場合(S506でYES)、処理はS507に進み、模擬的なウインドウサイズが受信データサイズの合計以上の場合(S506でNO)、処理はS508に進む。
The processing of S505 is the same as the processing of S404 in FIG. In S<b>506 , the
S507において、ACK制御部308は、ACK送信頻度を元に戻す。すなわち、ACK制御部308は、遅延ACK送信のための基準パケット数を初期値(S505における変更前の値)に変更する。なお、S506の判定で処理がS507に進んだ場合は、模擬的なウインドウサイズを設定した理由であった、他の通信装置20がウインドウサイズの広がったことを認識していない可能性がなくなったことを意味する。そのため、設定した模擬的なウインドウサイズはS507において不要となるため、ACK制御部308はこれを破棄してもよい。S508~S511の処理は、図4のS405~S408の処理と同様である。S512~S513の処理は、S403~S404の処理と同様である。S514~S515の処理は、S409~S410の処理と同様である。
In S507, the
以上、説明したように、通信装置10は、模擬的なウインドウサイズに応じて、ACK送信頻度を調整し、遅延ACK送信のための基準パケット数を、より小さい値に変更する。これにより、パケットロス等が原因で、他の通信装置20が通信装置10のウインドウサイズが広がったことを認識していない場合でも、変更前のACK送信頻度では遅延時間を待って送信されるはずであった遅延ACKパケットの数を削減することができる。その結果、通信性能の低下を防止することが可能となる。
As described above, the
(第3実施形態)
以下、第3実施形態の通信処理を説明する。本実施形態では、通信装置10は、条件に応じて、ACKパケットで通知するウインドウサイズを調整する。なお、本実施形態において、第1実施形態と同様の図、および図中と同じ要素に関しては説明を省略する。本実施形態における通信システムの構成および通信装置10の構成は、第1実施形態と同様である。
(Third embodiment)
Communication processing according to the third embodiment will be described below. In this embodiment, the
[第3実施形態における処理の流れ]
図6は、本実施形態による通信装置10により実行される処理のフローチャートである。具体的には、図6は、通信装置10がデータパケットを受信してから条件に応じてACK送信頻度を変更して遅延ACKパケットを送信する手順を示すフローチャートである。図5に示すフローチャートは、通信装置10のCPU203がROM202に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウエアの制御を実行することにより実現されうる。
[Flow of processing in the third embodiment]
FIG. 6 is a flowchart of processing executed by the
S601~S604の処理は、図4のS401~S404の処理と同様である。なお、本フローチャートにおいて、S604の処理を含めなくてもよい。すなわち、S604でNOの場合に、ACK制御部308は、遅延ACK送信のための基準パケット数を一時的に小さい値に変更しなくてもよい。
The processing of S601-S604 is the same as the processing of S401-S404 in FIG. Note that the process of S604 may not be included in this flowchart. That is, in the case of NO in S604,
S605において、ACK制御部308は、ウインドウサイズが、ACK送信頻度で受信することができるデータサイズ(遅延ACK送信のための基準パケット数に1パケットのデータサイズ(例えばMSS)を乗じた値)の整数倍であるか否かを確認する。ウインドウサイズがACK送信頻度で受信することができるデータサイズの整数倍でない場合(S605でYES)、処理はS506に進み、ウインドウサイズがACK送信頻度で受信することができるデータサイズの整数倍である場合(S605でNO)、処理はS507に進む。
In S605, the
S606において、ACK制御部308は、送信処理部305により送信されるACKパケットで通知するウインドウサイズを、ACK送信頻度で受信することができるデータサイズの整数倍に調整する。例えば、1データパケットのデータサイズがMSSであり、現在のウインドウサイズが7MSS(7データパケット分)で遅延ACK送信のための基準パケット数が2である場合、ACK制御部308は、2の整数倍である6MSS(6データパケット分)をウインドウサイズとして、ACKパケットで通知することを決定する。S607~S612の処理は、図4のS405~S410の処理と同様である。なお、S608ではウインドウサイズは更新されない。
In S606, the
以上、説明したように、通信装置10はウインドウサイズに応じて、ACK送信頻度を現在の設定よりも小さい値に変更する。その際、通信装置10は、送信するACKで通知するウインドウサイズを、ACK送信頻度で受信することができるデータサイズの整数倍に調整する。ACK送信頻度に満たない端数分のパケットを受信する可能性がある場合でも、ウインドウサイズを調整することで、変更前のACK送信頻度では遅延時間を待って送信されるはずであった遅延ACKの数を削減することができ、通信性能の低下を防止することが可能となる。
As described above, the
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。 The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the claims are appended to make public the scope of the invention.
10 通信装置、20 他の通信装置 10 communication device, 20 other communication device
Claims (11)
他の通信装置からパケットを受信する受信手段と、
前記受信手段により受信されたパケットのデータを受信バッファに格納してする格納手段と、
前記受信手段により受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数を制御する制御手段と、
前記受信手段により受信されたパケットの数が、前記基準パケット数以上になった場合に、前記ACKパケットを送信する送信手段と、を有し、
前記制御手段は、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記ACKパケットの送信頻度が高くなるように、前記基準パケット数を制御することを特徴とする通信装置。 A communication device,
receiving means for receiving packets from other communication devices;
storage means for storing data of the packet received by the receiving means in a reception buffer;
control means for controlling a reference number of packets used as a basis for sending acknowledgment (ACK) packets for packets received by said receiving means;
transmitting means for transmitting the ACK packet when the number of packets received by the receiving means exceeds the reference number of packets;
The communication device, wherein the control means controls the reference number of packets so that the frequency of transmission of the ACK packets increases when a window size indicating the free space of the reception buffer is less than a predetermined threshold. .
前記判定手段により前記ウインドウサイズが前記基準パケット数のパケットのデータサイズの整数倍でないと判定された場合に、前記基準パケット数のパケットのデータサイズの整数倍となるように、前記ウインドウサイズを更新する更新手段と、
を更に有することを特徴とする請求項1から6のいずれか1項に記載の通信装置。 determining means for determining whether the window size is an integral multiple of the data size of the reference number of packets when the window size is less than the predetermined threshold;
When the determining means determines that the window size is not an integer multiple of the packet data size of the reference number of packets, the window size is updated so as to be an integer multiple of the data size of the reference number of packets. an update means to
7. A communication device according to any one of claims 1 to 6, further comprising:
他の通信装置からパケットを受信する受信工程と、
前記受信工程において受信されたパケットのデータを受信バッファに格納する格納工程と、
前記受信工程において受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数を制御する制御工程と、
前記受信工程において受信されたパケットの数が、前記基準パケット数以上になった場合に、前記ACKパケットを送信する送信工程と、を有し、
前記制御工程では、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記ACKパケットの送信頻度が高くなるように、前記基準パケット数を制御することを特徴とする制御方法。 A control method for a communication device,
a receiving step of receiving packets from another communication device;
a storing step of storing the data of the packet received in the receiving step in a reception buffer;
a control step of controlling a reference number of packets used as a reference for sending acknowledgment (ACK) packets for packets received in the receiving step;
a transmission step of transmitting the ACK packet when the number of packets received in the reception step is equal to or greater than the reference number of packets;
In the control step, the reference number of packets is controlled so as to increase the frequency of transmission of the ACK packets when a window size indicating the free space of the reception buffer is less than a predetermined threshold. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019208238A JP7286513B2 (en) | 2019-11-18 | 2019-11-18 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019208238A JP7286513B2 (en) | 2019-11-18 | 2019-11-18 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021082925A JP2021082925A (en) | 2021-05-27 |
JP7286513B2 true JP7286513B2 (en) | 2023-06-05 |
Family
ID=75963347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019208238A Active JP7286513B2 (en) | 2019-11-18 | 2019-11-18 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7286513B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000022744A (en) | 1998-06-30 | 2000-01-21 | Toshiba Corp | Packet communication system, packet communication device and packet communication method |
JP2005086375A (en) | 2003-09-05 | 2005-03-31 | Ntt Docomo Inc | Packet volume control method, communication system, communication apparatus, and program |
WO2011052201A1 (en) | 2009-11-02 | 2011-05-05 | パナソニック株式会社 | Communication terminal and communication method |
JP2016019198A (en) | 2014-07-09 | 2016-02-01 | キヤノン株式会社 | Communication apparatus, control method for communication apparatus, and program |
US20180368021A1 (en) | 2017-06-16 | 2018-12-20 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting tcp ack in communication system |
-
2019
- 2019-11-18 JP JP2019208238A patent/JP7286513B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000022744A (en) | 1998-06-30 | 2000-01-21 | Toshiba Corp | Packet communication system, packet communication device and packet communication method |
JP2005086375A (en) | 2003-09-05 | 2005-03-31 | Ntt Docomo Inc | Packet volume control method, communication system, communication apparatus, and program |
WO2011052201A1 (en) | 2009-11-02 | 2011-05-05 | パナソニック株式会社 | Communication terminal and communication method |
JP2016019198A (en) | 2014-07-09 | 2016-02-01 | キヤノン株式会社 | Communication apparatus, control method for communication apparatus, and program |
US20180368021A1 (en) | 2017-06-16 | 2018-12-20 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting tcp ack in communication system |
Also Published As
Publication number | Publication date |
---|---|
JP2021082925A (en) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924421B2 (en) | Packet transmission method, terminal, network device, and communications system | |
US9276866B2 (en) | Tuning congestion notification for data center networks | |
US9155046B2 (en) | Optimizing semi-active workloads | |
US8306062B1 (en) | Method and apparatus of adaptive large receive offload | |
US20160302197A1 (en) | Managing pending acknowledgement packets in a communication device | |
EP3806366A1 (en) | Method for controlling retransmission, communication interface, and electronic device | |
EP4156766A1 (en) | Data packet sending method and apparatus | |
US20210336892A1 (en) | Packet processing method and apparatus | |
EP2498474A1 (en) | Communication terminal and communication method | |
US20140297791A1 (en) | Communication apparatus, method of controlling the same, and storage medium | |
JP7286513B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM | |
US9762511B2 (en) | Communication device | |
EP3136665B1 (en) | Method for processing data packet of rlc layer and rlc entity | |
US9768935B2 (en) | Communication apparatus, method for controlling communication apparatus, and program | |
US8532111B2 (en) | Transmission apparatus, transmission method, and program | |
JP6217424B2 (en) | Control apparatus and control method | |
JP6223942B2 (en) | Wireless communication apparatus, wireless communication program, and method capable of changing aggregation amount according to wireless communication environment | |
WO2021212438A1 (en) | Data transmission method, apparatus and system, terminal device, and storage medium | |
JP2016019198A (en) | Communication apparatus, control method for communication apparatus, and program | |
JP7214396B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD AND PROGRAM | |
JP2019114947A (en) | Communication device, control method of communication device, and program | |
JP2004260634A (en) | Data transmitter, and method and program for transmitting data | |
CN117294402A (en) | Retransmission processing method and device for message segments, electronic equipment and storage medium | |
WO2019044036A1 (en) | Communication device and communication method | |
US20150295957A1 (en) | Data transmitting device, data transmitting method, and communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230418 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230524 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7286513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |