1 题型 - 分组或报文传输速率
Chinese-language Computer Science 408 note: 1 题型 - 分组或报文传输速率. Original source available where applicable.
On this page
This note is currently available in Chinese. The original wording, formulas and diagrams are preserved to avoid an unverified technical translation.
描述:这类题的核心是先把文件切成分组,再利用存储转发的流水线重叠。必须分清传输时延与传播时延、分组总长与有效载荷、路由器数与链路数,并用路径上的最低速率作为实际发送速率。
1.1 时延组成与基本量
| 记号 | 含义 |
|---|---|
| $F$ | 文件或报文的有效数据量 |
| $L$ | 每个分组的总长度,包含首部 |
| $H$ | 每个分组的首部长度 |
| $N$ | 分组数量,$N=\left\lceil F/(L-H)\right\rceil$ |
| $R$ | 路径上实际可用的数据传输速率 |
| $k$ | 从源主机到目的主机经过的链路数 |
| $t_{p,i}$ | 第 $i$ 段链路的传播时延 |
两个名称不能混用:
- 传输时延(发送时延):把数据全部推入链路所需的时间,$t_t=L/R$。
- 传播时延:信号在物理介质中传播所需的时间,通常由距离与传播速度决定;若给出时延带宽积,也可反推。
若一段链路的时延带宽积为 $BDP$,传播时延为 $t_p$,则:
$$R=\frac{BDP}{t_p}$$
若接口速率和链路带宽不同,连续发送大量分组时的稳态吞吐上限取路径上的最小值:
$$R_{eff}=\min(R_{接口},R_{链路1},R_{链路2},\ldots)$$
1.2 存储转发的统一公式
设 $N$ 个等长分组依次通过 $k$ 段等速链路,路由器收到完整分组后才能继续转发。忽略排队、处理和分组拆装时间时:
$$T=(N+k-1)\frac{L}{R}+\sum_{i=1}^{k}t_{p,i}$$
公式可拆成:
$$T=\underbrace{N\frac{L}{R}}{源主机发完全部分组}+\underbrace{(k-1)\frac{L}{R}}{最后一个分组继续通过其余链路}+\underbrace{\sum t_p}_{每段传播时延}$$
这就是流水线效应:前一个分组被路由器转发时,源主机已经可以发送下一个分组,所以不能把全部数据的发送时延简单乘以链路数。
上式有两个明确前提:各分组等长、各链路速率相同。若最后一个分组较短,设各分组总长为 $L_1,\ldots,L_N$,等速链路下更一般的写法是:
$$T=\frac{\sum_{j=1}^{N}L_j}{R}+(k-1)\frac{\max_jL_j}{R}+\sum_{i=1}^{k}t_{p,i}$$
其中第一项是源端依次发完所有分组,第二项是最长分组造成的流水线排空时间。若 $N\ge2$ 且只有最后一组较短,则 $\sum L_j=(N-1)L+L_N$、$\max L_j=L$;不能先用向上取整得到 $N$,又无条件把短尾组也按满长发送。
若分组等长但第 $i$ 段链路速率为 $R_i$,精确的无排队流水线完成时间为:
$$T=\sum_{i=1}^{k}\frac{L}{R_i}+(N-1)\max_i\left(\frac{L}{R_i}\right)+\sum_{i=1}^{k}t_{p,i}$$
路径最小速率决定后续分组的瓶颈间隔,但第一个分组仍只在每段链路按该段实际速率发送;把所有链路一律替换成 $R_{eff}$ 只在各段速率相同等情况下才是精确计算。
若使用报文交换,整个报文必须被中间结点完整接收后才能继续转发。报文长为 $M$、有 $k$ 段等速链路时:
$$T_{报文}=k\frac{M}{R}+\sum_{i=1}^{k}t_{p,i}$$
若各段速率不同,则把发送部分改为 $\sum_i M/R_i$。
1.3 历年真题
1.3.1 2010 年:首部开销与两级转发
条件:文件大小 $980000,B$,分组总长 $1000,B$,首部 $20,B$;所有链路均为 $100,Mbps$,路径经过 2 个路由器,即 $k=3$。忽略传播时延和分组拆装时间。
每个分组的有效载荷为:
$$L-H=1000-20=980,B$$
分组数为:
$$N=\frac{980000}{980}=1000$$
代入存储转发公式,并把字节换为比特:
$$ \begin{aligned} T&=(1000+3-1)\times\frac{1000\times8}{100\times10^6}\ &=0.08016,s=80.16,ms \end{aligned} $$
答案:$80.16,ms$。
1.3.2 2013 年:报文交换与分组交换比较
条件:主机甲经 1 个存储转发路由器连接主机乙,共 2 段 $10,Mbps$ 链路;报文长 $8,Mb$,分组长 $10,kb$。忽略传播时延、首部和拆装时间。
报文交换必须在两段链路上各完整发送一次:
$$T_{报文}=2\times\frac{8,Mb}{10,Mbps}=1.6,s$$
分组数量为 $8,Mb/10,kb=800$。分组交换形成流水线:
$$T_{分组}=(800+2-1)\times\frac{10,kb}{10,Mbps}=0.801,s$$
答案:报文交换 $1.6,s$,分组交换 $0.801,s$。
1.3.3 2023 年:传播时延与时延带宽积
条件:2 段链路的带宽均为 $100,Mb/s$,每段时延带宽积均为 $1000,b$;发送 $1,MB$ 文件,分组长度 $1000,B$,其中 $1M=10^6$。
每段传播时延为:
$$t_p=\frac{1000,b}{100\times10^6,b/s}=10,\mu s$$
文件正好分成 $N=10^6/1000=1000$ 个分组。于是:
$$ \begin{aligned} T&=(1000+2-1)\times\frac{1000\times8}{100\times10^6}+2\times10,\mu s\ &=80.08,ms+0.02,ms\ &=80.10,ms \end{aligned} $$
答案:D,$80.10,ms$。
1.4 模拟题
1.4.1 接口速率与链路带宽的短板效应
条件:主机与路由器接口速率均为 $1,Gbps$;每段链路的传播时延为 $10,\mu s$,时延带宽积为 $1000,b$。文件大小 $980000,B$,分组总长 $1000,B$,首部 $20,B$。最短路径经过 2 个路由器,共 3 段链路。
先由时延带宽积求出链路带宽:
$$R_{链路}=\frac{1000,b}{10,\mu s}=100,Mbps$$
接口虽可达 $1,Gbps$,但链路只有 $100,Mbps$,故 $R_{eff}=100,Mbps$。分组数仍为:
$$N=\frac{980000}{1000-20}=1000$$
总时延为:
$$ \begin{aligned} T&=(1000+3-1)\times\frac{1000\times8}{100\times10^6}+3\times10,\mu s\ &=80160,\mu s+30,\mu s\ &=80190,\mu s \end{aligned} $$
答案:$80190,\mu s$。
1.4.2 香农容量与实际传输速率
条件:每段链路的频率带宽为 $8,kHz$,信噪比为 $30,dB$,实际数据率是理论最大数据率的 $50%$。文件大小 $800,B$,分组总长 $100,B$,首部 $20,B$;最短路径共 3 段链路,忽略传播时延。
先把分贝信噪比换为线性值:
$$\frac{S}{N}=10^{30/10}=1000$$
香农容量为:
$$C=8,kHz\times\log_2(1+1000)\approx80,kb/s$$
实际数据率为:
$$R=80,kb/s\times50%=40,kb/s$$
每个分组可装 $100-20=80,B$ 有效数据,故 $N=800/80=10$。代入:
$$T=(10+3-1)\times\frac{100\times8}{40\times10^3}=0.24,s=240,ms$$
答案:C,$240,ms$。
1.5 易错点
- 题目中的 $B$ 是字节、$b$ 是比特;代入 $bit/s$ 前必须乘 8。
- 分组长度通常包含首部,计算分组数要用有效载荷 $L-H$,发送时延则用总长 $L$。
- 经过 $r$ 个路由器时,链路数通常为 $r+1$;传播时延按链路数累加。
- 报文交换没有分组流水线;分组交换只需给最后一个分组补上其余 $k-1$ 段发送时延。
- 传播时延不是“分组长度除以传输速率”;后者是传输时延。
- 给出接口速率与链路带宽时使用短板速率,不能直接选数值更大的接口速率。
- 统一式 $(N+k-1)L/R$ 只适用于等长分组、等速链路;尾分组不足或各段速率不同时要改用更一般的流水线公式。
相关知识
- 科目导航:计算机网络导航
- 阅读顺序:上一篇:信道复用技术 · 下一篇:编码分析
- 关联专题:信道的极限容量
1.6 本节复盘
- 等长分组经过 $k$ 段等速链路的统一公式是 $T=(N+k-1)L/R+\sum t_p$;尾组较短或链路异速时不能生搬。
- $N=\lceil F/(L-H)\rceil$:分组数看有效载荷,发送时延看含首部的分组总长。
- 报文交换需让完整报文逐段发送;分组交换可流水转发,文件越大时流水线优势越明显。
- 时延带宽积满足 $BDP=R\times t_p$;路径实际速率取所有接口和链路中的最小值。
- 做题最后统一核对 bit/Byte、$kb/kB$、路由器数/链路数以及 $ms/\mu s$。