软件定义网络(SDN)是什么:基础概念

软件定义网络把原本分散在每台网络设备上的决策功能抽离出来,集中到一处——这在实际中到底意味着什么。

核心思路是把控制平面和数据平面分离

"控制平面"负责决定流量该往哪里走,"数据平面"负责实际搬运这些流量。像路由器这样的传统网络硬件把这两者都打包在同一台设备里,而SDN则把它们分开。

一个集中式控制器为整个网络做决策

在SDN架构中,独立于物理交换机运行的软件控制器掌握全网视图,并把转发指令下发给各个交换机,而不是让每台设备各自独立判断自己的路由决策。

OpenFlow是让这一理念真正普及的协议

OpenFlow是一种标准通信协议,让SDN控制器可以准确告诉交换机该如何处理特定类型的流量,业内普遍认为正是这个协议让SDN从一个研究概念变成了实用、可互通的技术。

传统网络需要对每台设备单独配置

在传统网络中,管理员通常需要在每台路由器或交换机上分别配置路由行为。而在SDN架构下,策略只需在控制器上定义一次,就能自动应用到整个网络,变更速度更快,规模扩大后出错的概率也更低。

网络从手工配置变成可编程的对象

由于SDN通过软件接口(API)暴露网络行为,而不再需要逐台设备手工配置,网络行为可以被自动化、脚本化,并根据实时状况动态调整。

大型数据中心和云服务商是主要使用者

SDN在网络规模大、变化频繁、需要集中自动化的场景中价值最高,比如大型数据中心、云基础设施提供商,以及管理大规模虚拟化网络的电信运营商,而不是典型的家庭或小型办公室网络。

为什么这种分离在大规模场景下如此重要

在拥有成千上万台交换机的网络中,逐台手工配置路由变更既缓慢又容易出错。把这种决策集中到软件层面,让管理员——或者自动化系统——可以在一个地方就改变整个网络的行为,这正是大型云服务商广泛采用SDN的主要原因。

SDN和网络功能虚拟化之间的关系

SDN经常和网络功能虚拟化(NFV)一起被提及,后者是用运行在标准服务器上的软件,取代专用硬件设备(比如物理防火墙或负载均衡器)。这两个概念关系密切,也经常一起部署,但SDN特指的是控制平面与数据平面的分离,而不是硬件功能本身的虚拟化。

常见问题

SDN和家庭网络有关系吗?

基本没有直接关系。SDN带来的复杂性和集中控制的价值,主要体现在设备数量多、需求频繁变化的大型网络中,这和典型家庭或小型办公室网络所处的情况并不相同。

OpenFlow是实现SDN的唯一方式吗?

不是。OpenFlow是让SDN普及开来的协议,但如今也存在其他方案和控制器与交换机之间的通信协议,一些现代SDN实现并不依赖OpenFlow。