JP2010074855A - Communication device, communication system, method of detecting missing packet, and program for detecting missing packet - Google Patents

Communication device, communication system, method of detecting missing packet, and program for detecting missing packet Download PDF

Info

Publication number
JP2010074855A
JP2010074855A JP2009270387A JP2009270387A JP2010074855A JP 2010074855 A JP2010074855 A JP 2010074855A JP 2009270387 A JP2009270387 A JP 2009270387A JP 2009270387 A JP2009270387 A JP 2009270387A JP 2010074855 A JP2010074855 A JP 2010074855A
Authority
JP
Japan
Prior art keywords
packet
buffer
order
network
seq
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009270387A
Other languages
Japanese (ja)
Other versions
JP5046197B2 (en
Inventor
Atsushi Enomoto
敦之 榎本
Hideyuki Shimonishi
英之 下西
Junichi Higuchi
淳一 樋口
Yoichi Tobitaka
洋一 飛鷹
Jun Suzuki
順 鈴木
Takashi Yoshikawa
隆士 吉川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009270387A priority Critical patent/JP5046197B2/en
Publication of JP2010074855A publication Critical patent/JP2010074855A/en
Application granted granted Critical
Publication of JP5046197B2 publication Critical patent/JP5046197B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To detect a packet loss speedily by management of a sequence number of only one stage in a receiver when a packet sequence is not reversed in each network in a multipath environment, where the receiver is connected to a transmitter by a plurality of networks. <P>SOLUTION: A communication device includes: a plurality of sequence buffers that store packets until a sequence is checked and are installed for each network; and a missing detection section for determining that missing has occurred when not less than one packet is stored in all of the sequence buffers. Such a configuration is adopted, characteristics, where the packet is stored in the sequence buffer of all of the networks, are watched in the occurrence of the packet loss at the missing detection section, and a packet residence state to a sequence secure buffer installed for each network is monitored. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、複数経路にデータを分散させて帯域拡大を図る通信技術に関し、特に、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1系統のみのシーケンス番号を用いて、パケットロス(欠落)を高速に検出するための通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラムに関する。   The present invention relates to a communication technique for spreading data by distributing data in a plurality of paths, and in particular, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, the order of packets in each network. The present invention relates to a communication apparatus, a communication system, a packet loss detection method, and a packet loss detection program for detecting packet loss (missing) at high speed using a sequence number of only one system when no reverse rotation occurs.

従来、送信端末と受信端末の間の通信で用いられる1つの通信フローのデータを複数のフローに分岐させ、元のフローを復元する通信方法がある。このような通信方法として、例えば送信端末が属する第1のLAN(Local Area Network)と受信端末が属する第2のLANに、それぞれゲートウェイを設置し、送信端末から送出されたTCP(Transmission Control Protocol)コネクションのデータを、第1のLANのゲートウェイにおいてパケット単位でそれぞれの通信経路に振り分け、第2のLANのゲートウェイでは複数の通信経路から受信したパケットの順序逆転をTCPのシーケンス番号に従って補正してデータを復元する方法が提案されている(たとえば、特許文献1参照。)。   Conventionally, there is a communication method in which data of one communication flow used in communication between a transmission terminal and a reception terminal is branched into a plurality of flows to restore the original flow. As such a communication method, for example, a TCP (Transmission Control Protocol) transmitted from a transmission terminal is installed by setting a gateway in each of a first LAN (Local Area Network) to which a transmission terminal belongs and a second LAN to which a reception terminal belongs. The connection data is distributed to each communication path in packet units in the first LAN gateway, and the second LAN gateway corrects the order reversal of packets received from a plurality of communication paths according to the TCP sequence number. Has been proposed (see, for example, Patent Document 1).

また、従来、複数の通信回線を効率的に利用し、回線利用率を向上させる方法として、端末のTCPに機能を追加して、従来では1本のTCPコネクションを用いていた通信を複数のTCPコネクションを利用するように変更する方法がある(例えば、特許文献2参照)。この方法では、送信端末と受信端末間の通信で1つの通信フローで行われていた通信を、複数の通信フローに分割して並列的に送る。送信端末から受信端末へとデータを送信する場合、送信端末の通信プロトコルは、1つの通信フローのデータを分割して複数の通信フローに振り分け、分割した複数の通信フローを元の1つの通信フローに復元するための復元情報として新たなヘッダをTCP/IPパケットに付加して(つまり2系統のシーケンス番号を用いて)、複数の通信フローでデータを送信する。受信端末の通信プロトコルは、複数の通信フローから受信したデータの復元情報を参照し、1つの通信フローを復元する。   In addition, as a method for efficiently using a plurality of communication lines and improving the line utilization rate, a function has been added to the TCP of the terminal so that communication that conventionally uses one TCP connection can be changed to a plurality of TCPs. There is a method of changing to use a connection (for example, see Patent Document 2). In this method, communication performed in one communication flow in communication between the transmission terminal and the reception terminal is divided into a plurality of communication flows and sent in parallel. When data is transmitted from the transmission terminal to the reception terminal, the communication protocol of the transmission terminal divides the data of one communication flow and distributes it to a plurality of communication flows, and the plurality of divided communication flows are one original communication flow. A new header is added to the TCP / IP packet as restoration information for restoration to (i.e., using two system sequence numbers), and data is transmitted in a plurality of communication flows. The communication protocol of the receiving terminal refers to the restoration information of data received from a plurality of communication flows, and restores one communication flow.

特開2000−261478号公報JP 2000-261478 A 特開2003−110604号公報JP 2003-110604 A

第1の課題として、パケットロスの検出が遅いという問題があった。   The first problem is that packet loss detection is slow.

従来技術1の通信方法では、端末のTCPが1つの通信経路で使用されることを前提として、シーケンス(順序)異常により欠落判定を行うように設計されているため、複数の通信経路を用いて通信を行うと、通信経路の遅延時間の差により順序逆転が発生した場合に、パケット欠落(パケットロス、パケット廃棄も同義)が発生したと誤検出してしまう。つまり、パケット廃棄か順序逆転かを見極められない。この問題に対処するために、シーケンス(順序)異常による欠落判定を行わないようにすると、再送タイムアウトを用いた欠落判定しかできなくなるため、パケットロスの検出が遅くなるという問題があった。   In the communication method of the prior art 1, since it is designed to perform missing determination by sequence (order) abnormality on the assumption that the TCP of the terminal is used in one communication path, a plurality of communication paths are used. When communication is performed, when a sequence inversion occurs due to a difference in delay time of communication paths, it is erroneously detected that a packet loss (packet loss and packet discard is synonymous) has occurred. That is, it cannot be determined whether the packet is discarded or the order is reversed. In order to cope with this problem, if the omission determination due to the sequence (order) abnormality is not performed, only omission determination using a retransmission timeout can be performed, so that there is a problem that detection of packet loss is delayed.

TCPはパケットロスの検出を再送の契機としているため、パケットロスの検出が遅くなると、再送の開始も遅くなり、結果としてスループットが低下し、通信経路の性能を充分に発揮することができない。   Since TCP uses packet loss detection as a trigger for retransmission, if the detection of packet loss is delayed, the start of retransmission is also delayed. As a result, throughput is lowered and communication path performance cannot be fully exhibited.

第2の課題として、コスト増を招くという問題があった。   As a second problem, there was a problem of increasing the cost.

従来技術2の通信方法では、2段のヘッダを設け、2系統のシーケンス番号を用いる必要があり、2系統のシーケンス番号用いると、転送処理ならびに管理機構などが複雑化し、コスト増を招くという問題があった。   In the communication method of the prior art 2, it is necessary to provide a two-stage header and use two system sequence numbers. If two system sequence numbers are used, the transfer process and the management mechanism become complicated and the cost increases. was there.

本発明の目的は、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1系統のみのシーケンス番号を用いて、パケットロスを高速に検出する(つまり、1系統のみのシーケンス番号を用いて、パケット廃棄か順序逆転かを高速に見極められるようにする)ための通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラムを提供することにある。   An object of the present invention is to use a sequence number of only one system in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when packet reversal in each network does not occur. , A communication device, a communication system, a packet loss detection method, and a packet loss detection method for detecting packet loss at high speed (that is, using only one system sequence number so that packet discard or order reversal can be determined at high speed), It is to provide a packet loss detection program.

本発明の第1の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、再送により送付されたパケットを蓄積する追越バッファと、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部を備えることを特徴とする通信装置が提供される。   According to a first aspect of the present invention, when a transmitter and a receiver are connected by a plurality of networks that do not cause packet order reversal in the network, the network stores packets until the order is confirmed. A plurality of order buffers installed for each, and a sequence number added to the packet are confirmed, an extraction control unit for retrieving the packet from the order buffer while restoring the flow order, and an additional for storing the packet sent by retransmission. There is provided a communication apparatus comprising: an over buffer; and a retransmission storage control unit that distributes storage destinations to the order buffer and the overtaking buffer according to a sequence number.

本発明の第2の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、前記受信機が、順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、再送により送付されたパケットを蓄積する追越バッファと、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部を備えることを特徴とする通信システムが提供される。   According to the second aspect of the present invention, when the transmitter and the receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, packets are received until the receiver performs order confirmation. A plurality of sequence buffers installed in each network, a sequence number added to the packet is confirmed, a fetch control unit that retrieves the packet from the sequence buffer while restoring the flow sequence, and sent by retransmission There is provided a communication system comprising: an overtaking buffer for accumulating packets; and a retransmission storage control unit that assigns storage destinations to the order buffer and the overtaking buffer according to a sequence number.

本発明の第3の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、前記受信機が、順序バッファにおいて順序確認を行うまでパケットを蓄積し、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、追越バッファに再送により送付されたパケットを蓄積し、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分けることを特徴とする通信方法が提供される。   According to a third aspect of the present invention, when the transmitter and the receiver are connected by a plurality of networks that do not cause a packet order reversal in the network, the receiver checks the order in the order buffer. The packet is accumulated until it is done, the sequence number added to the packet is confirmed, the packet is taken out from the order buffer while restoring the flow order, the packet sent by resending to the overtaking buffer is accumulated, and the sequence number is There is provided a communication method characterized by allocating storage destinations to the order buffer and the overtaking buffer.

本発明の第4の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、前記受信機が、順序バッファにおいて順序確認を行うまでパケットを蓄積し、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、追越バッファに再送により送付されたパケットを蓄積し、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分けることを特徴とする通信方法をコンピュータに行わせるためのプログラムが提供される。   According to the fourth aspect of the present invention, when the transmitter and the receiver are connected by a plurality of networks in which the packet order inversion does not occur in the network, the receiver checks the order in the order buffer. The packet is accumulated until it is done, the sequence number added to the packet is confirmed, the packet is taken out from the order buffer while restoring the flow order, the packet sent by resending to the overtaking buffer is accumulated, and the sequence number is There is provided a program for causing a computer to perform a communication method characterized by allocating storage destinations to the order buffer and the overtaking buffer.

次に、本発明の効果について説明する。   Next, the effect of the present invention will be described.

第1の効果は、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。   The first effect is that, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when sequence reversal of packets in each network does not occur, only one-stage sequence number is managed. By using this, packet loss can be detected at high speed.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that the packet is stored in the order buffer of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network. It is because it monitors.

また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視するからである。   In addition, in the storage control unit in the receiver, when an abnormality occurs, the packet cannot be taken out from the order buffer, and the overflow of the order buffer installed for each network is monitored by paying attention to the characteristic that the buffer overflows. Because.

また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視して障害検出する際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。   Also, this is because the storage control unit in the receiver cannot monitor the overflow of the sequential buffer installed in each network, paying attention to the characteristic that the packet cannot be taken out from the sequential buffer when an abnormality occurs and the buffer overflows. This is because the capacity determination unit in the receiver sets the size of the order buffer so as to be the minimum necessary based on the delay difference and the bandwidth between the networks.

第2の効果は、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。   The second effect is that in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, the sequence number of only one stage is managed when the packet order inversion does not occur in each network. By using this, retransmission at the time of packet loss can be started at high speed.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that the packet is stored in the order buffer of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network. This is because by monitoring, it is possible to detect missing at high speed without using the retransmission timer.

また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視し、バッファあふれを再送開始の契機とするからである。   Also, this is because the storage control unit in the receiver cannot monitor the overflow of the sequential buffer installed in each network, paying attention to the characteristic that the packet cannot be taken out from the sequential buffer when an abnormality occurs and the buffer overflows. This is because a buffer overflow is a trigger for starting retransmission.

また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視してバッファあふれを再送開始の契機とする際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。   Also, this is because the storage control unit in the receiver cannot monitor the overflow of the sequential buffer installed in each network, paying attention to the characteristic that the packet cannot be taken out from the sequential buffer when an abnormality occurs and the buffer overflows. This is because, when the buffer overflow is triggered by the start of retransmission, the capacity determination unit in the receiver sets the size of the order buffer so as to be the minimum necessary based on the delay difference and the bandwidth between the networks.

本発明の第1の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 取出制御部22における順序確認動作221を示す流れ図である。6 is a flowchart showing an order confirmation operation 221 in the take-out control unit 22; 取出制御部22における欠落検出動作222を示す流れ図である。5 is a flowchart showing a missing detection operation 222 in the take-out control unit 22. 欠落検出動作222の正常時の動作例を示すブロック図である。6 is a block diagram illustrating an example of an operation when the missing detection operation 222 is normal. FIG. 欠落検出動作222の異常時の動作例を示すブロック図である。FIG. 11 is a block diagram illustrating an example of an operation when a missing detection operation 222 is abnormal. 本発明の第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 取出制御部22Aにおける順序確認動作221Aを示す流れ図である。It is a flowchart which shows the order confirmation operation | movement 221A in 22 A of extraction control parts. 取出制御部22Aにおける欠落検出動作222Aを示す流れ図である。It is a flowchart which shows the missing | missing detection operation | movement 222A in the extraction control part 22A. 取出制御部22Aにおけるパケット取出動作223を示す流れ図である。It is a flowchart which shows the packet extraction operation | movement 223 in the extraction control part 22A. 欠落検出動作222Aの正常時の動作例を示すブロック図である。It is a block diagram which shows the operation example at the time of normal of the missing detection operation | movement 222A. 欠落検出動作222Aの異常時の動作例を示すブロック図である。It is a block diagram which shows the operation example at the time of abnormality of the missing detection operation | movement 222A. 本発明の第3の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 3rd Embodiment of this invention. 格納制御部271の動作を示す流れ図である。5 is a flowchart showing the operation of a storage control unit 271. 本発明の第4の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 4th Embodiment of this invention. 本発明の第5の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 5th Embodiment of this invention. 格納制御部271Aの動作を示す流れ図である。It is a flowchart which shows operation | movement of the storage control part 271A.

以下、図面を参照して本発明を実施するための形態について詳細に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

以下の説明においては、1対の送信機と受信機との間の通信を、1フローと定義する。また、あるフローが流れる経路をパスと定義する。例えば、1フローを4つの網(ネットワーク)に分散させて通信する場合は、4パスを用いて通信すると言い、2つのフローを4つの網(ネットワーク)に分散させて通信する場合は、8つのパスを用いて通信するという。ただし以下の説明では、1つのフローに着目して説明を行うため、結果的に網とパスが同義になっている。   In the following description, communication between a pair of transmitter and receiver is defined as one flow. Also, a route through which a certain flow flows is defined as a path. For example, when communicating by distributing one flow to four networks (networks), it is said that communication is performed using four paths. When communicating by distributing two flows to four networks (networks), there are eight Communicate using a path. However, in the following description, since description will be made focusing on one flow, as a result, the network and the path are synonymous.

(第1の実施の形態)
(構成の説明)
図1を参照して、本実施の形態における構成について説明する。
(First embodiment)
(Description of configuration)
With reference to FIG. 1, the structure in this Embodiment is demonstrated.

送信機1は、データ送信部11、SEQ付与部12、再送バッファ13、振り分け部14、再送タイマ15を備える。   The transmitter 1 includes a data transmission unit 11, a SEQ addition unit 12, a retransmission buffer 13, a distribution unit 14, and a retransmission timer 15.

データ送信部11は、受信機2に対して送信するデータを生成し、SEQ付与部12に渡す。一般的にはサーバアプリケーションなどが、データ送信部にあたる。   The data transmitter 11 generates data to be transmitted to the receiver 2 and passes it to the SEQ adder 12. In general, a server application or the like corresponds to the data transmission unit.

SEQ付与部12は、データ送信部12から受信機2に対して送信するデータを受け取り、前記データを網31〜網34で転送可能な大きさに分割し、分割した個々のデータ(以下パケットと呼ぶ)に対して転送に必要なヘッダや整序番号(シーケンスナンバーともいう、以下SEQと表記する)を設定し、再送バッファ13に渡す。   The SEQ grant unit 12 receives data to be transmitted from the data transmission unit 12 to the receiver 2, divides the data into sizes that can be transferred by the networks 31 to 34, and divides the individual data (hereinafter referred to as packets). A header and an ordinal number (also referred to as a sequence number, hereinafter referred to as “SEQ”) necessary for transfer are set and transferred to the retransmission buffer 13.

再送バッファ13は、FIFOバッファであり、以下の動作をおこなう。   The retransmission buffer 13 is a FIFO buffer, and performs the following operations.

(1)SEQ付与部12からSEQつきのパケットを受け取り格納する。   (1) Receive and store a packet with a SEQ from the SEQ grant unit 12.

(2)あらかじめ決められた速度や個数にしたがい、前記パケットの複製を振り分け部14に送る。このとき、再送タイマ15をセットする。   (2) Send a copy of the packet to the distribution unit 14 in accordance with a predetermined speed and number. At this time, the retransmission timer 15 is set.

(3)ACK送信部23より送達確認(ACK)を受け取り、ACKに記載された受信済シーケンスナンバー以下の値の格納パケットを消去する。このとき、再送タイマ15を再セットする。   (3) A delivery confirmation (ACK) is received from the ACK transmission unit 23, and a stored packet having a value equal to or smaller than the received sequence number described in the ACK is deleted. At this time, the retransmission timer 15 is reset.

(4)(3)において、もしACKに記載されたシーケンスナンバーが、前回受信したACKに記載されたシーケンスナンバーと同一である場合は、再送要求(重複ACK)であるとみなし、ACKに記載されたシーケンスナンバー以降のパケットを、(2)と同様あらかじめ決められた速度や個数にしたがい、前記パケットの複製を振り分け部14に再送信する。   (4) In (3), if the sequence number described in the ACK is the same as the sequence number described in the previously received ACK, it is regarded as a retransmission request (duplicate ACK) and is described in the ACK. The packets after the sequence number are retransmitted to the distribution unit 14 in accordance with a predetermined speed and number as in (2).

(5)再送タイマ15の満了時に、前回受信したACKに記載されたシーケンスナンバー以降のパケットを、(2)と同様あらかじめ決められた速度や個数にしたがい、前記パケットの複製を振り分け部14に再送信する。   (5) When the retransmission timer 15 expires, the packet after the sequence number described in the previously received ACK is retransmitted to the distribution unit 14 according to a predetermined speed and number as in (2). Send.

振り分け部14は、再送バッファ13から到着したパケットを、ラウンドロビンにより網31〜34に順次振り分ける。   The distribution unit 14 sequentially distributes the packets arriving from the retransmission buffer 13 to the networks 31 to 34 by round robin.

再送タイマ15は、再送バッファ13からセット要求を受信すると、あらかじめ設定された時間が経過した際に、再送バッファ13に対してタイマ満了通知を行う。   When receiving a set request from the retransmission buffer 13, the retransmission timer 15 notifies the retransmission buffer 13 of expiration of the timer when a preset time has elapsed.

受信機2は、順序バッファ211〜214、欠落検出部20、取出制御部22、ACK送信部23、出力バッファ24、SEQ削除部25、データ受信部26を備える。   The receiver 2 includes an order buffer 211 to 214, a loss detection unit 20, an extraction control unit 22, an ACK transmission unit 23, an output buffer 24, a SEQ deletion unit 25, and a data reception unit 26.

順序バッファ211は、FIFOバッファであり、網31からパケットを受信して一旦格納し、取出制御部22に格納完了通知を行う。また取出制御部22からの指示に従い、出力バッファ24に格納したパケットを転送する。   The order buffer 211 is a FIFO buffer, receives a packet from the network 31, temporarily stores it, and notifies the extraction control unit 22 of storage completion. Further, the packet stored in the output buffer 24 is transferred in accordance with an instruction from the take-out control unit 22.

順序バッファ211は、網31より到着したパケットのシーケンスナンバーと、前回に網31より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。   The order buffer 211 compares the sequence number of the packet arriving from the network 31 with the sequence number of the packet arriving from the network 31 last time. Alternatively, if they are the same, it is assumed that retransmission has occurred, and all stored packets are discarded.

順序バッファ212は、FIFOバッファであり、網32からパケットを受信して一旦格納し、取出制御部22に格納完了通知を行う。また取出制御部22からの指示に従い、出力バッファ24に格納したパケットを転送する。   The order buffer 212 is a FIFO buffer, receives a packet from the network 32, temporarily stores it, and notifies the extraction control unit 22 of storage completion. Further, the packet stored in the output buffer 24 is transferred in accordance with an instruction from the take-out control unit 22.

順序バッファ212は、網32より到着したパケットのシーケンスナンバーと、前回に網32より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。   The order buffer 212 compares the sequence number of the packet arriving from the network 32 with the sequence number of the packet arriving from the network 32 last time, and whether the SEQ of the packet arriving at this time is smaller than the SEQ of the packet arriving at the previous time. Alternatively, if they are the same, it is assumed that retransmission has occurred, and all stored packets are discarded.

順序バッファ213は、FIFOバッファであり、網33からパケットを受信して一旦格納し、取出制御部22に格納完了通知を行う。また取出制御部22からの指示に従い、出力バッファ24に格納したパケットを転送する。   The order buffer 213 is a FIFO buffer, receives a packet from the network 33, temporarily stores it, and notifies the extraction control unit 22 of the storage completion. Further, the packet stored in the output buffer 24 is transferred in accordance with an instruction from the take-out control unit 22.

順序バッファ213は、網33より到着したパケットのシーケンスナンバーと、前回に網33より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。   The order buffer 213 compares the sequence number of the packet arriving from the network 33 with the sequence number of the packet arriving from the network 33 last time, and whether the SEQ of the packet arriving at this time is smaller than the SEQ of the packet arriving at the previous time. Alternatively, if they are the same, it is assumed that retransmission has occurred, and all stored packets are discarded.

順序バッファ214は、FIFOバッファであり、網34からパケットを受信して一旦格納し、取出制御部22に格納完了通知を行う。また取出制御部22からの指示に従い、出力バッファ24に格納したパケットを転送する。   The order buffer 214 is a FIFO buffer, receives a packet from the network 34, temporarily stores it, and notifies the extraction control unit 22 of storage completion. Further, the packet stored in the output buffer 24 is transferred in accordance with an instruction from the take-out control unit 22.

順序バッファ214は、網34より到着したパケットのシーケンスナンバーと、前回に網34より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。   The order buffer 214 compares the sequence number of the packet arriving from the network 34 with the sequence number of the packet arriving from the network 34 last time. Alternatively, if they are the same, it is assumed that retransmission has occurred, and all stored packets are discarded.

欠落検出部20は、取出制御部22からパケット取出完了の通知を受けると、パケットロスの有無を確認する。もしパケットロスを発見した場合は、ACK送信部23に対して再送要求を行う。   Upon receiving notification of completion of packet extraction from the extraction control unit 22, the loss detection unit 20 confirms the presence or absence of packet loss. If a packet loss is found, a retransmission request is made to the ACK transmission unit 23.

取出制御部22は、順序バッファ211〜214からの格納完了通知を受け、順序確認動作221を行い、SEQの順番に従い、出力バッファ24へパケットを転送する。このとき、ACK送信部23に対して、出力バッファ24に転送したパケットのSEQを通知する。   Upon receiving the storage completion notification from the order buffers 211 to 214, the take-out control unit 22 performs the order confirmation operation 221, and transfers the packet to the output buffer 24 according to the sequence of SEQ. At this time, the ACK transmission unit 23 is notified of the SEQ of the packet transferred to the output buffer 24.

ACK送信部23は、以下の動作を行う。なお本願では出力バッファ24へ1パケット転送が完了する毎に1パケットのACKを送信する1ACK方式で説明を行うが、N(Nは1以上)個のパケット到着報告を1つのACKでまとめて行うN_ACK方式を用いても良い。   The ACK transmission unit 23 performs the following operation. In the present application, a description will be given of the 1ACK method in which an ACK of one packet is transmitted every time one packet transfer to the output buffer 24 is completed, but N (N is 1 or more) packet arrival reports are collectively performed by one ACK. The N_ACK method may be used.

(1)取り出し制御部22から出力バッファ24に転送したパケットのSEQ通知を受け、前記SEQを含む送達確認パケット(以下ACKと示す)を生成し、再送バッファ13に通知する。このときACKは、網31〜34のいずれかを用いて通知する。また、通知を受けたSEQを記憶しておく。   (1) Upon receipt of a SEQ notification of the packet transferred from the take-out control unit 22 to the output buffer 24, a delivery confirmation packet (hereinafter referred to as ACK) including the SEQ is generated and notified to the retransmission buffer 13. At this time, ACK is notified using one of the networks 31 to 34. Further, the received SEQ is stored.

(2)欠落検出部20から再送要求を受け、(1)で記憶したSEQを含むACKを再度生成し、再送バッファ13に通知する。このときACKは、網31〜34のいずれかを用いて通知する。(2)におけるACKは、再送バッファ13において重複ACK(再送要求)として扱われる。(2)のACKは複製の上、網31〜34の全部を用いて転送しても良いが、この場合は、再送バッファ13において再送が頻発しないよう、再送バッファ13において、ロック機構を設ける必要がある。   (2) Upon receiving a retransmission request from the loss detection unit 20, an ACK including the SEQ stored in (1) is generated again and notified to the retransmission buffer 13. At this time, ACK is notified using one of the networks 31 to 34. The ACK in (2) is handled as a duplicate ACK (retransmission request) in the retransmission buffer 13. The ACK of (2) may be copied and transferred using all of the networks 31 to 34. In this case, it is necessary to provide a lock mechanism in the retransmission buffer 13 so that retransmission does not occur frequently in the retransmission buffer 13. There is.

出力バッファ24は、FIFOバッファであり、順序バッファ211〜214よりパケットを受け取り格納する。そしてSEQ削除部25から要求があった際に、格納された順にSEQ削除部25に出力する。   The output buffer 24 is a FIFO buffer, and receives and stores packets from the order buffers 211 to 214. When there is a request from the SEQ deleting unit 25, the data is output to the SEQ deleting unit 25 in the order in which they are stored.

SEQ削除部25は、出力バッファ24よりパケットを受け取り、SEQやヘッダを削除して、SEQ削除後のデータをデータ受信部26に転送する。   The SEQ deletion unit 25 receives the packet from the output buffer 24, deletes the SEQ and the header, and transfers the data after the SEQ deletion to the data reception unit 26.

データ受信部26は、SEQ削除部26よりデータを受信する。一般的にはクライアントアプリケーションとも呼ばれる。   The data receiving unit 26 receives data from the SEQ deleting unit 26. Generally called a client application.

網31は、送信機1と受信機2の間を結ぶネットワークである。網31はイーサネット(登録商標)など、網内でのパケットの順序逆転が発生しない網であるとする。図1において網31は1本の線で表現されているが、実際には網内でのパケット順序逆転が発生しない限り、リンクの他に、スイッチ等が存在しても良い。また、網31、32、33、34はそれぞれ物理的、もしくはVLAN等で論理的に遮断されており、互いに交わることがない。   The network 31 is a network that connects between the transmitter 1 and the receiver 2. It is assumed that the network 31 is a network such as Ethernet (registered trademark) that does not reverse the order of packets in the network. In FIG. 1, the network 31 is represented by a single line. However, in practice, a switch or the like may exist in addition to the link as long as packet order inversion does not occur in the network. The networks 31, 32, 33, and 34 are physically or logically cut off by a VLAN or the like, and do not cross each other.

網32〜網34は、網31と同様のネットワークである。   The networks 32 to 34 are the same networks as the network 31.

(動作の説明)
図2の流れ図を参照して、取出制御部22における順序確認動作221を説明する。
(Description of operation)
With reference to the flowchart of FIG. 2, the order confirmation operation 221 in the take-out control unit 22 will be described.

順序バッファ211〜214の何れかに1つのパケットが格納されると、取出制御部22に格納完了通知が行われ、順序確認動作221が起動する(ステップ22101)。   When one packet is stored in any of the order buffers 211 to 214, a storage completion notification is sent to the extraction control unit 22, and the order confirmation operation 221 is activated (step 22101).

順序バッファ211の先頭(出力バッファ24側)に格納されているパケットのSEQを確認する(ステップ22102)。   The SEQ of the packet stored at the head (on the output buffer 24 side) of the order buffer 211 is confirmed (step 22102).

ステップ22102において確認した順序バッファ211の先頭パケットのSEQ(先頭SEQ)と、順序制御部22が次に出力バッファ24に送信しようとしているSEQ(受信期待SEQ、以下期待SEQと記す)を比較する(ステップ22103)。   Compare the SEQ (head SEQ) of the first packet of the order buffer 211 confirmed in step 22102 with the SEQ (sequence expected reception SEQ, hereinafter referred to as expected SEQ) that the sequence control unit 22 intends to transmit to the output buffer 24 (hereinafter referred to as the expected SEQ). Step 22103).

