52

下一代SDN时代的开启,是噱头还是真刀实枪

 5 years ago
source link: https://www.sdnlab.com/23020.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

编者按:“有人说,软件定义网络(SDN)是本世纪最大的IT炒作,在经历过“全民SDN”狂潮之后,如今的它似乎已经失去了热度,网络软件化的提出,下一代SDN的诞生,究竟是噱头还是真的有真才实干?”

2018年3月,开放网络基金会(ONF)发布了下一代软件定义网络(SDN)接口战略,并在谷歌的支持下推出了Stratum项目,该开源项目将用于实现真正的软件定义的数据平面参考平台,其目标是提供一个白盒交换机和开放软件系统。

stratum-onf-668x400.jpg

Stratum诞生的背景

stratum-onf-1.png

当前的SDN面临着一系列的挑战,SDN要求高度可扩展、高度自动化、高性能接口,并且还要实现自定义配置和管理,但现有的SDN架构不能够满足这些要求,因此谷歌结合自身部署SDN时的经验,推动了Stratum项目的成立。

Stratum项目的成员

谷歌推动了Stratum的成立,是Stratum首个版本的代码贡献者,Stratum的大部分工作是基于谷歌早期部署SDN时发现的OpenFlow的局限性。ONF执行董事Guru Parulkar表示:“ONF借鉴了谷歌5-7年的产品部署经验,并将这一经验引入到定义下一代SDN平台中。这涉及到完整的生命周期管理,不仅是可编程控制,还包括如何插入设备、并进行升级,促使用户更快地创新。”

目前参与Stratum项目的成员包括:
云提供商:谷歌、腾讯
电信运营商:中国联通、NTT、土耳其电信/Netsia
网络厂商:Big Switch Networks、BISDN、Juniper、NoviFlow、OSI、PLVision、锐捷网络、VMware
白盒ODM厂商:Delta、Edgecore Networks、QCT、Inventec
芯片厂商:Barefoot、Broadcom、Cavium、Mellanox、Xilinx

下一代SDN时代的开启

Stratum是一个开源的,独立于芯片的交换机操作系统,用于软件定义网络。Stratum公开了一组下一代SDN接口,包括P4Runtime和OpenConfig,实现了转发设备的可互换性和转发行为的可编程性。Stratum提供完整的白盒交换机解决方案,真正实现SDN的“软件定义”承诺。

stratum-onf-2.png

Stratum避免了厂商锁定数据平面(即专有的芯片接口和封闭的软件API),并且可以轻松地将设备集成到运营商网络中。Stratum项目扩展了SDN的范围,包括完整的生命周期控制、配置和操作界面。

stratum-onf-3.png

作为未来SDN解决方案的关键软件组件,Stratum实现了最新的以SDN为中心的北向接口,包括P4,P4Runtime,gNMI / OpenConfig和gNOI。它不嵌入控制协议,而是设计为支持外部网络操作系统或与在同一嵌入式交换机上运行的NOS功能一起使用。

stratum-onf-cut.jpg

Stratum将使用可编程芯片以及包含P4和P4Runtime的工具箱,ONF表示现在可以彻底重新定义转发行为,并管理数据层的所有配置和运行,Stratum的创始成员计划通过尽可能广泛的网络芯片以及来自多厂商的白盒交换机来提供Stratum解决方案。

stratum-onf-5.png

下一代SDN接口包括四个主要功能,可以实现数据平面的控制和管理,包括:

  • 定义管道:通过P4语言定义/记录逻辑数据平面管道,在固定或部分可配置的数据平面芯片上,P4用于记录交换机暴露的逻辑管道。在P4可编程设备上,可以使用相同的P4管道定义动态交换机管道。
  • 管道控制:通过P4Runtime进行管道控制被认为是OpenFlow的下一代版本,它定义了控制和数据平面如何通信,其中网络操作系统和数据平面可以动态地协商管道配置。
  • 设备配置:具有OpenConfig数据模型的gNMI用于管理设备配置。SDN最初并未解决这些要求,而是以临时方式使用SNMP,Netconf和CLI(禁止互操作性)。
  • 设备操作:gNOI用于操作,解决一次性事件,如设备测试或重新启动,不需要维护状态。这在之前的SDN中也没有实现,导致实施的不一致并限制了互操作性。

ONF市场副总裁Timon Sloane表示,对ONF来说,Stratum项目是其发展SDN的更大努力的一部分,也可以说是OpenFlow的继任者。

Stratum的应用案例

Stratum实现了最新的下一代SDN接口,并未嵌入控制协议,而是旨在支持外部网络操作系统或嵌入式交换机管理和控制(例如BGP)。通过这种方式,Stratum将支持各种用例和各种市场应用。

stratum-onf-6.png

