Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

标签: 中立科普

云网络的回归之路-高性能篇(下)


关注星融元


上一篇中星融元Asterfusion提出了全面创新的高性能网络方案,并已经从四个方面做了详细的分析,那么,今天大家继续跟着小编来细品这个方案~

自动感知虚拟计算世界的变化

虚拟计算节点的动态变化(创建、删除、迁移、停机、启动等)是云计算的最本质特征之一,也对云网络提出了一个最基础的需求:

云网络需要自动感知虚拟计算世界的变化,随之调整自身的逻辑拓扑、连接关系、策略设置等,成为一张随需而动的虚拟网络。

以802.1Qbg为代表的边缘虚拟化网络技术试图为云计算提供一个计算资源和网络资源交互感知的架构,相应地,对虚拟网络边缘的控制与调度也成为支撑这种交互感知的关键点。

星融元Asterfusion云网络以802.1Qbg为基础构建虚拟网络边缘交换的整体框架。

星融元自动感知虚拟计算世界的变化

图10:自动感知虚拟计算世界的变化

在星融元Asterfusion云网络中:

  • 网络与计算一样,都以资源池的形式被Cloud OS自动化地统一管理和调度,任何对于网络的操作,都以软件调用REST API的形式完成,不需要管理员再手工地进行任何配置;
  • 以802.1Qbg为基础完成虚拟计算世界到虚拟网络之间的映射,属于同一虚拟网络的虚拟计算节点,无论其真实物理位置在云中的何处,都被以全局规划、统一分配的方式与其所属的虚拟网络完成关联映射;
  • 通过与Asteria Fabric Controller(AFC)和Cloud OS的联动,对于虚拟计算世界发生的任何动态变化,星融Asterfusion云网络都可以同样动态地自动发生变化。图10中,当属于蓝色虚拟网络的某虚拟计算节点VM-A从物理服务器Server1迁移到Server2,“变成”VM-A‘时,星融元Asterfusion云网络通过与Cloud OS之间的控制通道能够即时获取相关信息(物理服务器、所连接的物理交换机和端口、虚拟网络映射信息等),从而自动完成虚拟网络的调整与部署。
  • 也可以通过AFC完成,进一步提升整体效率,降低Cloud OS的压力和复杂度。

基于硬件加速的VXLAN虚拟网络

架构在传统网络之上的云面临着如下限制:

  • VLAN(Virtual LAN)支持虚拟网络数量太少(少于4K)
  • 虚拟网络二层广播域范围受限(无法跨越三层域)
  • 影响虚拟计算节点的可迁移性(跨三层域迁移需要变更IP地址)

VXLAN(Virtual eXtensible LAN)的出现帮助云网络成功克服了上述问题,因此成为云中虚拟网络的不二之选。

但是因为传统网络自身的封闭性,使其无法被Cloud OS通过REST API自动化地统一管理和调度。

因此云计算的建设者们不得不抛弃了在传统网络上部署VXLAN的思路,转而在服务器内部通过使用CPU的计算力构建“软件模拟虚拟网络”,来规避传统网络无法被软件定义这一障碍。

所以,更贴切地说,今天的云中广泛部署的SDN,Software Defining Network,其实应该是Software Simulated Network,即软件模拟虚拟网络。

星融元云网络:基于硬件加速的VXLAN虚拟网络

图11:基于硬件加速的VXLAN虚拟网络

如图11,左半部分所示,软件模拟网络的缺点也如其优点一样,是显而易见的:

  • 服务器CPU的大量计算力被用于模拟网络,而不是用在虚拟计算上带来更高的回报;
  • 同时,花费不菲成本建设的底层网络使用效率极低,相对于能力来说,基本处于限制状态。

可以说,在今天基于软件模拟网络的云中,云计算的建设者面临着“里外里双重浪费”的局面。

在星融元Asterfusion云网络中,这样的局面不会存在。如图11,右半部分所示:

  • VXLAN被从服务器的计算空间中卸载到底层网络的硬件交换机上,所有VXLAN相关的操作(隧道建立、维护,报文封装、去封装,虚拟网络多实例与隔离)全部由高性能的硬件完成;
  • 曾经大量耗费在软件模拟虚拟网络上的服务器CPU计算力最大程度释放出来被用于完成更多的虚拟计算任务,从而提升整体的ROI;
  • 在Cloud OS看来,对星融Asterfusion云网络的操作运维体验,与操作运维计算空间中的软件模拟网络并无二致,同样是点击两下鼠标、或者调用几个REST API,即可完成对星融元Asterfusion云网络的管理;
  • 基于PICFA™的支持,星融元Asterfusion云网络一举将云中虚拟计算节点的容量提升到千万量级,同时赋予云网络更高的性能和更优的质量。

因此,星融Asterfusion云网络让云计算中的网络真正回归到网络自身,“计算的归计算,网络的归网络”。

基于BGP EVPN的虚拟网络控制平面

VXLAN很好地解决了前述的问题,但是,因为在最初并没有考虑为其设计独立的信令与控制平面,因此在VXLAN中所有隧道信息、路由信息都是通过人工静态配置和通过数据平面广播学习的方式来完成的。

也正是如此,在VXLAN环境中,部署、配置、变更等全部依赖于人力,效率低下、出错风险高,而且基于广播的学习导致VXLAN中泛洪流量频发,继而致使整网效率低下。

为了解决这个问题,基于原有的MPLS/BGP VPN理念与模型,IETF设计并开发BGP Ethernet VPN(简称BGP EVPN)标准,作为包括VXLAN在内的三种虚拟网络的独立控制平面,BGP EVPN成功地为VXLAN构筑了独立于数据平面的控制平面。

基于BGP的多协议承载能力自动在VXLAN站点之间传播多租户的隧道信息、路由信息、链路状态信息,彻底摒弃了人工静态配置和广播学习的缺点,使VXLAN网络的运维复杂度大幅降低、效率大幅提升。

BGP EVPN让在大规模生产环境中部署VXLAN成为可能。

星融元云网络:基于BGP EVPN的虚拟网络控制平面

图12:基于BGP EVPN的虚拟网络控制平面

星融元Asterfusion云网络也将BGP EVPN作为虚拟网络独立的控制平面,并且将其与创新的PICFA™融合在一起,形成超大容量、快速收敛、自动管理的虚拟网络解决方案。

在星融Asterfusion云网络中:

  • 不但所有虚拟网络的二层转发表以分布式的方式承载在所有网络交换机上,三层主机路由表也被分布到所有网络交换机上,从而使得云中虚拟网络的容量增长100倍至千万量级;
  • 交换机的多实例能力将不同租户的不同虚拟网络加载在不同的路由空间中,彼此安全隔离、互不影响;
  • 具备多协议能力的BGP承载多租户的路由信息在VXLAN站点之间自动交互,不再依赖人工配置确保转发路径与逻辑的正确性,将手工配置出错的风险降至最低;
  • 虚拟网络上出现广播流量的可能性被降至最低,有效地提升了虚拟网络为云中业务提供服务的性能与效率;
  • 独立的控制平面,标准化的协议交互,让多家厂商的互通对于用户来说不再是不可能的任务。

融合到转发平面的高性能NFV

NFV(Network Function Virtualization,网络功能虚拟化)是指将一些常用的网络功能以虚拟化的形式部署在云中为运行在云中的业务提供服务,常见的这些网络功能包括四层SLB(Server Load Balancing,服务器负载均衡)、NAT(Network Address Translation,网络地址转换)、DDoS(Distributed Denial of Service,分布式拒绝服务)攻击流量识别与统计。

在当前架构的云中,这些网络功能的虚拟化实现与软件模拟虚拟网络的思路类似,即:如果某个租户的某一种业务需要,就在服务器的CPU上用软件模拟出所需的网络功能来。

以SLB为例,假设有1,000个租户,每个租户有10个业务需要使用SLB,那么就在服务器上创建出10,000个虚拟机,再在这些虚拟机上加载SLB软件为每个租户的每个业务服务;保守估计,这样地场景需要2-3机柜的服务器来专门运行这10,000个SLB的虚拟机。

融合到转发平面的高性能NFV

图13:融合到转发平面的高性能NFV

但在可编程交换芯片的支持下,星融Asterfusion创造性地将这些常用的NFV功能在云交换机的转发平面中编程实现,从而提升了云网络的整体性能和使用效率,帮助用户解决了在计算空间中,部署大量虚拟计算节点使用软件模拟NFV,所带来的计算空间性能降级、运维复杂度升高、NFV效率低下等问题。

如上所述的需求,即便再增加一个数量级,仅仅一台星融Asterfusion云交换机就能够轻松地支撑。更为重要的是,这样的NFV功能是在不影响交换机正常转发性能的前提下提供的。

为云中业务提供端到端的QoS

QoS(Quality of Service,服务质量)能力是衡量网络为业务提供服务的质量的最直接标准,一般来说,QoS能力由网络设备的多等级业务标记、多优先级队列发送、拥塞发现与控制、拥塞避免、传送带宽控制等功能构成。

遗憾的是,在今天的云网络中,QoS几乎无从谈起…
运行在计算空间中的软件模拟虚拟网络将底层的物理网络当作一根物理线路,虚拟网络自身缺乏基本的QoS能力,被当作物理线路的底层网络的QoS算法又只能根据所传送流量的外层报文头特征做出QoS判断,而真正能够描述不同租户、同一租户不同业务的优先级特征信息全部被封装在VXLAN隧道中,底层网络设备根本无法识别,QoS算法也不具备处理隧道内层信息的能力。

有了可编程交换芯片的支持,星融Asterfusion云网络成功地解决了这一问题。

面向租户业务的综合QoS策略

图14:面向租户业务的综合QoS策略

在星融元Asterfusion的云交换机中:

  • 对网络流量进行QoS处理时,能够提取、查找、比对、标记的不仅包含外层报文头的各种特征信息,而且包含封装在VXLAN隧道内的租户信息、租户虚拟网络信息、业务信息;
  • QoS算法的输入参数也包含上述两部分信息,从而确保算法所作出的决策是针对不同租户或者同一租户的不同业务,而非简单地针对物理线路。

更值得一提的是,在提供高性能、大容量等能力的同时,基于PICFA™架构的星融元Asterfusion云网络还具备真正意义上的端到端QoS能力。

基于创新性的数据平面转发协议,PICFA™架构的星融Asterfusion云网络能够按照用户需求,动态地从底层网络的所有Spine交换机中分配一部分出来,让这部分Spine交换机专门为某一种业务(或某一类应用、某一些虚拟网络、某一群租户)服务,从而确保达到预期的服务质量和商业目标。

PICFA™为不同租户/关键业务提供端到端的QoS保障

图15:PICFA™为不同租户/关键业务提供端到端的QoS保障

如图15所示,在基于PICFA™架构的星融元Asterfusion云网络中,所有Spine交换机能够被动态地划分为三组,其中第三组可以被指定用来承载VIP租户和关键业务,这组Spine交换机将会被PICFA™从物理上与其他Spine交换机隔离开来,运行在HULL架构(High-bandwidth Ultra-Low LatencyArchitecture)所描述的资源使用率较低的状态下,真正做到了物理隔离,让低优先级租户的流量与尽力传送型业务流量对VIP租户和业务的影响降至0,完全达到SLA(Service Level Agreement)所规定的服务质量保证——极低的网络延迟和近似于0的丢包率。

全面支持DevOps

