基于机器学习的P2P网络流问题的研究

2017-04-25 13:27邓小盾
电子设计工程 2017年8期
关键词:服务器流量分类

邓小盾

(西安外事学院 陕西 西安 710077)

基于机器学习的P2P网络流问题的研究

邓小盾

(西安外事学院 陕西 西安 710077)

P2P应用的出现和蓬勃发展使互联网流量组成发生显著变化,P2P流量己跃居成为互联网第一大流量,这给网络管理带来诸多问题,对流量监控提出更高要求。同时为逃避检测,P2P应用正朝着端口动态化、负载加密化的方向迅速发展。传统的流量识别技术己经难以有效识别出P2P流量,而基于机器学习的P2P流量识别技术不依赖端口和负载信息,因此,成为近年来的研究热点。针对基于机器学习的P2P流量识别的问题,采用查阅文献的方法,通过对国内外关于P2P网络流量识别的研究成果的研究,总结出流量识别的方法,并且分析P2P网络未来的发展趋势,有非常重要的理论意义。

P2P网络;流量识别;识别方法;未来趋势

复杂的互联网应用和恶意网络行为日益增长。与传统的互联网应用相比,新媒体流、游戏、对等网络(P2P)的出现将会有更多的流量产生,同时体现出更为复杂的特性,特别是对等网络技术的发展引发了互联网应用模式的变革。据统计,对等模式应用的流量已经超过了网络服务和端口服务所产生的流量,互联网已成为消费环节的资源最应用模式,也为其近对称的流量模式的网络拥塞度,这给网络服务提供商和网络管理、流量工程、网络规划等工作造成了巨大的影响。以对等网流量识别和管理为主要对象的流量已成为学术界、网络工程、相关的国家部门普遍关注的热点问题之一。

1 P2P概述

1.1 P2P的定义

目前的互联网存储模式是 “内容是在中心”,C(Client)/S(Server)或B(Browser)/S(Server)的结构模式是占主导地位的计算机模型,应用程序必须建立一个服务器在网络内,通过服务器的信息可以通过,或信息上传到服务器,然后下载处理后,可以在网络上传递流动(例如,电子邮件)。而利用对等技术(P2P)将互联网的内容移动边缘化。简单地说,P2P(对等)是一种不同于个人电脑用户之间的一种使用,无中继设备或服务技术直接交换数据,它允许互联网用户直接使用彼此的文件[1]。从某种意义上说,对传统的对等技术是一种回归的互联网技术,体现了互联网的本质,因为互联网最初的设计目标是使计算机在网络上可以直接通信,没有中间商。

对等网络技术的出现,带来了整个网络的创新:它允许用户直接连接到另一个用户的计算机,以及文件共享和交换,过去的变化由服务器来浏览或下载。信息需求者和信息的提供者,在相同的信息需求者更多,更快的速度,大大提高了速度和信息传输的效率。对等网络的基本特征是直接对人,让人们直接通过互联网进行通信。它使通信更容易,更直接地在网络上,真正消除中间环节[2]。对等网打破了传统的模式,网络中每个节点的地位是平等的。每个节点作为一个服务器,既要为其他节点提供服务,也要享受其他节点提供的服务。在互联网上,由C/S或B/S结构向P2P结构的转变,是为了提高效率(中转降低信息流的信息),从而最大限度地提高通信效率。

1.2 P2P的特点

总之,P2P是一个完全分散的自组织和资源使用的系统。对等网络的特点主要表现在以下几点:

1)非中心化:在网络资源和服务上的所有节点上,实现了节点间的信息传输,可以不介入中间链路和服务器,以避免可能出现的瓶颈。即使在混合对等网络中,虽然在寻找资源、位置服务或安全检查时都需要集中服务器的参与,但主要的信息交换是在节点之间进行的。从而大大降低了集中服务器的资源和性能要求。对等网络的基本特性,使其具有可扩展性、鲁棒性等特点。

2)可扩展性:在传统的结构中,该系统可容纳用户的数量和提供服务的能力,主要受服务器资源的限制。在互联网上支持大量的用户,需要在服务器端使用大量的高性能计算机,铺设大带宽的网络。为了这个原因,有战斗舰队,集群技术。在这种结构下,协同和集中的服务器之间的同步处理产生了大量的开销,扩大了系统的规模[3]。在对等网络中,作为用户的加入,不仅服务需求的增加,系统的资源作为一个整体和扩展,所以是服务能力,始终能够更容易地满足用户的需求。对于纯对等结构,系统是分布式的,没有瓶颈。即使在对等混合结构中,由于直接处理的大部分节点之间,大大降低了对服务器的依赖性,从而可以很容易地扩展到超过百万的用户。所以,在对等网络的可扩展性理论中,可以认为几乎是无限的。例如:在传统的文件通过FTP下载,下载用户增加后,下载速度变慢,P2P网络是相反的,然而,更多的用户加入,在P2P网络中提供更多的资源,而不是更快的下载速度。

