55 30/03/2026 07/04/2026 10 min

Cos’è il traffic shaping e perché serve

Il traffic shaping è una tecnica di controllo del traffico di rete che permette di prioritizzare, limitare e distribuire in modo più intelligente la banda disponibile. In pratica, decide quali flussi devono passare prima, quali possono essere rallentati e quali devono essere contenuti per evitare saturazioni e congestione.

In un ambiente reale, non tutte le connessioni hanno lo stesso valore operativo. Una richiesta HTTP al sito, un backup notturno, una sincronizzazione cloud, una chiamata VoIP e una sessione SSH hanno impatti molto diversi su continuità e reattività. Se tutto compete allo stesso livello, la rete diventa più instabile: aumentano latenze, ritardi, pacchetti persi e, nei casi peggiori, alcuni servizi diventano difficili da usare o temporaneamente irraggiungibili.

Il traffic shaping nasce per evitare questo scenario. Non è solo un intervento di performance: è anche uno strumento di stabilità, continuità del servizio e controllo del rischio. In molti contesti hosting e sysadmin, la differenza tra una rete che “funziona” e una rete che regge davvero sta proprio nella capacità di governare code e priorità.

Obiettivi pratici

Prima di configurare qualsiasi regola, conviene chiarire cosa si vuole ottenere. Un traffic shaping fatto bene non nasce da un numero astratto, ma da un obiettivo operativo misurabile.

  • Proteggere il traffico critico: SSH, DNS, VoIP, pannelli di controllo, API e traffico web del sito.
  • Limitare il traffico pesante: backup, upload massivi, download non prioritari, sincronizzazioni e trasferimenti interni.
  • Evitare congestione: ridurre bufferbloat, tempi di attesa e saturazione del link.
  • Garantire equità: impedire che un singolo utente, processo o servizio monopolizzi la banda.
  • Stabilizzare la latenza: mantenere tempi di risposta prevedibili anche sotto carico.

In ambito server, il risultato migliore spesso non è “massimizzare la banda”, ma far arrivare la banda utile dove serve. Questo cambia il modo di progettare la rete: non più solo velocità, ma qualità del servizio.

Come funziona il traffic shaping

Il principio base è semplice: il sistema osserva il traffico in ingresso o in uscita e decide se lasciarlo passare subito, metterlo in coda, rallentarlo o assegnargli una priorità diversa. Nella pratica si usano code, classificatori e algoritmi di scheduling.

Ci sono tre concetti fondamentali:

  • Classificazione: riconoscere il traffico in base a porta, protocollo, IP, interfaccia, marca DSCP, utente o applicazione.
  • Accodamento: inserire i pacchetti in una coda specifica in attesa di trasmissione.
  • Scheduling: decidere l’ordine con cui le code vengono servite.

Il traffic shaping agisce soprattutto sul traffico in uscita, perché è il punto in cui si può decidere quanto e quando trasmettere. Sul traffico in ingresso spesso si lavora con meccanismi di policing, filtri o marcatura, ma il controllo pieno è più efficace lato egress.

Un punto importante: shaping non è solo limitazione. Limitare senza priorità può peggiorare l’esperienza. Il valore vero sta nel combinare limiti e precedenze, così da preservare i servizi sensibili alla latenza.

Differenza tra shaping, policing e QoS

Questi termini vengono spesso usati come sinonimi, ma non lo sono.

  • Traffic shaping: ritarda il traffico per farlo rientrare in un profilo desiderato, lisciando i picchi.
  • Policing: controlla il traffico e scarta o marca i pacchetti che superano una soglia.
  • QoS: è il concetto più ampio di qualità del servizio, che include priorità, classificazione, code e politiche.

Il shaping è in genere più elegante del policing perché non distrugge traffico: lo mette in attesa. Il policing è utile quando si vuole applicare un tetto rigido, ma può introdurre perdita di pacchetti e peggiorare le prestazioni percepite. La QoS, invece, è il contenitore concettuale dentro cui si collocano queste tecniche.

Quando conviene usarlo

Il traffic shaping è particolarmente utile in questi casi:

  • connessioni internet condivise tra più servizi o uffici;
  • server con backup programmati che saturano la banda;
  • hosting con molti siti sullo stesso uplink;
  • VoIP, videochiamate o servizi sensibili alla latenza;
  • reti aziendali con uso misto tra lavoro, aggiornamenti e trasferimenti;
  • ambienti con link limitati o instabili;
  • VPS e VDS dove il provider assegna banda nominale ma i picchi peggiorano la risposta.

