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

标签 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)。

我尝试了几件事:

  • 在组策略编辑器 > 计算机配置 > 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/

相关文章:

.net - 来自 Windows 服务的全局键盘 Hook

windows - 帮助 Windows Visa/7 UAC 文件系统虚拟化

java - 如何在带有嵌入式tomcat的Spring Boot应用程序中设置域名

java - 如何使用 JavaMail 发送带有附件的 html 电子邮件

java - 如何限制groupBy java流

用于 Linux IP 枚举的 Python 脚本 - 未按预期工作

ruby - 如何获取 Heroku 服务器的 IP,我的应用程序放在哪里?

java - 为什么 setBaseSectionPaint 不起作用?

svn错误: a versioned directory of the same name already exists

c# - 从GNSS接收器读取UDP数据报