3)健壮性:在互联网、网络中断、网络拥塞、节点故障等异常情况下可能出现异常情况,会影响系统的稳定性和服务的连续性。在传统的集中式服务模式下,集中式服务器成为整个系统的关键所在,在不正常的情况下会影响到所有用户的使用。对等网络结构具有抗攻击、容错能力强的优点。由于各节点之间的服务分散,一些节点或网络对其他部分的破坏影响不大。事实上,对等网络通常是建立在一个自组织的方式,自由地加入和离开,并允许节点和对等网络的部分节点未能自动调整整体拓扑结构,保持其他节点的连通性。有的对等结构还可以根据网络带宽、节点的数目、负载的变化进行自适应调整[4]。

4)高性价比:性能优势是一个非常重要的原因,对点对点是广泛关注。随着硬件技术的发展,个人计算机的计算和存储能力和网络带宽性能,根据穆尔定理的高速增长。而在互联网上,这些普通用户以节点的形式连接到网络中,就如同接入信息和服务,在互联网的边缘。对于这些边缘节点容量,存在着极大的资源浪费。利用对等网络结构可以有效地利用互联网传播大量的普通节点,以存储内容分布的计算任务或所有节点,利用未使用的计算能力或存储空间,实现高性能计算和海量存储的目标[5]。这与目前广泛使用的高性能计算机分布式计算思想是一致的,但通过使用网络在大量的空闲资源,可以提供更高的计算和存储能力的低成本。目前,对等应用在这方面比较多的学术研究,一旦成熟的技术,可以在工业上的推广,可以节省许多公司购买的大型服务器的成本。

5)隐私保护:随着互联网的普及和计算/存储容量的增长,收集私人信息变得越来越容易。隐私保护作为网络安全的一个方面越来越受到人们的关注。目前的互联网公共协议不支持隐藏通信端口地址的功能,攻击者可以监控用户的流量特性,获取网络地址,甚至可以使用一些跟踪软件直接从网络地址跟踪个人用户。在对等网络中,信息的传输分散在各节点之间,无需经过密集的链路,用户的隐私信息窃听,大大降低了泄漏的可能性。此外,目前的互联网隐私问题主要采用中继技术的方法,从而在众多网络实体中隐藏通信的参与者。在传统的一些匿名通信系统中,这种机制的实现依赖于特定的中继服务器节点。在对等(对等)中,所有参与者都可以提供中继的功能,从而大大提高了匿名通信的灵活性和可靠性,为用户提供更好的隐私保护。

6)负载均衡:由于每个节点都是一个服务器和客户端,服务器降低了传统的计算能力、存储容量需求,因为在同一时间分布在多个节点的资源,更好地实现整个网络的负载平衡。

1.3 P2P的工作原理

P2P的网络管理模式是以互联网管理模式为核心的分散管理模式,把从单一节点到网络中的铅含量的边缘,从而充分利用互联网的许多终端节点的处理能力和潜在资源。其最大特点是将对等技术直接与用户之间的一种共享资源,其核心是一个分布式对象的定位机制,这是提高可扩展性,解决网络带宽问题的关键。到目前为止,四代人都有不同的网络结构模型,各种模型各有优缺点,有些缺陷还存在着自己难以克服的缺陷。因此,在目前的对等网技术还远远没有成熟的阶段,各种网络结构仍然可以共存,甚至出现在彼此[6]。

1)集中目录结构(集中)

集中目录下的对等网络应用模型,在对等网络技术的发展过程中,出现了最早的对等结构。在对等网络中的集中目录,所有共享资源不存储在服务器上,而是存储在每个节点中,由一个中央服务器记录到一个共享资源信息的查询和反馈给共享资源。每个查询节点根据信息,如网络延迟,选择合适的同龄人建立直接连接,下载他们与共享资源,而不是通过一个中央服务器。因为它还具有集中化的特点,因此也被称为纯对等结构。虽然集中式目录也具有集中式对等结构的特点,但不同于传统的网络结构。在网络的网络中,每个客户端都只能被动享受服务器提供的服务,客户端没有功能之间的交互。而中心的集中式目录下的网络服务器只索引功能,具有对等点之间的交互功能。这种网络结构很简单,但它显示了对等网络信息的巨大优势和吸引力。用于共享MP3音乐文件,Napster网络模型是最典型的代表。

