delay - 确定端到端延迟
问题描述
有人可以帮我理解这个问题:
"(c) A 想通过 B 向 D 发送一个 500 字节的数据包。B 应该遵循存储转发模型,即 B 将从 A 接收到整个数据包,然后开始将数据包传输给 D。什么是数据包看到的端到端延迟?”
A --> B (4 Mbps & 3000 km) 和 B --> D (10 Mbps & 900 km) 这也假设所有数据都以光速发送 (3 * 10pow(5) km/s
我只是真的坚持这个问题,就像我得到了大部分的计算一样,但是我不知道如何确定这些。
解决方案
听起来这些问题旨在帮助您了解不同速度/长度链接的数据的不同传输时间。
对于 A->B,您应该计算数据包在 4 兆位链路上传输所需的时间。然后,您需要使用距离和光速添加物理传输时间。
即首先,您需要知道最后一个比特被放到链路上需要多长时间,然后该比特需要多长时间才能到达接收器。
当 B 收到最后一个比特时,它会将数据包转发给 D。因此,您需要对 B->D 部分重复计算。
这两部分的总和应该是你的答案。
不过,我不会为你计算。
编辑: 好的,我觉得你真的尝试过自己,所以就这样吧。
A->B:
4 Mbps = 4 000 000 位/秒
500 字节 = 500*8 位 = 4000 位
传输时间 = 数据包大小 / 比特率 => 4 000 / 4 000 000 => 0.001 s
距离 = 3 000 公里
传播速度 = 300 000 km/s
传播时间 = 距离 / 传播速度 => 3 000 / 300 000 = 0.01 s
总时间 = 0.001 + 0.01 = 0.011 秒
现在你做 B->D 并添加两个部分。
推荐阅读
- javascript - 表单提交但控制台中没有数据
- python - 导入聊天机器人库时出现“RuntimeError:implement_array_function 方法已经有一个文档字符串”
- if-statement - 如何在 Google 表格中设置 COUNTIF 或 COUNTIFS 公式来比较列?
- r - 如何在 R 中绘制 Chow 测试结果?
- c# - 如何在 ASP.NET 剃刀视图中划分两个项目
- android - 获取 Googe 地图片段时遇到问题调用 onMapReady
- react-final-form - 提交表单道具无法禁用 react-final 表单中的按钮。使用 3.6.4 版本的 react-final-form
- javascript - 如何使用 Node.js 在数据库中保存图像路径?
- ruby-on-rails - 私有服务对象方法(Ruby + Rails)
- c# - 摧毁所有孩子时团结冻结