【分层】

要实现网络虚拟化,最基础的技术肯定是分层(OverLay & UnderLay)。

·UnderLay

中文释义中,老房子漏雨,在房子里面撑一把大雨伞,这把大雨伞就是UnderLay。

UnderLay指的是物理网络,它由物理设备和物理链路组成。常见的物理设备有交换机,路由器,防火墙,负载均衡,入侵系统,行为管理等,这些设备通过特定的链路连接起来形成了一个传统的物理网络,我们称之为UnderLay网络。

·OverLay

中文释义中,老房子漏雨,在屋顶加盖一层挡雨,加盖的这层就叫OverLay。

OverLay的发展,得益于云计算的快速推广,云计算的产生,使得VXLAN得到了普及

VXLAN是SDN的核心技术。

OverLay其实就是一种隧道技术VXLANNVGRE以及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的更多相关文章

  1. 网络虚拟化基础协议之Geneve

    网络虚拟化最基础的技术莫过于分层(Overlay.Underlay),要实现分层有两种手段.一个是映射(Mapping),一个是封装(Encapsulation). 映射,主要思路是转发时替换报文语义 ...

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

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

  3. KVM 网络虚拟化基础

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

  4. O009、KVM 网络虚拟化基础

    参考https://www.cnblogs.com/CloudMan6/p/5289590.html   网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大.   但因为网络是虚拟化中非常重要的资源, ...

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

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

  6. OpenStack入门篇(十九)之网络虚拟化基础

    1.Linux Bridge的基本概念 假设宿主机有 1 块与外网连接的物理网卡 eth0,上面跑了 1 个虚机 VM1,现在有个问题是: 如何让 VM1 能够访问外网?① 给 VM1 分配一个虚拟网 ...

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

    Hyper-V 网络虚拟化技术细节 适用对象:Windows Server 2012 R2 服务器虚拟化能让多个服务器实例在同一台物理主机上同步运行,但各个服务器实例都是相互独立的. 每台虚拟机的运作 ...

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

    -- IP   IANA (Internet Assigned Numbers Authority) ,Internet号分配机构.负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义.国际 ...

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

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

随机推荐

  1. WPF实用指南二:移除窗体的图标

    原文:WPF实用指南二:移除窗体的图标 WPF没有提供任何功能来移除窗体上的icon图标.一般的做法是设置一个空白的图标,如下图1: 这种做法在窗体边框与标题之间仍然会保留一片空白. 比较好的做法是使 ...

  2. 移花接木:借助 IViewLocationExpander 更换 ASP.NET Core View Component 视图路径

    端午节在家将一个 asp.net 项目向 asp.net core 迁移时遇到了一个问题,用 view component 取代 Html.RenderAction 之后,运行时 view compo ...

  3. QT 窗体控件的透明度设置(三种方法)

    整个窗体 当设置QT的窗体(QMainWindow, QDialog)时,直接用 targetForm->setWindowOpacity()   函数即可实现,效果为窗体及窗体内所有控件都透明 ...

  4. 前端开发常用PhotoShop快捷键整理(更新中)

    图片来源 UI提供的psd图 印屏幕:PrScrn SysRq(键盘按键) 浏览器(插件)获取 常用的快捷键: 新建 Ctrl + N 取消选框 Ctrl + D 反选 Ctrl + shift + ...

  5. CSS计数器:counter

    最近的需求,明星字体销售排行榜中,需要对字体的销售情况进行排序. 在早期,只有ol和ul可以对子元素li进行排序:如果不使用这两个标签,就由前台开发去手动填写序号. 当然,在这个需求中,数据不是实时更 ...

  6. LINQ查询表达式---------let子句

    LINQ查询表达式---------let子句 let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它.此范围变量可以再后续的LINQ子句中使用. class P ...

  7. VS2008发布项目“发布失败”,没有提示错误

    VS2008发布项目时发布失败,但是没有提示任何的错误. 解决方法: 组合键”Ctrl+Alt+O”; 根据这个我知道了,是因为我更改了文件名,发布时找不到导致的,然后在资源管理器中找到那一项,删除或 ...

  8. Qt 5.6.0 动态编译(VS2013 x86 target xp openssl icu webkit)

    经历了多次延期后,在3月16号,Qt发布了5.6.0版本(全面支持高DPI无疑是一个亮点),从5.6.0版本开始,Qt直接移除了webkit模块,让webengine作为其替代选择,不过webengi ...

  9. SQL数据库连接池与C#关键字return

    SQL数据库连接池: 先前做的一个Sharepoint项目,在上线后的不久,最近一直出现间歇性访问缓慢问题Sharepoint特性问题,并分析了其数据库服务器,发现所耗内存已经达到了97%. 所以断定 ...

  10. 如何让你的Sublime和Codeblocks支持C++11

    闲来没事看了一下C++11,比起C++0x多了很多新功能,像auto变量,智能指针等,g++4.7以上版本也提供了对C++11的支持,但是,如何在你的编辑器上执行C++11代码呢? 刚开始以为用法和以 ...