我有一些 HP ProCurve 系列 Switch。有一个 QoS 选项可以按 TCP/UDP 端口对流量进行优先级排序。我设置了两个端口:一个具有最高优先级,另一个具有最低优先级。然后我进行了测试以确保确定优先级确实有效。我运行两个网络基准测试实例(每台计算机)在局域网中的两台计算机上的应用程序。一台计算机充当服务器,另一台计算机充当客户端。在基准测试应用程序中,我设置了两个先前在交换机上配置的端口。然后我运行测试,以便服务器向客户端发送一些数据,显示当前的传输速度。我假设,由于一个端口的优先级高于其他端口,传输速度将不相等,并且通过具有更高优先级的 tcp 端口的流量将明显更快。不幸的是没有区别。速度几乎相等(带宽的一半)并且似乎应用了非优先级。
谁能解释一下为什么这不起作用。我想我误解了一些 QoS 基础知识,这是一个原因,但如果有人为我澄清这个问题,我将不胜感激。
交换机上的优先级对您的测试没有影响,因为发送计算机的 NIC 是瓶颈。交换机看到 1Gb(或 100Mb)的输入,以同样的速度看到一条路径并愉快地发送数据。如果它必须选择要发送的数据,那么它会优先考虑。
优先级设置仅在资源有限时发挥作用——因此,如果两个 1G 服务器都以全速传输到另一个 1G 主机,那么目标链路可以处理的流量将是其两倍。然后,理论上,交换机将参考帧的相对优先级来确定将传输哪些帧以及将丢弃哪些帧。
请注意,您可以选择多种机制来执行评估和丢弃,并且每种机制可能会产生不同的结果(对 HP 的网络设备不是很熟悉)——例如,高优先级数据包与低优先级数据包的比例为 2:1(相对于所有高优先级数据包)而且不低)
您可以通过将发送方和接收方所在端口的速度配置为 100 Mbps(发送方)和 10 Mbps(接收方)来验证您的 QoS 配置是否有效。这样,如果您的发件人能够创建超过 10 Mbps 的流量,您应该使您的交换机端口过载并强制交换机优先。
如果您的发送器足够快,您也可以在 1 Gbps 和 100 Mbps 下进行该实验。