WO2010006557A1 - 数据传输方法和装置 - Google Patents

数据传输方法和装置 Download PDF

Info

Publication number
WO2010006557A1
WO2010006557A1 PCT/CN2009/072814 CN2009072814W WO2010006557A1 WO 2010006557 A1 WO2010006557 A1 WO 2010006557A1 CN 2009072814 W CN2009072814 W CN 2009072814W WO 2010006557 A1 WO2010006557 A1 WO 2010006557A1
Authority
WO
WIPO (PCT)
Prior art keywords
ack
data packet
tcp
packet
sequence number
Prior art date
Application number
PCT/CN2009/072814
Other languages
English (en)
French (fr)
Inventor
廖军华
张岩强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CA2738103A priority Critical patent/CA2738103C/en
Priority to US13/125,234 priority patent/US20120039249A1/en
Priority to EP09797404.2A priority patent/EP2302827B1/en
Priority to JP2011517740A priority patent/JP5484460B2/ja
Priority to RU2011134389/08A priority patent/RU2474059C1/ru
Publication of WO2010006557A1 publication Critical patent/WO2010006557A1/zh
Priority to US13/279,040 priority patent/US8630203B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Definitions

  • the embodiments of the present invention relate to the field of mobile communications, and in particular, to a data transmission method and apparatus. Background technique
  • TCP Transmission Control Protocol
  • PS packet switching
  • TCP Transmission Control Protocol
  • wireless network characteristics such as high latency, variable data rates, asymmetry, latency spikes, and bandwidth jitter can all affect TCP performance.
  • QoS quality of service required by users
  • the transmission process includes an upload process and a downlink process.
  • the terminal sends a data packet to the server.
  • the terminal sliding window After receiving the response message (ACKnowledge Character; hereinafter referred to as ACK) of the server, the terminal sliding window sends a new data packet; in the downlink process, the server sends the data packet to the terminal.
  • the server sliding window After receiving the ACK packet of the terminal, the server sliding window sends a new data packet.
  • the server sends a data packet, it also sends an ACK packet of the uplink data packet.
  • the terminal sends the data packet, it also sends an ACK packet of the downlink data packet.
  • the throughput performance of simultaneous data transmission on the uplink and downlink is an important performance indicator for evaluating wireless systems.
  • the prior art method has at least the following problems: In the live network test, the downlink process rate of simultaneous uplink and downlink data transmission is low and fluctuates greatly, because the TCP layer of the terminal, the downlink data packet The ACK is usually queued behind the upstream data packet, causing the ACK of the downlink data packet to be delayed, which seriously affects the downlink data transmission (data transmission) performance, and the user experience is poor. Summary of the invention
  • the main technical problem to be solved by the embodiments of the present invention is to provide a data transmission method and apparatus, which can improve the performance of downlink data transmission.
  • the embodiment of the invention provides a data transmission method, which mainly includes:
  • the protocol layer After receiving the data packet acknowledgement information sent by the receiving end to the sending end, the protocol layer searches for the information of the recorded data packet according to the data packet mapping relationship, where the data packet mapping relationship is the record Correspondence between the data packet and the data packet received by the protocol layer;
  • the embodiment of the invention further provides a data transmission method, which mainly comprises:
  • the protocol layer After receiving the data packet acknowledgement information sent by the receiving end to the sending end, the protocol layer acquires information of the corresponding data packet according to the data packet acknowledgement information;
  • the response message ACK sent to the sender is constructed according to the obtained information of the corresponding data packet.
  • the embodiment of the invention further provides a data transmission device, which mainly comprises:
  • a receiving unit configured to receive a data packet sent by the sending end, and record information of the received data packet
  • a sending unit configured to send the received data packet to the receiving end via a protocol layer
  • a searching unit configured to: after receiving, by the protocol layer, the packet acknowledgement information sent by the receiving end to the sending end, searching for the information of the recorded data packet according to the data packet mapping relationship, where the data packet mapping relationship, Corresponding relationship between the recorded data packet and the data packet received by the protocol layer; the constructing unit constructs a response message ACK: sent to the sending end according to the information of the data packet searched by the searching unit.
  • the embodiment of the present invention further provides an intermediate network element, which mainly includes a protocol layer and a data transmission device in the foregoing embodiment, where the protocol layer is any protocol layer of the intermediate network element, and the receiving end There is an acknowledgment mechanism, and the receiving end receives the data packet and sends feedback confirmation information to a protocol layer;
  • a data packet mapping relationship is shared between the protocol layer and the data transmission device, and after the certain protocol layer receives the acknowledgement information fed back by the receiving end, the data transmission device according to the data packet mapping relationship, A construct ACK is sent to the sender.
  • the embodiment of the invention further provides a data transmission device, which mainly comprises:
  • a second receiving unit configured to receive a data packet sent by the sending end
  • a second sending unit configured to send the received data packet to the receiving end by using a protocol layer
  • the acquiring unit is configured to receive, at the certain protocol layer, the data packet acknowledgement information sent by the receiving end to the sending end After obtaining the information of the corresponding data packet according to the data packet confirmation information
  • a second constructing unit configured to construct a response message ACK sent to the sending end according to the information of the corresponding data packet acquired by the acquiring unit.
  • the embodiment of the present invention further provides an intermediate network element, which mainly includes a protocol layer and a data transmission device in the foregoing embodiment.
  • the protocol layer is any protocol layer of the intermediate network element, and the receiving end has a confirmation.
  • the receiving end receives the data packet, and feeds back confirmation information to a protocol layer;
  • the data transmission device After the protocol layer receives the data packet acknowledgement information fed back by the receiving end, the data transmission device acquires the information of the data packet according to the data packet acknowledgement information, and sends and sends the data packet according to the information structure of the data packet. The end of the response message ACK.
  • the method and apparatus provided by the embodiments of the present invention can prevent the ACK of the data packet from being blocked by the receiving end TCP to some extent by receiving the ACK message fed back by the receiving end after a certain protocol layer sends the ACK to the transmitting end. Layer, speed up the sender sliding window, improve data transmission performance, and enhance user experience.
  • FIG. 1 is a flowchart of a data transmission method according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a data transmission method according to another embodiment of the present invention.
  • 3 is a flowchart of a data transmission method according to another embodiment of the present invention.
  • 4 is a flowchart of a data transmission method according to still another embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a data transmission apparatus according to still another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of an intermediate network element according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of an intermediate network element according to another embodiment of the present invention. detailed description
  • FIG. 1 is a flowchart of a data transmission method according to an embodiment of the present invention. As shown in FIG. 1, the method may include:
  • the received data packet can be sent to the receiving end through a protocol layer, and a protocol layer can be a Radio Link Control (hereinafter referred to as RLC) layer.
  • RLC Radio Link Control
  • the protocol layer can also perform related records on the data packets it receives, for example, the sequence number of the data packets in the order received.
  • the data packet mapping relationship reflects the correspondence between the recorded data packet and the data packet received by a protocol layer, and may be a mapping table.
  • the process of generating the packet mapping relationship can be:
  • the information of the received data packet is recorded, and a protocol layer also records the serial number of the received data packet, and the serial number and the data packet serial number recorded by the TCP proxy are corresponding to each other. That is to say, the TCP proxy receives the first packet record number 1, and the first packet received by a protocol layer is also recorded as the sequence number 1, and so on, the protocol layer and the TCP proxy packet.
  • the order is - corresponding, this relationship can be called a packet mapping relationship.
  • the TCP function enhancement entity herein may be deployed in multiple different locations in the network, for example, but not limited to: the Internet, the core network side, the radio access network side, and the like.
  • a protocol layer can also be deployed in multiple different locations on the network.
  • a protocol layer When a protocol layer receives the acknowledgement information fed back by the receiver, it can know which packets were correctly received by the receiver. Then, the information of the corresponding data packet is found in combination with the generated data packet mapping relationship, and it is also known which data packets forwarded by the TCP function enhancement entity are correctly received by the receiving end.
  • the packet mapping relationship may be stored in a protocol layer or in a TCP function enhancement entity.
  • the mapping relationship between the TCP function enhancement entity and a protocol layer is shared.
  • the transmitting end Since the transmitting end receives the ACK of the receiving end, it will continue to send the data packet to the receiving end.
  • the TCP function enhancing entity such as the TCP proxy, can be configured to send an ACK to the transmitting end.
  • the TCP proxy When the TCP proxy has not received a TCP ACK from the receiver for a certain packet, but a protocol layer has When the receiving end acknowledges the data packet, it can confirm that the receiving end has correctly received the data packet sent by the sending end, and then the TCP proxy constructs an ACK to send to the transmitting end.
  • the method of constructing the ACK may be: constructing an ACK according to the information of the data packet found by the packet mapping relationship.
  • the information of the data packet may include a sequence number.
  • the information of the data packet further includes a TCP sequence number and a packet length of the TCP packet
  • the sequence number of the constructed ACK may be The TCP sequence number of the TCP packet plus the packet length.
  • other methods can be used to construct the ACK according to the specific situation, not here - enumeration.
  • the TCP proxy sends the constructed ACK to the sender and records the sequence number of the constructed ACK.
  • the data transmission method provided by the embodiment of the present invention actively constructs an ACK and sends it to the transmitting end by using a TCP function enhancement entity, such as a TCP proxy, added by an intermediate node in the data transmission process at the transmitting end and the receiving end. Increased data transfer rate.
  • a TCP function enhancement entity such as a TCP proxy
  • a TCP function enhancement entity such as a TCP proxy
  • the TCP ACK fed back by the receiver is discarded. This is because if the sequence number of the ACK received after the sender is smaller than the sequence number of the previously received ACK, the ACK with a small sequence number will be discarded.
  • FIG. 2 is a flowchart of a data transmission method according to another embodiment of the present invention. As shown in FIG. 2, the method may include:
  • the TCP proxy receives the data packet sent by the server, and records the information of the received data packet; for the downlink transmission process, the data packet sent by the server to the terminal is forwarded by the TCP proxy, The data packet will pass through the TCP proxy, and the serial number can be recorded in the order of the received data packet. The serial number can be incremented. For example, the first data packet received can be recorded as its serial number, and the received number is received. The two packets are recorded as 2... and so on. If the received packet is a TCP packet, the TCP packet length and TCP sequence number can also be recorded. The packet length and TCP sequence number information can be obtained from the information of the TCP header.
  • S202 Send the received data packet to the terminal by using an RLC layer.
  • the received data packet can be sent to the terminal through the RLC layer, and the RLC layer can also record related data packets received by the RLC layer, for example, according to the received sequence, the serial number of the data packet is recorded.
  • the generated packet mapping relationship may be saved in the form of a packet mapping table.
  • the packet mapping relationship may be stored in a TCP proxy or may be stored in the RLC layer.
  • the packet mapping relationship is shared between the TCP proxy and the RLC layer.
  • a TCP proxy generation packet mapping relationship is taken as an example for description.
  • the RLC layer also records the sequence number of the received data packet, that is, the first packet received by the TCP proxy is 1 , and the first packet received by the RLC layer is also recorded as the sequence number 1, and so on.
  • the data packet order of the RLC layer and the TCP proxy is - corresponding, and the corresponding relationship can be referred to as a packet mapping relationship.
  • the RLC layer After receiving the confirmation information of the terminal, the RLC layer searches for the information of the corresponding data packet according to the data packet mapping relationship.
  • the terminal here is a broad concept including a terminal device and its protocol layer.
  • the RLC layer can have two working modes, acknowledgment or non-confirmation.
  • the service data unit (hereinafter referred to as SDU) is split into a protocol data unit (hereinafter referred to as PDU) through the RLC layer, and the terminal sends a confirmation message to the RLC layer after receiving the PDU. , indicating that the terminal has received the server's data packet.
  • the RLC layer can be based on the confirmation information of the received terminal. In order to know which packets are correctly received by the terminal, by looking up the packet mapping relationship in S202, it is also known which packets of the TCP proxy are received by the terminal, since the TCP proxy also records the packet length of the TCP packet. The information of the data packet such as the TCP serial number, so that the information of the corresponding data packet is also found.
  • the TCP proxy For the TCP ACK sent by the terminal to the TCP proxy, the TCP proxy also records the serial number of the TCP ACK.
  • the information of the data packet may include the sequence number of the data packet. If the data packet is a TCP packet, the packet length and the TCP sequence number of the TCP packet may also be included. According to the information of the found data packet, the ACK to be constructed may be known.
  • the serial number for example, for the TCP packet, the first packet has a sequence number of 1, and the packet length is 1460, then the sequence number of the ACK to be constructed is 1461, and the sequence number of the second packet is 1461, which will be constructed.
  • the serial number of the ACK is 2921... and so on. For other types of packets, there are other ways to construct an ACK:.
  • the TCP proxy may record the serial number of the TCP ACK fed back by at least one terminal, and compare the serial number of the largest TCP ACK recorded in the TCP proxy with the ACK sequence number to be constructed, if the terminal recorded in the TCP proxy feeds back.
  • the sequence number of the largest TCP ACK is greater than or equal to the ACK sequence number to be constructed, indicating that the TCP proxy has received the TCP ACK sent by the terminal, does not need to construct an ACK, and repeatedly executes S201 and its subsequent steps; if the terminal recorded in the TCP proxy
  • the sequence number of the largest TCP ACK that is fed back is smaller than the ACK sequence number to be constructed, indicating that the TCP proxy has not received the TCP ACK of the terminal feedback, and needs to construct an ACK, and executes S206.
  • the TCP proxy If the TCP proxy does not receive the TCP ACK of the terminal feedback, the TCP proxy actively constructs an ACK and sends it to the server. After the server receives the ACK, it can slide the window to send new data.
  • the constructed ACK sequence number is the packet length of the TCP packet plus the TCP sequence number, for example, the first number According to the serial number of the packet is 1, the packet length is 1460, then the serial number of the constructed ACK is 1461, the serial number of the second data packet is 1461, the packet length is 1460, and the constructed ACK serial number is 2921 ... . ..So on and so forth.
  • the TCP proxy can record the serial number of the constructed ACK.
  • the TCP proxy receives the TCP ACK fed back by the terminal, it can also compare the TCP ACK sequence number of the terminal feedback with the constructed ACK sequence number recorded in the TCP proxy.
  • the TCP proxy records multiple constructed ACKs, which can compare the TCP ACK sequence number fed back by the terminal with the recorded maximum ACK sequence number. If the TCP ACK sequence number fed back by the terminal is less than or equal to the largest structure of the record. The ACK sequence number indicates that the TCP proxy has sent the corresponding ACK to the server.
  • the TCP proxy does not need to send the ACK sent by the terminal to the server, and can discard it. Otherwise, it sends it to the server, and the record is received.
  • the TCP ACK sequence number fed back by the terminal If the TCP ACK sequence number fed back by the terminal is less than or equal to the largest structure of the record. The ACK sequence number indicates that the TCP proxy has sent the corresponding ACK to the server. The TCP proxy does not need to send the ACK sent by the terminal to the
  • the ACK is sent to the server through the TCP proxy, which can prevent the ACK of the downlink data packet from being blocked on the TCP layer of the terminal to some extent, speed up the server sliding window, and provide comparison for the air interface.
  • Adequate data avoiding the phenomenon that no data can be sent in the air interface, thereby improving air interface utilization, improving data transmission performance, and enhancing user experience.
  • the data transmission process may be performed by a TCP function enhancement entity, such as a TCP proxy, added to an intermediate node in a data transmission process at the transmitting end and the receiving end.
  • a TCP function enhancement entity such as a TCP proxy
  • FIG. 3 is a flowchart of a data transmission method according to another embodiment of the present invention. As shown in FIG. 3, the method may include:
  • the TCP function enhancement entity After receiving the data packets sent by the sender, the TCP function enhancement entity sends the data packets to the receiver through a protocol layer.
  • the TCP function enhancement entity may be deployed in a plurality of different locations in the network, for example, including but not limited to: the Internet, the core network side, the radio access network side, and the like.
  • a protocol layer can also be deployed in different locations on the network.
  • a protocol layer can be an RLC layer.
  • the packet confirmation information acquires information of the corresponding data packet
  • An acknowledgement mechanism exists between a protocol layer and a receiving end. After receiving the data packet of the transmitting end, the receiving end feeds back a data packet acknowledgement message to a protocol layer, and the acknowledgement information can be used to know which data packets are correctly received by the receiving end. Therefore, it is also known which packets forwarded by the TCP function enhancement entity are correctly received by the receiving end, and the information of the data packets corresponding to the data packets can be further obtained.
  • the information of the corresponding data packet may be the serial number of the data packet. If the data packet is a TCP packet, the information of the data packet may further include the TCP serial number and the packet length of the corresponding TCP packet, and the packet length and the TCP serial number information may be from the TCP. The information of the header is obtained.
  • the transmitting end Since the transmitting end receives the ACK of the receiving end, it will continue to send the data packet to the receiving end.
  • the entity can be enhanced by the TCP function, for example, the TCP proxy constructs an ACK according to the acquired data packet information to send and send. end.
  • a protocol layer When a protocol layer receives the acknowledgment message from the receiving end to the data packet, it can also confirm that the receiving end has correctly received the data packet sent by the transmitting end, and then the TCP proxy constructs an ACK to send to the transmitting end.
  • the method for constructing the ACK may be: if the data packet is a TCP packet, the information of the data packet further includes a TCP sequence number and a packet length of the TCP packet, and if the data packet is a TCP packet, the serial number of the ACK may be constructed. Add the packet length to the TCP sequence number of the TCP packet. For other types of packets, other methods can be used to construct the ACK according to the specific situation, not here - enumeration.
  • the data transmission method provided by the embodiment of the present invention actively constructs an ACK and sends it to the transmitting end by using a TCP function enhancement entity, such as a TCP proxy, added by an intermediate node in the data transmission process at the transmitting end and the receiving end. Increased data transfer rate.
  • a TCP function enhancement entity such as a TCP proxy
  • the TCP ACK of the corresponding data packet fed back by the receiving end it can be determined whether the TCP ACK of the corresponding data packet fed back by the receiving end has been received. If not, the ACK is sent to the transmitting end; the TCP ACK received by the receiving end is forwarded to the transmitting end, if already After the configuration, the TCP ACK fed back by the receiver is discarded. This is because If the sequence number of the ACK received after the sender is smaller than the sequence number of the previously received ACK, the ACK with a small sequence number will be discarded.
  • a further embodiment of the present invention provides a data transmission method.
  • the TCP function is enhanced on the middle node in the data transmission process of the sender and the receiver.
  • the entity is a TCP proxy, and a protocol layer is described by taking the radio link control layer RLC as an example.
  • FIG. 4 is a flowchart of a data transmission method according to another embodiment of the present invention. As shown in FIG. 4, the method may include:
  • the TCP proxy receives a data packet sent by the server.
  • the terminal here is a generalized concept, including a terminal device and a protocol layer thereof, such as an RLC layer, and an acknowledgment mechanism exists between the RLC layer and the terminal device, that is, after the terminal device receives the PDU, it will give The RLC layer feeds back the packet acknowledgement information, indicating that the terminal has received the server's data packet.
  • a protocol layer thereof such as an RLC layer
  • the RLC layer After receiving the data packet confirmation information of the terminal device, the RLC layer obtains the information of the corresponding data packet according to the data packet confirmation information.
  • the RLC layer can know which data packets are correctly received by the terminal device, and know which data packets at the TCP proxy are received by the terminal device, so that the information of the corresponding data packet can be obtained.
  • the corresponding data packet information may be a data packet serial number. If the data packet is a TCP packet, the data packet information may further include a serial number and a packet length of the corresponding TCP packet.
  • the TCP proxy can record the serial number of the TCP ACK.
  • the information of the corresponding data packet can be obtained, and the sequence number of the ACK to be constructed can be known.
  • the sequence number of the first data packet is 1 and the packet length is 1460, then the sequence of the ACK to be constructed is The number is 1461, the serial number of the second data packet is 1461, the ACK serial number to be constructed is 2921, and so on.
  • the size of the number can be used to determine whether an ACK needs to be constructed.
  • the TCP proxy may have a sequence number of the TCP ACK fed back by at least one terminal, and compare the sequence number of the largest TCP ACK in the TCP proxy with the ACK sequence number to be constructed, if the TCP proxy terminal feeds back the maximum TCP ACK.
  • the serial number is greater than or equal to the ACK sequence number to be constructed, indicating that the TCP proxy has received the TCP ACK sent by the terminal, and does not need to construct an ACK; if the sequence of the largest TCP ACK fed back by the terminal in the TCP proxy is smaller than the ACK to be constructed
  • the serial number indicates that the TCP proxy has not received the TCP ACK of the terminal feedback.
  • the ACK needs to be constructed, that is, S405 is executed.
  • the TCP proxy Since the TCP proxy has not received the TCP ACK of the terminal feedback, the TCP proxy can construct the ACK to the server. After the server receives the ACK, it can slide the window to send new data.
  • the method for constructing the ACK may be: if the data packet is a TCP packet, the information of the data packet further includes a TCP sequence number and a packet length of the TCP packet, and if the data packet is a TCP packet, the serial number of the constructed ACK may be TCP.
  • the constructed ACK sequence number is 2921 ... and so on. For other types of data packets, other methods can be used to construct the ACK according to the specific situation.
  • the TCP proxy receives the TCP ACK fed back by the terminal, it can also compare the TCP ACK sequence number fed back by the terminal with the ACK sequence number constructed by the TCP proxy. A TCP ACK sequence is recorded in the TCP proxy, and the TCP ACK sequence number fed back by the terminal can be compared with the largest constructed ACK sequence number. If the TCP ACK sequence number fed back by the terminal is less than or equal to the largest constructed ACK sequence number, If the TCP proxy has sent the corresponding ACK to the server, the TCP proxy does not need to send the ACK sent by the terminal to the server, and can discard it. Otherwise, it sends it to the server, and records the TCP received by the terminal. ACK serial number.
  • the data transmission method provided by the embodiment of the present invention constructs an ACK through a TCP proxy.
  • Sending to the server can prevent the ACK of the downlink data packet from being blocked to the TCP layer of the terminal to some extent, speed up the server sliding window, provide sufficient data for the air interface, and avoid the phenomenon that no air interface can be sent, thereby improving the air interface utilization rate. Improve digital performance and enhance user experience.
  • FIG. 5 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present invention. As shown in FIG. 5, the apparatus may include:
  • the receiving unit 501 is configured to receive a data packet sent by the sending end, and record information about the received data packet.
  • the serial number is sequentially recorded according to the sequence of the received data packet, and the serial number may be incremented. For example, if the first data packet received can be recorded as its serial number, the received serial number is received. The second packet is recorded as 2... and so on. In order to avoid the number of digits being too large, you can add a certain value and then re-circulate the number. For example, when the serial number reaches 65535, it is re-numbered from 1 and so loops to meet the requirements of a large number of data packets. If the received packet is a TCP packet, you also need to record the packet length and serial number of the TCP.
  • the sending unit 502 is configured to send the received data packet to the receiving end via a protocol layer; the received data packet may be sent to the receiving end through a protocol layer, and a protocol layer may control the RLC layer for the wireless link.
  • the protocol layer can also perform related records on the data packets it receives, such as the sequence number of the data packets in the order received.
  • the searching unit 503 is configured to: after receiving the data packet acknowledgement information sent by the receiving end to the sending end, according to the generated data packet mapping relationship, the receiving unit 501 searches for the information of the corresponding data packet;
  • the receiving end After receiving the data packet of the transmitting end, the receiving end feeds back a confirmation message to a certain protocol layer.
  • the data packet mapping relationship reflects the correspondence between data packets between the data transmission device and a protocol layer, and may be a mapping table.
  • the process of generating the data packet mapping relationship may be: as the receiving unit 501 records the information of the received data packet, and a protocol layer also records the sequence number of the received data packet, the serial number and the TCP proxy record.
  • the serial number of the packet is - corresponding. That is When the first packet of the TCP packet is received, the first packet received by a protocol layer is also marked with a sequence number of 1, and so on, the sequence of packets recorded by a protocol layer and the receiving unit 501 is - Correspondingly, this - the corresponding relationship can be called a packet mapping relationship.
  • a protocol layer When a protocol layer receives the acknowledgement from the receiver, it can know which packets were received correctly by the receiver. Then, the information of the corresponding data packet is found in combination with the generated data packet mapping relationship, and it is known which data packets at the data transmission device are correctly received by the receiving end.
  • the constructing unit 504 constructs a response message ACK: sent to the sender according to the information of the data packet found by the searching unit 503.
  • the information of the found data packet constructs an ACK
  • the information of the data packet may include a sequence number.
  • the TCP sequence number and the packet length of the TCP packet may also be included.
  • the method of constructing the ACK may be: constructing an ACK according to the information of the data packet found by the packet mapping relationship. If the data packet is a TCP packet, the serial number of the constructed ACK may be the TCP serial number of the TCP packet plus the packet length. For other types of data packets, other methods can be used to construct ACKs according to specific situations, which are not enumerated here.
  • the construction unit 504 transmits the constructed ACK to the transmitting end, and may also record the serial number of the constructed ACK.
  • the data transmission apparatus may be a TCP function enhancement entity, such as a TCP proxy, added to a node in the middle of the data transmission process at the transmitting end and the receiving end.
  • a TCP function enhancement entity such as a TCP proxy
  • the data transmission apparatus provided by the embodiment of the present invention increases the data transmission rate by actively constructing an ACK and transmitting to the transmitting end.
  • the data transmission apparatus may determine whether a TCP ACK fed back by the receiving end is received, and if not, construct an ACK to send to the transmitting end; in addition, after receiving the TCP ACK fed back by the receiving end, Determine whether an ACK has been constructed and sent to the sender. If not, It is forwarded to the sender, and if it has been constructed, the TCP ACK fed back by the receiver is discarded.
  • FIG. 6 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention. As shown in FIG. 6, the apparatus may include:
  • the receiving unit 601 is configured to receive a data packet sent by the sending end, and record information about the received data packet.
  • the function and the execution process of the receiving unit 601 are basically the same as those of the receiving unit 501 in the foregoing embodiment, and details are not described herein again.
  • the sending unit 602 is configured to send the data packet received by the receiving unit 601 to the receiving end via a protocol layer;
  • the function and the execution process of the sending unit 602 are basically the same as those of the sending unit 502 in the foregoing embodiment, and details are not described herein again.
  • a generating unit 603, configured to generate a data packet mapping relationship according to the information of the data packet recorded by the receiving unit 601;
  • the data packet mapping relationship may be stored in the data transmission device or may be stored in a protocol layer.
  • a protocol layer and a receiving end have an acknowledgment mechanism, that is, after receiving the data packet of the transmitting end, the receiving end feeds back a confirmation message to a certain protocol layer.
  • the data packet is shared between the data transmission device and a protocol layer.
  • the data packet transmission relationship is generated by the data transmission device as an example.
  • a protocol layer also records the sequence number of the received data packet. That is to say, the receiving unit 601 receives the first data packet number, and the first data packet received by a protocol layer also has a sequence number of 1. And so on, the data packet order of the RLC layer and the TCP proxy is - corresponding, and this corresponding relationship can be called a packet mapping relationship.
  • the searching unit 604 after receiving the data packet acknowledgement information sent by the receiving end to the transmitting end, according to the data packet mapping relationship generated by the generating unit 603, the receiving unit 601 searches for the information of the corresponding data packet;
  • the searching unit 604 here is basically the same as the searching unit 503 in the above embodiment, where No longer.
  • the determining unit 605 is configured to determine, according to the information of the data packet searched by the searching unit 604, whether an ACK needs to be constructed;
  • the decision unit 605 of the data transmission device For the TCP ACK sent by the receiving end to the data transmission device, the decision unit 605 of the data transmission device also records the sequence number of the ACK.
  • the information of the data packet may include a sequence number of the data packet. If the data packet is a TCP data packet, the information of the data packet may further include a packet length and a serial number of the TCP packet, and according to the information of the found data packet, it may be known that the data packet is to be constructed.
  • the serial number of the ACK for example, for a TCP packet, the sequence number of the first packet is 1 and the packet length is 1460, then the sequence number of the ACK to be constructed is 1461, and the sequence number of the second packet is 1461.
  • the serial number of the ACK to be constructed is 2921... and so on. ACKs can be constructed in other ways for other types of packets.
  • the judging unit 605 may record the sequence number of the TCP ACK fed back by the at least one terminal, compare the sequence number of the largest TCP ACK recorded in the judging unit 605 with the ACK sequence number to be constructed, if the judging unit 605 records The sequence number of the largest TCP ACK fed back by the receiving end is greater than or equal to the ACK sequence number to be constructed, indicating that the data transmission device has received the TCP ACK fed back by the receiving end, and does not need to construct an ACK; if the determining unit 605 records The sequence number of the largest TCP ACK fed back by the receiving end is smaller than the ACK sequence number to be constructed, indicating that the data transmission device has not received the TCP ACK fed back by the receiving end, and needs to construct an ACK:.
  • the data transmission device does not receive the TCP ACK fed back by the receiving end, and the construction unit 606 of the data transmission device actively constructs an ACK to send to the transmitting end. After the sender receives the ACK, it can scan the window to send new data.
  • the serial number of the constructed ACK is the packet length of the TCP packet plus the sequence number, for example, the first packet The sequence number is 1 and the packet length is 1460. Then the sequence number of the constructed ACK is 1461, the sequence number of the second packet is 1461, the packet length is 1460, the constructed ACK sequence number is 2921, and so on.
  • the serial number of the constructed ACK can be recorded at the data transmission device.
  • the data transmission apparatus receives the TCP ACK fed back by the receiving end, it can also determine that it is configured to the transmitting end, and if it has been constructed, discard the TCP ACK fed back by the receiving end. Then the data transmission device may further include:
  • the comparing unit 607 is configured to compare the TCP ACK sequence number fed back by the receiving end with the constructed ACK sequence number recorded in the data transmission device.
  • the data transmission device does not need to send the ACK sent by the receiver. Send it to the sender, you can discard it; otherwise, send it to the sender, and record the TCP ACK sequence number received by the receiver.
  • FIG. 7 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention. As shown in FIG. 7, the apparatus may include:
  • the second receiving unit 701 is configured to receive a data packet sent by the sending end.
  • the second sending unit 702 is configured to send the received data packet to the receiving end via a protocol layer; the received data packet may be sent to the receiving end through a protocol layer, and a protocol layer may be a radio link control RLC layer.
  • the obtaining unit 703 is configured to: after receiving the data packet acknowledgement information sent by the receiving end to the sending end, the protocol layer obtains the information of the corresponding data packet according to the data packet acknowledgement information;
  • the receiving end After receiving the data packet of the transmitting end, the receiving end feeds back a confirmation message to a certain protocol layer. Through these confirmations, it can be known which packets are correctly received by the receiving end, and thus it is known which packets at the data transmitting device are correctly received by the receiving end.
  • the information of the data packets corresponding to the data packets can be further obtained.
  • the information of the corresponding data packet may be the serial number of the data packet. If the data packet is a TCP packet, the information of the data packet may also be included.
  • the serial number and packet length of the corresponding TCP packet, the packet length and the TCP sequence number information can be obtained from the information of the TCP header.
  • the second constructing unit 704 constructs the confirmation information transmitted to the transmitting end based on the information of the data packet acquired by the obtaining unit 703.
  • the data transmission device When the data transmission device has not received the ACK of the certain data packet at the receiving end, but a certain protocol layer has received the acknowledgement information of the data packet at the receiving end, it can also confirm that the receiving end has correctly received the sending end of the data packet.
  • the data packet can obtain the information of the corresponding data packet according to the data packet confirmation information, and can be sent to the transmitting end by the second constructing unit 704 according to the information of the data packet.
  • the method of constructing the ACK may be: constructing ACK: according to the information of the data packet acquired by the obtaining unit 703. If the data packet is a TCP data packet, the sequence number of the constructed ACK is the serial number of the TCP packet plus the packet length. For other types of data packets, the ACK can be constructed in other ways, which is not enumerated.
  • the data transmission apparatus may be a TCP function enhancement entity, such as a TCP proxy, added to a node in the middle of the data transmission process at the transmitting end and the receiving end.
  • a TCP function enhancement entity such as a TCP proxy
  • the data transmission apparatus provided by the embodiment of the present invention increases the data transmission rate by actively constructing an ACK and transmitting to the transmitting end.
  • the data transmission apparatus may determine whether a TCP ACK fed back by the receiving end is received, and if not, construct an ACK to send to the transmitting end; in addition, after receiving the TCP ACK fed back by the receiving end, It is determined whether an ACK has been constructed and sent to the sender. If not, it is forwarded to the sender. If it has been constructed, the TCP ACK fed back by the receiver is discarded.
  • FIG. 8 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention. As shown in FIG. 8, the apparatus may include:
  • a second receiving unit 801 configured to receive a data packet sent by the sending end
  • the function and the execution process of the second receiving unit 801 are substantially the same as those of the second receiving unit 701 in the foregoing embodiment, and details are not described herein again.
  • the second sending unit 802 is configured to send the data packet received by the second receiving unit 801 to the receiving end via a protocol layer;
  • the function and the execution process of the second sending unit 802 are substantially the same as those of the second sending unit 702 in the foregoing embodiment, and details are not described herein again.
  • the obtaining unit 803 is specifically configured to obtain the data packet sequence number according to the data packet confirmation information, and the obtaining unit 803 may further be configured to obtain the packet length and the TCP sequence number of the TCP packet according to the data packet sequence number.
  • a protocol layer and a receiving end have an acknowledgment mechanism, that is, after receiving the data packet of the transmitting end, the receiving end feeds back a confirmation message to a certain protocol layer.
  • the obtaining unit 803 can obtain the information of the corresponding packet based on the packet confirmation information.
  • the second determining unit 805 is configured to determine, according to the information of the data packet acquired by the obtaining unit 803, whether an ACK needs to be constructed;
  • the information of the data packet may include the sequence number of the data packet, so the sequence number of the data packet may be obtained according to the acknowledgement information of the data packet.
  • the packet length of the TCP packet may also be obtained according to the sequence number of the data packet.
  • the serial number of the TCP packet, etc., based on the information of the packet, the sequence number of the ACK to be constructed can be known. For example, for a TCP packet, the sequence number of the first packet is 1 and the packet length is 1460, then the ACK to be constructed is The serial number is 1461, the serial number of the second data packet is 1461, the ACK serial number to be constructed is 2921, and so on. ACKs can be constructed in other ways for other types of packets.
  • the second judging unit 805 can judge whether or not the ACK needs to be constructed by comparing the sequence number of the TCP ACK fed back by the receiving end with the size of the ACK sequence number to be constructed.
  • the second judging unit 805 may record the sequence number of the TCP ACK fed back by the at least one terminal, and the second judging unit 805 may compare the sequence number of the largest TCP ACK fed back by the receiving end with the ACK sequence number to be constructed, if The sequence number of the largest TCP ACK fed back by the receiving end is greater than or equal to the ACK sequence number to be constructed, indicating that the data transmission device has received the TCP ACK fed back by the receiving end, and does not need to construct an ACK; if the receiving end feeds back the largest TCP The sequence number of the ACK is smaller than the ACK sequence number to be constructed, indicating that the data transmission device has not received the TCP ACK fed back by the receiving end, and needs to construct an ACK.
  • the second constructing unit 804 of the data transmission device actively constructs an ACK and sends the ACK to the transmitting end. After the sender receives the ACK, it can slide the window to send new data.
  • the data transmission device may also judge that the data is forwarded to the transmitting end, and if it has been constructed, the TCP ACK fed back by the receiving end is discarded. Then the data transmission device may further include:
  • the second comparing unit 806 is configured to compare the TCP ACK sequence number fed back by the receiving end with the ACK sequence number constructed in the data transmitting device.
  • the data transmitting device does not need to send the ACK sent by the receiving end to The sender can discard it; otherwise, it sends it to the sender and records the TCP ACK sequence number received by the receiver.
  • FIG. 9 is a schematic structural diagram of an intermediate network element according to an embodiment of the present invention.
  • the intermediate network element may include: a protocol layer 901 and data.
  • the transmission device 902, a protocol layer 901 can be any protocol layer of the intermediate network element, as long as there is an acknowledgment mechanism with the receiving end, that is, the receiving end receives the data packet and feeds back confirmation information to a certain protocol layer.
  • the data transmission device 902 can be any of the devices described in the embodiment corresponding to Figure 5 or Figure 6.
  • a protocol layer 901 and the data transmission device 902 share a data packet mapping relationship. For the manner of generating a data packet mapping relationship, reference may be made to the related description in the foregoing method embodiments.
  • the data transmission device 902 may construct an ACK and send it to the transmitting end. After determining whether the ACK needs to be constructed, the ACK may be sent to the transmitting end.
  • the specific determining method may refer to the foregoing. A related description in the method embodiment. For the ACK sent by the receiving end to the data transmission device 902, it is also necessary to determine whether it needs to be forwarded to the transmitting end. The determining method can also refer to the related description in the foregoing method embodiment.
  • the foregoing intermediate network element may be a radio network controller (Radio Network).
  • the controller hereinafter referred to as RNC
  • the data transmission device 902 can be a TCP proxy
  • a protocol layer 901 can be an RLC layer.
  • a certain protocol layer 901 and the data transmission device 902 are located in an intermediate network element. It can be understood that the data transmission device 902 may not be located in an intermediate network element with a certain protocol layer 901, as long as data transmission is performed.
  • the device 902 can construct an ACK according to a packet mapping relationship with a certain protocol layer 901.
  • the data transmission device constructs an ACK to the transmitting end, which can prevent the ACK of the downlink data packet from being blocked on the TCP layer of the receiving end to some extent, and speed up the sliding window of the transmitting end, thereby providing sufficient air interface for the air interface.
  • Data to avoid the phenomenon that no data can be sent in the air interface, thereby improving the air interface utilization, improving the data transmission performance, and enhancing the user experience.
  • FIG. 10 is a schematic structural diagram of an intermediate network element according to another embodiment of the present invention.
  • the intermediate network element may include: a protocol layer 1001 and data transmission.
  • Device 1002 data transmission device 1002 may be any of the devices described in the embodiment corresponding to FIG. 7 or FIG.
  • a protocol layer 1001 is any protocol layer of the intermediate network element, and an acknowledgement mechanism exists at the receiving end, and the receiving end receives the data packet, and feeds back a confirmation information to a protocol layer 1001;
  • the data transmission device 1002 After the protocol layer 1001 receives the packet acknowledgement information fed back by the receiving end, the data transmission device 1002 acquires the information of the packet based on the packet acknowledgement information, and constructs a response message ACK transmitted to the sender based on the information of the packet.
  • the data transmission device 1002 may construct an ACK to be sent to the transmitting end, and may also construct an ACK to be sent to the transmitting end after determining whether the ACK needs to be constructed.
  • the specific determining method may refer to the related description in the foregoing method embodiment. For the ACK sent by the receiving end to the data transmission device 1002, it is also necessary to determine whether it needs to be forwarded to the transmitting end.
  • the determining method can also refer to the related description in the foregoing method embodiment.
  • the foregoing intermediate network element may be an RNC
  • the data transmission device 1002 may be a TCP proxy
  • a protocol layer 1001 may be an RLC layer.
  • the data transmission device 1002 and a certain protocol layer 1001 are located in an intermediate network element. It can be understood that the data transmission device 1002 may not be located in a protocol layer 1001. In the middle network element.
  • the data transmission device constructs an ACK to the transmitting end, which can prevent the ACK of the downlink data packet from being blocked on the TCP layer of the receiving end to some extent, and speed up the sliding window of the transmitting end, thereby providing sufficient air interface for the air interface.
  • Data to avoid the phenomenon that no data can be sent in the air interface, thereby improving the air interface utilization, improving the data transmission performance, and enhancing the user experience.
  • the steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented in hardware, a software module executed by a processor, or a combination of both.
  • the software module 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

