Quasi tutti sono d'accordo il modo attuale di implementazione di reti virtuali con muto hypervisor interruttori e top-of-rack trucchi vari (compresi i bordi di raccordo virtuale - EVB o 802.1Qbg - e 802.1BR ) non scala. La maggior parte delle persone che lavorano nel settore (con la notevole eccezione di alcuni fornitori di hardware occupato proteggere i loro tappeti erbosi nel gruppo di lavoro IETF NVO3 ) d'accordo anche reti virtuali in esecuzione le applicazioni sulla parte superiore del tessuto IP sono l' unico modo ragionevole per andare ... ma questo è tutto quello che al momento d'accordo.
Una breve panoramica di dove siamo
Cisco, VMware e Microsoft purtroppo ha scelto la più facile via d'uscita: VXLAN e NVGRE sono reti virtuali MAC-over-IP senza piano di controllo. Essi sostengono hanno bisogno di reti di livello 2 virtuali per supportare le applicazioni esistenti (come meraviglie del carico di Microsoft bilanciamento ), e si affidano a inondazioni (emulato con IP multicast) per costruire le remote-MAC-to-remote-IP mapping in hypervisor switch virtuali.
Virtualizzazione Nicira La piattaforma di rete è il modo migliore - ha un piano centrale di controllo che utilizza OpenFlow per distribuire MAC-to-IP informazioni di mappatura a hypervisor individuali. La versione del loro software ho familiarità con attuate semplici strato-2 reti virtuali, che sono stati promettenti layer-3 di sostegno, ma finora non mi hanno aggiornato il loro progresso.
The Missing L3-4 problema
Sappiamo che i team di sviluppo che cercano di distribuire i loro stack applicativi sopra di reti virtuali di solito hanno bisogno di più di una singola rete virtuale (o area di protezione). Un tipico scale-out applicazione dispone di più livelli che devono essere collegati con bilanciamento del carico o firewall.
Tutti i fornitori di cui sopra sono a ballare intorno a quel requisito sostenendo si può sempre implementare la L3-7 funzionalità di cui avete bisogno con appliance software in esecuzione come macchine virtuali su di reti virtuali. Un tipico esempio di questo approccio è vShield Edge, una VM con bilanciamento del carico di base, funzionalità NAT e DHCP.
Per mantenere le cose in chiaro: VMware, Cisco, Juniper e un'offerta pochi altri hypervisor a livello di firewall, il traffico passante tra le aree di protezione non deve passare attraverso un apparecchio esterno (anche se va ancora attraverso una VM se si sta utilizzando VMware vShield Zones / App ). Aprire vSwitch utilizzato da NVP Nicira potrebbe essere facilmente configurato per fornire ACL funzionalità simili, ma non so fino a che punto Nicira ottenuto nella sua attuazione.
Midokura di MidoNet: una L2-4 virtuale SDN
Un mese fa Ben Cherian lasciato un commento sul mio blog dicendo: " Il nostro prodotto,MidoNet , supporta BGP, compresi multihoming e ECMP, per l'interfacciamento MidoNet router virtuali con le reti esterne L3. "Non a caso, ho voluto saperne di più e ha rapidamente organizzato un telefonata con Dan Mihai Dimitriu , Midokura CTO. Questa è una delle diapositive hanno condiviso con me ... che mostra esattamente quello che speravo di vedere in una soluzione virtuale reti:
Come previsto, hanno deciso di implementare reti virtuali con un tunnel GRE tra hypervisor padroni di casa. Una topologia tipica rete virtuale mappato su sottostante tessuto trasporto IP sarebbe quindi in questo modo:
Breve riassunto di quello che stanno facendo:
- La loro soluzione virtuale reti ha Layer-2 reti virtuali che è possibile collegare insieme con lo strato-3 router virtuali.
- Ogni porta virtuale (VM tra cui interfaccia virtuale) ha delle regole del firewall di ingresso e uscita e catene (ispirato da Linux iptables ).
- Router virtuali supportano il bilanciamento del carico di base e funzionalità NAT.
- Router virtuali non sono implementati come macchine virtuali - sono un concetto astratto utilizzato da hypervisor switch per calcolare il sottofondo IP hop successivo.
- Come ci si aspetterebbe in una soluzione L3, hypervisor si risponde alle richieste ARP e DHCP locale.
- I nodi di bordo esegue EBGP con il mondo esterno, che appare come un singolo router BGP di altoparlanti esterni.
È interessante notare, hanno deciso di andare contro corrente religione centralizzato piano di controllo , e attuato la maggior parte l'intelligenza nelle hypervisor. Usano Apri vSwitch (OVS) modulo del kernel come la piattaforma di commutazione (dimostrando la mia affermazione che OVS fornisce tutto il necessario per implementare la funzionalità L2-4), ma sostituire gli agenti OpenFlow e il controller centralizzato con il proprio software distribuito.
MidoNet pacchetto processo di trasmissione
Questo è il modo Dan e Ben spiegato un giorno nella vita di un pacchetto IP che passa attraverso la sovrapposizione MidoNet reti virtuali (non l'ho impostato per vedere come funziona davvero):
I loro spedizionieri (in esecuzione nello spazio utente su tutti gli host hypervisor) intercetta il traffico appartenente ai flussi sconosciuti (molto simile al OVS-vswitchd ), ma elaborare i pacchetti sconosciuti a livello locale invece di farli a controllore centrale OpenFlow.
L'agente di inoltro riceve un pacchetto sconosciuto avrebbe controllato le norme di sicurezza, consultare la configurazione di rete virtuale, calcolare la trasformazione richiesta di flusso (s) e uscita hop successivo, installare il flusso nel locale modulo del kernel OVS, inserire i dati di flusso in un database centrale per stateful firewall filtraggio del traffico di ritorno, e inviare il pacchetto verso il nodo di uscita incapsulato in una busta con la chiave GRE GRE indicando la porta di uscita del nodo di uscita.
Secondo Midokura, gli spedizionieri generare il più generico-specifica del flusso che possono - il bilanciamento del carico, ovviamente, richiede microflussi, semplice inoltro L2 o L3 non lo fa. Mentre il modulo del kernel supporta solo OVS microflusso-Forward, lo spedizioniere non deve ricalcolare la topologia di rete virtuale per ogni nuovo flusso.
L'interruttore di uscita OVS ha pre-installati flussi che mappa le chiavi GRE per le porte di uscita. Il pacchetto viene quindi inoltrato direttamente alla porta di destinazione senza passare attraverso lo spedizioniere sul nodo di uscita. Come in MPLS / VPN o QFabric , il nodo di ingresso esegue tutte le decisioni di inoltro, la differenza "solo" è che MidoNet viene eseguito come un insieme di interruttori software distribuiti su hardware commodity.
Traffico di ritorno asimmetrico non è più un problema, perché MidoNet utilizza database centrale di flusso per funzionalità di firewall stateful - tutti i nodi di bordo agire come un singolo firewall virtuale.
Il risultato finale: MidoNet (overlay Midokura La soluzione di rete virtuale) esegue semplici L2-4 operazioni all'interno del hypervisor, e inoltra pacchetti di flussi stabilito nella OVS kernel.
Midokura sostiene hanno raggiunto linerate (10GE) prestazioni su commodity hardware x86 ... ma naturalmente non si deve ciecamente fiducia in me o loro. Entra in contatto con Ben e test-drive la loro soluzione.
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.