开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

P4交换机


2023-09-22

可编程交换机和OpenFlow

目前的专用交换芯片(ASIC)的设计面向标准2/3层的数据包的转发操作,虽然软件定义网络(SDN)的发展为其提供一定灵活性(通过将控制平面独立出来,消除对交换和路由协议的依赖)但转发仍基于固定的数据包格式。

OpenFlow 协议定义了控制平面和数据平面之间的网络可编程接口,但对比起数据平面可编程的交换机,其灵活性和性能还是相距甚远。

例如,SDN 控制器可以使用 OpenFlow 协议,根据数据包中的附加字段(如老化时间或 IP 数据包选项字段中的值等),指示应将具有指定源 IP 地址和目标 IP 地址的数据包转发到某个端口。

而支持数据平面可编程交换机,可以使用L2/3数据包字段值以外的标准转发数据包。它能通过从不同端口发送具有相同参数的数据包来实现负载平衡。例如,它还可以根据通过交换机的数据包速率实施其他类型的策略,或者以任意格式封装数据包——根据任意帧格式转发数据包的能力对于支持非 IP 协议(例如某些物联网设备使用的一些协议)非常有用,具有可编程数据平面的交换机就可以转发这些数据包,并将其修改为通过 IP 网络发送。

P4语言与可编程数据平面的结合

为配置可编程数据平面,我们有一种专门的编程语言: 独立于协议的数据包处理器编程语言(P4)。这是一种开源语言,由 P4 语言联盟维护。P4 独立于转发硬件设计,因此必须开发专门针对硬件的编译器,才能将 P4 语句转换为硬件。

P4 程序由一组表组成,这些表指定了数据包中的字段以及要对这些字段执行的操作。解析器扫描接收到的数据包,直到与表项中的模式匹配,然后执行相关操作。P4程序没有定义的字段或操作集,因此 P4 程序员可以自由创建。

当然可编程数据平面并不是唯一支持非 IP 协议的方法,芯片为可以支持任何协议或应用而设计,但那也仅限于该应用,并且开发半导体是一个耗时且昂贵的过程。所以,可编程数据平面与 P4 编程语言的结合,为处理新协议和现有协议的新要求提供了更高效、更灵活的方式。

P4交换机与DPU的结合

Asterfusion X-T 系列是一款出色的 P4 交换机,旨在将高性能交换可编程性和 DPU 的基于状态的处理能力结合在一起,这在网络历史上尚属首次。Asterfusion 将 tofino 交换机上基于 P4 的数据路径与 ARM64 DPU 上基于 DPDK 的流量处理相结合,帮助应用于负载平衡、NAT 和 NVMEoF等场景。

产品详情:X-T系列:全开放、可编程、高性能的P4可编程硬件平台 – 星融元Asterfusion

P4可编程硬件平台产品开箱图

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2