论文部分内容阅读
由于流的动态性,一个软件定义网络通常需要频繁地对它的数据平面做路由更新,来优化如负载均衡等性能指标。大部分已有的解决方法都是基于当前的流的状态来确定一个新的路由方案,然后为当前的流更新转发路径。然而,由于TCAM(三态内容寻址存储器)流表上的更新操作速率较慢,在一个大规模且频繁更新的网络中,路由更新可能会带来严重的延迟。根据最近的研究结果,大部分数据流的持续时间都较短,且整个网络的负载在一段时间之后通常会显著变化,因此如果一次路由更新耗时过长,那么新的路由方案很可能已经不再高效了。除了路由更新外,流统计收集操作的效率也严重影响了网络的整体性能。在软件定义网络中,控制器需要频繁地收集数据平面上交换机的流统计信息作为一些网络应用(如路由更新、攻击检测等)的输入。然而已有的流统计收集方法可能会产生很高的延迟开销,进而会影响这类网络应用的性能。在本文中,我们针对软件定义网络中路由更新和流统计收集两大重要场景,对延迟优化展开研究。本文的主要贡献为:提出了实时路由更新方法,结合控制平面上的路由选择和数据平面上的更新调度来优化网络性能。我们形式化地给出延迟满足的路由更新(DSRU)问题,并证明了它是NP-难的。我们提出了基于随机舍入的更新算法,并分析了算法的近似性能比。最后,我们将提出的方法部署在SDN实验平台和仿真平台上。实验与仿真的结果表明,与已有路由更新算法相比,我们的算法可以在保证得到非常接近的路由性能(只增加大约3%的链路负载率)的前提下,减少约60%的路由更新延迟。针对流统计收集的延迟优化提出了基于掩码收集的延迟代价最优流统计收集(CO-FSC)方式。我们给出了一个近似比为f(f为每条流经过的交换机节点数的最大值)的基于舍入的算法,以及一个基于对偶转化的贪心算法。我们对提出的算法进行了大量的仿真实验,结果表明与已有算法相比,我们的算法可减少45%以上的延迟开销。