P4可编程设备在工业界的落地情况

【摘要】
学术界对P4已进行大量的研究与应用,各个应用场景如下图所示,包括INT、QoS、拥塞控制、多播、负载均衡、加速计算、聚合、网络测量、安全、测试等领域。但是学术界的研究要真正落地,还需要考虑很多其他因素。

考虑诸多因素,工业界使用P4可编程交换机的场景则少很多,主要集中在Overlay分流分发、INT网络测量等领域。本文将持续更新,跟踪工业界的P4可编程落地情况。

学术界对P4已进行大量的研究与应用,各个应用场景如下图所示,包括INT、QoS、拥塞控制、多播、负载均衡、加速计算、聚合、网络测量、安全、测试等领域。但是学术界的研究要真正落地,还需要考虑很多其他因素,如实可运维性、占用资源情况、多租户共享支持、异常场景处理、平滑演进等等。

image.png

考虑诸多因素,工业界使用P4可编程交换机的场景则少很多,主要集中在Overlay分流分发、INT网络测量等领域。本文将持续更新,跟踪工业界的P4可编程落地情况。

Ucloud-一致性哈希网关

NAT64 Access 是 Ucloud 基于Intel 可编程芯片 Tofino 设计的一致性哈希网关,以旁挂的方式连接物理交换机,通过Maglev一致性哈希算法将去往 NAT64 服务器集群的流量进行分发,同时实现限速与DDoS保护功能。

NAT64 Access 与物理交换机组成三层网络,通过BGP发布地址,物理交换机将网络流量分发到多个NAT64 Access,实现NAT64 Access集群的负载均衡与高可用。
NAT64 Access 与 NAT64服务器组成二层网络,服务器通过BGP向NAT64 Access发布VIP,NAT64 Access获得VIP对应的下一跳信息(MAC地址),通过Maglev算法将流量分发到集群的不同服务器。每个NAT64服务器配置不同的源IPv4地址,实现返程流量的正确到达。

image.png

NAT64 Access 通过数据面的查找表与控制面Maglev Hash Engine实现Maglev哈希算法。同时,数据面对每个EIP针对TCP SYN报文进行入向和出向PPS限速(目前单个EIP的SYN报文的速率限制在50000,超过50000时会进行丢包,参数可调)实现DDoS安全防护。

NAT64 Access 在Tofino 数据面,主要使用了pipeline串联、减少表依赖/合表、ingress/egress同时使用等优化操作对Tofino表项进行优化,以应对 Tofino SRAM 受限的问题。

阿里云-流量分发网关

image.png

XGW 是阿里云基于Intel 可编程芯片 Tofino 设计的流量分发网关,如上图所示,其负责公网、专线、跨Region之间流量汇聚与分发,支持IPv6。
典型产品有:EIP和共享带宽限制、专线(比如天猫双11或某大客户数10Tbps专线上云流量)、CEN等。专线的场景示意如下:

image.png

XGW 设备类似于2U服务器,主要部件如下:1)Intel Tofino 芯片:负责大流量转发;2) 网卡芯片:负责打表项转发;3)CPU:业务编排、智能调度。

另外,XGW在数据面实现了QoS能力,当客户的流量超出购买带宽时,丢弃优先级低的报文,保证高优先级的报文通过,QoS 限速示意图如下:

image.png

XGW 在Tofino 数据面,主要使用了pipeline串联、合表等优化操作对Tofino表项进行优化,以应对 Tofino SRAM 受限的问题。

更多 XGW 的实现细节,见 SIGCOMM 2021: sailfish: accelerating cloud-scale multi-tenant multi-service gateways with programmable switches

星融-云交换机/可视化交换机

星融(Asterfusion Data Technologies)是一家云网络架构的解决方案提供商,成立于2017年,核心创始团队由前华为、华三、思科等公司高管组成。

星融基于Tofino可编程芯片,设计实现了CX系列ToR、spine骨干交换机)、NX系列(ToR、spine骨干交换机)、PX系列(可视交换机产品,定位于运营商、数据中心、高端园区、行业集团客户等网络的大流量采集接入层设备)产品。主要实现的功能如下:

  • NFV功能:CX系列云交换机目前支持四层SLB(服务器负载均衡)、NAT(网络地址转换)、DDoS(分布式拒绝服务)攻击流量识别与统计;
  • 水平扩展,千万级vxlan:提出协议无限云网架构(PICFA),支持千万量级的虚拟计算节点(vxlan表项能力),具备超强的横向扩展能,为云网络从计算空间向底层物理网络的迁移打下坚实的基础;
  • 一致性哈希:PX3系列/PX5系列提供高性能、高性价比的同源同宿分流方案以及基于隧道内外IP五元组的一致性哈希分流方案;
  • 灵活可控的表项空间:PX系列产品支持设备内部转发表项的灵活调整,设备可根据客户网络的实时需求,灵活快速的调整各个转发表项空间,将空闲不用的表项空间转移到高需求的表项中,从而提高了设备的转发能力和效率,同时将设备表项空间利用率最大化。通过灵活调整表项空间的功能解决了客户网络在特定场景中转发表项不够所带来的困扰,提高了设备资源分配的合理化、灵活化;
  • 带内网络遥测INT:PX系列产品支持带内网络遥测INT(In-band Network Telemetry)功能,快速故障排除模型,能够检测故障并隔离故障,按照网络状态整合数据,包括底层和覆盖的网络统计数据,主动将这些网络设备状态信息推送到监控设备,数据具有很强的时效性。
  • 流量复制:PX系列产品可以在入接口、中间环节以及出接口分别执行不同的流量策略,还支持在流量复制同时施加统一或独立的流量过滤策略,可以为不同的后端监控系统提供定制化数据源;
  • 云业务可视化: CX系列下一代云交换机支持IETF最新定义的带内网络遥测功能IOAM,与星融的PX系列网络可视交换机一起配合,构建大规模的业务可视交换网络,将云中业务流量全量复制、智能处理后,同源同宿地分流汇聚到后端分析系统集群中做云中业务的全面分析;

Tapplet系列,基于ARM/X86平台开发的云端流量采集轻量级应用,完成虚拟流量采集、初步预处理以及隧道封装和分发功能、Tapplet支持物理部署以及虚拟机化部署

更多的公司可编程实践,欢迎留言讨论

参考

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享