Estate 2020
Datacenter
 

26/03/2014

Share    

Se il network diventa programmabile

Le innovazioni abilitate dal Software Defined Networking promettono un cambiamento radicale delle architetture di rete

Aumentare la flessibilità della propria architettura di rete, disporre di infrastrutture in grado di predisporre automaticamente le loro performance alla tipologia di applicazioni che devono supportare, riuscire a gestire il complesso di novità e di volumi che in questi anni, e nei prossimi, caratterizzeranno il traffico dati che si troveranno a gestire carrier e aziende clienti. Sono questi gli obiettivi che verranno raggiunti, stando alle promesse dei suoi promotori, dal nuovo modello del Software Defined Networking, un approccio che mette in discussione molte delle logiche con le quali si sono realizzate fino a oggi le architetture di rete aziendali e sul quale ormai da tempo si confrontano gli esperti dell’industria del networking. Nel corso del 2014 il rilascio di molte novità da parte dei vendor del settore saranno fatti proprio in ottica SDN, ed è quindi importante iniziare a fare i conti con questo nuovo elemento tecnologico che condizionerà il mercato, per capire come nel prossimo futuro ci si può aspettare che evolverà la propria infrastruttura di rete aziendale. L’articolo che presentiamo in queste pagine è una sintesi del testo ‘Software Defined Networking: sfide ed opportunità per le reti del futuro’ apparso su Notiziario Tecnico Telecom Italia a cura di Antonio Manzalini, Vinico Vercellone e Mario Ullio.


Cosa prevede il modello SDN
Il modello del Software Defined Networking ha l’obiettivo di rendere programmabili i nodi di rete attuali come router e switch, introducendo dei livelli di astrazione a cui è possibile accedere attraverso l’uso di API condivise e supportate da tutti gli attori dell’industria del networking interessati allo sviluppo del modello SDN. La programmabilità dei nodi di rete ridefinisce il concetto di virtualizzazione della rete consentendo di creare delle partizioni virtuali dell’infrastruttura di rete fisica, in modo da permettere a più istanze di controllo, e alle rispettive applicazioni, di utilizzare le partizioni assegnate. In questo modo, un’architettura di rete governata dal modello SDN permette la coesistenza di più reti virtuali, tra loro isolate, sulla stessa infrastruttura hardware. Inoltre il modello SDN consente la centralizzazione delle logiche di controllo di un ambiente di rete, consentendo a chi deve gestire tale infrastruttura la possibilità di compiere più facilmente funzioni di configurazione e ottimizzazione delle risorse di rete. Secondo i promotori del modello SDN, introdurre nuovi livelli di astrazione negli ambienti di rete significa ristrutturare in modo sostanziale l’approccio attuale alle architetture di networking, operando una trasformazione del tutto simile a quanto già avvenuto nel campo delle architetture di elaborazione. In queste infatti, ormai da molto tempo i programmatori sono in grado di implementare sistemi complessi senza dover gestire aspetti tecnici basilari dei singoli dispositivi di computing coinvolti o interagendo con essi attraverso il linguaggio macchina, il tutto grazie proprio all’introduzione di opportuni livelli di astrazione nell’architettura di computing. Si tratta di un approccio sicuramente ambizioso che propone un cambiamento radicale nella realizzazione e nella gestione delle reti che si traduce in una serie di innovazioni, la cui portata può essere amplificata dal fatto che queste vengono implementate nel loro complesso e non singolarmente a seconda del problema contingente che si deve risolvere.


Disaccoppiamento tra controllo e instradamento dei pacchetti
Uno degli elementi che compongono l’architettura SDN è costituito dallo strato di cui fanno parte i controller. Tradizionalmente nelle reti a pacchetto le funzionalità del piano di controllo e quelle del piano dati sono strettamente accoppiate: infatti sono gli stessi dispositivi che effettuano l’instradamento (o se si preferisce il forwarding) del traffico di rete a decidere come trattare e dove inoltrare i pacchetti. Da questo punto di vista, il modello SDN/OpenFlow introduce invece un principio di disaccoppiamento tra piano di controllo e di instradamento. L’approccio adottato prevede di scorporare le funzionalità del piano di controllo ed assegnarle ad elementi dedicati. Ciascuno dei controller, a sua volta, gestisce uno o più nodi che effettuano il forwarding dei pacchetti. Uno degli aspetti salienti della visione SDN è quindi la possibilità di disegnare le applicazioni considerando la rete come se fosse governata da un piano di controllo concettualmente centralizzato, invece che con un sistema complesso e distribuito. Le applicazioni possono quindi implementare le loro logiche di controllo astraendole dalla complessità fisica della rete, e sarà compito dei controller presentare una vista unica, globale e logicamente centralizzata, gestendo la topologia fisica della rete e la distribuzione delle informazioni di stato necessarie a implementare le logiche di servizio.