ステップ22103において先頭SEQと期待SEQが一致した場合には、順序バッファ211より前記パケットを取り出して、出力バッファ24に送付する(ステップ22104)。   If the leading SEQ and the expected SEQ match in step 22103, the packet is extracted from the order buffer 211 and sent to the output buffer 24 (step 22104).

ACK送信部23に対して、送達確認パケット(ACK)の送信を要求する。このACKには期待SEQのSEQが格納され、期待SEQまでの受信と整序が完了したことを送信機1に通知する(ステップ22105)。   The ACK transmission unit 23 is requested to transmit an acknowledgment packet (ACK). This ACK stores the SEQ of the expected SEQ, and notifies the transmitter 1 that reception and ordering up to the expected SEQ have been completed (step 22105).

期待SEQをインクリメントする。つまり、期待SEQ=期待SEQ+1とする(ステップ22106)。   Increment expected SEQ. That is, expected SEQ = expected SEQ + 1 (step 22106).

ステップ22107〜22111は、順序バッファ212に関して、ステップ22102〜22106と同様の動作を行う。   Steps 22107 to 22111 perform the same operations as steps 22102 to 22106 with respect to the order buffer 212.

ステップ22112〜22116は、順序バッファ213に関して、ステップ22102〜22106と同様の動作を行う。   Steps 22112 to 22116 perform the same operation as steps 22102 to 22106 with respect to the order buffer 213.