2)纯对等结构(分布式)

纯对等结构,又称为分布式对等结构。它不依赖于任何中心服务器和工作,每个节点随机接入网络,和一组节点及其相邻的通过端到端的连接,从而构成一个逻辑的覆盖网络。对等节点在网络中的查询和内容共享都是直接通过广播中继的相邻节点,每个节点都将记录在同一时间的搜索路径,以防止搜索循环。

3)混合式结构

集中式对等网络结构促进了资源的快速检索,但容易受到直接攻击;分布式对等网络具有分散性和攻击性更强的优点,但缺乏快速检索[7]。混合对等网络结构的优势,在纯对等网络结构模型的基础上引入超级节点的概念。

2 基于机器学习的P2P流量识别

2.1 机器学习的方法

1994年,J.Frack在入侵检测技术的研究过程中,首次提出了基于机器学习的机器学习方法。自2000以来,P2P识别技术、P2P测量技术的研究越来越受到学术界的关注,在国际会议如 USENIX,SIGCOMM上出现了大量的研究成果,2004年后,随着网络规模的增大和复杂,传统的身份识别技术的缺陷,越来越多的学者开始机器学习的网络流量分类技术[8]。

根据机器学习过程是否使用自己的标签样本集训练,可以把机器学习算法可以分为有监督学习和无监督学习两大类。

1)有监督学习:输入数据称为训练数据,并已知道结果或标签。例如,如果电子邮件是垃圾邮件,或是在一段时间内。预测模型,如果错误的将被修改,该过程将继续,直到它的训练数据可以达到一定的标准。例子包括分类和回归问题,例子包括逻辑回归和反向神经网络算法。

2)无监督学习:输入数据不显着,没有明确的结果。数据的结构和数值计算模型。例子包括关联规则学习和聚类问题,K-means算法的例子包括Apriori算法和K-均值算法。

此外,还有有一种半监督学习的方法,使用大量的标记样本,但少量的自己的标签样本建立分类,因为这种方法在学习的过程中使用的标记样本,也可以被归类为有监督学习[9]。

2.2 基于机器学习的P2P流量识别方法

近年来,一些学者使用机器学习(MachineLearning)方法根据流量进行分类研究。交通识别本质上是一个分类问题,因此,机器学习方法可以应用于交通领域的识别和分类。从训练数据中自动学习,识别规则是这种方法的主要特点。

1)支持向量机

支持向量机被广泛用于二值分类和多值分类问题。P2P流量识别问题本质上是一个分类问题,可以把未知的流量大致可以分为P2P应用和非P2P应用两类,细分为每个特定的未知流量的P2P应用属于多值分类,因此支持向量机(SVM)应用于自然的P2P流量分类问题。

2)决策树

决策树方法是基于实例的归纳学习方法,对提取规则进行分类、预测等领域得到了广泛的应用。根据数据集的方法分为两类:基于信息理论和基于最小基尼指数的方法,与ID3、C4.5、CART等经典算法相比,使用决策树进行分类的过程,这个过程是例如ID3算法,使用统计测试来确定分类每个实例的属性分别对训练样本的能力,分类能力最好的属性被选为测试树的根节点,然后为根节点的每一个可能的属性值产生一个分支,与训练样本置于适当的分支,重复整个过程,最后到达叶节点[10]。决策树方法具有很好的适应性,能容忍训练数据中的误差和属性值的实例丢失,已成功应用于交通标识问题。

3)神经网络

神经网络是由神经网络学习系统组成的神经网络,该技术已成功应用于模式识别等。在神经元节点连接方式的基础上,不同,分为正向无反馈神经网络和互联网络。适用性很好,因为神经网络是适合处理非线性问题的,具有并行分布式处理能力,良好的容错性;支持数据融合、模糊控制、小波分析等技术可以结合,可以同时处理多输入多输出信号,因此被成功引入到交通领域中。

2.3 利用机器学习的方法识别P2P流量

2.3.1 工作原理

P2P网络每个节点同时下载是它的重要功能,同时也提供了一个对等节点,从它的父节点下载,我们称之为下行流量[11]。在同一时间,它的子节点也从那里开始下载,称为上行流量。在整个过程中,每个节点上行流量和下行流量是大致对称的。然而,传统的网络应用,如HTTP和FTP,一般是客户端发送一个请求(几十到几百个字节),然后服务器返回客户端所需要的数据(几十KB,几兆或者更多),在这种网络结构中,上行流量与下行流量存在着一定的平衡因素。在以上分析的基础上,我们可以将一个连接的流量和流量进行比较,当比例在一定范围内时,认为这个连接是P2P业务[12]。另外,上行流量和下行流量之间存在着不对等性,不同的P2P业务比例也有一定的差别。

