Articoli OptiWize

Aggregazione della Banda e Failover: Bonding vs. ECMP

Bonding vs ECMP: Confronto tra Tecniche di Aggregazione di Banda

Nel contesto delle reti moderne, la crescente domanda di larghezza di banda e di prestazioni elevate ha portato all'adozione di diverse tecniche di aggregazione della banda. Due approcci comuni sono il bonding, che realizza un'aggregazione per pacchetto, e l'Equal Cost Multipath (ECMP), che opera un'aggregazione per sessione. Entrambi i metodi offrono vantaggi distinti e presentano sfide uniche. In questo articolo, esploreremo in dettaglio questi due approcci, analizzandone i pro e i contro, e discuteremo come vengono applicati nel progetto OptiWize.

Bonding: Aggregazione per Pacchetto

Cos'è il Bonding?

Il bonding è una tecnica che combina più connessioni di rete in un unico collegamento logico, distribuendo i pacchetti di dati attraverso diverse interfacce fisiche. Questo metodo è particolarmente utile per aumentare la larghezza di banda e migliorare la ridondanza.

Vantaggi del Bonding

  1. Aumento della Larghezza di Banda: Il bonding aggrega le connessioni, consentendo una larghezza di banda totale che è la somma delle larghezze di banda delle singole connessioni.
  2. Ridondanza: Se una delle connessioni fisiche fallisce, il traffico può essere ridiretto attraverso le rimanenti interfacce, migliorando l'affidabilità della rete.
  3. Miglioramento delle Prestazioni: Distribuendo i pacchetti su più percorsi, si può ottenere una minore congestione e una latenza inferiore.

Svantaggi del Bonding

  1. Complessità della Configurazione: La configurazione del bonding può essere complessa e richiede una gestione accurata per garantire che tutti i percorsi funzionino correttamente.
  2. Compatibilità: Non tutti i dispositivi di rete supportano il bonding, limitando la sua implementazione in alcune infrastrutture.
  3. Overhead: La gestione della distribuzione dei pacchetti può introdurre un overhead aggiuntivo, potenzialmente riducendo l'efficienza complessiva.
  4. Uniformità delle Connessioni: Per ottenere prestazioni ottimali con il bonding, è necessario utilizzare connessioni con caratteristiche simili in termini di latenza e larghezza di banda. La banda massima disponibile sarà infatti limitata dalla banda della connessione più lenta presente nel pool.
  5. Sfide nella gestione dei servizi real-time: Lavorare con servizi real-time in condizioni di aggregazione di banda in modalità pacchetto potrebbe portare a problematiche qualora i valori di latenza tra i vari circuiti coinvolti non fossero simili o identici. Questo perché sistemi di correzione come il Jitter Buffer potrebbero portare a un errato calcolo e produrre effetti audio come audio seghettato oppure buchi nella comunicazione.

ECMP: Aggregazione per Sessione

Cos'è l'ECMP?

L'Equal Cost Multipath (ECMP) è una tecnica che distribuisce il traffico di rete su più percorsi con lo stesso costo (uguale distanza) a livello di routing. Invece di distribuire i pacchetti singolarmente, l'ECMP indirizza intere sessioni di traffico attraverso percorsi distinti.

Vantaggi dell'ECMP

  1. Scalabilità: ECMP è altamente scalabile, consentendo l'aggiunta di ulteriori percorsi senza un significativo aumento della complessità.
  2. Efficienza del Routing: Utilizzando percorsi con uguale costo, l'ECMP ottimizza l'utilizzo delle risorse di rete, riducendo la congestione.
  3. Compatibilità con i Protocolli di Routing: L'ECMP è ampiamente supportato dai protocolli di routing moderni, facilitando la sua integrazione nelle infrastrutture esistenti.
  4. Massimo Utilizzo delle Connessioni: A differenza del bonding, l'ECMP permette di sfruttare al meglio le caratteristiche di ogni singola connessione. Le sessioni vengono distribuite su diversi percorsi e ogni singola sessione sarà simmetrica sul circuito scelto in quel momento.

Svantaggi dell'ECMP

  1. Distribuzione Non Uniforme del Carico: La distribuzione del traffico per sessione può portare a un utilizzo non uniforme delle risorse di rete, con alcuni percorsi sovraccarichi e altri sottoutilizzati.
  2. Mancanza di Ridondanza a Livello di Pacchetto: A differenza del bonding, l'ECMP non offre ridondanza a livello di pacchetto, il che può portare a interruzioni se un percorso fallisce durante una sessione.
  3. Complessità del Bilanciamento: Garantire un bilanciamento del carico efficiente tra i percorsi può essere complesso, soprattutto in reti dinamiche con variazioni nel traffico.
  4. Limitazioni per Servizi a Singolo Flusso: Per servizi che instaurano un solo flusso di connessione, come il trasferimento di file FTP, non si potrà sfruttare l'aggregazione offerta da ECMP. Un singolo flusso di trasferimento rimarrà limitato alla capacità di una singola connessione.

