WO2012014397A1 - Communication apparatus, communication system, packet retransmission control method and packet retransmission control program - Google Patents

Communication apparatus, communication system, packet retransmission control method and packet retransmission control program Download PDF

Info

Publication number
WO2012014397A1
WO2012014397A1 PCT/JP2011/004003 JP2011004003W WO2012014397A1 WO 2012014397 A1 WO2012014397 A1 WO 2012014397A1 JP 2011004003 W JP2011004003 W JP 2011004003W WO 2012014397 A1 WO2012014397 A1 WO 2012014397A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
sequence
order
buffer
retransmission
Prior art date
Application number
PCT/JP2011/004003
Other languages
French (fr)
Japanese (ja)
Inventor
淳一 樋口
飛鷹 洋一
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2012526285A priority Critical patent/JP5761193B2/en
Publication of WO2012014397A1 publication Critical patent/WO2012014397A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element

Definitions

  • the present invention relates to a communication apparatus, a communication system, a packet retransmission control method, and a packet retransmission control program that perform multipath communication in which data is distributed over a plurality of paths.
  • Patent Document 1 there is a multipath communication method in which data of one communication flow used in communication between a transmission terminal and a reception terminal is branched into a plurality of paths and the original flow is restored.
  • Patent Document 2 in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, an order buffer for storing packets until order confirmation is performed for each network.
  • a packet loss detection method for detecting packet loss by monitoring a packet retention state in an order buffer provided for each network.
  • packet loss detection method for detecting packet loss by monitoring a packet retention state in an order buffer provided for each network.
  • the high-speed packet loss detection method described in Patent Document 2 is a method for detecting packet loss by monitoring a packet retention state in each sequence buffer when a packet is extracted from the sequence buffer.
  • inconsistencies such as rejuvenation of the order number of the arrival packet can be determined before storing in the order buffer.
  • the packet sequence can be recovered at a higher speed by making a retransmission request immediately.
  • the present invention provides a communication apparatus, communication system, and packet that can suppress a decrease in throughput of the entire system even when the load is high, in a case where a combination of high-speed packet loss detection and a retransmission request that is determined upon arrival of a packet.
  • An object of the present invention is to provide a retransmission control method and a packet retransmission control program.
  • a communication apparatus is a communication apparatus in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, and stores packets until the order is confirmed.
  • a plurality of sequence buffers installed for each network, a loss detection unit that determines that a loss has occurred when at least one packet is accumulated in all of the order buffers, and at least a packet loss is detected
  • a retransmission request unit that transmits a retransmission request packet for requesting retransmission of a missing packet
  • an order buffer release trigger that is information for notifying the retransmission request packet transmitted by the retransmission request unit of an order buffer release trigger
  • the order buffer release trigger information mounting unit that loads the information and the order buffer release trigger information mounted in the retransmission request packet, and retransmission is required. Characterized in that it comprises a sequence buffer release trigger identifying section for determining Luke.
  • the transmitter and the receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, and the receiver accumulates packets until the order is confirmed.
  • a plurality of sequence buffers installed for each network, a missing detection unit that determines that a loss has occurred when one or more packets are accumulated in all of the order buffers, and at least a packet loss is detected, Retransmission request unit for transmitting retransmission request packet for requesting retransmission of missing packet, and order buffer release trigger information which is information for notifying the order buffer release trigger to retransmission request packet transmitted by retransmission request unit
  • the packet retransmission control method is a packet retransmission control method applied to a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, The receiver accumulates the packets in the order buffer for each network until the order is confirmed, and determines that a loss has occurred when one or more packets are accumulated in all of the order buffers, and at least the packet loss is detected.
  • the packet retransmission control program provides an order to a computer installed in a communication apparatus in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network.
  • a retransmission request packet for requesting retransmission of the missing packet is transmitted, and the retransmission request packet loaded with the order buffer release trigger information, which is information for notifying the order buffer release trigger, is transmitted.
  • Whether resending is required by referring to the processing and release information of the sequence buffer mounted in the resending request packet Characterized in that for executing processing decision to.
  • the present invention when a high-speed packet loss detection is performed in combination with a retransmission request that is determined upon arrival of a packet, it is possible to suppress a decrease in the throughput of the entire system even at a high load.
  • communication between a pair of transmitter and receiver is defined as one flow.
  • path that flows through the path with. For example, when communicating by distributing one flow to four networks (networks), it is preferable to communicate using four paths. When communicating by distributing two flows to four networks (networks), eight flows are used. Communicate using a path.
  • the description is given focusing on one flow, and as a result, the network and the path are synonymous.
  • FIG. 1 is a block diagram showing a configuration example of a communication apparatus according to an embodiment of the present invention.
  • the transmitter 1 includes a data transmission unit 11, a SEQ addition unit 12, a retransmission buffer 13, a distribution unit 14, a retransmission timer 15, and an order buffer release trigger identification unit 16.
  • the receiver 2 also includes an order buffer 211 to 214, a loss detection unit 20, an extraction control unit 22, an ACK transmission unit 23, an output buffer 24, a SEQ deletion unit 25, a data reception unit 26, and a buffer release trigger information mounting portion 27.
  • FIG. 1 two communication apparatuses having different configurations, ie, a transmitter 1 and a receiver 2, are shown as examples. However, a communication apparatus that satisfies both the transmission function and the reception function is provided on the transmission side and the reception side. Each may be provided. For example, in the example shown in FIG. 1, instead of the transmitter 1 and the receiver 2, two communication devices including both the components of the transmitter 1 and the components of the receiver 2 may be used. Is possible.
  • FIG. 1 shows an example in which one flow is distributed over four networks for communication.
  • the receiver 2 includes four order buffers (order buffers 211 to 214).
  • the order buffer may be provided according to the number of networks that the receiver 2 uses for reception. For example, when three networks are used for communication, it is sufficient that three order buffers are provided.
  • the data transmitter 11 generates data to be transmitted to the receiver 2 and passes it to the SEQ adder 12.
  • a server application or the like corresponds to a data transmission unit.
  • the SEQ adding unit 12 receives data to be transmitted from the data transmitting unit 12 to the receiver 2, divides the received data into sizes that can be transferred by the networks 31 to 34, and divides the individual data (hereinafter referred to as packets).
  • a header and an order number (also referred to as a sequence number, hereinafter referred to as “SEQ”) necessary for transfer are set to the retransmission buffer 13.
  • the retransmission buffer 13 is a FIFO buffer and performs the following operations.
  • a delivery confirmation (ACK) is received from the ACK transmission unit 23, and the stored packet to which a SEQ value equal to or less than the received SEQ described in the ACK is deleted is deleted. In this case, re-set the retransmission timer 15.
  • the distribution unit 14 sequentially distributes packets arriving from the retransmission buffer 13 to the networks 31 to 34 by a round robin method or the like.
  • the retransmission timer 15 When the retransmission request is received from the retransmission buffer 13, the retransmission timer 15 notifies the retransmission buffer 13 of expiration of the timer when a preset time has elapsed.
  • the order buffer release trigger identification unit 16 refers to the information in the order buffer release trigger notification field mounted on the ACK or the like from the opposite receiver 2 for identification.
  • the order buffer release timing notification field is information for registering information indicating the timing at which the receiver 2 releases the order buffer, which is a transmission factor of the message to which the field is assigned.
  • the information indicates whether or not the sequence buffer is released by SEQ rejuvenation.
  • the sequence buffer release trigger identification unit 16 retransmits when the information in the sequence buffer release trigger notification field is a retransmission request notification by sequence buffer release by SEQ rejuvenation based on retransmission packet reception after high-speed packet loss detection. No retransmission request is made to the buffer 13. Since no retransmission request is made, no retransmission is performed. If the retransmission request is other than that, the retransmission request is made to the retransmission buffer 13.
  • Each of the order buffers 211 to 214 is a FIFO buffer.
  • the order buffers 211 to 214 receive a packet from the associated network (any of the networks 31 to 34), temporarily store the packet, and notify the extraction control unit 22 of the storage completion. Further, the stored packet is transferred to the output buffer 24 in accordance with an instruction from the extraction control unit 22.
  • the order buffers 211 to 214 compare the SEQ of the packet that has arrived from the associated network with the SEQ of the packet that has arrived from the network last time. The order buffers 211 to 214 consider that retransmission has occurred when the SEQ of the packet that has arrived this time is smaller than or equal to the SEQ of the packet that has arrived last time. When the order buffers 211 to 214 consider that retransmission has occurred, all the stored packets are discarded (deleted), and the order buffer is released. Then, the order buffers 211 to 214 notify the loss detection unit 20 to that effect as an order buffer release trigger (buffer release notification by SEQ rejuvenation). If no packet is stored in the order buffer, it is not considered that the buffer has been released, and no notification is made.
  • buffer release notification by SEQ rejuvenation buffer release notification by SEQ rejuvenation
  • the order buffers 211 to 214 may sequentially store the packets received by retransmission after clearing the order buffer.
  • the storage control unit 22 is notified of the storage completion.
  • the loss detection unit 20 is notified of buffer release due to buffer overflow.
  • the missing detection unit 20 Upon receipt of a packet extraction completion notification from the extraction control unit 22, the missing detection unit 20 confirms whether there is a packet loss. If a packet loss is found, a retransmission request is made to the ACK transmission unit 23. In addition, when the order buffer is released due to the packet loss detection, the order buffer release opportunity information loading unit 27 is notified of the order buffer release opportunity.
  • the fetch control unit 22 receives the storage completion notification from the order buffers 211 to 214 and activates the order confirmation operation 221.
  • the take-out control unit 22 transfers the packet to the output buffer 24 according to the sequence of SEQ.
  • the ACK transmission unit 23 is notified of the SEQ of the packet transferred to the output buffer 24.
  • the ACK transmission unit 23 and the order buffer release opportunity information mounting unit 27 perform the following operations.
  • a 1ACK scheme is employed in which an ACK of one packet is transmitted every time one packet transfer to the output buffer 24 is completed.
  • an N_ACK scheme may be used in which N (N is 1 or more) packet arrival reports are collected together with one ACK.
  • the ACK transmission unit 23 When receiving the SEQ notification of the packet transferred from the take-out control unit 22 to the output buffer 24, the ACK transmission unit 23 generates an ACK including the SEQ.
  • the order buffer release opportunity information mounting unit 27 notifies the transmitter 1 of ACK. At this time, the ACK is notified using any of the networks 31 to 34. In addition, the ACK transmission unit 23 stores the notified SEQ.
  • the ACK transmission unit 23 Upon receiving a retransmission request from the loss detection unit 20, the ACK transmission unit 23 again generates an ACK including the SEQ stored in (1).
  • the order buffer release trigger information mounting unit 27 mounts the order buffer release trigger information in the ACK and notifies the transmitter 1 of it. The ACK is notified using any of the networks 31 to 34.
  • the ACK in (2) is handled as a duplicate ACK (retransmission request) in the transmitter 1.
  • the output buffer 24 is a FIFO buffer.
  • the output buffer 24 stores the packets received from the order buffers 211 to 214.
  • the output buffer 24 outputs the packets to the SEQ deletion unit 25 in the order in which they are stored when a request is received from the SEQ deletion unit 25.
  • the SEQ deleting unit 25 receives a packet from the output buffer 24.
  • the SEQ deleting unit 25 deletes the SEQ and the header from the packet, and transfers the data after the SEQ deletion to the data receiving unit 26.
  • the data receiving unit 26 receives data from the SEQ deleting unit 26.
  • the data receiving unit 26 is generally called a client application.
  • the networks 31 to 34 are networks that connect between the transmitter 1 and the receiver 2, respectively. Assume that the networks 31 to 34 are networks such as Ethernet that do not reverse the order of packets in the network. In FIG. 1, each network is represented by a single line. However, in practice, a switch or the like may exist in addition to the link as long as packet order inversion does not occur in the network. Each network is either physically blocked or logically blocked by a VLAN or the like. That is, it is assumed that the networks do not intersect each other.
  • the data transmission unit 11 and the SEQ addition unit 12 are realized by a processor unit that operates according to a program such as a CPU.
  • the distribution unit 14 and the order buffer release opportunity identification unit 16 are realized by a processor unit that operates according to a program such as a hardware and a CPU that realizes a communication function with each network.
  • the retransmission timer 15 is realized by a processor unit that operates in accordance with a program such as hardware or a CPU that implements a time measuring function.
  • the retransmission buffer 13 is realized by a storage device and a control unit that controls the storage device (may be a processor unit that operates according to a program such as a CPU).
  • the data receiving unit 26, the SEQ deleting unit 25, the take-out control unit 22, and the missing detection unit 20 are realized by a processor unit that operates according to a program such as a CPU.
  • the ACK transmission unit 23 and the order buffer release opportunity information mounting unit 27 are realized by a processor unit that operates according to a program such as hardware and a CPU that realizes a communication function with each network.
  • the order buffers 211 to 214 are realized by hardware that realizes a communication function with each network, a storage device, and a control unit that controls the hardware (may be a processor unit that operates according to a program such as a CPU).
  • the output buffer 24 is implemented by a storage device.
  • FIG. 2 is a flowchart illustrating an example of the order confirmation operation 221 performed by the take-out control unit 22 of the receiver 2.
  • the take-out control unit 22 activates the order confirmation operation 221 when a storage completion notification is made after one packet is stored in any of the order buffers 211 to 214 (step 22101). ).
  • the extraction control unit 22 first confirms the SEQ of the packet stored at the head (on the output buffer 24 side) of the order buffer 211 (step 22102).
  • the fetch control unit 22 confirms the SEQ (head SEQ) of the first packet of the order buffer 211 confirmed in step 22102, and the SEQ (reception expected SEQ, which is to be transmitted to the output buffer 24 next by the order control unit 22). referred) and comparing (step 22103).
  • the takeout control unit 22 takes out the packet from the order buffer 211 and sends it to the output buffer 24 (step 22104).
  • the take-out control unit 22 requests the ACK transmission unit 23 to transmit an acknowledgment packet (ACK).
  • ACK stores the SEQ of the expected SEQ. Accordingly, the transmitter 1 is notified that the reception and ordering up to the expected SEQ have been completed (step 22105).
  • the take-out control unit 22 performs the same operation as the steps 22102 to 22106 with respect to the order buffer 212 in steps 22107 to 22111.
  • the extraction control unit 22 performs the same operation as the steps 22102 to 22106 with respect to the order buffer 213 in steps 22112 to 22116.
  • step 22117 to 22121 the extraction control unit 22 performs the same operation as that of steps 22102 to 22106 with respect to the order buffer 214.
  • the fetch control unit 22 counts the number of packets taken out from the order buffer and sent to the output buffer in the SEQ confirmation operation for each order buffer. If the number of packets is 1 or more, the takeout control unit 22 executes the processing after step 22102 again.
  • step 22122 executes the process of step 22123 (step 22122).
  • Step 22312 the extraction control unit 22 notifies the loss detection unit 20 of the completion of packet extraction and activates the loss detection operation.
  • FIG. 3 is a flowchart illustrating an operation example of the missing detection unit 20.
  • the loss detection unit 20 activates the loss detection operation (step 2000).
  • the missing detection unit 20 may start the missing detection operation at a time other than when the packet extraction completion notification is received from the order confirmation operation 221. For example, when a buffer release notification is received from the order buffers 211 to 214, a missing detection operation is started.
  • the missing detection unit 20 first checks whether the order buffer has been cleared (step 2001).
  • the missing detection unit 20 checks the number of packets stored in the order buffer 211 (step 2002).
  • step 2004 the process proceeds to step 2004 (step 2003).
  • step 2004 and step 2005 the missing detection unit 20 performs the same operation as step 2002 and step 2003 with respect to the order buffer 212.
  • step 2006 and step 2007, the missing detection unit 20 performs the same operation as step 2002 and step 2003 with respect to the order buffer 213.
  • step 2008 and step 2009 the missing detection unit 20 performs the same operation as step 2002 and step 2003 with respect to the order buffer 214.
  • the loss detection unit 20 checks the number of packets stored in each order buffer. When the storage of one or more packets is confirmed in all of the order buffers 211 to 214, the loss detection unit 20 makes a transmission request to the ACK transmission unit 23.
  • the ACK transmission unit 23 that has received the transmission request generates an ACK (duplicate ACK) including the same SEQ as the previously transmitted ACK, and makes a retransmission request to the transmitter 1 (step 2012).
  • the missing detection unit 20 confirms whether or not the SEQ has been rejuvenated (step 2010).
  • the missing detection unit 20 makes an ACK transmission request to the ACK transmission unit.
  • the missing detection unit 20 sets an order buffer release trigger flag (step 2011), and makes a transmission request to the ACK transmission unit 23.
  • the ACK transmission unit 23 generates an ACK (duplicate ACK) including the same SEQ as the ACK transmitted last time and makes a retransmission request to the transmitter 1.
  • An ACK with a release trigger flag set is transmitted.
  • FIG. 4 is a flowchart showing an operation example of the order buffer release opportunity information identification unit 16.
  • the order buffer release opportunity information identification unit 16 receives a duplicate ACK (that is, a retransmission request). (Step 3001).
  • the order buffer release opportunity information identification unit 16 processes the received ACK as a normal ACK, and releases the retransmission buffer (step 3002).
  • the order buffer release opportunity information identifying unit 16 checks the order buffer release opportunity flag in the order buffer release opportunity notification field in the received ACK (step 3003).
  • sequence buffer release trigger information identification unit 16 terminates the processing without receiving the ACK as a retransmission request, although it is a retransmission request.
  • the order buffer release trigger information identification unit 16 issues a retransmission instruction to the retransmission buffer with the received ACK as a retransmission process target (Ste 3004).
  • FIG. 5 shows an example in which one flow is distributed over two networks (networks 31 and 32) for communication for the sake of simplicity. Therefore, it is assumed that the receiver 2 includes two order buffers (order buffers 211 to 212).
  • a packet transmitted using the network 31 is indicated by a solid line arrow
  • a packet transmitted using the network 32 is indicated by a broken line arrow.
  • the data transmission unit 11 generates data for the data reception unit 26 and sends the data to the SEQ addition unit 12.
  • the SEQ adding unit 12 divides the data from the data transmission unit 12 into sizes that can be transferred by the networks 31 to 32, and attaches a header to each data to generate a packet. Further, a sequence number (SEQ) is assigned to the packet for ordering so that the receiver 2 can restore the data, and the packet is transferred to the retransmission buffer 13.
  • SEQ sequence number
  • the retransmission buffer 13 receives the packet from the SEQ adding unit 12 and temporarily stores it. Then, a copy of the stored packet is sent to the distribution unit 14 in accordance with a preset transmission rate, window size, and the like.
  • the distribution unit 14 distributes and transmits the packet received from the retransmission buffer 13 to each of the networks 31 to 32 by a round robin method or the like. For example, packets with a sequence of SEQ are distributed to the networks 31 to 32, such as the network 31 for the SEQ0 packet, the network 32 for the SEQ1 packet, the network 31 for the SEQ2 packet, and the network 32 for the SEQ3 packet.
  • the networks 31 to 32 send the packets sent from the transmitter 1 to the receiver 2.
  • each of the order buffers 211 and 212 stores a packet that has arrived from the associated network, and notifies the extraction control unit 22 of the completion of storage.
  • the fetch control unit 22 receives the storage completion notification from the order buffer and activates the order confirmation operation 221.
  • the order confirmation operation 221 notifies the missing detection unit 20 of the completion of extraction.
  • the missing detection unit 20 Upon receipt of the extraction completion notification from the extraction control unit 22, the missing detection unit 20 checks the number of packets stored in each order buffer. If the storage of the packet is confirmed in all the order buffers, the loss detection unit 20 determines that a packet loss has occurred and makes a retransmission request to the ACK transmission unit 23. When receiving a buffer release notification from each sequence buffer, the loss detection unit 20 makes a retransmission request according to the buffer release factor to the sequence buffer release trigger information mounting unit 27 and the ACK transmission unit 23.
  • the output buffer 24 receives the packet from the order buffer, and extracts and transfers the packet by the FIFO method in response to a request from the SEQ deletion unit 25.
  • the SEQ deleting unit 25 takes out the packet from the output buffer 24, deletes the header (including SEQ), and transfers the data to the data receiving unit 26.
  • the data receiving unit 26 receives 0 and others from the SEQ deleting unit 25 and performs various processes.
  • the sequence buffer release opportunity identification unit 16 of the transmitter 1 receives the packet from the receiver 2 and, when a SEQ larger than the SEQ of the ACK received last time is included, the packet up to the SEQ is retransmitted from the retransmission buffer 13. to erase. If the same SEQ as the SEQ of the previously received ACK is included, the order buffer release opportunity identification unit 16 regards it as a duplicate ACK (retransmission request), and immediately converts the packet stored in the retransmission buffer into SEQ Resend in order from the youngest.
  • FIG. 6 is a block diagram illustrating an operation example of the receiver 2 when a packet is lost.
  • the packets 1 to 9 are transferred to the output buffer 24 by the order storage operation 221.
  • ACKs 1 to 9 are sent out by the ACK transmission unit 23 and the order buffer release opportunity information identification unit 16. If there is no particular description in the figure, it is assumed that the value of the order buffer release trigger flag is not set (a value indicating that the order buffer is not released by SEQ rejuvenation).
  • the order confirmation operation 221 is activated again.
  • an extraction completion notification is transmitted to the loss detection unit 20.
  • the missing detection unit 20 checks the number of packets stored in each order buffer. This time, the loss detection unit 20 confirms that the packet is stored in all the order buffers including the order buffer 211 (that is, the packet is stagnated by skipping the SEQ), and the loss occurs.
  • the ACK transmission unit 23 is requested to retransmit.
  • this retransmission request may be expressed as a retransmission request due to sequence skipping.
  • the ACK transmission unit 23 does not set the order buffer release trigger flag (for example, 0).
  • the transmitter 1 determines that there is a retransmission request, and retransmits the packet in the retransmission buffer.
  • FIG. 7 is a block diagram illustrating a state of the buffer of the receiver 1 after making a retransmission request due to sequence skipping.
  • the missing detection unit 20 Upon receiving a buffer release notification from the order buffer 212, the missing detection unit 20 performs a missing detection operation. As a missing detection operation, the missing detection unit 20 first recognizes that the buffer has been released and that the cause is SEQ rejuvenation, and sends a retransmission request due to SEQ rejuvenation to the ACK transmission unit 23 and the order buffer release trigger information. To the unit 27. For example, the missing detection unit 20 may make a retransmission request to the ACK transmission unit 23 after setting the sequence buffer release trigger flag managed by the sequence buffer release trigger information mounting unit 27 to 1 (valid).
  • the order buffer release trigger flag is set to a value (for example, 1) indicating buffer release by rejuvenation.
  • FIG. 8 is a block diagram showing a buffer state of the receiver 1 when a retransmission request is made by receiving a SEQ young number from the network 32.
  • the take-out control unit 22 activates the order confirmation operation 221, takes out the packet having the same SEQ as the expected SEQ, and sends it to the output buffer 24.
  • FIG. 9 is a block diagram showing a buffer state of the receiver 1 when a retransmission request is made by receiving a sequence number of SEQ from the network 31.
  • the sequence buffer 211 also detects SEQ rejuvenation and releases the sequence buffer.
  • a retransmission request is received for each path by receiving a sequence number of SEQ.
  • the retransmission packet is retransmitted by a different network.
  • the order buffer release trigger information is a flag that takes a binary value of 0 or 1.
  • the order buffer release trigger information is, for example, information that takes a binary value or more indicating a release type. There may be.
  • a re-transmission request due to reception of a packet that has been transmitted on the route before being retransmitted without being discarded and received on the receiver side is appropriate. Can be processed. Therefore, even if a packet loss occurs when the input to the data transmission unit is heavy, it can be recovered more quickly and bandwidth consumption due to the retransmission can be suppressed.
  • the subject of the present invention is to suppress bandwidth consumption due to retransmission under high load on the assumption that a high-speed packet drop method is performed.
  • the specific method of the high-speed packet loss method is not limited to the method described in the above embodiment.
  • a configuration in which each order buffer and output buffer are used together is applicable.
  • the number of waiting for extraction is managed, and the packet for which the order guarantee has been confirmed is not deleted in the order buffer clear when the retransmission packet arrives. This condition may be added.
  • the number of packets for which the order guarantee has been confirmed is equal to the number of waiting for extraction. Therefore, it is only necessary to exclude the packets corresponding to the number of waiting to be taken out of the packets stored in the order buffer, counting from the oldest stored order.
  • each sequence buffer may be determined based on the bandwidth and delay time for each network.
  • FIG. 11 is a block diagram showing an outline of the present invention.
  • the communication apparatus shown in FIG. 11 includes a sequence buffer 51 (51-1 to 51-n), a loss detection unit 52, a retransmission request unit 53, and an sequence buffer release trigger information mounting unit 54 as functions on the transmission side.
  • a sequence buffer 51 51-1 to 51-n
  • a loss detection unit 52 52
  • a retransmission request unit 53 53
  • an sequence buffer release trigger information mounting unit 54 as functions on the transmission side.
  • an order buffer release opportunity identifying unit 55 is provided as a function on the receiving side.
  • Order buffers 51-1 to 51-n are installed for each network, and accumulate packets until the order is confirmed.
  • the missing detection unit 52 determines that a loss has occurred when one or more packets are accumulated in all of the order buffers 51-1 to 51-n.
  • the retransmission request unit 53 (for example, the ACK transmission unit 23) transmits a retransmission request packet for requesting retransmission of the lost packet at least when the packet loss is detected.
  • the sequence buffer release trigger information mounting unit 54 (for example, the sequence buffer release trigger information mounting unit 27) is a sequence buffer release trigger that is information for notifying the retransmission request packet transmitted by the retransmission request unit 53 of the sequence buffer release trigger. Load information.
  • order buffer release opportunity identification unit 55 (for example, the order buffer release opportunity identification unit 16) refers to the order buffer release opportunity information included in the retransmission request packet and determines whether retransmission is necessary.
  • Each sequence buffer deletes all the packets already stored in the sequence buffer and releases the sequence buffer when the sequence number rejuvenates in the received packet. Request the retransmission of a packet after the packet whose sequence is currently confirmed when the sequence buffer that stores one or more packets is released.
  • the sequence buffer release trigger information loading unit mounts an identifier for identifying the sequence buffer release trigger by rejuvenation of the sequence number of the received packet as the sequence buffer release trigger information.
  • the release opportunity identification unit includes the received packet that has received the sequence buffer release opportunity information included in the retransmission request packet. When the identification information indicates that a sequence buffer release trigger by rejuvenation preparative sequence numbers, may not retransmit.
  • each sequence buffer when the sequence buffer overflows, deletes all the packets already stored in the sequence buffer and releases the sequence buffer. If the installed order buffer release trigger information indicates that the sequence buffer release trigger is not triggered by rejuvenation of the sequence number of the received packet, retransmission may be performed.
  • the retransmission request unit may retransmit an arrival confirmation response packet to which the sequence number of the packet whose order has been confirmed is assigned as a retransmission request packet.
  • the present invention can be applied to an Ethernet (registered trademark) switch, a router, or the like that transfers a large amount of data at high speed using a plurality of networks.
  • the present invention can also be applied to a network interface card (NIC) that connects servers at high speed.
  • NIC network interface card

