网络虚拟化基础协议之Geneve

网络虚拟化最基础的技术莫过于分层(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的目标端口默认是IANA分配的6081,并且支持可配置。UDP的校验和必须计算正确,也可配置为0。

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

时间: 2024-11-05 06:13:52

网络虚拟化基础协议之Geneve的相关文章

KVM 网络虚拟化基础

网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 OpenStack 官网上给出的计算节点(可以理解为 KVM 的宿主机)虚拟网络的逻辑图,上面的网络设备很多,层次也很复杂.我第一次看到这张图,也着实被下了一跳. 不过大家也不要怕,万丈高楼从地起,虚拟网络再复杂,也是由一些基础的组件构成的.只要我们将这些基础组件的概念和它们之间的逻辑关系搞清楚了,就能深刻

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

网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 OpenStack 官网上给出的计算节点(可以理解为 KVM 的宿主机)虚拟网络的逻辑图,上面的网络设备很多,层次也很复杂.我第一次看到这张图,也着实被下了一跳. 不过大家也不要怕,万丈高楼从地起,虚拟网络再复杂,也是由一些基础的组件构成的.只要我们将这些基础组件的概念和它们之间的逻辑关系搞清楚了,就能深刻

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

一 为何要学习网络命名空间 名称空间 许多容器和虚拟化技术中都依赖于网络命名空间. 容器虚拟化技术的典型代表如LXC.Docker.Neutron也使用Linux网络命名空间. 当虚拟交换机,例如虚拟交换机,虚拟交换机 Openvswitch,已安装. 一 介绍 从Linux 2.6.24版的内核开始,Linux 就支持6种不同类型的命名空间.它们的出现,使用户创建的进程能够与系统分离得更加彻底,从而不需要使用更多的底层虚拟化技术. CLONE_NEWIPC: 进程间通信(IPC)的命名空间,可

网络虚拟化基础

网络通信 1.二层网络通信 所有的通信主机在同一个LAN(连接在同一个交换机上)中  直接通过各个主机的MAC地址就可进行数据交换 无需IP地址的参与 效率比三层通信高 交换机会自动学习记录每个主机的MAC和对应交换机端口的对应信息 2.三层网络通信 跨网络通信 需要通过封装IP地址和路由器来进行数据包的转发  由于在路由器中需要查询转发路径 数据转发效率比二层通信要低 网络模式 vlan模式 VLAN IEEE 802.1Q 标准定义了 VLAN Header 的格式.它在普通以太网帧结构的

Hyper-V 网络虚拟化技术细节

Hyper-V 网络虚拟化技术细节 适用对象:Windows Server 2012 R2 服务器虚拟化能让多个服务器实例在同一台物理主机上同步运行,但各个服务器实例都是相互独立的. 每台虚拟机的运作本质上就像是只有这一台服务器在该物理计算机上运行. 网络虚拟化也有类似的功能,即多个虚拟网络基础结构在同一个物理网络上运行(可能有重叠的 IP 地址),而且每个虚拟网络基础结构的运作就好像只有这一个虚拟网络在此共享的网络基础结构上运行. 图 1 显示了此关系. 图 1:服务器虚拟化与网络虚拟化对比

05、ip划分+网络配置+虚拟化基础+基本路由

-- IP IANA (Internet Assigned Numbers Authority) ,Internet号分配机构.负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义.国际互联网代理成员管理局(IANA)是在国际互联 网中使用的IP 地址.域名和许多其它参数的管理机构.IP地址.自治系统成员以及许多顶级和二级域 名分配的日常职责由国际互联网注册中心(IR)和地区注册中心承担. IP地址由国际组织统一分配,逐级管理.顶级的管理者是Internet Corporation f

53 kvm及libvirt、使用virsh管理kvm虚拟机、网络虚拟化技术基础、网络名称空间netns用法详解

01 kvm及libvirt [[email protected] ~]# yum install libvirt libvirt-client python-virtinst virt-manager virt-install -y [[email protected] ~]# yum -y install qemu-kvm [[email protected] ~]# systemctl start libvirtd.service #创建桥 [[email protected] ~]# v

Linux程序设计学习笔记----Socket网络编程基础之TCP/IP协议簇

转载请注明出处: ,谢谢! 内容提要 本节主要学习网络通信基础,主要涉及的内容是: TCP/IP协议簇基础:两个模型 IPv4协议基础:IP地址分类与表示,子网掩码等 IP地址转换:点分十进制\二进制 TCP/IP协议簇基础 OSI模型 我们知道计算机网络之中,有各种各样的设备,那么如何实现这些设备的通信呢? 显然是通过标准的通讯协议,但是,整个网络连接的过程相当复杂,包括硬件.软件数据封包与应用程序的互相链接等等,如果想要写一支将联网全部功能都串连在一块的程序,那么当某个小环节出现问题时,整只

网络基础协议随笔

日常的开发中,大家关注的重点基本都在前端的展现.交互和性能上,而这些都算是浏览器上层的一些表现.而对于底层的一些协议关注的相对较少,这里就主要介绍一下这些基础协议. 基础协议有很多,这里主要介绍一下最常见的http.https.tcp/udp协议. 基本概念 协议是多方之间相互商定的一种沟通或统一行动时的一种规则.互联网协议也是一样,规定了不同终端之间通信时数据传输的方式.格式等内容.在七层网络模型中存在着各种不同的协议,其中 http (Hypertext Transfer Protocol)