Windows 7 DSCP和802.1p QoS映射?


12

当我通过组策略编辑器在Windows 7中创建QoS策略并设置DSCP值时,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(自Windows 2000,XP SP2,Windows Server 2003以来一直支持802.1p标记)。Microsoft在本文档中似乎暗示了DSCP到802.1p的映射。

Answers:


0

似乎有一个信息crapload 这里 (新链接)

DSCP和802.1p是QoS的两种不同方法,尽管在特定设备上不支持一个或另一个交换机时,托管交换机当然可以在两者之间进行映射,但是它们不一定对应。 -支持的一个)。Windows使用以下用于802.1q的值将流量独立地映射到两者。

Non-conforming packets  0

Best-effort             0

Controlled load         4

Guaranteed service      5

Network control         7

Qualitative             0

总体趋势是值越高=优先级流量越高,但是大多数网络设备倾向于在内部将这些值合并为少数队列/缓冲区(例如,非常低,低,中,高)。另外,如果您的应用程序未标记其流量类型,则Windows将无法映射到任何内容,并且您不会看到性能的任何变化。


这些链接并不是真正的结论。Windows可能不会将它们相互映射,但是如果您在网络设备上启用了802.1p,则应该进行相应设置。所以我一直在寻找结论性的东西。我目前正在尝试进行一项测试,以亲自检查是否存在任何映射以及如何影响802.1p值。
syplex

harrymc的回答表明Windows 7不支持802.1p,但Windows 8却支持。据推测,在较旧的路由器上使用802.1p会出现问题,因为它们无法正确处理标签,最终会剥夺标签(与VLAN结合使用时,我也看到了一些奇怪的现象)。DSCP是标准IP数据包中的一个字段,因此在最坏的情况下它将被忽略。
Bigbio2002

harrymc的回答错误,指出Windows 7不支持802.1p。Windows 2000以来一直支持它(您可以在“管理模板”->“网络”->“ QoS数据包计划程序”->“第2层”优先级值下修改组策略中的默认值)。对于具有第2层交换机的本地以太网流量,DSCP无用,因为没有路由器跃点。如今,许多(如果不是全部)交换机似乎都支持802.1p,甚至便宜的交换机也是如此。我的主要目标是在没有跃点的LAN上启用QoS,因此802.1p是唯一的解决方案。
syplex

0

多年来,Microsoft一直宣称支持802.1p和DSCP。
但是我发现Microsoft的一篇令人不安的文章说802.1p仅从Server 2012(与Windows 8相同的代码库)开始。

Microsoft 的服务质量(QoS)概述文章说:

Windows的早期版本在网络数据包的IP标头中支持优先级标记。优先级位称为差分服务代码点(DSCP)。Windows Server 2012添加了对802.1p标记的支持。802.1p是第2层以太网帧中的3位优先级值。因此,它适用于非IP数据包,例如基于以太网的RDMA。

Microsoft在“ 差分服务代码点(DSCP)概述 ”一文中说DSCP和802.1p 在功能上是等效的。但是,由于这两个标准适用于通信协议的不同层,因此不可能将一个映射到另一个。


从我读到的内容来看,至少从XP SP2开始,Winodws支持802.1p标记。在XP中,可以使用流量控制(TC)API或QoS API。在Vista和更高版本中,使用qWAVE API。
syplex

据说qWAVE API 设置 DSCP,又设置 802.1p,但这并不意味着两者都受操作系统支持(但这意味着设置其中一个不会自动设置另一个)。根据上面的链接,802.1p仅在最新的Windows版本中有意义。
harrymc

Windows 2000及更高版本支持802.1p。该链接表示,仅在工作站的Windows Vista和更高版本以及服务器的Windows Server 2008和更高版本中才支持QOS_TRAFFIC_TYPE的特定枚举。Windows 2000和XP中的API有所不同,但仍支持802.1p。
syplex 2013年

我发现的文章明确指出,在Server 2012之前,Windows服务器不支持它,但这没有说明客户端版本(例如7)。我的回答基于两个版本确实具有共同的代码,基地,但我当然是错的。我无权访问Microsoft内部,因此只能猜测802.1p实现(如果存在)是 Server 2012之前无法运行或存在缺陷的Windows服务器上。与往常一样,当Microsoft源发生冲突时,必须谨慎行事和常识。
harrymc

另请参阅本文,介绍一些可能阻止802.1p正常工作的原因。即使标记是由API指定的,也不能完全确定它是否已发送出去,即使不是在所有阶段都正确处理的话。802.1p甚至可能与MTU发生冲突!
harrymc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.