JP4973749B2 - Communication apparatus and communication control method - Google Patents

Communication apparatus and communication control method Download PDF

Info

Publication number
JP4973749B2
JP4973749B2 JP2010045387A JP2010045387A JP4973749B2 JP 4973749 B2 JP4973749 B2 JP 4973749B2 JP 2010045387 A JP2010045387 A JP 2010045387A JP 2010045387 A JP2010045387 A JP 2010045387A JP 4973749 B2 JP4973749 B2 JP 4973749B2
Authority
JP
Japan
Prior art keywords
packet
received
unit
packets
sequence number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010045387A
Other languages
Japanese (ja)
Other versions
JP2011182234A (en
Inventor
規景 今中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2010045387A priority Critical patent/JP4973749B2/en
Publication of JP2011182234A publication Critical patent/JP2011182234A/en
Application granted granted Critical
Publication of JP4973749B2 publication Critical patent/JP4973749B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、通信装置及び通信制御方法に関する。   The present invention relates to a communication device and a communication control method.

データを小分けされたパケットに変換して伝送するパケット通信においては、通常マルチパス伝送方式が採用されている。マルチパス伝送方式においては、送信元からのパケットの送信順と、受信元でのパケットの受信順とを一致させるための技術が開発されている。   In packet communication in which data is converted into subdivided packets and transmitted, a multipath transmission method is usually employed. In the multipath transmission method, a technique for matching the transmission order of packets from a transmission source with the reception order of packets at a reception source has been developed.

例えば、下記の非特許文献1には、パケットベースでマルチパスにルーティングする一連のパケットフローを、複数のパスに振り分けるルータが、そのノードでのパケットの到着間隔によって振り分けるパスを決定する技術が開示されており、これにより受信ノードでのパケットの到着順序が送信ノードのパケット送信順序と同一になるようにしている。   For example, the following Non-Patent Document 1 discloses a technology in which a router that distributes a series of packet flows routed to a multipath on a packet basis to a plurality of paths determines a path to be distributed according to an arrival interval of packets at the node. Thus, the arrival order of the packets at the receiving node is made the same as the packet transmission order of the transmitting node.

また例えば、下記の特許文献1には、1セッションを複数のパスを使って送信するマルチパス環境で、受信バッファの先頭にあるパケット番号からパケットロスを素早く検出する技術が開示されており、ロスしているパケットの再送を要求することで、受信ノードでのパケットの到着順序が送信ノードのパケット送信順序と同一にすることができる。   Further, for example, Patent Document 1 below discloses a technique for quickly detecting a packet loss from a packet number at the head of a reception buffer in a multipath environment in which one session is transmitted using a plurality of paths. By requesting retransmission of a packet that is being transmitted, the arrival order of packets at the receiving node can be made the same as the packet transmission order of the transmitting node.

特開2009−55419号公報JP 2009-55419 A

“Dynamic Load Balancing Without Packet Reordering”,ACM SIGCOMM Computer Communication Review,June 2007“Dynamic Load Balancing Without Packet Reordering”, ACM SIGCOMM Computer Communication Review, June 2007

しかし、非特許文献1に記載された技術のように送信側でパケットの送信を制御しても、宛先で順序通りにパケットが受信出来るとは限らない。ネットワークのリソースの使用状態は時々刻々と変化するので、送信時に想定していたパケット到着までの遅延時間が正しいとは限らないからである。またネットワークによっては経路の途中で経路が分岐したり、分岐した経路が再び合流等したりすることで順序が入れ替わってしまう場合もあり得る。この場合に、送信側で到着順序の保証を制御することは困難である。   However, even if packet transmission is controlled on the transmission side as in the technique described in Non-Patent Document 1, packets cannot always be received in order at the destination. This is because the use state of network resources changes from moment to moment, and therefore the delay time until arrival of a packet assumed at the time of transmission is not always correct. Further, depending on the network, the order may be changed due to the branching of the route in the middle of the route or the joining of the branched route again. In this case, it is difficult to control the arrival order guarantee on the transmission side.

例えば、1パケット受信するごとにパケットを送信し、欠落していると判断されるパケットの再送を要求する制御下で、例えば10番までのパケットを受信し、その後に図7に示したような順番で、パケットを受信側で受信した場合を考える。この場合に、経路途中での順序の逆転を想定していなければ、受信側に13番のパケットが到着した時点で、受信側で11番及び12番のパケットは欠落していると判断され、11番及び12番のパケットの再送が受信側から要求される。   For example, a packet is transmitted every time one packet is received, and, for example, packets up to No. 10 are received under the control of requesting retransmission of a packet determined to be missing, and thereafter, as shown in FIG. Consider the case where packets are received on the receiving side in order. In this case, if it is not assumed that the order is reversed in the middle of the route, it is determined that the 11th and 12th packets are missing on the receiving side when the 13th packet arrives on the receiving side, The receiving side requests retransmission of the 11th and 12th packets.

また、同様の制御下で、20番までのパケットを受信し、その後に図18に示したような順番で、パケットを受信側で受信した場合を考える。この場合も、経路途中での順序の逆転を想定していなければ、受信側に27番のパケットが到着した時点で21番から26番のパケットが欠落していると判断され、21番から26番のパケットの再送が受信側から要求される。   Also, consider a case where packets up to No. 20 are received under the same control, and then packets are received on the receiving side in the order shown in FIG. Also in this case, if it is not assumed that the order is reversed in the middle of the route, it is determined that the 21st to 26th packets are missing when the 27th packet arrives at the receiving side. No. packet is requested to be retransmitted.

このように、マルチパス伝送方式によってパケットが送信される場合に、ある1つの経路で、さらに経路が分岐することでパケットの順序が入れ替わる場合には、受信端末が持つ複数の受信バッファの先頭にあるパケットからだけではパケットロスの判断が早すぎてしまい、実際にはロスしていないパケットまでも再送の対象となってしまう。   In this way, when a packet is transmitted by the multipath transmission method, if the order of the packets is switched by further branching the route along a certain route, it is placed at the head of the plurality of reception buffers of the receiving terminal. A packet loss is judged too early from a certain packet, and even a packet that is not actually lost is subject to retransmission.

例えば、20番までのパケットを受信し、その後に図18に示したような順番で、パケットを受信側で受信した場合を考える。そして、例えば特許文献1において述べられている状況、すなわち送信端末のIF(インタフェース)1、2から送られたパケットが受信端末のIF3、4で受信されるとする。この場合に、IF3で27番のパケットを、IF4で26番のパケットを受信バッファにて受け取ったとすると、特許文献2で開示された技術を用いると、受信バッファの先頭にあるパケットから、パケットがロスしているかどうかを判断するので、21番から25番のパケットが欠落していると判断され、21番から25番のパケットの再送が受信端末から要求される。   For example, consider a case where packets up to No. 20 are received, and then packets are received on the receiving side in the order shown in FIG. For example, suppose that the situation described in Patent Document 1, that is, packets sent from IF (interfaces) 1 and 2 of the transmitting terminal are received by IFs 3 and 4 of the receiving terminal. In this case, if the 27th packet is received by IF3 and the 26th packet is received by IF4 in the reception buffer, using the technique disclosed in Patent Document 2, the packet is transferred from the packet at the head of the reception buffer. Since it is determined whether the packet is lost, it is determined that the 21st to 25th packets are missing, and a retransmission of the 21st to 25th packets is requested from the receiving terminal.

このように、従来は実際にはロスしていないパケットまでも再送の対象となることでパケットの再送回数が増大し、ネットワーク上に無駄なトラフィックが流れてしまうという問題があった。   As described above, conventionally, even packets that are not actually lost are subject to retransmission, which increases the number of retransmissions of the packets and causes a problem that unnecessary traffic flows on the network.

そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、送信側で順序番号を付与された送信パケットに対して、受信側で到着したパケットの並びから経路の分岐数を推定し、受信側で順序番号通りパケットが届いていない場合であっても推定した分岐数から順序逆転が起こっていることを判断して再送応答の判断を遅らせることで、パケットの再送回数を減少させることが可能な、新規かつ改良された通信装置及び通信制御方法を提供することにある。   Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to determine from a sequence of packets arriving at the reception side with respect to transmission packets assigned sequence numbers at the transmission side. By estimating the number of branches on the route, and even if the packet does not arrive as the sequence number on the receiving side, it is determined that order reversal has occurred based on the estimated number of branches, and the packet is retransmitted and delayed. It is an object of the present invention to provide a new and improved communication apparatus and communication control method capable of reducing the number of retransmissions.

上記課題を解決するために、本発明のある観点によれば、所定区切りの一連のパケットがネットワークを介して送信端末から順序番号が付与されて送信されたパケットを受信する受信端末において、パケットを受信するパケット受信部と、前記パケット受信部が受信したパケットの受信順から前記ネットワークの経路の分岐数を推定して計算する推定部と、前記受信順及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定部と、前記パケット受信部が受信したパケットを保持するパケット保持部と、前記パケット保持部に保持されているパケット及び前記欠落判定部で欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を前記送信端末へ要求する応答部と、を備えることを特徴とする、通信装置が提供される。   In order to solve the above-described problem, according to one aspect of the present invention, a receiving terminal that receives a packet in which a sequence of predetermined packets is assigned a sequence number from a transmitting terminal via a network is received by a receiving terminal. A packet receiving unit for receiving, an estimation unit for estimating and calculating the number of branches of the network path from the reception order of the packets received by the packet receiving unit, and missing in the middle of the route from the reception order and the number of branches A loss determination unit that determines a received packet; a packet holding unit that holds a packet received by the packet reception unit; a packet that is held in the packet holding unit; and an order of packets that are determined to be missing by the loss determination unit And a response unit that requests the transmitting terminal to retransmit the missing packet based on the number. It is.

前記推定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットを前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が最大となるように選んだ列における、順序番号が降順に並ぶ個数を前記経路の分岐数と推定してもよい。   The estimation unit receives the packets up to the sequence number n (n is an integer equal to or greater than 0) and then receives all the packets of the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the largest sequence number received by the packet receiving unit until the packet receiving unit receives all the packets from the sequence numbers n + 1 to m For all received packets that fall between packets of sequence number n + 1, in a column selected so that the number of sequence numbers in descending order is the maximum in the sequence in which the received packets are arranged in the order received by the packet receiver. The number of the order numbers arranged in descending order may be estimated as the number of branches of the route.

前記欠落判定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットを前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が、前記推定部が推定した前記経路の分岐数以上になるものがあれば、順序番号n+1番から、前記受信パケットのうち順序番号n+1番より大きいものの中で最小の順序番号の1つ手前までのパケットが欠落していると判定してもよい。   After the packet receiving unit has received all the packets up to the order number n (n is an integer equal to or greater than 0), the missing determination unit is the mth greater than the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the maximum sequence number received by the packet receiving unit before the packet receiving unit receives all the packets from the sequence numbers n + 1 to m And for all received packets that fall between the packets of sequence number n + 1, the number estimated by the estimation unit is the number of the sequence numbers arranged in descending order in the sequence in which the received packets are arranged in the order received by the packet reception unit. If there is a packet whose number is greater than or equal to the number of branches in the route, the sequence number n + 1 is one prior to the smallest sequence number among the received packets that are greater than the sequence number n + 1. Packet may be determined to be missing at.

前記応答部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、前記パケット受信部がパケットを受信しても順序番号n+1番のパケットが前記パケット保持部に存在しない場合、順序番号n+1番のパケットの欠落を前記欠落判定部が判定するまでパケットの再送の要求を控えてもよい。   The response unit receives a packet up to the sequence number n (n is an integer equal to or greater than 0) after the packet reception unit receives the packet, and the packet of the sequence number n + 1 is received even if the packet reception unit receives the packet. If the packet holding unit does not exist, a packet retransmission request may be withheld until the missing determination unit determines that the packet with the sequence number n + 1 is missing.

また、上記課題を解決するために、本発明の別の観点によれば、所定区切りの一連のパケットがネットワークを介して、送信端末から複数の送信インタフェースによって順序番号及びインタフェース識別子が付与されて送信されたパケットを受信する受信端末において、パケットを受信するパケット受信部と、前記パケット受信部が受信したパケットの受信順及び前記インタフェース識別子から前記ネットワークの経路の分岐数を推定して計算する推定部と、前記受信順、前記インタフェース識別子及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定部と、前記パケット受信部が受信したパケットを保持するパケット保持部と、前記パケット保持部に保持されているパケット及び前記欠落判定部で欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を要求する応答部と、を備えることを特徴とする、通信装置が提供される。   In order to solve the above-described problem, according to another aspect of the present invention, a series of packets delimited by a predetermined number are transmitted from a transmission terminal with a sequence number and an interface identifier by a plurality of transmission interfaces via a network. In a receiving terminal that receives the received packet, a packet receiving unit that receives the packet, and an estimation unit that estimates and calculates the number of branches of the network path from the reception order of the packets received by the packet receiving unit and the interface identifier A loss determination unit that determines a packet that is lost during the route from the reception order, the interface identifier, and the number of branches, a packet holding unit that holds a packet received by the packet reception unit, and the packet holding unit And packets determined to be missing by the missing decision unit. And a Tsu preparative sequence number, and a response unit which requests the retransmission of the missing packets, characterized in that it comprises a communication device is provided.

前記推定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットからある送信インタフェースからの受信パケットを抽出して前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が最大となるように選んだ列における、順序番号が降順に並ぶ個数を該送信インタフェースにおける前記経路の分岐数と推定してもよい。   The estimation unit receives the packets up to the sequence number n (n is an integer equal to or greater than 0) and then receives all the packets of the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the largest sequence number received by the packet receiving unit until the packet receiving unit receives all the packets from the sequence numbers n + 1 to m For all received packets that fall between the packets of sequence number n + 1, the sequence numbers are arranged in descending order in a sequence in which the received packets from a transmission interface are extracted from the received packets and arranged in the order received by the packet receiver. In the column selected so as to maximize the number, the number of the sequence numbers arranged in descending order may be estimated as the number of branches of the route in the transmission interface. .

前記欠落判定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットからある送信インタフェースからの受信パケットを抽出して前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が、前記推定部が推定した前記経路の分岐数以上になるものが全ての送信インタフェースについて成立すれば、順序番号n+1番から、前記受信パケットのうち順序番号n+1番より大きいものの中で最小の順序番号の1つ手前までのパケットが欠落していると判定してもよい。   After the packet receiving unit has received all the packets up to the order number n (n is an integer equal to or greater than 0), the missing determination unit is the mth greater than the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the maximum sequence number received by the packet receiving unit before the packet receiving unit receives all the packets from the sequence numbers n + 1 to m For all received packets that fall between the packet and the sequence number n + 1, the sequence number is descending in a sequence in which the received packets from a transmission interface are extracted from the received packets and arranged in the order received by the packet receiver. If the number of lines equal to or greater than the number of branches of the route estimated by the estimation unit is established for all transmission interfaces, the sequence number n + 1 Et al., It may be determined that packets up to one before the smallest sequence number among those larger than the sequence number n + 1 th of the received packet is missing.

前記応答部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、前記パケット受信部がパケットを受信しても順序番号n+1番のパケットが前記パケット保持部に存在しない場合、順序番号n+1番のパケットの欠落を前記欠落判定部が判定するまでパケットの再送の要求を控えるようにしてもよい。   The response unit receives a packet up to the sequence number n (n is an integer equal to or greater than 0) after the packet reception unit receives the packet, and the packet of the sequence number n + 1 is received even if the packet reception unit receives the packet. If the packet holding unit does not exist, the packet retransmission request may be refrained until the missing determination unit determines that the packet with the sequence number n + 1 is missing.

また、上記課題を解決するために、本発明の別の観点によれば、所定区切りの一連のパケットがネットワークを介して送信端末から順序番号が付与されて送信されたパケットを受信するパケット受信ステップと、前記パケット受信ステップで受信したパケットの受信順から前記ネットワークの経路の分岐数を推定して計算する推定ステップと、前記受信順及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定ステップと、前記パケット受信ステップで受信したパケットを保持するパケット保持ステップと、前記パケット保持ステップで保持されているパケット及び前記欠落判定ステップで欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を前記送信端末へ要求する応答ステップと、を備えることを特徴とする、通信制御方法が提供される。   In order to solve the above-described problem, according to another aspect of the present invention, a packet receiving step of receiving a packet in which a sequence of predetermined packets is transmitted with a sequence number assigned from a transmitting terminal via a network. And an estimation step of estimating and calculating the number of branches of the network path from the reception order of the packets received in the packet reception step, and determining a packet lost in the middle of the path from the reception order and the number of branches Missing from the missing decision step, the packet holding step for holding the packet received in the packet receiving step, the packet held in the packet holding step and the sequence number of the packet determined to be missing in the missing decision step A response step for requesting the transmitting terminal to retransmit the received packet. The symptom, the communication control method is provided.

また、上記課題を解決するために、本発明の別の観点によれば、所定区切りの一連のパケットがネットワークを介して送信端末から複数の送信インタフェースによって順序番号及びインタフェース識別子が付与されて送信されたパケットを受信するパケット受信ステップと、前記パケット受信ステップで受信したパケットの受信順及び前記インタフェース識別子から前記ネットワークの経路の分岐数を推定して計算する推定ステップと、前記受信順、前記インタフェース識別子及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定ステップと、前記パケット受信ステップで受信したパケットを保持するパケット保持ステップと、前記パケット保持ステップで保持されているパケット及び前記欠落判定ステップで欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を要求する応答ステップと、を備えることを特徴とする、通信制御方法が提供される。   In order to solve the above problem, according to another aspect of the present invention, a series of predetermined packets are transmitted from a transmission terminal via a network with a sequence number and an interface identifier assigned by a plurality of transmission interfaces. A packet receiving step for receiving received packets, an estimation step for estimating and calculating the number of branches of the network path from the reception order of the packets received in the packet receiving step and the interface identifier, the reception order, and the interface identifier And a loss determination step for determining a lost packet in the middle of the route from the number of branches, a packet holding step for holding a packet received in the packet receiving step, a packet held in the packet holding step, and the missing packet Judgment is missing in the judgment step And a is the order number of the packet, characterized in that it comprises a response requesting retransmission of missing packets, the communication control method is provided.

以上説明したように本発明によれば、送信側で順序番号を付与された送信パケットに対して、受信側で到着したパケットの並びから経路の分岐数を推定し、受信側で順序番号通りパケットが届いていない場合であっても推定した分岐数から順序逆転が起こっていることを判断して再送応答の判断を遅らせることで、パケットの再送回数を減少させることが可能な、新規かつ改良された通信装置及び通信制御方法を提供することができる。   As described above, according to the present invention, for a transmission packet to which a sequence number is assigned on the transmission side, the number of path branches is estimated from the sequence of packets that have arrived on the reception side, and packets are transmitted according to the sequence number on the reception side. Even if the packet has not arrived, it is possible to reduce the number of packet retransmissions by delaying the determination of the retransmission response by judging that the order reversal has occurred from the estimated number of branches. A communication apparatus and a communication control method can be provided.

本発明の第1の実施形態に係る通信システムの概略構成を示す説明図である。It is explanatory drawing which shows schematic structure of the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態にかかる受信端末100Bの構成を示す説明図である。It is explanatory drawing which shows the structure of the receiving terminal 100B concerning the 1st Embodiment of this invention. 本発明の第1の実施形態にかかる推定部130の動作を示す流れ図である。It is a flowchart which shows operation | movement of the estimation part 130 concerning the 1st Embodiment of this invention. 本発明の第1の実施形態にかかる欠落判定部140の動作を示す流れ図である。It is a flowchart which shows operation | movement of the missing determination part 140 concerning the 1st Embodiment of this invention. 本発明の第1の実施形態にかかるバッファ150の動作を示す流れ図である。It is a flowchart which shows operation | movement of the buffer 150 concerning the 1st Embodiment of this invention. 本発明の第1の実施形態にかかる応答部170の動作を示す流れ図である。It is a flowchart which shows operation | movement of the response part 170 concerning the 1st Embodiment of this invention. 受信端末100Bが受信するパケット列の一例を示す説明図である。It is explanatory drawing which shows an example of the packet sequence which the receiving terminal 100B receives. 受信端末100Bが受信するパケット列の一例を示す説明図である。It is explanatory drawing which shows an example of the packet sequence which the receiving terminal 100B receives. 受信端末100Bが受信するパケット列の一例を示す説明図である。It is explanatory drawing which shows an example of the packet sequence which the receiving terminal 100B receives. ネットワーク10における経路の一例を示す説明図である。2 is an explanatory diagram showing an example of a route in the network 10. FIG. 本発明の第2の実施形態に係る通信システムの概略構成を示す説明図である。It is explanatory drawing which shows schematic structure of the communication system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態にかかる受信端末200Bの構成を示す説明図である。It is explanatory drawing which shows the structure of the receiving terminal 200B concerning the 2nd Embodiment of this invention. 本発明の第2の実施形態にかかる推定部230の動作を示す流れ図である。It is a flowchart which shows operation | movement of the estimation part 230 concerning the 2nd Embodiment of this invention. 本発明の第2の実施形態にかかる欠落判定部240の動作を示す流れ図である。It is a flowchart which shows operation | movement of the missing determination part 240 concerning the 2nd Embodiment of this invention. 本発明の第2の実施形態にかかるバッファ250の動作を示す流れ図である。It is a flowchart which shows operation | movement of the buffer 250 concerning the 2nd Embodiment of this invention. 本発明の第2の実施形態にかかる応答部270の動作を示す流れ図である。It is a flowchart which shows operation | movement of the response part 270 concerning the 2nd Embodiment of this invention. 受信端末200Bが受信するパケット列の一例を示す説明図である。It is explanatory drawing which shows an example of the packet sequence which the receiving terminal 200B receives. 受信端末200Bが受信するパケット列の一例を示す説明図である。It is explanatory drawing which shows an example of the packet sequence which the receiving terminal 200B receives. ネットワーク10における経路の一例を示す説明図である。2 is an explanatory diagram showing an example of a route in the network 10. FIG.

以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。   Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol.

<1.第1の実施形態>
[1−1.通信システムの構成]
まず、図1を参照して、本発明の第1の実施形態に係る通信システムの概略構成について説明する。図1に示したように、本発明の第1の実施形態に係る通信システム1は、送信端末100Aから受信端末100Bに対して、ネットワーク10を介して、順序番号を付与したパケットの形式で送信したいデータを送信する。本実施形態においては、パケットを再送する場合を除き、原則として順序番号の昇順でパケットを送信する。
<1. First Embodiment>
[1-1. Configuration of communication system]
First, a schematic configuration of a communication system according to the first embodiment of the present invention will be described with reference to FIG. As shown in FIG. 1, the communication system 1 according to the first embodiment of the present invention transmits a packet with a sequence number from the transmission terminal 100A to the reception terminal 100B via the network 10. Send the data you want. In the present embodiment, except for the case where the packet is retransmitted, the packet is transmitted in ascending order of the order number in principle.

一方、受信端末100Bは、本発明の通信装置の一例であり、送信端末100Aから送信されるパケットを受信すると、順序番号の最初から初めて抜けなく受信した一連のパケットの内の最大の番号や、欠落しているパケットの番号を応答パケットとして送信端末100Aへ送信する。この応答パケットを送信端末100Aが受信することで、送信端末100Aは次に送信するパケットの順序番号を制御する。このような通信制御は、TCP(Transmission Control Protocol)等の通信方式に見られるものである。本実施形態は、このような制御下における主に応答パケットの制御に関わるものである。   On the other hand, the receiving terminal 100B is an example of the communication device of the present invention, and when receiving a packet transmitted from the transmitting terminal 100A, the maximum number in a series of packets received without omission for the first time from the beginning of the sequence number, The number of the missing packet is transmitted as a response packet to the transmission terminal 100A. When the transmission terminal 100A receives this response packet, the transmission terminal 100A controls the sequence number of the next packet to be transmitted. Such communication control is found in communication systems such as TCP (Transmission Control Protocol). The present embodiment mainly relates to response packet control under such control.

パケットが流れるネットワーク10の内部では、経路途中のルータ(図示せず)等がパケットを複数の経路に振り分けることで、経路が分岐され得る。図1に示した分岐はその状態を表したものである。送信端末100A、受信端末100Bは、ネットワーク10の中のパケットが通る経路や分岐の数については把握していない。なお、以下の説明では、ネットワーク10は複数の経路に分岐されているものとして説明するが、本発明は、送信端末100Aと受信端末100Bとの間に分岐が全く無い場合であっても同様に適用できるものである。   Inside the network 10 through which the packet flows, a route can be branched by a router (not shown) in the middle of the route distributing the packet to a plurality of routes. The branch shown in FIG. 1 represents the state. The transmitting terminal 100A and the receiving terminal 100B do not grasp the route or the number of branches through which the packet in the network 10 passes. In the following description, the network 10 is described as being branched into a plurality of paths. However, the present invention similarly applies even when there is no branch between the transmission terminal 100A and the reception terminal 100B. Applicable.

以上、図1を参照して、本発明の第1の実施形態に係る通信システムの概略構成について説明した。次に、本発明の第1の実施形態にかかる受信端末100Bの構成について説明する。   The schematic configuration of the communication system according to the first embodiment of the present invention has been described above with reference to FIG. Next, the configuration of the receiving terminal 100B according to the first embodiment of the present invention will be described.

[1−2.受信端末の構成]
図2は、本発明の第1の実施形態にかかる受信端末100Bの構成を示す説明図である。以下、図2を用いて本発明の第1の実施形態にかかる受信端末100Bの構成について説明する。
[1-2. Configuration of receiving terminal]
FIG. 2 is an explanatory diagram showing the configuration of the receiving terminal 100B according to the first embodiment of the present invention. Hereinafter, the configuration of the receiving terminal 100B according to the first embodiment of the present invention will be described with reference to FIG.

図2に示したように、本発明の第1の実施形態にかかる受信端末100Bは、パケット受信部120と、推定部130と、欠落判定部140と、バッファ150と、データ受信部160と、応答部170と、情報部180と、を含んで構成される。   As shown in FIG. 2, the receiving terminal 100B according to the first embodiment of the present invention includes a packet receiving unit 120, an estimation unit 130, a missing determination unit 140, a buffer 150, a data receiving unit 160, A response unit 170 and an information unit 180 are included.

パケット受信部120は、送信端末100Aから送信されてくる、順序番号が付与されたパケットを受信するものであり、パケット受信部120は受信したパケットを送信されてきた順序通りにバッファ150に渡す。   The packet receiving unit 120 receives a packet with an order number transmitted from the transmitting terminal 100A, and the packet receiving unit 120 passes the received packet to the buffer 150 in the order in which the packet is transmitted.

推定部130は、情報部180が保持している経路の分岐数の推定値と、データ受信部160が受信した最後尾のパケットの順序番号とを取得し、この順序番号と、分岐数の推定値と、パケット受信部120が受信したパケットの並びとから、送信経路途中での分岐数を推定するものである。推定部130が推定した分岐数の推定値は情報部180に送られる。   The estimation unit 130 acquires the estimated value of the number of branches of the route held by the information unit 180 and the sequence number of the last packet received by the data reception unit 160, and estimates the sequence number and the number of branches. The number of branches along the transmission path is estimated from the value and the sequence of packets received by the packet receiving unit 120. The estimated number of branches estimated by the estimation unit 130 is sent to the information unit 180.

本実施形態では、送信経路途中での分岐数は以下のように推定する。   In this embodiment, the number of branches in the middle of the transmission path is estimated as follows.

パケット受信部120で受信しているパケットは、送信端末100Aが受信端末100Bに対して順序番号の昇順に送信したパケットとする。これは、受信端末100Bからの応答パケットによって既に送信端末100Aが送信した順序番号の小さいパケットを、再度送っていない状態である。このことは、受信端末100Bにおいても、自身の送信する応答パケットによって判断する。   The packet received by the packet receiving unit 120 is a packet transmitted from the transmitting terminal 100A to the receiving terminal 100B in ascending order of the sequence number. This is a state in which a packet with a small sequence number that has already been transmitted by the transmitting terminal 100A by a response packet from the receiving terminal 100B is not sent again. This is determined also by the receiving terminal 100B based on the response packet transmitted by itself.

推定部130は、情報部180から分岐数の推定値kを取得するとともに、データ受信部160が受信した最後尾のパケットの順序番号を取得する。データ受信部160は、順序番号がn番目(n=0,1,2,・・・)までのパケットを全て受け取っているとすると、n=0の場合は、データ受信部160は未だパケットを受け取っていない。その後、順序番号がn番目より大きいm番目のパケットをパケット受信部120が受信したとする。m−n≦kの場合は、推定部130は、kを分岐数の推定値とする。一方、m−n>kである場合、推定部130は、先のm番目のパケットを含め、以降受信するn番目よりも順序番号が大きいパケットから選んだパケットを、パケット受信部120が受信した順に並べる。そして推定部130は、このパケット列について、順序番号が降順に並ぶ個数を数え上げる。ただし順序番号は連続していなくても良い。またパケットが1つの場合にはその個数を1とする。例えば、順序番号が13、11と並んでいれば、順序番号が降順に並ぶ個数は2であり、順序番号が13しかない場合には、順序番号が降順に並ぶ個数は1となる。   The estimation unit 130 acquires the estimated branch number k from the information unit 180 and also acquires the sequence number of the last packet received by the data reception unit 160. Assuming that the data reception unit 160 has received all the packets with the sequence numbers up to the nth (n = 0, 1, 2,...), When n = 0, the data reception unit 160 still does not receive the packet. I have not received. Thereafter, it is assumed that the packet receiving unit 120 receives an mth packet having an order number greater than the nth. When m−n ≦ k, the estimation unit 130 sets k as an estimated value of the number of branches. On the other hand, when m−n> k, the estimation unit 130 has received a packet selected from a packet having a larger sequence number than the nth received, including the previous mth packet. Arrange in order. Then, the estimation unit 130 counts up the number of the sequence numbers arranged in descending order for this packet sequence. However, the sequence numbers do not have to be consecutive. When there is one packet, the number is 1. For example, if the sequence numbers are aligned with 13 and 11, the number of sequence numbers arranged in descending order is 2, and if the sequence number is only 13, the number of sequence numbers arranged in descending order is 1.

m−n>kである場合、推定部130は、この個数が最大となるようにパケット列を選び、この列の順序番号が降順に並ぶ個数を分岐数の推定値とする。これは、通常であれば順序番号の昇順でパケットが到着するが、ネットワーク10で分岐があることで、パケットの到達順序が逆になることがある。従って、本実施形態では順序番号が降順の並ぶ個数を分岐の数と推定する。   When m−n> k, the estimation unit 130 selects a packet sequence so that the number is maximized, and sets the number of the sequence numbers in this sequence in descending order as the estimated number of branches. Normally, packets arrive in ascending order of sequence numbers, but the arrival order of packets may be reversed due to a branch in the network 10. Therefore, in the present embodiment, the number in which the order numbers are arranged in descending order is estimated as the number of branches.

数え上げる対象とするパケットは、順序番号がn+1番目からm番目までの全てのパケットをパケット受信部120が受信するまでの間に、パケット受信部120が受信した順序番号が最大の番号と、n+1番目のとの間に入る全てのパケットである(順序番号がn+1番目のパケットも含まれる)。例えば、n=10、m=13の場合に、図7に示したような順序で受信端末100Bがパケットを受信したとする。この場合は、パケット受信部120が、n+1=11番からm=13番までの全てのパケット、すなわち11番と12番のパケットを受信するまでに受信したパケットの最大の番号は16番である。このときに、11番から16番の間に入る全てのパケット、すなわち11、12、13、14、15、16番が数え上げの対象となる。そして、順序番号が降順に並ぶ個数の最大値は、16、15、12または16、15、14の場合の「3」となる。   The packets to be counted are the number with the largest sequence number received by the packet receiver 120 until the packet receiver 120 receives all the packets with the sequence numbers n + 1 to m + 1, and the n + 1th packet. All packets that fall in between (including the packet with the (n + 1) th sequence number). For example, when n = 10 and m = 13, it is assumed that the receiving terminal 100B receives packets in the order shown in FIG. In this case, the maximum number of packets received until the packet receiving unit 120 receives all the packets from n + 1 = 11 to m = 13, that is, the 11th and 12th packets is 16. . At this time, all packets that fall between No. 11 and No. 16, that is, Nos. 11, 12, 13, 14, 15, and 16, are counted. The maximum value of the number of the sequence numbers arranged in descending order is “3” in the case of 16, 15, 12 or 16, 15, 14.

図7に示したようにパケットが受信端末100Bに到達した場合、例えば図10に示したような経路で送信端末100Aから受信端末100Bに転送される。この場合の分岐数の推定値は「3」である。   When the packet arrives at the receiving terminal 100B as shown in FIG. 7, the packet is transferred from the transmitting terminal 100A to the receiving terminal 100B through the route shown in FIG. 10, for example. In this case, the estimated value of the number of branches is “3”.

欠落判定部140は、パケット受信部120で受信したパケットの並びと、情報部180が保持している、データ受信部160が受信した最後尾の順序番号と、情報部180が保持している、分岐数の推定値kとから、パケットが未到着なのか、経路途中で欠落しているのかを判定するものである。欠落判定部140は、パケットが欠落していると判定すると、応答部170に対して欠落しているパケットの順序番号を通知する。   The missing determination unit 140 includes the sequence of packets received by the packet reception unit 120, the last sequence number received by the data reception unit 160, which is held by the information unit 180, and the information unit 180. From the estimated value k of the number of branches, it is determined whether the packet has not arrived or is missing along the route. When determining that the packet is missing, the missing determination unit 140 notifies the response unit 170 of the sequence number of the missing packet.

欠落判定部140によるパケットの欠落判定方法について以下で説明する。   A packet loss determination method by the loss determination unit 140 will be described below.

情報部180が保持している、データ受信部160が受信した最後尾の順序番号がn番目(n=0,1,2,・・・)であったとする。次に欠落判定部140は、パケット受信部120で、順序番号がn+1番目より大きいm番目のパケットを受信した場合に、そのパケットを含め、以降受信するn+1番目よりも順序番号が大きいパケットから選んだパケットを、パケット受信部120が受信した順に並べる。そして、このパケット列について、順序番号が降順に並ぶ個数を数える。ただし、順序番号は連続していなくても良い。この個数がk個以上になるパケット列があれば、欠落判定部140は、n+1番目から、これまで受信したn+1番目より大きい番号の中で最小の順序番号の1つ手前までのパケットが欠落していると判定する。   It is assumed that the last sequence number received by the data receiving unit 160 held by the information unit 180 is the nth (n = 0, 1, 2,...). Next, when the packet receiving unit 120 receives the m-th packet having an order number greater than the (n + 1) th, the missing determination unit 140 selects the packet including the packet and having a larger order number than the (n + 1) th order received thereafter. The packets are arranged in the order received by the packet receiving unit 120. Then, the number of sequence numbers arranged in descending order is counted for this packet sequence. However, the sequence numbers do not have to be consecutive. If there is a packet sequence in which this number is greater than or equal to k, the drop determination unit 140 drops the packets from the (n + 1) th to the one before the smallest sequence number among the numbers larger than the (n + 1) th received so far. It is determined that

バッファ150は、パケット受信部120からパケットを受け取るものであり、バッファ150が受け取ったパケットは、順序番号の昇順に、重複無くデータ受信部160へ送られる。また、データ受信部160に送られた順序番号の最後尾の番号はバッファ150から情報部180に送られる。パケット受信部120から受け取ったパケットがバッファ150に存在しているパケットと重複したり、既にデータ受信部160に送ったパケットと同じものであったりした場合には、そのパケットはバッファ150から破棄される。   The buffer 150 receives packets from the packet receiving unit 120, and the packets received by the buffer 150 are sent to the data receiving unit 160 without duplication in ascending order of sequence numbers. Further, the last number of the sequence numbers sent to the data receiving unit 160 is sent from the buffer 150 to the information unit 180. If the packet received from the packet receiving unit 120 overlaps with a packet existing in the buffer 150 or is the same as the packet already sent to the data receiving unit 160, the packet is discarded from the buffer 150. The

データ受信部160は、バッファ150から渡されたパケットを受信するものである。   The data receiving unit 160 receives a packet passed from the buffer 150.

応答部170は、送信端末100Aがパケットを送る数や番号を制御するための応答パケットを生成して送信するものである。応答パケットの送信を行うために、応答部170は情報部180から、データ受信部160が受信した最後尾の順序番号nを取得する。また応答部170は、欠落判定部140から欠落しているパケットの情報も取得する。   The response unit 170 generates and transmits a response packet for controlling the number and number of packets sent by the transmission terminal 100A. In order to transmit the response packet, the response unit 170 acquires the last sequence number n received by the data reception unit 160 from the information unit 180. The response unit 170 also acquires information on the missing packet from the missing determination unit 140.

応答部170が生成する応答パケットの内容は、(1)どの順序番号のパケットまで正しい順序で受け取ったかを知らせるものであってもよく、(2)特定の順序番号のパケットの再送を要求するものであってもよい。いずれの内容のパケットであっても、応答パケットを受信した送信端末100Aは、どのパケットが受信端末100Bに送られていないのかが分かり、送信端末100Aは受信端末100Bに届けるべきパケットを再送することが出来る。   The content of the response packet generated by the response unit 170 may be (1) information indicating which sequence number packet is received in the correct order, and (2) requesting retransmission of a packet with a specific sequence number. It may be. Regardless of the content of the packet, the transmitting terminal 100A that has received the response packet knows which packet has not been sent to the receiving terminal 100B, and the transmitting terminal 100A retransmits the packet to be delivered to the receiving terminal 100B. I can do it.

なお、受信端末100Bからの応答パケットは、送信端末100Aと受信端末100Bとの間で予め定められた制御のタイミングで、上記(1)または(2)の少なくともいずれかの内容が記述されて、受信端末100Bから送信端末100Aへ送信される。   The response packet from the receiving terminal 100B describes at least one of the contents of (1) or (2) at a predetermined control timing between the transmitting terminal 100A and the receiving terminal 100B. The data is transmitted from the receiving terminal 100B to the transmitting terminal 100A.

応答部170は、応答パケットを送るタイミングになった場合に、バッファ150にパケットが無いときは、予め定められた上記(1)または(2)の少なくともいずれかの内容で応答パケットを送信する。一方、応答部170は、応答パケットを送るタイミングになった場合に、バッファ150にパケットがあるとき、すなわち順序番号どおりにパケットが届いておらず、抜けている順序番号のパケットがあるのでバッファ150にパケットがあるときは、上記(1)または(2)の内容を送信する場合であっても、欠落判定部140から欠落している順序番号を受け取るまで応答パケットの送信を控える。ただし、(2)の場合には、その抜けているパケットが無いものとして、すなわちその抜けているパケットの再送を要求しない内容で、応答部170は応答パケットを送信しても良い。その後、欠落判定部140からパケット欠落の通知があれば、応答部170はそのパケットの欠落を送信端末100Aに通知する。   When it is time to send a response packet, when there is no packet in buffer 150, response unit 170 transmits the response packet according to at least one of the above-described (1) and (2). On the other hand, when it is time to send the response packet, the response unit 170 has a packet in the buffer 150, that is, the packet does not reach the sequence number, and there is a packet with the missing sequence number. When there is a packet, even if the contents of (1) or (2) are transmitted, the response packet is not transmitted until the missing sequence number is received from the missing determination unit 140. However, in the case of (2), the response unit 170 may transmit the response packet on the assumption that there is no missing packet, that is, the content not requesting retransmission of the missing packet. Thereafter, if there is a packet loss notification from the loss determination unit 140, the response unit 170 notifies the transmission terminal 100A of the packet loss.

情報部180は、推定部130が推定した経路の分岐数の推定値と、バッファ150がデータ受信部160に送ったパケットのうち最後尾の順序番号とを保存する。情報部180が保存する、経路の分岐数の推定値の初期値は1である。また、最後尾の順序番号は、この番号以前の順序番号のパケットを、データ受信部160が全て受信していることを保証するものである。   The information unit 180 stores the estimated branch number estimated by the estimation unit 130 and the last sequence number of the packets sent from the buffer 150 to the data reception unit 160. The initial value of the estimated value of the number of branches of the route stored in the information unit 180 is 1. The last sequence number guarantees that the data reception unit 160 has received all packets with sequence numbers before this number.

以上、図2を用いて本発明の第1の実施形態にかかる受信端末100Bの構成について説明した。次に、本発明の第1の実施形態にかかる受信端末100Bの動作について説明する。   The configuration of the receiving terminal 100B according to the first embodiment of the present invention has been described above using FIG. Next, the operation of the receiving terminal 100B according to the first embodiment of the present invention will be described.

[1−3.受信端末の動作]
上述したように、パケット受信部120は、送信端末100Aから送信された、順序番号が付与されたパケットを受信し、送られてきた順序通りにバッファ150に受信したパケットを渡す。
[1-3. Operation of receiving terminal]
As described above, the packet receiving unit 120 receives a packet with an order number transmitted from the transmitting terminal 100A, and passes the received packet to the buffer 150 in the order received.

図3は、本発明の第1の実施形態にかかる受信端末100Bに含まれる推定部130の動作について示す流れ図である。以下、図3を用いて推定部130の動作について詳細に説明する。   FIG. 3 is a flowchart showing the operation of the estimation unit 130 included in the receiving terminal 100B according to the first embodiment of the present invention. Hereinafter, the operation of the estimation unit 130 will be described in detail with reference to FIG.

前提として、パケット受信部120で受信しているパケットは、送信端末100Aが受信端末100Bに対して順序番号の昇順に送信したパケットであるとする。推定部130は、情報部180から、分岐数の推定値kを取得するとともに、データ受信部160が受信した最後尾のパケットの順序番号nを取得する(ステップS301)。   It is assumed that the packet received by the packet receiving unit 120 is a packet transmitted from the transmitting terminal 100A to the receiving terminal 100B in ascending order of the sequence number. The estimation unit 130 acquires the estimated value k of the number of branches from the information unit 180 and also acquires the sequence number n of the last packet received by the data reception unit 160 (step S301).

続いて、推定部130は、パケット受信部120が新たに受信したパケットの順序番号mを取得する(ステップS302)。推定部130は、m−n≦kとなるかどうかを判定し(ステップS303)、m−n≦kであれば後段のステップS308へ進むが、k<m−nであれば、推定部130は、パケット受信部120が順序番号mのパケットの次に受信したパケットの順序番号を取得する(ステップS304)。   Subsequently, the estimating unit 130 acquires the sequence number m of the packet newly received by the packet receiving unit 120 (step S302). The estimation unit 130 determines whether or not mn ≦ k is satisfied (step S303). If mn ≦ k, the process proceeds to the subsequent step S308. If k <mn, the estimation unit 130 is determined. Acquires the sequence number of the packet received by the packet receiving unit 120 after the packet with the sequence number m (step S304).

続いて、推定部130は、順序番号mのパケットを含め、これまで取得した、順序番号nよりも順序番号が大きいパケットから選んだパケットを、パケット受信部120が受信した順に整列し、このパケット列について、順序番号が降順に並ぶ個数dを計数する(ステップS305)。数え上げの対象とするパケットは、順序番号がn+1番目からm番目までの全てのパケットをパケット受信部120が受信するまでの間に、パケット受信部120が受信した順序番号が最大のパケットと、順序番号がn+1番のパケットとの間に入る全てのパケットである。推定部130は、この個数が最大となるように選んだパケット列について、順序番号が降順に並ぶ個数dを分岐数の推定値の候補とする。   Subsequently, the estimation unit 130 arranges the packets selected from the packets having the order number larger than the order number n, including the packet with the order number m, in the order received by the packet reception unit 120. For the column, the number d in which the sequence numbers are arranged in descending order is counted (step S305). The packet to be counted includes the packet having the largest sequence number received by the packet receiving unit 120 until the packet receiving unit 120 receives all the packets having the sequence numbers n + 1 to m. All packets that fall between the packets of number n + 1. The estimation unit 130 uses the number d in which the sequence numbers are arranged in descending order for the packet sequence selected so that the number is maximized as candidates for the estimated number of branches.

推定部130は、上記ステップS305で数え上げた、順序番号が降順に並ぶ個数が最大となるように選んだパケット列について、順序番号が降順に並ぶ個数dを分岐数の推定値kの候補とする(ステップS306)。そして推定部130は、順序番号がn+1番目からm番目までの全てのパケットをパケット受信部120が受信するまでの間に、パケット受信部120が受信した順序番号が最大のパケットと、順序番号がn+1番のパケットとの間に入る全てのパケットを受信したかどうかを判断する(ステップS307)。全てのパケットを受信していれば、推定部130は上記ステップS306で候補とした分岐数の推定値kを情報部180に保存する(ステップS308)。一方、まだ全てのパケットを受信していなければ、上記ステップS304に戻って、推定部130は、さらに次に受信したパケットの順序番号を取得する処理を実行する。   The estimation unit 130 uses the number d in which the sequence numbers are arranged in descending order as candidates for the estimated number k of branch numbers for the packet sequence selected so that the number in which the sequence numbers are arranged in descending order is the maximum counted in step S305. (Step S306). Then, the estimation unit 130 determines that the packet having the largest sequence number received by the packet reception unit 120 and the sequence number of all packets having the sequence numbers n + 1 to m are received by the packet reception unit 120. It is determined whether all the packets that fall between the n + 1th packet have been received (step S307). If all the packets have been received, the estimating unit 130 stores the estimated number k of the number of branches determined as a candidate in step S306 in the information unit 180 (step S308). On the other hand, if all the packets have not been received yet, the process returns to step S304, and the estimation unit 130 further executes processing for obtaining the sequence number of the next received packet.

このように、推定部130はネットワーク10における分岐数を推定することができる。受信端末100Bは、この推定部130が推定した分岐数を用いて、パケットが欠落しているかどうかの判定を行うことができる。   Thus, the estimation unit 130 can estimate the number of branches in the network 10. The receiving terminal 100B can determine whether or not a packet is missing using the number of branches estimated by the estimation unit 130.

以上、図3を用いて推定部130の動作について詳細に説明した。次に、本発明の第1の実施形態にかかる受信端末100Bに含まれる欠落判定部140の動作について説明する。   The operation of the estimation unit 130 has been described in detail with reference to FIG. Next, the operation of the missing determination unit 140 included in the receiving terminal 100B according to the first embodiment of the present invention will be described.

図4は、本発明の第1の実施形態にかかる受信端末100Bに含まれる欠落判定部140の動作を示す流れ図である。以下、図4を用いて欠落判定部140の動作について詳細に説明する。   FIG. 4 is a flowchart showing the operation of the missing determination unit 140 included in the receiving terminal 100B according to the first embodiment of the present invention. Hereinafter, the operation of the missing determination unit 140 will be described in detail with reference to FIG.

まず、欠落判定部140はパケットの欠落判定処理に際し、情報部180から、分岐数の推定値kと、データ受信部160が受信した最後尾のパケットの順序番号nとを取得する(ステップS401)。次に、欠落判定部140はパケット受信部120が新たに受信したパケットの順序番号mを受け取り(ステップS402)、n+1<mとなっているかどうかを判定する(ステップS403)。   First, at the time of packet loss determination processing, the loss determination unit 140 acquires an estimated value k of the number of branches and the sequence number n of the last packet received by the data reception unit 160 from the information unit 180 (step S401). . Next, the loss determination unit 140 receives the sequence number m of the packet newly received by the packet reception unit 120 (step S402), and determines whether n + 1 <m is satisfied (step S403).

上記ステップS403の判定の結果、n+1≧mである場合には、欠落判定部140は、受信パケットに欠落は発生していないと判断し、処理を終了する。一方、上記ステップS403の判定の結果、n+1<mである場合には、続いて欠落判定部140はk=1であるかどうかを判定する(ステップS404)。   If n + 1 ≧ m is determined as a result of the determination in step S403, the loss determination unit 140 determines that no loss has occurred in the received packet, and ends the process. On the other hand, if n + 1 <m is determined as a result of the determination in step S403, the missing determination unit 140 determines whether k = 1 (step S404).

上記ステップS404の判定の結果、情報部180が保持している分岐数kの値がk=1である場合には、受信パケットに欠落が発生していると判断し、欠落判定部140は応答部170へパケットの欠落を通知する(ステップS405)。このステップS405では、欠落判定部140は、n+1番目から、これまで受信したn+1番より大きい番号の中で最小の順序番号の一つ手前までの順序番号のパケットが欠落していると判定し、応答部170へパケットの欠落を通知する。   As a result of the determination in step S404, when the value of the number of branches k held in the information unit 180 is k = 1, it is determined that the received packet is missing, and the missing determination unit 140 The packet 170 is notified to the unit 170 (step S405). In this step S405, the loss determination unit 140 determines that the packet of the sequence number from the (n + 1) th to the one before the smallest sequence number among the numbers greater than the (n + 1) th received so far is missing, Notify the response unit 170 of the missing packet.

一方、上記ステップS404の判定の結果、情報部180が保持している分岐数kの値がk=1でない場合には、次に、欠落判定部140はパケット受信部120が次に受信したパケットの順序番号を取得する(ステップS406)。   On the other hand, as a result of the determination in step S404, if the value of the number of branches k held in the information unit 180 is not k = 1, the missing determination unit 140 then receives the packet received next by the packet reception unit 120. Is obtained (step S406).

上記ステップS406でパケット受信部120が次に受信したパケットの順序番号を取得すると、続いて欠落判定部140は、上記ステップS406で取得した順序番号がn+1であるかどうかを判定する(ステップS407)。   When the packet reception unit 120 acquires the sequence number of the next packet received in step S406, the missing determination unit 140 determines whether the sequence number acquired in step S406 is n + 1 (step S407). .

上記ステップS407の判定の結果、上記ステップS406で取得した順序番号がn+1であるならば、欠落判定部140は処理を終了する。一方、上記ステップS407の判定の結果、上記ステップS406で取得した順序番号がn+1で無いならば、続いて欠落判定部140は、順序番号mのパケットを含め、これまでパケット受信部120から受け取ったn+1より大きい順序番号から選んだ順序番号を、パケット受信部120が受信した順に並べた列を対象に、ある番号から始めて順序番号が降順に並ぶ個数dを数え上げる(ステップS408)。   As a result of the determination in step S407, if the sequence number acquired in step S406 is n + 1, the lack determination unit 140 ends the process. On the other hand, as a result of the determination in step S407, if the sequence number acquired in step S406 is not n + 1, the missing determination unit 140 subsequently received from the packet reception unit 120 including the packet with the sequence number m. The sequence number selected from the sequence numbers greater than n + 1 in the order received by the packet receiving unit 120 is counted, and the number d of sequence numbers starting from a certain number in descending order is counted (step S408).

そして欠落判定部140は、上記ステップS408で数え上げた個数dについて、k≦dを満たす列が存在するかどうかを判定する(ステップS409)。k≦dを満たす列が1つでも存在すれば、受信パケットに欠落が発生していると判断し、欠落判定部140は応答部170へパケットの欠落を通知する(ステップS405)。一方、どの列のdについてもd<kであるならば、上記ステップS406に戻り、欠落判定部140はパケット受信部120が次に受信したパケットの順序番号を取得する。   Then, the missing determination unit 140 determines whether there is a column satisfying k ≦ d for the number d counted in step S408 (step S409). If there is even one column that satisfies k ≦ d, it is determined that the received packet is missing, and the missing determination unit 140 notifies the response unit 170 of the missing packet (step S405). On the other hand, if d <k for d in any column, the process returns to step S406, and the loss determination unit 140 acquires the sequence number of the next packet received by the packet reception unit 120.

以上、図4を用いて欠落判定部140の動作について詳細に説明した。次に、本発明の第1の実施形態にかかる受信端末100Bに含まれるバッファ150の動作について説明する。   The operation of the missing determination unit 140 has been described in detail above with reference to FIG. Next, the operation of the buffer 150 included in the receiving terminal 100B according to the first embodiment of the present invention will be described.

図5は、本発明の第1の実施形態にかかる受信端末100Bに含まれるバッファ150の動作を説明する流れ図である。以下、図5を用いてバッファ150の動作について説明する。   FIG. 5 is a flowchart for explaining the operation of the buffer 150 included in the receiving terminal 100B according to the first embodiment of the present invention. Hereinafter, the operation of the buffer 150 will be described with reference to FIG.

まず、バッファ150はパケット受信部120からパケットを受け取ると(ステップS501)、受信したパケットに付与されている順序番号の小さい順に、受け取ったパケットをデータ受信部160へ渡す(ステップS502)。バッファ150は、欠落している順序番号のパケットがあれば、そのパケットがパケット受信部120から送られて来るまで待機する。また、既にデータ受信部160へ渡したものと重複しているパケットがあれば、バッファ150はそのパケットを破棄する。   First, when the buffer 150 receives a packet from the packet receiving unit 120 (step S501), the buffer 150 passes the received packet to the data receiving unit 160 in order from the smallest sequence number assigned to the received packet (step S502). If there is a packet with the missing sequence number, the buffer 150 waits until the packet is sent from the packet receiving unit 120. In addition, if there is a packet that has already been duplicated to the data receiving unit 160, the buffer 150 discards the packet.

そして、バッファ150は、データ受信部160へ渡した最後のパケットの順序番号を情報部180に渡す。   Then, the buffer 150 passes the sequence number of the last packet passed to the data receiving unit 160 to the information unit 180.

以上、図5を用いてバッファ150の動作について説明した。次に、本発明の第1の実施形態にかかる受信端末100Bに含まれる応答部170の動作について説明する。   The operation of the buffer 150 has been described above with reference to FIG. Next, the operation of the response unit 170 included in the receiving terminal 100B according to the first embodiment of the present invention will be described.

図6は、本発明の第1の実施形態にかかる応答部170の動作について示す流れ図である。以下、図6を用いて第1の実施形態にかかる応答部170の動作について説明する。   FIG. 6 is a flowchart showing the operation of the response unit 170 according to the first embodiment of the present invention. The operation of the response unit 170 according to the first embodiment will be described below using FIG.

応答部170は、データ受信部160が受け取った最後のパケットの順序番号nを情報部180から取得する(ステップS601)。次に、応答部170はバッファ150にパケットが存在しているかどうかを確認する(ステップS602)。   The response unit 170 acquires the sequence number n of the last packet received by the data reception unit 160 from the information unit 180 (step S601). Next, the response unit 170 checks whether a packet exists in the buffer 150 (step S602).

上記ステップS602の確認の結果、バッファ150にパケットが無いか、または順序番号がn+1であるパケットがあれば、順序番号通りにパケットが受信出来ているので、応答部170は、予め定められた上記(1)または(2)の少なくともいずれかの内容で応答パケットを送信し、処理を終了する。   As a result of the confirmation in the step S602, if there is no packet in the buffer 150 or if there is a packet whose sequence number is n + 1, the packet can be received according to the sequence number. A response packet is transmitted with at least one of the contents of (1) or (2), and the process is terminated.

一方、上記ステップS602の確認の結果、バッファ150に順序番号がn+2以降のパケットが存在していれば、応答部170は欠落判定部140からの順序番号n+1のパケットの欠落の通知を受けているかどうかを確認する(ステップS603)。欠落判定部140からの順序番号n+1のパケットの欠落の通知を受けていなければ、上記ステップS602に戻り、応答部170は応答パケットの送信を控える。一方、欠落判定部140からの順序番号n+1のパケットの欠落の通知を受けていれば、応答部170は、送信端末100Aに対して、順序番号n+1のパケットが欠落していることを応答パケットにより通知する(ステップS604)。この通知は、予め定められた上記(1)または(2)の少なくともいずれかの内容によって行われる。   On the other hand, as a result of the confirmation in step S602, if there is a packet with the sequence number n + 2 or later in the buffer 150, has the response unit 170 received a notification of the deletion of the packet with the sequence number n + 1 from the loss determination unit 140? Whether or not is confirmed (step S603). If the notification of the loss of the packet with the sequence number n + 1 is not received from the loss determination unit 140, the process returns to step S602, and the response unit 170 refrains from transmitting the response packet. On the other hand, if the notification of the loss of the packet with the sequence number n + 1 is received from the loss determination unit 140, the response unit 170 informs the transmitting terminal 100A that the packet with the sequence number n + 1 is missing. Notification is made (step S604). This notification is performed according to at least one of the above-described (1) and (2).

以上、図6を用いて第1の実施形態にかかる応答部170の動作について説明した。このように、応答部170は欠落判定部140からの順序番号n+1のパケットの欠落の通知を受けるまで応答パケットの送信を控えることで、ネットワーク10への無駄なトラフィックの発生を抑えることができる。   The operation of the response unit 170 according to the first embodiment has been described above with reference to FIG. As described above, the response unit 170 refrains from transmitting a response packet until it receives a notification of the loss of the packet with the sequence number n + 1 from the loss determination unit 140, thereby suppressing generation of useless traffic to the network 10.

ここで、推定部130、欠落判定部140、バッファ150、応答部170の具体的な動作例を説明する。送信端末100Aは、受信端末100Bに対して、1、2、3、・・・と続く順序番号を付与したデータパケットを番号の昇順に送信している。以降、パケットの番号についての記述がある場合には、特に断らない限りこの順序番号を指す。受信端末100Bは、送信端末100Aが送信したデータパケットを受け取り、1パケットを受け取る度に1応答パケットを送信端末100Aに送信しているとする。   Here, specific operation examples of the estimation unit 130, the loss determination unit 140, the buffer 150, and the response unit 170 will be described. The transmitting terminal 100A transmits, to the receiving terminal 100B, data packets assigned with sequence numbers that follow 1, 2, 3,. Hereinafter, when there is a description about the packet number, this sequence number is indicated unless otherwise specified. Assume that the receiving terminal 100B receives the data packet transmitted by the transmitting terminal 100A and transmits one response packet to the transmitting terminal 100A every time one packet is received.

送信端末100Aから送信されるデータパケット、受信端末100Bから送信される応答パケット共に、経路途中のネットワーク10の中で、ルータ(図示せず)等によってパケットが複数の経路に分配されている可能性があるが、送信端末100A、受信端末100Bとも、いくつの経路に分配されているかは分からない。   There is a possibility that both a data packet transmitted from the transmitting terminal 100A and a response packet transmitted from the receiving terminal 100B are distributed to a plurality of paths by a router (not shown) or the like in the network 10 along the path. However, neither the transmission terminal 100A nor the reception terminal 100B knows how many routes are distributed.

ここで、受信端末100Bが、10番まで順序通りにデータパケットを受信しており、データ受信部160が受信したパケットを全て受け取っているとする。これ以降、送信端末100Aから受信するパケットについての受信端末100Bの動作を、図面を参照しながら具体的に説明する。このとき、情報部180にはデータ受信部160が受信した最後の順序番号10番と、経路の分岐数の推定値k=1とが保存されている。   Here, it is assumed that the receiving terminal 100B has received data packets in order up to No. 10, and has received all the packets received by the data receiving unit 160. Hereinafter, the operation of the receiving terminal 100B regarding the packet received from the transmitting terminal 100A will be specifically described with reference to the drawings. At this time, the information unit 180 stores the last sequence number 10 received by the data receiving unit 160 and the estimated value k = 1 of the branch number of the route.

このとき、パケット受信部120が13番のパケットを受信したとする。パケット受信部120が受信した13番のパケットはバッファ150に渡される。そして、その13番のパケットも含め、図7に示した順序でパケット受信部120がパケットを受信した場合に、推定部130の動作を図3に示した流れ図に沿って説明する。   At this time, it is assumed that the packet receiving unit 120 receives the 13th packet. The 13th packet received by the packet receiving unit 120 is passed to the buffer 150. Then, when the packet receiving unit 120 receives the packets in the order shown in FIG. 7 including the 13th packet, the operation of the estimating unit 130 will be described with reference to the flowchart shown in FIG.

まず、推定部130は、情報部180から、分岐数の推定値k=1を取得するとともに、データ受信部160が受信した最後尾のパケットの順序番号n=10を取得する(ステップS301)。続いて、推定部130は、パケット受信部120が新たに受信したパケットの順序番号m=13を取得する(ステップS302)。推定部130は、m−n≦kとなるかどうかを判定し(ステップS303)、k<m−nであるので、推定部130は、パケット受信部120が順序番号m=13のパケットの次に受信したパケットの順序番号(11)を取得する(ステップS304)。   First, the estimation unit 130 acquires the estimated value k = 1 of the number of branches from the information unit 180, and acquires the sequence number n = 10 of the last packet received by the data reception unit 160 (step S301). Subsequently, the estimating unit 130 acquires the sequence number m = 13 of the packet newly received by the packet receiving unit 120 (step S302). The estimation unit 130 determines whether or not m−n ≦ k is satisfied (step S303). Since k <mn, the estimation unit 130 determines that the packet reception unit 120 follows the packet with the sequence number m = 13. The sequence number (11) of the received packet is acquired (step S304).

11番のパケットを受信した時点で、降順に並ぶ個数は13番、11番であるから2つである。よって、順序番号が降順に並ぶ個数dはd=2である(ステップS305)。そして、推定部130は、順序番号が降順に並ぶ個数d=2を分岐数の推定値kの候補とする(ステップS306)。   When the 11th packet is received, the numbers arranged in descending order are the 13th and 11th, which is two. Therefore, the number d in which the sequence numbers are arranged in descending order is d = 2 (step S305). Then, the estimation unit 130 sets the number d = 2 in which the order numbers are arranged in descending order as candidates for the estimated number k of branch numbers (step S306).

11番のパケットを受信した時点での最大の順序番号は13である。そしてパケット受信部120は12番のパケットを受信していないので、推定部130は、パケット受信部120が受信した順序番号が最大のパケット(13番のパケット)と、順序番号がn+1番のパケット(11番の)との間に入る全てのパケットを受信したかどうかを判断し(ステップS307)、全てのパケットを受信していないので、ステップS304に戻って、推定部130は、さらに次に受信したパケットの順序番号を取得する処理を実行する。   The maximum sequence number when the 11th packet is received is 13. Since the packet receiving unit 120 has not received the 12th packet, the estimating unit 130 receives the packet with the largest sequence number (the 13th packet) received by the packet receiving unit 120 and the packet with the n + 1 sequence number. It is determined whether or not all packets that fall between (No. 11) have been received (step S307), and since all the packets have not been received, the process returns to step S304, and the estimation unit 130 further A process for obtaining the sequence number of the received packet is executed.

その後、パケット受信部120が14番のパケットを受信すると、14番のパケットを受信した時点で、降順に並ぶ個数は16番、15番、14番であるから3つである。従って、順序番号が降順に並ぶ個数dはd=3である(ステップS305)。そして、推定部130は、順序番号が降順に並ぶ個数d=3を分岐数の推定値kの候補とする(ステップS306)。   After that, when the packet receiving unit 120 receives the 14th packet, the numbers arranged in descending order are the 16th, 15th, and 14th when the 14th packet is received. Accordingly, the number d in which the sequence numbers are arranged in descending order is d = 3 (step S305). Then, the estimating unit 130 sets the number d = 3 in which the order numbers are arranged in descending order as candidates for the estimated number k of branch numbers (step S306).

14番のパケットを受信した時点での最大の順序番号は16である。推定部130は、パケット受信部120が受信した順序番号が最大のパケット(16番のパケット)と、順序番号がn+1番のパケット(11番の)との間に入る全てのパケットを受信したかどうかを判断し(ステップS307)、全てのパケットを受信しているので、推定部130は上記ステップS306で候補とした分岐数の推定値k=3を情報部180に保存する(ステップS308)。   The maximum sequence number when the 14th packet is received is 16. Whether the estimation unit 130 has received all packets received between the packet with the largest sequence number (16th packet) received by the packet receiving unit 120 and the packet with the sequence number n + 1 (11) Since all packets have been received, the estimation unit 130 stores the estimated number k = 3 of the number of branches determined as a candidate in step S306 in the information unit 180 (step S308).

推定部130が分岐数の推定値を3と推定するまでは、分岐数の推定値は1である。分岐数の推定値は1である状態で、図8に示した様に15番のパケットまでを受信した場合のバッファ150の動作を図5に示した流れ図に沿って説明する。   The estimated number of branches is 1 until the estimation unit 130 estimates the estimated number of branches as 3. The operation of the buffer 150 when the estimated value of the number of branches is 1 and up to the 15th packet is received as shown in FIG. 8 will be described with reference to the flowchart shown in FIG.

バッファ150はパケット受信部120からパケットを受け取ると(ステップS501)、受信したパケットに付与されている順序番号の小さい順に、すなわち11番のパケットをデータ受信部160へ渡す(ステップS502)とともに、バッファ150は、データ受信部160へ渡した最後のパケットの順序番号(11)を情報部180に渡す。このとき、13番、16番、15番のパケットはバッファ150に保持されたままの状態となっている。   When the buffer 150 receives a packet from the packet receiving unit 120 (step S501), it passes the eleventh packet to the data receiving unit 160 in ascending order of the sequence number given to the received packet (step S502) and the buffer. 150 passes the sequence number (11) of the last packet passed to the data receiving unit 160 to the information unit 180. At this time, the 13th, 16th, and 15th packets are still held in the buffer 150.

また図8に示した様に13番のパケットを受信し、13番のパケットがバッファ150に格納された場合の欠落判定部140及び応答部170の動作を図4及び図6に示した流れ図に沿って説明する。   Further, as shown in FIG. 8, when the 13th packet is received and the 13th packet is stored in the buffer 150, the operations of the missing determination unit 140 and the response unit 170 are shown in the flowcharts shown in FIGS. It explains along.

欠落判定部140はパケットの欠落判定処理に際し、情報部180から、分岐数の推定値k=1と、データ受信部160が受信した最後尾のパケットの順序番号n=10とを取得する(ステップS401)。次に、欠落判定部140はパケット受信部120が新たに受信したパケットの順序番号m=13を受け取り(ステップS402)、n+1<mであり、かつk=1であるから、受信パケットに欠落が発生していると判断し、欠落判定部140は応答部170へ11番及び12番のパケットの欠落を通知する(ステップS405)。   In the packet loss determination process, the loss determination unit 140 acquires, from the information unit 180, the estimated number of branches k = 1 and the sequence number n = 10 of the last packet received by the data reception unit 160 (step S1). S401). Next, the drop determination unit 140 receives the sequence number m = 13 of the packet newly received by the packet reception unit 120 (step S402), and since n + 1 <m and k = 1, there is a drop in the received packet. It is determined that the packet has occurred, and the loss determination unit 140 notifies the response unit 170 of the loss of the 11th and 12th packets (step S405).

