WO2011145557A1 - パケット再送制御装置とパケット再送制御方法 - Google Patents

パケット再送制御装置とパケット再送制御方法 Download PDF

Info

Publication number
WO2011145557A1
WO2011145557A1 PCT/JP2011/061188 JP2011061188W WO2011145557A1 WO 2011145557 A1 WO2011145557 A1 WO 2011145557A1 JP 2011061188 W JP2011061188 W JP 2011061188W WO 2011145557 A1 WO2011145557 A1 WO 2011145557A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
priority
retransmission
retransmission control
unit
Prior art date
Application number
PCT/JP2011/061188
Other languages
English (en)
French (fr)
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 JP2012515877A priority Critical patent/JP5696854B2/ja
Priority to US13/137,494 priority patent/US9130877B2/en
Publication of WO2011145557A1 publication Critical patent/WO2011145557A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Definitions

  • the present invention relates to packet retransmission control in packet communication.
  • the transmitting device transmits the communication packet to the receiving device, and the receiving device returns an acknowledgment (ACK) packet to the transmitting device in response to the reception of the communication packet.
  • ACK acknowledgment
  • the transmitting device recognizes that the transmitted packet has successfully reached the receiving device.
  • the transmitting device does not receive an acknowledge packet for the lost packet.
  • the transmitting device retransmits the transmitted packet to the receiving device.
  • the predetermined time is called “retransmission time out (RTO)”.
  • a transmitter that performs such packet retransmission control has a storage area for temporarily storing transmission packets before receiving an acknowledge packet. This storage area is hereinafter referred to as "retransmission buffer”. Be done.
  • Transmission Control Protocol used in the Internet is a representative transport layer protocol that performs such packet retransmission control.
  • Non-Patent Document 1 A technique related to such packet retransmission control is described in Non-Patent Document 1. According to Non-Patent Document 1, packet retransmission control is performed in a MAC (Media Access Control) layer lower than the transport layer. The reason is as follows.
  • MAC Media Access Control
  • RTT Round Trip Time
  • a network with a very short Round Trip Time such as a network in a data center.
  • RTT Round Trip Time
  • the retransmission timeout is reduced to a microsecond level by implementing packet retransmission control in the MAC layer lower than the OS, thereby solving the above problem.
  • Non-Patent Document 1 In the packet retransmission control method disclosed in Non-Patent Document 1, priority control is not performed among three types of packets, the first packet, the retransmission packet, and the acknowledge packet. Therefore, the probability that these three types of packets are discarded in the network is equal. As a result, the packet retransmission control method in Non-Patent Document 1 easily causes multiple retransmissions in a state where the load on the network is high, and easily reduces communication performance.
  • Patent Documents 1 to 4 disclose related techniques related to packet retransmission control.
  • the first part is connected between the communication network and the terminal device, and measures the transfer amount of packets transferred from the communication network to the terminal device in a fixed time, and the measured transfer amount
  • the priority of the packet is determined based on the comparison of the packet with the predetermined value.
  • the second part is connected to the terminal device via the communication network, stores the priority determined in the first part in association with the transfer destination of the packet, and stores the priority in the packet transferred to the transfer destination. Give a degree and output.
  • the third part is installed in the communication network, temporarily holds the packet output from the second part in a different storage device according to the priority given to the packet, and transfers the temporarily held packet according to the priority Or discard. The third part distributes and temporarily holds different types of packets given the same priority to different storage devices.
  • the transfer control unit determines the processing priority of the packet based on the information included in the packet received by the packet switching device.
  • the packet search control unit searches for the destination of the packet based on the information contained in the packet received by the packet switching device.
  • the device control unit performs packet processing on a packet whose destination searched by the packet search control unit is addressed to the own device.
  • the packet transfer unit transfers the packet to the device control unit according to the processing priority determined by the transfer control unit.
  • the transfer control unit changes the processing priority of the packet according to the arrival frequency and the transmission frequency of the packet.
  • a sequence number assigned to each data input from a layer (hereinafter, upper layer) higher than the wireless layer is extracted and extracted.
  • the input history of the sequence number is managed, and based on the input history, the reading order of the transmission data from the retransmission buffer for recording the input data for ARQ (Automatic Repeat Request) processing in the wireless layer is controlled.
  • partial data is extracted from the received packet, and digest data is generated by performing an operation using a hash function on the extracted data.
  • a plurality of packet selection data which are given in advance from the host computer and correspond to the respective processing priorities, are compared with the digest data, and packet selection data matching the digest data is detected.
  • the processing priority of the packet is determined corresponding to the detected packet selection data, and one memory is selected according to the determined processing priority from a plurality of memories prepared in advance, and the packet Is stored. If there is no packet selection data that matches the digest data in the comparison step, the packet is discarded.
  • An object of the present invention is to provide a packet retransmission control technique capable of improving communication performance even under heavy network load.
  • a packet retransmission control device is provided in one aspect of the present invention.
  • the packet retransmission control apparatus sets a packet type classified in relation to necessity of retransmission control processing for a packet of a packet to be transmitted, and determines a priority indicating a priority to transmit the packet based on the packet type
  • a packet buffer for storing packets in a queue corresponding to the priority of packets among the plurality of queues, and a plurality of queues including a plurality of queues provided corresponding to the priority, and a plurality of queues
  • an arbitration unit for outputting the packets stored in the high priority queue to the lower layer in order.
  • a packet retransmission control method comprises the steps of setting a packet type classified in relation to necessity of retransmission control processing for a packet of a packet to be transmitted, and a priority indicating a priority for transmitting the packet based on the packet type.
  • a packet retransmission control program causes a computer to realize the above packet control method.
  • the present invention it is possible to improve communication performance even in a state where the load on the network is high by suppressing the occurrence of multiple retransmissions due to discarding of retransmission packets and acknowledgment packets.
  • FIG. 1 is a diagram showing a communication network system in the first embodiment of the present invention.
  • FIG. 2 is a diagram showing a configuration of a retransmission control apparatus in the first embodiment of the present invention.
  • FIG. 3 is a diagram showing the configuration of the transmission unit in the first embodiment of the present invention.
  • FIG. 4 is a diagram showing the configuration of the retransmission buffer in the first embodiment of the present invention.
  • FIG. 5 is a diagram showing the configuration of the priority control unit in the first embodiment of the present invention.
  • FIG. 6 is a diagram showing the configuration of the priority table in the first embodiment of the present invention.
  • FIG. 7A is a flowchart showing an operation of transmitting a normal packet by the packet retransmission control device in the first embodiment of the present invention.
  • FIG. 7A is a flowchart showing an operation of transmitting a normal packet by the packet retransmission control device in the first embodiment of the present invention.
  • FIG. 7B is a flowchart showing an operation of transmitting a normal packet by the packet retransmission control device in the first embodiment of the present invention.
  • FIG. 8A is a flowchart showing an operation at the time of retransmission of a retransmission applicable packet by the packet retransmission control device in the first embodiment of the present invention.
  • FIG. 8B is a flowchart showing an operation at the time of retransmission of a retransmission applicable packet by the packet retransmission control device in the first embodiment of the present invention.
  • FIG. 9A is a flowchart showing an operation at the time of reception of a received packet by the packet retransmission control device in the embodiment of the present invention.
  • FIG. 9B is a flowchart showing an operation at the time of reception of a received packet by the packet retransmission control device in the embodiment of the present invention.
  • FIG. 10 is a diagram showing a specific example of priority control processing by the priority control unit in the embodiment of the present invention.
  • FIG. 11 is a diagram showing a configuration example in the case where the priority control unit in the embodiment of the present invention is applied to a network relay device.
  • FIG. 12 is a diagram showing a configuration example of a switch to which the priority control unit in the embodiment of the present invention is applied.
  • FIG. 13 is a diagram showing a configuration example of a network relay device when the priority control unit in the embodiment of the present invention is applied in a switch.
  • the packet retransmission control device of the present invention performs priority control according to the packet type of the communication packet to be transmitted.
  • packets are classified into three packet types: retransmission applicable packets, retransmission non-application packets, and acknowledgment (ACK: ACKnowledgement) packets.
  • the retransmission applicable packet is a packet to which retransmission control is applied.
  • the retransmission non-application packet is a packet to which retransmission control is not applied.
  • the acknowledge packet is an acknowledge packet transmitted to the transmitting apparatus that transmitted the packet when the retransmission applicable packet is received.
  • the packet retransmission control device performs priority control by giving higher priority to the acknowledgment packet, the retransmission application packet, and the retransmission non-application packet in this order. Also, in retransmission of a retransmission applicable packet, the packet retransmission control device performs high-priority control by giving high priority when the number of retransmissions of the retransmission applied packet is large. Therefore, among the packets to be transmitted, the packet retransmission control device preferentially transmits the acknowledge packet over the retransmission application packet and the retransmission non-application packet, and transmits the retransmission application packet prior to the retransmission non-application packet. It becomes possible.
  • the packet retransmission control device can preferentially transmit retransmission application packets with a large number of retransmissions among the retransmission application packets.
  • the packet retransmission control device can suppress the occurrence of multiple retransmissions due to the discarding of the retransmission applicable packet or the acknowledge packet, and can improve the communication performance even in a state where the load on the network is high.
  • FIG. 1 is a diagram showing the configuration of a communication network system to which a packet retransmission control apparatus according to a first embodiment of the present invention is applied.
  • the communication network system comprises a plurality of communication devices 5 and a network 4.
  • the plurality of communication devices 5 are connected to one another via the network 4.
  • the network 4 transfers the packet 6 transmitted and received among the plurality of communication devices 5.
  • a plurality of transmission devices such as a network router and a network switch are connected to one another by transmission lines.
  • the network 4 transmits the packet 6 to an appropriate destination along a predetermined transmission path or along a transmission path determined according to the destination information included in the packet 6.
  • the packet 6 being transferred may be lost due to factors such as electromagnetic noise and traffic congestion.
  • each of the plurality of communication devices 5 performs transmission and reception of the packet 6 with the other communication devices 5 via the network 4.
  • Each communication apparatus 5 includes a retransmission control unit 1, an upper layer processing unit 2, and a lower layer processing unit 3.
  • the upper layer processing unit 2 performs processing of the transport layer or the application layer.
  • the communication protocol of the transport layer is exemplified by Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).
  • the communication protocol of the application layer is exemplified by HTTP (Hyper Text Transfer Protocol) and SMTP (Simple Mail Transfer Protocol).
  • the packet 6 generated or terminated by the upper layer processing unit 2 is referred to as a normal packet 10 in order to be distinguished from the other packets 6.
  • the normal packet 10 includes a retransmission applicable packet and a retransmission non-application packet.
  • the retransmission control unit 1 receives the communication packet from the upper layer processing unit 2, performs retransmission control processing and priority control processing, and outputs the transmission packet 11 to the lower layer processing unit 3. Also, the retransmission control unit 1 receives the communication packet 12 from the lower layer processing unit 3, and terminates the acknowledge packet if the received packet 12 is the acknowledge packet 31. Also, if the received packet 12 includes a retransmission applicable packet, the retransmission control unit 1 outputs it to the upper layer processing unit 2 and generates an acknowledge packet and sends it back to the transmitting side.
  • the lower layer processing unit 3 performs processing of the physical layer and the link layer.
  • the physical layer and the link layer conform to the Ethernet (registered trademark) standard.
  • the lower layer processing unit 3 transmits the transmission packet 11 output from the retransmission control unit 1 to the network 4 according to a predetermined procedure.
  • the lower layer processing unit 3 also outputs the received packet 12 received from the network 4 to the retransmission control unit 1.
  • FIG. 2 is a diagram showing the configuration of the retransmission control unit 1 in the present embodiment.
  • the retransmission control unit 1 of the present embodiment includes a transmitting unit 20, a receiving unit 21, and a priority control unit 22.
  • the above-mentioned retransmission control unit 1 may be realized by hardware or software. Alternatively, it may be realized by a combination of hardware and software.
  • the transmitting unit 20 receives the retransmission applied packet 13 as the normal packet 10 from the upper layer processing unit 2.
  • the transmission unit 20 generates the encapsulated packet 30 from the retransmission applied packet 13 and outputs the encapsulated packet 30 to the priority control unit 22.
  • the encapsulated packet 30 is a packet 6 in which information necessary for retransmission control processing is added to the retransmission applied packet 13.
  • the transmitter 20 also receives the packet identifier 32 of the received packet 12 from the receiver 21. If the transmitting unit 20 does not receive the packet identifier 32 corresponding to the already transmitted encapsulated packet 30 from the receiving unit 21 before the retransmission timeout occurs, the transmitting unit 20 retransmits the encapsulated packet 30.
  • the receiving unit 21 receives the received packet 12 from the lower layer processing unit 3.
  • the receiving unit 21 extracts the retransmission applied packet 13 and the packet identifier 32 as the normal packet 10 from the encapsulated packet 30.
  • the receiving unit 21 outputs the retransmission applied packet 13 to the upper layer processing unit 2.
  • the receiving unit 21 generates an acknowledge packet 31 for the retransmission applied packet 13 based on the extracted packet identifier 32, and outputs the acknowledge packet 31 to the priority control unit 22.
  • the acknowledgment packet 31 is generated or terminated by the retransmission control unit 1.
  • the receiving unit 21 extracts the packet identifier 32 from the acknowledge packet 31, and terminates the acknowledge packet 31.
  • the receiving unit 21 outputs the extracted packet identifier 32 to the transmitting unit 20.
  • the reception unit 21 outputs the retransmission non-application packet 14 to the upper layer processing unit 2.
  • the priority control unit 22 performs priority control processing.
  • the priority control unit 22 receives the retransmission non-application packet 14 from the upper layer processing unit 2, receives the encapsulated packet 30 from the transmission unit 20, and receives the acknowledge packet 31 from the reception unit 21.
  • the priority control unit 22 sets the packet priority based on the packet type of these packets and the number of retransmissions included in the encapsulated packet 30.
  • the priority control unit 22 outputs each packet to the lower layer processing unit 3 in descending order of packet priority according to the packet priority set to the packet.
  • the transmitting unit 20 may not add the information.
  • the packet length of the encapsulated packet 30 can be shortened.
  • the number of retransmissions is managed by the retransmission control unit 1 and is also included in the encapsulated packet 30, the number of retransmissions of the encapsulated packet 30 is redundant and may not be given.
  • by omitting such information it is possible to perform retransmission processing without using the encapsulated packet 30.
  • FIG. 3 is a diagram showing the configuration of the transmission unit 20 in the present embodiment.
  • the transmission unit 20 of the present embodiment includes an identifier extraction unit 40, a retransmission buffer 41, and an encapsulation unit 42.
  • the identifier extraction unit 40 receives the retransmission application packet 13 from the upper layer processing unit 2.
  • the identifier extraction unit 40 extracts the packet identifier 32 from the retransmission applied packet 13, and outputs the packet identifier 32 and the retransmission applied packet 13 to the retransmission buffer 41 and the encapsulation unit 30.
  • the retransmission buffer 41 is a FIFO (First In, First Out) type queue for storing the queue entry 60.
  • FIFO First In, First Out
  • FIG. 4 is a diagram showing the configuration of the retransmission buffer 41 in the present embodiment.
  • queue entries 60-1 to 60-M are stored in the retransmission buffer 41 of FIG. 4, hereinafter, the queue entry 60 will be described unless otherwise specified.
  • the top queue entry 60-1 is the oldest, and the last queue entry 60-M is the newest.
  • the queue entry 60 is received from the identifier extraction unit 40, the retransmission applied packet 13 and the packet identifier 32 including the payload, the number of retransmissions 50 of the retransmission applied packet 13, and an elapsed time after being set in the retransmission buffer 41 (see FIG. Store (not shown).
  • the number of times of retransmission 50 is a value indicating the number of times of resending of the encapsulated packet 30 including the retransmission applied packet 13 stored in the queue entry 60.
  • a predetermined upper limit L (L is a natural number) is determined for the number of retransmissions 50. Also, the initial value of the number of retransmissions 50 is “1”.
  • the encapsulation unit 42 generates an encapsulated packet 30 based on the retransmission applied packet 13 output from the identifier extraction unit 40 or the retransmission buffer 41, the packet identifier 32, and the number of retransmissions, and the encapsulated packet 30 is It is output to the priority control unit 22.
  • the transmitting unit 20 When the elapsed time of the queue entry 60 after being set in the retransmission buffer 41 has exceeded the retransmission timeout time, the transmitting unit 20 performs the retransmission processing of the retransmission applied packet as follows.
  • the transmitting unit 20 outputs the retransmission applied packet 13, the packet identifier 32, and the number of retransmissions 50 in the queue entry 60 to the encapsulating unit 42.
  • the transmitting unit 20 updates the elapsed time every fixed time, and determines whether or not the retransmission time-out time has elapsed.
  • the transmitter 20 determines whether the number of retransmissions 50 has reached a predetermined upper limit L. If the number of retransmissions 50 has reached the upper limit L, the transmission unit 20 deletes the queue entry 60 from the retransmission buffer 41.
  • the transmission unit 20 transmits the retransmission applied packet 13, the packet identifier 32 and the number of retransmissions 50 to the encapsulation unit 42. Output.
  • the encapsulation unit 30 generates an encapsulated packet 30 from the retransmission applied packet 13, the packet identifier 32, and the number of retransmissions 50. Thereafter, the transmission unit 20 increases the number of retransmissions 50 of the queue entry 60 by “1”. Also, the transmitting unit 20 resets the elapsed time of the queue entry 60, and moves the queue entry 60 to the end of the retransmission buffer 41. Thereafter, the transmission unit 20 waits for the retransmission timeout time for the queue entry 60 to elapse again.
  • the transmitting unit 20 when the transmitting unit 20 receives the packet identifier 32 from the receiving unit 21, the transmitting unit 20 confirms whether there is a queue entry 60 having a packet identifier 32 that matches the packet identifier 32. When there is a queue entry 60 having a matching packet identifier 32, the transmission unit 20 deletes the queue entry 60 from the retransmission buffer 41.
  • FIG. 5 is a diagram showing the configuration of the priority control unit 22 in the present embodiment.
  • the priority control unit 22 includes a priority determination unit 70, a priority table 71, a packet buffer 72, wait queues 73-1 to 73-N, and an arbitration unit 74.
  • the priority table 71 stores a packet priority 80 based on the packet type 81 and the number of retransmissions 50 based on the packet priority 80.
  • FIG. 6 is a diagram showing the configuration of the priority table 71 in the present embodiment.
  • the packet priority 80 indicates the priority at the time of packet transmission.
  • the packet type 81 indicates whether the packet is the retransmission non-application packet 14, the encapsulated packet 30, or the acknowledge packet 31.
  • the number of retransmissions 50 is referred to determine the priority when the packet type 81 is the encapsulated packet 30.
  • the priority in the case where the packet type 81 is the "acknowledge packet 31" is set to the highest.
  • the discard rate of the acknowledge packet 31 can be minimized. Suppressing the discarding of the acknowledge packet 31 is most effective for suppressing multiple packet retransmissions.
  • the packet type 81 is “encapsulated packet 30”
  • Repeated retransmission of the encapsulated packet 30 means that the time at which the communication data arrives at the destination is delayed by the amount of repetition. This degrades the communication performance as seen from the application. In order to suppress such performance deterioration, it is desirable to process encapsulated packets 30 having a large number of retransmissions 50 with priority over ones having a small number of retransmissions 50.
  • the upper limit value L of the number of times of retransmission 50 is set to “10”. This is an example and is not limited to this example.
  • the packet type 81 is the retransmission non-application packet 14 and the acknowledge packet 31, the number of retransmissions 50 is not referred to. This is because these packets 6 are not targeted for retransmission.
  • the same packet priority 80 may be assigned to a plurality of sets of the packet type 81 and the number of retransmissions 50. Further, in the example of FIG. 6, the smaller the numerical value of the packet priority 80, the higher the priority. However, it is not limited to this relationship. The higher the numerical value of the packet priority 80, the higher the priority may be.
  • the priority determination unit 70 receives the encapsulated packet 30 from the transmission unit 20, the acknowledge packet 31 from the reception unit 21, and the retransmission non-application packet 14 from the upper layer processing unit 2.
  • the priority determining unit 70 extracts the number of retransmissions 50 from the encapsulated packet 30.
  • the packet priority 80 of the encapsulated packet 30 is determined with reference to the priority table 71 based on the extracted number of retransmissions 50 and the packet type. Specifically, the priority determination unit 70 refers to the priority table 71, and the packet type 81 is the encapsulated packet 30, and the packet priority corresponding to the number of retransmissions 50 extracted from the encapsulated packet 30. Identify 80.
  • the priority determination unit 70 outputs the packet priority 80 and the encapsulated packet 30 to the packet buffer 72.
  • the priority determining unit 70 refers to the priority table 71 based on the packet type 81 and specifies the packet priority 80 corresponding to the acknowledge packet 31.
  • the priority determination unit 70 outputs the packet priority 80 and the acknowledge packet 31 to the packet buffer 72.
  • the priority determination unit 70 receives the retransmission non-application packet 14 from the upper layer processing unit 2, the priority determination unit 70 refers to the priority table 71 based on the packet type 81 and determines the packet priority corresponding to the retransmission non-application packet 14. Identify 80. The priority determination unit 70 outputs the packet priority 80 and the retransmission non-application packet 14 to the packet buffer 72.
  • the packet buffer 72 temporarily stores the retransmission non-application packet 14, the encapsulated packet 30, and the acknowledge packet 31.
  • the packet buffer 72 includes N (N is a natural number) physical or logical waiting queues 73-1 to 73-N. In addition, when not specifying in particular, it demonstrates as waiting queue 73.
  • FIG. The number N of the waiting queues 73 is equal to the number of types of packet priorities 80 set in the priority table 71. Each wait queue 73 corresponds to each of the packet priorities 80.
  • the priority control unit 22 described above determines whether the retransmission non-application packet 14 or the encapsulated packet 30 is based on the value X (X is a natural number, 1 ⁇ X ⁇ N) of the packet priority 80 specified by the priority table 71. , And acknowledge packet 31 are stored in the corresponding waiting queue 73-X in the packet buffer 72.
  • the arbitration unit 74 outputs the retransmission non-application packet 14, the encapsulation packet 30, and the acknowledge packet 31 to the lower layer processing unit 3.
  • the arbitration unit 74 acquires the retransmission non-application packet 14, the encapsulated packet 30, and the acknowledge packet 31 stored in the packet buffer 72 in order of packet priority 80 and outputs the packet to the lower layer processing unit 3.
  • 7A and 7B are flowcharts showing the transmission operation of the normal packet 10 by the retransmission control unit 1 in the present embodiment.
  • the retransmission control unit 1 determines whether the normal packet 10 has been received from the upper layer processing unit 2 (step S100). When the normal packet 10 is not received (No in step S100), this step is repeated until the normal packet 10 is received.
  • the retransmission control unit 1 determines the packet type 81 of the reception normal packet 10 (step S101).
  • the packet type 81 indicates the retransmission applied packet 13
  • the transmitter 20 receives the retransmission applied packet 13.
  • the priority control unit 22 receives the reception normal packet 10 as the retransmission non-application packet 14.
  • the priority determination unit 70 of the priority control unit 22 sets the packet type 81 indicating the “non-retransmission applicable packet” in the received packet (step S107). Thereafter, the process proceeds to step S108.
  • the identifier extraction unit 40 of the transmission unit 20 extracts the packet identifier 32 from the retransmission applied packet 13 (step S102).
  • the identifier extraction unit 40 outputs the packet identifier 32 and the retransmission applied packet 13 to the encapsulation unit 42 and simultaneously stores the packet identifier 32 and the retransmission applied packet 13 in the retransmission buffer 41 (step S103).
  • the transmitter 20 creates a new queue entry 60 in the retransmission buffer 41 based on the retransmission applied packet 13 and the packet identifier 32.
  • the transmitting unit 20 initializes the number of retransmissions 50 in the queue entry 60 to “1”.
  • the encapsulation unit 42 of the transmission unit 20 generates the encapsulated packet 30 from the retransmission applied packet 13 and the packet identifier 32 (step S104).
  • the encapsulation unit 42 sets the number of retransmissions 50 included in the encapsulated packet 30 to “0”.
  • the encapsulation unit 42 outputs the encapsulated packet 30 to the priority control unit 22. Steps S103 and S104 may be performed in parallel.
  • the priority determination unit 70 of the priority control unit 22 receives the encapsulated packet 30 from the encapsulation unit 42, the priority determination unit 70 extracts the number of retransmissions 50 from the encapsulated packet 30 (step S105). Also, the priority determination unit 70 sets the packet type 81 in the encapsulated packet 30 as the “encapsulated packet 30” (step S106). Thereafter, the process proceeds to step S108.
  • the priority determination unit 70 refers to the priority table 71 based on the packet type 81 and the number of retransmissions 50 to specify the packet priority 80 of the encapsulated packet 30, the retransmission non-application packet 14, or the acknowledge packet 31. (Step S108).
  • the priority control unit 22 stores the encapsulated packet 30, the retransmission non-application packet 14, or the acknowledge packet 31 in the waiting queue 73 of the packet buffer 72 corresponding to the identified packet priority 80 (step S109).
  • the arbitration unit 74 reads the encapsulated packet 30, the retransmission non-application packet 14, or the acknowledge packet 31 in the descending order of the packet priority 80 from the packet buffer 72.
  • the arbitration unit 74 outputs the read packet to the lower layer processing unit 3 (step S110). Thus, the operation flow ends.
  • FIG. 8A and FIG. 8B are flowcharts showing an operation at the time of retransmission of the retransmission applied packet 13 by the retransmission control unit 1 in the present embodiment.
  • the transmission unit 20 determines whether the elapsed time from registration exceeds the retransmission timeout time or the queue entry 60 exists (step S200). When there is no queue entry 60 for which the elapsed time exceeds the retransmission timeout time (No in step S200), this step is repeated.
  • step S200 when there is a queue entry 60 in which the elapsed time exceeds the retransmission timeout time (Yes in step S200), the transmitter 20 starts the retransmission applied packet 13, the packet identifier 32, and the number of retransmissions 50 from the queue entry 60. And are read out (step S201).
  • the transmitting unit 20 determines whether the read retransmission number 50 has reached a predetermined upper limit L (step S202). If the number of retransmissions 50 has reached the upper limit L (Yes in step S202), the transmission unit 20 deletes the read queue entry 60 from the retransmission buffer 41 (step S203). In this case, the operation flow ends.
  • the transmission unit 20 increases the number of retransmissions 50 of the queue entry 60 read by "1" (step S204). Then, the transmitting unit 20 moves the queue entry 60 to the end of the retransmission buffer 41 (step S205). As a result, the queue entry 60 is subject to retransmission again.
  • the encapsulation unit 42 of the transmission unit 20 generates the encapsulated packet 30 based on the read retransmission applied packet 13, the packet identifier 32, and the number of retransmissions 50 (step S206).
  • the encapsulation unit 42 outputs the encapsulated packet 30 to the priority control unit 22.
  • the priority determination unit 70 of the priority control unit 22 receives the encapsulated packet 30 from the encapsulation unit 42, the priority determination unit 70 extracts the number of retransmissions 50 from the encapsulated packet 30 (step S207). Further, the priority determination unit 70 sets the packet type 81 in the encapsulated packet 30 as the “encapsulated packet 30” (step S208).
  • the priority determination unit 70 specifies the packet priority 80 of the encapsulated packet 30 with reference to the priority table 71 (step S209).
  • the priority determination unit 70 refers to the priority table 71 and identifies the packet priority 80 corresponding to the packet type 81 and the number of retransmissions 50 of the encapsulated packet 30 extracted in step S207.
  • the priority control unit 22 stores the encapsulated packet 30 in the waiting queue 73 of the packet buffer 72 corresponding to the identified packet priority 80 (step S210).
  • the arbitration unit 74 reads the encapsulated packet 30 from the packet buffer 72 in the order of the packet priority 80.
  • the arbitration unit 74 outputs the encapsulated packet 30 to the lower layer processing unit 3 (step S211). Thus, the operation flow ends.
  • FIG. 9A and FIG. 9B are flowcharts showing the operation at the time of reception of the received packet 12 by the retransmission control unit 1 in the present embodiment.
  • the retransmission control unit 1 determines whether the received packet 12 has been received from the lower layer processing unit 3 (step S300). When the received packet 12 is not received (No in step S300), this step is repeated until the received packet 12 is received. On the other hand, when the received packet 12 is received (Yes in step S300), the receiving unit 21 determines the packet type 81 of the received packet 12 (step S301).
  • the receiving unit 21 extracts the retransmission applied packet 13 and the packet identifier 32 from the encapsulated packet 30 (step S302, the retransmission applied packet 13 is ranked high).
  • the reception unit 21 generates an acknowledge packet 31 based on the extracted retransmission applied packet 13 and the packet identifier 32 (step S304).
  • the acknowledge packet 31 is output to the priority control unit 22. Note that steps S303 and S304 may be executed in parallel.
  • the priority determination unit 70 of the priority control unit 22 receives the acknowledge packet 31 from the reception unit 21.
  • the priority determination unit 70 sets the packet type 81 as the “acknowledge packet 31” in the acknowledge packet 31 (step S305).
  • the priority determination unit 70 specifies the packet priority 80 of the acknowledge packet 31 with reference to the priority table 71 based on the packet type 81 (step S306).
  • the priority control unit 22 stores the acknowledge packet 31 in the waiting queue 73 of the packet buffer 72 corresponding to the identified packet priority 80 (step S307).
  • the arbitration unit 74 reads the acknowledge packet 31 from the packet buffer 72 in the order of the packet priority 80.
  • the arbitration unit 74 outputs the acknowledge packet 31 to the lower layer processing unit 3 (step S308). Thus, the operation flow ends.
  • step S301 if the packet type 81 of the received packet 12 is "acknowledge packet 31", the receiver 21 extracts the packet identifier 32 from the acknowledge packet 31 and terminates the acknowledge packet 31 (step S309). .
  • the receiving unit 21 outputs the packet identifier 32 to the transmitting unit 20 (step S310).
  • the transmitting unit 20 receives the packet identifier 32 from the receiving unit 21, the transmitting unit 20 deletes the queue entry 60 corresponding to the retransmission packet identifier 32.
  • the operation flow ends.
  • step S301 when the packet type 81 of the received packet 12 is "retransmission non-application packet 14", the reception unit 21 outputs the retransmission non-application packet 14 to the upper layer processing unit 2 (step S311). Thus, the operation flow ends.
  • FIG. 10 is a diagram showing a specific example of priority control processing by the priority control unit 22 in the present embodiment.
  • FIG. 10 it is assumed that all packets 6 input to the priority control unit 22 are encapsulated packets 30.
  • the priority determination unit 70 determines the packet priority 80 based on the number of retransmissions 50 included in the encapsulated packet 30 input from the transmission unit 20 and the priority table 71.
  • the encapsulated packet 30 having the packet priority 80 set therein is stored as the transmission packet 11 in the waiting queue 73 of the packet buffer 72.
  • the packet priority 80 recorded in the priority table 71 corresponds to the wait queue 73-1 to N of the packet buffer 72, and the wait queue corresponding to the priority 80 set for the transmission packet 11
  • the transmission packet 11 is stored in 73-1 to 73-N.
  • the arbitration unit 74 searches the packet buffer 72. At the time of retrieval, the arbitration unit 74 first selects the wait queues 73-1 to 73-X (1.ltoreq.X.ltoreq.N) having the highest packet priority 80, and the encapsulated packet 30 in the wait queue 73-X is selected. Are output to the lower layer processing unit 3. After that, the arbitration unit 74 selects the wait queue 73-X in descending order of the packet priority 80, and outputs the encapsulated packet 30 in the wait queue 73-X to the lower layer processing unit 3.
  • the arbitration unit 74 After outputting the capsule packet 30 in the wait queue 73-X with the lowest packet priority 80, the arbitration unit 74 returns to the operation of searching for the wait queue 73-X with the highest packet priority 80 again.
  • the arbitration unit 74 outputs the transmission packet 11 to the lower layer processing unit 3 by repeating such an operation.
  • the arbitration unit 74 searches the wait queue 73-X with equal probability in the order of packet priority 80, but the present invention is not limited to this operation.
  • parameters such as the average value of the number of retransmissions 50 and the reception frequency for each type of packet type 81 are collected, and based on these parameters, the search frequency of the waiting queue 73 corresponding to the packet priority 80 with high reception frequency is The operation may be set to a high setting, or may be set to a low search frequency of the waiting queue 73 corresponding to the packet priority 80 with a low search frequency.
  • the retransmission control unit 1 assigns a packet priority 80 according to the packet type 81.
  • the retransmission control unit 1 performs priority control by giving high priority to the acknowledgment packet 31, the retransmission applied packet 13, and the retransmission not applied packet 14 in this order.
  • the retransmission control unit 1 performs priority control by giving higher priority to the retransmission applied packet 13 as the number of retransmissions 50 increases. Therefore, retransmission control unit 1 preferentially transmits acknowledge packet 31 among retransmission application packet 13 and retransmission non-application packet 14 among packets to be transmitted, and also applies retransmission application packet 13 from retransmission non-application packet 14.
  • the retransmission control unit 1 can preferentially transmit the retransmission applied packet 13 among the retransmission applied packets 13 as the retransmission applied packet 13 has a large number of retransmissions 50. As a result, the retransmission control unit 1 can improve the communication performance even in a state where the load on the network 4 is high by suppressing the occurrence of multiple retransmissions due to the discarding of the retransmission applied packet 13 and the acknowledge packet 31.
  • FIG. 11 is a diagram showing a configuration example in the case where the priority control unit 22 in the present embodiment is applied to a network relay device.
  • the priority control unit 22 is applicable to a network relay apparatus such as a switch.
  • the priority control switch 103 intervenes between the plurality of transmission terminals 100 and the plurality of reception terminals 101.
  • the priority control switch 103 includes a switch 102 and a plurality of priority control units 22.
  • the switch 102 and the plurality of priority control units 22 are connected to one another.
  • a plurality of priority control units 22 are provided corresponding to each output port of the switch 102 one by one.
  • the switch 102 is connected to a plurality of transmission terminals 100, and the plurality of priority control units 22 are connected to a plurality of reception terminals 101 provided correspondingly.
  • the number of the transmission terminal 100 and the reception terminal 101 connected to the switch 102 is not limited. Further, the number of priority control switches 103 interposed between the transmitting terminal 100 and the receiving terminal 101 is not limited.
  • the priority control unit 22 in FIG. 11 operates in the same manner as the priority control unit 22 described with reference to FIG. 5 except that the input / output connection relationship is different.
  • the priority control unit 22 receives all of the retransmission non-application packet 14, the encapsulated packet 30, and the acknowledge packet 31 from the switch 102. Then, the priority control unit 22 outputs the transmission packet 11 to the corresponding receiving terminal 101.
  • FIG. 12 is a diagram showing a configuration example of a conventional switch 102 to which the priority control unit 22 in the present embodiment is applied.
  • the switch 102 combines a plurality of packets 6 received from each transmitting terminal 100 into one output by the multiplexer 104, and outputs the transmitting packet 11 to each receiving terminal 101 by the demultiplexer 105.
  • the switch 102 thereby enables communication at a high rate.
  • FIG. 13 is a diagram showing a configuration example of a network relay device when the priority control unit 22 in this embodiment is applied to the inside of the switch 102.
  • priority control unit 22 is provided between multiplexer 104 and demultiplexer 105 in switch 102.
  • the priority control switch 103 to which the priority control unit 22 is applied, it is possible to perform the priority control of the packet 6 not only in the communication device 5 but also in the network relay device in the network 4. Therefore, in the network 4, the retransmission suppression effect of the packet 6 can be further enhanced, and the communication efficiency can be further enhanced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 ネットワークの負荷が高い状態においても通信性能を向上させることが可能なパケット再送制御技術を提供する。パケットパケット再送制御装置は、送信されるべきパケットのパケットに対する再送制御処理の要否に関連して区分されるパケット種別を設定して、パケットを送信する優先順位を示す優先度をパケット種別に基づいて決定する優先度判定部と、優先度に対応して設けられた複数のキューを具備して、複数のキューのうちパケットの優先度に対応するキューへパケットを格納するパケットバッファと、複数のキューのうち優先度の高いキューに格納されたパケットから順に下位レイヤへ出力する調停部とを備える。

Description

パケット再送制御装置とパケット再送制御方法
 本発明は、パケット通信におけるパケット再送制御に関する。
 パケット通信ネットワークでは、伝送中の通信パケットの廃棄や破壊が発生する可能性がある。これは、パケットを転送するネットワークルータやネットワークスイッチにおける輻輳の発生や、信号受信感度の低下、あるいは外部からの電磁ノイズ等に起因する。一般的に、破棄や破壊による通信パケットの消失は、アプリケーション層あるいはトランスポート層上のプロトコルによって検知される。そのようなプロトコルにより、消失したパケットの再送(retransmission)が行われ、送信されるべきデータの完全性が保証される。
 具体的には、送信装置は受信装置に通信パケットを送信し、受信装置は通信パケットの受信に応答してアクノリッジ(ACK:ACKnowledgement)パケットを送信装置に返信する。このアクノリッジパケットにより、送信装置は、送出パケットが受信装置に無事に到達したことを認識する。一方、送信装置と受信装置との間のネットワーク上でパケットが消失した場合、送信装置は、消失パケットに対するアクノリッジパケットを受け取ることはない。送信装置は、通信パケット送出後、所定の時間内にアクノリッジパケットを受け取らない場合、送出パケットを受信装置へ再送する。なお、上記所定の時間は、「再送タイムアウト(RTO:Retransmission Time Out)」と呼ばれている。また、このようなパケット再送制御を行う送信装置は、アクノリッジパケットを受け取るまでに送出パケットを一時的に保管するための記憶領域を備えており、この記憶領域は、以下、「再送バッファ」と参照される。
 インターネットで用いられるTCP(Transmission Control Protocol)は、このようなパケット再送制御を行う代表的なトランスポート層プロトコルである。
 このようなパケット再送制御に関連する技術が、非特許文献1に記載されている。非特許文献1によれば、トランスポート層よりも下位のMAC(Media Access Control)層において、パケット再送制御が実施される。その理由は、次の通りである。
 例として、データセンタ内のネットワークのような、往復遅延時間(RTT:Round-Trip Time)が非常に短いネットワークを考える。このようなネットワークでは、再送タイムアウトをマイクロ秒レベルにまで短縮することによって、パケット再送までの待ち時間を減少させ、通信効率を向上させることができる。しかしながら、一般的にTCPは、OS(Operating System)内に実装されているので、TCPの再送タイムアウトをマイクロ秒レベルまで短縮することは困難である。例えば、Linuxにおける単位時間(Jiffies)の精度は高々数ミリ秒であり、マイクロ秒単位の時間計測には使用できない。そこで、非特許文献1では、OSより下位のMAC層においてパケット再送制御を実施することにより、再送タイムアウトがマイクロ秒レベルにまで短縮されて、上記問題を解決している。
 ところで、パケット再送制御では、ネットワーク輻輳などに起因して再送パケットやアクノリッジパケットが破棄されると、再送パケットやアクノリッジパケットの更なる再送が誘発される。このような再送の繰り返し、すなわち多重再送は、ネットワークの伝送帯域を浪費し、通信性能の低下を招く。多重再送を抑制するために、再送パケットやアクノリッジパケットは、可能な限り破棄されないことが望ましい。そのためには、再送パケットやアクノリッジパケットは、ネットワークにおいて、未だ再送の行われていないパケット(以下、初回パケット)よりも優先して転送されることが求められる。
 しかし、非特許文献1の開示されたパケット再送制御方法では、初回パケットと、再送パケット、及びアクノリッジパケットの3種のパケット間で優先制御を行っていない。そのため、これら3種のパケットがネットワーク中で廃棄される確率は等しくなる。この結果、非特許文献1におけるパケット再送制御方法は、ネットワークの負荷が高い状態において多重再送を容易に引き起こし、通信性能を低下させやすい。
 なお、以下のように、特許文献1~4は、パケット再送制御に関する関連技術を開示している。
 特許文献1のパケット転送制御システムでは、第1部は、通信網と端末装置間に接続され、通信網から端末装置に転送されるパケットの一定時間での転送量を測定し、測定した転送量と予め定められた値との比較に基づき、当該パケットの優先度を決定する。第2部は、通信網を経由して端末装置に接続され、第1部で決定された優先度を当該パケットの転送先に対応付けて記憶し、当該転送先に転送されるパケットに上記優先度を付与して出力する。第3部は、通信網内に設置され、第2部から出力されたパケットを、該パケットに付与された優先度別の異なる記憶装置に一時保持し、優先度に従って、一時保持したパケットの転送もしくは廃棄を行う。第3部は、同じ優先度が付与された異なる種類のパケットを、それぞれ異なる記憶装置に振り分けて一時保持する。
 特許文献2に記載のパケットの送受信を行うパケット交換装置では、転送制御部は、パケット交換装置が受信したパケットに含まれる情報に基づいてパケットの処理優先度を判定する。パケット検索制御部は、パケット交換装置が受信したパケットに含まれる情報に基づいてパケットの宛先検索を行う。装置制御部は、パケット検索制御部が検索した宛先が自装置宛てであるパケットに対するパケット処理を行う。パケット転送部は、転送制御部が判定した処理優先度に応じてパケットを装置制御部へ転送する。転送制御部は、パケットの到着頻度や送信頻度に応じてパケットの処理優先度を変更する。
 特許文献3に記載の無線通信システムの送信局における再送制御方法では、無線レイヤよりも上位のレイヤ(以下、上位レイヤ)から入力された各データに付与されているシーケンス番号が抽出され、該抽出したシーケンス番号の入力履歴が管理され、該入力履歴に基づいて、無線レイヤにおけるARQ(Automatic Repeat Request)処理のために前記入力データを記録する再送バッファからの送信データの読み出し順序が制御される。
 特許文献4に記載の受信パケット処理方法では、受信したパケットから一部のデータが抜き出され、前記抜き出されたデータに対しハッシュ関数を用いた演算を行うことによりダイジェストデータが生成される。ホストコンピュータから予め与えられそれぞれ処理優先度に対応する複数のパケット選択データと前記ダイジェストデータとが比較され、前記ダイジェストデータと一致するパケット選択データが検出される。前記検出されたパケット選択データに対応して前記パケットの処理優先度が決定され、予め用意された複数のメモリの中から前記決定された処理優先度に応じて1つのメモリが選択されて前記パケットが格納される。前記比較工程で前記ダイジェストデータと一致するパケット選択データが無い場合に前記パケットが廃棄される。
特開2004-241952号公報 特開2008-054070号公報 特開2006-295847号公報 特開2005-223673号公報
 本発明の目的は、ネットワークの負荷が高い状態においても通信性能を向上させることが可能なパケット再送制御技術を提供することにある。
 本発明の一つの観点においてパケット再送制御装置が提供される。パケット再送制御装置は、送信するべきパケットのパケットに対する再送制御処理の要否に関連して区分されるパケット種別を設定して、パケットを送信する優先順位を示す優先度をパケット種別に基づいて決定する優先度判定部と、優先度に対応して設けられた複数のキューを具備して、複数のキューのうちパケットの優先度に対応するキューへパケットを格納するパケットバッファと、複数のキューのうち優先度の高いキューに格納されたパケットから順に下位レイヤへ出力する調停部とを備える。
 本発明の他の観点において、パケット再送制御方法が提供される。パケット再送制御方法は、送信するべきパケットのパケットに対する再送制御処理の要否に関連して区分されるパケット種別を設定するステップと、パケットを送信する優先順位を示す優先度をパケット種別に基づいて決定するステップと、優先度に対応して設けられた複数のキューのうちパケットの優先度に対応するキューへパケットを格納するステップと、複数のキューのうち優先度の高いキューに格納されたパケットから順に下位レイヤへ出力するステップとを備える。
 本発明のさらに他の観点において、パケット再送制御プログラムが提供される。パケット再送制御プログラムは、上述のパケット制御方法をコンピュータに実現させる。
 本発明によれば、再送パケットや確認応答パケットの破棄による多重再送の発生を抑制して、ネットワークの負荷が高い状態においても通信性能を向上させることが可能となる。
図1は、本発明の第1実施形態における通信ネットワークシステムを示す図である。 図2は、本発明の第1実施形態における再送制御装置の構成を示す図である。 図3は、本発明の第1実施形態における送信部の構成を示す図である。 図4は、本発明の第1実施形態における再送バッファの構成を示す図である。 図5は、本発明の第1実施形態における優先制御部の構成を示す図である。 図6は、本発明の第1実施形態における優先度テーブルの構成を示す図である。 図7Aは、本発明の第1実施形態におけるパケット再送制御装置による通常パケットの送信動作を示すフローチャートである。 図7Bは、本発明の第1実施形態におけるパケット再送制御装置による通常パケットの送信動作を示すフローチャートである。 図8Aは、本発明の第1実施形態におけるパケット再送制御装置による再送適用パケットの再送時の動作を示すフローチャートである。 図8Bは、本発明の第1実施形態におけるパケット再送制御装置による再送適用パケットの再送時の動作を示すフローチャートである。 図9Aは、本発明の実施形態におけるパケット再送制御装置による受信パケットの受信時の動作を示すフローチャートである。 図9Bは、本発明の実施形態におけるパケット再送制御装置による受信パケットの受信時の動作を示すフローチャートである。 図10は、本発明の実施形態における優先制御部による優先制御処理の具体例を示す図である。 図11は、本発明の実施形態における優先制御部をネットワーク中継装置に適用した場合の構成例を示す図である。 図12は、本発明の実施形態における優先制御部を適用するスイッチの構成例を示す図である。 図13は、本発明の実施形態における優先制御部をスイッチ内に適用した場合のネットワーク中継装置の構成例を示す図である。
 添付図面を参照して、以下に本発明によるパッケト再送制御装置について詳細に説明する。
 本発明のパケット再送制御装置は、送信されるべき通信パケットのパケット種別に応じて優先制御を行う。本発明において、パケットは、再送適用パケットと、再送非適用パケットと、アクノリッジ(ACK:ACKnowledgement)パケットとの3種のパケット種別に分類される。再送適用パケットは、再送制御が適用されるパケットである。再送非適用パケットは、再送制御が適用されないパケットである。アクノリッジパケットは、再送適用パケットが受信されたとき、パケットを送信した送信装置に対して送信されるアクノリッジパケットである。
 パケット再送制御装置は、アクノリッジパケット、再送適用パケット、再送非適用パケットの順により高い優先度を付与して優先制御を行う。また、パケット再送制御装置は、再送適用パケットの再送にあたり、再送適用パケットの再送回数が多いとき、高い優先度を付与して優先制御を行う。そのため、パケット再送制御装置は、送信されるべきパケットのうち、アクノリッジパケットを再送適用パケットや再送非適用パケットより優先的に送信し、また、再送適用パケットを再送非適用パケットより優先的に送信することが可能となる。また、パケット再送制御装置は、再送適用パケットのうちでも、再送回数の多い再送適用パケットを優先的に送信することができる。これにより、パケット再送制御装置は、再送適用パケットやアクノリッジパケットの破棄による多重再送の発生を抑制して、ネットワークの負荷が高い状態においても通信性能を向上させることが可能となる。
 はじめに、本発明の第1実施形態におけるパケット再送制御装置の構成を説明する。図1は、本発明の第1実施形態によるパケット再送制御装置が適用される通信ネットワークシステムの構成を示す図である。通信ネットワークシステムは、複数の通信装置5と、ネットワーク4とを備える。複数の通信装置5は、ネットワーク4を介して互いに接続されている。
 まず、ネットワーク4は、複数の通信装置5の間で送受信されるパケット6を転送する。ネットワーク4では、ネットワークルータや、ネットワークスイッチのような複数の伝送装置が伝送線路によって互いに接続されている。ネットワーク4は、予め定められた送信経路に沿って、あるいは、パケット6に含まれる宛先情報に従って決定される送信経路に沿って、パケット6を適切な宛先へ送信する。ネットワーク4では、電磁ノイズやトラヒックの輻輳などの要因により、転送中のパケット6が消失する可能性がある。
 次に、複数の通信装置5の各々は、他の通信装置5との間でネットワーク4を介してパケット6の送受信を行う。通信装置5の各々は、再送制御ユニット1と、上位レイヤ処理部2と、下位レイヤ処理部3とを備える。
 上位レイヤ処理部2は、トランスポート層、またはアプリケーション層の処理を行う。トランスポート層の通信プロトコルは、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)に例示される。アプリケーション層の通信プロトコルは、HTTP(Hyper Text Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)に例示される。本実施形態では、上位レイヤ処理部2により生成され、もしくは終端されるパケット6を、他のパケット6と区別するために、通常パケット10と呼ぶ。本実施形態において通常パケット10は、再送適用パケットと、再送非適用パケットとを含む。
 次に、再送制御ユニット1は、上位レイヤ処理部2から通信パケットを受信して、再送制御処理、及び優先制御処理を施して、送信パケット11として下位レイヤ処理部3へ出力する。また、再送制御ユニット1は、下位レイヤ処理部3から通信パケット12を受信して、その受信パケット12がアクノリッジパケット31であれば、アクノリッジパケットを終端する。また、再送制御ユニット1は、その受信パケット12が再送適用パケットを含んでいれば、それを上位レイヤ処理部2へ出力すると共に、アクノリッジパケットを生成して送信側に返信する。
 次に、下位レイヤ処理部3は、物理層とリンク層の処理を行う。物理層とリンク層は、イーサネット(登録商標)の規格に従う。下位レイヤ処理部3は、再送制御ユニット1から出力された送信パケット11を、所定の手順に従ってネットワーク4へ送信する。また、下位レイヤ処理部3は、ネットワーク4から受信された受信パケット12を再送制御ユニット1へ出力する。
 次に、再送制御ユニット1の構成を詳細に説明する。図2は、本実施形態における再送制御ユニット1の構成を示す図である。本実施形態の再送制御ユニット1は、送信部20と、受信部21と、優先制御部22とを備える。なお、上述した再送制御ユニット1は、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよい。あるいは、ハードウェアとソフトウェアの組み合わせにより実現されてもよい。
 送信部20は、上位レイヤ処理部2から通常パケット10としての再送適用パケット13を受信する。送信部20は、再送適用パケット13からカプセル化パケット30を生成して、カプセル化パケット30を優先制御部22へ出力する。カプセル化パケット30は、再送適用パケット13に再送制御処理に必要な情報を付与したパケット6である。
 また、送信部20は、受信部21から受信パケット12のパケット識別子32を受信する。送信部20は、再送タイムアウトが起きるまでに、既に送信されたカプセル化パケット30に対応するパケット識別子32を受信部21から受信しない場合、当該カプセル化パケット30を再送する。
 次に、受信部21は、下位レイヤ処理部3から受信パケット12を受信する。受信部21は、受信パケット12がカプセル化パケット30である場合、カプセル化パケット30から通常パケット10として再送適用パケット13とパケット識別子32を抽出する。受信部21は、再送適用パケット13を上位レイヤ処理部2へ出力する。これと同時に受信部21は、抽出されたパケット識別子32に基づいて当該再送適用パケット13に対するアクノリッジパケット31を生成して、アクノリッジパケット31を優先制御部22へ出力する。アクノリッジパケット31は、再送制御ユニット1により生成され、もしくは終端される。
 また、受信部21は、下位レイヤ処理部3から入力された受信パケット12がアクノリッジパケット31である場合、アクノリッジパケット31からパケット識別子32を抽出して、アクノリッジパケット31を終端する。受信部21は、抽出されたパケット識別子32を送信部20へ出力する。さらに、受信部21は、下位レイヤ処理部3から受信された受信パケット12が再送非適用パケット14である場合、その再送非適用パケット14を上位レイヤ処理部2へ出力する。
 次に、優先制御部22は、優先制御処理を行う。優先制御部22は、上位レイヤ処理部2から再送非適用パケット14を受信し、送信部20からカプセル化パケット30を受信し、また、受信部21からアクノリッジパケット31を受信する。優先制御部22は、これらのパケットのパケット種別とカプセル化パケット30に含まれる再送回数とに基づいてパケット優先度を設定する。優先制御部22は、パケットに設定されたパケット優先度に従って、パケット優先度の高い順に各パケットを下位レイヤ処理部3へ出力する。
 ここで、カプセル化パケット30が重複する情報を含んでいる場合、送信部20は、その情報を付加しなくとも良い。これにより、カプセル化パケット30のパケット長を短縮することができる。例えば、再送回数が再送制御ユニット1により管理されており、またカプセル化パケット30にも含まれる場合、カプセル化パケット30の再送回数は冗長であるので付与しなくとも良い。また、このような情報の省略をすることにより、カプセル化パケット30を用いずに再送処理を行ってもより。
 次に、送信部20の構成を詳細に説明する。図3は、本実施形態における送信部20の構成を示す図である。本実施形態の送信部20は、識別子抽出部40と、再送バッファ41と、カプセル化部42とを備える。
 識別子抽出部40は、上位レイヤ処理部2より再送適用パケット13を受信する。識別子抽出部40は、再送適用パケット13からパケット識別子32を抽出して、パケット識別子32と再送適用パケット13とを再送バッファ41とカプセル化部30へ出力する。
 次に、再送バッファ41は、キューエントリ60を格納するFIFO(First In,First Out)型のキューである。
 図4は、本実施形態における再送バッファ41の構成を示す図である。図4の再送バッファ41にはキューエントリ60-1~60-Mが格納されているが、以下、特に指定しない場合は、キューエントリ60として説明を行う。図4の再送バッファ41において、先頭のキューエントリ60-1が最も古く、末尾のキューエントリ60-Mが最も新しい。キューエントリ60は、識別子抽出部40から受信され、ペイロードを含む再送適用パケット13とパケット識別子32、及びその再送適用パケット13の再送回数50と、再送バッファ41に設定されてからの経過時間(図示せず)を格納する。再送回数50は、キューエントリ60に格納された再送適用パケット13を含むカプセル化パケット30の再送された回数を示す値である。再送回数50に対して、所定の上限値L(Lは自然数)が決まっている。また、再送回数50の初期値は「1」である。
 カプセル化部42は、識別子抽出部40あるいは再送バッファ41から出力される再送適用パケット13とパケット識別子32と、及び再送回数とに基づいてカプセル化パケット30を生成して、そのカプセル化パケット30を優先制御部22へ出力する。
 再送バッファ41に設定されてからのキューエントリ60の経過時間が再送タイムアウト時間を経過したとき、送信部20は、再送適用パケットの再送処理を以下のように行う。
 送信部20は、キューエントリ60内の再送適用パケット13、パケット識別子32、再送回数50をカプセル化部42へ出力する。その後、送信部20は、経過時間を一定時間ごとに更新し、再送タイムアウト時間を経過したか否かを判定する。再送タイムアウト時間を経過しているとき、送信部20は、その再送回数50が所定の上限値Lに達しているかを判定する。再送回数50が上限値Lに達している場合、送信部20は、当該キューエントリ60を再送バッファ41から削除する。
 送信部20は、カプセル化部42へ出力された再送適用パケット13の再送回数50が上限値Lに達していない場合、再送適用パケット13、パケット識別子32、及び再送回数50をカプセル化部42に出力する。カプセル化部30は、再送適用パケット13、パケット識別子32、及び再送回数50からカプセル化パケット30を生成する。その後、送信部20は、当該キューエントリ60の再送回数50を「1」だけ増加させる。また、送信部20は、当該キューエントリ60の経過時間をリセットした上で、そのキューエントリ60を再送バッファ41の末尾へ移動させる。その後、送信部20は、再び、当該キューエントリ60に対する再送タイムアウト時間の経過を待つ。
 また、送信部20は、受信部21からパケット識別子32を受信すると、そのパケット識別子32と一致するパケット識別子32を有するキューエントリ60が存在するか確認する。送信部20は、一致するパケット識別子32を有するキューエントリ60が存在する場合、当該キューエントリ60を再送バッファ41から削除する。
 次に、優先制御部22の構成を詳細に説明する。図5は、本実施形態における優先制御部22の構成を示す図である。優先制御部22は、優先度判定部70と、優先度テーブル71と、パケットバッファ72と、待ちキュー73-1~73-Nと調停部74とを備える。
 優先度テーブル71は、パケット種別81と再送回数50にパケット優先度80とに基づいてパケット優先度80を格納している。図6は、本実施形態における優先度テーブル71の構成を示す図である。パケット優先度80は、パケット送信時の優先順位を示している。パケット種別81は、パケットが、再送非適用パケット14か、カプセル化パケット30か、アクノリッジパケット31のいずれかであるかを示す。再送回数50は、パケット種別81がカプセル化パケット30である場合に、優先順位を決定するために参照される。
 パケット種別81が「アクノリッジパケット31」である場合の優先度が最高に設定されている。アクノリッジパケット31を最優先で処理することによって、アクノリッジパケット31の廃棄率を最小にすることができる。アクノリッジパケット31の廃棄を抑えることは、複数回のパケット再送の抑制に最も効果的である。
 また、パケット種別81が「カプセル化パケット30」である場合は、カプセル化パケット30に対応する再送回数50の値が大きい程、優先度が高い。カプセル化パケット30の再送が繰り返されるということは、通信データが宛先に到着する時刻が繰り返しの分だけ遅れていることを意味する。これは、アプリケーションから見た場合の通信性能を劣化させる。このような性能劣化を抑えるため、再送回数50の多いカプセル化パケット30を、再送回数50の少ないものより優先して処理することが望ましい。
 図6では、再送回数50の上限値Lが「10」に設定されている。なお、これは、一例であり、この例に限定されない。また、パケット種別81が再送非適用パケット14、及びアクノリッジパケット31である場合には、再送回数50は参照されない。これらのパケット6は、再送の対象外であるためである。
 なお、パケット種別81と再送回数50の複数の組に対して同じパケット優先度80が割り当てられてもよい。また、図6の例では、パケット優先度80の数値が小さい程、優先度が高いことを示している。しかし、この関係に限定されることは無い。パケット優先度80の数値が大きい程、優先度を高くしても良い。
 優先度判定部70は、送信部20からカプセル化パケット30を、受信部21からアクノリッジパケット31を、上位レイヤ処理部2から再送非適用パケット14を受信する。優先度判定部70は、送信部20からカプセル化パケット30を受信すると、そのカプセル化パケット30から再送回数50を抽出する。抽出された再送回数50とパケット種別に基づいて優先度テーブル71を参照して、当該カプセル化パケット30のパケット優先度80を決定する。具体的には、優先度判定部70は、優先度テーブル71を参照して、パケット種別81がカプセル化パケット30であって、カプセル化パケット30から抽出された再送回数50に対応するパケット優先度80を特定する。優先度判定部70は、そのパケット優先度80とカプセル化パケット30とを、パケットバッファ72へ出力する。
 また、優先度判定部70は、受信部21からアクノリッジパケット31を受信すると、パケット種別81に基づいて優先度テーブル71を参照して、アクノリッジパケット31に対応するパケット優先度80を特定する。優先度判定部70は、そのパケット優先度80とアクノリッジパケット31とを、パケットバッファ72へ出力する。
 さらに、優先度判定部70は、上位レイヤ処理部2から再送非適用パケット14を受信すると、パケット種別81に基づいて優先度テーブル71を参照して、再送非適用パケット14に対応するパケット優先度80を特定する。優先度判定部70は、そのパケット優先度80と再送非適用パケット14とを、パケットバッファ72へ出力する。
 次に、パケットバッファ72は、再送非適用パケット14、カプセル化パケット30、及びアクノリッジパケット31を一時的に格納する。パケットバッファ72は、N個(Nは自然数)の物理的、もしくは論理的な待ちキュー73-1~73-Nを備える。なお、特に指定しない場合、待ちキュー73として説明を行う。待ちキュー73の数Nは、優先度テーブル71に設定されたパケット優先度80の種類の数に等しい。それぞれの待ちキュー73がパケット優先度80の各々に対応している。そのため、前述の優先制御部22は、優先度テーブル71により特定されたパケット優先度80の値X(Xは自然数、1≦X≦N)に基づいて、再送非適用パケット14、カプセル化パケット30、及びアクノリッジパケット31を、パケットバッファ72内の対応する待ちキュー73-Xに格納する。
 次に、調停部74は、再送非適用パケット14、カプセル化パケット30、及びアクノリッジパケット31を下位レイヤ処理部3へ出力する。調停部74は、パケットバッファ72に格納された再送非適用パケット14、カプセル化パケット30、及びアクノリッジパケット31をパケット優先度80順に取得して、そのパケットを下位レイヤ処理部3へ出力する。