ステップ22117〜22121は、順序バッファ214に関して、ステップ22102〜22106と同様の動作を行う。   Steps 22117 to 22121 perform the same operations as steps 22102 to 22106 with respect to the order buffer 214.

ステップ22102〜ステップ22121の実行中に、順序バッファから取り出して出力バッファへ送付したパケットの数をカウントし、もし1以上である場合には(ステップ22122でYES)、再度ステップ22102以降を実行する。もし順序バッファから取り出して出力バッファへ送付したパケットの数が0である場合、つまり出力バッファ23に転送可能な(つまり整序可能な)パケットが、順序バッファ211〜214のいずれにも存在しない場合(ステップ22122でNO)、ステップ22123を実行する。   During the execution of steps 22102 to 22121, the number of packets taken out from the order buffer and sent to the output buffer is counted. If the number is 1 or more (YES in step 22122), steps 22102 and after are executed again. If the number of packets taken out from the order buffer and sent to the output buffer is 0, that is, there is no packet that can be transferred to the output buffer 23 (that is, can be ordered) in any of the order buffers 211 to 214. (NO in step 22122), step 22123 is executed.

欠落検出部20にパケット取出完了を通知し、欠落検出動作を起動する(ステップ22123)。   The drop detection unit 20 is notified of the completion of packet extraction, and the drop detection operation is started (step 22123).

図3の流れ図を参照して、欠落検出部20の動作を説明する。   With reference to the flowchart of FIG. 3, the operation of the missing detection unit 20 will be described.

順序確認動作221の完了により、欠落検出動作が起動する(ステップ2001)。   When the order confirmation operation 221 is completed, a missing detection operation is started (step 2001).

順序バッファ211に格納されているパケットの個数を確認する(ステップ2002)。   The number of packets stored in the order buffer 211 is confirmed (step 2002).

もし順序バッファ211に格納されているパケットの数が0である場合は、動作を終了する。格納パケット数が1以上である場合は、ステップ2004に移る(ステップ2003)。   If the number of packets stored in the order buffer 211 is 0, the operation is terminated. When the number of stored packets is 1 or more, the process proceeds to step 2004 (step 2003).

ステップ2004およびステップ2005は、順序バッファ212に関して、ステップ2002およびステップ2003と同様の動作を行う。   Steps 2004 and 2005 perform the same operations as steps 2002 and 2003 with respect to the order buffer 212.

ステップ2006およびステップ2007は、順序バッファ213に関して、ステップ2002およびステップ2003と同様の動作を行う。   Steps 2006 and 2007 perform the same operation as the steps 2002 and 2003 with respect to the order buffer 213.

ステップ2008およびステップ2009は、順序バッファ214に関して、ステップ2002およびステップ2003と同様の動作を行う。   Step 2008 and step 2009 perform the same operation as step 2002 and step 2003 with respect to the order buffer 214.

ステップ2002〜2009を実行した結果、順序バッファ211〜214の全てにおいて、1つ以上のパケットの格納が確認された場合(ステップ2009でYES)、ACK送信部に対して再送要求を行う。ACK送信部は、前回送信したACKと同じSEQが含まれるACK(重複ACK)を生成し、送信機1に対して再送要求を行う(ステップ2010)。   As a result of executing Steps 2002 to 2009, if the storage of one or more packets is confirmed in all the order buffers 211 to 214 (YES in Step 2009), a retransmission request is made to the ACK transmission unit. The ACK transmission unit generates an ACK (duplicate ACK) including the same SEQ as the previously transmitted ACK, and makes a retransmission request to the transmitter 1 (step 2010).

(動作例)
(動作概要)
以下、図1を参照して、本実施の形態における送信機1および送信機2の動作概要を説明する。
(Operation example)
(Overview of operation)
Hereinafter, with reference to FIG. 1, the operation | movement outline | summary of the transmitter 1 in this Embodiment and the transmitter 2 is demonstrated.

送信機1において、データ送信部11が、データ受信部26に対するデータを生成し、SEQ付与部12に送付する。   In the transmitter 1, the data transmission unit 11 generates data for the data reception unit 26 and sends the data to the SEQ grant unit 12.

SEQ付与部12は、データ送信部12からのデータを、網31〜34で転送可能な大きさに分割してヘッダを取り付けてパケットを生成する。さらに受信機2がデータを復元できるよう、パケットに対して整序のためにシーケンスナンバー(SEQ)を割り振り、再送バッファ13に転送する。   The SEQ assigning unit 12 divides the data from the data transmitting unit 12 into a size that can be transferred by the networks 31 to 34 and attaches a header to generate a packet. Further, a sequence number (SEQ) is assigned to the packet for ordering so that the receiver 2 can restore the data, and the packet is transferred to the retransmission buffer 13.

再送バッファ13は、SEQ付与部12よりパケットを受け取り一旦格納する。そしてあらかじめ設定された送信レートやウインドウサイズ等に従って、格納したパケットの複製を振り分け部14に送出する。   The retransmission buffer 13 receives the packet from the SEQ adding unit 12 and temporarily stores it. Then, a copy of the stored packet is sent to the distribution unit 14 according to a preset transmission rate, window size, and the like.

振り分け部14は、再送バッファ13から受け取ったパケットを、ラウンドロビン等により網31〜34の各網に分散させて送出する。例えばSEQ15のパケットは網31、SEQ16のパケットは網32、SEQ17のパケットは網33、SEQ18のパケットは網34というように、一連のSEQが付加されたパケットを、網31〜34に振り分ける。   The distribution unit 14 distributes and transmits the packet received from the retransmission buffer 13 to each of the networks 31 to 34 by round robin or the like. For example, a packet with a sequence of SEQ is distributed to the networks 31 to 34 such that the packet of SEQ15 is the network 31, the packet of SEQ16 is the network 32, the packet of SEQ17 is the network 33, and the packet of SEQ18 is the network 34.

網31〜34は送信機1から送出されたパケットを、受信機2に送る。   The networks 31 to 34 send the packets sent from the transmitter 1 to the receiver 2.

順序バッファ211は、網31から到着したパケットを格納し、取出制御部22に格納完了を通知する。取出制御部22は、順序バッファ211からの格納完了通知を受け、順序確認動作221を起動する。   The order buffer 211 stores packets arriving from the network 31 and notifies the extraction control unit 22 of the completion of storage. Upon receipt of the storage completion notification from the order buffer 211, the take-out control unit 22 activates the order confirmation operation 221.

順序バッファ212〜214も同様に、網32〜34より到着したパケットを格納し、取出制御部22に格納完了を通知する。そして取出制御部22は、順序バッファ212〜214からの格納完了通知を受け、順序確認動作221を起動する。   Similarly, the order buffers 212 to 214 store packets arriving from the networks 32 to 34 and notify the extraction control unit 22 of the completion of storage. The take-out control unit 22 receives the storage completion notification from the order buffers 212 to 214 and activates the order confirmation operation 221.

順序確認動作221は、順序バッファ211〜214の先頭に格納されているパケットのSEQを調べ、次に出力バッファ24に送るべきSEQと一致した場合は、このパケットを取り出して出力バッファ24に送り、ACK送信部に対してACKの送信を要求する。例えば以前にSEQ=5まで出力バッファ24に転送完了していた場合、順序バッファ211〜214の何れかの先頭に、SEQ=6のパケットが格納されていた場合は、これを取り出して出力バッファ24に転送し、SEQ=6のACK送信を要求する。   The order confirmation operation 221 examines the SEQ of the packet stored at the head of the order buffers 211 to 214, and if it matches the SEQ to be sent to the output buffer 24 next, extracts this packet and sends it to the output buffer 24. Request the ACK transmission unit to transmit ACK. For example, when transfer to the output buffer 24 has been completed up to SEQ = 5 before, if a packet of SEQ = 6 is stored at the head of any of the order buffers 211 to 214, this is taken out and output to the output buffer 24. And request ACK transmission of SEQ = 6.

順序確認動作221は、もし出力バッファに転送すべきパケットを順序バッファ211〜214のいずれにおいても発見出来なかった場合は、欠落検出部20に取出完了を通知する。   The order confirmation operation 221 notifies the missing detection unit 20 of the completion of extraction if no packet to be transferred to the output buffer can be found in any of the order buffers 211 to 214.

欠落検出部20は、順序バッファ211〜214に格納されているパケットの個数を調べ、もし全ての順序バッファにおいてパケットの格納が確認された場合は、ACK送信部に対して再送要求を行う。   The missing detection unit 20 checks the number of packets stored in the order buffers 211 to 214, and makes a retransmission request to the ACK transmission unit if storage of packets is confirmed in all the order buffers.

出力バッファ24は、順序バッファ211〜214よりパケットを受信し、SEQ削除部25からの要求により、FIFO方式でパケットを取り出して転送する。   The output buffer 24 receives the packets from the order buffers 211 to 214, and extracts and transfers the packets by the FIFO method in response to a request from the SEQ deletion unit 25.

SEQ削除部25は、出力バッファ24からパケットを取り出し、ヘッダ(SEQを含む)を削除して、データをデータ受信部26に転送する。   The SEQ deletion unit 25 takes out the packet from the output buffer 24, deletes the header (including SEQ), and transfers the data to the data reception unit 26.

データ受信部26は、SEQ削除部25からのデータを受け取り、各種処理を行う。   The data receiving unit 26 receives data from the SEQ deleting unit 25 and performs various processes.

再送バッファ13は、網31〜34のいずれかを経由して、ACK送信部23よりACKを受信した場合、ACKに含まれるSEQを確認する。   When the retransmission buffer 13 receives an ACK from the ACK transmission unit 23 via any of the networks 31 to 34, the retransmission buffer 13 confirms the SEQ included in the ACK.

再送バッファ13は、もし前回受信したACKのSEQよりも大きなSEQが含まれる場合は、当該SEQまでのパケットを再送バッファ13から消去する。もし前回受信したACKのSEQと同じSEQが含まれていた場合は、重複ACK(再送要求)であるとみなし、ただちに再送バッファに格納されているパケットを、SEQの若いものから順に再送信する。   The retransmission buffer 13 deletes packets up to the SEQ from the retransmission buffer 13 if a SEQ larger than the SEQ of the previously received ACK is included. If the same SEQ as the SEQ of the ACK received last time is included, it is regarded as a duplicate ACK (retransmission request), and the packets stored in the retransmission buffer are immediately retransmitted in order from the lowest SEQ.

(正常時の欠落検出動作例)
以下、図4を参照して、パケットロス無し(正常時)における欠落検出部20の動作例を説明する。
(Normal missing detection operation example)
Hereinafter, with reference to FIG. 4, an operation example of the loss detection unit 20 without packet loss (normal time) will be described.

図4では、網33において、網31〜34よりも大きな遅延が発生し、SEQ=6のパケットの到着が遅れている場合の例を示している。   FIG. 4 shows an example in which a larger delay occurs in the network 33 than in the networks 31 to 34, and the arrival of the packet with SEQ = 6 is delayed.

網31、32、34は、網33よりも遅延が少ないため、順序バッファ211、212、214に対して、網33を経由する場合よりもパケットが速く到達する。   Since the networks 31, 32, and 34 have less delay than the network 33, the packets arrive at the order buffers 211, 212, and 214 faster than when the packets pass through the network 33.

図4においては、順序確認動作221により、SEQ1〜SEQ5までのパケットが、出力バッファ24に転送され、これらパケットに対して、ACK送信部23より、ACK1〜ACK5が送出されている。   In FIG. 4, the packets from SEQ1 to SEQ5 are transferred to the output buffer 24 by the order confirmation operation 221, and ACK1 to ACK5 are transmitted from the ACK transmission unit 23 to these packets.

図4の状態においては、パケット6は網33上にあり、順序バッファ213には格納されていないため、SEQ=5のパケットが出力バッファ24に転送された時点で、順序確認動作221が完了し、欠落検出部20に取出完了が通知される。   In the state of FIG. 4, since the packet 6 is on the network 33 and is not stored in the order buffer 213, the order confirmation operation 221 is completed when the packet with SEQ = 5 is transferred to the output buffer 24. The missing detection unit 20 is notified of the completion of extraction.

欠落検出部20は、順序バッファ211〜214に格納されているパケットの個数を調べる。ここで順序バッファ213に格納されているパケットの個数が0であることから、欠落は発生していないとみなして、動作を完了する。   The missing detection unit 20 checks the number of packets stored in the order buffers 211 to 214. Here, since the number of packets stored in the order buffer 213 is 0, it is assumed that no loss has occurred, and the operation is completed.

以上に示したように、網31〜網34の各網内での順序逆転が発生しない場合において、パケットロスが発生していない場合は、順序バッファ211〜214のいずれか1つ以上のバッファは必ず空になる。   As described above, when there is no order reversal in each of the networks 31 to 34 and no packet loss occurs, any one or more of the order buffers 211 to 214 is It will always be empty.

順序バッファ211〜214は、パケットロスが発生していない状況では、網31〜34の遅延時間の差に相当するパケットが蓄積されるので、最も遅延している網(図4では網33)のパケットを格納する順序バッファ(図4では順序バッファ213)の格納パケットは0になる。   In the situation where no packet loss occurs, the order buffers 211 to 214 store packets corresponding to the difference in delay time of the networks 31 to 34, so that the network of the most delayed network (network 33 in FIG. 4) is stored. The stored packet in the order buffer (order buffer 213 in FIG. 4) for storing the packet is zero.