受信端末100Bが13番のパケットを受信した場合に、応答部170は情報部180からデータ受信部160が受け取った最後のパケットの順序番号n=10を取得する(ステップS601)。次に、応答部170はバッファ150にパケットが存在しているかどうかを確認し(ステップS602)、バッファ150には13番のパケットが存在するので、応答部170は欠落判定部140からの順序番号11番及び12番のパケットの欠落の通知を受けているかどうかを確認する(ステップS603)。欠落判定部140から順序番号11番及び12番のパケットの欠落の通知を受けていれば、応答部170は、送信端末100Aに対して、順序番号11番及び12番のパケットが欠落していることを応答パケットにより通知する(ステップS604)。   When the receiving terminal 100B receives the 13th packet, the response unit 170 acquires the sequence number n = 10 of the last packet received by the data receiving unit 160 from the information unit 180 (step S601). Next, the response unit 170 checks whether or not there is a packet in the buffer 150 (step S602). Since the 13th packet exists in the buffer 150, the response unit 170 determines the sequence number from the missing determination unit 140. It is confirmed whether or not notification of the loss of the 11th and 12th packets has been received (step S603). If the notification of the loss of the packets with the sequence numbers 11 and 12 is received from the loss determination unit 140, the response unit 170 has lost the packets with the sequence numbers 11 and 12 from the transmitting terminal 100A. This is notified by a response packet (step S604).

