使用Mikrotik路由器(embedded式Linux的forms),我已经为每台机器创build了简单的队列,匹配的源IP地址。
4个机器队列中的每一个对于Tx / Rx具有无限制的3Mbps / 3Mbps的突发。
在所有4台机器speedtest.net同时,每台机器显示3Mbps(并正确限制在那里),但上行总带宽达到12Mbps(我需要设置为上游10Mbps的最大值)。
我想限制通过上行链路端口的实际stream量为10Mbps,而不pipe其他队列在做什么(我需要这个捕获所有队列在上行速度上有最后的发言权)。
比如我需要:
情景A
情景B
这是为了允许带宽队列的轻微超额订阅,因为不是所有的都将始终以3Mbps传输。
这是可能的,如果是这样,怎么会这样做呢?
而不是使用简单的队列,你可能想要使用队列树。 请参阅: http : //wiki.mikrotik.com/wiki/Manual : Queue#Queue_Tree
简而言之,你需要一个上传队列和一个单独的下载队列,以便将每个方向的src-address改为dest-address。
创build一个最大10Mbps的队列,用于:
/queue tree add name=all_up limit-at=10M parent=machine_ingress_interface
使用数据包标记通过源或目标IP标记每个数据包。 例如,来自机器A的stream量被标记为machine_a_up:
/ip firewall mangle add action=mark chain=prerouting new-packet-mark=machine_a_up src-address=192.168.1.2
创build一个队列来形成标记有指定父队列的stream量:
/queue tree add name=machine_a_up packet-mark=machine_a_up parent=all_up
或者, 看一下PCQ 。 它可以做你想要的东西,less工作。