第一章 计算机网络概述 习题
问题1
如下图所示网络。A 在 t = 0 时刻开始向 C 发送一个 2 Mbits 的文件;B 在 t= 0.1+e 秒 (e为无限趋近于0的小正实数) 向 D 发送一个 1 Mbits 的文件。忽略传播延迟和结点处理延迟。
请回答下列问题:
- 如果图中网络采用存储 - 转发方式的报文交换,则 A 将 2Mbits 的文件交付给 C 需要多长时间?B 将 1Mbit s的文件交付给 D 需要多长时间?
- 如果图中网络采用存储 - 转发方式的分组交换,分组长度为等长的 1 kbits,且忽略分组头开销以及报文的拆装开销,则 A 将 2Mbits 的文件交付给 C 需要大约多长时间?B 将 1Mbits 的文件交付给 D 需要大约多长时间?
- 报文交换与分组交换相比,哪种交换方式更公平? (即传输数据量小用时少,传输数据量大用时长)
注:k = 10 3 ^3 3,M = 10 6 ^6 6。
解析
(1)
设左右两个路由器分别为 E 和 F。
从第 0 秒开始计时,A 先向 E 发送报文,需要 0.2 秒,发送完毕为第 0.2 秒,然后 B 向 E发送报文,需要 0.1 秒,发送完毕为第 0.3 秒。
从第 0.2 秒开始,E 向 F 发送来自 A 的报文,需要 0.1 秒,发送完毕为第 0.3 秒。从第 0.3 秒开始,E 向 F 发送来自 B 的报文,需要 0.05 秒,发送完毕为第 0.35 秒。
从第 0.3 秒开始,F 向 C 发送来自 A 的报文,需要 0.2 秒,发送完毕为第 0.5 秒。从第 0.35 秒开始,F 向 D 发送来自 B 的报文,需要 0.1 秒,发送完毕为第 0.45 秒。
综上所述,A 到 C 需要 0.5 秒,B 到 D 需要 0.35 秒。
(2)
由于一个分组 1 kbits,因此 A 有 2000 个分组,B 有 1000 个分组。
第 0.1 秒内,A发送前 1000 个分组到E。由于 E 到 F,F 到 C 的带宽都大于等于 A 到 E 的带宽,所以到达E的分组不会在E堵塞,而是继续从 E 到 F,F 到 C 传输,所以第 0.1 秒结束时,只有一个 A 的分组存于 E。
第 0.1 - 0.2 秒时,A 和 B 分别有 1000 个分组发往 E。虽然 A 和 B 共享 E 到 F 之间的链路,从统计多路复用的角度来看,A 和 B 各占 10 Mbits,尽管如此,E 到 F,F 到 C ,F 到 D 的带宽也依旧大于 A 到 E 和 B 到 E 的带宽,所以第 0.2 秒结束时,A 和 B 各有一个分组存于 E。
A 和 B 的最后一个分组一起共享 E 到 F 之间的链路,各占 10 Mbits,都经过 1 kbits / 10 Mbits = 0.0001 秒到 F。然后 A 的分组从 F 到 C,B 的分组从 F 到 D,都经过 1 kbits / 10 Mbits = 0.0001 秒。因此到 0.2002 秒结束时,A 和 B 的分组全部到目的主机。
综上所述,A 到 C 需要 0.2002 秒,B 到 D 需要 0.1002 秒。
(3)
报文交换中,A 和 B 传输用时之比为 0.5 : 0.35 = 2 : 1.4。分组交换中 A 和 B 传输用时之比为 2.002 : 1.002 = 2 : 1.001。因此分组交换更公平。
问题2
考虑两台主机 A 和主机 B 由一条带宽为 R bps、长度为 D 米的链路互连,信号传播速率为 V m/s。假设主机 A 从 t = 0 时刻开始向主机 B 发送分组,分组长度为 L 比特。试求:
- 链路传播延迟 (时延) dp;
- 每个分组的传输延迟 dt;
- 若忽略结点处理延迟和排队延迟,则一个分组从 A 到 B 的端到端延迟 de 是多少?
- 若 dp > dt,则 t = dt 时刻,分组的第一个比特在哪里?
- 若 V = 200000 km/s,L = 512比特,R = 100 Mbps,则使带宽时延积刚好为一个分组长度 (即512比特) 的链路长度 D 是多少?
注:1 k = 10 3 ^3 3,1 M = 10 6 ^6 6
解析
(1)
首先要区分传输时延和传播时延的概念。传输时延是指数据被发送到传播介质 (如光纤、电缆) 上的时间;而传播时延是指数据在传播介质上通过光信号或电磁信号传播的时间。传输时延在前,与带宽有关;传播时延在后,与传播速率有关。
通俗来讲,输延迟是发送方把bit一个一个发射出去时产生的延迟,传播延迟是bit在链路上跑向接收方时产生的延迟。
因此传播时延 dp = D / V。
(2)
传输时延 dt = L / R。
(3)
端到端延迟 = 处理延迟 + 排队延迟 + 传输延迟 + 传播延迟
处理延迟通常为毫秒级;排队延迟最不确定,取决于 La / R。
因此 端到端延迟 de = dp + dt = D / V + L / R。
(4)
由于 dp > dt,dt 时 数据还没有在链路上完成传播过程,因此 dt 时数据正在链路上,距离发送端的距离为 dt × V。
(5)
时延带宽积 = 传播时延 × 带宽 = dp × R (bits),链路的时延带宽积又称为以比特为单位的链路长度。
由于带宽时延积刚好为一个分组长度,即 dp × R = L,则 dp = L / R = 512 / 100 / 10
6
^6
6 = 512 × 10
−
8
^{-8}
−8,而 dp = D / V,则 D = dp × V = 512 × 10
−
8
^{-8}
−8 × 2 × 10
8
^8
8 = 1024 m。