什么是开源、软件定义网络和开放网络?

开源、开放网络和 SDN(软件定义网络)都是与网络开放相关的常见概念。这三个术语经常交织在一起,使很多人感到困惑。本文将全面介绍开源,并对开源、开放网络和SDN进行比较。

什么是开源?

开源是一个术语,表示某些东西可以公开访问。它最常指的是其源代码可以被任何人自由使用、修改和共享的软件或程序。该术语起源于软件开发,指的是创建计算机程序的特定方法。随着互联网的发展,对大量源代码进行返工的需求越来越大。当源代码向公众开放时,人们可以在获得该代码的情况下自由查看、学习、共享、修改或可能改进软件。便于创建多样化的通信路径和交互式技术社区。它还可以帮助构建多个网络设备,例如以太网交换机。因此,开源越来越受到关注。许多专注于开发特定软件的人,例如开发人员、工程师、服务提供商、供应商等,都加入了开源项目。

通常,开源软件(程序或应用程序)符合 Apache 或通用公共许可证 (GNU) 等许可证。该许可定义了使用或更改开源软件的条款和条件,例如,代码中的版权声明、仅在同一许可下重新分发许可软件的要求,或保留作者姓名的要求。用户在使用开源软件时必须同意所有协议。

什么是软件定义网络?

软件定义网络 (SDN) 是一种架构,可将网络中的控制平面与数据包转发(数据)平面分离,以创建软件可编程基础设施。它是一种网络虚拟化和容器化方法,网络配置和管理是从中央仪表板执行的,而不是通过网络连接每个特定的交换机或服务器。它允许企业和服务提供商优化网络资源并快速响应不断变化的业务需求。

什么是开放网络?

开放网络基于开放标准(例如OpenFlow协议)和裸机硬件,可以灵活选择网络操作系统(OS)。它旨在打破软件和硬件的专有性质,以提供敏捷、可扩展和可编程的网络,以适应不同的需求。开放网络为企业提供了高度的灵活性,例如可以自由选择设备、软件和网络操作系统,从而使企业能够降低成本、提高能力并推动更好的投资回报率。

SDN 与开源

SDN 和开源在帮助实现开放网络方面发挥着重要作用,但它们绝对不是一回事。典型的 SDN 包含三个部分 - 应用程序、控制器和网络设备。SDN 控制器通过北向应用程序编程接口 (API) 与应用程序通信。当它使用 OpenFlow 等南向接口与交换机或路由器通信时。由于 OpenFlow 协议是网络普遍开源组件的一个示例,因此有人认为 SDN 与开源软件相同。实际上,大多数 SDN 架构仍然在第三方或商用硬件上使用专有或开源软件。

此外,如前所述,SDN 允许开放网络。这让一些人认为 SDN 也是开源的。实际上,SDN可以在不开放组网的情况下,在更有限的环境下做,更何况开放组网不一定是开源的。总而言之,SDN本身并不开源。它因其功能分离、网络虚拟化和通过可编程性实现自动化的能力而受到重视。

开放网络与开源

顾名思义,开放网络和开源都取决于开放的概念。但是开放网络和开源之间有明显的区别。开放网络及其网络操作系统不需要开源。

开放网络允许用户自由选择操作系统,例如 Cumulus Networks 的 Cumulus Linux、Big Switch Networks 的 Switch Light,以及安装在商品硬件或供应商硬件上的 Pica8 的 PicOS。虽然这些网络操作系统通常基于 Linux,但它们不需要开源。总而言之,开源是可供公众使用和修改的任何软件或程序,而开放网络是基于旨在为网络设备创造更多灵活性、互操作性和自动化的软件。