Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试

2023-05-16

概述
  Neutron 的桥的连接从Juno开始使用了ovs peer代替veth pair作为默认的网桥连接方式,并宣称有性能方面的提升( commit)。同时在配置文件(/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini )中保留了veth模式的支持配置。
[ovs]use_veth_interconnection=True
       由于一些原因我需要在桥连接接口上做限速, ovs patch peer 本身不存在逻辑网络设备(通过ip link show无法查询),也无法对它进行tc操作。同时OVS本身提供的限速命令也是通过TC做的,这样就导致TC和OVS限速方案都必须采用veth进行。这里进行一组对比试验。
图示说明: 黄色(ins)表示VM,蓝色(br)表示OVS Bridge,绿色(pt)表示ovs port.
                 左侧表示veth的架构,右侧表示peer的架构.
环境创建工具
#create_one_node <namespace_name> <ovs_br> <cider>
Veth Pair Mode
[root@pacemaker-1 net-tools]# ./create_ns_net_env.sh ins_vethA br_vethA "1.1.1.1/24"
[root@pacemaker-1 net-tools]# ./create_ns_net_env.sh ins_vethB br_vethB "1.1.1.2/24"
[root@pacemaker-1 net-tools]# ip link add name pt_vethA type veth peer name pt_vethB
[root@pacemaker-1 net-tools]# ovs-vsctl add-port br_vethA pt_vethA
[root@pacemaker-1 net-tools]# ovs-vsctl add-port br_vethB pt_vethB
[root@pacemaker-1 net-tools]# ip link set pt_vethA up
[root@pacemaker-1 net-tools]# ip link set pt_vethB up
[root@pacemaker-1 net-tools]# ip netns exec ins_vethA netserver
Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
[root@pacemaker-1 net-tools]# ip netns exec ins_vethB netperf -H 1.1.1.1
OVS Patch Peer Mode
[root@pacemaker-1 net-tools]# ./create_ns_net_env.sh ins_peerA br_peerA "2.2.2.1/24"
[root@pacemaker-1 net-tools]# ./create_ns_net_env.sh ins_peerB br_peerB "2.2.2.2/24"
[root@pacemaker-1 net-tools]#ovs-vsctl add-port br_peerA pt_peerA
[root@pacemaker-1 net-tools]#ovs-vsctl add-port br_peerB pt_peerB
[root@pacemaker-1 net-tools]#ovs-vsctl set interface pt_peerA type=patch
[root@pacemaker-1 net-tools]#ovs-vsctl set interface pt_peerB type=patch
[root@pacemaker-1 net-tools]#ovs-vsctl set interface pt_peerA options:peer=pt_peerB
[root@pacemaker-1 net-tools]#ovs-vsctl set interface pt_peerB options:peer=pt_peerA
[root@pacemaker-1 net-tools]# ip netns exec ins_peerA netserver
Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
[root@pacemaker-1 net-tools]# ip netns exec ins_peerB netperf -H 2.2.2.1
结论
经过多次采样结论数据在如下标准内浮动,veth的peer的95%, 暂时准备采用veth方案,方便进行限速,进一步了解peer的限速
veth6650
peer7000
未尽
veth pair 和 ovs patch peer的差距在性能上是一方面,另一点是veth pair会带来更多的网卡软中断。

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

Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试 的相关文章

  • Neutron中的物理网络详解

    Neutron的模型定义 xff0c 关于物理网络 xff08 provider physical network xff09 有三个地方都有所涉及 xff0c 如下表所示 应该说 xff0c 这三处描述仍然不能很好地表达这个物理网络的准确
  • openstack-neutron-OVS agent(持续更新)

    概述 ML2Plugin的主要工作是管理虚拟网络资源 xff0c 保证数据正确无误 xff0c 具体物理设备的设置则由Agent完成 L2Agent通常运行在Hypervisor xff0c 与neutron server通过RPC通信 x
  • ipv6 neutron应用(一)

    一 neutron支持ipv6 xff0c 有2个重要的属性 1 ipv6 ra mode 2 ipv6 address mode 这2个属性都可以设置下面三个值 1 slaac 2 dhcpv6 stateful 3 dhcpv6 sta
  • linux bridge 不工作,linux – Bridge无法正常工作

    我们希望通过eth0和eth1接口在我们的主板上创建桥 mybridge 该板运行 Linux 2 6 34 9 以下是命令 xff1a brctl addbr mybridge ifconfig eth1 0 0 0 0 ifconfig
  • 2021-02-07 SONiC SAI结构2 1D Bridge

    SONiC SAI结构2 1D Bridge 以太网交换流水线结构 SONiC SAI对交换机 路由器的报文处理流程建立了标准化的行为模型 即使不同的交换芯片内部实现报文处理的方式各不相同 xff0c 由于行为模型是报文处理过程的抽象描述
  • Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试

    概述 Neutron 的桥的连接从Juno开始使用了ovs peer代替veth pair作为默认的网桥连接方式 xff0c 并宣称有性能方面的提升 xff08 commit xff09 同时在配置文件 xff08 etc neutron
  • Openstack Neutron 集成 SDN控制器

    Neutron 集成SDN控制器 一 xff0e Neutron的组成元素 Neutron server 可以理解为一个专门用来接收Neutron REST API 调用的服务器 xff0c 然后负责将不同的REST API分发到不同的ne
  • 【kubernetes/k8s概念】CNI plugin bridge源码分析

    什么是bridge bridge是一个虚拟网络设备 xff0c 可以配置IP MAC地址等 xff1b 其次 xff0c bridge是一个虚拟交换机 xff0c 和物理交换机有类似的功能 普通的网络设备只有两端 xff0c 从一端进来的数
  • ovs-vswitchd dbg

    root 64 Standard PC i440FX PIIX 1996 home smoke test gdb fGNU gdb Ubuntu 8 1 1 0ubuntu1 8 1 1 Copyright 2018 Free Softwa
  • VM跨主机通信ovs配置

    如果位于不同物理主机上的两个VM需要通信 xff0c 那么底层的虚拟交换机ovs需要配置tunnel端口 OVS中支持添加隧道 Tunnel 端口 xff0c 常见隧道技术有两种gre或vxlan 隧道技术是在现有的物理网络之上构建一层虚拟
  • Ubuntu18.04 ROS Melodic的cv_bridge指向问题

    由于ROS Melodic自带的是Opencv3 2 0 xff0c 而我自己下载的是opencv3 4 5 xff0c 所以需要将cv bridge的指向改为我自己安装的opencv 全篇很长 xff0c 建议看完后操作 xff0c 不要
  • OVS于DVS

    撰写时间 xff1a 2022 2 28 分布式虚拟交换机 xff08 DVS 注意 xff1a DVS是二层交换机 DVS特点 xff1a 1 集中管理 xff1a 通过统一的Portal页面进行集中管理 xff0c 简化用户配置 2 基
  • OVS+DPDK

    DPDK简介 DPDK是X86平台报文快速处理的库和驱动的集合 xff0c 不是网络协议栈 xff0c 不提供二层 xff0c 三层转发功能 xff0c 不具备防火墙ACL功能 xff0c 但通过DPDK可以轻松的开发出上述功能 DPDK的
  • 集群多机ROS通信中间件:swarm_ros_bridge

    最近写了一个无线网络环境下 xff08 比如WIFI xff09 多机ROS通信的ROS包 swarm ros bridge xff1a https gitee com shu peixuan swarm ros bridge 该项目已被R
  • 介绍java中Pair

    介绍java中Pair 在这篇文章中 xff0c 我们讨论了一个非常有用的编程概念 xff0c 配对 Pair 配对提供了一种方便方式来处理简单的键值关联 xff0c 当我们想从方法返回两个值时特别有用 在核心Java库中可以使用配对 Pa
  • ROS python3使用cv_bridge报错,在melodic中使用python3 cv_bridge

    ROS cv bridge报错 xff1a 在melodic中使用python3 43 cv bridge 问题描述解决方案使用方法2022 7补充 问题描述 ROS与opencv之间的数据类型转换是通过cv bridge这个包来实现的 m
  • C++实现字典数据结构

    本文使用C 构建了一个字典数据结构 未使用STL 实现了一个学生成绩录入系统 进而实现了字典数据对象的如下功能 新建一个字典 检查字典非空 得到字典的数据长度 插入一个数对 按学生姓名删除对应的字典数据 按分数查找所有符合的学生姓名 按姓名
  • ubuntu 下实现 docker+ovs+quagga搭建网络---bgp

    注 本机上现有quagga镜像 ovs虚拟交换机 2 9 1 docker 18 09 7 实现bgp网络搭建 1 sudo ovs vsctl add br br1 增加一个ovs网桥br1 2 sudo docker images 查看
  • 如何编写重用通用 JavaScript 代码的 React Native“本机模块”(桥)?

    原生模块如何回调 JavaScript 内部桥接方法 然后在内部方法中进行处理 例如将数据解析为 JSON 然后引发 React Native 应用程序接收到的事件 对于跨平台桥模块 我想避免重复代码both目标 C 和 Java 如果可能
  • RCTBatchedBridge.m 错误:无效数据消息 - 全部长度必须为:%zd。 React Native,iOS 模拟器

    我在用着react native oauth并在尝试授权时收到此错误 请参见底部的红色图像 我搜索过并只找到这个类似的未回答的问题 https stackoverflow com questions 40905638 error inval

