SDN是一种存在逻辑上集中控制的新型网络结构,其主要特征是数据平面与控制平面分离。数据平面与控制平面之间通过标准的开放接口OpenFlow实现信息交互。
一、SDN的主要内容
SDN在数据平面、控制平面、应用平面的研究内容主要涉及以下方面:
1)在数据平面,主要集中在交换机处理流程设计与实现、转发规则对交换机流表的高效利用、交换机流表的正确性验证与流表优化等方面。
2)在控制平面,主要集中在单点控制器设计、集群控制器架构、控制器接口标准、控制器部署、分布式控制器系统特性等方面。
3)在应用平面,主要集中在QoS、负载均衡、流量工程、各种应用场景,以及SDN网络安全性等方面。
二、SDN的体系结构
SDN网络体系结构,它由数据平面、控制平面与应用平面组成。有时将控制平面与数据平面接口、控制平面与应用平面接口分别称为南向(south bound)接口与北向(north bound)接口,将控制平面内部的SDN控制器之间的接口称为东向接口与西向接口。
三、SDN的工作原理
SDN是将传统的数据平面与控制平面紧耦合的结构,改变为数据平面与控制平面解耦分离的结构,将路由器的网络控制平面功能集中到SDN控制器。SDN路由器是可编程交换机。SDN控制器通过发布路由信息和控制命令,实现对路由器数据平面功能的控制。SDN通过标准协议对网络的逻辑加以集中控制,实现对网络流量的灵活控制和管理,为核心网络及应用创新提供了良好的平台。
在SDN网络中,SDN并不是要取代路由器与交换机的控制平面,而是以整个网络视图的方式加强控制平面,根据动态的流量、延时、服务质量与安全状态,决定各个节点的路由和分组转发策略,然后将控制指令推送到路由器与交换机的控制平面,由控制平面操控数据平面的分组转发过程。
四、SDN的技术特点
SDN不是一种协议,而是一种开放的网络体系结构。SDN吸取了计算模式从封闭、集成、专用的系统进化为开放系统的经验,通过将传统封闭的网络设备中的数据平面与控制平面分离,实现网络硬件与控制软件分离,制定开放的标准接口,允许网络软件开发者与网络管理员通过编程控制网络,将传统的专用网络设备变为可通过编程定义的标准化通用网络设备。
SDN的网络抽象结构由三种抽象模型组成:数据平面抽象模型、控制平面抽象模型与全局网络状态视图。SDN控制平面抽象模型支持用户在控制平面上通过编程控制网络,而无须关心数据平面实现的细节。通过统计分析网络状态信息,提供全局、实时的网络状态视图的抽象模型,网络控制平面能根据全局网络状态对路由进行优先安排、提高网络系统的安全性,使网络具有更强的管理、控制能力与安全性。
可编程性是SDN的核心。编程人员只要掌握网络控制器API的编程方法,就可以写出控制各种网络设备(例如路由器、交换机、网关、防火墙、服务器、无线基站)的程序,而无需知道各种网络设备配置命令的具体语法、语义。控制器负责将API程序转化成指令去控制各种网络设备。新的网络应用也可以方便地通过API程序添加到网络中。开放的SDN体系结构将网络变得通用、灵活、安全,并支持创新。