科技时期,无论是人们常用的手机、电脑及数码产品,还是企业运用的数据中央 、高性能打算、工业机器人,都离不开芯片的支撑。特殊是在环球经济数字化、竞争主体的国家化以及家当链问题的安全化的大背景之下,芯片半导体家当并非仅仅是一个经济问题或者市场问题,直接与国家的发展联系在一起,成为国家之间用来经济制衡的武器。
而本日,我们紧张来聊一聊通信行业中,起通信和连接浸染的网络交流芯片。
交流芯片让数据在信息高速公路畅通流动
根据灼识咨询数据,2021年环球以太网交流芯片总体市场规模为386亿元,同比增长5%;灼识咨询估量2025年该市场规模有望达到434亿元,2021-2025年CAGR约3%。
纵不雅观全体家当的发展,在过去的三十年中,互联网已经变得非常商业化,企业网络的协议和技能已经发生了变迁。但是我们也该当看到,虽然作为互联网中坚力量的以太网和TCP/IP协议栈显然是开放的,但是交流芯片和交流机制造商都对内部的组件讳莫如深。以是,我们只能从浅近的角度分享交流芯片,但也希望有一天,领先交流芯片制造商(如Broadcom/Mellanox /Barefoot/Innovium)详细评论辩论他们的技能,让交流机技能公开会成为现实,实现百家齐放/百花争鸣的局势。
作为换机、路由器等网络设备中的核心存在,网络交流芯片可以支持网络设备实现海量数据在数据中央、承载网、核心骨干网等“信息高速公路”互换交流,让数据在信息高速公路畅通流动。
交流芯片的事情事理:须要传输的数据包由端口进入交流芯片后,首先进行数据包头字段匹配,为流分类做准备;而后经由安全引擎进行硬件安全检测;符合安全的数据包进行二层交流或者三层路由,经由流分类处理器对匹配的数据包做干系动作(如丢弃、限速、修正VLAN 等);对付可以转发的数据包根据优先级放到不同行列步队的缓冲管理中,再由调度器进行行列步队调度,并实行流分类修正动作,终极从目标端口发出。
Broadcom交流芯片架构,资料来源:Broadcom公司官网,中金公司研究部
但不得不说,提及交流芯片,有很多观点每每会稠浊不清,PHY、MAC、SERDES是什么?和芯片是什么关系?CPU、ASIC又要如何差异?......让我们带着这些问题,进一步认识交流芯片。
1、PHY、MAC、SERDES眼花缭乱?
1)PHY芯片:事情在物理层,一样平常称为端口收发器/以太网收发器,实现802.3物理层干系规范。
2)MAC芯片:事情在数据链路层,实现802.3数据链路层干系规范。
3)SERDES:串行器和解串器,在交流机领域卖力芯片内部并行旗子暗记和链路上串行旗子暗记的相互转换,连接MAC和PHY。
补充来说,我们须要认清网卡和交流机芯片的差异:网卡是L2设备,内部集成了PHY和MAC;交流机是L2设备,交流芯片集成了MAC,通过SERDES连接外置的PHY芯片或光模块。
2、CPU、ASIC傻傻分不清?
1)首先,CPU/ASIC都是芯片观点的子集,CPU是常运用于打算机领域的芯片,ASIC是常运用于交流机领域的芯片。
2)其次,随着VLAN技能的遍及, VLAN间路由需求逐级强烈。但路由器端口速率低且本钱高,限定了网络规模,故三层交流技能发展开来。早期三层交流是基于CPU打算路由,转发效率低下。
为实现线速转发,专用ASIC芯片在交流机领域开始盛行。ASIC芯片的打算能力和打算效率都直接根据特定的算法的须要进行定制的,以是其可以实现体积小、功耗低,高可靠性,保密性强,打算性能高,打算效率高档上风。
可编程交流芯片顺势而生
在ASIC芯片时期,网络的报文处理和转发逻辑全部被蚀刻在硬件芯片中,由完备线速的芯片逻辑完成,软件不再参与这些过程,从而让网络的性能得到突发年夜进的提升。但是,随着IT业务的不断发展,上层业务与掌握软件对底层网络的分外需求也逐渐呈现出来。
传统交流芯片限定上层业务软件
例如,如果能够将一些类似于NAT(Network Address Translation,网络地址转换)或SLB(Server Load Balancer,做事器负载均衡)等常用的功能下移到底层交流芯片中实现,就能够将全体业务在网络上的处理性能大幅提升,并且大幅降落业务自身的支配繁芜度,从而使得系统的整体效率得到提升。然后,这样的需求在传统交流芯片时期是不可能被知足的。
可编程交流芯片(programmable switching ASIC)便是在这样的背景下应运而生的。
特殊是,随着传统网络向开放网络演进,交流芯片可编程能力的主要性凸显。根据Omdia预测,至2024年可编程芯片在数据中央交流芯片出货占比将达到23%,2019-2024年CAGR达26%,保持持续提升态势。
1、可编程交流芯片是什么
顾名思义,可编程交流芯片最主要的特点在于可编程。可编程的意思是说,我们可以灵巧在网络芯片上添加新的网络协议或者新的网络功能,而不须要重新设计一款新的芯片。可编程网络芯片紧张由协议的解析器和处理模块组成的流水线两部分组成。解析器用于提取网络数据包的各种数据,而流水线则根据这些数据进行操作以及更新芯片内存上的状态。
2 、可编程交流芯片VS传统非可编程交流芯片
可编程交流芯片与传统交流芯片最大的差异就在于:传统交流芯片将报文处理和转发逻辑固化,可编程交流芯片的报文处理和转发逻辑是能够通过软件来按需调度的。因此,交流系统的设计开拓者通过可编程交流芯片供应的高等编程措辞,按照上层业务系统的需求开拓芯片的报文处理和转发逻辑,然后将这样的逻辑下载到可编程交流芯片的处理流水线中,可编程交流芯片就可以按照这些定制的流程来处理网络流量和报文。
可编程交流芯片为上层业务软件解锁
3、可编程交流芯片带来的改变
1)在以可编程交流芯片为核心的交流系统中,业务与掌握软件不再受限于底层芯片的能力,可以根据自身的需求进行开拓与定制;
2)通过为不同的需求、不同的场景定制不同的报文处理和转发逻辑,芯片的各条流水线能够协同事情,在不丢失系统整体性能条件下,将这些场景的需求在芯片的报文转发层面实现,从而使得系统整体的效率大幅提升。
当然,可编程交流芯片的硬件载体依然是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上。
星融元的全线云网络交流机产品,均采取可编程芯片架构。基于星融元的云网络交流机,云打算的运营者能够轻松搭建软件可编程、随需而变的云网络为云中业务构建一个灵巧敏捷的网络平台。