公平排队 CBWFQ 中的每个类

网络工程 思科 思科-ios 服务质量 cisco-isr
2022-02-11 02:42:44

我的问题类似于: 使用带有公平队列语句的 CBWFQ 有什么好处

鉴于此策略映射(没有类映射)配置:

policy-map test
 class DSCP30
  bandwidth percent 20
 class DSCP40
  bandwidth percent 30
 class DSCP50
  bandwidth percent 40
 class class-default
  fair-queue

这会为标记为 DSCP30 的流量保留 20% 的接口带宽。但是这个队列仍然作为 FIFO 处理。我希望以下两个陈述是正确的:

  • 如果两个客户端发送DSCP30流量并且其中一个是重击者,那么第二个客户端将在拥塞时经历丢弃和延迟,因为队列正在被FIFO编辑。
  • 如果两个客户端发送DSCP0流量并且其中一个是重击者,那么第二个客户端在拥塞时将经历更少的丢包和延迟,因为队列是公平排队的

因此,公平排队的好处,即流量被放入流并平等对待(公平),适用于类默认流量。那么为什么我从来没有在教程或示例中看到这样的配置:

policy-map test
 class DSCP30
  bandwidth percent 20
  fair-queue
 class DSCP40
  bandwidth percent 30
  fair-queue
 class DSCP50
  bandwidth percent 40
  fair-queue
 class class-default
  fair-queue

它基本上为每个班级激活了公平排队。有理由不使用这样的配置吗?

一些背景:我们主要有 Citrix 流量,默认情况下使用很少的带宽。但有时,一些用户从相机上传图像并产生大量流量。我们没有任何可能将此流量与其他流量区分开来,因为它是在同一个通道中处理的。因此,我们希望尽量减少“图像峰值”对其他 Citrix 用户的影响。

我在某处读到这被称为“使用 FQ 预分拣机”,但不确定这是否属实。感谢您查看这个问题。

1个回答

如果两个客户端发送 DSCP30 流量并且其中一个是重击者,则第二个客户端将在拥塞时遇到丢包和延迟,因为队列正在被 FIFO。

是的,这是正确的。FIFO 队列不对用户数据流量上的数据包进行优先级排序。它不需要优先级或流量类别的概念。使用 FIFO 时,行为不良的源会消耗可用带宽,突发源会导致时间敏感或重要流量延迟,重要流量可能会因为不太重要的流量填满队列而被丢弃。

如果两个客户端发送 DSCP0 流量并且其中一个是重击者,那么第二个客户端在拥塞时将经历更少的丢包和延迟,因为队列是公平排队的。

这取决于流量的类型。加权公平队列是一种用于服务质量 (QoS) 网络应用程序的基于流的队列算法,它首先调度低容量(例如 telnet)流量,同时让高容量流量(例如 FTP)共享剩余带宽。这是通过为每个流分配一个权重来处理的,其中较低的权重首先被服务。所以这取决于很多流量类型。

CBWFQ 允许您指定为特定流量类别分配的确切带宽量。考虑到接口的可用带宽,最多可以配置64个类并控制它们之间的分布

CBWFQ 允许您根据超出流量范围的标准定义什么构成类。CBWFQ 允许您使用 ACL 和协议或输入接口名称来定义流量的分类方式,从而提供更粗略的粒度。

它基本上为每个班级激活了公平排队。有理由不使用这样的配置吗?

不,我认为没有。但在管理上,它可能会变得安静,难以维持。

CBWFQ 允许用户在拥塞期间为类保留最小带宽。然而,该方案不适用于无法容忍延迟的语音流量。语音流量的延迟会导致不规则的传输,从而导致听到的对话中出现抖动。为了获得良好的语音质量,理想情况下单向端到端延迟应小于 150 毫秒 (ms)。LLQ 提供的新功能对于确保低速链路上的语音质量尤其重要。所以你肯定需要定义你的优先队列。

考虑公平队列配置。它基本上创建了迷你队列。那么问题是有多少?当我们有一个新的对话,但所有的队列都在使用时会发生什么?答案是队列的数量是可配置的,但是当队列都在使用时,新的会话就会被丢弃。

FIFO 是最快的排队方法,对于延迟小、拥塞最小的大型链路非常有效。如果您的链路拥塞很少,FIFO 排队可能是您需要使用的唯一排队。