0
votes

This question is on a test review and I'm not really sure of the answer.

TCP packets are being sent from a client to a server. The MMS is equal to 1460 bytes, and each TCP packet is sent with the maximum capacity. How many TCP packets can be sent before the sequence number field in the TCP header will wrap around?

How much time in seconds will this take on a 1 Mbit/s link?

How much time in seconds will this take on a 1Gbit/s link?

Is there some sort of formula used to figure this out?

Thanks!

1
What do you think? Please note that unless you plan on writing code, and ask about things related to this code, this sort of question is off-topic for Stack Overflow. - Lasse V. Karlsen
Also, ACK and latency probably factors in. - Lasse V. Karlsen
My apologies. Where would be a better place to post it. And I think we are ignoring ACK and latency in this example - No Name

1 Answers

1
votes

Each TCP segments contains 1460 bytes, and sequence number in TCP header is 4 bytes=32 bits so there need to be send 2^32 bytes (because sequence number measure bytes and not bits) in order to sequence number field to wrap around.

In order to calculate the delay you need to consider:

  • Transmission time - time it takes to push the packet's bits onto the link.
  • Propagation time - time for a signal to reach its destination.
  • Processing delay - time routers take to process the packets header.
  • Queuing delay - time the packet spends in routing queues.

In your questions the transmission time is 1 Mbit/s and 1Gbit/s, and I assume the other delays are 0; so the time it will take to send 2^32 bytes= 8*2^32 bits on:

1 Mbit/s link: 8*2^32 / 10^6 = 34359 seconds

1Gbit/s link: 8*2^32 / 10^9 = 34 seconds

Hope this help you