(異常時の欠落検出動作例)
以下、図5を参照して、パケットロス発生時(異常時)における欠落検出部20の動作例を説明する。
(Example of missing detection operation in case of abnormality)
Hereinafter, with reference to FIG. 5, an operation example of the loss detection unit 20 when a packet loss occurs (at the time of abnormality) will be described.

図5では、網33において、SEQ=6のパケットが欠落(ロス)した場合の例を示している。   FIG. 5 shows an example in which a packet with SEQ = 6 is lost (lost) in the network 33.

また、網33は他の網よりも遅延が大きく、網31、32、34は、網33よりも遅延が少ないため、順序バッファ211、212、214に対して、網33を経由する場合よりもパケットが速く到達するとする。   Further, since the network 33 has a larger delay than the other networks, and the networks 31, 32, and 34 have a smaller delay than the network 33, the order buffers 211, 212, and 214 are compared with the case of passing through the network 33. Assume that packets arrive fast.

図5において、SEQ1〜SEQ5までのパケットの順序確認が完了して出力バッファ24に転送され、これらパケットに対して、ACK送信部23より、ACK1〜ACK5が送出されているとする。   In FIG. 5, it is assumed that the packet sequence confirmation from SEQ1 to SEQ5 is completed and transferred to the output buffer 24, and ACK1 to ACK5 are transmitted from the ACK transmission unit 23 to these packets.

ここで順序バッファ213に、欠落したSEQ=6のパケットの次に網33に送出されたSEQ=12のパケットが格納されると、順序確認動作221が起動する。しかしながら出力バッファ24に送出できるパケットがないので、ただちに欠落検出部20に取出完了通知が行われる。   Here, when the SEQ = 12 packet sent to the network 33 next to the missing SEQ = 6 packet is stored in the order buffer 213, the order confirmation operation 221 is activated. However, since there is no packet that can be sent to the output buffer 24, the dropout detection unit 20 is immediately notified of the removal completion.

欠落検出部20は、順序バッファ211〜214に格納されているパケットの個数を調べる。ここで順序バッファ213を含む全ての順序バッファ内にパケットの格納を確認し、欠落が発生しているとみなして、ACK送信部23に対して再送要求を行う。   The missing detection unit 20 checks the number of packets stored in the order buffers 211 to 214. Here, the storage of the packet is confirmed in all the order buffers including the order buffer 213, and it is considered that the packet is missing, and a retransmission request is made to the ACK transmission unit 23.

ACK送信部23は、欠落検出部20からの再送要求を受け、前回送出したACK(ACK=5)と同じSEQ=5を含むACKを送信する。送信機1は、同じ番号のACKが連続して届くため、再送要求があったと判断して、再送バッファ内のパケットの再送を行う。   The ACK transmission unit 23 receives a retransmission request from the loss detection unit 20 and transmits an ACK including SEQ = 5 that is the same as the previously transmitted ACK (ACK = 5). Since the ACK of the same number arrives continuously, the transmitter 1 determines that there is a retransmission request and retransmits the packet in the retransmission buffer.

以上に示したように、網31〜網34の各網内での順序逆転が発生しない場合において、パケットロスが発生した場合は、順序バッファ211〜214のすべての順序バッファにパケットが格納される。この特性により、パケットロスを判定することで、高速な再送要求を行う事ができる。   As described above, when no order inversion occurs in each of the networks 31 to 34, if a packet loss occurs, the packets are stored in all the order buffers 211 to 214. . By determining packet loss based on this characteristic, a high-speed retransmission request can be made.

マルチパス環境において、本実施形態に記載のパケットロス判定がない場合は、受信機2が送信機1に対して再送要求を行う事ができないため、送信機1は再送タイマ15を用いて再送を行うしかない。しかしながら、一般的に再送タイマ15は、誤動作を防止するために最低でも1RTT以上の大きな値を設定する必要があるため、再送開始までに時間がかかる。このため、本実施形態に記載のパケットロス判定機構を用いると、再送タイマよりも高速な欠落検出および再送を行なえる。   In a multipath environment, if there is no packet loss determination described in the present embodiment, the receiver 2 cannot make a retransmission request to the transmitter 1, so the transmitter 1 uses the retransmission timer 15 to perform retransmission. There is no choice but to do. However, in general, the retransmission timer 15 needs to set a large value of at least 1 RTT in order to prevent malfunction, and therefore it takes time to start retransmission. For this reason, when the packet loss determination mechanism described in the present embodiment is used, it is possible to perform missing detection and retransmission faster than the retransmission timer.

(本実施形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of this embodiment)
Next, the effect of this embodiment will be described.

本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。   When the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when the order of packets in each network does not reverse, only one stage is used. The packet loss can be detected at high speed using the management of the sequence number.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that packets are stored in the order buffers of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network It is because it monitors.

また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。   Further, when the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when packet order reversal in each network does not occur, 1 Retransmission at the time of packet loss can be started at high speed using the management of the sequence number of only the stage.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that packets are stored in the order buffers of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network This is because by monitoring, it is possible to detect missing at high speed without using the retransmission timer.

(第2の実施の形態)
本発明の第2の実施の形態は、第1の実施の形態における出力バッファ24が存在せず、順序バッファ211〜214が出力バッファ24を兼ねる場合、もしくは順序バッファ211〜214からの取出速度が遅い場合の形態である。
(Second Embodiment)
In the second embodiment of the present invention, when the output buffer 24 in the first embodiment does not exist and the order buffers 211 to 214 also serve as the output buffer 24, or the extraction speed from the order buffers 211 to 214 is high. It is a form when it is late.

(構成の説明)
図6を参照して、本実施の形態における構成について説明する。
(Description of configuration)
With reference to FIG. 6, the configuration of the present embodiment will be described.

送信機1は、第1の実施の形態と同様の構成を有し、同様の動作を行う。   The transmitter 1 has the same configuration as that of the first embodiment and performs the same operation.

受信機2は、第1の実施の形態における出力バッファ24が存在せず、欠落検出部20が欠落検出部20Aとなり、取出制御部22が取出制御部22Aとなる点において実施形態1の受信機2と異なる。   The receiver 2 does not include the output buffer 24 in the first embodiment, the missing detector 20 becomes the missing detector 20A, and the takeout controller 22 becomes the takeout controller 22A. Different from 2.

欠落検出部20Aは、取出制御部22Aからの取出完了通知を受けると、パケットロスの有無を確認する。もしパケットロスを発見した場合は、ACK送信部23に対して再送要求を行う。   Upon receiving the extraction completion notification from the extraction control unit 22A, the loss detection unit 20A confirms whether there is a packet loss. If a packet loss is found, a retransmission request is made to the ACK transmission unit 23.

取出制御部22Aは、以下の動作を行う。   The take-out control unit 22A performs the following operation.

(1)順序バッファ211〜214からの格納完了通知を受け、順序確認動作221Aを行い、SEQの順番が正しい場合は、取出待数をインクリメントする。このとき、ACK送信部23に対して、取出待ちとしたパケットのSEQを通知する。   (1) Upon receiving a storage completion notification from the order buffers 211 to 214, the order confirmation operation 221A is performed. If the sequence of SEQ is correct, the number of waiting for extraction is incremented. At this time, the ACK transmission unit 23 is notified of the SEQ of the packet waiting to be taken out.

(2)パケット取出動作223を行い、SEQ削除部25からの要求により、パケットを取り出してSEQ削除部25に転送する。   (2) A packet extraction operation 223 is performed, and a packet is extracted and transferred to the SEQ deletion unit 25 in response to a request from the SEQ deletion unit 25.

(動作の説明)
図7の流れ図を参照して、取出制御部22Aにおける順序確認動作221Aを説明する。
(Description of operation)
With reference to the flowchart of FIG. 7, the order confirmation operation 221A in the take-out control unit 22A will be described.

順序バッファ211〜214の何れかに1つのパケットが格納されると、取出制御部22に格納完了通知が行われ、順序確認動作221が起動する(ステップ22101)。   When one packet is stored in any of the order buffers 211 to 214, a storage completion notification is sent to the extraction control unit 22, and the order confirmation operation 221 is activated (step 22101).

順序バッファ211の先頭(出力バッファ24側)に格納されているパケットのSEQを確認する(ステップ22102)。   The SEQ of the packet stored at the head (on the output buffer 24 side) of the order buffer 211 is confirmed (step 22102).

ステップ22102において確認した順序バッファ211の先頭パケットのSEQ(先頭SEQ)と、順序制御部22が次に順序確認しようとしているSEQ(受信期待SEQ、以下期待SEQと記す)を比較する(ステップ22103)。   The sequence of the first packet in the sequence buffer 211 confirmed in step 22102 (first sequence) is compared with the next sequence sequence that the sequence control unit 22 intends to confirm the sequence (reception expected SEQ, hereinafter referred to as expected SEQ) (step 22103). .

ステップ22103において先頭SEQと期待SEQが一致した場合には、順序バッファ211の取出待数をインクリメントする(ステップ22104A)。   If the top SEQ and the expected SEQ match at step 22103, the number of waiting for extraction in the order buffer 211 is incremented (step 22104A).

ACK送信部23に対して、送達確認パケット(ACK)の送信を要求する。このACKには期待SEQのSEQが格納され、期待SEQまでの受信と整序が完了したことを送信機1に通知する(ステップ22105)。   The ACK transmission unit 23 is requested to transmit an acknowledgment packet (ACK). This ACK stores the SEQ of the expected SEQ, and notifies the transmitter 1 that reception and ordering up to the expected SEQ have been completed (step 22105).

期待SEQをインクリメントする。つまり、期待SEQ=期待SEQ+1とする(ステップ22106)。   Increment expected SEQ. That is, expected SEQ = expected SEQ + 1 (step 22106).

ステップ22107〜22111は、順序バッファ212に関して、ステップ22102〜22106と同様の動作を行う。   Steps 22107 to 22111 perform the same operations as steps 22102 to 22106 with respect to the order buffer 212.

ステップ22112〜22116は、順序バッファ213に関して、ステップ22102〜22106と同様の動作を行う。   Steps 22112 to 22116 perform the same operation as steps 22102 to 22106 with respect to the order buffer 213.

ステップ22117〜22121は、順序バッファ214に関して、ステップ22102〜22106と同様の動作を行う。   Steps 22117 to 22121 perform the same operations as steps 22102 to 22106 with respect to the order buffer 214.

ステップ22102〜ステップ22121の実行中に、取出待数をインクリメントした回数をカウントし、もし1以上である場合には(ステップ22122AでYES)、再度ステップ22102以降を実行する。もし順序バッファから取り出して出力バッファへ送付したパケットの数が0である場合(ステップ22122AでNO)、つまり出力バッファ23に転送可能な(つまり整序可能な)パケットが、順序バッファ211〜214のいずれにも存在しない場合、ステップ22123Aを実行する。   During the execution of step 22102 to step 22121, the number of times the take-out waiting number is incremented is counted. If it is 1 or more (YES in step 22122A), step 22102 and subsequent steps are executed again. If the number of packets taken out from the order buffer and sent to the output buffer is zero (NO in step 22122A), that is, packets that can be transferred to the output buffer 23 (that is, packets that can be ordered) are stored in the order buffers 211 to 214. If none exists, step 22123A is executed.

欠落検出部20Aに取出完了を通知する(ステップ22123A)。   Notification of completion of removal is sent to the missing detection unit 20A (step 22123A).

図8の流れ図を参照して、取出制御部22Aにおけるパケット取出動作222を説明する。   The packet extraction operation 222 in the extraction control unit 22A will be described with reference to the flowchart of FIG.

SEQ削除部25からのパケット取出要求により、パケット取出動作222が起動する(ステップ22201)。   In response to a packet extraction request from the SEQ deletion unit 25, a packet extraction operation 222 is activated (step 22201).

順序バッファ211の先頭(SEQ削除部25側)に格納されているパケットのSEQを確認する(ステップ22202)。   The sequence of the packet stored in the head of the order buffer 211 (SEQ deletion unit 25 side) is confirmed (step 22202).

ステップ22202において確認した順序バッファ211の先頭パケットのSEQ(先頭SEQ)と、順序制御部22が次に取り出してSEQ削除部25に送信しようとしているSEQ(取出待SEQ)を比較する(ステップ22203)。   The SEQ (head SEQ) of the first packet in the order buffer 211 confirmed in step 22202 is compared with the SEQ (ordering waiting SEQ) that the order control unit 22 next extracts and tries to transmit to the SEQ deletion unit 25 (step 22203). .

ステップ22203において先頭SEQと取出待SEQが一致した場合には、順序バッファ211より前記パケットを取り出して、SEQ削除部25送付する(ステップ22204)。   If the leading SEQ and the extraction waiting SEQ match in step 22203, the packet is extracted from the order buffer 211 and sent to the SEQ deletion unit 25 (step 22204).

順序バッファ211の取出待数をデクリメントする(ステップ22205)。   The removal waiting number in the order buffer 211 is decremented (step 22205).

取出待SEQをインクリメントする。なお、取出待数と取出待SEQは異なるパラメーターである(ステップ22206)。   The take-out waiting SEQ is incremented. It should be noted that the number of waiting for withdrawal and the waiting for waiting SEQ are different parameters (step 22206).

ステップ22207〜22211は、順序バッファ212に関して、ステップ22202〜22206と同様の動作を行う。   Steps 22207 to 22211 perform the same operation as steps 22202 to 22206 with respect to the order buffer 212.

ステップ22212〜22216は、順序バッファ213に関して、ステップ22202〜22206と同様の動作を行う。   Steps 22212 to 22216 perform the same operations as steps 22202 to 22206 with respect to the order buffer 213.

ステップ22217〜22221は、順序バッファ214に関して、ステップ22202〜22206と同様の動作を行う。   Steps 22217 to 22221 perform the same operations as steps 22202 to 22206 with respect to the order buffer 214.

図9の流れ図を参照して、欠落検出部20Aの動作を説明する。   With reference to the flowchart of FIG. 9, the operation of the missing detection unit 20A will be described.

順序確認動作221Aの完了により、欠落検出動作が起動する(ステップ2001A)。   Upon completion of the order confirmation operation 221A, a missing detection operation is started (step 2001A).

順序バッファ211に格納されているパケットの個数を確認する(ステップ2002)。   The number of packets stored in the order buffer 211 is confirmed (step 2002).

もし順序バッファ211に格納されているパケットの数−順序バッファ211の取出待数が0である場合は、動作を終了する。格納パケット数−取出待数が1以上である場合は、ステップ2004に移る(ステップ2003A)。   If the number of packets stored in the order buffer 211-the number of waiting for extraction in the order buffer 211 is 0, the operation is terminated. When the number of stored packets−the number of waiting for extraction is 1 or more, the process proceeds to step 2004 (step 2003A).

