Appearance
第2章:分组交换与网络性能
四种时延
长度为 bit 的分组经过速率为 bit/s 的链路,发送时延为 。这是把整个分组推上链路所需的时间。传播时延为 ,由距离和介质中的传播速度决定,与分组长度无关。
处理时延来自查表、校验等操作,排队时延来自等待输出链路。提高带宽会降低发送时延,但不直接缩短地理距离产生的传播时延。
对存储转发、无排队、无处理开销的 条相同链路,单个分组到达需
若连续发送 个等长分组,链路能够流水工作,总时间变为 加总传播时延,而不是 。
一个计算例子
1500 B 分组通过三条 10 Mbit/s 链路,每条传播时延为 2 ms。单跳发送用时 ms。一个分组完整到达用时 ms。
若连续发送十个分组,在中间设备可以同时收发、没有竞争流量的假设下,最后一个分组于 ms 到达。例子忽略协议头;若 1500 B 是应用数据,则需要另计各层开销。
带宽、吞吐量与窗口
带宽表示链路容量,吞吐量表示实际完成的数据率。多跳路径持续传输时通常受最慢链路约束,但丢包、窗口、应用速度和协议开销都可能进一步降低吞吐量。
若发送方最多允许 bit 未确认数据在途,往返时间为 ,忽略其他限制时吞吐量至多约为
100 Mbit/s、RTT 为 40 ms 的路径,带宽时延积为 4 Mbit,即 500 kB。窗口明显小于此值时,发送方即使不丢包也常在等待确认。扩大窗口不能让吞吐量超过瓶颈容量。
排队与拥塞
多个输入共享一个输出端口时,短期突发会形成队列。无限缓冲的简单 M/M/1 模型中,分组到达率为 ,服务率为 ,在 时平均系统逗留时间为 。这依赖泊松到达和指数服务时间,不能直接当作所有互联网流量的精确公式。
公式揭示的现象具有普遍性:利用率逼近满载时,排队可能急剧增长。增加缓冲可吸收突发,却不能解决长期输入超过输出的情况;它还可能造成持续高时延,即 bufferbloat。
练习
- 将例子中的链路速率提高十倍,单个分组总时延减少到原来的十分之一吗?
- RTT 为 80 ms,窗口为 64 kB,忽略丢包时窗口限制的吞吐量是多少?
- 一个缓冲区持续满载,增加一倍容量为什么可能只增加等待时间?