协议一致性测试

上传人:新** 文档编号:557839480 上传时间:2023-08-22 格式:DOCX 页数:8 大小:153.23KB
返回 下载 相关 举报
协议一致性测试_第1页
第1页 / 共8页
协议一致性测试_第2页
第2页 / 共8页
协议一致性测试_第3页
第3页 / 共8页
协议一致性测试_第4页
第4页 / 共8页
协议一致性测试_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《协议一致性测试》由会员分享,可在线阅读,更多相关《协议一致性测试(8页珍藏版)》请在金锄头文库上搜索。

1、IPv6 协议一致性测试发布时间:2010 年02 月 05 日o分享推荐打印收藏文/黄哲导言IPv6测试首先需要关注在各个协议模块的一致性测试和性能规格测试,其次是各种应用组 网和互通测试,尤其是关注过渡技术是否能满足当前IPv6与IPv4网络并存时期的需求。本文将 针对IPv6设备的协议一致性测试,介绍其测试特点、测试环境搭建、测试脚本执行,以及测试 结果的分析,帮助读者有效的进行相关测试,从而选择符合协议标准的IPv6设备。IPv6 一致性测试的特点作为一个新的协议族,IPv6相对IPv4的主要变化首先在于网络层基础协议,包括地址、ND 协议等;其次各路由协议也都提供了 IPv6的版本;

2、在链路层、应用层也配合地址的变化做了相 应的修改;并且新增了隧道、NATPT等过渡技术。相对IPv4而言,IPv6协议一致性测试的特点在于首先要考虑数据平面的模块测试,而其中 的报文处理、ICMP和ND模块为重点和难点,且这些模块的RFC都在不断的更新过程中,一些功 能有了相应的变化,典型的例子就是0型路由扩展头在最新的RFC5095中被废弃。因此在协议一 致性测试中,需要及时的关注协议的更新。测试工具Tahi IPv6 Ready协议一致性测试套是目前认可度最高、最被广泛使用的IPv6协议一致性 测试工具,可以在Tahi组织的网站(http:/www. tahi.org)上免费下载,运行在安

3、装FreeBSD 系统的PC 上,截至目前的最新版本是4.0.5。通过该测试的设备,可以获得IPv6论坛(IPv6 Forum) 的IPv6 Ready Phase2的金牌认证。Tahi IPv6 Ready测试套是一种基于脚本开发的一致性测试工具,分为3个层次,如图1 所示,分别为底层的FreeBSD操作系统、居中的测试平台、以及最上层的测试脚本集。Test Tool StructureE5rUer cin develop th& lest.r6EVAl.Appljc-aOoti Layrt TrilAConfonnMJM Ic-TtCDFbrfFrniiiig Sy sreini Free

4、BSD 6.2-R KLEASE i图1 Tahi IPv6 Ready测试套架构测试内容Tahi IPv6 Ready测试脚本集包含了网络层和应用层常见的需要一致性测试的模块,包括基 础协议、IPsec、MIPv6、DHCPV6、SIP、IKE 等,其中 IPv6 Core Protocol 为核心模块,是 IPv6 一致性测试最基础的部分,在目前的IPv6 Ready 一致性测试中,通常只选用此部分进行测试, 其他模块由于目前缺少用户需求,因而极少有设备支持,所以在现有情况下很少进行测试。IPv6 Core Protocol 测试集可以分为 5 个模块:SPEC、ADDR、ICMP、ND、

5、PMTU,与 RFC 的 对应关系如表1O模块名称对应RFCSPECRFC2460 Internet Protocol, Version 6 (IPv6) SpecificationRFC2464 Transmission of IPv6 Packets over Ethernet NetworksRFC5095 Deprecation of Type 0 Routing Headers in IPv6ADDRRFC4862 IPv6 Stateless Address AutoconfigurationNDRFC4861 Neighbor Discovery for IP version 6

6、PMTURFC 1981 Path MTU Discovery for IP version 6表1模块与RFC对应列表测试环境使用Tahi IPv6 Ready测试套进行IPv6 一致性测试时,测试环境包括三个部分:测试仪器、 被测设备、控制台。分别对应下面拓扑图中的FreeBSD系统的PC、H3C MSR50路由器、控制台 PC。FreeBSD瀏试仪器)3FFE:5O1:FFFF 100:/64MSR50(被测设备)图2测试拓扑如图2所示,运行测试脚本的FreeBSD系统需要提供两块网卡,而被测设备MSR50提供两 个以太网接口,两者之间建立两条直连以太链路。在这两条链路上所使用的IPv6