Abstract

A communication apparatus comprises: a plurality of order buffers that are disposed for the respective ones of nets and that accumulate packets until an order confirmation is performed; a dropout detecting unit that, if one or more packets are accumulated in each of the order buffers, determines that a dropout has occurred; a retransmission requesting unit that, if at least a packet dropout has been detected, transmits a retransmission request packet to request a retransmission of the dropping-out packet; an order buffer release moment information adding unit that adds, to the retransmission request packet transmitted by the retransmission requesting unit, order buffer release moment information that is information for reporting an order buffer release moment; and an order buffer release moment identifying unit that refers to the order buffer release moment information added to the retransmission request packet, thereby determining whether the retransmission is necessary.

Description

通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラムCommunication apparatus, communication system, packet retransmission control method, and packet retransmission control program
 本発明は、複数経路にデータを分散させたマルチパス通信を行う通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラムに関する。 The present invention relates to a communication apparatus, a communication system, a packet retransmission control method, and a packet retransmission control program that perform multipath communication in which data is distributed over a plurality of paths.
 例えば、特許文献1に記載されているような、送信端末と受信端末の間の通信で用いられる1つの通信フローのデータを複数経路に分岐させ、元のフローを復元するマルチパス通信方法がある。 For example, as described in Patent Document 1, there is a multipath communication method in which data of one communication flow used in communication between a transmission terminal and a reception terminal is branched into a plurality of paths and the original flow is restored. .
 また、特許文献2には、送信機と受信機が網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムにおいて、順序確認を行うまでパケットを蓄積する順序バッファを網ごとに設け、それら網ごとに設置した順序バッファへのパケット滞留状態を監視することにより、パケット損失を検出するパケット欠落検出方法が記載されている。なお、特許文献2に記載されているパケット欠落検出方法(以下、高速パケット欠落検出方法という。)では、順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落(パケット欠落、パケット損失、パケットロスともいう。)が発生したと判定される。その方法を用いた場合には、タイムアウトを待って再送要求を行う場合に比べて、より高速にパケット損失を検出することができる。 Further, in Patent Document 2, in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, an order buffer for storing packets until order confirmation is performed for each network. And a packet loss detection method for detecting packet loss by monitoring a packet retention state in an order buffer provided for each network. Note that in the packet loss detection method described in Patent Document 2 (hereinafter referred to as a high-speed packet loss detection method), when one or more packets are accumulated in all the order buffers, the packet loss (packet loss, packet loss) is detected. , Also referred to as packet loss). When this method is used, packet loss can be detected at a higher speed than when a retransmission request is made after waiting for a timeout.
