OVN – OVN OpenStack(二)

2023-05-16

OpenStack networking-ovn 项目为Neutron提供了一个基于ML2的OVN插件,它使用OVN组件代替了各种Neutron的Python agent,也不再使用 RabbitMQ,而是基于OVN数据库进行通信:使用 OVSDB 协议来把用户的配置写在 Northbound DB 里面,ovn-northd 监听到 Northbound DB 配置发生改变,然后把配置翻译到 Southbound DB 里面,ovn-controller 注意到 Southbound DB 数据的变化,然后更新本地的流表。

OVN 里面报文的处理都是通过 OVS OpenFlow 流表来实现的,而在 Neutron 里面二层报文处理是通过 OVS OpenFlow 流表来实现,三层报文处理是通过 Linux TCP/IP 协议栈来实现。

1.架构

网络节点

计算节点包括一下服务

2.实现原理

2.1安全组

OVN 的 security group 每创建一个 neutron port,只需要把 tap port 连到 OVS bridge(默认是 br-int),不用像现在 Neutron 那样创建那么多 network device,大大减少了跳数。更重要的是,OVN 的 security group 是用到了 OVS 的 conntrack 功能,可以直接根据连接状态进行匹配,而不是匹配报文的字段,提高了流表的查找效率,还可以做有状态的防火墙和 NAT。

OVS 的 conntrack 是用 Linux kernel 的 netfilter 来做的,他调用 netfiler userspace netlink API 把来报文送给 Linux kernel 的 netfiler connection tracker 模块进行处理,这个模块给每个连接维护一个连接状态表,记录这个连接的状态,OVS 获取连接状态,Openflow flow 可以 match 这些连接状态。

2.2OVN L3

Neutron 的三层功能主要有路由,SNAT 和 Floating IP(也叫 DNAT),它是通 Linux kernel 的namespace 来实现的,每个路由器对应一个 namespace,利用 Linux TCP/IP 协议栈来做路由转发。OVN 支持原生的三层功能,不需要借助 Linux TCP/IP stack,用OpenFlow 流表来实现路由查找,ARP 查找,TTL 和 MAC 地址的更改。OVN 的路由也是分布式的,路由器在每个计算节点上都有实例,有了 OVN 之后,不需要 Neutron L3 agent 了 和DVR了。

2.3OVN L2

OVN的L2功能都是基于OpenFlow流表实现的,包括Port Security、Egress ACL、ARP Responder、DHCP、Destiniation Lookup、Ingress ACL等。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OVN – OVN OpenStack(二) 的相关文章

