论文部分内容阅读
到目前为止IETF已公布的网络协议有5000多种,面对增长速度逐渐加快的网络协议数量,健壮性测试的难度日益加大;对于每个具体协议的测试同样困难,为了达到完全测试,其要求的测试用例集合非常庞大,对于一个协议头长40字节的数据报文,测试集合达到2^40个。因此,测试用例的自动生成及测试系统成为健壮性测试的关键因素,是协议测试的两大基本问题。Hadoop由Apache Software Foundation公司于2005年秋天作为Apache Lucene项目的子项目Nutch的一部分正式引入,Hadoop包含两个子项目,分别是Hadoop HDFS和Hadoop Mapreduce, Hadoop HDFS是一个分布式文件系统,Hadoop Mapreduce是一个分布式并行处理框架。本文在开源软件Apache Hadoop Mapreduce的基础之上,将传统的异常报文串行生成算法并行化。其中并行化,负载均衡、容错处理不需要用户关心,完全由Mapreduce框架负责。在异常报文的生成处理中,报文首先经过一个Vireshark-Like模块解析形成字段,然后以字段作为异常生成的基础。在报文生成过程中引入了模糊处理的方法,在字段的基础上进行模糊算法处理。本文的主要研究成果包括:1.研究了Hadoop Mapreduce并行处理框架,分析清楚其原理和并行处理的流程;2.根据网络协议分层透明设计的原理,提出了分域模糊测试集的概念,按照字段进行模糊处理,测试用例的顺序结构更加清晰并便于分析;3.设计并实现了并行的异常报文生成算法,在原有的串行算法基础之上,根据Map/Reduce编程特点,实现了并行算法;4.通过实验研究了并行算法与串行算法之间的性能关系,以及PC集群数量对性能的影响。