当我通过组策略编辑器在 Windows 7 中创建 QoS 策略并设置数据保护协议值,Windows 7 是否会将 802.1p QoS 字段添加到以太网帧?如果是,它如何将不同的值从 DSCP(0-63)映射到 802.1p QoS 值(0-7)?
为了清楚起见,我的问题是:
- Windows 7 是否为配置的 QoS 策略设置了 802.1p 值?
- 如果是这样,Windows 7 如何将 QoS 策略的 DSCP 值映射到 802.1p 值?
这个问题专门针对传出的数据包。
笔记:Windows 7 支持 802.1p 标记(自 Windows 2000、XP SP2、Windows Server 2003 以来一直如此)。微软似乎暗示 DSCP 到 802.1p 的映射这个文件。
答案1
似乎有大量信息这里 (新链接)。
DSCP 和 802.1p 是两种不同的 QoS 方法,它们不一定对应,尽管托管交换机可以在特定设备不支持其中一种的情况下在两者之间进行映射(DSCP 是较旧、支持范围更广的)。Windows 将流量独立映射到两者,802.1q 使用以下值:
Non-conforming packets 0
Best-effort 0
Controlled load 4
Guaranteed service 5
Network control 7
Qualitative 0
总体趋势是值越高 = 流量优先级越高,但大多数网络设备倾向于在内部将这些值合并到少数队列/缓冲区中(例如,非常低、低、中、高)。此外,如果您的应用程序没有标记其流量类型,Windows 将没有任何可映射的内容,您也不会看到性能有任何变化。
答案2
微软多年来一直声称支持 802.1p 和 DSCP。
然而,我发现了一篇令人不安的微软文章,称 802.1p 只从 Server 2012 开始(与 Windows 8 的代码库相同)。
微软文章服务质量 (QoS) 概述说:
以前版本的 Windows 支持在网络数据包的 IP 标头中进行优先级标记。优先级位称为差异服务代码点 (DSCP)。Windows Server 2012 增加了对 802.1p 标记的支持。802.1p 是第 2 层以太网帧中的 3 位优先级值。因此,它适用于非 IP 数据包,例如以太网上的 RDMA。
微软在文章中提到了 DSCP 和 802.1p差分服务代码点 (DSCP) 概述功能上是等效的。但是,由于这两个标准适用于通信协议的不同层,因此不太可能将一个标准映射到另一个标准。
答案3
在 802.1P 中,数据包的 PRI 值决定其优先级。在此模式下,交换机要求数据包带有 VLAN 标记,而不管其 IP 报头如何。服务条款 每个数据包的 IP 头中的字段由 DSCP 优先级使用来确定其优先级。