Winsock中的QoS API是否有用?

时间:2013-09-22 20:56:47

标签: winsock qos

服务质量(QoS)旨在管理带宽使用,这隐含地假设应用程序竞争该(有限的)资源。这些天真的,对任何应用程序都一直关注吗?

它还假设QoS协议和Internet协议选项在客户端和服务器端都实现,并且在其间的每个网络元素(例如,所有交换机,路由器,代理和NAT)上被识别和兑现。除了,可能是在同一子网上的两台主机之间,还是在高度管理的企业网络上,这是真的吗?

最后,有没有人使用过QoS API并确定了实际的好处?换句话说,它曾经“拯救了一天”,并避免了一定会发生的问题吗?

谢谢,鲍勃

2 个答案:

答案 0 :(得分:1)

显然,答案是否定的,Winsock QoS API没有用处。 QoS本身并不是无用的,只是应用程序开发人员不需要设置套接字级QoS。

某些设备(如基于SIP的电话)在传出数据包的Internet协议标头中设置ToS位(差分服务代码点),以便为流量聚合提供基于类的QoS。然而,大多数情况下,流量分类由路由器完成,路由器在通过(第3层,TCP或UDP)端口号分类之后设置DSCP等。因此,QoS主要是网络管理员的关注点,而不是应用程序开发人员。

有关区分服务适用位置的详细信息,请参阅IETF RFC 4594 "Guidelines for DiffServ Service Classes"

答案 1 :(得分:0)

Skype for Business marks its two different classes of traffic具有两个不同的DSCP值:

  • 音频:EF(快速转发,DSCP 46)
  • 视频:AF41(确保转发,DSCP 34)

而且,在某一时刻,Steam和暴雪都使用DSCP标记了其批量下载流量。

这是一件有用的事情,因为没人尊重它,没有人做,也因为没有人做,所以没有人尊重。唯一的解决方法就是教育。

还要注意,默认情况下,在Windows 2000之后,您cannot manually set the IP_TOS header value unless you're an administrator。允许非管理员程序设置自己的QoS将会违反QoS策略。

  

在基于Windows 2000,Windows XP或Windows Server 2003的主机设备上,通用服务质量(GQOS)实现确定DSCP标记。 Winsock GQOS程序触发RSVP服务提供商提交策略和资源检查,以确定策略控制和网络数据路径上资源的可用性。如果批准了预期的资源使用情况,则QOS数据包调度程序服务会在IP数据包头中标记DSCP优先级。带有setsockopt函数的IP_TOS选项将绕过Windows 2000,Windows XP或Windows Server 2003 QOS策略控制,因此在这些版本的Windows上默认为禁用。

     

Microsoft建议您在Winsock程序中实现GQOS,以利用Windows 2000,Windows XP和Windows Server 2003 GQOS的功能。

这就是创建 Generic QoS API的原因;请求QoS,如果获得批准,您将获得它。