论文部分内容阅读
当前,网络的规模日益扩大,网络的用户日益增多,互联网应用更是迎来了爆发式增长。而互联网也渐渐不能满足日益增长的网络需求。IP地址的短缺,网络安全性的问题,以及传统网络架构逐渐难以满足当前灵活多变应用需求。在这个背景下,软件定义网络的概念被人们提了出来。软件定义网络的核心在于将逻辑控制层与数据转发层分离开来,使得底层网络设备专注于数据转发,而将网络的逻辑控制迁移到通用的计算环境中,使得网络的智能被充分的释放。软件定义网络定义了逻辑控制层与数据转发层之间的标准接口,使得该网络体系架构充分的开放,因此软件定义网络渐渐的得到了大家的关注。虽然当前已经有很多关于软件定义网络的研究,但是在现实的生产环境中鲜有人部署软件定义网络环境。其很大的一个原因在于没有一种廉价而且成熟的从传统网络迁移到软件定义网络的方法。现有的软件定义网络的控制器都要求其管理的网络必须是纯软件定义网络,不能够与传统的网络设备混合组网,因为控制器的逻辑控制都是基于完整的网络拓扑实现的,当与传统设备混合组网时,这种拓扑的完整性就被打破了,因此不能够正常工作。而且,当网络中同时有多个应用运行时,不同的应用将会同时下发不同的转发策略就会有可能产生转发策略的冲突,导致网络功能的异常。因此本文的研究重点在于找到一种新的方法,使得软件定义网络能够与传统网络相互联通。本文提出了三个创新点,一是将控制器的控制对象由OpenFlow网络转变成单个OpenFlow设备,使得控制器能够无需建立拓扑直接运行。二是在控制器中实现支持应用层策略下发,使得不同的网络设备上能够运行不同的软件环境,从而能够满足不同的使用需求。三是在提出了一种策略缓冲池以及策略决策的机制,使得应用不直接控制交换机,而是统一下发到缓冲池中,并由缓冲池最后解决冲突下发策略。最后,本文实现了一个原型控制器,并进行了测试,验证了本文提出观点的可行性。