VXLAN技术在园区网的应用探讨

VXLAN的工作原理,VXLAN对设备功能定位的影响,VXLAN在不同场景下与SDN的融合等等,都需要我们透过表面现象,看到更为深刻的价值内涵。

by: 常笑

随着互联网+、云计算以及大数据相关业务普及,以云计算、虚拟化等技术为基础的规模化运营云数据中心逐渐成为市场主流。虚拟化是云数据中心的关键技术,除了发展较为成熟的服务器虚拟化外,网络虚拟化的需求同样重要。

在新型数据中心建设领域,随着虚拟机数量的不断扩充,数据中心东西向流量、虚拟机的迁移与漂移等问题逐渐暴露出来。传统VLAN技术已经不能满足云数据中心发展需求,在对新型数据中心业务不断融合与提升的过程中, VXLAN技术逐渐受到业界青睐。

同时,数据中心的成功应用为网络设备商树立了极大的信心,业界主流厂商正致力于将VXLAN技术向园区网建设拓展。在从数字校园向智慧校园转型的关键时期,考虑到未来融合网络应用需求,许多高校将网络基础设施建设提上议事日程。因此,不论是厂商还是高校都更加关注园区融合网的建设。

VXLAN技术是否适合园区网建设,VXLAN技术在园区网的应用前景如何,本文将做相关研究与探索,为行业应用提供一点有价值的借鉴。

为更好地阐明问题,本文不再就事论事,而是引入与VXLAN相关或相似的两个概念,VLAN和QinQ。希望在对比的基础上,能够对VXLAN的概念与内涵产生更为深刻的认识。

引入VLAN,这个是比较好理解的,不论是VXLAN还是QinQ,都是建立在传统VLAN基础之上的技术。引入QinQ,则是因为QinQ与VXLAN一样,同属于双层标签嵌套技术。在过去的数年中,QinQ专注于园区网建设,VXLAN专注于数据中心建设,可谓井水不犯河水。如今,VXLAN要玩“跨界”,则必然要正视QinQ。

VLAN 、QinQ 与 VXLAN三者都是网络虚拟化技术,尤其是VLAN,自1998年获得定义以来,广泛应用,一直存在,从未缺席。

VLAN是一种将网络划分为多个广播域的技术。在每个广播域中,用户可以彼此自由通信。数据帧在通过VLAN中继端口时添加特殊标记,它的标记方法之一是IEEE 802.1Q。

VLAN在Ethernet帧的头部添加4个字节VLAN Tag,用来标识不同的二层网络。VLAN允许用户进行通信而不受距离和物理位置限制,从而大大简化了网络管理。在每个广播域中,用户可以彼此自由通信。

但是,随着设备和用户数量的大规模增长,由于最大4094个VLAN的可扩展性有限以及对可用网络链路的利用效率较低,单纯的VLAN技术已经很难满足网络规模化应用需求。

尤其是广播域这一底层网络通讯技术,在为寻址带来便利的同时,也会带来一定的负面效应。我们所需要的是一个范围有限、合理可控的广播域,超出了这个规模,广播域就会有失控的风险。

作为IT从业人员,我想大家对十几年前的ARP病毒应该不会陌生。局域网ARP就是一个典型借助于二层网络迅速扩散的病毒,危害巨大,影响深远。有一个现象直到现在记忆犹新,被病毒攻陷的主机,重做系统后要联网安装杀毒软件,这在当时几乎很难实现。因为一插网线,病毒就会再次攻陷干净的主机系统,局域网内的病毒就是这么强大。

之所以会产生这样的问题,很大一个原因在于主机所处的广播域太大,主机之间的隔离性太差,交叉感染的风险太高。试想,如果主机与主机之间实现良好隔离,每个主机在底层都是一个个独立的小空间,具备良好的隔离性,这在一定程度上可以起到很好的隔离作用。

这有点类似于人们应对当前的新冠疫情爆发,为实现更好的隔离,首先得有足够的隔离空间。在收治与隔离方面做得好的国家,基本都可以稳定控制住病毒的交叉感染,比如我们国家。反之则不容乐观,比如当前的国际抗疫形势。

为了更好地限制广播域,人们谋求通过大规模扩充VLAN标签数量,实现底层彻底隔离。在众多的方法里面,通过底层标签嵌套,实现VLAN标签数量指数级增长,被证明是一个行之有效的方法,于是QinQ技术应运而生。