2.3.2 识别过程简介

1)识别算法

识别阶段是联机使用分类算法,类型和主要任务是给数据集构建一个合适的分类器,分类器可以将数据映射到给定类别的数据库中。输入数据需要分析结构分类,一般使用一组训练样本数据作为输入数据,一个训练集数据库记录或元组,每一个记录包含几个属性,形成一个特征向量t[13]。 每个记录的训练集和标签与一个特定的类别,类别标签是一个系统的输入,通常从过去的一些经验数据提取[14]。

图1 识别阶段的分类实现

2)P2P流量识别算法的实现

识别阶段首先要提取测试数据,根据这些数据构建测试集合,收集数据的拓扑结构如图2所示。包括数据包的协议、源IP、目的IP、源端口、目的端口、源IP端向下流量以及目的IP上行流量等,现在我们可以排除0-1024号IP端口[15]。然后从上行流量的源IP和目的IP下行流量作为测试集的测试数据中提取,新的访问流量值被更新和记录,找到相应的目的地址和源IP,与原来的数值,在分析模型中,如果此IP具有的上下行最小总流量小于前期的整体阈值,那么就可以把这个IP过滤掉;相反,如果总和大于上下行IP流量阈值,我们可以计算出此上下行流量比例,然后在不同的业务价值的特点的浓度进行比较的特点,确定什么样的P2P业务[16]。图3为对等业务识别算法和机器学习的识别流程图。

图2 样本采集拓扑图

图3 P2P业务识别流程图

2.3.3 功能模块描述与设计

为了实现以上算法,P2P业务识别软件需要有4个功能模块,PACKETCATCH,PACKETPROC-ESSOR,COMPUTE和FEATURESHOW部分,如图4所示。

图4 系统功能模块设计图

这4个模块的基本功能如下所述:

1)PACKETCATCH:利用Pcap函数库从网卡上抓包,接口函数是my-callback,callback的最后一个参数P指向一块内存空间,这个空间中存放的就是Pcap-loop捕获的数据包,然后将捕获到的数据包放入一个队列中。

2)PACKETPROCESSOR:这个模块主要用于对每个数据包进行处理,利用packet获取包的一些基本信息,最主要的是得到五元组(源地址,目标地址,源端口,目的端口,协议类型),为下一步创建相应的流做好准备。

3)COMPUTE:机器学习算法是基于流传输特性,所以流应该是操作对象,然后把包汇聚成流。这是系统中的一个关键处理模块,在该模块中完成了属性特征的计算功能。

4)FEATURESHOW:将得到的值与表格中各类P2P业务该属性的值的范围对比,得出最后的判定结果。

3 P2P流量识别的发展趋势

1)智能化的发展趋势

流量识别研究的不断深化,迫切需要自主学习和知识发现智能处理算法,可以在获得相应的训练样本数据的智能机器学习方法,自动识别的交通和找到新的应用程序流程,并不断提高分类器识别效果。

2)混合识别的发展趋势

考虑到不同的流分类方法有不同的优点和缺点,并尽力实现可以充分利用现有的方法的优势,努力克服弱点的机器学习算法,结合了其他特性的优势,考虑混合流量识别方法,充分利用各种分类方法的优点混合的硬件和软件实现的基础上,有利于交通标识的实践项目。

3)实时处理的发展趋势

为交通管理和行为分析,只有达到一定程度的实时识别具有实际意义。港口功能的现有方法匹配和应用层负载特征匹配基本上满足实时的需求,但基于动态行为特性和流量特性的方法面临的挑战是,实时处理。

在各种各样的P2P流量识别方法上面所描述的那样,有一个非常明显的缺点,无法实时P2P流量的有效识别,虽然基于行为特征的P2P流量识别方法的传输层现在是一个更精确的方法,但是这种方法不能满足人们实时P2P流量识别,仅适用于记录流量分析。但在现实生活中,人们需要识别P2P实时流,从而实现的控制流,改善网络的性能,等。以及如何识别P2P流量实时以及如何提取更有效的P2P内在行为特征,将P2P流量识别的未来重要的工作。目前,随着数据挖掘技术的不断发展,我们可以探讨如何将数据挖掘技术应用的P2P流量识别[17]。

4 结束语

