Open vSwitch: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
fix note duplicate frutto di traduzione automatica non revisionata
m clean up, replaced: |dataaccesso= → |accesso= (17)
 
(8 versioni intermedie di 6 utenti non mostrate)
Riga 1:
{{O|software libero|marzo 2025}}
{{Software
|Logo = Open vSwitch Logo.svg
Riga 11 ⟶ 12:
}}
 
'''Open vSwitch''' ( '''OVS''' ) è un'implementazione open source di un multilayer [[switch virtuale]] distribuito. Lo scopo principale di Open vSwitch è quello di fornire uno stack [[Switch|di switching]] per ambienti di virtualizzazione hardware, supportando al contempo più protocolli e standard utilizzati nelle [[Rete di computer|reti di computer]].<ref name="ibm-developerworks">{{Cita web|autore=M. Tim Jones|url=http://www.ibm.com/developerworks/linux/library/l-virtual-networking/|dataaccessoaccesso=April 9, 2014}}</ref>
 
Il codice sorgente del progetto è distribuito secondo i termini della [[Licenza Apache|licenza Apache 2.0]] .
 
== Panoramica ==
[[File:Distributed_Open_vSwitch_instance.svg|destra|miniatura| Open vSwitch distribuito come uno switch di rete virtuale tra [[server]], distribuito in modo trasparente su più server fisici.<ref name="ibm-developerworks"/>]]
Open vSwitch è un'implementazione software di uno [[Switch|switch di rete]] [[Virtualizzazione|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, [[Interfaccia a riga di comando|CLI]], [[Link aggregation|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 Inc.|VMware]] DVS o [[Cisco Systems|Cisco]] Nexus 1000V.<ref name="openvswitch-home">{{Cita web|url=https://www.openvswitch.org/|sito=openvswitch.org|dataaccessoaccesso=November 24, 2013}}</ref> <ref name="redhat-openvswitch">{{Cita web|autore=Thomas Graf|url=http://blog.zhaw.ch/icclab/files/2013/04/OpenStack-Quantum-SDN-with-Open-vSwitch.pdf|dataaccessoaccesso=April 9, 2014}}</ref> <ref>{{Cita web|autore=Ralf Spenneberg|url=http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch|sito=admin-magazine.com|dataaccessoaccesso=April 2, 2014}}</ref>
 
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 [[Porting|riportato]] su più piattaforme di virtualizzazione, su chipset di switching e su [[Acceleratore (informatica)|acceleratori hardware]] della rete. <ref>{{Cita web|url=http://www.marketwired.com/press-release/tilera-launches-open-virtual-switch-solution-ovs-to-accelerate-nfv-and-sdn-1881746.htm|dataaccessoaccesso=June 22, 2015}}</ref> Open vSwitch è lo switch di rete predefinito nella piattaforma di virtualizzazione [[Xen|XenServer]] dalla sua versione 6.0, <ref>{{Cita web|url=http://support.citrix.com/article/CTX130418|dataaccessoaccesso=January 22, 2015}}</ref> e nella [[Xen|piattaforma Xen Cloud]] tramite il suo stack di strumenti di gestione XAPI. <ref>{{Cita web|url=http://www.xenproject.org/developers/teams/xapi.html|sito=xenproject.org|anno=2013|dataaccessoaccesso=January 22, 2015}}</ref> Supporta inoltre gli hypervisor [[Xen]], [[Linux]] [[Kernel-based Virtual Machine|KVM]], [[Proxmox Virtual Environment|Proxmox VE]] e [[VirtualBox]], mentre è disponibile anche una versione per [[Hyper-V]] . <ref>{{Cita web|autore=Alessandro Pilotti|url=http://www.cloudbase.it/open-vswitch-on-hyper-v/|sito=cloudbase.it|dataaccessoaccesso=June 22, 2015}}</ref> Open vSwitch è stato inoltre integrato in varie piattaforme software [[Cloud computing|di cloud computing]] e sistemi di gestione della virtualizzazione, tra cui [[OpenStack]], openQRM, [[OpenNebula]] e oVirt.<ref name="openvswitch-home"/>
 
L'implementazione [[Linux (kernel)|del kernel Linux]] di Open vSwitch è stata unita alla [[Linux (kernel)|linea principale del kernel]] nella versione 3.3, rilasciata il 18 marzo 2012; <ref>{{Cita web|url=http://kernelnewbies.org/Linux_3.3#head-d587af5a0e432c20cd96f2fe2b82adabba671df9|sito=kernelnewbies.org|dataaccessoaccesso=April 2, 2014}}</ref> <ref name="lwn-469775">{{Cita web|autore=Jonathan Corbet|url=https://lwn.net/Articles/469775/|dataaccessoaccesso=April 2, 2014}}</ref> i pacchetti Linux ufficiali sono disponibili per [[Debian]], [[Fedora (informatica)|Fedora]], [[openSUSE]] e [[Ubuntu]].<ref name="openvswitch-home"/> Dal  Gennaio 2014 sono disponibili anche implementazioni [[FreeBSD]] e [[NetBSD]], con l'implementazione di NetBSD che opera completamente nello [[spazio utente]].<ref>{{Cita web|url=http://www.freshports.org/net/openvswitch/|sito=freshports.org|dataaccessoaccesso=April 2, 2014}}</ref><ref>{{Cita web|autore=Gaetano Catalli|url=http://changeofelia.info.ucl.ac.be/pmwiki/uploads/SummerSchool/Program/poster_001.pdf|sito=ucl.ac.be|dataaccessoaccesso=June 22, 2015}}</ref> <ref>
{{Cita web|url=https://github.com/openvswitch/ovs/blob/master/INSTALL.NetBSD|sito=github.com|dataaccessoaccesso=April 9, 2014}}</ref>
 
La maggior parte del codice sorgente di Open vSwitch è scritto in [[C (linguaggio di programmazione)|linguaggio C]] indipendente dalla piattaforma, che garantisce una facile [[Porting|portabilità]] in vari ambienti. Il codice sorgente è concesso in licenza con la licenza Apache 2.0.<ref name="openvswitch-home"/>
 
== Caratteristiche ==
Da Settembre 2015, le caratteristiche offerte da Open vSwitch includono le seguenti:<ref>{{Cita web|url=http://openvswitch.org/features/|sito=openvswitch.org|dataaccessoaccesso=September 17, 2015}}</ref><ref>{{Cita web|autore=Jesse Gross|url=http://events.linuxfoundation.org/sites/events/files/slides/OVS-LinuxCon%202013.pdf|sito=linuxfoundation.org|dataaccessoaccesso=November 24, 2013}}</ref>
 
* 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)
* [[Link aggregation|Aggregazione di link]] tramite il [[Link aggregation|protocollo di controllo dell'aggregazione di link]] (LACP, [[Link aggregation|IEEE 802.1AX]] -2008)
* Modello [[VLAN|LAN virtuale]] (VLAN) [[IEEE 802.1Q|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 [[Internet Group Management Protocol|Group Management Protocol]] (IGMP)
* Supporto per il [[IEEE 802.1aq|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 [[Spanning tree (networking)|protocollo Spanning Tree]] (STP, [[IEEE 802.1D]] -1998) e [[Spanning tree (networking)|il protocollo Rapid Spanning Tree]] (RSTP, IEEE 802.1D-2004)
* Controllo granulare [[Qualità del servizio|della qualità del servizio]] (QoS) per diverse applicazioni, utenti o flussi di dati
* Supporto per l' [[Scheduler di rete|ordinamento della coda]] della curva di servizio equo gerarchica (HFSC) (qdisc)
* Controllo del traffico a livello di interfaccia della macchina virtuale
* [[Link aggregation|Bonding]] [[Scheda di rete|del controller di interfaccia di rete]] (NIC), con bilanciamento del carico tramite [[Indirizzo MAC|indirizzi MAC]] sorgente, backup attivi e [[Funzione di hash|hashing]] [[Livello di trasporto|di livello 4]]
Riga 44 ⟶ 45:
* Supporto per più [[Protocollo di tunneling|protocolli di tunneling]], tra cui GRE, Virtual Extensible LAN (VXLAN), Stateless Transport Tunneling (STT) e Geneve, con supporto aggiuntivo per la stratificazione su [[IPsec|Internet Protocol Security]] (IPsec)
* Protocollo di configurazione remota, con [[Binding|associazioni]] esistenti per i linguaggi di programmazione [[C (linguaggio di programmazione)|C]] e [[Python]]
* Implementazione del motore di inoltro dei pacchetti nello [[Spazio utente|spazio kernel]] o [[Spazio utente|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 [[Thread (informatica)|multithread]] nello spazio kernel e nello spazio utente <ref>{{Cita web|url=http://networkheresy.com/2014/11/13/accelerating-open-vswitch-to-ludicrous-speed/|sito=networkheresy.com|dataaccessoaccesso=May 26, 2015}}</ref> <ref>{{Cita web|autore=Jesse Gross|url=https://events.static.linuxfound.org/sites/events/files/slides/Evolution%20of%20OVS.pdf|sito=events.linuxfoundation.org|dataaccessoaccesso=May 28, 2015}}</ref>
* 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
Riga 54 ⟶ 55:
* [[Switch|LAN switching]]
* [[Network functions virtualization|Virtualizzazione delle funzioni di rete]] (NFV)
* [[Software-defined networking|Reti]] [[:en:Software-defined_networking|Software-defined networking]] (SDN)
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==