一方、推定部130が分岐数の推定値を3と推定した状態で、図9に示した様な順番でパケットまでを受信した場合の欠落判定部140、バッファ150及び応答部170の動作を図4、図5及び図6に示した流れ図に沿って説明する。なお、図9に示した様な順番でパケットまでを受信した場合において、情報部180には、データ受信部160が受信した最後尾の順序番号20番と、経路の分岐数の推定値k=3とが保存されているものとする。   On the other hand, the operations of the drop determination unit 140, the buffer 150, and the response unit 170 when the estimation unit 130 receives up to the packet in the order shown in FIG. 4, and will be described along the flowcharts shown in FIGS. When the packet is received in the order as shown in FIG. 9, the information unit 180 includes the last sequence number 20 received by the data receiving unit 160 and the estimated value k = 3 is stored.

欠落判定部140はパケットの欠落判定処理に際し、情報部180から、分岐数の推定値k=3と、データ受信部160が受信した最後尾のパケットの順序番号n=20とを取得する(ステップS401)。次に、欠落判定部140はパケット受信部120が新たに受信したパケットの順序番号m=23を受け取り(ステップS402)、n+1<mであり、かつk=1でないから、次に、欠落判定部140はパケット受信部120が次に受信したパケットの順序番号(26)を取得する(ステップS406)。   In the packet loss determination process, the loss determination unit 140 acquires, from the information unit 180, the estimated number k of branches = 3 and the sequence number n = 20 of the last packet received by the data reception unit 160 (Step S1). S401). Next, the loss determination unit 140 receives the sequence number m = 23 of the packet newly received by the packet reception unit 120 (step S402). Since n + 1 <m and k = 1 is not satisfied, next, the loss determination unit 140 acquires the sequence number (26) of the next packet received by the packet receiver 120 (step S406).