DevOps是一种新型的软件产品交付模型,它将与软件产品生命周期过程中的各个相关部门(例如研发、测试、运营等)以一种空前的方法连接了起来,并且对他们的沟通、协作等提出了更敏捷、更快速、更频繁的要求。

Asterfusion云网络全力助推云计算进入新时代

星融元Asterfusion云网络是为云计算时代设计的全新一代云网络架构,这个架构完美地解决了当前的云网络方案所面临的诸多挑战。

  • 充分释放服务器CPU计算力,降低TCO
    基于纯粹的SDN理念和领先的虚拟化技术,星融Asterfusion云网络在底层网络的可编程、高性能硬件平台上构建了面向云中租户与业务的虚拟网络,将大量的服务器CPU计算力从“软件模拟虚拟网络”的压力中释放出来,从而使得服务器CPU计算力的使用效率得到近乎翻倍的提升。
  • 大幅提升底层网络的使用效率,提升ROI
    传统的云网络架构将花费不菲成本构建的底层网络定义为“粗但是傻”的线路,底层网络大量的功能与性能处于闲置状态。星融元Asterfusion云网络将底层网络重新定义为“粗并且灵”的智能网络,让云中租户与业务服务的虚拟网络直接承载在上面,提供虚拟化、多租户的同时,支持NFV等增值功能,让云的ROI“里外里”地增长。
  • 超高性能、超大容量的虚拟网络
    星融Asterfusion的专利算法PICFA™将网络对云的支撑能力提升100倍,将单数据中心可制成的虚拟计算节点数量一举提升到千万量级,为大规模公有云向更多的租户提供业务支撑打下坚实的基础。
  • 面向租户与业务的端到端QoS
    星融元Asterfusion云网络是真正具备面向不同租户和不同业务的端到端QoS能力的云网络,作为QoS算法决策依据的参数不仅仅是底层网络的线路特征信息,而且包含了不同租户和不同业务的特征信息;同时,星融元Asterfusion的PICFA™专利算法天然具备将不同优先级的租户、业务、网络分布到不同底层硬件网络并且充分隔离的能力,从而让QoS真正成为端到端的能力。
  • 全面开放的软硬架构彻底融入云
    在星融元Asterfusion云网络中,软件的网络操作系统与硬件的交换机平台被彼此解耦,网络彻底解除了对用户的锁定,开放的架构与软件定义的接口让网络真正成为云中的基础设施之一,所有对网络的操作全部通过软件定义的方式进行,并且将Cloud OS对虚拟网络及各种网络功能的管理复杂度降低两个数量级。

我们看到,星融元Asterfusion为云计算构建新一代超大容量、超高性能、超高效率的云网络已经做好了充足准备,摩拳擦掌,蓄势待发!

相关文章

云网络的回归之路-高性能篇(上)


关注星融元


“ 在高性能的Asterfusion云网络中,全面开放的设计理念与整体架构确保它与云计算环境的无缝融合。”

云计算给传统网络带来的挑战

云计算从2000年中首次出现,至今如火如荼大行其道,它成为当今世界发展最快、影响面最大的IT基础设施支撑技术之一,而数据中心(也就是云计算的载体),这些年来也一直保持着强劲增长和快速演变的趋势。

云计算数据中心的新兴发展趋势

图1:云计算数据中心的新兴发展趋势

这些新兴的发展趋势包括:

  • 云中虚拟计算节点的飞速增长

虚拟计算节点指在物理服务器上通过使用虚拟化技术提供的具备独立计算能力的虚拟机(VM,Virtual Machine)、容器(Container)和虚拟桌面(VD,Virtual Desktop)。

在2000年,即云计算的早期阶段,每台物理服务器能够支持的虚拟计算节点的数量仅仅限于十几个;当云计算发展到了今天,随着物理服务器性能的不断提升与虚拟化技术的越来越轻量化,单台物理服务器能够支持1000个容器已经成为现实。

  • 云中租户数量越来越多

随着云计算技术的逐渐普及,越来越多的传统IT用户深切体会到其弹性扩展、按需使用、快速部署等便捷之处;云平台在稳定性越来越高的同时性能也不断提升,针对大规模云的运维能力的也在持续增强,这些都使得公有云能够为越来越多的租户提供虚拟私有云服务。

在今天世界知名的公有云上,同时运行着100,000+租户的10,000,000+虚拟计算节点的案例并不少见。

  • 云中部署的关键业务越来越多

在云计算的早期阶段,只有那些对性能和可靠性要求并不严苛的应用(如Email、文件传输、网站等)被迁移到云端;

得益于云计算自身的飞速发展,如今,越来越多的关键业务已经被迁移到云端(如高频交易系统、大数据分析系统、人工智能训练系统、区块链平台等)。

如何基于无差别构建的云平台为关键业务和普通业务提供差异化的服务将成为未来云运营的主要关注点之一。

  • 云中基础设施的融合

CloudOS负责在云中统一、垂直管理所有的基础设施资源(计算、网络和存储),而自动化部署业务、资源动态调配等需求的提出与实现,都要求云中的基础设施资源不再以彼此分离的方式存在,而是在管理层面被整合为“融合基础设施”。这就要求部署在云中的设备要通过DevOps、RESTful API等方式主动将自身纳入到CloudOS的统一管理中。

遗憾的是,在云计算如火如荼发展的今天,作为云计算三大支撑基础设施之一的网络却未能跟上云计算整体的发展步伐,从而使传统网络需要面对来自云计算的各种挑战…

  • 大规模、多租户虚拟网络的共存与隔离
    在同一张云上,往往同时承载了大量的租户,每个租户都需要有属于自己的多个网络来支撑部署云中的业务,因此,传统网络要有能力将自身虚拟化成多个属于不同租户、彼此之间又完全隔离的网络。这样的网络虚拟化对于租户的业务来说是完全透明的,业务并不需感知自身是运行在虚拟网络之上的。
  • 虚拟计算节点的爆炸性增长
    传统的网络面对的是由数量较少的物理服务器和物理存储设备构成的计算世界和存储世界,因此也按照这样的模型架构自身的系统,但是在云中,这一模型被彻底颠覆,网络面临的外部世界从单台服务器、单个存储节点爆炸性地增长为成千上万的虚拟计算节点和软件定义存储节点,数量增长了2-3个量级。
  • 虚拟计算节点的频繁动态迁移
    云计算为业务系统提供了对计算资源的按需申请、动态调配,这就意味着虚拟计算节点在云中的物理位置需要随时进行动态迁移,而这一迁移在逻辑上又必须保持静态不变(即无论如何迁移,该计算节点在逻辑上仍处于同一个虚拟网络),这就要求网络必须感知服务器内部虚拟计算节点的生命周期(创建、迁移、删除等)。
  • 虚拟化云网络的自动化部署与运维
    同一张云承载了大量租户的海量业务,同时运行的这些业务频繁发生的变化也要求底层支撑网络随时应需而变、动态调整,所有的这些变化和调整都要通过云操作系统的统一控制和管理而实现。传统网络提供的以命令行、SNMP网管为核心的部署运维工具根本无法满足云中网络自动、快速调整的需求。
  • 虚拟网络功能网关的分布式部署
    除了基础的交换机以外,网络中存在各种功能网关(NFGW,Network Functionality Gateway)设备,这些NFGW与交换机等一同构成网络为上层业务提供服务。在传统网络中,所有的NFGW一般以独立设备、集中部署的资源池形式存在。同样的模型部署到云中,将会导致大量无谓的东西向流量,致使整体效率大幅降低。

传统网络游离于云计算整体架构之外

图2:传统网络游离于云计算整体架构之外

“那么,在这样的限制之下,今天的云计算是如何使用传统网络?又是如何面向租户构建虚拟网络的呢?”

运行在计算空间中的“软件模拟虚拟网络”

为了规避上述问题带来的限制,今天的云计算运营者采用了“在计算空间中用软件模拟虚拟网络”的思路:

运行在计算空间中的软件模拟虚拟网络

图3:运行在计算空间中的软件模拟虚拟网络

在之前的文章,我们提到过,“软件模拟虚拟网络”虽然解决了传统网络无法解决的问题,满足了云计算运营者对网络的需求,但也有着显而易见的缺点,下面来展开说说这些缺点吧:

  • 侵占服务器计算力
    软件模拟虚拟网络的所有虚拟网元完全运行在服务器的CPU上,大量的CPU计算力被用于运行虚拟网络,无法用于创建承载业务的虚拟计算节点,致使服务器CPU计算力使用效率低下。
    相反地,承载云的底层物理网络却处于非常轻载的运行状态,使用效率也非常低。随着摩尔定律逼近天花板效应,这样的效率低下将愈演愈烈。
  • 虚拟网络性能受限
    网络已经进入100G时代,而服务器内部的网卡与CPU之间的通道(一般是PCIe)却仍然停留在G比特时代,成为无法逾越的瓶颈。
    相对于处理计算任务,x86架构的通用CPU处理网络流量有着天然的性能劣势,而热点业务在云中是一种常态,海量报文在瞬间涌向集中的热点,致使这样的性能劣势被进一步放大。
  • 网络使用效率低下
    在IT时代已经发展进化了很长时间的、基于高性能交换硬件、面向网络流量转发处理而设计的网络,在云中只被用于最简单的承载通道,所有网络的高级特性和性能均无法使用。
    一方面是服务器中CPU计算力的捉襟见肘和使用效率低下,另一方面却是底层网络的基本闲置和低效使用。
  • 端到端QoS能力缺失
    底层网络一般具备很强的业务质量保证(QoS,Quality of Service)能力,能够在高性能的硬件平台上为重要业务提供质量保障的传送通道。而软件模拟虚拟网络则不同,其软件模拟的属性往往使其不具备类似的能力;而且,因为软件模拟虚拟网络在底层网络上以隧道形式传送,致使上层业务无法利用底层网络的QoS能力。
  • 维复杂度高
    云计算的管理员在运维软件模拟虚拟网络时,面向的是运行在云中每一台物理服务器上的各种虚拟网络节点,其数量往往比云中的底层网络节点高出两个数量级。面向如此之多的虚拟网络节点的运维复杂度和效率是无法忽视的问题,而这个问题现在仅仅是被DevOps和软件自动调度等工具暂时掩盖了起来而已。

综上所述,
传统的底层网络因其自身不开放等原因不被云计算所接受,而在物理服务器的世界中用软件模拟出来的虚拟网络又面临着以上诸多问题。

未来的云网络将何去何从?

全面创新的高性能网络方案

基于对云网络需求的深刻理解和对构建软硬件一体化系统核心技术的全面掌握,星融元Asterfusion为云计算数据中心设计了新一代的云网络解决方案。

在高性能的星融元Asterfusion云网络中,全面开放的设计理念与整体架构确保其与云计算环境的无缝融合,云中租户的虚拟网络和分布式网络功能网关被从计算空间中卸载出来,直接承载在可编程和高性能的Asterfusion硬件平台之上,独创的专利算法PICFA™通过整合一个交换网络中所有硬件系统的交换能力,来为云中多租户和多业务提供一个容量为千万量级虚拟计算节点的超大规模分布式虚拟交换系统,同时,星融元Asterfusion能够自动感知虚拟计算世界的变化,相应的自动调整虚拟网络以及各种适配策略,并且为不同的租户、不同的业务提供不同的QoS保障。

那么,星融元Asterfusion高性能都体现在哪些方面?能带给我们怎样的惊喜呢?

无缝融入到云中的Asterfusion全开放云网络

