端到端延迟

网络工程 转变 以太网 ip 通讯协议 交换
2021-07-21 03:47:25

我正在解决计算机网络自上而下方法中的问题,并希望对端到端延迟计算有所了解。在这个阶段,我们不考虑处理、传输或传播延迟。

N = link
L = packet length 
R = transmission rate

端到端延迟是N*L/RN串联链接,在链接之间使用存储转发)。

作者要求将上述公式推广到在 N 个链路上发送 P 个数据包。

我得出的解决方案是(N*L/R)*P

这是一个合理的解决方案吗?


附注。这不是在家工作。

2个回答

因此,这假设所有数据包的长度相同并且所有链路的带宽相同。

我认为您犯的一个错误是您的公式查看单个数据包的端到端延迟,然后将其乘以数据包的数量。在这种情况下,第一个数据包将被端到端发送,然后第二个数据包将被端到端发送等。

在现实中,许多数据包可以在任何时候在网络内传输。如果我们考虑的唯一延迟是序列化,那么会发生以下情况:

  • 第一个数据包被序列化到第一个链接上
  • 一旦第一个数据包被序列化到第一个链路上,因为我们只考虑序列化延迟,它就可以在第二个链路上开始序列化
    • 同时,第二个数据包可以在第一条链路上开始串行化,因为第一条链路直到此时才对第一个数据包计时,所以它不能再快一点开始。
  • 在这个简单的模型中,第一个和第二个数据包同时在第二个和第一个链接上(分别)完成序列化
    • 第一个数据包现在可以在第三个链接上开始序列化
    • 第二个数据包现在可以在第二个链接上开始序列化
    • 第三个数据包现在可以在第一个链接上开始序列化
  • 一直持续到最后一个数据包被序列化到第一个链接上
  • 然后每个数据包必须在每个剩余的链接上进行序列化,直到它到达最后一个链接。

所以实际上,您需要逐个查看通过第一个链接发送所有数据包所花费的时间,然后查看最后一个数据包遍历其余链接所花费的时间。

  • 因此,如果您将 (L/R) 视为通过一条链路传输一个数据包所花费的时间。

  • 然后考虑这些延迟中有 P 个延迟通过第一条链路逐个传输所有数据包

  • 并且有 (N-1) 个这样的延迟来通过剩余的链路传输最后一个数据包

那么这个公式就是:

(P + (N-1)) * (L/R)

注意:这个公式非常简单,假设没有传播延迟、节点处理延迟或排队延迟等。

t =N*L/R 第一次到达目的地。

t =N*L/R +L/R第二个数据包到达目的地。

t = N*L/R +L/R+L/R第 3 个数据包到达目的地。

相似地,

t = N*L/R + (P-1)*L/RPth 个数据包到达目的地。所以total delay = N*L/R + (P-1)*L/R = (N+P-1)*L/R