# OpenFlow

OpenFlow è un protocollo di comunicazione che consente l'accesso al piano di inoltro (forwarding plane) di un dispositivo di rete (switch o router) attraverso la rete.

## Storia

La Open Networking Foundation (ONF), un'organizzazione dedita alla promozione e l'adozione di SDN, gestisce lo standard OpenFlow ONF definisce OpenFlow come la prima interfaccia di comunicazione standard definita tra il control plane e il data plane di un'architettura SDN. OpenFlow consente l'accesso diretto e la manipolazione del forwarding plane dei dispositivi di rete quali router e switch, sia fisici che virtuali (hypervisor-based, OVS, etc.). Proprio l'assenza di un'interfaccia aperta al forwarding plane è quella che ha portato alla caratterizzazione degli odierni dispositivi di rete come monolitici e chiusi. Un protocollo come OpenFlow è necessario per spostare il controllo della rete fuori da switch proprietari e portarlo in un software di controllo che sia open source e a gestione locale.
In pratica OpenFlow permette che il percorso dei pacchetti di rete venga deciso da un software istanziato in molti router (almeno due di loro - primario e secondario - hanno il ruolo di osservatori). Questa separazione del control plane dal forwarding plane permette una gestione dell'inoltro pacchetti più sofisticata rispetto a quella possibile utilizzando solamente le access control list ed i classici protocolli di routing. I suoi inventori considerano OpenFlow come un abilitatore del modello SDN (non a caso i due concetti non devono essere confusi).
Numerosi vendor di dispositivi di rete hanno annunciato o stanno già vendendo switch con supporto OpenFlow, come Alcatel-Lucent, Big Switch Networks, Brocade Communications, Arista Networks, Pica8, NoviFlow, Cisco Systems, Dell Force10, Extreme Networks, IBM, Juniper Networks, Digisol, Larch Networks, Hewlett-Packard, NEC, e MikroTik. OpenFlow è utilizzato principalmente fra lo switch ed il controller attraverso un canale sicuro. Una lista abbastanza aggiornata di prodotti OpenFlow-related può essere trovata su ONF website Archiviato il 14 gennaio 2014 in Internet Archive. e su SDNCentral website.

### Sviluppo

La versione 1.1 del protocollo OpenFlow è stata pubblicata il 28 febbraio 2011, ed il nuovo sviluppo dello standard fu gestito dalla Open Networking Foundation(ONF). Nel dicembre 2011, la ONF approvò la versione 1.2 di OpenFlow e la pubblicò nel febbraio 2012. La versione attuale di OpenFlow è la 1.4.
L'università dell'Indiana ha lanciato nel maggio 2011 un SDN Interoperability Lab assieme alla Open Networking Foundation per testare come prodotti SDN ed OpenFlow di produttori differenti lavorino assieme.
Nel febbraio 2012, Big Switch Networks released Project Floodlight, un OpenFlow Controller con licenza Apache open-source software , e annunciò la sua OpenFlow-based SDN Suite nel novembre dello stesso anno, che consisteva in un controller commerciale ed applicazioni di virtual switching and tap monitoring.
Nel febbraio 2012, HP spiegò che supportava lo standard su 16 dei suoi ethernet switch.
Nell'aprile 2012, Urs Hölzle di Google descrisse come la rete interna della compagnia fosse stata completamente rimodellata nell'arco dei due anni precedenti per lavorare con OpenFlow con un sostanziale efficientamento della stessa.
Nel gennaio 2013, NEC svelò un virtual switch per Microsoft Windows Server 2012 Hyper-V hypervisor, che fu progettato per portare funzionalità OpenFlow-based nell'ambiente di virtualizzazione Microsoft.