基于对客户需求、云、网络产业现状及未来发展趋势的深刻理解,和所掌握的软件、硬件核心技术,星融元Asterfusion为云计算环境提供全开放的云网络解决方案。解决了传统云网络在开放性方面所面临的各种挑战,无缝地将云网络彻底融入到云中,使网络与计算、存储一起成为真正意义上的“云基础设施”。

星融元帮助云网络真正融入云计算

图4:Asterfusion帮助云网络真正融入云计算

高性能、可编程的Asterfusion硬件平台

基于业界最领先的可编程交换技术与芯片,星融Asterfusion打造了超高性能的可编程硬件平台作为其全线产品的载体;基于这个载体,为云计算交付“不妥协性能的灵活性”的云网络解决方案。

高性能、可编程的星融元硬件平台

图5:高性能、可编程的Asterfusion硬件平台

与传统交换芯片将报文处理和转发逻辑固化在芯片硬件中不同,可编程交换芯片是能够通过软件来按需调整的。
在以可编程交换芯片为核心的交换系统中,业务与控制软件不再受限于底层芯片的能力,可以根据业务的需求进行开发与定制;通过为不同的需求、不同的场景定制不同的报文处理和转发逻辑,芯片的各条流水线能够协同工作,在不损失系统整体性能前提下,将这些需求在芯片的报文转发层面实现。

传统交换芯片与可编程交换芯片

图6:传统交换芯片与可编程交换芯片

可编程交换芯片不仅是一次交换芯片硬件技术的发展,更是SDN理念在支撑网络的硬件芯片层面的一次伟大实践;
可编程交换芯片让网络在保持高性能的前提下,前所未有地拥抱了软件定义这一未来发展趋势。

在星融元Asterfusion云网络中,根据交换机在网络中所处位置与所承担角色的不同,运行在交换机转发芯片内部的软件被有针对性地进行了转发与处理逻辑上的优化,从而使得星融Asterfusion云网络以更好的性能和能力为各种上层业务提供支持。

根据不同的场景动态优化资源分配与转发逻辑

图7:根据不同的场景动态优化资源分配与转发逻辑

如图7所示,同样的Asterfusion CX硬件平台能够被按照其在底层网络中的不同角色进行资源划分与转发逻辑的优化。这些不同的角色包括:

  • Spine交换机(图7中的❶):主要承载云中所有Leaf交换机之间的所有流量,这个角色的主要优化方向在于在尽可能多地将系统资源划分给FIB表的同时,要具备大容量的多租户区隔能力,即要支持创建和维护相当数量的BD(Bridge Domain)和VRF(Virtual Route Forwarding)。
  • 服务器ToR交换机(图7中的❷):主要承载云中虚拟计算节点之间的东西向流量,完成各种内部业务/应用的高速、大容量交换,这个角色的主要优化方向是尽可能多地将系统资源划分给FIB表,以承载尽可能多的二层MAC转发表项和三层主机转发表项。
  • 网关ToR交换机(图7中的❸):主要承载云中提供对外业务的虚拟计算节点与外部世界(互联网或企业内联网)之间的南北向流量,是云中业务对外提供服务的转发通道,这个角色的主要优化方向是尽可能多地将资源划分给三层路由表,同时要支持诸如负载均衡、地址转换一类的各种网络功能。

运行在高性能硬件平台上的云网络

在星融元Asterfusion云网络中,曾经运行在物理服务器内部、计算空间中的虚拟网络回归到底层的高性能网络硬件平台之上,帮助服务器将大量的CPU计算力从“软件模拟虚拟网络”的重负中释放出来,更高效地为计算服务。

运行在高性能硬件平台上的星融元云网络

图8:运行在高性能硬件平台上的Asterfusion云网络

在星融元Asterfusion云网络中,云计算面对的是同样开放、将自身彻底融入到“云计算基础设施”中的网络,而非传统网络那样游离于云之外、封闭的体系又与架构、独立不互通、手工配置管理的局面。

星融元Asterfusion云网络的开放性确保了云管理平台对网络基础设施(虚拟网络和底层网络)的统一、自动管理,为租户对虚拟网络的操作提供了与虚拟计算、虚拟存储同样的体验:点击两下鼠标即可,其余所有的事情,包括跨越不同设备、机架、数据中心、甚至是可用区域的对网络的配置,全部由云管理平台通过软件调用星融元Asterfusion云网络的REST API自动完成。

虚拟网络直接承载着云中不同租户的不同业务,而不同的业务对虚拟网络的需求又由该业务自身的特性决定。

那么,如何在一张无差别构建的底层网络上构建出具备不同能力的虚拟网络以适应不同的上层业务需求,就成为了云网络的不得不面对的难题。

星融元Asterfusion高性能硬件平台的可编程性完美地解决了这一难题。

在星融元Asterfusion云网络中,所有虚拟网络的处理逻辑完全可以根据业务需求来优化、定制甚至重构,网络功能的灵活性从此不再被蚀刻在ASIC中固化的处理逻辑所禁锢,让云网络世界再度焕发出前进与创新的光芒。

性能与灵活性从来都是一对同时出现的矛与盾。

随着ASIC交换芯片的能力越来越强,网络的性能自然而然地被大幅提升,二十年前的网络工程师根本无法想象今天的网络能够在1U的空间内交付3.2Tbps甚至6.4Tbps的交换能力;

遗憾的是,越来越高的性能背后隐藏的潜台词则是网络承载业务的灵活性在不断丧失。

可编程交换芯片的出现完美的解决了这一难题。可编程交换芯片同时兼具了传统ASIC的超高性能和基于软件编程的业务灵活性,使得“通过软件灵活定义业务逻辑+通过高速芯片转发业务流量”成为可能。

星融元Asterfusion基于对网络各种业务和云计算需求的深入理解,基于可编程硬件平台构建云网络,为云计算交付具备“不妥协性能的灵活性”的星融Asterfusion云网络。

PICFA™从容应对千万量级的虚拟计算节点

今天,即便是对于一个可容纳5,000台物理服务器的中小规模的云数据中心,将其最低虚拟计算节点容量设计为5,000,000是一个最正常的需求。

但是,在当前的商业以太网交换芯片市场上,为1RU高的Leaf交换机设计的交换芯片的FIB表项空间的容量最常见的只有128K。

由此,5,000,000和128K的矛盾就尖锐地显现出来了;而造成这种矛盾的根本原因,就是底层网络依据传统架构、传统模型和传统理念所设计的集中式方案。

星融元Asterfusion全面创新地提出了PICFA™
(Protocol Infinity Cloud FabricArchitecture,协议无限云网架构)。

PICFA™采用独创的分布式路由算法和与之相配合的转发逻辑,完全重构了云网络的控制平面与数据平面,彻底抛弃了传统网络中低效的集中式存储结构与转发逻辑,将云网络对云中虚拟计算节点的容量支持一举提升100倍至千万量级,同时大幅提升转发性能,使网络不再成为云计算容量的限制因素,从而为云网络从计算空间向底层物理网络的迁移打下坚实的基础。

PICFA™从容应对千万量级的虚拟计算节点

图9:PICFA™从容应对千万量级的虚拟计算节点

在部署了PICFA™的星融元Asterfusion云网络中,所有租户的所有虚拟网络信息被动态、智能、均衡地分布在全网的所有Spine和Leaf交换机上,充分利用所有交换机的所有表项空间,由此,单台网络设备的FIB容量不再成为云的容量限制,虚拟机数量获得量级的提升,服务器计算力被充分利用!

相关阅读:对!这届GNTC唯一捧得双奖的黑马就是我们!

-未完待续-

相关文章

云网络的回归之路-全开放篇(下)


关注星融元


本篇我们从开放的高性能硬件架构、软件系统与硬件平台的分离与解耦、DevOps工具、RESTful API、容器架构、内存数据库Redis、与主流Cloud OS——OpenStack的完全集成这几个方面聊聊星融Asterfusion云网络的开放性。

开放的高性能硬件架构

传统网络硬件平台的架构,因受生产者的商业模式、设计理念等限制,通常采用私有的架构,为使用者提供一个网络黑盒,并且与其上层网络操作系统紧密耦合,将使用者牢牢锁定在该平台之上。
基于这样的网络架构来设计的IT系统,用户在日常运维、故障定位、备件更换、网络扩容、升级换代等方面都需要高昂的成本。

星融元Asterfusion云网络则采用完全不同的理念与架构,来设计其高速网络硬件平台。如图1:

开放的高性能交换硬件平台 图1,开放的高性能交换硬件平台

星融元Asterfusion硬件平台的优势:

  • 开放的架构:系统采用简洁、开放的架构设计,又基于业界成熟的BMC(Baseboard Management Controller)、COME(Computer-On-Module Express)、第三方的高性能可编程交换芯片等方案,来构建模块化的系统。
  • 业界知名商业交换芯片:高速交换子系统采用业界知名的交换芯片设计,用户不仅可以享受海量出货芯片的成本红利,还能拥有完全透明开放的架构,不携带任何硬件层面的专利与锁定,与前面提到的“专有芯片+私有硬件”的方案形成了鲜明的对比。
  • 可编程交换芯片:星融Asterfusion紧密跟随网络领域最先进的技术发展动向,采用可编程的交换芯片作为交换子系统的核心,使用户的需求在硬件转发层面被快速响应,让云的快速迭代不再受18-24个月的ASIC开发周期的限制。
  • 功能丰富的高性能交换系统:星融元Asterfusion的云网络不但能够为云中业务提供丰富接口类型(10G/25G/40G/100G)、全线速的转发,而且还能够在硬件网络上为云中业务提供L4SLB(Layer 4 Server Load Balancing,四层服务器负载均衡)、1:1 NAT(1:1 Network Address Translation,一对一网络地址转换)等功能。

值得一提的是,星融元Asterfusion云网络的整体架构设计完全遵循了业界最领先,公司已经广泛部署和使用的Scale-wide架构(按需自由扩展架构),将原本封闭在大型机架式网络设备中的CLOS交换架构开放到网络拓扑设计当中去,帮助用户在只采用盒式网络设备的前提下仍然能够搭建出大规模的扁平化云网络,使用户在享受高性能、按需自由扩展的同时,最大限度地降低云网络的TCO(Total Cost of Ownership,总拥有成本)。

基于Scale-wide架构的大规模Asterfusion云网络 图2,基于Scale-wide架构的大规模Asterfusion云网络

例如,在图2中,

  1. 位于Leaf层的128台(64对)CX532P,每台的32个100G接口被分成两组,16个向下接入服务器,16个向上接进Spine层,并且通过使用100G-25G的1-to-4 Breakout功能,将所有100G接口拆分成64个下行25G接口和64个上行25G接口,通过上行25G接口分别接入到Spine层的64台CX532P。
  2. 位于Spine层的64台CX532P,每台的32个100G接口通过使用100G-25G的1-to-4 Breakout功能,将所有100G接口拆分成128个下行25G接口,接入Leaf层的128台(64对)CX532P。
  3. 数据中心的每台服务器通过双25G链路分别连接到一对Leaf层的CX532P的下行25G接口,组成高可靠的接入层,每台Leaf层的CX532P的64个25上行接口分别上行到64台Spine层的CX532P,这64台Spine层CX532P总共能够接入128台(64对)Leaf层CX532P。
  4. 这样的Spine-Leaf网络模块,总共能够提供128 x 64 = 8,192个25G接入接口,可以为4,096台服务器提供双25G上行的高可靠(接入层Active-Active热备和负载分担)和高性能(1:1收敛比,全线速)接入方案,整网提供204.8T的交换容量和8,192,000虚拟计算节点的支撑能力,即每服务器50G的上行接入能力和1:1000的虚拟化比。

