ovn隧道类型

2023-05-16

本文简单介绍下ovn支持的隧道类型,具体可参考ovn-architecture的Tunnel Encapsulations部分。

报文在跨节点转发时,会被封装在隧道内,同时需要携带足够的信息,到达对端节点时才能正常处理。这些信息包括如下内容:

a. 24位的逻辑数据通道标识符,保存在sbdb的Datapath_Binding的tunnel_key列。
b. 15位的逻辑入端口标识符。id 0保留给ovn内部使用。id 1-32767给逻辑入端口使用。保存在sbdb的Port_Binding表的tunnel_key字段。
c. 16位的逻辑出端口标识符。id 0-32767给逻辑出端口使用,32768-65535给逻辑组播组使用(保存在sbdb的Multicast_Group表的tunnel_key字段)。

ovn支持三种隧道类型: Geneve, STT和vxlan。对于hypervisor之间的连接,最好使用Geneve和STT,因为这两个隧道可以携带上面的三个信息,而vxlan不能全部携带这三个信息,所以功能比较受限。对于hypervisor和网关之间的连接,可以使用这三种隧道。

由于Geneve的灵活性,所以它是ovn中更受欢迎的隧道类型。ovn将逻辑数据通道标识符保存到Gevene的VNI字段,将逻辑入端口和出端口保存在TLV(class为0x0102,type为0x80)中。格式如下

        1       15          16
       +---+------------+-----------+
       |rsv|ingress port|egress port|
       +---+------------+-----------+
         0

如果环境中的网卡不支持对Gevene报文封装解封装的卸载,可以使用STT隧道来达到更高的性能。对于STT封装来说,ovn将需要的三个信息保存到STT的64位的隧道id中,格式如下

           9          15          16         24
       +--------+------------+-----------+--------+
       |reserved|ingress port|egress port|datapath|
       +--------+------------+-----------+--------+
           0

如果在节点之间使用vxlan隧道,由于VNI只有24位,则只能携带逻辑数据通道标识符和出端口标识符,并且支持的id范围会缩小到12位。VNI的24位被划分为如下:

a. 12位的逻辑数据通道标识符。
b. 12位的逻辑出端口标识符。
c. 没有逻辑入端口标识符。

因为vxlan的受限的标识符范围,其功能也会受限,如下

a. 最大网络个数减少为4096。//datapath tunnel_key从24位减少到12位
b. 每个网络最大端口数减少为4096。//逻辑端口 tunnel_key从15位减少到12位。
c. acl不能匹配逻辑入端口。
d. 不支持ovn的interconnection功能。

对于和网关的连接,除了Geneve和STT外,ovn还支持vxlan,因为有些TOR只支持vxlan协议。

也可参考:ovn隧道类型 - 简书 

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