ステップ2004およびステップ2005Aは、順序バッファ212に関して、ステップ2002およびステップ2003Aと同様の動作を行う。   Step 2004 and Step 2005A perform the same operation as Step 2002 and Step 2003A with respect to the order buffer 212.

ステップ2006およびステップ2007Aは、順序バッファ213に関して、ステップ2002およびステップ2003Aと同様の動作を行う。   Step 2006 and Step 2007A perform the same operation as Step 2002 and Step 2003A with respect to the order buffer 213.

ステップ2008およびステップ2009Aは、順序バッファ214に関して、ステップ2002およびステップ2003Aと同様の動作を行う。   Step 2008 and Step 2009A perform the same operation as Step 2002 and Step 2003A with respect to the order buffer 214.

ステップ2002〜2009Aを実行した結果、順序バッファ211〜214の全てにおいて、格納数−取出待数の合計が1以上の場合、ACK送信部に対して再送要求を行う。ACK送信部は、前回送信したACKと同じSEQが含まれるACK(重複ACK)を生成し、送信機1に対して再送要求を行う(ステップ2010)。   As a result of executing Steps 2002 to 2009A, if the total of the number of storages and the number of waiting for extraction is 1 or more in all the order buffers 211 to 214, a retransmission request is made to the ACK transmission unit. The ACK transmission unit generates an ACK (duplicate ACK) including the same SEQ as the previously transmitted ACK, and makes a retransmission request to the transmitter 1 (step 2010).

(動作例)
(正常時の欠落検出動作例)
以下、図10を参照して、パケットロス無し(正常時)における欠落検出部20Aの動作例を説明する。
(Operation example)
(Normal missing detection operation example)
Hereinafter, with reference to FIG. 10, an operation example of the loss detection unit 20 </ b> A when there is no packet loss (normal time) will be described.

図10では、網33において、網31〜34よりも大きな遅延が発生し、SEQ=12のパケットの到着が遅れている場合の例を示している。   FIG. 10 shows an example in which a larger delay occurs in the network 33 than in the networks 31 to 34, and the arrival of the packet with SEQ = 12 is delayed.

網31、32、34は、網33よりも遅延が少ないため、順序バッファ211、212、214に対して、網33を経由する場合よりもパケットが速く到達する。   Since the networks 31, 32, and 34 have less delay than the network 33, the packets arrive at the order buffers 211, 212, and 214 faster than when the packets pass through the network 33.

図10においては、順序確認動作221Aにより、SEQ1〜SEQ11までのパケットの順序確認が完了し、これらパケットに対して、ACK送信部23より、ACK1〜ACK11が送出されている。さらに、パケット取出動作222により、SEQ1〜SEQ3までのパケットが、SEQ削除部25に転送されている。SEQ4〜SEQ11のパケットは、既に順序確認が完了しているが、順序バッファ211〜214において、SEQ削除部25からの取出要求を待っている。   In FIG. 10, the order confirmation of the packets from SEQ1 to SEQ11 is completed by the order confirmation operation 221A, and ACK1 to ACK11 are transmitted from the ACK transmission unit 23 to these packets. Further, the packets from SEQ1 to SEQ3 are transferred to the SEQ deleting unit 25 by the packet extracting operation 222. The packets of SEQ4 to SEQ11 have already been confirmed in order, but the order buffers 211 to 214 are waiting for an extraction request from the SEQ deletion unit 25.

図10の状態においては、パケット12は網33上にあり、順序バッファ213には格納されていないため、SEQ=11のパケットの順序確認が完了した時点で、順序確認動作221Aが完了し、欠落検出部20Aに取出完了が通知される。   In the state of FIG. 10, since the packet 12 is on the network 33 and is not stored in the order buffer 213, when the order confirmation of the packet with SEQ = 11 is completed, the order confirmation operation 221A is completed and missing. The detection completion is notified to the detection unit 20A.

欠落検出部20Aは、順序バッファ211〜214に格納されているパケットの個数と、取出待となっているパケットの個数を調べる。順序バッファ211、212、214においては、格納パケット数が3、取出待数が2であるが、順序バッファ213においては、格納パケット数が2、取出待数が2であるため、格納パケット数−取出待数が0であることから、欠落は発生していないとみなして、動作を完了する。   The missing detection unit 20A checks the number of packets stored in the order buffers 211 to 214 and the number of packets waiting for extraction. In the order buffers 211, 212, and 214, the number of stored packets is 3 and the number of waiting for extraction is 2. However, in the order buffer 213, the number of stored packets is 2 and the number of waiting for extraction is 2, so the number of stored packets− Since the number of waiting for extraction is 0, it is considered that no omission has occurred, and the operation is completed.

以上に示したように、網31〜網34の各網内での順序逆転が発生しない場合において、パケットロスが発生していない場合は、順序バッファ211〜214のいずれか1つ以上のバッファにおいて、格納パケット数−取出待数は必ず0になる。   As described above, when there is no order reversal in each of the networks 31 to 34 and no packet loss occurs, any one or more of the order buffers 211 to 214 may be used. The number of stored packets−the number of waiting for extraction is always 0.

順序バッファ211〜214は、パケットロスが発生していない状況では、網31〜34の遅延時間の差に相当するパケットが蓄積されるので、最も遅延している網(図10では網33)のパケットを格納する順序バッファ(図10では順序バッファ213)の格納パケットは0になる。   In the situation where no packet loss occurs, the order buffers 211 to 214 store packets corresponding to the difference in delay time between the networks 31 to 34, so that the most delayed network (the network 33 in FIG. 10) The stored packet in the order buffer (order buffer 213 in FIG. 10) for storing the packet is zero.

(異常時の欠落検出動作例)
以下、図11を参照して、パケットロス発生時(異常時)における欠落検出動作222Aの動作例を説明する。
(Example of missing detection operation in case of abnormality)
Hereinafter, with reference to FIG. 11, an operation example of the loss detection operation 222A at the time of packet loss occurrence (abnormality) will be described.

図5では、網33において、SEQ=12のパケットが欠落(ロス)した場合の例を示している。   FIG. 5 shows an example in which a packet with SEQ = 12 is lost (lost) in the network 33.

また、網33は他の網よりも遅延が大きく、網31、32、34は、網33よりも遅延が少ないため、順序バッファ211、212、214に対して、網33を経由する場合よりもパケットが速く到達するとする。   Further, since the network 33 has a larger delay than the other networks, and the networks 31, 32, and 34 have a smaller delay than the network 33, the order buffers 211, 212, and 214 are compared with the case of passing through the network 33. Assume that packets arrive fast.

図11においては、順序確認動作221Aにより、SEQ1〜SEQ11までのパケットの順序確認が完了し、これらパケットに対して、ACK送信部23より、ACK1〜ACK11が送出されている。さらに、パケット取出動作223により、SEQ1〜SEQ3までのパケットが、SEQ削除部25に転送されている。SEQ4〜SEQ11のパケットは、既に順序確認が完了しているが、順序バッファ211〜214において、SEQ削除部25からの取出要求を待っている。   In FIG. 11, the order confirmation of the packets SEQ1 to SEQ11 is completed by the order confirmation operation 221A, and ACK1 to ACK11 are sent from the ACK transmission unit 23 to these packets. Further, the packets from SEQ1 to SEQ3 are transferred to the SEQ deleting unit 25 by the packet extracting operation 223. The packets of SEQ4 to SEQ11 have already been confirmed in order, but the order buffers 211 to 214 are waiting for an extraction request from the SEQ deletion unit 25.

ここで順序バッファ213に、欠落したSEQ=12のパケットの次に網33に送出されたSEQ=20のパケットが格納されると、順序確認動作221Aが起動する。しかしながら順序確認できるパケットがないので、ただちに欠落検出動作222Aが起動する。   Here, when the SEQ = 20 packet sent to the network 33 next to the missing SEQ = 12 packet is stored in the order buffer 213, the order confirmation operation 221A is activated. However, since there is no packet whose order can be confirmed, the missing detection operation 222A is activated immediately.

欠落検出動作222Aは、順序バッファ211〜214に格納されているパケットの個数を調べる。ここで順序バッファ213を含む全ての順序バッファにおいて、格納パケット数が3、取出待数が2であるため、格納パケット数−取出待数が1であることから、欠落が発生しているとみなして、ACK送信部23に対して再送要求を行う。   The missing detection operation 222A checks the number of packets stored in the order buffers 211 to 214. Here, in all the order buffers including the order buffer 213, since the number of stored packets is 3 and the number of waiting for extraction is 2, the number of stored packets minus the number of waiting for extraction is 1, so that it is considered that a loss has occurred. Then, a retransmission request is made to the ACK transmission unit 23.

ACK送信部23は、取出制御部22内の欠落検出動作222Aからの再送要求を受け、前回送出したACK(ACK=11)と同じSEQ=11を含むACKを送信する。送信機1は、同じ番号のACKが連続して届くため、再送要求があったと判断して、再送バッファ内のパケットの再送を行う。   The ACK transmission unit 23 receives a retransmission request from the missing detection operation 222A in the extraction control unit 22, and transmits an ACK including SEQ = 11 that is the same as the previously transmitted ACK (ACK = 11). Since the ACK of the same number arrives continuously, the transmitter 1 determines that there is a retransmission request and retransmits the packet in the retransmission buffer.

以上に示したように、網31〜網34の各網内での順序逆転が発生しない場合において、パケットロスが発生した場合は、順序バッファ211〜214のすべての順序バッファにおいて、格納パケット数−取出待数>0となる。この特性により、パケットロスを判定することで、高速な再送要求を行う事ができる。   As described above, when there is no order reversal in each of the networks 31 to 34, if a packet loss occurs, the number of stored packets in all the order buffers 211 to 214 is − The number of waiting for extraction> 0. By determining packet loss based on this characteristic, a high-speed retransmission request can be made.

(本実施形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of this embodiment)
Next, the effect of this embodiment will be described.

本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。   When the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when the order of packets in each network does not reverse, only one stage is used. The packet loss can be detected at high speed using the management of the sequence number.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that the packet is stored in the order buffer of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network. It is because it monitors.

また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。   Further, when the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when packet order reversal in each network does not occur, 1 Retransmission at the time of packet loss can be started at high speed using the management of the sequence number of only the stage.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that the packet is stored in the order buffer of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network. This is because by monitoring, it is possible to detect missing at high speed without using the retransmission timer.

(第3の実施の形態)
本発明の第3の実施の形態は、第1の実施の形態における網31〜34と順序バッファ211〜214の間に、格納制御部271〜274を設け、順序バッファがあふれによるパケット欠落検出を行う形態である。
(Third embodiment)
In the third embodiment of the present invention, storage controllers 271 to 274 are provided between the networks 31 to 34 and the order buffers 211 to 214 in the first embodiment to detect packet loss due to overflow of the order buffer. It is a form to perform.

なお、本実施の形態における欠落検出と、第1の実施の形態における欠落検出(欠落検出動作222)は、どちらか一方のみ用いることも、両方を併用することもできる。以降の説明では、順序確認動作221が完了しても、欠落検出動作222を行わない(第1の実施の形態における欠落検出を併用しない)ものとして説明する。   It should be noted that only one of the missing detection in the present embodiment and the missing detection (missing detection operation 222) in the first embodiment can be used, or both can be used in combination. In the following description, it is assumed that even if the order confirmation operation 221 is completed, the missing detection operation 222 is not performed (the combined use of the missing detection in the first embodiment).

(構成の説明)
図12を参照して、本実施の形態における構成について説明する。
(Description of configuration)
With reference to FIG. 12, the structure in this Embodiment is demonstrated.

送信機1は、第1の実施の形態と同様の構成を有し、同様の動作を行う。   The transmitter 1 has the same configuration as that of the first embodiment and performs the same operation.

受信機2は、第1の実施の形態における網31〜34と順序バッファ211〜214の間に、格納制御部271〜274が存在する点において異なる。   The receiver 2 is different in that storage control units 271 to 274 exist between the networks 31 to 34 and the order buffers 211 to 214 in the first embodiment.

格納制御部271は、以下に示す動作を行う。   The storage control unit 271 performs the following operation.

(1)網31より到着したパケットのシーケンスナンバーと、前回に網31より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。   (1) The sequence number of the packet arriving from the network 31 is compared with the sequence number of the packet arriving from the network 31 last time, and the SEQ of the packet arriving this time is smaller than or equal to the SEQ of the packet arriving last time. If it is, it is assumed that retransmission has occurred, and all stored packets are discarded.

(2)網31からのパケット到着時に、順序バッファ211の格納済パケット数を確認し、もしも到着パケットを格納すると、最大格納可能数を超える場合は、格納済パケットを全て廃棄し、再送要求を行う。   (2) Upon arrival of packets from the network 31, the number of stored packets in the order buffer 211 is confirmed. If the number of stored packets exceeds the maximum storable number, all stored packets are discarded and a retransmission request is made. Do.

(動作の説明)
図13の流れ図を参照して、格納制御部271における動作を説明する。
(Description of operation)
The operation of the storage control unit 271 will be described with reference to the flowchart of FIG.

網31からパケットが到着すると、格納制御動作が起動する(ステップ27101)。   When a packet arrives from the network 31, the storage control operation is activated (step 27101).

今回到着したパケットのシーケンスナンバーと、前回到着したパケットのシーケンスナンバーを比較する(ステップ27101)。   The sequence number of the packet that arrived this time is compared with the sequence number of the packet that arrived last time (step 27101).

今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、同じである場合は、再送が発生したと判断し、順序バッファ211に格納中のパケットを全て廃棄する。このとき、第2の実施の形態に記した取出待パケットがある場合は、取出待パケットは廃棄せず、取出待パケット以外の残りを全て廃棄する(ステップ27103)。   When the SEQ of the packet that has arrived this time is smaller than or the same as the SEQ of the packet that has arrived last time, it is determined that retransmission has occurred, and all the packets stored in the order buffer 211 are discarded. At this time, if there is an extraction waiting packet described in the second embodiment, the extraction waiting packet is not discarded, and all the rest other than the extraction waiting packet are discarded (step 27103).

次回にパケットが到着した際、ステップ27102の判断を行うために、今回到着したパケットのSEQを記録しておく(ステップ27104)。   When the packet arrives next time, the SEQ of the packet that has arrived this time is recorded in order to make the determination in step 27102 (step 27104).

順序バッファ211に格納されているパケット数を確認する(ステップ27105)。   The number of packets stored in the order buffer 211 is confirmed (step 27105).

順序バッファ211に格納されているパケット数(格納済パケット数)と、順序バッファ211の最大格納可能数を比較する(ステップ27106)。   The number of packets stored in the order buffer 211 (number of stored packets) is compared with the maximum storable number in the order buffer 211 (step 27106).

