Overlay 网络技术SDWAN中核心的技术
来源: 作者:SD-WAN广域网加速_电信国际专线_国际网络专线_深圳光纤专线上网 阅读:次
传统历史阶段,数据中心的网络以三层架构(核心、汇聚、接入)为根本规范。在具体落地的过程当中,跟着技能的不断发展,不同的厂家有不同的组建方法,有的厂家在核心层增加虚拟化技能,完成物理设备上的核心层和汇聚层的虚拟化分离,使得整体网络架构偏于扁平;有的厂家在汇聚层和接入层增加虚拟化技能,完成物理设备上的汇聚层和接入层的虚拟化分离。可是无论怎么改变,都没有改变以太网络传输的根本原则,都是需求靠网络地址、物理地址来进行控制转发。可是跟着云核算的发展,数据中心的规模多数朝着规模大、超灵活的需求方向迈进。那么跟着而来的虚拟核算跨区域搬迁维护的困难,集群网络隔离规模的受限,数据中心整体网络资源的受限等问题。正是在这个历史背景下,以 vxlan为代表的Overlay网络粉墨登场。
1. 什么是Overlay网络?
1.1 Overlay 网络的根本架构组成
Overlay 网络技能是指在传统网络架构之上叠加的虚拟化技能形式 。也就是说它是依托于传统网络架构的前提条件下, 完成了应用与其虚拟网络的捆绑而忽略底层物理网络的传输形式及技能。要了解 Overlay 网络架构体系,首先咱们需求知道它的组成架构及元素,要了解这些东西,咱们必须从它与传统物理网络架构的差异下手来详细了解, 具体如 图 1.1 所示:
图 1.1 Overlay & 传统物理网络架构
如图 1.1所示,Overlay网络架构是依托于底层物理网络层建立的一层虚拟化网络,也就是说咱们把传统的物理网络经过部分调整之后,经过逻辑抽象的方法建立了一套虚拟的传输通道。那么大家可能有一个问题:“在这张虚拟网络当中,咱们怎么完成数据传输?”
既然建立了虚拟网络通道,那么应用传输的数据报文就必须是以虚拟网络能够识别的数据报文为基础进行数据报文的发送和传输,同时必须遵照虚拟网络当中的通道控制规范来传输。可是报文的物理传输过程咱们又不得不依靠传统物理网络来完成,这样的话就涉及到报文的封装和解封、逻辑通道的维护、数据的逻辑转发和物理转发等问题。这就涉及到Overlay 网络的三类核心元素:
边际设备:与虚拟网络直接关联的网络设备,数据报文的封装/解封场所,同时它也是形成虚拟网络的物理节点,如图中所示的物理交换机(必须是支持Overlay协议的交换机)。
控制平面:结构当中的虚拟实体,负责虚拟网络传输当中的服务发现、地址布告和映射、虚拟网络通道建立和维护等,如图中虚拟层当中的控制流。
数据平面:结构当中的虚拟实体,主要负责数据报文在虚拟层的转发,如图中虚拟层的数据流。
1.2 Overlay 网络传输的根本规矩
传统网络在数据传输的时候,遵循的根本规矩就是网络的七层模型。也就是说数据需求经过源的封包和意图端的解包过程,封包的时候是从应用层信息逐步封装到物理层,解包的时候是从物理层分解到应用层。在物理网络环境当中的根本寻址规矩是靠 IP地址信息和MAC地址信息来进行路由转发。那么在Overlay网络当中,它也是会遵循这一根本规矩,可是差异在哪里呢?
图 1. 2 Overlay & 传统物理网络架构
以VXLAN为例,咱们结合图1.2来看其根本的传输规矩。首先咱们来看Overlay网络的边际设备ABC三个点,这三个点是支撑Overlay虚拟网络的核心设备,咱们称之为VTEP。服务器的数据包在经过这些边际设备的时候,会对数据包进行二次封装,会把发送端VTEP和意图端VTEP的地址或标识信息封装到数据包,然后经过VTEP的控制平面将数据在两个VTEP之间完成传输,然后再意图端的VTEP上将数据包再进行解封,最终发送到意图服务器上。这儿大家可能会有几个问题:
如果是L3的传输,这么做不是多此一举么?
如果是L2的传输,源端VTEP怎么知道意图MAC、IP对应的VTEP信息?
VTEP之间的传输不也得依靠物理网络么?它是怎么从源端传递到意图端的?
首先,针对第一个问题,如果是L3的传输,这么做确实有些多此一举,所以源端VTEP会判断是否是真实的L3传输,如果是的话,那么能够抛开VTEP信息,按照传统方法传输。
接着,针对第二个问题,一切VTEP节点所辖设备的MAC信息都会在VTEP上有保留,同时其他VTEP上的MAC地址映射信息也会相互同步过来,所以一旦获取数据包中意图地址信息,VTEP就能够判断意图地属于哪一个VTEP统辖范围,然后就能够经过控制器转发。
最后,从一个VTEP到别的VTEP的传输,完全是靠着VTEP本身的IP、MAC地址信息来进行传输。
可见,无论是L2还是L3的传输,均涉及到查表转发、报文的解封装和封装操作。从转发效率和执行功能来看,都只能在物理网络设备(Overlay边际设备)上完成,并且传统设备无法支持,必须经过新的硬件形式来完成。
1.3 Overlay 网络的技能规范
目前在 Overlay 技能领域有如下三大技能路线正在讨论:
(1).VXLAN
VXLAN是将以太网报文封装在UDP传输层上的一种隧道转发形式。为了使VXLAN充分利用承载网络路由的均衡性,VXLAN经过将原始以太网数据头(MAC、IP、四层端口号等)的HASH值作为UDP的号;采用24比特标识L2网络分段标识,称为VNI(VXLAN Network Identifier);未知意图、广播、组播等网络流量均被封装为组播转发,物理网络要求支持任意源组播(ASM)。
(2)NVGRE
NVGRE是凭借通用路由封装协议进行报文封装的一种隧道转发形式。它运用GRE头部的低24位作为租户网络标识符(TNI)。为了提供描述带宽利用率粒度的流,传输网络需求运用GRE头,可是这导致NVGRE不能兼容传统负载均衡,这是NVGRE与VXLAN比较最大的差异也是最大的不足。NVGRE不需求依靠泛洪和IP组播进行学习,而是以一种更灵活的方法进行广播,可是这需求依靠硬件。NVGRE支持减小数据包MTU以减小内部虚拟网络数据包大小。
(3) STT
STT 是凭借 TCP 对报文封装的一种隧道转发形式 , 它改造了TCP的传输机制,是 一种 全新定义的无状态机制,将TCP各字段意义重新定义,无需三次握手建立TCP连接, 亦 称 之 为无状态TCP 。以太网数据封装在无状态TCP;采用64比特标识 L2 网络分段;经过将原始以太网数据头(MAC、IP、 L4 端口号等)HASH值作为无状态TCP的源端口号 进行网络负载均衡 。
这三种Overlay技能, 共同的技能形式都是将以太网报文进行改造封装承载到逻辑隧道层面进行转发,差异的技能特性在于封装和结构隧道的不同,而底层均是IP转发。VXLAN和STT关于现网设备对流量均衡要求较低,即负载链路负载分担适应性好,一般的网络设备都能对L2-L4的数据内容参数进行链路聚合或等价路由的流量均衡 。而NVGRE则需求网络设备对GRE扩展头感知并对flow ID进行哈希核算 ,需求硬件支持 ;以下是三种 Overlay技能规范的具体差异描述。
2. Overlay 网络解决了什么问题?
经过以上分析,咱们根本认识了 Overlay网络的根本架构和其根本的传输规矩。那么大家一定非常想知道这种技能为什么会在云核算这个大的技能背景之下粉墨登场?它究竟能解决咱们这个特定的历史时期下的什么特定问题呢?其实总结起来有三个,都跟大规模的云数据中心应用场景有关系。
2.1 Overlay 网络怎么解决L2的空间局限性
虽然许多传统行业依然在运用物理机布置服务,可是越来越多的核算使命已经跑在虚拟机以及容器上上,Kuberentes 目前已经是容器编列领域的事实规范了。因为日常的更新维护以及突发的故障,集群中的大规模虚拟机及容器搬迁是比较常见的事情。
当虚拟机所在的宿主机因为维护或者其他原因宕机时,当前实例就需求搬迁到其他的宿主机上,为了保证业务不中止,咱们需求保证搬迁过程中的IP 地址不变,因为 Overlay 是在网络层完成L2网络,所以多个物理机之间只需网络层可达就能组建虚拟的局域网,虚拟机或者容器搬迁后依然处于同一个二层网络,也就不需求改变 IP地址,上千台物理机组成的大集群使得集群内的资源调度变得更加容易,咱们能够经过虚拟机搬迁来提高资源的利用率、容忍虚拟机的错误并提高节点的可移植性。
2 . 1 Overlay 网络架构下的虚拟机搬迁
如上图所示,搬迁后的虚拟机与其他的虚拟机虽然位于不同的数据中心,可是由于上述两个数据中心之间能够经过IP 协议连通,所以搬迁后的虚拟机依然能够经过 Overlay 网络与原集群的虚拟机组成L2网络,关于应用来讲,它对外发布的地址没有变化,关于虚拟机来讲,它只知道远方的主机与本地的主机是能够组成L2互通局域网的,是能够做VMotion的。可是,真正的数据搬迁确在底层经历了传统网络设备的L3传输。无论底层做了什么样的传输转换,只需上层协议达到应用要求的搬迁条件即可。这样跨地域的L2资源搬迁就不再成为不可解决的难题了。没有这种技能的支撑,恐怕就算是裸光纤连接也解决不了这个问题,毕竟光纤的间隔是受限的。
2.2 Overlay 网络怎么解决网络规模受限
Kuberentes 官方支持的最大集群为 5000节点,通常每个节点上会有许多容器,所以整个集群的资源规模能够达到几万甚至几十万。当某个容器向集群中发送 ARP 请求,集群中的悉数容器都会收到ARP请求,这时会带来极高的网络负载,传统网络技能是无法容忍这种规模的网络请求。在运用 VxLAN 搭建的 Overlay 网络中,网络会将发送的数据重新封装成 IP数据包,这样网络只需求知道不同 VTEP 的 MAC 地址,由此能够将 MAC 地址表项中的几十万条数据下降到几千条,ARP 请求也只会在集群中的 VTEP 之间扩散,远端的 VTEP 将数据拆包后也仅会在本地广播,不会影响其他的 VTEP,虽然这关于集群中的网络设备依然有较高的要求,可是已经极大地下降了核心网络设备的压力。
别的, 在 L2 网络环境下,数据流均需求经过明确的网络寻址以保证准确到达意图地,因而网络设备的MAC地址表,成为决定了云核算环境下虚拟机的规模的上限,并且因为表项并非百分之百的有效性,使得可用的虚机数量进一步下降,特别是关于低成本的接入设备而言,因其表项一般规格较小,限制了整个云核算数据中心的虚拟机数量 。运用了 Overlay技能之后,这个MAC地址表的存储转移到了VTEP设备之上, 虽然核心或网关设备的MAC与ARP规格会跟着虚拟机增长也面临应战,但关于此层次设备才能而言,大规格是不可避免的业务支撑要求。减小接入设备规格压力的做法能够是分离网关才能,采用多个网关来分担虚机的终结和承载。
2.3 Overlay 网络怎么解决网络隔离问题
大规模的数据中心往往都会对外提供云核算服务,同一个物理集群可能会被拆分成多个小块分配给不同的租户,因为 L2 网络的数据帧可能会进行广播,所以出于安全的考虑这些不同的租户之间需求进行网络隔离,避免租户之间的流量互相影响甚至恶意攻击。当前的主流网络隔离技能为VLAN,在大规模虚拟化环境布置会有两大限制:
首先, VLAN数量在规范定义中只要12个比特单位,即可用的数量为4000个左右,这样的数量级关于公有云或大型虚拟化云核算应用而言微不足道 。其次, VLAN技能当前为静态配置型技能(只要EVB/VEPA的802.1Qbg技能能够在接入层动态布置VLAN,但也主要是在交换机接主机的端口为常规布置,上行口依然为一切VLAN配置经过),这样使得整个数据中心的网络几乎为一切VLAN被允许经过,导致未知意图广播数据会在整网众多,无节制消耗网络交换才能与带宽。
如果采用了 Overlay网络技能,那么就会避免上述问题,以VXLAN为例:
首先,VxLAN 会运用 24 比特的 VNI 表明虚拟网络个数,总共能够表明 16,777,216 个虚拟网络,远远超过了VLAN的4000个,这个数量足以满足今天云核算数据中心的大规模集群要求。其次,VXLAN在L2传输的时候是在VTEP节点把数据进行封装,使得更多的L2广播在VTEP节点处转化为有意图的L3传输,从而避免了无节制的网络资源消耗。既满足了大规模集群网络隔离问题,同时也提高了这种状况下的网络传输安全性。
3. Overlay 网络技能的缺点
任何事物都不可能是完美的, Overlay技能也是一样 。
咱们从 Overlay技能的原理根本能够判断,Overlay网络与传统网络比较而言,功能可能会是它的问题所在,因为Overlay网络无论是哪一种技能规范,都会经历数据包再次封装和再次解封的问题,这个无疑会给数据传输带来功能上的延时。图3.1是咱们截取到的试验结果:
图 3 . 1 VXLAN 功能比照
上述图中表明的是在 VMware环境当中,默认网络配置下的虚拟机和VXLAN配置下的虚拟机传输指标的比照状况, 从图中试验结果 判断,在VXLAN环境下,无论虚拟机怎么变化,其传输的吞吐量都会低于咱们正常网络配置下的指标。
在咱们的企业IT环境当中,各种类型的应用都会存在,有的对网络功能要求非常高,例如金融行业的交易型数据库集群,不同集群节点之间的数据交互量从数据大小和传输频率等各方面都超乎一般的应用,尤其是锁信息、数据缓存块、心跳信息都是直接影响数据库运行的关键因素。因而咱们在应用VXLAN的时候也需求考虑到它的不足之处,选择适宜的应用场景。
4. 总结展望
经过本文第 1、2节的分析 , 咱们了解到 Overlay网络技能的根本结构、数据传输原理以及根本的技能规范,同时也了解了Overlay网络技能流行的根本原因和必然趋势 。经过第 3节的分析,咱们也了解到Overlay技能本身的一些缺点。那么相信在应用选择的过程当中,大家可能会更准确把握。可是跟着技能的发展以及企业的应用经验丰富,怎么经过改进的方法或者是架构的调整,避免其必然的劣势,发挥其天然的优势是咱们后续需求讨论的问题,也是咱们希望看到的内容。