基于自适应神经网络的P2P流量检测研究*

2012-09-25 02:13马容生
通信技术 2012年6期
关键词:权重神经网络流量

马容生

0 引言

P2P技术在文件共享、多媒体文件传输、多媒体信息实施播放等领域有着十分广泛的应用前景,近年来也受到了越来越多的网络服务提供商和用户的重视。目前基于P2P技术的文件下载、视频点播、语音通话等应用功能在网络上发展十分迅猛。然而,基于P2P的应用模式在充分展示其灵活性的同时,也给网络安全、网络管理带来了很多负面的应用,尤其是P2P应用对网络带流量的占用非常巨大,使得网络服务提供商承受巨大的压力,为网络的管理以及整个网络服务质量的提高都带来严重的挑战。据统计,目前在互联网流量当中,P2P的流量已经超过50%,因此为了能够对互联网的流量信息进行有效的管理,提高整个网络安全的可控性和安全性,有必要对互联网中的P2P流量数据进行准确的识别和检测[1-2]。

目前基于P2P流量的检测技术主要有:韩志杰,王汝传提出了一个P2P网络流量预测模型,利用小波作为神经网络的隐节点激励函数获得了较好的检测精度[3]。蒋海明,张剑英,王青青等人设计了一种基于深度包检测的P2P流量检测方法,经过实验检验具有较高的精度[4]。沈富可,常潘,任肖丽也设计了基于BP神经网络的P2P流量识别方法,但其存在训练时间长、收敛速度慢问题[5]。因此,文中重点对P2P流量检测的精度和速度问题开展研究,力图得到一种检测精度和检测速度均比较理想的算法。

1 P2P流量检测原理

P2P的特征信息主要可以分为:静态报文特征以及P2P流量行为特征两类。

(1)P2P静态报文特征信息

P2P 静态报文特征主要是指应用P2P协议的数据包在报文格式方面所具有与其他非P2P流量的报文信息有明显差异的特征[6-7]。具体表现为,应用P2P协议的应用层数据特征信息,比如迅雷、BT等P2P下载软件,其在应用层的数据报文前几个字段均有明显的特征符号,而且基于P2P协议的不同应用程序这类特征字段均不相同,因此可以作为P2P协议数据的标识字段。除此之外,应用P2P协议的数据报文在传输层的端口以及协议字段均有明显的标识,尤其是一些知名的P2P协议,其采用的端口号往往是固定的,或者固定为某一个可变的范围,因此对传输层的端口号和协议字样的识别同样可以作为表示P2P流量的特征信息。

(2)P2P流量的行为特征

P2P流量的行为特征主要表现为以下几个方面:数据传输流量异常、协议应用异常、上传下载行为异常、连接建立异常、通信路径异常等[8-9]。其中流量异常是指应用P2P协议的网络应用在网络通信流量方面往往表现出突发性和大流量异常特征。协议应用异常是指P2P协议在使用传输层的通信协议时,同时使用TCP和UTP协议。比如使用TCP协议作为传输控制命令通信,使用UTP作为数据传输通信。而实际的网络通信协议在选择应用时往往只选择TCP或者UTP协议中的一种,因此,这种协议应用异常也是P2P流量在行为上的特征。上传下载行为异常是指P2P协议在应用时每一个网络节点既从网络上下载数据同时也向网络上其他节点传输数据,而且应用P2P协议的网络节点其上传和下载的数据量往往都很大,甚至有的时候上传的流量持续大于下载的流量,这与普通的网络应用程序有着十分明显的差异,通常网络的下载行为远远超出上传行为。因此,这也是P2P流量的一种行为异常特征。连接建立异常是指P2P应用程序在进行网络通信时,节点往往会向很多其他不可连接的节点发起连接请求的尝试,事实上这也是P2P自主发现其他网络邻居节点的重要途径。而在实际的网络通信过程中,节点之间的连接建立往往是有着十分明确的前提和条件,建立连接的成功性也非常高,而P2P应用程序的网络连接建立成功率并不高,有的时候甚至不到50%。通信路径异常是指应用P2P协议在网络应用在进行数据传输时往往会历经多个传输节点,整个网络的直径远大于正常网络通信环境下的网络直径。这种通信路径异常同样可以作为P2P流量异常检测的行为特征。