数据传输方法和装置
本申请要求于 2008 年 07 月 17 日提交中国专利局、 申请号为 200810141665.9、 发明名称为"数据传输方法和装置"的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明实施例涉及移动通信领域, 尤指一种数据传输方法和装置。 背景技术
对于无线领域的分组(Packet Switching; 以下简称: PS )业务, 一般采用 传输控制协议(Transmission Control Protocol; 以下简称: TCP ) 。 在无线网 络中, 无线网络的特性如高时延、 可变的数据速率、 不对称性、 时延尖峰以及 带宽抖动都会影响 TCP的性能。 随着数据业务使用的不断发展, 用户需求的业务 质量(Quality of Service; 以下简称: QoS )也会越来越高, 如何提升 TCP在无 线承载中的传输性能就显得尤为重要。
对于上、 下行同时进行数据传输, 其传输过程包括上传过程和下传过程。 上行过程是由终端发送数据包给服务器, 在收到服务器的应答消息 ( ACKnowledge Character; 以下简称: ACK ) 包后, 终端滑动窗口发送新的数 据包; 下行过程是由服务器发送数据包给终端, 在收到终端的 ACK包后, 服务 器滑动窗口发送新的数据包。服务器发送数据包时,也会发送上行数据包的 ACK 包, 终端发送数据包时, 也会发送下行数据包的 ACK包。
上、 下行同时进行数据传输的吞吐量性能是评价无线系统重要的性能指标。 然而, 发明人发现现有技术的方法至少存在如下问题: 在现网测试中, 上、 下 行同时进行数据传输的下行过程速率低且波动大, 这是由于在终端的 TCP层, 下 行数据包的 ACK通常会排在上行数据包的后面,导致下行数据包的 ACK被延时, 严重影响下行数传 (数据传输)性能, 用户感受度较差。 发明内容
本发明实施例解决的主要技术问题是提供了一种数据传输方法和装置, 可 以提高下行数传的性能。
本发明实施例提供了一种数据传输方法, 主要包括:
接收发送端发送的数据包, 并记录接收到的数据包的信息;
将接收到的数据包经由某协议层发送给接收端;
在所述某协议层接收到所述接收端对所述发送端发送的数据包确认信息 后, 根据数据包映射关系查找记录的数据包的信息, 其中, 所述数据包映射关 系为所述记录的数据包与所述某协议层接收到的数据包的对应关系;
根据查找到的数据包的信息, 构造发送到发送端的应答消息 ACK。
本发明实施例还提供了一种数据传输方法, 主要包括:
接收发送端发送的数据包;
将接收到的数据包经由某协议层发送给接收端;
在所述某协议层接收到所述接收端对所述发送端发送的数据包确认信息 后, 根据所述数据包确认信息获取相应的数据包的信息;
根据获取的相应的数据包的信息构造发送到发送端的应答消息 ACK。
本发明实施例还提供了一种数据传输装置, 主要包括:
接收单元, 用于接收发送端发送的数据包, 并记录接收到的数据包的信息; 发送单元, 用于将接收到的数据包经由某协议层发送给接收端;
查找单元, 用于在所述某协议层接收到所述接收端对发送端发送的数据包 确认信息后, 根据数据包映射关系查找记录的数据包的信息, 其中, 所述数据 包映射关系, 为所述记录的数据包与所述某协议层接收到的数据包的对应关系; 构造单元, 根据所述查找单元查找到的数据包的信息, 构造发送到发送端 的应答消息 ACK:。
本发明实施例还提供了一种中间网元, 主要包括某协议层和上述实施例中 的数据传输装置, 所述某协议层为所述中间网元的任意一个协议层, 和接收端 存在确认机制, 接收端接收到数据包给某协议层反馈确认信息;
所述某协议层和所述数据传输装置之间共享数据包映射关系, 在所述某协 议层接收到所述接收端反馈的确认信息后, 所述数据传输装置根据所述数据包 映射关系, 构造 ACK发送至所述发送端。
本发明实施例又提供了一种数据传输装置, 主要包括:
第二接收单元, 用于接收发送端发送的数据包;
第二发送单元, 用于将接收到的数据包经由某协议层发送给接收端; 获取单元, 用于在所述某协议层接收到所述接收端对所述发送端发送的数 据包确认信息后, 根据所述数据包确认信息获取相应的数据包的信息;
第二构造单元, 用于根据所述获取单元获取的相应的数据包的信息构造发 送到发送端的应答消息 ACK。
本发明实施例又提供了一种中间网元, 主要包括某协议层和上述实施例中 的数据传输装置; 所述某协议层为所述中间网元的任意一个协议层, 和接收端 存在确认机制, 接收端接收到数据包, 给某协议层反馈确认信息;
在所述某协议层接收到所述接收端反馈的数据包确认信息后, 所述数据传 输装置根据所述数据包确认信息获取数据包的信息, 并根据所述数据包的信息 构造发送到发送端的应答消息 ACK。
综上, 本发明实施例提供的方法和装置, 在某协议层接收到接收端反馈的 确认信息后, 通过主动构造 ACK发送至发送端, 可以一定程度上避免数据包的 ACK受阻于接收端的 TCP层, 加快发送端滑动窗口, 提高数据传输性能, 并增 强用户感受。 附图说明
图 1为本发明一实施例提供的数据传输方法流程图;
图 2为本发明另一实施例提供的数据传输方法流程图;
图 3为本发明又一实施例提供的数据传输方法流程图; 图 4为本发明再一实施例提供的数据传输方法流程图;
图 5为本发明一实施例提供的数据传输装置结构示意图;
图 6为本发明另一实施例提供的数据传输装置结构示意图;
图 7为本发明又一实施例提供的数据传输装置结构示意图;
图 8为本发明再一实施例提供的数据传输装置结构示意图;
图 9为本发明一实施例提供的中间网元结构示意图;
图 10为本发明另一实施例提供的中间网元结构示意图。 具体实施方式
本发明一实施例提供了一种数据传输方法, 该数据传输过程可以由在发送 端和接收端的数据传输过程中的中间一个节点上增加的 TCP功能增强实体, 如 TCP代理来完成。 图 1 为本发明一实施例提供的数据传输方法流程图, 如图 1 所示, 该方法可以包括:
5101 , 接收发送端发送的数据包, 并记录接收到的数据包的信息; 当接收到发送端发送的数据包后, 按照接收到的数据包的顺序依次记录其 序号, 序号可以采用递增方式, 例如收到的第一个数据包可将其序号记为 1 , 收 到的第二个数据包则记为 2... ...依此类推, 对数据包的序号位数可以不做限制, 但序号位数过大有可能为记录造成不便, 因此可以加到一定数值后再重新进行 循环编号, 例如, 当序号达到 65535后, 再从 1重新进行编号, 如此循环往复, 以满足大量数据包的要求。 如果收到的数据包为 TCP包, 还可以记录该 TCP的 包长和 TCP序列号。
5102, 将接收到的数据包经由某协议层发送给接收端;
接收到的数据包可以通过某协议层发送给接收端, 其中某协议层可以为无 线链路控制 ( Radio Link Control; 以下简称: RLC )层。 该协议层也可以对其 接收到的数据包进行相关记录, 例如按照接收到的顺序, 记录数据包的序号。
5103 , 在某协议层接收到接收端对发送端发送的数据包确认信息后, 根据 数据包映射关系查找记录的数据包的信息;
其中, 数据包映射关系反映的是记录的数据包与某协议层接收到的数据包 的对应关系, 可以为一个映射表。 该数据包映射关系的生成过程可以为: 由于
S101 中, 对接收到的数据包的信息进行了记录, 某协议层也会对收到的数据包 的序号进行记录, 这个序号和 TCP代理记录的数据包序号是——对应的。 也就 是说 TCP代理收到第一个数据包记序号为 1 , 则某协议层将收到的第一个数据 包也记序号为 1 , 依此类推, 则某协议层和 TCP代理的数据包顺序是——对应 的, 可以将这种——对应的关系称为数据包映射关系。
需要说明的是, 此处的 TCP功能增强实体可以部署在网络中多个不同的位 置, 例如, 包括但不限于: 互联网中, 核心网侧, 无线接入网侧等。 同样地, 某协议层, 也可以部署在网络中多个不同的位置。
其中, 此处的某协议层和接收端之间存在确认机制, 接收端接收到发送端 的数据包后, 会给某协议层反馈确认信息。
当某协议层收到接收端反馈的确认信息后, 可以知道哪些数据包被接收端 正确接收了。 那么结合生成的数据包映射关系查找到对应的数据包的信息, 也 就知道 TCP功能增强实体处转发的哪些数据包被接收端正确接收了。
此外, 该数据包映射关系可以存储在某协议层, 也可以存储在 TCP功能增 强实体中。 TCP功能增强实体和某协议层之间对该数据包映射关系是共享的。
需要说明的是, 本发明实施例中, 仅是对于如何记录接收到的数据包的方 式进行举例说明, 还可以有其他的记录方式, 只要能根据记录的序号或者编号 通过数据包映射关系查找到对应的数据包的信息即可。
S104, 根据查找到的数据包的信息, 构造发送到发送端的 ACK。
由于发送端在接收到接收端的 ACK后, 才会继续向接收端发送数据包, 为 了避免 ACK受阻于接收端,可以通过 TCP功能增强实体,如 TCP代理构造 ACK 发送至发送端。
当 TCP代理还未收到接收端的对某一数据包的 TCP ACK,但是某协议层已 经收到了接收端对该数据包的确认信息时 , 也就可以确认接收端已经正确接收 到了发送端发送的数据包, 则可以由 TCP代理构造 ACK发送至发送端。 构造 该 ACK 的方法可以为: 根据由数据包映射关系查找到的数据包的信息构造 ACK。 该数据包的信息可以包括序号, 若该数据包为 TCP包, 则数据包的信息 还包括 TCP包的 TCP序列号和包长等, 则若数据包为 TCP包, 构造 ACK的序 列号可以为 TCP包的 TCP序列号加上包长。对于其他类型的数据包可以才艮据具 体情况采用其他方法来构造 ACK, 在此不——列举。 TCP代理将构造的 ACK 发送给发送端, 并记录该构造的 ACK的序列号。
综上, 本发明实施例提供的数据传输方法, 通过由在发送端和接收端的数 据传输过程中的中间一个节点上增加的 TCP功能增强实体, 如 TCP代理, 主动 构造 ACK发送至发送端, 从而提高了数据传输速率。
当在发送端和接收端的数据传输过程中的中间一个节点上增加的 TCP功能 增强实体, 如 TCP代理, 在构造 ACK前, 可以判断是否收到过接收端反馈的 对应数据包的 TCP ACK, 如果没有, 就构造 ACK发送给发送端; 此外, 收到 接收端反馈的 TCP ACK后, 也可以判断是否已经构造过相应的 ACK发送至发 送端, 如果没有, 才将其转发至发送端, 如果已经构造过, 则将接收端反馈的 TCP ACK丟弃。 这是由于如果发送端后收到的 ACK的序列号小于之前收到的 ACK的序列号的话, 会将序列号小的 ACK丟弃。 下面将通过具体的实施例进 行说明。
本发明另一实施例提供了一种数据传输方法, 该实施例中, 以发送端为服 务器, 接收端为终端, 发送端和接收端的数据传输过程中的中间一个节点上增 加的 TCP功能增强实体为 TCP代理, 某协议层以无线链路控制层 RLC为例进 行说明, 图 2为本发明另一实施例提供的数据传输方法流程图, 如图 2所示, 该方法可以包括:
S201 , TCP代理接收服务器发送的数据包, 并记录接收到数据包的信息; 对于下行传输过程, 服务器发送给终端的数据包, 通过 TCP代理转发, 因 此数据包都会经过 TCP代理, 则可以按照接收到的数据包的顺序依次记录其序 号,序号可以采用递增方式, 例如收到的第一个数据包可将其序号记为 1 , 收到 的第二个数据包则记为 2... ...依此类推。 如果收到的数据包为 TCP包, 还可 以记录该 TCP的包长和 TCP序列号。 包长和 TCP序列号信息可以从 TCP的 包头的信息获取。
5202, 将接收到的数据包经由 RLC层发送给终端;
接收到的数据包可以通过 RLC层发送给终端, RLC层也可以对其接收 到的数据包进行相关记录, 如按照接收到的顺序, 记录数据包的序号。
5203 , 根据记录的数据包的信息, 生成数据包映射关系;
其中, 生成的数据包映射关系可以以数据包映射表的形式保存。
需要说明的是, 该数据包映射关系可以存储在 TCP代理, 也可以存储在 RLC层。 TCP代理和 RLC层之间共享该数据包映射关系。 本实施例中, 以 TCP代理生成数据包映射关系为例进行说明。
RLC层也会记录接收到的数据包的序号,也就是说 TCP代理收到第一个 数据包记序号为 1 , 则 RLC层收到的第一个数据包也记序号为 1 ,依此类推, RLC层和 TCP代理的数据包顺序是——对应的,可以将这种——对应的关系 称为数据包映射关系。
5204,在 RLC层接收到终端的确认信息后,根据数据包映射关系查找对 应的数据包的信息;
需要说明的是, 此处的终端是一个广义的概念, 包括终端设备及其协议 层。
RLC层可以有确认或非确认两种工作模式, 此处利用的是 RLC层和终 端之间的数据传输确认机制。 业务数据单元 ( Service Data Unit; 以下简称: SDU ) 经过 RLC层被拆分成协议数据单元 ( Protocol Data Unit ; 以下简称: PDU )发送给终端, 终端接收到 PDU后, 会给 RLC层反馈确认信息, 表示 终端接收到了服务器的数据包。 RLC层根据接收到的终端的确认信息, 就可 以知道哪些数据包被终端正确接收了, 从而通过查找 S202 中的数据包映射 关系, 也就知道 TCP代理处的哪些数据包被终端接收到了, 由于 TCP代理 也同时记录了 TCP包的包长和 TCP 序列号等数据包的信息, 从而也就查找 到了对应的数据包的信息。
S205 , 根据查找到的数据包的信息, 判断是否需要构造 ACK;
对于终端发送给 TCP代理的 TCP ACK, TCP代理也会记录该 TCP ACK的 序列号。
其中, 数据包的信息可以包括数据包的序号, 若数据包为 TCP包, 则还可 以包括 TCP包的包长和 TCP序列号等,根据查找到的数据包的信息,可以知道 将要构造的 ACK的序列号, 例如对于 TCP包, 第一个数据包的序列号为 1 , 包 长为 1460, 那么将要构造的 ACK的序列号为 1461 , 第二个数据包的序列号为 1461 ,将要构造的 ACK的序列号为 2921 ... ...依此类推。对于其他类型的数据包 还可以采用其他方式构造 ACK:。
通过比较 TCP代理中记录的终端反馈的 TCP ACK的序列号和将要构造的 ACK序列号的大小, 就可以判断是否需要构造 ACK。 TCP代理中可能会记录有 至少一个终端反馈的 TCP ACK的序列号,将 TCP代理中记录的最大的 TCP ACK 的序列号与将要构造的 ACK序列号进行比较, 如果 TCP代理中记录的终端反 馈的最大的 TCP ACK的序列号大于或等于将要构造的 ACK序列号, 说明 TCP 代理已经接收到过终端发送的 TCP ACK, 不需要构造 ACK, 重复执行 S201及 其后续步骤; 如果 TCP代理中记录的终端反馈的最大的 TCP ACK的序列号小 于将要构造的 ACK序列号,说明 TCP代理没有接收到过终端反馈的 TCP ACK, 需要构造 ACK, 执行 S206。
S206, 构造 ACK, 并发送给服务器。
TCP代理没有接收到过终端反馈的 TCP ACK,则由 TCP代理主动构造 ACK 发送给服务器。 服务器接收到 ACK后, 就可以滑动窗口发送新的数据。
构造的 ACK的序列号为 TCP包的包长加上 TCP序列号, 例如, 第一个数 据包的序列号为 1 , 包长为 1460, 那么构造的 ACK的序列号为 1461 , 第二个数 据包的序列号为 1461 , 包长为 1460,构造的 ACK序列号为 2921 ... ...依此类推。 在 TCP代理可以记录构造的 ACK的序列号。
此外, 如果 TCP代理接收到终端反馈的 TCP ACK, 也可以将终端反 馈的 TCP ACK序列号和 TCP代理中记录的构造的 ACK序列号进行比较。 TCP代理中会记录有多个构造的 ACK, 可以将终端反馈的 TCP ACK序列 号与记录的最大的构造的 ACK序列号进行比较,如果终端反馈的 TCP ACK 序列号小于或等于记录的最大的构造的 ACK序列号, 说明 TCP代理已经 给服务器发送过相应的 ACK了,则 TCP代理不需要将终端发送的 ACK发 往服务器, 可以将其丟弃, 否则, 将其发往服务器, 并记录接收到终端反 馈的 TCP ACK序列号。
由此可见,通过本发明实施例提供的数据传输方法,通过 TCP代理构造 ACK 发往服务器, 可以一定程度上避免下行数据包的 ACK受阻于终端的 TCP层, 加快服务器滑动窗口, 为空口提供比较充足的数据, 避免空口没有数据可发送 的现象产生, 从而提高空口利用率、 提升数据传输的性能, 并增强用户感受。
本发明又一实施例提供的数据传输方法, 该数据传输过程可以由在发送端 和接收端的数据传输过程中的中间一个节点上增加的 TCP 功能增强实体, 如 TCP代理来完成。 图 3为本发明又一实施例提供的数据传输方法流程图,如图 3 所示, 该方法可以包括:
S301 , 接收发送端发送的数据包;
5302 , 将接收到的数据包经由某协议层发送给接收端;
TCP 功能增强实体接收发送端发送的数据包后, 将这些数据包经由某协议 层发送给接收端。 该 TCP功能增强实体可以部署在网络中多个不同的位置, 例 如, 包括但不限于: 互联网中, 核心网侧, 无线接入网侧等。 某协议层也可以 部署在网络中多个不同的位置, 例如某协议层可以为 RLC层。
5303 , 在某协议层接收到接收端对发送端发送的数据包确认信息后, 根据 数据包确认信息获取相应的数据包的信息;
其中, 某协议层和接收端之间存在确认机制, 接收端接收到发送端的数据 包后, 会给某协议层反馈数据包确认信息, 通过这些确认信息可以获知哪些数 据包被接收端正确地接收了, 从而也就知道 TCP功能增强实体处转发的哪些数 据包被接收端正确接收了, 也就可以进一步获取这些数据包对应的数据包的信 息。 相应的数据包的信息可以为数据包的序号, 若数据包是 TCP包, 则数据包 的信息还可以包括对应的 TCP包的 TCP序列号和包长, 包长和 TCP序列号信 息可以从 TCP的包头的信息获取。
S304 , 根据获取的相应的数据包的信息, 构造发送到发送端的应答消息 ACK:。
由于发送端在接收到接收端的 ACK后, 才会继续向接收端发送数据包, 为 了避免 ACK受阻于接收端, 可以通过 TCP功能增强实体, 如 TCP代理根据获 取的数据包信息构造 ACK发送至发送端。
在某协议层收到了接收端对该数据包的确认信息时, 也就可以确认接收端 已经正确接收到了发送端发送的数据包, 则可以由 TCP代理构造 ACK发送至 发送端。 其中, 构造该 ACK的方法可以为: 若该数据包为 TCP包, 则数据包 的信息还包括 TCP包的 TCP序列号和包长等,则若数据包为 TCP包,构造 ACK 的序列号可以为 TCP包的 TCP序列号加上包长。对于其他类型的数据包可以根 据具体情况采用其他方法来构造 ACK, 在此不——列举。
综上, 本发明实施例提供的数据传输方法, 通过由在发送端和接收端的数 据传输过程中的中间一个节点上增加的 TCP功能增强实体, 如 TCP代理, 主动 构造 ACK发送至发送端, 从而提高了数据传输速率。
此外, 在构造 ACK前, 可以判断是否收到过接收端反馈的对应数据包的 TCP ACK,如果没有,就构造 ACK发送给发送端;收到接收端反馈的 TCP ACK 转发至发送端, 如果已经构造过, 则将接收端反馈的 TCP ACK丟弃。 这是由于 如果发送端后收到的 ACK的序列号小于之前收到的 ACK的序列号的话, 会将 序列号小的 ACK丟弃。
本发明再一实施例又提供了一种数据传输方法, 该实施例中, 以发送端为 服务器, 接收端为终端, 发送端和接收端的数据传输过程中的中间一个节点上 增加的 TCP功能增强实体为 TCP代理, 某协议层以无线链路控制层 RLC为例 进行说明, 图 4为本发明再一实施例提供的数据传输方法流程图, 如图 4所示, 该方法可以包括:
5401 , TCP代理接收服务器发送的数据包;
5402, 将接收到的数据转发给终端;
需要说明的是, 此处的终端是一个广义的概念, 包括终端设备及其协议 层, 如 RLC层, 而 RLC层和终端设备间存在确认机制, 也就是说终端设备 接收到 PDU后, 会给 RLC层反馈数据包确认信息, 表示终端接收到了服务 器的数据包。
5403 , 在 RLC层接收到终端设备的数据包确认信息后,根据数据包确认信 息获取相应的数据包的信息;
RLC层根据接收到的终端设备的确认信息, 就可以知道哪些数据包被终 端设备正确接收了, 也就知道 TCP 代理处的哪些数据包被终端设备接收到 了,从而可以获取相应的数据包的信息。相应的数据包信息可以为数据包序号, 若数据包是 TCP包,则数据包的信息还可以包括对应的 TCP包的序列号和包长 等。
5404, 根据获取的数据包的信息判断是否需要构造 ACK;
对于终端设备发送给 TCP代理的 TCP ACK, TCP代理可以记录该 TCP ACK 的序列号。 而根据数据包确认信息可以获取对应的数据包的信息, 可以知道将 要构造的 ACK的序列号, 例如, 第一个数据包的序列号为 1 , 包长为 1460, 那 么将要构造的 ACK的序列号为 1461 , 第二个数据包的序列号为 1461 , 将要构 造的 ACK序列号为 2921 ... ...依此类推。 号的大小, 可以判断是否需要构造 ACK。 TCP代理中可能会有至少一个终端反 馈的 TCP ACK的序列号,将 TCP代理中的最大的 TCP ACK的序列号与将要构 造的 ACK序列号进行比较,如果 TCP代理终端反馈的最大的 TCP ACK的序列 号大于或等于将要构造的 ACK序列号, 说明 TCP代理已经接收到过终端发送 的 TCP ACK,不需要构造 ACK;如果 TCP代理中的终端反馈的最大的 TCP ACK 的序列号小于将要构造的 ACK序列号, 说明 TCP代理没有接收到过终端反馈 的 TCP ACK, 需要构造 ACK, 即执行 S405。
S405, 构造 ACK, 并发送给服务器。
由于 TCP代理没有接收到过终端反馈的 TCP ACK, 则可以由 TCP代理主 动构造 ACK发送给服务器。 服务器接收到 ACK后, 就可以滑动窗口发送新的 数据。
构造该 ACK的方法可以为: 若该数据包为 TCP包, 则数据包的信息还包 括 TCP包的 TCP序列号和包长等, 则若数据包为 TCP包, 构造 ACK的序列号 可以为 TCP包的 TCP序列号加上包长。 例如, 第一个数据包的序列号为 1 , 包 长为 1460,那么构造的 ACK的序列号为 1461 , 第二个数据包的序列号为 1461 , 包长为 1460, 构造的 ACK序列号为 2921 ... ...依此类推。 对于其他类型的数据 包可以根据具体情况采用其他方法来构造 ACK, 在此不——列举。 此外, 如果 TCP代理接收到终端反馈的 TCP ACK, 也可以将终端反馈的 TCP ACK序列号 和 TCP代理构造的 ACK序列号进行比较。 TCP代理中会记录有多个构造的 ACK, 可以将终端反馈的 TCP ACK序列号与最大的构造的 ACK序列号进行比 较, 如果终端反馈的 TCP ACK序列号小于或等于最大的构造的 ACK序列号, 说明 TCP代理已经给服务器发送过相应的 ACK了, 则 TCP代理不需要将终端 发送的 ACK发往服务器, 可以将其丟弃, 否则, 将其发往服务器, 并记录接收 到终端反馈的 TCP ACK序列号。
由此可见,通过本发明实施例提供的数据传输方法,通过 TCP代理构造 ACK 发往服务器, 可以一定程度上避免下行数据包的 ACK受阻于终端的 TCP层, 加快服务器滑动窗口, 为空口提供比较充足的数据, 避免空口没有数据可发送 的现象产生, 从而提高空口利用率、 提升数传性能, 并增强用户感受。
本发明一实施例提供了一种数据传输装置, 图 5 为本发明一实施例提供的 数据传输装置结构示意图, 如图 5所示, 该装置可以包括:
接收单元 501 , 用于接收发送端发送的数据包, 并记录接收到的数据包的信 息;
当接收到发送端发送的数据包后, 按照接收到的数据包的顺序依次记录其 序号, 序号可以采用递增方式, 如收到的第一个数据包可将其序号记为 1 , 收到 的第二个数据包则记为 2... ...依此类推。 为了避免序号位数过大, 可以加到一定 数值后再重新进行循环编号, 例如, 当序号达到 65535后, 再从 1重新进行编 号, 如此循环往复, 以满足大量数据包的要求。 如果收到的数据包为 TCP包, 还需要记录该 TCP的包长和序列号。
发送单元 502, 用于将接收到的数据包经由某协议层发送给接收端; 接收到的数据包可以通过某协议层发送给接收端, 某协议层可以为无线链 路控制 RLC层。 该协议层也可以对其接收到的数据包进行相关记录, 如按照接 收到的顺序, 记录数据包的序号。
查找单元 503 ,用于在某协议层接收到接收端对发送端发送的数据包确认信 息后, 根据生成的数据包映射关系, 通过接收单元 501查找对应的数据包的 信息;
此处, 某协议层和接收端之间存在确认机制, 接收端接收到发送端的数据 包后, 会给某协议层反馈确认信息。
数据包映射关系反映的是数据传输装置和某协议层之间数据包的对应关 系, 可以为一个映射表。 该数据包映射关系的生成过程可以为: 由于接收单元 501对接收到的数据包的信息进行了记录,而某协议层也会对收到的数据包的序 号进行记录, 这个序号和 TCP代理记录的数据包序号是——对应的。 也就是说 TCP代理收到第一个数据包记序号为 1 ,则某协议层收到的第一个数据包也记序 号为 1 ,依此类推,则某协议层和接收单元 501记录的数据包顺序是——对应的, 可以将这种——对应的关系称为数据包映射关系。
当某协议层收到接收端反馈的确认信息后, 就可以知道哪些数据包被接收 端正确接收了。 那么结合生成的数据包映射关系查找到对应的数据包的信息, 也就知道该数据传输装置处的哪些数据包被接收端正确接收了。
构造单元 504, 根据查找单元 503查找到的数据包的信息, 构造发送到发送 端的应答消息 ACK:。
当该数据传输装置还未收到接收端的对某一数据包的 ACK, 但是某协议层 已经收到了接收端对该数据包的确认信息时, 也就可以确认接收端已经正确接 根据查找单元 503查找到的数据包的信息构造 ACK, 该数据包的信息可以包括 序号, 对于 TCP数据包, 还可以包括 TCP包的 TCP序列号和包长等。 构造该 ACK的方法可以为: 根据由数据包映射关系查找到的数据包的信息构造 ACK。 若数据包为 TCP包,构造 ACK的序列号可以为 TCP包的 TCP序列号加上包长。 对于其他类型的数据包可以根据具体情况采用其他方法来构造 ACK, 在此不一 一列举。
构造单元 504将构造的 ACK发送给发送端, 还可以记录该构造的 ACK的 序列号。
需要说明的是, 该数据传输装置可以为在发送端和接收端的数据传输过程 中的中间一个节点上增加的 TCP功能增强实体, 如 TCP代理。
综上, 本发明实施例提供的数据传输装置, 通过主动构造 ACK发送至发送 端, 从而提高了数据传输速率。
进一步地, 在构造 ACK前, 该数据传输装置可以判断是否收到过接收端反 馈的 TCP ACK, 如果没有, 就构造 ACK发送给发送端; 此外, 收到接收端反 馈的 TCP ACK后, 也可以判断是否已经构造过 ACK发送至发送端, 如果没有, 才将其转发至发送端, 如果已经构造过, 则将接收端反馈的 TCP ACK丟弃。 本发明又一实施例提供了另一种数据传输装置, 图 6 为本发明另一实施例 提供的数据传输装置结构示意图, 如图 6所示, 该装置可以包括:
接收单元 601 , 用于接收发送端发送的数据包, 并记录接收到的数据包的信 息;
该接收单元 601 的功能和执行过程与上述实施例中的接收单元 501基本一 致, 此处不再赘述。
发送单元 602,用于将接收单元 601接收到的数据包经由某协议层发送给接 收端;
该发送单元 602的功能和执行过程与上述实施例中的发送单元 502基本一 致, 此处不再赘述。
生成单元 603 , 用于根据接收单元 601记录的数据包的信息, 生成数据包映 射关系;
需要说明的是, 该数据包映射关系可以存储在该数据传输装置, 也可以存 储在某协议层。 某协议层和接收端存在确认机制, 即接收端接收到发送端的数 据包后, 会给某协议层反馈确认信息。 该数据传输装置和某协议层之间共享该 数据包映射关系。 本实施例中, 以该数据传输装置生成数据包映射关系为例进 行说明。
某协议层也会记录接收到的数据包的序号, 也就是说接收单元 601 收到第 一个数据包记序号为 1 , 则某协议层收到的第一个数据包也记序号为 1 , 依此类 推, RLC层和 TCP代理的数据包顺序是——对应的, 可以将这种——对应的关 系称为数据包映射关系。
查找单元 604, 在某协议层接收到接收端对发送端发送的数据包确认信息 后, 根据生成单元 603生成的数据包映射关系, 通过接收单元 601查找对应的 数据包的信息;
此处的查找单元 604和上述实施例中的查找单元 503功能基本一致, 此处 不再赘述。
判断单元 605 , 用于根据查找单元 604查找的数据包的信息, 判断是否需要 构造 ACK;
对于接收端发送给该数据传输装置的 TCP ACK, 该数据传输装置的判断单 元 605也会记录该 ACK的序列号。
其中, 数据包的信息可以包括数据包的序号, 若为 TCP数据包, 则数据包 的信息还可以包括 TCP包的包长和序列号等, 根据查找到的数据包的信息, 可 以知道将要构造的 ACK的序列号, 例如对于 TCP数据包, 第一个数据包的序 列号为 1 , 包长为 1460, 那么将要构造的 ACK的序列号为 1461 , 第二个数据包 的序列号为 1461 , 将要构造的 ACK的序列号为 2921 ... ...依此类推。 对于其他 类型的数据包可以采用其他方式构造 ACK。
通过比较该判断单元 605中记录的接收端反馈的 TCP ACK的序列号和将要 构造的 ACK序列号的大小, 就可以判断是否需要构造 ACK。 判断单元 605中 可能会记录有至少一个终端反馈的 TCP ACK的序列号,将判断单元 605中记录 的最大的 TCP ACK的序列号与将要构造的 ACK序列号进行比较, 如果该判断 单元 605中记录的接收端反馈的最大的 TCP ACK的序列号大于或等于将要构造 的 ACK序列号, 说明该数据传输装置已经接收到过接收端反馈的 TCP ACK, 不需要构造 ACK;如果该判断单元 605中记录的接收端反馈的最大的 TCP ACK 的序列号小于将要构造的 ACK序列号,说明该数据传输装置没有接收到过接收 端反馈的 TCP ACK, 需要构造 ACK:。
构造单元 606, 当判断单元 605判断需要构造 ACK时, 用于构造 ACK, 发 送给发送端。
该数据传输装置没有接收到过接收端反馈的 TCP ACK, 则由该数据传输装 置的构造单元 606主动构造 ACK发送给发送端。 发送端接收到 ACK后, 就可 以滑动窗口发送新的数据。
构造的 ACK的序列号为 TCP包的包长加上序列号, 例如, 第一个数据包 的序列号为 1 , 包长为 1460, 那么构造的 ACK的序列号为 1461 , 第二个数据包 的序列号为 1461 , 包长为 1460, 构造的 ACK序列号为 2921……依此类推。 在 该数据传输装置可以记录构造的 ACK的序列号。
此外, 如果该数据传输装置接收到接收端反馈的 TCP ACK, 也可以判断构 至发送端, 如果已经构造过, 则将接收端反馈的 TCP ACK丟弃。 则该数据传输 装置还可以包括:
比较单元 607 , 用于将接收端反馈的 TCP ACK序列号和该数据传输装置中 记录的构造的 ACK序列号进行比较。
如果接收端反馈的 TCP ACK序列号小于或等于记录的最大的构造的 ACK 序列号, 说明该数据传输装置已经给发送端发送过确认信息了, 则该数据传输 装置不需要将接收端发送的 ACK发往发送端, 可以将其丟弃; 否则, 将其发往 发送端, 并记录接收到接收端反馈的 TCP ACK序列号。
本发明一实施例又提供了一种数据传输装置, 图 7 为本发明又一实施例提 供的数据传输装置结构示意图, 如图 7所示, 该装置可以包括:
第二接收单元 701 , 用于接收发送端发送的数据包;
第二发送单元 702, 用于将接收到的数据包经由某协议层发送给接收端; 接收到的数据包可以通过某协议层发送给接收端, 某协议层可以为无线链 路控制 RLC层。
获取单元 703 ,用于在某协议层接收到接收端对发送端发送的数据包确认信 息后, 根据数据包确认信息获取相应的数据包的信息;
此处, 某协议层和接收端之间存在确认机制, 接收端接收到发送端的数据 包后, 会给某协议层反馈确认信息。 通过这些确认信息可以获知哪些数据包被 接收端正确接收了, 从而也就知道该数据传输装置处的哪些数据包被接收端正 确接收了。 也就可以进一步获取这些数据包对应的数据包的信息。 相应的数据 包的信息可以为数据包的序号, 若数据包是 TCP包, 则数据包的信息还可以包 括对应的 TCP包的序列号和包长, 包长和 TCP序列号信息可以从 TCP的包头 的信息获取。
第二构造单元 704, 根据获取单元 703获取的数据包的信息, 构造发送到发 送端的确认信息。
当该数据传输装置还未收到接收端的对某一数据包的 ACK, 但是某协议层 已经收到了接收端对该数据包的确认信息时, 也就可以确认接收端已经正确接 收到了发送端发送的数据包, 则可以根据数据包确认信息获取到对应的数据包 的信息, 可以由第二构造单元 704根据数据包的信息构造 ACK发送至发送端。 构造该 ACK的方法可以为:根据获取单元 703获取到的数据包的信息构造 ACK:。 若数据包为 TCP数据包,则构造的 ACK的序列号为 TCP包的序列号加上包长, 对于其他类型的数据包可以采用其他的方式构造 ACK, 在此不——列举。
需要说明的是, 该数据传输装置可以为在发送端和接收端的数据传输过程 中的中间一个节点上增加的 TCP功能增强实体, 如 TCP代理。
综上, 本发明实施例提供的数据传输装置, 通过主动构造 ACK发送至发送 端, 从而提高了数据传输速率。
进一步地, 在构造 ACK前, 该数据传输装置可以判断是否收到过接收端反 馈的 TCP ACK, 如果没有, 就构造 ACK发送给发送端; 此外, 收到接收端反 馈的 TCP ACK后, 也可以判断是否已经构造过 ACK发送至发送端, 如果没有, 才将其转发至发送端, 如果已经构造过, 则将接收端反馈的 TCP ACK丟弃。
本发明一实施例还提供了另一种数据传输装置, 图 8 为本发明再一实施例 提供的数据传输装置结构示意图, 如图 8所示, 该装置可以包括:
第二接收单元 801 , 用于接收发送端发送的数据包;
该第二接收单元 801的功能和执行过程与上述实施例中的第二接收单元 701 基本一致, 此处不再赘述。
第二发送单元 802,用于将第二接收单元 801接收到的数据包经由某协议层 发送给接收端; 该第二发送单元 802的功能和执行过程与上述实施例中的第二发送单元 702 基本一致, 此处不再赘述。
获取单元 803具体用于根据数据包确认信息获取数据包序号,获取单元 803 还可以用于根据数据包序号获取 TCP包的包长和 TCP序列号。
某协议层和接收端存在确认机制, 即接收端接收到发送端的数据包后, 会 给某协议层反馈确认信息。 获取单元 803 根据数据包确认信息可以获得对应的 数据包的信息。
第二判断单元 805 ,用于根据获取单元 803获取的数据包的信息判断是否需 要构造 ACK;
其中, 数据包的信息可以包括数据包的序号, 因此可以根据数据包的确认 信息获得数据包的序号, 若数据包是 TCP包, 则还可以根据数据包的序号获得 TCP包的的包长和 TCP包的序列号等, 根据数据包的信息, 可以知道将要构造 的 ACK的序列号, 例如对于 TCP数据包, 第一个数据包的序列号为 1 , 包长为 1460, 那么将要构造的 ACK的序列号为 1461 , 第二个数据包的序列号为 1461 , 将要构造的 ACK序列号为 2921 ... ...依此类推。对于其他类型的数据包可以采用 其他方式构造 ACK:。
第二判断单元 805通过比较接收端反馈的 TCP ACK的序列号和将要构造的 ACK序列号的大小, 可以判断是否需要构造 ACK。 第二判断单元 805中可能会 记录有至少一个终端反馈的 TCP ACK的序列号,第二判断单元 805可以将接收 端反馈的最大的 TCP ACK的序列号与将要构造的 ACK序列号进行比较, 如果 接收端反馈的最大的 TCP ACK的序列号大于或等于将要构造的 ACK序列号, 说明该数据传输装置已经接收到过接收端反馈的 TCP ACK, 不需要构造 ACK; 如果接收端反馈的最大的 TCP ACK的序列号小于将要构造的 ACK序列号, 说 明该数据传输装置没有接收到过接收端反馈的 TCP ACK, 需要构造 ACK。
第二构造单元 804, 当第二判断单元 805判断需要构造 ACK时, 用于构造
ACK, 发送给发送端。 该数据传输装置没有接收到过接收端反馈的 TCP ACK, 则由该数据传输装 置的第二构造单元 804主动构造 ACK发送给发送端。 发送端接收到 ACK后, 就可以滑动窗口发送新的数据。
此外, 如果该数据传输装置接收到接收端反馈的 TCP ACK, 也可以判断第 转发至发送端, 如果已经构造过, 则将接收端反馈的 TCP ACK丟弃。 则该数据 传输装置还可以包括:
第二比较单元 806, 用于将接收端反馈的 TCP ACK序列号和该数据传输装 置中构造的 ACK序列号进行比较。
如果接收端反馈的 TCP ACK序列号小于或等于最大的构造的 ACK序列号, 说明该数据传输装置已经给发送端发送过确认信息了, 则该数据传输装置不需 要将接收端发送的 ACK发往发送端, 可以将其丟弃; 否则, 将其发往发送端, 并记录接收到接收端反馈的 TCP ACK序列号。
本发明再一实施例还提供了一种中间网元, 图 9为本发明一实施例提供的 中间网元结构示意图, 如图 9所示, 该中间网元可以包括: 某协议层 901和数 据传输装置 902, 某协议层 901可以是中间网元的任意一个协议层, 只要可以和 接收端存在确认机制即可, 也就是说接收端接收到数据包会给某协议层反馈确 认信息。 数据传输装置 902可以为图 5或者图 6所对应的实施例所描述的任意 一种装置。 某协议层 901和数据传输装置 902共享数据包映射关系, 对于数据 包映射关系的生成方式可以参考上述方法实施例中的相关描述。在某协议层 901 接收到接收端的确认信息后, 数据传输装置 902可以构造 ACK发送至发送端, 也可以在判断是否需要构造 ACK后, 再构造 ACK发送至发送端, 具体的判断 方法可以参考上述方法实施例中的相关描述。 对于接收端发送给数据传输装置 902的 ACK, 也需要判断是否需要转发给发送端, 其判断方法也可以参考上述 方法实施例中的相关描述。
需要说明的是, 上述的中间网元可以为无线网络控制器 (Radio Network Controller; 以下简称: RNC ) , 则数据传输装置 902可以为 TCP代理, 某协 议层 901可以为 RLC层。
此外, 上述实施例中, 某协议层 901和数据传输装置 902位于一个中间网 元中, 可以理解的是, 数据传输装置 902也可以不和某协议层 901位于一个中 间网元中, 只要数据传输装置 902能够根据和某协议层 901数据包映射关系构 造 ACK即可。
由此可见, 通过本发明实施例提供的数据传输装置构造 ACK发往发送端, 可以一定程度上避免下行数据包的 ACK受阻于接收端的 TCP层, 加快发送端 滑动窗口, 为空口提供比较充足的数据, 避免空口没有数据可发送的现象产生, 从而提高空口利用率、 提升数传性能, 并增强用户感受。
本发明实施例又提供了一种中间网元, 图 10为本发明另一实施例提供的中 间网元结构示意图, 如图 10所示, 该中间网元可以包括: 某协议层 1001和数 据传输装置 1002,数据传输装置 1002可以为图 7或者图 8所对应的实施例所描 述的任意一种装置。 某协议层 1001为中间网元的任意一个协议层, 和接收端存 在确认机制, 接收端接收到数据包, 给某协议层 1001反馈确认信息;
在某协议层 1001 接收到接收端反馈的数据包确认信息后, 数据传输装置 1002根据数据包确认信息获取数据包的信息, 并根据数据包的信息构造发送到 发送端的应答消息 ACK。 数据传输装置 1002可以构造 ACK发送至发送端, 也 可以在判断是否需要构造 ACK后, 再构造 ACK发送至发送端, 具体的判断方 法可以参考上述方法实施例中的相关描述。 对于接收端发送给数据传输装置 1002的 ACK, 也需要判断是否需要转发给发送端, 其判断方法也可以参考上述 方法实施例中的相关描述。
需要说明的是, 上述的中间网元可以为 RNC, 则数据传输装置 1002可以为 TCP代理, 某协议层 1001可以为 RLC层。
此外, 上述实施例中, 数据传输装置 1002和某协议层 1001位于一个中间 网元中, 可以理解的是, 数据传输装置 1002也可以不和某协议层 1001位于一 个中间网元中。
由此可见, 通过本发明实施例提供的数据传输装置构造 ACK发往发送端, 可以一定程度上避免下行数据包的 ACK受阻于接收端的 TCP层, 加快发送端 滑动窗口, 为空口提供比较充足的数据, 避免空口没有数据可发送的现象产生, 从而提高空口利用率、 提升数传性能, 并增强用户感受。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、 处理器 执行的软件模块, 或者二者的结合来实施。 软件模块可以置于随机存储器 ( RAM )、 内存、只读存储器( ROM )、 电可编程 ROM、电可擦除可编程 ROM , 寄存器、 硬盘、 可移动磁盘、 CD-ROM、 或技术领域内所公知的任意其它形式 的存储介质中。
以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通 技术人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。

