QoS WISP — Queue Tree HTB, PCQ e gestione banda per cliente
Architettura QoS completa per WISP: HTB per garantire banda minima e massima a ogni cliente (limit-at/max-limit), PCQ per condivisione equa della banda condivisa, priorità VoIP, e gestione burst per traffico transiente.
Per un WISP, il QoS non è opzionale: senza gestione della banda, un singolo cliente che scarica in bulk degrada l'esperienza di tutti. RouterOS offre tre strumenti principali: Simple Queue (facile, bidirezionale, per singoli IP), Queue Tree (HTB, per architetture gerarchiche) e PCQ (per condivisione equa automatica tra molti utenti).
Simple Queue — Limite base per singolo cliente
# Simple Queue: limite 20 Mbps download / 5 Mbps upload per singolo cliente # target = IP del cliente (o subnet) # max-limit = banda massima (download/upload) # limit-at = banda garantita (CIR) = almeno questo anche sotto carico /queue simple add name="cliente-mario-rossi" target=192.168.88.101/32 max-limit=20M/5M limit-at=2M/1M burst-limit=40M/10M burst-threshold=15M/3M burst-time=10s/10s priority=8/8 comment="Piano 20/5 Mbps con burst" # BURST SPIEGATO: # - burst-limit=40M: può scaricare fino a 40 Mbps durante il burst # - burst-threshold=15M: il burst si attiva se la media scende sotto 15 Mbps # - burst-time=10s: finestra di calcolo della media (10 secondi) # Risultato: se il cliente scarica poco (< 15 Mbps in media su 10s), # i prossimi pacchetti possono andare a 40 Mbps finché la media risale. # Applica queue a una subnet intera (tutti i clienti di quel segmento) /queue simple add name="segmento-nord" target=10.10.1.0/24 max-limit=100M/30M limit-at=50M/15M comment="Segmento clienti area nord - 100/30 totale"
PCQ — Condivisione equa automatica della banda
PCQ (Per Connection Queue) divide automaticamente la banda disponibile in modo equo tra tutti i flussi attivi. Ideale per segmenti condivisi dove non vuoi configurare una queue per ogni cliente ma vuoi evitare che uno monopolizzi la banda.
# ================================================================ # PCQ: crea tipi di queue per download e upload # ================================================================ # PCQ Download: classifica per IP destinazione (ogni cliente riceve quota equa) /queue type add name=pcq-download kind=pcq pcq-classifier=dst-address pcq-rate=0 pcq-limit=50KiB pcq-total-limit=2000KiB comment="PCQ download: quota equa per IP destinazione" # PCQ Upload: classifica per IP sorgente (ogni cliente invia quota equa) /queue type add name=pcq-upload kind=pcq pcq-classifier=src-address pcq-rate=0 pcq-limit=50KiB pcq-total-limit=2000KiB comment="PCQ upload: quota equa per IP sorgente" # Applica PCQ alla subnet clienti con limite totale della connessione WAN # pcq-rate=0 significa: dividi equamente max-limit tra tutti gli IP attivi /queue simple add name="clienti-condivisi-pcq" target=192.168.0.0/24 max-limit=100M/20M queue=pcq-download/pcq-upload comment="100 clienti: banda 100/20 Mbps divisa equamente con PCQ" # Con pcq-rate fisso: imposta un limite PER CLIENTE # (es. max 1 Mbps download ciascuno, totale gestito dal parent) /queue type add name=pcq-1mbps-download kind=pcq pcq-classifier=dst-address pcq-rate=1M comment="PCQ: max 1 Mbps download per cliente"
Queue Tree HTB — Architettura gerarchica per WISP
# ================================================================ # QUEUE TREE HTB — Struttura gerarchica per WISP # Obiettivo: # - VoIP: priorità massima, bassa latenza # - Streaming: priorità media, banda garantita # - Best-effort (P2P, download): rimanente # ================================================================ # PASSO 1: Mangle — marca i pacchetti per categoria # (nella chain prerouting per traffico in download verso i clienti, # o forward per traffico in transito) /ip firewall mangle add chain=prerouting connection-state=new protocol=udp dst-port=5060 action=mark-connection new-connection-mark=conn-voip passthrough=yes comment="Mark SIP" /ip firewall mangle add chain=prerouting connection-state=new protocol=udp dst-port=10000-20000 action=mark-connection new-connection-mark=conn-voip passthrough=yes comment="Mark RTP" /ip firewall mangle add chain=prerouting connection-mark=conn-voip action=mark-packet new-packet-mark=pkt-voip passthrough=no comment="Mark pacchetti VoIP" /ip firewall mangle add chain=prerouting connection-state=new protocol=tcp dst-port=80,443,8080 action=mark-connection new-connection-mark=conn-web passthrough=yes comment="Mark connessioni web" /ip firewall mangle add chain=prerouting connection-mark=conn-web action=mark-packet new-packet-mark=pkt-web passthrough=no comment="Mark pacchetti web" # Tutto il resto = best-effort /ip firewall mangle add chain=prerouting action=mark-packet new-packet-mark=pkt-bulk passthrough=no comment="Mark best-effort/bulk" # PASSO 2: Queue Tree — struttura HTB # Root parent: interfaccia LAN (download verso clienti) # max-limit = banda totale disponibile dalla WAN /queue tree add name=root-download parent=bridge-local max-limit=100M comment="Root: 100 Mbps totali verso LAN" # Figlio 1: VoIP — priorità 1 (la più alta), limite garantito 5 Mbps /queue tree add name=voip-download parent=root-download packet-mark=pkt-voip limit-at=5M max-limit=15M priority=1 comment="VoIP: garantito 5M, max 15M, priorità massima" # Figlio 2: Web — priorità 2, garantito 40 Mbps /queue tree add name=web-download parent=root-download packet-mark=pkt-web limit-at=40M max-limit=90M priority=2 comment="Navigazione web: garantito 40M, max 90M" # Figlio 3: Bulk/P2P — priorità 8 (la più bassa), usa solo banda residua /queue tree add name=bulk-download parent=root-download packet-mark=pkt-bulk limit-at=10M max-limit=100M priority=8 comment="Best-effort: almeno 10M garantiti, rest se disponibile" # REGOLA HTB: la somma dei limit-at figli (5+40+10=55M) <= max-limit root (100M) # Ogni figlio può "prendere in prestito" banda fino al proprio max-limit # se gli altri figli non la stanno usando.
Continua con
Configura senza fatica con l'AI
In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.
Prova WispOS