Mikrotikルーター(組み込みLinuxの形式)を使用して、送信元IPアドレスと一致するマシンごとに単純なキューを作成しました。
4つのマシンキューのそれぞれには、Tx/Rxに対して無制限のバースト3Mbps/3Mbpsがあります。
4台すべてのマシンで同時にspeedtest.netを実行すると、各マシンは3Mbpsを示します(正しく制限されます)が、アップリンクの合計帯域幅は12Mbpsになります(アップストリームではこれを最大10Mbpsに設定する必要があります)。
他のキューが何をしているかに関係なく、アップリンクポートを通過する実際のトラフィックを10Mbpsに制限したいと思います(これは、すべてのキューをキャッチして、アップリンク速度を最終的に決定する必要があります)。
たとえば、私は必要です:
シナリオA
シナリオB
これは、すべてが常に3Mbpsで送信されるわけではないため、帯域幅キューのわずかなオーバーサブスクリプションを許可するためです。
これは可能ですか?もしそうなら、どうやってこれを行うのでしょうか?
単純なキューを使用する代わりに、キューツリーを使用することをお勧めします。参照: http://wiki.mikrotik.com/wiki/Manual:Queue#Queue_Tree
簡単に言うと、アップロード用にトップレベルのキューが必要で、ダウンロード用に別のキューが必要になるため、方向ごとにこれを複製して、必要に応じてsrc-addressをdest-addressに変更します。
最大10Mbpsのキューを作成します。
/queue tree add name=all_up limit-at=10M parent=machine_ingress_interface
パケットマークを使用して、送信元または宛先IPごとに各パケットにタグを付けます。例えば。マシンAからのトラフィックはmachine_a_upとしてマークされます。
/ip firewall mangle add action=mark chain=prerouting new-packet-mark=machine_a_up src-address=192.168.1.2
指定された親キューでマークされたトラフィックを形成するためのキューを作成します。
/queue tree add name=machine_a_up packet-mark=machine_a_up parent=all_up
または、 PCQを見てください 。それはより少ない仕事であなたが望むことをするかもしれません。