CN102299899A - 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
CN102299899A
CN102299899A CN2010102082629A CN201010208262A CN102299899A CN 102299899 A CN102299899 A CN 102299899A CN 2010102082629 A CN2010102082629 A CN 2010102082629A CN 201010208262 A CN201010208262 A CN 201010208262A CN 102299899 A CN102299899 A CN 102299899A
Authority
CN
China
Prior art keywords
packet
data
accelerator
gateway
tcp
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.)
Granted
Application number
CN2010102082629A
Other languages
Chinese (zh)
Other versions
CN102299899B (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

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

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 abominable channel
Technical field
The present invention is a kind of TCP (Transmission Control Protocol, transmission control protocol) method of Jia Suing, belong to the segmentation join algorithm (SPLIT CONNECTIONAPPROACHES) in the TCP accelerating algorithm, also be that a kind of TCP quickens agency (PEP, Performance EnhancmentProxy).
Background technology
The fountain sign indicating number mainly comprises two kinds of LT sign indicating number and Raptor sign indicating numbers, and the LT sign indicating number is the base form of fountain sign indicating number, and the Raptor sign indicating number is a fountain sign indicating number improved form.The code length of LT sign indicating number is arbitrarily, can be from the 1-bit binary character until any n-bit.The LT sign indicating number is the sign indicating number of no code check, that is to say, the coded identification that obtains from data can be unlimited many.And coded identification can arbitrarily produce, and can produce a plurality of arbitrarily as required.Decoder can be by recovering initial data than the more coded data of data length before the coding simultaneously.Therefore, no matter how many packet losses network has, packet loss how, and encoder can produce abundant coding groups, receives abundant and successfully decoding up to decoder.Because decoder can only be used than the coded data of the more point of initial data and recover initial data, the LT sign indicating number can be described as near desirable for the packet loss channel.So in a word the LT sign indicating number is all near ideal and with also a kind of very efficiently coded system of data volume grow with respect to any packet loss channel.
Provide the encoding and decoding that a simple example illustrates the LT sign indicating number below.
Suppose that whole data have 3-bit, each bit is an original packet, and shown in Figure 1A, encoder will take out N original packet (N is called " weight ") at random, and it is done xor operation obtains coding groups.Giving an example shown in Figure 1B of a kind of coding.
Line among Figure 1B represents which original packet XOR is coding groups be by.The situation that decoder is seen when decode procedure begins, is at first sought the coding groups of having only a connecting line (promptly only being got by a coding groups XOR) shown in Fig. 1 C.If there is not such grouping to arrive, then decoding suspends and waits for the arrival of this grouping.In our example, the grouping that first coding groups is so just.Obtaining first original packet by this packet decoder is 1.Decoder can be searched afterwards has all cancellations of line of the coding groups of line, i.e. first original packet of XOR with all with first original packet.Situation such as Fig. 1 D after first step decoding is finished like this.
In the stage shown in Fig. 1 D, the above-mentioned steps that will circulate is finished up to decoding.In this example, the 4th coding groups has only a line, is 1 so can recover the 3rd original packet, and can recover second original packet according to second coding groups afterwards is 0.
Tradition 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.Tradition TCP proposes at the 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.As the sudden bit-errors of wireless channel, mobile device be in the handoff procedure, attenuation channel (fading channel) etc.
The second, traditional TCP lacks effective fault recovering mechanism in Wi-Fi.Tradition TCP triggers congested control and treatment process after detecting packet loss, at first retransmit the bag that is not identified, thereby reduce congestion window then and reduce transmission rate, and then activation congestion control mechanism, comprise the timeout clock exponential backspace, reduce to start slowly threshold value, enter congestion avoidance phase at last to guarantee congested the releasing.And wireless network BER height uses this wrong recovery that protocol capabilities is descended, 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:
Judge and whether postpone greater than one first predetermined value;
When the result of described delay judgement is "Yes", carries out the fountain sign indicating number and quicken;
When the result of described delay judgement is "No", judge that whether packet loss is greater than one second predetermined value;
When the result of described packet loss judgement is "Yes", adopt selectivity to retransmit;
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, is used for handling the network initial data frame, analyzes its protocol type;
The data read part is used to analyze the content of tcp data bag, judges whether to quicken service by viewing content;
Accelerator buffer memory part is used for according to the order of tcp data it being sorted;
Speeding scheme decision-making part is used to select suitable speeding scheme;
General T CP processing section is used for operative norm TCP work;
Retransmit and quicken the processing selecting part, be used to carry out selectivity and retransmit acceleration;
The fountain sign indicating number quickens the processing section, is used to carry out the fountain sign indicating number and quickens.
Description of drawings
Fig. 1 has shown a simple example, is used for illustrating the encoding and decoding of LT sign indicating number.
Fig. 2 has shown the network topology of the example of typical multi-user's access network.
Fig. 3 is used to illustrate whether enable an embodiment who quicken to handle and select the selection which kind of accelerated mode handles.
Fig. 4 has provided detailed execution selectivity and has retransmitted the embodiment of flow process that quickens.
Fig. 5 has shown that server is at a kind of mode embodiment that carries out of tcp data bag among Fig. 4, Fig. 6.
Fig. 6 has provided an embodiment of the flow process of detailed execution fountain sign indicating number acceleration.
Fig. 7 has shown that the fountain sign indicating number in the scheme of Fig. 3 quickens a kind of mode embodiment that carries out that handles.
Fig. 8 has provided a kind of mode embodiment that carries out of accelerator module structure chart
Embodiment
The present invention adopts dual mode to quicken to handle according to the concrete situation of network, and selectivity retransmits mode (SACK) and fountain sign indicating number accelerated mode.
Selectivity retransmits the mode of (SACK) and carries out the acceleration of TCP, owing to the data of losing in one group of packet are confirmed at every turn, avoids unnecessary retransmission, and then reduces time delay, improves network throughput.On the other hand, the NACK method can allow channel keep continuous transmission, and does not need to stop to wait for the affirmation of next packet, yet in TCP, after must confirming correctly to send one group of data, just can send next group at every turn, therefore not high for the utilance of channel.
But the problem that the selection repeating method exists is when postponing to increase, owing to the time increase of feedback acknowledgment, thereby cause overtime and invalid repeating transmission number of times to increase, so the utilance of channel to reduce along with the increase that postpones.
Because the fountain sign indicating number near desirable, and does not need to guarantee the reliability transmitted to the packet loss channel, and is insensitive to packet loss.Therefore the present invention adopts the flow transmission technology of fountain sign indicating number encoding and decoding between accelerator, utilizes the no code check characteristic of fountain sign indicating number, sends coded data packet continuously, is taking under the situation of channel, can also reduce the use of feedback channel to the full extent.Compare with traditional TCP with the selectivity re-transmission, when packet loss and delay are bigger, all have greater advantage.
Certainly, because the introducing of fountain sign indicating number can't be compared with the wireless network of existing 100Mbps for encoding and decoding speed.Generally can reach 10Mpbs through actual test encoder bit rate, the decoding code check is about 5Mbps.Therefore, the present invention proposes a kind of adaptive speeding scheme.When packet loss and delay were all less, the mentioned equipment of the present invention can adopt standard TCP to communicate; And higher and postpone still less the time when packet loss, equipment can adopt selectivity retransmission scheme faster; When packet loss and delay are all bigger, then automatically switch to fountain sign indicating number 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 abominable channel, even makes it near ideal situation.
Network topology is the example of typical multi-user's access network as shown in Figure 2.201,202,203 is three exemplary local area network (LAN)s among the figure, 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 among the figure between " network " 204 expression local area network (LAN)s 201,202,203.A1, a2, a3, c1, c2 etc. represent the user of each local area network (LAN).
The TCP accelerator of correspondence of the present invention is gateway server a, the b in the network, a module among the c among Fig. 2.The mode of client and client communication is: client sends to gateway with data message in the subnet, gives other gateways in the network by the gateway unification with data forwarding.Arrive the gateway of the corresponding network segment when data message after, this gateway sends the data to the purpose client, has finally realized data message transmission end to end.
The present invention has realized the acceleration agency to the Transmission Control Protocol under the adverse circumstances.As shown in Figure 7, accelerated method according to an embodiment of the invention comprises:
After receiving the TCP message, the client in the subnet is initiatively replied this packet according to the standard Transmission Control Protocol receive.And open new TCP and connect accelerator and be included in the gateway of local area network (LAN), and have certain filter analysis function, only the tcp data message is quickened to handle; For the packet of other types, accelerator is only done to transmit and is handled.Packet sends to next gateway by the transmitting terminal gateway according to conventional routing mode, and after being received by the gateway of destination node place subnet, this gateway is handled packet, then it is sent to destination node according to the 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:
901. the acceleration proxy module on the gateway regularly sends the network detection bag, obtains the estimated information of network state (packet loss, time-delay).
902. after the acceleration proxy module is received a packet, judge that at first this packet is not the tcp data bag, "Yes" then enters 904; "No" then enters 903.
903. the method according to Fig. 3 and Fig. 7 determines whether to enable the acceleration processing and selects which kind of accelerated mode to handle.
Among Fig. 3, X-axis is represented the increase of communication link time-delay, and Y-axis is represented the increase of communication link packet loss, and different pattern table is shown under certain time-delay, the packet loss situation to adopt which kind of TCP speeding scheme among the figure.As shown in Figure 3, according to reality test experience,, can make a strategic decision in the following manner as an exemplary embodiment:
-when packet loss less than 1%, when postponing, adopt standard TCP mode less than 10ms, do not adopt any speeding scheme, enter 904;
-when packet loss greater than 1%, less than 100%, and when postponing, adopt the selectivity retransmission scheme less than 10ms, enter 905;
-when postponing, adopt fountain sign indicating number speeding scheme greater than 10ms, enter 906.
904. check the destination address of packet, directly transmit processing according to routing table.
905. quicken to handle according to selecting type re-transmission mode, enter 907 subsequently.
906. handle according to fountain sign indicating number accelerated mode, enter 907 subsequently.
907. processing finishes.
Fig. 4 has provided the detailed execution selectivity from the transmitting terminal to the receiving terminal and has retransmitted the flow process of quickening.
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. after A sent to data gateway accelerator B, gateway accelerator B replied A according to Fig. 5 mode puppet, confirmed that to A this data message has sent success;
402. gateway accelerator B rearranges this packet and deposit in the buffer memory of corresponding TCP connection;
403. gateway accelerator B forwards the data to gateway accelerator C;
Receive buffering 404. gateway accelerator C creates, and check every the scheduled time (as 0.5 second) whether packet loss is arranged; If finding has packet loss, then the numbering of all packet losses is joined in the TOS_ACK message bag, and send to B;
405. if gateway accelerator B receives TOS_ACK message bag, then the packet loss that all are related to resends to gateway accelerator C again;
406. at the reception buffer memory place of gateway accelerator C, continuous data block then this continuous data is sent to destination node D as if receiving, to the last TCP stream sends and finishes, and sends FIN.
Figure 10 has provided the concrete workflow according to TCP accelerator of the present invention that is operated on the gateway (B and/or C).
1001. the tcp data bag that extracts from network interface card is carried out buffer memory.
1002. whether the type of judgment data bag is the TOS_ACK packet, if "Yes" then enter 1003, "No" then enters 1004.
1003. search the tcp data buffer memory, retransmit the tcp data bag of corresponding sequence number, and with the deletion of the data before this sequence number in the tcp data buffer memory.
1004. judge the destination address of above-mentioned tcp data bag, if the internal lan address of described gateway (B or C) then enters 1007, if its external network then enters 1005.
1005. the transmitting terminal transmission puppet to above-mentioned tcp data bag is replied the tcp data bag.
1006. the destination address according to above-mentioned tcp data bag is transmitted processing.
1007. carry out the order caching process according to different TCP connections and corresponding tcp data packet number.
1008. sequence number update obliterated data packet number buffer memory according to the tcp data bag that receives.
1009. regularly search the metadata cache that each TCP connects, enter 1010 subsequently.
Whether there is continuous buffer memory sequence number 1010. judge the buffer memory sequence number that certain TCP connects, if "Yes" then enters 1011.
1011. the tcp data bag of continuous sequence number is sent to corresponding receiving terminal according to destination address.
1012. regularly check obliterated data packet number buffer memory, corresponding lost package sequence number is encapsulated in the 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 sign indicating number acceleration from the transmitting terminal to the receiving terminal, and it comprises:
-after A sent to data gateway accelerator B, gateway accelerator B replied A according to Fig. 5 mode puppet, confirmed that to A this data message has sent success;
-B rearranges this packet and deposit in the buffer memory of corresponding TCP connection;
-in described buffer memory,, data are encoded for each TCP connects corresponding encoder of flow distribution, behind the coding coded message is preserved, and send the data to gateway accelerator C;
After-gateway accelerator C receives data, according to the coded message of data carry data are sent to corresponding decoder and decode; Successfully transmission entered for the 5th step if decode, and unsuccessful then continuation is waited for; If the overtime unsuccessful situation of decoding that then enters of stand-by period;
-owing to decode successfully, the back packet of then will decoding is put into buffer memory to be sent, and sends the ACK_DONE packet to gateway accelerator B;
-Ruo decoding is unsuccessful, and the wait timeout success of not decoding yet, then sends the TOS_ACK packets of information to gateway accelerator B, to show a certain group of packet success of not decoding;
-Ruo gateway accelerator B receives ACK_DONE, and the decoded success of packet that this grouping is corresponding is described, then deletes the coded message of preserving in the step 3;
-Ruo gateway accelerator B receives TOS_ACK, illustrates that then the packet of this grouping correspondence is not decoded successfully as yet, then reissues coded data and gives C;
-Ruo buffer memory to be sent is continuous packet, then sends the data to destination node D, finishes up to transmission.
Figure 11 has provided the accelerator on the gateway server and has carried out the flow process that the fountain sign indicating number quickens.
1101. the tcp data bag that extracts from network interface card is carried out buffer memory.
1102. whether the judgment data bag is the TOS_ACK packet, if "Yes" then enter 1103, "No" then enters 1104.
1103. from encoder information, search corresponding coding information according to the information in the TOS_ACK packet, as degree distribute, initial end sequence number etc., from the tcp data of buffer memory, search corresponding tcp data bag and encode again and send.
1104. judge whether it is the TOS_DONE packet, if "Yes" then enter 1105, "No" then enters 1106.
1105. delete the encoder information of passing back in the described TOS_DONE packet, corresponding packet in the deletion TCP buffer queue.
1106. judge the destination address of described tcp data bag, if the internal lan address of this gateway then enters 1110, if its external network then enters 1107.
1107. the transmitting terminal transmission puppet to this tcp data bag is replied the tcp data bag.
1108. entering fountain sign indicating number coding module encodes.
1109. when encoding successfully, hang up encoder, preserve encoder information, and send completed coded data packet.
1110., and preserve according to the corresponding decoder of different coding packet initialization.
1111. the packet that receives is put into corresponding decoder decodes.
Whether fail 1112. judge decoding,, then judge this decoder decode failure, subsequently, enter 1114 if overstepping the time limit is not received follow-up coded data packet; Otherwise judge and decode successfully, subsequently, enter 1113.
1113. send the TOS_DONE packet, delete corresponding DECODER information, the decoded data packets buffer memory is got up.
1114. under the situation of decoding failure, send the 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.
Whether there is the packet of continuous sequence number 1116. judge successful decoded data packets buffer queue that certain TCP connects, then enters 1117 as "Yes".
1117. the destination address according to continuous sequence tcp data bag sends.
Fig. 7 has provided an embodiment according to fountain sign indicating number accelerated processing method of the present invention.As shown in Figure 7, need quicken new packet at gateway, gateway need be selected suitable speeding scheme.Method according to this embodiment comprises:
701. gateway is at first estimated current channel parameter, comprises packet loss and delay; Method of estimation can have multiple.
A kind of scheme is active monitoring, by sending the detecting bag and estimating channel by receiving feedback packet; Concrete computational methods are packet loss p=N Receive packet/ N Send packet, postpone Delay=T Receive packet-T Send packetQuantity of data packets N wherein Receive packet, the data packet number that has 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 the TOS_ACK packets of information.Comprise the other side's gateway in the TOS_ACK packets of information and successfully received quantity of data packets N Receive packet, the known again data packet number that has sent is N Send packet, so packet loss is p=N Receive packet/ N Send packetThe time that sends the tcp data bag is T Send packet, the time that receives the TOS_ACK bag is T Receive packetSo, postpone Delay=T Receive packet-T Send packet
The TOS_ACK packets of information is described as described in the flow process of describing as Fig. 4, Fig. 5;
702. whether analyze to postpone greater than a predetermined value (for example, 10 milliseconds, also can be set at other values) according to network condition etc., if greater than would enter the fountain sign indicating number speeding scheme of step 703, "No" then enters the judgement packet loss of step 704;
703. quicken because channel situation is fit to the fountain sign indicating number, therefore adopt the fountain code plan to quicken;
704. analyze packet loss whether greater than a predetermined value (for example, 1%, also can be set at other values) according to network condition etc., if greater than would enter the selection retransmission scheme of step 705, "No" then enters traditional TCP scheme of step 706;
705., therefore adopt and select retransmission scheme to quicken because channel situation is fit to select to retransmit quicken;
706. because channel situation is fit to traditional TCP, therefore do not do any speeding scheme, directly carry out TCP and transmit.
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, be used for handling the network initial data frame, analyze its protocol type, directly give normal gateway without exception for the packet that does not belong to Transmission Control Protocol and do the forwarding processing; Giving data read module for the packet of Transmission Control Protocol handles; 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 is used to play the conventional gateway function;
Data read module 803 is used to analyze the content of all tcp data bags, judges whether to quicken service by viewing content; The tcp data bag that has may be from the network of not supporting to quicken function, if run into such tcp data bag, then packet is directly given normal gateway and is done the forwarding processing; If need the packet of acceleration, then give the accelerator buffer memory;
Accelerator cache module module 804 is used for according to the order of tcp data it being sorted.Owing to be in abominable network environment, therefore the arrival of bag may be out of order, so need here the tcp data bag is sorted;
Speeding scheme decision-making device module 805 is used for selecting suitable speeding scheme according to the mode such as the embodiment of Fig. 7;
General T CP processing module 806 is used for operative norm TCP work;
Retransmit and quicken processing selecting module 807, be used for carrying out work according to the flow process shown in the embodiment of Fig. 4;
The fountain sign indicating number quickens processing module 808, is used to carry out the workflow shown in the embodiment of Fig. 6.
Purposes of the present invention comprises:
-in Internet or wireless self-organization network, serve as gateway function, for the subnet interior nodes provides the service of acceleration, for example shown in Figure 1;
-in the bluetooth of personal hand-held terminal, WLAN point-to-point communication, provide the present invention mentioned network acceleration service by install software;
-because abominable applied environment and possible interference cause under the unsettled situation of channel, can use the mentioned network acceleration function of the present invention to provide reliable transmission to guarantee as military communication.
Beneficial effect of the present invention comprises:
-because TCP is designed in the reliable network environment, a little all can cause TCP transmission performance rapid deterioration 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, what TCP can't make full use of channel resource even can't guarantee to transmit reliably finishes.Adopt the present invention, can adaptively take on the function of network acceleration, when network environment is good, provide speed higher TCP transmission, when network environment worsens, can independently switch to aero mode, play the effect that makes full use of channel.Test shows, the present invention is immediately at packet loss more than 90%, and postponing in the environment about 2 seconds also can operate as normal, and the transmission performance near channel capacity is provided.
-on the other hand, the present invention is only to the forwarded node---and gateway has been done the improvement of increasing property, therefore for client, also is that the user is transparent.The user need not the updating apparatus software and hardware on the one hand, only needs the procotol of employing standard to get final product access network; The user need not the variation of awareness network complex environment on the other hand, and worsening for network parameter only is floating of transmission rate for the user, has therefore ensured user's experience on to greatest extent.
The present invention is applied under the abominable wireless channel, can solve traditional TCP and other TCP and improve algorithm low problem of throughput under the abominable wireless environment applied environment of reality, has effectively utilized channel, has improved the utilance of wireless frequency spectrum greatly.Be applicable to multiple abominable application scenarioss such as army, emergent, rescue and relief work down quick one to one, the communication environment of one-to-many and even multi-to-multi.
Should be understood that, in above narration and explanation to just explanation but not determinate of description that the present invention carried out, and do not breaking away under the prerequisite of the present invention that limits as appended claims, can carry out various changes, distortion and/or correction the foregoing description.

Claims (9)

1. a transmission control protocol (TCP) accelerated method is characterized in that comprising:
Judge and whether postpone greater than one first predetermined value (step 702);
When the result of described delay judgement is "Yes", carries out the fountain sign indicating number and quicken (step 703);
When the result of described delay judgement is "No", judge that whether packet loss is greater than one second predetermined value (step 704);
When the result of described packet loss judgement is "Yes", adopt selectivity to retransmit (step 705);
When the result of described packet loss judgement is "No", adopt traditional TCP scheme (step 706).
2. method according to claim 1 is characterized in that described fountain sign indicating number quickens (step 703) and further comprises:
The tcp data bag that extracts from network interface card is carried out buffer memory (step 1101);
Whether the judgment data bag is TOS_ACK packet (step 1102);
When the result of above-mentioned TOS_ACK packet determining step is "Yes", from encoder information, search corresponding coding information according to the information in the TOS_ACK packet, from the tcp data of buffer memory, search corresponding tcp data bag and encode again 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", delete the encoder information of passing back in the described TOS_DONE packet, and corresponding packet (step 1105) in the deletion 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 the above-mentioned purpose address is judged as the outside network address of this gateway, transmitting terminal transmission puppet to this tcp data bag is replied tcp data bag (step 1107), and enter fountain sign indicating number 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 the above-mentioned purpose address is judged as the internal lan address of this gateway, according to the corresponding decoder of different coding packet initialization and preserve DECODER information (step 1110), and the packet that receives put into corresponding decoder decode (step 1111), and judge decoding whether fail (step 1112)
When decoding successfully, send the TOS_DONE packet, delete corresponding DECODER information and decoded data packets buffer memory (step 1113);
Under the situation of decoding failure, send the 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; Then enter 1117 as "Yes".
Under the situation of the packet that has continuous sequence number, send (step 1117) according to the destination address of continuous sequence tcp data bag.
3. method according to claim 1 is characterized in that described selectivity retransmits (step 705) and further comprises:
After one first client (A) sends to data in one first gateway accelerator (B), the first gateway accelerator (B) is faked described first client (A) and is replied, and confirms that to first client (A) message of these data has sent success (step 401);
The described first gateway accelerator (B) rearranges described packet and deposit in the buffer memory that corresponding TCP connects (step 402);
The described first gateway accelerator (B) forwards said data to one second gateway accelerator (C) (step 403);
The described second gateway accelerator (C) is created and is received buffering, and checks every the scheduled time whether packet loss is arranged; If finding has packet loss, then the numbering of all packet losses is joined in the TOS_ACK message bag, and send to the described first gateway accelerator (B) (step 404);
If the described second gateway accelerator (B) is received described TOS_ACK message bag, then the packet loss that all are related to resends to the described second gateway accelerator (C) (step 405) again;
If receive continuous data block at the reception buffer memory place of the described second gateway accelerator (C), then this continuous data is sent to a destination node (D), to the last TCP stream sends finish (step 406).
4. method according to claim 1 is characterized in that described fountain sign indicating number quickens (step 703) and further comprises:
After one first client (A) sent to data in one first gateway accelerator (B), the first gateway accelerator (B) confirmed that to A this data message has sent success;
The described first gateway accelerator (B) rearranges described packet and deposit in the buffer memory of corresponding TCP connection;
In described buffer memory, for each TCP connects corresponding encoder of flow distribution, data are encoded, behind the coding coded message is preserved, and send the data to one second gateway accelerator (C);
After the described second gateway accelerator (C) receives data, according to the coded message of data carry data are sent to corresponding decoder and decode;
Under case of successful decoding, the back packet of then will decoding is put into buffer memory to be sent, and sends the ACK_DONE packet to the described first gateway accelerator (B);
Unsuccessful and wait timeout under the case of successful decoding, does not then send the TOS_ACK packets of information to the first gateway accelerator (B) yet in decoding, to show a certain group of packet success of not decoding;
When receiving ACK_DONE, the decoded success of packet that this grouping is corresponding is described, then the coded message of Bao Cuning at the first gateway accelerator (B);
If gateway accelerator B receives TOS_ACK, illustrate that then the packet of this grouping correspondence is not decoded successfully as yet, then reissue coded data and give the described second gateway accelerator (C);
If buffer memory to be sent is continuous packet, then send the data to a destination node (D).
5. a transmission control protocol (TCP) accelerator is characterized in that comprising:
Data pre-head is got part (801), is used for handling the network initial data frame, analyzes its protocol type;
Data read is (803) partly, are used to analyze the content of tcp data bag, judge whether to quicken service by viewing content;
Accelerator buffer memory part (804) is used for according to the order of tcp data it being sorted;
Speeding scheme decision-making part (805) is used to select suitable speeding scheme;
General T CP processing section (806) is used for operative norm TCP work;
Retransmit and quicken processing selecting part (807), be used to carry out selectivity and retransmit acceleration;
The fountain sign indicating number quickens processing section (808), is used to carry out the fountain sign indicating number and quickens.
6. according to the accelerator of claim 5, it is characterized in that further comprising:
Common gateway is (802) partly, are used to play the function of conventional gateway.
7. according to the accelerator of claim 5, it is characterized in that the processing of the speeding scheme that selection that described speeding scheme decision-making part (805) carried out is suitable comprises:
Judge and whether postpone greater than one first predetermined value (step 702);
When the result of described delay judgement is "No", judge that whether packet loss is greater than one second predetermined value (step 704).
8. according to the accelerator of claim 5, it is characterized in that described repeating transmission acceleration processing selecting part (807), performed selectivity retransmits to be quickened to comprise:
After one first client (A) sends to data in one first gateway accelerator (B), the first gateway accelerator (B) is faked described first client (A) and is replied, and confirms that to first client (A) message of these data has sent success (step 401);
The described first gateway accelerator (B) rearranges described packet and deposit in the buffer memory that corresponding TCP connects (step 402);
The described first gateway accelerator (B) forwards said data to one second gateway accelerator (C) (step 403);
The described second gateway accelerator (C) is created and is received buffering, and checks every the scheduled time whether packet loss is arranged; If finding has packet loss, then the numbering of all packet losses is joined in the TOS_ACK message bag, and send to the described first gateway accelerator (B) (step 404);
If the described second gateway accelerator (B) is received described TOS_ACK message bag, then the packet loss that all are related to resends to the described second gateway accelerator (C) (step 405) again;
If receive continuous data block at the reception buffer memory place of the described second gateway accelerator (C), then this continuous data is sent to a destination node (D), to the last TCP stream sends finish (step 406).
9. according to the accelerator of claim 5, it is characterized in that described fountain sign indicating number quickens processing section (808) performed fountain sign indicating number acceleration processing and comprises:
After one first client (A) sent to data in one first gateway accelerator (B), the first gateway accelerator (B) confirmed that to A this data message has sent success;
The described first gateway accelerator (B) rearranges described packet and deposit in the buffer memory of corresponding TCP connection;
In described buffer memory, for each TCP connects corresponding encoder of flow distribution, data are encoded, behind the coding coded message is preserved, and send the data to one second gateway accelerator (C);
After the described second gateway accelerator (C) receives data, according to the coded message of data carry data are sent to corresponding decoder and decode;
Under case of successful decoding, the back packet of then will decoding is put into buffer memory to be sent, and sends the ACK_DONE packet to the described first gateway accelerator (B);
Unsuccessful and wait timeout under the case of successful decoding, does not then send the TOS_ACK packets of information to the first gateway accelerator (B) yet in decoding, to show a certain group of packet success of not decoding;
When receiving ACK_DONE, the decoded success of packet that this grouping is corresponding is described, then the coded message of Bao Cuning at the first gateway accelerator (B);
If gateway accelerator B receives TOS_ACK, illustrate that then the packet of this grouping correspondence is not decoded successfully as yet, then reissue coded data and give the described second gateway accelerator (C);
If buffer memory to be sent is continuous packet, then send the data to a destination node (D).
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 true CN102299899A (en) 2011-12-28
CN102299899B 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)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694631A (en) * 2012-05-23 2012-09-26 华为技术有限公司 Method and device for controlling data transmission
CN104243447A (en) * 2014-07-24 2014-12-24 深圳市共进电子股份有限公司 Dataflow processing method and device based on Netfilter
CN104753630A (en) * 2013-12-27 2015-07-01 中兴通讯股份有限公司 Data transmission method and system
CN105516122A (en) * 2015-12-03 2016-04-20 网宿科技股份有限公司 Method and system for accelerating network transmission of acceleration strategy with hierarchical configuration
CN108111434A (en) * 2017-12-14 2018-06-01 四川大学 A kind of aeronautical Ad hoc networks method for reliable transmission based on reliable UDP and fountain codes
WO2018137656A1 (en) * 2017-01-24 2018-08-02 Mediatek Inc. Tcp enhancements in reduced radio link quality conditions
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
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
CN111262659A (en) * 2020-03-04 2020-06-09 华南理工大学 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
张杨帆: "无线多播中的数字喷泉码技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 5, 24 December 2009 (2009-12-24) *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013174095A1 (en) * 2012-05-23 2013-11-28 华为技术有限公司 Method and device for controlling data transmission
CN102694631B (en) * 2012-05-23 2015-03-18 华为技术有限公司 Method and device for controlling data transmission
CN102694631A (en) * 2012-05-23 2012-09-26 华为技术有限公司 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
CN104243447A (en) * 2014-07-24 2014-12-24 深圳市共进电子股份有限公司 Dataflow processing method and device based on Netfilter
CN105516122B (en) * 2015-12-03 2019-03-15 网宿科技股份有限公司 The network transmission acceleration method and system of acceleration strategy with graduation configuration
CN105516122A (en) * 2015-12-03 2016-04-20 网宿科技股份有限公司 Method and system for accelerating network transmission of acceleration strategy with hierarchical configuration
WO2017092609A1 (en) * 2015-12-03 2017-06-08 网宿科技股份有限公司 Method and system for accelerating network transmission of acceleration strategy with hierarchical configuration
US10623149B2 (en) 2017-01-24 2020-04-14 Mediatek Inc. Blockage detection in millimeter wave radio communications
WO2018137656A1 (en) * 2017-01-24 2018-08-02 Mediatek Inc. Tcp enhancements in reduced radio link quality conditions
CN109691040A (en) * 2017-01-24 2019-04-26 联发科技股份有限公司 TCP under the conditions of radio link quality reduces is improved
US10749639B2 (en) 2017-01-24 2020-08-18 Mediatek Inc. Bearer switching in reduced radio link quality conditions
CN108111434A (en) * 2017-12-14 2018-06-01 四川大学 A kind of aeronautical Ad hoc networks method for reliable transmission based on reliable UDP 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
CN111262659A (en) * 2020-03-04 2020-06-09 华南理工大学 Semi-TCP grouping batch acknowledgement reply method based on fountain codes
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