QinQ,也称为堆栈VLAN或双VLAN,由IEEE 802.1ad标准化。它采用双层VLAN标签实现数据封装,分为专用网络内部标签和公共网络外部标签。在传输过程中,数据包根据公共网络上的外部VLAN标签转发,内部VLAN标签则被当作在公共网络上传输的数据。通过这种双标签形式,QinQ数据包比普通VLAN数据包多出四个字节,这使得QinQ可以将VLAN标签数量扩展到4096×4096个。

通过QinQ,较好地解决了广播域底层隔离问题。由于VLAN标签数量足够多,我们可以为每一个终端分配一个标签。即使是同一个办公室坐对面的两个人,办公电脑标签封装也是不一样的,这起到了良好的隔离作用。

QinQ不但解决了VLAN标签数量问题,同时运用起来更加灵活。它可以根据MAC地址,IP协议,源IP地址和VLAN标签识别数据包的内部VLAN标签,确定外标签的封装。其中内层标签负责底层隔离,外层标签负责业务定义。借助于QinQ,同一个交换机可以下发多种业务,每种业务又可以对应到不同的交换机端口,这真正体现了QinQ的灵活性。

如果仅就解决VLAN标签数问题,除了QinQ,VXLAN同样是可行的。VXLAN通过将MAC数据报协议(MAC-UDP)封装在三层网络之上实现二层网络覆盖。简单来说,VXLAN可以提供与VLAN相同的服务,但具有更大的可扩展性和灵活性。

与QinQ类似,VXLAN数据包也具有相对固定的格式。VXLAN报头由24位VNID组成,这使得VXLAN最多可支持1600万个VLAN标签。

扩充VLAN的标签数只是VXLAN的基本功能之一,因为QinQ也可以实现这方面的功能。所以,在数据中心选用VXLAN一定另有原因,接下来我们看一下借助于VXLAN技术,我们可以更好地解决哪些问题。

PART  01有效解决MAC地址表溢出

在新型数据中心,服务器虚拟化给网络设备带来非常直观的影响。传统模式下,交换机的一个端口连接一个物理节点,对应一个MAC地址。现在交换机的一个端口虽然还是连接一个物理节点,但在逻辑上可能连接了几十甚至上百个虚拟机,同时会产生了相应数量的MAC地址。

传统交换机根据MAC地址表实现二层转发,因此,交换机要学习并维护一个MAC地址表,这个表所处的空间就是交换机的内存。相比于服务器配置,交换机的内存是相当宝贵的,所以MAC地址表的大小通常也是有限的。如果交换机不支持这么大的MAC地址表,就会导致MAC地址表溢出。这使得交换机不能学习到新的MAC地址,从而无法实现数据有效转发。

交换机不能通过查表转发,则会泛洪到所有端口。这不但增加了交换机的负担,还增加了网络中其他设备的负担。为了避免这个问题,可以用一些更大容量的交换机,但是相应的成本也要上升。更重要的是,这还是无法从根本上解决问题。

如果使用VXLAN,虚拟机的Ethernet Frame被VTEP封装在UDP里面,一个VTEP可以被一个物理节点上的所有虚拟机共用。站在交换机的角度,看到的是VTEP之间的UDP数据传递。一个物理节点通常对应一个VTEP,所以交换机只需要记录与物理节点数量相当的条目,虚拟化带来的MAC地址表溢出问题也迎刃而解。

PART  02有效融合虚拟化管理特性

在传统VLAN中,数据被打上VLAN Tag之后在物理网络上传输,与物理网络上的VLAN是紧密耦合的。这样的好处是虚拟机能直接访问到物理网络的设备,但坏处是限制了虚拟化的灵活性。

一方面,新上线的虚拟机只能部署在有限的区域,而无法通过负载均衡实现资源的合理配置,随着数据中心规模的扩大,极有可能导致数据中心利用率分布不均。另一方面,即使不部署新的虚拟机,有时也需要对现有虚拟化集群做优化,因为无法打破二层物理网络的限制,这也是不可行的。

然而,VXLAN技术却可以巧妙地解决这方面问题。因为VXLAN通过UDP传输Ethernet Frame,相当于在三层网络上构建了二层网络。虽然物理网络的边界仍然存在,但却突破了底层限制。

通过VXLAN封装,虚拟机数据交换是建立在一套独立于物理网络(Underlay network)的虚拟网络(Overlay network)之上的。虚拟机的部署和迁移不受物理网络的限制,整个数据中心可以保持一个均衡合理的利用率。

