例子
Last updated
Last updated
让我们看看一个关于延迟保证的工作实例。
两台终端主机被三台路由器和四条运行速度为100Mb/s的250km的链路分开。终端主机想以15Mb/s的速度向对方发送一个1500字节的数据流,但他们不希望他们的分组从端到端的时间超过10ms。如果每个路由器都以15Mb/s的速度为数据流提供服务,那么分组在每个路由器中会延迟多长时间?(假设传播速度为m/s,排队延迟在路由器中平均分配)。
从问题中我们知道,三分之一的排队延迟将在每个路由器中。因此,首先,我们需要弄清楚排队延迟是什么。排队延迟将是总延迟,也就是10ms,减去固定延迟,也就是分组延迟和传播延迟的总和。
让我们先计算一下分组延迟,即把一个1500字节的分组传送到路径上的四条链路中的每一条的时间。对于每条链路,分组延迟是1500bytes * 8bits/byte除以100Mb/s(),这给了我们一个0.48ms的总分组延迟。
现在我们来计算传播延迟,即一个比特穿越所有四个链路所需的时间。每个链路的时间是250公里乘以每公里1000米,再除以传播速度,所有四个链路的总时间将是5ms:
因此,我们的总固定延迟是5.48ms。这意味着排队延迟是10-5.48ms=4.52ms,我们被告知这是由三个路由器平均分配的。
因此,每个路由器的排队延迟不能超过1.507ms,即答案是每个路由器的延迟为1.507ms。
我们可以继续计算每个路由器中需要容纳1.507ms数据的缓冲量。鉴于队列的服务速度为15Mb/s,这相当于1.507ms * 15Mb/s = 22,605比特。在实际中,我们会将其四舍五入到至少两个分组,即每个路由器需要24,000比特。