Claims

权 利 要 求
1、 一种数据传输方法, 其特征在于, 所述方法包括:
接收发送端发送的数据包, 并记录接收到的数据包的信息;
将接收到的数据包经由某协议层发送给接收端;
在所述某协议层接收到所述接收端对所述发送端发送的数据包确认信息 后, 根据数据包映射关系查找记录的数据包的信息, 其中, 所述数据包映射关 系为所述记录的数据包与所述某协议层接收到的数据包的对应关系;
根据查找到的数据包的信息, 构造发送到发送端的应答消息 ACK。
2、 根据权利要求 1 所述的数据传输方法, 其特征在于, 所述记录接收到 的数据包的信息包括:
按照接收到的数据包的顺序, 记录所述数据包的序号。
3、 根据权利要求 2所述的数据传输方法, 其特征在于, 若所述数据包是 传输控制协议 TCP包, 所述记录接收到的数据包的信息还包括记录所述 TCP 包的包长和 TCP序列号。
4、 根据权利要求 2所述的数据传输方法, 所述根据数据包映射关系查找 记录的数据包的信息包括: 根据数据包映射关系, 查找对应数据包的包长和 TCP序列号。
5、 根据权利要求 4所述的数据传输方法, 其特征在于, 所述根据查找到 的数据包的信息, 构造发送到发送端的应答消息 ACK包括: 根据查找到的对 应数据包的包长和 TCP序列号,构造 ACK,所述 ACK的序列号为所述包长加 上所述 TCP序列号。
6、 根据权利要求 5所述的数据传输方法, 其特征在于, 所述方法还包括: 在所述构造发送到发送端的应答消息 ACK之前还包括: 比较所述包长加上所 述 TCP序列号得到的 ACK的序列号与接收端反馈的最大的 TCP ACK的序列 号的大小;
如果所述接收端反馈的最大的 TCP ACK的序列号小于所述得到的 ACK 的序列号, 则构造发送到发送端的 ACK, 否则, 不构造发送到发送端的 ACK。
7、根据权利要求 6所述的数据传输方法,其特征在于,所述方法还包括: 当接收到接收端反馈的 TCP ACK时, 比较所述接收端反馈的 TCP ACK的序 列号与最大的构造的 ACK的序列号的大小;
如果所述接收端反馈的 TCP ACK的序列号大于所述最大的构造的 ACK的 序列号, 则将接收到的接收端反馈的 TCP ACK发送至发送端, 否则, 则将接 收到的接收端反馈的 TCP ACK丟弃。
8、 一种数据传输方法, 其特征在于, 所述方法包括:
接收发送端发送的数据包;
将接收到的数据包经由某协议层发送给接收端;
在所述某协议层接收到所述接收端对所述发送端发送的数据包确认信息 后, 根据所述数据包确认信息获取相应的数据包的信息;
根据获取的相应的数据包的信息构造发送到发送端的应答消息 ACK。
9、 根据权利要求 8所述的数据传输方法, 其特征在于, 所述根据所述数 据包确认信 , 获取相应的数据包的信息包括:
根据所述数据包确认信息获取数据包序号。
10、 根据权利要求 9所述的数据传输方法, 其特征在于, 若所述数据包是 传输控制协议 TCP 包, 所述根据所述数据包确认信息获取相应的数据包的信 息还包括: 根据所述数据包序号获取 TCP包的包长和 TCP序列号。
11、 根据权利要求 10所述的数据传输方法, 其特征在于, 所述构造发送 到发送端的应答消息 ACK包括:
根据所述 TCP包的包长和 TCP序列号构造 ACK, 所述 ACK的序列号为 所述包长加上所述 TCP序列号。
12、 根据权利要求 11 所述的数据传输方法, 其特征在于, 所述构造发送 到发送端的应答消息 ACK之前还包括:
比较所述包长加上所述 TCP序列号得到的 ACK的序列号与接收端反馈的 最大的 TCP ACK的序列号的大小;
如果所述接收端反馈的最大的 TCP ACK的序列号小于所述得到的 ACK的 序列号, 则构造发送到发送端的 ACK, 否则, 不构造发送到发送端的 ACK。
13、 根据权利要求 12所述的数据传输方法, 其特征在于, 所述方法还包 括:
当接收到接收端反馈的 TCP ACK时, 比较所述接收端反馈的 TCP ACK 的序列号与最大的构造的 ACK的序列号的大小;
如果所述接收端反馈的 TCP ACK的序列号大于所述最大的构造的 ACK的 序列号, 则将接收到的接收端反馈的 TCP ACK发送至发送端, 否则, 则将接 收到的接收端反馈的 TCP ACK丟弃。
14、 一种数据传输装置, 其特征在于, 所述装置包括:
接收单元,用于接收发送端发送的数据包,并记录接收到的数据包的信息; 发送单元, 用于将所述接收单元接收到的数据包经由某协议层发送给接收 端;
查找单元, 用于在所述某协议层接收到所述接收端对所述发送端发送的数 据包确认信息后, 根据数据包映射关系查找记录的数据包的信息, 其中, 所述 数据包映射关系为所述记录的数据包与所述某协议层接收到的数据包的对应 关系;
构造单元, 根据所述查找单元查找到的数据包的信息, 构造发送到发送端 的应答消息 ACK:。
15、 根据权利要求 14所述的数据传输装置, 其特征在于, 所述接收单元 记录的数据包的信息包括: 反映接收的数据包顺序的序号, 若所述数据包为 TCP包, 所述数据包的信息还包括包长和 TCP序列号。
16、 根据权利要求 15所述的数据传输装置, 其特征在于, 所述装置还包 括:
生成单元, 用于根据所述接收单元记录的数据包的信息, 生成所述数据包 映射关系;
所述某协议层和所述数据传输装置共享所述数据包映射关系。
17、 根据权利要求 16所述的数据传输装置, 其特征在于, 所述装置还包 括: 判断单元, 用于根据所述查找单元查找的数据包的信息, 判断是否需要构 造 ACK;
所述判断是否需要构造 ACK包括:
比较所述包长加上所述对应数据包的 TCP序列号得到的 ACK的序列号与 接收端反馈的最大的 TCP ACK的序列号的大小;
如果所述接收端反馈的最大的 TCP ACK的序列号小于所述得到的 ACK 的序列号, 则构造发送到发送端的 ACK, 如果所述接收端反馈的 TCP ACK的 序列号大于或等于所述得到的 ACK的序列号,则不构造发送到发送端的 ACK。
18、 根据权利要求 17所述的数据传输装置, 其特征在于, 所述装置还包 括:
比较单元, 用于将接收端反馈的 TCP ACK序列号和所述构造单元构造的 ACK的序列号进行比较;
如果所述接收端反馈的 TCP ACK的序列号大于所述最大的构造的 ACK的 序列号, 则将接收到的接收端反馈的 TCP ACK发送至发送端, 如果所述接收 端反馈的 TCP ACK的序列号小于或等于所述最大的构造的 ACK的序列号,则 将接收到的接收端反馈的 TCP ACK丟弃。
19、 一种数据传输装置, 其特征在于, 所述装置包括:
第二接收单元, 用于接收发送端发送的数据包;
第二发送单元, 用于将接收到的数据包经由某协议层发送给接收端; 获取单元, 用于在所述某协议层接收到所述接收端对所述发送端发送的数 据包确认信息后, 根据所述数据包确认信息获取相应的数据包的信息;
第二构造单元, 用于根据所述获取单元获取的相应的的数据包的信息构造 发送到发送端的应答消息 ACK。
20、 根据权利要求 19所述的数据传输装置, 其特征在于, 所述获取单元 用于根据所述数据包确认信息获取数据包序号。
21、 根据权利要求 20所述的数据传输装置, 其特征在于, 所述获取单元 还用于根据所述数据包序号获取 TCP包的包长和 TCP序列号。
22、 根据权利要求 21 所述的数据传输装置, 其特征在于, 所述第二构造 单元根据所述 TCP包的包长和 TCP序列号构造 ACK, 所述 ACK的序列号为 所述包长加上所述 TCP序列号。
23、 根据权利要求 22所述的数据传输装置, 其特征在于, 所述装置还包 括:
第二判断单元, 用于判断是否需要构造 ACK;
所述判断是否需要构造 ACK包括:
比较所述包长加上所述 TCP序列号得到的 ACK的序列号与接收端反馈的 最大的 TCP ACK的序列号的大小;
如果所述接收端反馈的最大的 TCP ACK的序列号小于所述得到的 ACK的 序列号, 则构造发送到发送端的 ACK, 否则, 不构造发送到发送端的 ACK。
24、 根据权利要求 23所述的数据传输装置, 其特征在于, 所述装置还包 括:
第二比较单元, 用于将所述接收端反馈的 TCP ACK的序列号与最大的构 造的 ACK的序列号进行比较;
如果所述接收端反馈的 TCP ACK的序列号大于最大的构造的 ACK的序列 号, 则将接收到的接收端反馈的 TCP ACK发送至发送端, 否则, 则将接收到 的接收端反馈的 TCP ACK丟弃。
25、 一种中间网元, 用于发送端和接收端之间的数据传输, 其特征在于, 所述中间网元包括:某协议层和如权利要求 14-18任一项所述的数据传输装置; 所述某协议层为所述中间网元的任意一个协议层, 和接收端存在确认机 制, 接收端接收到数据包, 给某协议层反馈确认信息; 所述某协议层和所述数据传输装置之间共享数据包映射关系, 在所述某协 议层接收到所述接收端反馈的确认信息后, 所述数据传输装置根据所述数据包 映射关系, 构造 ACK发送至所述发送端。
26、 一种中间网元, 用于发送端和接收端之间的数据传输, 其特征在于, 所述中间网元包括: 某协议层和如权利要求 19 - 24任一项所述的数据传输装 置;
所述某协议层为所述中间网元的任意一个协议层, 和接收端存在确认机 制, 接收端接收到数据包, 给某协议层反馈确认信息;
在所述某协议层接收到所述接收端反馈的数据包确认信息后, 所述数据传 输装置根据所述数据包确认信息获取数据包的信息, 并根据所述数据包的信息 构造发送到发送端的应答消息 ACK。
PCT/CN2009/072814 2008-07-17 2009-07-17 数据传输方法和装置 WO2010006557A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA2738103A CA2738103C (en) 2008-07-17 2009-07-17 Data transmission method and apparatus
US13/125,234 US20120039249A1 (en) 2008-07-17 2009-07-17 Data transmission method and apparatus
EP09797404.2A EP2302827B1 (en) 2008-07-17 2009-07-17 A method and device for transmitting data
JP2011517740A JP5484460B2 (ja) 2008-07-17 2009-07-17 データ伝送方法および装置
RU2011134389/08A RU2474059C1 (ru) 2008-07-17 2009-07-17 Способ и устройство передачи данных
US13/279,040 US8630203B2 (en) 2008-07-17 2011-10-21 Data transmission method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810141665.9A CN101335603B (zh) 2008-07-17 2008-07-17 数据传输方法和装置
CN200810141665.9 2008-07-17

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/125,234 A-371-Of-International US20120039249A1 (en) 2008-07-17 2009-07-17 Data transmission method and apparatus
US13/279,040 Continuation US8630203B2 (en) 2008-07-17 2011-10-21 Data transmission method and apparatus

