sockets - How does packet interaction with TCP Selective Acknowledgement work? -


Can anyone explain how packet interaction works with TCP select acknowledgment? I have got a definition on Wikipedia, but I can not find any clear picture that what is actually a clear receipt compared to positive receipt and negative receipt.

TCP breaks the information that it sends to segments ... essentially to the sections The parts of data that are obtained from the other end are not bigger than the current value of TCP MSS (maximum segment size), the sequence numbers are increasing in those parts (based on the total number of bytes sent in the TCP session) which is known to TCP Wants some flight lost; The first TCP sequence number is selected at random, and for security purposes it should not be a proxy random number. Most of the time, your local Ethernet MTU is smaller than the MSS, so they can send you many segments before ACK.

It is helpful to think about these things in the time sequence they have been standardized ...

Firstly positive acceptance , which tells the sender to you That is, you got the data, and the serial number you have given with ACK is the maximum byte sequence received the TCP part (aka segment) sent to it.

I will show you below, but in my examples, you will see a small number of TSP sections such as 1,2,3,4,5 ... in fact these byte-order numbers should be large, increase, and their The interval will be (but this is normal ... TCP usually sends data in at least 500 bytes).

So, suppose the sender xmits segment is 1,2,3,4,5 before sending your first ACK, if all goes well, then you get 1,2,3,4,5 For ACK sends and life is good. If 2 is lost, then everything is happening until the sender feels that 2 has never been acted; He knows because you send a duplicate ACK for 1. At the end of the appropriate time, the sender x3s again x3

Then the selected receipt was proposed as a way to make it more efficient. In this example, with ACK 1 and SACK segment 3 to 5 (if you If you use a sniffer, you will see something like "ACK: 1, SACK: 3-5" for the ACK packet) In this way, the sender knows that only TCP segment 2 is to be transmitted again ... then life Better than this, keep in mind that SACK has the edges of your received contiguous data Is defined; However, multiple non-infected data segments can be scaled at the same time.

Negative Approval The sender has a mechanism to tell only about the wrong data, if you do not tell them that they are missing something, they keep sending the data. , Until your uncle stopped.

HH, MM / P

Comments