SDN采用了如图1-7所示的基本架构,集中式的控制平面和分布式的转发平面相互分离,控制平面利用控制器、转发通信接口对转发平面上的网络设备进行集中式的管理。

图1-1 SDN架构​​​​

① 基础设施层(Infrastructure Layer):主要承担数据转发功能,由各种网络设备构成,如数据中心的网络路由器,支持OpenFlow的硬件交换机等。

②控制层(Control Layer)网路转发的控制管理平面,负责管理网络的基础设施,主要组成部分为SDN控制器。SDN控制器是整个网络的大脑、控制中心,主要是按照配置的业务落户,产生对应的数据平面的流转发规则,则通过下发给网络设备,控制器进行数据转发。

③应用层(Application)指商业应用。开发者可以通过SDN控制器提供的北向接口,如RESET接口实现应用和网络的联动,例如网络拓扑的可视化、监控等。

④南向接口(Sorthbound Interface):SDN控制器对网络的控制主要通过OpenFlow、NetConf等南向接口的实现,包括链路发现、拓扑管理、策略指定、表项下发等。其中,链路发现和拓扑管理主要是控制其南向接口的上行通道对底层交换设备进行统一的监控和统计,而策略指定和表项下发则是利用南向接口的下行通道对网络设备进行统一的控制。

⑤北向接口(Northbound Interface):北向接口是通过上层应用开放的接口,其目标是使得应用能够便利地调用底层的网络资源和能力。因为北向接口是直接为应用服务的,因此其设计需要密切联系应用的业务需求,比如从用户、运营商或产品的角度去考量。

在SDN发展初期,控制平面的表现形式更多的是以单实例的控制器出现的,实现SDN的协议也已OpenFlow为主,因此SDN控制器更多指得是OpenFlow控制器。随着SDN的发展,ONF也在白皮书中提出了SDN的架构标准。广义的SDN支持丰富的南向协议,包括OpenFlow、NetConf、OVSDB、BGPLS、PCEP及厂商协议等,可实现灵活可编程和灵活部署,支持网络虚拟化、SR路由、智能分析和调度。

与南向接口方面已有OpenFlow等国际标准不同,目前还缺少业界公认的北向接口的标准,因此,北向接口的协议定制成为了当前SDN领域竞争的一大焦点,不同的参与者或从各种角度提供北行接口,用于上层应用开发和资源编排。当然,对于上层的应用开发者来说,RESful API是比较乐于采用的北向接口形式。

参考书籍:

1.从DPDK到OpenFlow 英特尔亚太压研发有限公司 编著