如何绕过发送的TCP最大文件大小?

时间:2016-11-15 00:28:23

标签: networking tcp

根据TCP,序列号用于表示字节而不是计数器。序列号是32位整数(~4.2 GB)。

如果我使用TCP直接发送文件,我不能超过这个数字。 对于旧的文件系统,这是可以的,但现在我们有超过这个大小的文件。

我认为应用程序层协议已被修改为绕过此限制,是否可以为此提供示例或至少列出使用的技术?

作为参考,问题是基于以下问题

教科书:计算机网络:James F. Kurose,Keith W. Ross的自上而下的方法。

  

P26。考虑将大量L字节文件从主机A传输到主机B.   假设MSS为536字节。   一个。 L的最大值是什么,TCP序列号不是   累?回想一下,TCP序列号字段有4个字节。

1 个答案:

答案 0 :(得分:2)

  

如果我使用TCP直接发送文件,我不能超过这个数字。

是的,你可以。你误会了。它包裹着。

  

P26。考虑将大量L字节文件从主机A传输到主机B.假设MSS为536字节。一个。 L的最大值是什么,TCP序列号没有用尽?回想一下,TCP序列号字段有4个字节。

'序列号未用尽'是出于此问题的目的的约束,但作者不一定声称这样的限制适用于任何TCP传输。如果他们是,他们显然是错的。考虑初始序列号是随机选择的,因此可以是2 ^ 32-1。这是否意味着限制一个字节的连接?当然不会。

我还注意到536字节的MSS与问题完全无关。可能这只是一个不合标准的文本。

编辑我现在找到了这个来源。你没有误解它。除了这个愚蠢的问题,书中没有关于TCP序列号耗尽的内容。没有什么关于它缠绕,这是一个奇怪的遗漏。 MSS用于本书问题的第二部分,这里没有引用。