手把手教你做计算机网络基础大题—报文交换

一、题目

如图所示,主机A要向主机B发送一个长度为300KB的报文,发送速率为10Mbps,传输路径上要经过8个路由器,连接路由器的链路长度为100km,信号在链路上的传播速度为2×108m/s。每个路由器的排队等待延时为1ms。路由器发送速率也为10Mbps。忽略:主机接入到路由器的链路长度,路由器排队等待延时与数据长度无关,并假设信号在链路上传输没有出现差错和拥塞。请计算:
(1)采用报文交换方法,报文头长度为60B,报文从主机A到主机B需要多长时间?
(2)采用报文分组交换方法,分组头长度为20B时,分组数据长度为2KB,所有报文分组从主机A到主机B需要多长时间?

在这里插入图片描述

二、解答

解法1

报文分组交换方法:就是一个一个报文分组跟着传输下去,300KB分为2KB的数据包,有150个,从主机A到最后一个路由器发出最后一个包,相当于2KB数据包发送了9+149=158次,延时时间=发送时间×158+8个路由器等待延时时间+链路传播时间。
另外,Mbps是Million bits per second 的缩写,1Mbps代表每秒传输1,000,000位(bit)。
(1) 发送时延=[(300×1024+60)×8/10000000]×9×103=2212.272ms
排队时延=8×1=8ms
传播时延=[(100×1000)/2×108]×7×103=3.5ms
报文从主机A到主机B需要的时间=发送时延+排队时延+传播时延
=2212.272+8+3.5=2223.8ms

(2) 发送时延=[(2×1024+20)×8/10000000]×(9+149)×103
=261.3952ms
排队时延=8×1=8ms
传播时延=[(100×1000)/2×108]×7×103=3.5ms
所有报文分组从主机A到主机B需要的时间=发送时延+排队时延+传播时延=261.3952+8+3.5=272.9ms
答:(1)采用报文交换方法,报文从主机A到主机B需要2223.8ms时间
(2) 采用报文分组交换方法,所有报文分组从主机A到主机B需要272.9ms时间?

解法2

(1)报文交换
① 报文长度:L1=300KB=300×1024×8=2457600(bit)
报头长度:L2=60B=60×8=480(bit)
报文总长度:L=L1+L2=2458080(bit)
报文发送总时延:t1=L/S=2458080/1×107≈245.81(ms)
② 传播时延:t2=D/V=[(100×1000)/2×108]×103=0.5ms
③ 已知每个路由器的排队等待延时为1ms
④ 总时延:报文从主机A传输到主机B要经历9次发送(9个发送延时)、7段连接路由器的链路,以及8个路由器的排队等待延时。因此,报文交换总延时为:
T=9×245.81+7×0.5+8×1≈2223.79(ms)
(注:上述S表示信号的发送速率,D是连接两路由器之间的链路长度,V是信号在链路上的传播速度)。

(2)报文分组交换
① 分组数:N=300KB/2KB=150(个)
② 分组长度:L=L3+L4=(2×1024+20)×8=16544(bit)
③ 每个分组发送延时:t3=L/S=16544/1×107≈1.6544(ms)
④ 已知每个分组通过路由器的排队等待延时为1ms,经过每一段链路的传播时延为0.5ms。
⑤ 所有分组从主机A传输到主机B的时间T应该等于主机A发送N-1个分组的发送延时加上最后一个分组从主机A传输到主机B的总时间。
T=(N-1)×发送时延(t3)+(9×发送时延(t3)+7×传播时延(t2)+8×等待时延)
=(150-1)×1.6544+(9×1.6544+7×0.5+8×1)
=158×1.6544+3.5+8
=272.9(ms)
答:(1)采用报文交换方法,报文从主机A到主机B需要2223.79ms时间
(2) 采用报文分组交换方法,所有报文分组从主机A到主机B需要272.9ms时间

➡️欢迎小伙伴在下方评论区留言!关注我的csdn!更多精彩等着你!

猜你喜欢

转载自blog.csdn.net/m0_53291252/article/details/122840669
今日推荐