论文部分内容阅读
为了满足日益增长的网络服务需求,越来越多的网络中间件被部署到网络中使得网络僵化问题严重。网络功能虚拟化从运营商的角度对现有网络架构进行改造,通过软硬件资源解耦,将各种网络硬件设备整合到行业标准的x86服务器中并使用软件实现的网络功能来替代专有设备的功能,有效提升了网络功能的开发效率,也使得网络功能的部署和管理更加灵活方便。自提出以来,网络功能虚拟化已在学术界和工业界引起了广泛的关注。然而网络功能虚拟化在提升效率的同时,也给网络可靠性带来一些挑战。虚拟化的过程占用额外的系统资源,而且虚拟节点相较于传统物理节点更加复杂。这些因素导致网络功能虚拟化环境下具有更高的故障发生概率。故障发生后,能否快速准确地进行故障检测和定位对于维护系统长期稳定可靠地提供服务至关重要。故障管理是网络管理的一项基本内容,其目标是尽快消除故障并恢复服务的正常运行,以满足和用户达成的服务等级协议的要求。本文对网络功能虚拟化环境下的故障检测和故障定位等两项核心技术进行了研究。故障检测负责捕获系统发生的故障,而故障定位负责对故障的原因和位置进行定位。针对网络功能虚拟化的环境特性以及传统数值检测技术的缺陷,本文基于无监督机器学习的方法构建故障检测模型。提出了一种基于模型融合的无监督故障检测机制,该机制可以有效覆盖传统检测算法的检测盲区并提高检测性能。此外,本文还针对突发特性造成的错误告警现象进行处理,提出了基于时间窗的修正机制过滤错误告警。在故障定位方面,本文对网络功能虚拟化环境下故障原因定位和故障位置定位的方法进行了研究,提出了一种基于相关性分析的分层故障定位机制。该机制基于时间和特征变异程度的相关性分析对故障原因进行定位,基于时间、服务功能链和资源共享等方面的相关性分析对故障位置进行定位。通过拓展依赖关系图增加服务功能链引入的相关性,可有效提高定位结果的准确性。定位机制通过“自顶向下,逐层定位”的实施原则集成各个层次的定位结果,突破了信息获取受限的瓶颈。本文以三层云服务为基础搭建仿真环境,并向其中注入几种不同类型故障进行实验,仿真结果显示本文提出的解决方案可以有效检测并定位注入的故障。