这些问题和我的很相似:
Why DSCP always 0x00 (default) on Windows 7?
Issue with DSCP marking using setTrafficClass and WireShark
我尝试使用自定义 dscp 发送数据包。我不能使用 MS QoS 策略,因为用户应该能够更改 DSCP 字段的值。我使用 java 和方法 setTrafficClass (Socket obj)。
我尝试了几件事:
- 在组策略编辑器 > 计算机配置 > Windows 设置中:右键单击基于策略的 QOS > 我已勾选“控制来自应用程序和服务的 DSCP 标记请求”和“允许”
- 添加这两个键: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters] “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
有什么建议吗?
最佳答案
从 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
如果 key “QoS”不存在,则创建它。
创建上述注册表项后,您需要重新启动计算机。
第一个
关于java - 应用程序无法在 win7 上成功更改 dscp 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299206/