Windows Server 2012 fra Adapter Hardware Acceleration, Network Virtualization e NIC Teaming

Windows Server 2012 fra Adapter Hardware Acceleration, Network Virtualization e NIC Teaming

In questo quarto appuntamento esplorativo con le novità di Microsoft Windows Server 2012 ci occuperemo di alcune novità e migliorie introdotte in ambito networking, o meglio ancora virtual networking. Vediamo le principali caratteristiche

di Redazione pubblicato il nel canale Server e Workstation
MicrosoftWindows
 

NIC Teaming

Con Windows Server 2012 Microsoft integra una soluzione di NIC Teaming propria, mentre in passato erano disponibili soluzioni di terze parti. Quanto proposto da Microsoft è una soluzione aperta a vari vendor, quindi il tutto può essere integrabile in infrastrutture esitenti oppure visto in un'ottica di scalabilità. NIC Teaming, conosciuta anche con il nome di Load Balancing and Failover (LBFO), è una tecnica che consente di raggruppare vari network adapter in un singolo "team" per due scopi principali: da un lato il traffic failover, per prevenire la perdita di connettività nel caso del malfunzionamento di un componente di rete, dall'altro l'aggregazione di larghezza di banda disponibile.

Due o più schede di rete fisiche sono connesse all'unità multiplexing della soluzione di NIC Teaming, la quale mostra una o più schede di rete virtuali al sistema operativo. Vi sono differenti algoritmi che si occupano di distribuire il traffico in ingresso e in uscita tra le schede di rete fisiche. Nelle soluzioni NIC Teaming non-Microsoft il team di schede di rete divide il traffico per LAN virtuali, in maniera che l'applicazione possa connettersi a varie VLAN nello stesso momento. La separazione del traffico tecnicamente non fa parte del NIC Teaming, ma viene comunque inclusa nell'implementeazione di Windows Server 2012 dal momentoc he altre implementazioni commerciali offrono le funzionalità di separazione del traffico.

Vi sono due tipologie di algoritmi alla base del funzionamento del NIC Teaming: algoritmi switch-dependent, che richiedono cioè che lo switch partecipi al teaming ovvero che tutte le schede di rete del team siano collegate al medesimo switch, e algoritmi switch-independent, che permettono alle schede di rete di uno stesso team di essere connessi anche a switch differenti.

Per quanto riguarda i modi switch-dependent è possibile affidarsi a due diverse modalità di teaming il teaming generico o statico, ed il teaming dinamico. Nel primo caso si richiede la configurazione sullo switch e sul computer per identificare quale sia il link che forma il team. Si tratta di una soluzione statica e per questo motivo nessun protocollo aggiuntivo assiste lo switch ed il computer per identificare cavi collegati in maniera errata o qualsiasi tipo di errore che possa portare a qualche problema. E' la modalità di norma supportata dagli switch di classe server. Nel secondo caso ci si basa invece sul protocollo IEEE 802.11ax e sul Link Aggregation Control Protocol per identificare in maniera dinamica i link tra il computer e uno switch specifico. In questo modo è possibile creare team in automatico così come la riduzione o l'espansione di un team semplicemente con la trasmissione o la ricezione del LACP dalla scheda di rete. Gli switch di classe server supportano il protocollo IEEE 802.1ax, ma la maggior parte degli switch necessitano di una operazione manuale per consentire il passaggio del LACP sulla rispettiva porta. Entrambe le modalità permettono comunque di portare il traffico in ingresso e in uscita vicino ai limiti pratici della bandwidth aggrfata, dal momento che il pool di link nel team opera come una singola pipeline.

Il traffico in uscita può essere distribuito in vari modi tra i link disponibili, ma l'idea di fondo è di cercare di mantenere tutti i pacchetti che sono associati ad un singolo flusso TCP su una singola scheda di rete allo scopo di minimzzare gli scenari di ricezione di pacchetti out-of-order. Le funzionalità di NIC Teaming in Windows Server 2012 supportano due modalità di distribuzione del traffico, una mediante Hyper-V e una mediante una funzione di hashing.