ステップS406でパケット受信部120が次に受信したパケットの順序番号を取得すると、続いて欠落判定部140は、上記ステップS406で取得した順序番号がn+1(21)であるかどうかを判定する(ステップS407)。ステップS406で取得した順序番号はn+1(21)では無いので、続いて欠落判定部140は、順序番号m=23のパケットを含め、これまでパケット受信部120から受け取ったn+1(21)より大きい順序番号から選んだ順序番号を、パケット受信部120が受信した順に並べた列を対象に、ある番号から始めて順序番号が降順に並ぶ個数dを数え上げる(ステップS408)。個数dは1であり、d<kであるので、上記ステップS406に戻り、欠落判定部140はパケット受信部120が次に受信したパケットの順序番号(25)を取得する。   When the packet reception unit 120 acquires the sequence number of the next packet received in step S406, the missing determination unit 140 determines whether the sequence number acquired in step S406 is n + 1 (21) (step S406). S407). Since the sequence number acquired in step S406 is not n + 1 (21), the loss determination unit 140 subsequently includes a packet with sequence number m = 23, and the sequence greater than n + 1 (21) received from the packet receiver 120 so far. For a column in which the sequence numbers selected from the numbers are arranged in the order received by the packet receiving unit 120, the number d starting from a certain number and arranged in descending order is counted (step S408). Since the number d is 1 and d <k, the process returns to step S406, and the loss determination unit 140 acquires the sequence number (25) of the next packet received by the packet reception unit 120.

ステップS406で取得した順序番号はn+1(21)では無いので、再び順序番号が降順に並ぶ個数dを数え上げる。d=2であり、d<kであるので、再び上記ステップS406に戻り、パケット受信部120が次に受信したパケットの順序番号(21)を取得する。この順序番号はn+1に等しいので、欠落判定部140は処理を終了する。   Since the sequence number acquired in step S406 is not n + 1 (21), the number d of the sequence numbers arranged in descending order is counted again. Since d = 2 and d <k, the process returns to step S406 again, and the packet receiving unit 120 acquires the sequence number (21) of the next received packet. Since this sequence number is equal to n + 1, the lack determination unit 140 ends the process.

バッファ150は、パケット受信部120から21番のパケットを受け取ると(ステップS501)、受け取った21番のパケットをデータ受信部160へ渡す(ステップS502)とともに、バッファ150は、データ受信部160へ渡した最後のパケットの順序番号(21)を情報部180に渡す。このとき、23番、26番、25番のパケットはバッファ150に保持されたままの状態となっている。   When the buffer 150 receives the 21st packet from the packet receiving unit 120 (step S501), the buffer 150 passes the received 21st packet to the data receiving unit 160 (step S502), and the buffer 150 passes to the data receiving unit 160. The sequence number (21) of the last packet is passed to the information unit 180. At this time, the 23rd, 26th, and 25th packets are still held in the buffer 150.

また、応答部170はデータ受信部160が受け取った最後のパケットの順序番号n=20を情報部180から取得する(ステップS601)。次に、応答部170はバッファ150にパケットが存在しているかどうかを確認し(ステップS602)、バッファ150に存在するのはn+1(21)番以降のパケットしか無いので、応答部170は欠落判定部140からの順序番号n+1(21)番のパケットの欠落の通知を受けているかどうかを確認する(ステップS603)。欠落判定部140からの順序番号n+1(21)番のパケットの欠落の通知を受けていなければ、上記ステップS602に戻り、応答部170は応答パケットの送信を控える。   In addition, the response unit 170 acquires the sequence number n = 20 of the last packet received by the data reception unit 160 from the information unit 180 (step S601). Next, the response unit 170 confirms whether or not there is a packet in the buffer 150 (step S602). Since there are only packets of the number n + 1 (21) and later in the buffer 150, the response unit 170 determines whether there is a missing packet. It is confirmed whether or not the notification of the loss of the packet with the sequence number n + 1 (21) is received from the unit 140 (step S603). If the notification of the loss of the packet with the sequence number n + 1 (21) is not received from the loss determination unit 140, the process returns to step S602, and the response unit 170 refrains from transmitting the response packet.

やがて、バッファ150に21番のパケットが到達すると、順序番号通りにパケットが受信出来たので、応答部170は、予め定められた上記(1)または(2)の少なくともいずれかの内容で応答パケットを送信端末100Aへ送信し、処理を終了する。   Eventually, when the packet No. 21 arrives at the buffer 150, the packet was received according to the sequence number. Therefore, the response unit 170 responds with a predetermined content (1) or (2). Is transmitted to the transmitting terminal 100A, and the process is terminated.

以上、推定部130、欠落判定部140、バッファ150、応答部170の具体的な動作例について説明した。   Heretofore, specific operation examples of the estimation unit 130, the missing determination unit 140, the buffer 150, and the response unit 170 have been described.

以上説明したように本発明の第1の実施形態にかかる受信端末100Bによれば、パケット受信部120で受信したパケットの順序番号から、推定部130によってネットワーク10の内部の経路の分岐数を推定し、番号通りにパケットを受信しなかった場合でも、この分岐数の情報を用いて、応答部170からの応答パケットの送信を控える。これにより受信端末100Bは、通信経路途中の分岐によってパケットの到着順序が逆転している場合であっても、経路途中のパケットロスであると誤判定することが無くなる。   As described above, according to the receiving terminal 100B according to the first embodiment of the present invention, the estimation unit 130 estimates the number of branches in the network 10 from the sequence number of the packet received by the packet receiving unit 120. Even when the packet is not received according to the number, transmission of the response packet from the response unit 170 is refrained using the information on the number of branches. As a result, the receiving terminal 100B does not erroneously determine that the packet loss is in the middle of the route even when the packet arrival order is reversed due to the branch in the middle of the communication route.

