什么是软件定义网络 (SDN)?

通过软件定义网络(SDN),可以使用软件而非硬件来配置和管理网络。

学习目标

阅读本文后,您将能够:

  • 了解软件定义网络的工作方式
  • 探索 SDN 的应用程序
  • 比较 SDN 与 SD-WAN

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是软件定义网络 (SDN)?

软件定义网络 (SDN) 是用于实现通过软件管理网络的一类技术。SDN 技术使 IT 管理员能够使用软件应用程序配置他们的网络。SDN 软件是可互操作的,这意味着它应该能够与任何路由器交换机配合使用,不论其供应商是谁。

什么是控制平面?

从技术上讲,SDN 是通过将控制平面与数据平面分离而实现的。“平面”是一个网络术语,指的是联网过程所处位置的一种抽象概念。控制平面是引导网络流量的联网过程,而数据平面是穿越网络的实际数据。控制平面通过建立网络路由并传达应使用哪些协议来完成这个过程。

打个比方,控制平面是在城市道路交叉口工作的交通信号灯的集合。数据平面则更像是在道路上行驶、在路口停下并遵守交通信号灯的汽车。

在仅使用物理硬件的网络设置中,必须逐一配置各个路由器或交换机。控制平面与数据平面和底层网络硬件紧密相连。使用 SDN 时,控制平面与数据平面和实际硬件是分离的,从而能够从中央位置配置控制平面。

什么是网络拓扑?

“网络拓扑”这个术语是指数据在网络中流动的方式。控制平面建立和更改网络拓扑。同样,想一想在城市路口发挥作用的交通信号灯。网络拓扑就像城市中道路和各种目的地的排列组合,网络路由就像是道路,而计算设备则是目的地。同时,路由器和交换机是在这些路线的“交叉点”工作的信号灯。

网络拓扑不指代路由器、交换机和计算机之间相对的物理位置。相反,它仅与数据在网络中所经过的路径有关。假设两台计算机通过以太网电缆直接连接到网络交换机,计算机 A 位于房间中靠近交换机的一侧,计算机 B 位于房间的另一侧,那么在网络拓扑中,两台计算机与交换机的距离是相等的。

在 SDN 中,由于控制平面与底层硬件分离,因此可以通过软件而不是硬件来改变网络拓扑。回到上例,如果使用 SDN 的管理员想要更改计算机 B 在网络拓扑中的位置,他们可以使用联网软件重新定义拓扑,使流量从交换机流向(举个例子)另一台路由器,然后再进入计算机 B。

SDN 有哪些主要用途?

软件定义网络在大型数据中心中的使用越来越多。数据中心是通常位于一个建筑物内的服务器和网络设备的集合,用来存储、处理和交换数据。几乎所有 Web 服务器都位于数据中心内,而且许多公司运营自己的数据中心来存储公司数据和运行内部应用程序(例如,企业电子邮件)。由于数据中心使用大量物理网络设备,因此 SDN 能够大幅简化其中的管理工作。

SDN 还使公司能够像混合云部署中一样,更轻松地将其内部部署基础设施与云基础设施连接起来。与使用硬件相比,通过软件连接企业云要更加容易。硬件常常会带来兼容性问题,而云软件和 SDN 软件则可以集成,不论其底层硬件如何。实际上,许多供应商同时提供云服务和 SDN 产品,从而使混合云集成更加简单。

SDN 和 SD-WAN 有什么区别?

软件定义广域网 (SD-WAN) 是一种基于软件的网络架构。SD-WAN 是软件定义网络的一种应用。本质上,所有 SD-WAN 都使用 SDN,但并非所有软件定义网络都是 SD-WAN。

随着技术堆栈向云迁移,许多公司正在转向 SDN 或 SD-WAN。基于软件的虚拟化联网方法使它们更加灵活。但是,软件定义网络容易遭受各种各样的攻击,包括 DDoS 攻击在内。Cloudflare Magic Transit 可为内部部署、混合网络提供防护,免受此类攻击危害。

此外,Cloudflare Magic WAN 提供了一种更快、更安全的 SD-WAN 替代方案。了解有关 Magic WAN 的更多信息。