Il primo caso è precorribile quando le macchine virtuali abbiano indirizzi MAC indipendenti, in questa situazione è lo stesso indirizzo MAC della macchina virtuale che può offrire la base su cui impostare la suddivisione del traffico. Il vantaggio rappresentato da questo schema è che lo switch può bilanciare il traffico dallo switch al computer su link multipli, sulla base della destinazione di indirizzo MAC per la macchina virtuale. Questa modalità è di particolare aiuto quando viene usata accanto a Virtual Machine Queue visto in precedenza. Si tratta però di un modo non sufficientemente specifico per ottenere una distribuzione ben bilanciata e limita comunque una singola virtual machine alla larghezza di banda disponibile sulla singola scheda di rete.

La distribuzione del traffico mediante hashing prevede la creazione di un hash basato su vari componenti del pacchetto e quindi assegna i pacchetti che hanno lo stesso valore di hash ad una delle schede di rete disponibili. In questo modo i pacchetti dello stesso flusso TCP vengono mantenuti sulla stessa scheda di rete. L'hashing permette di bilanciare il traffico tra le schede di rete disponibili. Alcune soluzioni NIC Teaming disponibili sul mercato si occupano di monitorare la distribuzione del traffico riassegnando specifici valori di hash a differenti schede di rete con il tentativo di meglio bilanciare il traffico. La ridistribuzione dinamica prende il nome di smart load balancing o di adaptive load balancing.

Gli elementi del pacchetto che possono essere usati come input per la funzione di hashing includono l'indirizzo MAC di origine e di destinazione, l'indirizzo IP di origine e destinazione considerando o meno il MAC address (si parla di 2-tuple hash), le porte TCP di origine e destinazione, di norma impiegate assieme agli indirizzi IP (si parla di 4-tuple hash). In quest'ultimo caso è possibile distribuire in maniera più dettagliata i flussi di traffico, con il risultato di poter gestire flussi più piccoli che possono essere spostati indipendentemente tra le varie schede di rete. Questo tipo di hashing non può però essere usato per quel traffico che non sia TCP o UDP o dove le porte TCP o UDP sono nascoste come ad esempio nel caso del traffico di rete protetto da protocollo IPsec. In questo caso si può ricorrere al 2-tuple hash. Nel caso in cui, invece, il traffico non è IP, il generatore di hash si baserà sugli indirizzi MAC di origine e destinazione.

Le funzionalità di NIC Teaming di Windows Server 2012 possono inoltre operare all'interno di una macchina virtuale. Questo permette ad una macchina virtuale di disporre di schede di rete virtuali collegate ad uno o più switch Hyper-V e disporre quindi di connettività anche se la scheda di rete sotto allo switch viene scollegata. Si tratta di una funzionalità importante quando si lavora con SR-IOV (illustrato precedentemente) dal momento che il traffico SR-IOV non passa attraverso lo switch Hyper-V. Per questo non può essere protetto da un team che sia sotto uno switch Hyper-V.

Con l'opzione di virtual machine teaming un amministratore può configurare due switch Hyper-V, ciascuno connesso alla propria scheda di rete con funzionalità SR-IOV. A questo punto si aprono due possibilità:

-ciascuna macchina virtuale può installare una funzione virtuale da una o entrambe le schede di rete SR-IOV. Nel momento in cui una scheda di rete sia scollegata, la macchina virtuale può passare immediatamente dalla funzione virtuale primaria alla funzione di bakcup

-la macchina virtuale potrebbe disporre di una funzione virtuale da una scheda direte e una funzione non virtuale all'altro switch. Se la scheda di rete associata all funzione virtuale viene scollegata, il traffico può passare immediatamente all'altro switch senza perdita di connettività.

0 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^