P2P流量检测原理即充分利用目前所掌握的P2P流量检测的静态特征信息和行为特征信息对网络上获取的流量进行综合分析。为了能够将P2P流量检测自动化的进行,因此需要将P2P流量特征进行量化,对P2P流量的静态报文特征信息可以建立P2P流量特征数据库,辅助P2P流量的检测,而对于P2P流量的行为特征,则需要提取P2P流量中的各种行为特征的具体表现形式,并对所提取的表现形式进行定量采集和表示。文中通过大量的统计研究之后形成了标识P2P流量的特征参数,其中静态特征主要包括:传输层端口号、传输层协议字段、应用层标识字段等;行为特征主要包括:单位时间流量、传输层协议应用统计序列、上传下载比率、连接建立成功率、网络直径等。只要具备其中的一个或者多个条件,则该流量有可能是P2P流量。通过建立P2P流量的特征参数列表,为网络上所获取的流量数据特征提取以及基于这些特征的P2P流量检测提供了详细的数据支持。

2 自适应神经网络的构造

2.1 自适应神经网络结构设计

文中设计的自适应神经网络结构如图1所示。该神经网络总共分成3层,分别是输入层、输出层和隐含层,其中隐含层又有两层不同节点所组成。通过在神经网络中隐含层的数目越多,则该神经网络对非线性问题的刻画能力越强[10-11]。为了能够对网络上的P2P流量进行精确的识别和检测,因此文中在构建神经网络的时候选择隐含层中设置两个层次,以此来提高神经网络对P2P流量的检测能力,该神经网络的输入层中的节点个数与所选取的特征参数个数完全相同。每一个节点对应一个参数的输入,隐含层的第一层节点数目设置为16个,第二层节点数目设置为12个。一个隐含层设置为两层,而且节点数目分别为16和12的神经网络能够具备较强的非线性问题刻画能力,对P2P流量识别和检测这一现实问题经过实验分析与测试,表明采用这种结构的神经网络具备对P2P 流量准确识别的能力,神经网络的输出层总共分为8个节点,每个节点代表的是对一类P2P流量的识别输出结果[12]。文中在研究过程中对P2P流量的输出结果总共分为8类,前7类分别是当前知名的P2P应用程序(BitTorrent、PPLive、Thunder、Skype、eDonkey、MSN、Emule),最后一类是所有其他 P2P应用或者未知的 P2P应用。该神经网络拓扑结构建立之后,需要选取大量的样本数据对神经网络进行训练测试,确定神经网络各节点之间的传递函数和各节点的权重,才能够将此神经网络应用于具体的流量检测应用中[13]。

图1 自适应神经网络组成结构

2.2 自适应神经网络详细设计

(1)神经网络的传递函数

传递函数选择双曲正切函数,计算式如下所示。该函数可以保证输出的结果分布于对称的正负区间,这将有助于输出的结果在期望值的左右区间进行调整,通过调整该函数中的参数a可以实现神经网络中的传递函数精细地逼近期望结果[14]。参数a将通过构建的神经网络对大量样本数据的反复训练后的确定最佳值。

(2)神经网络决策过程

神经网络的决策过程也是特征参数在神经网络上传递的过程,对于待检测的P2P流量问题,根据从实际的P2P网络环境中提取的静态特征参数和累计行为特征参数,同时送入至神经网络的输入端,神经各节点之间按如下关系式进行信息传递。

通过上式的信息传递过程,可以将神经网络的各种输入数据进行决策,决策得到的输出结果即为该神经网络模型做出的最终的判别。在对P2P网络流量检测过程中,由于神经网络逼近实际问题时,始终存在一定误差,因此,决策过程中的各节点权重需要通过模型训练进行完善,使得构建的神经网络能够最近似地刻画现实系统中的输入、输出关系。

(3)神经网络评价函数

