考虑通过路由器从源到目标主机的两个链路上传输10,000位消息(参见下图)。路由器使用存储和转发数据包交换。源主机和路由器之间的链路长度为1,000米,路由器和目标主机之间的链路长度也为1,000米。两条链路的传输速率均为1Mbps。假设传播速度为2 * 10 ^ 8米/秒。假设唯一的延迟是传输延迟和传播延迟。
a。假设消息作为一个10,000位数据包发送。从源到目的地发送消息的总延迟是多少?
b。现在假设消息被分成四个数据包,每个包含2,500个数据包。从源到目的地发送消息的总延迟是多少?
嗨,我是网络新手,需要一些帮助。 我认为第一个可能是dprop + dtrans = 1000 /(2 * 10 ^ 8)+ 10000 /(10 ^ 6),但不确定。 任何人都可以提供一些帮助吗?
答案 0 :(得分:0)
Q1。第一个比特到达第一跳所需的时间:1000/2 * 10 ^ 8s。 传输10000位所需的时间:10000 / 1M秒
So, by the end of `10000/1M + 1000/2*10^8 sec`. the whole packet will reach the router.
正如您在问题中所说 - 假设路由器没有处理延迟,在上述时间结束时,路由器开始传输数据包。从路由器到目的地需要与源路由器相同的时间。所以在上述时间之前的2 *结束时,目的地获得整个数据包。
Q2。第一个场景和第二个场景之间的唯一区别是基于您在问题中提到的存储和转发逻辑。这意味着,路由器只能在收到整个数据包后才能进行传输。所以它必须等待先前计算的时间量才能开始传输。但是在第二种情况下,由于数据包大小为原始的1/4,它可以在原始时间的1/4结束时开始传输第一个pkt。但是在这两种情况下,目标上接收到最后一位的时间都是相同的。
它能回答你的问题吗?
答案 1 :(得分:0)
Q1:在这种情况下,只有1个10000比特的数据包 所以传输延迟将是2(10000 / 1mbps) 传播延迟为2(1000/2×10 ^ 8) 总延迟将是支持延迟+传输延迟。
Q2:数据包被分成数据包,传播延迟不受此影响,因为它与每个数据包中的数据包或比特数无关,但这会改变传输延迟,它将为2(2500)/ 1mbps。第一个数据包和其他3个数据包的1(2500)/ 1mbps,因此总传输延迟变为2(2500)/ 1mbps + 3(1(2500))/ 1mbps