Overlay网络是建立在Underlay网络上的逻辑网络

underlay

br-int 之间建立隧道

数据流量还是从eth1出去

只有vlan20 是geneve隧道。只有租户网络有子网,子网需要geneve隧道

拿一个大的物理交换机似乎可以代替所有br-trunk,这是假设

可以创建虚拟网卡,只是在linux内部使用,eth1做出了br-trunk,和很多接口,最后所有的子接口(虚拟网络)从eth1出去

linux内部也可也实现tag

overlay

ovn基本组键



ML2 多二层 L3路由

controller有一个管理网络的Networking Management (api)

数据库节点有

北向数据库 交换机路由,架构 如何实现 (画图)

南向数据库 实现架构 具体实现,方式方法 (汇总) 汇总信息

最终还是conmpute他们来实现操作

计算节点的ovn-controller完成 路由 安全组 交换机等等交互

计算节点也可以查本地的数据信息

网络节点定义网络,添加子网

数据的走向在计算节点解决

创建路由 添加安全组规则

lab networking-protocols setup

ps -ef | grep ovn  可以查看到向北地址

[root@controller0 ~]# export OVN_SB_DB=tcp:172.24.1.50:6642    南向
[root@controller0 ~]# export OVN_NB_DB=tcp:172.24.1.50:6641 北向 [root@controller0 ~]# ovn-nbctl show
switch b2cc3860-13f9-4eeb-b328-10dbc1f1b131 (neutron-d55f6d1e-c29e-4825-8de4-01dd95f8a220) (aka provider-storage)
port feaf640d-9dcb-4b39-9e00-75761e6f6abd
type: localport
addresses: ["fa:16:3e:61:52:31 172.24.3.200"]
port provnet-d55f6d1e-c29e-4825-8de4-01dd95f8a220
type: localnet
tag: 30
addresses: ["unknown"]

创建实例观察南北数据库

openstack server create --flavor default --image rhel7 --nic net-id=finance-network1 --availability-zone nova:compute0.overcloud.example.com finance-server3



每创建一个网络就会有一个虚拟交换机

snat规则可以使你的租户地址192.168转换成172.25

绑定浮动ip后会有nat规则 192转换成172出去,进来可以通过172进来转换成192(ping百度)

192.168.1.2 为dhcp

vswitch可以实现dhcp



虚拟交换机有br-int实现的 dvs分布式虚拟交换机

路由器也是分布式路由



和osp6相反,先去dhcp获取,不用去网络节点,每个主机都有分布式交换机(获取元数据nova-metadata)

[root@compute0 ~]# ovs-vsctl list-ports br-int
ovn-028ad0-0
ovn-85c877-0
ovn-cc9fe3-0
patch-br-int-to-provnet-fc5472ee-98d9-4f6b-9bc9-544ca18aefb3
tap211b5077-96
tapae4065a5-2d
tapb356e2b4-60
tapeec7dd0c-8f
[root@compute0 ~]# virsh list --all
Id Name State
----------------------------------------------------
1 instance-00000005 running

三个ovn隧道,随着节点增多而增多,patch为和br-ex连接的端口

下面就是云主机使用的dhcp,和云主机端口(多了两个没清理掉,无视)

一个节点有一个交换机,

一个交换机可以有多个云主机

但是云主机必须隔离,防止广播

需要vni

实验

同网段192.168.1 compute0 ping compute1

走建立隧道的租户网络172.24.2 (vlan20)

所以抓端口vlan20的包



发的数据包都会带有vni

不同网段得走路由且tag会不同

北向数据库 定义网络架构

南向数据库 实现网络功能 dhcp security router 流表

ovn-nbctl show 查看北向

ovn-sbctl show 查看南向数据库

ovn-sbctl lflow-list 查看流表

这个流表得过滤



可以看到流表里显示了dhcp分配的地址

北向数据库可以看到nat规则 ovs-nbctl show

南向可以过滤出nat在做什么

流表调用了防火墙模块

lsmod | grep conn

nf_conntrack

compute也可以看流表

那是具体实施

[root@compute0 ~]# ovs-ofctl dump-flows br-int

ovn-nbctl acl-list switch id

北向数据库的acl规则

安全组

防火墙

过滤&nat转换

