L’idea di networking dietro ad OpenFlow, Prima Parte

Le modifiche e la rivoluzione portata dal nuovo protocollo di networking dal nome OpenFlow

Una network di computer è un ecosistema che ha trovato la sua evoluzione tramite il progredire dei propri singoli elementi costitutivi, quali router, load balancer, NAT, o firewall. Il software defined networking propone di rovesciare questa visione della rete, trasformando l’intera network in una piattaforma e gli elementi individuali in entità programmabili. Le app eseguite sulla piattaforma di rete possono ottimizzare i flussi di traffico scegliendo il percorso più breve, esattamente come fanno gli attuali protocolli distribuiti, ma possono anche ottimizzare la network per massimizzare l’utilizzo dei link, creare differenti domini di raggiungibilità per diversi utenti, o rendere immediata la mobilità dei dispositivi. OpenFlow, uno standard aperto che permette il software defined networking nelle network IP, è una nuova tecnologia di rete che renderà possibili nuove applicazioni e modi di gestione delle reti.

Vogliamo in questo articolo parlarvi di quali sarebbero i frutti di questa nuova tecnologia.

(la parola router utilizzata in questo articolo indicherà indifferentemente sia router che switch per comodità)

La gestione della banda

Una WAN viene tipicamente utilizzata con un tasso del 30% d’uso, deve quindi riservare della banda che andrà poi sprecata. Usando OpenFlow però è stato sviluppato un sistema in cui i sistemi di applicazione interni che hanno bisogno del trasferimento di grandi quantità di dati possono usare la banda disponibile non utilizzata. Usi tipici di questo genere includono la replicazione quotidiana di set di dati, i backup di database, e la trasmissioni di log. I consumatori registrano la sorgente, la destinazione e la quantità di dati da essere trasferiti con un servizio centrale. Il servizio effettua vari calcoli ed invia i risultati ai router in modo che sappiano come direzionare questi dati nel momento in cui i link sono inutilizzati. La comunicazione tra le applicazioni ed il servizio centrale sono bidirezionali: le applicazioni informano il servizio delle loro necessità, il servizio replica quando la banda è disponibile, e l’applicazione informa il servizio quando ha finito. Nel frattempo i router alimentano informazioni di utilizzo in tempo reale al servizio centrale. Di conseguenza la network arriva a totalizzare un 90-95 per cento di utilizzo. Il confronto è tra pagare tre volte tanto il CAPEX ed OPEX per la stessa capacità di rete.

Una rete di tenant singoli

Una grande compagnia di hosting di VM deve di solito affrontare un grosso problema: il suo servizio è tenantizzato, nel senso che ogni utente è isolato dagli altri. Quando una VM migra da un host fisico ad un altro i segmenti VLAN devono essere riconfigurati,. All’interno della macchina fisica c’è una network emulata tramite software che connette le macchine virtuali. C’è deve essere un’attenta coordinazione tra le VLAN fisiche ed il mondo dell’emulazione software. Il problema è che le connessioni possono essere non correttamente configurate a causa di un errore umano, ed i confini tra i diversi tenant diventare confusi. OpenFlow permette di utilizzare nuove funzionalità da essere aggiunte al sistema di gestione VM in modo che questo comunichi con l’infrastruttura della network quando delle macchine fisiche e virtuali vengono aggiunte o modificate. La presenza di questa applicazione assicura che ogni tenant sia isolato dagli altri, a prescindere da come migrano le VM o dove sono posizionate le macchine fisiche.

L’esempio di un Game Server

Questo esempio è basato sul best demo award del SIGCOMM (Special Interest Group on Data Communications) del 2008.

Alcuni studenti universitari configurano un server di Quake eseguito su un laptop per dare il via ad una competizione. La latenza in questo caso è importante per motivi di prontezza nel videogioco e di imparzialità tra i giocatori. Nell’esempio citato il PC utilizzato come server ha delle prestazioni basse. Durante la competizione qualcuno prende il laptop e lo stacca dal cavo Ethernet, trasferendo la trasmissione al WiFi. La persona poi trasporta il laptop in un bar vicino e ritorna un’ora più tardi. Durante questo percorso il laptop cambia IP quattro volte, e la banda varia da 100 Mbps su Ethernet via cavo a 11 Mbps su una connessione 802.11b nell’edificio universitario degli studenti, a 54 Mbps sulla connessione 802.11g del bar. Nonostante tutto ciò la competizione di Quake continua senza alcuna interruzione. Usando OpenFlow gli studenti universitari hanno scritto un’applicazione in modo che non conti a quale subnet il portatile è stato spostato, perché il suo indirizzo IP non cambierà. Anche in caso congestione della rete, il traffico relativo al game server riceverà un’alta priorità. I router tenteranno di rifiutare altro traffico prima di aver esaudito le richieste del game server, assicurando quindi la buona continuazione della competizione.

Un sistema di routing che vi permette di scrivere applicazioni

