1.SDN架构
SDN是一种数据控制分离、软件可编程的新型网络体系架构,其基本架构如
下图1所示。SDN采用了集中式的控制平面和分布式的转发平面,两个平面相互分离,控制平面利用控制——转发通信接口对转发平面上的网络设备进行集中式控制。
图1
这部分控制信令的流量发生在控制器与网络设备之间,网络设备通过接收控制信令生成转发表,并据此决定数据流量的处理,如图2
图2
SDN可以通过编写软件的方式来灵活定义网络设备的转发功能。它是一种网络体系架构,该架构包含了多种接口协议,其中使用南向接口协议实现SDN控制器与SDN控制器的交互,使用北向API实现业务应用与SDN控制器的交互。
ONF定义的SDN架构由控制平面、应用平面、数据平面和控制管理平面组成。
数据平面由若干网元组成,每个网元可以包含一个或多个SDN Datapath。每个SDN Datapath是一个逻辑上的网络设备,单纯被用来转发和处理数据,其在逻辑上代表了全部或部分的物理资源。
控制平面中SDN控制器主要负责两个任务,一是将SDN应用层请求转换到SDN Datapath,二是为SDN应用层提供底层网络的抽象模型。一个SDN控制器包括北向接口代理、SDN控制逻辑和控制平面接口驱动三部分。
ONF组织提出的SDN系统结构
应用平面由SDN应用构成,SDN应用能够通过可编程方式把需要请求的网络行为提交给控制器,其包含多个北向接口驱动,同时可对自身功能进行抽象、封装来对外提供北向代理接口。
管理平面负责一系列静态的工作,这些工作比较适合在应用、控制、数据平面外实现。
从ONF组织对SDN架构的定义可以发现:SDN架构下集中式控制平面与分布式数据平面是互相分离的,SDN控制器负责收集网络的实时状态,将其开放并通知给上层应用,同时把上层应用程序翻译成为更为底层、低级的规则或者设备硬件指令下发给底层网络设备。SDN最大的特点是标准化的南向接口协议。