论文部分内容阅读
随着网络服务需求不断复杂和网络规模不断扩大,网络的管理难度日益提升,传统依赖于手动配置的网络管理模式难以满足当下业务对网络控制与管理的敏捷性需求。近年来学术界和工业界提出了软件定义网络、网络功能虚拟化、微服务等技术,给固化的网络管理带来了灵活性和敏捷性。虽然这些技术可以简化网络设备的管理,但是绝大部分网络参数仍然需要手动配置,无法确保高效可靠的网络管理。意图驱动的网络(又称为意图网络)是一种新型的网络管理范式,它将业务需求(即意图)置于网络服务交付的核心,使用去耦分层的网络控制模式和闭环的意图实施来实现网络管理的自动化。意图网络主要包含了意图描述、意图到配置的意图转译、以及业务保障(网络与意图一致性验证、意图纠正与优化)等三方面的关键技术,能够根据输入的意图,自动地进行配置的生成、验证、优化以及部署来实现期望的网络状态,从而取代传统手动实现的网络管理与控制。意图网络是对网络管理方式的革新,是一系列网络自动化技术的综合。然而,意图网络的标准尚未成熟,相关的网络架构和技术支持也有待进一步研究,实现意图驱动的网络自动化管理仍然存在诸多挑战。意图可以分为功能性和非功能性:前者对网络管理有明确的操作需求,可通过意图语义与配置模板的映射关系来实施意图(意图转译和业务保障);后者表示的是网络属性,涉及的管理操作复杂多样,需要根据网络的不确定性等多方面因素来调整和优化网络策略、或全面感知网络行为的状态空间,来验证网络是否满足该属性,使得自动化的意图实施存在诸多挑战。为此,本文围绕非功能性意图的实施问题,从冲突意图并存时的转译方法、协议行为逻辑与状态可达性意图的一致性验证以及意图实施的可靠性保障三个方面着手研究,主要研究内容及成果如下:1.意图实施的首要问题是如何将抽象的意图转译为实际的网络配置。单个意图可以通过意图与网络资源的关系映射来实现转译。然而实际的网络服务供应中会存在多个意图并存乃至相互冲突的情况,关系映射的方式将会失效。当这些意图都是非功能性的,并且在资源上是相互竞争的,意图的转译将存在更大的挑战。现有的方法大多只考虑了单一非功能性意图的转译。本文研究了微服务架构下多意图驱动的服务编排问题,指出由于网元的微服务化,低能耗、高服务质量和系统负载均衡是其中关键但又相互冲突的三个非功能性意图,并且针对这三个意图的转译方法需要更加细粒度的资源模型才能确保生成的编排策略的有效性。为此,本文构建了细粒度的微服务编排系统资源模型,并提出了基于多目标优化的多阶段的意图转译算法。模拟实验表明,所设计的算法转译的服务编排决策能够在最大程度上满足多个冲突业务意图的同时,且不会引入额外的计算时间开销;2.验证网络的行为是否满足意图是实现意图实施的另一关键。影响网络行为最为关键是网络协议自身的逻辑,需要状态可达性这类非功能性意图来验证协议行为逻辑的正确性和安全性,从而确保网络的可靠运行。然而网络协议是不断在演进和更新的,随之产生的复杂的状态空间使得现有的检测方法难以实现自动化的一致性验证过程。为此,本文针对协议行为逻辑与状态可达性意图的一致性验证,以复杂的蜂窝网络协议为例,提出了一种基于形式化方法的自动化一致性验证方法,重点研究了从协议软件中自动构建协议模型,并优化模型的状态空间,结合形式化验证和软件分析设计了基于反例引导的抽象细化与稀疏值流强更新算法。最后,本文设计了一系列状态可达性意图进行实际测试,并结合仿真网络验证,发现了蜂窝网络协议中诸多未知的逻辑和设计缺陷,这些缺陷不能满足设定的意图,会给网络带来异常和引入安全隐患;3.意图网络采用了去耦分层的网络控制模式,意图的实施依赖于作为中间节点的控制平面来实现。因此控制平面自身的正确性会直接影响意图实施的可靠程度。控制平面采用模块可定制化的软件代码来实现意图实施所需的控制逻辑。考虑到要处理大量异步和并发的输入事件,这些代码逻辑往往被设计成非确定性的,导致其中的软件错误诊断分析更加复杂。现有的研究方法大多是利用黑盒测试的方式找出可以触发控制平面异常的输入事件,而控制平面内部导致错误发生的成因仍然需要进一步探究,限制了错误的快速修复。因此,针对这一问题,本文分析控制平面软件实现逻辑中的错误的产生机理,提出了轻量级的控制平面行为监控机制、上下文感知的系统行为模型构建算法和基于差分检查的错误定位算法,进而实现了系统性自动化的错误根源定位系统。实验表明,所设计的系统能够以较低的运行性能开销,有效地诊断控制平面的错误问题。