第2篇:SONiC 的前世今生
深入理解 SONiC 系列 · 第2篇
📖 预计阅读时间:5分钟
解决方案开始出现瓶颈:
- 每次系统升级需要整机重启,影响业务
- 想加一个小功能?等厂商排期,6-12个月起步
- 不同厂商设备混合部署,运维复杂度爆炸
微软的网络团队意识到:在这个规模下,必须自己掌控网络操作系统。
从 FBOSS 到 SONiC
微软并不是第一个这么想的。Facebook(现 Meta)在 2013 年就开始开发自己的网络操作系统 FBOSS。但 FBOSS 与 Facebook 的基础设施深度耦合,难以被其他公司直接使用。
微软的方案从一开始就有不同的设计目标:

SAI 先行:2015 年
SONiC 不是凭空出现的。2015年7月,微软先向 OCP 贡献了 SAI(Switch Abstraction Interface)——一套标准化的交换机芯片 API。
SAI 解决了一个核心问题:不同芯片厂商(Broadcom、Mellanox、Marvell)各有各的 SDK,写一套网络软件要适配 N 套芯片接口。SAI 在中间加了一层抽象,让上层软件只需要对接一套 API。
这为 SONiC 的诞生铺平了道路。
关键里程碑

2016:SONiC 开源
2016年3月,微软在 OCP 美国峰会上宣布开源 SONiC。
微软对 SONiC 的定位很清晰:它是构建网络设备所需的软件组件集合。配合 SAI,云运营商可以在开源框架上开发交换机应用,并支持多种硬件平台。
首日即有 Arista、Broadcom、Dell、Mellanox 参与贡献。这说明 SONiC 从一开始就不是微软一家的项目,而是多厂商协作。
2022:加入 Linux Foundation
2022年4月14日,SONiC 正式加入 Linux Foundation,实现中立治理。
微软 Azure 网络部门的 Technical Fellow Dave Maltz 在公告中说:
"SONiC already runs on millions of ports in the networks of cloud scalers, enterprises, and fintechs."
阿里云网络基础设施负责人 Dennis Cai 表示:
"Alibaba Cloud has widely deployed SONiC-based whitebox switches in our data centers, edge computing cloud, P4-based network gateways, and will extend the deployment to Wide Area Networks."
Linux Foundation 正式托管 SONiC,成立 SONiC Foundation。成员包括:Alibaba · Broadcom · Dell · Google · Intel · Microsoft · NVIDIA + 50多个合作伙伴。
SONiC 的版本发布节奏
SONiC 采用 YYYYMM 命名规则,每年发布约 2 个主版本:
| 版本 | 日期 | SAI | 亮点 |
|---|---|---|---|
| 202205 | 2022.05 | 1.10.2 | FRR 8.2, Active-Active ToRs |
| 202211 | 2022.11 | 1.11.0 | gNMI 配置, SRv6 uSID, Secure Boot |
| 202305 | 2023.05 | 1.12.0 | Docker Bullseye 迁移, PINS |
| 202311 | 2023.11 | 1.13.3 | DASH ACL, Auto FEC, FRR 8.5.1 |
| 202405 | 2024.05 | 1.14.0 | 升级到 Debian 12 (Bookworm) |
| 202411 | 2024.11 | 1.15.1 | FRR 10.0.1, Port Access Control |
| 202505 | 2025.05 | — | SmartSwitch DPU, Stream Telemetry |
SONiC 的治理结构

SONiC 社区由多个工作组(Working Group)构成,每个工作组负责特定领域:
| 工作组 | 职责 |
|---|---|
| Routing WG | BGP、OSPF、MPLS 等路由协议 |
| PINS WG | P4 Integrated Network Stack |
| DASH WG | Disaggregated API for Switch Hardware(SmartNIC) |
| Platform WG | 硬件平台适配、驱动 |
| Security WG | 安全特性、漏洞管理 |
| Testing WG | 测试框架(sonic-mgmt) |
为什么 SONiC 能成功?
不是每个开源项目都能走到今天。SONiC 成功的关键因素:

- 生产背书:微软 Azure 自己在用,不是玩具项目
- 架构开放:SAI 让芯片厂商有参与动力,不威胁他们的核心竞争力
- 务实设计:容器化让部署运维门槛低,Linux 基础让运维熟悉
- 社区健康:平衡了企业利益和社区开放性
- 时机正确:白盒交换机硬件已成熟,市场需要开源 NOS
本篇小结
| 要点 | 内容 |
|---|---|
| 起源 | 微软 Azure 内部需求驱动 |
|
SAI 时间 |
2015年被 OCP 接受 |
|
开源时间 |
2016年 OCP 峰会 |
| 基金会 | 2022年加入 Linux Foundation |
| 发布节奏 | 每年 2 个主版本,YYYYMM 命名 |
| 治理方式 | 工作组制度,企业+社区共建 |
| 当前规模 | 100+ 平台,500+ 贡献者 |
下一篇预告
第3篇:SONiC 整体架构鸟瞰 — 容器化设计的全貌,每个 Docker 容器的职责,以及它们如何通过 Redis 协同工作。这是理解 SONiC 一切细节的基础。
💡 这是「深入理解 SONiC」系列的第2篇。如果你从第1篇开始看,可以回顾:为什么需要sonic
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)