网络协议学习:通用网络虚拟化封装GENEVE

网络协议学习:通用网络虚拟化封装GENEVEGENEVE GenericNetwo 通用网络虚拟化封装 是一种虚拟化隧道通信技术 定义于 RFC8926 相比于之前类似的技术 GENEVE 的一点重大区别在于 协议的元数据本身是可扩展的 GENEVE 提供了可扩展的 GENEVEheader 让业务更加灵活

背景

GENEVE

GENEVE(Generic Network Virtualization Encapsulation,通用网络虚拟化封装),是一种虚拟化隧道通信技术,定义于RFC 8926
,相比于之前类似的技术,GENEVE的一点重大区别在于:协议的元数据本身是可扩展的。GENEVE提供了可扩展的GENEVE header,让业务更加灵活。

实现

那么,类似的可变长的也可以运用在网络传输中。

报文结构

IPv4的Geneve数据包格式如下:

Outer Ethernet Header Outer IPv4 Header Outer UDP Header Geneve Header Inner Ethernet Header (example payload) Payload Frame Check Sequence
字段 长度(bit) 含义
Version 2 版本号,目前为0
Opt Len 6 表明Variable Length Options的长度,这里的一位代表Variable Length Options的4字节。因为只有6bit,所以Variable Length Options最多是252(63*4)字节。
O 1 表明这是一个OAM包,包含了控制信息,而非数据。Endpoint可以根据这个bit来优先处理这个包。
C 1 表明在Variable Length Options里面,存在一个或者多个Critical的option。当C被置位时,Variable Length Options必须被解析,如果当前Endpoint不支持GENEVE解析,那么应该丢弃数据包。如果C没有被置位,那么Endpoint可以根据Opt Len直接丢弃所有的Variable Length Options。
Reserved 6 保留字段
Protocol Type 16 被封装的协议类型,如0x6558代表以太网
VNI 24 同VxLan的VNI,虚拟网络标识符
Variable Length Options 可变长,长度为Opt Len*4 可扩展的元数据

参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219905.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:37
下一篇 2026年3月17日 下午9:37


相关推荐

  • uip UDPclient模式通信移植,当地port随机

    uip UDPclient模式通信移植,当地port随机

    2021年12月31日
    43
  • MSM8953配置I2C及SPI

    MSM8953配置I2C及SPI此次完成的任务是要使能高通8953平台的i2c和spi,主要做的工作就是在设备树文件中添加节点信息。主要的工作在于对设备树文件的修改,主要修改了msm8953-pinctrl.dtsi和msm8953.dtsi两个文件。msm8953-pinctrl.dtsi是配置MSM8953芯片中的GPIO。在此文件中定义i2c使用哪个gpio。因为引脚复用功能的存在,所以要先配置i2c的引脚复用功能…

    2022年10月18日
    4
  • spring boot框架介绍_Spring框架是什么

    spring boot框架介绍_Spring框架是什么前面的铺垫文章已经连着写了六篇了,主要是介绍了Spring和SpringMVC框架,小伙伴们在学习的过程中大概也发现了这两个框架需要我们手动配置的地方非常多,不过做JavaEE开发的小伙伴们肯定也听说过“约定大于配置”这样一句话,就是说系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置,可是使用Spring或者SpringMVC的话依然有许多这样的东西需要我们进行配置,这样不仅徒增工作量

    2022年8月12日
    12
  • Java程序设计(高级及专题)- 异常机制「建议收藏」

    Java程序设计(高级及专题)- 异常机制「建议收藏」Java程序设计(高级及专题)- 异常机制

    2022年4月22日
    35
  • JTS使用实践

    JTS使用实践文章目录 JTS 使用实践一 前言简介环境二 正文基础说明使用记录 JTS 使用实践一 前言简介 JTSTopologyS JavaTopology 是一个开源的 Java 软件库 它为欧几里得平面线性几何提供了一个对象模型以及一组基本的几何函数 环境开发工具 IntelliJIDEA 1 8locationtec JTS https locationtech github io jts JTS 特性 https locationtech github

    2026年3月16日
    1
  • datagrip 2020 mac 激活码_通用破解码

    datagrip 2020 mac 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号