(计算机系统结构专业论文)ipv6邻居发现协议一致性测试研究.pdf_第1页
(计算机系统结构专业论文)ipv6邻居发现协议一致性测试研究.pdf_第2页
(计算机系统结构专业论文)ipv6邻居发现协议一致性测试研究.pdf_第3页
(计算机系统结构专业论文)ipv6邻居发现协议一致性测试研究.pdf_第4页
(计算机系统结构专业论文)ipv6邻居发现协议一致性测试研究.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着i n t e r n e t 的商业化,各种网络产品和网络应用相继出现,加速了i p v 4 地址的消耗,l p v 6 在这种情况下应运而生。i p v 6 在全球越来越受到重视,相应 的网络产品和应用也大批涌现,从而使得协议实现是否与协议标准相一致成为 一个亟待解决的问题。因此,开展i p v 6 协议一致性测试研究具有重要的理论意 义和应用价值。 在i p v 6 协议族中,邻居发现协议是一个基本协议,是一个必不可少的协议, 它奠定了整个i p v 6 网络通信的基础。i p v 6 网络中的各个节点通过邻居发现协议 来发现同一链路上的邻居的链路层地址和默认路由器。并可以及时了解邻居的 可达性信息等。邻居发现协议的实现是否与协议标准相一致将直接影响到整个 i p v 6 网络的通信质量,是i p v 4 网络向i p v 6 顺利过渡的有效保证。 本论文围绕协议一致性测试这个主题,对协议一致性测试理论进行了研究, 对当前通信领域内已有的测试生成方法进行了深入的分析和比较,对比总结了 这些测试生成方法的特点与不足之处。通过对邻居发现协议详细深入的分析, 为其建立m s c 模型,确定了邻居发现协议的测试内容,提出了适合于邻居发现 协议的测试生成方法u i o 方法,并用生成的测试例对f r e e b s d 、l i n u x 和s o l a d s 三种操作系统和一种国产商业路由器进行了实际测试,对测试结果进行了统计 和分析。分别发现了不同协议实现中的一些与协议标准不一致的地方。通过测 试实践活动,也进一步验证了本论文提出的测试生成方法和测试例的有效性。 关键字:i p v 6 ,协议一致性测试,测试生成方法,邻居发现协议 a b s t r a c t c o n f o r m a n c e t e s t i n g f o r n e i g h b o rd i s c o v e r y i ni p v 6 j i n g b os u n ( c o m p u t e ra r c h i t e c t u r e ) d i r e c t e db yz h o n g e h e n gl i t h ei n t e r n e tb e c o m e sm o r ea n dm o r ep o p u l a ra n di s e v e n t u a l l yo p e n e df o r c o m m e r c i a lu s e k i n d so f p r o d u c t sa n da p p l i c a t i o n sa r ei n t r o d u c e d ,w h i c hr e s u l t si n ah u g ea n d a c c e l e r a t i n gd e m a n d f o ri pa d d r e s s e s i p v 6e m e r g e sa st h et i m e s r e q u i r e t h e r e l i a b i l i t y o fa c o m p u t e r n e t w o r kr e l i e s h e a v i l y o nt h e r e l i a b i l i t y o f c o m m u n i c a t i o np r o t o c o l s t oe n s u r et h a ti m p l e m e n t a t i o n sp r o d u c e db yd i f f e r e n t v e n d o r sh a v e c o m p a t i b i l i t y , p r o t o c o li m p l e m e n t a t i o n s m u s tb et e s t e df o r c o n f o r m a n c et ot h e i rs p e c i f i c a t i o n s 1 1 1 en e i g h b o rd i s c o v e r yf o ri p v 6i st h eb a s i so fl p v 6p r o t o c o l sa n di st h e c o r n e r s t o n eo ft h ec o m m u n i c a t i o nb e t w e e nt h ei p v 6n o d e si nn e t w o r k s i tp r o v i d e s a d d r e s sr e s o l u t i o ns e r v i c e 。a l l o w sh o s t st od i s c o v e rw h a tn e i g h b o r i n gr o u t e r sa r e p r e s e n ta n dp r o v i d e sam e c h a n i s mf o ro b t a i n 啦c e r t a i nc o n f i g u r a t i o ni n f o r m a t i o n f o rt h e ma n dd e f i n e sn e i g h b o ru n r e a e h a b i l i t yd e t e c t i o n w h e t h e ri m p l e m e n t a t i o n s o ft h e n e i g h b o rd i s c o v e r y a r ec o n f o r m a n c et ot h e p r o t o c o l w i l la f f e c tt h e c o m m u n i c a t i o n q u a l i t yo f c o m p u t e r n e t w o r k s t h i st h e s i sf i r s t s u r v e y st h e r e c e n t d e v e l o p m e n t i nt h es t a t e o f - t h e - a r to f c o n f o r m a n c et e s t i n g t h e nt h et e s tg e n e r a t i o nm e t h o d si nt h ea r e ao f c o m m u n i c a t i o n a r ei n v e s t i g a t e da n dt h em e r i t sa n d s h o r t c o m i n g so f t h e s em e t h o d sa r ea n a l y z e d b y a n a l y z i n gt h en e i g h b o rd i s c o v e r yp r o t o c o li nd e t a i l ,m s cm o d e li sm a d e ,t e s t c o n t e n t sa r ed e t e r m i n e da n dt h es u i t a b l et e s tg e n e r a t i o nm e t h o di s p r o p o s e d u s i n g t h et e s ts u i t e p r o d u c e db yt h a tm e t h o d ,t h ef r e e b s d ,l i n u x ,s o l a r i sa n da c o m m e r c i a lr o u t e rw e r et e s t e da n df o u n ds o m ef a u l t si nt h e s ei m p l e m e n t a t i o n s t h e t e s tg e n e r a t i o nm e t h o da n dt h et e s ts u i t ea r ev a l i d a t e d b yt h et e s tp r a c t i c et o o k e y w o r d s :i p v 6 ,p r o t o c o l c o n f o r m a n c e t e s t i n g ,t e s t g e n e r a t i o n m e t h o d s , n e i g h b o rd i s c o v e r y p r o t o c o lf o rl p v 6 1 1 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作 及取得的研究成果。就我所知,除了文中特别加以标注稻致谢盼地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 作者签名:引喷舞f 埚日期:z 舢p ,多 关于论文使用授权的说明 中国辩学院计算技术研究所有投处理、傈褰送交论文的复印件, 允许论文被查阅和借阅;并可以公布论文的全部或部分内容,可以采 用影印、缩印或其它复制手段保存该论文。 作者签名:引前鹇导师签名:荡喇日期:泖乒 第一章引言 第一章引言 1 1i p v 6 的发展现状及一致性测试研究意义 i n t c r n e t 是计算机发展史的一个重要里程碑,它的发展已远远超出了最初的 仅仅是连接计算机并共享资源的目的。i n t e r n e t 的快速发展加剧了i p v 4 地址的 消耗和路由表的扩张。i p v 6 是为了解决现行i n t e m e t 出现的问题而诞生的。 在i n t e m e t 成功商业化的同时,下一代互联网的研究与开发工作在各国政府 的支持下逐渐展开。无论是产业界的n g n ( n e x tg e n e r a t i o nn e t w o r k ) 还是学 术界的n g i ( n e x t g e n e r a t i o ni n t e m e t ) ,均以i p v 6 作为其核心技术。 各国政府对待i p v 6 的态度有所不同,以亚洲最为积极。主要原因是i p v 4 地址紧缺;其次是欧洲;美国的态度最近有所改变,美国国防部自2 0 0 3 年1 0 月开始支持p v 6 协议,在2 0 0 5 年前美国国防部所有网络将全面兼容i p v 6 ,2 0 0 8 年前i p v 6 将成为美国国防部所有连网信息系统的标准。髓蔚i p v 6 在全球越来 越受重视,中国作为全球最需要i p 地址的国家之一,正在积极参与i p v 6 标准 制订以及推进i p v 6 产业化和商业化进程。目前中国高校和科研机构已经与国外 一些运营商合作,对i p v 6 进行研究实验。 随着i p v 6 的迅速发展,全球范围内已经建立一些实验网和商用网。目前比 较有名的实验网包括: 1 ) b o n e :是世界上成立最早也是迄今规模最大的全球范围的i p v 6 示范 网,用来测试i p v 6 实现的互相连接性,检测m v 6 在实际环境中的工 作情况等等。 2 ) 6 r e n :建立于1 9 9 8 年底的i p v 6 研究与教育网( 6 r e n ) 是一个非官 方协调的研究与教育网,提供产品级的i p v 6 连接,并作为一个i p v 6 工具、应用和程序开发的平台。该平台可以免费参与并对所有提供i p v 6 业务的研究与教育网开放,也鼓励其它赢利和非赢利i p v 6 网络加入。 3 ) 6 n e t :2 0 0 2 年1 月欧洲启动了为期3 年的i p v 6 研究和实施计划:6 n e t 试验网。在6 n e t 计划中,将至少有1 1 个国家级的研究和教育网络在 速率高达2 5 g b 愚钓链路上建立纯i p v 6 鄹! 缀i 4 ) m o o nv 6 :是基于i p v 6 的下一代i n t e m e t 技术的网络,是北美i p v 6 特 别工作组( n a v 6 t f ) ,新罕布什尔大学互操作实验室( u n h i o l ) ,j o i n t i n t e r o p e r a b i l i t yt e s t i n gc o m m a n d 。美国国防部的一些机构和i n t e r n e t 2 合作完成的重要成果。 5 ) c n g i :“中国下一代互联网示范工程c n g i ”是由包括信息产业部、国 i p v 6 邻居发现协议一致性测试研究 家科技部、国家发改委和中国工程院在内的8 个部委联合发起并经国 务院批准启动的。这一项目的实施不仅涉及资金巨大,更重要的是它 表明我国政府对以i p v 6 为基础的下一代网络建设的高度重视与大力支 持。根据c n g i 的规划,我国将在2 0 0 5 年底建成一个覆盖全国的i p v 6 网络,成为世界上最大的口v 6 网络之一。 随着世界各国对i p v 6 技术的重视与i p v 6 实验两络的部署,将会出现越来 越多的支持i p v 6 的网络设备。如何保证不同厂商生产的同协议实现可以进行 相互通信是保证网络能否可靠运行的先决条件,同时也关系到i p v 4 网络能否顺 利过渡到m v 6 网络。 不同协议实现之间能够正常通信的个重要条件是通信协议的标准化,但 仅有这一条是不够的。必须确保这些协议实现的行为真正遵照了协议标准说明, 也就是与这些标准一致。其中的一个方法就是测试这些协议实现,这个活动就 是协议一致性测试。i p v 6 作为种新的协议,与其他的通信协议有许多不同之 处,如何设计与开发出适合i p v 6 协议的测试方法与测试集具有重要的研究意义 与实用价值,并能推动i p v 4 ,脚6 网络的顺利转换。 1 2 协议一致性测试的背景 随着分布式计算机系统的发展,即计算机的各种功能:例如处理功能、信 息存储、人机交互等分布于不同的计算机系统中,从而增加了这些系统之间的 信息交换需求。为了保证计算机系统能够成功通信。它们之间的通信必须遵照 一定的规则,这就是协议。协议描述t 了计算机系统之间进行通信时所必须遵守 的一组规则,各个计算机系统问只有遵守协议才能实现自由、可靠的通信。从 技术角度来讲,协议规定了数据包的格式和一组传输规则。 为了保证不同厂商的计算机系统能够成功的通信,许多的协议设计并不是 独立完成的,而是由厂商和使用者共厕来制订的,其目的是为了保证协议的标 准化。例如由此产生的o s i 开放系统参考模型 5 h ,作为一个基本框架服务于 能够使计算机系统相互通信的一组协议t 但是仅仅通过保证通信协议的标准化 还是远远不够的。其主要原因是通信协议大多是用自然语言描述的,不同的人 对协议的理解不同。协议实现者根据对协议的不同理勰会导致不同的协议实现, 并不能保证协议实现完全符合协议标准。因此需要有一种有效的方法对这些协 议实现进行判别,这就是协议测试。、 协议测试属于协议工程( p r o t o c o le n g i n e e r i n g ) 范畴。协议工程是在八十年 代初在软件工程的基础上提出来的。经过十几年的发展,协议工程取得了很大 的进展。对计算机网络技术的研究提供了理论指导和技术支持。协议工程用形 2 第一章引言 式化的方法描述协议的设计和维护中的各个活动,它是研究以对象为协议的软 件工程的,但所建立的协议设计方法比现有软件工程的一般方法更严格,从而 使协议开发整个过程一体化、系统化和形式化。协议工程的研究范围包括协议 综合( p r o t o c o ls y n t h e s i s ) 、协议说明( p r o t o c o ls p e c i f i c a t i o n ) 、协议证实与验证 ( p r o t o c o lv a l i d a t i o n v e r i f i c a t i o n ) 、协议转换( p r o t o c o lc o n v e r s i o n ) 、性能分析 ( p e r f o r i n a l l c ea n a l y s i s ) 、自动实现( a u t o m a t i ci m p l e m e n t a t i o n ) 和协议测试 ( p r o t o c o lt e s t i n g ) 【4 6 。 协议测试理论是协议工程的一个重要组成部分,其研究的重要意义在于协 议的标准化并不能保证协议实现之间可以成功地进行通信。在协议标准化的前 提下进行协议测试是一个必要手段。 测试是通过实验的方法试图发现系统实现中的错误的过程 5 1 】。实验通常在 一个特定的环境下模拟一般情况和例外情况。测试的目的是为了保证系统在正 常情况下运行良好。由于测试只能在一定的时间范围内进行。不可能对实际系 统进行穷尽测试,因此测试不能保证实现的完全正确性,只能发现存在的错误。 在测试,特别是软件测试中,主要分为功能测试和结构测试。结构测试也 被称为白盒测试,是基于计算机程序的内部结构来进行的测试,常用于程序开 发的早期阶段;功能测试的重点为程序的外部可观察功能,也叫做黑盒测试。 黑盒测试是指系统被认为是一个黑盒,通过外部观察来检查其功能,而不关心 程序的内部结构,其主要目的是检查是否建立了一个与协议相关的正确实现。 黑盒测试来源于协议说明,通常用于程序开发的后期阶段。 协议测试来源于软件工程中的“软件测试”。协议测试是通过相关的协议说 明来对协议实现实体进行的一种测试,其目的是为了保证协议实现正确实现了 给定协议的功能,从而提高协议实现与其对等协议实体通信的可能性。 协议一致性测试是一种功能性黑盒测试,仅用来测试协议实现的可观察行 为,即实现与环境的交互行为;不关心协议实现的内部结构。一致性测试问题 主要是决定协议实现的行为是否与相关的协议说明相一致;换句话说决定协议 实现在与其它系统进行通信时是否与可应用于o s i 国际参考标准或i t u 建议的 需求相一致 1 9 1 。这些需求分为两部分:静态一致性需求和动态一致性需求。 1 静态一致性需求定义了协议实现允许的最小行为功能:决定了包含在特 定协议实现中的能力;决定了多层的依赖性,即对支持协议实现的下层 系统的能力限制。 2 动态一致性需求说明了协议实现与其它协议进行通信时所允许的行为, 即最大能力集合。 i p v 6 邻居发现协议一致性测试研究 静态一致性需求与动态一致性需求相辅相成。动态一致性需求定义了与实 际协议相关的协议数据单元( p r o t o c o ld a t au n i t ) 的格式与使用、状态转换和协 商规则等,它们通常遵照静态一致性需求中的主要能力来构造。 在i s o i e c9 6 4 6 中,一致性的系统或实现被定义为同时满足静态和动态一 致性需求,与协议实现中协议实现一致性说明( p r o t o c o li m p l e m e n t a t i o n c o n f o r m a n c es t a t e m e n t ,p i c s ) 所规定的能力相致。 协议一致性测试在八十年代是个热门话题,随着形式化技术的迅速发展, 协议的设计、验证、实现和测试都有了很大进展,通过形式化描述技术,协议 测试与协议工程学中其它领域有机地结合起来。欧洲的许多研究机构进行了深 入的协议测试研究,并建立了协议一致性测试标准,这些标准很多被后来的国 际标准i s o i e c9 6 4 6 所采用。九十年代,国际标准化组织i s o 制定了国际标准 i s o i e c9 6 4 6 ,提供了协议一致性测试的基本方法和框架,为测试集制定了设计 步骤和描述方法,并对测试系统的实现提供了指导,使得协议测试在欧洲、北 美和东亚的科研机构成为研究的热点。 随着网络技术的不断发展,网络规模不断扩大大型互联网迅猛发展,i p v 4 逐渐暴露出很多弊端。在疋v 4 发展二十多年的经验基础上,i e t f 于1 9 9 5 年提 出了i p v 6 ,旨在解决当前i p v 4 所面临的各种问题。为了保证i p v 4 网络顺利向 i p v 6 网络过渡,在i p v 6 设备投入使用前要进行充分的测试。国内外都正在为口v 6 的到来做准备,各大厂商正在研究、开发和应用各种支持i p v 6 的网络设备。为 了检验设备的功能,以及不同设备之间的互通互连,i p v 6 设备商正在和口v 6 测 试机构合作,进行口v 6 的测试研究与应用。一致性测试和互操作性测试是保证 网络可靠运行的有效手段,而一致性测试是所有测试的基础。尽管i p v 6 协议是 在i p v 4 协议的基础上提出来的,但却与i p v 4 协议有很大的不同,整个网络的 体系结构都会有很大的改变。现有的协议测试方法并不完全适合于i p v 6 协议, 因此我们必须对现有测试方法进行深入研究,解决m v 6 协议的铡试问题现在 已有一些国家的重要研究机构和公司在做i p v 6 协议测试方面的工作,比较有名 的包括:美国新罕布什尔大学的i p v 6 互操作性实验室;日本东京大学、y d c 公司、y o k o g a w a 电气公司发起组织的t a h i 计划:匈牙利的t i p s t e r 6 计划; 美国国际标准与技术部n i s t 的信息技术实验室n l ( i n f o r m a t i o nt e c h n o l o g y l a b o r a t o r y ) ;贝尔实验室基础科学研究院( 中国) 的网络协议与软件系统小组: 清华大学计算机科学与技术系的网络与协议测试实验室;中国科学院计算技术 研究所的i p v 6 测试计划等。其他的研究项目,如德国的j o i n 计划中的i p v 6 测 试,爱立信公司在匈牙利的i p v 6 一致性研究,都得到了政府或者公司的资助。 除了研究机构外,一些商业公司已经开始为i p v 6 设备提供测试服务;i x i a 公司 计划研制出能够同时测试i p v 6 和i p v 4 的测试仪;a g i l e n t 公司已经向用户提供 第一章引言 i p v 6 测试服务:y o k o g a w a 公司也提供对i p v 6 的商业测试服务。 可见,随着i p v 6 的发展与大量i p v 6 产品的涌现,越来越多的研究机构和 公司开始重视i p v 6 测试问题。协议测试已经不仅仅是对产品研制开发的一种支 持手段,已经成为网络技术中的一个重要组成部分。对测试技术的研究不仅影 响网络技术的进步,也将直接影响到世界网络市场的竞争和发展。 综上所述,对i p v 6 协议测试的研究除了具有一定的理论性、前瞻性,也具 有相当的实践价值。在i p v 6 网络运行之前进行研究,不仅可以利用理论结果深 入分析下一代互联网存在的问题,而且可以将理论直接应用于实践,提供具体 有效的测试服务。目前i p v 6 测试技术正在发展中,国内对i p v 6 协议测试工作 进行的研究还很少。如果以这种姿态迎接i p v 6 的到来,当大批声称支持i p v 6 的设备涌进中国时,我们所能做的就是在毫无测试手段和实验根据的情况下相 信它对i p v 6 的支持。而国内自己生产的i p v 6 设备是否与标准相一致,是否能 与其它的i p v 6 设备可靠互通,也需要进行测试。所以研究和掌握i p v 6 的技术 特性,研究针对i p v 6 协议的测试技术,将为我们跟踪国际i n t e m e t 技术的发展 支持实现i p v 6 的网络产品的研发,发现i p v 6 协议实现中存在的问题并提供解 决方案,保证下一代i n t e r a c t 的可靠运行提供有力的保证。 1 3i p v 6 邻居发现协议一致性测试意义 i p v 6 邻居发现协议( n e i g h b o rd i s c o v e r yp r o t o c o lf o ri pv e r s i o n6 ) 是i p v 6 协议中的基本协议,它奠定了整个p v 6 网络通信的基础。它描述了i p v 6 节点 间的基本通信机制,结合了多个口v 4 中有关本地节点通信的协议,并进行了改 进。它解决了同一链路上不同节点之间的信息交互问题,使得节点之间的相互 通信和地址自动配置成为可能。所有的协议实现都必须实现此协议,同一链路 上的i p v 6 节点通过邻居发现协议来发现彼此的存在,确定链路层地址,寻找本 链路上的路由器,并维护邻居的可达性相关信息。具体来说,邻居发现协议定 义了解决如下一些的问题的机制: 路由器发现( r o u t e rd i s c o v e r y ) :主机如何确定链路上的路由器; 前缀发现( p r e f i xd i s c o v e r y ) :主机如何发现一个链路上定义地址在线 的一组地址前缀,节点利用前缀来区别目的地是在线还是需要路由器转 发: 参数发现( p a r a m e t e rd i s c o v e r y ) :主机如何学习所需的链路参数,例如 m t u ,h o p - l i m i t 值等; 地址自动配置( a d d r e s sa u t o c o n f i g u r a t i o n ) :节点如何为一个接口自动 配置地址; i p v 6 邻居发现协议一致性测试研究 地址解析( a d d r e s sr e s o l u t i o n ) :节点如何通过在线地址的i p 地址得到 链路层地址; 确定下一跳( n e x t - h o pd e t e m i n a t i o n ) :节点如何通过i p 的目的地址确定 发往目的地的数据流下一步应发往的邻居的i p 地址,下一跳可以是路 由器,也可以是目的地本身; 邻居不可达检测( n e i g h b o ru n r e a c h a b i l i t yd e t e c t i o n ) :节点如何确定一 个邻居节点不再可达; 重复地址检测( d u p l i c a t e a d d r e s sd e t e c t i o n ) :节点如何确定将使用的地 址没有被其他节点使用,即确定地址的唯一性; 重定向( r e d i r e c t ) :路由器如何告诉主机有关一个特定目的地的更好的 第一跳地址。 通过解决这些具体问题,使得i p v 6 网络得以顺利运行。i p v 6 协议族中的各 个协议的正常通信都要遵循邻居发现协议,只有保证邻居发现协议实现的正确 性才有必要进一步检验其它的协议实现。 综上所述,邻居发现协议的正确实现保证网络上各个节点之间的正常通信, 并且节点可以在最短的肘间内探测到不可达节点,从而能够更大程度地保证 i p v 6 网络通畅。因此对邻居发现协议的测试具有重要的实用价值。 1 4 本论文的主要工作及章节安排 邻居发现协议是l p v 6 中的一个基本协议,是整个i p v 6 网络通信的基础。 邻居发现协议相对于i p v 4 协议有了很大改进:它结合了i p v 4 的a r p 协议、i c m p 路由发现协议和i c m p 重定向协议,并进行了一系列改进,简化了网络配置, 提高了网络性能 为了保证婵v 4 网络能够顺利向i p v 6 网络过渡,保证i p v 6 各个节点间可以 正确通信,协议实现能够按照协议标准正确实现邻居发现协议是一个基本前提。 因此对邻居发现协议的一致性测试是一个必不可少的环节。如何在现有的协议 测试理论上提出适合于邻居发现协议的测试方法,生成有效的高覆盖度的测试 集是一个值得研究的方向。 本论文围绕协议一致性测试这个主题,对i p v 6 邻居发现协议的一致性测试 进行了初步的研究。通过总结比较现有的测试理论和测试方法,提出了适合于 邻居发现协议的测试方法,通过对四种协议实现进行实际的测试活动,对生成 的邻居发现协议测试集进行了验证,并发现了四种协议实现的不足之处。 本论文的主要工作如下: 1 概述协议一致性测试技术; 6 第一章引言 本论文分析综述一致性测试基本概念、参考标准、测试类型和测试 过程,详细介绍了一个完整的测试流程,可以作为理论指导实践的基础。 2 对现有测试生成方法进行分析比较; 在通信协议测试中,系统的协议测试生成技术在过去的十几年间已 成为一个活跃的研究领域。研究人员已经提出了一些测试生成方法,大 多数方法基于有限状态机f s m 模型,即检查实验的测试生成方法;而 标准化组织也在致力于设计一种标准化的测试生成方法。本论文总结了 已有的测试生成方法并对各个测试方法进行了分析及比较,指出了各测 试生成方法的优缺点及可行性。 3 在对i p v 6 邻居发现协议进行详细分析的基础上,提出了适合于邻居发 现协议的测试生成方法; 对协议进行详细的分析及研究是开展协议测试的前提条件。邻居发 现协议是i p v 6 中的一个基本协议,但却是整个i p v 6 网络通信的基础。 本论文对i p v 6 邻居发现协议进行了详细的分析研究,使用m s c 为其建 模,并根据其自身的特点,提出了一种适合于邻居发现协议的测试生成 方法:u i o 方法。 4 用上述方法产生的测试集对四种协议实现进行一致性测试,并对测试结 果进行统计分析。 测试方法的有效性必须通过测试实践来检验。本论文中,使用上述 方法生成的测试集,包括1 3 个测试组,共7 3 个测试倒,对f r e e b s d 、 l i n u x 、s o l a r i s 操作系统和一种国产商业路由器进行一致性测试,发现 了四种协议实现与协议标准不一致的地方,并在实践中检验了测试例的 有效性。 本论文共分六章,本章前言之后的第二章总结了协议测试的基本概念和整 个测试流程;第三章总结了通信领域中已经提出的一些测试生成方法,并对这 些方法进行了分析和比较,分析了各种测试生成方法的优缺点,并对当前国际 标准化组织在标准化测试生成方法上所做的一些工作做了总结分析:第四章在 对邻居发现协议进行了详细的分析和研究的基础上,为其建立m s c 模型,提出 了适合于邻居发现协议的测试生成方法:第五章是具体的测试实践内容,用上 述方法产生的测试例对三种操作系统和一种国产商业路由器进行一致性测试, 对测试结果进行总结和分析;第六章总结全文,并提出了下一步值得研究的一 些工作。 第二章协议一致性测试 2 1 协议测试的基本概念 第二章协议一致性测试 测试一个系统是为了评估该系统的质量并发现其存在的错误。所谓的错误 是指被测系统输出的可观察或可测量的值与明确说明的或理论上的正确值之间 存在不一致现象 3 8 1 。测试是通过用手工或自动的方式来验证一个系统或系统的 部件是否满足一些特定需求的过程,它可以用来证明系统的质量级别。 协议是控制通信系统问各个通信实体进行交互的一组规贝u 2 5 1 。这些规则作 为协议说明若不实现并不能发挥作用。但是由于开发人员的理解问题或协议实 现与其下层的软件或硬件环境的不兼容,导致了协议实现可能与其协议说明不 一致。为了保证一致性,从而维护网络的可靠性,协议一致性测试已经成为通 信系统设计的一部分。 一致性测试是测试协议实现是否与协议标准相一致的过程,它是一种功能 性黑盒测试。“功能性”是指被测实现的正确功能行为,也就是每个状态的正确 输入输出行为;“黑盒测试”意味着被测实现的内部结构对于测试者来说是隐 藏的,测试者不需要知道被测实现的内部结构。由于协议的复杂性使得协议测 试不能做到穷尽测试,它只是检测错误而不是发现实现是否不完全,因此不能 保证协议实现中没有错误,也不能保证实现与协议完全一致。协议测试所做的 只是保证协议实现有需求的能力并且它的行为在通信过程中是与协议相一致 的。 一致性测试并不能完全保证不同系统之间可以成功地进行通信,协议实现 通常还必须在真实的环境下进行测试,即对不同系统问的交互能力进行测试, 这就是互操作性测试( i n t e r o p e r a b i l i t yt e s t i n g ) 。除了对协议实现的功能进行测 试外,还有其它方面的测试,例如性能测试( p e r f o r m a n c et e s t i n g ) 用来评价协 议实现的性能特性i 强健性测试( r o b u s t n e s st e s t i n g ) 用来检验协议实现在错 误行为环境下的行为;可靠性测试( r e l i a b i l i t yt e s t i n g ) 检查协议实现在一段确 定的时间范围内是否可以正确的连续工作。所有这些测试中,协议测试是基础, 只有保证协议实现与协议标准的一致性才能进行下面的互操作性测试、性能测 试等。 2 2 协议一致性测试的参考标准 为了避免不同的测试实验室对同一个协议实现的一致性测试结果不同和同 9 i p v 6 邻居发现拚议一致性测试研究 一产品必须被多个不同的实验室测试,测试需要基于一个通用的原则,使用通 用的测试方法。为了达到这个目的,国际标准化组织( i s o ) 和c c i t t ( 现在 称为i t u t ) 为开放系统的一致性测试设计了标准:i s o i e c9 6 4 6 ,开放系统互 联一致性测试方法和框架。 i s o d e c9 6 4 6 的目标是定义一种方法,为特定的一致性测试集设计提供框 架和测试时应遵循的过程 1 9 】。它最初是为开放系统互联协议设计的,但也可以 用于其它的协议,例如i s d n 和a t m 等协议。i s o i e c9 6 4 6 可以应用于一致性 测试过程的各个阶段,这些阶段由三个主要的活动来描述: 1 对特定o s i 协议抽象测试集的描述; 2 执行特定测试集的方法的实现; 3 测试评价; i s o i e c9 6 4 6 由五个部分组成,除了第一部分,每一部分都可应用于这些 活动其中的一个,这五部分是: 1 i s o i e c9 6 4 6 1 :简介和基本概念; 2 i s o i e c9 6 4 6 - 2 :描述抽象测试集产生过程: 3 i s o ,i e c9 6 4 6 3 :定义了测试符号语言 i t c n ; 4 i s o i e c9 6 4 6 - 4 :测试实现; 5 i s o b e c9 6 4 6 5 :一致性测试判定过程中对测试实验室和客户的要求。 2 3 协议一致性测试类型 型 在i s o i e c9 6 4 6 中根据所能提供的一致性级别把一致性测试分为4 种类 1 基本互连测试( b a s i ci n t e r e o n n e e t i o nt e s t s ) :为i u t 的一致性给出最初 的证明b i t 对i u t 提供关于协议主要特征和传递语法说明的限定性测 试,不需要执行全面的测试来建立互通的可能性: 2 能力测试( c a p a b i l i t yt e s t s ) :用来检查i u t 的可观察能力与静态一致性 需求和p i c s 声明的能力相致; 3 行为测试( b e h a v i o u rt e s t s ) :在i u t 的范围内,尽可能全面的对协议中 的动态一致性需求进行测试; 4 一致性判定测试( c o n f o r m a n c er e s o l u t i o nt e s t s ) :此测试是非标准化测试, 根据特殊的要求对r l j t 进行更深层的一致性测试,以便对这些特殊的一 致性问题提供明确的判定结果和诊断信息。c r t 可以用于对一致性评估 过程中标准化测试的补充,用来检查对于特殊致性需求i u t 的行为。 1 0 第= 章协议致性测试 2 4 协议一致性测试过程 协议一致性测试的三个不同的阶段可以由图2 1 来说明,图中还附带了协 议实现的活动。第一阶段是测试生成:产生抽象测试例。抽象是指它独立于所 有的实现,这意味着标准协议的抽象测试集也必须是标准的。第二个阶段是测 试实现:执行特定测试集的方法的实现。这个阶段把抽象测试集中的测试例转 换成可在实际系统或设备上可执行的测试例。测试中特定的环境和实现被称为 被测实现i u t ( i m p l e m e n t a t i o n u n d e r t e s t ) 。第三阶段称为测试执行,在特定的 i u t 上执行测试例,并且观察i u t 的外部行为结果,最后对i u t 与协议说明是 否一致给出判定结果。测试执行结果将记录在协议一致性测试报告p c t r ( p r o t o c o lc o n f o r m a n c et e s tr e p o r t ) 中。 圈2 i 协议一致性测试过程 2 4 1 协议实现的一致性需求 当一个真实系统与其它系统进行通信时如果遵守可应用于o s i 国际标准或 c c i t t 建议的要求,则称这个系统具有一致性【1 9 】。也就是说,一个正确的协 议实现应满足所有的致性需求,这些一致性需求必须在协议标准中清楚的提 到。一致性需求描述了一个一致性系统应该做什么,不应该做什么。在协议实 i p v 6 邻居发现协议一致性测试研究 现进行一致性测试前必须定义它的一致性,并且在测试中必须对其进行测试。 在国际标准或c c i t t 建议中,一致性需求分为: 1 强制要求( m a n d a t o r y ) :在所有的例子中都可以看到; 2 条件要求( c o n d i t i o n a l ) :当条件满足时可以观察到: 3 可选要求( o p t i o n s ) :由协议实现者选择是否实现。 大多数的标准都预留了很多可选要求,它们可以在特定的协议实现中实现, 也可以不实现,但是如果实现,必须正确的实现。协议实现者可以为一个实现 选择一组可选要求,这些要求由协议实现者写入协议实现一致性声明( p r o t o c o l i m p l e m e n t a t i o n c o n f o i m 址t l e es t a t e m e n t ,p i c s ) 中,测试者则可以知道哪些选项 要求必须被测试。 如何选择可选要求由协议标准中的静态一致性需求( s t a t i cc o n f o r m a n c e r e q u i r e m e n t s ) 给出。它定义了协议实现能够与其它实现交互所允许的最小能力 需求和不同可选项之间的组合性与一致性。协议标准的重要组成部分是动态一 致性需求( d y n a m i cc o n f o r m a n c er e q u i r e m e n t s ) 。动态一致性需求定义了协议实 现与环境进行交互时的可观察行为 s h 。它主要考虑可观察事件允许的顺序,例 如发送和接收协议数据单元p d u s ( p r o t o c o ld a t au n i t ) 和抽象服务原语a s p s ( a b s t r a c ts e r v i c ep r i m i t i v e s ) ,p d u s 中的信息编码和不同p d u s 中信息内容的关 系。一致性系统或实现在i s o i e c9 6 4 6 1 中定义为能同时满足静态和动态一致 性需求,并与p i c s 中所声明的能力相符的系统或实现。 2 4 2 测试生成 一致性测试过程的第一阶段是测试生成,它是由从协议说明中系统地产生 的测试例组成【5 l 】。测试生成的目的是开发抽象测试集,也就是可以独立于协议 实现的测试集。由于一致性测试中相关的协议说明是一组一致性需求,而静态 致性需求通过p i c s 来检查,因此测试生成的重点是协议标准中的动态一致性 需求。 根据动态一致性需求产生测试例分为以下三步: 1 产生测试目的:对将要测什么进行精确描述来满足特定的一致性需 求; 2 产生通用测试例:为每个测试目的产生通用的测试例。不需要考 虑实际测试时所需要用到的测试方法和测试环境。通用测试例是测 试目的的操作实现: 3 产生抽象测试例:为通用测试例产生抽象测试例。这一步需要考虑 特定的测试方法和测试中测试环境的限制。 1 2 第二章协议一致性i l 试 2 4 2 1 测试方法 一致性测试中,被测实现i u t 是一个o s i 协议实体的实现,是被测系统s u t ( s y s t e mu n d e rt e s t ) 的一部分。抽象测试方法通过i u t 的可观察输出和可控 制输入来描述。图2 - 2 是概念性测试结构。国际标准和c c i t t 建议根据位于实 体上方的p d u s 和a s p s 定义一个协议实体所允许的行为,即n 层实体的行为 由( n ) 一a s p s 和( n 1 ) a s p s 来定义,其中( n 1 ) - a s p s 包含( n ) p d u 。控制观测i u t 的点称为控制观察点p c o ( p o i n t so f c o n t r o la n do b s e r v a t i o n ) 。 图2 2 概念测试结构 i u t 有上下两个接口,因此通常在协议测试中有两个p c o 。t 的下接口 一般只能通过远程访问,下层的服务用于在远程定义一个合适的p c o ,即i u t 的下接口被移到了远地。通常我们所指的通信均为异步的,因此p c o 由两个先 进先出的队列构成,每个方向一个队列。 测试器与i u t 相同,也有概念上的分割。i s o i e c9 6 4 6 中把测试器分为上 测试器u t ( u p p e r t e s t e r ) 和下测试器l t ( l o w e r t e s t e r ) 。u t 控制i u t 的上接 口,l r 控制i u t 的下接口。在测试中,u t 使用由i u t 提供的服务,而l t 则 是i u t 的对等实体,也就是l t 和i u t 进行通信来为u t 提供服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论