UDP is a message oriented protocol whereas TCP is a byte oriented protocol . Hence TCP transfers a contiguous stream of bytes. TCP assigns a sequence number to each byte transmitted . The receiving TCP uses the sequence numbers to rearrange the segments when they arrive out of order .
Good read ==> http://ssfnet.org/Exchange/tcp/tcpTutorialNotes.html
TCP has a sequence number field of 32 bits and hence with each byte , it assigns sequence number (0 to 232 - 1) to uniquely identify each byte sent and received . So, as the sequence number clock count starts from 0 and goes upto 232 - 1, then it wraps around and again starts from 0 . Hence, total time taken by sequence number clock to count from 0 to 232 -1 and then reversing back to 0 is called wrap around time .
A). TCP utilizes the full bandwidth = 40 gbps and each byte getting one sequence number ,so,
wrap around time = 232 B / (40/8) GBps = 0.858993 sec = 859 msec.
B). Now, an added time stamp field increments 1000 times every 859 msec .
So, 1 time in every 859 usec.
Also, 32 bit time stamp will count from (0 to 232 -1 ).
Hence , time taken by timestamp field to wrap will be ==> 232 X 859 usec ==>
3.68 X 1012 usec .