不管物理网络还是虚拟网络,对虚拟机来讲是透明的,因为根本感知不到,当然也无需感知。这种设计颇有一点“明修栈道,暗度陈仓”的况味在里面。

PART  03有效实现主干链路带宽扩容

VLAN协议使用STP(Spanning Tree Protocol)来管理多条链路,STP根据优先级和开销,只会启用一条链路来工作,从而有效避免数据传输过程中环路的产生。这种方法保证了稳定性,但不足之处在于当流量较大时,不能通过增加链路来提升网络性能。

借助于VXLAN则不同,因为数据是通过UDP封装在三层网络上传输,所以虽然传递的还是二层的Ethernet Frame,但VXLAN可以利用一些基于三层的协议来实现多条链路协调工作(active-active),以实现负载均衡,例如ECMP,LACP。

之所以是这样,关键在于VXLAN对数据中心的网络设备功能定位,其实是有潜移默化的影响和改变的。而这些细微的变化,不易察觉,只有通过认真体会和总结才能发现。

在传统VLAN模式下,数据中心形成的是一种“核心+接入”的模式,而在VXLAN模式下,数据中心将形成新的“核心+汇聚”模式。“核心+汇聚”模式下的汇聚设备,在性质上属于汇聚设备,但却捎带手起到了接入互联的作用。汇聚设备与核心设备之间,可以通过叠加主干链路数量来减轻现有线路负担。这在提升数据中心网络性能,尤其是东西向流量性能时显得格外重要。

由于VXLAN较好地解决了新型数据中心面临的一些关键问题,随着数据中心规模的发展和虚拟化的普及,VXLAN逐渐成为构建数据中心网络的主流技术。

通过以上对比,我们可以发现,借助于QinQ可以较好地解决底层隔离问题,同时可以解决业务的灵活定义问题。相比于数据中心,园区网没有太多的类似于虚拟机迁移、漂移这样的任务,因此,QinQ在园区网可以发挥良好的作用,而VXLAN则可以在数据中心发挥更好的作用。

然而,随着时间的推移,情况似乎也在发生微妙的变化。正如本文开篇所讲述的那样,VXLAN在数据中心的成功实践,使得这项技术具有足够的信心可以运用于园区网管理。在VXLAN较好地满足了数据中心需求之后,行业内正有将VXLAN向园区网进行技术过渡的趋势。

如果说QinQ较好地解决了底层隔离和业务的灵活定义问题,VXLAN引入园区网的价值诉求则更多在于精细化管理,其本质上就是要像管理数据中心一样管理园区网。

那么,接下来我们就有必要分出一些篇幅,专门讲一下精细化管理。

在数据中心,我们尽可以讲VXLAN直面的是业务。相比于园区网,数据中心的业务有一个很大的特点,不论是虚拟机还是业务系统,一个萝卜一个坑,每个系统上线之前,对业务内容已有清晰规划,后期变化不大,因此可以进行较为细致的定义和管控。

虽说每个系统的服务内容变化不大,但是奈何架不住虚拟机和业务系统众多,尤其在大型云数据中心,如果仅靠VXLAN的大二层特性,还是很难高效地管理与维护。这些问题的解决,最终要归功于VXLAN良好的SDN兼容特性。

SDN(软件定义网络),顾名思义,就是通过软件编程来构建网络。SDN是一种新型网络架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离,实现网络流量的灵活控制,这使得网络作为管道变得更加智能。

借助于SDN,可以对数据中心大量在线与新上线业务进行图形化的管理和控制,这种简便的策略编排大大减少了网络配置和维护工作量,部署效率得到极大提升。

现在我们谈到了VXLAN,也谈到了SDN。如果要将VXLAN引入园区网建设,我们就要关注园区网与数据中心在业务属性上的异同点,只有弄清楚了这其中的关联,我们才能对新的技术选型做出合理的价值判断。

在新的SDN架构下,不论是园区网还是数据中心,问题的落脚点最终只取决于一点,那就是业务。由于数据中心承载的服务更为密集,我们可以说数据中心的业务更为集中。数据中心的业务虽然集中,但从业务属性来讲反而是比较单一,大量的业务由服务资源提供。相比于数据中心,园区网承载的业务则更为复杂,我们可以说园区网的业务更为庞大。园区网业务的复杂与庞大,不仅表现在承载的物理范围更大,还在于承载的业务主体身份更为复杂。

