CN102299899B - Method for accelerating TCP (Transmission Control Protocol) under severe channel - Google Patents

Method for accelerating TCP (Transmission Control Protocol) under severe channel Download PDF

Info

Publication number
CN102299899B
CN102299899B CN201010208262.9A CN201010208262A CN102299899B CN 102299899 B CN102299899 B CN 102299899B CN 201010208262 A CN201010208262 A CN 201010208262A CN 102299899 B CN102299899 B CN 102299899B
Authority
CN
China
Prior art keywords
packet
data
tcp
accelerator
gateway
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201010208262.9A
Other languages
Chinese (zh)
Other versions
CN102299899A (en
Inventor
宋思明
刘鹏飞
刘洪全
谷源涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201010208262.9A priority Critical patent/CN102299899B/en
Publication of CN102299899A publication Critical patent/CN102299899A/en
Application granted granted Critical
Publication of CN102299899B publication Critical patent/CN102299899B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a method for accelerating a TCP (Transmission Control Protocol) under a severe channel. The method is applied to a severe wireless channel, has the advantages of solving the problem of low throughput of the conventional TCP and other TCP improved algorithms in the practical severe wireless application environment, effectively utilizing the channel and greatly increasing the utilization ratio of wireless frequency spectrums, and is suitable for rapid one-to-one, one-to-many even many-to-many communication environments in a plurality of severe application scenes such as armies, emergencies, emergency rescues, disaster reliefs and the like. The method for accelerating the TCP comprises the following steps of: 702, judging whether delay is larger than a first preset value; 703, if the delay judging result is positive, performing fountain code acceleration; 704, if the delay judging result is negative, judging whether the packet loss ratio is larger than a second preset value; 705, if the packet loss ratio judging result is positive, adopting selective retransmission; and 706, if the packet loss ratio judging result is negative, adopting the conventional TCP scheme.

Description

TCP accelerated method under a kind of noisy channels
Technical field
The present invention is a kind of TCP (Transmission Control Protocol, transmission control protocol) method of accelerating, belong to the connection segment algorithm (SPLIT CONNECTIONAPPROACHES) in TCP accelerating algorithm, also be that a kind of TCP accelerates agency (PEP, Performance EnhancmentProxy).
Background technology
Fountain codes mainly comprises two kinds of LT code and Raptor codes, and LT code is the base form of fountain codes, and Raptor code is fountain codes improved form.The code length of LT code is arbitrarily, can be from 1-bit binary character until any n-bit.LT code is the code without code check, that is to say, the coded identification obtaining from data can be unlimited many.And coded identification can arbitrarily produce, can produce as required any number of.Decoder can be by recovering initial data than the more coded data of data length before coding simultaneously.Therefore, no matter network has how many packet losses, packet loss how, and encoder can produce abundant coding groups, until decoder receives abundant and successfully decoding.Because decoder can only be used than the coded data of the more point of initial data and recovers initial data, LT code for packet loss channel can be described as approach desirable.So in a word LT code be with respect to any packet loss channel, all approach desirable and with data volume grow also very efficient a kind of coded system.
Provide the encoding and decoding that a simple example illustrates LT code below.
Suppose that whole data have 3-bit, each bit is an original packet, and as shown in Figure 1A, encoder will take out N original packet (N is called " weight ") at random, and it is done to xor operation obtains coding groups.Giving an example as shown in Figure 1B of a kind of coding.
Line in Figure 1B represents which original packet XOR is coding groups be by.The situation that decoder is seen as shown in Figure 1 C, when decode procedure starts, is first found the coding groups of only having a connecting line (only being got by a coding groups XOR).If do not have such grouping to arrive, decoding suspends and waits for the arrival of this grouping.In our example, the such grouping just of first coding groups.By this packet decoder, obtaining first original packet is 1.Decoder can be searched all cancellations of line that have the coding groups of line with first original packet by all, i.e. first original packet of XOR afterwards.The first step has been decoded rear situation as Fig. 1 D like this.
In the stage shown in Fig. 1 D, the above-mentioned steps that will circulate is until decoded.In this example, the 4th coding groups only has a line, therefore can recover the 3rd original packet, is 1, and can recover second original packet according to second coding groups is afterwards 0.
Conventional TCP mainly contains two problems in wireless network:
The first, in including the heterogeneous environment of spider lines and wireless network, lack effective error detection mechanism.Conventional TCP proposes for wire transmission medium, all ascribes packet loss to network congestion; Under wireless network environment, exist many and congested irrelevant and can cause the reason of packet loss.Bit-errors as sudden in wireless channel, mobile device are in handoff procedure, attenuation channel (fading channel) etc.
The second, conventional TCP lacks effective fault recovering mechanism in Wi-Fi.Conventional TCP triggers congestion control processing procedure after detecting packet loss, first retransmit the bag of not confirmed, thereby then reduce congestion window and reduce transmission rate, and then activation congestion control mechanism, comprise timeout clock exponential backspace, reduce ssthresh, finally enter congestion avoidance phase to guarantee congested releasing.And wireless network BER is high, use this wrong recovery can make protocol capabilities decline, the decline of throughput and the increase of delay.
Summary of the invention
According to an aspect of the present invention, provide a kind of transmission control protocol (TCP) accelerated method, it is characterized in that comprising:
Judgement postpones whether to be greater than first predetermined value;
When the result of described delay judgement is "Yes", carry out fountain codes acceleration;
When the result of described delay judgement is "No", judge whether packet loss is greater than second predetermined value;
When the result of described packet loss judgement is "Yes", adopt selective retransmission;
When the result of described packet loss judgement is "No", adopt traditional TCP scheme.
According to another aspect of the present invention, provide a kind of transmission control protocol (TCP) accelerator, it is characterized in that comprising:
Data pre-head is got part, for the treatment of initial data frame in network, analyzes its protocol type;
Data reading section, for analyzing the content of tcp data bag, judges whether to accelerate service by viewing content;
Accelerator buffer memory part, sorts to it for the order according to tcp data;
Speeding scheme decision part, for selecting suitable speeding scheme;
General T CP processing section, works for operative norm TCP;
Retransmit and accelerate processing selecting part, for carrying out selective retransmission, accelerate;
Fountain codes accelerates processing section, for carrying out fountain codes, accelerates.
Accompanying drawing explanation
Fig. 1 has shown a simple example, is used for illustrating the encoding and decoding of LT code.
Fig. 2 has shown the network topology of the example of a typical multiple access network.
Fig. 3 is for illustrating whether enable an embodiment who accelerate to process and select the selection which kind of accelerated mode processes.
Fig. 4 has provided embodiment of flow process that detailed execution selective retransmission accelerates.
Fig. 5 has shown in Fig. 4, Fig. 6 that server is for a kind of mode embodiment that carries out of tcp data bag.
Fig. 6 has provided an embodiment of the flow process of detailed execution fountain codes acceleration.
Fig. 7 has shown that the fountain codes in the scheme of Fig. 3 accelerates a kind of mode embodiment that carries out processing.
Fig. 8 has provided a kind of mode embodiment that carries out of accelerator module structure chart
Embodiment
The present invention adopts and accelerates in two ways to process according to the concrete situation of network, selective retransmission mode (SACK) and fountain codes accelerated mode.
The mode of selective retransmission (SACK) is carried out the acceleration of TCP, owing to the data of losing in one group of packet are confirmed at every turn, avoids unnecessary re-transmission, and then reduces time delay, improves network throughput.On the other hand, NACK method can allow channel keep continuous transmission, and does not need to stop waiting for the confirmation of next packet, yet in TCP, must confirm correctly to send after one group of data at every turn, just can send next group, therefore not high for the utilance of channel.
But the problem of selecting repeating method to exist is, when postponing to increase, due to the time increase of feedback acknowledgment, thereby cause overtime and invalid sending times to increase, so the utilance of channel to reduce along with the increase postponing.
Because fountain codes is to approach desirablely to packet loss channel, and do not need to guarantee the reliability of transmission, insensitive to packet loss.Therefore the present invention adopts the flow transmission technology of fountain codes encoding and decoding between accelerator, utilize fountain codes without code check characteristic, send continuously coded data packet, in the situation that taking channel, can also reduce to the full extent the use of feedback channel.Compare with conventional TCP with selective retransmission, when packet loss and delay are larger, all there is greater advantage.
Certainly, due to the introducing of fountain codes, for encoding and decoding speed, cannot compare with the wireless network of existing 100Mbps.Through actual Test code code check, generally can reach 10Mpbs, decoding code check is in 5Mbps left and right.Therefore, the present invention proposes a kind of adaptive speeding scheme.When packet loss and delay are all less, the mentioned equipment of the present invention can adopt standard TCP to communicate; And when packet loss is compared with high and postpone still less time, equipment can adopt selective retransmission scheme faster; When packet loss with postpone all large time, to automatically switch to fountain codes speeding scheme, guarantee to make full use of channel resource.Fig. 3, Fig. 7 have provided the principle of this switching.
The present invention can significantly improve the throughput of Transmission Control Protocol under noisy channels, even makes it approach ideal situation.
Network topology is the example of a typical multiple access network as shown in Figure 2.In figure, 201,202,203 is three exemplary local area network (LAN)s, a, b, c are respectively the gateway server of these three local area network (LAN)s, application program of the present invention is just installed on these gateway servers, the network link that in figure, " network " 204 represents between local area network (LAN) 201,202,203.A1, a2, a3, c1, c2 etc. represent the user of each local area network (LAN).
In Fig. 2, TCP accelerator corresponding to the present invention is gateway server a, the b in network, a module in c.The mode of client and client communication is: client sends to gateway by data message in subnet, by gateway unification by data retransmission to other gateways in network.When data message arrives after the gateway of the corresponding network segment, this gateway sends the data to object client, has finally realized data-message transmission end to end.
The present invention has realized the acceleration agency to the Transmission Control Protocol under adverse circumstances.As shown in Figure 7, accelerated method according to an embodiment of the invention comprises:
Receive after TCP message, the client in subnet is initiatively replied to this packet according to standard Transmission Control Protocol and receive.And open new TCP and connect accelerator and be included in the gateway of local area network (LAN), and there is certain filter analysis function, only tcp data message is accelerated to processing; For the packet of other types, accelerator is only made forward process.Packet sends to next gateway by transmitting terminal gateway according to conventional routing mode, until after being received by the gateway of destination node place subnet, this gateway is processed packet, then it is sent to destination node according to standard Transmission Control Protocol.Fig. 7 has shown the workflow of accelerator according to an embodiment of the invention.
TCP accelerator according to an embodiment of the invention, as shown in Figure 9, its groundwork flow process is as follows:
Acceleration proxy module on 901. gateways regularly sends network detection bag, obtains the estimated information of network state (packet loss, time delay).
902. receive after a packet when accelerating proxy module, and first judge that this packet is not tcp data bag, "Yes" enters 904; "No" enters 903.
903. determine whether to enable acceleration according to the method for Fig. 3 and Fig. 7 processes and selects which kind of accelerated mode to process.
In Fig. 3, X-axis represents the increase of communication link time delay, and Y-axis represents the increase of communication link packet loss, and in figure, different pattern table is shown in certain time delay, packet loss situation to adopt which kind of TCP speeding scheme.As shown in Figure 3, according to reality test experience, as exemplary embodiment, in the following manner a decision-making:
-when packet loss is less than 1%, when postponing to be less than 10ms, adopt standard TCP mode, do not adopt any speeding scheme, enter 904;
-when packet loss is greater than 1%, be less than 100%, and when postponing to be less than 10ms, adopt selective retransmission scheme, enter 905;
-when postponing to be greater than 10ms, adopt fountain codes speeding scheme, enter 906.
904. check the destination address of packet, according to routing table, directly carry out forward process.
905. accelerate to process according to selecting type re-transmission mode, enter subsequently 907.
906. process according to fountain codes accelerated mode, enter subsequently 907.
907. processing finish.
Fig. 4 has provided the flow process that the detailed execution selective retransmission from transmitting terminal to receiving terminal accelerates.
As shown in Figure 4, suppose that customer end A sends one group of TCP message to client D, B is the gateway accelerator of A, and C is the gateway accelerator of D.
401. send to data after gateway accelerator B as A, and gateway accelerator B replys A according to Fig. 5 mode puppet, to A, confirms that this data message has sent successfully;
402. gateway accelerator B rearrange this packet deposit in the buffer memory of corresponding TCP connection;
403. gateway accelerator B forward the data to gateway accelerator C;
404. gateway accelerator C create and receive buffering, and check whether there is packet loss every the scheduled time (as 0.5 second); If find that there is packet loss, the numbering of all packet losses is joined in TOS_ACK message bag, and send to B;
If 405. gateway accelerator B receive TOS_ACK message bag, all packet losses that relate to are resend to gateway accelerator C again;
406. at the reception buffer memory place of gateway accelerator C, if receive continuous data block, this continuous data is sent to destination node D, and to the last TCP stream is sent, and sends FIN.
Figure 10 provided be operated on gateway (B and/or C) according to the specific works flow process of TCP accelerator of the present invention.
1001. pairs of tcp data bags that extract from network interface card carry out buffer memory.
1002. judge whether the type of packet is TOS_ACK packet, if "Yes" enters 1003, "No" enters 1004.
1003. search tcp data buffer memory, retransmit the tcp data bag of corresponding sequence number, and the data before this sequence number in tcp data buffer memory are deleted.
The destination address of the above-mentioned tcp data bag of 1004. judgement, if the internal lan address of described gateway (B or C) enters 1007, if its external network enters 1005.
1005. transmitting terminals to above-mentioned tcp data bag send puppet and reply tcp data bag.
1006. carry out forward process according to the destination address of above-mentioned tcp data bag.
1007. carry out order caching process according to different TCP connections and corresponding tcp data packet number.
1008. according to the sequence number update obliterated data packet number buffer memory of the tcp data bag receiving.
1009. regularly search the data buffer storage that each TCP connects, and enter subsequently 1010.
1010. judge whether the buffer memory sequence number that certain TCP connects exists continuous buffer memory sequence number, if "Yes" enters 1011.
The tcp data bag of 1011. continuous sequences number sends to corresponding receiving terminal according to destination address.
1012. regularly check obliterated data packet number buffer memory, and corresponding lost package sequence number is encapsulated in TOS_ACK packet, send to the gateway server of transmitting terminal.
As shown in Figure 6, suppose that customer end A sends one group of TCP message to client D, B is the gateway accelerator of A, and C is the gateway accelerator of D.Fig. 6 has provided an embodiment of the flow process of the detailed execution fountain codes acceleration from transmitting terminal to receiving terminal, and it comprises:
-when A sends to data after gateway accelerator B, gateway accelerator B replys A according to Fig. 5 mode puppet, to A, confirms that this data message has sent successfully;
-B rearranges this packet deposit in the buffer memory of corresponding TCP connection;
-in described buffer memory, for connecting stream, each TCP distributes a corresponding encoder, data are encoded, and after coding, coded message is preserved, and send the data to gateway accelerator C;
-gateway accelerator C receives after data, and the coded message of carrying according to data is sent to corresponding decoder by data and decodes; If successfully decoded sends, enter the 5th step, unsuccessful continuation waited for; If the overtime unsuccessful situation of decoding that enters of stand-by period;
-due to successfully decoded, packet after decoding is put into buffer memory to be sent, and send ACK_DONE packet to gateway accelerator B;
-Ruo decoding is unsuccessful, and wait timeout successfully decoded not yet, sends TOS_ACK packets of information to gateway accelerator B, to show that a certain group of packet do not have successfully decoded;
-Ruo gateway accelerator B receives ACK_DONE, and this decoded success of corresponding packet of dividing into groups is described, the coded message of preserving in delete step 3;
-Ruo gateway accelerator B receives TOS_ACK, and this not yet successfully decoded of corresponding packet of dividing into groups is described, reissues coded data to C;
-Ruo buffer memory to be sent is continuous packet, sends the data to destination node D, until be sent.
Figure 11 has provided the accelerator on gateway server and has carried out the flow process that fountain codes accelerates.
1101. pairs of tcp data bags that extract from network interface card carry out buffer memory.
1102. judge whether packet is TOS_ACK packet, if "Yes" enters 1103, "No" enters 1104.
1103. search corresponding coded message according to the information in TOS_ACK packet from encoder information, as degree distributes, initial end sequence number etc., search corresponding tcp data bag and re-start and encode and send from the tcp data of buffer memory.
1104. judge whether it is TOS_DONE packet, if "Yes" enters 1105, "No" enters 1106.
1105. delete the encoder information of passing back in described TOS_DONE packet, delete corresponding packet in TCP buffer queue.
The destination address of the described tcp data bag of 1106. judgement, if the internal lan address of this gateway enters 1110, if its external network enters 1107.
1107. transmitting terminals to this tcp data bag send puppet and reply tcp data bag.
1108. enter fountain codes coding module encodes.
1109. when encoding successfully, hangs up encoder, preserves encoder information, and send completed coded data packet.
1110. according to the corresponding decoder of different coding packet initialization, and preserves.
1111. put into corresponding decoder by the packet of reception decodes.
Whether failure of 1112. judgement decodings, if overstepping the time limit is not received follow-up coded data packet, judges that this decoder decodes unsuccessfully, subsequently, enters 1114; Otherwise judgement successfully decoded, subsequently, enters 1113.
1113. send TOS_DONE packet, delete corresponding DECODER information, and decoded data packets is cached.
1114. in decoding failed in the situation that, sends TOS_ACK packet so that transmitting terminal accelerator recompile and retransmit this series coded data packet.
1115. regularly check the successfully data pack buffer of decoding.
1116. judge whether successful decoded data packets buffer queue that certain TCP connects exists the packet of continuous sequence number, as "Yes" enters 1117.
1117. send according to the destination address of continuous sequence tcp data bag.
Fig. 7 has provided according to fountain codes accelerated processing method of the present invention embodiment.As shown in Figure 7, at gateway, need to accelerate new packet, gateway need to be selected suitable speeding scheme.According to the method for this embodiment, comprise:
First 701. gateways estimate current channel parameter, comprise packet loss and delay; Method of estimation can have multiple.
Scheme is an active monitoring, by transmission, is detected and is wrapped and pass through to receive feedback packet and estimate channel; Circular is packet loss p=N receive packet/ N send packet, postpone Delay=T receive packet-T send packet; The quantity N of packet wherein receive packet, the data packet number having sent is N send packet, the time that sends packet is T send packet, the time that receives feedback data packet is T receive packet;
In another scheme, gateway is estimated the other side's gateway success acceptance rate and deferred message by receiving TOS_ACK packets of information.In TOS_ACK packets of information, comprised the quantity N that the other side's gateway successfully receives packet receive packet, the known data packet number having sent is N again send packet, so packet loss is p=N receive packet/ N send packet; The time that sends tcp data bag is T send packet, the time that receives TOS_ACK bag is T receive packettherefore, postpone Delay=T receive packet-T send packet;
TOS_ACK packets of information is described as described in the flow process of describing as Fig. 4, Fig. 5;
702. analyze to postpone whether to be greater than a predetermined value (for example, 10 milliseconds, also can be set as other values according to network condition etc.), if be greater than, enter the fountain codes speeding scheme of step 703, and "No" enters the judgement packet loss of step 704;
703. accelerate because channel situation is applicable to fountain codes, therefore adopt fountain codes scheme to accelerate;
Whether 704. analyze packet loss is greater than a predetermined value (for example, 1%, also can be set as other values according to network condition etc.), if be greater than, enters the selection retransmission scheme of step 705, and "No" enters the conventional TCP scheme of step 706;
705. because channel situation is applicable to selecting to retransmit accelerating, and therefore adopts and select retransmission scheme to accelerate;
706. because channel situation is applicable to conventional TCP, therefore do not do any speeding scheme, directly carries out TCP forwarding.
Fig. 8 has provided the embodiment of modular structure according to accelerator of the present invention, comprise it being data pre-head delivery piece 801, for the treatment of initial data frame in network, analyze its protocol type, for the packet that does not belong to Transmission Control Protocol, directly give without exception normal gateway and do forward process; For the packet of Transmission Control Protocol, giving data read module processes; This module is only analyzed type of data packet, and not deal with data content, so operating rate is very fast, avoids becoming network bottleneck;
Common gateway module 802, for playing conventional gateway function;
Data read module 803, for analyzing the content of all tcp data bags, judges whether to accelerate service by viewing content; Some tcp data bags may be from the network of not supporting to accelerate function, if run into such tcp data bag, by packet, directly give normal gateway and do forward process; If need the packet of acceleration, give accelerator buffer memory;
Accelerator cache module module 804, sorts to it for the order according to tcp data.Due in severe network environment, therefore the arrival of bag may be out of order, therefore need tcp data bag to sort here;
Speeding scheme decision-making device module 805, selects suitable speeding scheme for the mode of the embodiment according to such as Fig. 7;
General T CP processing module 806, works for operative norm TCP;
Retransmit and accelerate processing selecting module 807, for the flow process according to as shown in the embodiment of Fig. 4, carry out work;
Fountain codes accelerates processing module 808, for carrying out workflow as shown in the embodiment of Figure 6.
Purposes of the present invention comprises:
-in Internet or wireless self-organization network, serve as gateway function, for subnet interior nodes provides the service of acceleration, example is as shown in Figure 1;
-in the bluetooth of personal hand-held terminal, WLAN point-to-point communication, by mounting software, provide the mentioned network acceleration of the present invention to serve;
-causing in the unsettled situation of channel due to severe applied environment and possible interference, can use the mentioned network acceleration function of the present invention to guarantee for military communication provides transmitting.
Beneficial effect of the present invention comprises:
-because TCP is designed in reliable network environment, a little all can cause TCP transmission performance sharply to worsen therefore to work as packet loss or delay increase.Therefore at most wireless network environment, in the network of especially comparatively complicated many wireless network environments or serious interference, TCP cannot make full use of channel resource even cannot guarantee reliably completing of transmission.Adopt the present invention, can adaptively take on the function of network acceleration, the TCP transmission that speed is higher is provided when network environment is good, when network environment worsens, can independently be switched to aero mode, play the effect that makes full use of channel.Test shows, the present invention immediately more than 90%, postpones also can normally work in the environment about 2 seconds, and the transmission performance that approaches channel capacity is provided at packet loss.
-on the other hand, the present invention is only to forwarded node---and gateway has been done the improvement of increasing property, therefore for client, is also that user is transparent.User, on the one hand without updating apparatus software and hardware, only need to adopt the procotol of standard to get final product access network; User changes without awareness network complex environment on the other hand, and for network parameter, worsen is only floating of transmission rate for user, therefore on to greatest extent, has ensured user's experience.
The present invention is applied under severe wireless channel, can solve conventional TCP and other TCP and improve algorithm low problem of throughput under the severe wireless environment applied environment of reality, has effectively utilized channel, has greatly improved the utilance of wireless frequency spectrum.Be applicable under the multiple severe application scenarioss such as army, emergent, rescue and relief work fast one to one, the communication environment of one-to-many and even multi-to-multi.
Should be understood that, the description of in above narration and explanation, the present invention being carried out just illustrates but not is determinate, and do not departing under the prerequisite of the present invention limiting as appended claims, can above-described embodiment carried out various changes, distortion and/or be revised.

Claims (7)

1. transmission control protocol (TCP) accelerated method, is characterized in that comprising:
Judgement postpones whether to be greater than first predetermined value (step 702);
When the result of described delay judgement is "Yes", carry out fountain codes acceleration (step 703);
When the result of described delay judgement is "No", judge whether packet loss is greater than second predetermined value (step 704);
When the result of described packet loss judgement is "Yes", adopt selective retransmission (step 705);
When the result of described packet loss judgement is "No", adopt traditional TCP scheme (step 706),
Wherein said fountain codes accelerates (step 703) and further comprises:
The tcp data bag extracting from network interface card is carried out to buffer memory (step 1101);
Judge whether packet is TOS_ACK packet (step 1102);
When the result of above-mentioned TOS_ACK packet determining step is "Yes", according to the information in TOS_ACK packet, from encoder information, search corresponding coded message, from the tcp data of buffer memory, search corresponding tcp data bag and re-start and encode and send (step 1103);
When the result of above-mentioned TOS_ACK packet determining step is "No", judge whether it is TOS_DONE packet (step 1104);
When the result of above-mentioned TOS_DONE packet determining step is "Yes", deletes the encoder information of passing back in described TOS_DONE packet, and delete corresponding packet (step 1105) in TCP buffer queue;
When the result of above-mentioned TOS_DONE packet determining step is "No", judge the destination address (step 1106) of described tcp data bag;
If above-mentioned purpose address is judged as the outside network address of gateway, transmitting terminal transmission puppet to this tcp data bag is replied tcp data bag (step 1107), and enter fountain codes coding module and encode (step 1108), and when encoding successfully, hang up encoder, preserve encoder information and send completed coded data packet (step 1109);
If above-mentioned purpose address is judged as the internal lan address of gateway, according to the corresponding decoder of different coding packet initialization and preserve DECODER information (step 1110), and the packet of reception is put into corresponding decoder decode (step 1111), and whether failure (step 1112) of judgement decoding
When successfully decoded, send TOS_DONE packet, delete corresponding DECODER information and decoded data packets is cached to (step 1113);
In decoding failed in the situation that, send TOS_ACK packet so that transmitting terminal accelerator recompile and retransmit this series coded data packet (step 1114);
Regularly check the successfully data pack buffer (step 1115) of decoding;
Judge whether successful decoded data packets buffer queue that certain TCP connects exists the packet (step 1116) of continuous sequence number;
In the situation that there is the packet of continuous sequence number, according to the destination address of continuous sequence tcp data bag, send (step 1117).
2. method according to claim 1, is characterized in that described selective retransmission (step 705) further comprises:
When first client (A) sends to data after a first gateway accelerator (B), the first gateway accelerator (B) is faked and is replied described the first client (A), confirms that the message of these data has sent successfully (step 401) to the first client (A);
Described the first gateway accelerator (B) rearranges described packet deposit in the buffer memory that corresponding TCP connects (step 402);
Described the first gateway accelerator (B) forwards said data to a second gateway accelerator (C) (step 403);
Described the second gateway accelerator (C) creates and receives buffering, and checks whether there is packet loss every the scheduled time; If find that there is packet loss, the numbering of all packet losses is joined in TOS_ACK message bag, and send to described the first gateway accelerator (B) (step 404);
If described the second gateway accelerator (B) is received described TOS_ACK message bag, all packet losses that relate to are resend again to described the second gateway accelerator (C) (step 405);
If continuous data block is received at the reception buffer memory place at described the second gateway accelerator (C), this continuous data is sent to a destination node (D), to the last TCP stream is sent (step 406).
3. transmission control protocol (TCP) accelerated method, is characterized in that comprising:
Judgement postpones whether to be greater than first predetermined value (step 702);
When the result of described delay judgement is "Yes", carry out fountain codes acceleration (step 703);
When the result of described delay judgement is "No", judge whether packet loss is greater than second predetermined value (step 704);
When the result of described packet loss judgement is "Yes", adopt selective retransmission (step 705);
When the result of described packet loss judgement is "No", adopt traditional TCP scheme (step 706),
Wherein said fountain codes accelerates (step 703) and further comprises:
When first client (A) sends to data after a first gateway accelerator (B), the first gateway accelerator (B) confirms that to A this data message has sent successfully;
Described the first gateway accelerator (B) rearranges described packet deposit in the buffer memory of corresponding TCP connection;
In described buffer memory, for connecting stream, each TCP distributes a corresponding encoder, data are encoded, after coding, coded message is preserved, and send the data to a second gateway accelerator (C);
Described the second gateway accelerator (C) receives after data, and the coded message of carrying according to data is sent to corresponding decoder by data and decodes;
The in the situation that of successfully decoded, packet after decoding is put into buffer memory to be sent, and send ACK_DONE packet to described the first gateway accelerator (B);
At the unsuccessful and wait timeout of decoding, not yet successfully decoded in the situation that, send TOS_ACK packets of information to the first gateway accelerator (B), to show that a certain group of packet do not have successfully decoded;
When the first gateway accelerator (B) receives ACK_DONE, this decoded success of corresponding packet of dividing into groups is described, the coded message of preserving;
If gateway accelerator B receives TOS_ACK, this not yet successfully decoded of corresponding packet of dividing into groups is described, reissue coded data to described the second gateway accelerator (C);
If buffer memory to be sent is continuous packet, send the data to a destination node (D).
4. transmission control protocol (TCP) accelerator, is characterized in that comprising:
Data pre-head is got part (801), for the treatment of initial data frame in network, analyzes its protocol type;
Data reading section (803), for analyzing the content of tcp data bag, judges whether to accelerate service by viewing content;
Accelerator buffer memory part (804), sorts to it for the order according to tcp data;
Speeding scheme decision part (805), for selecting suitable speeding scheme;
General T CP processing section (806), works for operative norm TCP;
Retransmit and accelerate processing selecting part (807), for carrying out selective retransmission, accelerate;
Fountain codes accelerates processing section (808), for carrying out fountain codes, accelerates,
Wherein said fountain codes accelerates processing section (808) performed fountain codes acceleration processing and comprises:
When first client (A) sends to data after a first gateway accelerator (B), the first gateway accelerator (B) confirms that to A this data message has sent successfully;
Described the first gateway accelerator (B) rearranges described packet deposit in the buffer memory of corresponding TCP connection;
In described buffer memory, for connecting stream, each TCP distributes a corresponding encoder, data are encoded, after coding, coded message is preserved, and send the data to a second gateway accelerator (C);
Described the second gateway accelerator (C) receives after data, and the coded message of carrying according to data is sent to corresponding decoder by data and decodes;
The in the situation that of successfully decoded, packet after decoding is put into buffer memory to be sent, and send ACK_DONE packet to described the first gateway accelerator (B);
At the unsuccessful and wait timeout of decoding, not yet successfully decoded in the situation that, send TOS_ACK packets of information to the first gateway accelerator (B), to show that a certain group of packet do not have successfully decoded;
When the first gateway accelerator (B) receives ACK_DONE, this decoded success of corresponding packet of dividing into groups is described, the coded message of preserving;
If gateway accelerator B receives TOS_ACK, this not yet successfully decoded of corresponding packet of dividing into groups is described, reissue coded data to described the second gateway accelerator (C);
If buffer memory to be sent is continuous packet, send the data to a destination node (D).
5. according to the accelerator of claim 4, it is characterized in that further comprising:
Common gateway part (802), for playing the function of conventional gateway.
6. according to the accelerator of claim 4, it is characterized in that the processing of the speeding scheme that selection that described speeding scheme decision part (805) carries out is suitable comprises:
Judgement postpones whether to be greater than first predetermined value (step 702);
When the result of described delay judgement is "No", judge whether packet loss is greater than second predetermined value (step 704).
7. according to the accelerator of claim 4, it is characterized in that described repeating transmission acceleration processing selecting part (807), performed selective retransmission accelerates to comprise:
When first client (A) sends to data after a first gateway accelerator (B), the first gateway accelerator (B) is faked and is replied described the first client (A), confirms that the message of these data has sent successfully (step 401) to the first client (A);
Described the first gateway accelerator (B) rearranges described packet deposit in the buffer memory that corresponding TCP connects (step 402);
Described the first gateway accelerator (B) forwards said data to a second gateway accelerator (C) (step 403);
Described the second gateway accelerator (C) creates and receives buffering, and checks whether there is packet loss every the scheduled time; If find that there is packet loss, the numbering of all packet losses is joined in TOS_ACK message bag, and send to described the first gateway accelerator (B) (step 404);
If described the second gateway accelerator (B) is received described TOS_ACK message bag, all packet losses that relate to are resend again to described the second gateway accelerator (C) (step 405);
If continuous data block is received at the reception buffer memory place at described the second gateway accelerator (C), this continuous data is sent to a destination node (D), to the last TCP stream is sent (step 406).
CN201010208262.9A 2010-06-24 2010-06-24 Method for accelerating TCP (Transmission Control Protocol) under severe channel Expired - Fee Related CN102299899B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010208262.9A CN102299899B (en) 2010-06-24 2010-06-24 Method for accelerating TCP (Transmission Control Protocol) under severe channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010208262.9A CN102299899B (en) 2010-06-24 2010-06-24 Method for accelerating TCP (Transmission Control Protocol) under severe channel

Publications (2)

Publication Number Publication Date
CN102299899A CN102299899A (en) 2011-12-28
CN102299899B true CN102299899B (en) 2014-04-02

Family

ID=45360082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010208262.9A Expired - Fee Related CN102299899B (en) 2010-06-24 2010-06-24 Method for accelerating TCP (Transmission Control Protocol) under severe channel

Country Status (1)

Country Link
CN (1) CN102299899B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694631B (en) * 2012-05-23 2015-03-18 华为技术有限公司 Method and device for controlling data transmission
CN104753630A (en) * 2013-12-27 2015-07-01 中兴通讯股份有限公司 Data transmission method and system
CN104243447B (en) * 2014-07-24 2017-11-10 深圳市共进电子股份有限公司 A kind of data flow processing method and device based on Netfilter fire walls
CN105516122B (en) * 2015-12-03 2019-03-15 网宿科技股份有限公司 The network transmission acceleration method and system of acceleration strategy with graduation configuration
US10623149B2 (en) 2017-01-24 2020-04-14 Mediatek Inc. Blockage detection in millimeter wave radio communications
CN108111434B (en) * 2017-12-14 2021-03-16 四川大学 Reliable transmission method of aviation ad hoc network based on reliable UDP (user Datagram protocol) and fountain codes
CN110247853A (en) * 2018-03-09 2019-09-17 网宿科技股份有限公司 TCP jamming control method, system, storage medium and network server
WO2019209181A1 (en) * 2018-04-24 2019-10-31 Skylab Networks Pte. Ltd. System and method for accelerating data delivery
CN110035112A (en) * 2019-01-15 2019-07-19 广东交通职业技术学院 A kind of Transmission Control Protocol both-end in wireless network environment acts on behalf of acceleration system and method
CN111262659B (en) * 2020-03-04 2021-02-19 华南理工大学 Semi-TCP grouping batch acknowledgement reply method based on fountain codes
CN113839881A (en) * 2021-09-24 2021-12-24 广州通则康威智能科技有限公司 Router speed limiting method and device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087244A (en) * 2006-06-07 2007-12-12 华为技术有限公司 An implementation method for congestion control in stream control transmission
CN101330368A (en) * 2008-05-06 2008-12-24 华中科技大学 Self-adaption multicast transmission method
CN101465719A (en) * 2008-12-30 2009-06-24 华为技术有限公司 Data retransmission method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087244A (en) * 2006-06-07 2007-12-12 华为技术有限公司 An implementation method for congestion control in stream control transmission
CN101330368A (en) * 2008-05-06 2008-12-24 华中科技大学 Self-adaption multicast transmission method
CN101465719A (en) * 2008-12-30 2009-06-24 华为技术有限公司 Data retransmission method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张杨帆.无线多播中的数字喷泉码技术研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2009,(第5期),全文. *

Also Published As

Publication number Publication date
CN102299899A (en) 2011-12-28

Similar Documents

Publication Publication Date Title
CN102299899B (en) Method for accelerating TCP (Transmission Control Protocol) under severe channel
KR100785293B1 (en) System and Method for TCP Congestion Control Using Multiple TCP ACKs
KR102051504B1 (en) Method and apparatus for transmitting and receiving data packets in a wireless communication system
CN1778079B (en) Methods and devices for the coordination of flow control between a TCP/IP network and other networks
CN101010880B (en) Method for reliably transmitting data, device and network, and real time data transmission system
JP3677297B2 (en) Concatenated error detection coding and packet numbering for hierarchical ARQ schemes
US7031309B1 (en) User data protocol for internet data communications
EP2493104B1 (en) Header compression data packet transmission method and device based on retransmission mechanism
US7729348B2 (en) Efficiency improvement for shared communications networks
US20030023915A1 (en) Forward error correction system and method for packet based communication systems
CN1653761A (en) Method and apparatus for controlling flow of data in a communication system
CN101444032B (en) Retransmission apparatus and method for high-speed data processing
CN106254202A (en) A kind of multidiameter delay transmission method based on fountain codes and device
JP2003521155A (en) Wireless network system and method
MXPA05005415A (en) Use of idle frames for the control of negative frame acknowledgement.
CN1791106A (en) Method and system for improved tcp performance during retransmission in response to selective acknowledgement
CN113055285B (en) Self-adaptive data transmission method based on MPTCP and network coding
CN107634823A (en) The data transmission method of transmission control protocol based on network code
CN100484101C (en) A method, system and device to transport the IPv6 message of Ethernet
Ha et al. TCP Network Coding with Enhanced Retransmission for heavy and bursty loss
CN113541874A (en) Data transmission method and network equipment
CN114401208B (en) Data transmission method and device, electronic equipment and storage medium
Phung et al. Enhancing rest http with random linear network coding in dynamic edge computing environments
CN1592244A (en) Hybrid auto-repeating requesting method and apparatus for WLAN
JPH09298575A (en) Data transmission control system and data transmission control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140402

Termination date: 20170624