软件定义网络 - 架构

软件定义网络 (SDN) 用于设计、构建和管理网络。传统网络依赖于硬件。但 SDN 使用软件来控制和管理网络。SDN 的架构是结构化且定义明确的组件和接口。这些组件协同工作,为您提供灵活性、集中控制和高效的网络管理。每个组件都具有各自的功能、输入和输出。这些组件与操作系统的组件类似。

以下是 SDN 架构的重要组成部分 −

  • 控制平面
  • 数据平面
  • SDN 控制器
  • 应用层
  • 基础设施层
  • 开放接口
  • 网络操作系统 (NOS)
  • 可编程交换机

控制平面

控制平面是 SDN 的重要组成部分。它用于决定如何处理网络流量。在传统网络中,控制逻辑直接嵌入到每个网络设备中。但在 SDN 中,控制平面与物理硬件分离。它集中在 SDN 控制器内。因此,您可以进行集中管理并更轻松地进行配置。

控制平面

控制平面负责监督诸如确定数据的最佳路径、管理网络策略和处理路由协议等任务。它与数据平面通信以执行这些决策。数据在网络上正确转发。例如,如果由于拥塞而需要重定向数据包。然后,控制平面向相关交换机发送指令以进行动态调整。

控制平面的主要职责包括 −

  • 它管理路由和交换逻辑。
  • 它根据策略确定流量。
  • 它与 SDN 控制器通信以更新转发规则。
  • 它保持网络范围的策略以实现最佳数据流。

数据平面

数据平面也称为转发平面。它是 SDN 架构的一部分。它用于处理数据在网络中的实际移动。它由交换机和路由器等网络设备组成,这些设备负责根据从控制平面收到的指令转发数据包。

数据平面的功能是执行 SDN 中控制平面做出的转发决策。它不会自行做出任何路由决策。因此它用于简单且经济高效的硬件。例如,数据平面中的交换机可以接收来自 SDN 控制器的指令,通过特定端口转发发往特定 IP 地址的所有数据包。

数据平面的主要职责包括 −

  • 它根据流规则转发数据包。
  • 它实现从 SDN 控制器接收的转发表。
  • 它根据指示执行数据包过滤和转发等操作。
  • 它有效地管理不同网络设备之间的数据流量。

SDN 控制器

SDN 控制器充当 SDN 架构的"大脑"。它类似于操作系统中的命令解释器。它是一个集中控制整个网络的软件应用程序。因此管理员可以管理网络资源。

SDN 控制器与控制平面和数据平面通信,以收集有关网络状态的信息并向网络设备发出指令。

SDN 控制器

SDN 控制器具有集中控制点,可更轻松地实施网络策略、流量管理和安全措施。它支持各种 API 与网络设备交互,如 OpenFlow、REST API 和其他专有协议。例如,当新设备加入网络时,SDN 控制器可以更新所有连接设备的路由规则以实现集成。

SDN 控制器负责这些活动 −

  • 它收集有关网络状况的实时信息。
  • 它管理流规则并将其推送到网络设备。
  • 它具有供管理员配置网络的用户界面或 API。
  • 您可以自动执行配置更新和策略等网络任务。

应用层

应用层是 SDN 架构的最顶层。它类似于操作系统中的用户级进程。此层具有各种应用程序,它们使用 SDN 控制器的功能来执行各种任务,例如流量管理、安全服务和负载平衡。

此层中的应用程序与 SDN 控制器通信以请求网络行为更改。例如,安全应用程序请求 SDN 控制器阻止某些类型的流量,而负载均衡器可以指示 SDN 控制器在网络路径之间分配流量。因此,网络管理员可以部署和管理复杂的服务,而无需手动更改每个设备。

以下是应用层的功能 −

  • 它从控制器请求特定的网络操作。
  • 它实施服务质量 (QoS) 和防火墙规则等策略。
  • 您可以自动化网络配置以动态响应不断变化的条件。
  • 它根据实时分析监控和调整网络性能。

基础设施层

基础设施层称为物理层。它是 SDN 架构的基础。它具有网络设备——用于数据平面的物理和虚拟设备。这些设备(如交换机和路由器)用于根据 SDN 控制器的指令转发数据。

基础设施层类似于操作系统中的硬件层。SDN 控制器通过开放接口与设备交互。这种分离是为了获得更大的灵活性。因为您可以在不影响控制逻辑的情况下升级和替换物理硬件。例如,组织可以用容量更高的型号的交换机替换旧交换机,而无需重新编程网络。

以下是基础设施层的功能 −

  • 它根据 SDN 控制器设置的流规则转发数据。
  • 它支持通过开放接口与 SDN 控制器通信。
  • 物理和虚拟网络设备均可在 SDN 环境中运行。
  • 它将新设备无缝集成到现有网络结构中。

开放接口

开放接口是 SDN 的重要组成部分。它用于在架构的不同层之间进行通信。这些接口(如 OpenFlow、REST API)充当 SDN 控制器与数据平面设备通信的通道。

使用开放标准和协议使 SDN 与供应商无关。因此,来自不同制造商的这些设备可以协同工作。希望避免供应商锁定并构建可根据需要进行调整的网络的网络运营商。例如,OpenFlow 用于 SDN 控制器在交换机上安装流规则,以指示应如何处理数据包。

开放接口的功能包括 −

  • 它提供了来自不同供应商的设备之间的互操作性。
  • 它提供了将新设备集成到网络中的功能。
  • 它为控制器和网络设备提供了一种标准化的通信方式。
  • 您可以使用自定义网络应用程序。

网络操作系统 (NOS)

网络操作系统 (NOS) 也是 SDN 架构的重要组成部分。它具有管理和控制整个网络的软件平台。NOS 具有 SDN 控制器运行、监控网络状况和做出决定的环境。

NOS 用于实时查看整个网络拓扑、跟踪每个设备的状态并将此信息提供给 SDN 控制器。它还会在发生变化时管理配置任务。例如,当链接发生故障时,NOS 可以重新路由流量以最大限度地减少中断。

网络操作系统的功能包括 −

  • 维护网络拓扑的全局视图。
  • 管理流规则到所有网络设备的分发。
  • 协调不同 SDN 应用程序之间的活动。
  • 提供与 SDN 控制器和应用程序交互的 API。

可编程交换机

可编程交换机用作数据平面的构建块。您可以对这些交换机进行编程。SDN 控制器管理这些交换机。因此,您可以轻松升级网络。

例如,您可以指示可编程交换机优先处理视频流流量而不是其他类型的流量。您可以适应新的流量模式,根据需要动态重新分配资源。

可编程交换机有多种功能 −

  • 它们执行 SDN 控制器提供的流规则。
  • 它们根据可编程规则转发流量。
  • 它们通过软件更新支持新协议和功能。
  • 它们通过智能流量管理提高网络性能。

结论

SDN 架构是一个结构化系统,将网络控制与数据转发分开。它还通过 SDN 控制器使用软件进行网络管理来集中决策。它充当管理进程、内存和设备的操作系统。

SDN 管理网络流量、配置和数据流。您可以创建、管理和扩展现代网络。它具有传统网络无法比拟的灵活性和控制力。

借助 SDN 控制器、可编程交换机和开放接口等组件,SDN 为实现高效网络提供了一条途径。