在新型融合园区网环境下,不但要规划好物联网业务,还要为网络用户接入提供更为人性化的服务。仅就这两点来看,物联网业务还是偏重于设备管理,与数据中心业务类似,定位清晰,业务稳定。网络用户则是为人员提供服务,这里面有个规律,物好管,人不好管。在园区网内,由于职称晋级、人员调动等因素,人的业务需求相较于数据中心与物联网需求,更为复杂多变。在这种情况下,园区网的业务定义则会更加依赖于SDN的良好管理特性。

VXLAN与SDN是一种融合应用,但是为了更直观的反映问题,我们将XLAN与SDN作为两个独立的元素来看,事实会更加清楚。在新型数据中心,VXLAN是首要着眼点,随着SDN的融入,我们可以称之为“VXLAN+SDN”的组合模式。在新型融合园区网,与VXLAN特性相比,SDN才是首要着眼点,我们可以称之为“SDN+VXLAN”的组合模式。

这两种场景下,同样是VXLAN却体现出定位上的不同。如若不是这样循序渐进,层层解析,即使听了再多的报告,我们仍然很难发现其中的奥秘。

说到这里,接下来的一个问题将会更加有趣,为什么是VXLAN融合了SDN特性,而不是QinQ?弄清楚了这个问题,在做产品与技术选型的时候,我们可以站在更高的制高点上。

首先,我们综合来看VXLAN。VXLAN较好地解决了数据中心大二层通讯的问题,这是VXLAN能够深入人心的一个先决条件。同时,VXLAN是建立在Underlay网络之上的Overlay网络,为SDN营造了天然的应用环境,这是两者能够融合的先天优势。

其次,我们详细来看一下QinQ。QinQ的优势在于良好的底层隔离与灵活的业务定义,对园区组网来讲是一种成熟的技术架构,这是被运营商和高校长期实践所检验的一项应用成果。

目前能够对QinQ起到良好终结作用的设备一般为BRAS路由器,借助于BRAS可以实现更加复杂的业务定义。只是在设备运行与调试方面,与传统网络设备相比BRAS的运行与维护更为复杂,对网络工程师来讲是一个不小的挑战。因此,从这个层面来讲,QinQ更加需要融合SDN特性。

如果能像VXLAN一样更好地融合SDN特性,QinQ以其良好的隔离性与灵活性仍然不失为一种成熟和先进的接入网络技术。之所以未形成这样的局面,无外乎两个方面,一个是BRAS相比传统网络设备开发与改进更为复杂,另一个是不争的事实,为了解决新型数据中心的问题,已经实现VXLAN与SDN的良好融合,直接拿来主义,省时省力,何乐而不为呢?

通过以上对比分析,我们基本可以了解到,如果将VXLAN应用于数据中心建设看重的是业务管理属性,引入园区网络建设,则更看重的是用户属性。未来园区网将从传统上以IP地址分区管理的模式,进入更为精细化的以用户或用户组为中心的管理模式。

同时,我们也要注意到园区网更为复杂的用户特性,这个是与数据中心相对稳定的业务需求是有本质区别的。如何既能够满足用户的多样化需求,又能最大限度减轻管理与维护工作量,这是作为厂商与集成商应该沉下心来面对和思考的问题。

如何基于用户属性做出更为合理的分类与管理,这涉及到一个平衡点的定位与选取问题。在具体项目实施过程中,能否找准这个平衡点,对整个项目的成功来讲至关重要。

总体来讲,VXLAN是一种较为先进的技术理念,在局域网的应用也是一个不错的选项。VXLAN的工作原理,VXLAN对设备功能定位的影响,VXLAN在不同场景下与SDN的融合等等,都需要我们透过表面现象,看到更为深刻的价值内涵。做好这些,对于我们解决关键问题,有效提升服务质量将会大有裨益。

相关阅读:

vBRAS去哪儿了?

如何搭上在线教育的快车道

从超融合安全防护到信息化安全规划

网络新时代

从智慧校园到云计算

智慧校园的建设理念

智慧校园建设的价值诉求

公众号ID:我是常笑扫码关注最新动态

