流量整形

网络工程 服务质量
2022-02-26 14:16:39

我需要对这个问题进行一些澄清(对此有点生疏)

假设我对 1Mb 的 BW 有一些限制。那么在 10 秒内有 1.5Mb 的传入流量会发生什么 - 一些数据将开始延迟到达?还有其他影响吗?

谢谢

2个回答

这完全取决于流量限制是如何实现的。

实现它的一种方法是建立一个速度为 1Mb/s 的链接。然后,没有数据会以超过 1Mb/s 的速度到达。

但是,现代链路通常更快,并且流量整形已在软件中实现。那你应该仔细看看令牌桶漏桶速率限制很有可能使用这种算法。

通常,无论速率限制是基于链路速度还是在软件中实现,都有缓冲区。缓冲区有多大是另一个问题。许多系统都有过多的缓冲(bufferbloat)。

因此,任何这些都可能发生:

  1. 爆发将立即被允许进入,因为它是如此之小(允许瞬间爆发),但如果你考虑例如 100 秒的爆发,那么爆发不会立即到达
  2. 突发将通过 1Mb/s 链接或软件速率限制,这意味着数据包将到达但稍后(延迟
  3. 突发大于缓冲区大小,因此会丢失一些数据包(丢失

您可能认为(2)优于(3),但事实恰恰相反。10 秒的缓冲区太大了。没有人喜欢延迟为 10 秒的链接。低延迟通常比低损失更好。

有关的:

限制可以是物理的(链接的限制)或逻辑的(通过策略人为限制更快的链接)。不能超过物理限制。

有了逻辑限制,一切都取决于策略在设备中的实施方式。它可能允许实际带宽在(非常)短的时间内(突发)超过限制。

多余的流量通常会排队,但如果队列容量耗尽,数据就会溢出并被丢弃。