现在,我正在OpenStack中学习中子QoS服务。这是一个规则,即“带宽限制”。使用OpenStack Doucumentation用户指南,我可以限制网络的带宽,并且在Iperf使用后,我已经验证了带宽的限制正在起作用。

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.30.0.7 port 5001 connected with 192.168.115.105 port
42726
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 6.5 sec  1.25 MBytes  1.62 Mbits/sec


现在,我很困惑中子中的什么方法会限制网络或端口的带宽。通过检查源代码,我还没有找到带宽限制的方法。

有人知道中子的方法吗?哪些部分在限制带宽方面起着重要作用?

谢谢你的帮助:)

最佳答案

Neutron中的带宽限制是使用“ QoS”(“服务质量”)驱动程序实现的。使用的特定驱动程序取决于您的配置,但是一个示例是neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py中的OVS(Open vSwitch)驱动程序。

此代码利用qos features in OVS的优势在出口(离开交换机的数据包)上进行带宽整形(数据包队列和输出速率控制),并在入口(进入交换机的数据包)上进行管制(丢弃数据包)。

linuxbridge插件的QoS在neutron/plugins/ml2/drivers/linuxbridge/agent/extension_drivers/qos_driver.py中,并且通过tc中的包装器使用标准Linux traffic control commandneutron/agent/linux/tc_lib.py)。

关于python - OpenStack中子带宽限制方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45712866/

10-12 22:17