もし格納済パケット数と最大格納可能数が等しい場合は、今回到着したパケットを格納すると、順序バッファがあふれてしまうため、順序バッファ211に格納中のパケットを全て廃棄する。このとき、第2の実施の形態に記した取出待パケットがある場合は、取出待パケットは廃棄せず、取出待パケット以外の残りを全て廃棄する(ステップ27107)。   If the number of stored packets is equal to the maximum storable number, storing a packet that has arrived this time will overflow the sequence buffer, so all packets stored in the sequence buffer 211 are discarded. At this time, if there is an extraction waiting packet described in the second embodiment, the extraction waiting packet is not discarded, and the rest other than the extraction waiting packet are discarded (step 27107).

ステップ27107における廃棄により、パケットが欠落したため、ACK送信部23に対して再送要求を行う。この時点で格納制御部の動作を終了(END)しても良いし、ステップ27109で今回到着したパケットを格納しても良い。なお今回到着したパケットを格納した場合は、当ステップで送信した再送要求に呼応した再送が行われると、ステップ27103の再送検出動作により、このパケットは廃棄される(ステップ27108)。   Since the packet is lost due to the discard in step 27107, a retransmission request is made to the ACK transmission unit 23. At this time, the operation of the storage control unit may be ended (END), or the packet that has just arrived at step 27109 may be stored. When the packet that has arrived this time is stored, if retransmission is performed in response to the retransmission request transmitted in this step, the packet is discarded by the retransmission detection operation in step 27103 (step 27108).

順序バッファ211に、今回到着したパケットを格納する(ステップ27109)。   The current arrival packet is stored in the order buffer 211 (step 27109).

順序確認動作221を起動する(ステップ27110)。   The order confirmation operation 221 is activated (step 27110).

(動作例)
(順序バッファあふれ時の動作例)
図12を用いて、順序バッファ211があふれる場合の動作について説明する。
(Operation example)
(Operation example when the sequence buffer overflows)
The operation when the order buffer 211 overflows will be described with reference to FIG.

図12において、順序バッファ211に最大格納可能数と等しい数のパケットが既に蓄積されている状態であるとする。また、格納制御部271に前回(最後に)到着したパケットのSEQは、26であるとする。また、順序バッファ211の最大格納可能数は40であるとする。また、SEQ=55までの順序確認が完了し、ACK=55が送信されているとする。   In FIG. 12, it is assumed that the number of packets equal to the maximum storable number are already accumulated in the order buffer 211. Further, it is assumed that the SEQ of the packet that has arrived at the storage control unit 271 last time (finally) is 26. Further, it is assumed that the maximum storable number of the order buffer 211 is 40. Assume that the sequence confirmation up to SEQ = 55 is completed and ACK = 55 is transmitted.

上記の状態において、網31から受信機2にパケット(SEQ=133)が到着すると、そのパケットは格納制御部271に引き渡される。   In the above state, when a packet (SEQ = 133) arrives at the receiver 2 from the network 31, the packet is delivered to the storage control unit 271.

格納制御部271は、まず到着したパケットのSEQ(133)と前回到着したパケットのSEQ(126)を比較し、SEQが前回より大きくなっていることから、再送は発生していないと判断する。   The storage control unit 271 first compares the SEQ (133) of the packet that has arrived with the SEQ (126) of the packet that has arrived last time, and determines that no retransmission has occurred because the SEQ is larger than the previous time.

格納制御部271は、つぎに順序バッファ211の格納済パケット数を確認する。すると、現在40個のパケットが格納されており、これは最大格納可能数と等しいことから、すでに格納済のパケット40個を全て廃棄し、ACK送信部23に再送要求を行う。   Next, the storage control unit 271 confirms the number of stored packets in the order buffer 211. Then, 40 packets are currently stored. Since this is equal to the maximum storable number, all 40 already stored packets are discarded and a retransmission request is made to the ACK transmission unit 23.

ACK送信部23は、格納制御部271からの再送要求を受け、ACK送信部23内に保存されている前回送信したACKのSEQ(55)と同じSEQを含むACK(ACK=55)を送信する。   The ACK transmission unit 23 receives a retransmission request from the storage control unit 271 and transmits an ACK (ACK = 55) including the same SEQ as the SEQ (55) of the previously transmitted ACK stored in the ACK transmission unit 23. .

送信機1内の再送バッファ13は、受信機2からのACK=55を受信する。そして、このACKのSEQは、前回到着したACKのSEQと同じであることから、再送バッファ内の全てのパケットを、SEQ=56のパケットから順に、振り分け部14に対して再送する。   The retransmission buffer 13 in the transmitter 1 receives ACK = 55 from the receiver 2. Then, since the SEQ of this ACK is the same as the SEQ of the ACK that arrived last time, all the packets in the retransmission buffer are retransmitted to the distribution unit 14 in order from the packet of SEQ = 56.

振り分け部14は、再送バッファから再送されたパケットを、網31〜34に振り分ける。ここで、SEQ=56のパケットが、網31に振り分けられたとする。   The distribution unit 14 distributes the packets retransmitted from the retransmission buffer to the networks 31 to 34. Here, it is assumed that the packet with SEQ = 56 is distributed to the network 31.

上記の状態において、網31から受信機2にパケット(SEQ=56)が到着すると、格納制御部271に引き渡される。   In the above state, when a packet (SEQ = 56) arrives at the receiver 2 from the network 31, it is delivered to the storage control unit 271.

格納制御部271は、まず到着したパケットのSEQ(56)と前回到着したパケットのSEQ(126)を比較し、SEQが前回より小さくなっていることから、再送が発生したと判断し、すでに順序バッファ211に格納されているパケットを全て廃棄し、今回到着したパケットを順序バッファ211に格納する。   The storage controller 271 first compares the SEQ (56) of the packet that has arrived with the SEQ (126) of the packet that has arrived last time, and determines that retransmission has occurred since the SEQ is smaller than the previous time, and has already decided the order. All the packets stored in the buffer 211 are discarded, and the packet that has arrived this time is stored in the order buffer 211.

以上に示したように、順序バッファ211があふれた場合は、バッファフラッシュ(全廃棄)によりパケットロスが発生したと判断して再送要求を行う。   As described above, when the order buffer 211 overflows, it is determined that a packet loss has occurred due to buffer flush (total discard), and a retransmission request is made.

順序保証バッファがあふれる場合は、パケットロスなどの障害により、取出制御部22が順序バッファからパケットを取り出せない場合である。このような状態では、多くの場合において再送を行わない限り、正常な状態に戻すことは難しい。また、バッファあふれになった場合に、既に順序バッファに滞留しているパケットは、再送が行われれば不要となる。   The case where the order guarantee buffer overflows is a case where the takeout control unit 22 cannot take out the packet from the order buffer due to a failure such as packet loss. In such a state, it is difficult to return to a normal state unless retransmission is performed in many cases. Also, if the buffer overflows, the packets that have already stayed in the sequential buffer become unnecessary if retransmission is performed.

マルチパス環境において、本実施形態に記載のパケットロス判定がない場合は、受信機2が送信機1に対して再送要求を行う事ができないため、送信機1は再送タイマ15を用いて再送を行うしかない。しかしながら、一般的に再送タイマ15は、誤動作を防止するために最低でも1RTT以上の大きな値を設定する必要があるため、再送開始までに時間がかかる。   In a multipath environment, if there is no packet loss determination described in the present embodiment, the receiver 2 cannot make a retransmission request to the transmitter 1, so the transmitter 1 uses the retransmission timer 15 to perform retransmission. There is no choice but to do. However, in general, the retransmission timer 15 needs to set a large value of at least 1 RTT in order to prevent malfunction, and therefore it takes time to start retransmission.

このため、本実施形態に記載のパケットロス判定機構を用いると、順序バッファ211があふれることにより、パケットロスを判定することで、再送タイマによるロス判定よりも高速なロス判定(再送要求)を行う事ができる。   For this reason, when the packet loss determination mechanism described in the present embodiment is used, a loss determination (retransmission request) is performed faster than the loss determination by the retransmission timer by determining the packet loss when the order buffer 211 overflows. I can do things.

なお、再送によるパケットが到着した場合、シーケンスナンバーの大小により再送を判断し、再送があったと判断した場合はバッファフラッシュ(全廃棄)を行う。これにより、再送により不要となるオンザフライパケットも適切に廃棄できる。   When a packet arrives due to retransmission, retransmission is determined based on the sequence number, and when it is determined that retransmission has occurred, buffer flush (all discards) is performed. Thereby, the on-the-fly packet which becomes unnecessary by retransmission can be appropriately discarded.

(本実施形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of this embodiment)
Next, the effect of this embodiment will be described.

本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロス等の異常を高速に検出することができる。   When the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when the order of packets in each network does not reverse, only one stage is used. By using this sequence number management, it is possible to detect abnormalities such as packet loss at high speed.

これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視するからである。   This is because the storage controller in the receiver cannot take out packets from the sequence buffer when an abnormality occurs, and monitors the overflow of the sequence buffer installed in each network, focusing on the characteristics of buffer overflow. is there.

また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、再送を高速に開始することができる。   Further, when the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when packet order reversal in each network does not occur, 1 Retransmission can be started at high speed using the management of sequence numbers of only stages.

これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視し、バッファあふれを再送開始の契機とするからである。   This is because the storage control unit in the receiver cannot monitor packets from the order buffer when an abnormality occurs and monitors the overflow of the order buffer installed in each network, focusing on the characteristic that the buffer overflows. This is because overflow is a trigger for starting retransmission.

(第4の実施の形態)
本発明の第4の実施の形態は、第3の実施の形態に対して、順序バッファ211〜214の最大格納可能数(容量)を、網31〜34の帯域および遅延差から決定し、順序バッファあふれによる異常検出(再送開始)を高速化するものである。
(Fourth embodiment)
The fourth embodiment of the present invention determines the maximum storable number (capacity) of the order buffers 211 to 214 from the bandwidths of the networks 31 to 34 and the delay difference with respect to the third embodiment. This speeds up the abnormality detection (retransmission start) due to buffer overflow.

順序バッファ211〜214は、網31〜34の遅延の差分を吸収する為のものである。したがって順序バッファは、「網31〜34の往復遅延のうち最大の往復遅延と最小の往復遅延の差」と「網31〜34の帯域」の積の大きさがあればよい。もし、この大きさを超えて順序バッファ211〜214にパケットが蓄積された場合は、パケットロス等の異常が発生していると見なせる。本実施の形態は、この特性を利用して、第3の実施の形態に記した異常検出と再送開始を高速化するものである。   The order buffers 211 to 214 are for absorbing the delay difference between the networks 31 to 34. Therefore, the order buffer only needs to have a product size of “the difference between the maximum round trip delay and the minimum round trip delay among the round trip delays of the networks 31 to 34” and the “band of the networks 31 to 34”. If a packet is accumulated in the order buffers 211 to 214 beyond this size, it can be considered that an abnormality such as a packet loss has occurred. This embodiment uses this characteristic to speed up the abnormality detection and the retransmission start described in the third embodiment.

(構成の説明)
図14を参照して、本実施の形態における構成について説明する。
(Description of configuration)
With reference to FIG. 14, the structure in this Embodiment is demonstrated.

送信機1は、図12に記した第3の実施の形態における構成に対して、振り分け部14が振り分け部14Aになり、内蔵時計19が追加されている点において異なる。   The transmitter 1 differs from the configuration of the third embodiment shown in FIG. 12 in that the distribution unit 14 is a distribution unit 14A and an internal clock 19 is added.

振り分け部14Aは、第1の実施の形態に記した振り分け部14の動作のほかに、再送バッファ13から受け取り、網31〜34にパケットを転送する際、パケットヘッダ内に内蔵時計19から提供を受けた時刻情報を記載する機能を有する。   In addition to the operation of the distribution unit 14 described in the first embodiment, the distribution unit 14A is provided from the internal clock 19 in the packet header when receiving the packet from the retransmission buffer 13 and transferring the packet to the networks 31 to 34. It has a function to describe the received time information.

内蔵時計19は、送信機1に内蔵された時計であり、振り分け部14に対して時刻情報を提供する。   The built-in clock 19 is a clock built in the transmitter 1 and provides time information to the sorting unit 14.

受信機2は、図12に記した第3の実施の形態における構成に対して、容量決定部28および内蔵時計29が追加されている点において異なる。   The receiver 2 is different from the configuration of the third embodiment shown in FIG. 12 in that a capacity determination unit 28 and a built-in clock 29 are added.

容量決定部28は、格納制御部271〜274より、網31〜34の帯域情報と到着パケットのヘッダ内に記載されているパケットの送信時刻情報を受け取り、さらに内蔵時計29から時刻情報を受け取り、各網の往復遅延時間を計算する。そして計算した往復遅延時間および帯域から、順序バッファ211〜214の最大格納可能数(容量)を決定して設定する。   The capacity determination unit 28 receives the bandwidth information of the networks 31 to 34 and the transmission time information of the packet described in the header of the arrival packet from the storage control units 271 to 274, and further receives the time information from the built-in clock 29, Calculate the round trip delay time for each network. Then, the maximum storable number (capacity) of the order buffers 211 to 214 is determined and set from the calculated round-trip delay time and bandwidth.

内蔵時計29は、受信機2に内蔵された時計であり、容量決定部28に対して時刻情報を提供する。内蔵時計29と内蔵時計19は同期していても、同期していなくても良い。   The built-in clock 29 is a clock built in the receiver 2 and provides time information to the capacity determination unit 28. The built-in clock 29 and the built-in clock 19 may or may not be synchronized.

(動作例)
(内蔵時計19と内蔵時計29が同期している場合)
図14を用いて、内蔵時計19と内蔵時計29が同期しており、網31にパケットが送信された場合における、容量決定部28の動作を説明する。
(Operation example)
(When the built-in clock 19 and the built-in clock 29 are synchronized)
The operation of the capacity determination unit 28 when the internal clock 19 and the internal clock 29 are synchronized and a packet is transmitted to the network 31 will be described with reference to FIG.

送信機1内の再送バッファ13からパケットが送出され、振り分け部14Aに到着する。   A packet is transmitted from the retransmission buffer 13 in the transmitter 1 and arrives at the distribution unit 14A.

振り分け部14Aは、内蔵時計19から時刻情報を取得し、再送バッファ13より到着したパケットのヘッダに送信時刻情報を埋め込む。そして、網31に送信する。   The distributing unit 14A acquires time information from the built-in clock 19 and embeds transmission time information in the header of the packet that has arrived from the retransmission buffer 13. Then, the data is transmitted to the network 31.

受信機2内の格納制御部271は、網31からパケットを受信すると、網31からの単位時間当たりの受信バイト数(受信レート、以下帯域という)と、パケット内に記載されている送信時刻情報を、容量決定部28に通知する。   When the storage control unit 271 in the receiver 2 receives a packet from the network 31, the number of received bytes per unit time from the network 31 (reception rate, hereinafter referred to as bandwidth) and transmission time information described in the packet Is notified to the capacity determination unit 28.

