虚拟化-ovn入门到精通(一)

一、简介

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 (包含了各种关于网络虚拟化的介绍的连接)

https://www.sdxcentral.com/sdn/network-virtualization/definitions/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

https://ovsorbit.org/

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/