← 网络基础学习第 5 / 55 章入门40 分钟

模块零 · 全景与基础

时延、丢包与吞吐量

点网页要等很久、下载速度低、视频时断时续,可能是不同的问题。先把描述这些现象的概念分开,再学习如何计算和观察。

本章要解决的问题:点网页要等很久、下载速度低、视频时断时续,可能是不同的问题。先把描述这些现象的概念分开,再学习如何计算和观察。

本章的证据来源:概念与模型对照《计算机网络:自顶向下方法(原书第8版)》§1.4,纸书24–32页。下面的计算是给定条件下的教学示例;旧稿留下的网络测量单独标为历史记录,本次未重新采集,不能用它们确定实际路径或时延成分。

先从一个例子理解概念

你打开一个网页:第一次响应等了很久,但随后大图片下载得很快。这里的“等多久”和“每秒传多少”描述的是两件事。

时延、吞吐量与容量

时延是数据从一个位置到另一个位置所花的时间。吞吐量是单位时间内实际交付的数据量,例如下载平均达到20 MB/s。链路容量是该链路能提供的传输速率上限;网络语境中的“带宽”常用来指这个容量,例如100 Mbps。

上限和实际达到的速度不能直接画等号。还要注意单位:8 bit = 1 byte,所以100 Mbps对应12.5 MB/s;应用实际速度还可能更低。

丢包与时延抖动

丢包是某个分组没有到达接收方;时延抖动是分组时延随时间变化。同一条路径上的不同包,可能等待不同的时间。

这些指标可以分别观察,但会相互影响。例如拥塞使队列变长,也可能造成丢包;TCP的重传和发送窗口又会影响实际吞吐量。不能把它们称为互相独立。

一个包在一跳上,时间花在哪里

先用一个简单模型:路由器收到一个包,检查首部,等待出口空闲,把包发上链路,信号再传播到下一台设备。

一跳的节点时延 = 处理时延 + 排队时延 + 传输时延 + 传播时延
成分正在做什么主要取决于什么
处理时延检查首部、进行转发查找等设备处理能力与工作负载
排队时延等待输出链路可用到达模式、负载、调度与队列状态
传输时延把整个包的比特依次推出去包长L与链路速率R,计算为L/R
传播时延信号从链路一端跑到另一端链路长度d与传播速度s,计算为d/s

传输是“发出这一串比特”,传播是“信号走到对面”。改变包长会改变传输时延,却不会改变同一条链路上的传播速度。

排队时延常随负载明显变化,但它不是唯一可能很大的成分。长距离链路的传播时延可以很大;低速链路发送长包的传输时延也可以很大。

给定包长,计算传输时延

假设包长1500字节,仅按这12000比特计算,不计额外链路开销:

给定链路速率L/R
10 Mbps1.2 ms
100 Mbps0.12 ms
1000 Mbps0.012 ms
10000 Mbps0.0012 ms

这张表是计算结果,不是四条真实链路的测速。在更低速的链路上,传输同样的包也会花更长时间。

给定距离,计算传播时延

假设光纤中的传播速度为2×10⁸ m/s,按单程距离估算:

给定距离d/s
1 km0.005 ms
100 km0.5 ms
1000 km5 ms
10000 km50 ms

这只能说明距离带来的传播成本。真实光纤路径可能绕行,实际传播速度也依介质而异;不能直接把两地地图距离当作网络路径长度。

RTT能告诉我们什么

RTT(往返时延)是一个请求到达对端并得到响应所经历的往返时间。ping显示的RTT包含去回路径及响应处理等影响,无法单独拆出上面的四种成分。

旧稿保留了以下记录,条件注明为Windows 11、无线接入、存在本机代理,日期为2026-10-13。当前项目未保留可独立复核的完整采集材料,本次没有重新测量:

目标旧稿记录的RTT可以怎样读
192.168.31.1平均1 ms,最小1、最大2该次网关响应的记录
223.5.5.5平均23 ms,最小20、最大31该次公网目标响应的记录
1.1.1.1平均83 ms,最小82、最大87另一公网目标响应的记录

不能据此确定哪个目标在海外,也不能算出“83 ms中80 ms是传播”。 公共服务可能通过Anycast从不同节点响应;实际节点、光纤路径、去回方向和代理处理均未确认。

如果另设教学条件“去回各8000 km、速度均为2×10⁸ m/s”,传播部分可计算为80 ms。这是一个假设模型;它与83 ms接近,并不证明真实路径符合假设。

排队为什么会随负载变化

把输出链路想成一个一次处理一个包的出口。包的到达不一定均匀:即使长期平均不忙,短时间来一批包,也会排队。

先采用教材的简化条件:每个包长L比特,平均每秒到达a个包,出口速率R比特/秒。流量强度为:

ρ = aL/R

这个比值比较平均到达的工作量与链路服务能力。它不能单独确定排队时延,还需要知道到达分布、包长分布、调度和缓冲条件。

  • ρ小于1:出口平均能处理到来的流量,但突发到达仍会产生队列。
  • 在教材讨论的随机到达、无限缓冲模型中,ρ接近1时,平均排队时延可能急剧增长。
  • 若平均到达工作量持续超过服务能力,无限缓冲模型中的积压会持续增长;真实设备缓冲有限,可能溢出丢包。

