软件定义网络 - 架构



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

以下是 SDN 架构的重要组件:

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

控制平面

控制平面是 SDN 的重要组成部分。它用于做出有关如何处理网络流量的决策。在传统网络中,控制逻辑直接嵌入到每个网络设备中。但在 SDN 中,控制平面与物理硬件分离。它集中在 SDN 控制器中。因此,您可以拥有集中化的管理和更易于配置。

Control Plane

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

控制平面的关键职责包括:

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

数据平面

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

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

数据平面的关键职责包括:

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

SDN 控制器

SDN 控制器充当 SDN 架构的“大脑”。它类似于操作系统中的命令解释器。它是一个软件应用程序,集中控制整个网络,使管理员能够管理网络资源。

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

SDN Controller

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 为构建高效的网络铺平了道路。

广告