什么是软件定义网络?

软件定义网络 (SDN) 是一种构建网络的现代方法。通常,网络依赖于路由器和交换机等硬件设备。这些设备难以配置和管理。

您可以使用 SDN 通过将控制逻辑(控制平面)与物理设备(数据平面)分离来管理网络设备。借助 SDN,网络管理员可以使用软件从中央位置控制网络,以管理、自动化和优化网络。

软件定义网络的架构

软件定义网络围绕三个关键层构建。这些层中的每一层在网络中都有不同的功能。

软件定义网络架构

应用层

这是最顶层。它包括各种网络应用程序,如安全系统(防火墙)、负载平衡器和入侵检测系统。这些应用程序与 SDN 控制器通信以请求特定的网络行为,如路由、访问控制和流量优化。

控制层

控制层有 SDN 控制器。它充当网络的中央决策单元。它从数据平面中的设备收集信息并决定网络应如何运行。

控制器通过 API 与数据平面中的设备通信。它指导如何根据预定义的规则和策略转发数据。

基础设施层

基础设施层具有构成数据平面的物理和虚拟设备。这些设备(如交换机和路由器)负责根据 SDN 控制器给出的指令转发数据。它们不会对流量做出任何决定,而是执行从控制器收到的命令。

软件定义网络的组件

软件定义网络 (SDN) 有各种重要组件。

软件定义网络的组件

控制平面和数据平面分离

在 SDN 中,控制平面(做出路由决策)与数据平面(转发数据)分离。控制平面集中在 SDN 控制器中。它监督整个网络并向数据平面中的设备发送指令。数据平面设备(如交换机和路由器)遵循这些指令转发流量。

SDN 控制器

SDN 控制器是 SDN 架构的核心部分。它从网络设备收集信息,以决定如何路由数据。它将这些指令发送到数据平面中的设备。控制器有一个集中管理点来配置和优化网络。

SDN 网络设备

数据平面中的设备(如交换机和路由器)负责根据从控制器收到的指令转发流量。这些设备使用 SDN 控制器设置的规则在整个网络中高效转发数据。

OpenFlow 协议

SDN 中使用的主要协议之一是 OpenFlow。该协议用于与交换机和路由器通信,发送确定应如何转发流量的流规则。OpenFlow 用于 SDN 提供的集中控制和可编程性。

SDN 如何工作?

在 SDN 中,网络控制与转发数据的硬件分离。通常,控制平面和数据平面都集成在每个网络设备中。SDN 通过将控制平面移动到集中式 SDN 控制器来改变这种情况。数据平面保留在硬件设备上,如交换机,并根据控制器的指令转发数据。

例如,在正常网络中,当数据包到达交换机时。交换机将咨询其控制平面以决定将数据包转发到何处。而在 SDN 中,交换机只需遵循 SDN 控制器给出的指令。如果交换机不知道如何处理数据包。它会查询控制器。它发回处理该数据包的规则。

SDN 的优点和缺点

使用 SDN 有几个优点和缺点,下面重点介绍其中一些 −

SDN 的优势

  • 您可以使用软件对 SDN 进行编程和修改。
  • 网络管理员无需手动调整每个设备即可配置网络。
  • SDN 硬件更简单、更便宜,因为每个交换机仅处理数据转发。
  • 您可以控制由 SDN 控制器集中管理的逻辑。
  • 它通过集中控制流量和策略来提高安全性。
  • 您可以使用 SDN 控制器检测可疑的网络活动。

SDN 的缺点

  • SDN 依赖于集中控制器。因此它可能存在单点故障。
  • 如果中央控制器发生故障,整个网络都会受到影响。
  • 在非常大且坚固的网络中扩展 SDN 存在挑战。

SDN 与传统网络之间的差异

下表比较和对比了 SDN 和传统网络的主要功能,并强调了它们之间的差异 −

软件定义网络 传统网络
通过基于软件的控制器进行集中控制。 分布式控制。每个设备管理自己的操作。
它将控制平面与数据平面分开。 它将每个设备的控制平面和数据平面结合在一起。
它是可编程的和动态的。 它是不可编程的和静态的。
开放标准使不同供应商的设备能够互操作。 专有且通常与单个供应商绑定。
它更容易扩展并适应不断变化的业务需求。 扩展需要手动配置和硬件升级。
它使用集中式 API 来控制网络设备。 它使用特定于设备的配置方法如 CLI 或 SNMP。

结论

软件定义网络 (SDN) 正在改变网络的设计、管理和运营方式。SDN 可以使用控制和数据平面集中控制、灵活性和自动化。SDN 在企业环境、云网络和数据中心的成本节约、可扩展性和效率方面具有多种优势。

SDN 代表了网络架构的重大转变。您可以采用动态和可编程的网络管理方法。它能够简化操作、降低成本并提高现代网络基础设施的性能。