超级剧透季一:全栈可编程网络交换机之七十二变

发表时间:2021-11-09

  返回列表

软件定义一切,一切皆可编程
SDN(Software Defined Network),软件定义网络,这一概念最早由美国斯坦福大学研究组提出的新型网络创新架构,是网络虚拟化的一种实现方式。这种架构通过OpenFlow来实现控制面、数据面分离,从而实现网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。一般来说,SDN更侧重软件层,在硬件还是ASIC的前提下,本质上是要通过软件编程来实现差异化网络的自定义,这是可编程的初期形态。

基于可编程开发的交换机有哪些大杀器
在云计算领域,面对云服务形式下的灵活要求,厂商们开始使用服务器虚拟化技术。然而,服务器虽然有足够的灵活性,但性能是瓶颈,因此推生出类似DPU这样的可编程设备。

在云网络领域,传统交换机的实现方式是使用专用ASIC芯片,特点是硬件性能高稳定性好,但软件不可更改,这就从底层限制了其对新型应用场景的适应性。为此,人们开始从芯片上做文章,可编程交换芯片应运而生。

综合以上两种应用领域,可以看出,大家都是在走软硬件融合的路线。

伴随着SONiC技术以及虚拟化技术的广泛应用,开源可编程生态逐渐完善,可编程交换机屏蔽底层硬件芯片的差异,SONiC将芯片SDK封装成标准的SAI层,加上Intel芯片的高吞吐率Programmable Pipeline技术,实现了软件化+高性能+低功耗+低成本的未来网络解决方案。

业务使用方通过编程可以实现多元化场景下报文的精细转发,减少复杂度并且提高资源利用率,还可以大幅提高卸载到数据平面上的应用性能。


恒扬可编程交换机系列,
以不变应万变
要说可编程交换机,就不得不先说说Intel Tofino可编程芯片。Tofino可编程芯片包含多个Pipeline,每个Pipeline可以运行不同逻辑的P4程序,并且每个Pipeline配置独立的IO。


每个Pipeline包含12个处理Stage,也就是MAU。MAU(Match-Action Unit),查找动作单元,输入输出Pipeline共享这些单元,每个MAU内含16个exact match crossbar(精确查找引擎)和8个ternary match crossbar(掩码查找引擎),每个MAU支持若干次并发查找,从而可以提升查找性能。MAU与MAU之间顺序查找,多级查表或处理可以分布到不同的MAU上,从而可以丰富业务处理逻辑。

Tofino芯片还自带TCAM资源来扩充资源,TCAM作为主要用于快速查找ACL、路由等表项的芯片,能够提供并发访问表项能力,这很好的保障了查表的性能。

目前,恒扬已经推出基于基于Intel Tofino全系列可编程交换芯片设计的PS系列可编程交换机-基于Tofino 1的32个100G接口可编程交换机PS7350和基于Tofino 2 的128个100G接口的可编程交换机PS8550。

至此,恒扬也是大陆地区首批拿到Tofino 2芯片的厂商。从Tofino 1到Tofino 2, 突破了传统交换机功能固有的限制,在实现传统L2/L3 交换功能的同时, 为用户提供开源的硬件平台,快速定制专用的网络功能,为用户快速验证并构建实施创新的网络架构提供了有效的手段, 更加适应当今不断快速演进的网络新技术。

PS系列可编程交换机支持开放式网络安装环境(ONIE)和社区版开源SONiC网络操作系统,为客户提供基于SONiC开发的板级开发支持包(BSP)。SONiC是基于SAI的,在没有SAI之前所有芯片都要通过自己的SDK与上层的软件通信,各家的SDK属于芯片厂家独有,SAI把SDK标准化,向下可以对接不同的ASIC,芯片用标准的接口与上层的控制软件通信。

不支持标准SONiC系统的芯片需要白盒交换机厂商自行适配不同的ASIC。在标准的SONiC系统下,适配ASIC的工作由芯片厂商完成,SONiC让开发者在开发时只关注业务所需的功能,并将其编入P4程序中,编译之后的二进制文件加载到芯片中就完成了业务功能的实现,SONiC具备良好的扩展性,开发者无论需要修改还是增加功能,仅需要通过修改容器来实现局部的升级而不会影响其他业务。