従来技術では、経路途中の分岐によって到着順序が保証されないので、受信端末で順序番号の大きいパケットが先に届くと、それより順序番号の小さいパケットは自動的にパケットロスであると判定され、応答パケットによって送信端末からの再送が発生してしまう。例えば、上述したように、従来技術では図7のようにパケットが到着した場合、13番のパケットが到着した時点で11番及び12番のパケットが再送の対象となる。これに対して本発明の第1の実施形態にかかる受信端末100Bでは、後から到着するパケットからもパケットの未着を判断するので、13番のパケットが到着した時点で即座に11番及び12番のパケットを再送の対象とすることはしない。従って、本発明の第1の実施形態によれば、番号通りにパケットが到着しなかった場合でも、パケットの到着時点でパケットの未着を判断するのではなく、後から到着するパケットからもパケットの未着を判断するので、ネットワークに無駄なトラフィックが流れることを防ぐことができる。   In the prior art, the arrival order is not guaranteed by branching in the middle of the route, so when a packet with a larger order number arrives first at the receiving terminal, a packet with a smaller order number is automatically determined to be a packet loss, and the response The packet causes retransmission from the transmitting terminal. For example, as described above, in the prior art, when a packet arrives as shown in FIG. 7, the 11th and 12th packets are to be retransmitted when the 13th packet arrives. On the other hand, since the receiving terminal 100B according to the first embodiment of the present invention determines whether or not a packet has arrived from a packet that arrives later, the 11th and 12th packets are immediately received when the 13th packet arrives. No. packet is not subject to retransmission. Therefore, according to the first embodiment of the present invention, even when a packet does not arrive according to the number, it is not determined whether a packet has arrived at the time of arrival of the packet, but is also determined from a packet that arrives later. Therefore, it is possible to prevent unnecessary traffic from flowing through the network.

<2.第2の実施形態>
[2−1.通信システムの構成]
次に、図11を参照して、本発明の第2の実施形態に係る通信システムの概略構成について説明する。図11に示したように、本発明の第2の実施形態に係る通信システム2は、送信端末200Aから受信端末200Bに対して、ネットワーク10を介して、順序番号を付与したパケットの形式で送信したいデータを送信する。本実施形態においては、パケットを再送する場合を除き、原則として順序番号の昇順でパケットを送信する。
<2. Second Embodiment>
[2-1. Configuration of communication system]
Next, a schematic configuration of a communication system according to the second embodiment of the present invention will be described with reference to FIG. As shown in FIG. 11, the communication system 2 according to the second embodiment of the present invention transmits a packet with a sequence number from the transmission terminal 200A to the reception terminal 200B via the network 10. Send the data you want. In the present embodiment, except for the case where the packet is retransmitted, the packet is transmitted in ascending order of the order number in principle.

そして、送信端末200Aは、複数の(例えば2つの)インタフェースIF1、IF2を有しており、このインタフェースIF1、IF2に送信するパケットを振り分けている。パケットには複数のインタフェースを区別する印(IF番号)が付与されており、またどのインタフェースにどのパケットを振り分けるかについての決まりは特に定められていない。   The transmission terminal 200A has a plurality of (for example, two) interfaces IF1 and IF2, and distributes packets to be transmitted to the interfaces IF1 and IF2. The packet is provided with a mark (IF number) for distinguishing a plurality of interfaces, and there is no particular rule as to which packet is assigned to which interface.

一方、受信端末200Bは、送信端末200Aから送信されて来るパケットを受け取ると、順序番号の最初から始めて抜けなく受信した一連のパケットの内の最大の番号や、または欠落しているパケットの番号を応答パケットとして送信端末200Aに送信する。この応答パケットを送信端末200Aが受信することで、送信端末200Aは次に送信すべきパケットを制御することができる。このような通信制御は、TCP等の通信方式に見られるものである。本実施形態も同様に、このような制御下における主に応答パケットの制御に関わるものである。   On the other hand, when receiving terminal 200B receives the packet transmitted from transmitting terminal 200A, it starts from the beginning of the sequence number and receives the maximum number in the series of packets received without omission or the number of the missing packet. It transmits to the transmission terminal 200A as a response packet. When the transmission terminal 200A receives this response packet, the transmission terminal 200A can control the packet to be transmitted next. Such communication control is found in communication systems such as TCP. Similarly, this embodiment mainly relates to control of response packets under such control.

パケットが流れるネットワーク10の内部では、経路途中のルータ(図示せず)等がパケットを複数の経路に振り分けることで、経路が分岐され得る。図11に示した分岐はその状態を表したものである。送信端末200A、受信端末200Bは、ネットワーク10の中のパケットが通る経路や分岐の数については把握していない。なお、以下の説明では、ネットワーク10は複数の経路に分岐されているものとして説明するが、本発明は、送信端末100Aと受信端末100Bとの間に分岐が全く無い場合であっても同様に適用できるものである。   Inside the network 10 through which the packet flows, a route can be branched by a router (not shown) in the middle of the route distributing the packet to a plurality of routes. The branch shown in FIG. 11 represents the state. The transmitting terminal 200A and the receiving terminal 200B do not grasp the route or the number of branches through which the packet in the network 10 passes. In the following description, the network 10 is described as being branched into a plurality of paths. However, the present invention similarly applies even when there is no branch between the transmission terminal 100A and the reception terminal 100B. Applicable.

以上、図11を参照して、本発明の第2の実施形態に係る通信システムの概略構成について説明した。次に、本発明の第2の実施形態にかかる受信端末200Bの構成について説明する。   The schematic configuration of the communication system according to the second embodiment of the present invention has been described above with reference to FIG. Next, the configuration of the receiving terminal 200B according to the second embodiment of the present invention will be described.

[2−2.受信端末の構成]
図12は、本発明の第2の実施形態にかかる受信端末200Bの構成を示す説明図である。以下、図12を用いて本発明の第2の実施形態にかかる受信端末200Bの構成について説明する。
[2-2. Configuration of receiving terminal]
FIG. 12 is an explanatory diagram showing the configuration of the receiving terminal 200B according to the second embodiment of the present invention. Hereinafter, the configuration of the receiving terminal 200B according to the second embodiment of the present invention will be described with reference to FIG.

図12に示したように、本発明の第2の実施形態にかかる受信端末200Bは、パケット受信部220と、推定部230と、欠落判定部240と、バッファ250と、データ受信部260と、応答部270と、情報部280と、を含んで構成される。   As shown in FIG. 12, the receiving terminal 200B according to the second embodiment of the present invention includes a packet receiving unit 220, an estimating unit 230, a missing determination unit 240, a buffer 250, a data receiving unit 260, A response unit 270 and an information unit 280 are included.

パケット受信部220は、送信端末200Aから送信されてくる、順序番号及びIF番号が付与されたパケットを受信するものであり、パケット受信部120は受信したパケットを送信されてきた順序通りにバッファ150に渡す。本実施形態では、IF番号1、2のいずれかがパケットに付与されているものとする。   The packet receiving unit 220 receives a packet with an order number and an IF number transmitted from the transmitting terminal 200A, and the packet receiving unit 120 receives the received packet in the buffer 150 in the order in which the packet was transmitted. To pass. In the present embodiment, it is assumed that either IF number 1 or 2 is assigned to the packet.

送信端末200Aが受信端末200Bにデータを送信するときに使用するインタフェースの数を受信した場合には、各インタフェースの分岐数の推定値を、初期値を1として情報部280に渡す。インタフェースの数は、インタフェースの識別子など、送信端末200Aが送信するパケットのインタフェースの数が判別可能なものであればどのようなものであっても構わない。また、インタフェースの数は、送信端末200Aがパケットに付与した印の種類から判断しても良い。本実施形態では、受信端末200Bは送信端末200Aからインタフェース数を受け取ることにする。   When the transmission terminal 200A receives the number of interfaces used when transmitting data to the reception terminal 200B, the estimated value of the number of branches of each interface is passed to the information unit 280 with an initial value of 1. The number of interfaces may be any number as long as the number of interfaces of the packet transmitted by the transmission terminal 200A can be determined, such as an interface identifier. The number of interfaces may be determined from the type of mark given to the packet by the transmitting terminal 200A. In the present embodiment, the receiving terminal 200B receives the number of interfaces from the transmitting terminal 200A.

推定部230は、情報部280が保持しているインタフェースごとの経路の分岐数の推定値と、データ受信部260が受信した最後尾のパケットの順序番号とを取得し、この順序番号と、インタフェースごとの分岐数の推定値と、パケット受信部220が受信したパケットの並びとから、送信経路途中での分岐数を推定するものである。推定部230が推定した分岐数の推定値は情報部280に送られる。   The estimation unit 230 acquires an estimated value of the number of branches of the path for each interface held by the information unit 280 and the sequence number of the last packet received by the data reception unit 260, and the sequence number and the interface The number of branches in the transmission path is estimated from the estimated value of the number of branches for each packet and the sequence of packets received by the packet receiver 220. The estimated number of branches estimated by the estimation unit 230 is sent to the information unit 280.

本実施形態では、送信経路途中での分岐数は以下のように推定する。   In this embodiment, the number of branches in the middle of the transmission path is estimated as follows.

パケット受信部220で受信しているパケットは、送信端末200Aが受信端末200Bに対して順序番号の昇順に送信したパケットとする。これは、受信端末200Bからの応答パケットによって既に送信端末200Aが送信した順序番号の小さいパケットを、再度送っていない状態である。このことは、受信端末200Bにおいても、自身の送信する応答パケットによって判断する。   The packet received by the packet receiving unit 220 is a packet transmitted from the transmitting terminal 200A to the receiving terminal 200B in ascending order of the sequence number. This is a state in which a packet with a small sequence number that has already been transmitted by the transmitting terminal 200A by a response packet from the receiving terminal 200B is not sent again. This is determined also by the receiving terminal 200B based on the response packet transmitted by itself.

推定部230は、情報部280から分岐数の推定値kを取得するとともに、データ受信部160が受信した最後尾のパケットの順序番号を取得する。なお、添字iはインタフェースを区別する識別子であり、以下においても添字は同じ意味で用いる。データ受信部260は、順序番号がn番目(n=0,1,2,・・・)までのパケットを全て受け取っているとすると、n=0の場合は、データ受信部260は未だパケットを受け取っていない。その後、順序番号がn番目より大きいm番目のパケットをパケット受信部220が受信したとする。また、これは送信端末200AのIFiからのパケットであった。m−n≦kの場合は、推定部230は、kをそのインタフェースIFiにおける分岐数の推定値とする。一方、m−n>kである場合、推定部230は、先のm番目のパケットを含め、以降受信するn番目よりも順序番号が大きいパケットからインタフェースごとに選んだパケットを、パケット受信部220が受信した順に並べる。そして推定部230は、このパケット列について、順序番号が降順に並ぶ個数を数え上げる。ただし順序番号は連続していなくても良い。またパケットが1つの場合にはその個数を1とする。例えば、順序番号が13、11と並んでいれば、順序番号が降順に並ぶ個数は2であり、順序番号が13しかない場合には、順序番号が降順に並ぶ個数は1となる。 The estimation unit 230 acquires the branch number estimation value k i from the information unit 280 and also acquires the sequence number of the last packet received by the data reception unit 160. Note that the subscript i is an identifier for distinguishing interfaces, and the subscript is used in the same meaning in the following. Assuming that the data receiving unit 260 has received all the packets with sequence numbers up to the nth (n = 0, 1, 2,...), If n = 0, the data receiving unit 260 still does not receive the packet. I have not received. Thereafter, it is assumed that the packet receiving unit 220 receives the m-th packet whose order number is greater than the n-th. This is a packet from IFi of the transmission terminal 200A. When m−n ≦ k i , the estimation unit 230 sets k i as an estimated value of the number of branches in the interface IFi. On the other hand, if m-n> k i, estimating section 230, the including previous m-th packet, selected from n-th sequence number packets larger than that subsequently received for each interface packet, the packet receiving unit 220 are arranged in the order received. Then, the estimation unit 230 counts the number of the sequence numbers arranged in descending order for this packet sequence. However, the sequence numbers do not have to be consecutive. When there is one packet, the number is 1. For example, if the sequence numbers are aligned with 13 and 11, the number of sequence numbers arranged in descending order is 2, and if the sequence number is only 13, the number of sequence numbers arranged in descending order is 1.

m−n>kである場合、推定部230は、インタフェースごとに、この個数が最大となるようにパケット列を選び、この列の順序番号が降順に並ぶ個数を、そのインタフェースの分岐数の推定値とする。これは、通常であれば順序番号の昇順でパケットが到着するが、ネットワーク10で分岐があることで、パケットの到達順序が逆になることがある。従って、本実施形態では順序番号が降順の並ぶ個数を分岐の数と推定する。   When m−n> k, the estimation unit 230 selects a packet sequence so that this number is maximized for each interface, and estimates the number of branches of the interface by the number of the sequence numbers in the descending order. Value. Normally, packets arrive in ascending order of sequence numbers, but the arrival order of packets may be reversed due to a branch in the network 10. Therefore, in the present embodiment, the number in which the order numbers are arranged in descending order is estimated as the number of branches.

数え上げる対象とするパケットは、順序番号がn+1番目からm番目までの全てのパケットをパケット受信部220が受信するまでの間に、パケット受信部220が受信した順序番号が最大の番号と、n+1番目のとの間に入る全てのパケットである(順序番号がn+1番目のパケットも含まれる)。例えば、n=10、m=13の場合に、図17に示したような順序で受信端末200Bがパケットを受信したとする。この場合は、パケット受信部220が、n+1=11番からm=13番までの全てのパケット、すなわち11番と12番のパケットを受信するまでに受信したパケットの最大の番号は16番である。このときに、11番から16番の間に入る全てのパケット、すなわち11、12、13、14、15、16番が数え上げの対象となる。そして、順序番号が降順に並ぶ個数の最大値は、IF1が16、15、14の場合の「3」であり、IF2が12、11の場合の「2」となる。従って、分岐数の推定値はk=3であり、k=2である。 The packets to be counted are the number with the largest sequence number received by the packet receiver 220 and the n + 1th packet until the packet receiver 220 receives all the packets with the sequence numbers n + 1 to m + 1. All packets that fall in between (including the packet with the (n + 1) th sequence number). For example, when n = 10 and m = 13, it is assumed that the receiving terminal 200B receives the packets in the order shown in FIG. In this case, the maximum number of packets received until the packet receiving unit 220 receives all the packets from n + 1 = 11 to m = 13, that is, the 11th and 12th packets is 16. . At this time, all packets that fall between No. 11 and No. 16, that is, Nos. 11, 12, 13, 14, 15, and 16, are counted. The maximum value of the numbers in which the sequence numbers are arranged in descending order is “3” when IF1 is 16, 15, and 14, and is “2” when IF2 is 12 and 11. Therefore, the estimated number of branches is k 1 = 3 and k 2 = 2.

図17に示したようにパケットが受信端末200Bに到達した場合、例えば図19に示したような経路で送信端末200Aから受信端末200Bに転送される。   When the packet reaches the receiving terminal 200B as shown in FIG. 17, for example, the packet is transferred from the transmitting terminal 200A to the receiving terminal 200B through the route shown in FIG.

欠落判定部240は、パケット受信部220で受信したパケットの並びと、情報部280が保持している、データ受信部260が受信した最後尾の順序番号と、情報部280が保持している、インタフェースごとの分岐数の推定値kとから、パケットが未到着なのか、経路途中で欠落しているのかを判定するものである。欠落判定部240は、パケットが欠落していると判定すると、応答部270に対して欠落しているパケットの順序番号を通知する。 The missing determination unit 240 includes the sequence of packets received by the packet receiving unit 220, the last sequence number received by the data receiving unit 260, which is held by the information unit 280, and the information unit 280. From the estimated number k i of the number of branches for each interface, it is determined whether the packet has not arrived or is missing along the route. If the missing determination unit 240 determines that the packet is missing, the missing determination unit 240 notifies the response unit 270 of the sequence number of the missing packet.

欠落判定部240によるパケットの欠落判定方法について以下で説明する。   A packet loss determination method by the loss determination unit 240 will be described below.

情報部280が保持している、データ受信部260が受信した最後尾の順序番号がn番目(n=0,1,2,・・・)であったとする。次に欠落判定部240は、パケット受信部220で、順序番号がn+1番目より大きいm番目のパケットを受信した場合に、そのパケットを含め、以降受信するn+1番目よりも順序番号が大きいパケットから選んだパケットを、パケット受信部220が受信した順に並べる。そして、このパケット列から、その並びのままインタフェースごとにパケットを選び出し、そのインタフェースごとに選び出したパケット列について、順序番号が降順に並ぶ個数をインタフェースごとに数える。ただし、順序番号は連続していなくても良い。また、パケットが1つの場合は、その個数を1とする。   Assume that the last sequence number received by the data receiving unit 260 and held by the information unit 280 is the nth (n = 0, 1, 2,...). Next, when the packet receiving unit 220 receives the m-th packet having an order number greater than the (n + 1) th, the missing determination unit 240 selects the packet including the packet and having a larger order number than the (n + 1) th received thereafter. The packets are arranged in the order received by the packet receiving unit 220. Then, from this packet sequence, packets are selected for each interface as they are arranged, and the number of sequence numbers in descending order for the packet sequence selected for each interface is counted for each interface. However, the sequence numbers do not have to be consecutive. If there is one packet, the number is 1.

そして欠落判定部240は、インタフェースごとに、順序番号が降順に並ぶ個数が分岐数の推定値k個以上になるパケット列がそのインタフェースのパケットにあるかどうかを調べる。欠落判定部140は、全てのインタフェースについてこの条件を満たしていれば、n+1番目から、これまで受信したn+1番目より大きい番号の中で最小の順序番号の1つ手前までのパケットが欠落していると判定する。 Then, for each interface, the missing determination unit 240 checks whether the packet of the interface has a packet sequence in which the number of the sequence numbers arranged in descending order is equal to or more than the estimated number k i of branch numbers. If all the interfaces satisfy this condition, the missing determination unit 140 is missing packets from the (n + 1) th to the one before the smallest sequence number among the numbers larger than the (n + 1) th received so far. Is determined.

