From Bare Metal to Cloud: OpenStack Neutron Introduction — OVN vs OVS

Auto Draft

The previous article discussed the OVN Plug-in architecture in OpenStack, and this article will compare the main differences between using OVN and OVS in OpenStack Neutron.

network topology

The official FAQ's table can clearly illustrate the architectural differences between OVN and OVS.

Project ml2/ovs ml2/networking-ovn
communication between agent/server RabbitMQ message + RPC ovsdb protocol between NorthBound and SouthBound databases
l3HA API HA field in router can be configured during deployment to enable or disable l3HA HA feature automatically enabled when multiple network nodes exist
DVR API distributed configuration that can only be modified by admin no configurable distributed setting; default is distributed
DVR dataplane Uses namespaces, veths, IP routing, IP rules, and iptables on compute nodes Uses OpenFlow rules on compute nodes
East-West traffic Will pass through network nodes under the condition of openvswitch DVR Transmitted directly between compute nodes under all conditions
Metadata Service Metadata service provided via qrouters or dhcp namespaces on network nodes Metadata is provided by ovnmeta-xxxxx-xxxx-namespace on each individual compute node
DHCP Service Provided via qdhcp-xxxxx-xxx namespaces using dnsmasq DHCP provided by ovn-controller and OpenFlow, and is distributed across each compute node
Trunk Ports Trunk ports provided by creating br-trunk-xxx bridges and patch ports Trunk ports established via OpenFlow rules on br-int, and the connected port will be directly attached to br-int

It's evident that OVN has thoroughly considered HA functionality during design and has already built it into the overall architecture. In deployment scenarios, there's no need to separately consider high availability architecture.

performance

We can explore A presentation at OpenStack Summit Bostona brief performance comparison between OVN and OVS.

Looking at VM creation speed from Nova, OVN shows over 70% improvement compared to OVS:

ML2/OVS (seconds) OVN (seconds) Improvement
Average 80.7 23.4 70.9%
95% 163.2 35.3 78.4%
Maximum 211.9 48.7 78.4%
Minimum 18.7 3.8 79.8%

The performance boost in the control plane is quite significant.This articleThere are more related tests.

also has people conducting related research on the dataplaneTestthough the differences aren't very large, the main advantage lies in the high availability brought by the distributed architecture.

Summary

In this article, we've compared OVN and OVS from architectural and real-world performance perspectives. We believe readers will now better understand OVN's advantages, as well as why major OpenStack vendors like Red Hat are currently promoting OVN as the default Neutron plug-in. After reading these several Neutron introduction articles, readers should have a deeper understanding of OpenStack networking. In the next article, we plan to introduce Glance, one of the core components in OpenStack, which may not be immediately obvious but is equally critical.


Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.

Leave a Reply