QoS:分类、监管、整形与排队

服务质量(QoS)是指当链路上的流量超过链路容量时路由器所做的处理。OcNOS 在入口对流量进行分类,并按约定速率计量,然后在出口进行排队、调度和整形,IP Infusion 提供的每个路由和交换平台都采用相同的配置模型。

QoS 流水线

数据包会经过两次 QoS 处理。进入时,它被分类、可选地重新标记,并由监管器计量。离开时,它被放入队列、由调度器选中,并通过整形器发出。每个阶段都有各自的标准和各自的故障模式。

OcNOS 路由器上的 QoS 流水线 数据包从左到右经过六个阶段。入口:按接口、ACL、DSCP、IP 优先级、RTP 或 802.1p 分类;标记或信任已有的 DSCP 和 802.1p 值;用单速率或双速率三色计量器进行监管,可能丢弃或重新标记。出口:放入多个硬件队列之一,队列填充时应用 WRED;用加权轮询、加权公平队列或严格优先级在队列间调度;通过按队列或按端口的整形器发出。 入口 出口 分类 ACL / DSCP / 802.1p 标记 / 信任 RFC 2474 监管 srTCM / trTCM 排队 WRED, RFC 2309 调度 WRR / WFQ / SP 整形 RFC 3644 丢弃或重新标记 缓存与时延 分类 · 标记 · 监管 · 排队 · 调度 · 整形

监管和整形解决的是不同的问题

这两者常被当作可以互换,但事实并非如此。监管器测量流量,并立即对当前的数据包采取动作。约定速率以内的流量通过,超出的流量被丢弃或重新标记为较低优先级,不做任何存储。由于监管器从不缓存,它不会增加时延;也正因为它从不延迟,它无法平滑任何流量。突发会被截断,而不是被吸收。

整形器正好相反。超出的流量被保存在队列中,并按配置的速率发出,因此即使到达的流量是突发的,离开端口的流量也很平滑。这可以防止下游链路或客户交接点收到超过约定的流量,但平滑的代价是时延和缓存占用。

实际的分工由此而来。 在入口监管,保护自己的网络免受超出所售带宽的流量影响。 在出口整形,保护下游的一切。 在出口交接点做监管,会让应用遭遇无法预见的丢包。在入口做整形,只是把拥塞问题转移到自己的缓存里。

三种颜色,两种测量方式

OcNOS 的两种监管器都是三色标记器。绿色表示在承诺速率以内,黄色表示在突发容许量以内,红色表示超出合约。区别在于速率的测量方式。单速率三色标记器(RFC 2697)基于一个速率,带有承诺突发和超额突发,适合允许突发但不允许持续高速率的合约。双速率三色标记器(RFC 4115)分别测量承诺速率和峰值速率,适合在承诺速率之上有明确硬上限的合约。两者在全部 26 个服务提供商平台和 18 个数据中心平台上均可用。

OcNOS 实现了什么

按实际存在的字段匹配

按照 RFC 2475 的 DiffServ 架构,基于接口、访问列表、DSCP、IP 优先级、RTP 或 802.1p 进行匹配。也可以将端口设置为信任上游已设置的 802.1p 或 DSCP 值,而不重新分类。

srTCM 与 trTCM

符合 RFC 2697 的单速率三色计量和符合 RFC 4115 的双速率三色计量,对超出合约的颜色执行丢弃或重新标记。在全部平台上可用。

溢出前启用 WRED

符合 RFC 2309 的加权随机早期检测会随着队列增长丢弃越来越多的数据包,使发送端在尾部丢弃一次性冲击所有流之前就降速。

WRR、WFQ 与严格优先级

每端口多个硬件队列之间的加权轮询、加权公平队列和严格优先级调度,以 RFC 4594 的服务等级建议为起点。可以按队列设置最小和最大带宽。

按队列和按端口

按照 RFC 3644 的策略模型,对单个队列或整个端口应用速率整形,因此同一接口上可以同时存在总体上限和按类上限。

能回答问题的计数器

类映射统计和按出口队列的计数器,可以证明策略匹配的正是你预期的流量,并证明队列正在排空。

服务提供商平台与数据中心平台的差异

QoS 的大部分功能在两类平台上通用,但有三项功能并非如此,若假定相同,就是一个应及早发现的设计错误。

  • 分层排队是服务提供商平台的功能。 一级、二级或三级排队层次(RFC 3644)让端口级整形器位于各业务队列之上,这正是运营商以太网交接点或企业业务汇聚端口所需要的。它在全部 26 个服务提供商平台上可用,不属于数据中心平台集。相关的业务排队模型(将业务映射到 VLAN 并对每个 VLAN 整形)适用范围相同。
  • 显式拥塞通知是数据中心平台的功能。 ECN(RFC 3168)通过标记数据包而非丢弃数据包,让端点能够作出反应,这正是无损 RDMA 传输得以实现的关键。在 AI 或存储 fabric 上,它是 DCQCN 以及 PFC.
  • 桥接数据包的重新标记是数据中心平台的功能,在全部 18 个数据中心平台上可用。

如果设计依赖其中某项功能,请先确认平台。 功能矩阵 提供各平台的详细信息, 硬件兼容性列表 则将其对应到运行这些功能的路由器和交换机。

正在为实际交接点制定 QoS 策略?

联系我们

常见问题

路由器上的 QoS 是什么?
服务质量是路由器在链路繁忙时决定哪些数据包先转发、哪些延迟、哪些丢弃的一组机制。在 OcNOS 上,它以流水线方式运行:对流量进行分类、标记,在入口按约定速率监管,然后在出口进行排队、调度和整形。
流量监管和流量整形有什么区别?
监管按速率测量流量并立即采取动作:超出速率的流量被丢弃或重新标记为较低优先级,不做任何存储。整形将超出的流量保存在队列中并按配置速率发出,因此流量被平滑而不是被截断。监管保护网络,通常应用在入口。整形保护远端,应用在出口,代价是增加时延和缓存占用。
WRED 是什么,为什么要使用它?
加权随机早期检测会随着队列填充以逐渐增加的比例丢弃少量数据包,而不是等队列溢出后一次性全部丢弃。按照 RFC 2309,这可以尽早向发送端发出拥塞信号,并防止各流同步陷入反复的崩溃和恢复循环。OcNOS 在全部 26 个服务提供商平台和 18 个数据中心平台上支持 WRED。
srTCM 和 trTCM 是什么?
它们是用于监管的两种标准三色计量方案。单速率三色标记器(RFC 2697)测量一个速率,带有承诺突发和超额突发,将流量标记为绿、黄或红。双速率三色标记器(RFC 4115)分别测量承诺速率和峰值速率。OcNOS 同时实现了这两种方案,因此监管器既可以针对一个速率允许突发,也可以强制执行独立的峰值上限。
OcNOS 支持分层 QoS 吗?
支持,在服务提供商平台上。OcNOS 支持一级、二级或三级排队层次(RFC 3644),因此端口总体整形器可以位于按业务或按客户的队列之上。分层排队和相关的按业务排队模型是服务提供商功能,不属于数据中心平台集。
OcNOS 可以根据什么对流量进行分类?
按照 RFC 2475 的 DiffServ 架构,分类可以匹配入接口、访问列表、DSCP、IP 优先级、RTP 或 802.1p 优先级位。还可以让路由器信任邻居已设置的 802.1p 或 DSCP 值,避免对已在网络边缘正确标记的流量重新分类。