Максимальное количество байтов, которое можно отправить по TCP-соединению - PullRequest
0 голосов
/ 11 мая 2010

Первоначально я предполагал, что, поскольку tcp имеет поле порядкового номера из 32 битов, и каждый байт, отправленный по соединению tcp, помечен уникальным номером, максимальное количество байтов, которое может быть отправлено по соединению tcp, составляет около 2 1 или 2 ^ 32-2 (что?).

но теперь я чувствую, что, поскольку TCP является протоколом скользящего окна, перенос порядковых номеров во время соединения не должен влиять на максимальное количество байтов, которое может быть отправлено через соединение tcp, до тех пор, пока происходит обход старый пакет больше не находится в сети (он отправляется после 2 * MSL).

Какой правильный ответ?

Ответы [ 2 ]

5 голосов
/ 11 мая 2010

То, что на самом деле нет ограничений на количество данных, которые вы можете передавать по TCP-соединению.

2 голосов
/ 11 мая 2010

Нет ограничений на количество байтов, которые могут быть отправлены через TCP-соединение. Однако существует ограничение на количество ожидающих неподтвержденных байтов до того, как отправитель прекратит отправку, ожидая подтверждения.

Первоначально размер окна был ограничен 64 КБ, но при скольжении окна его можно увеличить до 1 ГБ. (Источник: Википедия ).

...