应用程序无法在win7上成功更改dscp值

时间:2015-02-03 12:40:12

标签: java windows-7 ip windows-xp qos

这些问题与我的非常相似:

Why DSCP always 0x00 (default) on Windows 7?

Issue with DSCP marking using setTrafficClass and WireShark

我尝试使用自定义dscp发送数据包。我无法使用MS QoS策略,因为用户应该能够更改DSCP字段的值。我使用java和方法setTrafficClass(Socket obj)。

我尝试了几件事:

  • 在组策略编辑器中&gt; <计算机配置> Windows设置:右键单击基于策略的QOS&gt;我已勾选“使用”允许“控制来自应用程序和服务的DSCP标记请求
  • 添加以下两个键: [HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ TCPIP \参数] “DisableUserTOSSetting”= dword:00000000和[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ QoS] “不要使用NLA”=“1”

但DSCP字段绝对保持在0x00(默认值),使用wireshark 1.12.3检查

最令人沮丧的是:我在Windows XP上尝试过相同的功能:它有效!

以下是我发现迄今为止有用的链接:

http://www.pingman.com/kb/article/setting-dscp-qos-byte-on-packets-with-windows-7-8-95.html

https://ask.wireshark.org/questions/1188/why-is-dscp-always-0-on-windows-7

https://technet.microsoft.com/en-us/library/dd919203%28WS.10%29.aspx

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

从MS网站查看此链接:

http://support.microsoft.com/en-us/kb/2733528

基于策略的QoS无法在Windows 7客户端中运行

它为您想要更改基于策略的qos设置的情况提供了答案,但您仍然看到DSCP值等于0。 如果需要使DSCP值在没有域访问权限的适配器上生效,则需要在系统上添加以下注册表:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ QoS

类型:REG_SZ 名称:不要使用NLA 价值:1

如果不存在,则创建密钥“QoS”。

创建上述注册表项后,需要重新启动计算机。

HTH