Rohit Banga
Rohit Banga

Reputation: 18918

Maximum number of bytes that can be sent on a TCP connection

I initially assumed that since tcp has a sequence number field of 32 bits and each byte sent on a tcp connection is labeled with a unique number, maximum number of bytes that can be sent on a tcp connection is about 2^32-1 or 2^32-2 (which?).

but now I feel that since TCP is a sliding window protocol, the wraparound of sequence numbers during the connection should not have an affect on the maximum number of bytes that can be sent over a tcp connection as long as the when wraparound occurs the old packet is no longer in the network (it is sent after 2*MSL).

What is the correct answer?

Upvotes: 0

Views: 3033

Answers (2)

Anders Abel
Anders Abel

Reputation: 69260

There is no limit on the number of bytes that can be sent over a TCP connection. However there is a limit on the number of outstanding unacknowleged bytes before the sender stops sending, waiting for acks.

Originally the window size was limited to 64kB, but with window sliding it can be extended to 1GB. (Source: Wikipedia).

Upvotes: 2

Jakob Borg
Jakob Borg

Reputation: 24425

That there is indeed no limit on the amount of data you can transfer on a TCP connection.

Upvotes: 5

Related Questions