特開2008-71156号公報JP 2008-71156 A 特開2009-55419号公報JP 2009-55419 A
 ところで、特許文献2に記載されている高速パケット欠落検出方法は、順序バッファからパケットを取り出す際に各順序バッファへのパケット滞留状態を監視することにより、パケット損失を検出する方法である。しかし、到着パケットの整序番号の若返りなどの不整合は順序バッファへ格納する前に判断できる。そのような不整合を検出した場合には即座に再送要求を行った方がより高速にパケットシーケンスを復旧させることができる。 By the way, the high-speed packet loss detection method described in Patent Document 2 is a method for detecting packet loss by monitoring a packet retention state in each sequence buffer when a packet is extracted from the sequence buffer. However, inconsistencies such as rejuvenation of the order number of the arrival packet can be determined before storing in the order buffer. When such a mismatch is detected, the packet sequence can be recovered at a higher speed by making a retransmission request immediately.
 しかし、特許文献2に記載されている高速パケット欠落検出方法では、パケット滞留状態によりパケット欠損を検出したときには、順序バッファの破棄は行われない。再送されたパケットにて整序番号の若返りが検出されたときに古いパケット(再送要求前に経路上に送信されたパケット)が破棄される。その結果、再送要求が再度生じる。そして、高負荷時にこのような再送要求が重複すると、再送による経路の帯域が消費され、システム全体のスループットが低下するという問題があった。 However, in the high-speed packet loss detection method described in Patent Document 2, when a packet loss is detected due to a packet retention state, the order buffer is not discarded. When rejuvenation of the order number is detected in the retransmitted packet, the old packet (the packet transmitted on the route before the retransmission request) is discarded. As a result, a retransmission request occurs again. When such retransmission requests are duplicated under high load, the bandwidth of the route due to retransmission is consumed, and there is a problem that the throughput of the entire system is lowered.
 そこで、本発明は、高速パケット欠落検出とパケット到着時に判定して行う再送要求とを組み合わせて行った場合において、高負荷時にもシステム全体のスループット低下を抑えることができる通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラムを提供することを目的とする。 Therefore, the present invention provides a communication apparatus, communication system, and packet that can suppress a decrease in throughput of the entire system even when the load is high, in a case where a combination of high-speed packet loss detection and a retransmission request that is determined upon arrival of a packet. An object of the present invention is to provide a retransmission control method and a packet retransmission control program.
 本発明による通信装置は、送信機と受信機とが網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムにおける通信装置であって、順序確認を行うまでのパケットを蓄積する、網ごとに複数設置された順序バッファと、順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する欠落検出部と、少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットを送信する再送要求部と、再送要求部が送信する再送要求パケットに、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報を搭載する順序バッファ解放契機情報搭載部と、再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する順序バッファ解放契機識別部とを備えることを特徴とする。 A communication apparatus according to the present invention is a communication apparatus in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, and stores packets until the order is confirmed. A plurality of sequence buffers installed for each network, a loss detection unit that determines that a loss has occurred when at least one packet is accumulated in all of the order buffers, and at least a packet loss is detected In addition, a retransmission request unit that transmits a retransmission request packet for requesting retransmission of a missing packet, and an order buffer release trigger that is information for notifying the retransmission request packet transmitted by the retransmission request unit of an order buffer release trigger Refer to the order buffer release trigger information mounting unit that loads the information and the order buffer release trigger information mounted in the retransmission request packet, and retransmission is required. Characterized in that it comprises a sequence buffer release trigger identifying section for determining Luke.
 また、本発明による通信システムは、送送信機と受信機とが、網内でのパケット順序逆転が発生しない複数の網で接続され、受信機が、順序確認を行うまでのパケットを蓄積する、網ごとに複数設置された順序バッファと、順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する欠落検出部と、少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットを送信する再送要求部と、再送要求部が送信する再送要求パケットに、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報を搭載する順序バッファ解放契機情報搭載部とを備え、送信機が、再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する順序バッファ解放契機識別部を備えることを特徴とする。 In the communication system according to the present invention, the transmitter and the receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, and the receiver accumulates packets until the order is confirmed. A plurality of sequence buffers installed for each network, a missing detection unit that determines that a loss has occurred when one or more packets are accumulated in all of the order buffers, and at least a packet loss is detected, Retransmission request unit for transmitting retransmission request packet for requesting retransmission of missing packet, and order buffer release trigger information which is information for notifying the order buffer release trigger to retransmission request packet transmitted by retransmission request unit A sequence buffer release trigger information loading unit to be mounted, and the transmitter refers to the sequence buffer release trigger information mounted in the retransmission request packet and requires retransmission. Characterized in that it comprises the sequence buffer release trigger identifying section for determining whether.
 また、本発明によるパケット再送制御方法は、送信機と受信機とが網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムに適用されるパケット再送制御方法であって、受信機が、順序確認を行うまで網ごとの順序バッファにパケットを蓄積し、順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定し、少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットであって、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報が搭載された再送要求パケットを送信し、送信機が、再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断することを特徴とする。 The packet retransmission control method according to the present invention is a packet retransmission control method applied to a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network, The receiver accumulates the packets in the order buffer for each network until the order is confirmed, and determines that a loss has occurred when one or more packets are accumulated in all of the order buffers, and at least the packet loss is detected. A retransmission request packet for requesting retransmission of a missing packet, and transmitting a retransmission request packet with order buffer release trigger information, which is information for notifying an order buffer release trigger, It is characterized in that the transmitter refers to the order buffer release trigger information mounted in the retransmission request packet and determines whether or not retransmission is necessary.
 また、本発明によるパケット再送制御プログラムは、送信機と受信機とが網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムにおける通信装置に搭載されているコンピュータに、順序確認を行うまで網ごとの順序バッファにパケットを蓄積する処理、順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する処理、少なくとも欠落検出部によってパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットであって、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報が搭載された再送要求パケットを送信する処理、および再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する処理を実行させることを特徴とする。 In addition, the packet retransmission control program according to the present invention provides an order to a computer installed in a communication apparatus in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network. Processing for accumulating packets in the sequence buffer for each network until confirmation, processing for determining that a loss has occurred when one or more packets are accumulated in all the order buffers, and packet loss by at least the loss detection unit When it is detected, a retransmission request packet for requesting retransmission of the missing packet is transmitted, and the retransmission request packet loaded with the order buffer release trigger information, which is information for notifying the order buffer release trigger, is transmitted. Whether resending is required by referring to the processing and release information of the sequence buffer mounted in the resending request packet Characterized in that for executing processing decision to.
 本発明によれば、高速パケット欠落検出とパケット到着時に判定して行う再送要求とを組み合わせて行う場合において、高負荷時にもシステム全体のスループットの低下を抑制できる。 According to the present invention, when a high-speed packet loss detection is performed in combination with a retransmission request that is determined upon arrival of a packet, it is possible to suppress a decrease in the throughput of the entire system even at a high load.
