现在,我正在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 command(neutron/agent/linux/tc_lib.py
)。
关于python - OpenStack中子带宽限制方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45712866/