P2P应用的迅速发展,传统的P2P流量识别技术带来了巨大的挑战,如何从网络流量准确地识别P2P流量,支持应用程序级分类,构建高可信网络需要解决的第一个问题。随着互联网技术的发展,P2P流量占用网络流量的主要部分。今天,P2P应用已经非常普遍的事情,这不是结束对带宽的需求真的让宽带运营商感觉非常困难。他们将原来的运行平稳网络变得越来越拥堵,但是也大大改变了网络流量模型。因此,如何控制P2P的流是一个问题我们需要考虑同时享受P2P的便利。解决这个问题的一个重要前提是正确地识别P2P的流。

文中对P2P流量识别技术进行深入研究,阅读大量国内外出版物,学习先进的科研成果,并学习先进的思想和技术,对我国P2P网络的发展提供了一定的参考。

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

[2]Hewlett-Packard Company.NetBatch Management Programming Manual,2005.

[3]宫蜻,孙知信,顾强.一种基于模糊评判规则的P2P流识别算法[J].计算机科学,2008,12(2):57-61.

[4]邓河,阳爱民,刘永定.一种基于SVM的P2P网络流量分类方法 [J].计算机工程与应用,2008,44(14):122-126.

[5]刑小良.P2P技术及其应用[M].2版.北京:人民邮电出版社,2008.

[6]鲁刚,张宏莉,叶麟.P2P流量识别[J].软件学报,2011,22(6):1291-1298.

[7]徐鹏,刘琼,林森.基于支持向量机的Internet流量分类研究[J].计算机研究与发展,2009,46(3): 407-414.

[8]戴磊,王源,刘科科.一种主动学习式P2P流识别方法[J].计算机应用研究,2012,29(2):717-721.

[9]刺婷婷,师军.基于GA-CFS和AdaBoost算法的网络流量分类 [J].计算机应用研究,2012,29(9): 3411-3414.

[10]刘海燕,王超,牛军任.基于条件互信息的特征选择改进算法[J].计算机工程,2012,38(14):135-137.

[11]刘永定,阳爱民,周序生.使用机器学习分类P2P流量的方法 [J].计算机应用研究,2009,26(9): 3468-3471.

[12]Hsu W H.Genetic wrappers for feature selection in decision tree induction and variable ordering in Bayesian network strcucture learning[J].Information Science,2004,163(17):103-122.

[13]Erman J,Mahanti A,Arlitt M,Cohen I,Williamson C.Offline/Realtime traffic classification using semisupervised learning [J].Performance Evaluation,2007,64(9-12):1194-1213.

[14]周丽娟.P2P流媒体识别方法的研究[D].武汉:华中科技大学,2008.

[15]陈贵海,李振华.对等网络:结构、应用与设计[D].北京:清华大学出版社,2007.

[16]梁俊龙,张贵田,秦艳平.基于高阶WENO格式的喷管动态特性仿真分析[J].火箭推进,2015(4):29.

[17]王坤.基于SVPWM的STATCOM设计及实现[J].陕西电力,2011(1):11-15.

Research on P2P network flow problem based on machine learning

DENG Xiao-dun
(Xi'an International University,Xi'an 710077,China)

The emergence of P2P applications and the vigorous development of Internet traffic has undergone significant changes in the composition of,P2P traffic has leapt to become the first Internet traffic,which network management to bring many problems,put forward higher requirement for traffic monitoring.At the same time,in order to avoid detection,P2P applications are moving towards the port dynamic,the direction of the load encryption rapid development.Traditional traffic identification technology has been difficult to effectively identify the P2P traffic,and the P2P traffic identification technology based on machine learning does not rely on the port and load information,so it has become a hot research topic in recent years.This paper is supported by the National 863 project"high credibility network business control system,based on machine learning to identify P2P traffic problems,using the method of literature review,through the study of domestic and foreign research results on P2P network traffic identification,summed up the traffic identification method,and analyze the future development trend of the P2P network has very important theoretical significance.

P2P network;traffic identification;identification method;future trend

TN711

:A

:1674-6236(2017)08-0109-06

2016-01-18稿件编号:201601138

2015-2016年度高水平民办大学建设研究项目(15GJ044);2016年度西安市社会科学规划基金项目(16IN13)

邓小盾(1979—),女,陕西泾阳人,硕士,讲师。研究方向:计算机网络,人工智能。

猜你喜欢
服务器流量分类
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
分类算一算
寻找书业新流量
通信控制服务器(CCS)维护终端的设计与实现
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
中国服务器市场份额出炉
得形忘意的服务器标准