SDN Flashcards
In cosa consiste la Network Function Virtualization?
Perché conviene?
In quale caso non è conveniente?
Una funzione di rete virtualizzata consiste in una o più VM che gestiscono diversi software e processi su server standard ad alta capacità, switch e dispositivi di memoria o anche su un’infrastruttura in cloud, invece di utilizzare differenti dispositivi hardware per ogni funzione di rete. Nasce nel contesto ISP, e ha l’obbiettivo di supportare la visione di SDDC, l’orchestrazione nei cloud system e IaaC.
Serve agli ISP per ridurre i costi di OPEX e CAPEX, utilizzando hardware più generico (dedicato), SO generico con capacità di routing e switching. Praticamente è un approccio che vuole usare macchine hw off-the-shelf invece di quelle dedicate.
__
Nel caso di IXP e backbone che richiedono hw dedicato.
In cosa consistono le SDN?
Quali sono le motivazioni?
Quali sono le motivazioni/benefici?
La tecnologia Software-defined networking (SDN) è approccio per la realizzazione di reti, nel contesto cloud computing. Ha l’obbiettivo di facilitare l’amministrazione, la configurazione, monitoring e migliorare performance.
Gli SDN separano logicamente due plane logici:
- Data plane (Low level): Layer veloce e distribuito dove avviene la manipolazione dei pacchetti (es. nel router è la parte che fa forwarding)
- Control plane: Layer centralizzato dove vengono prese le decisioni per la gestione dei pacchetti (es. in un router è la parte d’instradamento) e supporto a policy complesse.
____
Motivazioni per l’adozione delle SDN:
Gestione dinamica delle risorse di rete: Le SDN permettono di configurare e riconfigurare dinamicamente le regole di NAT e di indirizzamento senza interventi fisici sugli apparati.
Scalabilità: La rete deve adattarsi velocemente a nuovi scenari operativi, supportando un numero crescente di dispositivi e connessioni.
Automazione dei processi: Automatizzare la gestione degli errori e la risposta ai guasti riduce i tempi di inattività e migliora l’affidabilità.
Hardware off-the-shelf: L’utilizzo di dispositivi cloud-enabled generici (e non proprietari) riduce i costi CAPEX e OPEX.
Benefici principali delle SDN:
Isolamento delle prestazioni: Garantisce che i flussi di dati rimangano separati, evitando interferenze tra applicazioni critiche.
Condivisione delle risorse: Implementazione avanzata di meccanismi di load balancing per ottimizzare le risorse di rete.
Supporto alla ridondanza: Le SDN migliorano la fault tolerance, garantendo continuità operativa anche in caso di guasti.
Riduzione dei costi operativi e infrastrutturali: Grazie all’uso di dispositivi standard e alla possibilità di configurare la rete tramite software.
Gestione centralizzata: Tramite un controller SDN è possibile gestire e configurare più switch da remoto, senza necessità di interventi fisici.
Ottimizzazione delle prestazioni: Possibilità di bilanciare il carico su reti ad alta velocità.
Quali sono le aree critiche nel contesto di comunicazioni?
- interazione con il controller tramite pacchetti lenti
- problemi di prestazioni del piano dati: tabelle grandi e predicati complessi
- scalabilità del controller: può diventare un bottleneck
- ridondanza del controller: può diventare SPoF, dobbiamo avere un controllare rindondante o che anche vada in parallelo per fare load balancing
Come comunicano i controller?
Come comunicano i data plane?
Come si legano le SDN alle NFV?
I controller comunicano con gli applicativi tramite northbound REST API (BGP/ OSPF per sistemi legacy).
La comunicazione con il data plane avviene tramite southbound API di cui OpenFlow è lo standard di fatto.
es. Il controller ascolta le modifiche alle VM sulla northbound e inoltra comandi alla southbound api agli apparati di rete
___
SDN fornisce alle NFV una connessione programmabile tra le funzioni di rete realizzate, mentre NFV permette alla SDN di implementare funzioni di rete software su server COTS (commercial off the shelf), in questo modo possiamo virtualizzare il controller SDN implementandolo su di un cloud che può essere facilmente migrato.
In cosa consistono gli switch SDN? Quali sono i limiti del matching?
Come funzionano le tabelle? Quali sono i lmiti?
Quali sono le possibili azioni dello switch?
Quali messaggi si possono mandare tramite la southbound API?
E’ un sw o dispositivo hw che inoltra pacchetti in un ambiente SDN, utilizza protocolli SDN come OpenFlow (ci sono altri come BGP, XMPP, NETCONF..). Gli switch supportano un’analisi profonda dei paccheti su diversi livelli dello stack, possiamo anche fare matching di range o esatti sui campi. Ogni switch è programmabile dal controller SDN attraverso i protocolli SDN.
____
I predicati di matching può usare campi per il matching di una regola e possono agire su vari livelli dello stack tcp/ip fino al livello di trasporto, le tabelle sono composte da righe con un classificatore e un insieme di azioni.
Quando arriva un pacchetto che non ha riga corrispondente, comunichiamo con il controller SDN e chiede cosa fare. Il controller SDN può scaricare il flusso dallo switch che il include il classificatore che si avvicina di più e le sue azioni corrispondenti.
La tabella è finita, c’è un limite al numero di predicati di matching alcuni non sono supportati e certe operazioni dipendono dalla versione di OpenFlow.
__
Le azioni possono essere:
- inoltro alla porta
- incapsulamento e inoltro al controller
- drop pacchetto
- mangling (riscriviamo il pacchetto, come l’address, oppure per il NAT o operazioni di VLAN)
___
- Controller to switch: messaggi di controllo e configurazioni
- Messaggi asincroni da switch a controller: inviati quando è necessario l’intervento del controller
- Messaggi simmetrici: messaggi per healthcheck dei dispositivi