Le novità di Windows Server 2012 : Hyper-V Virtual Switch

Come spesso ho detto nei corsi su Hyper-V in versione 1 e 2, ho sempre ritenuto il termine “Virtual Network” piuttosto ambiguo, ed infatti è ora stato sostituito con il più appropriato termine “Virtual Switch”.

In effetti, una rete virtuale di Hyper-V è ben di più di una semplice rete virtuale, come il termine Virtual Network poteva far pensare :  è, a tutti gli effetti, una vera e propria versione virtuale di uno switch di rete (per la precisione, è una rappresentazione software di uno switch di rete Layer 2), e ad esso possono essere collegate le schede di rete delle macchine virtuali e le schede di rete fisiche dei server fisici, permettendo le comunicazioni tra le macchine virtuali, gli host fisici e gli altri dispositivi presenti in rete.

E’ quindi assolutamente appropriata la scelta di Microsoft di rinominarlo “Virtual Switch”.

Essendo dotato di numerose estensioni e personalizzazioni, il Virtual Switch è denominato anche “Hyper-V Extensible Switch”.

Come nella precedente release, Hyper-V 3.0 supporta tre differenti tipi di Virtual Switch :

  • External : da utilizzare per mappare una rete ad una specifica scheda di rete fisica dell’host (o team di schede di rete fisiche) e permettere le comunicazioni delle macchine virtuali verso intere reti fisiche.  La novità In Hyper-V 3.0 è la possibilità di mappare un virtual switch External ad una scheda di rete wireless, a patto che il server Hyper-V abbia una scheda wireless compatibile ed il servizio “Wireless Local Area Network” installato
  • Internal : da utilizzare per permettere le comunicazioni tra le macchine virtuali presenti su un host hyper-V e l’host stesso (ma non permettere comunicazioni verso altri dispositivi presenti in rete)
  • Private : da utilizzare per permettere comunicazioni solo tra le macchine virtuali presenti su un certo host

Per un virtual switch di tipo External o Internal, è possibile configurare anche un VLAN ID (numero compreso tra 1 e 4094) che possa essere associato alla rete.  Questo permette di estendere le VLAN esistenti sulla rete esterna alle VLAN configurate sui virtual switch degli host Hyper-V.  Le VLAN permettono di partizionare il traffico di rete , e funzionano come reti logiche separate.  Il traffico può passare da una VLAN all’altra solo se attraversa un router.

In Hyper-V 3.0 è ora possibile dotare un virtual switch di particolari estensioni :

  • si possono installare “Filtri NDIS (Network Driver Interface Specification) personalizzati” oppure “Filtri WFP (Windows Filtering Platform) personalizzati”, agganciati come estensioni all’Hyper-V Virtual Switch, che possono eseguire diverse operazioni ausiliarie, come per esempio la cattura e il monitoraggio dei pacchetti, oppure il filtraggio e l’inoltro (es. ispezione ed eliminazione di alcuni pacchetti, o reindirizzamento verso opportune VLAN).   Tutti questi filtri possono essere realizzati da Microsoft oppure da terze parti, rispettando l’architettura “NDIS Filter Driver”.   Le estensioni sono visibili nelle proprietà di un certo Virtual Switch, come mostrato in Fig. 1 :

1virtswext.JPG   Fig. 1