OptiWize e la Scelta di ECMP per SD-WAN

Nel nostro progetto OptiWize, dedicato alla realizzazione di servizi per MikroTik come SD-WAN, abbiamo scelto di adottare l'ECMP come modalità di aggregazione per i motivi sopra descritti. La capacità di sfruttare al massimo le caratteristiche di ogni singola linea ci permette di ottimizzare l'utilizzo delle risorse e di migliorare l'esperienza dell'utente.
Fttx che fa 50mbps in download e WiFi che fa 90mbps in download? Con l'ECMP li sommi ed arrivi a circa 140mbps in download!

Sistema di Controllo di Qualità in Tempo Reale

Abbiamo implementato un sistema proprietario di controllo della qualità per gestire in tempo reale la redirezione del traffico tra i circuiti, garantendo così la massima quality of experience per gli utenti finali. Questo sistema monitora costantemente le prestazioni delle varie connessioni e ridistribuisce il traffico per mantenere un livello di servizio ottimale.
Il nostro sistema di controllo di qualità in tempo reale permette di configurare diversi parametri chiave:
  1. Soglie di Latenza: È possibile impostare limiti di latenza accettabili per ciascuna connessione. Se la latenza supera la soglia configurata, il sistema può automaticamente reindirizzare il traffico su connessioni più performanti.
  2. Monitoraggio della Perdita di Pacchetti: Il sistema tiene traccia della percentuale di pacchetti persi su ciascuna connessione. Quando questa supera un valore configurabile, il traffico viene ridistribuito su connessioni più stabili.
  3. Bilanciamento del Carico Dinamico: In base alla larghezza di banda disponibile e all'utilizzo in tempo reale di ciascuna connessione, il sistema può regolare dinamicamente la distribuzione del traffico per ottimizzare le prestazioni complessive.
  4. Prioritizzazione del Traffico: È possibile configurare regole per dare priorità a determinati tipi di traffico (ad esempio, VoIP o videoconferenze) su connessioni più stabili o a bassa latenza.

Dettagli Tecnici

Per quanto riguarda l'infrastruttura tecnica, utilizziamo WireGuard come tunnel per garantire la sicurezza e l'efficienza del traffico. Il protocollo BGP è impiegato per la gestione del routing, mentre gli indirizzi IP vengono attestati direttamente sulla routerboard del cliente. Questo setup permette una configurazione flessibile e robusta, adattabile alle diverse esigenze di connettività.

Esempio: Continuità di una Chiamata VoIP

Un esempio pratico dei vantaggi di OptiWize con ECMP è la gestione di una chiamata VoIP durante un guasto di connessione. Immaginiamo uno scenario in cui un utente sta effettuando una chiamata VoIP importante utilizzando una connessione in fibra ottica. Improvvisamente, questa connessione subisce un'interruzione. Ecco cosa accade:
  1. La chiamata VoIP è inizialmente instradata attraverso la connessione in fibra ottica.
  2. Il sistema di controllo di qualità in tempo reale di OptiWize rileva immediatamente l'interruzione della connessione in fibra.
  3. In una frazione di secondo, il sistema reindirizza automaticamente il traffico VoIP su una connessione alternativa disponibile, ad esempio una connessione 4G.
  4. La chiamata VoIP continua senza interruzioni percettibili per l'utente.
  5. Una volta ripristinata la connessione in fibra ottica, il sistema può decidere di riportare il traffico VoIP su questa connessione se le sue prestazioni sono migliori.
Questo processo avviene in modo trasparente per l'utente, che può continuare la sua chiamata senza accorgersi del cambio di connessione avvenuto in background.

Curioso ?

Se sei interessato a scoprire ulteriori dettagli su come abbiamo implementato queste soluzioni sotto il cofano, contattaci per organizzare una demo. Saremo felici di mostrarti ogni singolo dettaglio della configurazione e di rispondere a tutte le tue domande. Piccolo spoiler: il nostro utilizzo di WireGuard, BGP e indirizzi IP attestati sulla routerboard del cliente ci permette di offrire una soluzione altamente performante e sicura per le esigenze di rete moderna.
Articles