最近在学习谢希仁教授的《计算机网络(第8版)》,感谢华信教育资源网提供的教材配套的PPT。第1章有1题计算传播时延和发送时延。题目如下:
解答如下:
(1) 传播时延计算:用如下公式,1000公里的信道长度除以电磁波在光纤链路中的传播速度,得5ms,可以理解。
(2)发送时延计算,小题1为例:数据块大小为100MB,信道宽度为1Mbit/s。计算公式参考:
那么首先参考如下公式,将数据帧长度、发送速率的单位转换为bit和bit/s:
数据帧长度:
速率:
计算得到的发送延时即为:
可是课件中给的答案为:
让人惊讶的是,MB转换到bit和Mbit/s转为到bit/s公式并不相同:
问题:同样是M,为什么1个是2的20次方,1个是10的6次方?令人困惑。
参考知乎上”醉卧沙场“同志对这类问题的解答,产生歧义的主要原因是:大家日常在使用的时候并没有严格区分十进制K、M、G、T、P和二进制的Ki、Mi、Gi、Ti和Pi.
为什么1KB等于1024B? - 知乎
以上述题目为例,其实“数据块大小为100MB,信道宽度为1Mbit/s”更为准确的表述应该是:“数据块大小为100MiB,信道宽度为1Mbit/s",即:数据块大小用的是二进制,信道宽度用的是十进制。
当然,在实际中,大家并没有区分得那么开。遇见了,需要自己根据上下文琢磨一下。