TCP包序列号

时间:2013-11-23 15:09:34

标签: tcp

这个问题是在测试评论中,我不确定答案。

TCP数据包正从客户端发送到服务器。 MMS等于1460字节,每个TCP数据包以最大容量发送。在TCP标头中的序列号字段将包围之前可以发送多少TCP数据包?

1 Mbit / s链路需要多长时间才能实现?

1Gbit / s链路需要多少时间才能实现?

是否有某种公式用于解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

每个TCP段包含1460个字节,TCP头中的序列号是4个字节= 32位所以需要发送2 ^ 32个字节(因为序列号测量字节而不是位)以便序列号字段包装周围。

为了计算您需要考虑的延迟:

  • 传输时间 - 将数据包的位推送到链路上所需的时间。
  • 传播时间 - 信号到达目的地的时间。
  • 处理延迟 - 路由器处理数据包标头所用的时间。
  • 排队延迟 - 数据包在路由队列中花费的时间。

在你的问题中,传输时间是1 Mbit / s和1Gbit / s,我假设其他延迟是0;所以发送2 ^ 32字节= 8 * 2 ^ 32位所需的时间:

1 Mbit / s链接: 8 * 2 ^ 32/10 ^ 6 = 34359秒

1Gbit / s链接: 8 * 2 ^ 32/10 ^ 9 = 34秒

希望这能帮到你