実施形態の通信装置の全体構成例を示すブロック図である。It is a block diagram which shows the example of whole structure of the communication apparatus of embodiment. 順序バッファ制御の動作の一例を示すフローチャートである。Is a flow chart illustrating an example of the operation of the sequence buffer control. ACK送信制御の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement of ACK transmission control. ACK受信時の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement at the time of ACK reception. 実施形態の通信装置間でやり取りされるパケットの例を示すシーケンス図である。It is a sequence diagram which shows the example of the packet exchanged between the communication apparatuses of embodiment. パケット欠落時の受信機2の動作例を示すブロック図である。It is a block diagram which shows the operation example of the receiver 2 at the time of a packet loss. パケット欠落時の受信機2の動作例を示すブロック図である。It is a block diagram which shows the operation example of the receiver 2 at the time of a packet loss. パケット欠落時の受信機2の動作例を示すブロック図である。It is a block diagram which shows the operation example of the receiver 2 at the time of a packet loss. パケット欠落時の受信機2の動作例を示すブロック図である。It is a block diagram which shows the operation example of the receiver 2 at the time of a packet loss. パケット欠落時の受信機2の動作例を示すブロック図である。It is a block diagram which shows the operation example of the receiver 2 at the time of a packet loss. 本発明の概要を示すブロック図である。It is a block diagram which shows the outline | summary of this invention.
 以下、本発明の実施形態について図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 以下の説明においては、1対の送信機と受信機との間の通信を、1フローと定義する。また、あるフローが流れる経路をパスと定義する。例えば、1フローを4つの網(ネットワーク)に分散させて通信する場合は、4パスを用いて通信するといい、2つのフローを4つの網(ネットワーク)に分散させて通信する場合は、8つのパスを用いて通信するという。ただし、以下の説明では、1つのフローに着目して説明を行うため、結果的に網とパスが同義になっている。 In the following description, communication between a pair of transmitter and receiver is defined as one flow. Also, define the path that flows through the path with. For example, when communicating by distributing one flow to four networks (networks), it is preferable to communicate using four paths. When communicating by distributing two flows to four networks (networks), eight flows are used. Communicate using a path. However, in the following description, the description is given focusing on one flow, and as a result, the network and the path are synonymous.
 図1は、本発明の実施形態の通信装置の構成例を示すブロック図である。図1に示す例では、送信機1は、データ送信部11と、SEQ付与部12と、再送バッファ13と、振り分け部14と、再送タイマ15と、順序バッファ解放契機識別部16とを備える。また、受信機2は、順序バッファ211~214と、欠落検出部20と、取出制御部22と、ACK送信部23と、出力バッファ24と、SEQ削除部25と、データ受信部26と、順序バッファ解放契機情報搭載部27とを備える。 FIG. 1 is a block diagram showing a configuration example of a communication apparatus according to an embodiment of the present invention. In the example illustrated in FIG. 1, the transmitter 1 includes a data transmission unit 11, a SEQ addition unit 12, a retransmission buffer 13, a distribution unit 14, a retransmission timer 15, and an order buffer release trigger identification unit 16. The receiver 2 also includes an order buffer 211 to 214, a loss detection unit 20, an extraction control unit 22, an ACK transmission unit 23, an output buffer 24, a SEQ deletion unit 25, a data reception unit 26, and a buffer release trigger information mounting portion 27.
 なお、図1には、送信機1と受信機2という異なる構成の2つの通信装置が例として示されているが、送信機能と受信機能とを両方充足する通信装置を送信側と受信側にそれぞれ備えるようにしてもよい。例えば、図1に示される例では、送信機1と受信機2の代わりに、送信機1の構成要素と受信機2の構成要素の両方を備えた通信装置を2台備える構成とすることも可能である。 In FIG. 1, two communication apparatuses having different configurations, ie, a transmitter 1 and a receiver 2, are shown as examples. However, a communication apparatus that satisfies both the transmission function and the reception function is provided on the transmission side and the reception side. Each may be provided. For example, in the example shown in FIG. 1, instead of the transmitter 1 and the receiver 2, two communication devices including both the components of the transmitter 1 and the components of the receiver 2 may be used. Is possible.
 なお、図1には、1つのフローを4つの網に分散させて通信する例が示されている。このため、受信機2が4つの順序バッファ(順序バッファ211~214)を備える。しかし、順序バッファは当該受信機2が受信に用いる網の数に応じて備えられていればよい。例えば、通信に3つの網を利用する場合には3つの順序バッファが備えられていればよい。 FIG. 1 shows an example in which one flow is distributed over four networks for communication. For this reason, the receiver 2 includes four order buffers (order buffers 211 to 214). However, the order buffer may be provided according to the number of networks that the receiver 2 uses for reception. For example, when three networks are used for communication, it is sufficient that three order buffers are provided.
 まず、送信機1の構成について説明する。データ送信部11は、受信機2に対して送信するデータを生成し、SEQ付与部12に渡す。一般的にはサーバアプリケーションなどがデータ送信部に相当する。 First, the configuration of the transmitter 1 will be described. The data transmitter 11 generates data to be transmitted to the receiver 2 and passes it to the SEQ adder 12. In general, a server application or the like corresponds to a data transmission unit.
 SEQ付与部12は、データ送信部12から受信機2に対して送信するデータを受け取り、受け取ったデータを網31~網34で転送可能な大きさに分割し、分割した個々のデータ(以下パケットと呼ぶ)に対して転送に必要なヘッダや整序番号(シーケンスナンバーともいう、以下SEQと表記する)を設定し、再送バッファ13に渡す。 The SEQ adding unit 12 receives data to be transmitted from the data transmitting unit 12 to the receiver 2, divides the received data into sizes that can be transferred by the networks 31 to 34, and divides the individual data (hereinafter referred to as packets). A header and an order number (also referred to as a sequence number, hereinafter referred to as “SEQ”) necessary for transfer are set to the retransmission buffer 13.
 再送バッファ13は、FIFOバッファであり、以下の動作を行う。 The retransmission buffer 13 is a FIFO buffer and performs the following operations.
 (1)SEQ付与部12からSEQつきのパケットを受け取り格納する。 (1) Receive and store a packet with SEQ from the SEQ assigning unit 12.
 (2)あらかじめ決められた速度や個数に従い、受け取ったSEQつきのパケットの複製を振り分け部14に送る。このとき、再送タイマ15をセットする。 (2) Send a copy of the received packet with SEQ to the distribution unit 14 according to a predetermined speed and number. At this time, the retransmission timer 15 is set.
 (3)ACK送信部23より送達確認(ACK)を受け取り、ACKに記載された受信済SEQ以下の値のSEQが付与された格納パケットを消去する。このとき、再送タイマ15を再セットする。 (3) A delivery confirmation (ACK) is received from the ACK transmission unit 23, and the stored packet to which a SEQ value equal to or less than the received SEQ described in the ACK is deleted is deleted. In this case, re-set the retransmission timer 15.
 (4)(3)において、もしACKに記載されたSEQが、前回受信したACKに記載されたSEQと同一である場合は、再送要求(重複ACK)であるとみなす。そして、ACKに記載されたSEQ以降のパケットについて、(2)と同様あらかじめ決められた速度や個数に従い、当該パケットの複製を振り分け部14に再送信する。 (4) In (3), if the SEQ described in the ACK is the same as the SEQ described in the previously received ACK, it is regarded as a retransmission request (duplicate ACK). Then, for the packets after SEQ described in ACK, a copy of the packet is retransmitted to the distribution unit 14 according to a predetermined speed and number as in (2).
 (5)再送タイマ15の満了時に、前回受信したACKに記載されたSEQ以降のパケットについて、(2)と同様あらかじめ決められた速度や個数に従い、当該パケットの複製を振り分け部14に再送信する。 (5) When the retransmission timer 15 expires, for the packets after the SEQ described in the previously received ACK, a duplicate of the packet is retransmitted to the distribution unit 14 according to a predetermined speed and number as in (2). .
 振り分け部14は、再送バッファ13から到着したパケットを、ラウンドロビン方法等により網31~34に順次振り分ける。 The distribution unit 14 sequentially distributes packets arriving from the retransmission buffer 13 to the networks 31 to 34 by a round robin method or the like.
 再送タイマ15は、再送バッファ13からセット要求を受信すると、あらかじめ設定された時間が経過した際に、再送バッファ13に対してタイマ満了通知を行う。 When the retransmission request is received from the retransmission buffer 13, the retransmission timer 15 notifies the retransmission buffer 13 of expiration of the timer when a preset time has elapsed.
 順序バッファ解放契機識別部16は、対向の受信機2からのACK等に搭載された順序バッファ解放契機通知用フィールドの情報を参照し識別する。ここで、順序バッファ解放契機通知用フィールドは、当該フィールドを付与したメッセージの送信要因となった、受信機2が順序バッファを解放する契機を示す情報を登録するための情報である。本実施形態では、SEQ若返りによる順序バッファ解放か否かを示す情報とする。 The order buffer release trigger identification unit 16 refers to the information in the order buffer release trigger notification field mounted on the ACK or the like from the opposite receiver 2 for identification. Here, the order buffer release timing notification field is information for registering information indicating the timing at which the receiver 2 releases the order buffer, which is a transmission factor of the message to which the field is assigned. In the present embodiment, the information indicates whether or not the sequence buffer is released by SEQ rejuvenation.
 順序バッファ解放契機識別部16は、順序バッファ解放契機通知用フィールドの情報が、高速パケット欠損検出後の再送パケット受信にもとづくSEQ若返りによる順序バッファ解放による再送要求通知となっている場合には、再送バッファ13に再送要求を行わない。再送要求が行われないので、再送は行われない。それ以外の再送要求である場合には再送バッファ13に再送を要求する。 The sequence buffer release trigger identification unit 16 retransmits when the information in the sequence buffer release trigger notification field is a retransmission request notification by sequence buffer release by SEQ rejuvenation based on retransmission packet reception after high-speed packet loss detection. No retransmission request is made to the buffer 13. Since no retransmission request is made, no retransmission is performed. If the retransmission request is other than that, the retransmission request is made to the retransmission buffer 13.
 続いて、受信機2の構成について説明する。順序バッファ211~214は、それぞれFIFOバッファである。順序バッファ211~214は、対応づけられた網(網31~34のいずれか)からパケットを受信して一旦格納し、取出制御部22に格納完了通知を行う。また、取出制御部22からの指示に従い、格納したパケットを出力バッファ24に転送する。 Next, the configuration of the receiver 2. Each of the order buffers 211 to 214 is a FIFO buffer. The order buffers 211 to 214 receive a packet from the associated network (any of the networks 31 to 34), temporarily store the packet, and notify the extraction control unit 22 of the storage completion. Further, the stored packet is transferred to the output buffer 24 in accordance with an instruction from the extraction control unit 22.
 また、順序バッファ211~214は、対応づけられた網より到着したパケットのSEQと、前回にその網より到着したパケットのSEQとを比較する。順序バッファ211~214は、今回到着したパケットのSEQが、前回到着したパケットのSEQより小さい値または同じ値である場合は、再送が発生したとみなす。順序バッファ211~214は、再送が発生したとみなした場合、格納済パケットをすべて廃棄(削除)し、順序バッファを解放する。そして、順序バッファ211~214は、欠落検出部20に順序バッファ解放契機としてその旨(SEQ若返りによるバッファ解放通知)を通知する。なお、順序バッファに1つもパケットが格納されていない場合にはバッファを解放したとはみなさないため、通知は行われない。 Also, the order buffers 211 to 214 compare the SEQ of the packet that has arrived from the associated network with the SEQ of the packet that has arrived from the network last time. The order buffers 211 to 214 consider that retransmission has occurred when the SEQ of the packet that has arrived this time is smaller than or equal to the SEQ of the packet that has arrived last time. When the order buffers 211 to 214 consider that retransmission has occurred, all the stored packets are discarded (deleted), and the order buffer is released. Then, the order buffers 211 to 214 notify the loss detection unit 20 to that effect as an order buffer release trigger (buffer release notification by SEQ rejuvenation). If no packet is stored in the order buffer, it is not considered that the buffer has been released, and no notification is made.
 なお、順序バッファ211~214は、順序バッファをクリアした後に、再送により受信したパケットを順次バッファに格納すればよい。このような場合、欠落検出部20にバッファ解放通知を通知した後、取出制御部22に格納完了通知を行うことになる。なお、順序バッファあふれが発生した場合も同様でよい。この場合、欠落検出部20にはバッファあふれによるバッファ解放通知を行う。 Note that the order buffers 211 to 214 may sequentially store the packets received by retransmission after clearing the order buffer. In such a case, after notifying the drop detection unit 20 of the buffer release notification, the storage control unit 22 is notified of the storage completion. The same applies when an order buffer overflow occurs. In this case, the loss detection unit 20 is notified of buffer release due to buffer overflow.
 欠落検出部20は、取出制御部22からパケット取出完了の通知を受けると、パケットロスの有無を確認する。もしパケットロスを発見した場合は、ACK送信部23に対して再送要求を行う。また、パケットロス検出に伴い順序バッファの解放があった場合に順序バッファ解放契機情報搭載部27に順序バッファ解放契機を通知する。 Upon receipt of a packet extraction completion notification from the extraction control unit 22, the missing detection unit 20 confirms whether there is a packet loss. If a packet loss is found, a retransmission request is made to the ACK transmission unit 23. In addition, when the order buffer is released due to the packet loss detection, the order buffer release opportunity information loading unit 27 is notified of the order buffer release opportunity.
 取出制御部22は、順序バッファ211~214からの格納完了通知を受け、順序確認動作221を起動する。取出制御部22は、SEQの順番に従い、出力バッファ24へパケットを転送する。このとき、ACK送信部23に対して、出力バッファ24に転送したパケットのSEQを通知する。 The fetch control unit 22 receives the storage completion notification from the order buffers 211 to 214 and activates the order confirmation operation 221. The take-out control unit 22 transfers the packet to the output buffer 24 according to the sequence of SEQ. At this time, the ACK transmission unit 23 is notified of the SEQ of the packet transferred to the output buffer 24.
 ACK送信部23および順序バッファ解放契機情報搭載部27は、以下の動作を行う。なお、本実施形態では、一例として、出力バッファ24へ1パケット転送が完了する毎に1パケットのACKが送信される1ACK方式が採用される。しかし、N(Nは1以上)個のパケット到着報告を1つのACKでまとめて行うN_ACK方式が用いられてもよい。 The ACK transmission unit 23 and the order buffer release opportunity information mounting unit 27 perform the following operations. In the present embodiment, as an example, a 1ACK scheme is employed in which an ACK of one packet is transmitted every time one packet transfer to the output buffer 24 is completed. However, an N_ACK scheme may be used in which N (N is 1 or more) packet arrival reports are collected together with one ACK.
 (1)ACK送信部23は、取り出し制御部22から出力バッファ24に転送したパケットのSEQ通知を受けると、SEQを含むACKを生成する。順序バッファ解放契機情報搭載部27は、ACKを送信機1に通知する。このときACKは、網31~34のいずれかを用いて通知される。また、ACK送信部23は、通知されたSEQを記憶する。 (1) When receiving the SEQ notification of the packet transferred from the take-out control unit 22 to the output buffer 24, the ACK transmission unit 23 generates an ACK including the SEQ. The order buffer release opportunity information mounting unit 27 notifies the transmitter 1 of ACK. At this time, the ACK is notified using any of the networks 31 to 34. In addition, the ACK transmission unit 23 stores the notified SEQ.
 (2)ACK送信部23は、欠落検出部20から再送要求を受けると、(1)で記憶したSEQを含むACKを再度生成する。順序バッファ解放契機情報搭載部27は、ACKに順序バッファ解放契機情報を搭載し送信機1に通知する。ACKは、網31~34のいずれかを用いて通知される。(2)におけるACKは、送信機1において重複ACK(再送要求)として扱われる。 (2) Upon receiving a retransmission request from the loss detection unit 20, the ACK transmission unit 23 again generates an ACK including the SEQ stored in (1). The order buffer release trigger information mounting unit 27 mounts the order buffer release trigger information in the ACK and notifies the transmitter 1 of it. The ACK is notified using any of the networks 31 to 34. The ACK in (2) is handled as a duplicate ACK (retransmission request) in the transmitter 1.
 出力バッファ24は、FIFOバッファである。出力バッファ24は、順序バッファ211~214から受け取ったパケットを格納する。そして、出力バッファ24は、SEQ削除部25から要求があった際に、格納された順にパケットをSEQ削除部25に出力する。 The output buffer 24 is a FIFO buffer. The output buffer 24 stores the packets received from the order buffers 211 to 214. The output buffer 24 outputs the packets to the SEQ deletion unit 25 in the order in which they are stored when a request is received from the SEQ deletion unit 25.
 SEQ削除部25は、出力バッファ24よりパケットを受け取る。SEQ削除部25は、パケットからSEQやヘッダを削除して、SEQ削除後のデータをデータ受信部26に転送する。 The SEQ deleting unit 25 receives a packet from the output buffer 24. The SEQ deleting unit 25 deletes the SEQ and the header from the packet, and transfers the data after the SEQ deletion to the data receiving unit 26.
 データ受信部26は、SEQ削除部26よりデータを受信する。データ受信部26は、一般的にはクライアントアプリケーションとも呼ばれる。 The data receiving unit 26 receives data from the SEQ deleting unit 26. The data receiving unit 26 is generally called a client application.
 網31~34は、それぞれ送信機1と受信機2の間を結ぶネットワークである。網31~34は、例えばイーサネットなど、網内でのパケットの順序逆転が発生しない網であるとする。なお、図1において各網は1本の線で表現されているが、実際には網内でのパケット順序逆転が発生しない限り、リンクの他に、スイッチ等が存在してもよい。また、各網は、それぞれ物理的に遮断されてか、またはVLAN等で論理的に遮断されている。すなわち、各網は、互いに交わることがないとする。 The networks 31 to 34 are networks that connect between the transmitter 1 and the receiver 2, respectively. Assume that the networks 31 to 34 are networks such as Ethernet that do not reverse the order of packets in the network. In FIG. 1, each network is represented by a single line. However, in practice, a switch or the like may exist in addition to the link as long as packet order inversion does not occur in the network. Each network is either physically blocked or logically blocked by a VLAN or the like. That is, it is assumed that the networks do not intersect each other.
 本実施形態において、データ送信部11、SEQ付与部12は、CPU等のプログラムに従って動作するプロセッサ・ユニットによって実現される。また、振り分け部14、順序バッファ解放契機識別部16は、各網との通信機能を実現するハードウェアおよびCPU等のプログラムに従って動作するプロセッサ・ユニットによって実現される。また、再送タイマ15は、計時機能を実現するハードウェアやCPU等のプログラムに従って動作するプロセッサ・ユニットによって実現される。また、再送バッファ13は、記憶装置およびそれを制御する制御部(CPU等のプログラムに従って動作するプロセッサ・ユニットであってもよい)によって実現される。 In this embodiment, the data transmission unit 11 and the SEQ addition unit 12 are realized by a processor unit that operates according to a program such as a CPU. The distribution unit 14 and the order buffer release opportunity identification unit 16 are realized by a processor unit that operates according to a program such as a hardware and a CPU that realizes a communication function with each network. The retransmission timer 15 is realized by a processor unit that operates in accordance with a program such as hardware or a CPU that implements a time measuring function. The retransmission buffer 13 is realized by a storage device and a control unit that controls the storage device (may be a processor unit that operates according to a program such as a CPU).
 また、データ受信部26、SEQ削除部25、取り出し制御部22、欠落検出部20は、CPU等のプログラムに従って動作するプロセッサ・ユニットによって実現される。また、ACK送信部23、順序バッファ解放契機情報搭載部27は、各網との通信機能を実現するハードウェアおよぼCPU等のプログラムに従って動作するプロセッサ・ユニットによって実現される。また、順序バッファ211~214は、各網との通信機能を実現するハードウェア、記憶装置およびそれを制御する制御部(CPU等のプログラムに従って動作するプロセッサ・ユニットであってもよい)によって実現される。また、出力バッファ24は、記憶装置によって実現される。 Further, the data receiving unit 26, the SEQ deleting unit 25, the take-out control unit 22, and the missing detection unit 20 are realized by a processor unit that operates according to a program such as a CPU. The ACK transmission unit 23 and the order buffer release opportunity information mounting unit 27 are realized by a processor unit that operates according to a program such as hardware and a CPU that realizes a communication function with each network. The order buffers 211 to 214 are realized by hardware that realizes a communication function with each network, a storage device, and a control unit that controls the hardware (may be a processor unit that operates according to a program such as a CPU). The Further, the output buffer 24 is implemented by a storage device.
 次に、本実施形態の動作を説明する。図2は、受信機2の取出制御部22が行う順序確認動作221の例を示すフローチャートである。 Next, the operation of this embodiment will be described. FIG. 2 is a flowchart illustrating an example of the order confirmation operation 221 performed by the take-out control unit 22 of the receiver 2.
 図2に示す例では、取出制御部22は、順序バッファ211~214のいずれかに1つのパケットが格納された後、格納完了通知が行われたときに順序確認動作221を起動する(ステップ22101)。 In the example shown in FIG. 2, the take-out control unit 22 activates the order confirmation operation 221 when a storage completion notification is made after one packet is stored in any of the order buffers 211 to 214 (step 22101). ).
 取出制御部22は、順序確認動作221で、まず、順序バッファ211の先頭(出力バッファ24側)に格納されているパケットのSEQを確認する(ステップ22102)。 In the order confirmation operation 221, the extraction control unit 22 first confirms the SEQ of the packet stored at the head (on the output buffer 24 side) of the order buffer 211 (step 22102).
 取出制御部22は、ステップ22102において確認した順序バッファ211の先頭パケットのSEQ(先頭SEQ)と、順序制御部22が次に出力バッファ24に送信しようとしているSEQ(受信期待SEQ、以下期待SEQと記す)とを比較する(ステップ22103)。 The fetch control unit 22 confirms the SEQ (head SEQ) of the first packet of the order buffer 211 confirmed in step 22102, and the SEQ (reception expected SEQ, which is to be transmitted to the output buffer 24 next by the order control unit 22). referred) and comparing (step 22103).
 比較した結果、先頭SEQと期待SEQが一致した場合には、取出制御部22は、順序バッファ211よりパケットを取り出して、出力バッファ24に送る(ステップ22104)。 As a result of the comparison, if the leading SEQ and the expected SEQ match, the takeout control unit 22 takes out the packet from the order buffer 211 and sends it to the output buffer 24 (step 22104).
 次いで、取出制御部22は、ACK送信部23に対して、送達確認パケット(ACK)の送信を要求する。このACKには期待SEQのSEQが格納されている。従って、期待SEQまでの受信と整序が完了したことが送信機1に通知される(ステップ22105)。 Next, the take-out control unit 22 requests the ACK transmission unit 23 to transmit an acknowledgment packet (ACK). This ACK stores the SEQ of the expected SEQ. Accordingly, the transmitter 1 is notified that the reception and ordering up to the expected SEQ have been completed (step 22105).
 そして、取出制御部22は、期待SEQをインクリメントする。つまり、期待SEQ=期待SEQ+1とする(ステップ22106)。 Then, the take-out control unit 22 increments the expected SEQ. That is, expected SEQ = expected SEQ + 1 (step 22106).
 取出制御部22は、ステップ22107~22111で、順序バッファ212に関して、ステップ22102~22106と同様の動作を行う。 The take-out control unit 22 performs the same operation as the steps 22102 to 22106 with respect to the order buffer 212 in steps 22107 to 22111.
 取出制御部22は、ステップ22112~22116で、順序バッファ213に関して、ステップ22102~22106と同様の動作を行う。 The extraction control unit 22 performs the same operation as the steps 22102 to 22106 with respect to the order buffer 213 in steps 22112 to 22116.
 取出制御部22は、ステップ22117~22121で、順序バッファ214に関して、ステップ22102~22106と同様の動作を行う。 In step 22117 to 22121, the extraction control unit 22 performs the same operation as that of steps 22102 to 22106 with respect to the order buffer 214.
 このように、取出制御部22は、各順序バッファに関してSEQの確認動作において、順序バッファから取り出して出力バッファへ送付したパケットの数をカウントする。パケットの数が1以上である場合には、取出制御部22は、再度ステップ22102以降の処理を実行する。 As described above, the fetch control unit 22 counts the number of packets taken out from the order buffer and sent to the output buffer in the SEQ confirmation operation for each order buffer. If the number of packets is 1 or more, the takeout control unit 22 executes the processing after step 22102 again.
 一方、順序バッファから取り出して出力バッファへ送付したパケットの数が0である場合、つまり出力バッファ23に転送可能な(つまり整序可能な)パケットが、順序バッファ211~214のいずれにも存在しない場合、取出制御部22は、ステップ22123の処理を実行する(ステップ22122)。 On the other hand, when the number of packets taken out from the order buffer and sent to the output buffer is zero, that is, there are no packets that can be transferred to the output buffer 23 (that is, that can be ordered) in any of the order buffers 211 to 214. In this case, the take-out control unit 22 executes the process of step 22123 (step 22122).
 ステップ22312では、取出制御部22は、欠落検出部20にパケット取出完了を通知し、欠落検出動作を起動する。 In Step 22312, the extraction control unit 22 notifies the loss detection unit 20 of the completion of packet extraction and activates the loss detection operation.
 次に、図3を参照して、欠落検出部20の動作を説明する。図3は、欠落検出部20の動作例を示すフローチャートである。欠落検出部20は、例えば順序確認動作221からパケット取り出し完了通知を受けると、欠落検出動作を起動する(ステップ2000)。なお、欠落検出部20は、順序確認動作221からのパケット取り出し完了通知を受けたとき以外のときに欠落検出動作を開始することがある。例えば、順序バッファ211~214からバッファ解放通知を受けると、欠落検出動作を開始する。 Next, the operation of the missing detection unit 20 will be described with reference to FIG. FIG. 3 is a flowchart illustrating an operation example of the missing detection unit 20. For example, upon receiving a packet extraction completion notification from the order confirmation operation 221, the loss detection unit 20 activates the loss detection operation (step 2000). Note that the missing detection unit 20 may start the missing detection operation at a time other than when the packet extraction completion notification is received from the order confirmation operation 221. For example, when a buffer release notification is received from the order buffers 211 to 214, a missing detection operation is started.
 欠落検出部20は、欠落検出動作では、まず、順序バッファがクリアされたかを確認する(ステップ2001)。 In the missing detection operation, the missing detection unit 20 first checks whether the order buffer has been cleared (step 2001).
 順序バッファがクリアされていない場合は、欠落検出部20は、順序バッファ211に格納されているパケットの個数を確認する(ステップ2002)。 If the order buffer has not been cleared, the missing detection unit 20 checks the number of packets stored in the order buffer 211 (step 2002).
 順序バッファ211に格納されているパケットの数が0である場合は、欠落検出部20は、動作を終了する。格納パケット数が1以上である場合は、ステップ2004に移る(ステップ2003)。 If the number of packets stored in the order buffer 211 is 0, the missing detection unit 20 ends the operation. When the number of stored packets is 1 or more, the process proceeds to step 2004 (step 2003).
 欠落検出部20は、ステップ2004およびステップ2005で、順序バッファ212に関して、ステップ2002およびステップ2003と同様の動作を行う。 In step 2004 and step 2005, the missing detection unit 20 performs the same operation as step 2002 and step 2003 with respect to the order buffer 212.
 欠落検出部20は、ステップ2006およびステップ2007で、順序バッファ213に関して、ステップ2002およびステップ2003と同様の動作を行う。 In step 2006 and step 2007, the missing detection unit 20 performs the same operation as step 2002 and step 2003 with respect to the order buffer 213.
 欠落検出部20は、ステップ2008およびステップ2009で、順序バッファ214に関して、ステップ2002およびステップ2003と同様の動作を行う。 In step 2008 and step 2009, the missing detection unit 20 performs the same operation as step 2002 and step 2003 with respect to the order buffer 214.
 以上のように、欠落検出部20は、各順序バッファに格納されているパケットの個数を確認する。順序バッファ211~214の全てにおいて、1つ以上のパケットの格納が確認された場合、欠落検出部20は、ACK送信部23に対して送信要求を行う。なお、送信要求を受けたACK送信部23は、前回送信したACKと同じSEQが含まれるACK(重複ACK)を生成し、送信機1に対して再送要求を行う(ステップ2012)。 As described above, the loss detection unit 20 checks the number of packets stored in each order buffer. When the storage of one or more packets is confirmed in all of the order buffers 211 to 214, the loss detection unit 20 makes a transmission request to the ACK transmission unit 23. The ACK transmission unit 23 that has received the transmission request generates an ACK (duplicate ACK) including the same SEQ as the previously transmitted ACK, and makes a retransmission request to the transmitter 1 (step 2012).
 また、ステップ2001において順序バッファがクリアされた場合、欠落検出部20は、SEQの若返りがあったかを確認する(ステップ2010)。 If the order buffer is cleared in step 2001, the missing detection unit 20 confirms whether or not the SEQ has been rejuvenated (step 2010).
 SEQの若返りがない場合、欠落検出部20は、ACK送信部に対してACK送信要求を行う。 When there is no SEQ rejuvenation, the missing detection unit 20 makes an ACK transmission request to the ACK transmission unit.
 SEQの若返りがあった場合、欠落検出部20は、順序バッファ解放契機フラグを設定し(ステップ2011)、ACK送信部23に対し送信要求を行う。このときACK送信部23は、前回送信したACKと同じSEQが含まれるACK(重複ACK)を生成し、送信機1に対して再送要求を行うことになるが、送信機1には、順序バッファ解放契機フラグが設定されたACKが送信される。 If there is a rejuvenation of SEQ, the missing detection unit 20 sets an order buffer release trigger flag (step 2011), and makes a transmission request to the ACK transmission unit 23. At this time, the ACK transmission unit 23 generates an ACK (duplicate ACK) including the same SEQ as the ACK transmitted last time and makes a retransmission request to the transmitter 1. An ACK with a release trigger flag set is transmitted.
 図4は、順序バッファ解放契機情報識別部16の動作例を示すフローチャートである。図4に示す例では、順序バッファ解放契機情報識別部16は、受信機2からACKが送信され、送信機1に到着すると(ステップ3000)、受信されたACKが重複ACK(すなわち、再送要求)であるか否か確認する(ステップ3001)。 FIG. 4 is a flowchart showing an operation example of the order buffer release opportunity information identification unit 16. In the example illustrated in FIG. 4, when the ACK is transmitted from the receiver 2 and arrives at the transmitter 1 (step 3000), the order buffer release opportunity information identification unit 16 receives a duplicate ACK (that is, a retransmission request). (Step 3001).
 重複ACKでない場合、順序バッファ解放契機情報識別部16は、受信されたACKを通常のACKとして処理し、再送バッファの解放等を行う(ステップ3002)。 If it is not a duplicate ACK, the order buffer release opportunity information identification unit 16 processes the received ACK as a normal ACK, and releases the retransmission buffer (step 3002).
 一方、重複ACKである場合、順序バッファ解放契機情報識別部16は、受信されたACKにおける順序バッファ解放契機通知用フィールドの順序バッファ解放契機フラグを確認する(ステップ3003)。 On the other hand, if it is a duplicate ACK, the order buffer release opportunity information identifying unit 16 checks the order buffer release opportunity flag in the order buffer release opportunity notification field in the received ACK (step 3003).
 順序バッファ解放契機フラグがSEQ若返りによる順序バッファ解放を示している場合、順序バッファ解放契機情報識別部16は、受信されたACKは再送要求ではあるものの再送処理対象とせずに処理を終了する。 When the sequence buffer release trigger flag indicates that the sequence buffer is released due to SEQ rejuvenation, the sequence buffer release trigger information identification unit 16 terminates the processing without receiving the ACK as a retransmission request, although it is a retransmission request.
 一方、順序バッファ解放契機フラグがSEQ若返りによる順序バッファ解放を示していない場合には、順序バッファ解放契機情報識別部16は、受信されたACKを再送処理対象として、再送バッファに再送指示をだす(ステップ3004)。 On the other hand, when the order buffer release trigger flag does not indicate release of the order buffer due to SEQ rejuvenation, the order buffer release trigger information identification unit 16 issues a retransmission instruction to the retransmission buffer with the received ACK as a retransmission process target ( Step 3004).
 以下、図5のシーケンス図を参照して、本実施形態の動作例を説明する。なお、図5には、説明を簡単にするため、1つのフローを2つの網(網31,32)に分散させて通信する場合の例が示されている。従って、受信機2は2つの順序バッファ(順序バッファ211~212)を備えているものとする。なお、図5では、網31を用いて送信されたパケットが実線の矢印で示され、網32を用いて送信されたパケットが破線の矢印で示されている。 Hereinafter, an operation example of this embodiment will be described with reference to the sequence diagram of FIG. Note that FIG. 5 shows an example in which one flow is distributed over two networks (networks 31 and 32) for communication for the sake of simplicity. Therefore, it is assumed that the receiver 2 includes two order buffers (order buffers 211 to 212). In FIG. 5, a packet transmitted using the network 31 is indicated by a solid line arrow, and a packet transmitted using the network 32 is indicated by a broken line arrow.
 まず、送信機1において、データ送信部11が、データ受信部26に対するデータを生成し、SEQ付与部12に送付する。 First, in the transmitter 1, the data transmission unit 11 generates data for the data reception unit 26 and sends the data to the SEQ addition unit 12.
 SEQ付与部12は、データ送信部12からのデータを、網31~32で転送可能な大きさに分割し、各データにヘッダを取り付けてパケットを生成する。さらに受信機2がデータを復元できるよう、パケットに対して整序のためにシーケンスナンバー(SEQ)を割り振り、パケットを再送バッファ13に転送する。 The SEQ adding unit 12 divides the data from the data transmission unit 12 into sizes that can be transferred by the networks 31 to 32, and attaches a header to each data to generate a packet. Further, a sequence number (SEQ) is assigned to the packet for ordering so that the receiver 2 can restore the data, and the packet is transferred to the retransmission buffer 13.
 再送バッファ13は、SEQ付与部12よりパケットを受け取り一旦格納する。そして、あらかじめ設定された送信レートやウインドウサイズ等に従って、格納したパケットの複製を振り分け部14に送出する。 The retransmission buffer 13 receives the packet from the SEQ adding unit 12 and temporarily stores it. Then, a copy of the stored packet is sent to the distribution unit 14 in accordance with a preset transmission rate, window size, and the like.
 振り分け部14は、再送バッファ13から受け取ったパケットを、ラウンドロビン方法等により網31~32の各網に分散させて送出する。例えば、SEQ0のパケットは網31、SEQ1のパケットは網32、SEQ2のパケットは網31、SEQ3のパケットは網32というように、一連のSEQが付与されたパケットを網31~32に振り分ける。 The distribution unit 14 distributes and transmits the packet received from the retransmission buffer 13 to each of the networks 31 to 32 by a round robin method or the like. For example, packets with a sequence of SEQ are distributed to the networks 31 to 32, such as the network 31 for the SEQ0 packet, the network 32 for the SEQ1 packet, the network 31 for the SEQ2 packet, and the network 32 for the SEQ3 packet.
 網31~32は送信機1から送出されたパケットを受信機2に送る。 The networks 31 to 32 send the packets sent from the transmitter 1 to the receiver 2.
 受信機2では、各順序バッファ211,212が、それぞれ対応づけられた網から到着したパケットを格納し、取出制御部22に格納完了を通知する。 In the receiver 2, each of the order buffers 211 and 212 stores a packet that has arrived from the associated network, and notifies the extraction control unit 22 of the completion of storage.
 取出制御部22は、順序バッファからの格納完了通知を受け、順序確認動作221を起動する。 The fetch control unit 22 receives the storage completion notification from the order buffer and activates the order confirmation operation 221.
 順序格納動作221は、各順序バッファの先頭に格納されているパケットのSEQを調べる。当該SEQが次に出力バッファ24に送るべきSEQ(期待SEQ)と一致した場合は、順序格納動作221は、このパケットを取り出して出力バッファ24に送り、ACK送信部23に対してACKの送信を要求する。例えば以前にSEQ=5まで出力バッファ24に転送完了していた場合、各順序バッファのいずれかの先頭に、SEQ=6のパケットが格納されていた場合は、順序格納動作221は、これを取り出して出力バッファに転送し、SEQ=6のACK送信を要求する。 The order storage operation 221 checks the SEQ of the packet stored at the head of each order buffer. If the SEQ matches the next SEQ to be sent to the output buffer 24 (expected SEQ), the order storage operation 221 extracts this packet, sends it to the output buffer 24, and sends an ACK to the ACK transmitter 23. Request. For example, when transfer to the output buffer 24 has been completed up to SEQ = 5 before, if a packet with SEQ = 6 is stored at the head of any of the sequence buffers, the sequence storage operation 221 extracts this. To the output buffer and request ACK transmission of SEQ = 6.
 また、順序確認動作221は、出力バッファに転送すべきパケットを各順序バッファのいずれにおいても発見できなかった場合は、欠落検出部20に取り出し完了を通知する。 In addition, when the packet to be transferred to the output buffer cannot be found in any of the order buffers, the order confirmation operation 221 notifies the missing detection unit 20 of the completion of extraction.
 欠落検出部20は、取出制御部22からの取出完了通知を受けると、各順序バッファに格納されているパケットの個数を調べる。全ての順序バッファにおいてパケットの格納が確認された場合は、欠落検出部20は、パケットロスが発生したものと判断してACK送信部23に対して再送要求を行う。また、各順序バッファからのバッファ解放通知を受けた場合には、欠落検出部20は、順序バッファ解放契機情報搭載部27およびACK送信部23に対してバッファ解放要因に応じた再送要求を行う。 Upon receipt of the extraction completion notification from the extraction control unit 22, the missing detection unit 20 checks the number of packets stored in each order buffer. If the storage of the packet is confirmed in all the order buffers, the loss detection unit 20 determines that a packet loss has occurred and makes a retransmission request to the ACK transmission unit 23. When receiving a buffer release notification from each sequence buffer, the loss detection unit 20 makes a retransmission request according to the buffer release factor to the sequence buffer release trigger information mounting unit 27 and the ACK transmission unit 23.
 ACK送信部23は、取出制御部22または欠落検出部20からの要求に応じて、対向の送信機1にACKを送信する。なお、再送要求の場合、SEQ=期待SEQ-1とする重複ACKを送信する。 The ACK transmission unit 23 transmits ACK to the opposite transmitter 1 in response to a request from the take-out control unit 22 or the loss detection unit 20. In the case of a retransmission request, a duplicate ACK with SEQ = expected SEQ−1 is transmitted.
 なお、出力バッファ24は、順序バッファよりパケットを受信し、SEQ削除部25からの要求により、FIFO方式でパケットを取り出して転送する。 Note that the output buffer 24 receives the packet from the order buffer, and extracts and transfers the packet by the FIFO method in response to a request from the SEQ deletion unit 25.
 SEQ削除部25は、出力バッファ24からパケットを取り出し、ヘッダ(SEQ含む)を削除して、データをデータ受信部26に転送する。 The SEQ deleting unit 25 takes out the packet from the output buffer 24, deletes the header (including SEQ), and transfers the data to the data receiving unit 26.
 データ受信部26は、SEQ削除部25からので0他を受け取り、各種処理を行う。 The data receiving unit 26 receives 0 and others from the SEQ deleting unit 25 and performs various processes.
 送信機1の順序バッファ解放契機識別部16は、受信機2からのパケットを受信し、前回受信したACKのSEQよりも大きなSEQが含まれる場合には、当該SEQまでのパケットを再送バッファ13から消去する。前回受信したACKのSEQと同じSEQが含まれていた場合には、順序バッファ解放契機識別部16は、重複ACK(再送要求)であるとみなし、ただちに再送バッファに格納されているパケットを、SEQの若いものから順に再送信する。 The sequence buffer release opportunity identification unit 16 of the transmitter 1 receives the packet from the receiver 2 and, when a SEQ larger than the SEQ of the ACK received last time is included, the packet up to the SEQ is retransmitted from the retransmission buffer 13. to erase. If the same SEQ as the SEQ of the previously received ACK is included, the order buffer release opportunity identification unit 16 regards it as a duplicate ACK (retransmission request), and immediately converts the packet stored in the retransmission buffer into SEQ Resend in order from the youngest.
 図5を参照して、送信機1がフルレートでパケットを送信するような高負荷状態において、FCSエラー等によるパケットロスが発生した場合を例に、通信装置のより詳細な動作を説明する。図5には、SEQ=10のパケットが欠落した場合の例が示されている。 With reference to FIG. 5, a more detailed operation of the communication apparatus will be described by taking as an example a case where a packet loss due to an FCS error or the like occurs in a high load state where the transmitter 1 transmits packets at a full rate. FIG. 5 shows an example when a packet with SEQ = 10 is lost.
 図6は、パケット欠落時の受信機2の動作例を示すブロック図である。図6に示す例では、順序格納動作221により、SEQ1~9までのパケットが、出力バッファ24に転送される。これらパケットに対して、ACK送信部23および順序バッファ解放契機情報識別部16により、ACK1~9が送出されている。なお、図中において特に記載がない場合は、順序バッファ解放契機フラグの値は、未設定(SEQ若返りによる順序バッファ解放でない旨を示す値)であるとする。 FIG. 6 is a block diagram illustrating an operation example of the receiver 2 when a packet is lost. In the example shown in FIG. 6, the packets 1 to 9 are transferred to the output buffer 24 by the order storage operation 221. In response to these packets, ACKs 1 to 9 are sent out by the ACK transmission unit 23 and the order buffer release opportunity information identification unit 16. If there is no particular description in the figure, it is assumed that the value of the order buffer release trigger flag is not set (a value indicating that the order buffer is not released by SEQ rejuvenation).
 順序バッファ212に、SEQ=11のパケットが格納されると、順序確認動作221が起動する。しかし、出力バッファ24に送出できるパケット(SEQ=10のパケット)がないので、欠落検出部20に対して取り出し完了通知が送信される。欠落検出部20は、各順序バッファに格納されているパケットの個数を調べる。ここでは、欠落したSEQ=10のパケットの次に網31に送出されたSEQ=12のパケットは未受信であるため、順序バッファ211のパケット数=0である。よって、欠落検出部20は、処理を終了する。 When the packet of SEQ = 11 is stored in the order buffer 212, the order confirmation operation 221 is activated. However, since there is no packet (SEQ = 10 packet) that can be sent to the output buffer 24, an extraction completion notification is transmitted to the loss detection unit 20. The missing detection unit 20 checks the number of packets stored in each order buffer. Here, since the packet with SEQ = 12 sent to the network 31 after the missing packet with SEQ = 10 has not been received, the number of packets in the order buffer 211 is zero. Therefore, the missing detection unit 20 ends the process.
 次に、順序バッファ211に、SEQ=12のパケットが格納されると、再度順序確認動作221が起動する。しかし、出力バッファ24に送出できるパケット(SEQ=10のパケット)がないので、欠落検出部20に対して取り出し完了通知送信される。欠落検出部20は、各順序バッファに格納されているパケットの個数を調べる。今度は、欠落検出部20は、順序バッファ211を含む全ての順序バッファ内にパケットが格納されていること(すなわち、SEQが飛んでパケット滞留していること)を確認し、欠落が発生しているとみなして、ACK送信部23に対して再送要求を行う。以下、この再送要求をシーケンス飛び滞留による再送要求と表現する場合がある。 Next, when a packet of SEQ = 12 is stored in the order buffer 211, the order confirmation operation 221 is activated again. However, since there is no packet (SEQ = 10 packet) that can be sent to the output buffer 24, an extraction completion notification is transmitted to the loss detection unit 20. The missing detection unit 20 checks the number of packets stored in each order buffer. This time, the loss detection unit 20 confirms that the packet is stored in all the order buffers including the order buffer 211 (that is, the packet is stagnated by skipping the SEQ), and the loss occurs. The ACK transmission unit 23 is requested to retransmit. Hereinafter, this retransmission request may be expressed as a retransmission request due to sequence skipping.
 ACK送信部23は、欠落検出部20からの再送要求を受け、前回送出したACK(ACK=9)と同じSEQ=9を含むACKを送信する。なお、ACK送信部23は、順序バッファ解放契機フラグを非設定(例えば、0)とする。 The ACK transmission unit 23 receives a retransmission request from the loss detection unit 20 and transmits an ACK including SEQ = 9 which is the same as the previously transmitted ACK (ACK = 9). The ACK transmission unit 23 does not set the order buffer release trigger flag (for example, 0).
 送信機1には、同じ番号のACKが連続して届く。よって、送信機1は、再送要求があったと判断して、再送バッファ内のパケットの再送を行う。 ACKs with the same number arrive at the transmitter 1 continuously. Therefore, the transmitter 1 determines that there is a retransmission request, and retransmits the packet in the retransmission buffer.
 このような高速パケット欠落方法によって高速にパケットロスを検知し再送要求を行ったとしても、送信機1側が高いビットレートでパケット送信をしている場合には、再送要求が到達するまでの間に送信されたパケットが経路上に残っている(例えば、図5のSEQ=27までを参照)。このため、これらのパケットは、図7に示すように、破棄されずに各順序バッファに残る。図7は、シーケンス飛び滞留による再送要求を行った後の受信機1のバッファの様子を示すブロック図である。 Even if a packet loss is detected at high speed by such a high-speed packet drop method and a retransmission request is made, if the transmitter 1 is transmitting a packet at a high bit rate, the retransmission request arrives before The transmitted packet remains on the path (for example, see SEQ = 27 in FIG. 5). Therefore, as shown in FIG. 7, these packets remain in each order buffer without being discarded. FIG. 7 is a block diagram illustrating a state of the buffer of the receiver 1 after making a retransmission request due to sequence skipping.
 その後、受信機2は、再送パケットであるSEQ=10からのパケットを受信することになる。例えば、SEQ=10からのパケットが網32から再送された場合、順序バッファ212は、既に受信しているパケットのSEQ=27と比較し、SEQ若返りが発生したことを認識する。すると、順序バッファ212は、再送が発生したとみなして格納済みパケットをすべて廃棄し、欠落検出部20にその旨(SEQ若返りによるバッファ解放通知)を通知する。 Thereafter, the receiver 2 receives a packet from SEQ = 10 which is a retransmission packet. For example, when a packet from SEQ = 10 is retransmitted from the network 32, the order buffer 212 recognizes that SEQ rejuvenation has occurred as compared with SEQ = 27 of a packet that has already been received. Then, the order buffer 212 considers that retransmission has occurred, discards all stored packets, and notifies the loss detection unit 20 to that effect (buffer release notification by SEQ rejuvenation).
 その通知後、順次バッファ212は、廃棄後のバッファに受信したSEQ=10のパケットを格納し、取出制御部22に格納完了通知を行う。 After the notification, the sequential buffer 212 stores the received SEQ = 10 packet in the discarded buffer, and notifies the extraction control unit 22 of the storage completion.
 欠落検出部20は、順序バッファ212からバッファ解放通知を受けると、欠落検出動作を行う。欠落検出部20は、欠落検出動作として、まず、バッファ解放があったこと、およびその要因がSEQ若返りであることを認識し、SEQ若返りによる再送要求をACK送信部23および順序バッファ解放契機情報搭載部27に対して行う。欠落検出部20は、例えば、順序バッファ解放契機情報搭載部27が管理している順序バッファ解放契機フラグを1(有効)にした上で、ACK送信部23に再送要求を行ってもよい。 Upon receiving a buffer release notification from the order buffer 212, the missing detection unit 20 performs a missing detection operation. As a missing detection operation, the missing detection unit 20 first recognizes that the buffer has been released and that the cause is SEQ rejuvenation, and sends a retransmission request due to SEQ rejuvenation to the ACK transmission unit 23 and the order buffer release trigger information. To the unit 27. For example, the missing detection unit 20 may make a retransmission request to the ACK transmission unit 23 after setting the sequence buffer release trigger flag managed by the sequence buffer release trigger information mounting unit 27 to 1 (valid).
 ACK送信部23および順序バッファ解放契機情報搭載部27は、欠落検出部20からの再送要求を受け、前回送出したACK(ACK=9)と同じSEQ=9を含むACKを送信する。なお、今回は、順序バッファ解放契機フラグは若返りによるバッファ解放を示す値(例えば、1)とする。図8は、網32からのSEQ若番受信による再送要求を行った際の受信機1のバッファの様子を示すブロック図である。 The ACK transmission unit 23 and the order buffer release opportunity information mounting unit 27 receive a retransmission request from the loss detection unit 20 and transmit an ACK including SEQ = 9 which is the same as the previously transmitted ACK (ACK = 9). In this case, the order buffer release trigger flag is set to a value (for example, 1) indicating buffer release by rejuvenation. FIG. 8 is a block diagram showing a buffer state of the receiver 1 when a retransmission request is made by receiving a SEQ young number from the network 32.
 また図8に示すように、SEQ若番受信による再送要求が行われた後、順序バッファ212には受信したSEQ=10のパケットが格納されている。取出制御部22は、順序バッファ212にSEQ=10のパケットが格納されると、順序確認動作221を起動し、期待SEQと同じSEQである当該パケットを取り出し、出力バッファ24に送出する。そして、ACK送信部23を介して正常に受信した旨を通知するためのACK(SEQ=10を含む)を送信機1に送信する。 Also, as shown in FIG. 8, after a retransmission request is made due to the reception of SEQ young number, the sequence buffer 212 stores the received SEQ = 10 packet. When a packet with SEQ = 10 is stored in the order buffer 212, the take-out control unit 22 activates the order confirmation operation 221, takes out the packet having the same SEQ as the expected SEQ, and sends it to the output buffer 24. Then, an ACK (including SEQ = 10) for notifying that it has been normally received is transmitted to the transmitter 1 via the ACK transmitter 23.
 送信機1側では、SEQ=10のパケットに続いて、SEQ=11以降のパケットも順次送信している。例えば、SEQ=11のパケットは網31を用いて送信される。図9は、網31からのSEQ若番受信による再送要求を行った際の受信機1のバッファの様子を示すブロック図である。順序バッファ211でもSEQ若返りを検出し、順序バッファの解放が行われる。ここでは、SEQ=10を受信した場合と同様に、受信バッファ211に格納されているパケットが廃棄され、SEQ若番受信による再送要求(SEQ=10、順序バッファ解放契機フラグ=1を含む)が行われた後、順序バッファ211は、受信したSEQ=11のパケットを格納する。そして、順序確認動作221が起動し、期待SEQと同じSEQである当該パケットが取り出され、出力バッファ24に送出される。そして、正常に受信した旨を通知するためのACK(SEQ=11を含む)が送信機1に送信される。なお、網が3以上の網を用いた場合は、各パスにSEQ若番受信による再送要求が行われることになる。 On the transmitter 1 side, packets after SEQ = 11 are sequentially transmitted following the packets with SEQ = 10. For example, a packet with SEQ = 11 is transmitted using the network 31. FIG. 9 is a block diagram showing a buffer state of the receiver 1 when a retransmission request is made by receiving a sequence number of SEQ from the network 31. The sequence buffer 211 also detects SEQ rejuvenation and releases the sequence buffer. Here, as in the case where SEQ = 10 is received, the packet stored in the reception buffer 211 is discarded, and a retransmission request (SEQ = 10, including an order buffer release trigger flag = 1) is received by the SEQ young number reception. After being performed, the order buffer 211 stores the received SEQ = 11 packet. Then, the order confirmation operation 221 is activated, and the packet having the same SEQ as the expected SEQ is extracted and sent to the output buffer 24. Then, an ACK (including SEQ = 11) for notifying that it has been normally received is transmitted to the transmitter 1. When three or more networks are used, a retransmission request is received for each path by receiving a sequence number of SEQ.
 送信機1には同じ番号のACKが連続して届く。順序バッファ解放契機情報識別部16が順序バッファ解放契機フラグを確認した結果、SEQ若番受信による再送要求であると認識した場合には、それによる再送処理は行わない。従って、現在処理中の再送処理が継続して行われる(図5のSEQ=14~15を参照)。 ACK of the same number arrives at transmitter 1 continuously. If the sequence buffer release trigger information identification unit 16 confirms the sequence buffer release trigger flag and recognizes that the request is a retransmission request due to the SEQ sequence number reception, the retransmission processing is not performed. Therefore, the retransmission process that is currently being processed is continuously performed (see SEQ = 14 to 15 in FIG. 5).
 なお、上記動作例では、再送パケットが異なる網によって再送されたが、例えば図10に示すように、再送パケットが網31を用いて送信された場合、順序バッファ211がクリアされてSEQ=10のパケットが格納されたときに、順序バッファ212には再送前のSEQ=11が残っていることがある。このような場合には、取出制御部22は、取り出せるだけのデータを取り出しておき、再送されたSEQ=11が再度順序バッファ211に格納されたときに、SEQ=11が既に取り出し済みのSEQであるとして廃棄するようにしてもよい。例えば、図2のステップ22103、22108、22113、22118のそれぞれの処理でNoであった場合であって、先頭SEQが期待SEQよりも小さい値である場合には、そのパケットを廃棄する処理を追加してもよい。 In the above operation example, the retransmission packet is retransmitted by a different network. However, for example, as shown in FIG. 10, when the retransmission packet is transmitted using the network 31, the order buffer 211 is cleared and SEQ = 10. When a packet is stored, SEQ = 11 before retransmission may remain in the order buffer 212. In such a case, the takeout control unit 22 takes out enough data to be taken out, and when the retransmitted SEQ = 11 is stored in the sequence buffer 211 again, SEQ = 11 is the already taken out SEQ. You may make it discard, if there exists. For example, in the case where each of the processes in steps 22103, 22108, 22113, and 22118 in FIG. 2 is No and the top SEQ is smaller than the expected SEQ, a process for discarding the packet is added. May be.
 また、上記実施形態では、順序バッファ解放契機情報は0か1の二値をとるフラグであるとしたが、順序バッファ解放契機情報は、例えば、解放種別を示す二値以上の値をとる情報であってもよい。 In the above-described embodiment, the order buffer release trigger information is a flag that takes a binary value of 0 or 1. However, the order buffer release trigger information is, for example, information that takes a binary value or more indicating a release type. There may be.
 以上のように、本実施形態によれば、経路上に再送前の送信されたパケットが廃棄されずに残っていて受信機側でそれらのパケットを受信する等に起因する再度の再送要求を適切に処理することができる。よって、データ送信部への入力が高負荷時にパケット欠落が発生しても、より高速に復旧できるとともに、その再送による帯域消費を抑制することができる。 As described above, according to the present embodiment, a re-transmission request due to reception of a packet that has been transmitted on the route before being retransmitted without being discarded and received on the receiver side is appropriate. Can be processed. Therefore, even if a packet loss occurs when the input to the data transmission unit is heavy, it can be recovered more quickly and bandwidth consumption due to the retransmission can be suppressed.
 なお、本発明の主題は、高速パケット欠落方法が行われることを前提に、高負荷時における再送による帯域消費を抑制することである。高速パケット欠落方法の具体的な方法については上記実施形態に記載の方法の限りではない。例えば、本発明において、各順序バッファと出力バッファとが兼用される構成を適用可能である。そのような場合には、先行技術文献として挙げた特許文献2に記載されているように、取り出し待機数が管理され、再送パケット到着時の順序バッファクリアにおいて、順序保証確認済みのパケットは削除されないという条件を付加すればよい。なお、順序保証確認済みのパケットの数は、取り出し待機数と同値である。従って、順序バッファに格納されたパケットのうち格納された順番が古い順から数えて取り出し待機数分のパケットを削除対象から除外すればよい。 It should be noted that the subject of the present invention is to suppress bandwidth consumption due to retransmission under high load on the assumption that a high-speed packet drop method is performed. The specific method of the high-speed packet loss method is not limited to the method described in the above embodiment. For example, in the present invention, a configuration in which each order buffer and output buffer are used together is applicable. In such a case, as described in Patent Document 2 cited as the prior art document, the number of waiting for extraction is managed, and the packet for which the order guarantee has been confirmed is not deleted in the order buffer clear when the retransmission packet arrives. This condition may be added. Note that the number of packets for which the order guarantee has been confirmed is equal to the number of waiting for extraction. Therefore, it is only necessary to exclude the packets corresponding to the number of waiting to be taken out of the packets stored in the order buffer, counting from the oldest stored order.
 また、各順序バッファの容量を、網ごとの帯域と遅延時間とに基づいて決定してもよい。 Also, the capacity of each sequence buffer may be determined based on the bandwidth and delay time for each network.
 次に、本発明の概要について説明する。図11は、本発明の概要を示すブロック図である。図11に示す通信装置は、送信側の機能として、順序バッファ51(51-1~51-n)と、欠落検出部52と、再送要求部53と、順序バッファ解放契機情報搭載部54とを備える。また、受信側の機能として、順序バッファ解放契機識別部55を備える。 Next, the outline of the present invention will be described. FIG. 11 is a block diagram showing an outline of the present invention. The communication apparatus shown in FIG. 11 includes a sequence buffer 51 (51-1 to 51-n), a loss detection unit 52, a retransmission request unit 53, and an sequence buffer release trigger information mounting unit 54 as functions on the transmission side. Prepare. In addition, an order buffer release opportunity identifying unit 55 is provided as a function on the receiving side.
 順序バッファ51-1~51-n(例えば、順序バッファ211~214)は、網ごとに設置され、順序確認を行うまでのパケットを蓄積する。 Order buffers 51-1 to 51-n (for example, order buffers 211 to 214) are installed for each network, and accumulate packets until the order is confirmed.
 欠落検出部52(例えば、欠落検出部20)は、順序バッファ51-1~51-nのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する。 The missing detection unit 52 (for example, the missing detection unit 20) determines that a loss has occurred when one or more packets are accumulated in all of the order buffers 51-1 to 51-n.
 再送要求部53(例えば、ACK送信部23)は、少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットを送信する。 The retransmission request unit 53 (for example, the ACK transmission unit 23) transmits a retransmission request packet for requesting retransmission of the lost packet at least when the packet loss is detected.
 順序バッファ解放契機情報搭載部54(例えば、順序バッファ解放契機情報搭載部27)は、再送要求部53が送信する再送要求パケットに、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報を搭載する。 The sequence buffer release trigger information mounting unit 54 (for example, the sequence buffer release trigger information mounting unit 27) is a sequence buffer release trigger that is information for notifying the retransmission request packet transmitted by the retransmission request unit 53 of the sequence buffer release trigger. Load information.
 また、順序バッファ解放契機識別部55(例えば、順序バッファ解放契機識別部16)は、再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する。 In addition, the order buffer release opportunity identification unit 55 (for example, the order buffer release opportunity identification unit 16) refers to the order buffer release opportunity information included in the retransmission request packet and determines whether retransmission is necessary.
 なお、各順序バッファは、受信したパケットにシーケンス番号の若返りが発生した場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放し、再送要求部は、欠落検出部によってパケットの欠落が検出された場合に加えて、1つ以上のパケットが格納されていた順序バッファが解放された場合に、現時点で順序確認がされているパケットより後のパケットの再送を要求する再送要求パケットを送信し、順序バッファ解放契機情報搭載部は、順序バッファ解放契機情報として、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機であることを識別する識別子を搭載し、順序バッファ解放契機識別部は、再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機である旨を示している場合に、再送を行わないようにしてもよい。 Each sequence buffer deletes all the packets already stored in the sequence buffer and releases the sequence buffer when the sequence number rejuvenates in the received packet. Request the retransmission of a packet after the packet whose sequence is currently confirmed when the sequence buffer that stores one or more packets is released The sequence buffer release trigger information loading unit mounts an identifier for identifying the sequence buffer release trigger by rejuvenation of the sequence number of the received packet as the sequence buffer release trigger information. The release opportunity identification unit includes the received packet that has received the sequence buffer release opportunity information included in the retransmission request packet. When the identification information indicates that a sequence buffer release trigger by rejuvenation preparative sequence numbers, may not retransmit.
 また、各順序バッファは、当該順序バッファがあふれた場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放し、順序バッファ解放契機識別部は、再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機でない旨を示している場合には、再送を行うようにしてもよい。 In addition, each sequence buffer, when the sequence buffer overflows, deletes all the packets already stored in the sequence buffer and releases the sequence buffer. If the installed order buffer release trigger information indicates that the sequence buffer release trigger is not triggered by rejuvenation of the sequence number of the received packet, retransmission may be performed.
 また、再送要求部は、再送要求パケットとして、順序確認がとれたパケットのシーケンス番号を付与した到着確認応答パケットを再送信してもよい。 Also, the retransmission request unit may retransmit an arrival confirmation response packet to which the sequence number of the packet whose order has been confirmed is assigned as a retransmission request packet.
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to embodiment and an Example, this invention is not limited to the said embodiment and Example. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 この出願は、2010年7月26日に出願された日本特許出願2010-166928を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application 2010-166928 filed on July 26, 2010, the entire disclosure of which is incorporated herein.
 本発明は、複数の網を利用して大容量のデータを高速転送するイーサネット(登録商標)スイッチやルータ等に適用可能である。また、サーバ間を高速に結ぶネットワークインタフェースカード(NIC)等にも適用可能である。 The present invention can be applied to an Ethernet (registered trademark) switch, a router, or the like that transfers a large amount of data at high speed using a plurality of networks. The present invention can also be applied to a network interface card (NIC) that connects servers at high speed.
 1 送信機
 2 受信機
 11 データ送信部
 12 SEQ付与部
 13 再送バッファ
 14 振り分け部
 15 再送タイマ
 16 順序バッファ解放契機識別部
 20 欠落検出部
 211~214 順序バッファ
 22 取出制御部
 221 順序確認動作
 23 ACK送信部
 24 出力バッファ
 25 SEQ削除部
 26 データ受信部
 17 順序バッファ解放契機情報搭載部
 51-1~51-n 順序バッファ
 52 欠落検出部
 53 再送要求部
 54 順序バッファ解放契機情報搭載部
 55 順序バッファ解放契機識別部
