CN101369877A - Wireless transmission control protocol processing method and equipment - Google Patents

Wireless transmission control protocol processing method and equipment Download PDF

Info

Publication number
CN101369877A
CN101369877A CNA2008102120500A CN200810212050A CN101369877A CN 101369877 A CN101369877 A CN 101369877A CN A2008102120500 A CNA2008102120500 A CN A2008102120500A CN 200810212050 A CN200810212050 A CN 200810212050A CN 101369877 A CN101369877 A CN 101369877A
Authority
CN
China
Prior art keywords
tcp
transmitting terminal
ack
dupack
tcp transmitting
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
CNA2008102120500A
Other languages
Chinese (zh)
Other versions
CN101369877B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2008102120500A priority Critical patent/CN101369877B/en
Publication of CN101369877A publication Critical patent/CN101369877A/en
Application granted granted Critical
Publication of CN101369877B publication Critical patent/CN101369877B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention provides a wireless transmission control protocol processing method and a device. The method comprises the following steps: judging and accelerating the data transmission between a TCP receiving terminal and a TCP transmission terminal; processing a response packet ACK or a repeated response packet DupACK transmitted from the TCP receiving terminal to the TCP transmission terminal, in order to accelerate the data transmission between the TCP receiving terminal and the TCP transmission terminal. The embodiment of the invention shortens the duration time of the TCP transmission terminal slow start and accelerates the recovery of the data transmission capability of the TCP transmission terminal.

Description

