Open vSwitch
Тип | Віртуальний мережевий комутатор |
---|---|
Перший випуск | 29 липня 2009[1] |
Стабільний випуск | 2.5.0[2][3] (27 лютого 2016 ) |
Операційна система | Linux, FreeBSD and NetBSD |
Мова програмування | C |
Стан розробки | Активно розробляється |
Ліцензія | Apache License 2.0 |
Репозиторій | github.com/openvswitch/ovs.git |
Вебсайт | openvswitch.org |
Open vSwitch, інколи позначать як OVS, є виробничо-якісна реалізація розподіленого віртуального багаторівневого комутатора[en] з відкритим кодом. Основною метою Open vSwitch є забезпечення стеку програмних протоколів мережевого комутування для апаратно-віртуалізованих середовищ для підтримки декількох протоколів та стандартів, які використовуються в комп'ютерних мережах.[4]
Open vSwitch — це програмна реалізація віртуального багаторівневого мережевого комутатора, розробленого для забезпечення ефективної автоматизації мережі за рахунок програмних розширень, в той же час підтримуючи стандартні інтерфейси управління та такі протоколи, як NetFlow, sFlow, SPAN, RSPAN, CLI, LACP and 802.1ag. На додаток, Open vSwitch призначений підтримувати прозоре розподілення між декількома фізичними серверами, що забезпечується створенням крос-серверних комутаторів шляхом, який абстрагується від базової архітектури сервера, аналогічно до таких, як розподілений комутатор VMware vNetwork чи Cisco Nexus 1000V.[5][6][7]
Open vSwitch може працювати як програмно-базовий мережевий комутатор, який працює в межах гіпервізора віртуальних машин (VM), так і як контролюючий стек для виділеного комутуючого обладнання; як результат його було портовано на багато платформ віртуалізіції, комутуючих чипсетів, та комутуючих апаратних прискорювачів.[8] Open vSwitch є мережевим комутатором по замовчуванню в платформі віртуалізації XenServer починаючи з версії 6.0,[9] та в Xen Cloud Platform через набір управляючих інструментів XAPI.[10] Він також підтримує Xen, Linux KVM, Proxmox VE and VirtualBox гіпервізори, також є порт для Hyper-V .[11] Open vSwitch також було інтегровано в різні програмні платформи хмарних обчислень та системи управління віртуалізацією включаючи такі як OpenStack, openQRM, OpenNebula та oVirt.[5][6]
Реалізація Open vSwitch для Linux була додана в Linux ядро у версії 3.3, яке вийшло 18 березня, 2012;[12][13] офіційно Linux пакети доступні для Debian, Fedora та Ubuntu.[5] Станом на січень 2014, FreeBSD та NetBSD реалізації також доступні, включаючи NetBSD реалізацію, яка повністю працює в просторі користувача.[14][15][16]
Основна частина Open vSwitch вихідного коду написана на платформо-незалежній мові C, яка забезпечує легке портування на різні середовища. Вихідний код розповсюджується під Apache License 2.0.[5]
Станом на вересень 2015 Open vSwitch забезпечує наступні можливості:[17][18]
- Відкритий зв'язок між віртуальними машинами через NetFlow, sFlow, IP Flow Information Export[en] (IPFIX), Switched Port Analyzer[en] (SPAN), Remote Switched Port Analyzer[en] (RSPAN), та порти зеркал[en], які тунелюються використовуючи Generic Routing Encapsulation (GRE)
- Агрегація каналів через Link Aggregation Control Protocol (LACP, IEEE 802.1AX-2008)
- Стандартна 802.1Q virtual LAN (VLAN) модель для розділення мережі з підтримкою trunking[en]
- Підтримка multicast snooping[en] використовуючи Internet Group Management Protocol (IGMP) версії 1, 2 та 3
- Підтримка Shortest Path Bridging Media Access Control (SPBM) та асоціативна базова підтримка Link Layer Discovery Protocol (LLDP)
- Підтримка моніторинг каналу за допомогою Bidirectional Forwarding Detection (BFD) та 802.1ag
- Підтримка Spanning Tree Protocol (STP, IEEE 802.1D-1998) та Rapid Spanning Tree Protocol (RSTP, IEEE 802.1D-2004)
- Дрібно-зернистий контроль якості обслуговування (QoS) для різних додатків, користувачів чи потоків даних
- Підтримка дисципліни черг (qdisc) ієрархічної кривої справедливих сервісів[en] (HFSC)
- Traffic policing[en] на рівні інтерфейсу віртуальної машини
- Обє'днання (bonding) контроллерів мережевого інтерфейсу (NIC) з балансуванням за MAC-адресою, активним резервуванням[19], та хешуванням транспортного рівня
- Підтримка протоколу OpenFlow, включаючи різні відносно-віртуалізовані розширення
- Повна підтримка IPv6 (Internet Protocol version 6)
- Підтримка багатьох тунельних протоколів, включаючи GRE, Virtual Extensible LAN (VXLAN), Stateless Transport Tunneling (STT) та Geneve, з додатковою підтримкою нашарування через Internet Protocol Security (IPsec)
- Протоколи віддаленого налаштування з наявними прив'язками для мов програмування C та Python
- Впровадження рушія пересилки пакетів в просторі ядра[en] чи користувача[en] ,який забезпечує додаткову гнучкість та забезпечує покращення продуктивності обробляючи більшість пересилаючих пакетів без залишання простору ядра та користуючись багатопотоковістю простору ядра та компонентів простору користувача[20][21]
- Багатотабличний процес пересилання з допомогою двигуна кешування потоків
- Абстракція рівня пересилання, яка робить легшим портування Open vSwitch для нових програмних та апаратних платформ
- Distributed Overlay Virtual Ethernet[en] (DOVE)
- Мережевий комутатор
- Віртуалізація функцій мережі
- Overlay transport virtualization[en] (OTV)
- Програмно-конфігурована мережа (SDN)
- ↑ A complete list of Open vSwitch releases. openvswitch.org. Архів оригіналу за 10 листопада 2017. Процитовано 2014-04-02.mdy.2024.
- ↑ Justin Pettit (2016-02-27.mdy.2024). [ovs-announce] Open vSwitch 2.5.0 Available. openvswitch.org. Архів оригіналу за 24 жовтня 2016. Процитовано 2016-03-11.mdy.2024.
- ↑ NEWS file for Open vSwitch 2.5.0. openvswitch.org. 2016-02-26.mdy.2024. Архів оригіналу за 24 жовтня 2016. Процитовано 2016-03-11.mdy.2024.
- ↑ а б M. Tim Jones (October 27, 2010).
- ↑ а б в г "Open vSwitch: An Open Virtual Switch" [Архівовано 1 лютого 2010 у Wayback Machine.]. openvswitch.org.
- ↑ а б Thomas Graf (April 24, 2013).
- ↑ Ralf Spenneberg.
- ↑ "Tilera Launches Open Virtual Switch Solution (OVS) to Accelerate NFV and SDN" [Архівовано 4 березня 2016 у Wayback Machine.].
- ↑ "XenServer 6.0 Release Notes" [Архівовано 8 березня 2021 у Wayback Machine.].
- ↑ "XAPI: Open source software to build private and public clouds" [Архівовано 23 жовтня 2015 у Wayback Machine.]. xenproject.org. 2013.
- ↑ Alessandro Pilotti (May 22, 2014).
- ↑ "Linux kernel 3.3, Section 1.3. [Архівовано 27 вересня 2013 у Wayback Machine.]
- ↑ Jonathan Corbet (November 30, 2011).
- ↑ "FreshPorts – net/openvswitch" [Архівовано 24 вересня 2015 у Wayback Machine.]. freshports.org.
- ↑ Gaetano Catalli (November 7, 2011).
- ↑ "openvswitch/ovs: ovs/INSTALL. [Архівовано 9 квітня 2014 у Archive.is]
- ↑ "Open vSwitch: Features" [Архівовано 31 жовтня 2015 у Wayback Machine.]. openvswitch.org.
- ↑ Jesse Gross (September 2013).
- ↑ https://docs.openvswitch.org/en/latest/topics/bonding/#active-backup-bonding
- ↑ Justin Pettit; Ben Pfaff; Ethan Jackson (November 13, 2014).
- ↑ Jesse Gross (August 21, 2014).
- Official website [Архівовано 1 лютого 2010 у Wayback Machine.] and source code [Архівовано 23 січня 2016 у Wayback Machine.] on GitHub
- Introduction to Open vSwitch [Архівовано 8 березня 2016 у Wayback Machine.] on YouTube, December 15, 2013
- Open vSwitch: Deep Dive The Virtual Switch for OpenStack [Архівовано 9 грудня 2015 у Wayback Machine.] on YouTube, November 8, 2013
- OVN, Bringing Native Virtual Networking to OVS [Архівовано 2 квітня 2015 у Wayback Machine.], 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 [Архівовано 20 жовтня 2015 у Wayback Machine.], PRWeb, April 16, 2014
- Going With the Flow: Google's Secret Switch to the Next Wave of Networking [Архівовано 15 листопада 2015 у Wayback Machine.], Wired, April 17, 2012, by Steven Levy
- Performance Characteristics of Virtual Switching [Архівовано 5 березня 2016 у Wayback Machine.], IEEE, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart and Georg Carle