SDN: cosa si cela dietro il Software Defined Networking

La creazione e gestione delle strutture di rete pone grandi sfide a molte aziende. Poiché le reti convenzionali basate su hardware fisico raramente soddisfano le esigenze delle aziende moderne, la scelta di soluzioni esterne Infrastructure as a Service (Iaas) sta diventando sempre più diffusa. Rispetto alle tradizionali infrastrutture interne, questi servizi cloud, che consentono ai clienti di accedere a risorse informatiche virtualizzate, sono caratterizzati da un elevato grado di flessibilità e da un eccellente controllo dei costi: a differenza di un framework hardware fisso, le risorse desiderate possono essere scalate in qualsiasi momento premendo semplicemente un pulsante.

Definizione

Software Defined Networking (SDN): il Software Defined Networking (SDN) è un concetto di rete che consente la gestione e il controllo centralizzato e intelligente dei singoli componenti hardware tramite software. L’uso di protocolli aperti come OpenFlow consente l’accesso a dispositivi di rete come switch, router o firewall che altrimenti non sarebbero controllabili a causa del firmware proprietario.

Nella maggior parte dei casi, l’approvvigionamento e la scalabilità delle risorse virtuali, sia da parte del cliente che da parte del fornitore, avviene con l’ausilio di software senza la necessità di accedere manualmente ai singoli componenti fisici della rete. Il concetto di rete in questione è noto anche come Software Defined Networking (SDN).

Che cos’è il Software Defined Networking (SDN)?

Software Defined Networking descrive un’architettura di rete che consente una gestione della retecompletamente basata su software. A questo scopo, il piano di controllo (Control Plane) o la logica di controllo implementati di default nei componenti hardware sono astratti dall’hardware. In questo contesto, si parla anche di intelligenza dell’hardware, che non è altro che il suo specifico software operativo (firmware). In parole povere, il concetto di SDN è sinonimo di separazione tra l’infrastruttura e la sua configurazione.

Il piano dei dati (Data Plane), invece, rimane parte dei singoli dispositivi di rete (cioè tutti i router, switch e firewall integrati nella rete). Il compito di SDN, tuttavia, è esclusivamente quello di inoltrare i pacchetti, motivo per cui richiede poca potenza di calcolo. Tra le altre cose, ciò ha il vantaggio che i dispositivi non richiedono alcun firmware sviluppato in modo elaborato e sono generalmente molto più economici di altri concetti di rete.

Essenzialmente più complesso è invece il campo di attività del Control Plane astratto, che è responsabile del corretto traffico di dati nell’architettura SDN e deve quindi effettuare tutte le analisi pertinenti. Tuttavia, poiché staccato dall’hardware e implementato in un software centralizzato, risulta sostanzialmente di più facile programmazione nel Software Defined Networking e quindi molto più flessibile in termini di amministrazione di rete rispetto ad altre architetture.

Come funziona SDN?

È necessaria una specifica interfaccia di comunicazione tra Control Plane e Data Plane affinché il software SDN che opera sul livello di controllo invii istruzioni per il corretto traffico dei pacchetti ai componenti di rete incorporati. La soluzione più conosciuta è OpenFlow. Gestito dalla Open Networking Foundation (ONF), il protocollo di comunicazione è la prima interfaccia standardizzata tra i livelli di controllo e di dati di un’architettura di rete definita da software. In molte reti SDN, sostituisce le singole interfacce dei dispositivi di rete, riducendo così anche la dipendenza dai produttori di hardware.

N.B.

Anche se OpenFlow è di gran lunga il protocollo più comune per la gestione di reti definite dal software, non è l’unico: NETCONF (RFC 6241), BGP (Border Gateway Protocoll), XMPP (Extensible Messaging and Presence Protocol), OVSDB (Open vSwitch Database Management Protocol) e MPLS-TP (MPLS Transport Profile) sono alternative che non sostituiscono completamente il protocollo standard, ma che possono comunque giocare un ruolo decisivo nell’implementazione di reti definite dal software. In alcune architetture vengono utilizzati anche protocolli proprietari di Cisco Systems e Nicira.

Una volta stabilita la comunicazione tra hardware e software, l’amministratore può ottenere rapidamente e facilmente una buona visione d’insieme della rete tramite il livello di controllo e il relativo software SDN e gestire i dispositivi di rete tramite il controllo centrale basato sul software. Ciò consente di gestire i flussi di dati con un’efficienza molto maggiore rispetto alle reti in cui i vari componenti hanno ciascuno una propria logica di controllo, semplificando notevolmente la virtualizzazione e la scalabilità delle risorse. Ciò è facilitato anche dal fatto che le informazioni di routing e di topologia non sono più distribuite in frammenti su tutti i router, ma convergono in una posizione centrale.