容量決定部28は、格納制御部271から帯域と送信時刻の通知を受けると、内蔵時計29から受信時刻を取得し、以下の式より網31の往復遅延時間(RTT)を計算して記録する。   Upon receiving notification of the bandwidth and transmission time from the storage control unit 271, the capacity determination unit 28 obtains the reception time from the built-in clock 29, and calculates and records the round-trip delay time (RTT) of the network 31 from the following equation. .

RTT=(受信時刻−送信時刻)×2
容量決定部28は、記録している網31〜34のRTTを比較し、最大のもの(最大RTT)と最小のもの(最小RTT)を調べる。そして、以下の式により順序保証バッファ211の容量を決定する。
RTT = (reception time−transmission time) × 2
The capacity determination unit 28 compares the recorded RTTs of the networks 31 to 34 to check the maximum (maximum RTT) and minimum (minimum RTT). Then, the capacity of the order guarantee buffer 211 is determined by the following equation.

順序バッファ211の容量=(最大RTT−最小RTT)×網31の帯域
順序保証バッファ211は、容量決定部28から容量の通知を受けて、最大格納可能量の設定を行う(最大格納可能量は、ビット、バイト、個数など、適宜変換して設定する)。
Capacity of order buffer 211 = (maximum RTT−minimum RTT) × bandwidth of network 31 The order guarantee buffer 211 receives the capacity notification from the capacity determination unit 28 and sets the maximum storable amount (the maximum storable amount is , Bits, bytes, number, etc., are converted and set as appropriate).

以上では、網31にパケットが送信された場合における、順序バッファ211の容量決定動作を例に説明したが、網32〜34にパケットが送信された場合も同様に、順序バッファ212〜214の容量を決定できる。   In the above, the capacity determining operation of the order buffer 211 when a packet is transmitted to the network 31 has been described as an example. Similarly, when the packet is transmitted to the networks 32 to 34, the capacity of the order buffer 212 to 214 is also described. Can be determined.

上記動作により決定した順序バッファの容量は、網31〜34の遅延差を吸収できる容量となっている。もしこれを超えてパケットが蓄積されようとする場合(順序バッファあふれが発生する場合)は、パケットロス等の異常が発生していると考えられる。よって、本実施の形態に従って順序バッファ211〜214の容量をできるだけ小さく設定し、さらに実施の形態3にしたがい順序バッファ211〜214のあふれを監視することで、異常検出を高速に行い、再送タイマよりも高速な再送開始の契機とすることができる。   The capacity of the order buffer determined by the above operation is a capacity that can absorb the delay difference between the networks 31 to 34. If the packet is to be accumulated beyond this (order buffer overflow occurs), it is considered that an abnormality such as a packet loss has occurred. Therefore, according to the present embodiment, the capacity of the order buffers 211 to 214 is set as small as possible, and the overflow of the order buffers 211 to 214 is monitored according to the third embodiment, so that anomaly detection can be performed at high speed. Can be used as a trigger for the start of high-speed retransmission.

(内蔵時計19と内蔵時計29が同期していない場合)
内蔵時計19と内蔵時計29が同期しておらず、内蔵時計29の時刻が内蔵時計19の時刻よりもαだけ進んでいる場合、RTTは以下のように表すことができる。
(When built-in clock 19 and built-in clock 29 are not synchronized)
When the built-in clock 19 and the built-in clock 29 are not synchronized and the time of the built-in clock 29 is advanced by α from the time of the built-in clock 19, the RTT can be expressed as follows.

最大RTT=(受信時刻a+α−送信時刻a)×2
最小RTT=(受信時刻b+α−送信時刻b)×2
このとき、順序バッファの容量は、以下のようになる。
Maximum RTT = (Reception time a + α−Transmission time a) × 2
Minimum RTT = (reception time b + α−transmission time b) × 2
At this time, the capacity of the order buffer is as follows.

順序バッファ容量
=(最大RTT−最小RTT)×帯域
={(受信時刻a+α−送信時刻a)−(受信時刻b+α−送信時刻b)}×2×帯域
=(受信時刻a−送信時刻a−受信時刻b+送信時刻b)×2×帯域
上記の式より、αは相殺されるため、内蔵時計19と内蔵時計29が同期しておらず、内蔵時計29の時刻が内蔵時計19の時刻よりもαだけ進んでいる場合でも、順序バッファの容量を決定できる。
Order buffer capacity = (maximum RTT−minimum RTT) × bandwidth = {(reception time a + α−transmission time a) − (reception time b + α−transmission time b)} × 2 × bandwidth = (reception time a−transmission time a−reception) Time b + Transmission time b) × 2 × Band From the above formula, α is canceled out, so that the built-in clock 19 and the built-in clock 29 are not synchronized, and the time of the built-in clock 29 is greater than the time of the built-in clock 19 Even if it is only advanced, the capacity of the order buffer can be determined.

(本実施形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of this embodiment)
Next, the effect of this embodiment will be described.

本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロス等の異常を高速に検出することができる。   When the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when the order of packets in each network does not reverse, only one stage is used. By using this sequence number management, it is possible to detect abnormalities such as packet loss at high speed.

これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視して障害検出する際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。   This is because the storage control unit in the receiver cannot monitor packets from the order buffer when an error occurs and monitors the overflow of the order buffer installed in each network. This is because the capacity determination unit in the receiver sets the size of the order buffer so as to be the minimum necessary from the delay difference and the bandwidth between the networks.

また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、再送を高速に開始することができる。   Further, when the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when packet order reversal in each network does not occur, 1 Retransmission can be started at high speed using the management of sequence numbers of only stages.

これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視してバッファあふれを再送開始の契機とする際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。   This is because the storage controller in the receiver cannot take out packets from the sequence buffer when an abnormality occurs, and pays attention to the characteristic that the buffer overflows. This is because when the overflow is triggered by the start of retransmission, the capacity determination unit in the receiver sets the size of the order buffer so as to be the minimum necessary from the delay difference and the bandwidth between networks.

(第5の実施の形態)
本発明の第5の実施の形態は、第1の実施の形態に対して、GO−BACK−Nによる再送ではなく、Selective ACKによる、欠落パケットのみの選択的な再送を行うものである。
(Fifth embodiment)
The fifth embodiment of the present invention performs selective retransmission of only missing packets by Selective ACK instead of retransmission by GO-BACK-N, compared to the first embodiment.

(構成の説明)
図15を参照して、本実施の形態における構成について説明する。
(Description of configuration)
With reference to FIG. 15, the configuration of the present embodiment will be described.

送信機1は、図1に記した第1の実施の形態における構成に対して、再送バッファ13が再送バッファ13Aに、順序バッファ211〜214が、順序バッファ211A〜214Aに、ACK送信部23がACK送信部23Aにそれぞれ変更され、さらに追越バッファ215、格納制御部271A〜274Aがそれぞれ追加されている点において異なる。   The transmitter 1 is different from the configuration of the first embodiment shown in FIG. 1 in that the retransmission buffer 13 is the retransmission buffer 13A, the sequence buffers 211 to 214 are the sequence buffers 211A to 214A, and the ACK transmission unit 23 is The difference is that each is changed to an ACK transmission unit 23A, and an overtaking buffer 215 and storage control units 271A to 274A are added.

再送バッファ13Aは、第1の実施の形態における再送バッファ13の動作(1)〜(5)のほかに、以下の動作をおこなう。   In addition to the operations (1) to (5) of the retransmission buffer 13 in the first embodiment, the retransmission buffer 13A performs the following operations.

(6)ACK送信部23より否定送達確認(NACK)を受け取り、NACKに記載されたシーケンスナンバーの値のパケットの複製を振り分け部14に再送信する。   (6) A negative acknowledgment (NACK) is received from the ACK transmission unit 23 and a copy of the packet having the sequence number value described in the NACK is retransmitted to the distribution unit 14.

順序バッファ211Aは、順序バッファ211と同様のFIFOバッファであり、網31からパケットを受信して一旦格納し、取出制御部22に格納完了通知を行う。また取出制御部22からの指示に従い、出力バッファ24に格納したパケットを転送する。しかしながら、順序バッファ211とは異なり、網31より到着したパケットのシーケンスナンバーと、前回に網31より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄することは行わない。   The order buffer 211 </ b> A is a FIFO buffer similar to the order buffer 211, receives a packet from the network 31, temporarily stores it, and notifies the takeout control unit 22 of storage completion. Further, the packet stored in the output buffer 24 is transferred in accordance with an instruction from the take-out control unit 22. However, unlike the order buffer 211, the sequence number of the packet arriving from the network 31 is compared with the sequence number of the packet arriving from the network 31 last time. If it is smaller or the same, it is considered that retransmission has occurred, and all stored packets are not discarded.

順序バッファ212A〜214Aは、順序バッファ211Aと同様の動作を行う。   The order buffers 212A to 214A perform the same operation as the order buffer 211A.

追越バッファ215は、格納制御部271A〜274Aより、NACKにより再送されたパケットを受け取り、取出制御部22に格納を通知する。そして取出制御部22からの指示により、格納中のパケットを出力バッファ24に転送する。なお、格納制御部22は、追越バッファ215を、順序バッファ211A〜214Aと同様のバッファとして取り扱う。   The overtaking buffer 215 receives the packet retransmitted by NACK from the storage control units 271A to 274A, and notifies the extraction control unit 22 of the storage. Then, the packet being stored is transferred to the output buffer 24 according to an instruction from the take-out control unit 22. Note that the storage control unit 22 handles the overtaking buffer 215 as a buffer similar to the order buffers 211A to 214A.

ACK送信部23Aは、以下の動作を行う。なお本願では出力バッファ24へ1パケット転送が完了する毎に1パケットのACKを送信する1ACK方式で説明を行うが、N(Nは1以上)個のパケット到着報告を1つのACKでまとめて行うN_ACK方式を用いても良い。   The ACK transmission unit 23A performs the following operation. In the present application, a description will be given of the 1ACK method in which an ACK of one packet is transmitted every time one packet transfer to the output buffer 24 is completed, but N (N is 1 or more) packet arrival reports are collectively performed by one ACK. The N_ACK method may be used.

(1)取り出し制御部23から出力バッファ24に転送したパケットのSEQ通知を受け、前記SEQを含む送達確認パケット(以下ACKと示す)を生成し、再送バッファ13に通知する。このときACKは、網31〜34のいずれかを用いて通知する。また、通知を受けたSEQを記憶しておく。   (1) Upon receiving the SEQ notification of the packet transferred from the take-out control unit 23 to the output buffer 24, a delivery confirmation packet (hereinafter referred to as ACK) including the SEQ is generated and notified to the retransmission buffer 13. At this time, ACK is notified using one of the networks 31 to 34. Further, the received SEQ is stored.

(2)欠落検出部20、および格納制御部271A〜274Aから再送要求を受け、(1)で記憶したSEQ+1の値のNACKパケット(否定確認応答パケット)を生成し、再送バッファ13Aに通知する。このときNACKは、網31〜34のいずれかを用いて通知する。(2)のNACKは複製の上、網31〜34の全部を用いて転送しても良いが、この場合は、再送バッファ13Aにおいて再送が頻発しないよう、再送バッファ13Aにロック機構などを設ける必要がある。   (2) Upon receiving a retransmission request from the loss detection unit 20 and the storage control units 271A to 274A, a NACK packet (negative acknowledgment packet) having the value of SEQ + 1 stored in (1) is generated and notified to the retransmission buffer 13A. At this time, NACK is notified using one of the networks 31 to 34. The NACK in (2) may be copied and transferred using all of the networks 31 to 34. In this case, it is necessary to provide a lock mechanism or the like in the retransmission buffer 13A so that retransmission does not occur frequently in the retransmission buffer 13A. There is.

格納制御部271A〜274Aは、以下に示す動作を行う。   The storage controllers 271A to 274A perform the following operations.

(1)網31より到着したパケットのシーケンスナンバーと、前回に網31より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、もしくは同じである場合は、再送が発生したとみなして、当該パケットを追越バッファ215に転送する。   (1) The sequence number of the packet arriving from the network 31 is compared with the sequence number of the packet arriving from the network 31 last time, and the SEQ of the packet arriving this time is smaller than or equal to the SEQ of the packet arriving last time. If it is, it is assumed that retransmission has occurred, and the packet is transferred to the overtaking buffer 215.

(2)(1)において再送が発生していない場合は、網31から到着したパケットを、順序バッファ211Aに転送する。このとき、順序バッファ211Aの格納済パケット数を確認し、もしも到着パケットを格納すると、最大格納可能数を超える場合は、順序バッファ211Aの格納済パケットを全て廃棄し、ACK送信部23Aに対して再送要求を行う。   (2) When retransmission does not occur in (1), the packet arriving from the network 31 is transferred to the order buffer 211A. At this time, the number of stored packets in the order buffer 211A is confirmed. If the maximum number of packets that can be stored is exceeded if the arrival packets are stored, all the stored packets in the order buffer 211A are discarded and the ACK transmission unit 23A is notified. Request retransmission.

(動作の説明)
図15の流れ図を参照して、格納制御部271Aにおける動作を説明する。
(Description of operation)
The operation in the storage control unit 271A will be described with reference to the flowchart in FIG.

格納制御部271Aの動作は、図13に示す格納制御部271の動作と比較して、ステップ27103がステップ27103Aになっている点においてことなる。   The operation of the storage control unit 271A is different from the operation of the storage control unit 271 shown in FIG. 13 in that step 27103 is changed to step 27103A.

今回到着したパケットのSEQが、前回到着したパケットのSEQより小さいか、同じである場合は、再送が発生したと判断し、到着したパケットを追越バッファ215に転送して終了する(ステップ27103A)。   If the SEQ of the packet that has arrived this time is smaller than or equal to the SEQ of the packet that has arrived last time, it is determined that retransmission has occurred, and the packet that arrived is transferred to the overtaking buffer 215 and the process ends (step 27103A). .

(動作例)
(異常時の欠落検出動作例)
以下、図5を参照して、パケットロス発生時(異常時)における欠落検出部20およびACK送信部23Aの動作例を説明する。図5においてはACK送信部23が記載されているが、ここではACK送信部23Aと読み替えるものとする。
(Operation example)
(Example of missing detection operation in case of abnormality)
Hereinafter, with reference to FIG. 5, an operation example of the loss detection unit 20 and the ACK transmission unit 23 </ b> A when a packet loss occurs (abnormal state) will be described. In FIG. 5, the ACK transmission unit 23 is described, but here it is read as the ACK transmission unit 23A.

図5では、網33において、SEQ=6のパケットが欠落(ロス)した場合の例を示している。   FIG. 5 shows an example in which a packet with SEQ = 6 is lost (lost) in the network 33.

また、網33は他の網よりも遅延が大きく、網31、32、34は、網33よりも遅延が少ないため、順序バッファ211、212、214に対して、網33を経由する場合よりもパケットが速く到達するとする。   Further, since the network 33 has a larger delay than the other networks, and the networks 31, 32, and 34 have a smaller delay than the network 33, the order buffers 211, 212, and 214 are compared with the case of passing through the network 33. Assume that packets arrive fast.