三层vxlan原理_VXLAN技术在园区网的应用探讨相关推荐

  1. 三层vxlan原理_网工知识角|没人会告诉你的网络SDN软定义技术中VXLAN的4个特点

    点上方蓝字关注公众号领取5个G网工学习大礼包免费发放,独家学习资料&电子书&工具&视频留言可领取 学网络,就在IE-LAB 国内最著名的高端网络工程师培养基地 如何定义VxLA ...

  2. 浅谈“三层结构”原理与用意(转帖)

    浅谈"三层结构"原理与用意 序 在刚刚步入"多层结构"Web应用程序开发的时候,我阅读过几篇关于"asp.net三层结构开发"的文章.但其多 ...

  3. java三层架构的好处,java三层架构原理与作用小结

    三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦 ...

  4. java逻辑层的作用_java三层架构原理与作用小结

    三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高 ...

  5. 【Java架构师提升】java三层架构原理与作用小结

    这篇文章主要对Java三层架构的概念.作用等进行了介绍,需要的朋友可以参考下 三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI). ...

  6. 计算机网络-4-网络层原理与技术

    lecture04-网络层原理与技术 为什么我们不用硬件地址进行通信? (设备数量问题)因为设备比较多,供应商也比较多 (规格问题)不同供应商的解决方案不同,所以使用硬件地址进行通信的通用性比较低. ...

  7. VXLAN中EVPN技术详解(二)——EVPN与VXLAN分布式网关

    今天继续给大家介绍VXLAN技术,本文主要内容是EVPN技术的主要应用--VXLAN分布式网关.本文从VXLAN分布式网关实现的角度,对EVPN的实现进行了详细的讲解. 阅读本文,您需要有一定的VXL ...

  8. VxLAN网络虚拟化技术详解(HCIE)

    学习目标: 1.了解VxLAN解决的问题 2.了解VxLAN的专业术语NVO3.NVE.VTEP.VNI 3.通过实验来深入了解VxLAN 4.了解VxLAN的报文封装 VxLAN的由来 VPN种类大 ...

  9. 【经典书】概率图模型:原理与技术

    来源:专知 本文为书籍,建议阅读5分钟概率图模型将概率论与图论相结合,是当前非常热门的一个机器学习研究方向. 概率图模型将概率论与图论相结合,是当前非常热门的一个机器学习研究方向.<概率图模型: ...

  10. 北风设计模式课程---深入理解[代理模式]原理与技术

    北风设计模式课程---深入理解[代理模式]原理与技术 一.总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 设计模式都是对生活的抽象,比如用户获得装备,我可以先装 ...

最新文章

  1. 时间复杂度,O(1), O(n), O(logn), O(nlogn) 的区别+样例分析
  2. 交叉验证(cross validation)是什么?K折交叉验证(k-fold crossValidation)是什么?
  3. 昊天善圈浅谈比特币这个类型区块链应用技术的特点及作用
  4. 6.没有Release文件。N:无法安全地用该源进行更新,所以默认禁用该源解决
  5. Eclipse设置条件断点
  6. OpenCL异构扩展
  7. 【转】Linux添加/删除用户和用户组
  8. linux bash脚本编程知识点
  9. Go语言的interface
  10. 【Tensorflow、Keras】关于Reshape层小结(部分问题未解决)
  11. Leetcode961. N-Repeated Element in Size 2N Array重复N次的元素
  12. Linux内存映射实现框架
  13. 济安横断面为什么会有水印_PS差值模式是如何去水印的?你看的懂抖音的沙雕做法?...
  14. shell 开机自动执行_【自研】开机自动登陆佛大校园网程序安装全教程
  15. VMware: 虚拟机报错 ( 虚拟化性能计数器需要至少一个可正常使用的计数器, 模块 “VPMC“ 启动失败 , 未能启动虚拟机 )
  16. LeetCode初级算法之数组:有效数独
  17. 安装与配置VMware虚拟机 https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
  18. 云原生浪潮下自如的技术演进之路
  19. Ubuntu安装QQ、VM、Chrom软件
  20. 为没有历史的互联网留下历史——闪客帝国回忆录

热门文章

  1. VSCode使用Vim插件心得
  2. 「 数学模型 」“灰色模型的研究步骤及五步建模思想”讲解
  3. 【Matter】解密Matter协议(一)--- 什么是Matter协议?
  4. STM32单片机最小系统
  5. 计算机声卡和显卡驱动,声卡或显卡驱动怎么卸载干净?声卡或显卡常见驱动问题解决方案...
  6. matlab画直方图并拟合泊松分布,将泊松分布拟合为数据(直方图+直线)
  7. c# winform实现人脸识别系统(文末附源码)
  8. 本科专业计算机课程,本科计算机专业有哪些课程
  9. ubuntu中非常好用的PDF软件—okular
  10. Logistic映射在图像加密中的应用