如图1-38所示,主机A要向主机B发送一个长度为300KB的报文,发送速率为10Mbps,传输路径上要经过8个路由器,连接路由器的链路长度为100km,信号在链路上的传播速度为m/s。每个路由器的排队等待延时为1ms。路由器发送速率也为10Mbps。忽略:主机接入到路由器的链路长度,路由器排队等待延时与数据长度无关,并假设信号在链路上传输没有出现差错和拥塞。请计算:
(1)采用报文交换方法,报文头长度为60B,报文从主机A到主机B需要多长时间?
(2)采用报文分组交换方法,分组头长度为20B时,分组数据长度为2KB,所有报文分组从主机A到主机B需要多长时间?
(1)由前期学习得知,路由器分组交换网中的延时主要有:处理延时、排队延时、发送延时、传播延时。
1.排队时延:“每个路由器的排队等待延时为1ms”,如题共有八个路由器,所以8*1ms,排队时延8ms。
2.传播时延:传播时延是信号通过距离为D的传输介质所需要的传输时间
。
连接路由器的链路长度为100km,此处共有8个路由器,所以路由器与路由器之间是8-1=7个链路。
此处乘10的三次方是为了将s化为ms,同一单位。(后面的也是)
3.发送时延:发送延时=发送分组比特数/发送速率
报文长度300KB=300**8b
已知报文头长度为60B=60*8b
已知从Ha发送到Hb,所以经过8个路由器,共有9段。
计算得出报文从主机A到主机B需要的时间=发送时延+排队时延+传播时延=2223.8ms
(2)报文分组交换
分组交换采用存储转发技术。把一个报文划分几个分组后再进行传送。在每一个数据段前面,加上一些由必要的控制信息组成的首部后,就构成了一个分组。
分组数据长度为2KB,总长度300KB,所以分了150组。
1.排队时延同(1),为8ms。
2.传播时延同(1),为3.5ms。
3.发送时延:
首先把单个分组的单个时间段发送时延计算出来,与(1)同理可得
根据画图会发现,在开始的时间第一个分组出发,在第二个时间点时刻,第二个分组开始出发,由此推断发现第n个时间点时刻是第n个分组出发,那么第150个时刻第150分组刚刚出发,距离接收端还有8个时刻,所以共需要158个时刻。
总延时 = 主机A发送150个分组的发送延时 + 最后一个分组经过8台路由器的发送延时 + 最后一个分组在8台路由器之间的7条线路上的传播延时 + 最后一个分组在8台路由器中的排队延时
所以整个发送时延:
所有报文分组从主机A到主机B需要的时间=发送时延+排队时延+传播时延=272.9 ms
(1)采用报文交换方法,报文从主机A到主机B需要2223.79ms时间
(2)采用报文分组交换方法,所有报文分组从主机A到主机B需要272.9ms时间
自己写的,不知道会不会有表述错误,若有错烦请指正。