Quali modelli SDN sono disponibili?

Le idee e gli approcci per la realizzazione di strutture SDN variano a seconda del fornitore o dell’operatore e dello standard di comunicazione adottato. Tuttavia, non è sempre possibile tracciare una netta linea di demarcazione tra i singoli modelli, cosicché può accadere che una rete definita da un software abbia elementi provenienti da approcci diversi.

SDN simmetrici vs SDN asimmetrici

Anche se il principio basato su software fornisce fondamentalmente la migliore centralizzazione possibile dell’intelligenza dei dispositivi di rete, esistono approcci SDN in cui l’ambito del piano di controllo è distribuito su più unità di controllo. Con un modello così asimmetrico, i singoli sistemi hanno in genere le informazioni minime necessarie per il funzionamento immediato, in modo che continuino a funzionare anche in caso di guasto della centrale di controllo. Tuttavia, rispetto al modello simmetrico tradizionale, ciò crea anche delle inutili ridondanze di informazioni.

 

Principio di base

Vantaggi

Svantaggi

Approccio SDN simmetrico

Centralizzazione massima dell’intelligenza

Vengono evitate le ridondanze; alleggerimento dei singoli componenti

La disponibilità e la stabilità della rete dipendono dall’unità di controllo centrale

Approccio SDN asimmetrico

Distribuzione dell’intelligenza

I singoli sistemi funzionano anche in caso di malfunzionamento della logica di controllo

Ridondanza delle informazioni; la gestione della rete è più complessa

SDN basato su host vs SDN basato su rete

Un altro modo per classificare il Software Defined Networking è quello di guardare la posizione della logica di controllo. In ambienti altamente virtualizzati, ad esempio, ha senso che i processi del Control Plane siano gestiti dal sistema su cui è ospitato l’hypervisor, cioè il manager delle macchine virtuali. Se il software SDN viene eseguito su questo sistema host, si può essere sicuri che siano disponibili le capacità necessarie per il carico di dati risultante. L’alternativa a questo approccio basato sull’host è distribuire l’elaborazione SDN a router dedicati, come è comune nelle reti tradizionali, e quindi gestirla in rete.

SDN flood-based (proattivo) vs floodless (reattivo)

Un terzo modello di rete definito dal software si concentra sul modo in cui le informazioni vengono trasmesse tra Control Plane e Data Plane. Da un lato, c’è la possibilità per l’istanza di controllo di inoltrare nuove informazioni e modifiche a tutti i nodi di rete partecipanti tramite Broadcast o Multicast. Questo concetto di SDN cosiddetto flood-based o proattivo è vantaggioso se la centralizzazione dell’intelligenza non ha importanza, ad esempio perché viene utilizzato un approccio simmetrico.

Più nodi ha una rete, più alto con un tale concetto di trasmissione dei messaggi sarà il carico per la rete, il che si traduce in una limitata scalabilità. Nelle reti più grandi, il modello SDN floodless o reattivo è quindi un’alternativa popolare: in questo caso, il piano di controllo assicura il corretto funzionamento di tutti i componenti mediante un trasferimento controllato e reattivo delle informazioni, in cui sono bloccati solo i dispositivi interessati. Le informazioni rilevanti sono solitamente ottenute da speciali lookup table, dove vengono utilizzati metodi distribuiti di hashing e caching.

 

Trasmissione informazioni

Vantaggi

Svantaggi

SDN flood-based

Broadcast, Multicast

Facile da implementare; i pacchetti sono inviati attraverso il percorso più breve

Con ogni nuovo nodo il carico di rete aumenta automaticamente

SDN floodless

Lookup table

Ciascun dispositivo riceve solo le informazioni per esso rilevanti

Problemi nel fornire le informazioni portano automaticamente a ritardi

Che cosa contraddistingue il Software Defined Working dal classico concetto di rete?

Nelle sezioni precedenti si sono chiarite le differenze fondamentali tra una rete che si basa sull’approccio SDN e una rete classica. Il punto cruciale è in questo caso senza dubbio la separazione tra hardware e software, che anni fa era impensabile. Solo dal 2013 ci sono dispositivi in grado di implementare questo aspetto elementare del Software Defined Networking. Non sorprende quindi che la tecnologia orientata al futuro non sia ancora utilizzata in molte aziende.