软件系统与硬件平台的分离与解耦

SAI是由微软最早提出并实现的,用来描述交换芯片与操作系统之间接口的软件抽象层。

简单来说就是,SAI为运行在交换芯片上的网络操作系统屏蔽了底层芯片的差异,让相同的网络操作系统可以在不同架构或不同品牌的交换芯片上平滑迁移,大幅度降低了软硬件系统适配和驱动带来的复杂度及工作量。

SAI目前已经得到绝大多数交换芯片厂商的支持,成为事实上的工业标准。

彻底解耦的软件系统与硬件平台 图3,彻底解耦的软件系统与硬件平台

星融元Asterfusion在AsterNOS中全面集成了SAI,在硬件平台的设计中也选择了多款支持SAI的可编程交换芯片。
因此,在星融Asterfusion云网络中,软件系统与硬件平台是完全分离解耦的架构。
正如图3所示,AsterNOS不仅能够运行在任何支持SAI接口的硬件平台之上,Asterfusion硬件平台也能够运行所有支持SAI接口的操作系统。

最终将用户从传统网络“软件系统与硬件平台紧密耦合”的黑盒中解放出来。?

当然,对于中小规模、不具备自行开发能力、不具备软硬系统集成能力的客户,推荐选择星融Asterfusion的“AsterNOS + Asterfusion硬件平台”一体化解决方案,来降低部署的复杂度,加快部署的速度。

高性能内存数据库解耦交换机内部模块

网络操作系统中各个控制模块需要多种形式的交互,来交换信息、同步状态、协同工作。

在传统的网络操作系统中(如图4所示),这种模块间的交互往往通过直接建立点到点连接的方式进行,从而在各个模块之间形成了一张全连接的交互网络(Full-mesh)。

这种架构的网络操作系统有着很多弊端,

  • 模块之间紧密耦合,架构复杂,其中一个模块出现问题,就会影响系统整体的稳定性;
  • 操作系统内部的各种状态信息分散。
  • 操作系统自身的备份复杂程度及风险很高。
  • 传统网络操作系统的架构非常不利于扩展。

软件模块解耦的网络操作系统 图4,软件模块解耦的网络操作系统

也就是说,任何模块都能够作为生产者将自身的关键信息存入这个数据库,并且按需更新、获取、删除。

该模块在重新启动之后,能够从数据库中恢复当前的各种配置及状态,从而不影响正常工作;

任何模块也能够作为消费者关注数据库中其他模块的变化,当某个模块在数据库中的存储信息发生变化时,数据库能够将这一变化发布给所有关心该模块的消费者,从而完成模块间信息与状态的同步。

基于数据库的信息与状态统一存放与管理机制,能让操作系统的稳定性、可扩展性、高可靠性得到大幅度的提升。

基于容器架构的网络操作系统,轻松支持第三方应用

相较于Hypervisor的VM(Virtual Machine,虚拟机)虚拟化技术,容器(Container)虚拟化技术以轻量化、高效率、低成本、与微服务架构的紧密结合等优势在最近几年中得到大规模的部署。

为了充分利用这些优势,微软为云计算发布的开源网络操作系统SONiC(Software for Open Networking in the Cloud)也采用了容器架构。在SONiC中,网络操作系统的软件模块以容器的方式运行在Linux内核之上,从而使得SONiC整体的可扩展性、稳定性、开发及运行的效率大幅度提升。

AsterNOS以SONiC为内核,并且在其上开发了现代云网络操作系统所必需的控制平面、RESTful API、用户界面、DevOps支持、运营管理等功能。

AsterNOS系统架构 图5,AsterNOS系统架构[/caption]

AsterNOS将标准Linux内核之上的容器环境开放给了第三方应用。

也就是说,任何曾经运行于x86虚拟化世界中的运维管理工具都可以直接运行在AsterNOS上。在不带来任何额外开发工作量的前提下,为云网络的自动化运维管理提供与原有方法完全一致的体验,大幅提升云网络运维效率。

举个栗子,在基于“软件模拟虚拟网络”的云中,为了获取每个租户的虚拟网络的流量统计信息,管理员需要在每一台物理x86服务器上安装自动统计与收集工具,再将所有这些工具的统计结果全部汇聚到Cloud OS;而一张面向公众运营的云中,物理x86服务器的数量是以数千、数万为单位计算的,所以这样一个简单的运维需求在“软件模拟虚拟网络”的云中所带来的复杂度及管理流量的压力可想而知。

图6

但是在AsterNOS的云网络中,每一个这样的运维工具只需要运行在每个ToR(Top of Rack,架顶)交换机上即可,而ToR交换机的数量相比物理x86服务器来说,只有其1/50左右。

因此,AsterNOS基于容器的开放架构将会大幅度提高云网络的运维效率。

Asterfusion云网络支持DevOps

DevOps是一种新型的软件产品交付模型,它将与软件产品生命周期过程中的各个相关部门(例如研发、测试、运营等)以一种空前的方法连接了起来,并且对他们的沟通、协作等提出了更敏捷、更快速、更频繁的要求。

例如,互联网时代的软件产品一般都要求版本以天为单位快速迭代更新,继而测试部门也要按照相同的节奏完成产品质量保证所必须的工作。同样,运营部门也需要快速地更新升级运营环境以保证业务系统的正常运行及良好的用户体验。

对于网络来说,DevOps模型的大规模普及意味着网络也要在如此频繁、快速的迭代过程中具备灵活、敏捷及自动的调整能力。Asterfusion云网络能够很好地支持在开发、测试、生产环境中广泛部署的NETCONF、Ansible等DevOps工具。

Asterfusion云网络支持DevOps 图7,Asterfusion云网络支持DevOps

NETCONF(NetworkConfiguration Protocol)是IETF于2006年标准化的,用于取代SNMP(SimpleNetwork Management Protocol)的网络管理协议,并于2011年进行了更新。

NETCONF克服了SNMP饱受诟病的安全性差、可扩展性差、效率低等缺点。

(图7中)运行在AsterNOS内部的NETCONF Server能够与来自于DevOps平台的NETCONF Client建立连接,并且按照预先定义好的管理数据结构,接受来自DevOps平台的配置管理请求、或者提供系统内部的各种配置、统计、状态信息给DevOps平台。

Ansible是一款极具代表性的DevOps工具,它能够将运营环境中大量的重复性工作以“Playbook”的方式进行自动化,从而为管理员降低工作负载,提升工作效率。

Ansbile不需要被管理对象(服务器或网络设备)安装任何客户端,而是通过标准的SSH通道进行交互,所有需要被管理对象执行的命令和返回给服务器的结果都在这个标准通道中传递。

Ansible的这种架构在很大程度上降低了自身的运维与管理复杂度。

Asterfusion为AsterNOS开发了符合Ansible标准的AsterPlaybook,通过AsterPlaybook,Ansible服务器能够快速、便捷地完成对Asterfusion云网络自身的自动化运维。

同时,对于任何以容器模式运行在AsterNOS内部的第三方应用,也能完全融入到基于Ansible的DevOps环境中去。

Asterfusion云网络通过RESTful API开放所有能力

相较于其他架构,REST因简洁、高效、弹性、开放等特性被越来越多的应用系统所采用,经过十多年的发展,已经成为基于Web应用系统的事实标准。

相应地,如果一个系统提供的API(Application Programming Interface,应用软件编程接口)符合REST架构风格,通过这样的API,这个系统能够与其他REST系统完成软件编程级的对接,这样的API就被称为RESTful API。

在云计算时代,一个系统是否能够提供RESTful API,直接决定其是否开放、是否能被融入到云中。

星融元Asterfusion云网络系统正是通过一系列RESTful API将网络的能力全部开放出来,从而将云网络完全融入到云计算软件定义、弹性调度、按需扩展、自动运维的世界中。

Asterfusion云网络开放所有能力 图8,Asterfusion云网络开放所有能力

在星融元Asterfusion云网络中(图8):
AsterNOS所提供的网络基础能力通过RESTful API开放,通过调用AsterNOS的各种人机交互界面(命令行、WebUI、控制面板等)API完成配置管理、参数设置、状态查询等任务;

Asteria Fabric Controller通过调用AsterNOS的RESTful API,将原子级的网络基础能力封装为网络业务能力,为使用者屏蔽操作细节,以降低复杂度并提升效率;

通过调用Asteria Fabric Controller和AsterNOS的RESTful API,任何REST架构的Cloud OS、DevOps平台、第三方应用都可以用SDN的方法自动化地管理、调度Asterfusion云网络。

Asterfusion云网络与OpenStack的集成

OpenStack是一个开源的Cloud OS,被用来在数据中心内部统一管理和控制所有的计算、网络和存储资源。

OpenStack——开源、开放的Cloud OS 图9,OpenStack——开源、开放的Cloud OS

无论是云管理员还是云用户,都可以通过OpenStack提供的控制面板和WebUI按需部署、自动调度云中的各种资源。

OpenStack是一个开放的系统,由若干子项目/模块构成,Nova(计算资源管理)、Neutron(网络资源管理)、Cinder(块存储资源管理)等。为了维持其开放性、与现有基础设施的兼容性,OpenStack的很多模块都定义了RESTful API标准,第三方系统只要按照这个标准提供对应的API,即可实现与OpenStack的无缝对接,从而被OpenStack集中管理、自动调度。

通过提供符合标准的RESTful API和插件,星融元Asterfusion云网络具备与OpenStack的Neutron和Octavia(负载均衡服务)的对接能力。

Asterfusion云网络与OpenStack的集成 图10,Asterfusion云网络与OpenStack的集成

由图10我们可以了解到:

OpenStack的其他模块通过调用预先定义好的API来使用Neutron和Octavia模块提供的虚拟网络和负载均衡服务;

  • Asterfusion为Neutron和Octavia模块提供的插件(也称为驱动),将他们对虚拟网络执行模块(例如OpenvSwitch)和负载均衡执行模块(例如HAProxy)的API调用映射为对Asterfusion网络RESTful API的调用;
  • 通过如上的调用,将OpenStack中的虚拟网络和负载均衡全部从计算空间中卸载到Asterfusion云网络上,大幅提升虚拟网络和负载均衡的性能,同时降低部署和维护的复杂度;
  • 对于OpenStack自身和运行在其上的业务系统来说,这一切过程都是透明的,不需要做任何的调整或再开发。
  • 通俗的说:在OpenStack上仍只需要点击两下鼠标,即可在高性能的Asterfusion云网络上完成虚拟网络和负载均衡服务的部署。

Asterfusion云网络帮助云计算进入新纪元

Asterfusion云网络是一个面向云中业务与应用的Cloud SDN平台。
全面开放、统一管理、自动调度、面向业务的Asterfusion云网络,为云计算大幅降低TCO、提高ROI,并提升运营效率。

面向云中业务与应用的SDN平台
图11,面向云中业务与应用的SDN平台

