Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-8-3 定义了 UPnP QoS 策略服务,该组件负责在 UPnP 网络中存储、评估和分发 QoS 策略。QoS 设备服务处理流量整形的具体机制,而 QoS 策略服务则提供确定哪些流量流获得何种服务级别的规则引擎。它充当准入控制决策的中央权威,确保带宽分配符合管理规则和服务等级协议。
QoS 策略服务维护一个策略数据库,将流量特征——通过源和目标地址、协议类型、端口号或应用签名识别——映射到流量类别标识符和 TSPEC 参数。当 QoS 管理器收到来自应用程序的 QoS 请求时,它会将请求转发给策略服务进行评估。策略服务查阅其规则集,应用优先级和抢占逻辑,然后返回允许或拒绝的决定以及适用的流量类别和 TSPEC。
该标准将策略定义为一组条件和关联的操作。条件可以是简单的(例如”源 IP = 192.168.1.100″)或复合的(例如”源子网 = 192.168.1.0/24 且 目标端口 = 5060 且 协议 = UDP”)。操作指定流量类别分配、带宽参数,以及可选的抢占优先级。策略作为条目存储在 QosPolicyTable 状态变量中,该变量是一个策略记录结构的数组。
| 策略字段 | 描述 | 示例值 |
|---|---|---|
| PolicyID | 策略记录的唯一标识符 | “POLICY_VOIP_001” |
| Condition | 流量匹配表达式 | “IP_SRC=192.168.1.0/24 & UDP_PORT=5060” |
| TrafficClass | 分配的 QoS 类别(0-7) | 5(交互式语音) |
| BandwidthGuarantee | 最小保证带宽(kbps) | 128 |
| BandwidthLimit | 最大允许带宽(kbps) | 384 |
| PreEmptionPriority | 抢占优先级(0=最低,7=最高) | 6 |
| ValidityPeriod | 策略生效的时间窗口 | “MON-FRI 09:00-17:00” |
评估模型采用先匹配范式:策略按优先级顺序排列在表中,第一个条件匹配流量流的策略被应用。如果没有策略匹配,则使用可配置的默认策略——通常分配尽力而为类别且不提供带宽保证。该模型实现简单且行为可预测,但需要谨慎的策略排序以避免意外匹配。
在 UPnP QoS 网络中,策略服务可能分布在多个设备上以实现冗余。该标准指定了基于 UPnP 事件机制的同步机制:当添加、修改或删除策略时,策略服务会发布包含更新后的策略表的事件。同一 QoS 域中的其他策略服务实例接收该事件并更新其本地副本。冲突解决遵循”最后写入者获胜”规则,写入者由其 UPnP 设备 UUID 标识。
策略持久性也得到了处理。标准建议策略服务将其规则集存储在非易失性存储器中,并在启动时重新加载。然而,它也定义了一个引导程序,新初始化的策略服务可以通过 GetQosPolicy 操作从对等体学习活动策略集。这在热备份冗余场景中特别有用。
除了基本的流量分类之外,QoS 策略服务还支持多项高级功能。基于时间的策略允许在工作时间与非高峰时段应用不同的 QoS 规则。特定于应用程序的策略可以通过众所周知的端口号或协议签名来识别流量。基于用户的策略可以结合 UPnP 认证机制,根据与流量流关联的用户身份分配 QoS 类别。这些功能使策略服务成为管理复杂网络环境的强大工具。
QoS 策略服务可以处理多少条策略?
标准没有规定硬性限制,但实际部署通常支持数百到数千条策略条目。实际限制取决于设备的存储容量和新流设置请求所需的策略评估吞吐量。
策略能否分组或按层次组织?
标准不强制要求层次化策略分组,但策略表结构允许使用具有隐式层次结构的策略 ID(例如”VOIP/INTERNAL”、”VOIP/EXTERNAL”)。实现可以使用此约定来模拟策略组以方便管理。
当策略评估因内部错误而失败时会发生什么?
策略服务应向 QoS 管理器返回”策略评估失败”错误代码,然后 QoS 管理器回退到默认策略。服务还应记录该失败以供管理审查。
标准是否支持超越表排序的策略优先级?
是的,每个策略条目都有一个数字优先级字段。当两个策略具有重叠条件时,无论其在表中的位置如何,数字优先级较高的策略获胜。表排序作为优先级相等的策略的平局打破机制。