バッファ250は、パケット受信部220からパケットを受け取るものであり、バッファ250が受け取ったパケットは、順序番号の昇順に、重複無くデータ受信部260へ送られる。また、データ受信部260に送られた順序番号の最後尾の番号はバッファ250から情報部280に送られる。パケット受信部220から受け取ったパケットがバッファ250に存在しているパケットと重複したり、既にデータ受信部260に送ったパケットと同じものであったりした場合には、そのパケットはバッファ250から破棄される。   The buffer 250 receives packets from the packet receiver 220, and the packets received by the buffer 250 are sent to the data receiver 260 without duplication in ascending order of the sequence numbers. Also, the last number of the sequence number sent to the data receiving unit 260 is sent from the buffer 250 to the information unit 280. If a packet received from the packet receiving unit 220 overlaps with a packet existing in the buffer 250 or is the same packet already sent to the data receiving unit 260, the packet is discarded from the buffer 250. The

データ受信部260は、バッファ250から渡されたパケットを受信するものである。   The data receiving unit 260 receives a packet passed from the buffer 250.

応答部270は、送信端末200Aがパケットを送る数や番号を制御するための応答パケットを生成して送信するものである。応答パケットの送信を行うために、応答部270は情報部280から、データ受信部260が受信した最後尾の順序番号nを取得する。また応答部270は、欠落判定部240から欠落しているパケットの情報も取得する。   The response unit 270 generates and transmits a response packet for controlling the number and number of packets sent by the transmission terminal 200A. In order to transmit the response packet, the response unit 270 obtains the last sequence number n received by the data receiving unit 260 from the information unit 280. The response unit 270 also acquires information on the missing packet from the missing determination unit 240.

応答部270は、上述の本発明の第1の実施形態における応答部170と同様の機能を有する。すなわち、応答パケットを送るタイミングになった場合に、バッファ250にパケットが無いときは、予め定められた上記(1)または(2)の少なくともいずれかの内容で応答パケットを送信する。一方、応答部270は、応答パケットを送るタイミングになった場合に、バッファ250にパケットがあるとき、すなわち順序番号どおりにパケットが届いておらず、抜けている順序番号のパケットがあるのでバッファ250にパケットがあるときは、上記(1)または(2)の内容を送信する場合であっても、欠落判定部140から欠落している順序番号を受け取るまで応答パケットの送信を控える。ただし、上記(2)の場合には、その抜けているパケットが無いものとして、すなわちその抜けているパケットの再送を要求しない内容で、応答部270は応答パケットを送信しても良い。   The response unit 270 has the same function as the response unit 170 in the first embodiment of the present invention described above. That is, when it is time to send a response packet, if there is no packet in the buffer 250, the response packet is transmitted with at least one of the above-described contents (1) and (2). On the other hand, when it is time to send a response packet, the response unit 270 receives a packet in the buffer 250, that is, the packet has not arrived according to the sequence number, and there is a packet with the missing sequence number. When there is a packet, even if the contents of (1) or (2) are transmitted, the response packet is not transmitted until the missing sequence number is received from the missing determination unit 140. However, in the case of (2) above, the response unit 270 may transmit the response packet on the assumption that there is no missing packet, that is, the content not requesting retransmission of the missing packet.

情報部280は、推定部230が推定した、送信端末200Aのパケット送信に使用するインタフェースごとの経路の分岐数の推定値kと、バッファ250がデータ受信部260に送ったパケットのうち最後尾の順序番号とを保存する。情報部280が保存する、経路の分岐数の推定値kの初期値は1である。また、最後尾の順序番号は、この番号以前の順序番号のパケットを、データ受信部260が全て受信していることを保証するものである。 The information unit 280 estimates the estimated branch number k i of the path for each interface used for packet transmission of the transmission terminal 200A estimated by the estimation unit 230 and the last of the packets sent by the buffer 250 to the data reception unit 260. Save the order number. The initial value of the estimated value k i of the branch number of the route stored in the information unit 280 is 1. The last sequence number guarantees that the data reception unit 260 has received all packets with sequence numbers before this number.

以上、図12を用いて本発明の第2の実施形態にかかる受信端末200Bの構成について説明した。次に、本発明の第2の実施形態にかかる受信端末200Bの動作について説明する。   The configuration of the receiving terminal 200B according to the second embodiment of the present invention has been described above using FIG. Next, the operation of the receiving terminal 200B according to the second embodiment of the present invention will be described.

[2−3.受信端末の動作]
上述したように、パケット受信部220は、送信端末200Aから送信された、順序番号及びIF番号が付与されたパケットを受信し、送られてきた順序通りにバッファ250に受信したパケットを渡す。また、送信端末200Aが受信端末200Bへデータを送信するときに使用するインタフェースの数を受信端末200Bが受信すると、各インタフェースの分岐数の推定値kの初期値を1として情報部280に渡す。
[2-3. Operation of receiving terminal]
As described above, the packet receiving unit 220 receives the packet with the sequence number and the IF number transmitted from the transmission terminal 200A, and passes the received packet to the buffer 250 in the transmitted sequence. Further, when the receiving terminal 200B receives the number of interfaces used when the transmitting terminal 200A transmits data to the receiving terminal 200B, the initial value of the estimated number k i of the branch number of each interface is set to 1 and passed to the information unit 280. .

図13は、本発明の第2の実施形態にかかる受信端末200Bに含まれる推定部230の動作について示す流れ図である。以下、図13を用いて推定部230の動作について詳細に説明する。   FIG. 13 is a flowchart showing the operation of the estimation unit 230 included in the reception terminal 200B according to the second embodiment of the present invention. Hereinafter, the operation of the estimation unit 230 will be described in detail with reference to FIG.

前提として、パケット受信部220で受信しているパケットは、送信端末200Aが受信端末200Bに対して順序番号の昇順に送信したパケットであるとする。推定部230は、情報部280から、各インタフェースの分岐数の推定値kを取得するとともに、データ受信部260が受信した最後尾のパケットの順序番号nを取得する(ステップS1301)。 As a premise, the packet received by the packet receiving unit 220 is a packet transmitted from the transmitting terminal 200A to the receiving terminal 200B in ascending order of the sequence number. The estimation unit 230 obtains the estimated number k i of the number of branches of each interface from the information unit 280, and obtains the sequence number n of the last packet received by the data reception unit 260 (step S1301).

続いて、推定部230は、パケット受信部220が新たに受信したパケットの順序番号m及びそのパケットのIF番号iを取得する(ステップS1302)。推定部230は、m−n≦kとなるかどうかを判定し(ステップS1303)、m−n≦kであれば後段のステップS1308へ進むが、k<m−nであれば、推定部230は、パケット受信部220が順序番号mのパケットの次に受信したパケットの順序番号及びそのパケットのIF番号iを取得する(ステップS1304)。 Subsequently, the estimating unit 230 acquires the sequence number m of the packet newly received by the packet receiving unit 220 and the IF number i of the packet (step S1302). Estimating unit 230 determines whether the m-n ≦ k i (step S1303), if m-n ≦ k i proceeds to the subsequent step S1308, if k i <m-n, The estimation unit 230 acquires the sequence number of the packet received by the packet reception unit 220 next to the packet with the sequence number m and the IF number i of the packet (step S1304).

続いて、推定部230は、順序番号mのパケットを含め、これまで取得した、順序番号nよりも順序番号が大きいパケットから選んだパケットを、パケット受信部220が受信した順に整列し、このパケット列から、その並びのままインタフェースごとにパケットを選び出す。そして、そのインタフェースごとに選び出したパケット列について、インタフェースごとに順序番号が降順に並ぶ個数dを数え上げる(ステップS1305)。ただし、順序番号は連続していなくてもよく、またパケットが1つの場合はその個数を1としてカウントする。数え上げの対象とするパケットは、順序番号がn+1番目からm番目までの全てのパケットをパケット受信部220が受信するまでの間に、パケット受信部220が受信した順序番号が最大のパケットと、順序番号がn+1番のパケットとの間に入る全てのパケットである。推定部230は、インタフェースごとにこの個数が最大となるように選んだパケット列について、順序番号が降順に並ぶ個数dを、インタフェースIFiの分岐数の推定値の候補とする。 Subsequently, the estimation unit 230 arranges the packets selected from the packets having the order number larger than the order number n, including the packet with the order number m, in the order received by the packet reception unit 220. From the column, the packet is selected for each interface with the arrangement. Then, for the packet sequence selected for each interface, the number d i in which the sequence numbers are arranged in descending order for each interface is counted up (step S1305). However, the sequence numbers do not have to be consecutive, and when there is one packet, the number is counted as 1. The packet to be counted includes the packet having the largest sequence number received by the packet receiving unit 220 until the packet receiving unit 220 receives all the packets having the sequence numbers n + 1 to m + 1. All packets that fall between the packets of number n + 1. The estimation unit 230 sets the number d i in which the sequence numbers are arranged in descending order for the packet sequence selected so as to maximize this number for each interface as candidates for the estimated number of branches of the interface IFi.

推定部230は、上記ステップS1305で数え上げた、順序番号が降順に並ぶ個数が最大となるように選んだパケット列について、順序番号が降順に並ぶ個数dが分岐数の推定値kより大きければ、順序番号が降順に並ぶ個数dを分岐数の推定値kの候補とする(ステップS1306)。そして推定部230は、順序番号がn+1番目からm番目までの全てのパケットをパケット受信部120が受信するまでの間に、パケット受信部120が受信した順序番号が最大のパケットと、順序番号がn+1番のパケットとの間に入る全てのパケットを受信したかどうかを判断する(ステップS1307)。全てのパケットを受信していれば、推定部230は上記ステップS1306で候補とした分岐数の推定値kを情報部280に保存する(ステップS1308)。一方、まだ全てのパケットを受信していなければ、上記ステップS1304に戻って、推定部230は、さらに次に受信したパケットの順序番号を取得する処理を実行する。 The estimation unit 230 determines that the number d i in which the sequence numbers are arranged in descending order is greater than the estimated number k i of branch numbers for the packet sequence selected so that the number in which the sequence numbers are arranged in descending order is the maximum counted in step S1305. For example, the number d i in which the sequence numbers are arranged in descending order is set as a candidate for the estimated value k i of the number of branches (step S1306). Then, the estimation unit 230 determines that the packet having the largest sequence number received by the packet receiving unit 120 and the sequence number of all packets having the sequence numbers n + 1 to m are received by the packet receiving unit 120. It is determined whether all the packets that fall between the n + 1th packet have been received (step S1307). If all the packets have been received, the estimating unit 230 stores the estimated number k i of the number of branches determined as a candidate in step S1306 in the information unit 280 (step S1308). On the other hand, if all the packets have not been received yet, the process returns to step S1304, and the estimation unit 230 further executes a process of acquiring the sequence number of the next received packet.

このように、推定部230はネットワーク10におけるインタフェースごとの分岐数を推定することができる。受信端末200Bは、この推定部230が推定した分岐数を用いて、パケットが欠落しているかどうかの判定を行うことができる。   Thus, the estimation unit 230 can estimate the number of branches for each interface in the network 10. The receiving terminal 200B can determine whether or not a packet is missing using the number of branches estimated by the estimation unit 230.

以上、図13を用いて推定部230の動作について詳細に説明した。次に、本発明の第2の実施形態にかかる受信端末200Bに含まれる欠落判定部240の動作について説明する。   The operation of the estimation unit 230 has been described in detail with reference to FIG. Next, the operation of the missing determination unit 240 included in the receiving terminal 200B according to the second embodiment of the present invention will be described.

図14は、本発明の第2の実施形態にかかる受信端末200Bに含まれる欠落判定部240の動作を示す流れ図である。以下、図14を用いて欠落判定部240の動作について詳細に説明する。   FIG. 14 is a flowchart showing the operation of the missing determination unit 240 included in the receiving terminal 200B according to the second embodiment of the present invention. Hereinafter, the operation of the missing determination unit 240 will be described in detail with reference to FIG.

まず、欠落判定部240はパケットの欠落判定処理に際し、情報部280から、インタフェースごとの分岐数の推定値kと、データ受信部260が受信した最後尾のパケットの順序番号nとを取得する(ステップS1401)。次に、欠落判定部240はパケット受信部220が新たに受信したパケットの順序番号m及びそのパケットのIF番号iを受け取り(ステップS1402)、n+1<mとなっているかどうかを判定する(ステップS1403)。 First, the drop determination unit 240 acquires, from the information unit 280, the estimated number k i of the number of branches for each interface and the sequence number n of the last packet received by the data reception unit 260 in the packet drop determination process. (Step S1401). Next, the loss determination unit 240 receives the sequence number m of the packet newly received by the packet reception unit 220 and the IF number i of the packet (step S1402), and determines whether n + 1 <m is satisfied (step S1403). ).

上記ステップS1403の判定の結果、n+1≧mである場合には、欠落判定部240は、受信パケットに欠落は発生していないと判断し、処理を終了する。一方、上記ステップS1403の判定の結果、n+1<mである場合には、続いて欠落判定部140はk=1であるかどうかを判定する(ステップS1404)。 If n + 1 ≧ m is determined as a result of the determination in step S1403, the loss determination unit 240 determines that no loss has occurred in the received packet, and ends the process. On the other hand, if n + 1 <m as a result of the determination in step S1403, the missing determination unit 140 determines whether k i = 1 (step S1404).

上記ステップS404の判定の結果、情報部180が保持している分岐数kの値がk=1である場合には、受信パケットに欠落が発生していると判断し、欠落判定部240は応答部270へパケットの欠落を通知する(ステップS1405)。このステップS1405では、欠落判定部240は、n+1番目から、これまで受信したn+1番より大きい番号の中で最小の順序番号の一つ手前までの順序番号のパケットが欠落していると判定し、応答部270へパケットの欠落を通知する。 As a result of the determination in step S404, if the value of the number of branches k i held by the information unit 180 is k i = 1, it is determined that the received packet is missing, and the missing decision unit 240 Notifies the response unit 270 of the packet loss (step S1405). In this step S1405, the loss determination unit 240 determines that the packet with the sequence number from the (n + 1) th to the previous sequence number before the smallest sequence number among the numbers greater than the (n + 1) th received is missing. The response unit 270 is notified of packet loss.

一方、上記ステップS1404の判定の結果、情報部280が保持している分岐数kの値がk=1でない場合には、次に、欠落判定部240はパケット受信部220が次に受信したパケットの順序番号を取得する(ステップS1406)。 On the other hand, as a result of the determination in step S1404, if the value of the number of branches k i held in the information unit 280 is not k i = 1, then the drop determination unit 240 receives the packet reception unit 220 next. The sequence number of the received packet is acquired (step S1406).

上記ステップS1406でパケット受信部220が次に受信したパケットの順序番号を取得すると、続いて欠落判定部240は、上記ステップS1406で取得した順序番号がn+1であるかどうかを判定する(ステップS1407)。   When the packet receiving unit 220 acquires the sequence number of the next packet received in step S1406, the missing determination unit 240 determines whether the sequence number acquired in step S1406 is n + 1 (step S1407). .

上記ステップS1407の判定の結果、上記ステップS1406で取得した順序番号がn+1であるならば、欠落判定部240は処理を終了する。一方、上記ステップS1407の判定の結果、上記ステップS1406で取得した順序番号がn+1で無いならば、続いて欠落判定部240は、順序番号mのパケットを含め、以降パケット受信部220が受信するn+1より大きい順序番号が大きいパケットを、パケット受信部220が受信した順に並べる。そして、このパケット列からその並びのまま、インタフェースごとにパケットを選び出す。そして、そのインタフェースごとに選び出したパケット列について、インタフェースごとに順序番号が降順に並ぶ個数dを数え上げる(ステップS1408)。 As a result of the determination in step S1407, if the order number acquired in step S1406 is n + 1, the lack determination unit 240 ends the process. On the other hand, as a result of the determination in step S1407, if the sequence number acquired in step S1406 is not n + 1, the loss determination unit 240 subsequently includes the packet of sequence number m, and n + 1 received by the packet reception unit 220 thereafter. Packets having a larger order number are arranged in the order received by the packet receiving unit 220. Then, packets are selected for each interface from the packet sequence in the same order. Then, for the packet sequence selected for each interface, the number d i in which the sequence numbers are arranged in descending order for each interface is counted up (step S1408).

そして欠落判定部240は、上記ステップS1408で数え上げた個数dについて、k≦dを満たす列が存在するかどうかを判定する(ステップS1409)。全てのインタフェースについてk≦dを満たす列が1つでも存在すれば、受信パケットに欠落が発生していると判断し、欠落判定部240は応答部270へパケットの欠落を通知する(ステップS1405)。一方、どの列のdについてもd<kであるならば、上記ステップS1406に戻り、欠落判定部240はパケット受信部220が次に受信したパケットの順序番号を取得する。 Then, the missing determination unit 240 determines whether or not there is a column satisfying k i ≦ d i for the number d i counted in step S1408 (step S1409). If there is at least one column satisfying k i ≦ d i for all interfaces, it is determined that the received packet is missing, and the missing decision unit 240 notifies the response unit 270 of the missing packet (step) S1405). On the other hand, if a d i <k i also d i of which column, returns to step S1406, the missing determination unit 240 acquires the sequence number of the packet next received packet reception unit 220.

以上、図14を用いて欠落判定部240の動作について詳細に説明した。次に、本発明の第2の実施形態にかかる受信端末200Bに含まれるバッファ250の動作について説明する。   The operation of the missing determination unit 240 has been described in detail with reference to FIG. Next, the operation of the buffer 250 included in the receiving terminal 200B according to the second embodiment of the present invention will be described.

図15は、本発明の第2の実施形態にかかる受信端末200Bに含まれるバッファ250の動作を説明する流れ図である。以下、図15を用いてバッファ250の動作について説明する。   FIG. 15 is a flowchart for explaining the operation of the buffer 250 included in the receiving terminal 200B according to the second embodiment of the present invention. Hereinafter, the operation of the buffer 250 will be described with reference to FIG.

まず、バッファ250はパケット受信部220からパケットを受け取ると(ステップS1501)、受信したパケットに付与されている順序番号の小さい順に、受け取ったパケットをデータ受信部260へ渡す(ステップS1502)。バッファ250は、欠落している順序番号のパケットがあれば、そのパケットがパケット受信部220から送られて来るまで待機する。また、既にデータ受信部260へ渡したものと重複しているパケットがあれば、バッファ250はそのパケットを破棄する。   First, when the buffer 250 receives a packet from the packet receiving unit 220 (step S1501), the buffer 250 passes the received packet to the data receiving unit 260 in ascending order of the sequence number given to the received packet (step S1502). If there is a packet with the missing sequence number, the buffer 250 waits until the packet is sent from the packet receiving unit 220. In addition, if there is a packet that has already been duplicated to the data receiving unit 260, the buffer 250 discards the packet.

そして、バッファ250は、データ受信部260へ渡した最後のパケットの順序番号を情報部280に渡す。   Then, the buffer 250 passes the sequence number of the last packet passed to the data receiving unit 260 to the information unit 280.

以上、図15を用いてバッファ250の動作について説明した。次に、本発明の第2の実施形態にかかる受信端末200Bに含まれる応答部270の動作について説明する。   The operation of the buffer 250 has been described above with reference to FIG. Next, the operation of the response unit 270 included in the receiving terminal 200B according to the second embodiment of the present invention will be described.