OpenFlow rappresenta una nuova idea di networking perché modifica il modo in cui pensiamo all’architettura network-routing e spiana la strada a nuove opportunità e applicazioni. Al giorno d’oggi non esistono app per le network, e c’è chi è convinto che questa assenza convenga particolarmente ai fornitori di attrezzature di rete, che vogliono mantenere per i router lo status di risorsa critica. I protocolli di routing sono difficili da progettare, implementarli richiede capacità di programmazione elevatissime, e la verifica è costosa. Cosa succederebbe se tutto questo diventasse semplice? Per comprendere perché i protocolli di routing siano così complessi bisogna avere conoscenze sulla modalità di funzionamento del routing nelle reti odierne. Le reti sono costituite da endpoint e da dispositivi intermedi che le connettano. Tra il vostro PC e Google.com potrebbero esserci dai 20 ai 100 tra router e switch. Ogni router possiede molte port network-interfaccia, un pacchetto arriva ad un port, il router lo esamina e determina dove stia tentando di andare e lo invia al port che lo porterà più vicino alla destinazione.

Quando il vostro PC invia un pacchetto non sa come farlo arrivare a destinazione, quindi marca semplicemente il pacchetto con la destinazione desiderata e lo dà al nodo successivo, fidandosi del fatto che questo router e tutti quelli seguenti porteranno il pacchetto a destinazione, sapendo che questa operazione succede trilioni di volte al secondo in tutto il mondo e che praticamente ogni pacchetto raggiunge la destinazione prescelta.

Non esiste nessuna mappa di internet per pianificare il percorso che un pacchetto dovrebbe prendere per raggiungere la sua destinazione. Il vostro PC non sa in anticipo l’intero percorso fino alla destinazione. Questo non lo sa inoltre neanche il primo router, e neanche quelli successivi. Ogni snodo sa che il nodo successivo sarà di un passaggio più vicino alla destinazione.

Per sapere dove esattamente mandare allo step successivo il pacchetto, ogni router utilizza i cosiddetti algoritmi di routing, i quali gli permettono di dedurre dove dovrà mandare il pacchetto. Eseguire questi complicati algoritmi richiede una buona potenza di CPU, quindi ogni router è un dispositivo dispendioso che esegue gli stessi calcoli che fanno gli altri router per ottenere i risultati leggermente diversi dagli altri di cui ha bisogno.

Network più grandi richiedono più potenza di calcolo. Il numero e i tipi di port sul router non cambia, ma le capacità di calcolo richieste evolvono e quindi capita che certe attrezzature abbiano bisogno di essere aggiornate, non essendo più in grado di applicare gli algoritmi di routing richiesti per la grandezza attuale della rete. A volte questo significa semplicemente aggiungere un po’ di RAM, ma spesso vuol dire doversi fornire di una nuova CPU specializzata in tal ruolo, facendo ovviamente la felicità di fornitori di attrezzature o prestazioni di network.

La radicale semplificazione proposta con OpenFlow

L’idea base di OpenFlow è che le cose andrebbero meglio se i router avessero molte meno responsabilità e si limitassero a scaricare le informazioni di routing da un grande route compiler centrale, al quale siano tutti collegati, il cosiddetto RCITS. La potenza di CPU richiesta da un router sarebbe quindi funzione della sua velocità e della quantità delle sue port. Con l’aumentare delle dimensioni della rete sarebbe solo il RCITS a richiedere aggiornamenti di prestazioni, non tutti i router. Inoltre il RCITS non sarebbe specifico di un fornitore, ma tutte le compagnie potrebbero competere sulle prestazioni di questo componente. Questo vuol dire che sarebbe molto più semplice di quanto non lo sia adesso poter cambiare fornitore per la propria network.

Ovviamente non è così semplice come lo stiamo dicendo ora, dovremmo considerare problematiche quali la ridondanza, che richiede RCITS multipli e meccanismi di failover. Un router individuale ha bisogno di essere abbastanza intelligente da sapere dove dirigere i dati di comunicazione tra sé stesso ed il RCITS ed il canale di comunicazione va messo in sicurezza. Il protocollo OpenFlow affronta tutti questi nodi da sciogliere, usando il termine controller o controller platform al posto di RCITS.

Fonti:

1. Hoelzle, U. 2012. Keynote speech at the Open Networking Summit; http://www.youtube.com/watch?v=VLHJUfgxEO4.

2. Katti, S. 2012. OpenRadio: virtualizing cellular wireless infrastructure. Presented at the Open Networking Summit; http://opennetsummit.org/talks/ONS2012/katti-wed-openradio.pdf.

3. Lin, G. 2012. Industry perspectives of SDN: technical challenges and business use cases. Presentation at the Open Networking Summit; http://opennetsummit.org/talks/ONS2012/lin-tue-usecases.pdf (slides 6-7).

4. An open standard that enables software-defined networking – Thomas A. Limoncelli, 2012.

5. SIGCOMM Demo. 2008; http://www.openflow.org/wp/2008/10/video-of-sigcomm-demo/.

 

 

кредитные карты каспий банкачитать чужую перепискувзломать пользователя оквзять кредит онлайн с плохой кредитной историейcasino makine oyunlar?gazino oyunlar?стоит ли брать кредит в альфа банкевосхождение килиманджаро веснакредитные карты заявка во все банкижелта¤ лихородка танзани¤парк у подножи¤ килиманджаропарк нгоронгороpr компании в интернете юридическойпосуда сайтандроид разработка приложенийtranslate italian in englishвнутренняя поисковая оптимизация сайтакаталог конвекторылечение хламидиоза и уреаплазмозаmacbook pro case incipio vs speckупаковочные материалы в москвеоформление справки 086 у спбhero 3 silver pricewatch italian

Facci sapere cosa ne pensi!