When a host initiates a TCP session, its initial sequence number is effectively random; it may be any value between 0 and 4,294,967,295 ( 2^32 - 1 ), inclusive . The ISN (Initial Sequence Number) of a packet is not zero and assigned random value for the purpose SECURITY, preventing SPOOFING or HACKING or CONFLICTING with other data bytes transmitted over the data communication(TCP)! BUT By default, the We take these starting sequence numbers as zero, regardless of what these values really are. The purpose of this is to make sequence and acknowledgement number analysis simpler. These values will be referred to as relative sequence numbers to the connection. For sender side It has a send window and the receiver side has a corresponding recieve window Now as we are using Selective Repeat , this send window size= recieve window size Which is 32 Now minimum number of sequence number(frame numbers) required to communicate without any ambiguity is 64 So my sequence number space range from 0-63 200%32 = 8 (make set of 32, 0 to 31 ) 192 will get 31 193 =0 194=1 195 = 2 196=3 197=4 198=5 199=6 200 = 7 The sequence number of the frame to be sent after sending 200 frames is 8
Reference :
http://www.lovemytool.com/blog/2010/08/practical-tcp-series-sequence-and-acknowledgement-numbers-by-chris-greer.html
Read each and every comment in given reference thread .
I discussed there in this thread @alpha and @Manoj_Kumar
Reference
https://www.facebook.com/photo.php?fbid=1714487108878020&set=gm.1349075968457986&type=3&theater
and @firki lama This two source:
http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/
The sequence number of the frame to be sent after sending 200 frames
=> 201th frame is to be sent.
For 201th frame, frame number = 200 because the first frame number = 0.
Now, 200 mod 32 = 8.
64.3k questions
77.9k answers
244k comments
80.0k users