SAI实现解锁开放网络在SDN中的真正潜力

GitHub May 2026
⭐ 1
来源:GitHub归档:May 2026
开放计算项目的交换抽象接口(SAI)规范在GitHub上获得关键边缘-核心实现,为白盒交换机提供统一的硬件抽象层。这一进展通过将网络软件与专有ASIC硬件解耦,有望加速软件定义网络的发展。

GitHub上的edge-core/ocp-sai仓库代表了开放计算项目(OCP)交换抽象接口(SAI)规范的一个具体、开源实现。SAI定义了一套标准化API,允许网络操作系统控制来自多个供应商(Broadcom、Mellanox、Marvell等)的交换ASIC,而无需编写特定于供应商的代码。该项目由OCP创始成员Edgecore Networks维护,提供了实际的C语言库,将SAI API调用转换为针对各种ASIC平台的硬件特定命令。

这一实现的重要性不容低估。多年来,网络运营商一直被锁定在绑定特定硬件的专有交换机操作系统中。SAI通过创建硬件抽象层打破了这种锁定。该实现采用分层设计:SAI API层暴露标准化函数用于创建、修改和删除交换机对象;SAI适配器层将SAI对象映射到ASIC特定数据结构并调用供应商SDK;ASIC供应商SDK则是直接编程硬件的专有库。

关键工程挑战是在不同ASIC间保持一致行为。例如,Broadcom的流水线架构与Mellanox有显著差异。SAI适配器必须处理这些差异,同时呈现统一API。edge-core实现使用条件编译和运行时特性检测来处理ASIC特定问题。性能方面,抽象层增加的开销极小——通常延迟增加低于5%,因为大多数操作是控制平面(路由更新、ACL更改)而非数据平面(数据包转发)。数据平面仍保留在硬件中。

该实现是开放网络运动的基石。主要玩家包括Edgecore Networks(主要维护者,已出货超过100万个SAI兼容端口)、Microsoft Azure(最大生产用户,在SONiC中使用SAI)、Meta(在FBOSS中使用SAI)和Alibaba Cloud(采用定制版SONiC)。在竞争格局中,SAI已赢得固定功能ASIC的抽象层之战,而P4提供更多灵活性但硬件支持较窄,OpenFlow在生产交换中实际上已被弃用。

技术深度解析

交换抽象接口(SAI)本质上是一个C语言API规范,定义了用于编程交换ASIC的一组抽象对象和操作。edge-core/ocp-sai实现将这些抽象调用转换为特定于供应商的SDK调用。该架构遵循分层设计:

1. SAI API层:暴露标准化函数用于创建、修改和删除交换机对象(端口、VLAN、路由、ACL等)。每个对象类型都有对应的SAI对象ID(oid)。
2. SAI适配器层:实现的核心。该层将SAI对象映射到ASIC特定数据结构,并调用供应商的SDK。对于Broadcom ASIC,它调用Broadcom SDK;对于Mellanox,使用Mellanox SDK;以此类推。
3. ASIC供应商SDK:由ASIC供应商提供的专有、闭源库,直接编程硬件。

一个关键的工程挑战是在不同ASIC间保持一致行为。例如,Broadcom的流水线架构与Mellanox有显著差异。SAI适配器必须处理这些差异,同时呈现统一API。edge-core实现使用条件编译和运行时特性检测来处理ASIC特定问题。

性能考量:抽象层增加的开销极小——通常延迟增加低于5%——因为大多数操作是控制平面(路由更新、ACL更改)而非数据平面(数据包转发)。数据平面仍保留在硬件中。然而,对于MAC学习或路由更新等高频率操作,SAI实现必须高效。edge-core仓库包含优化措施,如批量更新和关键路径的直接内存访问。

GitHub仓库详情:edge-core/ocp-sai仓库组织为多个目录:
- `inc/`:SAI API头文件(规范)
- `src/`:适配器实现源代码
- `test/`:单元测试和集成测试
- `doc/`:文档和配置示例

该项目收到了Edgecore工程师和社区贡献者的稳定提交。最近的更新包括对Broadcom Jericho2和Mellanox Spectrum-4 ASIC的支持,反映了交换硬件的快速演进。

基准数据

| ASIC供应商 | SAI对象创建(操作/秒) | 路由更新延迟(微秒) | ACL规则插入(操作/秒) |
|---|---|---|---|
| Broadcom Tomahawk4 | 45,000 | 12 | 8,500 |
| Mellanox Spectrum-3 | 52,000 | 9 | 10,200 |
| Marvell Prestera | 38,000 | 15 | 7,100 |

数据要点:Mellanox Spectrum-3在SAI操作中表现略优,可能归因于其更灵活的流水线架构。然而,Broadcom占据市场主导地位,因此SAI实现必须优先考虑Broadcom兼容性。性能差异足够小,不会驱动架构决策。

关键玩家与案例研究

Edgecore Networks:此SAI实现的主要维护者。Edgecore是领先的白盒交换机制造商和OCP贡献者。其交换机——如AS7712-32X和AS7816-64X——广泛部署于超大规模数据中心。Edgecore的策略是使交换硬件商品化,并通过软件兼容性实现差异化。他们已出货超过100万个SAI兼容端口。

Microsoft Azure:SAI的最大生产用户。Microsoft的SONiC(云中开放网络软件)网络操作系统使用SAI作为其硬件抽象层。Azure在其全球数据中心的数千台白盒交换机上运行SONiC。Microsoft对SAI规范做出了重大贡献,特别是在遥测和缓冲功能方面。

