计算机网络学习站

kp-002 · 01-网络基础与体系结构

网络性能指标与时延模型

入门 约 25 分钟 带宽时延吞吐量RTT
我的进度:

注:本文基于模型知识整理,建议结合权威教材与 RFC 原文核对细节。

一句话定义

网络性能由速率、带宽、时延、时延带宽积、RTT、吞吐量、丢包率与利用率等指标刻画;其中总时延可分解为发送时延、传播时延、处理时延与排队时延四个分量,这是分析一切网络性能问题的基本模型。

为什么重要

性能分析是网络工程师与后端开发的基本功:接口为什么慢、下载速度为什么只有标称带宽的一部分、视频为什么卡顿,最终都要归因到这组指标。掌握四分量时延模型与瓶颈链路思想,才能把模糊的「网速问题」拆解成可定位、可优化的工程问题,而不是盲目升级带宽。

前置知识

建议先读 kp-001《计算机网络与因特网概览》,了解结点、链路、存储转发与分组交换的基本概念。

核心概念

  • 速率(rate):数据传送速率,单位 bps(比特每秒),常用 kbps、Mbps、Gbps,按十进制换算(1 Mbps = 10^3 kbps)。
  • 带宽(bandwidth):计算机网络语境下指链路的最高数据率(发送速率);注意与信号系统中「频率带宽(Hz)」是不同概念,两者量纲不同但通过香农公式相关。
  • 时延(delay/latency):数据从一端到另一端所需时间,由四个分量构成。
  • 时延带宽积(bandwidth-delay product):链路带宽与传播时延之积,表示「管道」中可容纳的在途比特数。
  • 往返时间 RTT(Round-Trip Time):从发送数据到收到对方确认所需的总时间。
  • 吞吐量(throughput):单位时间内在信道上实际传输的数据量,受路径瓶颈限制。
  • 丢包(packet loss):路由器缓存溢出导致分组被丢弃。
  • 利用率(utilization):信道被利用的时间占比。

公式与模型

总时延四分量:
D = D发 + D传 + D处 + D排

  • 发送时延 D发 = 分组长度 L / 发送速率 R,即把全部分组比特推进链路所需时间;
  • 传播时延 D传 = 信道长度 d / 传播速率 v,电磁波在铜线中约 2.3×10^8 m/s、光纤中约 2.0×10^8 m/s 量级;
  • 处理时延 D处:结点检查首部、查转发表所需时间;
  • 排队时延 D排:分组在路由器缓存中排队等待的时间,随负载剧烈波动。

时延带宽积(以比特为单位的链路长度):
时延带宽积 = R × D传

利用率与时延的近似关系:
D = D0 / (1 − U)
其中 D0 为网络空闲时的时延,U 为利用率;U 趋近 1 时 D 急剧增大。

频率带宽与速率的联系(香农公式,数字信道容量上限):C = W × log2(1 + S/N),W 为频率带宽,S/N 为信噪比。

图示

单跳时延构成(发送方 → 路由器):
发送方 │← D发 = L/R →│← D传 = d/v →│ 路由器 [D处 + D排] → 继续向下一跳转发

时延带宽积(把链路想成一根「管道」):
发送方 ═══════ 管道内同时容纳 R × D传 个在途比特 ═══════ 接收方

原理与机制

发送时延与传播时延彼此独立:前者取决于「分组有多长、往链路推比特有多快」,与距离无关;后者取决于「传多远、波速多少」,与带宽无关。由此得到关键洞察——把链路从 100 Mbps 升级到 1 Gbps 只会成倍缩短发送时延,对跨越上千公里的传播时延(毫秒量级)毫无帮助。提高带宽优化的是大数据量传输;降低传播时延只能靠缩短物理路径,例如部署 CDN 让内容离用户更近。

吞吐量由端到端路径的瓶颈决定:整条路径的吞吐量约等于各段速率中的最小值,还受收发主机的处理能力与网络拥塞约束。当路由器的输入速率长期超过输出速率,队列持续增长直至缓存溢出,即发生丢包;TCP 探测到丢包后主动降速,形成拥塞控制的负反馈闭环。排队时延与利用率的关系 D = D0 / (1 − U) 表明:U 接近 1 时时延急剧攀升,工程上通常把链路工作在远低于满载的利用率水平。

实例分析

估算在 100 Mbps 链路(RTT 20 ms)上传输 100 MB 文件的耗时量级(忽略排队时延与处理时延):

  • 数据量:100 MB = 100 × 10^6 × 8 bit = 8 × 10^8 bit(十进制口径);
  • 发送时延:D发 = 8 × 10^8 bit ÷ 10^8 bps = 8 s;
  • 传播时延:RTT 20 ms,单向约 10 ms,相比发送时延可忽略;
  • 总时间 ≈ 8 s(计入最后一比特的单向传播约 8.01 s),发送时延占比 99% 以上。

结论:大文件传输时间由发送时延主导,升级到 1 Gbps 可把总时间降到约 0.8 s。另算时延带宽积 = 10^8 bps × 10 ms = 10^6 bit,即约 125 KB:单向「管道」内同时存在约 125 KB 在途数据,若发送窗口小于该值,链路就填不满,吞吐量上不去。

常见误区

  • 把带宽与时延混为一谈:带宽大只缩短发送时延,不能降低 ping 值(后者由传播时延主导)。
  • 单位口径混淆:网络速率用十进制(1 Mbps = 10^6 bps),文件大小有时按二进制计(1 MiB = 2^20 B),混用会引入百分之几量级的偏差。
  • 用笼统的「延迟高」代替分解分析:发送、传播、处理、排队四种时延成因与对策完全不同。
  • 把 D = D0 / (1 − U) 外推到 U → 1:该式是近似,实际系统在利用率接近 1 之前就已因时延与丢包不可用。

自测题

  1. 总时延的四个分量分别由什么因素决定?<br>答案要点: 发送时延由分组长度与发送带宽决定;传播时延由距离与介质波速决定;处理时延由结点软硬件事理速度决定;排队时延由负载强度与缓存队列长度决定。
  2. 时延带宽积的物理含义是什么?对发送窗口设计有何意义?<br>答案要点: 带宽 × 传播时延,即管道中可容纳的在途比特数;若发送/接收窗口小于该值,链路无法被填满,吞吐量受限。
  3. 为什么提高链路带宽不能降低跨洋访问的 RTT?<br>答案要点: RTT 主要由传播时延(由光速与物理距离决定)及结点处理组成,与带宽无关;降低 RTT 需缩短物理路径或就近服务。
  4. 一个 5 MB 文件在 20 Mbps 链路上的发送时延是多少?<br>答案要点: 5 × 10^6 × 8 bit ÷ 2 × 10^7 bps = 2 s(十进制口径,发送时延约 2 秒)。
  5. 利用率升高时网络表现如何变化?

答案要点: 排队时延近似按 1/(1−U) 增长,U 接近 1 时时延与丢包急剧恶化,因此链路通常应运行在中等利用率以下。

延伸阅读

  • 谢希仁《计算机网络》(第 8 版),第 1 章性能指标与时延部分。
  • Kurose & Ross《计算机网络:自顶向下方法》(第 8 版),第 1 章时延、丢包与吞吐量分析。