我从课程中得到以下问题:
假设有一个可用的带宽为300Mbps的TCP连接,假设有些数据包的传输延迟非常大,在哪个延迟时间可能会出现严重问题,这是一个现实问题吗?
我计算了一个大约2分钟的延迟时间,在序列计数器中会有一个溢出(如果你认为它是从0开始的)。 根据RFC,序列计数器将溢出到零。 在RFC中我没有发现“如果发生这种情况”,但也许我忽略了它。
我的问题是:会发生什么? 这仅仅是TCP的限制吗? 有没有解决方法(除了使用更大的序列计数器)?
那么,相关的RFC告诉你如何做到这一点(并且实际上解决了这个问题)。 见http://www.apps.ietf.org/rfc/rfc1323.html第4节。
我不认为这个溢出本身就是一个问题,当你收到一个序列号在当前接收窗口内但实际上是从(4倍)到数据stream。 要发生这种情况,根据您的计算,数据包将不得不延迟两分钟(听起来似乎合理)。 在实践中,我不认为这会发生得太频繁,因为在所有中间系统中通常没有太多的缓冲空间(它也需要在4 GiB的数量级上)。