图11,在这个面向业务与应用的Cloud SDN平台上,

  1. 所有租户的虚拟网络不再由运行在计算空间中的软件来模拟,而是直接承载在Asterfusion交换机搭建的底层物理网络上,从而最大限度释放计算空间的计算力,充分利用底层硬件网络资源提供超高性能、超大容量、租户隔离、功能丰富的虚拟网络;
  2. 物理网络与虚拟网络全部通过Asteria Fabric Controller集中管理,通过单一入口的管理点降低云网络运维的工作量,并且轻松完成虚拟网络到物理网络的映射、发生故障时的关联分析、网络资源使用情况的分析与优化等高级运维任务;
  3. Cloud OS通过软件编程的方法调用Asteria Fabric Controller提供的业务级的RESTful API,自动化地完成按照业务需求对云中虚拟网络的运维任务,CloudOS无需关注云网络的部署细节,只需要关注业务对云网络的需求即可;
  4. Asteria Fabric Controller将从Cloud OS接收到的业务级请求翻译、分解成AsterNOS能够理解的原子级操作,通过调用AsterNOS的RESTful API,完成对支撑业务的云网络的自动部署、运维、优化,再将结果反馈给CloudOS,从而将云网络完全融入到Cloud OS的统一管理架构中。

Asterfusion云网络不再游离于云之外 图12,Asterfusion云网络不再游离于云之外

至此,星融元Asterfusion云网络不再游离于云之外,而是与计算、存储一起图片全面开放图片,共同成为云计算时代的“云基础设施”!

相关文章

云网络的回归之路-全开放篇(上)


关注星融元


自从2006年云计算正式诞生以来,只用了短短十年的时间,就已经发展到可以大规模在生产网络中部署及承载关键业务了。

我们纵观整个IT发展历史,在基础设施层面发生如此大的变革,云计算毫无疑问是首当其冲的。

在这么短的时间跨度内,云计算之所以能够有突飞猛进的发展,与亚马逊、谷歌、微软、阿里等这些老牌IT巨擎以及新锐互联网力量的勇于探索是密不可分的。

当然也与计算与存储技术在云计算时代的快速发展和自我调整有着紧密的关系。

被游离的云网络

当前的云网络游离于云计算的整体架构之外

计算、网络和存储
被并称为云计算的三大支撑基础设施

网络游离于云计算的整体架构之外

在云计算时代,计算和存储紧紧跟随了云的发展步伐,率先完成了架构的演进——

  • 系统从自我封闭到全面开放;
  • 架构从硬件主导到软件定义;
  • 管理从手工配置到自动调度;
  • 运维从以设备为中心到以业务为中心。

遗憾的是:网络,作为云中三大基础设施之一,却因为自身封闭的原因未能跟上这一步伐,从而使自身游离于云计算的整体架构之外。当前云网络封闭的表现主要在于以下几个方面:

  • 软硬件一体化
    私有的网络操作系统只能运行在私有的硬件平台之上,云计算的运营者不但无法享受硬件标准化带来的成本红利、有效降低TCO(Total Cost of Ownership,总拥有成本),而且往往面临着被底层网络锁定的风险。
  • 封闭在黑盒中的网络能力
    因为历史原因,很多网络设备只能通过低效的命令行方式、逐设备地进行部署配置,即便提供了集中控制器,也只是从网络维护的视角出发提供了一个简单的图形化的管理界面,并未将其与云中的业务与运营需求紧密结合。
  • 无法支持云中常用的DevOps工具
    DevOps(Developmentand Operations,开发运维)已经成为云以及网络运维的主要手段,各种自动化工具也在今天的云中大量部署、使用,但是传统网络却无法有效地集成或支持这些DevOps工具。
  • 面向设备而非业务的管理框架模型
    传统网络即便提供了统一控制器进行集中管理,其管理框架往往也是按照设备管理的模型进行设计,一个业务对网络提出的需求往往需要管理员人为地拆解成针对若干设备的若干配置需求逐一配置,在设计、执行、维护等方面的复杂度都非常高。

也正是上述原因,当前的云计算运营者采用了“在计算空间中用软件模拟虚拟网络(如下图)”的思路,来规避封闭的网络给云计算带来的限制。

在计算空间中用软件模拟虚拟网络

所以在“软件模拟虚拟网络”的云中,云计算运营者使用软件开发了各种虚拟网元(虚拟交换机、虚拟路由器、虚拟防火墙、虚拟负载均衡等)用来模拟云中租户需要的网络。与传统网络设备不同,这些虚拟网元完全具备软件定义、开放接口等能力,从而使得云对虚拟网络的各种需求,包括自动配置、动态调整、按需伸缩等,全部通过Cloud OS(Cloud Operating System,云操作系统,也称为CMP,Cloud Management Platform)对这些虚拟网元的自动调用来完成。

而位于底层的物理云网络,仅仅被作为最简单的三层IP通道来承载由“软件模拟虚拟网络”封装在隧道中的云业务流量。

这种解决方案虽然满足了云计算运营者对网络的需求,但缺点也是显而易见的:

侵占云中计算力、性能与效率低下、运维复杂度高、欠缺业务质量保障等。

我们很遗憾地看到,在网络与云之间形成了一种“因为底层网络不开放,所以用软件模拟;因为软件模拟,所以导致底层网络使用效率越来越低”的恶性循环,而这一恶性循环产生的根源就是网络自身的开放性。

云网络的回归之路

全开放的Asterfusion云网络有效弥合云与网络之间的鸿沟

针对传统云网络在开放性方面所面临的各种挑战,星融Asterfusion为云计算环境提供全开放云网络的解决方案,无缝地将云网络彻底融入到云中。
下面来看看星融Asterfusion是如何帮助云网络真正融入云计算的(如下图):

星融元云网络真正融入云计算的

  1. 底层硬件平台基于开放架构、商用可编程交换芯片设计,在为上层软件提供高性能运行环境的同时,彻底抛弃传统网络硬件私有、黑盒的设计理念。
  2. 运行在硬件平台上的标准Linux内核为上层应用提供开放的操作系统内核支撑,使得当前主流的DevOps工具能够直接运行在网络设备上,任何第三方应用也都能以容器的形式运行在这个标准的Linux内核之上。
  3.  AsterNOS是一款开放、智能、易用、高性能的网络操作系统,以SONiC/SAI为内核,为Asterfusion云网络提供设备级的控制平面,同时支持RESTful API能力开放、主流DevOps工具集成、主流Cloud OS集成、高性能内存数据库等云计算时代的必备功能。
  4. 对SAI(Switch Abstraction Interface,交换机抽象接口)标准的支持将AsterNOS和Asterfusion的交换硬件平台彻底解耦开来,AsterNOS可以运行在任何遵从SAI标准的硬件平台之上,Asterfusion交换硬件平台也能够支持任何遵从SAI标准的网络操作系统在其上运行。
  5. AsteriaFabric Controller(AFC)是为云计算环境设计开发的Cloud SDN Controller,与运行着AsterNOS的交换机系统共同组建一个面向云中业务与应用的Cloud SDN平台,在这个SDN平台上,所有的网络能力均以RESTful API的形式向Cloud OS开放,Cloud OS完全以自动化的形式、从业务的视角对云网络进行部署、调度,无需再关注网络底层的细节。

在部署了Asterfusion云网络的云中,使网络与计算、存储一样,自下而上形成了层次分明的“开放硬件世界”、“标准内核世界”和“自动管理世界”,从而使得Cloud OS能够对三大基础设施完全一致地统一管理、按需伸缩、自动调度。实现了网络、计算、存储一起成为真正意义上的“云基础设施”。

– 未完待续 –

相关文章

云原生、全栈可编程的下一代SDN解析与实践丨传统SDN架构演进


关注星融元


多年以前,由于基于传统协议的控制平面缺乏灵活性,无法满足多样的业务对数据平面的转发需求,软件定义网络(SDN)被提了出来。业界希望通过一种转控分离、开放解耦的架构,让网络资源能够被上层应用通过标准的API,更加灵活的按需分配。在这种架构下,SDN控制器提供北向接口给上层应用,实现网络资源的动态管理;并通过OpenFlow、NETCONF、SNMP、RESTCONF等南向接口控制底层网络设备数据平面转发行为及设备管理。

可见,SDN控制器的架构以及南向接口是SDN的关键技术点,不夸张的说,这两方面是决定整个SDN方案成败的关键因素。

在控制器领域,尽管OpenDaylight,ONOS和Ryu等开源系统已经逐渐被各个厂家和用户所接受,但由于南向接口OpenFlow的天然缺陷以及单体架构控制器的日渐臃肿,使得基于传统架构和技术的SDN解决方案,迟迟无法达到最初的设计理念,很难适应业务对网络的需求。

从本期开始,小编将连续出三篇系列文章,以ONOS(开放网络操作系统)为例,详细分析控制器的架构、网络设备可编程接口的发展趋势,解析以去中心化、云原生、协议无关为设计目标的下一代SDN体系结构,并分享星融在这方面的最新实践

什么是ONOS?

ONOS是领先的开源SDN控制器,被广泛应用于构建下一代SDN / NFV解决方案。它为SDN提供控制平台和管理网络的组件(例如交换机和链接),并运行网络应用程序提供通信服务。如果您熟悉传统的嵌入式交换机操作系统,则会发现ONOS可以管理整个网络而不是单个设备,可以大大简化多台交换机的软硬件配置管理和部署。如果您熟悉SDN控制器,则应该感到宾至如归,因为ONOS是一个可扩展的模块化的分布式SDN控制器。

接下来我们看看ONOS的设计原则和总体架构。

ONOS的设计遵循四条基本原则:

  1. 高可用性,高可扩展性和高性能;
  2. 要对网络资源进行高度抽象并简练地表示出来;
  3. 要做到协议无关及硬件无关;
  4. 网络应用程序的模块化。

ONOS的总体架构 图1 ONOS的总体架构

ONOS整体架构可分为三层,分别为:

  1. 北向接口(NBI),应用程序使用这些接口来了解网络状态(例如遍历拓扑图、拦截网络数据包),并控制网络数据平面。
  2. 分布式核心,负责管理网络状态,并将状态的变化通知给网络应用程序。核心层内部使用的数据库是可扩展的分布式键/值存储数据库Atomix。
  3. 南向接口(SBI),由共享协议库和特定设备的驱动程序构成的插件集合。

接下来我们主要介绍下分布式核心和南向接口层如何通过P4runtime协议与设备交互。

分布式核心

ONOS分布式核心由许多子系统组成,子系统负责网络拓扑、主机跟踪、数据包拦截、流编程等的维护和管理。主要的子系统有:

  • Device Subsystem- 管理网络设备集群
  • Link Subsystem- 管理网络链路
  • Host Subsystem- 管理主机及其在网络上的位置
  • Topology Subsystem- 管理网络拓扑及实时状态的更新
  • Packet Subsystem- 允许应用程序收发业务报文(从/往网络设备)
  • Path Subsystem-计算/查找网络设备之间或终端主机之间的路径
  • FlowRule Subsystem- 管理网络设备的流表规则

这些服务大多是使用分布式表(映射)构建的,而这些表存储在atomix数据库中,接下来让我们来看下Atomix数据库。

它可以跨一组分布式服务器进行扩展,并实现故障时的容错处理。Atomix是构建分布式系统的通用工具,它是一个基于Java开发的系统,其支持以下功能特性:

  • 分布式数据结构,包括maps、sets、trees、counters
  • 分布式通信,包括直接消息传递和发布/订阅
  • 分布式协作,包括locks、leader elections、barriers
  • 管理群组成员

Atomix在ONOS中的一个重要作用是协调ONOS的所有实例,主要体现在两个方面:

首先,ONOS具备水平可扩展的能力,在任何时间运行的ONOS实例的数量取决于工作的负载情况和在出现故障时为保证系统可用性所需的备份情况。Atomix group membership原语用于确定可用实例的集合,从而可以检测到已转换的新实例和已失败的现有实例。

