Saturday, 15 May 2010

increment - In TCP, is the SEQ number/SND.NXT incremented when sending pure ACKs -


So I understand, for the most part, how SEQ and ACK numbers are determined (SEEP = Sdn.ncc = ISN + bytes), ACK = RCV NXT = SEQ is expected from the next packet received). What I am thinking is that SEC increments (with SDN.NXT and SNDUNA) send pure ACK packets.

ex: (I'm giving client an a ISN = 1, and server B isn = 100)

  A -> (SEQ = 1, ACK = 100, LN = 412 bytes) (A) RCV. NXT = 100, SDNNC = 413, SNDUINA = 1 (B) RCV. NXT = 413, SDN.NET = 100, SDD .AnA = 100A & LT; - (SQ = 100, ACK = 413, LEN = 0) (A) RCV. NECC = 101, SDN NST = 413, SNDUENA = 413 (B) RCV. NECCT = 413, SDN Net = 101, SDUA = 101 ** (or 101?) ** A & lt; - (SEC = 101, ACK = 413, LN = 1448) (A) RCV. NXT = 101, SDN.NET = 413, SNDUANA = 413 (B) RCV. NXT = 413, sdn.net = 1549, SNDUENA = 101A - & gt; (SEQ = 413, ACK = 1549, LAN = 0) (A) RCV. NXT = 1549, sdn.net = 414, snd.una = 414 ** (or 413?) ** (b) RCV. NXT = 414, SND.NXT = 1549, SND.UNA = 1549  

It seems that whenever you send packets, every time the SDN Do you increase SND.NA? It seems arbitrarily instead and SND.UNA = ACK is an odd exception for assignment. However, I feel that if you do not do this then your SDN. At the end of an exchange will be closed by one.

Am I missing something?

Let's rewrite your example to keep things clear: initial SYN:

< Pre> A-ISN 1000B-ISN 2000A - & gt; ([SYN] SEQ = 1000, ACK = ----, LEN = 0 bytes) (A) RCV. NXT = ----, SND.NXT = 1001, SND.UNA = 1000 (B) RCV. NXT = 1001, SDN.Nax = 2000, SDDUA = ---- A and LT; - ([SYN, ACK] SEQ = 2000, ACK = 1001, LN = 0) (A) RCV. NXT = 2001, Sdn.net = 1001, SNDUENA = 1001 (B) RCV. NXT = 1001, sdn.net = 2001, SND.UNA = 2000A - & gt; (ACK) SEQ = 1001, ACK = 2001, LN = 0 bytes) (A) RCV. NXT = 2001, Sdn.net = 1001, SNDUENA = 1001 (B) RCV. NXT = 1001, SDN.NET = 2001, SDUUNA = 2001

This eliminates the installation of the TCP connection that the last packet in that sacocus is a "pure ACK", which is ACK signal and 0 There is a TCP packet with the length of the data. This does not forward the sender sequence number, for this does not advance snd.nxt or snd.una.


No comments:

Post a Comment