SDN的特点之一就是控制平面与数据平面分离,其主张通过集中式的控制器平台实现网络的控制。在SDN架构中,控制平面是逻辑集中的,通过某种协议将控制信息下发至底层的数据平面去执行。所以,控制平面被称为SDN的大脑,指挥整个数据网络的运行。
得益于集中控制的优势,控制平面的存在使得网络的部署和配置更加智能和简化。支持编程的SDN控制平面使得网络更加智能,更加灵活和易于拓展。控制器通过SDN的南向协议的API可以对数据层面的网元设备下发指令,完成控制平面与数据平面的控制传输。目前,在SDN领域中,OpenFlow协议是最流行的南向协议之一。2008年,SDN和OpenFlow一起诞生于斯坦福大学。
SDN出现初期,控制平面的表现形式更多的是以单实例的控制器出现。实现SDN的协议也是以OpenFlow为主,所以在SDN发展初期,SDN控制器更多指的是OpenFlow控制器。SDN出现之后,ONF[1]成立。ONF(OpenNetwork Foundation),中文名为“开放网络基金会” ,是致力于推进SDN标准化的一个用户驱动的组织。在ONF的白皮书中,提出了SDN的架构标准,SDN架构1.0版本和1.1版本分别如图1和 图2所示。
图1 SDN网络架构1.0版本
图2 SDN网络架构1.1版本
第一款SDN控制器是NOX,目前NOX的社区状态已经不再活跃。在早期的SDN论文中,NOX作为唯一的控制器,发挥了重要的作用。NOX给后来的控制器开发提供了很好的范例,高层级的编程架构。