CN105610840B - Data receiver method, device and network interface card - Google Patents

Data receiver method, device and network interface card Download PDF

Info

Publication number
CN105610840B
CN105610840B CN201511032143.1A CN201511032143A CN105610840B CN 105610840 B CN105610840 B CN 105610840B CN 201511032143 A CN201511032143 A CN 201511032143A CN 105610840 B CN105610840 B CN 105610840B
Authority
CN
China
Prior art keywords
window
tcp
data
receives
hand edge
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.)
Active
Application number
CN201511032143.1A
Other languages
Chinese (zh)
Other versions
CN105610840A (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 CN201511032143.1A priority Critical patent/CN105610840B/en
Publication of CN105610840A publication Critical patent/CN105610840A/en
Application granted granted Critical
Publication of CN105610840B publication Critical patent/CN105610840B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

An embodiment of the present invention provides a kind of data receiver method, device and network interface cards, are related to field of data transmission, the method includes:Window reception data are received according to TCP, the left hand edge by the way that TCP to be received to window reduces TCP by way of moving to right target range and receives window;When the right hand edge of TCP reception windows is not up to the edge upper limit, TCP by way of receiving the right hand edge of window moving to right TCP after zoom receives window, and executes reduce the step of TCP receives window in such a way that the left hand edge that TCP is received to window moves to right target range again;When the right hand edge of TCP reception windows reaches the edge upper limit, it executes again and reduces the step of TCP receives window in such a way that the left hand edge that TCP is received to window moves to right target range, when TCP receives window and is contracted to close, data DMA that historical reception is arrived to user's space.Solve the problems, such as that data transmission can interrupt in the prior art.

Description

Data receiver method, device and network interface card
Technical field
The present embodiments relate to field of data transmission, more particularly to a kind of data receiver method, device and network interface card.
Background technology
Meeting Data Transport Protocol (English:Transmission Control Protocol, referred to as:TCP data) In transmission process, after transmitting terminal sends TCP data packet to receiving terminal, the network interface card in receiving terminal will receive the TCP data packet, and By the TCP data packet direct memory access (English:Directional Memory Access, referred to as:DMA) to central processing Device (English, Central Processing Unit, referred to as:CPU), the TCP data packet is copied to user's space by CPU.
Zero-copy reception technique refers to network interface card directly by the TCP data packet DMA received to user's space, and centre is not necessarily to CPU is participated in, and then reduces the load of CPU, improves the technology of the performance of CPU.A kind of data based on zero-copy reception technique connect Receiving method includes:Network interface card receives window reception TCP data packet according to TCP, and the left hand edge that TCP is received to window moves to right the TCP numbers Distance corresponding to size of data according to packet, when the left hand edge that TCP receives window is moved to right to right hand edge namely TCP reception windows When being contracted to close, network interface card is by the TCP data packet DMA received to user's space.Hereafter, confirm that user's space receives in CPU When still can store data in data and user's space, CPU sends window open command to network interface card, and network interface card receives the window After open command, reopens a TCP and receives window, and window is received according to the TCP reopened and continues to data, Until being filled with data in user's space.Wherein, when the TCP that last time is opened receives close, network interface card is accumulative to be received The size of data of the data arrived is equal to the space size of user's space.
In said program, data still can be stored in the user space, but after TCP reception windows are closed, Transmitting terminal will be unable to continue transmission data to network interface card, and data transmission will interrupt.
Invention content
In order to solve in the prior art in the case where user's space still can store data, since TCP receives window The problem of data transmission is interrupted caused by closing, an embodiment of the present invention provides a kind of data receiver method, device and Network interface card, the technical solution is as follows:
In the data transmission procedure for meeting TCP, the head setting of TCP, should there are one the field of the reception window of 16bit Field is used to inform the size of data that the transmitting terminal of data is currently able to the data received, namely for indicating to receive the slow of data Rush the size in area.Under normal conditions, the size which indicates is referred to as the window size that TCP receives window by us.
The window size that TCP receives window can constantly reduce with the size of data of the data received.Specifically, After network interface card receives the data of transmitting terminal transmission, become smaller to characterize the data that network interface card can receive, network interface card can pass through The left hand edge that the TCP is received to window moves to right the mode of the distance corresponding to the size of data of the data received to reduce this TCP receives window.For example, when network interface card receives the data of 10kb, illustrate that network interface card can continue to the data of the data received Size will reduce 10kb, so at this point, the left hand edge that the TCP can be received window by network interface card moves to right the distance corresponding to 10kb. In this way, with the reception of data, TCP, which will receive window, constantly to be reduced, when TCP reception windows are contracted to close, transmitting terminal Cannot be again to network interface card transmission data, DRP data reception process terminates.
Wherein, at runtime, application process can apply for that a user's space, the user are empty to each application process in CPU Between space size be needed for receive data size of data.The initial position that TCP receives the left hand edge of window corresponds to The initial position of the user's space.
It, should in the embodiment of the present invention in a first aspect, provide a kind of data receiver method unlike said program Data receiver method includes:
At runtime, application process can apply for a user's space to each application process in CPU, the user's space Space size is the size of data of the required data received.In embodiments of the present invention, in order to enable network interface card can receive The data of the space size of user's space can be pre-set in network interface card there are one the edge upper limit, when TCP receives the left side of window When edge is moved to right to the edge upper limit, the size of data of the accumulative data received of network interface card is identical as the space size of user's space, Full user's space cannot be filled without there are the data received, or the data received can overflow asking for user's space Topic.Wherein, the edge upper limit is attainable for the right hand edge for the TCP reception windows being arranged according to the space size of user's space Maximum upper limit.
In real data receive process, network interface card receives the data that window reception transmitting terminal is sent according to the TCP of unlatching, After the data for receiving transmitting terminal transmission, reduced in such a way that the left hand edge of TCP reception windows is moved to right target range TCP receives window, which is the distance corresponding to the size of data of the data received;Hereafter, network interface card detection TCP connects Whether the right hand edge for receiving window reaches the edge upper limit, if the not up to edge upper limit, the right hand edge of window is received by moving to right TCP Mode zoom after TCP receive window, and execute again and TCP is reduced according to the size of data of data received receive The step of window;And when the right hand edge that testing result is TCP reception windows reaches the edge upper limit, according to the number continued to According to size of data continue to zoom out TCP and receive window, and when TCP receives close, total data that historical reception is arrived DMA is to user's space.
When right hand edge by receiving window in TCP is not up to the edge upper limit, the right hand edge of window is received by moving to right TCP Mode come amplify TCP receive window, and according to amplified TCP receive window continue to data, until TCP receive window Right hand edge when reaching the edge upper limit and TCP and receiving close, the data DMA that accumulative will be received to user's space;It solves The problem of TCP receives close when can also store data in user's space in the prior art, data-transmission interruptions, reaches It can to avoid the effect of data-transmission interruptions.
In the first possible realization method of first aspect, by way of the right hand edge that window is received moving to right TCP TCP after zoom receives the step of window and may include:
The right hand edge of TCP reception windows after diminution is moved to right to the distance of the size of data of the data received;
The left hand edge that window is received according to the TCP after diminution determines that amplified TCP receives the left hand edge of window;Alternatively, Determine that amplified TCP receives the window size of window.
The possible realization method of with reference to first aspect the first, in second of possible realization method, above-mentioned determination Amplified TCP receives the step of window size of window and may include:
According to the summation of the size of data for the data that the TCP after diminution receives the window size of window and receives, determine Amplified TCP receives the window size of window;
Alternatively,
The window size that window is received according to the TCP before diminution determines that amplified TCP receives the window size of window.
The possible realization method of with reference to first aspect the first, in the third possible realization method, according to diminution The left hand edge that TCP afterwards receives window determines that amplified TCP receives the left hand edge of window;Alternatively, determining that amplified TCP connects Before the window size for receiving window, method further includes:
TCP after detection moves to right receives whether the right hand edge of window is more than the edge upper limit;
If testing result is more than the edge upper limit, determine that amplified TCP receives the right of window according to the edge upper limit Edge;
The left hand edge that window is received according to the TCP before the right hand edge of determining TCP reception windows and amplification, determines amplification TCP afterwards receives the window size of window;
And if testing result is to be less than the edge upper limit, is executed true according to the left hand edge of the TCP reception windows after diminution Fixed amplified TCP receives the left hand edge of window;Alternatively, determining the step of amplified TCP receives the window size of window.
Whether the right hand edge that window is received by before amplification TCP receives window, detecting the TCP after moving to right reaches edge The edge upper limit is determined as the right hand edge that amplified TCP receives window, avoids TCP and connect by the upper limit when reaching the edge upper limit The problem of right hand edge for receiving window can be more than the upper limit and then cause the data received that can overflow user's space.
With reference to first aspect, in the possible realization method of the first of first aspect to the 4th kind of possible realization method It is any, in the 5th kind of possible realization method, when the right hand edge of TCP reception windows is not up to the edge upper limit, pass through the right side It moves before the TCP reception windows after the mode zoom for the right hand edge that TCP receives window, method further includes:
It detects whether to meet the window amplification condition that TCP receives window;
If meeting window amplification condition, executes when the right hand edge of TCP reception windows is not up to the edge upper limit, pass through the right side The step of TCP moved after the mode zoom for the right hand edge that TCP receives window receives window.
The 5th kind of possible realization method with reference to first aspect detects itself in the 6th kind of possible realization method Whether window amplification condition that TCP receive window is met, including:
Whether detection data reception pattern is zero-copy reception pattern;
And/or
Whether TCP after detection is reduced receives the window size of window less than predetermined threshold value.
With reference to first aspect, in the possible realization method of the first of first aspect to the 4th kind of possible realization method It is any, in the 7th kind of possible realization method, after amplification TCP receives window, notice message is sent to the hair of data Sending end, notice message are used to notify the amplified TCP of transmitting terminal to receive the window size of window.
Specifically, network interface card can send the TCP message to transmitting terminal after amplification TCP receives window every time.Alternatively, When the size of data of the data received reaches the preset ratio for the window size that TCP receives window, the TCP message is sent extremely Transmitting terminal.
After receiving window in amplification TCP, sends and receive window for the amplified TCP of notification data transmitting terminal The TCP message of window size is to transmitting terminal so that transmitting terminal can continue to send number to network interface card according to the TCP message received According to avoiding data caused by receiving close due to TCP that transmitting terminal is safeguarded and send the problem of interrupting.
Before sending TCP message to transmitting terminal, if being preset with TCP between transmitting terminal and receiving terminal receives window Spreading factor, then network interface card current TCP can be received to the window size divided by the spreading factor of window, and the result that will be obtained Carrying is sent to transmitting terminal in TCP message.
Second aspect provides a kind of data sink, which may include at least one unit, should At least one unit for realizing above-mentioned first aspect data receiver method.
The third aspect provides a kind of network interface card, which includes the data sink described in second aspect.
Description of the drawings
To describe the technical solutions in the embodiments of the present invention more clearly, make required in being described below to embodiment Attached drawing is briefly described, it should be apparent that, drawings in the following description are only some embodiments of the invention, for For those of ordinary skill in the art, without creative efforts, other are can also be obtained according to these attached drawings Attached drawing.
Fig. 1 is the schematic diagram of the implementation environment involved by each embodiment of the present invention.
Fig. 2 is the schematic diagram of data sink provided by one embodiment of the present invention.
Fig. 3 A are the method flow diagrams of data receiver method provided by one embodiment of the present invention.
Fig. 3 B are another method flow diagrams of data receiver method provided by one embodiment of the present invention.
Fig. 4 A are the method flow diagrams for the data receiver method that another embodiment of the present invention provides.
Fig. 4 B are the schematic diagrames for the window variation that the TCP that another embodiment of the present invention provides receives window.
Fig. 4 C are another method flow diagrams for the data receiver method that another embodiment of the present invention provides.
Fig. 4 D are the yet another method flow charts for the data receiver method that another embodiment of the present invention provides.
Fig. 4 E are another schematic diagrames for the window variation that the TCP that another embodiment of the present invention provides receives window.
Fig. 5 is the block diagram of data sink provided by one embodiment of the present invention.
Fig. 6 is the block diagram for the data sink that another embodiment of the present invention provides.
Specific implementation mode
In order to make the object, technical scheme and advantages of the embodiment of the invention clearer, below in conjunction with the embodiment of the present invention In attached drawing, technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiment is A part of the embodiment of the present invention, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art The every other embodiment obtained without creative efforts, shall fall within the protection scope of the present invention.
Referring to FIG. 1, showing it illustrates the implementation environment involved by all or part of exemplary embodiment of the invention It is intended to.As shown in Figure 1, may include network interface card 110 and CPU120 in the implementation environment.
Network interface card 110 is the network interface card with Transmission Control Protocol offloading functions.In actual implementation, which can be to include TCP Unload engine (English:TCP Offload Engine, referred to as:TOE) chip, integrated circuit (English:Application Specific Integrated Circuit, referred to as:ASIC), any one of programmable logic device or network processing unit Network interface card.
The user's space for storing the data received is provided in CPU120.Optionally, which can have One, it is possibility to have at least two, and each user's space corresponds to an application process.In actual implementation, the user's space Space size as need the size of data of the data received.
In various embodiments of the present invention, it can be pre-set in network interface card there are one the edge upper limit, which is The upper limit being arranged according to the space size of user's space.Specifically, when the TCP right hand edges for receiving window reach the edge upper limit, And left hand edge is when moving to right to the edge upper limit, network interface card according to TCP receive the size of data of the accumulative data received of window with should The space size of user's space is identical, namely the data received can just fill completely entire user's space, be not in use Family space cannot fill the problem of data that are full or receiving can overflow user's space.
Referring to FIG. 2, the structural representation of the data sink provided it illustrates an illustrative embodiment of the invention Figure.The data sink can be implemented as all or part of in network interface card 110 shown in FIG. 1, and the present embodiment is with data Reception device is implemented as the whole of network interface card to illustrate.The network interface card may include:Processor 220 is connected with processor 220 Communication interface 240.It will be understood by those skilled in the art that network interface card structure shown in Figure 2 does not constitute the restriction to network interface card, May include either combining certain components or different components arrangement than illustrating more or fewer components.For example, network interface card Further include memory 260 and power supply etc..Wherein:
Processor 220 is the control centre of network interface card, using the various pieces of various interfaces and the entire network interface card of connection, is led to It crosses operation or executes the software program and/or module being stored in memory 260, and call and be stored in memory 260 Data execute the various functions and processing data of network interface card, to carry out whole control to network interface card.Optionally, processor 220 can wrap Include one or more processing cores;Optionally, processor 220 can integrate application processor and modem processor, wherein answer With the main processing operation system of processor, user interface and application program etc., modem processor mainly handles wireless communication. It is understood that above-mentioned modem processor can not also be integrated into processor 220, above-mentioned modem processor can Become a chip to be implemented separately.
Communication interface 240 is used to receive the data of data sending terminal transmission, alternatively, sending data to CPU.
Memory 260 can be used for storing software program and module.Processor 220 is stored in memory 260 by operation Software program and module, to perform various functions application and data processing.Memory 260 can include mainly storage journey Sequence area and storage data field, wherein storing program area can storage program area 261, receiving module 262, amplification module 263, hair Send the application program 265 etc. needed for module 264 and at least one other function;Storage data field can store the use according to network interface card Data (such as audio data, phone directory etc.) created etc..In addition, memory 260 can by any kind of volatibility or Non-volatile memory device or combination thereof are realized.
A is please referred to Fig.3, it illustrates the method flow diagrams of data receiver method provided by one embodiment of the present invention, originally Embodiment is in the data receiver method for being illustrated in network interface card 110 shown in FIG. 1.As shown in Figure 3A, the data receiver Method may include:
Step 301, window reception data are received according to TCP, the left hand edge by the way that TCP to be received to window moves to right target range Mode reduce TCP receive window.
Target range is the distance corresponding to the size of data of the data received, and the window size that TCP receives window is used In the size for the buffering area for indicating to receive data.
Step 302, when the right hand edge of TCP reception windows is not up to the edge upper limit, the right side of window is received by moving to right TCP TCP after the mode zoom at edge receives window, and executes receive window reception data according to TCP again, by by TCP The mode that the left hand edge of reception window moves to right target range reduces the step of TCP receives window.
The edge upper limit is in the attainable maximum of right hand edge according to the pre-set TCP receptions window of user's space Limit.
Step 303, it when the right hand edge of TCP reception windows reaches the edge upper limit, executes connect according to TCP reception windows again Data are received, the left hand edge by the way that TCP to be received to window reduces the step of TCP receives window by way of moving to right target range, in TCP When receiving window and being contracted to close, data DMA that historical reception is arrived to user's space.
In conclusion data receiver method provided in this embodiment, the right hand edge by receiving window in TCP is not up to side When the edge upper limit, amplifies TCP by way of the right hand edge of window is received moving to right TCP and receive window, and according to amplified TCP It receives window and continues to data, until when the right hand edge that TCP receives window reaches the edge upper limit and TCP reception closes, By the accumulative data DMA received to user's space;Solves TCP when can also store data in user's space in the prior art The problem of reception close, data-transmission interruptions, having achieved the effect that can be to avoid data-transmission interruptions.
Above-described embodiment is to be received when being not up to the edge upper limit to receive the right hand edge of window in TCP by moving to right TCP The mode of the right hand edge of window is amplified TCP reception windows and is come for example, optionally, B is please referred to Fig.3, in amplification TCP reception windows Before mouthful, following steps can also be performed in network interface card:
Step 304, it detects whether to meet the window amplification condition that TCP receives window.
Corresponding step 302 could alternatively be:If meeting window amplification condition, the right hand edge of window is received not in TCP When reaching the edge upper limit, the TCP by way of the right hand edge of window is received moving to right TCP after zoom receives window, and again Secondary execute receives window reception data according to TCP, and the left hand edge by the way that TCP to be received to window reduces by way of moving to right target range TCP receives the step of window.Similar, step 303 could alternatively be:If meeting window amplification condition, window is received in TCP Right hand edge when reaching the edge upper limit, execute again and window reception data received according to TCP, by the left side that TCP is received to window The mode that edge moves to right target range reduces the step of TCP receives window, when TCP reception windows are contracted to close, by history The data direct memory access DMA received is to user's space.
And if testing result be unsatisfactory for window amplify condition, at this point, network interface card can be according to the TCP reception windows after diminution Mouth continues to data, and continues to zoom out the window size that TCP receives window according to the size of data of the data received, When TCP receives window and is contracted to close, network interface card is by the data DMA received to user's space.The present embodiment does not do this superfluous It states.
Wherein, step 304 may include at least one of possible realization method of the following two kinds:
The first, whether detection data reception pattern is zero-copy reception pattern.
Second, whether the TCP after detection is reduced receives the window size of window less than predetermined threshold value.
It is following that the above situation will be explained in different embodiments for above-mentioned two situations.
A is please referred to Fig.4, it illustrates the method flow diagrams of data receiver method provided by one embodiment of the present invention, originally Embodiment is used in the data receiver method in network interface card shown in FIG. 1, and network interface card passes through the first above-mentioned possible realization method It is detected and comes for example, as shown in Figure 4 A, which may include:
Step 401, the context configuration information of CPU configurations is received, based on context configuration information opens TCP reception windows Mouthful.
Before receiving terminal receives the data that transmitting terminal is sent, the CPU in receiving terminal can first configure context configuration information To network interface card, the context configuration information that network interface card is configured according to CPU receives window to open TCP, and then is received according to the TCP of unlatching Window receives data.Wherein, context configuration information may include configuration data receiver pattern, the space of user's space it is big Small and user's space physical address;Data receiver pattern can be common reception pattern or zero-copy reception pattern.
The step of CPU configuration data reception patterns may include:CPU detects the space size of user's space and TCP is received Whether the window size of window is compared to sufficiently large;If sufficiently large, it is determined that data receiver pattern is zero-copy reception pattern;And if It is not sufficiently large, it is determined that data receiver pattern is common reception pattern.
Wherein, whether the space size of CPU detections user's space is sufficiently large compared with TCP receives the window size of window Step may include:Whether the difference that the space size and TCP of CPU detection user's spaces receive between the window size of window reaches To threshold value;Alternatively, whether the space size that CPU can detect user's space is more than the window size that m*TCP receives window.M is Default value.
The initial window size that TCP receives window can be size specified in agreement.For example, TCP receives the window of window Mouth size can be 100kb.
Step 402, window reception data are received according to TCP, the left hand edge by the way that TCP to be received to window moves to right target range Mode reduce TCP receive window.
Target range is the distance corresponding to the size of data of the data received.For example, receiving the window of window with TCP For size is 100kb, 41 windows in B are please referred to Fig.4, after network interface card receives the data of 10kb, network interface card can be by TCP The left hand edge for receiving window moves to right the distance corresponding to 10kb.
Since in TCP data transmission process, data are transmitted in a manner of TCP data packet, so network interface card also will be corresponding Receive data by way of receive TCP data packet.The size of data of the data received can be a TCP data packet Size, or the size of multiple data packets, the present embodiment do not limit this.
Step 403, whether detection data reception pattern is zero-copy reception pattern.
Reduce TCP receive window window size after, network interface card can detect current data receiver pattern whether be Zero-copy reception pattern.Optionally, the data receiver that network interface card can be to configure in context configuration information that detection history receives Whether pattern is zero-copy reception pattern.
Step 404, if data receiver pattern is zero-copy reception pattern, detect TCP receive window right hand edge whether Reach the edge upper limit.
The edge upper limit is in the attainable maximum of right hand edge according to the pre-set TCP receptions window of user's space Limit.In actual implementation, the edge upper limit is the position of user's space terminated corresponding to physical address.That is, when TCP is received The right hand edge of window is the edge upper limit, and when TCP reception closes, network interface card receives the number that window receives according to TCP According to size of data be equal to user's space space size.
And if it is common reception pattern that testing result, which is data receiver pattern, illustrates to be unsatisfactory for window amplification item at this time Part, hereafter the present embodiment does not limit for flow.
Step 405, if the right hand edge that TCP receives window is not up to the edge upper limit, the TCP after diminution is received into window Right hand edge moves to right the distance of the size of data of the data received.
If testing result, which is the right hand edge of TCP reception windows, is not up to the edge upper limit, illustrate network interface card according to TCP reception windows Mouthful accumulative data received can't fill up entire user's space, at this time in order to avoid can also continue to store in the user space After data but TCP receive close, the problem of data-transmission interruptions, the TCP after diminution can be received window by network interface card Right hand edge moves to right the distance of the size of data of the data received.
For example, please refer to Fig.4 42 windows in B, after network interface card receives the data of 10kb, network interface card is by the TCP after diminution The right hand edge for receiving window moves to right the distance corresponding to 10kb.
Step 406, the left hand edge that window is received according to the TCP after diminution determines that amplified TCP receives the left side of window Edge;Alternatively, determine that amplified TCP receives the window size of window, determining that amplified TCP receives window and then secondary Execute step 402.
After moving to right TCP and receiving the right hand edge of window, network interface card can determine that amplified TCP receives window, and according to Determining TCP receives window and continues to data.
Wherein, network interface card determines that the step of amplified TCP receives window may include the possible realization method of the following two kinds:
(1), network interface card determines that amplified TCP receives the left side of window according to the left hand edge of the TCP reception windows after diminution Edge.
The left hand edge that TCP after diminution is received window by network interface card is determined as the left hand edge that amplified TCP receives window, by Determining left hand edge and right hand edge determines that amplified TCP receives window jointly.
(2), network interface card determines that amplified TCP receives the window size of window.
This step may include the possible realization method of the following two kinds:
A, the summation of the window size of window and the size of data of the data received is received according to the TCP after diminution, really Fixed amplified TCP receives the window size of window.
In one possible implementation, network interface card can calculate reduce after TCP receive window window size and The summation being calculated is determined as the window that amplified TCP receives window by the summation of the size of data of the data received Size.Namely:Amplified TCP receives the window size of window=TCP after diminution receives the window size of window+and receives Data size of data.The amplified TCP for being received the right hand edge of window by determining amplified TCP and being calculated The window size for receiving window uniquely determines the window size that amplified TCP receives window.
Wherein, when amplifying for the first time, the size of data of the data received is:Current time and the initial time for receiving data Between add up the size of data of data received;When n-th is amplified, the size of data of the data received is:Current time With the size of data of the last data amplified and received between the moment, n>1.
B, the window size that window is received according to the TCP before diminution determines that amplified TCP receives the window size of window.
In alternatively possible realization method, the window size that the TCP before diminution can also be received window by network interface card is straight It connects and is determined as the window size that amplified TCP receives window.For example, it is 100kb still to receive the initial size of window with TCP It illustrates, it is 100kb that network interface card, which can determine to obtain amplified TCP to receive the window size of window,.
After determining that amplified TCP receives window, network interface card can receive window according to amplified TCP and continue to Data, namely step 402 is executed again.
Step 407, if the right hand edge that TCP receives window reaches the edge upper limit, step 402 is executed again, is received in TCP When window is contracted to close, data DMA that historical reception is arrived to user's space.
If the right hand edge that TCP receives window has reached the edge upper limit, illustrate when TCP receives close, net The accumulative data received of card have been able to fill up entire user's space, at this point, network interface card can be according to the TCP reception windows after diminution Mouth continues to data, and continues to zoom out TCP according to the data received and receive window.Window is received in TCP to be contracted to close When, total data DMA that network interface card arrives historical reception to user's space.Optionally, the total data that network interface card arrives historical reception In user's space corresponding to the physical address of user's space in DMA to context configuration information.
It should be noted is that between step 405 and step 406, C is please referred to Fig.4, which may be used also To include the following steps:
Step 408, whether the right hand edge that the TCP after detection moves to right receives window is more than the edge upper limit.
After being moved to right due to the right hand edge of TCP reception windows, the right hand edge that TCP receives window may be more than on edge Limit, institute to avoid such case occur, network interface card move to right TCP receive window right hand edge after, network interface card can detect move to right after Right hand edge whether be more than the edge upper limit.
Step 409, if testing result is more than the edge upper limit, amplified TCP reception windows are determined according to the edge upper limit The right hand edge of mouth.
If testing result is more than the edge upper limit, at this point, the edge upper limit is determined as the TCP by network interface card receives window Right hand edge.For example, B is please referred to Fig.4, and after the right hand edge of TCP reception windows is moved to right X by network interface card, the right hand edge ab after moving to right More than edge upper limit max, then at this point, edge upper limit max can be determined as the right that amplified TCP receives window by network interface card Edge.
Step 410, the left hand edge of window is received according to the TCP before the right hand edge of determining TCP reception windows and amplification, It determines that amplified TCP receives the window size of window, is determining amplified TCP reception windows and then secondary execution step 402。
After determining the right hand edge that amplified TCP receives window, before network interface card is according to determining right hand edge and amplification TCP receive the right hand edge of window and can determine that amplified TCP receives window.For example, in conjunction with Fig. 4 B, network interface card can determine It obtains amplified TCP and receives window to be window 43.
Determining amplified TCP reception windows and then secondary execution step 402.
And if testing result be less than the edge upper limit, step 406 could alternatively be at this time:If testing result is not surpass The edge upper limit is crossed, then the left hand edge that window is received according to the TCP after diminution determines that amplified TCP receives the left hand edge of window; Alternatively, determining that amplified TCP receives the window size of window, amplified TCP reception windows and then secondary execution are being determined Step 402.
It needs to illustrate on the other hand, the present embodiment is to move to right the data received with the right hand edge of TCP reception windows Size of data corresponding to distance come for example, optional, the right hand edge that TCP receives window can also be moved to right and be preset Other distances, the present embodiment do not limit this.And when move to right it is preset other apart from when, amplified TCP The window size for receiving window can be the window size and other preset distances of the TCP reception windows after reducing Summation, details are not described herein for the present embodiment.
In conclusion data receiver method provided in this embodiment, the right hand edge by receiving window in TCP is not up to side When the edge upper limit, amplifies TCP by way of the right hand edge of window is received moving to right TCP and receive window, and according to amplified TCP It receives window and continues to data, until when the right hand edge that TCP receives window reaches the edge upper limit and TCP reception closes, By the accumulative data DMA received to user's space;Solves TCP when can also store data in user's space in the prior art The problem of reception close, data-transmission interruptions, having reached can be to avoid data-transmission interruptions and the effect of promotion TCP bandwidth Fruit.
In the present embodiment, CPU configure context configuration information to network interface card after, network interface card can be automatically performed data receiver with And TCP receives the step of window size adjustment of window, centre is not necessarily to the participation of CPU, further reduced the load of CPU, carries The high performance of CPU.Meanwhile it when receiving the window open command that CPU is sent this also avoids network interface card, being led due to instruction interaction The time delay of cause.
When user's space is larger, during network interface card receives the data of the space size of user's space, join without CPU With greatly reduce the load of CPU, improve the bandwidth of TCP.
It should be noted is that whether above-described embodiment is only that zero-copy receives with network interface card detection data reception pattern Pattern, and amplification TCP reception windows come for example, optional when it is zero-copy reception pattern that testing result, which is, network interface card is also Whether the window size that the TCP reception windows after reducing can be detected is less than predetermined threshold value, and amplifies when less than predetermined threshold value TCP receives window.That is, please referring to Fig.4 D, the step 403 in above-described embodiment could alternatively be:After detection is reduced Whether the window size that TCP receives window is less than predetermined threshold value.Correspondingly, step 404 could alternatively be:If less than default threshold Whether value, the then right hand edge for detecting TCP reception windows reach the edge upper limit.
Predetermined threshold value can be concrete numerical value such as 20kb, can also be the default of the initial window size that TCP receives window Percentage, for example, the predetermined threshold value can be the 30% of the initial window size that TCP receives window.
The original window size that window is received with TCP is 100kb, and predetermined threshold value is the window size that TCP receives window For 30%, E is please referred to Fig.4, when the window size that TCP after diminution receives window is less than 30kb, network interface card is by zoom TCP afterwards receives window.Specific amplification method is similar to the above embodiments, and details are not described herein for the present embodiment.
In addition, in actual implementation, after network interface card can also detect that data receiver pattern is zero-copy reception pattern and reduces TCP when receiving the window size of window and being less than predetermined threshold value, amplification TCP receives window, and the present embodiment do not limit this.
Need to illustrate on the other hand, in above-mentioned each embodiment, TCP after network interface card zoom receive window it Afterwards, network interface card can send TCP message to transmitting terminal.Wherein, TCP message is used to inform that the window of transmitting terminal TCP reception windows to be big It is small.
Optionally, network interface card send TCP message to the step of transmitting terminal may include the possible realization method of the following two kinds:
The first sends the TCP message to transmitting terminal after amplification TCP receives window every time.
Second, when the size of data of the data received reaches the preset ratio for the window size that TCP receives window, The TCP message is sent to transmitting terminal.
When the size of data of the data received reach TCP receive window window size preset ratio, such as 90% when, Transmitting terminal may think that TCP receives window and will close, at this point, in order to avoid the TCP that transmitting terminal is known receives close And then stopping the problem of transmission data causes data outage, network interface card can send TCP message to transmitting terminal.Wherein, in TCP message Carry the window size that current TCP receives window.
Wherein, it if being preset with the spreading factor that TCP receives window between transmitting terminal and receiving terminal, is sending Before TCP message to transmitting terminal, current TCP can be received the window size divided by the spreading factor of window by network interface card, and will The result carrying being calculated is sent to transmitting terminal in TCP message, and the present embodiment does not limit this.
By sending TCP message to transmitting terminal so that transmitting terminal can learn that amplified TCP receives the window of window Size avoids when the TCP of self maintained receives close, does not continue to, to receiving terminal transmission data, data be caused to send out The problem of sending interruption.
What is needed to add explanation is that above-mentioned data receiver method can call depositing for network interface card by the processor of network interface card more again Respective modules in reservoir are realized.
Referring to FIG. 5, it illustrates the block diagram of data sink provided by one embodiment of the present invention, such as Fig. 5 institutes Show, which may include:Receiving unit 510, window amplifying unit 520 and data transmission unit 530.
Receiving unit 510, for receiving window reception data according to transmission control protocol TCP, by receiving the TCP The mode that the left hand edge of window moves to right target range reduces the TCP receptions window;
Window amplifying unit 520 passes through the right side when right hand edge for receiving window in the TCP is not up to the edge upper limit The TCP moved after the mode zoom for the right hand edge that the TCP receives window receives window;The receiving unit 510, also For amplifying in the window amplifying unit 520, the TCP receives window and then secondary execution is described according to TCP reception windows Data are received, the left hand edge by the way that the TCP to be received to window reduces the TCP by way of moving to right target range and receives window Step;The edge upper limit is attainable most for the right hand edge for receiving window according to the pre-set TCP of user's space The big upper limit;
The receiving unit 510 is additionally operable to when the right hand edge of TCP reception windows reaches the edge upper limit, then Secondary execution is described to receive window reception data according to TCP, and the left hand edge by the way that the TCP to be received to window moves to right target range Mode reduces the step of TCP receives window;Data transmission unit 530 is contracted to close for receiving window in the TCP When, data direct memory access DMA that historical reception is arrived to the user's space.
In conclusion data sink provided in this embodiment, the right hand edge by receiving window in TCP is not up to side When the edge upper limit, amplifies TCP by way of the right hand edge of window is received moving to right TCP and receive window, and according to amplified TCP It receives window and continues to data, until when the right hand edge that TCP receives window reaches the edge upper limit and TCP reception closes, By the accumulative data DMA received to user's space;Solves TCP when can also store data in user's space in the prior art The problem of reception close, data-transmission interruptions, having reached can be to avoid data-transmission interruptions and the effect of promotion TCP bandwidth Fruit.
Referring to FIG. 6, it illustrates the block diagram of data sink provided by one embodiment of the present invention, such as Fig. 6 institutes Show, which may include:Receiving unit 610, window amplifying unit 620 and data transmission unit 630.
Receiving unit 610, for receiving window reception data according to transmission control protocol TCP, by receiving the TCP The mode that the left hand edge of window moves to right target range reduces the TCP receptions window;
Window amplifying unit 620 passes through the right side when right hand edge for receiving window in the TCP is not up to the edge upper limit The TCP moved after the mode zoom for the right hand edge that the TCP receives window receives window;The receiving unit 610, also For amplifying in the window amplifying unit 620, the TCP receives window and then secondary execution is described according to TCP reception windows Data are received, the left hand edge by the way that the TCP to be received to window reduces the TCP by way of moving to right target range and receives window Step;The edge upper limit is attainable most for the right hand edge for receiving window according to the pre-set TCP of user's space The big upper limit;
The receiving unit 610 is additionally operable to when the right hand edge of TCP reception windows reaches the edge upper limit, then Secondary execution is described to receive window reception data according to TCP, and the left hand edge by the way that the TCP to be received to window moves to right target range Mode reduces the step of TCP receives window;Data transmission unit 630 is contracted to close for receiving window in the TCP When, data direct memory access DMA that historical reception is arrived to the user's space.
Optionally, the window amplifying unit 620, including:
Subelement 621 is moved to right, the right hand edge for the TCP after reducing to be received to window moves to right the number received According to size of data distance;
First determination subelement 622, the left hand edge for receiving window according to the TCP after diminution determine amplified The TCP receives the left hand edge of window;Alternatively, the second determination subelement 623, for determining the amplified TCP reception windows The window size of mouth.
Optionally, second determination subelement 623, is additionally operable to:
According to the total of the size of data for the data that the TCP after diminution receives the window size of window and receives With determine that the amplified TCP receives the window size of window;
Alternatively,
The window size that window is received according to the TCP before diminution determines that the amplified TCP receives the window of window Mouth size.
Optionally, the window amplifying unit 620 further includes:
Detection sub-unit 624, whether the right hand edge that window is received for detecting the TCP after moving to right is more than the edge The upper limit;
Third determination subelement 625, for being more than the edge upper limit in the testing result of the detection sub-unit 624 When, determine that the amplified TCP receives the right hand edge of window according to the edge upper limit;
4th determination subelement 626, the TCP for being determined according to the third determination subelement 625 receive window Right hand edge and amplification before the TCP receive the left hand edge of window, determine that the amplified TCP receives the window of window Size.
Optionally, first determination subelement 622 is additionally operable in the testing result of the detection sub-unit 624 be not More than the edge upper limit, the execution left hand edge according to the TCP reception windows after diminution determines amplified described TCP receives the step of left hand edge of window;
Alternatively,
Second determination subelement 623 is additionally operable to described to be less than in the testing result of the detection sub-unit 624 When the edge upper limit, the step of amplified TCP of the determination receives the window size of window is executed.
Optionally, when the right hand edge that window is received in the TCP is not up to the edge upper limit, by moving to right the TCP Before receiving the TCP reception windows after the mode zoom of the right hand edge of window, described device further includes:
Detection unit 640, before receiving window for the TCP after the window amplifying unit zoom, inspection Survey the window amplification condition that the TCP receives window that whether meets;
The window amplifying unit 620 is additionally operable in the testing result of the detection unit 640 be to meet the window to put When big condition, when the execution right hand edge for receiving window in the TCP is not up to the edge upper limit, connect by moving to right the TCP Receive the step of TCP after the mode zoom of the right hand edge of window receives window.
Optionally, the detection unit 640, is additionally operable to:
Whether detection data reception pattern is zero-copy reception pattern;
And/or
Whether the TCP after detection is reduced receives the window size of window less than predetermined threshold value.
Optionally, described device further includes:
Packet sending unit 650, for after amplifying the TCP and receiving window, sending notice message to the data Transmitting terminal, the notice message is used to notify the amplified TCP of the transmitting terminal to receive the window size of window.
In conclusion data sink provided in this embodiment, the right hand edge by receiving window in TCP is not up to side When the edge upper limit, amplifies TCP by way of the right hand edge of window is received moving to right TCP and receive window, and according to amplified TCP It receives window and continues to data, until when the right hand edge that TCP receives window reaches the edge upper limit and TCP reception closes, By the accumulative data DMA received to user's space;Solves TCP when can also store data in user's space in the prior art The problem of reception close, data-transmission interruptions, having reached can be to avoid data-transmission interruptions and the effect of promotion TCP bandwidth Fruit.
In the present embodiment, CPU configure context configuration information to network interface card after, network interface card can be automatically performed data receiver with And TCP receives the step of window size adjustment of window, centre is not necessarily to the participation of CPU, further reduced the load of CPU, carries The high performance of CPU.Meanwhile it when receiving the window open command that CPU is sent this also avoids network interface card, being led due to instruction interaction The time delay of cause.
When user's space is larger, during network interface card receives the data of the space size of user's space, join without CPU With greatly reduce the load of CPU, improve the bandwidth of TCP.
The embodiment of the present invention additionally provides a kind of network interface card, which may include Fig. 5 or data receiver shown in fig. 6 dress It sets, which can be used to implement above-mentioned data receiver method.
In conclusion network interface card provided in this embodiment, the right hand edge by receiving window in TCP is not up to the edge upper limit When, amplify TCP by way of the right hand edge of window is received moving to right TCP and receive window, and according to amplified TCP reception windows Mouth continues to data, until when the right hand edge that TCP receives window reaches the edge upper limit and TCP reception closes, will add up The data DMA received is to user's space;Solve TCP reception windows when can also store data in user's space in the prior art The problem of mouth is closed, data-transmission interruptions, having achieved the effect that can be to avoid data-transmission interruptions and promotion TCP bandwidth.
In the present embodiment, CPU configure context configuration information to network interface card after, network interface card can be automatically performed data receiver with And TCP receives the step of window size adjustment of window, centre is not necessarily to the participation of CPU, further reduced the load of CPU, carries The high performance of CPU.Meanwhile it when receiving the window open command that CPU is sent this also avoids network interface card, being led due to instruction interaction The time delay of cause.
When user's space is larger, during network interface card receives the data of the space size of user's space, join without CPU With greatly reduce the load of CPU, improve the bandwidth of TCP.
The embodiments of the present invention are for illustration only, can not represent the quality of embodiment.
One of ordinary skill in the art will appreciate that realizing that all or part of step of above-described embodiment can pass through hardware It completes, relevant hardware can also be instructed to complete by program, the program can be stored in a kind of computer-readable In storage medium, storage medium mentioned above can be read-only memory, disk or CD etc..
The foregoing is merely presently preferred embodiments of the present invention, is not intended to limit the invention, it is all the present invention spirit and Within principle, any modification, equivalent replacement, improvement and so on should all be included in the protection scope of the present invention.

Claims (17)

1. a kind of data receiver method, which is characterized in that the method includes:
Window reception data are received according to transmission control protocol TCP, the left hand edge by the way that the TCP to be received to window moves to right target The mode of distance reduces the TCP and receives window, and the target range is corresponding to the size of data of the data received Distance, the TCP receive window window size be used to indicate reception data buffering area size;
When the right hand edge of TCP reception windows is not up to the edge upper limit, the right hand edge of window is received by moving to right the TCP Mode zoom after the TCP receive window, and execute again it is described according to TCP receive window reception data, pass through The mode that the left hand edge of TCP reception windows is moved to right to target range reduces the step of TCP receives window;The edge Right hand edge attainable maximum upper limit of the upper limit to receive window according to the pre-set TCP of user's space, the use The space size in family space is the size of data of the data of required reception;
The TCP receive window right hand edge reach the edge upper limit when, execute again it is described according to TCP receive window connect Data are received, the left hand edge by the way that the TCP to be received to window reduces the step that the TCP receives window by way of moving to right target range Suddenly, when the TCP receives window and is contracted to close, data direct memory access DMA that historical reception is arrived to the user Space.
2. according to the method described in claim 1, it is characterized in that, the right hand edge for receiving window by moving to right the TCP Mode zoom after the TCP receive window, including:
By after diminution the TCP receive window right hand edge move to right corresponding to the size of data of the data received away from From;
The left hand edge that window is received according to the TCP after diminution determines that the amplified TCP receives the left hand edge of window;Or Person determines that the amplified TCP receives the window size of window.
3. according to the method described in claim 2, it is characterized in that, the amplified TCP of the determination receives the window of window Mouth size, including:
The summation of the window size and the size of data of the data received of window is received according to the TCP after diminution, Determine that the amplified TCP receives the window size of window;
Alternatively,
The window size that window is received according to the TCP before diminution determines that the window that the amplified TCP receives window is big It is small.
4. according to the method described in claim 2, it is characterized in that, the TCP according to after diminution receives a left side for window Edge determines that the amplified TCP receives the left hand edge of window;Alternatively, determining that the amplified TCP receives the window of window Before mouth size, the method further includes:
The TCP after detection moves to right receives whether the right hand edge of window is more than the edge upper limit;
If testing result is more than the edge upper limit, the amplified TCP reception windows are determined according to the edge upper limit The right hand edge of mouth;
The left hand edge that window is received according to the TCP before the right hand edge of determining TCP reception windows and amplification, determines The amplified TCP receives the window size of window.
5. according to the method described in claim 4, it is characterized in that, the method further includes:
If testing result is to be less than the edge upper limit, the left side that the TCP according to after diminution receives window is executed Edge determines that the amplified TCP receives the left hand edge of window;Alternatively, determining that the amplified TCP receives the window of window The step of mouth size.
6. method according to any one of claims 1 to 5, which is characterized in that the right hand edge for receiving window in the TCP Not up to the edge upper limit when, the TCP by way of the right hand edge of window is received moving to right the TCP after zoom is received Before window, the method further includes:
It detects whether to meet the window amplification condition that the TCP receives window;
If meeting the window amplification condition, executes the right hand edge for receiving window in the TCP and be not up to the edge upper limit When, the step of TCP by way of the right hand edge of window is received moving to right the TCP after zoom receives window.
7. according to the method described in claim 6, it is characterized in that, described detect whether to meet the window that the TCP receives window Mouth amplification condition, including:
Whether detection data reception pattern is zero-copy reception pattern;
And/or
Whether the TCP after detection is reduced receives the window size of window less than predetermined threshold value.
8. method according to any one of claims 1 to 5, which is characterized in that the method further includes:
After amplifying the TCP and receiving window, notice message is sent to the transmitting terminal of the data, the notice message is used for The amplified TCP of the transmitting terminal is notified to receive the window size of window.
9. a kind of data sink, which is characterized in that described device includes:
Receiving unit, for receiving window reception data according to transmission control protocol TCP, by the way that the TCP is received window The mode that left hand edge moves to right target range reduces the TCP receptions window;
Window amplifying unit, it is described by moving to right when the right hand edge for receiving window in the TCP is not up to the edge upper limit TCP receives the TCP reception windows after the mode zoom of the right hand edge of window;The receiving unit is additionally operable in institute It states the window amplifying unit amplification TCP reception windows and then secondary execution is described according to TCP reception window reception data, lead to It crosses and the TCP is received to the left hand edge of window moves to right the mode of target range and reduce the step of TCP receives window;The side Right hand edge attainable maximum upper limit of the edge upper limit to receive window according to the pre-set TCP of user's space, it is described The space size of user's space is the size of data of the data of required reception;
The receiving unit is additionally operable to, when the right hand edge of TCP reception windows reaches the edge upper limit, execute institute again It states and window reception data is received according to TCP, the left hand edge by the way that the TCP to be received to window reduces by way of moving to right target range The TCP receives the step of window;Data transmission unit, for when TCP reception windows are contracted to close, history to be connect The data direct memory access DMA received is to the user's space.
10. device according to claim 9, which is characterized in that the window amplifying unit, including:
Subelement is moved to right, the right hand edge for the TCP after reducing to be received to window moves to right the number of the data received According to the distance of size;
First determination subelement, the left hand edge for receiving window according to the TCP after diminution determine the amplified TCP Receive the left hand edge of window;Alternatively, the second determination subelement, for determining that the window that the amplified TCP receives window is big It is small.
11. device according to claim 10, which is characterized in that second determination subelement is additionally operable to:
The summation of the window size and the size of data of the data received of window is received according to the TCP after diminution, Determine that the amplified TCP receives the window size of window;
Alternatively,
The window size that window is received according to the TCP before diminution determines that the window that the amplified TCP receives window is big It is small.
12. device according to claim 10, which is characterized in that the window amplifying unit further includes:
Detection sub-unit, whether the right hand edge that window is received for detecting the TCP after moving to right is more than the edge upper limit;
Third determination subelement, when for the testing result in the detection sub-unit for more than the edge upper limit, according to institute It states the edge upper limit and determines that the amplified TCP receives the right hand edge of window;
4th determination subelement, the right hand edges of the TCP reception windows for being determined according to the third determination subelement with And the TCP before amplification receives the left hand edge of window, determines that the amplified TCP receives the window size of window.
13. device according to claim 12, which is characterized in that
First determination subelement is additionally operable in the testing result of the detection sub-unit be to be less than the edge upper limit, It executes the left hand edge that the TCP according to after diminution receives window and determines that the amplified TCP receives the left side of window The step of edge;
Alternatively,
Second determination subelement is additionally operable in the testing result of the detection sub-unit be to be less than the edge upper limit When, execute the step of amplified TCP of the determination receives the window size of window.
14. device according to any one of claims 9 to 13, which is characterized in that described the right for receiving window in the TCP When edge is not up to the edge upper limit, the TCP by way of the right hand edge of window is received moving to right the TCP after zoom connects Before receiving window, described device further includes:
Detection unit before receiving window for the TCP after the window amplifying unit zoom, detects whether full The window that the foot TCP receives window amplifies condition;
The window amplifying unit is additionally operable to when the testing result of the detection unit is to meet the window to amplify condition, Described in executing when the right hand edge of TCP reception windows is not up to the edge upper limit, the right side of window is received by moving to right the TCP The step of TCP after the mode zoom at edge receives window.
15. device according to claim 14, which is characterized in that the detection unit is additionally operable to:
Whether detection data reception pattern is zero-copy reception pattern;
And/or
Whether the TCP after detection is reduced receives the window size of window less than predetermined threshold value.
16. device according to any one of claims 9 to 13, which is characterized in that described device further includes:
Packet sending unit, for after amplifying the TCP and receiving window, sending transmission of the notice message to the data End, the notice message are used to notify the amplified TCP of the transmitting terminal to receive the window size of window.
17. a kind of network interface card, which is characterized in that it includes the data sink as described in claim 9 to 16 is any.
CN201511032143.1A 2015-12-31 2015-12-31 Data receiver method, device and network interface card Active CN105610840B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511032143.1A CN105610840B (en) 2015-12-31 2015-12-31 Data receiver method, device and network interface card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511032143.1A CN105610840B (en) 2015-12-31 2015-12-31 Data receiver method, device and network interface card

Publications (2)

Publication Number Publication Date
CN105610840A CN105610840A (en) 2016-05-25
CN105610840B true CN105610840B (en) 2018-09-11

Family

ID=55990378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511032143.1A Active CN105610840B (en) 2015-12-31 2015-12-31 Data receiver method, device and network interface card

Country Status (1)

Country Link
CN (1) CN105610840B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1778079A (en) * 2003-06-17 2006-05-24 思科技术公司 Methods and devices for the coordination of flow control between a TCP/IP network and other networks
CN101540769A (en) * 2008-03-19 2009-09-23 索尼株式会社 Information processing unit, client device, information processing method and system
CN103324592A (en) * 2013-06-24 2013-09-25 华为技术有限公司 Data migration control method, data migration method and data migration device
CN104022998A (en) * 2013-03-01 2014-09-03 北京瑞星信息技术有限公司 Network transmission data virus detection processing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631110B (en) * 2008-07-15 2013-01-02 国际商业机器公司 Device and method for dynamically determining connection building mechanism based on relative position

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1778079A (en) * 2003-06-17 2006-05-24 思科技术公司 Methods and devices for the coordination of flow control between a TCP/IP network and other networks
CN101540769A (en) * 2008-03-19 2009-09-23 索尼株式会社 Information processing unit, client device, information processing method and system
CN104022998A (en) * 2013-03-01 2014-09-03 北京瑞星信息技术有限公司 Network transmission data virus detection processing method
CN103324592A (en) * 2013-06-24 2013-09-25 华为技术有限公司 Data migration control method, data migration method and data migration device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于通用平台的TCP/IP协议还原技术研究;王耕;《中国优秀硕士学位论文全文数据库 信息科技辑》;20091115(第11期);第I139-171页 *

Also Published As

Publication number Publication date
CN105610840A (en) 2016-05-25

Similar Documents

Publication Publication Date Title
US10594609B2 (en) System and method of providing improved throughput control under delay-based congestion situation in a network
KR102463978B1 (en) How to switch networks, electronic devices and systems on a chip
US11570021B2 (en) Packet processing method and network device in hybrid access network
WO2017071442A1 (en) Load sharing method, apparatus and system
US20190377703A1 (en) Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
JP2017502545A5 (en)
EP2996275B1 (en) Link processing method and mobile terminal in multiplexing control protocol
CN104081736A (en) System and method for scheduling packet transmission on a client device
KR20110138240A (en) Method, apparatus and computer program product for providing an indication of device to device communication availability
US20180110080A1 (en) Mobile phone wifi accelerator and method
JP6595112B2 (en) Data transmission method and apparatus, and terminal
WO2011158467A1 (en) Data transmission device and data transmission method
WO2014043224A1 (en) Apparatus and method for optimizing semi-active workloads
CN107637122A (en) The communication terminal and method of traffic congestion are uploaded for handling
CN104521220B (en) Message processing method and equipment
US20080192633A1 (en) Apparatus and method for controlling data flow in communication system
CN114513472A (en) Network congestion control method and device
CN107846715A (en) Access point switching method and device of the Internet of Things based on transmission rate
CN105610840B (en) Data receiver method, device and network interface card
JP2014526827A (en) Selection of signal processing modules depending on network conditions
KR101943148B1 (en) Self Adaptive IoT Device and System
CN111641565B (en) Method, device and system for transmitting Ethernet message
KR20140060779A (en) Method and apparatus for controlling transmitting and receiving frame in ring network applied hsr protocol
US10009409B2 (en) Retransmission control network node and related method
CN113285887A (en) Device, single chip system and method for controlling flow between processing devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant