【网络】为什么单个TCP连接很难占满带宽

首先有一个公式:

链路上数据包的总大小 = 带宽 * 网络延时

比如说带宽为 10Mb/s, 网络延时为 1ms,

那么链路上的数据包的总大小为: 10Mb/s * 1s/1000 = 10Kb     #1ms = 1s/1000

然后这个公式怎么推倒出来的呢, 我的思维方式里是这样的理解。我发现 1 秒钟,我的大脑很难理解它为一段时间,所以我把它拉长为 2 年,数据包我改成送信。

这样来想这个问题,从甲地到乙地,寄一封信的时间为 2 年(网络延时), 甲地每年往乙地最多能寄 100 封信(带宽), 那么从甲地到乙地邮寄的路程上,一共最多有多少封信在寄?

答案是 200 封, 很简单,假设甲地把带宽用满, 第一年寄 100 封,第二年寄 100 封,而这 200 封信都没有能到达乙地。所以链路上一共有 200 封信。

回到主题,为什么单个 TCP 链路很难把带宽用满。 原因很简单,TCP 有滑动窗口的限制。 也就是说链路上最多只有滑动窗口那么多字节的数据。 如果你需要用单个 TCP 连接把带宽占满,你必须把滑动窗口设置成带宽 * 网络延时那么大。

转自:为什么单个TCP连接很难占满带宽 - https://my.oschina.net/costaxu/blog/284260

 一台服务器最大能支持多少条TCP连接? 

详解 | 一台服务器最大能支持多少条TCP连接?_fs_nofile_nr_open https://www.sohu.com/a/612499969_657867 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值