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

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

Share facebook icon linkedin icon twitter icon email icon

软件定义网络

学习目标

阅读本文后,您将能够:

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

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

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

这可以比作在打字机上写文章与在字处理应用程序中写文章之间的差别:对打字文章进行任何更改都必须重新打字,而字处理文档则可无休止地修改。同样,SDN 技术使管理员能够从计算机重新配置网络,而不必不断地插拔电缆和设备。

什么是控制平面?

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

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

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

什么是网络拓扑?

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

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

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

什么是控制平面?

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

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

SDN 和 SD-WAN 有什么区别?

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

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