论文部分内容阅读
由于当前网络环境变得越来越复杂,人们对于网络的灵活配置和定制的需求也日益凸显,为了解决这些问题,软件定义网络被提出来,并受到学术界和工业界的极大重视。当前软件定义网络已经得到了一定规模的部署,并且正在发挥越来越重要的作用,软件定义网络支持的网络虚拟化功能为当前的弹性计算集群和云服务的构建提供了极大的便利,软件定义网络上网络服务可编程的理念的实现正在使越来越多的网络管理者从之前复杂昂贵的网络管理组件中解放出来。软件定义网络中的服务可以分成两类,一类是对网络状态进行检测的服务,另一类是对网络进行管理控制的服务。对网络的检测属于软件定义网络中的基础服务,只有首先获取网络的状态我们才能对网络实施有效的控制。Heavy Hitter检测或者大流检测是网络状态检测中的一项重要内容,通过检测大流并对它进行控制就可以满足网络中大部分流量工程任务的需求,如网络拥塞控制,流量负载均衡,网络的QoS保证等,这是由于在网络数据流中,大流流量占了全部流量中很大的一部分,只要控制大流就控制了网络中一大部分的流量,但是由于大流的数量很少,只需消耗很少的资源就可以实现对大流的检测和控制,这是大流检测的主要优势所在。在当前大流检测的研究中,主要的工作还停留在解决如何在单个交换机上进行大流检测,没有考虑到如何在实际的应用中利用多台交换机协同对大流进行检测。在本文中,我们基于迭代的大流检测方法,提出了一个利用网络中的多台交换机对大流协同进行检测的方法,并且提出了优化检测速度的方法,同时结合现有的工作,研究了如何在优化检测速度的同时来保证检测的精度。本文主要的工作如下:提出了一个在软件定义网络里使用交换机协同进行流量检测的方法,这个方法可以实时的接受用户指定的流量检测任务,动态的为这些任务分配资源以完成流量检测任务。本文对比分析了大流检测的基本方法,选择了基于迭代的检测方法去实现大流的检测,相比于其他的方法,该方法的特点是易于实现,不需要额外的硬件支持,且只需要消耗较少的检测表项即可完成检测。当前尚无文献解决如何在基于迭代方法的大流检测系统中优化检测的速度,本文构建了优化检测速度问题的数学模型,并提出了解决此问题的算法,证明了算法的可行性。结合之前的文献,研究了如何保证流量检测的精度。设计实现了一个流量检测的原型系统,并且实现了之前文献中的相关工作,通过对比实验验证了本文提出的方法相较于之前的工作能够在一定程度上提升流量检测的速度并保证检测精度。