数据在链路层传播相关时间计算

一般这种题目会让我感觉很是煎熬,不知道怎么算。终于打通这类题目,总结到这里。

先看这类题目的常见表述:如图所示,图中路由器采用存储–转发的方式,所有链路的传播速率均为100Mbps(可以是其他的数字),分组大小为1000B(同样可以是其他数字),其中分组头部大小(有些题可以忽略),分组拆装时间,传播延迟等可以忽略。本篇文章会说到不忽略也不影响宏观的数据传递时间,只在最后一个分组稍有影响。根据拓扑图,求传递大小为10MB的时间是多少。

首先,这里要说明M的区别,在10MB数据这里,是存储值,用的是 1MB=220bits ,在传输速率中, M=106 .

这是很重要的区别。

我们知道从一个主机发送一段数据到另一个主机,需要经过计算机网络。这个过程有必要再阐述一次,以理清楚如何计算数据的传输时间消耗问题。

我们假设主机A到主机B.
一大块数据,先不管是一块直接传还是分成多组传输,而是先问,时间都去哪儿了

主机A想,任务来了,得把它传到B,我才不管传的是B,C,D还是什么,我只知道要让它上路。

对的,上路,上的是什么路,上的是链路!
A其实像一个港口,目标是把货物装上集装箱,然后让集装箱坐船走。装箱的过程很耗时间,我们不能认为这个时间很短,就没了一个清晰的概念。

那么,这个送数据上路的时间怎么算?对的,就是传输速率,也称之为发送速率。

发送的过程很明确,根据链路的速率来发。

好的,现在数据发上链路了,其实就是电信号在链路上跑,以光速在跑。很多时候,在链路上的传播速度就不计了,好像瞬间就能到达与A相连的那个路由器。事实上可以这么认为。

我们就当经过一段很短的时间就从一个A传到了相连的路由器。

到这里,如果我问,A和B之间直接通过链路相连,A到B的时间算多少?
是不是瞬移?
不是的,装箱很耗时间啊!A要把数据送到链路上呢。

理解这个直连模型,就不用担心引入其他的路由器进来数据的传输问题了。因为,本质上,路由器也是电脑主机,和A传输东西没有区别,既然是存储–转发机制,就意味着数据进来路由器,再出去,还得经历一次装箱的流程。好像货物从A港口到了一个中转站,先把货物写下来,让轮船也休息休息,等休息好了(这个休息时间可类比为排队等,也可以认为休息时间不计),又得装箱。路由器也是这样,它也要重新装箱,上下一段链路,具体又得计算一次传输时间(发送时间)。

就这样每个路由器都这样算,到达B,终于不用计算B的存储转发时间了。

以上描述的过程,我们只看到一块的数据如何传输。
这里我先讲一个宏观的概念:整块传输的时间远大于分组传输的时间。
为什么会这样,直观来说就是,一大组每次都要存储–转发,计算的是n次。而分成多个组后,虽然过程相同,但是考虑到并行性,实际上我们只考虑一次大组数据的传输时间,那些细节的时间只用考虑最后一个分组即可!

实际上,上面这段话就讲完了所有的点。

而经过画图,计算,思考,只要分组连续发送的间隔相同,无论考不考虑排队时延,传播时延等,总的计算公式是:
分组时:
÷

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值