其次,每个ONOS实例的主要工作是监视和控制网络中物理交换机的子集。ONOS采取的方法是为每个交换机选择一个主实例,只有主实例可以向给定的交换机发出(写入)控制指令,而所有实例都可以监视(读取)交换机状态。这些实例使用Atomix leader-election原语来确定每个交换机的主实例(主控制器)。如果一个ONOS实例发生故障,则使用相同的原语为交换机选择新的主控制器。当有新交换机上线时也采用相同的方法来为其选举主实例。

接下来看看ONOS是如何实现对P4Runtime的支持。

P4Runtime

在传统SDN方案中,OpenFlow一直被看做是控制底层网络数据平面的理想接口之一,但由于硬件支持度不高,在实际部署中并未达到预期效果。

P4Runtime作为一种控制器和网络设备之间的数据转发控制接口,和OpenFlow同样具备协议无关性,是一套基于Protobuf和gRPC框架定义的协议。通过P4Runtime协议,SDN控制器可以控制配置支持P4的网络设备。现在P4是数据平面可编程的主流代表,其匹配域和动作域可以任意定制,流表流水线也可以根据网络需求的改变而修改。

ONOS是如何支持流水线可变性的呢?

首先,ONOS为了解决这个问题,在Core层诸多子系统中横向扩展了一个子系统,叫做PI 框架。PI = Protocol/Program/Pipeline Independent,代表了协议无关、程序无关、以及处理流水线的无关。
PI框架是围绕着P4和PSA进行建模的,但PI框架在设计上是面向通用的协议无关思想的,能容纳未来各种协议无关的语言或者协议,目前仅仅是适配到了P4语言。PSA(Portable Switch Architecture)就是P4设备的一个通用架构描述,类似OpenFlow的TTP(Table Type Patterns)。PI架构里包含了一些类、服务和设备驱动的功能描述来建模和控制可编程数据平面,定义了抽象的表项和计数器等等。

PI框架在ONOS中的架构设计 图2:PI框架在ONOS中的架构设计

首先,最底层是协议插件,有P4 Runtime和gRPC;往上一层是Driver子系统,有P4Runtime、Tofino和BMv2等;最上层是核心层也是PI框架核心所在,它包含了PI模型、FlowRuleTranslation子系统和还有Pipeconf子系统等三大模块。而流水线流表可变性 实现的关键,就是这个FlowRuleTranslation子系统,下文统称为“流表翻译子系统”。

PI框架向上既可以支持pipeline无感知的应用,比如之前针对OpenFlow设备编写的程序 ;也可以支持对Pipeline有感知的应用,也就是针对特定的P4程序编写的控制应用。

接下来介绍下流表翻译子系统:

FlowRule Translation 图3 FlowRule Translation

PI框架里的流表操作涉及到三个阶段的转换操作,分别对应Pipeliner、Interpreter、P4Info这三个元素,也就是上图中的蓝色部分,是我们pipeconf(.oar)应用里的内容。

如果我们使用FlowObjective来下发决策,就会经过Pipeliner把它转换成FlowRule,当然我们也可以直接使用FlowRule。然后P4设备驱动会调用PI框架的FlowRuleTranslation 子系统,借助Pipeline Interpreter把FlowRule转换成PI Table Entry,它是PI框架对一条表项的抽象。最后PI Table Entry会在南向协议插件的P4Runtime Client中借助P4Info转换成P4 Runtime Message这个通信报文,然后在网络中传递给P4设备。如上图3所示,流表操作主要就是三次转换。

介绍完分布式核心和P4Runtime,让我们来看看ONOS的发展现状。

ONOS的发展现状

随着ONOS 2.0版本的发布,当今的ONOS架构提供了一个稳定的基础平台,包含了许多的功能特性,例如简单的第三方应用开发、轻松的分布式集群部署、服务自动导入、已存在大量的第三方应用和拓展组件。

但是,ONOS架构当前也同样存在一些限制,比如有限的资源隔离、基于平台的应用仅支持java或JVM-based语言开发;比如应用/服务水平扩展困难、组件无法迁移到平台之外(控制平面功能无法卸载到设备);再比如与NFV的集成受限且对NFV的支持也同样有限等等。尽管上述限制在本质上都是技术性的,但它们还是限制了ONOS在一些重要的行业场景中的应用,因此我们必须解决ONOS的这些限制。

ONF(Open Network Foundation)正在开发一个新的开源架构Micro ONOS(µONOS)以提供真实网络控制、零接触配置和可验证安全的网络,并使运营商可以完全控制其网络 ,这也是下一代SDN的发展趋势。

相关文章

连接未来的SONiC!


关注星融元


什么是SONiC?

在构建公有云平台Azure的过程中,微软逐渐意识到传统网络设备的局限性。

于是成立了SONiC(Software for Open Networking in the Cloud)/SAI(Switch Abstraction Interface)开源项目,目标是针对Azure对网络的需求,基于标准的Linux内核重新构建一个开放的网络系统软件。

并且,微软没有将这个系统做成封闭的,而是以开放、开源、社区的模式运作;

SONiC/SAI最近几年的蓬勃发展在很大程度上也是得益于此…

SONiC/SAI概念

图1:SONiC/SAI概念

在SONiC/SAI定义的开放架构中,传统网络设备软硬件一体的封闭架构被打破,软件和硬件被彻底解耦;就好像今天的Windows/Linux操作系统能够运行在任何第三方基于标准设计的PC/Server硬件上一样,SONiC/SAI网络软件系统也能够运行在任何符合标准的网络硬件平台之上啦!

SONiC/SAI给整个网络产业带来的最根本变革是:

  • 软硬件解耦的理念和标准化的软硬件接口定义,分别让网络软件系统和硬件平台飞速发展;
  • 网络软件系统的演进,也可以让快速迭代、按需定制、社区共建成为可能;
  • 网络软件的开发形成了全新的共建、共享、开放的网络生态系统,快速推进网络自身的发展。

SONiC/SAI全新的理念、开放的架构,很快获得了云计算时代的用户、厂商的青睐,成为云计算时代构建网络软件系统的首选。

也正因此,SONiC/SAI被OCP(Open Compute Project,开放计算项目)吸纳,成为OCP网络组的两个子项目。

SONiC系统架构

SONiC构建在Linux系统之上,并且利用键值数据库(redis)、容器技术(docker)、标准化硬件接口定义等技术,使其成为一个软硬件彻底解耦、软件模块松耦合(loose coupling)、高可靠、易于扩展、开源开放的网络软件系统。

SONiC架构图

图2:SONiC系统架构

从图2我们可以看到:

  • 运行在用户空间的SONiC系统,只有为数很少的模块(pmon、swss和syncd)与Linux内核之间存在交互关系,从而保证了系统的稳定性。
  • 以redis键值数据库为交互中心,redis为SONiC的所有软件模块构建了一个松耦合的通信载体,同时提供数据一致性、信息复制、多进程通信等机制。
  • 采用了最新的容器架构,除SONiC CLI和SONiC Configuration这两个软件模块以外,构成SONiC系统的其他各个软件模块均被隔离在独立的Docker容器中。使用者无论需要增加新的功能,还是改变一个Docker,都不需要做太大的变化,只对一个局部做出改变即可!

星融元基于SONiC构建的网络操作系统

星融是国内最早参与SONiC社区的公司之一

经过几年的发展,SONiC已经成为云计算领域极具发展前途的开源社区之一。

星融(Asterfusion)创始团队的核心成员来自于华为、Cisco、Broadcom等知名网络企业,对于网络和云计算领域的技术和产品有着深刻的理解,创立星融之前就已经在积极跟踪、深度参与SONiC及其社区。

作为新一代云网络供应商的星融自成立之初就正式加入了SONiC社区,成为国内最早参与SONiC社区的云网络公司之一。

国内最早参与SONiC社区的云网络公司之一。

图3:SONiC社区成员

SONiC社区活跃的成员大致可以分为以下几类:

  • 互联网巨头/云计算公司:阿里巴巴、百度、滴滴、Docker、Facebook、京东、LinkedIn、Microsoft、腾讯等
  • 传统网络设备供应商:Arista、Cisco、Dell、Juniper、Ruijie等
  • 白盒网络设备供应商:Celestica、Edgecore、Quanta等
  • 新一代云网络供应商:Apstra、Asterfusion等
  • 网络交换芯片供应商:Barefoot、Broadcom、Cavium、Centec、Innovium、Marvell、Mellanox等

可见,SONiC社区已经形成了从最低层芯片到最上层大规模用户的全面生态系统,这个生态系统从硬件芯片、系统架构、系统集成、大规模应用等各个层面促进着SONiC的发展与成熟。

AsterNOS网络操作系统

星融致力于为云计算时代的用户提供新一代云网络解决方案。

为了提供全开放、高性能、业务可视的云网络解决方案,星融以SONiC为内核,构建了新一代的网络操作系统——AsterNOS。

AsterNOS整体架构

图4:AsterNOS整体架构

AsterNOS构建在标准的Linux内核与SONiC/SAI之上,基于SONiC的标准功能,星融为AsterNOS开发了一些增强特性💪🏽:

  • 增加了VLAG、BGP EVPN、PICFA™、REST API等功能来提升系统整体可用性;
  • 通过REST API将网络的所有能力开放出去,使系统能够被第三方云管平台集中管理、自动调用;
  • 基于REST API提供了Web UI,让用户能够通过图形化的界面来操作和管理云网络;
  • 应用编排、业务调度、资源管理、策略管理等运维和运营的增强特性,使系统能够支持云管理平台的业务统一规划、自动部署;
  • 集成了Python、Ansible、NETCONF等DevOps工具,使得系统能够与DevOps平台自动对接;
  • 开放标准的Docker容器环境,支持第三方应用直接在网络系统中运行。

另外值得一提的是,星融还为AsterNOS提供了可编程

  • 基于可编程交换芯片的高性能硬件平台
  • 统一控制器:Asteria SDN云网控制器(AFC)

AsterNOS、AFC和高性能的可编程硬件平台一起为云计算提供新一代的SDN云网络方案:

星融云网络方案整体架构

图5:星融云网络方案整体架构

星融积极回馈SONiC社区

秉承开源、开放的精神,星融积极回馈SONiC开源社区。
截至2020年4月,星融已经向社区贡献了多个Bug Fix,其中有21个通过社区评审,并被合并进入主线版本。

这21个Bug Fix具体如下:

 20个针对SONiC系统,分布在路由协议(FRR、docker-fpm-frr、vrfmgrd)、应用模块(dhcp-relay、libteam、lldp)、VXLAN隧道(vxlanorch)、ACL模块(portsorch)、安全保护(copporch、ebtables)、服务质量保障(qosorch)、系统与配置管理(sonic-sfp、config、hostcfgd)、系统仿真(vstests)等模块。

除了上述Bug Fix以外,星融目前正在计划将自行开发的增强功能也贡献给SONiC社区,帮助社区进一步提升SONiC的可用性、易用性。

星融可以帮助企业用户使用SONiC

针对企业用户,在部署SONiC和基于SONiC进行的二次开发过程中遇到的一些难题,星融从以下几个方面,可以帮助企业用户顺利使用SONiC。

搭建本地Git仓库

很多企业用户通过github.com下载、编译SONiC源代码的过程并不顺利,往往会碰到无法连接、下载速度慢继而导致编译失败等问题。

