WO2014117359A1 - Method and device for processing packet loss feedback message - Google Patents

Method and device for processing packet loss feedback message Download PDF

Info

Publication number
WO2014117359A1
WO2014117359A1 PCT/CN2013/071193 CN2013071193W WO2014117359A1 WO 2014117359 A1 WO2014117359 A1 WO 2014117359A1 CN 2013071193 W CN2013071193 W CN 2013071193W WO 2014117359 A1 WO2014117359 A1 WO 2014117359A1
Authority
WO
WIPO (PCT)
Prior art keywords
tcp
rlc
data packet
packet
response message
Prior art date
Application number
PCT/CN2013/071193
Other languages
French (fr)
Chinese (zh)
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 CN201380000199.1A priority Critical patent/CN104137507B/en
Priority to PCT/CN2013/071193 priority patent/WO2014117359A1/en
Publication of WO2014117359A1 publication Critical patent/WO2014117359A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Definitions

  • the present invention relates to the field of wireless communication technologies, and in particular, to a message processing and device for feedback packet loss. Background technique
  • Transmission Control Protocol is the most widely used transmission protocol on the Internet, but its original design goal is to work in a wired network. Therefore, there is a section of wireless air interface in the TCP connection (ie, wireless TCP). At the time, the TCP protocol involved in the wired network is no longer able to guarantee efficient work.
  • the TCP protocol controls the congestion of the transmission by introducing a control mechanism for the congestion window of the sender.
  • the receiving end notifies the sending end of its current receiving window size, and the transmitting end determines how much data the transmitting end can send to the receiving end according to the size of the receiving window and the size of the congestion window, that is, the value of the real sending window is a congestion window. And the minimum value in the notification window. This prevents the sender from sending too much data without causing TCP buffer overflow at the receiving end and reducing the rate of congestion in the network.
  • Radio network controller in the third generation mobile communication technology (3 Id Genera ion, 3G)
  • Network Control ler, RNC or fourth generation mobile communication technology (3 rd Genera t ion, 3G ) evolved base station (evolut ion NodeB, eNodeB), there may be a corresponding TCP or TCP proxy function entity for the radio TCP accelerates.
  • the receiver On the radio side of a terminal with a TCP proxy function or a TCP entity, due to air interface packet loss and non-sequential delivery, the receiver receives a large number of out-of-order packets.
  • the receiving end will send multiple duplicate acknowledgements (Dup acknowledgement, Dup ACK) or send selective acknowledgement (Selec t acknowledgement, SACK) to the sender, indicating that a packet is lost.
  • Dup ACK duplicate acknowledgements
  • SACK selective acknowledgement
  • the SACK option is supported. If the SACK option is not supported by the receiver, the scheme cannot be used. Therefore, most of the existing packet loss judging methods adopt a scheme of transmitting Dup ACK.
  • the congestion window will decrease, generally decreasing to the threshold of the slow start; and the sender will start a timer after sending a packet. Within the time range of this timer, if the acknowledgment of this packet (acknowl edgemenmen t , ACK ) has not been received, the congestion window will be reduced to 1.
  • the control of the congestion window is crucial in the TCP protocol, and many existing algorithms are given for adjusting the congestion window of TCP.
  • the most common algorithm is to determine whether packet loss is possible based on the estimated bandwidth and the bandwidth corresponding to the congestion window. A judgment is made on the current network state, and the result of this state judgment may be congestion and non-congestion.
  • congestion if a duplicate ACK occurs, or RT0 times out, the current congestion window is modified while retransmitting the data packet; if there is no congestion, if a duplicate ACK occurs, or When RT0 times out, the size of the current congestion window is maintained while retransmitting the data packet, and the problem of insufficient utilization of the wireless air interface caused by the congestion window being adjusted too small is avoided.
  • a first aspect of the present invention provides a radio link control RLC apparatus, including: a processor, a first interface, and a second interface;
  • the first interface is configured to interact with a transmission control protocol TCP device
  • the second interface is configured to interact with the peer device;
  • the processor is used to:
  • the TCP packet received by the first interface carries information of a TCP packet, where the information of the TCP packet includes the following One or any combination: IP address, port and byte range;
  • the processor is configured to form the TCP packet into an RLC data packet, and specifically includes: the processor is configured to:
  • the processor is configured to construct, according to the response message of the RLC data packet, a TCP corresponding to the RLC data packet
  • the response message of the packet including:
  • the processor is used to:
  • the response message of the TCP data packet is constructed by using the correspondence between the RLC data packet and the TCP data packet.
  • the response message of the RLC data packet is an RLC acknowledgement ACK information
  • the processor is configured to construct the message according to the response message of the RLC data packet.
  • the response message of the TCP packet corresponding to the RLC data packet specifically includes: the processor is configured to construct TCP ACK information of the TCP data packet according to the RLC ACK information.
  • the processor is further configured to:
  • the processor when a packet loss occurs, is further configured to:
  • the processor is further configured to:
  • the response message of the RLC data packet is an RLC negative acknowledgement NACK information
  • the processor is configured to construct a response message according to the RLC data packet.
  • the response message of the TCP packet corresponding to the RLC data packet specifically includes: the processor is configured to construct a TCP NACK message of the TCP data packet according to the RLC NACK information. And indicating that the TCP device retransmits the TCP packet corresponding to the TCP NACK information.
  • the processor is configured to construct TCP NACK information of the TCP data packet according to the RLC NACK information, specifically:
  • the processor is used to:
  • the TCP NACK information is constructed according to the RLC NACK information when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold.
  • the response message of the TCP packet is selectively acknowledged by a user plane GPRS tunneling protocol GTP-U extension header or TCP
  • the RLC device is a radio network controller RNC or an evolved base station eNodeB.
  • a TCP device including: a processor and a communication interface;
  • the communication interface is configured to interact with an RLC device
  • the processor is used to:
  • TCP NACK information sent by the RLC device, where the TCP NACK information is configured by the RLC device according to the RLC NACK information;
  • the TCP packet of the lost packet is determined according to the TCP NACK information.
  • the processor is further configured to:
  • the TCP device is an RNC, an eNodeB, a GGSN, an SGSN, or a PGW.
  • a base station device including: an RLC device and a TCP device according to an embodiment of the present invention.
  • a fourth aspect provides a message processing method for feedback packet loss, where the method includes: a radio link control RLC device receives a TCP packet sent by a TCP device of a transmission control protocol, and forms a packet of the TCP packet to form an RLC data. Packet, and sending the RLC data packet to the peer device;
  • the RLC device receives a response message of the RLC data packet returned by the peer device; the RLC device constructs a response message of the TCP data packet corresponding to the RLC data packet according to the response message of the RLC data packet;
  • the RLC device feeds back a response message of the TCP packet to the TCP device.
  • the TCP data packet received by the RLC device carries information of a TCP data packet, where the information of the TCP data packet includes the following: One or any combination of: IP address, port, and byte range;
  • the grouping the TCP data packet into an RLC data packet includes:
  • the RLC device identifies the TCP data packet according to the information of the TCP data packet, and records an identifier of the TCP data packet;
  • the RLC device performs an RLC group packet on the TCP data packet to form an RLC data packet, and identifies the RLC data packet;
  • the RLC device establishes and records a correspondence between the RLC data packet and the TCP data packet according to the identifier of the TCP data packet and the identifier of the RLC data packet.
  • the responding message of the TCP data packet is configured according to the response message of the RLC data packet, specifically:
  • the response message of the RLC data packet is RLC ACK information
  • the TCP ACK information of the TCP packet is constructed based on the RLC ACK information.
  • the RLC device compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information, and if not, determines that the data packet is lost when sent to the TCP device of the peer device. package.
  • the method when a packet loss occurs, the method further includes:
  • the RLC device instructs the TCP device to retransmit the TCP packet in which the packet loss occurs or to send the RLC packet corresponding to the TCP packet in which the packet loss occurs.
  • the RLC device compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information. If they are consistent, it is determined that no packet loss occurs, and the peer device is no longer sent to the TCP device. TCP ACK information fed back by the device.
  • the response message of the RLC data packet is RLC NACK information
  • TCP NACK information of the TCP packet according to the RLC NACK information, to instruct the TCP device to retransmit the TCP packet corresponding to the TCP NACK information.
  • the configuring the TCP NACK information of the TCP data packet according to the RLC NACK information includes:
  • the TCP NACK information is constructed according to the RLC NACK information when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold.
  • the response message of the TCP data packet is delivered by using an extension header of the GTP-U or a TCP SACK option.
  • the fifth aspect provides a message processing method for feedback packet loss, where the method includes: receiving TCP negative acknowledgement NACK information sent by an RLC device, where the TCP NACK information is constructed by the RLC device according to RLC NACK information;
  • the TCP packet of the lost packet is determined according to the TCP NACK information.
  • the method further includes:
  • the congestion window value of the transmitting end is reduced.
  • a sixth aspect provides a message processing apparatus for feeding back a packet, where the apparatus includes: a packet unit, configured to receive a TCP data packet sent by the TCP device, group the TCP data packet into an RLC data packet, and send the RLC data packet to the peer device;
  • a receiving unit configured to receive a response message of the RLC data packet returned by the RLC data packet sent by the peer device for the group packet unit
  • a processing unit configured to construct, according to the response message of the RLC data packet received by the receiving unit, a response message of a TCP data packet corresponding to the RLC data packet;
  • a sending unit configured to feed back a response message of the TCP packet obtained by the processing unit to the TCP device.
  • a receiving subunit configured to receive a TCP data packet sent by the TCP device, and obtain information about a TCP data packet carried in the TCP data packet, where the information of the TCP data packet includes one or any combination of the following: IP address, port and byte range;
  • a recording subunit configured to identify the TCP data packet according to the information of the TCP data packet obtained by the receiving subunit, and record an identifier of the TCP data packet;
  • a packet subunit configured to perform RLC grouping on the TCP packet received by the receiving subunit to form an RLC data packet, and identify the RLC data packet;
  • a storage subunit configured to establish and record a correspondence between the RLC data packet and the TCP data packet according to the identifier of the TCP data packet recorded by the recording subunit and the identifier of the RLC data packet obtained by the group packet subunit .
  • the processing unit is specifically configured to use the storage subunit according to the response message of the RLC data packet Corresponding relationship between the recorded RLC data packet and the TCP data packet, constructing a response message of the TCP data packet.
  • the processing unit when the response message of the RLC data packet received by the receiving unit is RLC ACK information, the processing unit is configured according to The RLC ACK information constructs TCP ACK information of a TCP packet.
  • the receiving unit is further configured to receive TCP ACK information that is fed back by the peer device; Includes:
  • a comparing unit configured to forward the TCP ACK information fed back by the peer device with the constructed TCP
  • the ACK information is compared, if it is inconsistent, it is determined that the data packet is lost when it is sent to the TCP device of the peer device.
  • the comparing unit when the packet loss occurs, is configured according to the TCP ACK information and the RLC fed back by the peer device The ACK information determines a TCP packet in which packet loss occurs; and triggers the sending unit to send an instruction indicating that the TCP device retransmits the TCP packet in which the packet loss occurs or sends the RLC corresponding to the TCP packet in which the packet loss occurs. The instruction of the packet.
  • the receiving unit is further configured to receive TCP ACK information that is fed back by the peer device; Includes:
  • a comparing unit configured to compare the TCP ACK information fed back by the peer device with the constructed TCP ACK information, if yes, determining that no packet loss occurs, and not triggering the sending unit to the TCP
  • the device sends the TCP ACK information fed back by the peer device.
  • the processing unit when the response message of the RLC data packet received by the receiving unit is RLC NACK information, the processing unit is configured according to the RLC NACK information.
  • the TCP NACK information of the TCP packet is configured to instruct the TCP device to retransmit the TCP packet corresponding to the TCP NACK information.
  • the device further includes:
  • a first retransmission unit configured to: when the response message of the RLC data packet received by the receiving unit is RLC NACK information, the response message of the RLC data packet is an RLC of RLC NACK information Retransmitting the data packet to the peer device, and starting an RLC retransmission timer and/or an RLC retransmission counter; when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold, Triggering the processing unit to construct TCP NACK information according to the RLC NACK information.
  • the response message of the TCP packet that is sent by the sending unit is transmitted by using an extension header of the GTP-U or a TCP SACK option.
  • the seventh aspect provides a message processing apparatus for feedback packet loss, where the apparatus includes: a receiving unit, configured to receive TCP negative acknowledgement NACK information sent by the RLC apparatus, where the TCP
  • the NACK information is constructed by the RLC device according to the RLC NACK information
  • a determining unit configured to determine, according to the TCP NACK information received by the receiving unit, packet loss
  • the device further includes:
  • a second retransmission unit configured to: after the determining unit determines the TCP packet of the packet loss, retransmit the TCP packet of the packet loss to the peer device, and start a TCP retransmission timer and/or Or TCP retransmission counter;
  • an adjusting unit configured to reduce a congestion window value of the sending end when the count value of the TCP retransmission timer and/or the TCP retransmission counter initiated by the retransmission unit exceeds a preset threshold.
  • the message processing method and device for feedback packet loss determine whether a current TCP data packet is correctly received by using ACK/NACK information fed back by a radio link control (RLC) layer. Therefore, the TCP packet loss can be accurately determined and the accurate TCP packet loss information can be obtained. Only the data that is not correctly received can be retransmitted, which can reduce unnecessary retransmission, improve the performance of the wireless TCP, and make full use of the air interface resources.
  • RLC radio link control
  • FIG. 1 is a flowchart of a message processing method for feedback packet loss according to Embodiment 1 of the present invention
  • 2 is a flowchart of processing a packet of a TCP packet according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic diagram of correspondence between protocol layers in an RNC according to Embodiment 1 of the present invention
  • FIG. 5 is a flowchart of a method for performing congestion control according to TCP NACK information according to Embodiment 2 of the present invention
  • FIG. 6 is a signaling diagram of a message processing method for feedback packet loss according to Embodiment 3 of the present invention
  • FIG. 7 is a schematic diagram of an extension header of a GTP-U protocol
  • FIG. 8 is a schematic diagram of a message processing apparatus for feedback packet loss according to Embodiment 4 of the present invention
  • FIG. 9 is a schematic diagram of a message processing apparatus for feedback packet loss according to Embodiment 5 of the present invention
  • FIG. 10 is a schematic diagram of an RLC apparatus according to Embodiment 6 of the present invention. Schematic diagram of the structure;
  • FIG. 11 is a schematic structural diagram of a TCP device according to Embodiment 7 of the present invention. detailed description
  • Radio Link Control (RLC) layer is one of the protocols of the L2 layer of the LTE protocol stack, and is mainly used to provide a reliable data transmission link, which is used for shielding wireless The impact of the link and provide reliable data transmission for the upper layer.
  • RLC Radio Link Control
  • the radio access network (RAN) side includes an RNC node and a base station NodeB.
  • the RNC node controls multiple NodeBs, and the NodeB directly communicates with a user equipment (User Equipment, UE).
  • UE User Equipment
  • the RAN side includes an eNodeB node, and the eNodeB node directly communicates with the Mobility Management Entity (MME) of the core network and the gateway, and simultaneously communicates with the UE.
  • MME Mobility Management Entity
  • the message processing method and device for feedback packet loss provided by the present invention are applied to determine the TCP transmission during the process of performing wireless TCP data transmission after establishing a bearer channel between the RAN side and the UE side. Whether the packet has been dropped.
  • FIG. 1 is a flowchart of a message processing method for feedback packet loss according to the embodiment. As shown in FIG. 1, the method includes:
  • the S1 0 RLC device receives the TCP packet sent by the TCP device, forms the TCP packet into an RLC packet, and sends the RLC packet to the peer device.
  • the TCP packet received by the RLC device may be a processed TCP packet (such as a packet processed by another protocol layer) or a TCP packet sent by the TCP device.
  • the peer device is usually a UE. The specific processing will be described in the following pages in conjunction with Figs. 2 and 3.
  • the RLC device receives a response message of the RLC data packet returned by the peer device.
  • the RLC device corresponding to the peer device returns the response information of the corresponding RLC packet for each RLC packet.
  • the response information of the RLC packet may include RLC ACK information and/or RLC NACK information.
  • the RLC device constructs a response message of the TCP packet corresponding to the RLC data packet according to the response message of the RLC data packet.
  • the response message of an RLC packet is ACK
  • the response message of the TCP packet corresponding to the RLC packet is ACK.
  • the response message of an RLC packet is NACK
  • the response message of the TCP packet corresponding to the RLC packet is NACK.
  • a response message of the TCP packet is constructed based on the response message of the RLC packet, that is, the TCP ACK information is constructed using the RLC ACK information, and the TCP NACK information is constructed using the RLC NACK information.
  • the RLC device feeds back the response message of the TCP packet to the TCP device.
  • the TCP device determines whether the TCP packet is lost according to a response message of the TCP packet.
  • the TCP device determines that the TCP packet has been dropped.
  • the TCP device receives an ACK of a TCP packet, it determines that no packet loss has occurred in the TCP packet.
  • FIG. 2 is a flowchart of processing a packet for a TCP packet according to the embodiment. As shown in FIG. 2, the process includes: The S101 RLC device receives the TCP packet sent by the TCP device and obtains information of the TCP packet carried in the TCP packet.
  • the transmitting end may be the RAN side
  • the receiving end may be the UE
  • the RLC device and the TCP device are equally provided on the RAN side and the UE side.
  • the TCP packet sent by the TCP device at the transmitting end usually performs pre-processing such as header compression and packet parsing through other protocol layers before reaching the RLC device, and the RLC device receives the processed TCP data. package.
  • FIG. 3 is a schematic diagram of correspondence between protocol layers in an RNC.
  • a TCP proxy server performs data transmission through a RNC and a base station NodeB.
  • TCP Proxy Server Includes multiple TCP connections for multiple users.
  • the RNC may include a Packet Data Convergence Protocol (PDCP) layer, an RLC device (ie, an RLC layer), a dedicated media access control (Media Acces s Cont ro l-D, MACD) layer, and media. Access control service (Med ia Acces s Cont ro l C li ent) layer.
  • PDCP Packet Data Convergence Protocol
  • RLC device ie, an RLC layer
  • Media Acces s Cont ro l-D Media Acces s Cont ro l-D
  • MACD media access control service
  • Access control service Med ia Acces s Cont ro l C li ent
  • the RNC receives the TCP data packet sent from the user's multiple TCP connections through the PDCP layer, and the PDCP layer parses the TCP data packet to obtain information of the TCP data packet, and the information of the TCP data packet includes one or any of the following. Combination: IP address, port and byte range, used to identify the TCP packet based on the information of the TCP packet.
  • the PDCP layer also has a header compression function that passes the header-compressed TCP packets to the RLC device.
  • the MAC layer performs scheduling on the RLC packets sent by the RLC device, and the MACC layer is used to aggregate and send the services in the cell to the NodeB.
  • the RLC device receives the TCP packet sent by the TCP device at the transmitting end,
  • the TCP packet is parsed to obtain the information of the TCP packet, and the parsed TCP packet is sent to the PDCP layer for header compression processing, and the RLC device supplies the packet processed by the PDCP layer to S1012.
  • the SI 012 the RLC device identifies the TCP packet according to the information of the TCP packet, and records the identifier of the TCP packet.
  • the identifier of the data packet includes one or any of the information of the TCP packets listed below. Combination: IP address, port and byte range.
  • the RLC device performs RLC grouping on the data packet to form an RLC data packet, and identifies the RLC data packet.
  • the processed RLC data packet may be sent to the peer device through other protocol layers, for example, sent through the MACD layer in FIG.
  • the RLC device determines the size of the packet according to the scheduling of the MACD layer, and how much data is sent to the MACD layer for traffic control, thereby avoiding congestion of the IuB port between the RNC and the NodeB.
  • the RLC device establishes and records a correspondence between the RLC data packet and the TCP data packet according to the identifier of the data packet and the identifier of the RLC data packet.
  • the correspondence between the RLC data packet and the TCP data packet is one of the following three types: one of the TCP data packets corresponds to one of the RLC data packets; one of the TCP data packets corresponds to multiple of the RLC data packets; or, multiple The TCP data packet corresponds to one of the RLC data packets.
  • a response message of the TCP packet is constructed according to the correspondence between the RLC packet and the TCP packet.
  • the ACK of the RLC packet is an ACK of the TCP packet. If a TCP packet corresponds to multiple RLC packets, if the ACK of multiple RLC packets is received, then the TCP packet can be considered as ACK, that is, multiple RLC packets are required to be ACK. If multiple TCP packets correspond to one RLC packet, the ACK of the RLC packet is the ACK of multiple TCP packets.
  • the present invention can accurately determine whether TCP packet loss has occurred, and can obtain accurate TCP packet loss information, and clarify which data packet is specifically lost, and can efficiently perform data retransmission.
  • FIG. 4 is a flowchart of a message processing method for feedback packet loss according to the embodiment. As shown in FIG. 4, the method includes: The S20 TCP device receives a response message of the TCP packet sent by the RLC device at the transmitting end. The response message of the TCP packet is obtained by the method of Embodiment 1, and details are not described herein again.
  • the TCP device determines, according to the response message of the TCP packet, whether the corresponding TCP packet is lost. When it is determined that the TCP packet is lost, the process proceeds to S203, otherwise, the process proceeds to S205.
  • the TCP device retransmits the corresponding TCP packet to the peer device, and starts a TCP retransmission timer and/or a TCP retransmission counter.
  • the TCP device reduces the congestion window value of the sending end when the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds a preset threshold.
  • the response message of the received TCP packet is a TCP NACK message
  • the data is retransmitted, and the TCP retransmission timer or the TCP retransmission counter is started.
  • the TCP retransmission timer expires or the TCP retransmission counter exceeds a preset threshold, the congestion window value is reduced.
  • the TCP device increases a congestion window value of the sending end.
  • the TCP device After receiving the TCP ACK message fed back by the RLC device, the TCP device performs sliding of the transmission window and increases the size of the congestion window.
  • the specific processing is the same as that in the existing TCP protocol.
  • the response message of the TCP packet received by the TCP device is the TCP NACK information.
  • the specific processing is shown in FIG. 5, including:
  • S30 sets the retransmission timeout (RTO) threshold of the TCP device RTO_threshold.
  • the size of the RT0 threshold RTO_threshold can be set according to actual needs. In the input, it is usually necessary to set a relatively small RTO threshold because the delay time of the direct packet loss of the RLC layer is very short.
  • the initial value of the congestion window value can be set to be the same as the advertised window size, that is, the flow control function is completely handed over to the RLC layer and the underlying MAC layer.
  • the RLC device can accurately feed back the NACK information of any TCP packet, the mechanism for using the RT0 to perform packet loss judgment in the TCP device may not be used.
  • the TCP device can perform effective congestion control according to the response message fed back by the RLC device, accurately retransmit the lost TCP packet, and optimize the wireless TCP system.
  • FIG. 6 is a signaling diagram of a message processing method for feedback packet loss according to the embodiment. As shown in FIG. 6, the method includes:
  • the S40 RAN TCP device transmits a TCP packet to the RAN RLC device.
  • the RAN RLC apparatus groups the TCP data packet to form an RLC data packet. After receiving the TCP data packet sent by the TCP device at the transmitting end, the RAN RLC device groups the TCP data packet to form at least one RLC data packet, and records the TCP data packet and the RLC data packet. Correspondence.
  • the RAN RLC apparatus sends the RLC data packet to the user equipment UE.
  • the UE RLC device feeds back the RLC ACK information to the RAN RLC device by receiving the RLC data packet.
  • the UE RLC apparatus sends a TCP data packet formed by the RLC data packet group to the UE TCP device.
  • the RAN RLC device constructs TCP ACK information according to the RLC ACK information fed back by the UE RLC device.
  • the RAN RLC device constructs ACK information of the corresponding TCP packet according to the relationship between the current RLC data packet and the TCP data packet, and then feeds back the TCP ACK information to the RAN TCP device.
  • the RAN RLC device sends the TCP ACK information to the RAN TCP device.
  • the RAN TCP device receives the TCP ACK information, it is determined that the TCP packet has no packet loss.
  • the RAN RLC device receives the TCP ACK information fed back by the UE TCP device.
  • the RAN RLC device compares the TCP ACK information fed back by the UE TCP device with the TCP ACK information.
  • the RLC ACK information fed back by the UE RLC device is generally more than the TCP fed back by the UE TCP device.
  • the ACK message arrived early. If the TCP ACK information fed back by the UE TCP device is consistent with the constructed TCP ACK information, it is confirmed that there is no packet loss, and the TCP ACK information fed back by the UE TCP device is not sent to the RAN TCP device. If it is inconsistent, it is determined that the RLC data packet is lost when the UE RLC device sends the UE TCP device, and the packet loss may be determined according to the TCP ACK information and the RLC ACK information fed back by the peer device. And a TCP packet, and instructing the TCP device to retransmit the TCP packet in which the packet loss occurs or to send the RLC packet corresponding to the TCP packet in which the packet loss occurs, and perform a retransmission operation.
  • the RAN RLC device sends 6 data packets to the UE, specifically identified as 1 to 6, and the RLC ACK information fed back by the UE RLC device is 1, 2, 3, 5, 6 , indicating that the received identifier is 1, 2, 3
  • the RLC data packet of 5, 6 corresponds to the correspondence between the RLC data packet identifier and the TCP data packet identifier
  • the corresponding TCP ACK information can be constructed according to the RLC ACK
  • the RLC data packet identifier corresponds to the TCP data packet identifier.
  • the constructed TCP ACK information is also 1, 2, 3, 5, and 6, indicating that the TCP packets with the identifiers 1, 2, 3, 5, and 6 have no packet loss.
  • the TCP ACK information fed back by the UE TCP device is 3, indicating that the data packet with the identifier 1, 2, 3 is received. It can be seen that the TCP ACK information fed back by the UE TCP device is inconsistent with the constructed TCP ACK information, and it can be determined that the TCP packet with packet loss occurs, and can be determined according to the TCP ACK information and the constructed TCP ACK information fed back by the UE TCP device. If the TCP packet with packet loss is a TCP packet with the identifier 4, the RAN TCP device is instructed to retransmit the TCP packet with the identifier 4 or the RLC packet with the RAN RLC device retransmission identifier 4, corresponding to the identifier 4 TCP packet.
  • the identifier of the lost RLC data packet and the corresponding TCP packet identifier are similarly determined, and the packet retransmission of the lost packet is performed.
  • the UE RLC device feeds back the RLC NACK information to the RAN RLC device for the unreceived RLC data packet.
  • the S41 RAN RLC device retransmits the RLC packet that feeds back the RLC NACK information.
  • the RAN RLC device retransmits the corresponding RLC packet and starts the RLC retransmission timer or the RLC retransmission counter.
  • the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold, it indicates that an RLC random packet loss, an RLC timeout packet loss, an RLC retransmission timeout, or an RLC retransmission failure occurs. S41 2.
  • the RLC device In an RLC device, there are many cases in which one data is lost. For example, if its cache cannot receive TCP packets from the PDCP layer, the RLC device can directly discard the RLC packets. Or, after an RLC packet is transmitted multiple times, exceeds the retransmission time limit, or exceeds the retransmission limit, the NACK is fed back to the TCP device. That is, the RAN RLC device considers various packet loss scenarios, but the feedback to the TCP layer is a NACK message, because for the RAN TCP device, a certain TCP packet is not successfully transmitted.
  • the RAN RLC device constructs TCP NACK information according to the RLC NACK information, and is used to instruct the TCP device to retransmit the TCP data packet corresponding to the TCP NACK information.
  • the RAN RLC device sends TCP NACK information to the RAN TCP device.
  • the RAN TCP device determines a packet loss condition of the TCP packet.
  • the packet loss condition is determined according to the TCP ACK information or the TCP NACK information fed back by the RAN RLC device.
  • the TCP ACK message When the TCP ACK message is received, it indicates that the packet transmission was successful.
  • the TCP device determines the packet loss as follows: First, when the RLC device feeds back the TCP NACK information, it indicates that packet loss must occur. Lost data packets may fail after multiple retransmissions, or they may be directly discarded by the RLC device. If the NACK information fed back after multiple failures is retransmitted, the RT0 recording time of the data packet is relatively long. If it is directly discarded by the RLC device, there are two possibilities: One is to wait for a period of time to discard, The data packet is recorded in the RT0 timer of the TCP device for a relatively long time; one is because the buffer is already full and directly discarded, then the time recorded by the RT0 timer of the TCP device is very short. Under normal circumstances, whether it is retransmission timeout, retransmission times, or waiting timeout, then the RT0 time of the packet is relatively long, and the time of the RT0 timer recorded by the packet is Very short.
  • the RAN TCP device retransmits the lost TCP packet.
  • the specific transmission conditions of the RLC data packet are as follows: The first one is a successful transmission, the second is a retransmission multiple success, the third is a retransmission multiple times and the number of retransmissions fails, the fourth is After retransmission, it fails more than the time limit of retransmission. In the fifth case, if the buffer of the RLC device is full, the received data packet is directly discarded. In the third, fourth, and fifth cases, the RLC devices feed back the NACK information corresponding to the TCP packet to the TCP device, and the TCP layer retransmits.
  • the TCP device and the RLC device are grouped on the radio side (ie, the RAN side), which can completely solve the problem of packet loss judgment in the wireless TCP, and also avoid the delay problem of information transmission.
  • the network element capable of providing the RLC device in the RAN side may be a device such as an RNC or an eNodeB, and the TCP ACK/NACK information fed back by the RAN side may provide a network element location as an RNC, an eNodeB, and a general packet radio service gateway support node (Gateway GPRS). Support Node, GGSN) and Packet Data Network Gateway (P-GW). That is to say, the TCP ACK/NACK information fed back by the RAN side can be directly fed back to other network elements through the RNC or the eNodeB, or can be forwarded to the GGSN, P-GW, etc. through the RNC or the eNodeB, and then forwarded to other network elements. Therefore, in this embodiment, the RLC device may be an RNC, an eNodeB, or the like, and the TCP device may be a RNC, an eNodeB, a GGSN, a P-GW, or the like.
  • the extension header of the GTP-U protocol can be used to transmit the corresponding TCP.
  • ACK/NACK information. 7 is a schematic diagram of an extended header of a GTP-U protocol, including an extended header length, an extended header content, and a next extended header type, which can be transmitted as TCP ACK/NACK information.
  • TCP ACK/NACK information is also available. The transmission is performed by using the ACK and NACK flag bits in the SACK in the RLC device. Since the SACK is located in the RLC device, it is not required to have the SACK option for the TCP device, and can be transmitted.
  • the foregoing RAN TCP device and the RAN RLC device may be in the same base station device, and the base station device may be a device such as an RNC or an eNodeB.
  • the TCP device at the transmitting end may not be in the RAN side, that is, there is no TCP optimization in the RAN side, and the RAN TCP device and the RAN RLC device are in different network elements, and the RAN RLC device may send the feedback TCP ACK information or The TCP NACK information is fed back to the TCP device of other network elements, for example, a Serving GPRS Suppering Node (SGSN) or a Policy and Charging Rules function (Po li cy And Charging Rul es Funcion,
  • SGSN Serving GPRS Suppering Node
  • Po li cy And Charging Rul es Funcion The specific processing of the network element, such as the PCRF, is similar to the embodiment, and will not be described again.
  • FIG. 8 is a schematic diagram of a message processing apparatus for feedback packet loss according to the embodiment.
  • the apparatus of the present invention includes: a packet unit 501, a receiving unit 502, a processing unit 503, and a transmitting unit 504.
  • the packet unit 501 is configured to receive a TCP packet sent by the TCP device, group the TCP packet into an RLC packet, and send the RLC packet to the peer device.
  • the packet unit 501 specifically includes: a receiving subunit, a recording subunit, a packet subunit, and a storage subunit (not shown).
  • the receiving subunit is configured to receive the TCP data packet sent by the TCP device and obtain the information of the TCP data packet carried in the TCP data packet.
  • FIG. 3 is a schematic diagram of the correspondence between protocol layers in the RNC. As shown in FIG. 3, the TCP proxy performs data transmission with the base station NodeB through the RNC.
  • the TCP proxy server includes multiple TCP connections for multiple users.
  • the RNC may include a Packet Data Convergence Pro toco l (PDCP) layer, an RLC device, a dedicated media access control (Met ia Acces s Cont ro lD , MACD ) layer, and a media access control service ( Med Ia Acces s Cont ro l CI i ent ) layer.
  • the RNC receives TCP packets sent from multiple TCP connections of the user through the PDCP layer, and the PDCP layer parses the TCP packets to obtain information of the TCP packets, and the header information includes one or any combination of the following: IP The address, port, and byte range are used to identify the TCP packet based on the information of the TCP packet.
  • the PDCP layer also has a header compression function that passes the header-compressed TCP packets to the RLC device.
  • the MACD layer performs scheduling on the RLC data packets sent by the RLC device, and the MACC layer is used to aggregate and send the services in the cell to the NodeB.
  • the receiving subunit further parses the TCP packet to obtain the information of the TCP packet, and then sends the parsed TCP packet to the PDCP layer for header.
  • the compression process is performed, and the data packet processed by the PDCP layer is further provided to the recording subunit.
  • the recording subunit is configured to identify the TCP data packet according to the information of the TCP data packet obtained by the receiving subunit, and record an identifier of the TCP data packet.
  • the identifier of the TCP packet recorded by the recording subunit includes one or any combination of the information of the following TCP packets: IP address, port and byte range.
  • the packet subunit is configured to perform RLC grouping on the TCP packet received by the receiving subunit to form an RLC data packet, and identify the RLC data packet.
  • the packet sub-unit determines the size of the packet according to the scheduling of the MACD layer, and how much data is sent to the MACD layer for traffic control to avoid congestion of the IuB port between the RNC and the NodeB.
  • the storage subunit is configured to establish and record a correspondence between the RLC data packet and the TCP data packet according to the identifier of the TCP data packet recorded by the recording subunit and the identifier of the RLC data packet obtained by the group packet subunit.
  • the correspondence between the RLC data packet recorded by the storage subunit and the TCP data packet is one of the following three types: one of the TCP data packets corresponds to one of the RLC data packets; and one of the TCP data packets corresponds to multiple of the RLC data packets. Or, a plurality of the TCP data packets correspond to one of the RLC data packets.
  • the receiving unit 502 is configured to receive a response message of the RLC data packet returned by the RLC device sent by the RLC device of the peer device to the RLC data packet.
  • the RLC device of the peer device returns the response information of the corresponding RLC packet for each RLC packet.
  • the response information of the RLC data packet received by the receiving unit 502 includes RLC ACK information and/or RLC NACK information.
  • the processing unit 503 is configured to construct a response message of the TCP packet corresponding to the RLC data packet according to the response message of the RLC data packet received by the receiving unit 502.
  • the processing unit 503 constructs a response message of the TCP packet based on the correspondence between the RLC packet recorded in the packet unit 501 and the TCP packet.
  • the processing unit 503 constructs a response message of the TCP packet according to the response message of the RLC packet, that is, constructs TCP ACK information by using the RLC ACK information, and constructs TCP NACK information by using the RLC NACK information to indicate the TCP device. Retransmitting the TCP packet corresponding to the TCP NACK information.
  • the processing unit 503 constructs a response message of the TCP data packet according to the response message of the RLC data packet by using the correspondence between the RLC data packet and the TCP data packet recorded by the storage subunit. Specifically, if a TCP packet corresponds to only one RLC packet, the ACK of the RLC packet is an ACK of the TCP packet. If a TCP packet corresponds to multiple RLC packets, if the ACK of multiple RLC packets is received, then the TCP packet can be considered as ACK, that is, multiple RLC packets are required to be ACK. If multiple TCP packets correspond to one RLC packet, the ACK of the RLC packet is the ACK of multiple TCP packets.
  • the sending unit 504 is configured to feed back a response message of the TCP packet obtained by the processing unit 503 to TCP device.
  • the TCP device determines whether the TCP packet is lost according to a response message of the TCP packet.
  • the transmitting unit 504 transmits the TCP NACK information
  • the TCP device at the transmitting end determines that the TCP packet has been dropped.
  • the TCP device at the transmitting end receives an ACK of a certain TCP packet, it is determined that no packet loss has occurred in the TCP packet.
  • the response message of the TCP packet fed back by the sending unit is transmitted through an extension header of the GPRS tunneling protocol GTP-U of the user plane or a selective acknowledge SACK.
  • the message processing apparatus of the present invention further includes: a comparing unit 505 and a first retransmission unit
  • the comparing unit 505 is connected to the receiving unit 502, the processing unit 503, and the transmitting unit 504.
  • the receiving unit 502 is further configured to receive ACK information fed back by the TCP device of the peer device.
  • the comparing unit 505 is configured to compare the ACK information fed back by the TCP device received by the receiving unit 502 with the TCP ACK information obtained by the processing unit 503, and if not, determine that the data packet is sent to the receiving end. If the TCP device is the same, it is determined that no packet loss occurs, and the sending unit 504 is no longer triggered to send the ACK information fed back by the TCP device to the transmitting end.
  • the RLC ACK information fed back by the UE RLC device is generally earlier than the TCP ACK information fed back by the UE TCP device. If the TCP ACK information fed back by the UE TCP device is consistent with the constructed TCP ACK information, the comparing unit 505 confirms that there is no packet loss, and does not send the TCP ACK information fed back by the TCP device to the TCP device of the transmitting end. If not, the comparing unit 505 determines that the RLC data packet is lost when the RLC device of the UE sends the TCP device to the UE, and may use the TCP ACK information and the RLC ACK information that are fed back by the peer device.
  • the TCP packet that sends the RLC ACK information is discarded by the TCP device after being transmitted to the TCP device.
  • the first retransmission unit 506 is connected to the receiving unit 502 and the processing unit 503.
  • the first retransmission unit 506 is configured to: when the response message of the RLC data packet received by the receiving unit 502 is RLC NACK information, retransmit the RLC data packet of the RLC data packet to the RLC NACK information.
  • a peer device and starting an RLC retransmission timer and/or an RLC retransmission counter; when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold, the trigger processing unit 503 is configured according to the The RLC NACK information constructs TCP NACK information.
  • FIG. 9 is a schematic diagram of a message processing apparatus for feedback packet loss according to an embodiment of the present invention. As shown in FIG. 9, the apparatus includes: a receiving unit 601, a determining unit 602, a second retransmission unit 603, and an adjusting unit 604.
  • the receiving unit 601 is configured to receive TCP NACK information sent by the RLC device.
  • the TCP NACK information is obtained by the apparatus of the fourth embodiment.
  • the determining unit 602 is configured to determine the TCP packet of the packet loss according to the TCP NACK information received by the receiving unit 601.
  • the second retransmission unit 603 is configured to: after the determining unit 602 determines the TCP packet of the lost packet, retransmit the TCP packet of the lost packet to the UE, and start a TCP retransmission timer and/or a TCP retransmission counter. .
  • the adjusting unit 604 is configured to reduce the congestion window value of the transmitting end when the count value of the TCP retransmission timer and/or the TCP retransmission counter started by the second retransmission unit 603 exceeds a preset threshold.
  • the determining unit 602 determines that the corresponding TCP packet is lost, the second retransmission unit 603 performs data retransmission, and starts the TCP retransmission timer. Or TCP retransmission counter.
  • the adjustment unit 604 reduces the congestion window value.
  • the determining unit 602 determines that the data packet has no packet loss, and the adjusting unit 604 performs sliding of the sending window, and increases the size of the congestion window, and the specific processing process and existing The processing in the TCP protocol is the same.
  • FIG. 10 is a schematic structural diagram of an RLC device according to an embodiment of the present invention. As shown in FIG. 10, the RLC device of the embodiment of the present invention may include:
  • the processor 701 may be a single core or multi-core central processing unit (Centra l Proces s ing Uni t ,
  • the CPU is either a specific integrated circuit (ASIC) or one or more integrated circuits configured to implement embodiments of the present invention.
  • the first interface 702 is for interacting with a TCP device.
  • the second interface 703 is used to interact with the peer device.
  • the processor 701 is used to:
  • the TCP packet received by the first interface 702 carries information of the TCP packet.
  • the TCP packet received by the first interface 702 may be a processed TCP packet, or may be a TCP packet sent by a TCP device.
  • the processor 701 identifies the TCP data packet according to the information of the TCP data packet, and records an identifier of the TCP data packet; performing an RLC group packet on the TCP data packet to form an RLC data packet, and identifying the An RLC data packet; and, according to the identifier of the TCP data packet and the identifier of the RLC data packet, establishing and recording a correspondence between the RLC data packet and the TCP data packet.
  • the processor 701 uses the RLC data packet and the TCP according to the response message of the RLC data packet. Corresponding relationship of the data packet, constructing a response message of the TCP data packet.
  • the processor 701 constructs TCP ACK information of the TCP packet based on the RLC ACK information.
  • the second interface 703 may further receive the TCP ACK information that is fed back by the peer device, and the processor 701 compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information, and if yes, determine If no packet loss occurs, the TCP ACK information fed back by the peer device is not sent to the TCP device; if not, it is determined that the TCP packet is generated when the TCP device is sent to the peer device. Lose the package.
  • the processor 701 determines, according to the TCP ACK information and the RLC ACK information fed back by the peer device, the TCP packet in which the packet loss occurs, and instructs the TCP device to retransmit the TCP packet that is lost.
  • the data packet or the RLC data packet corresponding to the TCP packet in which the packet loss occurs is sent through the second interface 703.
  • the processor 701 is configured to construct TCP NACK information of the TCP data packet according to the RLC NACK information, to instruct the TCP device to retransmit the TCP NACK.
  • the TCP packet corresponding to the information.
  • the processor 701 retransmits the RLC data packet of the RLC data packet to the peer device, and starts an RLC retransmission timer and/or an RLC retransmission counter; when the RLC retransmits When the count value of the timer and/or the RLC retransmission counter exceeds a preset threshold, the TCP NACK information is constructed according to the RLC NACK information.
  • the RLC device may also perform the processing methods shown in FIG. 1-3 and FIG. 6 above, and details are not described herein.
  • FIG. 11 is a schematic structural diagram of a TCP device according to an embodiment of the present invention.
  • the TCP device in the embodiment of the present invention may include: a processor 801 and a communication interface 802.
  • the processor 801 may be a single core or multi-core central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated systems configured to implement the embodiments of the present invention. Circuit. Communication interface 802 is used to interact with the RLC device.
  • the processor 801 is used to:
  • the TCP packet of the lost packet is determined according to the TCP NACK information.
  • the TCP NACK information is configured by the RLC device according to the RLC NACK information.
  • the specific configuration method is as described in the first embodiment or the third embodiment, and details are not described herein.
  • the processor 801 When determining that there is a packet loss TCP packet, the processor 801 is further configured to retransmit the lost packet TCP packet to the peer device through the communication interface 802, and start a TCP retransmission timer and/or TCP.
  • Retransmission counter when the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds a preset threshold, the congestion window value of the transmitting end is reduced, thereby performing congestion control on the transmission process.
  • the TCP device further performs the foregoing control method shown in FIG. 4-6 according to the instruction, and details are not described herein again.
  • the RLC device in Embodiment 6 may be a radio network controller RNC or an evolved base station eNodeB.
  • the TCP device in the seventh embodiment may be an RNC or an eNodeB, or may be a device such as a GGSN or a P-GW. Since the RNC to the GGSN, the eNodeB and the P-GW are both the GPRS Tunneling Protocol (GPRS Tuning Protocol to Protocol), the response message of the TCP packet It is transmitted through the extension header of the user plane's GPRS tunneling protocol GTP-U. Of course, the response message of the TCP packet can also be transmitted by using the ACK and NACK flag bits in the SACK in the RLC device.
  • GPRS Tunneling Protocol GPRS Tuning Protocol to Protocol
  • the foregoing TCP device and the RLC device may be in the same base station device, and the base station device may be a device such as an RNC or an eNodeB. If the TCP device and the RLC device are in different network elements, the RLC device may feed back the TCP ACK information or the TCP NACK information to the TCP device of the other network element.
  • the specific processing is similar to the embodiment, and details are not described herein.
  • the message processing method and device for feedback packet loss provided by the present invention determine whether a current TCP packet is correctly received through the ACK/NACK information fed back by the RLC layer, thereby accurately determining the TCP packet loss and obtaining accurate TCP packet loss information. , only need to retransmit the data that was not received correctly, It can reduce unnecessary retransmissions, improve the performance of wireless TCP, and make full use of air interface resources.
  • RAM random access memory
  • ROM read-only memory
  • EEPROM electrically programmable ROM
  • EEPROM electrically erasable programmable ROM
  • registers hard disk, removable disk, CD-ROM, or technical field Any other form of storage medium known.

Abstract

The present invention relates to a method and a device for processing a packet loss feedback message. The processing method comprises: an RLC device receiving a TCP data packet sent by a TCP device, assembling the TCP data packet to form an RLC data packet, and sending the RLC data packet to a peer device; the RLC device receiving a response message of the RLC data packet returned by the peer device; the RLC device constructing a response message of the TCP data packet corresponding to the RLC data packet according to the response message of the RLC data packet; and the RLC device feeding back the response message of the TCP data packet to the TCP device. The present invention can accurately determine whether TCP packet loss occurs, and obtain accurate TCP packet loss information, so that the specific data packet that gets lost can be figured out.

Description

说 明 书  Description
反馈丢包的消息处理方法及装置  Message processing method and device for feedback packet loss
技术领域 Technical field
本发明涉及无线通信技术领域, 尤其涉及一种反馈丟包的消息处理及装 置。 背景技术  The present invention relates to the field of wireless communication technologies, and in particular, to a message processing and device for feedback packet loss. Background technique
传输控制协议( Transmi s s ion Control Protocol , TCP )是目前互联网 上使用最为广泛的传输协议, 但其最初的设计目标是在有线网络中工作, 因 而当 TCP连接中存在一段无线空口部分(即无线 TCP ) 时, 针对有线网络所 涉及的 TCP协议就不再能够保证高效的工作。  Transmission Control Protocol (TCP) is the most widely used transmission protocol on the Internet, but its original design goal is to work in a wired network. Therefore, there is a section of wireless air interface in the TCP connection (ie, wireless TCP). At the time, the TCP protocol involved in the wired network is no longer able to guarantee efficient work.
在有线网络中, TCP 协议通过引入发送端拥塞窗口的控制机制, 来控制 传输的拥塞。 接收端会通知发送端其当前的接收窗口大小, 发送端根据这个 接收窗口大小以及拥塞窗口大小, 来决定发送端还能够发送多少数据给接收 端, 即真正的发送窗口的取值,为拥塞窗口和通告窗口中的最小值。 这样就可 以避免发送端发送过多的数据,而不会导致接收端的 TCP緩存溢出,以及降低 网络中拥塞出现的相无率。  In a wired network, the TCP protocol controls the congestion of the transmission by introducing a control mechanism for the congestion window of the sender. The receiving end notifies the sending end of its current receiving window size, and the transmitting end determines how much data the transmitting end can send to the receiving end according to the size of the receiving window and the size of the congestion window, that is, the value of the real sending window is a congestion window. And the minimum value in the notification window. This prevents the sender from sending too much data without causing TCP buffer overflow at the receiving end and reducing the rate of congestion in the network.
在第三代移动通信技术( 3Id Genera t ion, 3G )的无线网络控制器( RadioRadio network controller in the third generation mobile communication technology (3 Id Genera ion, 3G)
Network Control ler , RNC )或者第四代移动通信技术( 3rd Genera t ion, 3G ) 的演进型基站( evolut ion NodeB, eNodeB ) 中, 可能存在相应的 TCP代理功 能或 TCP实体, 用以对无线 TCP进行加速。 在具有 TCP代理功能或 TCP实体 的终端的无线侧, 由于空口丟包和非按序递交, 会导致接收端收到大量的乱 序包。 通常接收端在接收到乱序包后, 会发送多个重复的确认 ( Dup acknowledgement , Dup ACK )或者发送选择性确认 ( Selec t acknowledgement , SACK )给发送端, 表示丟失某个数据包。 Network Control ler, RNC) or fourth generation mobile communication technology (3 rd Genera t ion, 3G ) evolved base station (evolut ion NodeB, eNodeB), there may be a corresponding TCP or TCP proxy function entity for the radio TCP accelerates. On the radio side of a terminal with a TCP proxy function or a TCP entity, due to air interface packet loss and non-sequential delivery, the receiver receives a large number of out-of-order packets. Usually, after receiving the out-of-order packet, the receiving end will send multiple duplicate acknowledgements (Dup acknowledgement, Dup ACK) or send selective acknowledgement (Selec t acknowledgement, SACK) to the sender, indicating that a packet is lost.
由于发送 SACK的方案中要求接收端能够支持 SACK选项, 如果接收端不 支持使用 SACK选项, 则无法使用该方案。 因而, 现有的丟包判断方法大多采 用发送 Dup ACK的方案。 当发送端收到 Dup ACK时, 拥塞窗口会减小, 一般 减小到慢启动的门限大小; 而发送端在发送一个数据包后, 会启动一个定时 器。 在这个定时器的时间范围内, 如果还没有收到这个数据包的确认 ( acknowl edgemen t , ACK ) 的话, 拥塞窗口会减小到 1。  Since the SACK is required in the scheme for sending SACK, the SACK option is supported. If the SACK option is not supported by the receiver, the scheme cannot be used. Therefore, most of the existing packet loss judging methods adopt a scheme of transmitting Dup ACK. When the sender receives the Dup ACK, the congestion window will decrease, generally decreasing to the threshold of the slow start; and the sender will start a timer after sending a packet. Within the time range of this timer, if the acknowledgment of this packet (acknowl edgemenmen t , ACK ) has not been received, the congestion window will be reduced to 1.
因而, 拥塞窗口的控制在 TCP协议中至关重要, 现有的很多算法都是针 对 TCP的拥塞窗口进行调整而给出的。 其中最为常见的算法是根据可用带宽 的估计值和拥塞窗口对应的带宽来判断是否可能丟包。 对当前的网络状态进 行一个判断,这个状态判断的结果可以是拥塞和不拥塞。 在拥塞情况下,如果 出现了重复的 ACK,或者是 RT0超时,则在重传数据包的同时,修改当前的拥塞 窗口的大小;在不拥塞的情况下, 如果出现了重复的 ACK,或者是 RT0超时,则 在重传数据包的同时,维持当前的拥塞窗口的大小不变,避免拥塞窗口调整过 小而导致的无线空口利用率不足的问题。 然而, 现有的这种算法^ ϋ于当前 的 TCP链路带宽估计进行的, 在对当前的 TCP链路带宽估计存在误差的情况 下, 对丟包的判断是不准确的, 而且也无法区分丟包和拥塞的情况, 另外, 也不能明确具体丟失的是哪个数据包。 发明内容  Therefore, the control of the congestion window is crucial in the TCP protocol, and many existing algorithms are given for adjusting the congestion window of TCP. The most common algorithm is to determine whether packet loss is possible based on the estimated bandwidth and the bandwidth corresponding to the congestion window. A judgment is made on the current network state, and the result of this state judgment may be congestion and non-congestion. In the case of congestion, if a duplicate ACK occurs, or RT0 times out, the current congestion window is modified while retransmitting the data packet; if there is no congestion, if a duplicate ACK occurs, or When RT0 times out, the size of the current congestion window is maintained while retransmitting the data packet, and the problem of insufficient utilization of the wireless air interface caused by the congestion window being adjusted too small is avoided. However, the existing algorithm is based on the current TCP link bandwidth estimation. In the case of an error in the current TCP link bandwidth estimation, the judgment of packet loss is inaccurate and cannot be distinguished. In the case of packet loss and congestion, in addition, it is not clear which packet is specifically lost. Summary of the invention
本发明的目的是提供一种反馈丟包的消息处理及装置, 能够准确判断是 否发生了 TCP丟包。  It is an object of the present invention to provide a message processing and apparatus for feedback packet loss, which can accurately determine whether TCP packet loss has occurred.
为实现上述目的, 本发明第一方面提供了一种无线链路控制 RLC装置, 包括: 处理器, 第一接口和第二接口;  To achieve the above objective, a first aspect of the present invention provides a radio link control RLC apparatus, including: a processor, a first interface, and a second interface;
所述第一接口, 用于与传输控制协议 TCP装置进行交互;  The first interface is configured to interact with a transmission control protocol TCP device;
所述第二接口, 用于与对端设备进行交互; 所述处理器用于: The second interface is configured to interact with the peer device; The processor is used to:
通过所述第一接口接收所述 TCP装置发送的 TCP数据包;  Receiving, by the first interface, a TCP data packet sent by the TCP device;
将所述 TCP数据包组包形成 RLC数据包;  Grouping the TCP data packet into an RLC data packet;
通过所述第二接口将所述 RLC数据包发送给对端设备;  Sending, by the second interface, the RLC data packet to the peer device;
通过所述第二接口接收所述对端设备返回的所述 RLC 数据包的应答消 息;  Receiving, by the second interface, a response message of the RLC data packet returned by the peer device;
根据所述 RLC数据包的应答消息构造所述 RLC数据包对应的 TCP数据包 的应答消息;  Constructing a response message of the TCP packet corresponding to the RLC data packet according to the response message of the RLC data packet;
通过所述第一接口将所述 TCP数据包的应答消息反馈给所述 TCP装置。 结合第一方面, 在第一方面的第一种可能的实现方式中, 所述第一接口 接收的 TCP数据包中携带有 TCP数据包的信息, 所述 TCP数据包的信息包括 以下所列的一种或任意结合: IP地址、 端口和字节范围;  Sending a response message of the TCP packet to the TCP device through the first interface. With reference to the first aspect, in a first possible implementation manner of the first aspect, the TCP packet received by the first interface carries information of a TCP packet, where the information of the TCP packet includes the following One or any combination: IP address, port and byte range;
所述处理器用于将所述 TCP数据包组包形成 RLC数据包,具体包括: 所述处理器用于:  The processor is configured to form the TCP packet into an RLC data packet, and specifically includes: the processor is configured to:
根据所述 TCP数据包的信息, 对所述 TCP数据包进行标识, 并记录所述 Identifying the TCP packet according to the information of the TCP packet, and recording the
TCP数据包的标识; The identifier of the TCP packet;
对所述 TCP数据包进行 RLC组包形成 RLC数据包, 并标识所述 RLC数据 包; 以及  Performing an RLC group packet on the TCP packet to form an RLC data packet, and identifying the RLC data packet;
根据所述 TCP数据包的标识和所述 RLC数据包的标识, 建立并记录所述 RLC数据包与 TCP数据包的对应关系。  And establishing, according to the identifier of the TCP data packet and the identifier of the RLC data packet, a correspondence between the RLC data packet and the TCP data packet.
结合第一方面的第一种可能的实现方式, 在第一方面的第二种可能的实 现方式中, 所述处理器用于根据所述 RLC数据包的应答消息构造所述 RLC数 据包对应的 TCP数据包的应答消息, 包括:  With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the processor is configured to construct, according to the response message of the RLC data packet, a TCP corresponding to the RLC data packet The response message of the packet, including:
所述处理器用于:  The processor is used to:
根据所述 RLC数据包的应答消息, 利用所述 RLC数据包与 TCP数据包的 对应关系, 构造所述 TCP数据包的应答消息。 结合第一方面, 在第一方面的第三种可能的实现方式中, 所述 RLC数据 包的应答消息为 RLC确认 ACK信息, 所述处理器用于根据所述 RLC数据包的 应答消息构造所述 RLC数据包对应的 TCP数据包的应答消息, 具体包括: 所述处理器用于根据所述 RLC ACK信息构造 TCP数据包的 TCP ACK信息。 结合第一方面的第三种可能的实现方式, 在第一方面的第四种可能的实 现方式中, 所述处理器还用于: And according to the response message of the RLC data packet, the response message of the TCP data packet is constructed by using the correspondence between the RLC data packet and the TCP data packet. With reference to the first aspect, in a third possible implementation manner of the first aspect, the response message of the RLC data packet is an RLC acknowledgement ACK information, where the processor is configured to construct the message according to the response message of the RLC data packet. The response message of the TCP packet corresponding to the RLC data packet specifically includes: the processor is configured to construct TCP ACK information of the TCP data packet according to the RLC ACK information. In conjunction with the third possible implementation of the first aspect, in a fourth possible implementation of the first aspect, the processor is further configured to:
通过所述第二接口接收所述对端设备反馈的 TCP ACK信息;  Receiving TCP ACK information fed back by the peer device by using the second interface;
将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK信息相比较, 如果不一致, 则判断为所述 TCP数据包在发送给所述对端设备的 TCP装置时 发生丟包。  Comparing the TCP ACK information fed back by the peer device with the constructed TCP ACK information, if not, it is determined that the TCP packet is lost when being sent to the TCP device of the peer device.
结合第一方面的第四种可能的实现方式, 在第一方面的第五种可能的实 现方式中, 当发生丟包时, 所述处理器还用于:  In conjunction with the fourth possible implementation of the first aspect, in a fifth possible implementation manner of the first aspect, when a packet loss occurs, the processor is further configured to:
根据所述对端设备反馈的 TCP ACK信息和 RLC ACK信息确定发生丟包的 TCP数据包;  Determining a TCP packet in which packet loss occurs according to the TCP ACK information and the RLC ACK information fed back by the peer device;
指示所述 TCP装置重传所述发生丟包的 TCP数据包或者通过所述第二接 口发送所述发生丟包的 TCP数据包对应的 RLC数据包。  And instructing the TCP device to retransmit the TCP packet with the packet loss or send the RLC packet corresponding to the TCP packet with the packet loss through the second interface.
结合第一方面的第三种可能的实现方式, 在第一方面的第六种可能的实 现方式中, 所述处理器还用于:  In conjunction with the third possible implementation of the first aspect, in a sixth possible implementation of the first aspect, the processor is further configured to:
通过所述第二接口接收所述对端设备反馈的 TCP ACK信息;  Receiving TCP ACK information fed back by the peer device by using the second interface;
将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK信息相比较, 如果一致, 则判断为未发生丟包, 并不再向所述 TCP装置发送所述对端设备 反馈的 TCP ACK信息。  Comparing the TCP ACK information fed back by the peer device with the constructed TCP ACK information, if they are consistent, determining that no packet loss occurs, and not sending the TCP fed back by the peer device to the TCP device. ACK information.
结合第一方面, 在第一方面的第七种可能的实现方式中, 所述 RLC数据 包的应答消息为 RLC否定确认 NACK信息,所述处理器用于根据所述 RLC数据 包的应答消息构造所述 RLC数据包对应的 TCP数据包的应答消息,具体包括: 所述处理器用于根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信 息, 用以指示所述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。 With reference to the first aspect, in a seventh possible implementation manner of the first aspect, the response message of the RLC data packet is an RLC negative acknowledgement NACK information, and the processor is configured to construct a response message according to the RLC data packet. The response message of the TCP packet corresponding to the RLC data packet specifically includes: the processor is configured to construct a TCP NACK message of the TCP data packet according to the RLC NACK information. And indicating that the TCP device retransmits the TCP packet corresponding to the TCP NACK information.
结合第一方面的第七种可能的实现方式, 在第一方面的第八种可能的实 现方式中,所述处理器用于根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK 信息, 具体包括:  With reference to the seventh possible implementation of the first aspect, in an eighth possible implementation manner of the first aspect, the processor is configured to construct TCP NACK information of the TCP data packet according to the RLC NACK information, specifically:
所述处理器用于:  The processor is used to:
将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC数据包重传给所述 对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器;  Retransmitting the RLC data packet of the RLC data packet to the peer device, and starting an RLC retransmission timer and/or an RLC retransmission counter;
当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈值时, 才艮据所述 RLC NACK信息构造 TCP NACK信息。  The TCP NACK information is constructed according to the RLC NACK information when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold.
结合第一方面, 在第一方面的第九种可能的实现方式中, 所述 TCP数据 包的应答消息通过用户面的 GPRS隧道协议 GTP-U的扩展头或 TCP选择性确认 In conjunction with the first aspect, in a ninth possible implementation manner of the first aspect, the response message of the TCP packet is selectively acknowledged by a user plane GPRS tunneling protocol GTP-U extension header or TCP
SACK选项来传递。 SACK option to pass.
结合第一方面, 在第一方面的第十种可能的实现方式中, 所述 RLC装置 为无线网络控制器 RNC或者演进型基站 eNodeB。  In conjunction with the first aspect, in a tenth possible implementation manner of the first aspect, the RLC device is a radio network controller RNC or an evolved base station eNodeB.
第二方面, 提供了一种 TCP装置, 包括: 处理器和通信接口;  In a second aspect, a TCP device is provided, including: a processor and a communication interface;
所述通信接口, 用于与 RLC装置进行交互;  The communication interface is configured to interact with an RLC device;
所述处理器用于:  The processor is used to:
通过所述通信接口接收 RLC装置发送的 TCP NACK信息, 所述 TCP NACK 信息由所述 RLC装置根据 RLC NACK信息构造得到;  Receiving, by the communication interface, TCP NACK information sent by the RLC device, where the TCP NACK information is configured by the RLC device according to the RLC NACK information;
根据所述 TCP NACK信息确定丟包的 TCP数据包。  The TCP packet of the lost packet is determined according to the TCP NACK information.
结合第二方面,在第二方面的第一种可能的实现方式中, 当确定丟包后, 所述处理器还用于:  With reference to the second aspect, in a first possible implementation manner of the second aspect, after determining that the packet is lost, the processor is further configured to:
通过所述通信接口重传所述丟包的 TCP数据包给所述对端设备, 并启动 TCP重传定时器和 /或 TCP重传计数器;  Retransmitting the lost TCP packet to the peer device through the communication interface, and starting a TCP retransmission timer and/or a TCP retransmission counter;
当所述 TCP重传定时器和 /或 TCP重传计数器的计数值超过预设阈值时, 缩小发送端的拥塞窗口值。 结合第二方面, 在第二方面的第二种可能的实现方式中, 所述 TCP装置 为 RNC、 eNodeB , GGSN、 SGSN或者 PGW。 When the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds a preset threshold, the congestion window value of the transmitting end is reduced. With reference to the second aspect, in a second possible implementation manner of the second aspect, the TCP device is an RNC, an eNodeB, a GGSN, an SGSN, or a PGW.
第三方面, 提供了一种基站设备, 包括: 本发明实施例所述 RLC装置和 TCP装置。  In a third aspect, a base station device is provided, including: an RLC device and a TCP device according to an embodiment of the present invention.
第四方面, 提供了一种反馈丟包的消息处理方法, 所述方法包括: 无线链路控制 RLC装置接收传输控制协议 TCP装置发送的 TCP数据包, 将所述 TCP数据包组包形成 RLC数据包, 并将所述 RLC数据包发送给对端设 备;  A fourth aspect provides a message processing method for feedback packet loss, where the method includes: a radio link control RLC device receives a TCP packet sent by a TCP device of a transmission control protocol, and forms a packet of the TCP packet to form an RLC data. Packet, and sending the RLC data packet to the peer device;
所述 RLC装置接收所述对端设备返回的所述 RLC数据包的应答消息; 所述 RLC装置根据所述 RLC数据包的应答消息构造所述 RLC数据包对应 的 TCP数据包的应答消息;  The RLC device receives a response message of the RLC data packet returned by the peer device; the RLC device constructs a response message of the TCP data packet corresponding to the RLC data packet according to the response message of the RLC data packet;
所述 RLC装置将所述 TCP数据包的应答消息反馈给所述 TCP装置。  The RLC device feeds back a response message of the TCP packet to the TCP device.
结合第四方面, 在第四方面的第一种可能的实现方式中, 所述 RLC装置 接收的所述 TCP数据包中携带有 TCP数据包的信息, 所述 TCP数据包的信息 包括以下所列的一种或任意结合: IP地址、 端口和字节范围;  With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect, the TCP data packet received by the RLC device carries information of a TCP data packet, where the information of the TCP data packet includes the following: One or any combination of: IP address, port, and byte range;
所述将所述 TCP数据包组包形成 RLC数据包, 包括:  The grouping the TCP data packet into an RLC data packet includes:
所述 RLC装置根据所述 TCP数据包的信息,对所述 TCP数据包进行标识, 并记录所述 TCP数据包的标识;  The RLC device identifies the TCP data packet according to the information of the TCP data packet, and records an identifier of the TCP data packet;
所述 RLC装置对所述 TCP数据包进行 RLC组包形成 RLC数据包, 并标识 所述 RLC数据包;  And the RLC device performs an RLC group packet on the TCP data packet to form an RLC data packet, and identifies the RLC data packet;
所述 RLC装置根据所述 TCP数据包的标识和所述 RLC数据包的标识, 建 立并记录所述 RLC数据包与 TCP数据包的对应关系。  And the RLC device establishes and records a correspondence between the RLC data packet and the TCP data packet according to the identifier of the TCP data packet and the identifier of the RLC data packet.
结合第四方面的第一种可能的实现方式, 在第四方面的第二种可能的实 现方式中,所述根据所述 RLC数据包的应答消息构造 TCP数据包的应答消息, 具体为:  With reference to the first possible implementation manner of the fourth aspect, in a second possible implementation manner of the fourth aspect, the responding message of the TCP data packet is configured according to the response message of the RLC data packet, specifically:
根据所述 RLC数据包的应答消息, 利用所述 RLC数据包与 TCP数据包的 对应关系, 构造所述 TCP数据包的应答消息。 Determining the RLC data packet and the TCP data packet according to the response message of the RLC data packet Corresponding relationship, constructing a response message of the TCP packet.
结合第四方面, 在第四方面的第三种可能的实现方式中, 所述 RLC数据 包的应答消息为 RLC ACK信息;  With reference to the fourth aspect, in a third possible implementation manner of the fourth aspect, the response message of the RLC data packet is RLC ACK information;
所述根据所述 RLC数据包的应答消息构造 TCP数据包的应答消息, 具体 为:  The constructing a response message of the TCP packet according to the response message of the RLC data packet, specifically:
根据所述 RLC ACK信息构造 TCP数据包的 TCP ACK信息。  The TCP ACK information of the TCP packet is constructed based on the RLC ACK information.
结合第四方面的第三种可能的实现方式, 在第四方面的第四种可能的实 现方式中, 在所述 RLC装置将所述 TCP数据包的应答消息反馈给所述 TCP装 置之后, 还包括:  With the third possible implementation of the fourth aspect, in a fourth possible implementation manner of the fourth aspect, after the RLC device feeds back the response message of the TCP packet to the TCP device, Includes:
所述 RLC装置接收所述对端设备反馈的 TCP ACK信息;  Receiving, by the RLC device, TCP ACK information fed back by the peer device;
所述 RLC装置将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK 信息相比较,如果不一致,则判断为所述数据包在发送给所述对端设备的 TCP 装置时发生丟包。  The RLC device compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information, and if not, determines that the data packet is lost when sent to the TCP device of the peer device. package.
结合第四方面的第四种可能的实现方式, 在第四方面的第五种可能的实 现方式中, 当发生丟包时, 所述方法还包括:  With the fourth possible implementation of the fourth aspect, in a fifth possible implementation manner of the fourth aspect, when a packet loss occurs, the method further includes:
所述 RLC装置根据所述对端设备反馈的 TCP ACK信息和 RLC ACK信息确 定发生丟包的 TCP数据包;  Determining, by the RLC device, the TCP packet that is lost according to the TCP ACK information and the RLC ACK information fed back by the peer device;
所述 RLC装置指示所述 TCP装置重传所述发生丟包的 TCP数据包或者发 送所述发生丟包的 TCP数据包对应的 RLC数据包。  The RLC device instructs the TCP device to retransmit the TCP packet in which the packet loss occurs or to send the RLC packet corresponding to the TCP packet in which the packet loss occurs.
结合第四方面的第三种可能的实现方式, 在第四方面的第六种可能的实 现方式中, 在所述 RLC装置将所述 TCP数据包的应答消息反馈给所述 TCP装 置之后, 还包括:  With the third possible implementation of the fourth aspect, in a sixth possible implementation manner of the fourth aspect, after the RLC device feeds back the response message of the TCP packet to the TCP device, Includes:
所述 RLC装置接收所述对端设备反馈的 TCP ACK信息;  Receiving, by the RLC device, TCP ACK information fed back by the peer device;
所述 RLC装置将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK 信息相比较, 如果一致, 则判断为未发生丟包, 并不再向所述 TCP装置发送 所述对端设备反馈的 TCP ACK信息。 结合第四方面, 在第四方面的第七种可能的实现方式中, 所述 RLC数据 包的应答消息为 RLC NACK信息; The RLC device compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information. If they are consistent, it is determined that no packet loss occurs, and the peer device is no longer sent to the TCP device. TCP ACK information fed back by the device. With reference to the fourth aspect, in a seventh possible implementation manner of the fourth aspect, the response message of the RLC data packet is RLC NACK information;
所述根据所述 RLC数据包的应答消息构造 TCP数据包的应答消息, 具体 为:  The constructing a response message of the TCP packet according to the response message of the RLC data packet, specifically:
根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信息, 用以指示所 述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。  And constructing TCP NACK information of the TCP packet according to the RLC NACK information, to instruct the TCP device to retransmit the TCP packet corresponding to the TCP NACK information.
结合第四方面的第七种可能的实现方式, 在第四方面的第八种可能的实 现方式中, 所述根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信息, 具体包括:  With reference to the seventh possible implementation manner of the fourth aspect, in the eighth possible implementation manner of the fourth aspect, the configuring the TCP NACK information of the TCP data packet according to the RLC NACK information includes:
将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC数据包重传给所述 对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器;  Retransmitting the RLC data packet of the RLC data packet to the peer device, and starting an RLC retransmission timer and/or an RLC retransmission counter;
当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈值时, 才艮据所述 RLC NACK信息构造 TCP NACK信息。  The TCP NACK information is constructed according to the RLC NACK information when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold.
结合第四方面, 在第四方面的第九种可能的实现方式中, 所述 TCP数据 包的应答消息通过 GTP-U的扩展头或 TCP SACK选项来传递。  In conjunction with the fourth aspect, in a ninth possible implementation manner of the fourth aspect, the response message of the TCP data packet is delivered by using an extension header of the GTP-U or a TCP SACK option.
第五方面, 提供了一种反馈丟包的消息处理方法, 所述方法包括: 接收 RLC装置发送的 TCP否定确认 NACK信息, 所述 TCP NACK信息由所 述 RLC装置根据 RLC NACK信息构造得到;  The fifth aspect provides a message processing method for feedback packet loss, where the method includes: receiving TCP negative acknowledgement NACK information sent by an RLC device, where the TCP NACK information is constructed by the RLC device according to RLC NACK information;
根据所述 TCP NACK信息确定丟包的 TCP数据包。  The TCP packet of the lost packet is determined according to the TCP NACK information.
结合第五方面, 在第五方面的第一种可能的实现方式中, 在所述根据所 述 TCP NACK信息确定丟包的 TCP数据包之后, 还包括:  With reference to the fifth aspect, in a first possible implementation manner of the fifth aspect, after the determining, according to the TCP NACK information, the packet loss of the TCP data packet, the method further includes:
重传所述丟包的 TCP数据包给所述对端设备,并启动 TCP重传定时器和 / 或 TCP重传计数器;  Retransmitting the lost TCP packet to the peer device, and starting a TCP retransmission timer and/or a TCP retransmission counter;
当所述 TCP重传定时器和 /或 TCP重传计数器的计数值超过预设阈值时, 缩小发送端的拥塞窗口值。  When the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds a preset threshold, the congestion window value of the transmitting end is reduced.
第六方面, 提供了一种反馈丟包的消息处理装置, 所述装置包括: 组包单元, 用于接收 TCP装置发送的 TCP数据包, 将所述 TCP数据包组 包形成 RLC数据包, 并将所述 RLC数据包发送给对端设备; A sixth aspect provides a message processing apparatus for feeding back a packet, where the apparatus includes: a packet unit, configured to receive a TCP data packet sent by the TCP device, group the TCP data packet into an RLC data packet, and send the RLC data packet to the peer device;
接收单元, 用于接收所述对端设备针对所述组包单元发送的所述 RLC数 据包返回的所述 RLC数据包的应答消息;  a receiving unit, configured to receive a response message of the RLC data packet returned by the RLC data packet sent by the peer device for the group packet unit;
处理单元, 用于根据所述接收单元接收的所述 RLC数据包的应答消息构 造所述 RLC数据包对应的 TCP数据包的应答消息;  a processing unit, configured to construct, according to the response message of the RLC data packet received by the receiving unit, a response message of a TCP data packet corresponding to the RLC data packet;
发送单元, 用于将所述处理单元得到的 TCP数据包的应答消息反馈给所 述 TCP装置。  And a sending unit, configured to feed back a response message of the TCP packet obtained by the processing unit to the TCP device.
结合第六方面, 在第六方面的第一种可能的实现方式中, 所述组包单元 具体包括:  With reference to the sixth aspect, in a first possible implementation manner of the sixth aspect,
接收子单元, 用于接收所述 TCP装置发送的 TCP数据包并得到所述 TCP 数据包中携带的 TCP数据包的信息, 所述 TCP数据包的信息包括以下所列的 一种或任意结合: IP地址、 端口和字节范围;  a receiving subunit, configured to receive a TCP data packet sent by the TCP device, and obtain information about a TCP data packet carried in the TCP data packet, where the information of the TCP data packet includes one or any combination of the following: IP address, port and byte range;
记录子单元, 用于根据所述接收子单元得到的所述 TCP数据包的信息, 对所述 TCP数据包进行标识, 并记录所述 TCP数据包的标识;  a recording subunit, configured to identify the TCP data packet according to the information of the TCP data packet obtained by the receiving subunit, and record an identifier of the TCP data packet;
组包子单元, 用于对所述接收子单元接收的所述 TCP数据包进行 RLC组 包形成 RLC数据包, 并标识所述 RLC数据包;  a packet subunit, configured to perform RLC grouping on the TCP packet received by the receiving subunit to form an RLC data packet, and identify the RLC data packet;
存储子单元, 用于根据记录子单元记录的所述 TCP数据包的标识和所述 组包子单元得到的所述 RLC数据包的标识,建立并记录所述 RLC数据包与 TCP 数据包的对应关系。  a storage subunit, configured to establish and record a correspondence between the RLC data packet and the TCP data packet according to the identifier of the TCP data packet recorded by the recording subunit and the identifier of the RLC data packet obtained by the group packet subunit .
结合第六方面的第一种可能的实现方式, 在第六方面的第二种可能的实 现方式中, 所述处理单元具体用于根据所述 RLC数据包的应答消息, 利用所 述存储子单元记录的所述 RLC数据包与 TCP数据包的对应关系,构造所述 TCP 数据包的应答消息。  With reference to the first possible implementation manner of the sixth aspect, in a second possible implementation manner of the sixth aspect, the processing unit is specifically configured to use the storage subunit according to the response message of the RLC data packet Corresponding relationship between the recorded RLC data packet and the TCP data packet, constructing a response message of the TCP data packet.
结合第六方面, 在第六方面的第三种可能的实现方式中, 当所述接收单 元接收的所述 RLC数据包的应答消息为 RLC ACK信息时, 所述处理单元根据 所述 RLC ACK信息构造 TCP数据包的 TCP ACK信息。 With reference to the sixth aspect, in a third possible implementation manner of the sixth aspect, when the response message of the RLC data packet received by the receiving unit is RLC ACK information, the processing unit is configured according to The RLC ACK information constructs TCP ACK information of a TCP packet.
结合第六方面的第三种可能的实现方式, 在第六方面的第四种可能的实 现方式中, 所述接收单元还用于接收所述对端设备反馈的 TCP ACK信息; 所述装置还包括:  With reference to the third possible implementation manner of the sixth aspect, in a fourth possible implementation manner of the sixth aspect, the receiving unit is further configured to receive TCP ACK information that is fed back by the peer device; Includes:
比较单元, 用于将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP a comparing unit, configured to forward the TCP ACK information fed back by the peer device with the constructed TCP
ACK 信息相比较, 如果不一致, 则判断为所述数据包在发送给所述对端设备 的 TCP装置时发生丟包。 If the ACK information is compared, if it is inconsistent, it is determined that the data packet is lost when it is sent to the TCP device of the peer device.
结合第六方面的第四种可能的实现方式, 在第六方面的第五种可能的实 现方式中, 当发生丟包时, 所述比较单元根据所述对端设备反馈的 TCP ACK 信息和 RLC ACK信息确定发生丟包的 TCP数据包; 并触发所述发送单元发送 指示所述 TCP装置重传所述发生丟包的 TCP数据包的指令或者发送所述发生 丟包的 TCP数据包对应的 RLC数据包的指令。  With reference to the fourth possible implementation manner of the sixth aspect, in a fifth possible implementation manner of the sixth aspect, when the packet loss occurs, the comparing unit is configured according to the TCP ACK information and the RLC fed back by the peer device The ACK information determines a TCP packet in which packet loss occurs; and triggers the sending unit to send an instruction indicating that the TCP device retransmits the TCP packet in which the packet loss occurs or sends the RLC corresponding to the TCP packet in which the packet loss occurs. The instruction of the packet.
结合第六方面的第三种可能的实现方式, 在第六方面的第六种可能的实 现方式中, 所述接收单元还用于接收所述对端设备反馈的 TCP ACK信息; 所述装置还包括:  With reference to the third possible implementation manner of the sixth aspect, in a sixth possible implementation manner of the sixth aspect, the receiving unit is further configured to receive TCP ACK information that is fed back by the peer device; Includes:
比较单元, 用于将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK 信息相比较, 如果一致, 则判断为未发生丟包, 并不再触发所述发送单 元向所述 TCP装置发送所述对端设备反馈的 TCP ACK信息。  a comparing unit, configured to compare the TCP ACK information fed back by the peer device with the constructed TCP ACK information, if yes, determining that no packet loss occurs, and not triggering the sending unit to the TCP The device sends the TCP ACK information fed back by the peer device.
结合第六方面, 在第六方面的第七种可能的实现方式中, 当所述接收单 元接收的所述 RLC数据包的应答消息为 RLC NACK信息时, 所述处理单元根据 所述 RLC NACK信息构造 TCP数据包的 TCP NACK信息, 用以指示所述 TCP装 置重传所述 TCP NACK信息对应的 TCP数据包。  With reference to the sixth aspect, in a seventh possible implementation manner of the sixth aspect, when the response message of the RLC data packet received by the receiving unit is RLC NACK information, the processing unit is configured according to the RLC NACK information. The TCP NACK information of the TCP packet is configured to instruct the TCP device to retransmit the TCP packet corresponding to the TCP NACK information.
结合第六方面的第七种可能的实现方式, 在第六方面的第八种可能的实 现方式中, 所述装置还包括:  In conjunction with the seventh possible implementation of the sixth aspect, in an eighth possible implementation manner of the sixth aspect, the device further includes:
第一重传单元, 用于当所述接收单元接收的所述 RLC数据包的应答消息 为 RLC NACK信息时, 将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC 数据包重传给所述对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器; 当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈值时,触发 所述处理单元根据所述 RLC NACK信息构造 TCP NACK信息。 a first retransmission unit, configured to: when the response message of the RLC data packet received by the receiving unit is RLC NACK information, the response message of the RLC data packet is an RLC of RLC NACK information Retransmitting the data packet to the peer device, and starting an RLC retransmission timer and/or an RLC retransmission counter; when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold, Triggering the processing unit to construct TCP NACK information according to the RLC NACK information.
结合第六方面, 在第六方面的第九种可能的实现方式中, 所述发送单元 反馈的所述 TCP数据包的应答消息通过 GTP-U的扩展头或 TCP SACK选项来传 递。  In conjunction with the sixth aspect, in a ninth possible implementation manner of the sixth aspect, the response message of the TCP packet that is sent by the sending unit is transmitted by using an extension header of the GTP-U or a TCP SACK option.
第七方面, 提供了一种反馈丟包的消息处理装置, 所述装置包括: 接收单元, 用于接收 RLC装置发送的 TCP否定确认 NACK信息, 所述 TCP The seventh aspect provides a message processing apparatus for feedback packet loss, where the apparatus includes: a receiving unit, configured to receive TCP negative acknowledgement NACK information sent by the RLC apparatus, where the TCP
NACK信息由所述 RLC装置根据 RLC NACK信息构造得到; The NACK information is constructed by the RLC device according to the RLC NACK information;
判断单元, 用于根据所述接收单元接收的所述 TCP NACK信息确定丟包的 a determining unit, configured to determine, according to the TCP NACK information received by the receiving unit, packet loss
TCP数据包。 TCP packet.
结合第七方面, 在第七方面的第一种可能的实现方式中, 所述装置还包 括:  In conjunction with the seventh aspect, in a first possible implementation manner of the seventh aspect, the device further includes:
第二重传单元, 用于当所述判断单元确定所述丟包的 TCP数据包之后, 重传所述丟包的 TCP数据包给所述对端设备, 并启动 TCP重传定时器和 /或 TCP重传计数器;  a second retransmission unit, configured to: after the determining unit determines the TCP packet of the packet loss, retransmit the TCP packet of the packet loss to the peer device, and start a TCP retransmission timer and/or Or TCP retransmission counter;
调整单元, 用于当所述重传单元启动的所述 TCP 重传定时器和 /或 TCP 重传计数器的计数值超过预设阈值时, 缩小发送端的拥塞窗口值。  And an adjusting unit, configured to reduce a congestion window value of the sending end when the count value of the TCP retransmission timer and/or the TCP retransmission counter initiated by the retransmission unit exceeds a preset threshold.
本发明提供的反馈丟包的消息处理方法及装置, 通过无线链路控制 ( Rad i o L ink Cont ro l , RLC )层反馈的 ACK/NACK信息, 来判断当前的某个 TCP数据包是否正确接收, 从而准确判断 TCP丟包并获得准确的 TCP丟包信 息, 仅需要对没有正确接收的数据进行重传, 可以减少不必要的重传, 提升 无线 TCP的性能, 充分利用空口资源。 附图说明  The message processing method and device for feedback packet loss provided by the present invention determine whether a current TCP data packet is correctly received by using ACK/NACK information fed back by a radio link control (RLC) layer. Therefore, the TCP packet loss can be accurately determined and the accurate TCP packet loss information can be obtained. Only the data that is not correctly received can be retransmitted, which can reduce unnecessary retransmission, improve the performance of the wireless TCP, and make full use of the air interface resources. DRAWINGS
图 1为本发明实施例一提供的反馈丟包的消息处理方法流程图; 图 2为本发明实施例一提供的对 TCP数据包进行组包的处理流程图; 图 3为本发明实施例一提供的 RNC中各协议层的对应关系示意图; 图 4为本发明实施例二提供的反馈丟包的消息处理方法流程图; 图 5为本发明实施例二提供的根据 TCP NACK信息进行拥塞控制的方法流 程图; FIG. 1 is a flowchart of a message processing method for feedback packet loss according to Embodiment 1 of the present invention; 2 is a flowchart of processing a packet of a TCP packet according to Embodiment 1 of the present invention; FIG. 3 is a schematic diagram of correspondence between protocol layers in an RNC according to Embodiment 1 of the present invention; A flowchart of a message processing method for providing feedback packet loss; FIG. 5 is a flowchart of a method for performing congestion control according to TCP NACK information according to Embodiment 2 of the present invention;
图 6为本发明实施例三提供的反馈丟包的消息处理方法的信令图; 图 7为一种 GTP-U协议的扩展头的示意图;  6 is a signaling diagram of a message processing method for feedback packet loss according to Embodiment 3 of the present invention; FIG. 7 is a schematic diagram of an extension header of a GTP-U protocol;
图 8为本发明实施例四提供的反馈丟包的消息处理装置示意图; 图 9为本发明实施例五提供的反馈丟包的消息处理装置示意图; 图 10为本发明实施例六提供的 RLC装置的结构组成示意图;  FIG. 8 is a schematic diagram of a message processing apparatus for feedback packet loss according to Embodiment 4 of the present invention; FIG. 9 is a schematic diagram of a message processing apparatus for feedback packet loss according to Embodiment 5 of the present invention; FIG. 10 is a schematic diagram of an RLC apparatus according to Embodiment 6 of the present invention; Schematic diagram of the structure;
图 11为本发明实施例七提供的 TCP装置的结构组成示意图。 具体实施方式  FIG. 11 is a schematic structural diagram of a TCP device according to Embodiment 7 of the present invention. detailed description
下面通过附图和实施例, 对本发明的技术方案做进一步的详细描述。 第三代合作伙伴计划 ( 3rd Generation Partnership Project, 3GPP )开 始了 3G长期演进计划 (Long Term Evolution, LTE ) 。 在 LTE协议栈层次结 构中, 无线链路控制 (Radio Link Control, RLC)层作为 LTE协议栈 L2层 的协议之一, 主要用于提供可靠的数据传输链路, 该链路类型用于屏蔽无线 链路带来的影响并为上层提供可靠的数据传输。 The technical solution of the present invention will be further described in detail below through the accompanying drawings and embodiments. Third Generation Partnership Project (3 rd Generation Partnership Project, 3GPP ) began a 3G Long Term Evolution (Long Term Evolution, LTE). In the LTE protocol stack hierarchy, the Radio Link Control (RLC) layer is one of the protocols of the L2 layer of the LTE protocol stack, and is mainly used to provide a reliable data transmission link, which is used for shielding wireless The impact of the link and provide reliable data transmission for the upper layer.
在当前的 3G系统中, 无线接入网 ( Radio Access Network, RAN)侧包 括 RNC节点和基站 NodeB, RNC节点对多个 NodeB进行控制, NodeB直接与用 户设备(User Equipment, UE)进行通信。 在当前的 4G系统中, RAN侧包括 eNodeB 节点, eNodeB 节点直接与核心网的移动管理实体 ( Mobility Management Entity, MME)和网关进行通信, 同时和 UE进行通信。  In the current 3G system, the radio access network (RAN) side includes an RNC node and a base station NodeB. The RNC node controls multiple NodeBs, and the NodeB directly communicates with a user equipment (User Equipment, UE). In the current 4G system, the RAN side includes an eNodeB node, and the eNodeB node directly communicates with the Mobility Management Entity (MME) of the core network and the gateway, and simultaneously communicates with the UE.
本发明提供的反馈丟包的消息处理方法和装置应用于 RAN侧与 UE侧之间 建立承载通道之后, 进行无线 TCP数据传输的过程中, 用以判断传输的 TCP 数据包是否发生丟包的情况。 The message processing method and device for feedback packet loss provided by the present invention are applied to determine the TCP transmission during the process of performing wireless TCP data transmission after establishing a bearer channel between the RAN side and the UE side. Whether the packet has been dropped.
实施例一  Embodiment 1
图 1是本实施例提供的反馈丟包的消息处理方法流程图, 如图 1所示, 该方法包括:  FIG. 1 is a flowchart of a message processing method for feedback packet loss according to the embodiment. As shown in FIG. 1, the method includes:
S 1 0 RLC装置接收 TCP装置发送的 TCP数据包, 将所述 TCP数据包组 包形成 RLC数据包, 并将所述 RLC数据包发送给对端设备。  The S1 0 RLC device receives the TCP packet sent by the TCP device, forms the TCP packet into an RLC packet, and sends the RLC packet to the peer device.
RLC装置接收到的 TCP数据包可以是处理过的 TCP数据包(如经过其他 协议层处理后的数据包) , 也可以是 TCP装置发送的 TCP数据包。 对端设备 通常为 UE。 具体的处理过程将在后续的篇幅中结合图 2和图 3进行说明。  The TCP packet received by the RLC device may be a processed TCP packet (such as a packet processed by another protocol layer) or a TCP packet sent by the TCP device. The peer device is usually a UE. The specific processing will be described in the following pages in conjunction with Figs. 2 and 3.
S 1 02、 RLC装置接收所述对端设备返回的所述 RLC数据包的应答消息。 对端设备对应的 RLC装置会针对每一个 RLC数据包会返回对应 RLC数据 包的应答信息。 RLC数据包的应答信息可以包括 RLC ACK信息和 /或 RLC NACK 信息。  S102: The RLC device receives a response message of the RLC data packet returned by the peer device. The RLC device corresponding to the peer device returns the response information of the corresponding RLC packet for each RLC packet. The response information of the RLC packet may include RLC ACK information and/or RLC NACK information.
51 03、 RLC装置根据所述 RLC数据包的应答消息构造所述 RLC数据包对 应的 TCP数据包的应答消息。  51. The RLC device constructs a response message of the TCP packet corresponding to the RLC data packet according to the response message of the RLC data packet.
如果某个 RLC数据包的应答消息为 ACK , 则该 RLC数据包对应的 TCP数 据包的应答消息为 ACK。 如果某个 RLC数据包的应答消息为 NACK , 则该 RLC 数据包对应的 TCP数据包的应答消息为 NACK。 利用这种对应关系, 根据 RLC 数据包的应答消息构造 TCP数据包的应答消息,即利用 RLC ACK信息构造 TCP ACK信息, 利用 RLC NACK信息构造 TCP NACK信息。  If the response message of an RLC packet is ACK, the response message of the TCP packet corresponding to the RLC packet is ACK. If the response message of an RLC packet is NACK, the response message of the TCP packet corresponding to the RLC packet is NACK. Using this correspondence, a response message of the TCP packet is constructed based on the response message of the RLC packet, that is, the TCP ACK information is constructed using the RLC ACK information, and the TCP NACK information is constructed using the RLC NACK information.
51 04、 RLC装置将所述 TCP数据包的应答消息反馈给所述 TCP装置。 TCP装置根据 TCP数据包的应答消息判断所述 TCP数据包是否丟包。 当 51. The RLC device feeds back the response message of the TCP packet to the TCP device. The TCP device determines whether the TCP packet is lost according to a response message of the TCP packet. when
RLC装置发送 TCP NACK信息时, TCP装置则判断为 TCP数据包发生丟包。 当 TCP装置接收到某个 TCP数据包的 ACK , 则判断为该 TCP数据包未发生丟包。 When the RLC device transmits the TCP NACK information, the TCP device determines that the TCP packet has been dropped. When the TCP device receives an ACK of a TCP packet, it determines that no packet loss has occurred in the TCP packet.
图 2是本实施例提供的对 TCP数据包进行组包的处理流程图, 如图 2所 示, 该处理过程包括: S101 RLC装置接收所述 TCP装置发送的 TCP数据包并得到所述 TCP数 据包中携带的 TCP数据包的信息。 FIG. 2 is a flowchart of processing a packet for a TCP packet according to the embodiment. As shown in FIG. 2, the process includes: The S101 RLC device receives the TCP packet sent by the TCP device and obtains information of the TCP packet carried in the TCP packet.
在 RAN侧与 UE侧之间的数据传输过程中,发送端可以为 RAN侧,接收端 可以为 UE , 在 RAN侧与 UE侧均对等地设有 RLC装置和 TCP装置。 在实际应 用场景中, 发送端的 TCP装置发送的 TCP数据包在到达 RLC装置前通常还会 通过其他协议层进行头压缩、 数据包解析等预处理, RLC 装置接收到的是经 过处理后的 TCP数据包。  In the data transmission process between the RAN side and the UE side, the transmitting end may be the RAN side, the receiving end may be the UE, and the RLC device and the TCP device are equally provided on the RAN side and the UE side. In the actual application scenario, the TCP packet sent by the TCP device at the transmitting end usually performs pre-processing such as header compression and packet parsing through other protocol layers before reaching the RLC device, and the RLC device receives the processed TCP data. package.
图 3是一种 RNC中各协议层的对应关系示意图, 如图 3所示, TCP代理 服务器( TCP proxy )通过 RNC与基站 NodeB进行数据传输。 TCP代理服务器 包括多个用户的多个 TCP连接。在 RNC中可以包括分组数据汇聚协议( Packet Da ta Convergence Protoco l , PDCP )层、 RLC装置(即 RLC层) 、 专用媒体 接入控制 (Med ia Acces s Cont ro l- D, MACD )层和媒体接入控制业务(Med i a Acces s Cont ro l C l i ent )层。 RNC通过 PDCP层接收从用户的多个 TCP连接 发送的 TCP数据包, PDCP层对 TCP数据包进行解析,得到 TCP数据包的信息, 所述 TCP数据包的信息包括以下所列的一种或任意结合: IP地址、 端口和字 节范围, 用以根据 TCP数据包的信息标识所述 TCP数据包。 PDCP层还具有头 压缩功能, 将进行头压缩后的 TCP数据包传递给 RLC装置。 MACD层对 RLC装 置发送的 RLC数据包进行调度, MACC层用于对小区内的业务进行汇总发送给 NodeB。  FIG. 3 is a schematic diagram of correspondence between protocol layers in an RNC. As shown in FIG. 3, a TCP proxy server performs data transmission through a RNC and a base station NodeB. TCP Proxy Server Includes multiple TCP connections for multiple users. The RNC may include a Packet Data Convergence Protocol (PDCP) layer, an RLC device (ie, an RLC layer), a dedicated media access control (Media Acces s Cont ro l-D, MACD) layer, and media. Access control service (Med ia Acces s Cont ro l C li ent) layer. The RNC receives the TCP data packet sent from the user's multiple TCP connections through the PDCP layer, and the PDCP layer parses the TCP data packet to obtain information of the TCP data packet, and the information of the TCP data packet includes one or any of the following. Combination: IP address, port and byte range, used to identify the TCP packet based on the information of the TCP packet. The PDCP layer also has a header compression function that passes the header-compressed TCP packets to the RLC device. The MAC layer performs scheduling on the RLC packets sent by the RLC device, and the MACC layer is used to aggregate and send the services in the cell to the NodeB.
如果 RLC装置接收到的是发送端的 TCP装置发送的 TCP数据包, 则先对 If the RLC device receives the TCP packet sent by the TCP device at the transmitting end,
TCP数据包进行解析, 得到 TCP数据包的信息, 再将解析后的 TCP数据包发 给 PDCP层进行头压缩处理, RLC装置再将经过 PDCP层处理后的数据包提供 给 S1012。 The TCP packet is parsed to obtain the information of the TCP packet, and the parsed TCP packet is sent to the PDCP layer for header compression processing, and the RLC device supplies the packet processed by the PDCP layer to S1012.
SI 012、 RLC装置根据所述 TCP数据包的信息, 对所述 TCP数据包进行标 识, 并记录所述 TCP数据包的标识。  The SI 012, the RLC device identifies the TCP packet according to the information of the TCP packet, and records the identifier of the TCP packet.
相应的, 数据包的标识包括以下所列 TCP数据包的信息中的一种或任意 结合: IP地址、 端口和字节范围。 Correspondingly, the identifier of the data packet includes one or any of the information of the TCP packets listed below. Combination: IP address, port and byte range.
51 01 3、 RLC装置对所述数据包进行 RLC组包形成 RLC数据包, 并标识所 述 RLC数据包。  51 01 3. The RLC device performs RLC grouping on the data packet to form an RLC data packet, and identifies the RLC data packet.
在实际应用场景中, RLC装置将标识好的 RLC数据包发送给对端设备时, 可能会通过其他协议层将处理后的 RLC数据包发送给对端设备, 例如图 3中 通过 MACD层发送。 此时, RLC装置根据 MACD层的调度来决定组包的大小, 以及该发送多少数据量给 MACD层, 以进行流量控制, 避免 RNC和 NodeB之间 IuB口的拥塞。  In the actual application scenario, when the RLC device sends the identified RLC data packet to the peer device, the processed RLC data packet may be sent to the peer device through other protocol layers, for example, sent through the MACD layer in FIG. At this time, the RLC device determines the size of the packet according to the scheduling of the MACD layer, and how much data is sent to the MACD layer for traffic control, thereby avoiding congestion of the IuB port between the RNC and the NodeB.
51 014、 RLC装置根据所述数据包的标识和所述 RLC数据包的标识, 建立 并记录所述 RLC数据包与 TCP数据包的对应关系。  51. The RLC device establishes and records a correspondence between the RLC data packet and the TCP data packet according to the identifier of the data packet and the identifier of the RLC data packet.
RLC数据包与 TCP数据包的对应关系为以下三种之一: 一个所述 TCP数 据包对应一个所述 RLC数据包; 一个所述 TCP数据包对应多个所述 RLC数据 包; 或者, 多个所述 TCP数据包对应一个所述 RLC数据包。  The correspondence between the RLC data packet and the TCP data packet is one of the following three types: one of the TCP data packets corresponds to one of the RLC data packets; one of the TCP data packets corresponds to multiple of the RLC data packets; or, multiple The TCP data packet corresponds to one of the RLC data packets.
在 S 1 03中,则根据 RLC数据包与 TCP数据包的对应关系来构建 TCP数据 包的应答消息。  In S 1 03, a response message of the TCP packet is constructed according to the correspondence between the RLC packet and the TCP packet.
具体地, 如果某个 TCP数据包仅对应一个 RLC数据包, 那么该 RLC数据 包的 ACK就是 TCP数据包的 ACK。 如果某个 TCP数据包对应于多个 RLC数据 包, 则多个 RLC数据包的 ACK都收到后, 那么该 TCP数据包才能认为 ACK , 即要求多个 RLC数据包都 ACK。 如果多个 TCP数据包对应于一个 RLC数据包, 则该 RLC数据包的 ACK就是多个 TCP数据包的 ACK。  Specifically, if a TCP packet corresponds to only one RLC packet, the ACK of the RLC packet is an ACK of the TCP packet. If a TCP packet corresponds to multiple RLC packets, if the ACK of multiple RLC packets is received, then the TCP packet can be considered as ACK, that is, multiple RLC packets are required to be ACK. If multiple TCP packets correspond to one RLC packet, the ACK of the RLC packet is the ACK of multiple TCP packets.
本发明通过 RLC装置的消息反馈, 能够准确判断是否发生了 TCP丟包, 并可以获得准确的 TCP丟包信息, 明确具体丟失了哪个数据包, 可以有效率 地进行数据重传。  Through the message feedback of the RLC device, the present invention can accurately determine whether TCP packet loss has occurred, and can obtain accurate TCP packet loss information, and clarify which data packet is specifically lost, and can efficiently perform data retransmission.
实施例二  Embodiment 2
图 4是本实施例提供的反馈丟包的消息处理方法流程图, 如图 4所示, 该方法包括: S20 TCP装置接收发送端的 RLC装置发送的 TCP数据包的应答消息。 TCP数据包的应答消息通过实施例一的方法获得, 于此不再赘述。 FIG. 4 is a flowchart of a message processing method for feedback packet loss according to the embodiment. As shown in FIG. 4, the method includes: The S20 TCP device receives a response message of the TCP packet sent by the RLC device at the transmitting end. The response message of the TCP packet is obtained by the method of Embodiment 1, and details are not described herein again.
5202、 TCP装置根据所述 TCP数据包的应答消息判断对应的所述 TCP数 据包是否丟包, 当判断到所述 TCP数据包发生丟包时, 进入 S203, 否则进入 S205。  5202. The TCP device determines, according to the response message of the TCP packet, whether the corresponding TCP packet is lost. When it is determined that the TCP packet is lost, the process proceeds to S203, otherwise, the process proceeds to S205.
5203、 TCP装置重传对应的所述 TCP数据包给对端设备, 并启动 TCP重 传定时器和 /或 TCP重传计数器。  5203. The TCP device retransmits the corresponding TCP packet to the peer device, and starts a TCP retransmission timer and/or a TCP retransmission counter.
5204、当所述 TCP重传定时器和 /或 TCP重传计数器的计数值超过预设阈 值时, TCP装置缩小发送端的拥塞窗口值。  S204: The TCP device reduces the congestion window value of the sending end when the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds a preset threshold.
如果接收到 TCP数据包的应答消息为 TCP NACK消息, 则认为对应的 TCP 数据包发生丟包, 则进行数据重传, 并启动 TCP重传定时器或 TCP重传计数 器。 当 TCP重传定时器超时或 TCP重传计数器超过预设阈值时, 缩小拥塞窗 口值。  If the response message of the received TCP packet is a TCP NACK message, if the corresponding TCP packet is considered to be lost, the data is retransmitted, and the TCP retransmission timer or the TCP retransmission counter is started. When the TCP retransmission timer expires or the TCP retransmission counter exceeds a preset threshold, the congestion window value is reduced.
5205、 TCP装置增大所述发送端的拥塞窗口值。  5205. The TCP device increases a congestion window value of the sending end.
当 TCP装置收到 RLC装置反馈的 TCP ACK消息后, 进行发送窗口的滑动, 并增大拥塞窗口的大小, 具体的处理过程和现有的 TCP协议中的处理相同。  After receiving the TCP ACK message fed back by the RLC device, the TCP device performs sliding of the transmission window and increases the size of the congestion window. The specific processing is the same as that in the existing TCP protocol.
以 TCP装置接收的 TCP数据包的应答消息为 TCP NACK信息为例, 具体的 处理过程如图 5所示, 包括:  The response message of the TCP packet received by the TCP device is the TCP NACK information. The specific processing is shown in FIG. 5, including:
S30 设定 TCP装置的重传时间 ( Retransmission Timeout, RTO ) 门限 RTO_threshold。  S30 sets the retransmission timeout (RTO) threshold of the TCP device RTO_threshold.
5302、 接收数据包 n的 TCP NACK信息, 即可判断到数据包 n发生丟包。 5302. Receiving the TCP NACK information of the data packet n, it can be determined that the data packet n is lost.
5303、 启动 TCP重传定时器记录数据包 n的 RT0时间 RT0_n。 5303. Start the TCP retransmission timer to record the RT0 time RT0_n of the data packet n.
5304、 判断 RT0_n是否大于 RTO门限 RTO_threshold, 如果是, 则进入 S305, 重传数据包 n并减小拥塞窗口, 否则进入 S306, 重传数据包 n, 拥塞 窗口保持不变。  5304. Determine whether RT0_n is greater than the RTO threshold RTO_threshold. If yes, proceed to S305, retransmit the data packet n and reduce the congestion window. Otherwise, enter S306, retransmit the data packet n, and the congestion window remains unchanged.
RT0 门限 RTO_threshold的大小可以根据实际需要进行设定, 在实际传 输中, 通常设定一个比较小的 RTO门限值即可, 因为 RLC层的直接丟包的延 迟时间是非常短的。 The size of the RT0 threshold RTO_threshold can be set according to actual needs. In the input, it is usually necessary to set a relatively small RTO threshold because the delay time of the direct packet loss of the RLC layer is very short.
另外,考虑到 RLC装置的流控和 MACD的调度机制,拥塞窗口值的初始值 可以设置为和通告窗口大小相同, 即将流控的功能完全交给 RLC层和底层的 MAC层来完成。 当然, 如果 RLC装置能够准确的反馈任意一个 TCP数据包的 NACK信息, 也可以不使用 TCP装置中利用 RT0进行丟包判断的机制。  In addition, considering the flow control of the RLC device and the MACD scheduling mechanism, the initial value of the congestion window value can be set to be the same as the advertised window size, that is, the flow control function is completely handed over to the RLC layer and the underlying MAC layer. Of course, if the RLC device can accurately feed back the NACK information of any TCP packet, the mechanism for using the RT0 to perform packet loss judgment in the TCP device may not be used.
这样, TCP装置可以根据 RLC装置反馈的应答消息, 进行有效的拥塞控 制, 准确重传丟失的 TCP数据包, 优化无线 TCP系统。  In this way, the TCP device can perform effective congestion control according to the response message fed back by the RLC device, accurately retransmit the lost TCP packet, and optimize the wireless TCP system.
实施例三  Embodiment 3
图 6是本实施例提供的反馈丟包的消息处理方法的信令图,如图 6所示, 该方法包括:  FIG. 6 is a signaling diagram of a message processing method for feedback packet loss according to the embodiment. As shown in FIG. 6, the method includes:
S40 RAN TCP装置向 RAN RLC装置发送 TCP数据包。  The S40 RAN TCP device transmits a TCP packet to the RAN RLC device.
S402、 RAN RLC装置对所述 TCP数据包进行组包, 形成 RLC数据包。 RAN RLC装置在接收到发送端的 TCP装置发送的 TCP数据包之后 , RAN RLC 装置对所述 TCP数据包进行组包,形成至少一个 RLC数据包,并记录所述 TCP 数据包与所述 RLC数据包的对应关系。  S402. The RAN RLC apparatus groups the TCP data packet to form an RLC data packet. After receiving the TCP data packet sent by the TCP device at the transmitting end, the RAN RLC device groups the TCP data packet to form at least one RLC data packet, and records the TCP data packet and the RLC data packet. Correspondence.
5403、 RAN RLC装置发送所述 RLC数据包给用户设备 UE。  S403. The RAN RLC apparatus sends the RLC data packet to the user equipment UE.
5404、 UE RLC装置在接收到所述 RLC数据包反馈 RLC ACK信息给 RAN RLC 装置。  5404. The UE RLC device feeds back the RLC ACK information to the RAN RLC device by receiving the RLC data packet.
S405、UE RLC装置发送由所述 RLC数据包组包形成的 TCP数据包给 UE TCP 装置。  S405. The UE RLC apparatus sends a TCP data packet formed by the RLC data packet group to the UE TCP device.
5406、 RAN RLC装置才艮据 UE RLC装置反馈的 RLC ACK信息构造 TCP ACK 信息。  5406. The RAN RLC device constructs TCP ACK information according to the RLC ACK information fed back by the UE RLC device.
RAN RLC装置根据当前的 RLC数据包与 TCP数据包的关系, 构造相应 TCP 数据包的 ACK信息, 进而将 TCP ACK信息反馈给 RAN TCP装置。  The RAN RLC device constructs ACK information of the corresponding TCP packet according to the relationship between the current RLC data packet and the TCP data packet, and then feeds back the TCP ACK information to the RAN TCP device.
5407、 RAN RLC装置发送 TCP ACK信息给 RAN TCP装置。 当 RAN TCP装置接收到 TCP ACK信息, 则判断为该 TCP数据包没有丟包。5407. The RAN RLC device sends the TCP ACK information to the RAN TCP device. When the RAN TCP device receives the TCP ACK information, it is determined that the TCP packet has no packet loss.
5408、 RAN RLC装置接收 UE TCP装置反馈的 TCP ACK信息。 S408: The RAN RLC device receives the TCP ACK information fed back by the UE TCP device.
5409、 RAN RLC装置将 UE TCP装置反馈的 TCP ACK信息与 TCP ACK信息 相比较。  5409. The RAN RLC device compares the TCP ACK information fed back by the UE TCP device with the TCP ACK information.
通常, UE RLC装置反馈的 RLC ACK信息一般会比 UE TCP装置反馈的 TCP Generally, the RLC ACK information fed back by the UE RLC device is generally more than the TCP fed back by the UE TCP device.
ACK信息早到。 如果 UE TCP装置反馈的 TCP ACK信息与构造的 TCP ACK信息 一致, 则确认没有丟包, 不再向所述 RAN TCP装置发送所述 UE TCP装置反馈 的 TCP ACK信息。 如果不一致, 则判断为所述 RLC数据包在所述 UE RLC装置 发送给所述 UE TCP装置时发生丟包, 可以根据所述对端设备反馈的 TCP ACK 信息和 RLC ACK信息确定发生丟包的 TCP数据包, 并指示 TCP装置重传所述 发生丟包的 TCP数据包或者发送所述发生丟包的 TCP数据包对应的 RLC数据 包, 进行重传操作。 此时, 可能是发送端的流控存在问题, 导致 UE TCP装置 的緩存溢出, 发出 RLC ACK信息的 TCP数据包在传输给 TCP装置后, 被 TCP 装置丟弃。 The ACK message arrived early. If the TCP ACK information fed back by the UE TCP device is consistent with the constructed TCP ACK information, it is confirmed that there is no packet loss, and the TCP ACK information fed back by the UE TCP device is not sent to the RAN TCP device. If it is inconsistent, it is determined that the RLC data packet is lost when the UE RLC device sends the UE TCP device, and the packet loss may be determined according to the TCP ACK information and the RLC ACK information fed back by the peer device. And a TCP packet, and instructing the TCP device to retransmit the TCP packet in which the packet loss occurs or to send the RLC packet corresponding to the TCP packet in which the packet loss occurs, and perform a retransmission operation. At this time, there may be a problem in the flow control of the transmitting end, which causes the buffer of the UE TCP device to overflow, and the TCP packet that sends the RLC ACK information is discarded by the TCP device after being transmitted to the TCP device.
例如, RAN RLC装置向 UE发送了 6个数据包, 具体标识为 1 ~ 6 , UE RLC 装置反馈的 RLC ACK信息为 1, 2, 3, 5, 6 , 表示接收到标识为 1, 2, 3, 5, 6的 RLC 数据包,对应于 RLC数据包标识与 TCP数据包标识的对应关系,根据该 RLC ACK 可以构造得到对应的 TCP ACK信息, 以 RLC数据包标识与 TCP数据包标识一 一对应为例, 则构造得到的 TCP ACK 信息也为 1,2,3,5,6 , 表示标识为 1, 2, 3, 5, 6的 TCP数据包没有丟包。 而 UE TCP装置反馈的 TCP ACK信息为 3 , 表示接收到标识为 1, 2, 3的数据包。 可以看出 UE TCP装置反馈的 TCP ACK信 息与构造的 TCP ACK信息不一致, 可以判断出有发生丟包的 TCP数据包, 且 根据 UE TCP装置反馈的 TCP ACK信息与构造的 TCP ACK信息可以确定出发生 丟包的 TCP数据包为标识为 4的 TCP数据包, 则指示 RAN TCP装置重传标识 为 4的 TCP数据包或者 RAN RLC装置重传标识为 4的 RLC数据包, 对应于标 识为 4的 TCP数据包。 对于 RLC数据包标识与 TCP数据包标识不是——对应 的情形, 则可以根据对应关系, 相类似地确定丟包的 RLC数据包的标识以及 对应的 TCP数据包标识, 进行丟包的数据包重传。 For example, the RAN RLC device sends 6 data packets to the UE, specifically identified as 1 to 6, and the RLC ACK information fed back by the UE RLC device is 1, 2, 3, 5, 6 , indicating that the received identifier is 1, 2, 3 The RLC data packet of 5, 6 corresponds to the correspondence between the RLC data packet identifier and the TCP data packet identifier, and the corresponding TCP ACK information can be constructed according to the RLC ACK, and the RLC data packet identifier corresponds to the TCP data packet identifier. For example, the constructed TCP ACK information is also 1, 2, 3, 5, and 6, indicating that the TCP packets with the identifiers 1, 2, 3, 5, and 6 have no packet loss. The TCP ACK information fed back by the UE TCP device is 3, indicating that the data packet with the identifier 1, 2, 3 is received. It can be seen that the TCP ACK information fed back by the UE TCP device is inconsistent with the constructed TCP ACK information, and it can be determined that the TCP packet with packet loss occurs, and can be determined according to the TCP ACK information and the constructed TCP ACK information fed back by the UE TCP device. If the TCP packet with packet loss is a TCP packet with the identifier 4, the RAN TCP device is instructed to retransmit the TCP packet with the identifier 4 or the RLC packet with the RAN RLC device retransmission identifier 4, corresponding to the identifier 4 TCP packet. For RLC packet identification and TCP packet identification is not - corresponding In the case of the corresponding relationship, the identifier of the lost RLC data packet and the corresponding TCP packet identifier are similarly determined, and the packet retransmission of the lost packet is performed.
S41 0、 UE RLC装置对未接收到的 RLC数据包, 反馈 RLC NACK信息给 RAN RLC装置。  S41: The UE RLC device feeds back the RLC NACK information to the RAN RLC device for the unreceived RLC data packet.
S41 RAN RLC装置对反馈 RLC NACK信息的 RLC数据包进行重传。  The S41 RAN RLC device retransmits the RLC packet that feeds back the RLC NACK information.
RAN RLC装置重传对应的 RLC数据包, 并启动 RLC重传定时器或 RLC重 传计数器。 当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈 值时, 表示出现了 RLC随机丟包、 RLC超时丟包、 RLC重传超时或者 RLC重传 失败的情形, 进入 S41 2。  The RAN RLC device retransmits the corresponding RLC packet and starts the RLC retransmission timer or the RLC retransmission counter. When the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold, it indicates that an RLC random packet loss, an RLC timeout packet loss, an RLC retransmission timeout, or an RLC retransmission failure occurs. S41 2.
在 RLC装置中, 一个数据的丟失存在多种情况。 比如, 如果其緩存不能 接收来自 PDCP层的 TCP数据包的话, RLC装置可以直接将该 RLC数据包丟弃。 或者, 一个 RLC数据包传输多次后, 超过重传时间限制, 或者超出重传次数 限制, 则反馈 NACK给 TCP装置。 即 RAN RLC装置将多种丟包情况进行考虑, 但是反馈给 TCP层都是一个 NACK信息, 因为对 RAN TCP装置来说, 就是某个 TCP数据包没有发送成功。  In an RLC device, there are many cases in which one data is lost. For example, if its cache cannot receive TCP packets from the PDCP layer, the RLC device can directly discard the RLC packets. Or, after an RLC packet is transmitted multiple times, exceeds the retransmission time limit, or exceeds the retransmission limit, the NACK is fed back to the TCP device. That is, the RAN RLC device considers various packet loss scenarios, but the feedback to the TCP layer is a NACK message, because for the RAN TCP device, a certain TCP packet is not successfully transmitted.
541 2、 RAN RLC装置 ^据 RLC NACK信息构造 TCP NACK信息, 用以指示 所述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。  541 2. The RAN RLC device constructs TCP NACK information according to the RLC NACK information, and is used to instruct the TCP device to retransmit the TCP data packet corresponding to the TCP NACK information.
541 3、 RAN RLC装置发送 TCP NACK信息给 RAN TCP装置。  541 3. The RAN RLC device sends TCP NACK information to the RAN TCP device.
5414、 RAN TCP装置判断 TCP数据包的丟包情况。  5414. The RAN TCP device determines a packet loss condition of the TCP packet.
根据 RAN RLC装置反馈的 TCP ACK信息或 TCP NACK信息, 判断丟包情况。 当接收到 TCP ACK信息, 则表明数据包传输成功。  The packet loss condition is determined according to the TCP ACK information or the TCP NACK information fed back by the RAN RLC device. When the TCP ACK message is received, it indicates that the packet transmission was successful.
当接收到 TCP NACK信息时, TCP装置判断丟包的情况具体如下: 首先, RLC装置反馈了 TCP NACK信息, 则表明一定是发生了丟包。 丟失的数据包可 能是重传多次后失败的, 也可能是被 RLC装置直接丟弃的。 如果是重传多次 失败后反馈的 NACK信息, 那么该数据包的 RT0记录时间是比较长的。 如果是 被 RLC装置直接丟弃的, 则存在两种可能: 一种是等待了一段时间后丟弃, 该数据包在 TCP装置的 RT0定时器有比较长的时间记录; 一种是因为緩存已 经满了, 直接丟弃, 那么该数据包在 TCP装置的 RT0定时器记录的时间是非 常短的。 正常情况下, 无论是重传超时, 重传超过次数, 或者是等待时间超 时, 那么该数据包的 RT0时间都是比较长的, 而直接丟弃则该数据包的 RT0 定时器记录的时间是非常短的。 When the TCP NACK information is received, the TCP device determines the packet loss as follows: First, when the RLC device feeds back the TCP NACK information, it indicates that packet loss must occur. Lost data packets may fail after multiple retransmissions, or they may be directly discarded by the RLC device. If the NACK information fed back after multiple failures is retransmitted, the RT0 recording time of the data packet is relatively long. If it is directly discarded by the RLC device, there are two possibilities: One is to wait for a period of time to discard, The data packet is recorded in the RT0 timer of the TCP device for a relatively long time; one is because the buffer is already full and directly discarded, then the time recorded by the RT0 timer of the TCP device is very short. Under normal circumstances, whether it is retransmission timeout, retransmission times, or waiting timeout, then the RT0 time of the packet is relatively long, and the time of the RT0 timer recorded by the packet is Very short.
S415、 RAN TCP装置重传丟失的 TCP数据包。  S415. The RAN TCP device retransmits the lost TCP packet.
RLC数据包具体的传输情况有如下几种: 第一种是一次传输成功, 第二 种是重传多次成功, 第三种是重传多次后达到重传次数而失败, 第四种是重 传多次后超过重传的时间限制而失败, 第五种情况是 RLC装置的緩沖满的情 况下, 将收到的数据包直接丟弃。 在第三、 四、 五种情况下, RLC 装置都是 向 TCP装置反馈对应 TCP数据包的 NACK信息, 由 TCP层进行重传。  The specific transmission conditions of the RLC data packet are as follows: The first one is a successful transmission, the second is a retransmission multiple success, the third is a retransmission multiple times and the number of retransmissions fails, the fourth is After retransmission, it fails more than the time limit of retransmission. In the fifth case, if the buffer of the RLC device is full, the received data packet is directly discarded. In the third, fourth, and fifth cases, the RLC devices feed back the NACK information corresponding to the TCP packet to the TCP device, and the TCP layer retransmits.
在本实施例中, 将 TCP装置和 RLC装置集合于无线侧 (即 RAN侧) 中, 可以彻底解决无线 TCP中丟包判断问题, 同时还避免了信息传递的时延问题。  In this embodiment, the TCP device and the RLC device are grouped on the radio side (ie, the RAN side), which can completely solve the problem of packet loss judgment in the wireless TCP, and also avoid the delay problem of information transmission.
在 RAN侧中能够提供 RLC装置的网元可以是 RNC或者 eNodeB等设备,而 RAN侧反馈的 TCP ACK/NACK信息的可能提供网元位置为 RNC, eNodeB, 通用 分组无线业务网关支持节点 (Gateway GPRS Support Node, GGSN )和分组数 据网络网关 (Packet Data Network Gateway, P-GW)等。 也就是说, RAN侧 反馈的 TCP ACK/NACK信息可以通过 RNC或者 eNodeB直接反馈给其他网元, 或者也可以通过 RNC或者 eNodeB先传给 GGSN、 P-GW等设备后再转发给其他 网元。 因而, 本实施例中 RLC装置可以是 RNC, eNodeB等设备, TCP装置可 以是 RNC, eNodeB, GGSN, P- GW等设备。  The network element capable of providing the RLC device in the RAN side may be a device such as an RNC or an eNodeB, and the TCP ACK/NACK information fed back by the RAN side may provide a network element location as an RNC, an eNodeB, and a general packet radio service gateway support node (Gateway GPRS). Support Node, GGSN) and Packet Data Network Gateway (P-GW). That is to say, the TCP ACK/NACK information fed back by the RAN side can be directly fed back to other network elements through the RNC or the eNodeB, or can be forwarded to the GGSN, P-GW, etc. through the RNC or the eNodeB, and then forwarded to other network elements. Therefore, in this embodiment, the RLC device may be an RNC, an eNodeB, or the like, and the TCP device may be a RNC, an eNodeB, a GGSN, a P-GW, or the like.
由于 RNC到 GGSN、 eNodeB到 P-GW之间都是用户面的 GPRS隧道协议( GPRS Tunnelling Protocol - User plane, GTP-U )协议, 因而, 可以采用 GTP- U 协议的扩展头, 来传递相应 TCP ACK/NACK信息。 图 7是一种 GTP-U协议的扩 展头的示意图, 包括扩展头长度、 扩展头内容和下一个扩展头类型, 可以将 TCP ACK/NACK信息作为扩展头内容进行传递。 当然, TCP ACK/NACK信息也可 以采用 RLC装置中的 SACK中的 ACK和 NACK标识位进行传递, 由于 SACK位于 RLC装置中, 对 TCP装置是否具有 SACK选项并不作要求, 均可以进行传递。 Since the RNC to the GGSN and the eNodeB to the P-GW are both GPRS Tunneling Protocol (User Plane, GTP-U) protocols, the extension header of the GTP-U protocol can be used to transmit the corresponding TCP. ACK/NACK information. 7 is a schematic diagram of an extended header of a GTP-U protocol, including an extended header length, an extended header content, and a next extended header type, which can be transmitted as TCP ACK/NACK information. Of course, TCP ACK/NACK information is also available. The transmission is performed by using the ACK and NACK flag bits in the SACK in the RLC device. Since the SACK is located in the RLC device, it is not required to have the SACK option for the TCP device, and can be transmitted.
需要说明的是, 上述 RAN TCP装置和 RAN RLC装置可以在同一个基站设 备中, 所述基站设备可以为 RNC或者 eNodeB等设备。 当然, 发送端的 TCP装 置也可以不在 RAN侧中, 即在 RAN侧中不存在 TCP优化的情况, RAN TCP装 置和 RAN RLC装置处于不同网元中, 则 RAN RLC装置可以将反馈的 TCP ACK 信息或 TCP NACK信息反馈给其他网元的 TCP装置, 例如, 服务 GPRS支持节 点 ( Serv i ce GPRS Suppor t ing Node , SGSN )或者策略和计费规则功能 ( Po l i cy And Charg ing Rul es Func t ion, PCRF )等网元, 具体的处理过程与本实施例 类似, 不再赘述。  It should be noted that the foregoing RAN TCP device and the RAN RLC device may be in the same base station device, and the base station device may be a device such as an RNC or an eNodeB. Certainly, the TCP device at the transmitting end may not be in the RAN side, that is, there is no TCP optimization in the RAN side, and the RAN TCP device and the RAN RLC device are in different network elements, and the RAN RLC device may send the feedback TCP ACK information or The TCP NACK information is fed back to the TCP device of other network elements, for example, a Serving GPRS Suppering Node (SGSN) or a Policy and Charging Rules function (Po li cy And Charging Rul es Funcion, The specific processing of the network element, such as the PCRF, is similar to the embodiment, and will not be described again.
以上是对本发明所提供的反馈丟包的消息处理方法和拥塞控制方法进行 的详细描述, 下面对本发明提供的反馈丟包的消息处理装置和拥塞控制装置 进行详细描述。  The above is a detailed description of the message processing method and the congestion control method for the feedback packet loss provided by the present invention. The message processing device and the congestion control device for feedback packet loss provided by the present invention are described in detail below.
实施例四  Embodiment 4
图 8是本实施例提供的反馈丟包的消息处理装置示意图, 如图 8所示, 本发明的装置包括: 组包单元 501、 接收单元 502、 处理单元 503和发送单元 504。  FIG. 8 is a schematic diagram of a message processing apparatus for feedback packet loss according to the embodiment. As shown in FIG. 8, the apparatus of the present invention includes: a packet unit 501, a receiving unit 502, a processing unit 503, and a transmitting unit 504.
组包单元 501用于接收 TCP装置发送的 TCP数据包, 将所述 TCP数据包 组包形成 RLC数据包, 并将所述 RLC数据包发送给对端设备。  The packet unit 501 is configured to receive a TCP packet sent by the TCP device, group the TCP packet into an RLC packet, and send the RLC packet to the peer device.
组包单元 501具体包括: 接收子单元、 记录子单元、 组包子单元和存储 子单元(图未示) 。  The packet unit 501 specifically includes: a receiving subunit, a recording subunit, a packet subunit, and a storage subunit (not shown).
接收子单元用于接收所述 TCP装置发送的 TCP数据包并得到所述 TCP数 据包中携带的所述 TCP数据包的信息。  The receiving subunit is configured to receive the TCP data packet sent by the TCP device and obtain the information of the TCP data packet carried in the TCP data packet.
在实际应用场景中, 发送端的 TCP装置发送的 TCP数据包在到达 RLC装 置前通常还会通过其他协议层进行头压缩、 数据包解析等预处理, 接收子单 元接收到的是经过处理后的 TCP数据包。 图 3是一种 RNC中各协议层的对应关系示意图, 如图 3所示, TCP代理 服务器( TCP proxy )通过 RNC与基站 NodeB进行数据传输。 TCP代理服务器 包括多个用户的多个 TCP连接。在 RNC中可以包括分组数据汇聚协议( Packet Da ta Convergence Pro toco l , PDCP )层、 RLC装置、专用媒体接入控制( Med ia Acces s Cont ro l-D , MACD )层和媒体接入控制业务 ( Med ia Acces s Cont ro l C I i ent )层。 RNC通过 PDCP层接收从用户的多个 TCP连接发送的 TCP数据包, PDCP层对 TCP数据包进行解析, 得到 TCP数据包的信息, 所述包头信息包括 以下所列的一种或任意结合: IP地址、 端口和字节范围, 用以根据 TCP数据 包的信息标识所述 TCP数据包。 PDCP层还具有头压缩功能, 将进行头压缩后 的 TCP数据包传递给 RLC装置。 MACD层对 RLC装置发送的 RLC数据包进行调 度, MACC层用于对小区内的业务进行汇总发送给 NodeB。 In the actual application scenario, the TCP packet sent by the TCP device at the transmitting end usually performs pre-processing such as header compression and packet parsing through other protocol layers before reaching the RLC device, and the receiving sub-unit receives the processed TCP. data pack. FIG. 3 is a schematic diagram of the correspondence between protocol layers in the RNC. As shown in FIG. 3, the TCP proxy performs data transmission with the base station NodeB through the RNC. The TCP proxy server includes multiple TCP connections for multiple users. The RNC may include a Packet Data Convergence Pro toco l (PDCP) layer, an RLC device, a dedicated media access control (Met ia Acces s Cont ro lD , MACD ) layer, and a media access control service ( Med Ia Acces s Cont ro l CI i ent ) layer. The RNC receives TCP packets sent from multiple TCP connections of the user through the PDCP layer, and the PDCP layer parses the TCP packets to obtain information of the TCP packets, and the header information includes one or any combination of the following: IP The address, port, and byte range are used to identify the TCP packet based on the information of the TCP packet. The PDCP layer also has a header compression function that passes the header-compressed TCP packets to the RLC device. The MACD layer performs scheduling on the RLC data packets sent by the RLC device, and the MACC layer is used to aggregate and send the services in the cell to the NodeB.
如果 RLC装置接收到的是发送端的 TCP装置发送的 TCP数据包, 则接收 子单元还对 TCP数据包进行解析,得到 TCP数据包的信息,再将解析后的 TCP 数据包发给 PDCP层进行头压缩处理, 再将经过 PDCP层处理后的数据包提供 给记录子单元。  If the RLC device receives the TCP packet sent by the TCP device at the transmitting end, the receiving subunit further parses the TCP packet to obtain the information of the TCP packet, and then sends the parsed TCP packet to the PDCP layer for header. The compression process is performed, and the data packet processed by the PDCP layer is further provided to the recording subunit.
记录子单元用于根据所述接收子单元得到的所述 TCP数据包的信息, 对 所述 TCP数据包进行标识, 并记录所述 TCP数据包的标识。  The recording subunit is configured to identify the TCP data packet according to the information of the TCP data packet obtained by the receiving subunit, and record an identifier of the TCP data packet.
相应的, 记录子单元记录的 TCP数据包的标识包括以下所列 TCP数据包 的信息中的一种或任意结合: IP地址、 端口和字节范围。  Correspondingly, the identifier of the TCP packet recorded by the recording subunit includes one or any combination of the information of the following TCP packets: IP address, port and byte range.
组包子单元用于对所述接收子单元接收的所述 TCP数据包进行 RLC组包 形成 RLC数据包, 并标识所述 RLC数据包。  The packet subunit is configured to perform RLC grouping on the TCP packet received by the receiving subunit to form an RLC data packet, and identify the RLC data packet.
组包子单元根据 MACD层的调度来决定组包的大小,以及该发送多少数据 量给 MACD层, 以进行流量控制, 避免 RNC和 NodeB之间 IuB口的拥塞。  The packet sub-unit determines the size of the packet according to the scheduling of the MACD layer, and how much data is sent to the MACD layer for traffic control to avoid congestion of the IuB port between the RNC and the NodeB.
存储子单元用于根据记录子单元记录的所述 TCP数据包的标识和所述组 包子单元得到的所述 RLC数据包的标识, 建立并记录所述 RLC数据包与 TCP 数据包的对应关系。 存储子单元记录的 RLC数据包与 TCP数据包的对应关系为以下三种之一: 一个所述 TCP数据包对应一个所述 RLC数据包; 一个所述 TCP数据包对应多 个所述 RLC数据包; 或者, 多个所述 TCP数据包对应一个所述 RLC数据包。 The storage subunit is configured to establish and record a correspondence between the RLC data packet and the TCP data packet according to the identifier of the TCP data packet recorded by the recording subunit and the identifier of the RLC data packet obtained by the group packet subunit. The correspondence between the RLC data packet recorded by the storage subunit and the TCP data packet is one of the following three types: one of the TCP data packets corresponds to one of the RLC data packets; and one of the TCP data packets corresponds to multiple of the RLC data packets. Or, a plurality of the TCP data packets correspond to one of the RLC data packets.
接收单元 502用于接收所述对端设备的 RLC装置针对组包单元 501发送 的所述 RLC数据包返回的所述 RLC数据包的应答消息。  The receiving unit 502 is configured to receive a response message of the RLC data packet returned by the RLC device sent by the RLC device of the peer device to the RLC data packet.
对端设备的 RLC装置会针对每一个 RLC数据包会返回对应 RLC数据包的 应答信息。 接收单元 502接收的 RLC数据包的应答信息包括 RLC ACK信息和 / 或 RLC NACK信息。  The RLC device of the peer device returns the response information of the corresponding RLC packet for each RLC packet. The response information of the RLC data packet received by the receiving unit 502 includes RLC ACK information and/or RLC NACK information.
处理单元 503用于根据接收单元 502接收的所述 RLC数据包的应答消息 构造所述 RLC数据包对应的 TCP数据包的应答消息。  The processing unit 503 is configured to construct a response message of the TCP packet corresponding to the RLC data packet according to the response message of the RLC data packet received by the receiving unit 502.
处理单元 503根据组包单元 501中记录的 RLC数据包与 TCP数据包的对 应关系来构建 TCP数据包的应答消息。  The processing unit 503 constructs a response message of the TCP packet based on the correspondence between the RLC packet recorded in the packet unit 501 and the TCP packet.
如果某个 RLC数据包的应答消息为 ACK , 则该 RLC数据包对应的 TCP数 据包的应答消息为 ACK。 如果某个 RLC数据包的应答消息为 NACK, 则该 RLC 数据包对应的 TCP数据包的应答消息为 NACK。 利用这种对应关系, 处理单元 503根据 RLC数据包的应答消息构造 TCP数据包的应答消息, 即利用 RLC ACK 信息构造 TCP ACK信息, 利用 RLC NACK信息构造 TCP NACK信息, 用以指示 所述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。  If the response message of an RLC packet is ACK, the response message of the TCP packet corresponding to the RLC packet is ACK. If the response message of an RLC packet is NACK, the response message of the TCP packet corresponding to the RLC packet is NACK. Using this correspondence, the processing unit 503 constructs a response message of the TCP packet according to the response message of the RLC packet, that is, constructs TCP ACK information by using the RLC ACK information, and constructs TCP NACK information by using the RLC NACK information to indicate the TCP device. Retransmitting the TCP packet corresponding to the TCP NACK information.
处理单元 503根据所述 RLC数据包的应答消息, 利用所述存储子单元记 录的所述 RLC数据包与 TCP数据包的对应关系, 构造所述 TCP数据包的应答 消息。 具体地, 如果某个 TCP数据包仅对应一个 RLC数据包, 那么该 RLC数 据包的 ACK就是 TCP数据包的 ACK。 如果某个 TCP数据包对应于多个 RLC数 据包, 则多个 RLC数据包的 ACK都收到后, 那么该 TCP数据包才能认为 ACK, 即要求多个 RLC数据包都 ACK。 如果多个 TCP数据包对应于一个 RLC数据包, 则该 RLC数据包的 ACK就是多个 TCP数据包的 ACK。  The processing unit 503 constructs a response message of the TCP data packet according to the response message of the RLC data packet by using the correspondence between the RLC data packet and the TCP data packet recorded by the storage subunit. Specifically, if a TCP packet corresponds to only one RLC packet, the ACK of the RLC packet is an ACK of the TCP packet. If a TCP packet corresponds to multiple RLC packets, if the ACK of multiple RLC packets is received, then the TCP packet can be considered as ACK, that is, multiple RLC packets are required to be ACK. If multiple TCP packets correspond to one RLC packet, the ACK of the RLC packet is the ACK of multiple TCP packets.
发送单元 504用于将处理单元 503得到的 TCP数据包的应答消息反馈给 TCP装置。 The sending unit 504 is configured to feed back a response message of the TCP packet obtained by the processing unit 503 to TCP device.
所述 TCP装置根据 TCP数据包的应答消息判断所述 TCP数据包是否丟包。 当发送单元 504发送 TCP NACK信息时, 发送端的 TCP装置则判断为 TCP 数据包发生丟包。 当发送端的 TCP装置接收到某个 TCP数据包的 ACK, 则判 断为该 TCP数据包未发生丟包。  The TCP device determines whether the TCP packet is lost according to a response message of the TCP packet. When the transmitting unit 504 transmits the TCP NACK information, the TCP device at the transmitting end determines that the TCP packet has been dropped. When the TCP device at the transmitting end receives an ACK of a certain TCP packet, it is determined that no packet loss has occurred in the TCP packet.
所述发送单元反馈的所述 TCP数据包的应答消息通过用户面的 GPRS隧道 协议 GTP-U的扩展头或选择性确认 SACK来传递。  The response message of the TCP packet fed back by the sending unit is transmitted through an extension header of the GPRS tunneling protocol GTP-U of the user plane or a selective acknowledge SACK.
可选地, 本发明的消息处理装置还包括: 比较单元 505和第一重传单元 Optionally, the message processing apparatus of the present invention further includes: a comparing unit 505 and a first retransmission unit
506。 506.
比较单元 505与接收单元 502、 处理单元 503和发送单元 504相连接。 接收单元 502还用于接收所述对端设备的 TCP装置反馈的 ACK信息。 比较单元 505用于将接收单元 502接收的所述 TCP装置反馈的 ACK信息 与处理单元 503得到的所述 TCP ACK信息相比较, 如果不一致, 则判断为所 述数据包在发送给所述接收端的 TCP装置时发生丟包; 如果一致, 则判断为 未发生丟包, 并不再触发发送单元 504向所述发送端发送所述 TCP装置反馈 的 ACK信息。  The comparing unit 505 is connected to the receiving unit 502, the processing unit 503, and the transmitting unit 504. The receiving unit 502 is further configured to receive ACK information fed back by the TCP device of the peer device. The comparing unit 505 is configured to compare the ACK information fed back by the TCP device received by the receiving unit 502 with the TCP ACK information obtained by the processing unit 503, and if not, determine that the data packet is sent to the receiving end. If the TCP device is the same, it is determined that no packet loss occurs, and the sending unit 504 is no longer triggered to send the ACK information fed back by the TCP device to the transmitting end.
通常, UE RLC装置反馈的 RLC ACK信息一般会比 UE TCP装置反馈的 TCP ACK信息早到。 如果 UE TCP装置反馈的 TCP ACK信息与构造的 TCP ACK信息 一致, 则比较单元 505确认没有丟包, 不再向所述发送端的 TCP装置发送所 述 TCP装置反馈的 TCP ACK信息。 如果不一致, 则比较单元 505判断为所述 RLC数据包在所述 UE的 RLC装置发送给所述 UE的 TCP装置时发生丟包, 可 以根据所述对端设备反馈的 TCP ACK信息和 RLC ACK信息确定发生丟包的 TCP 数据包, 并指示 TCP装置重传所述发生丟包的 TCP数据包或者发送所述发生 丟包的 TCP数据包对应的 RLC数据包, 进行重传操作。 此时, 可能是发送端 的流控存在问题, 导致 UE TCP装置的緩存溢出, 发出 RLC ACK信息的 TCP数 据包在传输给 TCP装置后, 被 TCP装置丟弃。 第一重传单元 506与接收单元 502和处理单元 503相连接。 第一重传单 元 506用于当接收单元 502接收的所述 RLC数据包的应答消息为 RLC NACK信 息时, 将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC数据包重传给所 述对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器; 当所述 RLC重传 定时器和 /或 RLC重传计数器的计数值超过预设阈值时,触发处理单元 503根 据所述 RLC NACK信息构造 TCP NACK信息。 Generally, the RLC ACK information fed back by the UE RLC device is generally earlier than the TCP ACK information fed back by the UE TCP device. If the TCP ACK information fed back by the UE TCP device is consistent with the constructed TCP ACK information, the comparing unit 505 confirms that there is no packet loss, and does not send the TCP ACK information fed back by the TCP device to the TCP device of the transmitting end. If not, the comparing unit 505 determines that the RLC data packet is lost when the RLC device of the UE sends the TCP device to the UE, and may use the TCP ACK information and the RLC ACK information that are fed back by the peer device. Determining the TCP packet in which the packet loss occurs, and instructing the TCP device to retransmit the TCP packet in which the packet loss occurs or to send the RLC packet corresponding to the TCP packet in which the packet loss occurs, and perform a retransmission operation. At this time, there may be a problem in the flow control of the transmitting end, which causes the buffer of the UE TCP device to overflow. The TCP packet that sends the RLC ACK information is discarded by the TCP device after being transmitted to the TCP device. The first retransmission unit 506 is connected to the receiving unit 502 and the processing unit 503. The first retransmission unit 506 is configured to: when the response message of the RLC data packet received by the receiving unit 502 is RLC NACK information, retransmit the RLC data packet of the RLC data packet to the RLC NACK information. a peer device, and starting an RLC retransmission timer and/or an RLC retransmission counter; when the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds a preset threshold, the trigger processing unit 503 is configured according to the The RLC NACK information constructs TCP NACK information.
实施例五  Embodiment 5
图 9是本发明实施例提供的反馈丟包的消息处理装置示意图, 如图 9所 示, 该装置包括: 接收单元 601、 判断单元 602、 第二重传单元 603和调整单 元 604。  FIG. 9 is a schematic diagram of a message processing apparatus for feedback packet loss according to an embodiment of the present invention. As shown in FIG. 9, the apparatus includes: a receiving unit 601, a determining unit 602, a second retransmission unit 603, and an adjusting unit 604.
接收单元 601用于接收 RLC装置发送的 TCP NACK信息。  The receiving unit 601 is configured to receive TCP NACK information sent by the RLC device.
所述 TCP NACK信息通过实施例四的装置获得。  The TCP NACK information is obtained by the apparatus of the fourth embodiment.
判断单元 602用于根据接收单元 601接收的所述 TCP NACK信息确定丟包 的 TCP数据包。  The determining unit 602 is configured to determine the TCP packet of the packet loss according to the TCP NACK information received by the receiving unit 601.
第二重传单元 603用于当判断单元 602确定所述丟包的 TCP数据包之后, 重传所述丟包的 TCP数据包给 UE , 并启动 TCP重传定时器和 /或 TCP重传计 数器。  The second retransmission unit 603 is configured to: after the determining unit 602 determines the TCP packet of the lost packet, retransmit the TCP packet of the lost packet to the UE, and start a TCP retransmission timer and/or a TCP retransmission counter. .
调整单元 604用于当第二重传单元 603启动的所述 TCP重传定时器和 / 或 TCP重传计数器的计数值超过预设阈值时, 缩小发送端的拥塞窗口值。  The adjusting unit 604 is configured to reduce the congestion window value of the transmitting end when the count value of the TCP retransmission timer and/or the TCP retransmission counter started by the second retransmission unit 603 exceeds a preset threshold.
如果接收单元 601接收到 TCP数据包的应答消息为 TCP NACK消息, 则判 断单元 602判断为对应的 TCP数据包发生丟包, 第二重传单元 603进行数据 重传, 并启动 TCP重传定时器或 TCP重传计数器。 当 TCP重传定时器超时或 TCP重传计数器超过预设阈值时, 调整单元 604缩小拥塞窗口值。 当接收单 元 601接收到 RLC装置反馈的 TCP ACK消息后, 判断单元 602判断为数据包 没有丟包, 调整单元 604进行发送窗口的滑动, 并增大拥塞窗口的大小, 具 体的处理过程和现有的 TCP协议中的处理相同。 实施例六 If the receiving unit 601 receives the response message of the TCP packet as a TCP NACK message, the determining unit 602 determines that the corresponding TCP packet is lost, the second retransmission unit 603 performs data retransmission, and starts the TCP retransmission timer. Or TCP retransmission counter. When the TCP retransmission timer expires or the TCP retransmission counter exceeds a preset threshold, the adjustment unit 604 reduces the congestion window value. After the receiving unit 601 receives the TCP ACK message fed back by the RLC device, the determining unit 602 determines that the data packet has no packet loss, and the adjusting unit 604 performs sliding of the sending window, and increases the size of the congestion window, and the specific processing process and existing The processing in the TCP protocol is the same. Embodiment 6
图 10是本发明实施例的 RLC装置的结构组成示意图,如图 10所示,本发明 实施例的 RLC装置可包括:  FIG. 10 is a schematic structural diagram of an RLC device according to an embodiment of the present invention. As shown in FIG. 10, the RLC device of the embodiment of the present invention may include:
处理器 701、 第一接口 702和第二接口 703。  The processor 701, the first interface 702, and the second interface 703.
处理器 701可能为单核或多核中央处理单元(Centra l Proces s ing Uni t , The processor 701 may be a single core or multi-core central processing unit (Centra l Proces s ing Uni t ,
CPU ) , 或者为特定集成电路 ( Appl ica t ion Spec i f ic Integrated Ci rcui t , ASIC ) , 或者为被配置成实施本发明实施例的一个或多个集成电路。 The CPU) is either a specific integrated circuit (ASIC) or one or more integrated circuits configured to implement embodiments of the present invention.
第一接口 702用于与 TCP装置进行交互。  The first interface 702 is for interacting with a TCP device.
第二接口 703用于与对端设备进行交互。  The second interface 703 is used to interact with the peer device.
处理器 701用于:  The processor 701 is used to:
通过所述第一接口接收所述 TCP装置发送的 TCP数据包;  Receiving, by the first interface, a TCP data packet sent by the TCP device;
将所述 TCP数据包组包形成 RLC数据包;  Grouping the TCP data packet into an RLC data packet;
通过所述第二接口将所述 RLC数据包发送给对端设备;  Sending, by the second interface, the RLC data packet to the peer device;
通过所述第二接口接收所述对端设备返回的所述 RLC数据包的应答消 息;  Receiving, by the second interface, a response message of the RLC data packet returned by the peer device;
根据所述 RLC数据包的应答消息构造所述 RLC数据包对应的 TCP数据包 的应答消息; 以及  Constructing a response message of the TCP packet corresponding to the RLC data packet according to the response message of the RLC data packet;
通过所述第一接口将所述 TCP数据包的应答消息反馈给所述 TCP装置。 具体地, 第一接口 702接收的 TCP数据包中携带有 TCP数据包的信息。 在实际应用场景中, 第一接口 702接收到的 TCP数据包可以是处理过的 TCP 数据包, 也可以是 TCP装置发送的 TCP数据包。  Sending a response message of the TCP packet to the TCP device through the first interface. Specifically, the TCP packet received by the first interface 702 carries information of the TCP packet. In the actual application scenario, the TCP packet received by the first interface 702 may be a processed TCP packet, or may be a TCP packet sent by a TCP device.
处理器 701根据所述 TCP数据包的信息, 对所述 TCP数据包进行标识, 并记录所述 TCP数据包的标识; 对所述 TCP数据包进行 RLC组包形成 RLC数 据包, 并标识所述 RLC数据包; 以及,根据所述 TCP数据包的标识和所述 RLC 数据包的标识, 建立并记录所述 RLC数据包与 TCP数据包的对应关系。  The processor 701 identifies the TCP data packet according to the information of the TCP data packet, and records an identifier of the TCP data packet; performing an RLC group packet on the TCP data packet to form an RLC data packet, and identifying the An RLC data packet; and, according to the identifier of the TCP data packet and the identifier of the RLC data packet, establishing and recording a correspondence between the RLC data packet and the TCP data packet.
处理器 701根据所述 RLC数据包的应答消息,利用所述 RLC数据包与 TCP 数据包的对应关系, 构造所述 TCP数据包的应答消息。 The processor 701 uses the RLC data packet and the TCP according to the response message of the RLC data packet. Corresponding relationship of the data packet, constructing a response message of the TCP data packet.
如果所述 RLC数据包的应答消息为 RLC确认 ACK信息, 处理器 701根据 所述 RLC ACK信息构造 TCP数据包的 TCP ACK信息。  If the response message of the RLC packet is an RLC acknowledgement ACK message, the processor 701 constructs TCP ACK information of the TCP packet based on the RLC ACK information.
第二接口 703还可以接收所述对端设备反馈的的 TCP ACK信息, 处理器 701则将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK信息相比 较, 如果一致, 则判断为未发生丟包, 并不再向所述 TCP装置发送所述对端 设备反馈的 TCP ACK信息; 如果不一致, 则判断为所述 TCP数据包在发送给 所述对端设备的 TCP装置时发生丟包。 当判断到发生丟包时, 处理器 701根 据所述对端设备反馈的 TCP ACK信息和 RLC ACK信息确定发生丟包的 TCP数 据包, 并指示所述 TCP装置重传所述发生丟包的 TCP数据包或者通过第二接 口 703发送所述发生丟包的 TCP数据包对应的 RLC数据包。  The second interface 703 may further receive the TCP ACK information that is fed back by the peer device, and the processor 701 compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information, and if yes, determine If no packet loss occurs, the TCP ACK information fed back by the peer device is not sent to the TCP device; if not, it is determined that the TCP packet is generated when the TCP device is sent to the peer device. Lose the package. When it is determined that the packet loss occurs, the processor 701 determines, according to the TCP ACK information and the RLC ACK information fed back by the peer device, the TCP packet in which the packet loss occurs, and instructs the TCP device to retransmit the TCP packet that is lost. The data packet or the RLC data packet corresponding to the TCP packet in which the packet loss occurs is sent through the second interface 703.
如果所述 RLC数据包的应答消息为 RLC否定确认 NACK信息, 处理器 701 用于 ^据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信息, 用以指示所 述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。  If the response message of the RLC data packet is the RLC negative acknowledgement NACK information, the processor 701 is configured to construct TCP NACK information of the TCP data packet according to the RLC NACK information, to instruct the TCP device to retransmit the TCP NACK. The TCP packet corresponding to the information.
处理器 701将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC数据包 重传给所述对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器; 当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈值时,根据所述 RLC NACK信息构造 TCP NACK信息。  The processor 701 retransmits the RLC data packet of the RLC data packet to the peer device, and starts an RLC retransmission timer and/or an RLC retransmission counter; when the RLC retransmits When the count value of the timer and/or the RLC retransmission counter exceeds a preset threshold, the TCP NACK information is constructed according to the RLC NACK information.
具体地, RLC装置还可以执行上述图 1-3, 图 6所示的处理方法, 具体 在此不再赘述。  Specifically, the RLC device may also perform the processing methods shown in FIG. 1-3 and FIG. 6 above, and details are not described herein.
实施例七  Example 7
图 11是本发明实施例的 TCP装置的结构组成示意图,如图 11所示,本发明 实施例的 TCP装置可包括: 处理器 801和通信接口 802。  FIG. 11 is a schematic structural diagram of a TCP device according to an embodiment of the present invention. As shown in FIG. 11, the TCP device in the embodiment of the present invention may include: a processor 801 and a communication interface 802.
处理器 801可能为单核或多核中央处理单元(Central Processing Unit, CPU ) , 或者为特定集成电路 ( Application Specific Integrated Circuit, ASIC) , 或者为被配置成实施本发明实施例的一个或多个集成电路。 通信接口 802用于与 RLC装置进行交互。 The processor 801 may be a single core or multi-core central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated systems configured to implement the embodiments of the present invention. Circuit. Communication interface 802 is used to interact with the RLC device.
处理器 801用于:  The processor 801 is used to:
通过所述通信接口接收 RLC装置发送的 TCP NACK信息;  Receiving, by the communication interface, TCP NACK information sent by the RLC device;
根据所述 TCP NACK信息确定丟包的 TCP数据包。  The TCP packet of the lost packet is determined according to the TCP NACK information.
所述 TCP NACK信息由所述 RLC装置根据 RLC NACK信息构造得到, 具体 的构造方法如实施例一或实施例三中所述, 于此不再赘述。  The TCP NACK information is configured by the RLC device according to the RLC NACK information. The specific configuration method is as described in the first embodiment or the third embodiment, and details are not described herein.
当确定有丟包的 TCP数据包时, 处理器 8 01还用于通过通信接口 802重 传所述丟包的 TCP数据包给所述对端设备, 并启动 TCP重传定时器和 /或 TCP 重传计数器; 当所述 TCP重传定时器和 /或 TCP重传计数器的计数值超过预设 阈值时, 缩小发送端的拥塞窗口值, 从而对传输过程进行拥塞控制。  When determining that there is a packet loss TCP packet, the processor 801 is further configured to retransmit the lost packet TCP packet to the peer device through the communication interface 802, and start a TCP retransmission timer and/or TCP. Retransmission counter; when the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds a preset threshold, the congestion window value of the transmitting end is reduced, thereby performing congestion control on the transmission process.
具体地, TCP装置还根据所述指令执行上述图 4-6所示的控制方法,具 体在此不再赘述。  Specifically, the TCP device further performs the foregoing control method shown in FIG. 4-6 according to the instruction, and details are not described herein again.
需要说明的是, 实施例六中的 RLC装置可以为无线网络控制器 RNC或者 演进型基站 eNodeB。 实施例七中的 TCP装置可以为 RNC或者 eNodeB , 也可以 是 GGSN , P-GW等设备。 由于 RNC到 GGSN、 eNodeB到 P-GW之间都是用户面的 GPRS隧道协议 ( GPRS Tunne l l ing Pro toco l - Us er p l ane , GTP-U )协议, 因而,所述 TCP数据包的应答消息通过用户面的 GPRS隧道协议 GTP-U的扩展 头来传递。 当然, 所述 TCP数据包的应答消息也可以采用 RLC装置中的 SACK 中的 ACK和 NACK标识位进行传递。  It should be noted that the RLC device in Embodiment 6 may be a radio network controller RNC or an evolved base station eNodeB. The TCP device in the seventh embodiment may be an RNC or an eNodeB, or may be a device such as a GGSN or a P-GW. Since the RNC to the GGSN, the eNodeB and the P-GW are both the GPRS Tunneling Protocol (GPRS Tuning Protocol to Protocol), the response message of the TCP packet It is transmitted through the extension header of the user plane's GPRS tunneling protocol GTP-U. Of course, the response message of the TCP packet can also be transmitted by using the ACK and NACK flag bits in the SACK in the RLC device.
上述 TCP装置和 RLC装置可以在同一个基站设备中, 所述基站设备可以 为 RNC或者 eNodeB等设备。 如果 TCP装置和 RLC装置处于不同网元中, 则 RLC装置可以将反馈的 TCP ACK信息或 TCP NACK信息反馈给其他网元的 TCP 装置, 具体的处理过程与本实施例类似, 不再赘述。  The foregoing TCP device and the RLC device may be in the same base station device, and the base station device may be a device such as an RNC or an eNodeB. If the TCP device and the RLC device are in different network elements, the RLC device may feed back the TCP ACK information or the TCP NACK information to the TCP device of the other network element. The specific processing is similar to the embodiment, and details are not described herein.
本发明提供的反馈丟包的消息处理方法及装置, 通过 RLC 层反馈的 ACK/NACK信息,判断当前的某个 TCP数据包是否正确接收,从而准确判断 TCP 丟包并获得准确的 TCP丟包信息, 仅需要对没有正确接收的数据进行重传, 可以减少不必要的重传, 提升无线 TCP的性能, 充分利用空口资源。 The message processing method and device for feedback packet loss provided by the present invention determine whether a current TCP packet is correctly received through the ACK/NACK information fed back by the RLC layer, thereby accurately determining the TCP packet loss and obtaining accurate TCP packet loss information. , only need to retransmit the data that was not received correctly, It can reduce unnecessary retransmissions, improve the performance of wireless TCP, and make full use of air interface resources.
专业人员应该还可以进一步意识到, 结合本文中所公开的实施例描述的 各示例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来 实现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按照功能 一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来 执行, 取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能, 但是这种实现不应认为 超出本发明的范围。  A person skilled in the art should further appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, in order to clearly illustrate hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、 处理 器执行的软件模块, 或者二者的结合来实施。 软件模块可以置于随机存储器 ( RAM ) 、 内存、 只读存储器(ROM ) 、 电可编程 R0M、 电可擦除可编程 R0M、 寄存器、 硬盘、 可移动磁盘、 CD-ROM , 或技术领域内所公知的任意其它形式 的存储介质中。  The steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both. Software modules can be placed in random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field Any other form of storage medium known.
以上所述的具体实施方式, 对本发明的目的、 技术方案和有益效果进行 了进一步详细说明, 所应理解的是, 以上所述仅为本发明的具体实施方式而 已, 并不用于限定本发明的保护范围, 凡在本发明的精神和原则之内, 所做 的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。  The above described embodiments of the present invention are further described in detail, and the embodiments of the present invention are intended to be illustrative only. The scope of the protection, any modifications, equivalents, improvements, etc., made within the spirit and scope of the invention are intended to be included within the scope of the invention.

Claims

权 利 要 求 书 claims
1、 一种无线链路控制 RLC装置, 其特征在于, 所述装置包括: 处理器, 第一接口和第二接口; 1. A wireless link control RLC device, characterized in that the device includes: a processor, a first interface and a second interface;
所述第一接口, 用于与传输控制协议 TCP装置进行交互; The first interface is used to interact with the transmission control protocol TCP device;
所述第二接口, 用于与对端设备进行交互; The second interface is used to interact with the peer device;
所述处理器用于: The processor is used for:
通过所述第一接口接收所述 TCP装置发送的 TCP数据包; Receive the TCP data packet sent by the TCP device through the first interface;
将所述 TCP数据包组包形成 RLC数据包; Group the TCP data packets into RLC data packets;
通过所述第二接口将所述 RLC数据包发送给对端设备; Send the RLC data packet to the peer device through the second interface;
通过所述第二接口接收所述对端设备返回的所述 RLC 数据包的应答消 息; Receive the response message of the RLC data packet returned by the peer device through the second interface;
根据所述 RLC数据包的应答消息构造所述 RLC数据包对应的 TCP数据包 的应答消息; Construct the response message of the TCP data packet corresponding to the RLC data packet according to the response message of the RLC data packet;
通过所述第一接口将所述 TCP数据包的应答消息反馈给所述 TCP装置。 The response message of the TCP data packet is fed back to the TCP device through the first interface.
2、 根据权利要求 1所述的装置, 其特征在于, 所述第一接口接收的 TCP 数据包中携带有 TCP数据包的信息, 所述 TCP数据包的信息包括以下所列的 一种或任意结合: IP地址、 端口和字节范围; 2. The device according to claim 1, characterized in that, the TCP data packet received by the first interface carries information of the TCP data packet, and the information of the TCP data packet includes one or any of the following: Combined: IP address, port and byte range;
所述处理器用于将所述 TCP数据包组包形成 RLC数据包,具体包括: 所述处理器用于: The processor is used to package the TCP data packets into RLC data packets, which specifically includes: The processor is used to:
根据所述 TCP数据包的信息, 对所述 TCP数据包进行标识, 并记录所述 TCP数据包的标识; Identify the TCP data packet according to the information of the TCP data packet, and record the identification of the TCP data packet;
对所述 TCP数据包进行 RLC组包形成 RLC数据包, 并标识所述 RLC数据 包; 以及 Perform RLC grouping of the TCP data packets to form RLC data packets, and identify the RLC data packets; and
根据所述 TCP数据包的标识和所述 RLC数据包的标识, 建立并记录所述 According to the identification of the TCP data packet and the identification of the RLC data packet, establish and record the
RLC数据包与 TCP数据包的对应关系。 Correspondence between RLC data packets and TCP data packets.
3、 根据权利要求 2所述的装置, 其特征在于, 所述处理器用于根据所述 RLC数据包的应答消息构造所述 RLC数据包对应的 TCP数据包的应答消息, 包括: 3. The device according to claim 2, wherein the processor is configured to perform the The response message of the RLC data packet constructs the response message of the TCP data packet corresponding to the RLC data packet, including:
所述处理器用于: The processor is used for:
根据所述 RLC数据包的应答消息, 利用所述 RLC数据包与 TCP数据包的 对应关系, 构造所述 TCP数据包的应答消息。 According to the response message of the RLC data packet, the corresponding relationship between the RLC data packet and the TCP data packet is used to construct the response message of the TCP data packet.
4、 根据权利要求 1所述的装置, 其特征在于, 所述 RLC数据包的应答消 息为 RLC确认 ACK信息, 所述处理器用于根据所述 RLC数据包的应答消息构 造所述 RLC数据包对应的 TCP数据包的应答消息, 具体包括: 4. The device according to claim 1, wherein the response message of the RLC data packet is RLC confirmation ACK information, and the processor is configured to construct the RLC data packet corresponding to the response message of the RLC data packet. The response message of the TCP data packet, specifically includes:
所述处理器用于根据所述 RLC ACK信息构造 TCP数据包的 TCP ACK信息。 The processor is configured to construct TCP ACK information of the TCP data packet according to the RLC ACK information.
5、 根据权利要求 4所述的装置, 其特征在于, 所述处理器还用于: 通过所述第二接口接收所述对端设备反馈的 TCP ACK信息; 5. The device according to claim 4, wherein the processor is further configured to: receive TCP ACK information fed back by the peer device through the second interface;
将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK信息相比较, 如果不一致, 则判断为所述 TCP数据包在发送给所述对端设备的 TCP装置时 发生丟包。 The TCP ACK information fed back by the peer device is compared with the constructed TCP ACK information. If they are inconsistent, it is determined that the TCP data packet is lost when sent to the TCP device of the peer device.
6、 根据权利要求 5所述的装置, 其特征在于, 当发生丟包时, 所述处理 器还用于: 6. The device according to claim 5, characterized in that when packet loss occurs, the processor is also used to:
根据所述对端设备反馈的 TCP ACK信息和 RLC ACK信息确定发生丟包的 TCP数据包; Determine the TCP data packet in which packet loss occurs based on the TCP ACK information and RLC ACK information fed back by the peer device;
指示所述 TCP装置重传所述发生丟包的 TCP数据包或者通过所述第二接 口发送所述发生丟包的 TCP数据包对应的 RLC数据包。 Instruct the TCP device to retransmit the TCP data packet in which packet loss occurs or to send the RLC data packet corresponding to the TCP data packet in which packet loss occurs through the second interface.
7、 根据权利要求 4所述的装置, 其特征在于, 所述处理器还用于: 通过所述第二接口接收所述对端设备反馈的 TCP ACK信息; 7. The device according to claim 4, wherein the processor is further configured to: receive TCP ACK information fed back by the peer device through the second interface;
将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK信息相比较, 如果一致, 则判断为未发生丟包, 并不再向所述 TCP装置发送所述对端设备 反馈的 TCP ACK信息。 Compare the TCP ACK information fed back by the peer device with the constructed TCP ACK information. If they are consistent, it is determined that no packet loss has occurred, and the TCP fed back by the peer device is no longer sent to the TCP device. ACK information.
8、 根据权利要求 1所述的装置, 其特征在于, 所述 RLC数据包的应答消 息为 RLC否定确认 NACK信息,所述处理器用于根据所述 RLC数据包的应答消 息构造所述 RLC数据包对应的 TCP数据包的应答消息, 具体包括: 8. The device according to claim 1, characterized in that: the response message of the RLC data packet The information is RLC negative acknowledgment NACK information, and the processor is configured to construct a response message of the TCP data packet corresponding to the RLC data packet according to the response message of the RLC data packet, specifically including:
所述处理器用于根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信 息, 用以指示所述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。 The processor is configured to construct TCP NACK information of the TCP data packet according to the RLC NACK information, so as to instruct the TCP device to retransmit the TCP data packet corresponding to the TCP NACK information.
9、 根据权利要求 8所述的装置, 其特征在于, 所述处理器用于根据所述 9. The device according to claim 8, characterized in that the processor is configured to perform the
RLC NACK信息构造 TCP数据包的 TCP NACK信息, 具体包括: RLC NACK information structure TCP NACK information of TCP data packet, specifically including:
所述处理器用于: The processor is used for:
将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC数据包重传给所述 对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器; Retransmit the RLC data packet whose response message is RLC NACK information to the peer device, and start the RLC retransmission timer and/or RLC retransmission counter;
当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈值时, 才艮据所述 RLC NACK信息构造 TCP NACK信息。 When the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds the preset threshold, TCP NACK information is constructed based on the RLC NACK information.
1 0、 根据权利要求 1所述的装置, 其特征在于, 所述 TCP数据包的应答 消息通过用户面的 GPRS隧道协议 GTP-U的扩展头或 TCP选择性确认 SACK选 项来传递。 10. The device according to claim 1, characterized in that the response message of the TCP data packet is delivered through the extension header of the GPRS Tunneling Protocol GTP-U on the user plane or the TCP Selective Acknowledgment SACK option.
1 1、 根据权利要求 1所述的装置, 其特征在于, 所述 RLC装置为无线网 络控制器 RNC或者演进型基站 eNodeB。 11. The device according to claim 1, characterized in that the RLC device is a radio network controller RNC or an evolved base station eNodeB.
12、 一种 TCP装置, 其特征在于, 所述装置包括: 处理器和通信接口; 所述通信接口, 用于与 RLC装置进行交互; 12. A TCP device, characterized in that the device includes: a processor and a communication interface; the communication interface is used to interact with the RLC device;
所述处理器用于: The processor is used for:
通过所述通信接口接收 RLC装置发送的 TCP NACK信息, 所述 TCP NACK 信息由所述 RLC装置根据 RLC NACK信息构造得到; Receive TCP NACK information sent by the RLC device through the communication interface, and the TCP NACK information is constructed by the RLC device based on the RLC NACK information;
根据所述 TCP NACK信息确定丟包的 TCP数据包。 Determine the lost TCP data packet based on the TCP NACK information.
1 3、 根据权利要求 12所述的装置, 其特征在于, 当确定丟包后, 所述处 理器还用于: 13. The device according to claim 12, characterized in that, after determining packet loss, the processor is also used to:
通过所述通信接口重传所述丟包的 TCP数据包给所述对端设备, 并启动 Retransmit the lost TCP data packet to the peer device through the communication interface, and start
TCP重传定时器和 /或 TCP重传计数器; 当所述 TCP重传定时器和 /或 TCP重传计数器的计数值超过预设阈值时, 缩小发送端的拥塞窗口值。 TCP retransmission timer and/or TCP retransmission counter; When the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds the preset threshold, the congestion window value of the sending end is reduced.
14、 根据权利要求 12所述的装置, 其特征在于, 所述 TCP装置为 RNC、 eNodeB , GGSN、 SGSN或者 PGW。 14. The device according to claim 12, characterized in that the TCP device is an RNC, eNodeB, GGSN, SGSN or PGW.
15、 一种基站设备, 其特征在于, 包括: 15. A base station equipment, characterized by including:
如权利要求 1 ~ 1 0任一权项所述的 RLC装置和如权利要求 1 2 ~ 1 3任一权 项所述的 TCP装置。 The RLC device as described in any one of claims 1 to 10 and the TCP device as described in any one of claims 12 to 13.
16、 一种反馈丟包的消息处理方法, 其特征在于, 所述方法包括: 16. A message processing method for feedback packet loss, characterized in that the method includes:
RLC装置接收 TCP装置发送的 TCP数据包, 将所述 TCP数据包组包形成 RLC数据包, 并将所述 RLC数据包发送给对端设备; The RLC device receives the TCP data packet sent by the TCP device, packages the TCP data packet to form an RLC data packet, and sends the RLC data packet to the peer device;
所述 RLC装置接收所述对端设备返回的所述 RLC数据包的应答消息; 所述 RLC装置根据所述 RLC数据包的应答消息构造所述 RLC数据包对应 的 TCP数据包的应答消息; The RLC device receives the response message of the RLC data packet returned by the peer device; the RLC device constructs a response message of the TCP data packet corresponding to the RLC data packet according to the response message of the RLC data packet;
所述 RLC装置将所述 TCP数据包的应答消息反馈给所述 TCP装置。 The RLC device feeds back the response message of the TCP data packet to the TCP device.
17、 根据权利要求 16所述的消息处理方法, 其特征在于, 所述 RLC装置 接收的所述 TCP数据包中携带有 TCP数据包的信息, 所述 TCP数据包的信息 包括以下所列的一种或任意结合: IP地址、 端口和字节范围; 17. The message processing method according to claim 16, characterized in that, the TCP data packet received by the RLC device carries information of the TCP data packet, and the information of the TCP data packet includes one of the following: One or any combination of: IP address, port and byte range;
所述将所述 TCP数据包组包形成 RLC数据包, 包括: Packaging the TCP data packets into RLC data packets includes:
所述 RLC装置根据所述 TCP数据包的信息,对所述 TCP数据包进行标识, 并记录所述 TCP数据包的标识; The RLC device identifies the TCP data packet according to the information of the TCP data packet, and records the identification of the TCP data packet;
所述 RLC装置对所述 TCP数据包进行 RLC组包形成 RLC数据包, 并标识 所述 RLC数据包; The RLC device performs RLC grouping on the TCP data packet to form an RLC data packet, and identifies the RLC data packet;
所述 RLC装置根据所述 TCP数据包的标识和所述 RLC数据包的标识, 建 立并记录所述 RLC数据包与 TCP数据包的对应关系。 The RLC device establishes and records the corresponding relationship between the RLC data packet and the TCP data packet according to the identification of the TCP data packet and the identification of the RLC data packet.
18、 根据权利要求 17所述的消息处理方法, 其特征在于, 所述根据所述 18. The message processing method according to claim 17, characterized in that, according to the
RLC数据包的应答消息构造 TCP数据包的应答消息, 具体为: 根据所述 RLC数据包的应答消息, 利用所述 RLC数据包与 TCP数据包的 对应关系, 构造所述 TCP数据包的应答消息。 The response message of the RLC data packet constructs the response message of the TCP data packet, specifically: According to the response message of the RLC data packet, the corresponding relationship between the RLC data packet and the TCP data packet is used to construct the response message of the TCP data packet.
19、 根据权利要求 16所述的消息处理方法, 其特征在于, 所述 RLC数据 包的应答消息为 RLC ACK信息; 19. The message processing method according to claim 16, characterized in that the response message of the RLC data packet is RLC ACK information;
所述根据所述 RLC数据包的应答消息构造 TCP数据包的应答消息, 具体 为: The response message of the TCP data packet is constructed according to the response message of the RLC data packet, specifically as follows:
根据所述 RLC ACK信息构造 TCP数据包的 TCP ACK信息。 Construct TCP ACK information of the TCP data packet based on the RLC ACK information.
20、 根据权利要求 19所述的消息处理方法, 其特征在于, 在所述 RLC装 置将所述 TCP数据包的应答消息反馈给所述 TCP装置之后, 还包括: 20. The message processing method according to claim 19, characterized in that, after the RLC device feeds back the response message of the TCP data packet to the TCP device, it further includes:
所述 RLC装置接收所述对端设备反馈的 TCP ACK信息; The RLC device receives the TCP ACK information fed back by the peer device;
所述 RLC装置将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK 信息相比较,如果不一致,则判断为所述数据包在发送给所述对端设备的 TCP 装置时发生丟包。 The RLC device compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information. If they are inconsistent, it is determined that the data packet is lost when sent to the TCP device of the peer device. Bag.
21、根据权利要求 20所述的消息处理方法,其特征在于, 当发生丟包时, 所述方法还包括: 21. The message processing method according to claim 20, characterized in that when packet loss occurs, the method further includes:
所述 RLC装置根据所述对端设备反馈的 TCP ACK信息和 RLC ACK信息确 定发生丟包的 TCP数据包; The RLC device determines the TCP data packet in which packet loss occurs based on the TCP ACK information and RLC ACK information fed back by the peer device;
所述 RLC装置指示所述 TCP装置重传所述发生丟包的 TCP数据包或者发 送所述发生丟包的 TCP数据包对应的 RLC数据包。 The RLC device instructs the TCP device to retransmit the TCP data packet in which packet loss occurs or to send the RLC data packet corresponding to the TCP data packet in which packet loss occurs.
22、 根据权利要求 19所述的消息处理方法, 其特征在于, 在所述 RLC装 置将所述 TCP数据包的应答消息反馈给所述 TCP装置之后, 还包括: 22. The message processing method according to claim 19, characterized in that, after the RLC device feeds back the response message of the TCP data packet to the TCP device, it further includes:
所述 RLC装置接收所述对端设备反馈的 TCP ACK信息; The RLC device receives the TCP ACK information fed back by the peer device;
所述 RLC装置将所述对端设备反馈的 TCP ACK信息与构造的所述 TCP ACK 信息相比较, 如果一致, 则判断为未发生丟包, 并不再向所述 TCP装置发送 所述对端设备反馈的 TCP ACK信息。 The RLC device compares the TCP ACK information fed back by the peer device with the constructed TCP ACK information. If they are consistent, it determines that packet loss has not occurred, and no longer sends the peer device to the TCP device. TCP ACK information fed back by the device.
23、 根据权利要求 16所述的消息处理方法, 其特征在于, 所述 RLC数据 包的应答消息为 RLC NACK信息; 23. The message processing method according to claim 16, characterized in that: the RLC data The response message of the packet is RLC NACK information;
所述根据所述 RLC数据包的应答消息构造 TCP数据包的应答消息, 具体 为: The response message of the TCP data packet is constructed according to the response message of the RLC data packet, specifically as follows:
根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信息, 用以指示所 述 TCP装置重传所述 TCP NACK信息对应的 TCP数据包。 The TCP NACK information of the TCP data packet is constructed according to the RLC NACK information to instruct the TCP device to retransmit the TCP data packet corresponding to the TCP NACK information.
24、 根据权利要求 23所述的消息处理方法, 其特征在于, 所述根据所述 RLC NACK信息构造 TCP数据包的 TCP NACK信息, 具体包括: 24. The message processing method according to claim 23, wherein the TCP NACK information of the TCP data packet is constructed according to the RLC NACK information, specifically including:
将所述 RLC数据包的应答消息为 RLC NACK信息的 RLC数据包重传给所述 对端设备, 并启动 RLC重传定时器和 /或 RLC重传计数器; Retransmit the RLC data packet whose response message is RLC NACK information to the peer device, and start the RLC retransmission timer and/or RLC retransmission counter;
当所述 RLC重传定时器和 /或 RLC重传计数器的计数值超过预设阈值时, 才艮据所述 RLC NACK信息构造 TCP NACK信息。 When the count value of the RLC retransmission timer and/or the RLC retransmission counter exceeds the preset threshold, TCP NACK information is constructed based on the RLC NACK information.
25、 根据权利要求 16所述的消息处理方法, 其特征在于, 所述 TCP数据 包的应答消息通过 GTP-U的扩展头或 TCP SACK选项来传递。 25. The message processing method according to claim 16, characterized in that the response message of the TCP data packet is transmitted through the extension header of GTP-U or the TCP SACK option.
26、 一种反馈丟包的消息处理方法, 其特征在于, 所述方法包括: 接收 RLC装置发送的 TCP否定确认 NACK信息, 所述 TCP NACK信息由所 述 RLC装置根据 RLC NACK信息构造得到; 26. A message processing method for feedback packet loss, characterized in that the method includes: receiving TCP negative acknowledgment NACK information sent by the RLC device, the TCP NACK information being constructed by the RLC device based on the RLC NACK information;
根据所述 TCP NACK信息确定丟包的 TCP数据包。 Determine the lost TCP data packet based on the TCP NACK information.
27、 根据权利要求 26所述的消息处理方法, 其特征在于, 在所述根据所 述 TCP NACK信息确定丟包的 TCP数据包之后, 还包括: 27. The message processing method according to claim 26, characterized in that, after determining the lost TCP data packet based on the TCP NACK information, it further includes:
重传所述丟包的 TCP数据包给所述对端设备,并启动 TCP重传定时器和 / 或 TCP重传计数器; Retransmit the lost TCP data packet to the peer device, and start the TCP retransmission timer and/or TCP retransmission counter;
当所述 TCP重传定时器和 /或 TCP重传计数器的计数值超过预设阈值时, 缩小发送端的拥塞窗口值。 When the count value of the TCP retransmission timer and/or the TCP retransmission counter exceeds the preset threshold, the congestion window value of the sending end is reduced.
PCT/CN2013/071193 2013-01-31 2013-01-31 Method and device for processing packet loss feedback message WO2014117359A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380000199.1A CN104137507B (en) 2013-01-31 2013-01-31 Feed back the message treatment method and device of packet loss
PCT/CN2013/071193 WO2014117359A1 (en) 2013-01-31 2013-01-31 Method and device for processing packet loss feedback message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/071193 WO2014117359A1 (en) 2013-01-31 2013-01-31 Method and device for processing packet loss feedback message

Publications (1)

Publication Number Publication Date
WO2014117359A1 true WO2014117359A1 (en) 2014-08-07

Family

ID=51261414

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/071193 WO2014117359A1 (en) 2013-01-31 2013-01-31 Method and device for processing packet loss feedback message

Country Status (2)

Country Link
CN (1) CN104137507B (en)
WO (1) WO2014117359A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525374A (en) * 2017-09-20 2019-03-26 华为技术有限公司 Method, wireless access point, user equipment and the transmission device of data transmission
CN111447144A (en) * 2020-04-01 2020-07-24 中核武汉核电运行技术股份有限公司 Application routing method based on transparent proxy

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3490293B1 (en) 2016-08-11 2021-07-28 Huawei Technologies Co., Ltd. Data receiving method, data sending method, receiving device and system
CN111435866B (en) * 2019-01-14 2023-02-10 华为技术有限公司 Data transmission method and related device
CN115085890A (en) * 2022-06-23 2022-09-20 杭州云合智网技术有限公司 Method for optimizing TCP RTO retransmission waiting time by data center network chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102007812A (en) * 2008-02-12 2011-04-06 Ip无线有限公司 Method and arrangement for tcp flow control
US8279822B2 (en) * 2009-12-30 2012-10-02 Motorola Mobility Llc Method and apparatus for scheduling an acknowledgement in a wireless communication system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2843670B1 (en) * 2002-08-14 2005-01-14 Evolium Sas METHOD FOR THE ALLOCATION OF PACKET MODE RESOURCES IN A MOBILE RADIOCOMMUNICATION SYSTEM
ATE383048T1 (en) * 2004-06-15 2008-01-15 Matsushita Electric Ind Co Ltd PRIORITY BASED TREATMENT OF DATA TRANSFERS
CN100407698C (en) * 2005-03-29 2008-07-30 华为技术有限公司 Data transmission method for wireless link control layer
CN101001131B (en) * 2006-01-12 2010-08-11 华为技术有限公司 Partition cascade method
CN101043299B (en) * 2006-04-05 2010-08-25 华为技术有限公司 ACK/NACK method
CN101132261A (en) * 2006-08-21 2008-02-27 华为技术有限公司 Data package retransmission method and system thereof
KR101394784B1 (en) * 2007-10-16 2014-05-15 엘지전자 주식회사 Method of Performing ARQ Procedure for Transmitting High Rate Data
DK2410690T3 (en) * 2008-01-09 2015-03-23 Ericsson Telefon Ab L M Method and transmission device for reducing the risk of transmission blocking
CN102130756B (en) * 2008-07-17 2016-05-25 华为技术有限公司 Data transmission method and device
CN102347827A (en) * 2010-07-28 2012-02-08 中兴通讯股份有限公司 Retransmission method and system for radio link control (RLC) layer
CN102761905B (en) * 2011-04-26 2016-03-30 华为技术有限公司 Message treatment method, equipment and system
CN102316515B (en) * 2011-09-16 2017-04-26 中兴通讯股份有限公司 Construction method of radio link control (RLC) layer state report and apparatus thereof
CN102664718B (en) * 2012-04-28 2015-09-09 大唐移动通信设备有限公司 The method and apparatus that wireless side tcp data retransmits
CN102761403B (en) * 2012-06-28 2014-12-17 深信服网络科技(深圳)有限公司 Method and device for detecting TCP (transmission control protocol) packet loss and TCP stack

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102007812A (en) * 2008-02-12 2011-04-06 Ip无线有限公司 Method and arrangement for tcp flow control
US8279822B2 (en) * 2009-12-30 2012-10-02 Motorola Mobility Llc Method and apparatus for scheduling an acknowledgement in a wireless communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525374A (en) * 2017-09-20 2019-03-26 华为技术有限公司 Method, wireless access point, user equipment and the transmission device of data transmission
CN111447144A (en) * 2020-04-01 2020-07-24 中核武汉核电运行技术股份有限公司 Application routing method based on transparent proxy

Also Published As

Publication number Publication date
CN104137507B (en) 2018-11-16
CN104137507A (en) 2014-11-05

Similar Documents

Publication Publication Date Title
US11133897B2 (en) Data transmission method and apparatus
JP4906844B2 (en) Method for generating lower layer data block in wireless mobile communication system
JP4806030B2 (en) Method for transferring signals in a mobile communication system
CA2677112C (en) Method and apparatus for enhancing rlc for flexible rlc pdu size
TWI415433B (en) Bi-directional rlc non-persistent mode for low delay services
US8588784B2 (en) Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data
RU2543996C2 (en) Managing overload in communication network
US9084125B2 (en) Method of performing polling procedure in a wireless communication system
KR101470637B1 (en) Method for enhancing radio resource and informing status report in mobile telecommunications system and receiver of mobile telecommunications
WO2013075666A1 (en) Rlc data packet transmission acknowledgement method and rlc am entity sending party
WO2014094613A1 (en) Data transmission method and device, and communication system
KR20100053625A (en) Layer 2 tunneling of data during handover in a wireless communication system
WO2009043308A1 (en) A forwarding method for the downlink and uplink data packets based on the s1 switching and an evolved-nodeb thereof
EP3011705A1 (en) Polling and reporting mechanism
WO2015066836A1 (en) Video service data transmission method, data receiving device and data transmitting device
EP3611859A1 (en) Data receiving state reporting method and apparatus
WO2021000783A1 (en) Method and apparatus for indicating data transmission situations
WO2014117359A1 (en) Method and device for processing packet loss feedback message
WO2013159516A1 (en) Wireless side tcp data retransmission method and device
WO2020147453A1 (en) Data transmission method and related apparatus
WO2014166053A1 (en) Method and terminal for communication
WO2016201904A1 (en) Tcp-based data transmission method and device
EP1959601A1 (en) Retransmission scheme to exchange control information between a gateway and a mobile node
EP3506540A1 (en) Data transmission method, network device and terminal device
WO2015113296A1 (en) Method and device for state feedback in dual link mode

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13873720

Country of ref document: EP

Kind code of ref document: A1