Le sezioni seguenti riassumono quindi le principali differenze tra SDN e il networking tradizionale prima di concludere con gli obiettivi, i benefici e gli scenari di applicazione concreti di SDN.

Le differenze tra SDN e la rete tradizionale in una tabella panoramica

Software Defined Networking (SDN) Networking tradizionale
Istanza di controllo centralizzata Istanze di controllo specifiche per dispositivo
Chiara separazione tra hardware e livello di controllo La gestione dell’hardware è integrata nell’hardware stesso
Control Plane programmabile liberamente Control Plane specifico per dispositivo
Protocolli standardizzati (ad es. Via OpenFlow) Protocolli specifici per produttore
Accesso al livello dei dati possibile attraverso software L’accesso al livello dati deve essere effettuato direttamente sull’hardware
Architettura flessibile, facilmente scalabile Architettura statica, difficile da personalizzare

Quali sono gli obiettivi e i vantaggi di SDN?

Parallelamente alle richieste di potenza di calcolo dei computer, anche le richieste di prestazioni delle reti sono in continuo aumento. Mentre le reti digitali diventano sempre più grandi e complesse, aumentano contemporaneamente anche il grado di virtualizzazione e il desiderio di massima flessibilità e scalabilità. Poiché i dispositivi convenzionali, dotati di intelligenza propria e che elaborano gran parte dei processi in modo indipendente, non sono stati in grado di soddisfare questi requisiti per un certo periodo di tempo, è stato sviluppato il concetto di rete definito dal software. Con un hardware specifico senza una propria istanza di controllo, questi obiettivi devono essere raggiunti o i requisiti devono essere soddisfatti. I vantaggi rispetto alle reti tradizionali possono essere riassunti come segue:

  • non è necessaria alcuna configurazione di singoli dispositivi o sistemi operativi
  • bassi costi di manutenzione e di amministrazione per l’intera rete
  • riduzione dei costi operativi e relativi all’hardware
  • consente l’allocazione dinamica e il monitoraggio delle risorse in tempo reale
  • maggiore indipendenza dai produttori di hardware

Scenari applicativi possibili per il Software Defined Networking

Grazie ai suoi numerosi vantaggi rispetto al concetto di rete classico, SDN è interessante per un gran numero di applicazioni. Tra le altre cose, il modello di rete definito dal software è adatto per i seguenti fini:

  • Quality of Service (QoS): la panoramica centrale di tutti i nodi di rete rende più facile per l’amministratore tenere traccia della frequenza di utilizzo di una singola connessione. L’amministratore può reagire in tempo reale alle conoscenze acquisite e regolare di conseguenza il traffico dati in modo da poter fornire in ogni momento la larghezza di banda promessa a tutti i partecipanti.
  • Gestione dei dispositivi indipendente dal produttore: la focalizzazione su un protocollo uniforme come OpenFlow rende SDN una soluzione eccellente per combinare e gestire dispositivi di diversi produttori in un’unica rete.
  • Ampliamento funzionale della rete indipendente dal produttore: la libertà della tecnologia SDN è anche una buona soluzione per scenari in cui le reti dovrebbero in ogni momento poter essere facilmente espandibili con nuove funzioni. Anche qui è importante per gli utenti l’indipendenza dai produttori dei dispositivi
  • Pacchetto di routing guidato dall’applicazione: SDN crea la base per le applicazioni di terze parti per intervenire nel package routing, cioè per cambiare e adattare i percorsi in rete. Per farlo, l’unità di controllo deve disporre di un’interfaccia adeguata.
  • Definizione e distribuzione centralizzata delle politiche di sicurezza (Security Policies): le politiche di sicurezza possono essere facilmente ed efficacemente trasmesse ai singoli switch di rete tramite l’unità di controllo centrale.
N.B.

Insieme ad altri servizi definiti dal software, sono necessarie tra le altre cose strutture di rete virtualizzate per poter configurare un Software Defined Data Centers (SDDC), ovvero un data center controllato dal software.

In sintesi: architetture di rete flessibili grazie al Software Defined Networking

Non è un caso che l’approccio SDN sia stato adottato negli ultimi anni da diversi fornitori di reti: il Software Defined Networking ottimizza l’approccio di base della virtualizzazione dell’hardware, rimuovendo le restrizioni specifiche del produttore e semplificando notevolmente l’amministrazione di una rete. Disaccoppiando la logica dall’hardware sottostante e la relativa capacità di controllare la rete tramite software, gli operatori di rete sono ben preparati per gli sviluppi e le sfide future nel settore IT.