论文部分内容阅读
随着人类群体行为在空间上的聚散和在时间上的起伏,网络服务所承载的用户数和流量此起彼伏。在数据中心网络和移动核心网等网络中,网络服务通常由多种网络功能(例如防火墙、入侵检测系统、移动管理实体、服务网关等)组成的服务功能链提供。新兴的网络功能虚拟化(NFV)和软件定义网络(SDN)等技术为实现服务功能链灵活动态的弹性伸缩和负载均衡带来了希望,使其能够在满足服务需求的同时避免资源浪费,减少置产投资并节省运维费用。但其中有一些问题亟待解决。当服务功能链中的多个网络功能实例池需要扩容时,为了避免违反服务水平协议(SLA),同时保证网络功能内部状态的一致性,需要将经过原实例池的部分数据流及其相应网络功能状态迁移到新增实例中。由于在迁移某条数据流的过程中,会将该流新到来的数据包转发到网络控制器中进行缓存,当迁移完成后再将缓存的数据包按序转发至迁入实例中进行处理。在此过程中缓存的数据包将占用控制器的内存,被迁移的数据流将引入少量时延。然而由多个网络功能实例池的扩容所引发的叠加效应会使引入的时延成倍增长,同时控制器的内存将被大量缓存的数据包所占用,增加缓存队列溢出导致丢包的潜在风险。如何消除这种叠加效应是目前急需解决的一个挑战。本文主要研究在服务功能链进行弹性伸缩和负载均衡过程中数据流迁移前的流选择问题。即当扩容多个网络功能实例池的同时需要尽快满足一定程度的负载均衡时,需要选择经过每个网络功能的部分数据流进行迁移。问题就在于选择已有数据流中的哪一部分迁移到新增实例中,使得迁移的总数据流尽量少,从而减少缓存的数据包总数和引入的总时延。本文工作的主要贡献有如下三点:(1)本文详细描述了服务功能链中的多个网络功能需要弹性伸缩时在数据流迁移前遇到的流选择问题,并从全局综合考虑的角度出发,采用联合伸缩的方式,建立了整数非线性最优化数学模型。(2)碍于模型求解的复杂性,难以在有限的时间内求得最优解,于是本文提出了一个基于优先级的偏好选择算法,以便能够尽快找到该问题的可行较优解。(3)利用来自某高校数据中心网络的真实流量数据对本文提出的流选择启发式算法进行了评估,结果显示该启发式算法能够比逐个扩容网络功能和随机选择算法显著减少需要迁移的数据流的总条数和总包速率,即减少了受缓存影响的数据包总数和由流迁移所引入的总时延。