Wireless transmission control protocol processing method and equipment
Technical field
The present invention relates to communication technical field, relate in particular to a kind of wireless transmission control protocol processing method and equipment.
Background technology
TCP (Transmission Control Protocol, transmission control protocol) agreement is a kind of packet switch host-host protocol of realizing high reliability between main frame that designs for cable network, is connection-oriented agreement end to end.In the transmission course based on Transmission Control Protocol, the TCP receiving terminal sends ACK (respond packet) to the TCP transmitting terminal and is used for the one group of TCP grouping bag that receives is confirmed operation, represent current and the grouping of TCP is before wrapped and all correctly received.When packet out-ordering (message sequence dislocation or message dropping) took place, the TCP receiving terminal generated DupACK (duplicate responses bag) and sends to the TCP transmitting terminal, and the number of DupACK is determined by out of order message number.
In present mobile radio network, still can use Transmission Control Protocol to carry out transfer of data, but because the intrinsic characteristic of wireless network, as the time become channel condition, asymmetric bandwidth, the transmission round-trip delay is big, error code is high and shake is big, the Transmission Control Protocol that designs for cable network can't well be applied to wireless domain.
Though current WCDMA (Wideband Code Division Multiple Access, broadband demal multiplex (MUX) access) RNC (the Radio Network Controller of system, radio network controller)/RLC (RadioLink Control, Radio Link control) protocol layer can pass through PDU (Protocol Data Unit, protocol Data Unit) retransmits the integrality that guarantees data, make inevitably still that still the generation of TCP transmitting terminal is overtime and enter startup slowly.The TCP transmitting terminal take place overtime former because: grouping bag of the every transmission of TCP transmitting terminal, just for this grouping bag starts a timer, when timer expired but then take place when not receiving the ACK that the TCP receiving terminal wraps this grouping yet overtime.After the TCP transmitting terminal enters and starts slowly, send window has been reduced to initial value (being generally 2 message sizes), need a plurality of RTT (Round Trip Time, two-way time) time just can return to the send window value of generation before starting slowly, if wired side time delay and wireless side time delay are all bigger, be that RTT is bigger, meaning so needs long time, and the TCP transmitting terminal just can return to the transmitting capacity before starting slowly.In a single day the TCP transmitting terminal enters slowly and starts, and the data volume in the network reduces at once, and when single-threaded download, RLC (Radio Link Control, Radio Link control) buffer memory emptying will take place usually, and directly causes the part interface-free resources free time.And actual instantaneous throughput low value also will occur even be 0, and end-to-end in addition RTT is big more, and the low value duration is just long more, and file download time also will be long more certainly.
The inventor finds that there is following shortcoming at least in prior art in realizing process of the present invention:
After the grouping packet loss judge to take place the TCP transmitting terminal, will enter slow the startup stage and reduce the size of send window immediately.Duration startup stage of slow is relevant with following factor: when when the TCP receiving terminal receives the ACK of some, break away from and enter congestion avoidance phase slow the startup stage.Or when the DupACK of the some (being generally 3) that receives the transmission of TCP receiving terminal, enter the quick re-transmission stage.If but end-to-end time delay is bigger, then the TCP receiving terminal can not send to the TCP transmitting terminal with DupACK or ACK timely, and the TCP transmitting terminal will be in slow the startup stage for a long time so, and this will reduce the tcp data transmission performances.
Summary of the invention
The embodiment of the invention provides a kind of wireless transmission control protocol processing method and equipment, is used to shorten the TCP transmitting terminal and starts the time that is continued slowly, adds the data transmission capabilities of quick-recovery TCP transmitting terminal.
Embodiments of the invention provide a kind of wireless transmission control protocol TCP processing method, are applied to the agency between TCP transmitting terminal and TCP receiving terminal, comprising:
Judge that the data that need to quicken between described TCP receiving terminal and the TCP transmitting terminal send;
Described TCP transmitting terminal is handled and sent to described TCP receiving terminal to respond packet ACK or the duplicate responses bag DupACK that described TCP transmitting terminal sends, send with the data of quickening between described TCP receiving terminal and the TCP transmitting terminal.
Embodiments of the invention also provide a kind of agent functionality entity, are applied to TCP and handle, and comprising:
Act on behalf of judging unit, be used to judge that the data that needs quicken between described TCP receiving terminal and the TCP transmitting terminal send;
The agent processes unit is used for described TCP receiving terminal is handled to respond packet ACK or the duplicate responses bag DupACK that described TCP transmitting terminal sends;
Act on behalf of transmitting element, be used for respond packet ACK after the described processing or duplicate responses bag DupACK are sent to described TCP transmitting terminal, send with the data of quickening between described TCP receiving terminal and the TCP transmitting terminal
Compared with prior art, embodiments of the invention have the following advantages:
Under the situation of using the agency, by ACK that receiving terminal is sent to transmitting terminal or the processing of DupACK, shortened the TCP transmitting terminal and started the time that is continued slowly, add the data transmission capabilities of quick-recovery TCP transmitting terminal.
Description of drawings
Fig. 1 is the flow chart of division ACK in the embodiment of the invention;
Fig. 2 is the flow chart of the concrete splitting method of ACK in the embodiment of the invention;
Fig. 3 is a flow chart of creating/duplicate the DupACK method in the embodiment of the invention;
Fig. 4 is the schematic diagram of agent functionality entity in the embodiment of the invention;
Fig. 5 is the schematic diagram of agent functionality entity in the embodiment of the invention.
Embodiment
Below in conjunction with drawings and Examples, the specific embodiment of the present invention is described in further detail:
Embodiments of the invention provide a kind of wireless transmission control protocol processing method, purpose is to strengthen the TCP performance, be applicable in network the agency of diverse location between TCP transmitting terminal and TCP receiving terminal, comprise that this agency's concrete form is not done qualification in embodiments of the present invention as the agency who disposes in the agency that disposes in the Internet, the core net, the agency of mobile network RAN (RadioAccess Network) sidepiece administration etc.This TCP transmitting terminal and TCP receiving terminal can be respectively server and user terminal, and user terminal and server.
Concrete, the wireless transmission control protocol processing method that embodiments of the invention provide is applied to the agency between TCP transmitting terminal and TCP receiving terminal, and this method comprises:
Judge that the data that need to quicken between described TCP receiving terminal and the TCP transmitting terminal send;
Described TCP transmitting terminal is handled and sent to described TCP receiving terminal to respond packet ACK or the duplicate responses bag DupACK that described TCP transmitting terminal sends, send with the data of quickening between described TCP receiving terminal and the TCP transmitting terminal.
Concrete, above-mentioned processing comprises: divide to the ACK message that the TCP transmitting terminal sends by using division ACK Technique on T CP receiving terminal; Or create/duplicate the DupACK message and send to the TCP transmitting terminal.Thereby promote the data transmission capabilities of TCP transmitting terminal by above-mentioned processing mode.Below these two kinds of processing modes are described respectively.
Embodiments of the invention provide a kind of TCP performance Enhancement Method, by using division ACK Technique on T CP receiving terminal to divide to the ACK that the TCP transmitting terminal sends, and then by increasing the ACK quantity that the TCP transmitting terminal receives, the data transmission capabilities of fast lifting TCP transmitting terminal.It realizes that principle is as follows:
Keep the high data transmission capabilities of TCP transmitting terminal, then must keep high congestion window (Congestion window is hereinafter to be referred as cwnd) at the TCP transmitting terminal; And the growth rate of congestion window is relevant with the ACK quantity that the TCP transmitting terminal receives.Concrete, consider TCP send window=min (transmitting terminal congestion window, receiving terminal advertised window), behind the use agency, TCP send window=min (transmitting terminal congestion window, Agent Advertisement window), the size of Agent Advertisement window is by agency's buffer memory decision.So,, just can reach maximum data transmission capabilities when transmitting terminal congestion window during more than or equal to the Agent Advertisement window.Entering slow when startup stage, the initial value of cwnd is 2 MSS (Max Segment Size, the length of the maximum TCP grouping bag that the TCP transmitting terminal can send) size, the TCP transmitting terminal is whenever received an ACK afterwards, cwnd just increases a MSS, is increased to cwnd always and equals to start slowly till thresholding ssthresh or the generation grouping packet loss.Then enter congestion avoidance phase after cwnd equals to start thresholding ssthresh slowly, in congestion avoidance phase, the TCP transmitting terminal is whenever received an ACK, and congestion window cwnd increases linearity.Therefore, when the value of congestion window hour, use division ACK technology can quicken the increase of congestion window cwnd, fast the transmitting terminal congestion window is risen to more than or equal to the Agent Advertisement window.
The main method of division ACK is that the agency receives the TCP receiving terminal when ACK that the TCP transmitting terminal sends, this ACK is split into a plurality of ACK sends to the TCP transmitting terminal.The basic procedure of division ACK comprises the steps: as shown in Figure 1 in the embodiment of the invention
Step s101, agency receive the ACK that the TCP receiving terminal sends to the TCP transmitting terminal.
Step s102, agency judge and need divide processing to this ACK.
Also need be in the embodiments of the invention for whether using division ACK to monitor.Adopt the reason of monitoring as follows: to use division ACK can quicken congestion window and increase, but because after using the agency, TCP send window=min (transmitting terminal congestion window of TCP transmitting terminal, the Agent Advertisement window), thereby, when transmitting terminal congestion window during greater than the Agent Advertisement window, increase the send window that the transmitting terminal congestion window can not increase the TCP transmitting terminal again, can increase the ACK number of TCP transmitting terminal on the contrary to the TCP receiving terminal.So, the size that need in the agency, follow the tracks of TCP transmitting terminal congestion window cwnd.
The implementation method of this monitoring is as follows: the estimated value TPE_cwnd in that the Agency safeguards a TCP transmitting terminal cwnd, safeguard that also a TCP transmitting terminal starts the estimated value TPE_ssthresh of thresholding ssthresh slowly simultaneously.
The initial value that TPE_cwnd is set is 2 MSS (length of the maximum TCP grouping bag that Max Segment Size, TCP transmitting terminal can send) sizes, and the initial value of TPE_ssthresh is the receive window size of TCP receiving terminal.
If the data that the agency receives from the TCP transmitting terminal exist proxy caching, or the data that the TCP transmitting terminal sends had obtained before confirming that then the agency thought that the TCP transmitting terminal has entered startup slowly, and the value of TPE_cwnd is changed to 2 MSS sizes.After this, slow the startup stage in, act on behalf of whenever to ACK of TCP transmitting terminal transmission, the value of TPE_cwnd just increases a MSS size.As TPE_cwnd during more than or equal to TPE_ssthresh, the agency just thinks that the TCP transmitting terminal has entered congestion avoidance phase.In the congestion avoidance phase, act on behalf of and whenever send an ACK to the TCP transmitting terminal, TPE_cwnd just increases progressively the MSS*MSS/TPE_cwnd size.
After obtaining TPE_cwnd, judge whether the TCP receiving terminal is divided processing to the ACK that the TCP transmitting terminal sends: when TPE_cwnd is big or small less than proxy caching, carry out division ACK behavior so according to following criterion; Otherwise, do not divide the ACK behavior, ACK is directly sent to the TCP transmitting terminal.
Whether needs divide the ACK except carrying out according to above-mentioned criterion, do not carry out the ACK division in following situation yet, and ACK is directly sent to the TCP transmitting terminal: (1) if the grouping of the ACK request that receives from the TCP receiving terminal wrap in do not exist the proxy caching and local cache for empty, then this TCP ACK is not divided; (2) ACK that shakes hands is not for the third time divided; (3) and before the ACK or the DupACK that repeat of sequence number comprises the window update package, do not divide.
Step s103, agency send ACK division back to the TCP transmitting terminal.
The concrete splitting method of this ACK may further comprise the steps as shown in Figure 2:
Step s201, the number that the ACK division is set and request sequence number.
When acting on behalf of when the TCP transmitting terminal sends ACK, in order to be without loss of generality, the sequence number of supposing the grouping bag of this ACK request of receiving from the TCP receiving terminal is N, is designated as ACK (N), and grouping bag size is MSS, send ACK (N) before the agency to the TCP transmitting terminal so, create the individual division of L (〉=1) ACK by the agency, such ACK has such feature: the acknowledgement number of this L ACK is all in that ((N-MSS) is N) in the scope, and have nothing in common with each other N wherein〉MSS).The request sequence number of this L ACK is set to N-L respectively, N-L+1 ... N-X ... N-2, N-1 (1≤X≤L<MSS).
Step s202, division ACK (N-X) and the header packet information of ACK (N) are set.
Connect the corresponding advertised window value that the local cache size is provided with each division ACK of acting on behalf of according to TCP, suppose that each agent entity cache size is M bytes, so, for division ACK (N-X) and ACK (N), its advertised window all is set to M bytes.
Step s203, the ACK after the TCP transmitting terminal sends division.
During transmission, according to ACK (N-L), ACK (N-L+1) ..., ACK (N-X) ... ACK (N-1), the order of ACK (N) sends to the TCP transmitting terminal together.
Slow the startup stage, the TCP transmitting terminal is whenever received a division ACK, and window all will increase by 1 MSS size; In congestion avoidance phase, the TCP transmitting terminal is whenever received a division ACK, and window all will increase the MSS*MSS/cwnd size.
Except that above-mentioned steps s201~s203, by the sharp algorithm of TCP Bark as can be known, the TCP receiving terminal is normally whenever received ACK of 2 TCP grouping bag back feedbacks, after the agency receives the ACK of TCP receiving terminal, prepare so when the TCP transmitting terminal sends ACK, can analyze which TCP grouping bag that this ACK accumulation has confirmed that the TCP receiving terminal receives earlier.Then, the several TCP grouping bags before last TCP grouping bag of confirming being sent ACK respectively confirms.For example, be that UE is an example with the TCP receiving terminal, the last response packet that sends of agency is ACK The agency(S1), the sequence number of receiving from the TCP receiving terminal this moment of replying is ACK UE(S2).As S2〉during S1, by checking that connecting corresponding proxy caching just has what TCP grouping bag to be confirmed by the accumulation of TCP receiving terminal as can be known, if the maximum sequence number bag Data (S3) that confirms, the agency will be accumulated less than each of S3 for sequence number and confirm that TCP grouping bag sends and confirm so, if total Y of the grouping bag that accumulation is confirmed, to increase Y-1 ACK through this operation so, ACK is confirmed in these newly-increased ACK and accumulation UE(S2) arrive the TCP transmitting terminal after, will speed up the expansion of source end congestion window, this can think the special circumstances that division ACK realizes.In addition, can trigger principle to these ACK, divide again according to above-mentioned division ACK.
The right and wrong of narrating above are ACK situation about being divided incidentally, and for ACK (referring to that ACK itself has carried data) incidentally, data length own is non-0, still divides according to above-mentioned splitting method, and the division ACK loaded length that obtains is 0.Sending order also be little acknowledged sequence number ACK preceding, big acknowledged sequence number ACK after, send to the TCP transmitting terminal together.
Embodiments of the invention also provide a kind of TCP processing method, purpose is to strengthen the TCP transmission performance, when being applied between TCP transmitting terminal and agency, the grouping packet loss take place, by create DupACK fast with the TCP transmitting terminal by starting the quick re-transmission that enters fast the lost packets bag slowly, and the fast quick-recovery after retransmitting fast in the stage by the DupACK that receives from the TCP receiving terminal is carried out a certain amount of duplicating, promote the data transmission capabilities of fast quick-recovery stage TCP transmitting terminal.Reason is as follows:
In the prior art, the TCP transmitting terminal just can enter quick re-transmission after receiving 3 DupACK that the TCP receiving terminal sends, with the grouping bag that recovers to lose.Therefore, after the agency detects the grouping packet loss, directly create DupACK and send to the TCP transmitting terminal, then can quicken the re-transmission of lost packets bag, shorten retransmitting the time that is spent.In addition, after the re-transmission stage finishes fast, can enter the fast quick-recovery stage usually.In the fast quick-recovery stage, the TCP transmitting terminal is whenever received the DupACK that a TCP receiving terminal sends, the cwnd message size that will progressively increase.Thereby the DupACK that receives from the TCP receiving terminal carried out a certain amount of duplicating, can promote the data transmission capabilities of fast quick-recovery stage TCP transmitting terminal.
In the embodiments of the invention, use proxy caching ordering techniques and agency's grouping packet loss to detect, duplicated DupACK on this basis.
The proxy caching sort method that uses in the embodiment of the invention is as follows:
Before carrying out the DupACK establishment, at first to detect the grouping packet loss, on the agency so this programme sorts to the data of coming from the TCP transmitting terminal.The principle of concrete ordering is:
At present the SN (Sequence Number, sequence number) that uses of TCP is one 32 a counter, from 0-4294967295 (promptly 2 32-1).TCP selects an ISN (Initial SequenceNumber, initial sequence number) for each connects, and in order to prevent to upset three-way handshake because of delay, re-transmission etc., ISN can not at will choose, and different system has algorithms of different.When grouping bag sequence number greater than ISN during less than maximum sequence number 4294967295, the agency whenever receives a grouping bag, will be according to its sequence number value, according to from little sequence number preceding, big sequence number after order (promptly from team's head toward tail of the queue, grouping bag sequence number is from small to large), in the proxy caching chained list, find correspondence position to insert.Distinguishingly, the grouping bag for the TCP transmitting terminal retransmits if exist in the chained list, directly abandons.When receiving the grouping bag that the generation sequence number is unrolled, be inserted in the back of maximum sequence number grouping bag.
The ordering of this proxy caching is the prerequisite that the agency detects the grouping packet loss, and the grouping bag that it can avoid arriving the TCP receiving terminal takes place out of order, thereby avoids because the unnecessary DupACK of the out of order TCP of causing receiving terminal transmission.
The agency who uses in the embodiment of the invention packet loss detection method of dividing into groups is as follows:
Differentiating which TCP grouping bag need be retransmitted by the TCP transmitting terminal, and following several rule is arranged:
The TCP grouping of rule 1:IP or the failure of TCP layer CRC check wraps in the Agency and will directly abandon, and is retransmitted by the TCP transmitting terminal.
Rule 2: the TCP grouping bag that proxy caching overflows will be retransmitted by the TCP transmitting terminal.
Rule 3: at a proxy caching formation of having sorted, when the agency prepares to issue certain grouping bag, if find that the TCP receiving terminal returns the sequence number (being made as K) that ACK asks and do not exist in proxy caching, the reason that does not have to arrive may be that this grouping bag still is trapped in the network of TCP transmitting terminal place, also might in transmission course, lose, here, the agency according to losing processing, promptly also will be retransmitted it by the TCP transmitting terminal.
Based on above-mentioned proxy caching ordering techniques and agency's grouping packet loss detection method, in the embodiments of the invention, after the packet loss information that obtains dividing into groups, carry out and duplicate the DupACK function, as shown in Figure 3, idiographic flow is as follows:
Step s301, agency receive ACK or the DupACK that the TCP receiving terminal sends to the TCP transmitting terminal, and judgement need be created DupACK or duplicate the DupACK that receives according to this ACK.
Concrete, judge that the method that needs to create DupACK is:
When receiving ACK, wrap between TCP transmitting terminal and the agency and lose, need establishment DupACK and send to the TCP transmitting terminal if local cache, then is judged as grouping for grouping empty and that this ACK asked does not wrap in when not existing in the local cache.
Concrete, the method that judgement need be duplicated DupACK is:
Receive the DupACK that the TCP receiving terminal sends to the TCP transmitting terminal, judge that described TCP transmitting terminal will enter the fast quick-recovery stage, if the congestion window size that estimate described TCP transmitting terminal this moment less than acting on behalf of the local cache size, is then duplicated the DupACK that makes new advances according to described DupACK and is sent to described TCP transmitting terminal.
The method of estimating the congestion window size of described TCP transmitting terminal is specially:
Safeguard the Agency and the estimated value TPE_cwnd of a TCP transmitting terminal cwnd to safeguard that simultaneously a TCP transmitting terminal starts the estimated value TPE_ssthresh. of thresholding ssthresh slowly.The initial value that TPE_cwnd is set is 2 MSS sizes, and the initial value of TPE_ssthresh. is the receive window size of TCP receiving terminal.
When acting on behalf of when the TCP transmitting terminal sends DupACK (being that the grouping packet loss takes place between TCP transmitting terminal and agency), the TCP transmitting terminal will be prepared this grouping bag of losing of re-transmission.At this moment, the agency becomes min (TPE_cwnd, Agent Advertisement is given the window of TCP transmitting terminal)/2 with TPE_cwnd and TPE_ssthresh, if follow-uply entered the fast quick-recovery stage, act on behalf of and whenever send a DupACK to the TCP transmitting terminal, TPE_cwnd just increases by 1 MSS size.Subsequently, after the agency receives the affirmation of retransmission packet bag, think that then the TCP transmitting terminal will enter congestion avoidance procedure, at this moment, act on behalf of whenever that TPE_cwnd just increases progressively the MSS*MSS/TPE_cwnd size to ACK of TCP transmitting terminal transmission.
Therefore, when the TCP transmitting terminal is in fast quick-recovery during the stage, the congestion window size TPE_cwnd according to the TCP transmitting terminal of estimating to obtain can judge whether to duplicate DupACK: as TPE_cwnd during less than the proxy caching size, carry out the DupACK behavior of duplicating so; Otherwise, do not duplicate the DupACK behavior.
Step s302, when need creating DupACK, the agency creates DupACK according to the ACK that receives and sends to the TCP transmitting terminal.
Request ACK according to the TCP receiving terminal, after detecting the grouping packet loss, its advertised window size of carrying is set to the proxy caching size corresponding to this connection, create 3 DupACK according to this ACK then, and issue the TCP transmitting terminal together, make the TCP transmitting terminal retransmit the grouping bag that this is lost fast.Above-described right and wrong are the ACK situation incidentally, for ACK situation incidentally, creates by the TCP/IP head that duplicates this ACK.
Step s303, in the time of need duplicating DupACK, the agency duplicates DupACK according to the DupACK that receives and sends to the TCP transmitting terminal.
For the DupACK that sends from the TCP receiving terminal, with window modification is the same with 3 DupACK that duplicate previously, judge whether then to carry out and duplicate DupACK, if carry out, so this DupACK is duplicated the DupACKs of a certain amount of (as 1), then with this DupACK with duplicate DupACK and send to the TCP transmitting terminal together, carry out and top identical operations for other DupACK of follow-up arrival agency.Above-described right and wrong are the ACK situation incidentally, for ACK situation incidentally, duplicates DupACK by the TCP/IP head that duplicates this DupACK.
Step s304, agency receive the TCP receiving terminal to after the replying of this retransmission packet bag, be the corresponding cache size of acting on behalf of with window modification, send to the TCP transmitting terminal then.
After the retransmission packet bag arrives the agency from the TCP transmitting terminal, need to judge whether the agency had received the grouping bag of this sequence number: if the grouping bag of this sequence number is in proxy caching, this shows that transmitting this grouping bag has for the first time taken place out of order, but still before the retransmission packet bag, arrive the agency, in this case, directly abandon the retransmission packet bag of arrival.If the grouping bag of this sequence number not in proxy caching, illustrates so that this grouping wraps in TCP transmitting terminal place network and taken place to abandon.At this moment, after the agency receives this retransmission packet bag, will be inserted into relevant position in the proxy caching formation according to numeric order equally, if sequence numbers of all grouping bags so directly are inserted into team's head with this retransmission packet bag all greater than this retransmission packet bag in the formation.
The method that the embodiment of the application of the invention provides has been quickened the growth of TCP transmitting terminal congestion window by the ACK division, thereby has been shortened the slow start-up course of TCP transmitting terminal, has improved the transmission speed of congestion avoidance phase TCP transmitting terminal; Make the TCP transmitting terminal in addition after send window reduces, can quickly recover to maximum.
By creating/duplicate DupACK, thereby shortened the slow start-up course of TCP transmitting terminal, quickened the TCP transmitting terminal and retransmitted the grouping bag of being lost fast, and provide sufficient more data for eating dishes without rice or wine, thereby the phenomenon of avoiding to a greater degree eating dishes without rice or wine not have data to pass takes place in the fast quick-recovery stage.
If wired side time delay is big more, it is just obvious more to divide the beneficial effect that ACK, establishment/duplicate DupACK brings so.
Embodiments of the invention also provide a kind of agent functionality entity, are applied to TCP and handle, and as shown in Figure 4, comprising:
Receiving element 11 is used to receive the ACK that the TCP receiving terminal sends to the TCP transmitting terminal;
Judging unit 12 is used to judge whether and need the ACK that described receiving element receives be divided;
Division processing unit 13 is used for described ACK is split into a plurality of ACK, and ACK after the described division and described ACK is sent to the TCP transmitting terminal.
Wherein, the division processing unit further comprises:
The division number is provided with subelement 131, is used to be provided with number, the request sequence number of ACK division;
Header packet information is provided with subelement 132, is used to be provided with the header packet information that divides the ACK that obtains;
Send subelement 133, be used for the ACK after the described division is sent to the TCP transmitting terminal.
Embodiments of the invention also provide a kind of agent functionality entity, are applied to TCP and handle, and as shown in Figure 5, comprising:
Receiving element 21 is used to receive ACK or the DupACK that the TCP receiving terminal sends to the TCP transmitting terminal;
Judging unit 22 is used to judge whether need create DupACK to the ACK that described receiving element receives or judge whether and need the DupACK that described receiving element receives be duplicated;
Create processing unit 23, be used to create DupACK, and described ACK and the DupACK that establishment obtains are sent to described TCP transmitting terminal.
Replication processes unit 24 is used to duplicate described DupACK, and with described DupACK with duplicate the DupACK that obtains and send to described TCP transmitting terminal.
This agent functionality entity also comprises:
Buffer memory sequencing unit 25 is used for carrying out the buffer memory ordering at the grouping bag that local cache sends the TCP transmitting terminal;
Packet loss detection unit 26 is used to obtain the grouping bag that needs request TCP transmitting terminal retransmits.
This agent functionality entity also comprises:
Retransmission packet receiving element 27, after being used to receive the retransmission packet bag of described TCP transmitting terminal transmission, judge whether to receive the grouping bag of described sequence number: the grouping bag of described sequence number directly abandons when local cache; Otherwise be inserted into relevant position in the local cache formation according to the sequence number of described grouping bag according to numeric order, if sequence numbers of all grouping bags then directly are inserted into team's head with described retransmission packet bag all greater than described retransmission packet bag in the formation.
A kind of agent functionality entity also is provided in the embodiments of the invention, is applied to TCP and handles, comprising:
Act on behalf of judging unit, be used to judge that the data that needs quicken between described TCP receiving terminal and the TCP transmitting terminal send;
The agent processes unit is used for described TCP receiving terminal is handled to respond packet ACK or the duplicate responses bag DupACK that described TCP transmitting terminal sends;
Act on behalf of transmitting element, be used for respond packet ACK after the described processing or duplicate responses bag DupACK are sent to described TCP transmitting terminal, send with the data of quickening between described TCP receiving terminal and the TCP transmitting terminal.
Above-mentioned agent processes unit can specifically comprise:
First judgment sub-unit is used to judge and need divides to the ACK that described TCP transmitting terminal sends described TCP receiving terminal; Subelement is handled in division, is used for the ACK that described needs divide is divided processing, and described ACK is split into a plurality of ACK.
Above-mentioned agent processes unit further specifically comprises:
Second judgment sub-unit is used to judge whether needs establishment DupACK or duplicates the DupACK that receives from described TCP receiving terminal; The replication processes subelement is used for described second judgment sub-unit and is judged as in the time of need duplicating DupACK, duplicates described DupACK and described DupACK and the DupACK that duplicates are sent to the described transmitting element of acting on behalf of; Create to handle subelement, when being used for described judgment unit judges and creating DupACK, create DupACK, and the DupACK that obtains of the ACK that the TCP receiving terminal is sent and creating acts on behalf of the transmitting element transmission to described for needs.
The equipment that the embodiment of the application of the invention provides has quickened the growth of TCP transmitting terminal congestion window by the ACK division, thereby has shortened the slow start-up course of TCP transmitting terminal, has improved the transmission speed of congestion avoidance phase TCP transmitting terminal.Make the TCP transmitting terminal in addition after send window reduces, can quickly recover to big value.
Retransmit the distolateral grouping bag of losing of transmission fast by creating/duplicate DupACK acceleration TCP transmitting terminal, can provide sufficient more data for eating dishes without rice or wine, thereby the phenomenon of avoiding to a greater degree eating dishes without rice or wine not have data to pass takes place.
If wired side time delay is big more, it is just obvious more to divide the beneficial effect that ACK, establishment/duplicate DupACK brings so.
Through the above description of the embodiments, those skilled in the art can be well understood to the present invention and can realize by the mode that software adds essential general hardware platform, can certainly pass through hardware, but the former is better execution mode under a lot of situation.Based on such understanding, the part that technical scheme of the present invention contributes to prior art in essence in other words can embody with the form of software product, this obtains the machine software product and is stored in the storage medium, comprises that some instructions are used so that a station terminal equipment is carried out the described method of each embodiment of the present invention.
More than disclosed only be several specific embodiment of the present invention, still, the present invention is not limited thereto, any those skilled in the art can think variation all should fall into protection scope of the present invention.

Claims (16)

1. a wireless transmission control protocol TCP processing method is applied to the agency between TCP transmitting terminal and TCP receiving terminal, it is characterized in that, comprising:
Judge that the data that need to quicken between described TCP receiving terminal and the TCP transmitting terminal send;
Described TCP transmitting terminal is handled and sent to described TCP receiving terminal to respond packet ACK or the duplicate responses bag DupACK that described TCP transmitting terminal sends, send with the data of quickening between described TCP receiving terminal and the TCP transmitting terminal.
2. the method for claim 1 is characterized in that, the described respond packet ACK that the TCP receiving terminal is sent to described TCP transmitting terminal handles and sends to described TCP transmitting terminal and comprises:
Receive the TCP receiving terminal to the respond packet ACK that the TCP transmitting terminal sends, described ACK is divided;
Described ACK is split into a plurality of ACK and send to described TCP transmitting terminal.
3. method as claimed in claim 2 is characterized in that, judgement is divided described ACK and comprised: estimate the congestion window size of TCP transmitting terminal, when described congestion window size is big or small less than local cache, judges described ACK is divided.
4. method as claimed in claim 3 is characterized in that, the congestion window size of described estimation TCP transmitting terminal comprises:
Safeguard the estimated value TPE_cwnd of the congestion window size of described TCP transmitting terminal the Agency, and the TCP transmitting terminal starts the estimated value TPE_ssthresh of thresholding slowly, and initial value is set;
The data that receive from described TCP transmitting terminal exist during acting on behalf of local cache, or the data that send of TCP transmitting terminal are when being firmly established, judge that described TCP transmitting terminal enters slow the startup stage, described slow the startup stage, every to ACK of described TCP transmitting terminal transmission, described TPE_cwnd increases MSSbytes;
As TPE_cwnd during more than or equal to TPE_ssthresh, judge that described TCP transmitting terminal enters congestion avoidance phase, in described congestion avoidance phase, whenever send an ACK to described TCP transmitting terminal, TPE_cwnd increases progressively MSS*MSS/TPE_cwnd bytes;
Wherein said MSS is the size of each TCP grouping bag.
5. method as claimed in claim 2 is characterized in that, describedly ACK is split into a plurality of ACK comprises:
Number, the request sequence number of ACK division are set, and the header packet information that divides the ACK that obtains;
ACK is split into a plurality of ACK.
6. method as claimed in claim 5 is characterized in that, the number of the described ACK of setting division and request sequence number comprise:
For the request sequence number that receives from the TCP receiving terminal is the ACK (N) of N, creates L by the agency and divides ACK, and the request sequence number of a described L ACK is set to N-L respectively, N-L+1 ... N-X ... N-2, N-1.
7. method as claimed in claim 5 is characterized in that, the described header packet information that divides the ACK that obtains that is provided with comprises:
Connect the corresponding local cache size of acting on behalf of according to TCP, the advertised window value in header packet information of each division ACK is set.
8. as each described method of claim 2 to 7, it is characterized in that, describedly ACK is split into a plurality of ACK and after described TCP transmitting terminal sends, also comprise:
According to the ACK of described TCP receiving terminal, analyze the TCP grouping bag that described ACK accumulation has confirmed that described TCP receiving terminal receives, each the TCP grouping bag before last TCP grouping bag of described affirmation is sent ACK respectively.
9. the method for claim 1 is characterized in that, the described duplicate responses bag DupACK that the TCP receiving terminal is sent to described TCP transmitting terminal handles and sends to described TCP transmitting terminal and comprises:
Create DupACK or duplicate the DupACK that receives from described TCP receiving terminal;
Described establishment or the DupACK that duplicates are sent to described TCP transmitting terminal.
10. method as claimed in claim 9 is characterized in that, described judgement need be created DupACK and comprise:
When receiving ACK, wrap between TCP transmitting terminal and the agency and lose if local cache, then is judged as described grouping for empty and its grouping of asking wrap in when not existing in the local cache, judging needs establishment DupACK and send to described TCP transmitting terminal.
11. method as claimed in claim 9 is characterized in that, described judgement need be duplicated DupACK and be comprised:
Receive the DupACK that the TCP receiving terminal sends to the TCP transmitting terminal, judge that described TCP transmitting terminal will enter the fast quick-recovery stage, need duplicate the DupACK that makes new advances and send according to described DupACK if the congestion window size that estimate described TCP transmitting terminal this moment less than the local cache size, is then judged to described TCP transmitting terminal.
12. method as claimed in claim 11 is characterized in that, the congestion window size of described estimation TCP transmitting terminal comprises:
Estimated value TPE_cwnd and TCP transmitting terminal in the congestion window size of the described TCP transmitting terminal of local maintenance start the estimated value TPE_ssthresh of thresholding slowly, and initial value is set;
After the DupACK of establishment some sends to described TCP transmitting terminal, make described TCP transmitting terminal enter the quick re-transmission stage, TPE_cwnd and TPE_ssthresh are set to min (TPE_cwnd, Agent Advertisement is given the window of TCP transmitting terminal)/2; Described TCP transmitting terminal enters the fast quick-recovery stage;
In the described fast quick-recovery stage, every to DupACK who comprises DupACK and duplicate DupACKs of described TCP transmitting terminal transmission, TPE_cwnd increases MSSbytes; After receiving affirmation to the retransmission packet bag from the TCP receiving terminal, described TCP transmitting terminal enters congestion avoidance procedure, whenever sends an ACK to described TCP transmitting terminal, and TPE_cwnd increases progressively MSS*MSS/TPE_cwnd.
13. method as claimed in claim 9 is characterized in that, describedly will create or duplicate the DupACK that obtains and send to the TCP transmitting terminal and comprise:
After detecting the grouping packet loss according to the ACK of described TCP receiving terminal, its advertised window size of carrying is set to the local cache size corresponding to described connection, and create a plurality of DupACK according to described ACK, the DupACK of described ACK and described establishment is sent to described TCP transmitting terminal together;
For the follow-up DupACK that receives from the TCP receiving terminal, described advertised window size is revised as the size of creating the identical advertised window of DupACK with the front, described DupACK is duplicated a certain amount of DupACKs, then with described DupACK with duplicate DupACKs and send to the TCP transmitting terminal together.
14. an agent functionality entity is applied to TCP and handles, and it is characterized in that, comprising:
Act on behalf of judging unit, be used to judge that the data that needs quicken between described TCP receiving terminal and the TCP transmitting terminal send;
The agent processes unit is used for described TCP receiving terminal is handled to respond packet ACK or the duplicate responses bag DupACK that described TCP transmitting terminal sends;
Act on behalf of transmitting element, be used for respond packet ACK after the described processing or duplicate responses bag DupACK are sent to described TCP transmitting terminal, send with the data of quickening between described TCP receiving terminal and the TCP transmitting terminal.
15. agent functionality entity as claimed in claim 14 is characterized in that, described agent processes unit specifically comprises:
First judgment sub-unit is used to judge and need divides to the ACK that described TCP transmitting terminal sends described TCP receiving terminal;
Subelement is handled in division, is used for the ACK that described needs divide is divided processing, and described ACK is split into a plurality of ACK.
16. agent functionality entity as claimed in claim 14 is characterized in that, described agent processes unit specifically comprises:
Second judgment sub-unit is used to judge whether needs establishment DupACK or duplicates the DupACK that receives from described TCP receiving terminal;
The replication processes subelement is used for described second judgment sub-unit and is judged as in the time of need duplicating DupACK, duplicates described DupACK, and described DupACK and the DupACK that duplicates are sent to the described transmitting element of acting on behalf of;
Create to handle subelement, when being used for described judgment unit judges and creating DupACK, create DupACK, and the DupACK that obtains of the ACK that the TCP receiving terminal is sent and creating acts on behalf of the transmitting element transmission to described for needs.
CN2008102120500A 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment Expired - Fee Related CN101369877B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102120500A CN101369877B (en) 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710301784 2007-12-27
CN200710301784.1 2007-12-27
CN2008102120500A CN101369877B (en) 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210286713.XA Division CN102891883B (en) 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment

Publications (2)

Publication Number Publication Date
CN101369877A true CN101369877A (en) 2009-02-18
CN101369877B CN101369877B (en) 2012-08-22

Family

ID=40413527

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2008102120500A Expired - Fee Related CN101369877B (en) 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment
CN201210286713.XA Expired - Fee Related CN102891883B (en) 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210286713.XA Expired - Fee Related CN102891883B (en) 2007-12-27 2008-09-16 Wireless transmission control protocol processing method and equipment

Country Status (1)

Country Link
CN (2) CN101369877B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195941A (en) * 2010-03-11 2011-09-21 鼎桥通信技术有限公司 Improved method and device for realizing transmission control protocol (TCP) proxy
WO2013091180A1 (en) * 2011-12-21 2013-06-27 华为技术有限公司 Method, device and system for determining initial file transmission speed
US8509080B2 (en) 2009-06-29 2013-08-13 The Chinese University Of Hong Kong Network traffic accelerator
CN107491356A (en) * 2017-08-28 2017-12-19 广州市百果园信息技术有限公司 Message treatment method, terminal device and server based on sequence number
WO2019104725A1 (en) * 2017-12-01 2019-06-06 华为技术有限公司 Packet transmission method, apparatus, and system
CN111669431A (en) * 2020-05-07 2020-09-15 深圳华锐金融技术股份有限公司 Message transmission method and device, computer equipment and storage medium
CN112491871A (en) * 2020-11-25 2021-03-12 北京宝兰德软件股份有限公司 TCP (Transmission control protocol) recombination method and device, electronic equipment and storage medium
CN114629856A (en) * 2022-05-16 2022-06-14 湖南戎腾网络科技有限公司 Congestion control method and device, electronic equipment and readable storage medium
CN116566914A (en) * 2023-07-07 2023-08-08 灵长智能科技(杭州)有限公司 Bypass TCP acceleration method, device, equipment and medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125159B (en) * 2014-07-29 2017-09-12 福建星网锐捷网络有限公司 A kind of congestion bandwidth detection method, apparatus and system
JP2016063382A (en) * 2014-09-18 2016-04-25 富士通株式会社 Communication system, communication method, and forwarding equipment
CN105934922B (en) * 2014-12-19 2019-10-25 华为技术有限公司 It is a kind of prevent TCP connection interrupt device, system and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001510957A (en) * 1997-07-14 2001-08-07 ノキア ネットワークス オサケ ユキチュア Telecommunications network flow control
US6958997B1 (en) * 2000-07-05 2005-10-25 Cisco Technology, Inc. TCP fast recovery extended method and apparatus
AU2002253437A1 (en) * 2002-04-12 2003-10-27 Nokia Corporation System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network
US7593338B2 (en) * 2003-06-27 2009-09-22 Samsung Electronics Co., Ltd. Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
CN100550891C (en) * 2003-09-05 2009-10-14 华为技术有限公司 Improve the method for wireless network transmissions performance
CN101114999B (en) * 2007-08-26 2010-08-04 上海华为技术有限公司 Data transmission control method and data transmission set

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509080B2 (en) 2009-06-29 2013-08-13 The Chinese University Of Hong Kong Network traffic accelerator
CN102195941A (en) * 2010-03-11 2011-09-21 鼎桥通信技术有限公司 Improved method and device for realizing transmission control protocol (TCP) proxy
CN102195941B (en) * 2010-03-11 2014-03-12 鼎桥通信技术有限公司 Improved method and device for realizing transmission control protocol (TCP) proxy
WO2013091180A1 (en) * 2011-12-21 2013-06-27 华为技术有限公司 Method, device and system for determining initial file transmission speed
CN107491356A (en) * 2017-08-28 2017-12-19 广州市百果园信息技术有限公司 Message treatment method, terminal device and server based on sequence number
WO2019104725A1 (en) * 2017-12-01 2019-06-06 华为技术有限公司 Packet transmission method, apparatus, and system
CN111669431A (en) * 2020-05-07 2020-09-15 深圳华锐金融技术股份有限公司 Message transmission method and device, computer equipment and storage medium
CN112491871A (en) * 2020-11-25 2021-03-12 北京宝兰德软件股份有限公司 TCP (Transmission control protocol) recombination method and device, electronic equipment and storage medium
CN114629856A (en) * 2022-05-16 2022-06-14 湖南戎腾网络科技有限公司 Congestion control method and device, electronic equipment and readable storage medium
CN116566914A (en) * 2023-07-07 2023-08-08 灵长智能科技(杭州)有限公司 Bypass TCP acceleration method, device, equipment and medium
CN116566914B (en) * 2023-07-07 2023-09-19 灵长智能科技(杭州)有限公司 Bypass TCP acceleration method, device, equipment and medium

Also Published As

Publication number Publication date
CN101369877B (en) 2012-08-22
CN102891883A (en) 2013-01-23
CN102891883B (en) 2014-12-31

Similar Documents

Publication Publication Date Title
CN101369877B (en) Wireless transmission control protocol processing method and equipment
JP5523350B2 (en) Method and apparatus for TCP flow control
JP4283589B2 (en) COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
KR100785293B1 (en) System and Method for TCP Congestion Control Using Multiple TCP ACKs
US7965674B2 (en) Sub-segment based transport layer protocol for wireless medium
Lin et al. TCP fast recovery strategies: Analysis and improvements
CN1836418B (en) Method and system for improved tcp performance during packet reordering
JP4587053B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
JP2002152308A (en) Data communication system, data communication method, and recording medium with communication program recorded therein
WO2008044653A1 (en) Communication system, communication device, and communication method
KR102046792B1 (en) Method of transporting data from sending node to destination node
KR100547749B1 (en) Congestion Control Method and System of Transmission Control Protocol to Reduce the Number of Retransmission Timeouts
US20070223492A1 (en) Methods and apparatus for optimizing a TCP session for a wireless network
US20070133414A1 (en) Method for faster detection and retransmission of lost TCP segments
JP5080654B2 (en) Communication device and communication method
JP7067544B2 (en) Communication systems, communication devices, methods and programs
CN104580171B (en) The transmission method of Transmission Control Protocol, device and system
KR100913897B1 (en) Method for controlling congestion of TCP for reducing the number of retransmission timeout
KR100952228B1 (en) Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same
JP2003224547A (en) Method for controlling flow
KR101933175B1 (en) Mediatioin appratus mediating communication betwwen server and client
Ye et al. Petri net approach to improving SACK TCP resilience
Schüler et al. Performance improvements for TCP in mobile networks with high packet delay variations
Miyake et al. TCP Enhancement Using Recovery of Lost Retransmissions for NewReno TCP
Landström et al. TCP-Aix: making TCP robust to reordering and delay variations

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

Termination date: 20210916