论文部分内容阅读
软件定义网络SDN(Software Defined Networking)最近成为了一个新兴的研究热点。SDN的出现可以带来许多优点。在一个SDN网络环境中,网络的行为是可以被编程的,因此它可以使网络管理员在管理网络的时候有更多的灵活性。网络管理员可以通过对控制器的程序进行编程来控制底层网络设备的网络流。然而,随着SDN网络的快速发展和部署以及它的底层技术OpenFlow的发展,相应的安全问题也随之而来。这些安全威胁有些是引入SDN后引起的;有些是原有的或者新的网络安全问题,利用SDN带来的新技术可以被更好解决的。例如,SDN带来的对于网络的更强的控制性给云安全的研究带来了更多的机会和挑战。本课题研究的是和SDN相关的网络安全问题。第一,我们研究了云计算环境下的流量监测问题,即如何将现有的安全设备(虚拟网关)应用到云网络环境中。我们分别讨论了当虚拟网关处理能力存在和不存在限制的情况下,云计算环境下的虚拟网关放置问题。针对每种限制情况,我们提出了相应的算法,通过和蛮力算法的对比表明,我们的算法能得到更优的解(更少的虚拟网关数量)。第二,我们研究了SDN网络环境下的虚拟网关处理能力有限制的放置问题,我们给出了利用SDN技术带来新的功能更好的解决虚拟网关在云环境中的放置策略。通过将它转化为装箱问题,我们给出了几个改进的基于装箱问题的算法。通过实验模拟我们发现NF算法的运行时间最短,但得到最多的虚拟网关数量,其余的算法得到的解很相近。第三,我们讨论了SDN网络的一致性问题:SDN网络下的网络不变量一致性的验证。我们主要侧重于发现SDN及其核心技术OpenFlow本身的缺陷,首先我们讨论了网络配置更新、网络不变量和一致性的相关概念,通过实验模拟,我们发现由于网络可能存在的延迟,控制器程序存在对于网络设备规则的下发生效的一致性问题;另外我们讨论了OpenFlow对于网络包处理的不一致性问题,并且分析了利用数据库理论解决该问题的开销。最后,我们对整个文章进行了总结,并且给出了未来的研究方向。