陈向效
关键词:软件定义;安全模型;网络机制;控制器安全;研究进展
软件定义网络是美国斯坦福大学Clean-Slate课题研究组经过长时间研究和分析之后提出的一种创新型的网络架构,简单来说就是一种网络虚拟化的实现方式。与现有的网络模式相比,软件定义网络有利于实现网络流量的灵活控制,使得网络变得更加智能,也可以为后续的核心网络创新提供一個良好的平台和环境。具象化来看,软件定义网络可以有效降低不同设备的负载,从而协助不同的网络运营商更好地进行一系列基础设施的控制。更为重要的是,软件定义网络可以降低网络运营成本。基于此,软件定义网络是目前最具前途的一种网络技术,我们需要对其高度重视。
1概述
所谓软件定义网络,就是将传统封闭状态的网络体系进行解耦处理,将其分为三个部分,即应用平面、数据平面和控制平面,在区分得以细化之后,就可以在逻辑之上实现网络流量的集中控制和管理。与传统网络模式相比,软件定义网络的主要优势在于开放性和可编程性,西向接口使控制器具有可扩展性,为负载均衡和性能提升提供了技术保障。也正是因为这些优势,使得软件定义网络具有非常强的实用性,目前其已经在众多领域进行应用,包含虚拟网络化、数据中心网络、无线局域网和云计算等领域。
集中控制和数据的转发分离是软件定义网络的基本思想,学术界对其进行了广泛的关注和重视。相关网络运营商依据软件驱动的中央控制就可以实现对整个网络的控制,这使得相关的网络管理工作得到了比较大的简化[1],对于用户来说是比较便捷的。但是,这种网络架构目前还存在诸多问题,包含单点失效、安全性难以控制等,同时由于具有极高的开放性,也给予了攻击者更为方便的方式和空间,通过软件编程就可以对网络发起攻击。纵观软件定义网络的发展过程也可以发现,安全性方面的问题成为制约其发展的主要因素之一。
2软件定义网络与安全模型
2.1软件定义网络架构简介
软件定义网络的核心思想是逻辑层面的集中控制和数据的转发分离,这是毋庸置疑的。随着软件定义网络的不断普及和推广,不同的研究机构和具有需求的企业分别从自身发展需求、用户需求角度出发,针对软件定义网络提出了其他的具有草靠意义的结构。其中,欧洲电信标准化组织就从网络运营商的角度出发,提出了一种NFV架构,有利于网络的集中控制,对于网络运营商而言,在实践工作中具有比较大的管理便利。思科、微软等厂商从软件定义网络具体实现方式和部署的角度出发,提出了一种OpenDaylight,其适用性在以上相关厂商实践应用上比较强。目前,开放式网络基金会开始重视软件定义网络的相关研究和分析,并且从多个角度针对其进行了相关优化和完善。开放式网络基金会提出的软件定义结构主要分为三个层次,即基础层、控制层和应用层。其中,基础层主要由网络底层的转发设备构成,主要负责的就是相关数据的处理和转发:控制层主要与网络服务相关,与用户的网络使用体验具有直接联系:应用层主要位于软件定义网络的顶层位置,主要包含不同类型业务和具体的应用。但是目前来看,由于应用层的顶层位置涉及的各类业务和应用具有明显的复杂性和多样性,导致控制层与应用层之间的北向接口容易出现不同类型的问题,而这些问题本质上都是因为北向接口没有统一的规范和标准所导致的[2]。
2.2基于OpenFlow的软件定义网络工作流程
基于OpenFlow的软件定义网络架构初步实现了软件定义网络的原本的设计思想,也是软件定义网络的一个典型架构,具体实现步骤如下。
步骤1:终端A加入网络,并且向交换机1传输数据包。
步骤2:接收数据包之后,交换机1开始查询自身的流表,如果二者之间没有匹配内容,则交换机1通过Packet-In事件,将接收到的数据包转变到控制器中,在这一过程中,主要通过TCP协议实现,同时为了满足安全层面的需求,可以使用安全传输层协议进行数据包的加密传输。
步骤3:控制器在接收交换机的请求数据和信息之后,即时生成对应的应答策略,后续通过Packet-In事件发送到交换机1的指定端口。
步骤4:交换机1接收指令之后进行执行,后续将数据包转发到交换机2。
步骤5:若交换机2的流表中无该数据包匹配项,与步骤2处理方式相似,交换机2将通过Packet-In事件把收到的数据包信息转发给控制器:若交换机2的流表中含有匹配项,则跳转至步骤7,即交换机2按流表中相应的规则,将数据包转发到终端B。
步骤6:与步骤3类似,控制其需要依据交换机2的数据和信息,下发相关的应答数据和信息到交换机2的制定端口中。
步骤7:交换机执行控制器下发的指令,数据包转发到终端B。
2.3安全机制对比
将软件定义网络的安全模型同传统的网络安全模型进行一定的对比之后就可以发现,软件定义网络的安全模型具有重要价值和作用的同时,也给网络安全造成了一定的冲击[3],二者具体的对比图如1所示。
首先,软件定义网络安全模型与传统网络安全模型针对信息流的控制方式不同。在传统网络安全模型中,防火墙等重要的安全防护设施都被设置在网络的关键部位,包含网络与交换机之间的位置等,其中信息流需要被强制性地通过这些安全设施,从而保障了安全模型的具体成效。而通过软件定义网络安全模型与传统网络安全模型二者之间的对比就可以发现,软件定义网络安全模型为流规则驱动型,其中信息流能否经过某一个安全设施或者是何时经过,均由控制器下的流规则所决定,物理安全设施能够起到效果,但是并不能发挥出决定性作用,人为的物理层面的调整就难以起到很好的作用和效果,如果部分数据包能够绕过安全模型中安全设备的情况下,就会导致原本预先部署的安全防护设施失效,软件定义网络安全模型则会出现层出不穷的问题[4]。
3软件定义网络的安全机制
软件定义网络最为人诟病的是安全方面的问题,但与传统网络安全机制对比来看,软件定义网络在安全性方面也具有很大的优势,包含拥有更高的安全性。通过高效的中央视角审查网络内部功能,相關人员可以及时更改。例如,网络中出现了恶意软件,软件定义网络和OpenFlow能够迅速地从集中控制平面阻止这种流量来抵制相关事件发生,还节省了访问多个路由器或交换机的步骤。
3.1网络异常检测及制止
在软件定义网络的SnortFlow架构中,可以通过搜集Snort节点数据,并且针对数据进行评估,完成网络异常检测及制止,软件定义网络的SnortFlow架构能够克服传统网络安全系统的延迟、准确性和灵活性方面的问题,在安全问题的检测之上具有比传统IPS系统更高的检测准确率。另外,Mehdi等积极利用软件定义网络架构和NOX控制器,实现了网络异常检测,并且已经成为软件定义网络的安全机制中的一个重要组成部分。
3.2DoS/DDoS攻击检测及保护
通过上文的阐述和分析不难看出,软件定义网络所面临的一个重大安全问题其实就是恶意攻击,由此DoS/DDoS攻击检测及保护安全机制应运而生。传统的解决方案主要就是对防火墙进行规则部署,但是效果并不是十分理想。
为了解决现有的问题,Braga等在实际的研究和分析过程中,针对转发设备中的数据流统计特征设计并且实现了一种攻击检测方式,具体分析了相关平均数据包数量、平均字节数、单个流的增长率等指标,经过DoS/DDoS攻击检测及保护安全机制的实践应用,其效果良好,具有较高的检测率及较低的错误警告率。另外,类似的研究本质上都是在相关数据流特征基础之上开展设计并实现的。
4软件定义网络的发展前景
4.1数据中心
软件定义网络能以流为颗粒度对报文进行灵活转发,这就赋予了它在流量工程方面的天然优势[5]。而且,数据中心设备多数情况下为高耗能设备,如果在软件定义网络未来发展过程中将其与虚拟机技术进行结合,则可以很好地解决耗能比较高的问题,因此未来软件定义网络为基础的数据中心发展将会得到重点关注。
4.2光网络
所谓光网络,即软件定义光网络,是指将SDN技术应用于光网络,软件定义网络中的优势可以延续到光网络中,进而满足未来网络虚拟化、业务灵活快速化等多方面的需求,对于软件定义网络和一些业务的创新发展均具有非常重要的现实意义和价值。
5结论
与传统网络模式、结构相比,软件定义网络具有明显优势,但其应用过程中存在的多方面的问题其实也是“优势”所带来的,在这种情况下,未来就需要重视软件定义网络安全模型的研究和优化,使得其应用得到对应的保障,这将是软件定义网络未来研究工作的一个重要方向。得益于软件定义网络开放的体系架构,学术界和产业界均能在软件定义网络平台上进行网络创新和业务创新,产生了一些令人瞩目的研究成果,随着软件定义网络的发展成熟,其应用前景会更加广阔。