一、简介
OVS甚至可以说是网络虚拟化里最重要的工业级开源产品,OVS模仿物理交换机设备的工作流程,实现了很多物理交换机当时才支持的许多网络功能。OVN提供了许多原生的虚拟网络功能,提升了OVS的工作效率和性能。
OVN是OpenvSwitch项目组为OpenvSwitch开发SDN控制器,同其他SDN产品相比,OVN对OpenvSwitch 及OpenStack有更好的兼容性和性能。
在2016年的OpenStack Austin 峰会上,OVN项目组有个演讲提到了的OVN存在的意义(目标),原文是
- Production-quality
- Straightforward design
- Scale to 1000s of hypervisors (each with many VMs/containers)
- Improved performance and stability over existing OpenStack OVS plugin
- Become preferred method for OpenStack+OVS integration for the majority of use cases
中文翻译如下:
- 可用于生产环境
- 简洁的设计
- 支持1000台以上的物理机环境(也支持相当数量的虚拟机/容器环境)
- 基于已有的OpenStack OVS 插件 来提升性能和稳定性
- 成为OpenStack+OVS集成场景下的首选方案
二、OVN的实现了哪些功能?拥有哪些特性?
Logical switches:逻辑交换机,用来做二层转发。
L2/L3/L4 ACLs:二到四层的 ACL,可以根据报文的 MAC 地址,IP 地址,端口号来做访问控制。
Logical routers:逻辑路由器,分布式的,用来做三层转发。
Multiple tunnel overlays:支持多种隧道封装技术,有 Geneve,STT 和 VXLAN。
TOR switch or software logical switch gateways:支持使用硬件 TOR switch 或者软件逻辑 switch 当作网关来连接物理网络和虚拟网络。
OVN网关发布的时候,还存在着某些限制:
网关路由器仅可以经由逻辑交换机连接到其他路由器,而DLR已经可以经由一条链路直连路由器。社区正在进行相关工作来解决掉这个限制。
OVN支持多个网关路由器绑定到环境中,这意味着可以逻辑空间执行入站ECMP路由。然而,OVN当前不支持网关路由器之间的出站ECMP。这个特性也同样是OVN未来需要加强的。
三、架构
基于OVN的neutron网络架构如下
总的来说,ovn的出现 既大大精简了openstack neutron侧架构的实现,又提高了网络侧的性能。
[ovs ovn 学习资料]
1、Open Virtual Networking With Docker
http://docs.openvswitch.org/en/latest/howto/docker/
2、Multi-Host Docker network
https://wiredcraft.com/blog/multi-host-docker-network/
3、ovn-namespace
https://github.com/shettyg/ovn-namespace
4、OVN简介PPT
http://openvswitch.org/support/slides/OVN_Barcelona.pdf
5、What is Open Virtual Network (OVN)? How It Works (包含了各种关于网络虚拟化的介绍的连接)
6、Open vSwitch 相关论文
http://openvswitch.org/support/papers/
7、OVN, Bringing Native Virtual Networking to OVS
https://networkheresy.com/category/open-vswitch/
8、基于Open vSwitch的OpenFlow实践
http://www.chenshake.com/based-on-openflow-practices-open-vswitch/
9、ovs源码分析
http://blog.csdn.net/column/details/openvswitch.html
10、ovs orbit
11、introduction to ovn
http://galsagie.github.io/2015/04/20/ovn-1/
12、Russell Bryant的博客
https://blog.russellbryant.net/category/ovs/
13、ovn architecture
http://openvswitch.org/support/dist-docs/ovn-architecture.7.html
14、OVN Logical Flows and ovn-trace
https://blog.russellbryant.net/2016/11/11/ovn-logical-flows-and-ovn-trace/
15、Justin Pettit的个人主页(其中包含了ovs, ovn相关的各种论文,博客和视频)
http://yuba.stanford.edu/~jpettit/
16、ovs 2.5.0源码分析
http://blog.csdn.net/one_clouder/article/category/6359278/1
17、netwoking-ovn - OpenStack Neutron integration with OVN
https://docs.openstack.org/networking-ovn/latest/
18、OVN路由功能详解
https://www.ibm.com/developerworks/cn/cloud/library/1605-ovn-introduction/index.html
19、OVS博客
http://www.cnblogs.com/popsuper1982/p/5848879.html
20、OVSDB RFC
https://datatracker.ietf.org/doc/rfc7047/
21、openstack底层技术-openflow在ovs中的应用
http://www.isjian.com/openstack/openstack-base-openflow-in-openvswitch/