论文部分内容阅读
IPv6是在IPv4运行基础上发展起来的更为完善的Internet协议,是下一代互联网络的基础通信协议。IPv6协议栈涉及大量的协议规范,且相当一部分仍在讨论中。由于Internet应用在很大程度上依赖于IP协议,原有IPv4体系下运行良好的应用模式或程序在IPv6环境中可能面临一些新的挑战。一致性测试的主要目标是验证被测系统是否与对应规范相一致,或在多大程度上相一致。为确保通信实体相互之间能够进行可靠的通信,需要对各种IPv6协议实现进行一致性测试。目前,IPv6协议一致性测试已经成为一个非常重要的研究课题。
错误探测和错误诊断是一致性测试中的两个最基本的主题。错误探测指发现被测系统中可能存在的错误,即考察被测系统是否与对应规范完全一致。错误诊断则是对错误发生的位置或原因进行分析并给出诊断结论,从而能在整体上提高测试效率和降低测试成本。目前,虽然协议(包括IPv6协议)一致性测试中的错误探测技术得到了一定的发展,但其仍存在需要进一步改进之处。协议一致性测试中的错误诊断技术发展相对缓慢,更加需要进一步的研究。本文通过分析和归纳IPv6协议特性,结合当前的协议一致性测试研究成果,对IPv6协议一致性测试中的错误探测和诊断技术进行了深入的探讨和研究。本文的主要贡献和创新点包括以下四个方面:
第一,提出了可适用于IPv6协议一致性测试的测试框架和基本测试策略。本文根据ISO/IEC9646中制定的开放系统一致性测试框架,给出了一种补充性框架-模型驱动的IPv6协议一致性测试框架。提出该框架的主要目标是通过更加形式化的方式,提高IPv6协议一致性测试中的错误探测效率,提供潜在的自动化测试能力,并强调了错误诊断的重要性。根据IPv6协议特征,本文提出了两种基本测试策略,即区域测试策略和按需测试策略,以提高测试效率和降低测试成本。
第二,提出了一种可适用于IPv6协议一致性测试的、基于扩展有限状态自动机(EFSM)模型的测试序列生成方法。测试序列生成是错误探测过程中最重要的环节之一,直接决定了错误探测的质量和效率。目前,基于EFSM模型的测试序列生成仍然是一个开放性问题,尚无理想的解决方法。在所提出的基于EFSM模型的测试序列生成方法中,将EFSM模型转换成确定化的EFSM(DEFSM)模型。上述转换过程能对EFSM模型中的条件和操作冲突进行检测并加以消除,使得环境变量的配置更加便利。通过所提出的测试序列生成附加模块的协助,可将变量及其条件判定从DEFSM模型中分离出来,使得处理后的DEFSM模型等同于FSM模型,从而将EFSM的描述优势和基于FSM模型的测试序列生成优势进行有效的结合。
第三,对IPv6协议一致性测试中的错误诊断技术进行了系统的研究,并提出了一系列具体的错误诊断技术,包括区域错误诊断策略、基于输入正确的转换错误诊断方法和基于输入输出正确的错误诊断方法。与区域测试策略类似,区域错误诊断策略将诊断区域划分为IPv6域、IPv4域和IPv6/IPv4域。通过分治法思想,区域错误诊断策略能有效地降低错误诊断复杂度。基于输入正确的转换错误诊断方法和基于输入输出正确的错误诊断方法对协议实现进行了合理的约束,通过将局部测试(单元测试和集成测试等)和系统测试相结合的方法,提高协议一致性测试中的错误诊断能力。
最后,对IPv6域名系统(DNS)相关协议进行了一致性测试实例研究。具体地,论文对IPv6 DNS相关协议的一致性测试进行了分析,并应用所提出的基本测试框架及相关策略和方法,对域名解析系统Bind9.3.1进行了与A6资源记录相关的协议一致性测试。通过本部分实例分析和测试,进一步验证了前文研究成果的有效性。