Publications (1)

Publication Number Publication Date
WO2010006557A1 true WO2010006557A1 (zh) 2010-01-21

Family

ID=40197944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/072814 WO2010006557A1 (zh) 2008-07-17 2009-07-17 数据传输方法和装置

Country Status (7)

Country Link
US (2) US20120039249A1 (zh)
EP (1) EP2302827B1 (zh)
JP (2) JP5484460B2 (zh)
CN (1) CN101335603B (zh)
CA (1) CA2738103C (zh)
RU (1) RU2474059C1 (zh)
WO (1) WO2010006557A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335603B (zh) 2008-07-17 2011-03-30 华为技术有限公司 数据传输方法和装置
CN102761905B (zh) * 2011-04-26 2016-03-30 华为技术有限公司 消息处理方法、设备及系统
CN102263687A (zh) * 2011-08-11 2011-11-30 武汉思为同飞网络技术有限公司 广域网vpn加速网关及其加速通信系统和方法
DE102012024706A1 (de) 2011-12-22 2013-06-27 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Müdigkeitserkennung
CN104641719B (zh) 2013-05-20 2018-07-03 华为技术有限公司 一种确认报文发送方法及其设备
CN103534973B (zh) * 2013-06-05 2016-09-28 华为技术有限公司 一种减少传输控制层确认报文的方法、装置和系统
US10143039B2 (en) * 2013-08-26 2018-11-27 Continental Teves Ag & Co. Ohg Processing-path-dependent filtering of data packets received in the car2X network
WO2016026128A1 (en) * 2014-08-21 2016-02-25 SZ DJI Technology Co., Ltd. Unmanned aerial vehicle communications methods and systems
CN105635058B (zh) * 2014-10-30 2019-05-17 中国科学院声学研究所 一种无协议栈模式下针对tcp的中间人处理方法
CN106209733B (zh) * 2015-04-30 2019-05-10 华为技术有限公司 一种数据处理方法及装置
CN106341348B (zh) * 2015-07-17 2019-06-21 普天信息技术有限公司 一种面向tcp业务的流量控制方法及接入网网元
CN116582894A (zh) * 2016-05-13 2023-08-11 瑞典爱立信有限公司 在无线通信系统中推荐数据速率的系统和方法
CN107465625A (zh) * 2016-06-06 2017-12-12 普天信息技术有限公司 传输控制协议的传输方法和装置
RU2728803C1 (ru) * 2017-01-24 2020-07-31 Хуавей Текнолоджиз Ко., Лтд. Устройство и способ передачи данных и оборудование, размещенное у клиента
CN107659558A (zh) * 2017-08-22 2018-02-02 上海华为技术有限公司 一种数据传输方法及基站
CN109525374B (zh) * 2017-09-20 2020-10-16 华为技术有限公司 数据传输的方法、无线接入点、用户设备及传输设备
CN110035477B (zh) * 2019-04-17 2021-03-16 彭泽春 基于物联网的智能管理人才培训方法及系统
EP3994862B1 (en) * 2019-07-03 2023-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Packet acknowledgement techniques for improved network traffic management
CN112243266B (zh) * 2019-07-18 2024-04-19 大唐联仪科技有限公司 一种数据组包方法及装置
CN113055193B (zh) * 2021-03-16 2023-02-17 盛立安元科技(杭州)股份有限公司 一种数据多播传输方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136598A1 (en) * 2004-12-17 2006-06-22 Britestream Networks, Inc. TCP/IP proxy utilizing transparent acknowledgements
CN101335603A (zh) * 2008-07-17 2008-12-31 华为技术有限公司 数据传输方法和装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999004343A1 (en) * 1997-07-18 1999-01-28 Interprophet Corporation Tcp/ip network accelerator system and method
CN1309252C (zh) * 1997-09-17 2007-04-04 松下电器产业株式会社 将视频数据记录在光盘的设备和方法
EP1045551A3 (en) 1999-04-15 2003-06-18 Lucent Technologies Inc. Method for transmission between data networks and wireless communication system
JP3727198B2 (ja) * 1999-07-21 2005-12-14 沖電気工業株式会社 ゲートウェイ装置
EP2290865B1 (en) * 2000-04-17 2018-10-17 Apple Inc. Cooperation of arq protocols at physical and link layers for wireless communications
FI20002320A (fi) * 2000-10-20 2002-04-21 Nokia Corp Eston hallinta langattomissa tietoliikenneverkoissa
JPWO2002056631A1 (ja) * 2001-01-05 2004-05-20 松下電器産業株式会社 移動体通信システム及び無線通信方法
US7292601B2 (en) * 2001-06-19 2007-11-06 At&T Corp. Error-rate management in wireless systems
US7023876B2 (en) * 2001-07-09 2006-04-04 Quantum Corporation Point-to-point protocol
JP2003046432A (ja) * 2001-08-02 2003-02-14 Matsushita Electric Ind Co Ltd 路側装置及び車載装置
JP4201550B2 (ja) * 2002-08-30 2008-12-24 富士通株式会社 負荷分散装置
CN1272724C (zh) * 2002-12-31 2006-08-30 联想(北京)有限公司 基于内核中套接字对接的第七层负载均衡的方法
US8644321B2 (en) 2003-09-16 2014-02-04 Qualcomm Incorporated Scheduling packet transmissions
KR100585230B1 (ko) * 2003-12-27 2006-05-30 한국전자통신연구원 유무선 통합 인터넷 프로토콜망에서 패킷 유실과 전송지연을 감소시키는 티씨피 프록시 설정 방법 및 시스템
US7916702B2 (en) 2004-01-15 2011-03-29 Panasonic Corporation Dynamic network management apparatus and dynamic network management method
JP4594110B2 (ja) * 2004-01-23 2010-12-08 株式会社エヌ・ティ・ティ・ドコモ 送信装置およびプログラム
JP4624062B2 (ja) * 2004-10-12 2011-02-02 Necインフロンティア株式会社 通信システム
US7859996B2 (en) * 2004-10-29 2010-12-28 Broadcom Corporation Intelligent congestion feedback apparatus and method
TWI391018B (zh) * 2004-11-05 2013-03-21 Ruckus Wireless Inc 藉由確認抑制之增強資訊量
KR100785293B1 (ko) * 2005-02-11 2007-12-12 삼성전자주식회사 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
JP2008536356A (ja) * 2005-03-10 2008-09-04 サムスン エレクトロニクス カンパニー リミテッド 非対称帯域幅リンクを有する加入者網における転送制御プロトコルの両方向同時転送のための転送制御方法及び装置
JP4627669B2 (ja) * 2005-03-16 2011-02-09 アラクサラネットワークス株式会社 パケット転送装置およびその転送制御方式
US7940713B2 (en) * 2005-12-08 2011-05-10 Electronics And Telecommunications Research Institute Apparatus and method for traffic performance improvement and traffic security in interactive satellite communication system
US8238242B2 (en) * 2006-02-27 2012-08-07 Telefonaktiebolaget Lm Ericsson (Publ) Flow control mechanism using local and global acknowledgements
US8365045B2 (en) * 2007-12-10 2013-01-29 NetCee Systems, Inc. Flow based data packet processing
WO2009096743A2 (en) * 2008-01-31 2009-08-06 Lg Electronics Inc. Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications
US8320250B2 (en) * 2008-02-12 2012-11-27 Nvidia Corporation Method and arrangement for TCP flow control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136598A1 (en) * 2004-12-17 2006-06-22 Britestream Networks, Inc. TCP/IP proxy utilizing transparent acknowledgements
CN101335603A (zh) * 2008-07-17 2008-12-31 华为技术有限公司 数据传输方法和装置