Ulteriori capacità avanzate sono utilizzabili dai Virtual Switch.  Sono reperibili nella sezione “Advanced Features” di ogni Network Adapter di ogni macchina virtuale : sono quindi capacità attivabili per macchina virtuale e/o per scheda di rete virtuale.  Ecco l’elenco :

  • è attivabile il DHCP Guard (Fig. 2) : è una tecnica che evita la spedizione di messaggi DHCP da parte di macchine virtuali che “pretendono” di essere Server DHCP.  Questo è utile, per esempio, in un’azienda dotata di un lab, dove spesso i sistemisti creano ambienti virtuali di test, e dove può accadere che qualche macchina virtuale server con i servizi DHCP installati inizi a distribuire indirizzi IP a destra e a manca in produzione.  Questo può essere evitato anche con altri accorgimenti (netta separazione tra produzione e lab, blocco dell’autorizzazione dei server DHCP virtuali in Active Directory, configurazione di regole a livello degli switch/router di rete, ecc…), ma indubbiamente la semplicità di questo metodo (un banale flag) è lampante :-)
  • è attivabile il Router Guard (Fig. 2) : è una tecnica simile al DHCP Guard, con lo scopo di evitare la spedizione di messaggi di tipo “Router Advertisement” (messaggi rilasciati periodicamente, o su sollecitazione di un host, da un router, per indicare la propria presenza e la propria configurazione) e di tipo “Redirection” (indicano la necessità, per una certa comunicazione, di dover utilizzare – o no – un certo router per raggiungere la destinazione) da parte di macchine virtuali configurate come dei router (es. RRAS installato)
  • è attivabile il MAC Address Spoofing (Fig. 2) : è una tecnica (già presente in Hyper-V 2.0) che permetterebbe alle macchine virtuali (o a del software all’interno delle macchine virtuali) di modificare il MAC Address sorgente dei pacchetti uscenti in un MAC Address non assegnato alle macchine virtuali stesse.   Questa possibilità è disabilitata per default, per ovvi motivi di sicurezza (MAC address spoofing usato a scopo malizioso), ma potrebbe essere utile in alcuni scenari : per esempio quando configuro le macchine virtuali in NLB utilizzando la modalità Unicast, oppure quando utilizzo una macchina virtuale dentro un’altra (es. quando eseguo una VM Virtual PC dentro una VM Hyper-V, oppure quando utilizzo i simulatori virtuali dei palmari in una VM Hyper-V)

2macdhcprout.JPG   Fig. 2

  • è attivabile il Port Mirroring (Fig. 3) : permette di monitorare il traffico di rete di una macchina virtuale, inoltrando copie dei suoi pacchetti entranti o uscenti (configurabile) ad un’altra macchina virtuale, utilizzata  a scopo di monitoraggio

3portmirteam.JPG   Fig. 3

  • è attivabile il NIC Teaming (Fig. 3) : permette ad una macchina virtuale di avere schede di rete virtuali connesse a più di uno switch virtuale, e di continuare ad avere connettività anche se la scheda di rete fisica agganciata ad uno degli switch virtuali smettesse di funzionare
  • nella sezione “Hardware Acceleration” è attivabile “Virtual Machine Queue” (Fig. 4) : questa tecnica permette di generare, sulla scheda di rete dell’host, una coda dedicata per ogni scheda di rete virtuale.  E’ in pratica un modo per far apparire, alle macchine virtuali, la singola scheda di rete dell’host come se fosse un “insieme” di schede di rete, e ogni scheda di rete virtuale può creare ed utilizzare una propria coda specifica per il proprio traffico di rete.  Questo comporta un generale miglioramento delle operazioni di I/O
  • nella sezione “Hardware Acceleration” è attivabile “IPSec Task Offloading” (Fig. 4) :  ora anche la macchina virtuale può trasferire in offload alla scheda di rete fisica dell’host fisico.  Questo libera risorse CPU.   La regolazione del numero delle Security Associations (SA) tra 1 e 4096, permette di bilanciare la necessità di eseguire IPSec Offloading da parte di più macchine virtuali

4hwacc.JPG      Fig. 4

  • Nelle proprietà di una scheda di rete virtuale esiste la possibilità di utilizzare “Bandwidth Management” (Fig. 5) : questo permette di indicare per ogni macchina virtuale le quantità minima e massima (in Mb al secondo) di utilizzo della rete.

5bdwthmgm.JPG      Fig. 5

Un’ulteriore funzionalità è disponibile nelle proprietà di un Virtual Switch.  Si tratta di ”Single-root I/O Virtualization (SR-IOV)” (Fig. 6) : è una tecnica che sfrutta il supporto dei chipset per le tecnologie di virtualizzazione, e che permette la ri-mappatura di DMA e interrupt in modo che alcune periferiche (che supportino SR-IOV) possano essere mappate direttamente alle macchine virtuali.  La disponibilità di SR-IOV nel Virtual Switch permette l’applicazione di questa tecnica a schede di rete fisiche presenti nell’host Hyper-V, a patto che la scheda di rete ed il suo driver siano compatibili con SR-IOV (il driver deve essere presente sia nel sistema operativo dell’host che in quello della macchina virtuale).

9-sr-iov.JPG      Fig. 6

 

Share / Save :

Lascia un commento