È meno utile, o va applicato con prudenza, quando il collo di bottiglia non è la rete ma CPU, disco o applicazione. Se il problema è un database lento, un PHP-FPM saturo o un disco in I/O wait, limitare la banda non risolve la causa reale.

Cosa si può prioritizzare davvero

Un buon piano di shaping parte da una classificazione concreta. Le priorità più comuni sono queste:

  1. Traffico di controllo: SSH, VPN, DNS, monitoraggio, accesso ai pannelli.
  2. Traffico dell’applicazione: HTTP/HTTPS, API, checkout, login, backend.
  3. Traffico interattivo: desktop remoto, shell, strumenti di amministrazione.
  4. Traffico bulk: backup, sync, archivi, upload massivi, replica non urgente.
  5. Traffico best effort: download generici, streaming non critico, aggiornamenti non urgenti.

La regola pratica è semplice: prima si protegge l’interattivo, poi il servizio, poi il bulk. Se una priorità alta è assegnata a tutto, non è più una priorità: è solo un’etichetta senza effetto.

Come progettare una politica efficace

Una politica di traffic shaping utile deve essere misurabile, reversibile e coerente con gli obiettivi. La progettazione corretta parte da tre domande:

  • Quali servizi devono rimanere veloci anche sotto carico?
  • Quali flussi possono essere rallentati senza danni?
  • Qual è la banda minima necessaria per non degradare il servizio?

Da qui si costruiscono le regole. Per esempio, su un server web potresti voler dare priorità a 443 e 80 rispetto a un processo di backup su SFTP. In un ufficio, potresti privilegiare VoIP e VPN rispetto ai download generici. In una rete con più VLAN, puoi anche differenziare le policy per segmento.

La cosa più importante è evitare regole troppo generiche. Se tutto il traffico web è “alto” e tutto il resto è “basso”, la politica rimane troppo grezza. Meglio distinguere almeno per classi operative e, quando serve, per orari o finestre di manutenzione.

Algoritmi e meccanismi più usati

Nel mondo Linux e networking si incontrano spesso code e algoritmi diversi. Non serve conoscere ogni dettaglio teorico, ma è utile sapere cosa fanno a livello pratico.

  • HTB (Hierarchical Token Bucket): utile per creare classi gerarchiche con limiti e priorità.
  • HFSC: adatto a scenari più raffinati, con attenzione alla latenza.
  • fq_codel: molto efficace contro bufferbloat e code eccessive.
  • cake: soluzione moderna per fairness, latenza e gestione intelligente del flusso.

In molti ambienti moderni, fq_codel e cake sono tra le opzioni più interessanti perché aiutano a contenere la latenza senza richiedere configurazioni eccessivamente complesse. Quando invece serve una gerarchia precisa di classi, HTB resta una scelta molto diffusa.

La scelta dell’algoritmo dipende dal tipo di rete, dal carico e dal livello di controllo richiesto. Non esiste una soluzione unica: esiste la soluzione più adatta al problema reale.

Traffic shaping su Linux

Su Linux il punto di riferimento storico è tc, lo strumento del pacchetto iproute2. Permette di applicare code, filtri e classi sulla singola interfaccia di rete. È potente, ma va usato con metodo, perché una regola sbagliata può tagliare prestazioni o creare effetti collaterali.

In pratica, la sequenza tipica è questa:

  1. identificare l’interfaccia di rete coinvolta;
  2. definire la disciplina di coda;
  3. creare classi o priorità;
  4. associare filtri ai flussi da classificare;
  5. verificare il comportamento sotto carico.

Un esempio concettuale: si può dare priorità al traffico SSH per non perdere accesso amministrativo durante un upload pesante, mentre si limita la banda di un processo di backup. Questo tipo di configurazione è molto utile in VPS, server dedicati e router Linux.

Prima di applicare regole complesse, è buona norma eseguire un test su una finestra di manutenzione e avere un piano di rollback. Se si sta lavorando da remoto, bloccare l’accesso SSH per errore è il problema da evitare con più attenzione.

Traffic shaping in hosting e ambienti web

Nell’hosting il traffic shaping non riguarda solo la rete “pura”, ma anche il comportamento delle applicazioni. Un sito WordPress, per esempio, può generare traffico regolare verso gli utenti e traffico pesante verso backup, CDN, immagini o export. Se questi flussi non sono governati, il servizio principale ne risente.

