在 5 分钟或更短时间内解释软件定义网络 (SDN)

已发表: 2023-01-09

SDN被认为是开发新网络技术和应用的关键使能技术。

多媒体内容的增长、移动设备使用的增加以及对云计算的需求都促进了对更灵活、更高效的网络架构的需求。

由于这些趋势导致不可预测的流量模式和对特定资源的需求突然增加,传统网络架构一直在努力跟上。

需要一种替代策略,因为扩展网络基础设施来处理这些波动可能非常昂贵且复杂。

SDN 就是为了解决这个问题而开发的,它通过将控制平面与数据平面分离。 这使网络能够自动重新配置自身以满足不断变化的需求,从而提高其整体性能和效率。 让我们了解一下这个 SDN 的全部内容。

什么是软件定义网络?

什么是SDN

软件定义网络 (SDN) 是一种现代网络架构,允许管理员使用软件来定义和控制网络设备的行为,而不是单独配置这些设备。

它通常与网络功能虚拟化 (NFV) 相结合,进一步提高网络的灵活性和成本效益。 此外,它还允许集中网络智能,从而更容易排除故障和监控网络。

SDN架构

SDN 体系结构通常包括三个主要层:应用程序平面、控制平面和数据平面。

sdn-架构-1
图片来源:Sotirios Goudos
  1. 应用层:这是SDN架构的顶层,负责定义网络的期望行为。 这一层的应用程序可能包括流量工程工具、安全策略或虚拟网络覆盖。
  2. 控制层:控制层负责执行应用层定义的策略和规则。 它通常实现为与数据平面中的网络设备通信的中央控制器。
  3. 数据平面或基础设施层:该层由构成数据平面的物理网络设备组成,例如交换机和路由器。 这些设备负责通过网络转发网络流量。

北向和南向接口用于促进架构不同层之间的通信。 集成这三层可以使网络以协调高效的方式运行。

SDN 是如何工作的?

在SDN网络中,控制平面和数据平面是分离的。 控制平面决定如何通过网络转发流量,而数据平面负责根据这些决定转发流量。

SDN 将控制平面与数据平面分开
图片来源:Jun Luo

控制平面是使用中央控制器实现的,中央控制器是在单个服务器或一组服务器上运行的软件应用程序。 控制器维护网络的全局视图,并使用此视图来决定应如何转发流量。 它通过与网络中的数据平面元素进行通信来实现这一点,这些元素被称为“转发元素”或“交换机”。

SDN 网络中的这些交换机通常是“开放式”的,这意味着它们可以由外部软件控制和编程,而不是使用一组固定的转发流量规则进行硬编码。 因此,控制器可以配置交换机以所需方式传输流量。

为了控制开关,控制器使用南向 API 与它们通信,这是一组协议和接口,控制器可以使用它们向开关发送指令并从它们接收状态信息。 并且controller通过北向API与上层需要使用网络的应用和系统进行通信,比如运行在云端的应用。

通过这种方式,控制器通过决定如何转发流量并将这些决定传达给充当网络“肌肉”的交换机,执行从网络接收的指令,从而充当网络的“大脑”。控制器并相应地转发流量。

SDN的特点

SDN 有几个区别于传统网络架构的关键特性:

  • 灵活性:无需物理重新配置设备即可对网络进行更改,这使网络管理员能够对不断变化的要求和环境做出快速反应。
  • 可编程性:可以使用 API 或其他软件开发工具以编程方式控制网络的行为。 这使得自动化网络任务以及将网络与其他系统集成变得更加容易。
  • 抽象:在SDN架构中,控制平面与数据平面分离,数据平面负责转发流量。 这有助于工程师在不影响转发流量设备的情况下轻松改变网络的运行方式。
  • 虚拟化:它还允许网络资源的虚拟化,允许管理员按需创建虚拟网络。 这在对网络资源的需求可能高度动态的云计算环境中特别有用。

除了上面列出的功能之外,使用 SDN 的主要优势在于它使企业能够在软件中模拟其物理网络基础设施,从而降低总体资本支出 (CAPEX) 和运营支出 (OPEX)。

SDN架构的类型

一般来说,不同类型的网络可能需要不同的 SDN 方法。

例如,拥有许多不同类型设备和复杂拓扑结构的大型企业网络可能会受益于混合 SDN 架构,该架构结合了集中式和分布式 SDN 的元素。 相反,集中式 SDN 设计可能适用于设备较少且拓扑结构较简单的小型网络。