DESCRIPTION OF SYMBOLS 1 Transmitter 2 Receiver 11 Data transmission part 12 SEQ provision part 13 Retransmission buffer 14 Distribution part 15 Retransmission timer 16 Order buffer release opportunity identification part 20 Missing detection part 211-214 Order buffer 22 Extraction control part 221 Order confirmation operation 23 ACK transmission Unit 24 output buffer 25 SEQ deletion unit 26 data reception unit 17 sequence buffer release trigger information mounting unit 51-1 to 51-n sequence buffer 52 missing detection unit 53 retransmission request unit 54 sequence buffer release trigger information mounting unit 55 sequence buffer release trigger 55 Identification part

Claims (10)

  1.  送信機と受信機とが網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムにおける通信装置であって、
     順序確認を行うまでのパケットを蓄積する、網ごとに複数設置された順序バッファと、
     前記順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する欠落検出部と、
     少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットを送信する再送要求部と、
     前記再送要求部が送信する前記再送要求パケットに、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報を搭載する順序バッファ解放契機情報搭載部と、
     前記再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する順序バッファ解放契機識別部とを備える
     ことを特徴とする通信装置。
    A communication device in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network,
    Multiple sequence buffers installed in each network for storing packets until order confirmation,
    A loss detection unit that determines that a loss has occurred when one or more packets are accumulated in all of the sequence buffers;
    A retransmission request unit that transmits a retransmission request packet for requesting retransmission of the lost packet, at least when a packet loss is detected;
    An order buffer release trigger information mounting unit for mounting order buffer release trigger information that is information for notifying an order buffer release trigger to the retransmission request packet transmitted by the retransmission request unit;
    A communication apparatus comprising: an order buffer release trigger identification unit that refers to order buffer release trigger information mounted on the retransmission request packet and determines whether retransmission is necessary.
  2.  各順序バッファは、受信したパケットにシーケンス番号の若返りが発生した場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放し、
     再送要求部は、欠落検出部によってパケットの欠落が検出された場合に加えて、1つ以上のパケットが格納されていた順序バッファが解放された場合に、現時点で順序確認がされているパケットより後のパケットの再送を要求する再送要求パケットを送信し、
     順序バッファ解放契機情報搭載部は、順序バッファ解放契機情報として、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機であることを識別する識別子を搭載し、
     順序バッファ解放契機識別部は、再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機である旨を示している場合に、再送を行わない
     請求項1に記載の通信装置。
    Each sequence buffer, when sequence number rejuvenation occurs in a received packet, deletes all the packets already stored in the sequence buffer and releases the sequence buffer,
    In addition to the case where the packet loss is detected by the loss detection unit, the retransmission request unit is configured to use the packet whose sequence is currently confirmed when the sequence buffer in which one or more packets are stored is released. Send a retransmission request packet requesting retransmission of a later packet,
    The sequence buffer release trigger information loading unit has an identifier for identifying the sequence buffer release trigger by rejuvenation of the sequence number of the received packet as the sequence buffer release trigger information,
    The sequence buffer release trigger identification unit does not perform retransmission when the sequence buffer release trigger information included in the retransmission request packet indicates that the sequence buffer release trigger is due to rejuvenation of the sequence number of the received packet. Item 4. The communication device according to Item 1.
  3.  各順序バッファは、当該順序バッファがあふれた場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放し、
     順序バッファ解放契機識別部は、再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機でない旨を示している場合には、再送を行う
     請求項1または請求項2に記載の通信装置。
    Each sequence buffer, when the sequence buffer overflows, deletes all the packets already stored in the sequence buffer and releases the sequence buffer,
    The sequence buffer release trigger identification unit performs retransmission when the sequence buffer release trigger information included in the retransmission request packet indicates that the sequence buffer release trigger is not triggered by rejuvenation of the sequence number of the received packet. The communication apparatus according to claim 1 or 2.
  4.  再送要求部は、再送要求パケットとして、順序確認がとれたパケットのシーケンス番号を付与した到着確認応答パケットを再送信する
     請求項1から請求項3のうちのいずれか1項に記載の通信装置。
    The communication apparatus according to any one of claims 1 to 3, wherein the retransmission request unit retransmits an arrival confirmation response packet to which the sequence number of the packet whose order has been confirmed is assigned as a retransmission request packet.
  5.  送信機と受信機とが、網内でのパケット順序逆転が発生しない複数の網で接続され、
     前記受信機が、
     順序確認を行うまでのパケットを蓄積する、網ごとに複数設置された順序バッファと、
     前記順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する欠落検出部と、
     少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットを送信する再送要求部と、
     前記再送要求部が送信する前記再送要求パケットに、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報を搭載する順序バッファ解放契機情報搭載部とを備え、
     前記送信機が、
     前記再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する順序バッファ解放契機識別部を備える
     ことを特徴とする通信システム。
    A transmitter and a receiver are connected by a plurality of networks that do not cause packet order reversal in the network.
    The receiver is
    Multiple sequence buffers installed in each network for storing packets until order confirmation,
    A loss detection unit that determines that a loss has occurred when one or more packets are accumulated in all of the sequence buffers;
    A retransmission request unit that transmits a retransmission request packet for requesting retransmission of the lost packet, at least when a packet loss is detected;
    The retransmission request packet transmitted by the retransmission request unit includes an order buffer release trigger information mounting unit that loads order buffer release trigger information that is information for notifying an order buffer release trigger,
    The transmitter is
    A communication system, comprising: an order buffer release trigger identifying unit that refers to order buffer release trigger information mounted on the retransmission request packet and determines whether retransmission is necessary.
  6.  各順序バッファは、受信したパケットにシーケンス番号の若返りが発生した場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放し、
     再送要求部は、パケットの欠落が検出された場合に加えて、1つ以上のパケットが格納されていた順序バッファが解放された場合に、現時点で順序確認がされているパケットより後のパケットの再送を要求する再送要求パケットを送信し、
     順序バッファ解放契機情報搭載部は、順序バッファ解放契機情報として、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機であることを識別する識別子を搭載し、
     順序バッファ解放契機識別部は、再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機である旨を示している場合に、再送を行わない
     請求項5に記載の通信システム。
    Each sequence buffer, when sequence number rejuvenation occurs in a received packet, deletes all the packets already stored in the sequence buffer and releases the sequence buffer,
    In addition to the case where the packet loss is detected, the retransmission request unit, when the order buffer in which one or more packets are stored is released, the packet after the packet whose order is currently confirmed Send a resend request packet requesting resend,
    The sequence buffer release trigger information loading unit has an identifier for identifying the sequence buffer release trigger by rejuvenation of the sequence number of the received packet as the sequence buffer release trigger information,
    The sequence buffer release trigger identification unit does not perform retransmission when the sequence buffer release trigger information included in the retransmission request packet indicates that the sequence buffer release trigger is due to rejuvenation of the sequence number of the received packet. Item 6. The communication system according to Item 5.
  7.  送信機と受信機とが網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムに適用されるパケット再送制御方法であって、
     前記受信機が、
     順序確認を行うまで網ごとの順序バッファにパケットを蓄積し、
     前記順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定し、
     少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットであって、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報が搭載された再送要求パケットを送信し、
     前記送信機が、再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する
     ことを特徴とするパケット再送制御方法。
    A packet retransmission control method applied to a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order reversal does not occur in the network,
    The receiver is
    Packets are stored in the order buffer for each network until the order is confirmed.
    Determining that a loss has occurred when one or more packets are accumulated in all of the sequence buffers;
    Retransmission request packet for requesting retransmission of a missing packet at least when a packet loss is detected, and having a sequence buffer release opportunity information that is information for notifying an order buffer release opportunity Send a request packet,
    The packet retransmission control method, wherein the transmitter refers to order buffer release opportunity information mounted on a retransmission request packet and determines whether retransmission is necessary.
  8.  受信機が、
     網ごとに受信したパケットにシーケンス番号の若返りが発生した場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放し、
     1つ以上のパケットが格納されていた順序バッファが解放された場合に、現時点で順序確認がされているパケットより後のパケットの再送を要求し、
     送信機が、
     再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機である旨を示している場合に、再送を行わない
     請求項7に記載のパケット再送制御方法。
    The receiver
    When rejuvenation of sequence numbers occurs in packets received for each network, all the packets already stored in the order buffer are deleted and the order buffer is released.
    When a sequence buffer in which one or more packets are stored is released, a request is made to resend a packet after the packet whose sequence is currently confirmed,
    The transmitter is
    The packet retransmission control according to claim 7, wherein retransmission is not performed when the order buffer release trigger information included in the retransmission request packet indicates that the sequence buffer release trigger is due to rejuvenation of the sequence number of the received packet. Method.
  9.  送信機と受信機とが網内でのパケット順序逆転が発生しない複数の網で接続されている通信システムにおける通信装置に搭載されているコンピュータに、
     順序確認を行うまで網ごとの順序バッファにパケットを蓄積する処理、
     前記順序バッファのすべてに1つ以上のパケットが蓄積された場合に欠落が発生したと判定する処理、
     少なくともパケットの欠落が検出された場合に、欠落したパケットの再送を要求するための再送要求パケットであって、順序バッファ解放契機を通知するための情報である順序バッファ解放契機情報が搭載された再送要求パケットを送信する処理、および
     再送要求パケットに搭載された順序バッファ解放契機情報を参照し、再送が必要であるかを判断する処理
     を実行させるためのパケット再送制御プログラム。
    In a computer mounted on a communication device in a communication system in which a transmitter and a receiver are connected by a plurality of networks in which packet order inversion does not occur in the network,
    Processing to store packets in the order buffer for each network until the order is confirmed
    A process for determining that a loss has occurred when one or more packets are accumulated in all of the order buffers;
    Retransmission request packet for requesting retransmission of a missing packet at least when a packet loss is detected, and having a sequence buffer release opportunity information that is information for notifying an order buffer release opportunity A packet retransmission control program for executing a process for transmitting a request packet and a process for determining whether a retransmission is necessary by referring to the order buffer release timing information mounted in the retransmission request packet.
  10.  コンピュータに、
     網ごとに受信したパケットにシーケンス番号の若返りが発生した場合に、当該順序バッファに既に格納されているパケットを全て削除して当該順序バッファを解放する処理、
     1つ以上のパケットが格納されていた順序バッファが解放された場合に、現時点で順序確認がされているパケットより後のパケットの再送を要求する処理、および
     再送要求パケットに搭載された順序バッファ解放契機情報が、受信したパケットのシーケンス番号の若返りによる順序バッファ解放契機である旨を示している場合に、再送要求を無視する処理
     を実行させる請求項9に記載のパケット再送制御プログラム。
    On the computer,
    When a sequence number rejuvenation occurs in a packet received for each network, a process of deleting all the packets already stored in the order buffer and releasing the order buffer;
    When the sequence buffer that stores one or more packets is released, processing to request retransmission of a packet after the packet whose sequence is currently confirmed, and release of the sequence buffer installed in the retransmission request packet The packet retransmission control program according to claim 9, wherein when the trigger information indicates that an order buffer release trigger is generated due to rejuvenation of the sequence number of the received packet, processing for ignoring the retransmission request is executed.
