网络虚拟化基础协议·Geneve
【分层】
要实现网络虚拟化,最基础的技术肯定是分层(OverLay & UnderLay)。
·UnderLay
中文释义中,老房子漏雨,在房子里面撑一把大雨伞,这把大雨伞就是UnderLay。
UnderLay指的是物理网络,它由物理设备和物理链路组成。常见的物理设备有交换机,路由器,防火墙,负载均衡,入侵系统,行为管理等,这些设备通过特定的链路连接起来形成了一个传统的物理网络,我们称之为UnderLay网络。
·OverLay
中文释义中,老房子漏雨,在屋顶加盖一层挡雨,加盖的这层就叫OverLay。
OverLay的发展,得益于云计算的快速推广,云计算的产生,使得VXLAN得到了普及。
VXLAN是SDN的核心技术。
OverLay其实就是一种隧道技术,VXLAN,NVGRE以及STT是典型的三种隧道技术,它们都是通过隧道技术实现大二层网络。
将原生态的二层数据帧报文进行封装后通过隧道进行传输。通过OverLay技术,我们在对现有物理网络不做任何改造的情况下,通过隧道技术在现有的物理网络上创建了一个或者多个逻辑网络(即虚拟网络),实现了数据中心的自动化和智能化。
与UnderLay网络相比,OverLay实现了控制与转发的分离。
总结一下:
UnderLay是底层网络,负责互联互通。
OverLay是基于隧道实现的,流量需要跑在UnderLay之上。
UnderLay完成三层互通之后,OverLay如何设计,优化就可以独立讨论,因为OverLay无论如何设计都不会对UnderLay造成影响。
【Geneve】
分层介绍完了,我们介绍一下分层手段:
映射:转发时替换报文语义。
封装:把需要的报文加入到数据包中,处理的时候一层层解封装,尽量对设备透明。
现有的很多协议都实现了封装的部分或完整功能,以实现网络隔离或者通过隧道联通不同网络。包括IP-in-IP,Vlan,MPLS,VXLAN,NVGRE,STT等。
由此,一个通用的封装协议标准,需求已经越来越急切。
于是有了Geneve(Generic Network Virtualization Encapsulation)
Geneve的出发点是解决封装时候加入的metadata信息问题(多少位?怎么用?),尝试适应各种虚拟化场景。
和大部分的封装协议类似。实现Geneve一般需要两类设备,隧道终端和传输设备。
前者用于处理封装头终止隧道,后者则不是必须的,一般支持IP转发的设备即可。
Geneve的封装帧从外到里:
|
外层以太头 |
外层IP头 |
外层UDP头 |
Geneve头(变长) |
内层以太头 |
Payload |
外层以太头的FCS |
Geneve支持单播、多播和广播。
【参考】
分层:https://zhuanlan.zhihu.com/p/32486650
Geneve:https://blog.csdn.net/yeasy/article/details/39928153
网络虚拟化基础协议·Geneve的更多相关文章
- 网络虚拟化基础协议之Geneve
网络虚拟化最基础的技术莫过于分层(Overlay.Underlay),要实现分层有两种手段.一个是映射(Mapping),一个是封装(Encapsulation). 映射,主要思路是转发时替换报文语义 ...
- KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)
网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...
- KVM 网络虚拟化基础
网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...
- O009、KVM 网络虚拟化基础
参考https://www.cnblogs.com/CloudMan6/p/5289590.html 网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源, ...
- 网络虚拟化基础一:linux名称空间Namespaces
一 介绍 如果把linux操作系统比作一个大房子,那命名空间指的就是这个房子中的一个个房间,住在每个房间里的人都自以为独享了整个房子的资源,但其实大家仅仅只是在共享的基础之上互相隔离,共享指的是共享全 ...
- OpenStack入门篇(十九)之网络虚拟化基础
1.Linux Bridge的基本概念 假设宿主机有 1 块与外网连接的物理网卡 eth0,上面跑了 1 个虚机 VM1,现在有个问题是: 如何让 VM1 能够访问外网?① 给 VM1 分配一个虚拟网 ...
- Hyper-V 网络虚拟化技术细节
Hyper-V 网络虚拟化技术细节 适用对象:Windows Server 2012 R2 服务器虚拟化能让多个服务器实例在同一台物理主机上同步运行,但各个服务器实例都是相互独立的. 每台虚拟机的运作 ...
- 05、ip划分+网络配置+虚拟化基础+基本路由
-- IP IANA (Internet Assigned Numbers Authority) ,Internet号分配机构.负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义.国际 ...
- 网络编程基础之C/S架构和TCP/IP协议
一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...
随机推荐
- 【转】CefSharp 与 js 相互调用
转自CSDN博客博主ghui,虽然博主说要经过他同意才能转,我只是做笔记用,没做他用,所以请博主理解,在此感谢博主! 一. CefSharp调用 js CefSharp.WinForms.Chromi ...
- 二维码彩色广告招牌的切割制作问题(C#.net下对彩色二维码圆角样式及改进)
原文:二维码彩色广告招牌的切割制作问题(C#.net下对彩色二维码圆角样式及改进) 我们知道,目前二维码还很少用于广告招牌的制作.但随着智能手机越来越普及,互联网等网络的应用也越来越广泛,作为连接物理 ...
- 通通WPF随笔(3)——艺术二维码素材生成器
原文:通通WPF随笔(3)--艺术二维码素材生成器 最近公司让我开发一个条形码的生成控件,花了半天时间搞定觉得不过瘾,什么年代了该用二维码了吧.于是wiki了一下二维码的资料. 比较常见的就是QR码( ...
- 通通玩blend美工(2)——时钟
原文:通通玩blend美工(2)--时钟 谢谢大家对我上一篇Blend的支持:通通玩blend美工(1)——荧光Button 再接再厉再来一篇~~! 这篇是建立在已经看得懂上一篇为基础来写的,有些细节 ...
- WPF之路——实现自定义虚拟容器(实现VirtualizingPanel)
原文:WPF之路--实现自定义虚拟容器(实现VirtualizingPanel) 源码下载地址: http://download.csdn.net/detail/qianshen88/6618033 ...
- 你遗忘的都在这里—iOS常用类型方法笔记
这些都是项目中常用但又常忘的方法,与大家分享一下. 一.NSString 创建字符串. NSString *astring = @"This is a String!"; 创建空 ...
- C#高性能大容量SOCKET并发(四):缓存设计
原文:C#高性能大容量SOCKET并发(四):缓存设计 在编写服务端大并发的应用程序,需要非常注意缓存设计,缓存的设计是一个折衷的结果,需要通过并发测试反复验证.有很多服务程序是在启动时申请足够的内存 ...
- CentOS 如何删除/delete/remove 老的 kernel
package-cleanup --oldkernels --count=1
- c# Lambda扩展
扩展类 public static class LinqExtensions { /// <summary> /// 创建lambda表达式:p=>true /// </sum ...
- Qt 访问网络的 HttpClient(封装QNetworkAccessManager,且有服务端)
Qt 使用 QNetworkAccessManager 访问网络,这里对其进行了简单的封装,访问网络的代码可以简化为: 1 2 3 HttpClient("http://localhost: ...