在云网络中,构成底层网络的交换机其实在不同的位置上扮演者不同的角色,云网络其实也对这些不同的角色提出了不同的需求。如下图表示的这个云网络中,所有的交换机其实被分为三种不同的角色(在实际环境中,因为Leaf交换机往往被部署在每个机架的顶部,因此也被称为ToR交换机):
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上。
星融云网络中的交换机产品,均采用可编程芯片架构。交换系统的设计开发者通过可编程交换芯片提供的高级编程语言,按照上层业务系统的需求开发芯片的报文处理和转发逻辑,然后将这样的逻辑下载到可编程交换芯片的处理流水线中,可编程交换芯片就可以按照这些定制的流程来处理网络流量和报文。从其实现逻辑和所达成的效果来看,可编程交换芯片不仅是一次交换芯片硬件技术的发展,更是SDN这一理念在支撑网络的硬件芯片层面的一次伟大革新。可编程交换芯片让网络在保持高性能的前提下,前所未有地接近了软件定义这一未来发展趋势。
因此,云计算的运营者基于星融Asterfusion的云网络交换机,能够轻松搭建软件可编程、随需而变的云网络,为云中业务构建一个灵活敏捷的网络平台。