针对这样的问题,星融在云端为企业用户搭建了位于本地的Git代码仓库,定时、自动地克隆源服务器上的相关内容以提供本地镜像,需要使用时只要连接到这个本地的Git代码仓库即可。

提供技术咨询服务

针对企业的生产环境,星融编制了全面的测试用例,在基于各种交换芯片的硬件平台上对SONiC系统中的各个软件模块进行了详尽的功能、集成、性能及压力测试,并且将测试过程中发现的问题修正后反馈给社区。

在这个过程中,星融积累了对SONiC系统的深刻理解,能够提供全方位的SONiC技术咨询服务,帮助企业用户清楚明白地使用SONiC。

提供一站式SONiC解决方案

对于希望使用原生SONiC的企业用户,星融能够帮助用户在选定的硬件平台上快速地完成开源、开放云网络系统的构建与部署;对于希望使用一站式解决方案的用户,星融可以基于AsterNOS、可编程交换硬件平台及AFC的支持,提供Turn-key方式的交付与部署,帮助用户轻松享受新一代的云网络技术为IT系统带来的“速度与便捷”。

功能与特性的定制开发

经过三年的发展,星融目前已经拥有了将近80名具备SONiC经验的开发/测试工程师,其中不乏具备架构能力的技术专家。因此,对于客户提出的针对网络的特殊功能需求,星融能够提供定制开发服务,将客户对需求的等待时间从18-24个月缩短到2-4周。

相关文章

走向可编程、开放与解耦之路


关注星融元


今天,用于流量采集和预处理的前端设备的功能越来越强大。随着实现技术的不断进化、可视化系统整体方案的复杂度越来越高、网络运维和信息安全中可视化系统应用部署越来越广泛,行业对前端设备的功能、集成度和成本要求也越来越高。

那么,在过去、现在和将来,可视化系统前端设备都经历了何种发展历史、形成了什么样的现状、又即将面对何种发展趋势?


前端设备的现状

今天主流的前端设备都是由传统网络设备逐步演化而来,其主要组成部分包括:

➤ 线路卡。主要功能包括接入和输出,即从分光器(或者生产网交换机的镜像端口)接入需要预处理的业务流量、将经过预处理后的业务流量输出到可视化分析、安全分析等后端系统。

➤ 业务卡。主要功能是对所接入的原始业务流量按照后端系统的需求进行各种预先的深度分析处理,降低后端系统的流量处理负载、提升整体系统的性能。

➤ 交换卡。主要功能是在多块线路卡和业务卡之间构建一个高速交换通道,形成一个具备高接口密度和高业务处理性能的整体系统;通常,交换卡会采用正交连接器或高速背板来和线路卡、业务卡进行互联。

业务卡所提供的流量预处理是整个前端设备最核心的能力,也是对后端系统来说最核心的价值所在。因此,接下来的讨论从业务卡开始。

业务卡的发展历史与技术路线

在过去十多年的发展历程中,随着产业基础支撑技术的发展,今天的业务卡所采用的架构也对应地形成了四种技术路线。

➤ FPGA(Field Programmable Gate Array)

具备和交换芯片类似的L2、L3和L4功能,但是针对报文的L7特征提取和分析等能力则非常有限。在这种架构中,灵活的L2、L3和L4-L7的报文处理都需要用Verilog这样的高级电路开发语言消耗FPGA的逻辑单元形成计算能力来实现。

➤ NPU(Network Process Unit)

能提供较丰富L4能力,也有较高性能的L7特征匹配分析能力。历经数代发展后,最后一代号称能够提供100G的L7协议分析处理能力的NPS在2016年被Mellanox收购后正式宣告停止后续的发展路标,大量采用NPS进行前端设备研发的厂商失去了技术支持,后续供货陷入高成本、备货周期不可预测、随时可能会停产的尴尬境地。

从另一个侧面看,所有NPU核心芯片厂家一致认为,用NPU实现L2-L4的功能,灵活有余而复杂度太高,且成本太高,用NPU实现L4-L7的功能以满足DPI的需求,则处理能力不足,在应对复杂场景时,心有余而力不足。

因此,对于今天需要对流量进行深度处理的市场(包括本文所述的可视化系统前端设备和防火墙、多业务路由器等)来说,NPU基本是一个已经被证明的在市场和技术上双重失败的典型案例。

➤ 以MIPS多核处理器为核心的SoC

SoC(System on Chip,片上处理系统)能够提供超高的系统集成度、丰富的I/O资源和灵活与性能兼备的加速子系统,而MIPS本身也能基于其强大的通用计算能力提供高性能的L4-L7的深度分析处理能力,自然而然的,两者相结合的架构可以为DPI分析需求提供高性能和灵活性兼具的解决方案。因此,从2010年开始的近十年间,以MIPS多核处理器为核心的SoC架构一直承担着L4-L7深度分析处理的主要任务。今天,MIPS处理器的指令集架构正在逐步被通用计算指令集(如X86和ARM)取代。

➤ 通用计算处理器(CPU)

今天的X86和ARMv64通用处理器,通过充分发挥SIMD指令集的效率,能够提供比肩MIPS/SoC片上加速单元的L4-L7特征分析处理能力,其通用计算能力也为报文分析提供了非常强大的软件生态支持。

(注:SIMD,Single Instruction Multiple Data,意指“单指令流多数据流”,是一种采用一个控制器来控制多个处理器同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。在微处理器中,单指令流多数据流技术则是指一个控制器控制多个平行的处理微元对数据向量进行并行。)

线路卡的来龙去脉与前世今生

正因为早期的业务卡多从FPGA/NPU做起,而FPGA/NPU可以在提供业务处理能力的同时提供必要的L2-L4处理能力和端口I/O能力,所以早期的业务卡往往会混合着端口I/O、L2-L4处理及L4-L7处理三种能力,而且,每端口I/O的成本和FPGA/NPU的计算能力成正比。但是,从各种真实应用场景的实际情况来看,高密度I/O端口之间的L2-L4路由需求和需要强大计算能力的L4-L7深度处理需求之间并不能简单地按照线性比例部署,因此,为成本及灵活性计,L2-L4和L4-L7必须解耦,而这种解耦的要求直接导致了从业务卡中分化出线路卡的结果(就像从路由器中分化出了交换机⼀样)。

一般的,线路卡通过计算力不强、但I/O密度高、L2-L4功能相对完善的ASIC芯片来提供流量的接入、汇聚、过滤等标准的L2-L4处理。典型的线路卡实现采用了Switch芯片(交换芯片):

➤ 传统交换芯片中,Broadcom和Marvell是具备绝对市场统治地位的供应商,其芯片按照交换机的逻辑实现了经典的L2查表、L3查表等处理流程。在用作可视系统的前端设备时,前端设备的控制面软件通过特别的控制管理,可以利用交换芯片实现相当一部分前端设备的处理逻辑。但是,由于前端设备处理逻辑的查表键值与匹配流程和Switch芯片的经典流程并不完全相同,随着可视化系统对前端设备灵活性的要求越来越高,随着新网络协议和业务层出不穷,经典查表流程已经不能满足前端设备的L2-L4处理要求。

➤ 而事实上,类似的问题也出现在标准网络交换设备在日常的组网中,例如,根据多重隧道内层报文进行特征匹配,或者根据报文各层字段组合进行组合特征匹配,或者在一个处理流程中实现L2、L3和L4的并行处理、甚至对报文的负载部分进行修改等功能。虽然这些功能并不需要特别强大的计算能力,但是当标准Switch芯片不支持这些功能时,人们不得不将需要如此处理的流量提交到业务卡上去处理。

➤ 通常,对于每1个单位成本实现的1Tbps容量的L2-L4的Switch ASIC方案,需要2单位成本实现100Gbps的业务处理能力,这意味着,为了实现标准Switch芯片不能支持的L2-L4功能,我们可能需要多达20倍成本的业务卡才能实现这些功能。

➤ 事实上,今天的路由器、防火墙、NFV(Network Functionality Virtualization,网络功能虚拟化)在很多场景下,也在为了解决交换芯片并不容易实现的L2-L4灵活处理流程而不得不采用昂贵的计算资源来实现这些流程,也就是说,“支付20倍的实现成本”在一些特定的L2-L4需求和深度的L4-L7需求面前,是一个普遍的现象。

线路卡的未来

当交换机标准处理流程已经固化到ASIC之后,我们是否能够为新出现的L2-L4处理流程找到昂贵计算资源之外的低成本实现方案?能!答案就是可编程交换芯片。可编程交换芯片其实就是为了解决这样一种尴尬的场景而出现的新技术。可编程交换芯片通过使用高级语言灵活定义查表键值和处理流程,用和传统交换芯片同样的成本实现了(几乎)任意L2-L4的流程要求。

幸运的是,前端设备所有的L2-L4非标流程都可以得益于可编程交换芯片的灵活性,而不必支付比标准交换芯片更高的成本。当然,我们也可以看到,多业务路由器、防火墙和NFV里面相当一部分利用计算资源实现的L2-L4层非(Switch芯片处理流程的)标准能力,也完全可以由可编程交换芯片实现!更有甚者,L4-L7的部分内容特征识别和过滤也可以在可编程交换芯片中实现。

DPI是最具代表性的后端系统之一。为了便于说明问题,以下我们以DPI为例来讨论未来的架构。

DPI对芯⽚计算能⼒的要求

今天的DPI系统是一个对网络处理能力和计算能力都有很高要求的综合系统。一个典型的DPI系统需要具备如下技术能力:

➤ 报文的L2-L3过滤、缓存和重组

➤ 报文的L4-L7特征匹配处理

➤ 邮件、下载、网页内容的还原与搜索

➤ 运营商移动系统信令解码

➤ 视频和音频数据流的解码

➤ 用户身份分析和行为关联

由于前端设备和DPI往往被传统可视化系统的实现混为一谈,我们将DPI的技术能力实现方式用前端设备业务卡的四条技术路线进行一下适应性梳理:

从上述对比可以看出,基于FPGA和NPU的前端设备在DPI系统中已经失去了任何竞争优势,我们基本可以提前得出结论:在FPGA和NPU实现的前端设备上提供DPI,将给最终用户带来极大的投资损失;MIPS多核也许还会在一段时间内保持技术竞争力,但最终通用计算将成为DPI实现的重要选择。

DPI的未来趋势

➤ 随着HTTPS等加密流量的持续增加,特征匹配在大部分场景下将失去效果,机器学习将在DPI实现中扮演日趋重要的角色;

➤ 随着DPI系统部署规模的持续增加,应对流量潮汐现象的虚机调度也日趋重要;

➤ 随着DPI系统中对视频音频处理需求的增加,计算功耗的消耗更大幅增加,同时,报文对内存缓存和外存缓存的要求也日趋增加。

结合这些趋势,我们可以看到,采用MIPS多核处理器来解决DPI的问题,从短期来看,可以在L4-L7特征匹配和信令解码方面做到同等性能比X86更低的功耗,但是从长期来看,缺乏机器学习生态系统支持、缺乏虚拟机调度支持,缺乏大容量内外存储器,会让MIPS多核处理器在未来大规模部署DPI系统时,限制DPI的未来扩展能力。

机架式设备的限制

