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

本来很懵逼的 看到这篇文章基本全懂了

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

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

首先,这里要说明M的区别,在10MB数据这里,是存储值,用的是1MB=220bits1MB=220bits.

这是很重要的区别。

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

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

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

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

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

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

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

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

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

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

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

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

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

而经过画图,计算,思考,只要分组连续发送的间隔相同,无论考不考虑排队时延,传播时延等,总的计算公式是:
分组时:
÷+(总的数据量÷数据传输速率)+最后一个分组从第一段链路到终点的时间

有必要再多说最后一个分组传输的时间,我们考虑的是:A点将最后一个分组已经发送到了第一段链路,这个时刻正好是总的数据量除以链路传输速率的时间。

因此,我们只需要带着最后一段数据,计算从第一段链路到终点的时间即可。姑且认为,最后一个老幺被A关照了,送了它一程。

如果没有分组,也可以先拿总数据除以链路传输速率,再分析这个分组的传输。或者从A发送开始分析即可。

认识到这里,基本上此类题目无难题。

光说不练假把式。

实际动手来讨论一下。

在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为100 Mbps,分组大小为1000 B,其中分组头大小为20 B.若主机H1向主机H2发送一个大小为980 000 B的文考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是(C)

这里写图片描述

A. 80 ms B. 80.08 ms C. 80.16 ms D. 80.24 ms
解答:分组大小为1000B,设有xx个分组

那么:1000x=980,000+20x1000x=980,000+20x个分组。
就是简单的数学计算,不是凭直觉判断1000个分组的。

好了,1000个分组,按照我们形成的结论计算是:
÷=(10001000B)÷100Mbps=(1068bit)÷(100106bit/s)=80ms总的数据量÷链路速率=(1000个分组⋅1000B)÷100Mbps=(106⋅8bit)÷(100⋅106bit/s)=80ms

再考虑最后一个分组从第一段链路往H2用的时间:
很显然选择还剩两端链路,两个路由(就是从左到右的直线)的路径。
一个分组是1000B.

一个分组在一段链路上发送时间:
1000B÷100Mbps=(1038bit)÷(100106bit/s)=0.08ms1000B÷100Mbps=(103⋅8bit)÷(100⋅106bit/s)=0.08ms

发送两次用时就是0.16ms.

所以总时间是80.16ms.

有问题再继续补充。

update:或者用另一种角度想,总共n个分组,前面n-1个分组陆陆续续送上链路。当第n-1个分组送上链路后,用时为n1÷n−1个分组数据÷数据传输率
此时看第n个分组就是从头开始,路径中多少链路就计算多少次。

比如上面的题目,就是999÷999个分组数据÷数据传输率,再加上第1000个分组从H1到H2经过三段链路的时间。

最初说总的数据量除以数据传输率+最后一个分组从第一段链路开始传输用时,不再计第一段传输用时,其实就是说第一段已经记在总的数据量里了。只是计算更方便些。原理相同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高等数学的函数连续,可导,可微和偏导数连续的关系(多元)

最近在自学机器学习 顺便把高数捡回来 结论(一元函数范畴内) 可导与连续的关系:可导必连续,连续不一定可导; 可微与连续的关系:可微与可导是一样的; 可积与连续的关系:可积不一定连续…

在控制台中实现“单词竞猜”游戏 C# 猜词游戏

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/u011528448/article/details/24670471 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_v…

byvoid 神牛的tarjan算法讲解!

[有向图强连通分量] 在有向图G中&#xff0c;如果两个顶点间至少存在一条路径&#xff0c;称两个顶点强连通 (strongly connected)。如果有向图G的每两个顶点都强连通&#xff0c;称G是一个强连通图 。非强连通图有向图的极大强连通子图&#xff0c;称为强连通分量 (strongly …

关于NLP你还不会却必须要学会的事儿—NLP实践教程指南第一编

作者 | Dipanjan (DJ) Sarkar 编译 | 姗姗 出品 | 人工智能头条&#xff08;公众号ID&#xff1a;AI_Thinker&#xff09; 【人工智能头条导读】在研究和处理自然语言处理的很多问题时&#xff0c;除了关注各种各样基础的数据&#xff0c;高级的深度学习模型、算法外&#x…

ORACLE中表死锁的处理

在进行数据库管理的过程中,经常会出现数据表被用户的一些不合理操作而导致表被锁定的情况,以下主要介绍如何查找哪些表被哪个用户所锁定,以及如何解除锁定: 1.查找被锁定的表: select object_name,session_id,os_user_name,oracle_username,process,locked_mode,status from v$…

asp.net文件上传进度条控件(破解版~没有时间限制) 多项自定义

原版只能用30天&#xff0c;这个破解版可以长期用了&#xff08;设置了时间2010-2110&#xff09;. 注册控件&#xff1a;<% Register TagPrefix"fup" Namespace"OboutInc.FileUpload" Assembly"FileUpload" %>调用控件&#xff1a;<fo…

矩阵连乘问题的算法分析