随机推荐

  • power yourself

    1 不要做繁琐的计划 2 远离魔鬼 躲避诱惑 3 保持早睡早起的习惯 4 记录自己的成长轨迹 5 选择性离开网络世界
  • 希望余生尽早开始

    我爱你在暖和的天气感冒 我爱你用一小时来点菜 我爱你皱着眉头看我 好像我是疯子一样 我爱跟你分别后 仍然萦绕不散的余香 我想在睡前和你聊天 我来这 并不是因为我寂寞 也不是因为今天是除夕 是因为发现 如果你想要与某人共度余生 那你就会希望余
  • 又一年--在深圳

    一晃再晃 xff1b 一拖再拖 xff1b 我还是独自一个人奋战 xff0c 在这座繁华都市 严重的错觉就是 xff0c 总以为自己不想加班 xff0c 却发现只有加班的日子才过的充实 xff0c 也许事不知道业余时间该干嘛 这一年 xff
  • Debian下安装配置fcitx

    本人新装Debian7 LXDE桌面 xff0c 下面介绍一下安装配置fcitx的步骤 在此之前 xff0c 需要先保证locale的中文支持 xff1a 1 locale a xff0c 得到若干语言编码组合 xff0c 其中需要有zh
  • ROS: catkin_make/catkin_make_isolated/catkin build/colcon的区别

    1 catkin make catkin make 是第一个构建catkin工作区的脚本 xff0c 因此在许多教程中使用 它有几个缺点 xff08 需要包中的非标准逻辑来声明跨包目标依赖关系 xff09 和限制 xff08 不能处理普通的
  • 关于Segmentation fault (core dumped)几个简单问题

    有的程序可以通过编译 xff0c 但在运行时会出现Segment fault 段错误 这通常都是指针错误引起的 但这不像编译错误一样会提示到文件一行 xff0c 而是没有任何信息 一种办法是用gdb的step 一步一步寻找 但要step一个
  • CUDA C 编程指南

    CUDA C Programming Guide CUDA C 编程指南 导读 田子宸 浙大水硕在读 184 人 赞同了该文章
  • 2014华为校招机试高级题——if语法中的括号判断

    http blog csdn net wy4649 article details 11725073 package com huawei job import java util ArrayList import java util Sc
  • MySQL插入数据时报错Cause: java.sql.SQLException: #HY000

    造成这个错误的原因是数据库中有字段要求不能为空 xff0c 但insert语句中没有提供该字段的数据
  • 操作系统经典书籍推荐

    推荐原则 xff1a 宁缺勿滥 xff0c 决不混进糟粕 好书不一定对所有人都合适 xff0c 但对于它的目标读者群来说 xff0c 一定是好书 选书原则 xff1a 有国外的 xff0c 不看国产的 有原版的 xff0c 不看翻译的 看大
  • 英特尔T265 通过Python API获得位置(姿态)数据

    如果你想在树莓派或者jetson nano等嵌入式设备上使用Python API获得T265的数据 xff0c 需要编译pyrealsense2 jetson nano的安装可以参考这篇文章 xff1a jetson nano 编译pyre
  • 英特尔 t265 保存地图 (Python API)

    保存地图 span class token keyword import span pyrealsense2 span class token keyword as span rs span class token keyword impo
  • 车辆控制知识总结(一):LQR算法

    目录 1 LQR简介 2 现代控制理论基础 2 1 状态空间描述 2 2 线性定常系统的状态空间描述框图 2 3 线性系统连续系统的反馈控制 2 31 全状态反馈控制器 3 LQR设计控制器的方法 3 1 什么是二次型 3 3 连续时间下的
  • VMware安装centos 8无法连接外网处理过程

    使用VMware安装centos 8之后发现火狐无法打开百度 xff0c 另外一台ubuntu的虚拟机却可以上百度 对比之后发现问题如下 unbuntu的网卡信息 xff1a centos 8的网卡信息 xff1a 这里很容易发现unbun
  • input输入框、select下拉框在安卓与ios上的兼容性问题

    一 input输入框 在平常做移动端项目时 xff0c 如果不注意的话 xff0c 在ios系统上经常会出现这种问题 xff0c 点击输入框 xff0c 输入框获取焦点 xff0c 此时 苹果手机页面会自动放大 xff0c 而安卓手机不会出
  • WSL2初体验之使用 docker版 Ubuntu 18.04,VNC远程控制

    一 前言 以前用 Oracle VM VirtualBox xff0c 玩 CentOS 7 xff0c 时不时就卡一些 xff0c 而且还不流畅 我喜欢平滑顺畅完美 xff1b 无意中发现了 windows WSL2发布了 xff0c 感
  • 友善串口调试助手

    友善串口调试助手是一款功能十分强大的串口调试工具 xff0c 该软件能够让用户自定义发送文本 保存数据 识别端口等 xff0c 而且还兼容多种Windows系统win10 win7 xp xff0c 能够支持常用的50 256000bps波
  • Struts Action的execute方法不执行问题

    学习了SpringMVC xff0c 又想去探究一下Struts的奥秘 xff0c 是否和SpringMVC有什么异同之处 xff1f 于是 xff0c 动手编写了一个非常简单的demo程序 xff0c 但是在写的过程中 xff0c 发现页
  • JPress开源框架的安装过程 Maven工程导入MyEclipse并运行

    1 点击Jpress下载链接 https github com JpressProjects jpress 下载源码压缩包 xff0c 解压 2 复制解压后的工程到MyEclipse的工作空间中 3 点击MyEclipse gt File
  • Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试

    概述 Neutron 的桥的连接从Juno开始使用了ovs peer代替veth pair作为默认的网桥连接方式 xff0c 并宣称有性能方面的提升 xff08 commit xff09 同时在配置文件 xff08 etc neutron