Also Published As

Publication number Publication date
CN102299899B (en) 2014-04-02

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
JP6275751B2 (en) Improved acknowledgment and retransmission mechanism
CN1918825B (en) Transmitting and receiving control protocol data unit having processing time information
EP2493104B1 (en) Header compression data packet transmission method and device based on retransmission mechanism
KR102051504B1 (en) Method and apparatus for transmitting and receiving data packets in a wireless communication system
CN101010880B (en) Method for reliably transmitting data, device and network, and real time data transmission system
US8036219B2 (en) Efficiency improvement for shared communications networks
CN106254202A (en) A kind of multidiameter delay transmission method based on fountain codes and device
EP3518504A1 (en) Methods and systems for transmission of data over computer networks
JP2003521155A (en) Wireless network system and method
JP2014509483A (en) Mechanisms to improve the performance of transmission control protocols in wireless networks
CN105743614B (en) The transmission method and device of data
CN107634823A (en) The data transmission method of transmission control protocol based on network code
Liu et al. TCP performance in wireless access with adaptive modulation and coding
CN110326357A (en) Data processing method and equipment
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
EP1613002A1 (en) Mobile terminal and radio access point in radio access system
CN113541874A (en) Data transmission method and network equipment
Phung et al. Enhancing rest http with random linear network coding in dynamic edge computing environments
Maisuria et al. Overview of techniques for improving QoS of TCP over wireless links
CN116963175A (en) Data transmission method, device and system
JPH09298575A (en) Data transmission control system and data transmission control method
Ha et al. TCP network coding with forward retransmission

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

Granted publication date: 20140402

Termination date: 20170624

CF01 Termination of patent right due to non-payment of annual fee