模块化设计
恒扬PS系列可编程交换机模块化的设计保证电信级的可靠性, 1+1冗余模块化电源,电源作为易耗品,存在故障风险,而1+1的冗余设计保证了设备不掉线的同时完成电源的切换,并且电源模块可热拔插,可在线更换故障模块而无需掉电;

N+1冗余的模块化风扇设计,确保设备不会因为单个风扇故障导致整板温度过高而出现散热风险;

支持独立的带外BMC 管理系统,监控整个系统的温度、电压、风扇、电源等的信息,能独立监控设备硬件信息,并能够实现配置管理,硬件管理和故障排除,为设备提供完善的故障告警和监测,提高了整机的可用性和可靠性。

灵活应用场景
可编程交换机不仅可作为数据中心ToR /Leaf/Spine交换机,还可以作为云网关设备, 甚至应用于安全如DDoS探测器和防火墙等,在电信运营商和网络服务提供商环境中,可编程交换机为5G,NFV等多种新型网络架构提供网络加速及流量可视化服务。

ToR /Leaf/Spine交换机

leaf-spine叶脊拓扑结构相比较传统的大三层网络增加了一层平行于主干纵向网络结构的横向网络结构,在这层横向结构上增加相应的交换网络,在Spine/Leaf网络架构中,L2/L3的分隔通常在Leaf接入交换机。与传统三层网络架构类似,这样也能分隔L2广播域。同时还减少了架构层次,对跨2层业务的调度,也就是东西向的业务调度,更方便,时延能做到有效的降低。在叶脊拓扑结构,所有的链接都是用来转发流量,也是使用通用的生成树协议,同样能保持保持一个无环路的网络拓扑结构。

leaf-spine叶脊拓扑结构相比较传统的大三层网络增加了一层平行于主干纵向网络结构的横向网络结构,在这层横向结构上增加相应的交换网络,在Spine/Leaf网络架构中,L2/L3的分隔通常在Leaf接入交换机。与传统三层网络架构类似,这样也能分隔L2广播域。同时还减少了架构层次,对跨2层业务的调度,也就是东西向的业务调度,更方便,时延能做到有效的降低。在叶脊拓扑结构,所有的链接都是用来转发流量,也是使用通用的生成树协议,同样能保持保持一个无环路的网络拓扑结构。

leaf-spine叶脊拓扑结构有效的解决了跨2层业务调度的层次与时延问题,但还需要Overlay网络技术来解决服务器之间跨域访问和交换机接入服务器的任意性问题,Overlay网络是在现有的Underlay网络基础上构建的一个虚拟网络(主要是通过VXLAN技术),这个网络的主要功能就是用来作为服务器的通讯,也就是在不改变网络架构的基础上,使服务器之间可以无障碍通信。

而可编程交换机为Overlay网络提供了良好的编程平台和大带宽的接口,10G/25G与100G混合的接入交换机以及全100G接口的核心交换机,帮助云数据中心网络实现全网络的可编程。


可编程网关

近年来,云计算的流量急剧增长,在数据中心内,服务器的以太网传输速率快速增长至400G及以上。云网关作为整个云数据中心东西向流量(VM-VM)、南北向流量(VM互联网)和IDC/跨区域流量(VMIDC/跨区域)的中心枢纽,在公有云基础设施中发挥着关键作用。为应对爆炸性的流量增长,防止在流量聚合点的网关成为系统瓶颈,这就要求网关的高转发性能。

除了转发性能之外,云网关还需要为各种云服务携带大量无状态和有状态的转发表。一个云区域可以承载数百万个VPC和数百万个虚拟机。云网关在转发逻辑、转发吞吐量、转发表大小和转发表种类方面与传统网络设备不同。

恒扬基于Intel  Tofino可编程网关可为云数据中心提供百万级大容量转发表项和高达12.8T的高转发性能,能够完美的适应云数据中心的大流量多虚机的场景。


Serverswitch有状态网关

在‍‍互联网的应用中,‍‍‍‍有很多大表项的需求,表项量级可达到千万级甚至亿级,但Tofino的芯片上只能支持‍‍几百万的连接。

所以,恒扬基于多年的FPGA开发经验推出最新‍‍解决方案——Serverswitch, Tofino通过‍‍外接的FPGA连接DRAM,通过FPGA来扩大表项容量,同时FPGA模块灵活可配,更好的适应不同节点的应用需求,FPGA、DRAM、Tofino都拥有非常灵活的可编程能力和非常大的表项支持能力。