New-Bie doubt in TCP-IP 3 way hand shake

from my understanding

step 1:

From device A to device B , sending SYN.
SYN=1
ACK=0
Ackno=0
Sequence number=2000 [for example]

step 2:

from device B to A , sending SYN-ACK
SYN=1
ACK=1
ACKno=2001 [seq no +1]
Sequence number= 5000 [for example]

Step :3

From device A to B , sending ACK

SYN=0
ACK=1
ACKno=5001.
here is my doubt , as i saw in many examples why Sequence number will be 2001 ....?

hope you guys understood my question...

It means device B is expecting to hear sequence 2001 (ACK=2001). So in step 3, when ACK is send the SEQ will be 2001.

Refer: RFC 793 (Section 3.4)

1 Like

I think you are mixing up the sequence numbers and the acknowledgements numbers. They are not related.

thanks , i will be reading the RFC.

but why in step2 , sequence number was having no relation with acknowledge number , but in step3 why sequence number has to be the ACQnumber..?

is there any particular reason for that design..?

As per the design, if the ACK flag is set, then only the value of this field is the next sequence number that the receiver is expecting.