不存在本章能证明的统一“80%拐点”。 真实网络的可接受利用率要结合突发性、缓冲、调度和业务时延目标评估。有限缓冲会导致丢包,不能把真实设备描述成排队时延无限增长。

丢包与重传不是同一个计数

队列溢出是丢包的一种原因,链路错误、策略过滤等也可能造成丢包。TCP重传统计还可能包含不必要的重传;ping无响应也可能是ICMP被过滤或限速。

因此不能把旧稿的TCP重传率0.354%直接当成整条路径的丢包率,更不能仅凭“低于1%”宣布网络健康。需要先明确统计口径、采样时间、路径与业务要求。

带宽延迟积:给之后的窗口学习留一个问题

假设发送方发完数据后需要等待确认。等待期间如果不能继续发送,容量再高也可能闲着。在途数据包括已发出、但尚未确认的数据。

对给定的目标吞吐量与RTT,可用下面的积估算持续发送所需的未确认数据量:

目标吞吐量 × RTT

这是后续TCP窗口学习的起点,实际吞吐量还受拥塞、协议开销和端点处理等限制。

教学假设计算
1.9 Gbps、RTT 2 ms3.8 Mbit = 475000 byte = 475 kB,约464 KiB
1 Gbps、RTT 83 ms83 Mbit = 10375000 byte,约10.4 MB

这里的1.9 Gbps是假设的可用速率。无线协商速率不等于端到端可用吞吐量,不能用协商值证明本机实际需要或能达到上述速度。窗口、确认与窗口缩放的具体机制在运输层再讲。

瓶颈容量与实际吞吐量

假设一条路径上三段链路的容量为1 Gbps、100 Mbps、1 Gbps:

电脑 ──1Gbps── 路由器 ──100Mbps── 运营商 ──1Gbps── 服务器
                             ↑ 容量最小的一段

若没有其他竞争或限制,持续发送的单流吞吐量可以接近100 Mbps。一般而言,路径上的最小链路容量提供一个上限,实际吞吐量还可能因其他用户共享链路、发送方限速、TCP状态或端点处理而更低。

一次网页请求耗时很久,也不能证明瓶颈一定在代理。域名解析、建连、服务器响应、排队和内容传输都可能影响总耗时,需要分别观察。

本章小结

结论依据与条件
时延描述等待时间,吞吐量描述实际交付速率,容量描述上限教材§1.4
一跳时延可分为处理、排队、传输和传播教材的基本模型
传输时延L/R,传播时延d/s给定包长、速率、距离与介质
单个RTT不能拆出各类时延,也不能确定响应节点位置测量范围限制
排队取决于负载及到达、服务、缓冲等条件,没有统一80%阈值教材§1.4.2
有限缓冲可能溢出丢包,重传率不能直接等同路径丢包率指标范围不同
目标吞吐量乘RTT可估算需要的未确认数据量持续发送的简化估算
瓶颈容量限制上限,实际吞吐量可能更低教材§1.4.4

自测题

7 题 · 先自己答,再展开对照

  1. 一个1500字节的包在100 Mbps链路上,传输时延是多少?传播时延取决于什么?
    1500×8÷100000000 = 0.00012 s,即0.12 ms。传播时延取决于链路长度与介质中的传播速度。
  2. “传输时延”和“传播时延”有什么区别?
    传输时延是把整串比特发上链路的时间,取决于包长和速率;传播时延是信号走到链路另一端的时间,取决于距离与传播速度。
  3. 给定目标吞吐量1.9 Gbps、RTT 2 ms,未确认数据量的估算值是多少?
    1.9×10⁹×0.002 = 3.8×10⁶ bit,即475000 byte、475 kB,约464 KiB。这是在给定目标速率下的估算,不是本机吞吐量测量。
  4. 只知道某次ping RTT为83 ms,能证明其中80 ms是传播时延吗?
    不能。RTT包含去回路径与处理等影响,实际路径和节点未确认。假设距离算得接近83 ms,不能证明该假设真实。
  5. 为什么不能把80%利用率说成所有网络的排队拐点?
    排队还取决于突发到达、包长、服务和缓冲等条件。教材的定性趋势不能推出统一80%阈值;真实有限队列还可能发生丢包。
  6. 你有千兆宽带,但下载只有30 MB/s,列出至少三种可能的限制。
    可能是无线接入有效容量低、运营商限速、共享路径拥塞、服务器出口受限、端点磁盘或CPU繁忙。30 MB/s = 240 Mbps,还要区别单位与协议开销。
  7. 丢包是否一定说明线路故障?TCP重传率是否等于路径丢包率?
    不一定,队列溢出、链路错误和策略等都可能造成丢包。TCP重传率的统计对象不同,且可能包含不必要重传,不能直接等同路径丢包率或据此判定健康。

参考资料与适用范围

修订核对日期:2026-10-13。命令结果为旧稿历史观察,本次未重新实测,缺少完整采集材料的数字不作为已复核证据。计算示例均注明假设;模型结论应连同模型条件阅读。

正文源自 m0-05-时延丢包与吞吐量.md · 共 9 节 · 7 道自测题