[動作の説明]
 次に、本実施形態におけるパケット再送制御装置の動作を説明する。
 はじめに、本実施形態における再送制御ユニット1によるパケット10の送信動作を説明する。図7A、図7Bは、本実施形態における再送制御ユニット1による通常パケット10の送信動作を示すフローチャートである。
 まず、再送制御ユニット1は、上位レイヤ処理部2から通常パケット10が受信されたか否かを判定する(ステップS100)。通常パケット10が受信されていない場合(ステップS100のNo)、通常パケット10が受信されるまで本ステップを繰り返す。
 通常パケット10が受信された場合(ステップS100のYes)、再送制御ユニット1は、受信通常パケット10のパケット種別81を判定する(ステップS101)。パケット種別81が再送適用パケット13を示す場合、送信部20は、その再送適用パケット13を受信する。
 一方、パケット種別81が再送非適用パケット13を示す場合、優先制御部22は、受信通常パケット10を再送非適用パケット14として受信する。優先制御部22の優先度判定部70は、「再送非適用パケット」を示すパケット種別81を受信パケットに設定する(ステップS107)。その後、ステップS108へ移行する。
 送信部20の識別子抽出部40は、再送適用パケット13からパケット識別子32を抽出する(ステップS102)。識別子抽出部40は、パケット識別子32と再送適用パケット13とをカプセル化部42に出力すると同時に再送バッファ41に格納する(ステップS103)。このとき、送信部20は、再送バッファ41に再送適用パケット13とパケット識別子32に基づいて新しいキューエントリ60を作成する。また、送信部20は、そのキューエントリ60内の再送回数50を「1」に初期化する。
 また、送信部20のカプセル化部42は、再送適用パケット13とパケット識別子32からカプセル化パケット30を生成する(ステップS104)。カプセル化部42は、カプセル化パケット30に含まれる再送回数50を「0」に設定する。カプセル化部42は、カプセル化パケット30を優先制御部22へ出力する。なお、ステップS103とステップS104とは、並列に実行されても良い。
 優先制御部22の優先度判定部70は、カプセル化部42からカプセル化パケット30を受信すると、そのカプセル化パケット30から再送回数50を抽出する(ステップS105)。また、優先度判定部70は、カプセル化パケット30にパケット種別81を「カプセル化パケット30」と設定する(ステップS106)。その後、ステップS108へ遷移する。
 優先度判定部70は、パケット種別81と再送回数50とに基づいて優先度テーブル71を参照して、カプセル化パケット30、再送非適用パケット14、あるいはアクノリッジパケット31のパケット優先度80を特定する(ステップS108)。優先制御部22は、カプセル化パケット30、再送非適用パケット14、あるいはアクノリッジパケット31を、特定されたパケット優先度80に対応するパケットバッファ72の待ちキュー73へ格納する(ステップS109)。
 調停部74は、パケットバッファ72からパケット優先度80の高い順にカプセル化パケット30、再送非適用パケット14、あるいはアクノリッジパケット31を読み出す。調停部74は、読み出されたパケットを下位レイヤ処理部3へ出力する(ステップS110)。これにより、本動作フローは終了となる。
 次に、本実施形態における再送制御ユニット1による再送適用パケット13の再送時の動作の説明を行う。図8A、図8Bは、本実施形態における再送制御ユニット1による再送適用パケット13の再送時の動作を示すフローチャートである。
 まず、送信部20は、再送バッファ41に格納されたキューエントリ60において、登録からの経過時間が再送タイムアウト時間を超過したかキューエントリ60が存在するかを判定する(ステップS200)。経過時間が再送タイムアウト時間を超過したキューエントリ60が存在しない場合(ステップS200のNo)、本ステップを繰り返す。
 一方、経過時間が再送タイムアウト時間を超過したキューエントリ60が存在する場合(ステップS200のYes)、送信部20は、そのキューエントリ60から、再送適用パケット13と、パケット識別子32と、再送回数50とを読み出す(ステップS201)。
 送信部20は、読み出された再送回数50が所定の上限値Lに達しているか否かを判定する(ステップS202)。再送回数50が上限値Lに達している場合(ステップS202のYes)、送信部20は、読み出されたキューエントリ60を再送バッファ41から削除する(ステップS203)。この場合、本動作フローは終了となる。
 再送回数50が上限値Lに達していない場合(ステップS202のNo)、送信部20は、読み出されたキューエントリ60の再送回数50を「1」だけ増加させる(ステップS204)。そして、送信部20は、そのキューエントリ60を再送バッファ41の末尾へ移動する(ステップS205)。これにより、当該キューエントリ60は、再び、再送処理の対象となる。
 送信部20のカプセル化部42は、読み出された再送適用パケット13と、パケット識別子32と、再送回数50とに基づいて、カプセル化パケット30を生成する(ステップS206)。カプセル化部42は、そのカプセル化パケット30を、優先制御部22へ出力する。
 優先制御部22の優先度判定部70は、カプセル化部42からカプセル化パケット30を受信すると、そのカプセル化パケット30から再送回数50を抽出する(ステップS207)。また、優先度判定部70は、カプセル化パケット30にパケット種別81を「カプセル化パケット30」と設定する(ステップS208)。
 優先度判定部70は、優先度テーブル71を参照してカプセル化パケット30のパケット優先度80を特定する(ステップS209)。優先度判定部70は、ステップS207で抽出されたカプセル化パケット30のパケット種別81及び再送回数50に対応するパケット優先度80を、優先度テーブル71を参照して特定する。優先制御部22は、カプセル化パケット30を、特定されたパケット優先度80に対応するパケットバッファ72の待ちキュー73へ格納する(ステップS210)。
 調停部74は、パケットバッファ72からパケット優先度80の順にカプセル化パケット30を読み出す。調停部74は、そのカプセル化パケット30を下位レイヤ処理部3へ出力する(ステップS211)。これにより、本動作フローは終了となる。
 次に、本実施形態における再送制御ユニット1による受信パケット12の受信時の動作の説明を行う。図9A、図9Bは、本実施形態における再送制御ユニット1による受信パケット12の受信時の動作を示すフローチャートである。
 まず、再送制御ユニット1は、下位レイヤ処理部3から受信パケット12を受信したか判定する(ステップS300)。受信パケット12を受信しない場合(ステップS300のNo)、受信パケット12を受信するまで本ステップを繰り返す。一方、受信パケット12を受信した場合(ステップS300のYes)、受信部21は、その受信パケット12のパケット種別81を判定する(ステップS301)。
 受信パケット12のパケット種別81が「カプセル化パケット30」である場合、受信部21は、カプセル化パケット30から再送適用パケット13とパケット識別子32とを抽出し(ステップS302、再送適用パケット13を上位レイヤ処理部2へ出力する(ステップS303)。また、受信部21は、抽出された再送適用パケット13とパケット識別子32に基づいてアクノリッジパケット31を生成する(ステップS304)。受信部21は、そのアクノリッジパケット31を優先制御部22へ出力する。なお、ステップS303とステップS304とは並列に実行されても良い。
 優先制御部22の優先度判定部70は、受信部21からアクノリッジパケット31を受信する。優先度判定部70は、アクノリッジパケット31にパケット種別81を「アクノリッジパケット31」と設定する(ステップS305)。優先度判定部70は、パケット種別81に基づいて優先度テーブル71を参照してアクノリッジパケット31のパケット優先度80を特定する(ステップS306)。
 優先制御部22は、アクノリッジパケット31を、特定されたパケット優先度80に対応するパケットバッファ72の待ちキュー73へ格納する(ステップS307)。調停部74は、パケットバッファ72からパケット優先度80の順にアクノリッジパケット31を読み出す。調停部74は、そのアクノリッジパケット31を下位レイヤ処理部3へ出力する(ステップS308)。これにより、本動作フローは終了となる。
 また、ステップS301において、受信パケット12のパケット種別81が「アクノリッジパケット31」である場合、受信部21は、アクノリッジパケット31からパケット識別子32を抽出して、アクノリッジパケット31を終端する(ステップS309)。受信部21は、パケット識別子32を送信部20へ出力する(ステップS310)。送信部20は、受信部21からパケット識別子32を受信すると、再送当該パケット識別子32に対応するキューエントリ60を削除する。これにより、本動作フローは終了となる。
 さらに、ステップS301において、受信パケット12のパケット種別81が「再送非適用パケット14」である場合、受信部21は、再送非適用パケット14を上位レイヤ処理部2に出力する(ステップS311)。これにより、本動作フローは終了となる。
 以上が、本実施形態におけるパケット再送制御装置の動作の説明である。
 続いて、図10を参照して、本実施形態における優先制御部22による優先制御処理の具体例を説明する。図10は、本実施形態における優先制御部22による優先制御処理の具体例を示す図である。なお、図10では、優先制御部22に入力されるパケット6は、全てカプセル化パケット30であるとして説明を行う。
 優先度判定部70は、送信部20から入力されるカプセル化パケット30に含まれる再送回数50と優先度テーブル71とに基づいてパケット優先度80を決定する。パケット優先度80の設定されたカプセル化パケット30は、送信パケット11としてパケットバッファ72の待ちキュー73に格納される。前述の通り、優先度テーブル71に記録されたパケット優先度80とパケットバッファ72の待ちキュー73-1~Nとは対応しており、送信パケット11に設定された優先度80に対応する待ちキュー73-1~Nに送信パケット11が格納される。
 調停部74は、パケットバッファ72を検索する。調停部74は、検索時に、まず、一番パケット優先度80の高い待ちキュー73-1~73-X(1≦X≦N)を選択して、待ちキュー73-X内のカプセル化パケット30を下位レイヤ処理部3へ出力する。また、調停部74は、この後、パケット優先度80の高い順に待ちキュー73-Xを選択して、待ちキュー73-X内のカプセル化パケット30を下位レイヤ処理部3へ出力する。そして、調停部74は、最もパケット優先度80の低い待ちキュー73-X内のカプセルパケット30を出力後、再度一番パケット優先度80の高い待ちキュー73-Xを検索する動作に戻る。調停部74は、このような動作を繰り返して、送信パケット11を下位レイヤ処理部3へ出力する。
 なお、図10の具体例では、調停部74は、待ちキュー73-Xをパケット優先度80順に等確率で検索しているが、この動作には限定しない。例えば、再送回数50の平均値やパケット種別81の種別毎の受信頻度といったパラメータを収集して、これらのパラメータに基づいて、受信頻度の高いパケット優先度80に対応する待ちキュー73の検索頻度を高く設定する動作としても良いし、あるいは、検索頻度の低いパケット優先度80に対応する待ちキュー73の検索頻度を低く設定する動作としても良い。
 ここまで本実施形態におけるパケット再送制御装置の説明を行ってきた。再送制御ユニット1は、パケット種別81に応じてパケット優先度80を付与する。再送制御ユニット1は、アクノリッジパケット31、再送適用パケット13、再送非適用パケット14の順に高い優先度を付与して優先制御を行う。また、再送制御ユニット1は、再送適用パケット13については、再送回数50が多い程、高い優先度を付与して優先制御を行う。そのため、再送制御ユニット1は、送信されるべきパケットのうち、アクノリッジパケット31を再送適用パケット13や再送非適用パケット14より優先的に送信し、また、再送適用パケット13を再送非適用パケット14より優先的に送信することが可能となる。また、再送制御ユニット1は、再送適用パケット13のうちでも、再送回数50の多い再送適用パケット13である程、優先的に送信することができる。これにより、再送制御ユニット1は、再送適用パケット13やアクノリッジパケット31の破棄による多重再送の発生を抑制して、ネットワーク4の負荷が高い状態においても通信性能を向上させることが可能となる。
 ここで、図11は、本実施形態における優先制御部22をネットワーク中継装置に適用した場合の構成例を示す図である。このように、優先制御部22は、スイッチ等のネットワーク中継装置に適用可能である。
 図11を参照すると、優先制御スイッチ103は、複数の送信端末100と複数の受信端末101の間に介在する。優先制御スイッチ103は、スイッチ102と複数の優先制御部22とを備える。スイッチ102と複数の優先制御部22とはそれぞれ接続される。複数の優先制御部22は、スイッチ102の各出力ポートに一つずつ対応して設けられている。また、スイッチ102は、複数の送信端末100と接続され、複数の優先制御部22は、対応して設けられた複数の受信端末101と接続される。
 なお、スイッチ102に接続される送信端末100と受信端末101とが設けられる数量に制限は無い。また、送信端末100と受信端末101との間に介在する優先制御スイッチ103の個数に制限は無い。
 図11における優先制御部22は、入出力接続関係が異なるという点を除けば、図5を用いて説明を行った優先制御部22と同様に動作する。図11の構成例において、優先制御部22は、再送非適用パケット14と、カプセル化パケット30と、アクノリッジパケット31とは、全てスイッチ102から受信する。そして、優先制御部22は、送信パケット11を対応する受信端末101へ出力する。
 さらに、優先制御部22は、スイッチ102内に設置することでも同様の効果を得ることができる。図12は、本実施形態における優先制御部22を適用する従来技術のスイッチ102の構成例を示す図である。スイッチ102は、各送信端末100から受信した複数のパケット6をマルチプレクサ104によって一つの出力にまとめ、デマルチプレクサ105によって各受信端末101に送信パケット11を出力する。スイッチ102は、これにより高いレートでの通信を行うことを可能にしている。
 図13は、本実施形態における優先制御部22をスイッチ102内に適用した場合のネットワーク中継装置の構成例を示す図である。図13を参照すると、優先制御部22は、スイッチ102内のマルチプレクサ104とデマルチプレクサ105の間に設けられる。図13に示した構成例では、図11に示した構成例と同様の効果を得ながら、図11に示した構成例に比較して、優先制御部22の設置数を少なくすることが可能となる。
 このように、優先制御部22を適用した優先制御スイッチ103を導入することで、通信装置5だけでなく、ネットワーク4内のネットワーク中継装置においてもパケット6の優先制御を行うことが可能となる、そのため、ネットワーク4においてパケット6の再送抑制効果をより高めることができ、通信効率を更に向上することができる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、本出願は、日本出願番号2010-115140に基づく優先権を主張するものであり、日本出願番号2010-115140における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  送信されるべきパケットの種別を示すパケット種別を設定し、前記パケットの送信する順を示す優先度を前記パケット種別に基づいて決定する優先度判定部と、
     前記優先度に対して設けられた複数のキューを備え、前記複数のキューのうち前記パケットの前記優先度に対応するキューへ前記パケットを格納するパケットバッファと、
     前記複数のキューのうち前記優先度の高いキューに格納された前記パケットから順に下位レイヤへ出力する調停部と
    を備える
     パケットパケット再送制御装置。
  2.  請求項1に記載のパケットパケット再送制御装置であって、
     前記パケット種別は、再送制御処理を必要とする再送制御適用パケットと、前記再送制御処理を必要としない再送非適用パケットと、前記再送制御適用パケットに対するアクノリッジパケットとを区別し、
     前記優先度判定部は、前記パケット種別が前記アクノリッジパケットである前記パケットに最も高い前記優先度を割り当てる
     パケットパケット再送制御装置。
  3.  請求項2に記載のパケットパケット再送制御装置であって、
     前記優先度判定部は、前記パケットの前記パケット種別が前記再送制御適用パケットである場合に、前記パケットの前記再送回数が多いほど前記優先度を高く設定する
     パケットパケット再送制御装置。
  4.  請求項1乃至請求項3のいずれかに記載のパケットパケット再送制御装置であって、
     前記パケット種別に前記優先度を対応させた優先度テーブルをさらに備え、
     前記優先度判定部は、前記優先度テーブルを参照して前記優先度を決定する
     パケットパケット再送制御装置。
  5.  請求項1乃至請求項4のいずれかに記載のパケットパケット再送制御装置であって、
     前記パケット種別が前記再送適用パケットである前記パケットのペイロードと再送回数とを前記パケットの識別子毎に格納して、前記パケットのペイロードと前記識別子に基づいて前記再送回数を含めたカプセル化パケットを生成する送信部
     をさらに備え、
     前記優先度判定部は、前記カプセル化パケットを参照して前記再送回数を取得する
     パケットパケット再送制御装置。
  6.  請求項1乃至請求項5のいずれかに記載のパケットパケット再送制御装置であって、
     前記調停部は、前記パケット種別毎の受信頻度を集計して、前記パケット種別毎の前記優先度に対応する前記複数のキューの検索頻度を前記受信頻度に応じて変更する
     パケットパケット再送制御装置。
  7.  送信されるべきパケットの種別を示すパケット種別を設定するステップと、
     前記パケットを送信する優先順位を示す優先度を前記パケット種別に基づいて決定するステップと、
     前記優先度に対して設けられた複数のキューのうち前記パケットの前記優先度に対応するキューへ前記パケットを格納するステップと、
     前記複数のキューのうち前記優先度の高いキューに格納された前記パケットから順に下位レイヤへ出力するステップと
     を備えるパケット再送制御方法。
  8.  請求項7に記載のパケット再送制御方法であって、
     前記パケット種別は、前記再送制御処理を必要とする再送制御適用パケットと、前記再送制御処理を必要としない再送非適用パケットと、前記再送制御適用パケットに対するアクノリッジパケットとを区別し、
     前記決定するステップは、
     前記パケット種別が前記アクノリッジパケットである前記パケットに最も高い前記優先度を割り当てるステップ
     を含むパケット再送制御方法。
  9.  請求項8に記載のパケット再送制御方法であって、
     前記決定するステップは、
     前記パケットの前記パケット種別が前記再送制御適用パケットである場合に、前記パケットの前記再送回数が多いほど前記優先度を高く設定するステップ
     を含むパケット再送制御方法。
  10.  請求項7から請求項9までのいずれかに記載のパケット制御方法をコンピュータに実現させるパケット再送制御プログラム。
PCT/JP2011/061188 2010-05-19 2011-05-16 パケット再送制御装置とパケット再送制御方法 WO2011145557A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012515877A JP5696854B2 (ja) 2010-05-19 2011-05-16 パケット再送制御装置とパケット再送制御方法
US13/137,494 US9130877B2 (en) 2010-05-19 2011-08-22 Packet retransmission control apparatus and packet retransmission controlling method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010115140 2010-05-19
JP2010-115140 2010-05-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/137,494 Continuation US9130877B2 (en) 2010-05-19 2011-08-22 Packet retransmission control apparatus and packet retransmission controlling method

Publications (1)

Publication Number Publication Date
WO2011145557A1 true WO2011145557A1 (ja) 2011-11-24

Family

ID=44991660

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/061188 WO2011145557A1 (ja) 2010-05-19 2011-05-16 パケット再送制御装置とパケット再送制御方法

Country Status (3)

Country Link
US (1) US9130877B2 (ja)
JP (1) JP5696854B2 (ja)
WO (1) WO2011145557A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013192128A (ja) * 2012-03-15 2013-09-26 Fujitsu Telecom Networks Ltd 中継装置及び中継方法
JP2017505083A (ja) * 2014-11-17 2017-02-09 華為技術有限公司Huawei Technologies Co.,Ltd. データセンタのサービスを移行するための方法、装置、およびシステム
JP2017073588A (ja) * 2015-10-05 2017-04-13 Necプラットフォームズ株式会社 送信装置、送受信システム、送信方法およびプログラム
JP2022509406A (ja) * 2018-10-31 2022-01-20 コーニンクレッカ フィリップス エヌ ヴェ データ送信プロトコル
CN114008981A (zh) * 2019-06-14 2022-02-01 索尼半导体解决方案公司 通信装置、通信方法和程序

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2016068316A1 (ja) * 2014-10-31 2017-08-10 日本電気株式会社 無線基地局、パケット送信装置、無線端末、制御方法、及びプログラム
CN104461980B (zh) * 2014-11-27 2017-08-25 英业达科技有限公司 信号自动调整系统及方法
US10271376B2 (en) * 2016-09-29 2019-04-23 Intel IP Corporation Optimized transmission for priority data on a radio access technology network
US10490059B2 (en) 2017-12-15 2019-11-26 Comcast Cable Communications, Llc Priority-based wireless collision avoidance and interfering device response
EP3800486A1 (en) * 2019-10-04 2021-04-07 NXP USA, Inc. Time of flight measurement for distance estimation with interference tolerance parameters
US11811877B2 (en) * 2021-05-13 2023-11-07 Agora Lab, Inc. Universal transport framework for heterogeneous data streams

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001127830A (ja) * 1999-11-01 2001-05-11 Nippon Telegr & Teleph Corp <Ntt> データ通信方法及びデータ通信網
JP2006245887A (ja) * 2005-03-02 2006-09-14 Kddi Corp 無線mac処理部における送信パケットスケジューリング方法、プログラム及び無線通信装置
JP2006295847A (ja) * 2005-04-14 2006-10-26 Nec Corp 再送制御装置
JP2007228148A (ja) * 2006-02-22 2007-09-06 Furuno Electric Co Ltd パケット通信装置
JP2010507938A (ja) * 2006-10-25 2010-03-11 トムソン ライセンシング フレーム分類のための方法およびシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1006689B1 (en) * 1998-11-30 2008-02-06 Matsushita Electric Industries Co., Ltd. Packet retransmission control using priority information
US6618397B1 (en) * 2000-10-05 2003-09-09 Provisionpoint Communications, Llc. Group packet encapsulation and compression system and method
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US20030235194A1 (en) * 2002-06-04 2003-12-25 Mike Morrison Network processor with multiple multi-threaded packet-type specific engines
JP3922567B2 (ja) 2003-02-05 2007-05-30 日本電信電話株式会社 パケット転送制御システムとパケット転送制御方法およびプログラムならびにルータ
US7814219B2 (en) * 2003-12-19 2010-10-12 Intel Corporation Method, apparatus, system, and article of manufacture for grouping packets
JP2005223673A (ja) 2004-02-06 2005-08-18 Matsushita Electric Ind Co Ltd 受信パケット処理方法および装置
DE102004044957B4 (de) * 2004-09-16 2007-04-19 Infineon Technologies Ag Medium-Zugriffs-Steuerungs-Einheit, Mobilfunkeinrichtung und Verfahren zum Abbilden mittels einer Mobilfunkeinrichtung zu übertragender Daten
JP4597102B2 (ja) 2006-08-25 2010-12-15 アラクサラネットワークス株式会社 パケット交換装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001127830A (ja) * 1999-11-01 2001-05-11 Nippon Telegr & Teleph Corp <Ntt> データ通信方法及びデータ通信網
JP2006245887A (ja) * 2005-03-02 2006-09-14 Kddi Corp 無線mac処理部における送信パケットスケジューリング方法、プログラム及び無線通信装置
JP2006295847A (ja) * 2005-04-14 2006-10-26 Nec Corp 再送制御装置
JP2007228148A (ja) * 2006-02-22 2007-09-06 Furuno Electric Co Ltd パケット通信装置
JP2010507938A (ja) * 2006-10-25 2010-03-11 トムソン ライセンシング フレーム分類のための方法およびシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013192128A (ja) * 2012-03-15 2013-09-26 Fujitsu Telecom Networks Ltd 中継装置及び中継方法
JP2017505083A (ja) * 2014-11-17 2017-02-09 華為技術有限公司Huawei Technologies Co.,Ltd. データセンタのサービスを移行するための方法、装置、およびシステム
US10397045B2 (en) 2014-11-17 2019-08-27 Huawei Technologies Co.,Ltd. Method for migrating service of data center, apparatus, and system
JP2017073588A (ja) * 2015-10-05 2017-04-13 Necプラットフォームズ株式会社 送信装置、送受信システム、送信方法およびプログラム
JP2022509406A (ja) * 2018-10-31 2022-01-20 コーニンクレッカ フィリップス エヌ ヴェ データ送信プロトコル
US11405490B2 (en) 2018-10-31 2022-08-02 Koninklijke Philips N.V. Smart data transmission protocol optimized for speed and importance
JP7201832B2 (ja) 2018-10-31 2023-01-10 コーニンクレッカ フィリップス エヌ ヴェ データ送信プロトコル
CN114008981A (zh) * 2019-06-14 2022-02-01 索尼半导体解决方案公司 通信装置、通信方法和程序
CN114008981B (zh) * 2019-06-14 2023-09-19 索尼半导体解决方案公司 通信装置、通信方法和计算机可读存储介质

Also Published As

Publication number Publication date
US9130877B2 (en) 2015-09-08
JPWO2011145557A1 (ja) 2013-07-22
JP5696854B2 (ja) 2015-04-08
US20110310797A1 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
WO2011145557A1 (ja) パケット再送制御装置とパケット再送制御方法
JP5383965B2 (ja) 統合型基地局およびモバイル装置のための通信システム内でデータ・ユニットを送信する方法
EP2887595B1 (en) Method and node for retransmitting data packets in a tcp connection
JP5342012B2 (ja) ハンドオーバ性能を改良する装置および方法
US7881205B2 (en) Configurable delay limit for error control communications
WO2007007383A1 (ja) 送信装置、受信装置、情報通信方法
US8773977B2 (en) Packet receiving device, packet communication system, and packet reordering method
US20150289165A1 (en) Introducing simple rlc functionality to node b
WO2015083919A1 (ko) 무선통신의 패킷 손실 저감 방법 및 장치
US7349978B2 (en) Spurious timeout detection in TCP based networks
KR100972166B1 (ko) 무선통신 시스템에서의 프로토콜데이터유닛 순서정렬 방법 및 이를 수행하는 단말
US8054847B2 (en) Buffer management in a network device
JP6800375B2 (ja) 通信装置、通信方法及び通信プログラム
JP5569452B2 (ja) 無線通信装置、方法及びプログラム
JP5664646B2 (ja) パケット整列装置、パケット整列方法、及び記憶媒体
JP2006114973A (ja) 無線基地局及び無線端末装置
JP2023062123A (ja) 無線通信装置、無線通信方法、及び無線通信システム
US20120269194A1 (en) Repeating device, communication system, communication method and recording medium for recording program
CN111669733A (zh) 在蓝牙Mesh网络中的节点处发送数据包的方法
JP2007267249A (ja) データ送信装置、データ送信方法、およびデータ送信プログラム
JP2006086604A (ja) 無線ネットワークの制御装置及び制御方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012515877

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

Country of ref document: EP

Kind code of ref document: A1