ISO/IEC 29341-8-12:UPnP服务质量 — QoS数据包处理

深入探讨UPnP QoS框架中的数据包排队、调度、标记和拥塞避免机制

ISO/IEC 29341-8-12规定了UPnP QoS架构中的QoS Packet Handling(数据包处理)组件,定义了网络数据包根据QoS策略进行处理、排队、调度和传输的低层机制。QoS流量类别标准定义了流量的分类归属,而数据包处理标准则定义了每个类别的数据包在网络设备中的实际处理方式。这包括数据包标记和重新标记、队列选择和管理、调度算法、拥塞避免机制以及流量整形和监管功能。数据包处理规范是UPnP QoS框架的操作核心。

将三层的DSCP标记与二层的802.1p优先级标签结合使用,实现全面的流量管理。这种双层方法确保无论网络在二层还是三层转发,QoS标记都能被保留。

数据包处理机制与队列管理

QoS数据包处理规范定义了在协调流水线中运行的几种不同机制。数据包分类和标记首先发生:进入设备的数据包根据分类规则进行检查,并使用适当的DSCP(三层)和802.1p(二层)值进行标记。然后,标记的数据包根据其流量类别被定向到适当的队列。队列管理子系统实现了可配置的排队规则,包括严格优先级(SP)、加权公平排队(WFQ)、基于类的加权公平排队(CBWFQ)和低延迟排队(LLQ)。每个队列可以独立配置深度限制、丢包策略以及最小/最大带宽保证。

该规范引入了两种拥塞避免机制:尾部丢弃,当队列达到最大深度时丢弃数据包的最简单方法;以及随机早期检测(RED),在队列变满之前主动丢弃数据包,向TCP发送方发出拥塞信号。RED对TCP流量特别重要,因为它防止了全局TCP同步现象——即当队列溢出时所有TCP流同时降低传输速率,导致吞吐量振荡。数据包处理规范允许对RED参数进行逐队列配置,包括最小阈值、最大阈值和丢弃概率。

处理机制 层级 描述 配置参数
DSCP标记 L3(IP) 在IP头部设置DiffServ码点 DSCP值(0-63)
802.1p标记 L2(以太网) 在VLAN标签中设置优先级码点 PCP值(0-7)
严格优先级 队列 最高优先级队列先传输 队列ID、优先级级别
加权公平排队 队列 加权带宽分配 权重值
尾部丢弃 丢包 队列满时丢弃数据包 最大队列深度
随机早期检测 丢包 概率性提前丢弃以防止TCP同步 最小/最大阈值、最大丢弃概率
流量整形 输出 将输出流量平滑到配置的速率 CIR、CBS、EBS
流量监管 输入 丢弃或重新标记超过速率限制的数据包 CIR、CBS、超限动作
数据包丢弃策略必须根据网络流量模式进行调整。在携带突发TCP流量的队列上使用激进的RED阈值可能导致不必要的重传并将有效吞吐量降低20%或更多。

数据包处理的工程设计模式

设计有效的数据包处理配置需要理解不同机制之间的交互。推荐的工程设计模式是分层排队结构:为每个流量类别组(实时、流媒体、数据、后台)创建一个父类,为每个父类分配带宽保证,然后在每个父类内使用WFQ配置每流排队。这种方法确保了同一类别内各流之间的公平性,同时维持类别级别的带宽保证。对于实时流量(语音和视频),使用带监管突发速率的严格优先级排队,以防止单个流独占优先级队列。

正确的数据包处理配置确保延迟敏感应用在网络拥塞期间获得一致的优先级处理,在正常负载条件下语音流量经历的额外排队延迟低于10毫秒。
没有应用感知的激进流量整形可能导致TCP全局同步,其中多个TCP流同时进入拥塞避免模式,导致严重的吞吐量下降和网络不稳定。

常见问题解答

问:流量整形和流量监管有什么区别?
答:整形将超出的数据包缓冲并以受控速率发送,引入延迟但避免丢包。监管立即丢弃(或重新标记)超出的数据包而不进行缓冲。对于TCP流量首选整形,因为它避免了重传;对于延迟不可接受的实时流量首选监管。
问:RED如何帮助防止TCP全局同步?
答:RED在队列完全满之前从选定的流中随机丢弃数据包。由于丢弃是随机的,只有一些TCP流检测到拥塞并降低速率,而其他流继续传输。这防止了在满队列上使用尾部丢弃时发生的同步锯齿模式。
问:同一设备上不同接口的数据包处理可以不同配置吗?
答:可以。QoS数据包处理规范允许按接口配置,使得LAN接口和WAN接口可以有不同的标记、排队和整形策略。这对于LAN侧带宽高于WAN侧的住宅网关至关重要。
问:每个流量类别推荐使用什么DSCP值?
答:TC_AD→EF(46)、TC_AV→AF41(34)、TC_BE→DF(0)、TC_BK→CS1(8)。这些映射与IETF DiffServ标准一致,确保数据包穿越符合DiffServ的网络时获得正确的处理。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注