PCT/JP2011/004003 2010-07-26 2011-07-13 Communication apparatus, communication system, packet retransmission control method and packet retransmission control program WO2012014397A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012526285A JP5761193B2 (en) 2010-07-26 2011-07-13 Communication apparatus, communication system, packet retransmission control method, and packet retransmission control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-166928 2010-07-26
JP2010166928 2010-07-26

Publications (1)

Publication Number Publication Date
WO2012014397A1 true WO2012014397A1 (en) 2012-02-02

Family

ID=45529631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/004003 WO2012014397A1 (en) 2010-07-26 2011-07-13 Communication apparatus, communication system, packet retransmission control method and packet retransmission control program

Country Status (2)

Country Link
JP (1) JP5761193B2 (en)
WO (1) WO2012014397A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453613A (en) * 2016-10-31 2017-02-22 北京小米移动软件有限公司 Message retransmission method and apparatus
CN114389760A (en) * 2021-12-21 2022-04-22 成都善思微科技有限公司 High-reliability data transmission system and method for radiation imaging detector

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005328240A (en) * 2004-05-13 2005-11-24 Nippon Telegr & Teleph Corp <Ntt> Bit stream parallel transmission system by tcp, and transmission method and device
WO2007063585A1 (en) * 2005-11-30 2007-06-07 Fujitsu Limited Communication device and frame control method
JP2009055419A (en) * 2007-08-28 2009-03-12 Nec Corp Communication device, communication system, and method and program for detecting missing packet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005328240A (en) * 2004-05-13 2005-11-24 Nippon Telegr & Teleph Corp <Ntt> Bit stream parallel transmission system by tcp, and transmission method and device
WO2007063585A1 (en) * 2005-11-30 2007-06-07 Fujitsu Limited Communication device and frame control method
JP2009055419A (en) * 2007-08-28 2009-03-12 Nec Corp Communication device, communication system, and method and program for detecting missing packet

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453613A (en) * 2016-10-31 2017-02-22 北京小米移动软件有限公司 Message retransmission method and apparatus
CN114389760A (en) * 2021-12-21 2022-04-22 成都善思微科技有限公司 High-reliability data transmission system and method for radiation imaging detector
CN114389760B (en) * 2021-12-21 2024-03-08 成都善思微科技有限公司 High-reliability data transmission system and method for radiation imaging detector