Also Published As

Publication number Publication date
US20120033579A1 (en) 2012-02-09
EP2302827A4 (en) 2011-12-28
US20120039249A1 (en) 2012-02-16
JP2011528198A (ja) 2011-11-10
EP2302827A1 (en) 2011-03-30
JP2014045499A (ja) 2014-03-13
CN101335603B (zh) 2011-03-30
CA2738103A1 (en) 2010-01-21
CN101335603A (zh) 2008-12-31
JP5484460B2 (ja) 2014-05-07
CA2738103C (en) 2014-04-01
US8630203B2 (en) 2014-01-14
JP5740449B2 (ja) 2015-06-24
RU2474059C1 (ru) 2013-01-27
EP2302827B1 (en) 2016-11-09

Similar Documents

Publication Publication Date Title
WO2010006557A1 (zh) 数据传输方法和装置
US8797907B2 (en) Increasing throughput by adaptively changing PDU size in wireless networks under low SNR conditions
KR100750170B1 (ko) 통신 네트워크에서 데이터 프레임을 효율적으로 전송하는방법 및 장치
WO2012129922A1 (zh) 一种报文处理方法、转发设备及系统
TWM315862U (en) Wireless transmit/receive unit
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
KR20150066335A (ko) 무선통신에서 패킷 손실을 줄이기 위한 방법 및 장치
TW202017409A (zh) 用於多連接的方法
WO2012083762A1 (zh) 数据传输方法、设备及系统
CN102130756A (zh) 数据传输方法和装置
US11502986B2 (en) Reducing transmission delay of transmitting data in Wi-Fi
Bhanage et al. Backlogged queue based MAC frame aggregation
CN108777607B (zh) 一种拦截确认包的方法以及接入网设备
Navarro‐Ortiz et al. Removing redundant TCP functionalities in wired‐cum‐wireless networks with IEEE 802.11 e HCCA support
WO2020154872A1 (zh) 一种传输控制协议加速方法和装置
Le et al. Removing tcp congestion control on the last hop in split tcp environments
Chandra et al. TCP performance for future IP-based wireless networks
Liu et al. Collaborative SCTP: a collaborative approach to improve the performance of SCTP over wired-cum-wireless networks
Jung et al. Augmented split-TCP over wireless LANs
Zhao et al. Designing and Testing of a Semi-Physical QUIC Video Streaming Simulation Platform
KR101214880B1 (ko) 무선랜 접속 성능 개선 방법 및 시스템
Ahmed et al. Enhancing TCP performance in mobile ad hoc networks
Kim Techniques for end-to-end TCP performance enhancement over wireless networks
Cheng et al. An adaptive bandwidth estimation mechanism for SCTP over wireless networks
CN116321094A (zh) 蓝牙传输方法及系统

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2011517740

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2009797404

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009797404

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2738103

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2011134389

Country of ref document: RU

WWE Wipo information: entry into national phase

Ref document number: 13125234

Country of ref document: US

ENPW Started to enter national phase and was withdrawn or failed for other reasons

Ref document number: PI0922881

Country of ref document: BR

Free format text: PEDIDO RETIRADO EM RELACAO AO BRASIL POR TER SIDO INTEMPESTIVO E POR TER TIDO A SOLICITACAO DE RESTABELECIMENTO NEGADA