RHCA cl210 016 流表 overlay的更多相关文章

  1. Neutron 理解 (4): Neutron OVS OpenFlow 流表 和 L2 Population [Netruon OVS OpenFlow tables + L2 Population]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  2. Openvswitch原理与代码分析(6):用户态流表flow table的操作

    当内核无法查找到流表项的时候,则会通过upcall来调用用户态ovs-vswtichd中的flow table. 会调用ofproto-dpif-upcall.c中的udpif_upcall_hand ...

  3. Openvswitch原理与代码分析(5): 内核中的流表flow table操作

      当一个数据包到达网卡的时候,首先要经过内核Openvswitch.ko,流表Flow Table在内核中有一份,通过key查找内核中的flow table,即可以得到action,然后执行acti ...

  4. Open vSwitch流表应用实战

    本文参考:Open vSwitch流表应用实战 一个通过改变流表下发而实现的互相通信实验. 实验目的: 掌握Open vSwitch下发流表操作: 掌握添加.删除流表命令以及设备通信的原理. 原理:. ...

  5. Floodlight中的临时流表

    运行Floodlight,在Mininet中新建一个拓扑之后,并未添加相关的流表项,但是主机之间却可以相互通信.执行pingall操作,任意两个主机之间都能通.相当于没有任何路由表的路由器,它是怎么让 ...

  6. OVS中arp响应的流表的实现

    总结: 1.br-int 流表总体是按照Normal 的方式,即常规的交换机的转发方式进行转发.而br-tun 交换机则主要按照流表的方式进行转发. 2.一般情况下,VM发出的ARP请求,会在该VM的 ...

  7. openflow流表分析(草稿)

    OVS bridge 有两种模式:“normal” 和 “flow”.“normal” 模式的 bridge 同普通的 Linux 桥,而 “flow” 模式的 bridge 是根据其流表(flow ...

  8. [ovs] 编写openflow流表的文档指引

    首先,openflow流表都是使用ovs-ofctl命令进行添加的. 1. 看 ovs-ofctl 的man手册 man ovs-ofctl 或者,这个地方也有:http://www.openvswi ...

  9. OVS流表table之间的跳转

    OVS流表table之间的跳转 前言 今天在帮学弟解决问题的时候,遇到一个table0.table1之间的微妙小插曲,引起了注意,后来查了一下资料发现原因了. 问题描述 wpq@wpq:~$ sudo ...

  10. OVS 精确删除流表

    OVS 精确删除流表 前言 今天看了sdnlab小姐姐的mininet教程之后,看到有一个下流表的操作,优先级没能下成功,然后回来实验一下,这个问题是解决了,不过遇到了一个小问题,ovs如何精确删除流 ...

随机推荐

  1. Anaconda安装Python的seaborn库

      本文介绍在Anaconda的环境中,安装Python语言中,常用的一个绘图库seaborn模块的方法.   seaborn模块是基于Matplotlib的数据可视化库,它提供了一种更简单.更漂亮的 ...

  2. k8s——deployment

    创建deployment [root@master deploy]# kubectl create deploy nginx-deploy --image=nginx:1.7.9 deployment ...

  3. Linux网络驱动

    1 简介 1.1 硬件说明 嵌入式网络硬件分为:MAC和PHY.MAC一般时SOC内置,PHY是外部器件. (1)SOC内部没有MAC 如果SOC内部没有网络MAC外设,可使用外置的MAC,一般外置的 ...

  4. vue3 函数式组件

    今天看vue3中文文档 看到函数式组件不太理解上面写的 然后自己写了一下才理解上面的自己记录一下 先在子组件里面写上 <script> // dynameic 组件 import { h ...

  5. gitlab私有仓库搭建

    1.Gitlab介绍 我们了解了git是以个人为中心,但是人人都得数据交互呀..python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库,托管代码的地方,谁都可 ...

  6. C#/.NET/.NET Core拾遗补漏合集(24年6月更新)

    前言 在这个快速发展的技术世界中,时常会有一些重要的知识点.信息或细节被忽略或遗漏.<C#/.NET/.NET Core拾遗补漏>专栏我们将探讨一些可能被忽略或遗漏的重要知识点.信息或细节 ...

  7. Python遥感影像叠加分析:基于一景数据提取另一数据

      本文介绍基于Python中GDAL模块,实现基于一景栅格影像,对另一景栅格影像的像元数值加以叠加提取的方法.   本文期望实现的需求为:现有一景表示6种不同植被类型的.tif格式栅格数据,以及另一 ...

  8. (四)Redis 缓存应用、淘汰机制

    1.缓存应用 一个系统中不同层面数据访问速度不一样,以计算机为例,CPU.内存和磁盘这三层的访问速度从几十 ns 到 100ns,再到几 ms,性能的差异很大,如果每次 CPU 处理数据时都要到磁盘读 ...

  9. WPF/C#:数据绑定到方法

    在WPF Samples中有一个关于数据绑定到方法的Demo,该Demo结构如下: 运行效果如下所示: 来看看是如何实现的. 先来看下MainWindow.xaml中的内容: <Window.R ...

  10. php+sql后台实现从主表迁出至副表(数据超万条)

    上万条甚至上百万数据进行迁出做备份或者进行不妨碍原系统数据的操作,现在很多企业都会用到,目前就需要将上百万条数据进行迁出到副表保存并操作,直接再后台写一个按钮进行操作,既方便操作也不会很慢.毕竟是客户 ...