服务质量(QoS)旨在管理带宽使用,这隐含地假设应用程序竞争该(有限的)资源。这些天真的,对任何应用程序都一直关注吗?
它还假设QoS协议和Internet协议选项在客户端和服务器端都实现,并且在其间的每个网络元素(例如,所有交换机,路由器,代理和NAT)上被识别和兑现。除了,可能是在同一子网上的两台主机之间,还是在高度管理的企业网络上,这是真的吗?
最后,有没有人使用过QoS API并确定了实际的好处?换句话说,它曾经“拯救了一天”,并避免了一定会发生的问题吗?
谢谢,鲍勃
答案 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值:
而且,在某一时刻,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,如果获得批准,您将获得它。