7、地址前缀分别 为 3FFE:501:FFFF:100:/64 和 3FFE:501:FFFF:101:/64,并采用 EUI64 格式生成接口 ID。在MSR50和FreeBSD上,应当只运行基础的IPv6协议栈,并尽可能关闭其他一切非必要的 模块,例如路由、STP等,避免无关的报文影响测试脚本的判断。测试过程协议一致性测试属于黑盒测试的一种,它只对协议实现的外部可观察行为(即报文的格式、 内容、时间等)进行测试,其测试过程原理可以用如图3的测试状态机来描述。图3测试状态机SO:初始状态S1 :接收报文后的状态S2:验证报文正确后的状态E1:接收一个报文 E2:验证报文正确E3:验证报文错误E

8、4 :丢弃该报文以图4中,SPEC模块的测试例#13中对于未知类型扩展头的测试执行为例来介绍。脚本执 行是命令行形式的文本界面,脚本构造正确或异常报文与设备进行交互,同时将收发的报文内容 以文字描述形式输出在文字界面上。Clear Captured Packets (LinkO)Send Nt:i.yhbor hducrtistTwtrtt (Link-LoeftL Address uf th Different Linkldijcr Ad dirts $) tn LlnkfiSemri Echo Request to LinkOUeiit for trnnsit target Meighbo

9、r Cache Entry tn iHCDMPLETE/MOMCE 10 see.JStep CdpturIng P4jCl(cts (LinkOI- PASS=“= TESY 13 =./P_NH_Unexpectc PASSTEST M “*=图4测试脚本执行界面在这个测试过程中,脚本向被测设备MSR50发送含有未知类型扩展头的请求报文,MSR50 收到请求后,状态由SO变为S1,然后判断报文存在错误,回复差错消息,则此脚本的执行获得 预期结果。最后是状态复位动作,设备重新回到状态SO,单个测试例的执行过程结束。在5个模块的一致性测试过程中,均是根据此原理与过程进行。1) SPEC模块的测

10、试:分为IPv6报文基本头检查、扩展头处理,以及转发和以太层封装几 个层次。覆盖了 IPv6在传输层以下各个头部的所有细节字段。)S4111231WrsionTr:iffk C LuiSiFlow L;belPiiyloml LfuatliNex* HtiidtrHop LunitSouirtDestination ihlessLxt Htrnkr 2图5 IPv6报文头部测试脚本在报文的IPv6基本头部或扩展头部设置正确或错误的值,检查MSR50路由器在报 文转发过程中,是否能检查出错误所在,并做响应处理,例如是正常转发,或是丢弃并触发ICMPv6 差错消息等。2) ADDR模块的测试:检查

11、设备在配置地址后是否正确的进行通过NS/NA检测报文交互, 判断地址的可用性;以及对交互报文的合法性检查。MSR50ICMP type - 135MSSrc = Dst - FFC2 1FFM 1ICMP type 13B才WAsrc 击 2000:1M-FF02U1图6 DAD过程当MSR50配置新地址时,会发送DAD NS报文,测试仪针对收到的DAD NS,会做响应的回复, 当回复的NA报文合法时,MSR50会报地址冲突;当回复的NA报文存在非法字段时,MSR50新配 置的地址能够生效,并正确用于转发。3) ICMP模块的测试:验证ICMPv6的报文封装格式、设备在处理错误报文时所触发的差

12、错 消息、以及信息查询消息。Echo RequestICMP Eiroi M昭MSRWEcho Request图7 ICMP差错消息的触发脚本构造Echo Request给MSR50进行转发,并在报文中设置HopLimit字段为1、未知类型 的扩展头等错误场景,MSR50能识别检测到报文错误,并回复ICMP的超时、参数错误等差错消 息。4) ND模块的测试:测试内容包括地址解析、邻居不可达检测、邻居状态机、路由器和前 缀发现、重定向功能四个部分,以及交互的NS/NA/RS/RA/Redirect报文的有效性验证。图8邻居状态机脚本主要围绕着邻居状态机制,通过发送NS/NA/RS/RA/Redi

13、rect报文,验证MSR50上的邻 居状态是否能正确切换。5) PMTU模块的测试:包括了动态PathMTU表项的生成,并根据PathMTU表项进行本地发 包的分片。FreeBSDIUMP TooBis M池Echo Retpest with flagMSR50图9动态PathMTU与报文分片脚本构造ICMP TooBig消息给MSR50,然后通过检查MSR50发送的分片大小来验证MSR50 是否生成正确的动态PathMTU表项。测试结果测试结果如表2所示,5个模块的319个脚本全部通过,不存在失败或阻塞问题,通过率达 到 100%。模块测试项总 数通过失败阻塞通过率SPEC797900100%ADDR292900100%ICMP464600100%ND1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号