Open vSwitch
Open vSwitch ( OVS ) è un'implementazione open source di un multilayer switch virtuale distribuito. Lo scopo principale di Open vSwitch è quello di fornire uno stack di switching per ambienti di virtualizzazione hardware, supportando al contempo più protocolli e standard utilizzati nelle reti di computer.[1]
Open vSwitch software | |
---|---|
![]() | |
Genere | |
Ultima versione | 3.5.0 (17 febbraio 2025) |
Sistema operativo | |
Linguaggio | C |
Licenza | licenza Apache 2.0 (licenza libera) |
Sito web | openvswitch.org/ |
Il codice sorgente del progetto è distribuito secondo i termini della licenza Apache 2.0.
Panoramica
modificaOpen vSwitch è un'implementazione software di uno switch di rete virtuale multilayer, progettato per consentire un'automazione di rete efficace tramite estensioni programmatiche, supportando al contempo interfacce di gestione e protocolli standard quali NetFlow, sFlow, SPAN, RSPAN, CLI, LACP e 802.1ag . Inoltre, Open vSwitch è progettato per supportare una distribuzione trasparente su più server fisici consentendo la creazione di switch tra server in un modo da astrarre l'architettura del server sottostante, simile allo switch distribuito VMware DVS o Cisco Nexus 1000V.[2][3][4]
Open vSwitch può funzionare sia come uno switch di rete basato su software in esecuzione all'interno di una macchina virtuale (VM) su hypervisor, sia come stack di controllo per hardware di switching dedicato; di conseguenza, è stato riportato su più piattaforme di virtualizzazione, su chipset di switching e su acceleratori hardware della rete.[5] Open vSwitch è lo switch di rete predefinito nella piattaforma di virtualizzazione XenServer dalla sua versione 6.0,[6] e nella piattaforma Xen Cloud tramite il suo stack di strumenti di gestione XAPI.[7] Supporta inoltre gli hypervisor Xen, Linux KVM, Proxmox VE e VirtualBox, mentre è disponibile anche una versione per Hyper-V .[8] Open vSwitch è stato inoltre integrato in varie piattaforme software di cloud computing e sistemi di gestione della virtualizzazione, tra cui OpenStack, openQRM, OpenNebula e oVirt.[2]
L'implementazione del kernel Linux di Open vSwitch è stata unita alla linea principale del kernel nella versione 3.3, rilasciata il 18 marzo 2012;[9][10] i pacchetti Linux ufficiali sono disponibili per Debian, Fedora, openSUSE e Ubuntu.[2] Dal Gennaio 2014 sono disponibili anche implementazioni FreeBSD e NetBSD, con l'implementazione di NetBSD che opera completamente nello spazio utente.[11][12][13]
La maggior parte del codice sorgente di Open vSwitch è scritto in linguaggio C indipendente dalla piattaforma, che garantisce una facile portabilità in vari ambienti. Il codice sorgente è concesso in licenza con la licenza Apache 2.0.[2]
Caratteristiche
modificaDa Settembre 2015, le caratteristiche offerte da Open vSwitch includono le seguenti:[14][15]
- Comunicazione esposta tra macchine virtuali, tramite NetFlow, sFlow, IP Flow Information Export (IPFIX), Switched Port Analyzer (SPAN), Remote Switched Port Analyzer (RSPAN) e mirror di porte incapsulati tramite Generic Routing Encapsulation (GRE)
- Aggregazione di link tramite il protocollo di controllo dell'aggregazione di link (LACP, IEEE 802.1AX -2008)
- Modello LAN virtuale (VLAN) 802.1Q standard per il partizionamento di rete, con supporto per il trunking
- Supporto per lo snooping multicast utilizzando le versioni 1, 2 e 3 dell'Internet Group Management Protocol (IGMP)
- Supporto per il controllo di accesso ai media di bridging del percorso più breve (SPBM) e supporto di base associato per il protocollo LLDP (Link Layer Discovery Protocol)
- Supporto per il rilevamento dell'inoltro bidirezionale (BFD) e il monitoraggio del collegamento 802.1ag
- Supporto per il protocollo Spanning Tree (STP, IEEE 802.1D -1998) e il protocollo Rapid Spanning Tree (RSTP, IEEE 802.1D-2004)
- Controllo granulare della qualità del servizio (QoS) per diverse applicazioni, utenti o flussi di dati
- Supporto per l'ordinamento della coda della curva di servizio equo gerarchica (HFSC) (qdisc)
- Controllo del traffico a livello di interfaccia della macchina virtuale
- Bonding del controller di interfaccia di rete (NIC), con bilanciamento del carico tramite indirizzi MAC sorgente, backup attivi e hashing di livello 4
- Supporto per il protocollo OpenFlow, comprese varie estensioni relative alla virtualizzazione
- Supporto completo IPv6 (Internet Protocol version 6)
- Supporto per più protocolli di tunneling, tra cui GRE, Virtual Extensible LAN (VXLAN), Stateless Transport Tunneling (STT) e Geneve, con supporto aggiuntivo per la stratificazione su Internet Protocol Security (IPsec)
- Protocollo di configurazione remota, con associazioni esistenti per i linguaggi di programmazione C e Python
- Implementazione del motore di inoltro dei pacchetti nello spazio kernel o nello spazio utente, consentendo flessibilità aggiuntiva e fornendo miglioramenti delle prestazioni elaborando la maggior parte dei pacchetti inoltrati senza lasciare lo spazio kernel e utilizzando componenti multithread nello spazio kernel e nello spazio utente[16][17]
- Pipeline di inoltro multi-tabella con un motore di caching del flusso
- Inoltro dell'astrazione del livello, semplificando il porting di Open vSwitch su nuove piattaforme software e hardware
Note
modifica- ^ a b M. Tim Jones, ibm.com, http://www.ibm.com/developerworks/linux/library/l-virtual-networking/ . URL consultato il April 9, 2014.
- ^ a b c d openvswitch.org, https://www.openvswitch.org/ . URL consultato il November 24, 2013.
- ^ Thomas Graf, blog.zhaw.ch, http://blog.zhaw.ch/icclab/files/2013/04/OpenStack-Quantum-SDN-with-Open-vSwitch.pdf . URL consultato il April 9, 2014.
- ^ Ralf Spenneberg, admin-magazine.com, http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch . URL consultato il April 2, 2014.
- ^ marketwired.com, http://www.marketwired.com/press-release/tilera-launches-open-virtual-switch-solution-ovs-to-accelerate-nfv-and-sdn-1881746.htm . URL consultato il June 22, 2015.
- ^ support.citrix.com, http://support.citrix.com/article/CTX130418 . URL consultato il January 22, 2015.
- ^ xenproject.org, 2013, http://www.xenproject.org/developers/teams/xapi.html . URL consultato il January 22, 2015.
- ^ Alessandro Pilotti, cloudbase.it, http://www.cloudbase.it/open-vswitch-on-hyper-v/ . URL consultato il June 22, 2015.
- ^ kernelnewbies.org, http://kernelnewbies.org/Linux_3.3#head-d587af5a0e432c20cd96f2fe2b82adabba671df9 . URL consultato il April 2, 2014.
- ^ Jonathan Corbet, lwn.net, https://lwn.net/Articles/469775/ . URL consultato il April 2, 2014.
- ^ freshports.org, http://www.freshports.org/net/openvswitch/ . URL consultato il April 2, 2014.
- ^ Gaetano Catalli, ucl.ac.be, http://changeofelia.info.ucl.ac.be/pmwiki/uploads/SummerSchool/Program/poster_001.pdf . URL consultato il June 22, 2015.
- ^ github.com, https://github.com/openvswitch/ovs/blob/master/INSTALL.NetBSD . URL consultato il April 9, 2014.
- ^ openvswitch.org, http://openvswitch.org/features/ . URL consultato il September 17, 2015.
- ^ Jesse Gross, linuxfoundation.org, http://events.linuxfoundation.org/sites/events/files/slides/OVS-LinuxCon%202013.pdf . URL consultato il November 24, 2013.
- ^ networkheresy.com, http://networkheresy.com/2014/11/13/accelerating-open-vswitch-to-ludicrous-speed/ . URL consultato il May 26, 2015.
- ^ Jesse Gross, events.linuxfoundation.org, https://events.static.linuxfound.org/sites/events/files/slides/Evolution%20of%20OVS.pdf . URL consultato il May 28, 2015.
Voci correlate
modificaCollegamenti esterni
modifica- (EN) Sito ufficiale, su openvswitch.org.
- (EN) source code, su GitHub.
- Introduction to Open vSwitch, su YouTube.
- Open vSwitch: Deep Dive The Virtual Switch for OpenStack, su YouTube.
- OVN, Bringing Native Virtual Networking to OVS, January 13, 2015, by Justin Pettit, Ben Pfaff, Chris Wright and Madhu Venugopal
- Open Virtual Network (OVN) Proposed Architecture, January 13, 2015, by Ben Pfaff
- 6WIND Announces Open vSwitch Acceleration for Red Hat Enterprise Linux OpenStack Platform, PRWeb, April 16, 2014
- Going With the Flow: Google's Secret Switch to the Next Wave of Networking, Wired, April 17, 2012, by Steven Levy
- Performance Characteristics of Virtual Switching, IEEE, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart and Georg Carle