ovn隧道类型 的相关文章

  • ovn metadata (by quqi99)

    作者 xff1a 张华 发表于 xff1a 2022 08 25 版权声明 xff1a 可以任意转载 xff0c 转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 问题 客户描述虚机的metadata功能偶尔有问题 xff0c
  • OVN简介

    三 OVN入门 3 1 OVN简介 Open vSwitch xff08 OVS xff09 是一款开源的 虚拟交换机 xff0c 控制协议方面它不但支持OpenFlow的所有特性而且扩展了部分OpenFlow的功能 xff1b Overl
  • OVN 架构分析

    架构分析Base flow L2 L3 forwardingOVN L2 gateway OVN 是 Open vSwitch 社区在 2015 年 1 月份才宣布的一个子项目 xff0c OVN 使用 Open vSwitch功能提供一个
  • OVN-软件定义网络(一)

    前言 测试环境是用github上开源代码搭建 编译完成后进行如下操作 环境配置 控制节点 创建逻辑交换机 ovn nbctl db 61 unix run openvswitch ovnnb db sock ls add ly ls 在逻辑
  • openstack和ovn架构

  • openstack/ovn环境,虚拟机连接外网设置

    当使用OVN来做为neutron的后端 xff0c 来实现SDN方案时 xff0c 我们也会需要虚拟机连接外网 xff0c 本文记录操作方法 xff1a 环境 xff1a pike版本 xff0c 创建好net1 xff0c 子网subne
  • ovn 架构介绍

    ovn是什么就不多说了 xff0c 网上有很多介绍的文章 这里主要是学习下ovn的架构 xff0c 并通过实践认识一下ovn ovn代码最初是在ovs源码下 xff0c 但是从版本v2 13 0开始 xff0c ovn被移除ovs xff0
  • ovn 通过网关虚拟路由器连接外部网络

    本文实验如何通过ovn的网关逻辑路由器将ovn网络连接到外部网络 前面讲过ovn的逻辑路由器是分布式的 xff0c 这意味着它没有绑定到某个节点上 xff0c 而是存在于所有节点上的 xff0c 同时它是通过每个节点的openflow流表来
  • ovn-northd 源码分析

    ovn northd是ovn中的核心后台进程 xff0c 主要负责将ovn的高层配置转换成供ovn controller后台进程使用的逻辑配置 xff0c 更详细的说就是它将ovn northbound数据库中传统意义上的逻辑网络配置转换成
  • OpenvSwitch 的 Open Virtual Network(OVN)项目

    几天前 xff08 1 月 13 日 xff09 xff0c OpenvSwitch 团队正式宣布了 OVN xff08 Open Virtual Network xff09 项目 xff0c 参考 Open Virtual Network
  • OpenStack Neutron 对接OVN 使用 networking-ovn

    OVN是OVS的控制平面 xff0c 它给 OVS 增加了对虚拟网络的原生支持 xff0c 大大提高了 OVS 在实际应用环境中的性能和规模 使用neutron 配置mechanism drivers 为OVN时 xff0c 会有以下优点
  • 【kubernetes/k8s概念】kube-ovn架构和部署安装

    Kube OVN是一款由灵雀云自主研发的开源企业级云原生Kubernetes容器网络编排系统 xff0c 它通过将OpenStack领域成熟的网络功能平移到Kubernetes xff0c 极大增强了Kubernetes容器网络的安全性 可
  • 【kubernetes/k8s概念】OVN NorthBound DB 及 ovn-nbctl 命令

    OVN 北向数据库 xff08 OVN Northbound DB xff09 是 OVN 和 CMS 之间的接口 xff0c Northbound DB 的数据几乎都是由 CMS 产生的 xff0c ovn northd 监听这个数据库的
  • OVN 简介

    文章目录 OVN 介绍OVN的架构OVN 应用OVN 信息流配置数据状态信息 Chassis 设置逻辑网络 OVN 介绍 Open vSwitch xff08 OVS xff09 是一款开源的 虚拟交换机 xff0c 控制协议方面它不但支持
  • OVN 流表基础 -- 基于 kubeOVN (一)

    文章目录 Kubectl ko 工具分析Nbctl SbctlTrace Ovn 流表MatchActionRegisterTable 介绍Logical Switch DatapathsLogical Router Datapaths K
  • OVN架构原理

    ovn architecture 本文最初整理在我的github上SDN Learning notes 本文翻译自ovs官方手册 xff0c 有删减 OVN架构 OVN xff08 即Open Virtual Network xff09 是
  • OVS和OVN 2.8新功能

    OVS和OVN 2 8新功能 本文最初整理在我的github上SDN Learning notes 本文翻译自ovs官方文档 本文档主要是关于2017年8月底发布的Open vSwitch 2 8中添加的内容 xff0c 重点介绍OVN中的
  • OVN实验----L3互通

    概述 在L2互通基础上 xff0c 完成跨网段互访 物理拓扑 如上一个实验OVN实验 L2互通 逻辑拓扑 按照上个实验OVN实验 L2互通 的操作方式 xff0c 再配置一组容器blue xff0c 网段192 168 2 0 24 配置完
  • OVN实验----NAT

    概述 在L2互通 L3互通实验基础上通过NAT实现访问公网 架构图如下 xff0c 这里两台逻辑路由器LR1和GLR是通过一台逻辑交换机LSjoin互连的 xff0c GLR和物理网络设备通过LSlocal相连 物理拓扑 如上一个实验OVN
  • Testing ovn manually based on LXD (by quqi99)

    作者 张华 发表于 2022 05 27 版权声明 可以任意转载 转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 准备两个LXD容器 lxc list NAME STATE IPV4 IPV6 TYPE SNAPSHOTS

