假定要在⽹络上传送1.5MB的⽂件。设分组⻓度为1KB,往返时间RTT=80ms。传送数据之前还需要有建⽴TCP连 接的时间,这时间是2×RTT=160ms。试计算在以下⼏种情况下接收⽅收完该⽂件的最后⼀个⽐特所需的时间。 (1)数据发送速率为10Mb/s,数据分组可以连续发送。 (2)数据发送速率为10Mb/s,但每发送完⼀个分组后要等待⼀个RTT时间才能再发送⼀个分组。 (3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每⼀个RTT往返时间内只能发送20个分组。 (4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第⼀个RTT往返时间内只能发送⼀个分组,在第 ⼆个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即23-1=22=4个分组
时间: 2024-04-01 18:36:11 浏览: 111
对于所有情况,建立TCP连接的时间都是2×RTT=160ms。
(1)数据发送速率为10Mb/s,数据分组可以连续发送。
每个数据分组长度为1KB=8Kb,传输1.5MB=12Mb的数据需要分成1500个数据分组。由于数据分组可以连续发送,因此传输时间为:
传输时间 = 数据长度 ÷ 数据发送速率 = 12Mb ÷ 10Mb/s = 1.2s
加上建立TCP连接的时间,接收方收完该文件的最后一个比特所需的时间为:
总时间 = 传输时间 + 2×RTT = 1.2s + 160ms = 1.36s
(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。
由于每发送完一个分组后要等待一个RTT时间才能再发送一个分组,因此每个数据分组需要传输2个RTT的时间才能完全到达接收方。另外,由于数据分组长度为1KB,因此每个分组的传输时间为:
传输时间 = 数据分组长度 ÷ 数据发送速率 = 8Kb ÷ 10Mb/s = 0.8ms
因此,传输1500个数据分组的时间为:
传输时间 = 1500 × 2 × RTT + 1500 × 传输时间 = 240ms + 1.2s = 1.44s
加上建立TCP连接的时间,接收方收完该文件的最后一个比特所需的时间为:
总时间 = 传输时间 + 2×RTT = 1.44s + 160ms = 1.6s
(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。
由于数据发送速率极快,可以不考虑发送数据所需的时间,因此1500个数据分组可以在一个RTT内全部发送完毕。但由于规定在每一个RTT往返时间内只能发送20个分组,因此需要发送75个RTT。另外,每个数据分组需要传输2个RTT的时间才能完全到达接收方。因此,传输1500个数据分组的时间为:
传输时间 = 75 × 2 × RTT + 1500 × 2 × RTT = 12s
加上建立TCP连接的时间,接收方收完该文件的最后一个比特所需的时间为:
总时间 = 传输时间 + 2×RTT = 12s + 160ms = 12.16s
(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即23-1=22=4个分组)。
由于数据发送速率极快,可以不考虑发送数据所需的时间,因此1500个数据分组可以在三个RTT内全部发送完毕。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组,因此需要发送3个RTT。另外,每个数据分组需要传输2个RTT的时间才能完全到达接收方。因此,传输1500个数据分组的时间为:
传输时间 = 3 × 2 × RTT + 1 × 2 × RTT + 2 × 2 × RTT + 4 × 2 × RTT = 30 × RTT
加上建立TCP连接的时间,接收方收完该文件的最后一个比特所需的时间为:
总时间 = 传输时间 + 2×RTT = 30×RTT + 160ms
阅读全文