评价函数是对所构建的神经网络实际问题模拟能力的一个评价指标,其通过对神经网络的实际输出结果与模型决策后的输出结果对比,给出准确的评价结论。由于应用神经网络主要是对未知问题的分析与求解,因此,对于一个给定的现实问题,无法给出准确的期望值。故利用神经网络进行实际问题决策时,无法应用评价函数对当前决策结果进行分析。但对于给定的一组训练样本数据集,其输入参数和预期的输出结果都是确定的,因此,可以通过评价函数的引入,实现对当前训练数据决策效果的准备评判,进而为误差消除,模型求精提供条件。文中所采用的神经网络评价函数如下所示:

式中,N代表神经网络的输出端节点数, eti2代表第i个节点的期望输出值,该值在神经网络训练初期由用户通过样本数据给定。

(4)神经网络的学习过程

神经网络的学习过程是实现神经网络近似逼近现实问题求解模型的关键步骤,对于已经构建完成的神经网络,其学习过程事实上也是对于特定问题的输出结果沿着神经网络的传递路径反向回传,并在回传的过程中对神经网络的权重进行动态调整。

根据对经典的 BP神经网络的分析,可知其在误差反向传递过程中,采用的是基于梯度下降的误差消除方法,即要求在误差传递过程中,通过修改神经网络节点的权重,使得在新权重条件下,神经网络决策结果的误差比之前的误差在减少,即此时求导后的误差函数的为递减函数。传统的 BP神经网络的权重调整函数为:

式中,Δcij即为每次修正的节点权重数值,该数值由3个参数决定:λij、φ( xij)和g(xij)。其中λij表示神经网络节点 ij位置对权重的修正幅度,该参数直接决定了神经网络的学习速度,因此也常常被称为神经网络学习速率参数。φ ( xij)表示神经网络节点ij位置对权重的修正条件,φ ( xij)的计算式如下所示。 g(xij)表示神经网络节点ij位置的初始输出值。

采用如上计算式进行误差反向传播,对神经网络中各节点参数进行修正,经实际的测试分析发现,该神经网络模型的学习速度较慢,在对1 000组训练样本进行学习后,其误差精度在15%以内,再对5 000组训练样本进行学习后,误差精度仅减低到8%以内,学习速度非常慢。而且从理论上分析发现,该训练模型在对实际的流量识别问题逼近到一定程度后,进入误差曲面的平坦区域,此时无论怎么调整神经网络的节点权重,其误差始终趋于一个稳定数值,这将极大地阻碍神经网络的学习效果。因此,必须对神经网络的学习速度进行改进,使得神经网络节点在修正权重时,能够根据当前的误差结果,动态地调整学习速率。同时对神经网络输出的评价函数进行改进,使得神经网络的在训练过程中能够摆脱误差曲面的平坦区,尽快进行收敛状态,实现神经网络模型的快速定型。

(5)自适应学习控制与评价函数的改进

神经网络的学习过程主要由学习速率参数ijλ控制,在传统的神经网络训练过程中,该参数一般是选一个固定的常数值,为了能够做到自适应的学习控制,可以将该参数的取值与每次权重调整后的误差变化程度相,由神经网络的误差变化量控制学习速率ijλ的调整,实现神经网络的自适应学习。经过对大量的训练样本数据模拟和分析后,文中得到ijλ的自适应控制关系式如下所示:

式中, λ'ij表示调整后新的学习速率控制参数,new _ h _ o utputij为权重调整后新的输出结果,该式蕴含的控制原理是当调整权重后,误差朝着缩小的方向变化时,此时可以降低λij的取值,以实现精细地逼近输出结果;若调整权重后,误差朝着变大的方向变化时,此时可以增加λij的取值,以实现加快逼近期望值的速度。

3 实验测试

根据文中设计的基于自适应神经网络P2P流量检测模型,在选取5 000组样本数据进行训练之后,对网络上正常传输的通信数据进行了实验测试。

