网络虚拟化最基础的技术莫过于分层(Overlay、Underlay),要实现分层有两种手段。一个是映射(Mapping),一个是封装(Encapsulation)。

映射,主要思路是转发时替换报文语义,怎样替换将须要设备进行查询。
封装,则是把须要的报文语义加入到网包中。处理的时候一层层的解封装就可以,尽量对设备透明。

不少协议都实现了封装的部分或完整功能。包含IP-in-IP、Vlan、MPLS、VXLAN、NVGRE、STT等。这些协议各有各的特点,不少都是为了简单地隔离或者通过隧道连通不同网络。

特别是后面几种。设计理念大同小异,仅仅是实现细节不同。

对通用的封装协议标准的需求已经越来越强烈。于是有了Geneve: Generic Network Virtualization Encapsulation。

Geneve的出发点是解决封装时候加入的metadata信息问题(究竟多少位。该怎么用),尝试适应各种虚拟化场景,Underlay的协议是最通用的IP协议(准确的说是UDP)。

跟大部分的封装协议类似。实现Geneve一般须要两类设备:隧道终端(tunnel endpoints)和传输设备(transit devices)。

前者用来处理封装头终止隧道,后者则是非必需的。一般是支持IP转发的设备。

详细来看Geneve的封装帧,从外到里依次是
外层以太头
外层IP头(V4或V6)
外层UDP头
Geneve头(变长)
内层以太头
Payload
外层以太头的FCS

当中UDP的目标port默认是IANA分配的6081。而且支持可配置。UDP的校验和必须计算正确。也可配置为0。

Geneve支持单播、多播和广播。

转载于:https://www.cnblogs.com/yangykaifa/p/6815794.html

网络虚拟化基础协议之Geneve相关推荐

  1. KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)

    网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...

  2. 网络虚拟化基础一:linux名称空间Namespaces

    一 介绍 如果把linux操作系统比作一个大房子,那命名空间指的就是这个房子中的一个个房间,住在每个房间里的人都自以为独享了整个房子的资源,但其实大家仅仅只是在共享的基础之上互相隔离,共享指的是共享全 ...

  3. 天翼云从业认证(1.6)虚拟化技术基础、服务器虚拟化、存储虚拟化和网络虚拟化技术;

    虚拟化技术基础.服务器虚拟化 常见虚拟化技术:vmware.xen.kvm. 虚拟化技术特征:分区.隔离.封装.相对于硬件独立. 全虚拟化:抽象VM具有完全的物理机特征,操作系统在其上运行,不需要任何 ...

  4. 十种机制保护三大网络基础协议(BGP、NTP和FTP)—Vecloud微云

    除了DNS,还有其他网络基础协议也会变成攻击者的武器,该如何保护呢? 涉及基础互联网协议的攻击见诸报端时,人们的视线往往集中在Web上,HTTP或DNS是绝对的主角.但历史告诉我们,其他协议也会被当做 ...

  5. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  6. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...

    <计算机网络技术基础-第3章网络体系结构与协议.ppt>由会员分享,可在线阅读,更多相关<计算机网络技术基础-第3章网络体系结构与协议.ppt(19页珍藏版)>请在装配图网上搜 ...

  7. 【信管1.3】计算机网络基础(一)网络标准与协议

    计算机网络基础(一)网络标准与协议 问问你身边的运维吧,网络协议这个东西随便说说就是能写一本跟字典一样的书的.不要被吓到了,这是真事.不仅仅是运维,包括网络管理员以及我们这些 Web 开发工程师来说, ...

  8. 【网络】网络的基础知识--TCP/IP协议、IP分组、TCP传输

    1.OSI参考模型: OSI(Open System Interconnect),即开放式系统互联.一般都称为OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型.该体系结构标 ...

  9. Linux网络编程基础1(网络应用程序设计模式,分层模型,协议格式)

    Linux网络编程基础(网络应用程序设计模式,socket编程,inet_pton,inet_ntop,服务端创建连接的过程,客户端创建连接的过程,socket函数封装) 1. 网络应用程序设计模式 ...

最新文章

  1. 【mysql】二级索引----聚簇索引和非聚簇索引-----
  2. windows平台下:scikit-learn安装教程
  3. Android Bundle类,通过bundle实现在两个activity之间的通讯
  4. Win7中的文件关联注册表
  5. Ubuntu 13.10/12.10/12.04 用户如何升级到 Ubuntu 14.04
  6. win8 网络 计算机,win8系统下,如何使电脑成为无线路由器?
  7. linux 多块磁盘挂一个文件夹,Linux单目录挂载多块磁盘
  8. datetimepicker中文不生效_Python reStructuredText 帮助文件中文乱码
  9. 解决bootstrap dropdown 下拉菜单有时候不能显示的问题
  10. Redis数据库,Jedis接口分类(使用)说明
  11. 文字处理技术:页面布局时,有两个方向
  12. SwitchHost无法切换环境
  13. Java冒泡排序详解
  14. 强网杯2022 pwn 赛题解析——yakagame
  15. LC152---乘积最大子数组
  16. 如何在html表格中添加超链接,excel怎么将工作表制作成网页 excel如何加入网页超链接...
  17. 干草堆(寒假每日一题 2)
  18. HTTP和URL详细分析
  19. win10 下 pdfium编译 VS2017
  20. MySQL查询优化和参数优化

热门文章

  1. 对象删除某个属性_充分了解JavaScript中【对象】的概念(二)
  2. 在Python中查找字符串长度
  3. python字符串追加字符_Python字符串追加
  4. Python SQLite教程
  5. mariadb重置自动id_如何更改/重置MySQL或MariaDB根密码
  6. log4j.properties文件示例
  7. 摄影获得最佳图像的十大要诀_十大最佳应用程序性能管理工具
  8. 微信上如何发送GIF动图
  9. 开课吧:Webpack的构建流程是什么?
  10. XSS注入,js脚本注入后台