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 TomahawkCavium: XPliant盛科: GoldengateMellanox: SpectrumMarvell: PresteraNephos: 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-100bFacebook: Wedge-100Ingrasys: 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将使整个云计算社区受益,我们对此平台背后日益强大的合作伙伴关系感到高兴。

本文转自d1net(转载)

目录
相关文章
|
1月前
|
云安全 监控 安全
网络安全产品之认识防病毒软件
随着计算机技术的不断发展,防病毒软件已成为企业和个人计算机系统中不可或缺的一部分。防病毒软件是网络安全产品中的一种,主要用于检测、清除计算机病毒,以及预防病毒的传播。本文我们一起来认识一下防病毒软件。
53 1
|
3月前
|
安全
Emerson艾默生 DeltaV 网络智能交换机
Emerson艾默生 DeltaV 网络智能交换机
|
1月前
|
监控 安全 网络安全
【软件设计师备考 专题 】网络软件
【软件设计师备考 专题 】网络软件
43 0
|
2天前
|
人工智能 安全 大数据
SDN(软件定义网络)——重塑网络架构的新视角
SDN(软件定义网络)是网络架构革新的关键,通过分离控制与数据平面,实现网络的灵活、高效管理。未来,SDN将更广泛应用于各行业,与云计算、大数据、AI融合,推动数字化转型。开放与标准化的趋势将促进SDN生态发展,提供以业务需求为导向、智能化自动化管理及增强网络安全的新视角。SDN将在更多领域扮演重要角色,支持网络技术的创新与进步。
|
10天前
|
运维 网络架构
软件体系结构 - 网络拓扑结构
【4月更文挑战第14天】软件体系结构 - 网络拓扑结构
11 0
|
1月前
|
存储 编解码 安全
网络设备和网络软件
网络设备和网络软件
22 0
|
2月前
|
JSON 监控 网络安全
使用Perl编写的上网监控管理软件:网络数据包拦截与分析功能
网络安全一直是互联网时代的重要议题之一。随着网络技术的不断发展,网络攻击和数据泄露等问题也变得日益严重。为了有效监控和管理网络流量,开发了一款基于Perl语言的上网监控管理软件,该软件具有强大的网络数据包拦截与分析功能,能够帮助网络管理员实时监控网络流量,并及时发现和应对各种网络安全威胁。
152 0
|
2月前
|
存储 缓存 网络协议
计算机网络:思科实验【3-集线器与交换机的区别、交换机的自学习算法】
计算机网络:思科实验【3-集线器与交换机的区别、交换机的自学习算法】
|
2月前
|
监控 Java 持续交付
内部网络监控软件的Groovy应用:持续集成与部署的自动化监控
在当今高度数字化的环境中,对于内部网络的监控变得至关重要。为了保证系统的稳定性和安全性,监控软件的自动化变得越来越必要。本文将介绍如何利用Groovy编程语言实现持续集成与部署的自动化内部网络监控软件,并通过代码示例展示其实现方式。
261 3
|
2月前
|
自然语言处理 UED
ROSTCM6软件下载及语义网络分析详细操作教程(附网盘链接)
ROSTCM6软件下载及语义网络分析详细操作教程(附网盘链接)
1368 0