openstack 中ovs-vlan 转换
openstack 中ovs-vlan 转换
我们生产中得openstack ,使用得网络时linux brige 与openvswitch 网络组合而成,我们走得数据网络使用得网络时ovs 网络
openstack 中得网络neutron 创建得网络或者neutron 管理得网络我们一般称为: 租户网络
一般neutron 创建出来得network 如果不手动指定vlan得话,我们创建出来的网络会在租户网络池自己划分一个可用得vlan 段。
我们在环境的中通过neutron 创建一个网络。创建完网络后我们可以在ovs 下的br-int 下回发现多出来一个port 口
我们创建好的neutron 网络,都会在br-int 出去。那我们创建好的neutron 网络在br-int 的口是否可以进行同信的那?
默认的话,我们br-int 下的port 口都会有tag 标记,这个tag 就是为了隔离我们在br-int 下的port 口的
注意: Open vSwitch 中的 tag 是内部 VLAN,用于隔离网桥中的 port,与物理网络中的 VLAN 没有关系。
Ovs 如何实现vlan隔离
与 Linux Bridge 不同,Open vSwitch 并不通过 eth1.100, eth1.101 等 VLAN interface 来隔离不同的 VLAN
Ovs 上所有创建好的网络都是挂载在br-int 下的
Ovs 是通过流规则(flow rule)来指定如何对br-int 的数据流做转发,来实现vlan 的隔离
当数据进出br-int ,flow rule 可以修改添加或者是剥离掉数据包的vlan tag, neutron 负责创建这些流规则(flow rule)并且把他们配置到br-int 上
查看flow rule 命令: ovs-ctrl dump-flow 网桥名
Priority 规则的优先级,值越大优先级越高。Ovs会按照优先级从高到低应用规则。
in_port inbound 端口编号,每个 port 在 ovs中会有一个内部的编号(查看prot编号root@cic-1:~# ovs-ofctl show br-int)
dl_vlan 数据包的原始vlan id
在我们的环境的网络br-int 到br-prv 数据流量进行了vlan 的转换如何
Actions 对数据包的操作
NORMAL 此规则的含义是:根据 vlan 和 mac 进行转发。
eg:
查看ovs 下得br-int 下得流规则
ovs-ofctl dump-flows br-int
cookie=0xa975ebb1a678388e, duration=242850.115s, table=0, n_packets=8285, n_bytes=535156, priority=3,in_port="int-br-prv",dl_vlan=3203 actions=mod_vlan_vid:1,NORMAL
(当数据流带有vlan 3229 进入br-int 时会将vlan 3229 转换成tag 2 )
cookie=0xa975ebb1a678388e, duration=242850.082s, table=0, n_packets=8079, n_bytes=517056, priority=3,in_port="int-br-prv",dl_vlan=3229 actions=mod_vlan_vid:2,NORMAL
cookie=0xa975ebb1a678388e, duration=71524.138s, table=0, n_packets=2422, n_bytes=157504, priority=3,in_port="int-br-prv",dl_vlan=3234 actions=mod_vlan_vid:3,NORMAL
cookie=0xa975ebb1a678388e, duration=242934.589s, table=0, n_packets=1279776, n_bytes=75885080, priority=2,in_port="int-br-prv" actions=drop
cookie=0xa975ebb1a678388e, duration=242934.704s, table=0, n_packets=333, n_bytes=28322, priority=0 actions=NORMAL
cookie=0xa975ebb1a678388e, duration=242934.697s, table=23, n_packets=0, n_bytes=0, priority=0 actions=drop
cookie=0xa975ebb1a678388e, duration=242934.690s, table=24, n_packets=0, n_bytes=0, priority=0 actions=drop
查看ovs 网络中br-prv 得流规则
ovs-ofctl dump-flows br-prv
cookie=0xa88ce574b188ab3e, duration=243865.883s, table=0, n_packets=229, n_bytes=18336, priority=4,in_port="phy-br-prv",dl_vlan=1 actions=mod_vlan_vid:3203,NORMAL
cookie=0xa88ce574b188ab3e, duration=243865.849s, table=0, n_packets=31, n_bytes=1358, priority=4,in_port="phy-br-prv",dl_vlan=2 actions=mod_vlan_vid:3229,NORMAL
cookie=0xa88ce574b188ab3e, duration=72539.905s, table=0, n_packets=59, n_bytes=7528, priority=4,in_port="phy-br-prv",dl_vlan=3 actions=mod_vlan_vid:3234,NORMAL
cookie=0xa88ce574b188ab3e, duration=243950.344s, table=0, n_packets=14, n_bytes=1100, priority=2,in_port="phy-br-prv" actions=drop
cookie=0xa88ce574b188ab3e, duration=243950.394s, table=0, n_packets=1303905, n_bytes=77409686, priority=0 actions=NORMAL
检查ovs 网桥 br-int 下得网络下的信息状态
ovs-ofctl show br-int
OFPT_FEATURES_REPLY (xid=0x2): dpid:000036e26a127340
n_tables:254, n_buffers:0
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
1(int-br-prv): addr:e2:dd:6e:09:a9:25
config: 0
state: 0
speed: 0 Mbps now, 0 Mbps max
4(tapab1bac7c-60): addr:00:00:00:00:00:00
config: PORT_DOWN
state: LINK_DOWN
speed: 0 Mbps now, 0 Mbps max
5(tap1ec33f32-c8): addr:00:00:00:00:00:00
config: PORT_DOWN
state: LINK_DOWN
speed: 0 Mbps now, 0 Mbps max
6(tape86c7b63-5f): addr:00:00:00:00:00:00
config: PORT_DOWN
state: LINK_DOWN
speed: 0 Mbps now, 0 Mbps max
LOCAL(br-int): addr:36:e2:6a:12:73:40
config: PORT_DOWN
state: LINK_DOWN
speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
查看neutron 网络,我们网络创建出来随机划分3229 vlan
neutron net-show yb
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| availability_zone_hints | |
| availability_zones | nova |
| created_at | 2019-11-26T04:14:19 |
| description | |
| id | 6bde373e-a26e-4eb2-9407-8964fd0eb041 |
| ipv4_address_scope | |
| ipv6_address_scope | |
| mtu | 1500 |
| name | yb |
| port_security_enabled | True |
| provider:network_type | vlan |
| provider:physical_network | default |
| provider:segmentation_id | 3229 |
| qos_policy_id | |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | 79540426-3d24-4aab-b649-30913a15da22 |
| tags | |
| tenant_id | 04b8cf9ab1c647abb0d9721a3484d799 |
| updated_at | 2019-11-26T04:14:19 |
| vlan_transparent | False |
+---------------------------+--------------------------------------+
openstack 中ovs-vlan 转换相关推荐
- Openstack中OVS SRIOV混杂模式的支持
/Contents 概述 环境 验证前配置工作 OVS场景下混杂模式支持测试 准备 实验步骤 组播报文测试 SRIOV场景下混杂模式支持测试 问题 参考 概述 NFV场景下,为了虚拟网元可以接收到其它 ...
- 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
前面我们已经学习了 OVS 的 local 网络 和 falt 网络,今天开始讨论 vlan 网络. vlan network 是带 tag 的网络. 在 Open vSwitch 实现方式下,不同 ...
- 在 ML2 中配置 Vlan Network- 每天5分钟玩转 OpenStack(93)
上一节我们学习了 Neutron Vlan Network 的原理,今天讨论如何在 ML2 配置中 enable 它. 首先在 /etc/neutron/plugins/ml2/ml2_conf.in ...
- OpenStack网络 - 使用vlan模式来剖析openstack网络相关概念及原理
OpenStack网络 - 使用vlan模式来剖析openstack网络相关概念及原理 OpenStack网络 OpenStack网络设置比较复杂,阅读了一些文档,主要是采用两种网络 flat net ...
- 中resource文件夹的作用_冲突与碰撞:OpenStack中的虚拟机和裸机
冲突与碰撞:OpenStack中的虚拟机和裸机 要虚拟化还是非虚拟化? 如果您追求性能,那么就没有争议--裸机仍然胜过虚拟机:特别是对于I/O密集型应用程序.但是,除非您可以保证充分利用它,否则是有代 ...
- Openstack中给windows虚拟机加载virtion驱动
通过qemu-img将windows虚拟机的vmdk文件转换成qcow2,并将文件上传至openstack中时,发现虚拟机无法启动. 经过分析,原因是openstack默认使用的是virtio驱动,而 ...
- java语言中数值自动转换的优先顺序
转换原则:从低精度向高精度转换byte .short.int.long.float.double.char数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中"悄然" ...
- 目标检测中的数据格式转换工具Roboflow
目标检测中的数据格式转换工具.Roboflow Roboflow提供了您需要的所有工具,将原始图像转换为定制的训练有素的计算机视觉模型,并部署它在您的应用程序中使用. Roboflow支持检测目标和分 ...
- 转换成字符串_汇编语言--将字符串中小写字母转换成大写字母
将字符串中小写字母转换成大写字母 思路: 将键盘上输入的字符读入 调用DOS 10号功能 利用偏移量的性质(类似指针的移动),逐一将字符转换为大写 在转换完的字符串后面 加上 结束符 '$' 利用DO ...
最新文章
- GetLastError编号解释
- hdu 1255(线段树求重叠面积)
- ppt图片丢失_041 职场PPT实战:做好的PPT换个电脑就丢字体?三招解决!
- 修改无效_解决docker部署gitlab时,clone地址无效和修改默认端口
- 聊天系统服务器端类图怎么画,聊天系统服务器端类图
- inotifypropertychanged接受不执行_scp客户端现多个漏洞,可执行恶意脚本
- ASP.NET性能优化之分布式Session
- 二叉树的前中后层遍历
- 计算机组成原理中EMAR是什么,计算机组成原理(罗克露)第3章cpu.ppt
- 【Java力扣算法《代码随想录》04】第4章链表63-69题(leetcode题号203+707+206+24+19+面试题02.07+142)
- 支持ECSHOP 2.73手机客户端
- html盒子移动动画代码,详解盒子端CSS动画性能提升
- 第二篇第一章概述及第二章生产和储存物品的火灾危险性分类 重点在于表格...
- js中正则表达式的应用
- RHCE8学习过程(八)Centos8软件包的管理与安装
- 进制转换(二进制,八进制,十进制)
- SPSS Modeler 中如何利用训练好的模型进行新数据源的预测?
- 研究分析QQ木马的原理
- 现代控制理论——矩阵指数函数的计算方法
- 哈希表原理,Hashtable(Hushmap)原理
热门文章
- 基于TPS(Thin Plate Spines)的STN网络的PyTorch实现
- 一道CF送命题引发的博文
- Silverlight 教程第五部分:用 ListBox 和 DataBinding 显示列表数据 (木野狐译)
- android studio项目改成android.mk编译APP闪退java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
- 神级操作丨用 Python 将微信热文转换成Word文档
- 属性的遍历:for...in 循环
- 【PCB专题】PCB板卡上的UL标识是什么?
- 图片分类-K近邻分类器
- 京东面试官:给我说说你简历上的订单系统是如何设计的?尽量详细点~
- java.lang.RuntimeException: java.lang.NoSuchMethodException: com.xxx.analy