2.2 SDN发展迅速

经过了几年的发展,SDN 的相关技术正呈现着百花齐放的发展态势。

在控制平面方面,从第一个控制器平台NOX 开始,业界已逐渐出现一系列的基于OpenFlow 的网络控制器平台。这些控制器平台在向下封装与交换机通信的OpenFlow 协议的同时,也向上层网络控制应用提供相对更高层的开放编程接口。当前主流的控制器平台主要包括:NOX,,Onix,Floodlight,Beacon 以及等。

在转发设备方面,SDN 的转发设备已不再局限于有线转发设备。支持OpenFlow 的转发设备能够部署在更广阔的网络环境中,如适用于虚拟环境的Open vSwitch 以及能够工作在无线环境中的Pantou 等。于此同时,随着设备厂商的加入,支持的转发设备也正逐渐从基于软件的转发设备向基于高速硬件的转发设备过渡。

在控制平面与转发平面的通信接口方面,开放网络基金会ONF 于年6 月发布了Openflow v1.3 版本。与早期版本相比,新版本的协议更加灵活。除了保留版本中对多级表、群组表、标签以及虚端口等特性的支持,以及OpenFlow v1.2 版本中对IPv6 以及可扩展匹配的支持之外,版本规范了基于参数类型、长度和数值(TLV)的能力表达框架,还增加了对逐流计量以及IPv6 扩展头处理等功能的支持。OpenFlow v1.4 版本的标准化工作计划也将在2013 年上半年完成。

随着SDN 相关技术研究的不断深入,其研究活动主要可以在以下方面展开:

(1)SDN 控制应用的研究。

这种开放的网络架构能够用于多种网络环境中,不同场景中SDN 控制应用需要从不同的网络环境特点出发,因地制宜,合理有效地进行有针对性的控制应用设计。

(2)SDN 网络抽象。在SDN 架构中,控制器平台向上层控制应用提供高层抽象应用程序编程接口(API),也称为“ 北向接口”。现有的控制器平台实现已经提供了一些基本的抽象,然而利用基本抽象来编写网络控制程序往往也是比较复杂并且容易出错,如何去设计更高层的网络编程抽象也是一个需要解决的问题。当前,业界比较认可的编程API 需求有提供通用的编程抽象,能够支持多种网络环境中的不同的网络控制功能;提供高层抽象,使编程人员能够更容易地控制网络;提供分布式抽象,以支持网络和应用的可扩展性,使程序的编写不受底层网络分布式结构的束缚;提供支持模块化的控制程序;提供可移植性,使控制程序能够得到最大限度的重用等等。

(3)SDN 调试及排错技术。由于的行为完全由软件决定,与所有程序一样,这些控制程序同样会存在一定的漏洞,验证网络行为与控制策略的一致性也成为了现阶段的重要问题。

当前的解决方案有:利用模型校验以及符号执行去验证控制器代码的正确性;利用断点及数据包回溯技术来对SDN 进行排错;以及通过对数据平面配置的静态分析来检查网络的联通及隔离错误等等。

(4)分布式控制平面的设计。虽然OpenFlow 支持分布式控制,但将网络智能逻辑上集中化之后所带来的可用性、可扩展性等问题仍需完善。

在分布式SDN 架构中,控制器之间的信息复制决定了系统的可扩展性,在信息全复制的情况下,整个系统将很快会陷入系统瓶颈,因此需要对网络中各种信息的更新频率进行更为精确的分析,从而能够给出较为有效的解决方案。

(5) 硬件优化技术。利用的特性来对转发硬件进行优化,OpenFlow 协议从v1.1 版本之后将转发面抽象成多级流水线,十分类似于当今交换机ASIC 以及网络处理器的结构。那么,如何在不过分增加转发硬件复杂度的前提下,尽可能地提高转发平面的可编程能力(如可定义的表/流水线结构)也是一个需要进一步研究的重要问题。

随着研究的不断深入以及技术的持续发展,SDN 关键技术将逐渐趋于完善,未来的网络将会越来越依赖于软件,因此互联网将可能会进入SDN 时代。


相关内容