带宽、时延和吞吐不是一回事
约 10 分钟
评价网络时常听到「百兆」「延迟二十毫秒」「每秒下载十兆」。这些数字描述不同事情,不能混为一个「网速」。
带宽像道路容量
带宽表示一段时间最多能承载多少数据,像道路一秒能通过多少辆车。带宽大,适合同时传大文件、视频或很多人的数据。但一辆车从北京到上海需要多久,还取决于路程和等待,这对应时延。
时延是一次消息走完的时间
信号传播、设备处理、排队、重传都会增加时延。卫星链路即使带宽很大,距离造成的传播时间也无法消失。游戏控制、远程操作在意时延;备份照片更在意带宽和最终吞吐。
吞吐是实际完成量
标称带宽 100 Mbps,不代表应用永远得到 100 Mbps。多人共享、协议头、错误重传、接收端处理速度都会减少实际有效数据,最后每秒真正交付的量叫吞吐。
一个小包也可能等很久
道路很宽但收费站排长队,容量高、时延仍大;快递飞机飞得快,但每天只飞一班,小包可能等待很久。改善体验前要先确认瓶颈是容量不足、排队太长,还是某个处理环节太慢。
为任务选指标
操场消息只有几十个比特,不需要巨大带宽,更关心能否在两秒内收到并确认。视频直播则同时需要稳定吞吐和较低时延。工程指标必须从任务出发,不能看到更大的数字就认为一定更好。
练一练:比较下载一部电影和遥控机器人,分别更怕带宽小还是时延大,并说明理由。
小纸条
带宽大为什么不保证网页立刻打开?