Il Geek Diary

Network interface bonding è chiamato con molti nomi: Port Trunking, Channel Bonding, Link Aggregation, NIC teaming, e altri. Combina o aggrega più connessioni di rete in un’unica interfaccia di incollaggio del canale. Ciò consente a due o più interfacce di rete di agire come una sola, di aumentare il throughput e di fornire ridondanza o failover.

Il kernel Linux viene fornito con il driver bonding per aggregare più interfacce di rete fisiche in una singola interfaccia logica (ad esempio, aggregando eth0 e eth1 in bond0). Per ogni interfaccia legata è possibile definire la modalità e le opzioni di monitoraggio dei collegamenti. Ci sono sette diverse opzioni di modalità, ognuna delle quali fornisce specifiche caratteristiche di bilanciamento del carico e tolleranza ai guasti.

Modalità di incollaggio di rete

Sono disponibili le seguenti modalità di incollaggio:

  • Round-robin: questa è la modalità predefinita. Le trasmissioni di rete sono in ordine sequenziale a partire dal primo slave disponibile. Questa modalità fornisce il bilanciamento del carico e la tolleranza ai guasti.
  • Backup attivo: solo uno slave nel legame è attivo. Un’altra interfaccia slave diventa attiva se l’interfaccia slave attiva fallisce. L’indirizzo MAC del bond è visibile esternamente su una sola scheda di rete per evitare di confondere uno switch di rete. Questa modalità fornisce tolleranza ai guasti.
  • XOR (esclusivo-o): Le trasmissioni di rete si basano su una politica di hash di trasmissione. Il criterio predefinito deriva l’hash utilizzando gli indirizzi MAC. In questa modalità, la trasmissione di rete destinata a peer specifici viene sempre inviata sulla stessa interfaccia slave. Questa modalità funziona meglio per il traffico verso i peer sullo stesso collegamento o rete locale. Questa modalità fornisce il bilanciamento del carico e la tolleranza ai guasti.
  • Broadcast: Tutte le trasmissioni di rete vengono inviate su tutte le interfacce slave. Questa modalità fornisce tolleranza ai guasti.
  • 802.3 ad: utilizza un criterio di aggregazione di collegamenti dinamici IEEE 802.3 ad. I gruppi di aggregazione condividono le stesse impostazioni di velocità e duplex. Questa modalità trasmette e riceve il traffico di rete su tutti gli slave nell’aggregatore attivo. Questa modalità richiede uno switch di rete 802.3 ad-compliant.
  • Adaptive transmit load balancing (TLB): il traffico di rete in uscita viene distribuito in base al carico corrente su ciascuna interfaccia slave. Il traffico in entrata viene ricevuto dallo slave corrente. Se lo slave ricevente fallisce, un altro slave assume l’indirizzo MAC dello slave fallito. Questa modalità non richiede alcun supporto speciale per gli interruttori.
  • Adaptive load balancing (ALB): Questa modalità include transmit load balancing (tlb) e receive load balancing (rlb) per il traffico IPv4 e non richiede alcun supporto speciale per gli switch. Ricevere il bilanciamento del carico è ottenuto dalla negoziazione ARP.
  • Vedere il /usr / share / doc / iputils- * / README.file di incollaggio per descrizioni complete delle modalità di incollaggio disponibili. Il tbale di seguito fornisce il riepilogo e il confronto delle modalità di legame di rete.

    Modalità Politica Come funziona Tolleranza di Errore bilanciamento del Carico
    0 Round Robin pacchetti in sequenza trasmessi/ricevuti attraverso ogni interfacce, una per una. No
    1 Backup attivo una NIC attiva mentre un’altra NIC è addormentata. Se la scheda di rete attiva diminuisce, diventa attiva un’altra scheda di rete. supportato solo in ambienti x86. No
    2 XOR In questa modalità, l’indirizzo MAC della NIC slave viene confrontato con il MAC della richiesta in entrata e una volta stabilita questa connessione, la stessa NIC viene utilizzata per trasmettere/ricevere per il MAC di destinazione.
    3 Broadcast Tutte le trasmissioni vengono inviate a tutti gli schiavi No
    4 Dynamic Link Aggregation aggregati Nic agire come un NIC che si traduce in una maggiore produttività, ma anche di fornire il failover in caso di una scheda di rete non riesce. Dynamic Link Aggregation richiede uno switch che supporti IEEE 802.3 ad.
    5 Transmit Load Balancing (TLB) Il traffico in uscita viene distribuito in base al carico corrente su ciascuna interfaccia slave. Il traffico in entrata viene ricevuto dallo slave corrente. Se lo slave ricevente fallisce, un altro slave assume l’indirizzo MAC dello slave fallito.
    6 Adaptive Load Balancing (ALB) A differenza di Dynamic Link Aggregation, Adaptive Load Balancing non richiede alcuna particolare configurazione di switch. Il bilanciamento del carico adattivo è supportato solo negli ambienti x86. I pacchetti riceventi sono bilanciati dal carico attraverso la negoziazione ARP.

    Network Bonding Link Monitoring

    Il driver bonding supporta due metodi per monitorare lo stato del collegamento di uno slave:

    MII (Media Independent Interface) Monitor

    Questa è l’opzione di monitoraggio del collegamento predefinita. Questo metodo monitora solo lo stato portante dell’interfaccia di rete locale. Si basa sul driver di dispositivo per le informazioni sullo stato del vettore, o interroga direttamente i registri MII, o utilizza ethtool per tentare di ottenere lo stato del vettore. È possibile specificare le seguenti informazioni per il monitoraggio MII:

    • Frequenza di monitoraggio: Il tempo in millisecondi tra l’interrogazione carrier state
    • Link up delay: Il tempo in millisecondi di attesa prima di utilizzare un collegamento che è up
    • Link down delay: Il tempo in millisecondi di attesa prima di passare a un altro collegamento quando il collegamento attivo viene segnalato come down

    ARP Monitor

    Questo metodo di monitoraggio dei collegamenti invia query APR ai sistemi peer sulla rete e utilizza la risposta come indicazione che il collegamento è attivo. Il monitor ARP si basa sul driver del dispositivo per mantenere aggiornato l’ultimo tempo di ricezione e l’ora di avvio della trasmissione. Se il driver di periferica non sta aggiornando questi tempi, il monitor ARP non riesce a tutti gli slave che utilizzano quel driver di periferica. È possibile specificare le seguenti informazioni per il monitoraggio APR:

    • Frequenza di monitoraggio: il tempo in millisecondi in cui vengono inviate le query ARP
    • Obiettivi ARP: un elenco separato da virgole di indirizzi IP a cui vengono inviate le query ARP