図5において、SEQ1〜SEQ5までのパケットの順序確認が完了して出力バッファ24に転送され、これらパケットに対して、ACK送信部23より、ACK1〜ACK5が送出されているとする。   In FIG. 5, it is assumed that the packet sequence confirmation from SEQ1 to SEQ5 is completed and transferred to the output buffer 24, and ACK1 to ACK5 are transmitted from the ACK transmission unit 23 to these packets.

ここで順序バッファ213に、欠落したSEQ=6のパケットの次に網33に送出されたSEQ=12のパケットが格納されると、順序確認動作221が起動する。しかしながら出力バッファ24に送出できるパケットがないので、ただちに欠落検出部20に取出完了通知が行われる。   Here, when the SEQ = 12 packet sent to the network 33 next to the missing SEQ = 6 packet is stored in the order buffer 213, the order confirmation operation 221 is activated. However, since there is no packet that can be sent to the output buffer 24, the dropout detection unit 20 is immediately notified of the removal completion.

欠落検出部20は、順序バッファ211〜214に格納されているパケットの個数を調べる。ここで順序バッファ213を含む全ての順序バッファ内にパケットの格納を確認し、欠落が発生しているとみなして、ACK送信部23Aに対して再送要求を行う。   The missing detection unit 20 checks the number of packets stored in the order buffers 211 to 214. Here, the storage of the packet is confirmed in all the order buffers including the order buffer 213, and it is assumed that a loss has occurred, and a retransmission request is made to the ACK transmission unit 23A.

ACK送信部23Aは、欠落検出部20からの再送要求を受け、前回送出したACK(ACK=5)に1を足したSEQ=6を含むNACK(否定送達確認)を送信する。送信機1は、NACKが届いたため、再送要求があったと判断して、SEQ=6のパケットを再送する。   The ACK transmission unit 23A receives a retransmission request from the loss detection unit 20, and transmits a NACK (negative acknowledgment) including SEQ = 6 obtained by adding 1 to the ACK (ACK = 5) transmitted last time. Since the NACK has arrived, the transmitter 1 determines that there is a retransmission request and retransmits the packet with SEQ = 6.

前記再送により送信されたSEQ=6のパケットは、受信機2内の格納制御部271A〜274Aにより、追越バッファ215に転送され、追越バッファ215より出力バッファ214に転送される。   The packet of SEQ = 6 transmitted by the retransmission is transferred to the overtaking buffer 215 by the storage control units 271A to 274A in the receiver 2, and is transferred from the overtaking buffer 215 to the output buffer 214.

以上に示したように、欠落検出部20による欠落検出と、Selective ACKによる、欠落パケットのみの選択的な再送を組み合わせることにより、高速に障害を検知し、さらに再送時の帯域圧迫を最小限に抑えることができる。このような方式を用いることで、従来技術2よりも簡略な機構(SEQを1段のみ用いる)で、従来技術2と同等の障害検知性能、ならびに再送時に従来技術2と同等の帯域圧迫率を実現できる。   As described above, by combining the loss detection by the loss detection unit 20 and the selective retransmission of only the lost packet by the selective ACK, it is possible to detect a failure at a high speed and minimize the bandwidth compression during the retransmission. Can be suppressed. By using such a method, the fault detection performance equivalent to that of the conventional technology 2 and the bandwidth compression rate equivalent to that of the conventional technology 2 at the time of retransmission can be achieved with a simpler mechanism (using only one stage of SEQ) than that of the conventional technology 2. realizable.

(本実施形態の効果)
次に、本実施の形態の効果について説明する。
(Effect of this embodiment)
Next, the effect of this embodiment will be described.

本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。   When the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when the order of packets in each network does not reverse, only one stage is used. The packet loss can be detected at high speed using the management of the sequence number.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that the packet is stored in the order buffer of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network. It is because it monitors.

また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、1段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。   Further, when the invention described in this embodiment is used, in a multipath environment in which a transmitter and a receiver are connected by a plurality of networks, when packet order reversal in each network does not occur, 1 Retransmission at the time of packet loss can be started at high speed using the management of the sequence number of only the stage.

これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。   This is because the loss detection unit in the receiver pays attention to the characteristic that the packet is stored in the order buffer of all networks when packet loss occurs, and the packet retention state in the order guarantee buffer installed for each network. This is because by monitoring, it is possible to detect missing at high speed without using the retransmission timer.

以上の実施の形態及び実施形態では、パケットという用語を用いて説明を行ったが、フレーム(イーサネット(登録商標)フレーム等)でも同様に実施できる。   In the above embodiment and embodiment, the description has been made using the term “packet”. However, the present invention can be similarly applied to a frame (such as an Ethernet (registered trademark) frame).

以上好ましい実施の形態及び実施形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施形態に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。当然ながら、以上に述べた実施の形態及び実施形態を、相互に組み合わせて実施することもできる。   Although the present invention has been described with reference to the preferred embodiments and embodiments, the present invention is not necessarily limited to the above embodiments and embodiments, and various modifications can be made within the scope of the technical idea. Can be implemented. Of course, the embodiment and the embodiment described above can also be implemented in combination with each other.

本発明によれば、複数の網を利用して大容量のデータを高速転送するイーサネット(登録商標)スイッチやルータ等に適用できる。また、サーバ間を高速に結ぶネットワークインターフェースカード(NIC)等にも適用できる。   The present invention can be applied to an Ethernet (registered trademark) switch, a router, and the like that transfer a large amount of data at high speed using a plurality of networks. It can also be applied to a network interface card (NIC) that connects servers at high speed.

1 送信機
2 受信機
11 データ部
12 SEQ付与部
13 再送バッファ
14 振り分け部
14A 振り分け部
15 再送タイマ
19 内蔵時計
22 取出制御部
22A 取出制御部
23 ACK送信部
24 出力バッファ
25 SEQ削除部
26 データ受信部
28 容量決定部
29 内蔵時計
211 順序バッファ
212 順序バッファ
213 順序バッファ
214 順序バッファ
221 順序確認動作
221A 順序確認動作
222 欠落検出動作
222A 欠落検出動作
223 パケット取出動作
271 格納制御部
272 格納制御部
273 格納制御部
274 格納制御部
DESCRIPTION OF SYMBOLS 1 Transmitter 2 Receiver 11 Data part 12 SEQ provision part 13 Retransmission buffer 14 Distribution part 14A Distribution part 15 Retransmission timer 19 Built-in clock 22 Extraction control part 22A Extraction control part 23 ACK transmission part 24 Output buffer 25 SEQ deletion part 26 Data reception Unit 28 capacity determination unit 29 internal clock 211 order buffer 212 order buffer 213 order buffer 214 order buffer 221 order confirmation operation 221A order confirmation operation 222 missing detection operation 222A missing detection operation 223 packet extraction operation 271 storage control unit 272 storage control unit 273 storage Control unit 274 Storage control unit

Claims (8)

送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、
再送により送付されたパケットを蓄積する追越バッファと、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部
を備えることを特徴とする通信装置。
In the case where the transmitter and the receiver are connected by a plurality of networks that do not cause packet order reversal in the network,
Multiple sequence buffers installed in each network that accumulate packets until the sequence is confirmed,
An extraction control unit for confirming the sequence number added to the packet and extracting the packet from the order buffer while restoring the flow order;
An overtaking buffer that accumulates packets sent by resending;
A communication apparatus comprising: a retransmission storage control unit that allocates storage destinations to the order buffer and the overtaking buffer according to a sequence number.
前記通信装置は、
欠落を検出した際に再送要求を行うACK送信部
を備えることを特徴とする、請求項1に記載の通信装置。
The communication device
The communication apparatus according to claim 1, further comprising: an ACK transmission unit that makes a retransmission request when a loss is detected.
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
前記受信機が、
順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、
再送により送付されたパケットを蓄積する追越バッファと、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部
を備えることを特徴とする通信システム。
In the case where the transmitter and the receiver are connected by a plurality of networks that do not cause packet order reversal in the network,
The receiver is
Multiple sequence buffers installed in each network that accumulate packets until the sequence is confirmed,
An extraction control unit for confirming the sequence number added to the packet and extracting the packet from the order buffer while restoring the flow order;
An overtaking buffer that accumulates packets sent by resending;
A communication system, comprising: a retransmission storage control unit that allocates storage destinations to the order buffer and the overtaking buffer according to a sequence number.
前記受信機は、
欠落を検出した際に再送要求を行うACK送信部
を備えることを特徴とする、請求項3に記載の通信システム。
The receiver
The communication system according to claim 3, further comprising: an ACK transmission unit that makes a retransmission request when a loss is detected.
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
前記受信機が、
順序バッファにおいて順序確認を行うまでパケットを蓄積し、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、
追越バッファに再送により送付されたパケットを蓄積し、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける
ことを特徴とする通信方法。
In the case where the transmitter and the receiver are connected by a plurality of networks that do not cause packet order reversal in the network,
The receiver is
Packets are accumulated until the order is confirmed in the order buffer.
Check the sequence number added to the packet, retrieve the packet from the order buffer while restoring the flow order,
Accumulate packets sent by resending in the overtaking buffer,
A communication method, wherein a storage destination is allocated to the order buffer and the overtaking buffer according to a sequence number.
前記受信機は、
欠落を検出した際に再送要求を行う
ことを特徴とする、請求項5に記載の通信方法。
The receiver
The communication method according to claim 5, wherein a retransmission request is made when a loss is detected.
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
前記受信機が、
順序バッファにおいて順序確認を行うまでパケットを蓄積し、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、
追越バッファに再送により送付されたパケットを蓄積し、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける
ことを特徴とする通信方法をコンピュータに行わせるためのプログラム。
When the transmitter and the receiver are connected by multiple networks that do not cause packet order reversal in the network,
The receiver is
Packets are accumulated until the order is confirmed in the order buffer.
Check the sequence number added to the packet, retrieve the packet from the order buffer while restoring the flow order,
Accumulate packets sent by resending in the overtaking buffer,
A program for causing a computer to perform a communication method, wherein a storage destination is assigned to the order buffer and the overtaking buffer according to a sequence number.
前記受信機は、
欠落を検出した際に再送要求を行う
ことを特徴とする、請求項7に記載のプログラム。
The receiver
The program according to claim 7, wherein a retransmission request is made when a loss is detected.
JP2009270387A 2009-11-27 2009-11-27 Communication apparatus, communication system, packet loss detection method, and packet loss detection program Active JP5046197B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009270387A JP5046197B2 (en) 2009-11-27 2009-11-27 Communication apparatus, communication system, packet loss detection method, and packet loss detection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009270387A JP5046197B2 (en) 2009-11-27 2009-11-27 Communication apparatus, communication system, packet loss detection method, and packet loss detection program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007221164A Division JP4587053B2 (en) 2007-08-28 2007-08-28 Communication apparatus, communication system, packet loss detection method, and packet loss detection program

Publications (2)

Publication Number Publication Date
JP2010074855A true JP2010074855A (en) 2010-04-02
JP5046197B2 JP5046197B2 (en) 2012-10-10

Family

ID=42206127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009270387A Active JP5046197B2 (en) 2009-11-27 2009-11-27 Communication apparatus, communication system, packet loss detection method, and packet loss detection program

Country Status (1)

Country Link
JP (1) JP5046197B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012204969A (en) * 2011-03-24 2012-10-22 Oki Electric Ind Co Ltd Communication device and communication control method
CN113576370A (en) * 2020-04-30 2021-11-02 深圳硅基智控科技有限公司 Communication device for receiving data of capsule endoscope

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0477155A (en) * 1990-07-17 1992-03-11 Nec Corp Parallel data transmission system
JPH05110600A (en) * 1991-10-16 1993-04-30 Nippon Telegr & Teleph Corp <Ntt> Sequence control method for received packet
JPH11215185A (en) * 1998-01-22 1999-08-06 Fuji Xerox Co Ltd Device and method for transmitting data
JP2000216815A (en) * 1999-01-21 2000-08-04 Toshiba Corp Multilink communication equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0477155A (en) * 1990-07-17 1992-03-11 Nec Corp Parallel data transmission system
JPH05110600A (en) * 1991-10-16 1993-04-30 Nippon Telegr & Teleph Corp <Ntt> Sequence control method for received packet
JPH11215185A (en) * 1998-01-22 1999-08-06 Fuji Xerox Co Ltd Device and method for transmitting data
JP2000216815A (en) * 1999-01-21 2000-08-04 Toshiba Corp Multilink communication equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012204969A (en) * 2011-03-24 2012-10-22 Oki Electric Ind Co Ltd Communication device and communication control method
CN113576370A (en) * 2020-04-30 2021-11-02 深圳硅基智控科技有限公司 Communication device for receiving data of capsule endoscope
CN113576370B (en) * 2020-04-30 2023-04-07 深圳硅基智控科技有限公司 Communication device for receiving data of capsule endoscope

Also Published As

Publication number Publication date
JP5046197B2 (en) 2012-10-10

Similar Documents

Publication Publication Date Title
JP4587053B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
US11641387B2 (en) Timely delivery of real-time media problem when TCP must be used
JP5816718B2 (en) Communication apparatus, communication system, and data communication relay method
US20070014246A1 (en) Method and system for transparent TCP offload with per flow estimation of a far end transmit window
US20020054570A1 (en) Data communication system, data communication method, and recording medium with data communication program recorded thereon
US9843525B2 (en) Apparatus and method
JP5867188B2 (en) Information processing apparatus, congestion control method, and congestion control program
EP1295428A2 (en) Performance enhancement of transmission control protocol (tcp) for wireless network applications
WO2014092779A1 (en) Notification by network element of packet drops
JP2011119823A (en) Packet repeater and congestion control method
JP4924285B2 (en) Communication apparatus, communication system, transfer efficiency improvement method, and transfer efficiency improvement program
US10439940B2 (en) Latency correction between transport layer host and deterministic interface circuit
Tam et al. Preventing TCP incast throughput collapse at the initiation, continuation, and termination
US20070291782A1 (en) Acknowledgement filtering
CN109981385B (en) Method, device and system for realizing packet loss detection
JP7067544B2 (en) Communication systems, communication devices, methods and programs
JP5046197B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
JP2014507817A (en) Communication apparatus, packet retransmission control method, packet retransmission control program
CN109067663B (en) System and method for controlling request response rate in application program
JP5382556B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
JP5761193B2 (en) Communication apparatus, communication system, packet retransmission control method, and packet retransmission control program
JP5170847B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
CN104580171A (en) TCP (transmission control protocol) transmission method, device and system
JP5539161B2 (en) Data transmission method and multi-site data distribution method
CN112491666A (en) Elastic reliable router for power grid wide area phase measurement system

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100630

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120607

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5046197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120708