zoukankan      html  css  js  c++  java
  • 网络虚拟化基础协议·Geneve

    【分层】

    要实现网络虚拟化,最基础的技术肯定是分层(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

      

  • 相关阅读:
    php 信号量
    .net 反射初体验
    IEnumerable,IQueryable之前世今生
    [SQL]511+512+534+550+569
    [SQL]183+184+185+196+197
    [SQL]3.26--175+176+177+178+180+181+182
    [剑指offer]10.斐波那契数列+青蛙跳台阶问题
    [剑指offer]14-1.剪绳子
    [剑指offer]62.圆圈中最后剩下的数字
    [剑指offer]52.两个链表的第一个公共节点
  • 原文地址:https://www.cnblogs.com/liufarui/p/11170274.html
Copyright © 2011-2022 走看看