网站首页  词典首页

请输入您要查询的论文:

 

标题 网络应用流量模拟技术
范文

    曹龙江 张勖 王锟 王东滨 吴可欣 张俊辉

    

    

    

    摘要:当前网络安全设备的测试软件可以产生大流量的网络数据流,但难以构造大流量特定内容的应用协议流量,因而不能很好满足基于内容检测的网络安全设备的测试要求。本文所提出的网络应用流量模拟技术,能够模拟用户上网的PPPOE或IPOE方式连接互联网的接入方式、模拟IPv4和IPv6网络互访的应用场景,可以模拟用户访问特定网络应用,产生HTTP、FTP、SMTP、POP3、IMAP、DNS等典型应用协议的大流量完整数据流量,并且能够构造含有特定内容的网络数据。实现的系统还可以通过隧道、翻译或代理技术实现IPv4和IPv6互通,产生IPv4和IPv6网络数据流量。通过大量实验验证,系统能正确生成上述协议数据报文和含有特定内容的网络流量。

    关键词:流量模拟;网络模拟;内容构造

    中图分类号:TP393 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.02.004

    0 引言

    近年来,随着互联网用户的剧增及对网络带宽需求的不断增大,网络互联设备的转发速率也越来越大,网络安全事件和威胁层出不穷,基于网络数据分析的网络防病毒、网络数据内容审计、入侵检测系统等网络数据处理系统面临着巨大挑战,因而对这些网络安全数据处理系统的功能和性能测试具有十分重要的意义。网络数据流量生成作为网络性能测试中的关键环节之一,一直是网络测试中热点研究问题。

    目前,对于网络数据处理系统等安全产品的测试大都是采用背景流量与测试流量混合的方式。背景流量生成主要采用真实流量回放或专业测试仪定制流量的方式。当采用真实流量作为测试流量时,由于无法预知真实流量的构成,无法判断对网络安全产品测试结果的影响;当采用专业硬件测试仪定制流量时,例如Ixia公司的Breakingpoint或Spirent公司的Smartbits等主流专业硬件测试仪能够定制产生大流量高带宽的网络流量,精确定制产生的带宽、数据报文长度和数量等恒定的网络数据流,但很难构造出含不同定制内容的大流量网络数据以及很难反应真实网络数据协议的多样性。

    当前国内外对网络数据流量生成系统进行的一些研究文献,侧重点各不相同。廖有清等人结合FPGA硬件逻辑实现网络流量生成与发送功能,这类系统一般都是基于流的思想生成流量,采用均匀流和线性突发流两种流模式生成网络数据流量。张铮等人主要对流量生成方法进行了研究,基于IXPBTG平台提出了3种不同的流量生成算法。另外,网络流量速率的控制也是流量生成的重要组成部分,吴长宇等人13J对不同协议的流量设计了速率控制算法。

    同时,一些流量生成工具也相继出现,Danzig和Jamin曾经介绍过网络流量模拟工具Tcplib,它可以产生真实的TCP/IP网络流量,Tcplib是一个应用层模型的流量生成器,它能产生五种不同类型的网络流量,包括FTP、SMTP、NNTP、TELNET以及RLOGI。Sommers和Barford设计了一个与应用无关的网络数据包产生工具HarpoonTM,Harpoon可以产生与真实网络流量在内容、长度、时间、空间上具有相同分布特征的TCP、UDP等协议类型的数据包。Harpoon的显著特征是可以自动地从真实网络流量中提取特征参数,用于配置网络流量生成模型。此外,Barford和Crovella研制了针对Web服务器进行压力测试的工具SURGE,SURGE可以用来产生背景网络流量。NetIQ公司的CHARIOT软件工具是目前世界上比较认可的应用层IP网络及网络设备的测试软件,可提供端到端、多操作系统、多协议测试和多应用模拟测试。其基本原理是通过产生模拟真实的流量和采用End to End的方法测试网络设备或网络系统在真实环境中的性能。CHARIOT能提供多达10000个并发连接,能更好的模拟真实环境对设备及网络进行全面的测量,被广泛应用在SWITCH,ROUTER,WIRELESS,QoS,MULTICASTlNG及网络等方面的功能和性能测试。还有一些流量产生器是基于libnet编程实现的,libnet接口函数库提供了低层网络数据包的构造、处理和发送功能,权东晓等人通过实验结果表明基于libnet编程相比于利用socket编程可以产生更高效率的网络流量。

    上述流量生成系统或流量生成工具无法具体到应用协议内容,无法构造包含特定内容的网络数据流量。本文基于现有数据流量生成方面的研究,设计并实现了典型网络应用流量生成系统,该系统可产生含特定内容的HTTP、FTP、SMTP、POP3、IMAP、DNS等典型应用协议的完整数据流量,可以模拟用户访问特定网络应用,并且能够构造含有特定内容的网络数据。

    1 系统总体设计

    本文将详细介绍网络应用流量模拟系统的功能和组成结构,以及通过系统功能组成模块实现各协议数据流量生成的工作流程。

    1.1 系统功能介绍

    本文的流量生成系统主要完成了常用应用层协议流量的模拟,基于标准RFC2616、RFC959、RFC2821、RFCl939、RFCl034分别产生HTTP、FTP、SMTP、POP3/IMAP和DNS协议网络数据流量。对于HTTP协议,系统可以通过构造并访问含特定内容的网页,产生HTTP协议流量;对于邮件协议,系统可以构造含特定内容的收发件人地址、邮件主题、邮件内容、邮件附件名、邮件附件内容,产生SMTP、POP3、IMAP协议流量;对于FTP协议,系统可以构造含特定内容的FTP文件名、FTP文件内容,产生FTP协议流量;对于DNS协议,系统可以对指定域名进行A类型、AAAA类型、PTR类型查询,产生DNS协议流量。

    相比于其他流量生成系统,网络应用流量生成系统的主要特点为:可定制特定内容、产生IPv4/IPv6流量、多用户并发模拟。

    首先,一般网络安全设备的测试软件(流量生成系统)难以构造特定内容的数据报文,对于基于内容的攻击,不能满足网络安全设备的测试要求。相对于真实的网络流量内容的不可预知性,本系统可以产生可定制内容的特定网络协议的网络数据流量。其次,当前大部分流量生成系统是基于IPv4网络环境的,由于IPv4和IPv6网络将会在相当长的一段时期内共存,IPv6环境下数据流量的生成显得尤为重要,本系统能通过隧道(TEREDO、ISATAP和6to4)技术、地址翻译(IVI、NAT64)技术或代理技术实现IPv4和IPv6互访,产生IPv4、IPv6混合流量。并实现了客户端可通过模拟用户上网的PPPOE或IPOE方式连接外网,并可实现模拟多用户并发产生各应用协议数据流。另外,通过修改程序配置文件,系统能灵活生成各种协议测试流量,如不同协议类型、不同应用层协议内容大小、不同的测试周期等,从而能有效的模拟各种用户访问网络应用的场景。

    本系统在功能实现方面,完全可以对基于内容的常见网络应用协议数据流进行模拟,从而更加有效的完成对网络数据处理系统功能和性能的测试。

    1.2 系统工作流程

    网络应用流量生成系统的操作用户可以在客户端上配置用户行为规则,如图1客户端中有4大块服务种类:WEB页面访问、FTP文件传送、邮件收发、DNS查询。右侧服务器端提供HTTP、FTP、SMTP、POP3、IMAP、DNS服务。用户将不同协议规则下发到MySql数据库中,系统的功能组成模块(13节详细说明)查询数据库,模拟用户访问右侧应用服务器,产生含有特定内容的各协议网络应用流量,并使之通过中间待测网络安全设备,完成系统测试验证。程序运行结果文件会上传到指定日志服务器中,用户可在服务器端的日志服务器中查看程序运行结果日志文件。

    1.3 系统功能组成模块

    网络应用流量模拟系统的主要功能组成模块包括数据库配置接口模块、特定内容配置解析模块、代理配置和网络接入模块、运行调度模块、用户模拟平台模块以及日志处理模块,各功能模块之间协作关系如图2所示。

    数据库配置接口模块从数据库的规则下发表中读取下发的任务需求,并将规则中的各个特定内容进行拆分,构建任务内容,根据任务内容选择协议类型和IPv4/IPv6互访方式。

    特定内容配置解析模块负责HTTP协议、邮件协议、FTP协议及DNS协议具体数据报文内容,HTTP协议:配置特定内容到网页内容中,FTP协议:配置特定内容到FTP文件名中或FTP文件内容中,邮件协议(SMTP、POP3、IMAP):配置特定内容到邮件地址、邮件主题、邮件内容、邮件附件名、邮件附件内容中,DNS协议:配置特定的域名或IP。此模块明确了特定协议数据流量的内容,生成特定应用数据,是用户模拟平台模块正常运行的关键前提。

    代理配置和网络接入模块实现IPv4和IPv6互访功能,其中代理配置包括Socks代理、本地代理、网页代理,都需要提供代理服务器的IP地址和端口号,主要用于HTTP协议的测试;网络接入分为地址翻译(IVI、NAT64)和隧道(6to4、TEREDO、ISATAP)两部分,主要用于FTP协议、邮件协议、DNS协议的测试。

    运行调度模块根据选择的IPv4/IPv6互访方式,接收数据库配置接口读取的规则任务,开启相应的线程,对于多任务可并发开启多线程,根据读取的任务开辟新的线程并根据用户下发协议测试规则类型选择相应用户模拟平台,产生相应的特定网络应用流量。

    用户模拟平台是实现协议流量的主体功能部分。对于HTTP协议,系统调用HTTP协议实现模块,向服务器端上的Apache服务软件发起请求,然后模块封装HTTP请求报文,发送请求并接受响应,最后分析返回的数据报文,判断是否完整接收到此网页。对于FTP协议,用户可以定制下发规则,指定特定内容存放在FTP传输文件的文件名中或者文件内容中,然后系统调用FTP协议实现模块,构造相应的txt类型的文档,形成FTP协议数据流。同理,对于邮件协议,用户可以指定特定内容包含于邮件收发件人地址、邮件主题、邮件内容、邮件附件名或邮件附件内容中,系统则会调用SMTP、POP3、IMAP协议实现模块按照标准邮件RFC协议构造相应的邮件,完成邮件发送和接收,从而形成这3种协议数据流。对于DNS协议,用户可以指定需要解析的域名或IP地址,DNS协议实现模块会完成域名的A和AAAA记录查询以及IP地址的PTR记录查询,进而生成DNS协议数据流。

    日志处理模块将用户模拟平台模块的处理结果封装成UDP报文,包含规则ID、规则类型、测试时间、结果判断、上传文件名等字段信息,发送到日志接收方,并将测试结果文件上传到FTP服务器。

    2 实验测试

    在构造的实验环境中,对系统产生各协议流量的功能以及并发性能进行实验测试,验证能够产生的特定网络应用协议报文符合标准RFC的规定,同时验证能够生成特定内容的网络数据。

    2.1 测试环境

    网络应用流量模拟系统的客户端和服务器端采用相同配置的物理机:Redhat6.2操作系统,Linux2.6.32-220.e16.x86 64内核版本,Xeon E5645型号CPU,2400MHz主频,32GB内存,千兆网卡。

    系统协议验证图如图3所示,系统部署在左侧客户端服务器上,通过中间路由设备访问右侧服务器端,可产生大量含特定内容的不同协议数据流量,同时利用网络流量验证系统捕获协议数据包。其中,右侧服务器端需事先安装APACHE、VSFTP、POSTFIX、DOVECOT以及BIND服务软件,分别提供HTTP、FTP、SMTP、POP3、IMAP、DNS服务。

    2.2 系统功能实测

    真实网络中的流量环境非常复杂,各种网络协议都有使用,我们目前根据标准RFC实现常用网络应用协议流量的模拟,我们首先验证系统能否产生标准的5种应用协议数据流,然后验证构造的网络应用数据流中能否含有用户配置的特定内容。

    2.2.1 协议测试

    本文采用的网络流量验证工具是网络封包分析软件Wireshark,它是目前世界范围内应用最广泛的网络协议解析软件之一,其不修改网络封包内容,仅反映出目前流通的数据包信息,Wireshark本身也不提交数据包至网络上,所以借助Wireshark工具能够验证系统产生的协议数据流量的准确性。

    运行系统程序,同时使用Wireshark对网络环境中系统产生的流量数据进行统计和分析,监测结果如图4所示。

    图4中的线是由点组成,每个点表示在1s内抓到的所有数据包数目,每个图形都可以应用一个应用协议过滤条件,这里创建了5个过滤条件,分别识别HTTP、SMTP、DNS、FTP、POP3五种协议,不同的颜色区分不同协议图形,实验证明系统完全能够正确模拟产生常用应用层协议流量。

    2.2.2 特定内容测试

    1)HTTP协议:用户配置HTTP协议特定内容为kkkkkkkkk,利用Wireshark抓取的测试结果如图5所示,可以清晰地看到网页BODY中红框标出的特定内容。

    2)FTP协议:系统实现了FTP文件名和文件内容中特定内容的配置,用户配置的FTP协议文件名中特定内容为PPPPPP,Wireshark抓取的测试结果如图6所示,可看到txt文件名中红框标出的特定内容。

    3)SMTP、POP3、IMAP协议:系统实现了邮件地址、邮件主题、邮件内容、邮件附件名、邮件附件中特定内容的配置,用户配置邮件主题中特定内容为AAAAAA,Wireshark抓取的邮件协议测试结果如图7、图8、图9,可以看到Subject中红框标出的特定内容。

    4)DNS协议:系统实现了对特定域名的A记录、AAAA记录查询和特定IP的PTR查询,图10是对指定域名www.google.com的A记录查询结果。

    2.3 系统性能实测

    当产生大流量的特定内容的网络流量时,CPU、内存等是制约系统性能的因素,下表是在该系统模拟大流量网络数据时实际测试的各协议最大并发连接数和占用客户端机器的CPU、内存情况。

    3 结束语

    网络应用流量模拟系统能够模拟用户上网的PPPOE或IPOE方式连接互联网的接入方式、模拟IPv4和IPv6网络互访的应用场景,构造产生IPv4、IPv6以及IPv4/v6混合流量的实验场景,实现典型网络应用的流量模拟。

    实验结果表明,本文提出的网络应用流量模拟系统,模拟产生的特定网络应用层数据流量符合标准RFC规定,而且能够产生含特定内容的HTTP、FTP、SMTP、POP3、IMAP、DNS协议的数据流量,能够实现基于内容的网络数据流模拟,可用于网络流量处理系统的功能测试和验证。

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/25 3:50:29