Also Published As

Publication number Publication date
JPWO2012014397A1 (en) 2013-09-09
JP5761193B2 (en) 2015-08-12

Similar Documents

Publication Publication Date Title
JP4587053B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
US9503383B2 (en) Flow control for reliable message passing
JP5131194B2 (en) Packet recovery method, communication system, information processing apparatus, and program
US9577791B2 (en) Notification by network element of packet drops
EP2978171B1 (en) Communication method, communication device, and communication program
WO2014092779A1 (en) Notification by network element of packet drops
AU2006336276A1 (en) Efficient loss recovery architecture for loss-decoupled TCP
CN110460533B (en) RDMA (remote direct memory Access) -based data transmission method and device
US9692560B1 (en) Methods and systems for reliable network communication
JP4924285B2 (en) Communication apparatus, communication system, transfer efficiency improvement method, and transfer efficiency improvement program
Tam et al. Preventing TCP incast throughput collapse at the initiation, continuation, and termination
JP5761193B2 (en) Communication apparatus, communication system, packet retransmission control method, and packet retransmission control program
US8769137B2 (en) Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP)
EP3108631B1 (en) Buffer bloat control
JP5046197B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
JP4930275B2 (en) Communication system, communication method, transmitter, receiver, rate calculation method, and program
JP5723307B2 (en) Packet monitoring system
JP5382556B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
CN114363260A (en) Data flow scheduling method for data center network
JP5170847B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
JP2012100165A (en) Data transmission system and multi-point data distribution system
EP3389206B1 (en) Multipath error correction
JP2003198612A (en) File transferring method in packet communication network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11811999

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012526285

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11811999

Country of ref document: EP

Kind code of ref document: A1