随机推荐

  • SUMO 使用netconvert报错解决办法

    SUMO 使用netconvert报错 问题描述正确解决方法不适用的解决方法 问题描述 刚开始学习使用sumo xff0c 版本是sumo1 8 0 第一次使用netconvert转换地图时出现报错 xff0c 提示没有PROJ Libra
  • IoTDB基础 初识IoTDB 安装及基本使用(个人学习记录)

    官方文档 http iotdb incubator apache org zh UserGuide V0 13 x API Programming Java Native API html 参考博客 时序数据库IoTDB安装及基本使用htt
  • 树莓派+ L298N 控制二相四线步进电机

    树莓派 43 L298N 控制二相四线步进电机 1 步进电机 步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机 在非超载的情况下 xff0c 电机的转速 停止的位置只取决于脉冲信号的频率和脉冲数 xff0c 而不受负载变化的影响
  • VTK移动立方体法处理CT图像建立三维模型

    span class token comment 移动立方体 span span class token macro property span class token directive keyword include span span
  • 使用tcp工具调试socket服务端通信

    背景介绍 xff1a 客户端是用tcp连接调试 xff0c 工具链接 https pan baidu com s 1kfjv1jdS8KJgb7YVSu9Wtw 提取码 z34a 服务端是Java代码写的逻辑 xff0c 用byte 流接收
  • Fast Planner 轨迹规划

    文章目录 0 概览1 关键问题2 相关工作3 F a s t P
  • C++继承和多态学习心得

    继承 定义 xff1a 在已有类的基础上创建新类的过程 一个 B 类继承A类 xff0c 或称从类 A 派生类 B 类 A 称为基类 xff08 父类 xff09 xff0c 类 B 称为派生类 xff08 子类 xff09 语法形式 xf
  • Python学习笔记(六):isalpha()函数的用法

    isalpha 方法 xff1a 判断字符串是否只由字母组成 xff0c 如果字符串中所有字符都是字母则返回True xff0c 否则返回False str1 61 34 python 34 print str1 isalpha True
  • ovn-controller源码分析

    ovn controller是运行在chassis hypervisor上的后台进程 xff0c 向上通过OVSDB协议连接到OVN sourthbound数据库 xff0c 向下通过OVSDB协议连接到ovs数据库 xff0c 并通过op
  • ROS学习笔记(十一) rospy介绍(一)

    rospy介绍 xff08 一 xff09 rospy是Python版本的ROS客户端库 xff0c 提供了Python程序需要的接口 xff08 rospy就是一个Python模块 xff09 xff0c 位于 opt ros kinee
  • ROS学习笔记(十三) TF介绍(一)

    TF介绍 xff08 一 xff09 TF xff1a 机器人不停部位之间的坐标转换 坐标转换包括位置和姿态两方面 xff0c ROS中的tf是一个让用户随时记录多个坐标系的软件包 tf保持缓存的树形结构中的坐标系之间的关系 xff0c 并
  • SLAM基础(三) --图优化

    滤波器的缺点 xff1a EKF SLAM不仅要维护自身的状态 xff0c 还需要维护地图 xff08 特征 xff09 于是必须在内存上做出牺牲 xff0c 比如500个特征 xff0c 每个特征在二维环境中是两个点 xff08 x轴 y
  • 前端JS十种继承方式-图解通俗易懂

    1 学习JS继承一定要拿指针的概念去审视 xff0c 不能死记 2 首先要明白 xff1a 原型 xff08 对象 xff09 xff0c let a 61 new A 会发生构成原型链图 xff0c 类对象的prototype指向他的原型
  • ros发布和订阅图像的压缩——高效图传(适用带宽不足问题)

    ros话题机制默认通过TCP进行传输 因此特别容易堵塞 必须要有compressed的图像 xff0c img raw传输速度非常慢 参考 xff1a https blog csdn net qq 30460905 article deta
  • BLAM源码解析(三)—— 定时器总揽大局

    上一节介绍了激光数据的回调 xff0c 最终被依次推入到容器之中 xff0c 存储在pcl pcld queue 那么激光数据的使用是怎么实现的 xff0c 就是这一节要介绍的内容 回想第一节我们介绍的定时器estimate update
  • BLAM源码解析(四)—— 基于ICP的位姿更新

    第三节我们介绍了定时器的定时回调 xff0c 实现对激光数据的批量循环处理 xff0c 在每一个激光数据的循环当中 xff0c 除了一开始filter 的点云过滤 xff0c 最重要的其实是下面的基于ICP的位姿更新 xff0c 即 if
  • BLAM源码解析(五)—— 回环检测

    上一节介绍了BLAM的帧间匹配和帧图匹配 xff0c 代码简洁明了 本节介绍BLAM的回环检测模块 具体代码块如下 xff1a Check for new loop closures bool new keyframe if HandleL
  • PCL安装报错error: ‘shared_ptr’ does not name a type

    将所有报错的位置的 shared ptr 均更换为 boost shared ptr
  • git clone 太慢了的新方法

    将 git clone https github com BIT MJY label objects 修改为 git clone https github com cnpmjs org BIT MJY label objects 参考 xf
  • ovn隧道类型

    本文简单介绍下ovn支持的隧道类型 xff0c 具体可参考ovn architecture的Tunnel Encapsulations部分 报文在跨节点转发时 xff0c 会被封装在隧道内 xff0c 同时需要携带足够的信息 xff0c 到