问题描述&#xff1a;给定n个矩阵&#xff1a;A1,A2,...,An&#xff0c;其中Ai与Ai1是可乘的&#xff0c;i1&#xff0c;2...&#xff0c;n-1。确定计算矩阵连乘积的计算次序&#xff0c;使得依此次序计算矩阵连乘积需要的数乘次数最少。输入数据为矩阵个数和每个矩阵规模&…

等一分钟看了会流泪

转载于:https://blog.51cto.com/hljheiwangwei/269127

Silverlight 解谜游戏 之十六 消失的蒙娜丽莎

在《Silverlight 解谜游戏 之三 消除名单》中我们通过在物品轮廓画出Path 来达到消除物品的效果&#xff0c;由于游戏中的物品都是Office 图片的一部分所以无法使其真正消失&#xff0c;本篇我们将添加一个独立于Office 图片的物品&#xff0c;使其能动态消失。 看看题板上多出…

明令禁止工作“996”,是对“生而为人”的基本尊重

离GitHub上996.ICU项目的发布时间已过去好一段时间了&#xff0c;作为一名计算机专业的在读生&#xff0c;对996有一点体会&#xff0c;最直观的体会就是为了提升技术&#xff0c;连续一个学期在实验室工作超过10个小时。 人民日报发文《被“996”围困的年轻人&#xff0c;像是…

让sky Driver成为你的可见硬盘

网盘就不用多说了&#xff0c;国内国外的都很多&#xff0c;但是sky Driver以25G的大容量还是吸引着我&#xff0c;看来还是盖茨比较称钱&#xff08;sorry&#xff0c;方言&#xff0c;意思就是nb的意思&#xff09;&#xff0c;但是一向以用户体验非常不错著称的microsoft在这…

设计模式----Adapter(适配器)

作用: 将一个类的接口转换成客户希望的另外一个接口。Adapt 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 UML示意图 1)采用继承原有接口类的方式 2)采用组合原有接口类的方式 解析: Adapt模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起…

Exchange 2003升级至Exchange 2007

环境: 三台机器:DC Exchange2003 Exchange2007 计算机名:DC MAIL NEWMAIL 前提条件: 1.Exchange组织设置为纯模式。 2.Exchange 2003安装SP2 3.拥有Schema Master角色的DC及所有GC运行在Windows 2003 SP1或更高以上 4.AD域提升到最高 不被Exchange 2007支持的组件有: Nov…

蓝桥杯 标题:纵横火柴旗子

【编程题】这是一个纵横火柴棒游戏。如图[1.jpg]&#xff0c;在一个3x4的方格中&#xff0c;游戏的双方轮流放置火柴棒。其规则是&#xff1a;1. 不能放置在已经放置火柴棒的地方&#xff08;即只能在空格中放置&#xff09;。2. 火柴棒的方向只能是垂直或水平放置。3. 火柴棒不…

易语言源代码毁来者来了!!

2009年12月7号16:34分&#xff0c;恐怖现象在次出现了&#xff01; 在编译易程序时&#xff0c;突然提示&#xff0c;某某模块找不到了&#xff0c;我跑到软件目录下一看&#xff0c;妈啊不得了&#xff0c;目录中一百多个文件能删除的全部都被删除了&#xff0c;只剩余几个残破…

矩阵连乘 动态规划 详解

矩阵连乘问题----动态规划(转载)&#xff1a; 给定n个矩阵&#xff5b;A1,A2,…,An&#xff5d;&#xff0c;其中Ai与Ai1是可乘的&#xff0c;i1&#xff0c;2…&#xff0c;n-1。如何确定计算矩阵连乘积的计算次序&#xff0c;使得依此次序计算矩阵连乘积需要的数乘次数最少。…

白盒测试中的六种覆盖方法及案例分析

语句覆盖是指选择足够的测试用例&#xff0c;使得运行这些测试用例时&#xff0c;被测程序的每一个语句至少执行一次&#xff0c;其覆盖标准无法发现判定中逻辑运算的错误&#xff1b;判定覆盖<又叫分支覆盖率>是指选择足够的测试用例&#xff0c;使得运行这些测试用例时…

回文数的C语言表述

2019独角兽企业重金招聘Python工程师标准>>> 现在的程序针对范围是0开始。直到溢出 #include #includemain(){ int i; /*本人的电脑用long和int一样*/for(i0;i<500;i){ if(svalue(i)) printf("%3d,",i); }getch();} int sv…

别人的爬虫在干啥

古人云博采众长&#xff0c;我们来看看其他人的爬虫是怎么学和用的&#xff1a; 爬虫文章 in 简书程序员专题&#xff1a; like:128 - Python 爬取落网音乐 like:127 - 【图文详解】python爬虫实战——5分钟做个图片自动下载器like:97 - 用Python写一个简单的微博爬虫like:87 …

windowsXP/7下消除快捷键箭头的方法

1.修改注册表。&#xff08;1&#xff09;启动注册表编辑器&#xff1a;点击 开始—运行里面输入“regedit”&#xff08;2&#xff09;然后依次展开如下分支&#xff1a;“HKEY_CLASSES_ROOT\lnkfile”&#xff1b;删除“lnkfile”子项中的“IsShortcut”字符串值项注意&#…