《Overlay网络技术原理分析.docx》由会员分享,可在线阅读,更多相关《Overlay网络技术原理分析.docx(11页珍藏版)》请在第一文库网上搜索。
1、Over1ay网络技术原理分析公益【导读】本文系统梳理了OVer1ay网络技术的基本框架、数据传输原理以及技术标准,分析了OVerIay网络技术流行的根本原因,同时也解读Over1ay技术本身的一些缺陷,有助于读者清晰了解Over1ay网络技术。引言传统历史阶段,数据中心的网络以三层架构(核心、汇聚、接入)为基本标准。在具体落地的过程当中,随着技术的不断发展,不同的厂家有不同的组建方式,有的厂家在核心层增加虚拟化技术,实现物理设备上的核心层和汇聚层的虚拟化分离,使得整体网络架构偏于扁平;有的厂家在汇聚层和接入层增加虚拟化技术,实现物理设备上的汇聚层和接入层的虚拟化分离。但是无论如何改变,都没有
2、改变以太网络传输的基本原则,都是需要靠网络地址、物理地址来进行控制转发。但是随着云计算的发展,数据中心的规模多数朝着规模大、超灵活的需求方向迈进。那么随着而来的虚拟计算跨区域迁移保护的困难,集群网络隔离规模的受限,数据中心整体网络资源的受限等问题。正是在这个历1 .什么是Over1ay网络?1.1 Over1ay网络的基本架构组成Over1ay网络技术是指在传统网络架构之上叠加的虚拟化技术模式。也就是说它是依托于传统网络架构的前提条件下,实现了应用与其虚拟网络的捆绑而忽略底层物理网络的传输模式及技术。要了解OVerIay网络架构体系,首先我们需要知道它的组成架构及元素,要了解这些东西,我们必须
3、从它与传统物理网络架构的差异入手来详细了解,具体如图1I所示:图1.1Over1ay&传统物理网络架构如图11所示,OVerIay网络架构是依托于底层物理网络层建立的一层虚拟化网络,也就是说我们把传统的物理网络经过部分调整之后,通过逻辑抽象的方式建立了一套虚拟的传输通道。那么大家可能有一个问题:“在这张虚拟网络当中,我们如何完成数据传输?”既然建立了虚拟网络通道,那么应用传输的数据报文就必须是以虚拟网络可以识别的数据报文为基础进行数据报文的发送和传输,同时必须遵照虚拟网络当中的通道控制标准来传输。但是报文的物理传输过程我们又不得不依靠传统物理网络来实现,这样的话就涉及到报文的封装和解封、逻辑通
4、道的维护、数据的逻辑转发和物理转发等问题。这就涉及到OVer1ay网络的三类核心元素:1边缘设备:与虚拟网络直接关联的网络设备,数据报文的封装/解封场所,同时它也是形成虚拟网络的物理节点,如图中所示的物理交换机(必须是支持OVerIay协议的交换机)2 .控制平面:框架当中的虚拟实体,负责虚拟网络传输当中的服务发现、地址通告和映射、虚拟网络通道建立和维护等,如图中虚拟层当中的控制流。3 .数据平面:框架当中的虚拟实体,主要负责数据报文在虚拟层的转发,如图中虚拟层的数据流。1. 2Over1ay网络传输的基本规则传统网络在数据传输的时候,遵循的基本规则就是网络的七层模型。也就是说数据需要经过源的
5、封包和目的端的解包过程,封包的时候是从应用层信息逐步封装到物理层,解包的时候是从物理层分解到应用层。在物理网络环境当中的基本寻址规则是靠IP地址信息和MAC地址信息来进行路由转发。那么在OVer1ay网络当中,它也是会遵循这一基本规则,但是区别在哪里呢?图12Over1ay&传统物理网络架构以VX1AN为例,我们结合图12来看其基本的传输规则。首先我们来看Over1ay网络的边缘设备ABC三个点,这三个点是支撑OVer1ay虚拟网络的核心设备,我们称之为VTEP。服务器的数据包在经过这些边缘设备的时候,会对数据包进行二次封装,会把发送端VTEP和目的端VTEP的地址或标识信息封装到数据包,然后
6、通过VTEP的控制平面将数据在两个VTEP之间完成传输,然后再目的端的VTEP上将数据包再进行解封,最终发送到目的服务器上。这里大家可能会有几个问题:1如果是13的传输,这么做不是多此一举么?2 .如果是12的传输,源端VTEP如何知道目的MAC、IP对应的VTEP信息?3 .VTEP之间的传输不也得依赖物理网络么?它是如何从源端传递到目的端的?首先,针对第一个问题,如果是13的传输,这么做确实有些多此一举,所以源端VTEP会判断是否是真实的13传输,如果是的话,那么可以抛开VTEP信息,按照传统方式传输。接着,针对第二个问题,所有VTEP节点所辖设备的MAC信息都会在VTEP上有保留,同时其
7、他VTEP上的MAC地址映射信息也会相互同步过来,所以一旦获取数据包中目的地址信息,VTEP就可以判断目的地属于哪一个VTEP管辖范围,然后就可以通过控制器转发。最后,从一个VTEP到另外VTEP的传输,完全是靠着VTEP本身的IP、MAC地址信息来进行传输。可见,无论是12还是13的传输,均涉及到查表转发、报文的解封装和封装操作。从转发效率和执行性能来看,都只能在物理网络设备(OVerIay边缘设备)上实现,并且传统设备无法支持,必须通过新的硬件形式来实现。1. 3Over1ay网络的技术标准目前在OVerIay技术领域有如下三大技术路线正在讨论:(1) .VX1ANVX1AN是将以太网报文
8、封装在UDP传输层上的一种隧道转发模式。为了使VX1AN充分利用承载网络路由的均衡性,VX1AN通过将原始以太网数据头(MAC、IP、四层端口号等)的HASH值作为UDP的号;采用24比特标识12网络分段标识,称为VN1(VX1ANNetWOrkIdentifier);未知目的、广播、组播等网络流量均被封装为组播转发,物理网络要求支持任意源组播(ASM)。(2) .NVGRENVGRE是借助通用路由封装协议进行报文封装的一种隧道转发模式。它使用GRE头部的低24位作为租户网络标识符(TNI)o为了提供描述带宽利用率粒度的流,传输网络需要使用GRE头,但是这导致NVGRE不能兼容传统负载均衡,这
9、是NVGRE与VX1AN相比最大的区别也是最大的不足。NVGRE不需要依赖泛洪和IP组播进行学习,而是以一种更灵活的方式进行广播,但是这需要依赖硬件。NVGRE支持减小数据包MTU以减小内部虚拟网络数据包大小。(3) .STTSTT是借助TCP对报文封装的一种隧道转发模式,它改造了TCP的传输机制,是一种全新定义的无状态机制,将TCP各字段意义重新定义,无需三次握手建立TCP连接,亦称之为无状态TCPO以太网数据封装在无状态TCP;采用64比特标识12网络分段;通过将原始以太网数据头(MAC、IP、14端口号等)HASH值作为无状态TCP的源端口号进行网络负载均衡。这三种OVerIay技术,共
10、同的技术模式都是将以太网报文进行改造封装承载到逻辑隧道层面进行转发,差异的技术特性在于封装和构造隧道的不同,而底层均是IP转发。VX1AN和STT对于现网设备对流量均衡要求较低,即负载链路负载分担适应性好,一般的网络设备都能对12-14的数据内容参数进行链路聚合或等价路由的流量均衡。而NVGRE则需要网络设备对GRE扩展头感知并对f1owID进行哈希计算,需要硬件支持;以下是三种OVerIay技术标准的具体差异描述。表11Over1ay技术标准对比技术标准支持方式虚拟化方式封装报文链路负载能力VX1ANUDP24bitVNI50Byte12-14HASHNVGREGRE24bitVSI42By
11、teN/ASTT无状态TCP64bitCID5876Byte12-14HASH2. Over1ay网络解决了什么问题?通过以上分析,我们基本认识了OVer1ay网络的基本架构和其基本的传输规则。那么大家一定非常想知道这种技术为什么会在云计算这个大的技术背景之下粉墨登场?它究竟能解决我们这个特定的历史时期下的什么特定问题呢?其实总结起来有三个,都跟大规模的云数据中心应用场景有关系。2.1 Over1ay网络如何解决12的空间局限性虽然很多传统行业仍然在使用物理机部署服务,但是越来越多的计算任务已经跑在虚拟机以及容器上上,Kuberentes目前已经是容器编排领域的事实标准To因为日常的更新维护以
12、及突发的故障,集群中的大规模虚拟机及容器迁移是比较常见的事情。当虚拟机所在的宿主机因为维护或者其他原因宕机时,当前实例就需要迁移到其他的宿主机上,为了保证业务不中断,我们需要保证迁移过程中的IP地址不变,因为OVerIay是在网络层实现12网络,所以多个物理机之间只要网络层可达就能组建虚拟的局域网,虚拟机或者容器迁移后仍然处于同一个二层网络,也就不需要改变IP地址,上千台物理机组成的大集群使得集群内的资源调度变得更加容易,我们可以通过虚拟机迁移来提高资源的利用率、容忍虚拟机的错误并提高节点的可移植性。图2.1OVerIay网络架构下的虚拟机迁移如上图所示,迁移后的虚拟机与其他的虚拟机虽然位于不
13、同的数据中心,但是由于上述两个数据中心之间可以通过IP协议连通,所以迁移后的虚拟机仍然可以通过OVerIay网络与原集群的虚拟机组成12网络,对于应用来讲,它对外发布的地址没有变化,对于虚拟机来讲,它只知道远方的主机与本地的主机是可以组成12互通局域网的,是可以做VMOtion的。但是,真正的数据迁移确在底层经历了传统网络设备的13传输。无论底层做了什么样的传输转换,只要上层协议达到应用要求的迁移条件即可。这样跨地域的12资源迁移就不再成为不可解决的难题了。没有这种技术的支撑,恐怕就算是裸光纤连接也解决不了这个问题,毕竟光纤的距离是受限的。2. 2Over1ay网络如何解决网络规模受限Kube
14、rentes官方支持的最大集群为5000节点,通常每个节点上会有很多容器,所以整个集群的资源规模可以达到几万甚至几十万。当某个容器向集群中发送ARP请求,集群中的全部容器都会收到ARP请求,这时会带来极高的网络负载,传统网络技术是无法容忍这种规模的网络请求。在使用Vx1AN搭建的Over1ay网络中,网络会将发送的数据重新封装成IP数据包,这样网络只需要知道不同VTEP的MAC地址,由此可以将MAC地址表项中的几十万条数据降低到几千条,ARP请求也只会在集群中的VTEP之间扩散,远端的VTEP将数据拆包后也仅会在本地广播,不会影响其他的VTEP,虽然这对于集群中的网络设备仍然有较高的要求,但是
15、已经极大地降低了核心网络设备的压力。另外,在12网络环境下,数据流均需要通过明确的网络寻址以保证准确到达目的地,因此网络设备的MAC地址表,成为决定了云计算环境下虚拟机的规模的上限,并且因为表项并非百分之百的有效性,使得可用的虚机数量进一步降低,特别是对于低成本的接入设备而言,因其表项一般规格较小,限制了整个云计算数据中心的虚拟机数量。使用了OVer1ay技术之后,这个MAC地址表的存储转移到了VTEP设备之上,虽然核心或网关设备的MAC与ARP规格会随着虚拟机增长也面临挑战,但对于此层次设备能力而言,大规格是不可避免的业务支撑要求。减小接入设备规格压力的做法可以是分离网关能力,采用多个网关来
16、分担虚机的终结和承载。2.3Over1ay网络如何解决网络隔离问题大规模的数据中心往往都会对外提供云计算服务,同一个物理集群可能会被拆分成多个小块分配给不同的租户,因为12网络的数据帧可能会进行广播,所以出于安全的考虑这些不同的租户之间需要进行网络隔离,避免租户之间的流量互相影响甚至恶意攻击。当前的主流网络隔离技术为V1AN,在大规模虚拟化环境部署会有两大限制:首先,V1AN数量在标准定义中只有12个比特单位,即可用的数量为4000个左右,这样的数量级对于公有云或大型虚拟化云计算应用而言微不足道。其次,V1AN技术当前为静态配置型技术(只有EVB/VEPA的802.IQbg技术可以在接入层动态部署V1AN,但也主要是在交换机接主机的端口为常规部署,上行口依然为所有V1AN配置通过),这样使得整个数据