基于FTP协议网络流量模拟的设计与实现

2014-09-13 03:25蔡艳丽
海军航空大学学报 2014年3期
关键词:模拟系统网络流量数据包

蔡艳丽

(91329部队,山东威海264200)

基于FTP协议网络流量模拟的设计与实现

蔡艳丽

(91329部队,山东威海264200)

针对网络实验室中难以实现与真实网络环境一致、需要进行网络流量模拟的问题,提出了一种基于FTP协议的网络流量模拟方案。基于FTP协议特点和网络流量模拟需求,详细分析了网络流量模拟系统的架构、运行拓扑结构,设计了FTP流量的生成算法。通过实验证明,实现的模拟系统可以对模拟流量的发送速度和时长进行设定,而且可以随时进行更改,满足了虚拟网络流量的要求,为网络安全试验提供了模拟的网络测试环境。

FTP协议;网络流量;网络流量模拟

目前,网络安全实验很多情况下是在独立的实验网络环境下进行的,由于这些独立的网络环境虽然具备了实际应用网络的拓扑结构,开放了相关的应用服务,但是这些服务并没有实际网络那样的用户访问机制,因而这种网络环境与实际网络并不一致。网络流量模拟是按照网络协议所规定的格式构造模拟用户访问网络时的数据包[1-3],并将数据包发送到网络上,产生真实的网络流量。网络流量模拟作为一种对实际网络进行模拟与分析的方法,具有可信度高、使用范围广、应用成本低等特点。它已经成为网络安全性能研究和测试所不可缺少的工具[4]。本文所描述的设计主要是对目前互联网上FTP网络流量[5-7]进行有效的模拟,与相应的服务器进行数据交换,从而生成符合真实网络的网络流量。

1 FTP概述

文件传输协议(File Transfer Protocol,FTP)是因特网网络上历史最悠久的网络工具[8]。从1971年首次提出以来,FTP凭借其独特的优势一直都是因特网中最重要、最广泛的服务之一,在现有网络流量中占相当大比例,是基于TCP协议,用来在Internet环境中传送文件。它指定了客户可向服务器发送什么样消息,并且得到什么样的回应消息。每次交互由一个ASCII请求组成,随后是一个类似与RFC 882 MIME的回应。

2 FTP流量模拟设计

2.1 总体设计

FTP流量模拟采用一个控制端加多个代理端,代理端用于生成FTP流量,控制端用于操作人员设置和并向代理端分配流量模拟参数。控制端通过接收用户操作结果向代理端发送流量模拟的命令以及模拟所需的各种参数,代理端接收到控制端的命令后进行解析,按照模拟参数进行流量模拟,代理端将流量模拟的过程信息以及流量模拟的速度概况反馈到控制端,控制端对接收到的反馈进行处理后以用户设置的形式进行综合显示,显示分为文本和图形两个基本类别,便于用户观测流量模拟的全过程。[9]

构架采用平台+插件的形式,平台+插件结构是一种二进制的软件集成方法,它将一个待开发的目标软件分为2部分:一部分为程序的主体或主框架,定义为平台;另一部分为功能扩展或补充模块,定义为插件。FTP流量模拟以插件的形式实现。在进行整个软件集成时只将需要的部件进行组装,而不是集成各源代码或链接库进行编译与链接,需要新的功能组件时也是按规定开发,之后只进行组装软件就可以使用。流量模拟系统的整体架构如图1所示。

图1 FTP流量模拟系统架构图Fig.1 Architecture diagram of FTP traffic simulation system

2.2 FTP流量模拟系统运行的拓扑结构

流量模拟系统的运行需要一台工作站作为控制端、相应的FTP应用服务器,根据产生流量大小的需求配置若干台工作站作为代理端,如图2所示。

图2 FTP流量模拟拓扑结构图Fig.2 Topology structure chart of FTP traffic simulation

2.3 FTP数据格式设计

网络流量是由一系列流[10]叠加形成的,因而FTP流量的模拟可以看成是生成一系列的网络流。在此基础上,对FTP流量进行分析,得出其属性,包括:

IP,目的FTP服务器的IP地址;

