💻 Tecnologia

Link Aggregation e LACP: come aggregare più porte switch

Guida pratica al link aggregation con LACP 802.3ad: quando serve davvero, come si configura e perché due porte da 1 Gbps non fanno 2 Gbps per un singolo trasferimento.

Redazione Velix27 luglio 20267 min di lettura
💻

Un server con una singola porta gigabit satura la linea al primo backup notturno. La reazione istintiva è passare a 10 Gbps, ma spesso basta aggregare due o quattro porte già disponibili. Il link aggregation combina più collegamenti fisici in un unico canale logico, aumentando la banda complessiva e garantendo ridondanza automatica se un cavo si guasta.

Cosa fa realmente il link aggregation

Il concetto è semplice: due o più porte Ethernet vengono presentate al sistema operativo e allo switch come una sola interfaccia. Il traffico viene distribuito sui membri del gruppo secondo un algoritmo di hashing.

Qui nasce il fraintendimento più comune. Aggregare due porte da 1 Gbps non produce un collegamento da 2 Gbps per un singolo trasferimento. L'algoritmo di distribuzione lavora per flusso, non per pacchetto: tutti i pacchetti di una stessa sessione TCP viaggiano sempre sullo stesso link fisico, per evitare che arrivino fuori ordine. Una copia di file da un singolo client resterà quindi limitata a 1 Gbps.

Il beneficio si vede quando i flussi sono molti:

  • Un NAS con dieci client che scrivono contemporaneamente
  • Un hypervisor con venti macchine virtuali
  • Un uplink tra due switch che trasporta traffico di decine di dispositivi
  • Un server web con centinaia di connessioni simultanee

LACP contro aggregazione statica

Esistono due modi per creare un gruppo aggregato.

Aggregazione statica (chiamata anche "trunk" o "static LAG"): si dichiarano le porte come membri del gruppo su entrambi i lati e si spera che la configurazione combaci. Nessuna negoziazione, nessun controllo. Se qualcuno collega male un cavo o dimentica una porta su un lato, si crea un loop di livello 2 o un blackhole di traffico difficile da diagnosticare.

LACP (IEEE 802.3ad): i due dispositivi si scambiano pacchetti LACPDU ogni secondo o ogni trenta secondi per negoziare e verificare l'aggregazione. Se la configurazione non combacia, il gruppo semplicemente non sale e le porte restano indipendenti. Se un cavo cade, gli altri membri riprendono il traffico in meno di un secondo.

Usare sempre LACP quando entrambi i lati lo supportano. L'aggregazione statica ha senso solo verso apparati che non parlano 802.3ad.

Modalità active e passive

LACP prevede due ruoli:

  • Active: il dispositivo invia attivamente LACPDU e tenta la negoziazione
  • Passive: risponde solo se l'altro lato inizia

Almeno un lato deve essere in active, altrimenti nessuno dei due parla e il gruppo non si forma mai. La configurazione più robusta è active su entrambi i lati.

L'intervallo di trasmissione può essere fast (1 secondo) o slow (30 secondi). Il fast rileva i guasti molto più rapidamente ed è la scelta corretta per collegamenti critici; deve però combaciare fra i due lati.

Algoritmi di hashing: la scelta che fa la differenza

Il modo in cui i flussi vengono distribuiti dipende dai campi usati per calcolare l'hash:

AlgoritmoCampi usatiQuando usarlo
layer2MAC sorgente e destinazioneReti piatte, molti host diversi
layer2+3MAC + indirizzi IPDefault equilibrato nella maggior parte dei casi
layer3+4IP + porte TCP/UDPServer con molte sessioni tra pochi host

L'errore tipico: aggregare l'uplink verso il router usando hashing layer2. Tutti i pacchetti diretti a Internet hanno lo stesso MAC di destinazione, quindi finiscono tutti sullo stesso link fisico e l'aggregazione non serve a nulla. In quello scenario serve layer3+4.

Configurazione su MikroTik

Su RouterOS il gruppo si crea come interfaccia bonding:

# Crea il bond con due porte fisiche, modalità LACP
/interface bonding add name=bond1 slaves=ether3,ether4 \
    mode=802.3ad transmit-hash-policy=layer-3-and-4 \
    lacp-rate=1sec

# Verifica lo stato di negoziazione
/interface bonding monitor bond1

# Assegna il bond a un bridge, non le porte singole
/interface bridge port add bridge=bridge1 interface=bond1

Punto critico: una volta creato il bond, le porte membro non vanno più configurate individualmente. Ogni indirizzo IP, VLAN o appartenenza a bridge va applicato all'interfaccia bond.

Configurazione su Linux

Con systemd-networkd o con il classico driver bonding:

# Carica il modulo e crea il bond
modprobe bonding
ip link add bond0 type bond mode 802.3ad \
    xmit_hash_policy layer3+4 lacp_rate fast

# Aggiungi le interfacce fisiche (devono essere down)
ip link set eth1 down && ip link set eth1 master bond0
ip link set eth2 down && ip link set eth2 master bond0
ip link set bond0 up

# Verifica che LACP abbia negoziato correttamente
cat /proc/net/bonding/bond0 | grep -A3 "Aggregator ID"

Nell'output cercare MII Status: up su tutti i membri e lo stesso Aggregator ID per tutte le porte. Se i membri hanno Aggregator ID diversi, la negoziazione è fallita e il traffico sta usando una sola porta.

Requisiti da verificare prima di iniziare

  • Le porte devono avere stessa velocità e stesso duplex. Mischiare 1 Gbps e 100 Mbps non funziona.
  • I membri devono terminare sullo stesso switch, salvo che lo switch supporti MLAG o stacking.
  • Molti switch limitano il numero di porte per gruppo (tipicamente 8) e il numero di gruppi totali.
  • Su alcuni apparati va disabilitato lo spanning tree sulle porte membro prima della configurazione.

Quando non serve

Il link aggregation non risolve tutti i problemi di banda. Se il collo di bottiglia è il disco del NAS, la CPU del firewall o la linea WAN, aggregare porte LAN non cambia nulla. Prima di intervenire, misurare dove si accumula effettivamente la congestione: un iftop sull'interfaccia o un grafico di utilizzo su base cinque minuti chiariscono la situazione in pochi minuti.

Per collegamenti dove serve davvero più banda su un singolo flusso, la strada corretta resta il passaggio a 2.5, 10 o 25 Gbps. L'aggregazione è la scelta giusta quando servono ridondanza e capacità aggregata su traffico eterogeneo.

Vuoi portare Velix a casa tua?

Verifica la copertura FTTH al tuo indirizzo in 30 secondi. Gratis, senza impegno.

Verifica copertura →