核心技术

可编程交换芯片为上层业务软件解锁

顾名思义,可编程交换芯片与传统交换芯片最大的区别就在于其可编程性。与传统交换芯片将报文处理和转发逻辑固化在芯片硬件中不同,可编程交换芯片的报文处理和转发逻辑是能够通过软件来按需调整的。交换系统的设计开发者通过可编程交换芯片提供的高级编程语言,按照上层业务系统的需求开发芯片的报文处理和转发逻辑,然后将这样的逻辑下载到可编程交换芯片的处理流水线中,可编程交换芯片就可以按照这些定制的流程来处理网络流量和报文。

可编程交换芯片带来的好处也是显而易见的。在以可编程交换芯片为核心的交换系统中,业务与控制软件不再受限于底层芯片的能力,可以根据自身的需求进行开发与定制;通过为不同的需求、不同的场景定制不同的报文处理和转发逻辑,芯片的各条流水线能够协同工作,在不损失系统整体性能前提下,将这些场景的需求在芯片的报文转发层面实现,从而使得系统整体的效率大幅提升。

当然,可编程交换芯片的硬件载体依然是ASIC与FPGA(Field Programmable Gate Array,现场可编程门列)的结合体,集成在芯片中的硬件资源(片载内存、流水线等)毕竟是有限的,因此也就不可能无限地将所有的网络功能全部在芯片中编程实现。但是,在当前的网络应用环境中,将一些常见的网络功能转移到芯片中以可编程的形式实现已经是绰绰有余了。

从其实现逻辑和所达成的效果来看,可编程交换芯片不仅是一次交换芯片硬件技术的发展,更是SDN(Software Defined Network,软件定义网络)这一理念在支撑网络的硬件芯片层面的一次伟大革新。可编程交换芯片让网络在保持高性能的前提下,前所未有地接近了软件定义这一未来发展趋势。

基于可编程交换芯片构建随需而变的云网络

在云网络中,构成底层网络的交换机其实在不同的位置上扮演者不同的角色,云网络其实也对这些不同的角色提出了不同的需求。

右图是一个典型的Spine-Leaf架构的云网络。在这个云网络中,所有的交换机其实被分为三种不同的角色(在实际环境中,因为Leaf交换机往往被部署在每个机架的顶部,因此也被称为ToR(Top of Rack)交换机):

  1. Spine交换机,构成云网络的骨干交换机。
  2. Server ToR,位于物理服务器机柜的顶部、将所有服务器接入云网络的交换机。
  3. Gateway ToR,位于网关设备机柜的顶部、连接云与外部世界(Internet或云的其他部分)的交换机。

显而易见,上述的三种角色在云网络的不同位置承担了不同任务,它们需要处理的流量的特征、所需要花费硬件资源的配比等都是不同的。在传统交换芯片构成的网络中,我们只能用一套固定的处理逻辑来应对这些不同的需求,但是在可编程交换芯片的网络中,情况就不同了。

可编程芯片能够为不同角色的交换机编制不同的转发逻辑、硬件资源分配配比:

  1. 对于Spine交换机来说:最关键的任务在于提供简单、线速的三层多路径转发通道,同时,在Asterfusion的协议无限云网架构中,要求其能够承载较大的二层转发表项即可。
  2. 对于Server ToR来说:最关键的任务在于提供虚拟计算节点世界的感知、虚拟网络的卸载和转发,同时,在Asterfusion的协议无限云网架构中,只要求其能够承载本地的二层转发表项即可。
  3. 对于Gateway ToR来说:最关键的任务在于承载、处理网关之间复杂的控制、转发策略和大容量的路由能力,同时,在Asterfusion的协议无限云网架构中,对于其二层转发表项的能力是非常低的。

当然,在上述架构中,我们完全也可以采用集中式或分布式的模型,将NAT、SLB等一些功能分布到Gateway ToR和/或Server ToR上。

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

Asterfusion采用可编程交换芯片架构云网络交换机产品

Asterfusion的全线云网络交换机产品,均采用可编程芯片架构。基于Asterfusion的云网络交换机,云计算的运营者能够轻松搭建软件可编程、随需而变的云网络,为云中业务构建一个灵活敏捷的网络平台。