Lo strato di controllo dell’architettura SDN sarà generalmente composto da un ecosistema di moduli software, di cui il principale nucleo è costituito dal controller. Sebbene non vi sia una definizione completamente univoca e universalmente condivisa di controller, un punto fermo è rappresentato dal fatto che esso ha il compito di terminare l’interfaccia OpenFlow. Inoltre questo modulo offre un’interfaccia di programmazione verso le applicazioni, siano esse interne o esterne allo strato di controllo stesso. È quella che in ambito ONF viene convenzionalmente indicata con il termine di ‘northbound’ API, mediante la quale le applicazioni possono fare uso delle funzionalità offerte dal controller. Questo strato dell’architettura SDN può essere visto più in generale come l’analogo di un sistema operativo di rete (Network OS), come tale deve offrire varie funzionalità di supporto, quali fra l’altro la gestione della comunicazione fra moduli e l’aggiunta di nuove componenti.
Se l’astrazione presentata dall’architettura SDN alle applicazioni è quella di un controllore logicamente centralizzato, dal punto di vista realizzativo sono possibili diverse scelte progettuali. In linea di principio, quella di un elemento di controllo fisicamente centralizzato è un opzione possibile, e forse adatta per ambiti molto circoscritti, quali una rete sperimentale o un campus universitario, ma certamente non adeguata per il dispiegamento in reti di produzione, come possono essere quelle dei carrier o di configurazioni enterprise molto articolate. In questi ambiti, la centralizzazione di un elemento così critico per il funzionamento della rete comporta infatti evidenti limiti dal punto di vista delle prestazioni, in particolare tempi di risposta, a causa dei ritardi di propagazione dovuti alle distanze geografiche, ma anche di affidabilità, in termini di raggiungibilità e disponibilità dell’elemento e di scalabilità. Questo significa che l’architettura del controllo dovrà in generale essere composta da elementi fisicamente replicati e distribuiti, ma capaci di comportarsi nel complesso come un piano di controllo logicamente centralizzato.

 

Da sottolineare il fatto che un certo grado di distribuzione dei controller richiede la gestione delle usuali problematiche di consistenza delle informazioni di stato tipiche dei sistemi distribuiti. I vari controller dovranno poi essere in grado di dialogare tra loro, attraverso opportune interfacce ‘orizzontali’, in particolare nel caso in cui essi appartengano a domini di rete differenti dal punto di vista geografico e/o amministrativo.
Quindi, riassumendo, dal punto di vista dell’organizzazione del piano di controllo la vera innovazione introdotta da SDN non sta tanto e solo nella sua centralizzazione, peraltro logica, bensì nella possibilità di svincolarne la topologia da quella dei nodi di rete che effettuano l’instradamento del traffico.

 

Virtualizzare la rete
Come già accennato, analogamente a quanto successo nel mondo del computing - dove l’introduzione delle tecnologie di virtualizzazione ha consentito di partizionare e condividere le risorse elaborative hardware, sotto forma di macchine virtuali, tra più istanze di sistemi operativi - da tempo gli operatori del networking hanno cercato di applicare i principi della virtualizzazione (slicing) anche alle risorse di rete. L’obiettivo della virtualizzazione di rete, nel contesto OpenFlow/SDN, consiste dunque nel ricavare delle partizioni virtuali dell’infrastruttura di rete fisica, in modo da permettere a più istanze di controllo e rispettive applicazioni di utilizzare la slice di rete assegnata, come se fosse a tutti gli effetti dedicata e completamente isolata dalle altre reti virtuali che, invece, insistono sulla medesima infrastruttura hardware. Le tecniche di virtualizzazione dovrebbero consentire ai diversi soggetti che condividono l’infrastruttura e alle relative applicazioni di implementare protocolli e schemi di indirizzamento totalmente indipendenti. In questo senso, già oggi nell’ambito dei data center e delle architetture di cloud computing, le tecnologie di virtualizzazione, come per esempio gli switch virtualizzati realizzati all’interno dei moduli di gestione delle macchine virtuali, in pratica gli hypervisor, giocano un ruolo chiave nell’evoluzione di queste soluzioni e rappresentano una realtà ormai affermata dal punto vista commerciale. Naturalmente diversi e più articolati sono i requisiti e i problemi da affrontare per esportare le tecnologie di virtualizzazione anche nell’ambito delle reti di telecomunicazione geografiche, tuttavia vi sono segnali di una possibile evoluzione proprio in questa direzione.
A oggi, invece, le tecniche per supportare dei principi di virtualizzazione in un ambiente generico di rete sono ancora in fase di sviluppo e le implementazioni disponibili sono limitate. Si tratta sostanzialmente di strumenti destinati ad applicazioni in contesti sperimentali e di ricerca. Come le tecnologie di hypervisor si situano tra l’hardware di computing e il sistema operativo, tali strumenti si collocano tra il controller OpenFlow e il piano di forwarding, introducendo nell’architettura un meccanismo di virtualizzazione di rete. Lo strumento si incarica di garantire che le diverse istanze di controllo siano in grado di vedere e gestire solo la slice a loro assegnata, assicurandone l’isolamento dalle altre slice configurate in rete. Gli strumenti fino a oggi sviluppati in questo ambito sono a uno stadio iniziale dell’implementazione dei principi di virtualizzazione e perciò presentano alcune limitazioni: per esempio le topologie virtuali possono essere costituite solo da sottoinsiemi della topologia fisica.
Tuttavia si può sicuramente affermare che le tecnologie di virtualizzazione della rete costituiscono in prospettiva una componente qualificante dell’architettura SDN e potenzialmente in grado, quando mature, di abilitare nuovi ed e caci modelli di condivisione delle infrastrutture di rete.
 

 
TAG: Networking

TORNA INDIETRO >>