在图B-3所示的采用“存储—转发”方式的分组交换网络中,所有链路的数据传输速率为100Mbit/s,分组大小为1000B,其中分组头大小为20B。若主机H1向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是()。
图B-3
首先计算数据总量为B没什么太大问题,关键在于这种分组转发时延的问题怎么计算,总结两点:
1.一定有发送时延=总数据量/数据传输速率
2.如果链路上有N个路由器,那么一定还有N个单个分组的发送时延。
主要解释下第2点,因为分组转发一定是路由器先存储一个分组再转发,所以每经过一个路由器,就需要多计算单个分组的发送时延一次。
所以,计算如下:
发送时延=
单个分组发送时延=
经过两个路由器,则总时延=
分组大小为1000B,其中分组头大小为20B,则分组携带的数据大小为980B,文件长度为980000B,需拆分为1000个分组,加上头部后,每个分组大小为1000B,总共需要传送的数据量大小为1MB。由于所有链路的数据传输速度相同,因此文件传输经过最短路径时所需时间最少,最短路径经过2个分组交换机。
当t=1M×8/(100Mbit/s)=80ms时,H1发送完最后一个比特。
当H1发送完最后一个分组时,该分组需要经过2个分组交换机的转发,在2次转发完成后,所有分组均到达H2。每次转发的时间为t0=1K×8/(100Mbit/s)=0.08ms。
所以,在不考虑分组拆装时间和传播延迟的情况下,当t=80ms+2t0=80.16ms时,H2接收完文件,即所需的时间至少为80.16ms。