随机推荐

  • 为啥很多网站的用户端都更新了,博客园还是原来的样子呢

    重回博客园发布一些工作中的文章 xff0c 心得 xff0c 发现博客园在界面上还是跟7 8年前没啥区别 xff0c 界面经典好用 xff0c 这是不用质疑的 xff0c 但是发布内容的一些地方 xff0c 好像不像其他网站那么方便了 xf
  • ASP.NET的必须知道的东东(HttpModule,HttpHandler)

    asp net架构 一 asp net请求的处理过程 xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff
  • matlab练习程序(Hilbert图像置乱)

    正好刚写了Hibert生成曲线 xff0c 不如再加一篇应用的程序 关于Hilbert图像置乱 xff0c 我在网上搜的应用领域主要集中在数字水印和图像加密上 xff0c 而这两个领域我都没怎么接触过 大部分的图像置乱都是如下图的置乱1所示
  • 深入C++“准”标准库,Boost你的力量

    最近一年我电话面试了数十位 C 43 43 应聘者 xff0c 惯用的暖场问题是 工作中使用过 STL 的哪些组件 xff1f 使用过 Boost 的哪些组件 xff1f 得到的答案大多集中在 vector map 和 shared ptr
  • Visual Studio 中创建带有向导的项目模板

    对于测试开发来说 xff0c 建立新工程的次数要远远高于专职开发人员 由于每次建立一个测试工程都要例行公事的设置一大堆属性 xff0c 例行公事的写一些同样的代码 xff0c 非常耗时 因此打算通过建立项目模板来达到自己完成的目的 比如 x
  • Linux -- Samba之SWAT(Web服务器和CGI脚本应用程序)

    6 6 2 SWAT xff08 1 xff09 SWAT xff08 Samba Web Administration Tool xff0c Samba Web 管理工具 xff09 是一个小规模的Web服务器和CGI脚本应用程序 可以为
  • 关于openstack里instance的mac地址

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 假设你在虚拟机里面的使用ifconfig看到的它自己的mac地址为A xff0c 然后在其他随便一台机器上ssh连接一下这个虚拟机 xff08 连接它的floating i
  • 关于linux终端表述,Linux 终端tty pty pts描述

    在使用Linux的过程中 xff0c 当我们通过ssh或者telnet等方式连接到服务器之后 xff0c 会有一个相应的终端来对应 而在直接登陆到Linux服务器的时候也有一个对应的终端 也就是说所有登陆到当前Linux服务器的用户都有一个
  • 指定的网络名不再可用的解决方法

    2009 06 04 16 40 自己用的一台服务器总是出现 34 指定的网络名不再可用 34 这个问题 用ip来访问总是不成功 在网上找了许多方法也不行后来终于找到解决方法了 原因是两个服务没有启动 第一个是Computer Brower
  • Ubuntu使用VNC运行基于Docker的桌面系统

    2019独角兽企业重金招聘Python工程师标准 gt gt gt docker ubuntu vnc desktop From Docker Index docker pull dorowu ubuntu desktop lxde vnc
  • vncserver Can't find file /root/.vnc/192.168.1.3:1.pid You'll have to kill the Xvnc process ...

    CentOS 6 5 修改IP后VNC链接失败 xff0c 提示 xff1a The connection was refused by host computer 尝试删除之前的服务时提示以下信息 xff1a Can 39 t find
  • 国内首个网友可以开发应用的开放式网络操作系统

    国内首个面向电脑爱好者的应用开放平台 X在线电脑 xff0c 提供傻瓜化的网络应用程序开发工具 应用梦工厂 xff0c 让不擅长编程的电脑爱好者们 xff0c 也能开发OA ERP等企业应用 xff0c 并且能快速部署到X在线电脑 X在线电
  • linux多级菜单脚本教程,Linux下使用readline库编程实现多级CLI菜单

    一 背景 CLI是一种快速简洁的人机交互方式 xff0c 优秀的CLI 如 mysql vtysh gdb 带给我们非常好的体验 那么CLI都是如何开发出来的 xff1f 二 相关知识 2 1 CLI vs GUI 文章 1 纵观CLI与G
  • 白盒交换机NOS列表(picos/SnapRoute/ONL)

    WIKI NOS xff1a https en wikipedia org wiki Network operating system Examples JUNOS used in routers and switches from Jun
  • powershell

    常用单行命令 目录 查看当前目录的大小 xff0c 并排序输出 du h max depth 61 1 sort nr 自动选择单位 du m max depth 61 1 sort nr 选择M为单位 转载于 https www cnbl
  • 私有云对企业来说有什么好处

    企业是一个受控集团 xff0c 只有良好的管理 决策 xff0c 一个企业才有成功的希望 xff0c 所以管理在企业中占有重要的地位 私有云的使用是一只无形的手 xff0c 它控制着日常工作中的资源和效率 1 企业拥有基础设施 xff0c
  • JavaScript禁用页面刷新

    JavaScript禁用页面刷新代码如下 xff1a 禁用F5刷新 document onkeydown 61 function if event keyCode 61 61 116 event keyCode 61 0 event can
  • java 整除(/) 求余(%) 运算

    1 java 整除 求余 运算 1 求余 System out println 11 2 顾名思义就是11除2的余数 gt 1 System out println 11 2 结果 gt 1 System out println 11 2
  • C# 解决窗体闪烁

    C 解决窗体闪烁 在Windows窗体上造成 闪烁 的窗体上有很多控制 造成这种闪烁的原因有两个 xff1a 1 当控件需要被绘制时 xff0c Windows发送一个控件两个消息 第一个 xff08 WM ERASEBKGND xff09
  • OVN – OVN OpenStack(二)

    OpenStack networking ovn 项目为Neutron提供了一个基于ML2的OVN插件 xff0c 它使用OVN组件代替了各种Neutron的Python agent xff0c 也不再使用 RabbitMQ xff0c 而