図16は、本発明の第2の実施形態にかかる応答部270の動作について示す流れ図である。以下、図16を用いて第2の実施形態にかかる応答部270の動作について説明する。   FIG. 16 is a flowchart showing the operation of the response unit 270 according to the second embodiment of the present invention. Hereinafter, the operation of the response unit 270 according to the second embodiment will be described with reference to FIG.

応答部270は、情報部280からデータ受信部260が受け取った最後のパケットの順序番号nを取得する(ステップS1601)。次に、応答部270はバッファ250にパケットが存在しているかどうかを確認する(ステップS1602)。   The response unit 270 acquires the sequence number n of the last packet received by the data receiving unit 260 from the information unit 280 (step S1601). Next, the response unit 270 confirms whether or not a packet exists in the buffer 250 (step S1602).

上記ステップS1602の確認の結果、バッファ250にパケットが無いか、または順序番号がn+1であるパケットがあれば、順序番号通りにパケットが受信出来ているので、応答部270は、予め定められた上記(1)または(2)の少なくともいずれかの内容で応答パケットを送信し、処理を終了する。   As a result of the confirmation in the step S1602, if there is no packet in the buffer 250 or if there is a packet whose sequence number is n + 1, the packet can be received according to the sequence number. A response packet is transmitted with at least one of the contents of (1) or (2), and the process is terminated.

一方、上記ステップS1602の確認の結果、バッファ250に順序番号がn+2以降のパケットが存在していれば、応答部270は欠落判定部240からの順序番号n+1のパケットの欠落の通知を受けているかどうかを確認する(ステップS1603)。欠落判定部240からの順序番号n+1のパケットの欠落の通知を受けていなければ、上記ステップS1602に戻り、応答部270は応答パケットの送信を控える。一方、欠落判定部240からの順序番号n+1のパケットの欠落の通知を受けていれば、応答部270は、送信端末200Aに対して、順序番号n+1のパケットが欠落していることを応答パケットにより通知する(ステップS1604)。この通知は、予め定められた上記(1)または(2)の少なくともいずれかの内容によって行われる。   On the other hand, as a result of the confirmation in step S1602, if there is a packet with the sequence number n + 2 or later in the buffer 250, has the response unit 270 received the notification of the deletion of the packet with the sequence number n + 1 from the loss determination unit 240? Whether or not is confirmed (step S1603). If there is no notification of the loss of the packet with the sequence number n + 1 from the loss determination unit 240, the process returns to step S1602, and the response unit 270 refrains from transmitting the response packet. On the other hand, if the notification of the loss of the packet with the sequence number n + 1 is received from the loss determination unit 240, the response unit 270 informs the transmitting terminal 200A that the packet with the sequence number n + 1 is missing by using the response packet. Notification is made (step S1604). This notification is performed according to at least one of the above-described (1) and (2).

以上、図16を用いて第2の実施形態にかかる応答部270の動作について説明した。このように、応答部270は欠落判定部240からの順序番号n+1のパケットの欠落の通知を受けるまで応答パケットの送信を控えることで、ネットワーク10への無駄なトラフィックの発生を抑えることができる。   The operation of the response unit 270 according to the second embodiment has been described above with reference to FIG. As described above, the response unit 270 refrains from transmitting a response packet until it receives a notification of the loss of the packet with the sequence number n + 1 from the loss determination unit 240, thereby suppressing generation of useless traffic to the network 10.

ここで、推定部230、欠落判定部240、バッファ250、応答部270の具体的な動作例を説明する。送信端末200Aは、受信端末200Bに対して、1、2、3、・・・と続く順序番号を付与したデータパケットを番号の昇順に送信している。以降、パケットの番号についての記述がある場合には、特に断らない限りこの順序番号を指す。また、データパケットには、送信端末200Aがデータパケットを送信したインタフェースのIF番号1、2のいずれかが付与されているものとする。そして、受信端末200Bは、送信端末200Aが送信したデータパケットを受け取り、1パケットを受け取る度に1応答パケットを送信端末100Aに送信しているとする。   Here, specific operation examples of the estimation unit 230, the loss determination unit 240, the buffer 250, and the response unit 270 will be described. The transmitting terminal 200A transmits, to the receiving terminal 200B, the data packets to which the sequential numbers subsequent to 1, 2, 3,. Hereinafter, when there is a description about the packet number, this sequence number is indicated unless otherwise specified. In addition, it is assumed that the data packet is assigned either IF number 1 or 2 of the interface through which the transmitting terminal 200A transmits the data packet. The receiving terminal 200B receives the data packet transmitted by the transmitting terminal 200A, and transmits one response packet to the transmitting terminal 100A every time one packet is received.

送信端末200Aから送信されるデータパケット、受信端末200Bから送信される応答パケット共に、経路途中のネットワーク10の中で、ルータ(図示せず)等によってパケットが複数の経路に分配されている可能性があるが、送信端末200A、受信端末200Bとも、いくつの経路に分配されているかは分からない。   There is a possibility that both the data packet transmitted from the transmitting terminal 200A and the response packet transmitted from the receiving terminal 200B are distributed to a plurality of paths by a router (not shown) or the like in the network 10 along the path. However, neither the transmission terminal 200A nor the reception terminal 200B knows how many routes are distributed.

ここで、受信端末200Bが、10番まで順序通りにデータパケットを受信しており、データ受信部260が受信したパケットを全て受け取っているとする。これ以降、送信端末200Aから受信するパケットについての受信端末200Bの動作を、図面を参照しながら具体的に説明する。このとき、情報部280にはデータ受信部260が受信した最後の順序番号10番と、経路の分岐数の推定値k=1、k=1とが保存されている。 Here, it is assumed that the receiving terminal 200B has received the data packets in order up to No. 10, and has received all the packets received by the data receiving unit 260. Hereinafter, the operation of the receiving terminal 200B regarding the packet received from the transmitting terminal 200A will be specifically described with reference to the drawings. At this time, the information unit 280 stores the last sequence number 10 received by the data receiving unit 260 and the estimated values k 1 = 1 and k 2 = 1 of the number of branching paths.

このとき、パケット受信部220が13番のパケットを受信したとする。パケット受信部220が受信した13番のパケットはバッファ250に渡される。そして、その13番のパケットも含め、図17に示した順序でパケット受信部220がパケットを受信した場合に、推定部230の動作を図13に示した流れ図に沿って説明する。   At this time, it is assumed that the packet receiving unit 220 receives the 13th packet. The 13th packet received by the packet receiving unit 220 is transferred to the buffer 250. Then, when the packet receiving unit 220 receives the packets in the order shown in FIG. 17 including the 13th packet, the operation of the estimating unit 230 will be described with reference to the flowchart shown in FIG.

まず、推定部230は、情報部280から、分岐数の推定値k=1、k=1を取得するとともに、データ受信部260が受信した最後尾のパケットの順序番号n=10を取得する(ステップS1301)。続いて、推定部230は、パケット受信部220が新たに受信したパケットの順序番号m=13と、そのパケットのIF番号i=2とを取得する(ステップS1302)。推定部230は、m−n≦kとなるかどうかを判定し(ステップS1303)、k<m−nであるので、推定部230は、パケット受信部220が順序番号m=13のパケットの次に受信したパケットの順序番号(12)と、パケットのIF番号i=1とを取得する(ステップS1304)。 First, the estimation unit 230 acquires the estimated number k 1 = 1 and k 2 = 1 of the number of branches from the information unit 280 and the sequence number n = 10 of the last packet received by the data reception unit 260. (Step S1301). Subsequently, the estimating unit 230 acquires the sequence number m = 13 of the packet newly received by the packet receiving unit 220 and the IF number i = 2 of the packet (step S1302). The estimation unit 230 determines whether m−n ≦ k 2 is satisfied (step S1303). Since k 2 <mn, the estimation unit 230 determines that the packet reception unit 220 has the packet with the sequence number m = 13. Next, the sequence number (12) of the received packet and the IF number i = 1 of the packet are acquired (step S1304).

続いて、推定部230はインタフェースごとに順序番号が降順に並ぶ個数d、dを数え上げる(ステップS1305)。ここでは、d及びdの値はd=d=1となる。どのインタフェースについてもd≦kであるから、推定部230は、パケット受信部220が受信した順序番号が最大のパケット(13番のパケット)と、順序番号がn+1番のパケット(11番の)との間に入る全てのパケットを受信したかどうかを判断し(ステップS1307)、11番のパケットを受信していないので、全てのパケットを受信していないので、ステップS1304に戻って、推定部230は、さらに次に受信したパケットの順序番号を取得する処理を実行する。 Subsequently, the estimation unit 230 counts up the numbers d 1 and d 2 in which the order numbers are arranged in descending order for each interface (step S1305). Here, the values of d 1 and d 2 are d 1 = d 2 = 1. Since a d i ≦ k i for any interface, the estimation unit 230 includes a sequence number largest packet that the packet receiving unit 220 receives (# 13 packet), the sequence number is n + 1 th packet (number 11 ) Is received (step S1307). Since the 11th packet has not been received, all the packets have not been received, so the process returns to step S1304 to estimate. The unit 230 further executes processing for acquiring the sequence number of the next received packet.

以後、14番のパケットまでパケット受信部220が受信すると、推定部230は、パケット受信部220が受信したパケットの順序番号(14)と、パケットのIF番号i=2とを取得する(ステップS1304)。推定部230はインタフェースごとに順序番号が降順に並ぶ個数d、dを数え上げる(ステップS1305)。ここでは、インタフェース1については16番、15番、14番の並びでd=3となり、インタフェース2については12番、11番の並びでd=2となる。そして、推定部230は、順序番号が降順に並ぶ個数をインタフェースごとの分岐数の推定値kの候補とする(ステップS1306)。 Thereafter, when the packet receiving unit 220 receives up to the 14th packet, the estimating unit 230 obtains the sequence number (14) of the packet received by the packet receiving unit 220 and the IF number i = 2 of the packet (step S1304). ). The estimation unit 230 counts up the numbers d 1 and d 2 in which the order numbers are arranged in descending order for each interface (step S1305). Here, number 16 for the interface 1, 15th, next d 1 = 3 in sequence of 14 th, 12 th for interface 2, and d 2 = 2 a sequence of 11th. Then, the estimating unit 230 sets the number of descending order numbers as candidates for the estimated number k i of the number of branches for each interface (step S1306).

続いて推定部230は、パケット受信部220が受信した順序番号が最大のパケット(13番のパケット)と、順序番号がn+1番のパケット(11番の)との間に入る全てのパケットを受信したかどうかを判断し(ステップS1307)、全てのパケットを受信しているので、推定部230は上記ステップS1306で候補としたインタフェースごとの分岐数の推定値k=3、k=2を情報部180に保存する(ステップS1308)。 Subsequently, the estimation unit 230 receives all packets received between the packet having the largest sequence number (the 13th packet) received by the packet receiving unit 220 and the packet having the sequence number of n + 1 (the 11th). Since all packets have been received, the estimation unit 230 sets the estimated number k 1 = 3 and k 2 = 2 of the number of branches for each interface, which are candidates in step S1306. The information is stored in the information unit 180 (step S1308).

次に、推定部230がインタフェースごとの分岐数の推定値をk=3、k=2と推定した後の動作を説明する。ここでは、図18のように送信端末200Aからのパケットを受信端末200Bが受信した場合について説明する。情報部280には、データ受信部260が受信した最後尾のパケットの順序番号(20)と、インタフェースごとの分岐数の推定値をk=3、k=2とが保存されている。 Next, an operation after the estimation unit 230 estimates the estimated number of branches for each interface as k 1 = 3 and k 2 = 2 will be described. Here, a case where the receiving terminal 200B receives a packet from the transmitting terminal 200A as shown in FIG. 18 will be described. The information unit 280 stores the sequence number (20) of the last packet received by the data receiving unit 260 and the estimated number of branches for each interface, k 1 = 3 and k 2 = 2.

欠落判定部240はパケットの欠落判定処理に際し、情報部280から、インタフェースごとの分岐数の推定値をk=3、k=2と、データ受信部260が受信した最後尾のパケットの順序番号n=20とを取得する(ステップS1401)。次に、欠落判定部240はパケット受信部220が新たに受信したパケットの順序番号m=27及びそのパケットを送信したインタフェースのIF番号i=1を受け取る(ステップS1402)。受信したパケットの順序番号m(=27)はn+1(=21)では無いので、欠落判定部240は次にパケット受信部220が受信したパケットの順序番号m=26及びそのパケットを送信したインタフェースのIF番号i=2を受け取る。これも受信したパケットの順序番号m(=26)はn+1(=21)では無いので、欠落判定部240は、全てのインタフェースについてk≦dを満たすパケット列が存在するかどうかを確認する。 In the packet loss determination process, the loss determination unit 240 determines that the estimated number of branches for each interface is k 1 = 3 and k 2 = 2 from the information unit 280 and the order of the last packet received by the data reception unit 260. Number n = 20 is acquired (step S1401). Next, the loss determination unit 240 receives the sequence number m = 27 of the packet newly received by the packet receiving unit 220 and the IF number i = 1 of the interface that transmitted the packet (step S1402). Since the sequence number m (= 27) of the received packet is not n + 1 (= 21), the drop determining unit 240 next receives the sequence number m = 26 of the packet received by the packet receiving unit 220 and the interface that transmitted the packet. IF number i = 2 is received. Since the sequence number m (= 26) of the received packet is not n + 1 (= 21), the missing determination unit 240 checks whether there is a packet sequence that satisfies k i ≦ d i for all interfaces. .

