Filas do Mikrotik e limitando a largura de banda total do upstream

2

Com um roteador Mikrotik (forma de Linux embarcado), criei filas simples por máquina correspondidas pelo endereço IP de origem.

Cada uma das 4 filas de máquina tem um burst ilimitado de 3Mbps / 3Mbps para Tx / Rx.

Durante o speedtest.net em todas as 4 máquinas ao mesmo tempo, cada máquina mostra 3Mbps (e está limitada corretamente lá), porém a largura de banda total no uplink vai para 12Mbps (eu preciso definir isso para 10Mbps max para o upstream ).

Eu quero restringir o tráfego real passando pela porta de uplink para 10Mbps, independentemente do que as outras filas estão fazendo (eu preciso disso pegar todas as filas para ter a palavra final na velocidade de uplink).

Por exemplo, eu preciso de:

Cenário A

  • Máquina A transferindo @ 3Mbps
  • Máquina B transferindo @ 3Mbps
  • Máquina C transferindo @ 3Mbps
  • Máquina D transferindo @ 0Mbps Velocidade de link ascendente = 9Mbps

Cenário B

  • Máquina A tentando transferir @ 3Mbps
  • Máquina B tentando transferir @ 3Mbps
  • Máquina C tentando transferir @ 3Mbps
  • Máquina D tentando transferir @ 3Mbps
  • Velocidade de link superior = 10 Mbps
  • Velocidade de transferência real da máquina A, B, C, D = 2,5 Mbps

Isto é para permitir uma ligeira assinatura das filas de largura de banda, já que nem todos estarão transmitindo a 3Mbps o tempo todo.

Isso é possível e, em caso afirmativo, como alguém poderia fazer isso?

    
por g18c 06.11.2013 / 19:47

1 resposta

1

Em vez de usar filas simples, você provavelmente desejará usar uma árvore de filas. Veja: link

Resumidamente, você desejará uma fila de nível superior para upload e outra separada para download, então duplique isso para cada direção, alterando src-address para dest-address conforme apropriado.

  1. Crie uma fila com 10Mbps no máximo para:

    /queue tree add name=all_up limit-at=10M parent=machine_ingress_interface

  2. Use marcas de pacote para marcar cada pacote por IP de origem ou de destino. Por exemplo. tráfego da máquina A está marcada como machine_a_up:

    /ip firewall mangle add action=mark chain=prerouting new-packet-mark=machine_a_up src-address=192.168.1.2

  3. Crie uma fila para moldar o tráfego marcado com a fila pai especificada:

    /queue tree add name=machine_a_up packet-mark=machine_a_up parent=all_up

Como alternativa, analise um PCQ . Pode fazer o que quiser com menos trabalho.

    
por 06.11.2013 / 20:27