Data transmission method and apparatus
Abstract
A data transmission method and a data transmission apparatus are disclosed. The data transmission method includes: receiving a data packet sent by a sender, and recording information about the data packet received; sending the data packet received to a receiver through a protocol layer; looking up recorded information about data packets according to a data packet mapping after the protocol layer receives confirmation information of a data packet sent by the receiver to the sender, wherein the data packet mapping is a relation between a recorded data packet and a data packet received by the protocol layer; and constructing an Acknowledgement, ACK, destined for the sender according to information about the data packet obtained by the steps of looking up recorded information about received data packets. Through the method provided herein, the apparatus constructs an ACK and sends it to the sender actively, thus improving the data transmission rate.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A data transmission method, comprising:
receiving a data packet sent by a sender, and recording information about the data packet received; sending the data packet received to a receiver through a protocol layer; looking up recorded information about the data packet according to a data packet mapping after the protocol layer receives, from the receiver, confirmation information of the data packet, wherein the data packet mapping is a relation between a recorded data packet and a data packet received by the protocol layer; and constructing an acknowledgement, ACK, destined for the sender according to information about the data packet obtained by the steps of looking up recorded information about received data packets.
2 . The data transmission method according to claim 1 , wherein the step of recording the information about received data packet comprises:
recording a sequence number, SN, of the data packet received according to the order of receiving the data packet.
3 . The data transmission method according to claim 2 , wherein:
if the data packet is a transmission control protocol, TCP, packet, the step of recording the information about received packet further comprises: recording a packet length and TCP SN of the TCP packet.
4 . The data transmission method according to claim 2 , wherein the step of looking up recorded information about the data packet according to the data packet mapping comprises:
looking up a packet length and TCP SN of a corresponding data packet according to the data packet mapping.
5 . The data transmission method according to claim 4 , wherein the step of constructing the ACK destined for the sender according to information about the data packet obtained by the steps of looking up comprises:
constructing an ACK according to the packet length and TCP SN of the corresponding data packet, wherein the SN of the ACK is the packet length plus the TCP SN.
6 . The data transmission method according to claim 5 , wherein before the constructing the ACK destined for the sender, the method further comprises:
comparing the SN of the ACK, which is a result of the packet length plus the TCP SN, with a maximum SN of a TCP ACK returned by the receiver; and if the maximum SN of the TCP ACK returned by the receiver is smaller than the SN of the ACK, constructing the ACK destined for the sender; if the maximum SN of the TCP ACK returned by the receiver is greater than or equal to the SN of the ACK, constructing no ACK destined for the sender.
7 . The data transmission method according to claim 6 , further comprising:
comparing the SN of the TCP ACK returned by the receiver with the maximum SN of the constructed ACK when receiving the TCP ACK returned by the receiver; and if the SN of the TCP ACK returned by the receiver is greater than the maximum SN of the constructed ACK, sending the TCP ACK received from the receiver to the sender; if the SN of the TCP ACK returned by the receiver is smaller than or equal to the maximum SN of the constructed ACK, discarding the TCP ACK received from the receiver.
8 . A data transmission method, comprising:
receiving a data packet sent by a sender; sending the data packet received to a receiver through a protocol layer; after the protocol layer receives confirmation information of the data packet sent by the receiver to the sender, obtaining information about a corresponding data packet according to the confirmation information; and constructing an acknowledgement, ACK, destined for the sender according to obtained information about the corresponding data packet.
9 . The data transmission method according to claim 8 , wherein the step of obtaining information about the corresponding data packet according to the confirmation information comprises:
obtaining a sequence number, SN, of the corresponding data packet according to the confirmation information.
10 . The data transmission method according to claim 9 , wherein:
if the data packet is a transmission control protocol, TCP, packet, the step of obtaining the information about the corresponding data packet according to the confirmation information further comprises: obtaining a packet length and TCP SN of the TCP packet according to the SN of the corresponding data packet.
11 . The data transmission method according to claim 10 , wherein the step of constructing the ACK destined for the sender comprises:
constructing an ACK according to the packet length and TCP SN of the TCP packet, wherein the SN of the ACK is the packet length plus the TCP SN.
12 . The data transmission method according to claim 11 , wherein before constructing the ACK destined for the sender, the method further comprises:
comparing the SN of the ACK, which is a result of the packet length plus the TCP SN, with a maximum SN of a TCP ACK returned by the receiver; and if the maximum SN of the TCP ACK returned by the receiver is smaller than the SN of the ACK, constructing the ACK destined for the sender; if the maximum SN of the TCP ACK returned by the receiver is greater than or equal to the SN of the ACK, constructing no ACK destined for the sender.
13 . The data transmission method according to claim 12 , further comprising:
comparing the SN of the TCP ACK returned by the receiver with the maximum SN of the constructed ACK when receiving the TCP ACK returned by the receiver; and if the SN of the TCP ACK returned by the receiver is greater than the maximum SN of the constructed ACK, sending the TCP ACK received from the receiver to the sender; if the SN of the TCP ACK returned by the receiver is smaller than or equal to the maximum SN of the constructed ACK, discarding the TCP ACK received from the receiver.
14 . A data transmission apparatus, comprising:
a receiving unit, configured to receive a data packet sent by a sender, and record information about the data packet received; a sending unit, configured to send the data packet received to a receiver through a protocol layer; a looking-up unit, configured to look up recorded information about the data packet according to a data packet mapping after the protocol layer receives, from the receiver, confirmation information of the data packet, wherein the data packet mapping is a relation between a recorded data packet and a data packet received by the protocol layer; and a constructing unit, configured to construct an Acknowledgement, ACK, destined for the sender according to the information about the data packet obtained by the looking-up unit.
15 . The data transmission apparatus according to claim 14 , wherein:
the information about the data packet recorded by the receiving unit comprises a Sequence Number, SN, indicating order of the data packet received; and, if the data packet is a transmission control protocol, TCP, packet, the information about the data packet further comprises packet length and TCP SN.
16 . The data transmission apparatus according to claim 15 , further comprising:
a generating unit, configured to generate the data packet mapping according to the information about the data packet recorded by the receiving unit; wherein the protocol layer and the data transmission apparatus share the data packet mapping.
17 . The data transmission apparatus according to claim 16 , further comprising:
a judging unit, configured to judge whether it is necessary to construct an ACK according to the information about the data packet obtained by the looking-up unit; wherein the judging unit judges whether it is necessary to construct the ACK by: comparing the SN of the ACK, which is a result of the packet length plus the TCP SN of the corresponding data packet, with a maximum SN of a TCP ACK returned by the receiver; and if the maximum SN of the TCP ACK returned by the receiver is smaller than the SN of the ACK, constructing the ACK destined for the sender; if the maximum SN of the TCP ACK returned by the receiver is greater than or equal to the SN of the ACK, constructing no ACK destined for the sender.
18 . The data transmission apparatus according to claim 17 , further comprising:
a comparing unit, configured to compare the SN of the TCP ACK returned by the receiver with the SN of the ACK constructed by the constructing unit; wherein if the SN of the TCP ACK returned by the receiver is greater than the maximum SN of the constructed ACK, sending the TCP ACK received from the receiver to the sender; if the SN of the TCP ACK returned by the receiver is smaller than or equal to the maximum SN of the constructed ACK, discarding the TCP ACK received from the receiver.
19 . A data transmission apparatus, comprising:
a second receiving unit, configured to receive a data packet sent by a sender; a second sending unit, configured to send the data packet received to a receiver through a protocol layer; an obtaining unit, configured to obtain information about a corresponding data packet according to confirmation information of the data packet after the protocol layer receives the confirmation information of the data packet sent by the receiver to the sender; and a second constructing unit, configured to construct an acknowledgement, ACK,destined for the sender according to the information about the data packet obtained by the obtaining unit.
20 . The data transmission apparatus according to claim 19 , wherein:
the obtaining unit is configured to obtain a sequence number, SN, of the data packet according to the confirmation information.
21 . The data transmission apparatus according to claim 20 , wherein:
the obtaining unit is further configured to obtain the packet length and TCP SN of a TCP packet according to the SN of the data packet.
22 . The data transmission apparatus according to claim 21 , wherein:
the second constructing unit constructs the ACK according to the packet length and TCP SN of the TCP packet, and the SN of the ACK is the packet length plus the TCP SN.
23 . The data transmission apparatus according to claim 22 , further comprising:
a second judging unit, configured to judge whether it is necessary to construct an ACK; wherein the second judging unit judges whether it is necessary to construct the ACK by: comparing the SN of the ACK, which is a result of the packet length plus the TCP SN, with a maximum SN of a TCP ACK returned by the receiver; and if the maximum SN of the TCP ACK returned by the receiver is smaller than the SN of the ACK, constructing the ACK destined for the sender; if the maximum SN of the TCP ACK returned by the receiver is greater than or equal to the SN of the ACK, constructing no ACK destined for the sender.
24 . The data transmission apparatus according to claim 23 , further comprising:
a second comparing unit, configured to compare the SN of the TCP ACK returned by the receiver with the maximum SN of the constructed ACK; if the SN of the TCP ACK returned by the receiver is greater than the maximum SN of the constructed ACK, sending the TCP ACK received from the receiver to the sender; if the SN of the TCP ACK returned by the receiver is smaller than or equal to the maximum SN of the constructed ACK, discarding the TCP ACK received from the receiver.
25 . An intermediate Network Element, configured to transmit data between a sender and a receiver, wherein:
the intermediate Network Element, NE,comprises a protocol layer and the data transmission apparatus according to any one of claims 14 - 18 ; the protocol layer is any protocol layer of the intermediate NE, and a confirmation mechanism exists between the protocol layer and the receiver; the receiver returns confirmation information to the protocol layer upon receiving a data packet; and a data packet mapping is shared between the protocol layer and the data transmission apparatus; after the protocol layer receives the confirmation information returned by the receiver, the data transmission apparatus constructs an acknowledgement, ACK, and sends the ACK to the sender according to the data packet mapping.
26 . An intermediate Network Element, configured to transmit data between a sender and a receiver, wherein:
the intermediate Network Element, NE,comprises a protocol layer and the data transmission apparatus according to any one of claims 19 - 24 ; the protocol layer is any protocol layer of the intermediate NE, and a confirmation mechanism exists between the protocol layer and the receiver; the receiver returns confirmation information to the protocol layer upon receiving a data packet; and after the protocol layer receives confirmation information returned by the receiver, the data transmission apparatus obtains information about the data packet according to the confirmation information, and constructs an acknowledgement, ACK, destined for the sender according to the information about the data packet.Join the waitlist — get patent alerts
Track US2012039249A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.