Su un server che ospita più siti, la priorità può essere assegnata a:

  • traffico HTTP/HTTPS dei siti in produzione;
  • connessioni amministrative;
  • sincronizzazioni interne e backup;
  • upload di media o importazioni massive;
  • attività batch pianificate.

Questo approccio è utile anche in combinazione con cache, CDN e firewall applicativi. Il traffic shaping da solo non accelera il codice, ma può evitare che il traffico secondario sottragga risorse al traffico che conta davvero.

Come evitare errori comuni

Gli errori più frequenti non sono tecnici, ma progettuali.

  • Regole troppo generiche: finiscono per colpire anche il traffico importante.
  • Priorità senza limiti: una classe prioritaria troppo ampia può affamare il resto.
  • Nessuna misurazione: si configura “a sensazione” e non su dati reali.
  • Assenza di rollback: se qualcosa va storto, manca un modo rapido per tornare indietro.
  • Confusione tra banda e latenza: non sempre più Mbps significa migliore esperienza.

Il rimedio è metodico: misurare prima, cambiare poco alla volta, verificare dopo ogni modifica. Se una regola migliora la banda ma peggiora il tempo di risposta, va rivista. Se un limite riduce la congestione ma penalizza il sito in produzione, la policy va ricalibrata.

Metriche da osservare

Un traffic shaping efficace si giudica con metriche concrete, non con impressioni.

  • Latenza: deve rimanere stabile anche sotto carico.
  • Jitter: importante per voce e video.
  • Packet loss: deve restare basso.
  • Throughput: va osservato insieme alla qualità, non da solo.
  • TTFB: utile per i servizi web.
  • Code e saturazione: indicano se le priorità stanno funzionando.

In ambiente server conviene osservare anche CPU, RAM e I/O, perché un apparente problema di rete può essere in realtà un sintomo di un collo di bottiglia diverso. Il traffic shaping è uno strumento di rete, ma vive dentro un sistema più ampio.

Esempio pratico di strategia

Immagina un server che ospita un sito e un sistema di backup notturno. Durante il backup, la banda viene saturata, il sito rallenta e le sessioni amministrative diventano instabili. In questo scenario, una strategia sensata può essere:

  1. dare priorità al traffico web e SSH;
  2. limitare il backup a una banda massima ragionevole;
  3. eseguire il backup in una fascia oraria meno critica;
  4. verificare che la latenza resti stabile durante il picco;
  5. monitorare gli effetti per almeno alcuni cicli.

Il vantaggio non è solo tecnico ma operativo: il sistema diventa più prevedibile. E la prevedibilità, in produzione, vale spesso più di una banda teorica più alta ma instabile.

Traffic shaping e sicurezza

Anche se nasce come strumento di performance, il traffic shaping ha un impatto sulla sicurezza operativa. Un traffico ben governato riduce l’effetto di abusi, scansioni, saturazioni accidentali e comportamenti anomali che possono compromettere la disponibilità del servizio.

Non sostituisce firewall, IDS/IPS o rate limit applicativi, ma li completa. In un approccio serio alla sicurezza, conviene affiancarlo a:

  • aggiornamenti regolari del sistema;
  • principio del privilegio minimo;
  • backup verificati;
  • monitoraggio e alerting;
  • regole di accesso ben segmentate.

Se un servizio critico deve restare raggiungibile anche sotto pressione, il traffic shaping può essere uno degli strumenti che mantengono il controllo del perimetro operativo.

Buone pratiche finali

La regola migliore è semplice: misura, priorizza, limita, verifica. Non partire dal comando o dalla funzione, ma dal comportamento che vuoi ottenere. Il shaping efficace non è quello più complicato, ma quello che fa passare bene il traffico giusto e rallenta senza danni il traffico secondario.

Una configurazione ben fatta dovrebbe essere:

  • chiara nelle priorità;
  • reversibile in pochi minuti;
  • verificabile con metriche;
  • coerente con il carico reale;
  • aggiornata quando cambiano servizi o abitudini d’uso.

In sintesi, il traffic shaping è uno dei modi più concreti per trasformare una rete occupata in una rete governata. Quando è progettato con criterio, migliora la qualità del servizio senza richiedere interventi invasivi e rende più stabile tutto l’ecosistema: server, utenti, applicazioni e amministrazione.