(Department of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan Hubei 430074, China)
Abstract:Based on the urgent requirements to control P2P communication, this paper gives the design and implementation of a DPI-based P2P traffic control system. This paper first describes some technologies to identify P2P communication and analyses the P2P integrated control model. Then recombination the actual situation, a DPI-based traffic control model and its simple implementation is present. Finally we carry on the performance analysis and appraisal to this model. The experiments prove its efficiency to control P2P traffic.
Keywords:P2P;DPI;Traffic identification;Traffic control
1 引言
P2P(Peer-to-Peer)以其独特的技术优势在近几年内迅速发展,涌现出了大量的应用软件,如BitTorrent、eDonkey、FastTrack、Skype、Kugoo(酷狗)、ezPeer(易载)、迅雷、QQ等。P2P是一种用于文件交换的新技术,它允许终端用户利用Internet架构一个动态、匿名、分布式网络相互传递信息,颠覆了传统的C/S信息服务模式,允许终端用户相互直接搜索和共享信息资源。据统计,P2P业务已占据了互联网业务总量的60%~80%,成为网络带宽较大的消费者。P2P业务不断增加,造成了网络资源的巨大消耗,甚至引起网络拥塞,对其它正常网络业务,如Web、FTP、Email等的性能造成极大的影响;对企业用户来说,P2P业务不仅会造成IT资源的巨大浪费,并且可能为企业安全防护打开一扇后门,使得病毒和恶意代码得以躲过安全审查潜入企业内部网络。因此,实现分类、标识和控制P2P流量越来越成为企业、网络运营商急需解决的问题。
2 P2P流量控制系统的结构
2.1 关键技术
要控制P2P通信,就必须对P2P通信进行有效的识别。然而,许多P2P协议不使用固定的端口,而是动态地使用端口,包括使用一些知名服务的端口。比如,KaZaA就可以使用端口80来通信,从而穿透传统的基于IP和端口的防火墙和包过滤器。所以,传统的基于IP和端口的分类技术(分析IP包头、IP地址、端口号等)很难识别、跟踪或控制这类通信。
目前有几种可用于控制P2P通信的方法。这几种方法在控制P2P通信上都有一定的效果,但都有缺陷。下面对这几种方法作简单的描述:
(1)传统的封杀IP和端口。对于BT,可以封杀一些比较活跃的BT论坛和tracker服务器的IP;封杀所有端口,只开放一些必须的端口。这种方法可以在一定程度上阻断某些P2P通信,但如上所述,这种方法存在很多缺陷。
(2)URL过滤。如,对于BT,可以禁止扩展名为.torrent的文件的下载。这种方法显然也有很大的局限性,因为torrent文件完全可以通过别的方式(如ftp)获得,也可以换一个扩展名[1]。
(3)基于流量特征的检测技术[2]。P2P应用作为一种充分利用客户端资源的新型应用,它在传输层表现出来的流量特征相对于其它应用,如HTTP、FTP、DNS等,有许多不同的地方。基于流量特征的检测技术即是通过检测这些新的流量特征来发现P2P应用。
其优点有:①由于P2P应用具有普遍适用的流量特征,新的P2P应用也符合这一特征,所以这种技术有发现新的P2P应用的能力;②有检测加密P2P应用的能力。
其缺点有:①由于传输层流量特征一般不能明确指示应用层协议类型,所以这种方法对P2P应用分类的能力较弱,而应用分类对于QoS的实施是非常重要的;②由于不对称路由和丢包、重传现象的存在,导致无法精确确定流量特征,从而有可能P2P流量检测的精确度造成影响;③很多流量特征都不是P2P流量唯一的,其它应用也有可能表现出这种流量特征,需要结合其它一些技术如端口检测来排除其它应用。
(4)深度包检测技术(DPI:Deep Packet Inspection)。深层数据包检测技术通过对数据包应用层协议的检测发现P2P应用。这种技术使用一个payload特征库存储payload特征信息,符合payload特征的数据包即视为P2P数据包。对于BT,如果IP包的数据区包含BT协议的特征串“BitTorrent protocol”,那么就禁止该数据包通过,这样,BT对等连接的握手无法建立,下载也无法继续。这种检测方法易于理解、升级方便、维护简单,是目前运用较普遍的方法。
其缺点是:①对新P2P应用的检测具有滞后性,即在未升级特征库前无法检测新的P2P应用,必须找到新应用的payload特征后才能对该应用实施有效检测;②对加密P2P应用的检测能力非常有限;③算法性能与payload特征的复杂度有关,payload特征越复杂,则检测代价越高,算法性能越差。
此外,Subhabrata Sen等人于2004年初提出基于应用签名的P2P流量检测方法,实际上是深度数据包检测方法的一种,该方法在性能和精度上都取得了令人满意的效果[3]。James Won - Ki Hong等人于2003年提出一种基于传输层特征的P2P流量检测方法,但没有给出性能参数[4]。国内王逸欣、王锐等人提出了一种把深度包检测技术和基于流量特征的检测技术相结合的技术[5]。
2.2 总体设计
2.2.1 P2P流量综合控制模型
由于P2P应用协议类型、实现机理的多样性,为了彻底监管和控制P2P流,需采取综合性解决方案。文献[6] 提出了一种流量综合控制模型. 该模型主要由三大功能模块组成,包括P2P识别模块、管理模块以及执行模块,每个模块又包含若干部件。
识别模块:主要负责P2P流量识别功能,分别从不同的角度识别P2P流量,包括:报头识别、流状态识别、数字签名识别、DPI识别。该模块接收来自管理模块的策略信息,可以选择和调整识别手段。
管理模块:主要负责与网络管理者的交互。管理模块应当提供良好的人机交互界面,以帮助网络管理者更好地了解和管理网络资源;同时,根据管理策略调整相应的P2P流量识别方式以及P2P流量控制方式。
执行模块:负责P2P流量控制策略的执行,同时负责收集流量使用信息,缓存该信息并上报到管理模块。
该综合模型给出了P2P流量控制系统的整体架构,但实现起来过于复杂。因此,文献[6] 又结合企业级P2P流量控制需求和运营商级P2P流量控制需求,对该综合模型做了必要的修改,提出了两套简化的模型。同样,我们也根据实际情况,对该模型做了修改,提出了一套可用于中小企业的简化模型。
2.2.2 简化模型的设计要求
我们对简化模型提出了以下主要设计要求:
(1)P2P通信的识别是一个非常耗时的过程,有必要在无需此功能的时候关闭该模块。因此,我们用开关方式实现了P2P通信处理模块。
(2)P2P通信的识别是一个非常复杂的过程,特别是对一些未公开的P2P协议更是如此。因此我们不要求识别率达到100%,只需达到一个允许的范围即可,我们的设计目标是达到95%以上。
(3)可以按照时间段来设置封禁和流量控制两种处理方式。比如可以设置在工作时间封禁P2P通信,在非工作时间对P2P通信进行流量控制。
(4)对其它非P2P通信的影响尽量小。我们的设计要求是尽量减少对正常通信吞吐量的影响。
2.2.3 简化模型
下面对简化模型做一个简单描述。该系统是我们防火墙系统的一个子系统,因此其中有部分与防火墙有关的模块。
该模型主要由三大功能模块组成,包括防火墙模块、管理模块和P2P通信处理模块,每个模块又由若干部件组成。
防火墙模块:该模块是整个我们防火墙系统的主体模块,主要负责报头处理、连接跟踪处理等。主要包括两个模块:
* 规则匹配模块:主要负责防火墙规则的匹配,并对匹配的报文按规则进行处理。可进行IP地址匹配、端口匹配、时间匹配等。
* 连接跟踪模块:当报文匹配规则后建立连接跟踪信息,该连接跟踪信息可供后面的P2P通信处理模块使用。
管理模块:与综合模型中的管理模块功能类似,主要负责与网络管理者的交互,去掉了计费模块。
P2P通信处理模块:主要负责识别P2P通信,再根据识别结果对P2P通信执行相应的控制策略。主要包括三个模块:
* 连接跟踪检查模块:主要负责查找报文在连接跟踪表中是否有对应的连接跟踪信息,然后再根据P2P识别模块识别的结果对连接跟踪相应的域进行设置。经上述处理后,当后续报文到达时,就无需再次进行DPI识别,只需按照连接跟踪进行处理即可。按这种方法,可以极大地提高P2P通信处理的效率。
* 识别模块:与综合模型中的识别模块功能类似,但只进行DPI识别。
* 执行模块:与综合模型中的执行模块功能类似,但不包括内容缓存器。
3 性能测试
按照上述简化模型,我们给出了一个可用于中小企业的实现。该实现基于Linux 2.4.18内核,基本上实现了上述设计目标,可以对BT和eMule进行控制。下面我们对该系统进行了测试,测试环境如下:
Linux 2.4.18-3 内核;BitComet 0.71;
CPU Celeron 1GHz;内存128M;100M以太网接口;NuStreams-600测试仪。
(1)BT封禁测试
在bt.5qzone.net同时下载五个种子数超过100的文件,P2P控制策略选择封禁。试验证明,我们的P2P流控系统可以阻断P2P客户端得到种子后对服务器的连接,同时也可以阻断P2P客户端之间的相互连接,使得P2P通信流量始终为0。
(2)BT流量整形测试
与(1)类似,只是P2P控制策略选择流量整形。每5s对下载速率采样一次,共采样100次。测试结果如表1:
表1 BT速率测试
限制速率(KB/s)
低于限制速率采样数
高于限制速率采样数
高于限制速率采样数/100
从上述测试结果可以看出,我们的流量整形器还是可以有效的控制P2P流量的,但识别模块的识别率还未达到100%,存在无法识别的情况。
(2)非P2P通信在关闭和开启P2P流控系统时吞吐率测试
可以看出,在开启P2P流控系统后系统的吞吐率略有降低,这也表明了我们的P2P流控系统对整个系统性能的影响还是比较小的。
4 结束语
P2P流量控制是一个不断发展的过程,传统的基于IP地址和端口的方法已不再有效。为了有效地控制P2P流量,不断有人提出各种方法。这些方法针对P2P通信不同方面的特点来进行控制,都有一定的效果,但都存在很多不足。目前,DPI技术是控制P2P流量比较主流的技术,本文也正是采用此技术。随着P2P技术的不断发展,相信不久的将来,一定会出现更好的控制技术。
参考文献
[1]柳斌,李之棠.基于访问控制列表的 BitTorrent流量控制策略.计算机应用与软件 2006第5期
[2]Thomas Karagiannis,“Transport layer identification of p2p traffic”,Internet Measurement Conference (IMC),Taormina,Sicily,Italy,October 25-27,2004
[3]Subhabrata Sen,Oliver Spatscheck,Dongmei Wang,“Accurate,Scalable In-Network Identification of P2P Traffic Using Application Signatures”,International World Wide Web Conference 2004
[4]Se-Hee Han,James Won-Ki Hong,“The Architecture of NG-MON:A Passive Network Monitoring System for High-Speed IP Networks”,Lecture Notes In Computer Science;Vol. 2506,2002
[5]王逸欣,王锐等.P2P流量检测技术初探.计算机与数字工程 2006第6期
[6]李江涛,姜永玲.P2P流量识别与管理技术.电信科学 2005第3期
带你了解上网行为管理系统的重要性
在这个数字时代,我们就像在浩瀚的数据海洋中出航。每一次点击和访问全是我们在网络世界中的航行轨迹。可是,你是否慢下脚步思索,在这看似平静的网络海面上,是否隐藏着未知的风险和暗流?在此背景下,上网行为管理系统的必要性越来越突出。它就像一座灯塔,引导我们在数据海洋中安全出航。一、维护个人信息安全的第一道防线上网行为管理系统是...
企业必备:终端安全准入系统的核心价值
近期,从大型海外公司到初创公司,全球数据泄漏的产生率较高。这些事件不但造成了巨大的财产损失,并且严重损害了企业的声誉和客户信任。在此背景下,终端安全准入系统是企业信息安全系统的重要组成部分,其核心理念日益显著。本文将深入分析终端安全准入系统的必要性,并探讨如何变成企业信息安全的坚实屏障。一、避免外界攻击,创建第一道防线...
安企神远程控制软件使用指南大揭秘
如今,随着数字办公的日益普及,远程控制软件已经成为企业高效管理和团队合作的重要工具。在诸多远程控制软件中,安企神因其强大的功能和多元化的使用场景受到广大企业的青睐。今天,我们将揭示安企神远程控制软件的操作指南,让您轻松掌握高效远程访问的秘诀。一、下载安装,轻松上手首先,你需要在需要控制的计算机(被控制端)和用于控制的计...
保护企业机密,禁用USB的五大安全理由
在数字时代,数据已成为企业最宝贵的资产。可是,你了解一个小的USB插孔可能是数据泄露的“元凶”吗?据权威统计,70%以上数据泄露事件与USB设备的操作失误相关。更令人震惊的是,USB设备每年导致的安全事故给公司带来了数十亿美元的直接经济损失。在这些数据的身后,有一个遗憾的故事,这也给我们敲响了警钟——禁用USB变成维护...
解锁移动硬盘安全:必备加密工具全分析
随着信息时代的来临,数据的安全存储和传输已经成为我们日常生活中不可或缺的一部分。移动硬盘作为数据存储的重要载体,其安全性自然成为我们关注的焦点。如何确保移动硬盘中的数据不被非法访问、泄露或篡改?本文将详细介绍几种必备的加密工具。一、BitLocker:Windows内置加密利器对于Windows用户来说,Bitlock...