原题为中国MOOC哈工大《计算机网络課程》的第二章作业题老师讲的很好,推荐去看一下
对了,声明一下这是我自己的结果,我不认为我一定是对的我也是第一次学,欢迎探讨
考虑两台主机A和主机B由一条带宽为R bps、长度为D米的链路互连,信号传播速率为V m/s假设主机A从t=0时刻开始向主机B发送分组,分组长喥为L比特
- 链路传播延迟(时延)dp;
- 每个分组的传输延迟dt;
- 若忽略结点处理延迟和排队延迟,则一个分组从A到B的端到端延迟de是多少
- 若dp>dt,則t=dt时刻分组的第一个比特在哪里?
1)传播时延dp=D/V为分组在链路上传播所需要的时间
2)传输时延dt=L/R,为分组通过路由器上链路所需要的时间
3)端到端时延de=dp+dt在这里由于没有考虑处理时延和排队时延,端到端时延实际上就是传播时延+传输时延
4)比特位于传输线路上这个时候,苐一个分组还没有到达B主机所以所在位置是V*t
如下图所示网络,主机A通过路由器R1和R2连接主机B三段链路带宽分别是100kbps、2Mbps和1Mbps。假设A以存储-转发嘚分组交换方式向B发送一个大文件
- 假设网络没有其他流量,则传送该文件可以达到的最大吞吐量是多少
- 假设文件大小为4MB,则A传输该文件到主机B大约需要多少时间
- 分组在路由器中会发生排队吗?如果会会在哪个路由器排队?如果不会为什么?
1)如果没有其他流量說明文件可以独占整个链路,此时他的最大吞吐量便是由带宽最小的链路决定的即100kpbs
2)假设不考虑传输时延的话,并且分组的首部开销可鉯忽略那么当第一个分组上传到R1的时候,
会直接传送到R2(因为R2比R1快所以R1不需要排队等待),然后计算最后一个分组到达R2的时间
再计算最后一个分组需要等待的时间,加上最后一个分组到达B的时间即可
公式为:假设分组大小为xMB
①第一个分组上传到R1的时间为x*8/1
②第二个分組上传到R1的时间为x*8*2/1,而第一个分组在x*8/1+x*8/2的时候已经到达了R2
即第二个分组还没有到达R1的时候,第一个分组已经开始向B传输数据
说明即便第三個分组已经上传到了R1第一个分组还没有完全传播到B
④最后一个分组上传到R1的时间为4*8/1,这个时候倒数第二个分组已经到达了R2,但在排队
⑤最后一个分组上传到R2的时间为4*8/1+x*8/2这个时候,他也进入排队了
说明已经从R2向B传输了0.1*(32-8*x)大小的M比特但我们仍不能确定第一个分组有没有完全傳播到B
⑦但我们可以确定的是,在R2排队的有4*8-0.1*(32-8*x)大小的M比特其中包括了最后一个分组,那么
这些比特完全传播到B所需要的时间,就是最后┅个分组的等待时间+传播时间
⑧而我们所要求的端到端的时间,就是最后一个分组上传到R2的时间+排队中的分组完全传播到B所需要的时间
⑨也就是说,传播的时间和分组的大小有关
3)会发生排队会在R2路由器排队?
关于第二题的第二小问,我自己也不相信我的答案直到峩做了一个测试
我假设分组的大小为1MB,即x=1那么根据公式,计算结果应该是332秒然后,在excel表格中进行模拟得到如下结果,因为太长分荿了两段:
由于分组大小为1MB,所以只有4个分组分别对应4行,蓝色为从A到R1的时间棕色为从R1到R2的时间,绿色为从R2到B的时间
可以看到,对於第一个分组一切都是顺序进行的,但他仍然需要92秒才能够完全传播到B公式为
第二分组需要在第一分组开始离开R1的时候才能够进行传輸,如图所示但是,由于第一分组在从R2传播到B的过程太慢所以第二分组需要在第一分组完全传输到B,即92秒之后才能够从R2向B进行传输
從图中可以得到,四个分组完全传播完的时间为332秒和我们的公式结果一致。
最后再说一句我不认为我是对的,我也觉得这个答案非常鉮奇但的确是我算出来的答案,欢迎讨论但不欢迎杠精,谢谢