SONiC:为Microsoft全球云提供支持的网络交换机软件
微软运行着全球最大的公有云之一,在构建和管理全球性、高性能、高可用性和安全网络方面又宝贵的经验。经验告诉我们,运行数百个数据中心和数万台交换机,我们需要:
- 在网络的各层都使用最佳的交换机硬件
- 在不影响最终用户使用的情况下部署新功能
- 在几个小时内安全可靠地推出更新,而不再是需要数月的周期
- 利用云端深度遥测和全自动化解决故障
- 让我们的软件定义网络软件能够使用统一的结构轻松控制网络中的所有硬件元素,以消除重复并减少故障。
为了满足这些需求,微软率先开发了开放式交换机软件SONiC,这是网络交换机操作和管理上的突破。微软将这一创新贡献给开源社区,使得它能够在SONiC GitHub存储库上下载使用。SONiC是一个独特的可扩展平台,拥有一个大型的且不断增长的硬件和软件合作伙伴生态系统,提供多个交换平台和各种软件组件。
交换机抽象接口(SAI)加速硬件创新
SONiC是建立在交换机抽象接口(SAI)的基础上,它定义了一个标准化的API。网络硬件供应商可以通过它来开发创新的硬件平台,可以在保持与ASIC的编程接口一致的前提下,提升速度,微软在2015年将SAI进行开源。这种方式使得运营商能够在芯片、CPU、功率、端口密度、光、速度等方面快速创新,同时保持其在多个平台上实现统一的软件解决方案。
Figure 1. SONiC: one investment to unblock hardware innovation
带有容器的模块化设计加速软件演进
SONiC是首个将单片交换机软件拆分为多个容器化组件的解决方案。SONiC支持细粒度故障恢复和在线升级,且不会宕机。它与交换机状态服务(SWSS)结合使用,交换机状态服务利用开源键值存储的优势来管理所有交换机状态并促进交换机向其目标状态服务转变。用户可以使用新代码(包括边界网关协议(BGP)之类的协议)升级有缺陷的容器,而不需要更换整个交换机的镜像,也不需要数据平面停机。这种性能是SONiC平台的可服务性和可扩展性的关键因素。
容器化还使得SONiC具有极高的可扩展性,SONiC的核心是针对云网络场景,其中简化和规模化管理是最优先需要考虑的。运营人员以最小的工作量插入新组件、第三方、专有或开源软件,并根据其特定场景定制SONiC.
Figure 2. SONiC: plug and play extensibility
监控和诊断功能是大规模网络管理的关键,微软在诸如早期检测故障、故障相关和自动恢复机制等领域不断创新。这些创新如Netbouncer和Everflow,都在SONiC中提供,它们代表着微软多年运营经验的巅峰。
快速发展的生态系统
SONiC和SAI在过去的一年中获得了业界广泛的支持,大多数主要网络芯片供应商都在其ASIC上支持SAI:
- Barefoot Networks: Tofino
- 博通: Trident and Tomahawk
- Cavium: XPliant
- 盛科: Goldengate
- Mellanox: Spectrum
- Marvell: Prestera
- Nephos: Taurus
社区在积极地为SAI版本添加新的功能和扩展:
- 博通、Marvell、Barefoot、微软正在推动SAI的监控和遥测功能发展,以深入了解ASIC和强大的分析功能。
- Mellanox、Cavium、戴尔、盛科为SAI提供协议通知,以支持更丰富的协议支持和大规模网络场景,例如MPLS、增强ACL模式、桥接模式、L2/L3组播、分段路由和802.1BR。
- 戴尔和Metaswitch通过添加L3快速重路由和BFD,为SAI带来了故障弹性和性能。
- 由Mellanox和博通推动的管道模型以及戴尔的多NPU丰富了SAI和建立在顶层的网络协议栈应用的基础设施。
在开放计算项目峰会2017(OCP 2017)上,微软演示了来自多个交换机尝试的100 Gbit交换机,SONiC已经启用了最新最快的SKU。支持SONiC的平台包括:
- Arista: 7050和7060系列
- Centec: E580和E582系列
- Dell: S6000 ON, S6100-ON以及Z9100-ON系列
- Edgecore: AS7512 series, Wedge-100b
- Facebook: Wedge-100
- Ingrasys: S9100系列
- Marvell: RD-BC3-4825G6CG-A4和RD-ARM-48XG6CG-A4系列
- Mellanox: SN2700系列
通过使用SONiC,云计算社区有了多样化的选择,他们可以选择最好的解决方案。合作伙伴正在加入SONiC生态系统,使得生态系统更加丰富:
- Arista的容器化EOS组件(如EOS BGP)能够在SONiC上运行,SONiC社区现在可以轻松访问Arista丰富的EOS软件套件。
- Canonical使用SONiC作为Ubuntu的快照。它使得MAAS能够将SONiC部署到哦交换机以及使用SONiC来部署服务器。统一的网络和服务部署将显著提高运营商的敏捷性。
- Docker通过Swarm来管理SONiC容器,凭借其简单的服务模型,Swarm可以大规模管理和更新SONiC。
- Mellanox使用SONiC来释放Spectrum ASIC中基于硬件的数据包生成功能,该功能有助于故障诊断和故障排除。
通过社区和我们的合作伙伴生态系统合作,微软正在寻求彻底改变当今和未来网络的方式。
SONiC完全在GitHub上开源,以供业界同仁、研究人员、学生和创新者使用。借助SONiC容器化方式和软件仿真工具,开发人员可以体验在Microsoft Azure中使用的交换机软件,并提供惠及数百万用户的组件。SONiC将使整个云计算社区受益,我们对此平台背后日益强大的合作伙伴关系感到高兴。
SONiC:为Microsoft全球云提供支持的网络交换机软件相关推荐
- 2022年全球市场网络加速软件总体规模、主要企业、主要地区、产品和应用细分研究报告
本文研究全球市场.主要地区和主要国家网络加速软件的销量.销售收入等,同时也重点分析全球范围内主要厂商(品牌)竞争态势,网络加速软件销量.价格.收入和市场份额等. 针对过去五年(2017-2021)年的 ...
- 阿里云发布首款全球智能互联的网络产品——云骨干网
摘要: 12月13日,阿里发布全球首款智能互联的网络产品–云骨干网(Cloud Backbone Network).这款产品能够分钟级构建多地域全球网络,并和混合云连成一体,打造具有企业级规模和通信力 ...
- 拥有着全球最大的拍客网络的短视频领头羊:梨视频的云上实践
梨视频CTO刘隽在2018云栖大会上海峰会中做了题为云上拍客-梨视频技术实践的分享,就关于梨视频拍客的生产流程.SPIDER全流程管理系统.云端技术实践以及背后的技术等方面的内容做了深入的分析,同时也 ...
- 如何构建全球实时音视频云及其海外网络传输优化
点击上方"LiveVideoStack"关注我们 全球不同国家和地区的网络基建水平参差不齐,如何利用有限的网络资源提供更高质量的音视频通话体验是音视频服务商必须面对的挑战.在此次L ...
- 阿里云全球化云网络,保障北京冬奥全球“云转播”
北京冬奥已经如火如荼地进行了一周,精彩赛程热点不断,中国健儿捷报连连.值得一提的是,本届北京冬奥会也是首次全面上云的一届冬奥会,为冬奥增添一份科技感. 本次北京冬奥会将通过阿里云向全球转播,以全程4K ...
- CVPR2020:4D点云语义分割网络(SpSequenceNet)
CVPR2020:4D点云语义分割网络(SpSequenceNet) SpSequenceNet: Semantic Segmentation Network on 4D Point Clouds 论 ...
- 思科预计全球云数据流量将以66%的混合年增长率递增
北京时间11月29日消息,据国外媒体报道,网络设备厂商思科今日表示,2010年到2015年期间,全球云数据流量将以66%的混合年增长率递增. 思科在周二发布的第一份年度全球云索引报告中指出,到2015 ...
- Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
Sonic 开源移动端云真机测试平台 - Agent端服务部署与安卓设备接入演示 一加8手机连接效果图展示 第一章:环境准备 ① agent-sources 资源包下载 ② Android SDK安装 ...
- Microsoft Azure云服务停机!系水泵未知原因关闭导致
据悉,微软位于英国南部的数据中心设施内多个冷冻水泵因未知原因而关闭,因而导致Microsoft Azure云服务进入停机状态.微软目前已将设施内其余正在运行的部分设备进行关机处理,以阻止温度再进一步的 ...
- 在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)
作者 | 溪恒 阿里云技术专家 直播完整视频回顾:https://www.bilibili.com/video/BV1nC4y1x7mt/ 关注"阿里巴巴云原生"公众号,后台回复 ...
最新文章
- Python-Django-Ajax进阶
- one trick pony
- fastDFS分布式文件系统--文件上传/下载/查询完整代码实现
- TortoiseSVN每个菜单项都表示什么意思
- opencv安装与python cv2安装
- .NET Core 微服务之Polly熔断策略
- java中整数如何表示,在Java中如何在位级别上内部表示整数?
- centos php安装redis扩展,Centos7编译安装redis、php安装phpredis扩展
- java安装 hello_安装JAVA步骤,并编写HELLOWORLD程序
- 【Rayeager PX2分享】OpenCV入门之图像显示
- MySQL 数据库基础
- 数据治理的目的与意义
- C++学习(四五七)查看dll的几种方式
- Java面试:反射机制
- 多商家点餐小程序源码
- 2010-2011年美国大学综合排名
- 计算机应用 一级学科,一级学科、二级学科,考研专业哪个包含了计算机考研方向...
- 计算机硕士论文解读,计算机专业硕士论文提纲范文大全 计算机专业硕士论文提纲如何写...
- Intel处理器执行环境
- PowerVR性能建议-黄金法则
热门文章
- WebForm中 页面传参的总结
- UVA - 10129 Play on Words(欧拉回路)
- 读写执行Druapl7 Note-5: 利用FTP安装module或theme时出错(FIXED)
- js实现php中图片轮播,两种js实现轮播图的方式
- Spring Boot---Web应用返回jsp页面
- [CareerCup] 12.6 Test an ATM 测试一个自动取款机
- Ubuntu 16.04安装SoapUI工具进行接口测试(Web Service/WSDL/RESTfull)
- javascript--返回顶部效果
- 数据中心效率:40%的改进是通过最佳实践方案
- caffe linux下面的调试mnist遇到的问题