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, LinuxKVM, Proxmox VE and VirtualBox гіпервізори, також є порт для Hyper-V .[11] Open vSwitch також було інтегровано в різні програмні платформи хмарних обчислень та системи управління віртуалізацією включаючи такі як OpenStack, openQRM, OpenNebula та oVirt.[5][6]
Основна частина Open vSwitch вихідного коду написана на платформо-незалежній мові C, яка забезпечує легке портування на різні середовища. Вихідний код розповсюджується під Apache License 2.0.[5]
Особливості
Станом на вересень 2015 Open vSwitch забезпечує наступні можливості:[17][18]
Підтримка протоколу 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 для нових програмних та апаратних платформ