从上面逐步梳理分析来看,X86/ARMv64这样的通用计算CPU才是大规模DPI系统实现和部署的未来之路,那么,是否意味着将X86放到前端设备的机架中,就能为用户提供高集成度的DPI方案呢?答案依然是否定的。原因在于,机架有限的插槽空间会限制X86 CPU的选择,插槽空间小意味着对功耗要求的苛刻,意味着当前高端通用CPU很难在插槽中获得真正落地,意味着当系统需要GPU加速、需要内存和外存等大量缓存的时候,作为插槽单板的X86很难提供和独立服务器可以比肩的扩展能力。

当前我们知道,在正交或者ATCA中放置的X86 CPU,比主流服务器上的CPU落后两代,主频和核心数量也是主流服务器的70%以下,这样的X86 CPU,根本不足以提供DPI需要的计算性能。

成本是第另一个重要的问题。前端设备的机架插卡空间,每个槽位不仅仅意味着物理空间的成本,更意味着对机架交换板和电源成本的分担,这两者给本来就比通用服务器性能要低一半的X86插槽带来了一倍以上的成本增加。因此,用X86集成到前端设备中,放弃通用服务器低成本的横向扩展能力,这样的技术路线无法支持DPI的部署规模和功能特性持续演进。

未来DPI整体架构的判断

未来,试图整合DPI、存储和可视分析的一体化前端设备会随着网络可视分析系统规模的扩大而越来越无法适应业务可视分析对软件复杂度和系统规模的要求。相反,就像今天互联网服务商的业务全部云化、5G业务正在云化⼀样,随着通用计算CPU算力的持续提升,随着可编程交换芯片标准化和灵活度的持续提升,我们相信,业务可视分析也正在向“云”进行演化:

➤ 各种L2-L4的预处理和部分L4-L7的深度处理会被软件可定义、芯片可编程的智能可视交换机取代;

➤ 高密度I/O端口和灵活L2-L4层处理流程,并含有少量L4-L7内容特征识别过滤能力的“智能”线路卡将成为盒式智能可视交换机;

➤ 盒式智能可视交换机实现了80%前端流量的处理,还有20%前端流量处理,例如用户身份和数据面的关联、 报文会话重组、去重、(合法)解密等,会迁移到通用计算CPU中,以流量预处理NFV的方式实现;

➤ DPI流量分析则会进一步向后端系统迁移,形成混合了L7元数据生成、大数据分析与机器学习的DPI分析私有云。

最后,总结一下。

在Asterfusion的整体解决方案中,通过“智能可视交换机+流量预处理NFV”提供的VaaS(Visibility-as-a-Service,可视即服务)将会成为重要的IT基础设施之⼀;以VaaS为前端的可视化系统私有云,会按照标准私有云的建设方式,用通过SDN交换机互联的、可以大规模横向扩展的服务器集群来进行硬件基础设施的建设。此时,我们更欣喜地看到,无论是VaaS前端,还是可视化系统私有云后端,所有的基础设施都会被简化成智能可视交换机和标准服务器两种硬件。Asterfusion星融正是这样的简洁、归一、标准和优雅的软硬件开放系统的重要方案提供商。Asterfusion的开放软硬件平台将为可视化系统提供极具性能、成本和扩展能力优势的基础设施。

相关文章

了解云网络的十五年演进史,只看这一篇!


关注星融元


云中的网络自从诞生以来,一直就是热门话题。

2005年前后出现的、基于隧道技术的二层虚拟网络逐步部署和在生产环境中的验证,

云网络(更确切地说是虚拟化网络)才走上了相对正确的发展道路。

二层虚拟网络(Layer 2 Overlay Virtual Network),指采用隧道技术在底层网络上构建出来的供每个租户使用的虚拟网络。根据需求,每个租户可以拥有一个或者多个二层虚拟网络;对于租户的虚拟计算节点来说,运行在二层虚拟网络上并不需要满足任何特殊要求,与运行在标准的Ethernet/IP网络上并无二致。也就是说,原先的业务、工具、协议完全可以无差别地运行在这样的二层虚拟网络之上而不用做任何改动。

但是,云计算的本质(虚拟化、虚拟节点迁移、虚拟节点二层可达)却使得二层虚拟网络对底层网络提出了特殊的需求,而这些需求在传统的园区物理网络中是根本不需要考虑的。简单总结下来,这些特殊的需求包括:同一张物理网络承载多个租户的虚拟网络、租户的虚拟网络所用的IP地址空间可以重叠、属于同一租户的虚拟计算节点能够在物理服务器之间(即不同的物理交换机之间)迁移、虚拟计算节点迁移时不允许更改其IP地址等。

为了满足上述需求,云中的二层虚拟网络大致经历了如下几个发展阶段:

三层方案:三层架构的底层网络承载运行在服务器中的二层虚拟网络

三层架构的底层网络承载运行在服务器中的二层虚拟网络

这种方案中的底层网络完全沿用了园区网络的架构,从上到下分别是核心、汇聚和接入三层,因此称为三层方案。而二层虚拟网络的所有功能,包括VXLAN(Virtual eXtensible Local Area Network)和VTEP(VXLAN Tunnel End Point)及其相关功能,则完全运行在物理服务器内部的vSwitch上,底层网络只是被用作最简单的转发通道,以隧道的方式来转发物理服务器发送的二层虚拟网络流量,根本不用关心二层虚拟网络的任何细节信息。

二层方案-框式Spine:底层网络由三层架构进化为以框式Spine为核心的二层架构

底层网络由三层架构进化为以框式Spine为核心的二层架构

当性能瓶颈和可扩展性限制在三层方案中愈演愈烈时,二层架构的CLOS交换网络被引入到新一代数据中心网络的设计中来,底层网络由三层架构演进为二层架构。CLOS交换网络一般由两层交换机搭建而成,位于网络核心层的被称为Spine交换机,位于接入层、用来接入服务器的则被称为Leaf交换机(或ToR交换机,Top of Rack),Spine和Leaf之间则采用full-mesh全连接。这个时期的二层架构CLOS交换网络的Spine一般由两台(或多台,取决于Leaf交换机的上行接口数量)大容量的框式交换机(称为Spine交换机)承担,Leaf则是由具备48个10G接口和2-6个高速上行接口(40G或100G,向上连接到Spine)的1RU高盒式交换机承担。显而易见,这样的架构通过减少报文转发的跳数和在Spine/Leaf之间构建负载分担的多链路很好地解决了三层方案的性能瓶颈问题,也通过框式Spine的纵向扩展能力(Sale-up)在一定程度上解决了可扩展性的限制。在这种架构的网络中,二层虚拟网络仍然运行在物理服务器中的vSwitch上,底层网络依然只是被用作最简单的转发通道来转发物理服务器发送的二层虚拟网络流量。

二层方案-盒式Spine:二层方案的核心由框式Spine进化为盒式Spine

二层方案的核心由框式Spine进化为盒式Spine

云数据中心的规模越来越大,框式Spine和Scale-up终于也面临可扩展性有限和性价比太低的挑战,于是性价比更高的较大容量盒式Spine和横向扩展能力(Scale-out)被引入到CLOS网络的设计中。

在以盒式Spine作为核心的架构中,多个盒式Spine被部署在核心层,取代了原先的两个框式Spine,并且利用CLOS架构天然的横向可扩展性,为云计算带来了在交换性能、可扩展性、性价比几方面综合最优的底层网络。在这个方案中,二层虚拟网络依然运行在物理服务器中的vSwitch上,底层网络依然只是最简单的传送通道。

显而易见,在这三种方案中,二层虚拟网络都是运行在物理服务器内部,由vSwitch软件占用物理服务器CPU的计算力来模拟的,因此我们将这三种架构统称为“vSwitch方案”。而后,第四种方案出现了——硬件/EVPN方案,它最大的不同是:二层虚拟网络的功能开始从物理服务器向底层网络迁移。

二层虚拟网络的功能开始从物理服务器向底层网络迁移

  • 基于“硬件/EVPN方案”的云网络,采用高性能硬件平台构建底层Underlay网络;
  • 属于所有租户的二层Overlay虚拟网络从物理服务器的计算空间卸载到高性能的底层Underlay网络上,将被二层Overlay虚拟网络耗费的大量CPU计算力释放出来;
  • 使用MP-BGP EVPN为二层Overlay虚拟网络构建独立的控制平面,降低维护复杂度、提升系统整体效率。

“硬件/EVPN方案”的优点显而易见,它将二层虚拟网络中非常耗费计算力的功能从物理服务器迁移到底层网络的物理交换机上,让二层Overlay虚拟网络回归到底层Underlay网络的高性能硬件平台之上,不再大量耗费物理服务器CPU的计算力,因此其性能和效率显然优于“vSwitch方案”。

同时,“硬件/EVPN方案”采用高性能网络硬件平台实现封装、去封装等功能,进一步提升二层Overlay虚拟网络的整体性能。并且,独立的MP-BGP EVPN控制平面为二层Overlay虚拟网络提供多租户的路由空间隔离,隧道的自动发现和部署,数据平面广播的有效抑制。

从2005年至今,云网络一路发展演进到“硬件/EVPN方案”,云中的二层虚拟网络需求似乎已经得到了完美的解决。

只是,遗憾的是,二层虚拟网络对计算节点容量的巨大需求与Leaf交换机转发信息表项空间的局限性之间存在着不可调和的矛盾!

这对矛盾使得“硬件/EVPN方案”无法真正在生产环境中部署。先进的架构的确解决了云的性能问题,却也成为限制云的整体规模增长的瓶颈。

为了解决这对矛盾,Asterfusion(星融)为下一代云网络打造了全面创新的分布式架构——PICFATM,Protocol Infinity Cloud Fabric Architecture,协议无限云网架构。PICFA采用独创的分布式路由算法和与之相配合的转发逻辑,完全重构了云网络的控制平面与数据平面,彻底抛弃了传统网络中低效的集中式存储结构与转发逻辑,将云网络对云中虚拟计算节点的容量支持一举提升100倍至千万量级,同时大幅提升转发性能,使网络不再成为云计算容量的限制因素,从而为云网络从计算空间向底层物理网络的迁移打下坚实的基础。

PICFA将Asterfusion(星融)云网络所有交换机的能力整合为一个超级的“分布式虚拟路由表”。在部署了PICFA的云网络中,所有租户的所有虚拟网络信息被动态、智能、均衡地分布在全网的所有Spine和Leaf交换机上,充分利用所有交换机的所有表项空间,由此,单台网络设备的FIB容量不再成为云的容量限制,虚拟机数量获得量级的提升,服务器计算力被充分利用。

分布式虚拟路由表

基于创新的整网FIB融合架构、协议无限的可编程能力、深度报文检测能力、开放透明的网络操作系统和统一开放的硬件平台设计, Asterfusion(星融)云网络将为云计算构建下一代高性能网络,将网络真正融合到云中,为我们在云网络之路上的探索翻开新的篇章,完美地解决大规模云数据中心的关键需求:

  • 底层网络容量Scale-wide扩展:每张底层网络可支持从768到4,096台物理服务器
  • 超大规模虚拟网络容量:每张底层网络最大可支持64,000租户和16,384,000虚拟计算节点
  • 丰富的接口类型:从10G光/电到400GQSFP56-DD
  • 线速交换性能:VXLAN隧道的封装与去封装和NSF的处理完全不影响交换性能
  • 丰富的NSF:包括L4LB、NAT、DDoS等最常用的NSF功能
  • 端到端的QoS能力:0丢包率、超低延时确保SLA
  • 应用可视化:基于深度报文头检测的网络遥测功能帮助云中关键业务优化运行
  • 与CloudOS的深度融合:可被CloudOS自动、集中管理,将DevOps扩展到网络

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2