"假定要在网络中传送一个x mB大小的文件。设分组长度为y kB,往返时间rtt=z ms。传送数据之前还需要建立TCP连接,TCP连接耗费的时间是2个rtt。试计算下面两种情况下接收方收完该文件的最后一个bit所需要的时间,以秒为单位。 (1)数据发送速度为10mbit/s,数据分组可以连续发送; (2)数据发送速度为10mbit/s,但每发送一个分组后要等待一个rtt时间才能在发送下一个分组。 文件大小 x= 3.0 mB 往返时延 z= 80 ms 分组大小 y= 1.75 kB 要求: 1--题目中(k=2^10, 1G=2^10m,1m=2^10k),计算结果如果小数点后超过4位,则四舍五入,保留3位小数 2--答案只需给出数值,答案之间用空格分隔,比如1.0 2.45"
时间: 2024-04-06 12:30:55 浏览: 372
首先,我们需要计算出文件的大小以及数据分组的数量:
文件大小 x = 3.0 mB = 3.0 × 2^20 B = 3145728 B
数据分组大小 y = 1.75 kB = 1.75 × 2^10 B = 1792 B
数据分组的数量 n = x / y = 3145728 B / 1792 B = 1756
接下来,我们来计算两种情况下接收方收完该文件的最后一个bit所需要的时间。
(1)数据发送速度为10mbit/s,数据分组可以连续发送
在这种情况下,数据可以连续发送,因此可以计算出传输该文件所需的时间:
传输时间 = 文件大小 / 数据发送速度 = 3145728 B / (10 × 10^6 bit/s) = 0.3145728 s
除了传输时间,还需要考虑TCP连接的建立和分组在网络中传输所需的时间。建立TCP连接需要2个rtt的时间,因此TCP连接的建立时间为:
建立时间 = 2 × rtt = 2 × 80 ms = 0.16 s
每个数据分组需要一个rtt的时间才能收到确认,因此数据分组在网络中传输所需的时间为:
传输时间 = n × rtt = 1756 × 80 ms = 0.14048 s
因此,接收方收完该文件的最后一个bit所需要的总时间为:
总时间 = 建立时间 + 传输时间 + 分组确认时间 = 0.16 s + 0.3145728 s + 0.14048 s = 0.615 s
(2)数据发送速度为10mbit/s,但每发送一个分组后要等待一个rtt时间才能在发送下一个分组
在这种情况下,每个数据分组需要等待一个rtt的时间才能发送下一个分组,因此传输该文件所需的时间为:
传输时间 = n × (rtt + 数据分组传输时间) = n × (rtt + 数据分组大小 / 数据发送速度) = 1756 × (80 ms + 1792 B / (10 × 10^6 bit/s)) = 0.436736 s
同样,需要考虑TCP连接的建立和分组在网络中传输所需的时间,因此接收方收完该文件的最后一个bit所需要的总时间为:
总时间 = 建立时间 + 传输时间 + 分组确认时间 = 0.16 s + 0.436736 s + 0.14048 s = 0.737 s
因此,接收方收完该文件的最后一个bit所需要的时间分别为 0.615 s 和 0.737 s。
阅读全文