- 软件定义网络
- SDN - 首页
- SDN - 它是什么?
- SDN 与传统网络
- SDN - 架构
- SDN - 控制器
- SDN - 使用案例
- SDN - 叶脊结构
- SDN - 网络虚拟化
- SDN - 接入网络
- SDN 有用资源
- SDN - 快速指南
- SDN - 资源
- SDN - 讨论
什么是软件定义网络?
软件定义网络 (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 代表了网络架构的重大转变。它可以提供一种动态且可编程的网络管理方法。它能够简化操作、降低成本并提高现代网络基础设施的性能。