PORT,目的FTP服务器的端口号;

TYPE,数据包类型,即包括登录、文件请求、传输控制和数据传输数据包;

RATE,文件传输速率,即单位时间内传输文件的个数;

SIZE,文件大小,即平均每个文件的字节大小;NFIlE,传输文件的路径名称;

USER,登录目的服务器的用户名;PASSWORD,登录目的服务器的密码。

2.4 FTP流量生成算法

整个FTP流量生成过程包括8个步骤,算法流程如图3所示。

图3 FTP流量生成流程图Fig.3 Flow chart of FTP traffic generate

步骤1:构造FTP数据包队列;

步骤2:将FTP数据包队列存入发送缓冲区;

步骤3:与FTP服务器建立连接,连接成功;

步骤4:向FTP服务器传送发送缓冲区中的数据包;

步骤5:计算模拟过程剩余时长,时长小于零,转到步骤8;

步骤6:校正模拟速度;

步骤7:反馈模拟过程信息,转到步骤4;

步骤8:与FTP服务器断开连接,结束模拟过程。

2.5 程序设计

由于FTP协议传输文件时分为控制连接和数据连接,直接用WinSocket[11]库实现比较复杂,在编码实现里并没有采用WinSocket库,而是采用WINET库的API函数[12]。代码如下:

从总发包时间内扣除此次发包消耗时间

为了精确地生成数据包的发送时间间隔,给模拟提供高精度的计时,需要一个精确的计时器,而Windows本身提供的计时功能只能进行ms级的定时操作,无法满足模拟过程的需要。因此,利用计算机的硬件来设计精确的计时操作。

高精度计时器主要利用2个API函数来实现,分别是:QueryPerformancFrequency()//取得CPU的硬件计数器频率;QueryPerformanceCounter()//取得当前硬件的计数器值。这2个函数的使用要求计算机从硬件上支持精确定时器。

高精度计时器的实现步骤。

步骤1:调用QueryPerformancFrequency()函数取得高精度运行计数器的频率,单位是每秒多少次;

步骤2:在需要定时的代码两端分别调用Query-PerformanceCounter()以取得高精度运行计数器的数值pre、now,2次数值的差值通过f换算成时间间隔interval,因而interval=(tStart-tEnd)/f,当interval大于或等于定时时间长度时,启动定时器。

2.6 设计实现

基于FTP协议的网络流量模拟实现了在局域网环境中产生网络流量的功能,产生网络流量的速率和时长可根据用户需求调节,满足用户对FTP流量模拟的需求;采用集中控制方式,即由一台控制端控制整个运行过程,用户绝大部分操作集中在控制端,便于用户操作和管理;产生流量的信息以图形化形式显示,便于用户掌握网络流量的整体状况;各个代理端的运行状态采用在控制端集中显示的方式,便于用户观察分析流量产生过程;采用插件式开发,便于系统功能的扩充,提高开发效率[13]。FTP流量生成见图4。

图4 FTP流量生成图Fig.4 Generated chart of FTP traffic

3 结束语

本文在与外界隔绝的网络中通过模拟FTP流量生成具有真实网络特性的网络流量,在绝对安全的情况下对网络攻击进行研究提供了真实的网络实验环境。但是在产生网络流量的性能上还存在需要进一步完善的地方,即生成流量的速率问题,寻求提高产生流量速度的方法,减少所需代理端的数量,以进一步提高产生流量的效率。

[1]FLOL YD S,JACOBSON,et al.A reliable multicast framework for light-weight sessions and application level framing[J].ACM/IEEE Transactions on Networking,1997,5(6):784-803.

[2]DOUGLAS E COMER,DAVID L STEVENS.用TCP/IP进行网际互连(第2卷):设计、实现和内部构造[M].2版.张娟,王海,译.北京:电子工业出版社,2001:188-192. DOUGLAS E COMER,DAVID L STEVENS.Using TCP/IP internetworking(Volume 2):design,implementation and internal structure[M].2nd ed.ZHANG JUAN,WANG HAI,translation.Beijing:Electronic Industry Publishing House,2001:188-192.(in Chinese)