仔细评估不同的选项并选择最能满足组织需求的架构非常重要。 SDN 主要使用五种不同的架构模型。

sdn类型

#1。 集中式SDN

在集中式 SDN 架构中,所有控制和管理功能都整合到一个中央控制器中,这使管理员可以轻松定义和控制网络行为。 尽管如此,它也会造成单点故障。

#2。 分布式SDN

在这种架构类型中,控制功能分布在多个控制器中,提高了可靠性,但使管理网络变得更加复杂。

#3。 混合SDN

混合 SDN 架构模型结合了集中式和分布式 SDN 元素。 根据网络的需要,它可能会针对某些功能使用集中式控制器,而针对其他功能使用分布式控制器。

#4。 叠加SDN

覆盖架构使用虚拟网络技术(例如 VXLAN 或 NVGRE)在现有物理网络之上创建逻辑网络。 这允许管理员创建可以轻松创建、修改和删除的虚拟网络。

#5。 底层SDN

底层架构利用现有的网络基础设施来支持虚拟网络的创建,这些虚拟网络可以使用 MPLS 或分段路由等技术在网络中的设备之间创建虚拟链路。

学习资源

选择最佳资源来学习 SDN 相关概念可能具有挑战性,因为有许多不同的选项可供选择。 因此,尝试一些不同的资源以查看哪种最适合您可能会有所帮助。

#1。 SDN 速成课程实践/动手

这是 Udemy 平台上提供的课程。 本课程是获得 SDN 和基于 OpenFlow 的网络编程实践经验的绝佳方式。 它还涵盖了各种高级 OpenFlow 概念,例如计量表 (QoS) 和组表(负载均衡器、嗅探器)。

sdn1

我们强烈推荐这门课程给任何想要了解更多关于 SDN 和所涉及的不同技术的人。 只需基本的网络知识就足以开始本课程。

#2。 SDN:软件定义网络

本书主要讨论SDN的关键技术和协议,包括OpenFlow、OpenStack和ONOS。 它提供了如何使用这些技术来构建和管理网络的详细示例。

预习产品评分价格
SDN:软件定义网络:网络可编程性技术的权威评论 SDN:软件定义网络:网络可编程性技术的权威评论暂无评分40.72 美元

它还提供了有关设置和管理 SDN 网络的有用提示,包括故障排除和安全注意事项。

#3。 SDN 和 NFV 简化

本书全面概述了 SDN 和 NFV,包括它们的优势、技术和应用。 它还包括现实世界的例子和案例研究,以帮助说明关键点并展示这些技术如何在行业中使用。

预习产品评分价格
SDN 和 NFV 简化:了解软件定义网络和网络功能虚拟化的可视化指南 SDN 和 NFV 简化:理解软件定义网络和网络的视觉指南…… 39.98 美元

作者以清晰简洁的方式很好地解释了 SDN 和 NFV 的关键概念,使所有技术专业水平的读者都可以阅读本书。

#4。 软件定义网络

本书从个人实施和利用该技术的角度全面介绍了 SDN。

预习产品评分价格
软件定义网络:一种系统方法 软件定义网络:一种系统方法暂无评分26.83 美元

这本书对理解整个SDN架构很有帮助,即使对于初学者也是如此。 它还讨论了如何使用行业标准为可扩展环境设计网络。

#5。 SDN 和 NFV:要点

这是一本写得很好且引人入胜的指南,为 SDN 和 NFV 奠定了坚实的基础,适合所有技术专业水平的读者。

预习产品评分价格
SDN 和 NFV:要点 SDN 和 NFV:要点暂无评分5.08 美元

了解 SDN 概念的最佳方式是获得使用 SDN 工具和技术的实践经验。 您可以尝试使用 Mininet 等工具和 RYU 等控制器设置一个简单的 SDN 环境,并尝试使用该软件控制网络流量。

包起来

SDN 在当今的数字环境中很有用,因为它使网络更加灵活和有效。

在传统网络中,控制平面和数据平面是紧密耦合的,这意味着控制平面的变化也需要数据平面的变化。 这会使更改网络变得困难且耗时,尤其是在大型复杂网络中。

使用 SDN,控制平面从数据平面中抽象出来,这使得以编程方式控制和优化网络行为变得更加容易。 这在需要快速轻松地对网络进行更改的环境中尤其有用,例如在可以快速配置和取消配置工作负载的云计算环境中。

我希望本文对您了解 SDN 及其架构有所帮助。

您可能也有兴趣了解最好的无代理网络监控工具。