2017-08-16 120 views
1

現在我正在學習OpenStack中的中子QoS服務。這是一個規則,即「帶寬限制」。使用OpenStack Doucumentation的用戶指南,我可以限制網絡的帶寬,並在Iperf使用後,我已驗證帶寬限制正在工作。OpenStack中子帶寬限制方法

------------------------------------------------------------ 
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 

現在我很困惑中子可以限制網絡或端口帶寬的方法是什麼。通過檢查源代碼,我還沒有找到帶寬限制的方法。

有誰知道中子的方法?哪些部分在限制帶寬方面發揮重要作用?

感謝您的幫助:)中子

回答

1

帶寬限制使用的是「服務質量」(「服務質量」)驅動程序實現的。正在使用的特定驅動程序取決於您的配置,但一個示例是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,並且使用標準Linux traffic control commandtc)通過neutron/agent/linux/tc_lib.py中的包裝器。

+0

是的,你是絕對正確的。我的配置基於[配置](https://docs.openstack.org/mitaka/networking-guide/config-qos.html)。我想這是linuxbridge插件。請問,如果我更改** tc_lib.py **,可能會導致更多的數據包丟失?我想改變流量控制,以便通過使用Iperf來驗證數據包丟失差異。謝謝。 – Otto

+0

我並不是很熟悉這部分中子代碼,這裏的評論將是討論的一個可怕的地方。你可能想把這個問題提交給[openstack開發郵件列表](http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev)。 – larsks