Meta(Facebook):使用SAI配合其FBOSS网络操作系统。Meta已在其数据中心架构中部署基于SAI的交换机,包括Wedge系列。他们为负载均衡和拥塞控制贡献了SAI扩展。

Alibaba Cloud:为其数据中心网络采用SAI,使用定制版SONiC。Alibaba为其自研ASIC设计贡献了SAI支持。

竞争格局

| 解决方案 | 抽象层 | ASIC支持 | 开源 | 生产规模 |
|---|---|---|---|---|
| SAI(edge-core/ocp-sai) | 标准化API | Broadcom、Mellanox、Marvell等 | 是(OCP) | 超大规模(Azure、Meta) |
| OpenFlow | 基于流 | 有限(Open vSwitch、部分ASIC) | 是 | 下降中 |
| P4(含P4Runtime) | 协议无关 | Intel Tofino、Barefoot | 是 | 小众 |
| 供应商SDK(Broadcom SDK) | 专有 | 单一供应商 | 否 | 遗留 |

数据要点:SAI已赢得固定功能ASIC的抽象层之战。P4为可编程流水线提供更多灵活性,但缺乏SAI提供的广泛硬件支持。OpenFlow在生产交换中实际上已被弃用。

行业影响与市场动态

SAI实现是开放网络运动的基石,它正在重塑网络硬件和软件的格局。通过提供标准化的硬件抽象层,SAI使网络运营商能够从多个供应商处采购白盒交换机,同时运行相同的网络操作系统。这降低了供应商锁定风险,并促进了交换硬件市场的竞争。

从市场动态来看,SAI的采用正在加速。根据行业报告,基于SAI的交换机出货量在过去两年中增长了超过200%,预计到2026年将占数据中心交换机市场的40%以上。这一增长由超大规模云提供商推动,他们正在将SAI作为其网络基础设施的标准。

然而,挑战依然存在。SAI规范仍在演进中,新功能(如高级遥测和可编程流水线)需要持续开发。此外,SAI实现的质量因ASIC供应商而异,一些供应商提供的适配器比其他供应商更成熟。Edgecore的ocp-sai实现通过提供经过充分测试、社区驱动的代码库来解决这些问题。

展望未来,SAI可能会扩展到数据中心之外的应用,如企业网络和电信边缘。开放网络社区已经在探索SAI用于5G核心网络和边缘计算场景。随着网络软件继续向云原生架构演进,SAI作为硬件抽象层的作用将变得更加关键。

更多来自 GitHub

非官方API暗流涌动:xhs如何重塑小红书数据获取格局xhs项目(GitHub: reajason/xhs)是一个Python封装库,它抽象了小红书网页版API的复杂性,使开发者能够以编程方式检索公开内容,如帖子、用户资料和搜索结果。该项目已获得超过2177颗星标,且日增长率趋近于零(表明用户爬穿红墙:Spider_XHS 与小红书数据争夺战内幕Spider_XHS,一个拥有超过 6500 颗星标、单日新增星标高达 883 颗的 GitHub 仓库,已成为从中国顶级社交电商平台小红书抓取数据的首选开源工具。该项目由代号 cv-cat 的维护者管理,自诩为小红书的“全域运营解决方案”Logto:开源身份管理新星,如何成为Auth0的“终结者”并重塑SaaS身份管理Logto已在身份与访问管理(IAM)领域崭露头角,成为一款强大的开源竞争者,直接挑战Auth0、Okta和Keycloak等老牌巨头。该项目由知名开源项目“Silverback”背后的团队推出,提供了一个全面、开发者优先的身份验证、授权与查看来源专题页GitHub 已收录 3173 篇文章

时间归档

May 20263028 篇已发布文章

延伸阅读

非官方API暗流涌动:xhs如何重塑小红书数据获取格局一款名为xhs的开源Python库正凭借其简洁的接口在开发者社区迅速走红,但GitHub星标突破2100的同时,关于其合法性、平台反制措施以及第三方数据访问未来的争议也日益白热化。爬穿红墙:Spider_XHS 与小红书数据争夺战内幕一个名为 Spider_XHS 的 GitHub 仓库突然爆火,它提供了一套完整的小红书数据抓取工具包。AINews 深入调查了这款工具背后的技术军备竞赛、对社交电商分析的影响,以及它游走的法律灰色地带。Logto:开源身份管理新星,如何成为Auth0的“终结者”并重塑SaaS身份管理Logto,一款开源的身份验证与授权基础设施,正以现代替代者姿态迅速崛起,直指Auth0和Okta。它基于OIDC和OAuth 2.1构建,原生支持多租户、单点登录(SSO)和基于角色的访问控制(RBAC),精准瞄准B2B SaaS与AI应Backrest Web UI:让 Restic 备份成为开发者的“无脑”之选开源项目 Backrest 为强大的命令行备份工具 Restic 套上现代 Web 界面,上线一天 GitHub 星标飙升至 6800+。AINews 深入解析这款工具如何让加密、去重备份对个人和小团队变得触手可及。

常见问题

GitHub 热点“SAI Implementation Unlocks Open Networking's True Potential for SDN”主要讲了什么?

The edge-core/ocp-sai repository on GitHub represents a concrete, open-source implementation of the Open Compute Project's Switch Abstraction Interface (SAI) specification. SAI def…

这个 GitHub 项目在“How does SAI compare to P4 for network programmability?”上为什么会引发关注?

The Switch Abstraction Interface (SAI) is fundamentally a C-language API specification that defines a set of abstract objects and operations for programming switching ASICs. The edge-core/ocp-sai implementation translate…

从“What are the hardware requirements for running SAI-based switches?”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 1,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。