RHCA cl210 016 流表 overlay
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的更多相关文章
- Neutron 理解 (4): Neutron OVS OpenFlow 流表 和 L2 Population [Netruon OVS OpenFlow tables + L2 Population]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Openvswitch原理与代码分析(6):用户态流表flow table的操作
当内核无法查找到流表项的时候,则会通过upcall来调用用户态ovs-vswtichd中的flow table. 会调用ofproto-dpif-upcall.c中的udpif_upcall_hand ...
- Openvswitch原理与代码分析(5): 内核中的流表flow table操作
当一个数据包到达网卡的时候,首先要经过内核Openvswitch.ko,流表Flow Table在内核中有一份,通过key查找内核中的flow table,即可以得到action,然后执行acti ...
- Open vSwitch流表应用实战
本文参考:Open vSwitch流表应用实战 一个通过改变流表下发而实现的互相通信实验. 实验目的: 掌握Open vSwitch下发流表操作: 掌握添加.删除流表命令以及设备通信的原理. 原理:. ...
- Floodlight中的临时流表
运行Floodlight,在Mininet中新建一个拓扑之后,并未添加相关的流表项,但是主机之间却可以相互通信.执行pingall操作,任意两个主机之间都能通.相当于没有任何路由表的路由器,它是怎么让 ...
- OVS中arp响应的流表的实现
总结: 1.br-int 流表总体是按照Normal 的方式,即常规的交换机的转发方式进行转发.而br-tun 交换机则主要按照流表的方式进行转发. 2.一般情况下,VM发出的ARP请求,会在该VM的 ...
- openflow流表分析(草稿)
OVS bridge 有两种模式:“normal” 和 “flow”.“normal” 模式的 bridge 同普通的 Linux 桥,而 “flow” 模式的 bridge 是根据其流表(flow ...
- [ovs] 编写openflow流表的文档指引
首先,openflow流表都是使用ovs-ofctl命令进行添加的. 1. 看 ovs-ofctl 的man手册 man ovs-ofctl 或者,这个地方也有:http://www.openvswi ...
- OVS流表table之间的跳转
OVS流表table之间的跳转 前言 今天在帮学弟解决问题的时候,遇到一个table0.table1之间的微妙小插曲,引起了注意,后来查了一下资料发现原因了. 问题描述 wpq@wpq:~$ sudo ...
- OVS 精确删除流表
OVS 精确删除流表 前言 今天看了sdnlab小姐姐的mininet教程之后,看到有一个下流表的操作,优先级没能下成功,然后回来实验一下,这个问题是解决了,不过遇到了一个小问题,ovs如何精确删除流 ...
随机推荐
- BGP中next-hop-self 小实验
next-hop-self 在EBGP和IBGP边界使用,对ibgp下一跳邻居使用 配置命令 router bgp 1234 neighbor 2.2.2.2 next-hop-self 使用Next ...
- Flashcat与出行科技企业一起实践多云可观测
当前架构 某出行科技企业从单个公有云往多云转型,依托于国内领先的公有云提供商,采用多云架构,在可用性.弹性.成本.供应商依赖方面,拥有了显著的优势. 相应的,多云架构也给技术团队带来了一定的复杂度和技 ...
- redis数据类型篇
redis数据类型官网资料,https://redis.io/docs/manual/data-types/ 生产环境下的redis实况图 超哥这个redis实例里,db0库有140万个key. 1. ...
- 记录vue和js操作——尽管很快实现了功能,可总感觉到不爽
需求产生的原因是:后端有一些数据是从旧平台直接迁移过来的,新平台需要根据迁移过来的数据,自动生产新的数据格式. 操作符有如下几种,分项.支路和数字配合操作符可以自定义组合,例如 [0000000000 ...
- 支撑阻力指标,庄家成本价是可靠的支撑位(无未来,DLL加密)
本指标依据庄家的成本价设计的,庄家成本价是可靠的支撑位.底层逻辑:庄家是有内幕的, 庄家能在价格低位时抄底,庄家控股时,庄家不会让散户获取低价的筹码,所以当股价到达到支撑位时,会有比较大的反弹.庄家也 ...
- xshell+ssh+网络+加密
使用xshell+ssh用于管理linux服务器,大概是目前最为流行的方式. 这个工具和技术涉及到: 计算机网络 加密解密 虽然不是专门的系统工程师,但还是相对频繁使用这套工具,有时候难免遇到一些不知 ...
- 面试官:告诉我为什么static和transient关键字修饰的变量不能被序列化?
一.写在开头 在上一篇学习序列化的文章中我们提出了这样的一个问题: "如果在我的对象中,有些变量并不想被序列化应该怎么办呢?" 当时给的回答是:不想被序列化的变量我们可以使用tra ...
- Java实现管线拓扑关系连通性分析
管线拓扑关系的连通性分析通常涉及图论(Graph Theory)中的概念,特别是无向图(Undirected Graph)的遍历算法,如深度优先搜索(DFS, Depth-First Search)或 ...
- LLM推理 - Nvidia TensorRT-LLM 与 Triton Inference Server
1. LLM部署-TensorRT-LLM与Triton 随着LLM越来越热门,LLM的推理服务也得到越来越多的关注与探索.在推理框架方面,tensorrt-llm是非常主流的开源框架,在Nvidia ...
- .NET中使用RabbitMQ延时队列和死信队列
RabbitMQ延时队列和死信队列 延时队列和死信队列 延时队列是RabbitMQ中的一种特殊队列,它可以在消息到达队列后延迟一段时间再被消费. 延时队列的实现原理是通过使用消息的过期时间和死信队列来 ...