確認の結果、k≦dを満たすパケット列は存在しないので、その後は、欠落判定部240は次にパケット受信部220が受信したパケットの順序番号及びそのパケットを送信したインタフェースのIF番号の取得処理を繰り返す。そして、25番のパケットを受信した時点で、全てのインタフェースについてk≦dを満たすパケット列が存在するようになるので(インタフェース1については26番、24番、23番からなるパケット列、インタフェース2については27番、25番からなるパケット列)、続いて欠落判定部240は、n+1=21番目のパケットから、これまで受信したn+1=21番目より大きい番号の中で、最小の順序番号の一つ手前、すなわち22番目までのパケットが欠落していると判定し、応答部270へその旨を通知する。 As a result of the confirmation, there is no packet sequence that satisfies k i ≦ d i , and thereafter, the loss determination unit 240 subsequently determines the sequence number of the packet received by the packet reception unit 220 and the IF number of the interface that transmitted the packet. Repeat the acquisition process. When the 25th packet is received, there is a packet sequence that satisfies k i ≦ d i for all interfaces (for the interface 1, the packet sequence consisting of 26th, 24th, 23rd, (The packet sequence consisting of No. 27 and No. 25 for the interface 2), and then the missing determination unit 240 starts from the n + 1 = 21st packet, and the smallest sequence number among the numbers larger than n + 1 = 21 received so far It is determined that the packet up to the 22nd, that is, the 22nd packet is missing, and the response unit 270 is notified accordingly.

バッファ250は、パケット受信部220からパケットを受け取るが、21番のパケットが欠落しているので、パケット受信部220から21番のパケットが送られて来るまで待機する。なお、バッファ250は、パケット受信部220から受け取ったパケットは保持している。   The buffer 250 receives the packet from the packet receiving unit 220, but since the 21st packet is missing, the buffer 250 waits until the 21st packet is sent from the packet receiving unit 220. Note that the buffer 250 holds the packet received from the packet receiving unit 220.

また、応答部270はデータ受信部260が受け取った最後のパケットの順序番号n=20を情報部280から取得する(ステップS1601)。応答部270は、バッファ250に21番のパケットが存在しているかどうかを確認し(ステップS1602)、バッファ250に存在するのはn+1(23)番以降のパケットしか無いので、応答部270は欠落判定部240からの順序番号21番と22番のパケットの欠落の通知を受けているかどうかを確認する(ステップS1603)。欠落判定部240からは、21番及び22番のパケットが欠落している旨の通知を受けているので、送信端末200Aに対して、21番及び22番のパケットが欠落していることを応答パケットにより通知する。応答部270は、予め定められた上記(1)または(2)の少なくともいずれかの内容で応答パケットを送信端末200Aへ送信し、処理を終了する。   In addition, the response unit 270 acquires the sequence number n = 20 of the last packet received by the data receiving unit 260 from the information unit 280 (step S1601). The response unit 270 confirms whether or not the 21st packet exists in the buffer 250 (step S1602). Since only the n + 1 (23) th and subsequent packets exist in the buffer 250, the response unit 270 is missing. It is confirmed whether or not the notification of the loss of the packets of the sequence numbers 21 and 22 is received from the determination unit 240 (step S1603). Since there is a notification that the 21st and 22nd packets are missing from the missing determination unit 240, a response is sent to the sending terminal 200A that the 21st and 22nd packets are missing. Notify by packet. The response unit 270 transmits a response packet to the transmission terminal 200A with at least one of the contents (1) and (2) determined in advance, and ends the process.

以上、推定部230、欠落判定部240、バッファ250、応答部270の具体的な動作例について説明した。   The specific operation examples of the estimation unit 230, the loss determination unit 240, the buffer 250, and the response unit 270 have been described above.

以上説明したように本発明の第2の実施形態にかかる受信端末200Bによれば、送信端末200Aが複数のインタフェースからパケットを送信してきた場合に、パケット受信部220で受信したパケットの順序番号から、推定部230によってネットワーク10の内部の経路の分岐数をインタフェースごとに推定し、番号通りにパケットを受信しなかった場合でも、この分岐数の情報を用いて、応答部270からの応答パケットの送信を控える。これにより受信端末200Bは、通信経路途中の分岐によってパケットの到着順序が逆転している場合であっても、経路途中のパケットロスであると誤判定することが無くなる。   As described above, according to the receiving terminal 200B according to the second embodiment of the present invention, when the transmitting terminal 200A transmits a packet from a plurality of interfaces, the sequence number of the packet received by the packet receiving unit 220 is used. The estimation unit 230 estimates the number of branches of the internal path of the network 10 for each interface, and even when the packet is not received according to the number, the information on the number of branches is used to determine the response packet from the response unit 270. Refrain from sending. As a result, the receiving terminal 200B does not erroneously determine that the packet loss is in the middle of the route even when the packet arrival order is reversed due to the branch in the middle of the communication route.

上記非特許文献1に開示の発明では、経路途中の分岐によって到着順序が保証されないので、受信端末で順序番号の大きいパケットが先に届くと、それより順序番号の小さいパケットは自動的にパケットロスであると判定され、応答パケットによって送信端末からの再送が発生してしまう。例えば、上述したように、上記非特許文献1に開示の発明では図7のようにパケットが到着した場合、13番のパケットが到着した時点で11番及び12番のパケットが再送の対象となる。   In the invention disclosed in Non-Patent Document 1, since the arrival order is not guaranteed due to branching along the route, when a packet with a larger order number arrives first at the receiving terminal, a packet with a smaller order number is automatically lost. Therefore, retransmission from the transmitting terminal occurs due to the response packet. For example, as described above, in the invention disclosed in Non-Patent Document 1, when a packet arrives as shown in FIG. 7, the 11th and 12th packets are subject to retransmission when the 13th packet arrives. .

また、上記特許文献2に開示の発明では、受信バッファでバッファ内の先頭のパケットしか見ないので、受信端末側で順序番号の大きいパケットが先に到着すると、それより順序番号の小さいパケットが自動的にパケットロスと判定されてしまい、応答パケットの送信及び送信端末からのパケットの再送が発生してしまう。図18のようにパケットが受信端末に到着すると、上記特許文献2に開示の発明では、順序番号が26番のパケットを受信した時点で、自動的に21番から25番のパケットはパケットロスと判定されてしまい、パケットの再送の対象となってしまう。   In the invention disclosed in Patent Document 2, since only the first packet in the buffer is seen in the reception buffer, when a packet with a large sequence number arrives first on the receiving terminal side, a packet with a smaller sequence number is automatically detected. Therefore, it is determined that the packet is lost, and a response packet is transmitted and a packet is retransmitted from the transmitting terminal. When the packet arrives at the receiving terminal as shown in FIG. 18, according to the invention disclosed in Patent Document 2, when the packet with the sequence number of 26 is received, the packets of the 21st to 25th packets are automatically lost. It will be judged and will be subject to retransmission of the packet.

これに対して本発明の第2の実施形態にかかる受信端末200Bでは、後から到着するパケットからもパケットの未着を判断するので、26番のパケットが到着した時点で即座に21番から25番のパケットを再送の対象とすることはしない。従って、本発明の第2の実施形態によれば、番号通りにパケットが到着しなかった場合でも、パケットの到着時点でパケットの未着を判断するのではなく、後から到着するパケットからもパケットの未着を判断するので、ネットワークに無駄なトラフィックが流れることを防ぐことができる。   On the other hand, the receiving terminal 200B according to the second embodiment of the present invention determines whether a packet has arrived from a packet that arrives later. Therefore, when the 26th packet arrives, the receiving terminal 200B immediately receives the 21st to 25th packets. No. packet is not subject to retransmission. Therefore, according to the second embodiment of the present invention, even when a packet does not arrive according to the number, it is not determined whether a packet has arrived at the time of arrival of the packet, but is also determined from a packet that arrives later. Therefore, it is possible to prevent unnecessary traffic from flowing through the network.

尚、上記各実施形態において説明した構成は、ネットワークを構成して利用されるもの一般に適用される。例えば、P2P(Peer to Peer)の仮想ネットワークの構造や無線アドホックネットワークに適用することも出来る。   The configuration described in each of the above embodiments is generally applied to those used by configuring a network. For example, the present invention can be applied to a P2P (Peer to Peer) virtual network structure or a wireless ad hoc network.

また、上記各実施形態において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。   Further, in each of the above embodiments, the steps described in the flowcharts are performed in parallel or individually even if they are not necessarily processed in time series, as well as processes performed in time series in the described order. Also includes processing to be performed. Further, it goes without saying that the order can be appropriately changed even in the steps processed in time series.

また、上記各実施形態における各種動作は、ハードウェア的な処理によって実行されるようにしてもよく、ソフトウェア的な処理によって実行されるようにしてもよい。ソフトウェア的な処理によって上記各実施形態における各種動作を実行する場合には、コンピュータプログラムが格納された記録媒体及びコンピュータプログラムを実行するプロセッサその他の制御手段を受信端末100B、200Bに設け、係る記録媒体からコンピュータプログラムを読み出し、制御手段において順次実行するようにしてもよい。   The various operations in the above embodiments may be executed by hardware processing or software processing. When performing various operations in the above embodiments by software processing, the receiving terminals 100B and 200B are provided with a recording medium storing a computer program and a processor or other control means for executing the computer program. The computer program may be read out from the program and sequentially executed by the control means.

以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。   The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field to which the present invention pertains can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that these also belong to the technical scope of the present invention.

本発明は、通信装置及び通信制御方法に適用可能であり、特にある一恋のデーを送信する場合にそのデータの到着を保証する通信、例えばTCPやSCTPに適用可能である。   The present invention can be applied to a communication apparatus and a communication control method, and is particularly applicable to communication that guarantees the arrival of data when a certain love data is transmitted, for example, TCP or SCTP.

100A、200A 送信端末
100B、200B 受信端末
120、220 パケット受信部
130、230 推定部
140、240 欠落判定部
150、250 バッファ
160、260 データ受信部
170、270 応答部
180、280 情報部
100A, 200A Transmission terminal 100B, 200B Reception terminal 120, 220 Packet reception unit 130, 230 Estimation unit 140, 240 Missing determination unit 150, 250 Buffer 160, 260 Data reception unit 170, 270 Response unit 180, 280 Information unit

Claims (10)

所定区切りの一連のパケットがネットワークを介して送信端末から順序番号が付与されて送信されたパケットを受信する受信端末において、
パケットを受信するパケット受信部と、
前記パケット受信部が受信したパケットの受信順から前記ネットワークの経路の分岐数を推定して計算する推定部と、
前記受信順及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定部と、
前記パケット受信部が受信したパケットを保持するパケット保持部と、
前記パケット保持部に保持されているパケット及び前記欠落判定部で欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を前記送信端末へ要求する応答部と、
を備えることを特徴とする、通信装置。
In a receiving terminal that receives a packet in which a sequence of packets of a predetermined interval is transmitted with a sequence number assigned from a transmitting terminal via a network,
A packet receiver for receiving packets;
An estimation unit that estimates and calculates the number of branches of the network path from the reception order of the packets received by the packet reception unit;
A missing determination unit for determining a packet lost in the middle of the route from the reception order and the number of branches;
A packet holding unit for holding a packet received by the packet receiving unit;
From the packet held in the packet holding unit and the sequence number of the packet determined to be missing by the missing determination unit, a response unit that requests retransmission of the lost packet to the transmission terminal;
A communication apparatus comprising:
前記推定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットを前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が最大となるように選んだ列における、順序番号が降順に並ぶ個数を前記経路の分岐数と推定することを特徴とする、請求項1に記載の通信装置。   The estimation unit receives the packets up to the sequence number n (n is an integer equal to or greater than 0) and then receives all the packets of the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the largest sequence number received by the packet receiving unit until the packet receiving unit receives all the packets from the sequence numbers n + 1 to m For all received packets that fall between packets of sequence number n + 1, in a column selected so that the number of sequence numbers in descending order is the maximum in the sequence in which the received packets are arranged in the order received by the packet receiver. The communication apparatus according to claim 1, wherein the number of the sequence numbers arranged in descending order is estimated as the number of branches of the route. 前記欠落判定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットを前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が、前記推定部が推定した前記経路の分岐数以上になるものがあれば、順序番号n+1番のパケットから、前記受信パケットのうち順序番号n+1番より大きいものの中で最小の順序番号の1つ手前までのパケットが欠落していると判定することを特徴とする、請求項1または2に記載の通信装置。   After the packet receiving unit has received all the packets up to the order number n (n is an integer equal to or greater than 0), the missing determination unit is the mth greater than the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the maximum sequence number received by the packet receiving unit before the packet receiving unit receives all the packets from the sequence numbers n + 1 to m And for all received packets that fall between the packets of sequence number n + 1, the number estimated by the estimation unit is the number of the sequence numbers arranged in descending order in the sequence in which the received packets are arranged in the order received by the packet reception unit. If there is a packet whose number is greater than or equal to the number of branches in the route, the smallest sequence number among the received packets that are greater than the sequence number n + 1 from the sequence number n + 1 And judging that the packet until one front is missing, the communication apparatus according to claim 1 or 2. 前記応答部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、前記パケット受信部がパケットを受信しても順序番号n+1番のパケットが前記パケット保持部に存在しない場合、順序番号n+1番のパケットの欠落を前記欠落判定部が判定するまでパケットの再送の要求を控えることを特徴とする、請求項1〜3のいずれかに記載の通信装置。   The response unit receives a packet up to the sequence number n (n is an integer equal to or greater than 0) after the packet reception unit receives the packet, and the packet of the sequence number n + 1 is received even if the packet reception unit receives the packet. The packet re-transmission request is withheld until the loss determination unit determines that the packet with the sequence number n + 1 is missing when the packet holding unit does not exist. Communication device. 所定区切りの一連のパケットがネットワークを介して送信端末から複数の送信インタフェースによって順序番号及びインタフェース識別子が付与されて送信されたパケットを受信する受信端末において、
パケットを受信するパケット受信部と、
前記パケット受信部が受信したパケットの受信順及び前記インタフェース識別子から前記ネットワークの経路の分岐数を推定して計算する推定部と、
前記受信順、前記インタフェース識別子及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定部と、
前記パケット受信部が受信したパケットを保持するパケット保持部と、
前記パケット保持部に保持されているパケット及び前記欠落判定部で欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を要求する応答部と、
を備えることを特徴とする、通信装置。
In a receiving terminal that receives a packet in which a sequence of packets of a predetermined interval is transmitted from a transmitting terminal via a network with a sequence number and an interface identifier assigned by a plurality of transmitting interfaces,
A packet receiver for receiving packets;
An estimation unit for estimating and calculating the number of branches of the network path from the reception order of the packets received by the packet reception unit and the interface identifier;
A loss determination unit for determining a packet lost in the middle of the route from the reception order, the interface identifier, and the number of branches;
A packet holding unit for holding a packet received by the packet receiving unit;
From the packet held in the packet holding unit and the sequence number of the packet determined to be missing by the missing decision unit, a response unit that requests retransmission of the missing packet;
A communication apparatus comprising:
前記推定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットからある送信インタフェースからの受信パケットを抽出して前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が最大となるように選んだ列における、順序番号が降順に並ぶ個数を該送信インタフェースにおける前記経路の分岐数と推定することを特徴とする、請求項5に記載の通信装置。   The estimation unit receives the packets up to the sequence number n (n is an integer equal to or greater than 0) and then receives all the packets of the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the largest sequence number received by the packet receiving unit until the packet receiving unit receives all the packets from the sequence numbers n + 1 to m For all received packets that fall between the packets of sequence number n + 1, the sequence numbers are arranged in descending order in a sequence in which the received packets from a transmission interface are extracted from the received packets and arranged in the order received by the packet receiver. Estimating the number of branches of the route in the transmission interface in the descending order of the sequence numbers in the column selected to maximize the number. Wherein, the communication apparatus according to claim 5. 前記欠落判定部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、順序番号n+1番より大きいm番(mは2以上の整数)のパケットを前記パケット受信部が受信した場合に、その後順序番号n+1番からm番までの全てのパケットを前記パケット受信部が受信するまでの間に前記パケット受信部が受信した最大の順序番号のパケットと順序番号n+1番のパケットとの間に入る全ての受信パケットについて、前記受信パケットからある送信インタフェースからの受信パケットを抽出して前記パケット受信部が受信した順に並べた列で順序番号が降順に並ぶ個数が、前記推定部が推定した前記経路の分岐数以上になるものが全ての送信インタフェースについて成立すれば、順序番号n+1番から、前記受信パケットのうち順序番号n+1番より大きいものの中で最小の順序番号の1つ手前までのパケットが欠落していると判定することを特徴とする、請求項5または6に記載の通信装置。   After the packet receiving unit has received all the packets up to the order number n (n is an integer equal to or greater than 0), the missing determination unit is the mth greater than the sequence number n + 1 (m is an integer equal to or greater than 2). When the packet receiving unit receives the packet, the packet having the maximum sequence number received by the packet receiving unit before the packet receiving unit receives all the packets from the sequence numbers n + 1 to m For all received packets that fall between the packet and the sequence number n + 1, the sequence number is descending in a sequence in which the received packets from a transmission interface are extracted from the received packets and arranged in the order received by the packet receiver. If the number of lines equal to or greater than the number of branches of the route estimated by the estimation unit is established for all transmission interfaces, the sequence number n + 1 7. The communication according to claim 5, wherein it is determined that a packet up to one prior to the smallest sequence number among the received packets larger than the sequence number n + 1 is determined to be missing. apparatus. 前記応答部は、前記順序番号n番(nは0以上の整数)までのパケットを前記パケット受信部が全て受信した後、前記パケット受信部がパケットを受信しても順序番号n+1番のパケットが前記パケット保持部に存在しない場合、順序番号n+1番のパケットの欠落を前記欠落判定部が判定するまでパケットの再送の要求を控えることを特徴とする、請求項5〜7のいずれかに記載の通信装置。   The response unit receives a packet up to the sequence number n (n is an integer equal to or greater than 0) after the packet reception unit receives the packet, and the packet of the sequence number n + 1 is received even if the packet reception unit receives the packet. The packet retransmission request according to any one of claims 5 to 7, wherein if the packet holding unit does not exist, the packet retransmission request is refrained until the missing determination unit determines that the packet with the sequence number n + 1 is missing. Communication device. 所定区切りの一連のパケットがネットワークを介して送信端末から順序番号が付与されて送信されたパケットを受信するパケット受信ステップと、
前記パケット受信ステップで受信したパケットの受信順から前記ネットワークの経路の分岐数を推定して計算する推定ステップと、
前記受信順及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定ステップと、
前記パケット受信ステップで受信したパケットを保持するパケット保持ステップと、
前記パケット保持ステップで保持されているパケット及び前記欠落判定ステップで欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を前記送信端末へ要求する応答ステップと、
を備えることを特徴とする、通信制御方法。
A packet receiving step of receiving a packet in which a sequence of packets of a predetermined interval is transmitted with a sequence number assigned from a transmitting terminal via a network;
An estimation step for estimating and calculating the number of branches of the network path from the reception order of the packets received in the packet reception step;
Deletion determination step for determining a packet lost in the middle of the route from the reception order and the number of branches;
A packet holding step for holding the packet received in the packet receiving step;
From the packet held in the packet holding step and the sequence number of the packet determined to be missing in the missing determination step, a response step for requesting the transmitting terminal to retransmit the missing packet;
A communication control method comprising:
所定区切りの一連のパケットがネットワークを介して送信端末から複数の送信インタフェースによって順序番号及びインタフェース識別子が付与されて送信されたパケットを受信するパケット受信ステップと、
前記パケット受信ステップで受信したパケットの受信順及び前記インタフェース識別子から前記ネットワークの経路の分岐数を推定して計算する推定ステップと、
前記受信順、前記インタフェース識別子及び前記分岐数から前記経路の途中で欠落したパケットを判定する欠落判定ステップと、
前記パケット受信ステップで受信したパケットを保持するパケット保持ステップと、
前記パケット保持ステップで保持されているパケット及び前記欠落判定ステップで欠落と判定されたパケットの順序番号とから、欠落したパケットの再送を要求する応答ステップと、
を備えることを特徴とする、通信制御方法。

A packet receiving step of receiving a packet in which a sequence of packets of a predetermined interval is transmitted from a transmitting terminal via a network with a sequence number and an interface identifier assigned by a plurality of transmitting interfaces;
An estimation step of estimating and calculating the number of branches of the network path from the reception order of the packets received in the packet reception step and the interface identifier;
Deletion determination step of determining a packet lost during the route from the reception order, the interface identifier, and the number of branches;
A packet holding step for holding the packet received in the packet receiving step;
A response step for requesting retransmission of the missing packet from the packet held in the packet holding step and the sequence number of the packet determined to be missing in the missing decision step;
A communication control method comprising:

JP2010045387A 2010-03-02 2010-03-02 Communication apparatus and communication control method Active JP4973749B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010045387A JP4973749B2 (en) 2010-03-02 2010-03-02 Communication apparatus and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010045387A JP4973749B2 (en) 2010-03-02 2010-03-02 Communication apparatus and communication control method

Publications (2)

Publication Number Publication Date
JP2011182234A JP2011182234A (en) 2011-09-15
JP4973749B2 true JP4973749B2 (en) 2012-07-11

Family

ID=44693269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010045387A Active JP4973749B2 (en) 2010-03-02 2010-03-02 Communication apparatus and communication control method

Country Status (1)

Country Link
JP (1) JP4973749B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5299459B2 (en) * 2011-03-24 2013-09-25 沖電気工業株式会社 Communication apparatus and communication control method
CN108243211A (en) * 2016-12-24 2018-07-03 华为技术有限公司 A kind of data transmission method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946375A (en) * 1995-07-26 1997-02-14 Hitachi Ltd Method for resending packet in packet exchange network
JP4497322B2 (en) * 2004-01-09 2010-07-07 日本電気株式会社 Communication method

Also Published As

Publication number Publication date
JP2011182234A (en) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5131194B2 (en) Packet recovery method, communication system, information processing apparatus, and program
CN105812287B (en) Efficient circuit in packet switching network
TW201115986A (en) System for efficient recovery of Node-B buffered data following MAC layer reset
JP2006060674A (en) Communication equipment, data communication method and program
WO2001099355A1 (en) Method and system for packet retransmission
EP3471354A1 (en) Method and apparatus for transmitting data in wireless communication system
CN102185771A (en) Dispatching method and system for data packet of sender in MPTCP (Multipath TCP (Transmission Control Protocol))
CN107104902B (en) RDMA data transmission method, related device and system
JP5161651B2 (en) Wireless device and control program for wireless device
US8838782B2 (en) Network protocol processing system and network protocol processing method
CN104243111A (en) Method and device for transmitting data packet
JP4973749B2 (en) Communication apparatus and communication control method
JP5664646B2 (en) Packet alignment apparatus, packet alignment method, and storage medium
CN111131017B (en) MPTCP (Multi-protocol Transmission control protocol) cross-layer optimization method and system based on multi-cellular wireless access gateway
CN110808917A (en) Multilink aggregation data retransmission method and transmitting equipment
CN106130746A (en) A kind of data transmission method and device
JP6468566B2 (en) Data transmission control system and method, and data transmission control program
JP4633025B2 (en) Data signal transfer method and receiving apparatus
JP2009081567A (en) Retransmission control system, retransmission control method, transmitter and receiver
KR20130048547A (en) Apparatus and method for routing using lqi based position
KR101411782B1 (en) Terminal device with multi communication interface and method for controlling communication of the ternimal device
JP5299459B2 (en) Communication apparatus and communication control method
JP4505575B2 (en) COMMUNICATION SYSTEM, GATEWAY TRANSMISSION DEVICE, GATEWAY RECEPTION DEVICE, TRANSMISSION METHOD, RECEPTION METHOD, AND INFORMATION RECORDING MEDIUM
JP6569450B2 (en) Information processing apparatus and information processing system
JP2008199431A (en) Communication device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120224

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120326

R150 Certificate of patent or registration of utility model

Ref document number: 4973749

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3