实验测试数据来自校园路由器的出口数据,通过在路由器出口端部署流量数据镜像设备,对流经路由器的所有通信数据进行了镜像存储,然后以这些数据作为测试数据源。实验中路由器为 Cisco公司的7200系列路由器,对其导出的流量数据,采用了NetFlow工具对导出的数据进行流量提取,该工具具有强大的流量提取和辅助分析能力,能够按照源IP地址、目的IP地址、源端口号、目的端口号、协议号的五元组对流量进行分类和提取。

首先对自适应神经网络的学习速率进行了测试,测试结果如表1所示。测试结果表明对于自适应神经网络的学习过程,耗费了的时间更短,而且得到的精度却更高。

表1 自适应神经网络的学习速率测试结果

利用对大量样本数据训练之后建立的自适应神经网络,对路由器的镜像流量进行了测试,总数据流量为1 254 694条,检测到P2P流量为23 181。每一种P2P流量的详细分类情况如表2所示。由于每一类的P2P流量数量较为庞大,为了能够对每一种流量的检测结果的正确性进行分析,文中进行了抽样检测,即从每一个分类中抽取200条流量信息,采用人工验证的方式对神经网络的检测结果进行评价。

表2 自适应神经网络的P2P流量检测结果

4 结语

P2P流量检测在网络管理、网络安全应用方面有着十分重要的应用价值,目前的流量检测方法有多种,其中基于神经网络的检测技术对此类非线性问题有着十分强大的模拟能力[15],而且其通过错误反向传递的方法,可以实现自我学习,文中通过对神经网络的学习速率开展深入研究,提出了自适应的学习策略,较好地解决了神经网络收敛速度慢的问题。

[1] 汪志勇,邱晓红. 分形滤波的网络流量预测[J]. 计算机工程与应用,2009, 45(03):124-125.

[2] 邱琳强,陈梅梅. 网络流量组合预测模型研究[J]. 计算机仿真,2011, 28(01):206-208.

[3] 韩志杰,王汝传. 一种新的 P2P网络流量预测模型[J].计算机科学,2008, 35(09):39-41.

[4] 蒋海明,张剑英,王青青,等. P2P流量检测与分析[J].计算机技术与发展,2008, 18(07):74-76.

[5] 沈富可,常潘,任肖丽. 基于 BP神经网络的P2P流量识别研究[J]. 计算机应用,2007, 27(S2):44-45.

[6] 聂荣,余建国,吕英华.国内对p2p网络的相关研究[J].通信技术,2008,41(07):130-132.

[7] 马华林,李翠凤,张立燕. 基于灰色模型和自适应过滤的网络流量预测[J]. 计算机工程,2009, 35(01):130-131.

[8] 刘佳, 张晨, 魏世民.一种新型 P2P 应用层并行路径选择机制[J]. 通信技术,2011, 44(01):112-114.

[9] 孙遒. 基于 RBF算法的机房网络流量预测[J]. 现代电子技术,2011, 34(14):93-95.

[10] 雷霆,余镇危. 一种网络流量预测的小波神经网络模型[J]. 计算机应用,2006,26(03):526-528.

[11] 杨颖,陈德华. 基于小波神经网络的时间序列流数据的研究[J].计算机技术与发展,2006,16(06):193-195.

[12] 韩桂华,李法冰. 网格计算安全性研究[J].信息安全与通信保密,2007(03):116-117.

[13] 高光勇,吴维勇,邓安远. 基于小波分析和神经网络的网络流量预测[J]. 通信技术,2008, 41(04):93-95.

[14] 王伟,张利刚,吕彬.基于主动识别技术的网关p2p流量检测[J].信息安全与通信保密,2009(12):91-92.

[15] 徐剑,周德云,黄鹤.有色噪声下基于神经-模糊网络的滤波器[J].信息安全与通信保密,2010(03):69-71.

猜你喜欢
权重神经网络流量
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
寻找书业新流量
权重常思“浮名轻”
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
为党督政勤履职 代民行权重担当
基于神经网络的拉矫机控制模型建立
基于局部权重k-近质心近邻算法
基于支持向量机回归和RBF神经网络的PID整定