案例1 - 云SDN数据平面:这是Google最直接关注的用例。 Stratum的初始代码库由Google提供,Google正在从其生产代码库中捐赠代码以启动项目。Google还打算将Stratum与其内部SDN控制器配对,以管理和控制基于Stratum的白盒交换机,从而将Stratum引入其生产网络。其他拥有专有控制器的网络运营商也可以这样做,利用Stratum来定制SDN网络。
案例2 - 云SDN Fabric平台:由ONF托管的两个开源项目ONOS和Trellis将作为P4数据平面交换层在Stratum上本地运行。  这将为可编程SDN数据中心脊柱结构提供完整的开源解决方案。
案例3 - CORD: CORD是一个用于运营商边缘云的综合平台,运行在Trellis和ONOS上,这意味着Stratum也可以在CORD环境中发挥作用。结合Stratum,CORD正在支持可编程网络结构中VNF实例化的道路,大大提高了边缘云的可扩展性和成本效率。
案例4 - 带嵌入式控制的“thick”交换机:Stratum可以进行优化以提供“thin”交换机解决方案,Stratum还可以与运行在同一交换机内的嵌入式NOS结合使用。这种被称为“thick”交换机的配置可以将传统的嵌入式管理和控制模型(例如Netconf,SNMP,BGP)都复制到单个系统中。这种方法允许利用Stratum和最新的SDN接口来构建传统结构化的、紧密集成的系统。

Stratum与其他开源网络项目的关系

Stratum是一个通用的平台,用于多种系统和转发芯片,这种通用性在很大程度上是通过利用其他开源项目的工作来增强的。Stratum可以使用OCP的开放网络安装环境(ONIE)和开放网络Linux(ONL)在开放网络硬件平台上提供引导和平台支持。此外,每个实现都将通过NOS表达的意图和操作映射到系统特定的操作,将最新的SDN接口暴露给北向网络操作系统。SAI(交换机抽象接口)和SDKLT(Broadcom最近公布的开放接口)都是开放硅管道接口的例子,在特定交换机上实现 Stratum时可以利用它们。通过这种方式,Stratum建立在以前的开源工作的基础上,同时创建一个整体的北向接口,提供全面的控制和自动化的网络管理。

dNOS

AT&T于2017年11月发布了致力于开发白盒交换机操作系统的分布式网络操作系统(dNOS)的项目,3月AT&T宣布将dNOS正式托管给Linux基金会,并且将项目名称改为DANOS。DANOS是构成网络的单个白盒设备的操作系统。

stratum-onf-7.png

目前,DANOS得到了各种Linux基金会团体和成员的支持,包括Broadcom,Inocybe,Metaswitch和Silicom。DANOS还要求标准的应用程序编程接口,它提供了具有基本操作系统,数据平面以及控制和管理平面的框架。DANOS包括了五个操作系统:FRR,SONiC SAI,Open Switch,Stratum和P4。

SONiC

微软于2016年3月份的OCP大会上发布了开源的Software for Open Networking in the Cloud (SONiC)操作系统,发布伊始就能够支持Arista、博通、戴尔、Mellanox等公司的网络设备。SONiC的推出标志着微软将会和来自惠普、戴尔和Cumulus Networks的白盒网络操作系统进行竞争。目前,SONiC已经获得了业界广泛的关注,思科、盛科等公司目前正在积极参与SONiC项目。SONiC的所有软件功能模块都是开源的,推动了OCP社区以及其他厂商在开放网络方面的创新。

stratum-onf-8.png

SONiC是构建网络设备(如交换机)所需功能的软件集合。它可以通过交换机换抽象接口(SAI)运行在不同的ASIC平台。正是由于SAI的存在,SONiC的的app(网络功能)才能够支持多个厂家的ASIC。需要注意的是,SAI没有公开源代码,ASIC厂家只提供二进制格式的SAI文件。虽然SAI没有开源,但是SAI向上给SONiC提供了一套统一的API 接口,向下则对接不同的ASIC。

Stratum的未来

stratum-onf-9.png

Stratum发展时间表

整个2018年,Stratum项目都处于孵化阶段,项目成员可以完全访问代码,Stratum将于2019年进入完全开放阶段,并计划在Apache 2.0许可下运行。Stratum的未来如何,我们犹未可知,目前腾讯已经引入了Stratum,至于接下来该如何发展,还请大家拭目以待!

参考:
1.https://www.sdxcentral.com/articles/news/onf-launches-new-open-source-sdn-switching-platform-stratum/2018/03/
2.https://stratumproject.org/
3.https://www.opennetworking.org/stratum/
4.https://www.opennetworking.org/news-and-events/press-releases/stratum-onf_google-launches-major-new-open-source-sdn-switching-platform-with-support-from-google/
5.https://p4.org/assets/P4WS_2018/Stratum_Brian.pdf
6.https://www.opennetworking.org/wp-content/uploads/2018/12/Next-Gen-SDN-combined.pdf


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK