I have got the following question from a course:
"Assume a TCP connection over the internet with a useable bandwith of 300Mbps. Assume that some packets are transported with a very high delay. At which delay time serious problems may occure? Is this a realistic problem?"
I calculated that at a delay time of ~2 minutes, there will be an overflow within the sequence counter (if you assumed that it started with 0). According to RFC the sequence counter will overflow to zero. I found no "what to to if this happens" within the RFC, but maybe i overlooked it.
My question is: What will happen? Is this simply a limitation of TCP? Are there workarounds (except of using a larger sequence counter)?
Well, the relevant RFC tells you how to do this right (and actually solves the problem). See http://www.apps.ietf.org/rfc/rfc1323.html section 4.
I don't think the overflowing in itself is a problem, you'll only get a problem when you receive a packet with a sequence number that is inside the current receive window but is actually from (a multiple of) 4 GiB ago in the data stream. For this to happen, the packet would have to be delayed for two minutes according to your calculation (sounds plausible). In practice I don't think this would happen too often as there usually isn't that much buffer space in all intermediate systems (it would also need to be in the order of 4 GiB).