[3]徐雷鸣,庞博,赵耀.NS与网络模拟[M].北京:人民邮电出版社,2003:75-81. XU LEIMING,PANG BO,ZHAO YAO.NS and network simulation[M].Beijing:People Post Press,2003:75-81.(in Chinese)

[4]窦文华,张鹤颖,刘志峰.计算机网络前沿技术[M].长沙:国防科技大学出版社,2007:82-88. DOU WENHUA,ZHANG HEYING,LIU ZHIFENG. Computer network cutting-edge technology[M].Changsha:National Defense University Press,2007:82-88.(in Chinese)

[5]SANG AIMIN,LI SANQI.Predictability analysis of network traffic[C]//Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. 2000:198-195.

[6]FELDMANN A,GILBERT A C,HUANG P,et al.Dynamics of IP traffic:a study of the role of variability and the impact of control[C]//SIGCOMM’99.1999:125-131.

[7]韩良秀.基于流量的网络性能研究[D].上海:复旦大学,2002. HAN LIANGXIU.Network performance research based on traffic[D].Shanghai:Fudan University,2002.(in Chinese)

[8]谢希仁.TCP/IP协议族[M].北京:清华大学出版社,2006:215-221. XIE XIREN.TCP/IP protocol suite[M].Beijing:Tsinghua University Press,2006:215-221.(in Chinese)

[9]陈金阳,蒋建中,张良胜.FTP协议分析及其客户端程序实现[J].计算机工程与应用,2005,32(6):130-132. CHEN JINYANG,JIANG JIANZHONG,ZHANG LIANGSHENG.FTP client protocol analysis and program implementation[J].Computer Engineering and Applications,2005,32(6):130-132.(in Chinese)

[10]JAECHEOL KIM,EUNSIL HONG,YANGHEE CHOI. Measurement and analysis of a massively multiplayer online role playing game traffic[C]//Proceedings of 4th ACM SIGCOMM Workshop on Network and System Support for Games.2005:1-8.

[11]罗军舟.TCP/IP协议及网络编程技术[M].北京:清华大学出版社,2004:315-321. LUO JUNZHOU.TCP/IP protocol and network programming technology[M].Beijing:Tsinghua University Press,2004:315-321.(in Chinese)

[12]雷斌,杨建华,黄超,等.Visual C++6.0网络编程技术[M].北京:人民邮电出版社,2000:175-182. LEI BIN,YANG JIANHUA,HUANG CHAO,et al.Visual C++6.0 network programming technology[M].Beijing:People's Posts and Telecommunications Press,2000:175-182.(in Chinese)

[13]BAJAJ S,BRESLAUL,ESTRIN D,et al.Simulation for network research[R].Los Angeles:USA USC Computer Science Department,1999:205-211.

Design and Implementatiioonn of Network Traffic Simulation Based on FTP

CAI Yan-li
(The 91329thUnit of PLA,Weihai Shandong 264200,China)

For the difficult to achieve in the laboratory network is consistent with real network environment and the need for network traffic simulation,a network traffic simulation resolution is proposed based on FTP protocol.Based on the characteristics of the FTP protocol and the needs of the network traffic simulation,the structure and the operation of the network were analyzed in detail.The network topology,traffic simulation system was also designed based on FTP traffic generation algorithm.The experiments showed that the simulation system could achieve transmission speed and duration of the flow simulation set and it,could be changed at any time to meet the requirements of the virtual network traffic.

FTP;network traffic;network traffic simulation

TP391.9

A

2014-02-20;

2014-03-17

蔡艳丽(1986-),女,硕士。

1673-1522(2014)03-0221-04

10.7682/j.issn.1673-1522.2014.03.005

猜你喜欢
模拟系统网络流量数据包
基于多元高斯分布的网络流量异常识别方法
基于VR技术的变电站三维场景设计模拟系统研究
大数据驱动和分析的舰船通信网络流量智能估计
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
大数据环境下的网络流量非线性预测建模
C#串口高效可靠的接收方案设计
基于STM32单片机的微电网模拟系统设计
AVB网络流量整形帧模型端到端延迟计算
基于ARM和Zigbee 的变压器试验培训模拟系统