版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南大学 毕 业 论文 计算机应用专业 校园网问题解决方案 系部名称:xxxxxxxx 专 业:计算机应用 作者姓名:xxx 学 号: xxxxxxxxx 指导教师:xxx 教授 xxx 教授 2010 年年 6 月月 1 日日 摘摘 要要 随着网络技术的发展和人们对网络的需求,一项技术(P2P)重新走回人们的视 线,很快成为最热门的网络应用之一。有关调查表明,P2P 业务己悄然占据了互联 网业务总量的 60%一 80%,成为杀手级宽带互联网应用。P2P 业务流量在对 Intemet 起巨大推动作用的同时,也带来了因资源过度占用而引起的网络拥塞以及安全隐患 等问题,妨碍了正常的网络业务的开展。
2、P2P 技术占据着网络带宽的绝大部分,如 何控制 P2P 流量,是我们在享受 P2P 带来的便利的同时必须要考虑的一个问题。因 此,实现 P2P 流量的有效识别和控制已经成为急需解决的问题。 论文正是在这种背景下,针对 P2P 流量特点展开的研究工作。论文主要包含了 以下内容: 1、对 P2P 技术进行了研究。分别对 P2P 技术定义、P2P 技术的四种网络拓 扑模型、P2P 技术特点、P2P 关键技术、P2P 相关协议及应用进行了分析研究。 2、详细分析了 P2P 流识别中存在的问题,着重研究和比较了当前存在的几 种 P2P 流识别方案的工作原理,以及其在 P2P 流识别过程中的特点和存在的
3、问题同 时介绍了几种流量控制技术和管理策略。 3、针对现有 P2P 流量检测方案存在的不足,提出了一种改进后的综合检测 方 案,在新的方案中采用流量特性检测和深度包检测等综合识别的检测方式。该方 案克服了当前的几种 P2P 流识别方案的缺点,有效地提高了 P2P 流的识别率。 4、在论文提出的方案基础上设计了一个 P2P 流量识别与管理系统,该系统 可 以实施有效的识别及控制。 关键词:对等网络、P2P 流量识别、深度包检测、P2P 流量控制 Abstract With the development of network technology and peoples demand for t
4、he network, a technology (P2P) back to those days peoples attention, and soon became one of the most popular network applications. The investigation showed that, P2P has been quietly operating the Internet business accounted for 60% of a total 80%, a killer of broadband Internet applications. P2P tr
5、affic is in the Intemet an enormous role in promoting the same time, it also brings a lack of resources caused by over-occupied by network congestion and security risks and other issues hindered the normal networks operations. P2P technology holds the vast majority of network bandwidth, how to contr
6、ol the P2P traffic, is that we enjoy the convenience brought by P2P at the same time must be considered a problem. Therefore, the effective realization of P2P traffic identification and control has become an urgent problem. It is against this background paper, for the characteristics of P2P traffic
7、carried out research work. Paper mainly contains the following: 1, for P2P technology is studied. Respectively, P2P technical definition, P2P technology, four kinds of network topology model, P2P technical characteristics, P2P key technologies, P2P-related protocols and applications are analyzed. 2,
8、 a detailed analysis of the P2P flow problems in identifying, focusing on study and compare the current existence of several P2P stream recognition programs works, as well as its recognition in the process of P2P flow characteristics and problems of flow control is also introduced several technology
9、 and management strategies. 3, flow testing programs for existing P2P shortcomings, presents an improved side after the Comprehensive Test Case, in the new program features the use of traffic detection and integrated deep packet inspection and other testing methods identified. The program to overcom
10、e the current flow of several P2P identify options, effectively improved the recognition rate of the P2P flow. 4, the paper presents a program designed based on a P2P traffic identification and management system, the system can be To implement an effective identification and control. Key words: righ
11、t-peer networks, p2p traffic identification, deep packet inspection, p2p traffic control 目录目录 摘 要 .I ABSTRACT.II 目录.III 1、引言.1 2、P2P 技术综述.3 21 P2P 技术介绍.3 2.2 P2P 网络的特点.3 2.2.1 分散化 .3 2.2.2 可扩展性 .4 2.2.3 健壮性 .4 2.2.4 隐私性 .5 2.2.5 负载均衡 .5 2.3 P2P 网络结构.5 2.3.1 集中式 P2P 网络.5 2.3.2 全分布非结构化 P2P 网络.6 2.3.3
12、全分布结构化 P2P 网络.7 2.3.4 混合式 P2P 网络.7 2.4 P2P 的关键技术.8 2.5 P2P 的协议及应用.9 2.6 P2P 网络的性能问题.10 3、 P2P 流识别技术.10 3.1.1 流量特征及危害 .10 3.1.2 P2P 流量识别纯在的问题.11 3.2 P2P 流量的识别.12 3.2.1 基于端口的识别 .12 3.2.2 基于深度数据包检测 .12 3.2.3 基于传输层信息进行检测 .16 3.3 P2P 流量识别的对比分析.17 3.4 P2P 流识别算法.19 3.5 P2P 流量控制技术.21 3.5.1 直路串接控制技术 .21 3.5.
13、2 旁路干扰控制技术 .22 3.6 P2P 流量管理策略.22 4.P2P 流量分析与控制系统.23 4.1.1 P2P 流量分析与控制系统的体系结构.23 4.1.2 管理中心的主要功能 .25 4.1.3 P2P 流量分析仪的主要功能.26 4.2 P2P 流量是别的关键技术及算法.28 4.3 P2P 流量分析系统的使用.32 5.后记.34 致谢.35 参考文献.36 1、引言、引言 从网络模型来看,P2P 并不是新概念,它可以说是互联网整体架构的基础。互 联网最基本的协议 TCP/IP 并没有客户机和服务器的概念,所有的设备都是通讯的 平等的一端。在十几年前,互联网上所有的系统都同
14、时具有服务器和客户机的功能。 然而,由于受早期计算机性能、资源等因素的限制,当互联网规模迅速扩大时,大 多数连接到互联网上的普通用户并没有能力提供网络服务,从而逐步形成了以少数 服务器为中心的客户机/服务器架构。在客户机/服务器架构下,网络对客户机的资 源要求非常少,因而可以使用户以非常低廉的成本方便地连接上互联网,推动了互 联网的快速普及。WWW 的风靡,正是这一应用潮流的体现。但是,随着互联网对人 们生活的联系日益紧密和深入,人们需要更直接、更广泛的信息交流。普通用户希 望能够更全面地参与到互联网的信息交互中,而计算机和网络性能的提升也使其具 有了现实的可能性。 在此背景下,P2P 再一次
15、受到了广泛的关注,随着网络的发展,新一代网络技术 P2P 得到了广泛应用。它最直接的功能就是让用户可以直接连接到网络上的其他计 算机,进行文件共享与交换。由于它是对等的网络结构,每个节点既是服务器又是 客户端,所以应用广泛,不易控制,同时占用了大量的网络带宽,加重了网络的负 担。据统计,P2P 应用己占 ISP 业务总量的 60%80%,成为网络带宽最大的消费 者1。为了保证网络能正常有序的运行,有必要对 P2P 流量进行识别控制。但随着 加密数据和动态端口的出现,P2P 流量识别技术也面临挑战。国外 P2P 流量检测方 面的研究工作和产品化工作都做的非常好,特别是深度数据包检测技术己经发展的
16、 非常成熟。 SubhabrataSen 等人在 2004 年初的时候提出基于应用层签名的 P2P 流量识别方法。应用层签名技术实际上是深度数据包检测技术的一种,这种方法把 P2P 载荷特征分为固定偏移量 (fixedoffset)特征和变化偏移量 (variableoffset)特征,第一步进行固定偏移量的匹配,第二步检查变化偏移量, 在性能和精度上都取得了较好的效果。T.Karagialmis 和 A.W.More 对 P2P 流量 行为进行分析,得出一些规律,使用这些规律识别 P2P 流量。然而新一代的 P2P 应 用可以使用任意的端口号来避开固定端口阻塞,而且越来越多的 P2P 应用开
17、始加密 它们的流量来穿越应用层签名匹配。所以 P2P 流量识别变得越来越难。韩国的 JamesWon 一 KiHong 等人在 2003 年提出一种基于传输层特征的 P2P 流量检测方 法,该方法先通过离线统计的方式找到各种 P2P 应用的常用端口,然后根据这些常 用的端口信息进行流量的分类。使用该方法针对韩国当时流行的 P2P 软件进行了测 试,但是没有给出性能参数。国外网络设备生产商和网络服务提供商相继推出了针 对 P2P 流量识别与监管的产品或技术。P2P 流量检测设备包括网络缓存设备、应用 层流量管理设备、流统计状态路由器和智能防火墙等。主要厂商及产品包括 Cisco 公司的 NctF
18、low 技术、Allot 的故障恢复流量管理方案、eacheLogie 公司的 eaeheLogieP2p 管理方案、等系列产品等。国内对于 P2P 流量识别技术的研究工 作较少,不仅缺乏高质量学术论文,也缺乏高效的 P2P 多媒体内容识别与过滤产品。 从产品角度来看,国内部分网络设备生产商虽然推出了 P2P 流量监控的相关产品, 如华为的 SecPath1SOOF 防火墙、Eudemon500、1000 防火墙和 CAPTECH 的 网络管理软件网络慧 CAP,但由于这些产品在性能、开销等方面存在很多问题。 因此,开展高效、准确的 P2P 流量(尤其是多媒体内容)实时识别与过滤的相关技术 研
19、究,有利于合理利用互联网基础设施、P2P 技术和合理部署 P2P 应用,有利于制 止 P2P 严重占用网络带宽的现象,也有助于维护中国互联网的健康环境和营造一个 和谐的网络社会。 2、P2P 技术综述技术综述 2 21 1 P2PP2P 技术介绍技术介绍 P2P 能够迅速流行的原因是:可以将用户单个的资源组织起来,形成一个巨 大的共享资源池。P2P 在 20 世纪 70 年代就已出现,其典型代表是 Usenet 和 FidoNet 这两个分散、分布的信息交换系统,而真正的 P2P 技术的大规模应用起源于文件交 换软件 NaPster3。根据已有的统计报告显示 P2P 系统用户还在继续增长,这些
20、统计 报告中显示,被 P2P 文件共享程序使用的带宽已经超过了 WWW 应用。P2P 的应用 领域很多,比如分布式计算、文件共享、分布式存储、通信(VoIP)和实时多媒体流 等等。P2P 是一种分布式网络,它不同于传统的客户机/服务器模式,没有中央设备 来完全控制、组织、管理和保持整个系统,取而代之将功能都分散到了每个网络的 参与者,网络的参与者共享它们所拥有的一部分硬件资源(处理能力、存储能力、网 络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其他对等 节点 (Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内 容)提供者(Server),又是资源
21、(服务和内容)获取者(Client),因此每个节点的地位都是 相同的。由于 P2P 技术的飞速发展,互联网的存储模式将由现在的“内容位于中心” 模式转变为“内容位于边缘”模式,改变 hitemet 现在的以太网站为中心的状态,重 返“非中心化” ,将权力交还给用户。采用 P2P 技术实现分布式应用有很多的好处: 1、通过节点的资源聚合,减少对中心服务器的依赖性,提高系统的扩展能力;2、使 用已经部署的底层通信资源,降低系统的部署费用; 3、在端系统中部署 P2P 应用程 序,提高系统的部署能力。 2.22.2 P2PP2P 网络的特点网络的特点 与其他网络模型相比,它有以下技术特点: 2.2.
22、12.2.1 分散化分散化 网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节 点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。即使是在混 合 P2P 中,虽然在查找资源、定位服务或安全检验等环节需要集中式服务器的参与, 但主要的信息交换最终仍然在节点中间直接完成。这样就大大降低了对集中式服务 器的资源和性能要求。分散化是 P2P 的基本特点,由此带来了其在可扩展性、健壮 性等方面的优势。 .2 可扩展性可扩展性 在传统的 C/S 架构中,系统能够容纳的用户数量和提供服务的能力主要受服务 器的资源限制。为支持互联网上的大量用户,需要在服务器端使用
23、大量高性能的计 算机,铺设高带宽的网络。为此,机群、cluster 等技术纷纷上阵。在此结构下,集 中式服务器之间的同步、协同等处理产生了大量的开销,限制了系统规模的扩展。 而在 P2P 网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服 务能力也在同步地扩充,始终能较容易地满足用户的需要。即使在诸如 Napster 等集 中型架构中,由于大部分处理直接在节点之间进行,大大减少了对服务器的依赖, 因而能够方便地扩展到数百万个以上的用户。而对于纯 P2P 来说,整个体系是全分 布的,不存在瓶颈。理论上,其可扩展性几乎可以认为是无限的。 .3 健壮性健壮性 在互联网上
24、随时可能出现异常情况,网络中断、网络拥塞、节点失效等各种异 常事件都会给系统的稳定性和服务持续性带来影响。在传统的集中式服务模式中, 集中式服务器成为整个系统的要害所在,一旦发生异常,就会影响到所有用户的使 用。而 P2P 架构则天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之 间进行的,部分节点或网络遭到破坏对其它部分的影响很小。而且 P2P 模型一般在 部分节点失效时能够自动调整整体拓扑,保持其它节点的连通性。事实上,P2P 网 络通常都是以自组织的方式建立起来的,并允许节点自由地加入和离开。一些 P2P 模型还能够根据网络带宽、节点数、负载等变化不断地做自适应式的调整。 2.2.
25、42.2.4 隐私性隐私性 随着互联网的普及和计算/存储能力飞速增长,收集隐私信息正在变得越来越容 易。隐私的保护作为网络安全性的一个方面越来越被大家所关注。目前的 Internet 通 用协议不支持隐藏通信端地址的功能。攻击者可以监控用户的流量特征,获得 IP 地 址,甚至可以使用一些跟踪软件直接从 lP 地址追踪到个人用户。在 P2P 网络中,由 于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被 窃听和泄漏的可能性大大缩小。此外,目前解决 Internet 隐私问题主要采用中继转发 的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的一些匿名 通信系统中
26、,实现这一机制依赖于某些中继服务器节点。而在 P2P 中,所有参与者 都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和可靠性,能够为 用户提供更好的隐私保护。 .5 负载均衡负载均衡 P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统 C/S 结构 服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好地实现了 整个网络的负载均衡。 2.32.3 P2PP2P 网络结构网络结构 P2P 网络属于叠加在底层通信网络基础设施之上的重叠网络,是一个分布式、 具有互操作性的自组织系统。P2P 面临的最大挑战之一是如何在没有中心服务器的 模式下维护网络拓
27、扑结构,以及实现内容搜索。因此,根据网络拓扑组织形式可以 将 P2P 网络分为四种类型:集中式 P2P 网络,全分布非结构化 P2P 网络,全分布结构 化 P2P 网络(也称作 DHT 网络)和混合式 P2P 网络。 .1 集中式集中式 P2PP2P 网络网络 以 Napster 为代表的第一代 P2P 系统采用集中式网络架构,要求各对等端(Peer) 都登录到中心服务器上,通过中心服务器保存并维护所有对等端的共享文件目录信 息,NaPster3的系统结构如图 2-1 所示。 端点 1 端点 4 端点 3端点 2 引索服务 查询流 下载流 图 2-1 集中式网络拓扑框架 当某个
28、用户需要某个文件时,首先连接到 Napster 服务器,在服务器进行检索, 并由服务器返回存有该文件的用户信息;再由请求者直接连到文件的所有者传输文 件。Napster 首先实现了文件查询与文件传输的分离,有效的节省了中央服务器的带 宽消耗,减少了系统的文件传输延时。这种方式最大的隐患在中央服务器上,如果 该服务器失效,整个系统都会瘫痪。 .2 全分布非结构化全分布非结构化 P2PP2P 网络网络 完全分布式非结构化拓扑的 P2P 网络采用了随机图的组织方式来形成一个松散 的网络。这种结构对网络的动态变化有较好的容错能力,因此具有较好的可用性。 同时,这种结构支持复杂查询,比如
29、带有规则表达式的多关键字查询、模糊查询等。 完全分布式非结构化拓扑的 P2P 网络的典型代表是 Gnutella。Gnutella 是一个 P2P 文 件共享系统,它和 Napster 的最大区别是 Gnutella 没有中心服务器,它采用了基于完 全随机图的洪泛(Flooding)发现和随机转发(RandomWalker)机制。为了控制搜索消息 的传输,Gnutella 采用类似 IP 数据包中 TTL(TimeTOLive)的机制来决定是否继续转 发消息。Gnutella 的查询流程如图 2-2 所示。 非结构化分布式 P2P 网络存在以下缺点:查询小时占用大量带宽,花费时间长;网 络的规
30、模扩展性差,随着网络规模的扩大,查询小时的数量急剧增加。因此准确性 和可扩展性是非结构化网络面临的两个重要问题。 端点 1 端点 4 端点 3端点 2 端点 5 查询流 下载流 图 2-2 Gnutlla 查询流程 .3 全分布结构化全分布结构化 P2PP2P 网络网络 结构化指的是 P2P 网络叠加层的拓扑结构是严格控制的,资源并不是随机分散 存储在节点上,而是以一种查询更加高效的方式来存储的。网络中的共享内容用关 键字(Key)来表示。通常使用分布式哈希表 (DistributedHashTablenHT),如 sHA 1 等,为节点和关键字各分配 m 位的标识符,从而将存
31、储数据的位置信息相应的部署 在确定的节点上。节点标识符 (NodeID)可以通过哈希节点的 IP 地址产生,而关键 字标识符可以通过哈希文件名或者文件内容来产生。标识符的位数 m 必须足够大, 才能保证两个节点或者关键字被哈希到同一个标识符上的概率可以忽略不计。通常 由 NodeID 与关键标志符数值最为接近的节点保存数据的存储位置信息。每个节点 维护一个很小的路由表,只存储邻居节点的 NodeID 和 lP 地址。查询消息被节点步 进式的转发给 NodeID 与关键字标志符接近的节点。为了在有限逻辑跳内查找定位 资源,节点之间连接都是参考特定网络拓扑结构,典型结构化 P2P 网络代表 Tap
32、estry、chord。 .4 混合式混合式 P2PP2P 网络网络 混合式 P2P 网络吸取了中心化结构和全分布式拓扑的优点,选择性能较高(处 理,存储,带宽等方面性能)的节点作为超级节点 (superNode),在各个超级节点上 存储了系统中其他部分节点的信息,发现算法仅在超级节点之间转发,超级节点再 将查询请求转发给适当的叶子节点。混合式 P2P 网络构成了一个层次式结构,超级 节点之间构成一个高速转发层,可采用 DHT 方式组织,超级节点和所负责的普通节 点构成若干层次。混合式 P2P 网络结合了集中式拓扑的易管理性与分布式拓扑的可 扩展性,在异构的 P2P 网络环境下
33、是一种较好的模式选择。通常的混合式 P2P 系统 数据流图如图 2-3 所示。 端点 1端点 4 端点 3 端点 2 超级节点 5 查询流 下载流 超级节点 6 图 2-3 混合式 P2P 查询流程 2.42.4 P2PP2P 的关键技术的关键技术 P2P7的关键技术总体可以分为资源管理查找和对等端 Peer 到对等端 Peer 的直 接 传送。资源管理查找涉及到资源标识(文件名、UID、Userhostresouree)、节点定位 (服务器模式、路由模式、洪泛模式)和 Ad 一 hoc 等。这些技术都和其网络结构、协 议有密切的关系。P2P 的典型特征是无中心,在最初的 P2P 刚刚出现时是
34、集中目录 式结构,理论上不是纯粹的 P2P 的网络结构。随着其技术的不断发展在第二代 P2P 出现了完全没有中央控制节点的网络结构。但是由于前两种网络结构分别存在着自 己的一些缺陷,所以目前的 P2P 是两层甚至三层的结构,它结合了前两种网络结构 的优点,分为普通节点(oN)和超级节点(sN),每个超级节点 sN 连接数个普通节点 ON,而 SN 之间有可以相互连接,这样搜索响应/排队时间较短,同时某一节点出了 问题不至于网络受到很大的影响。P2P 的协议众多,每一种协议对应的客户端以及 其路由算法也不相同。P2P 一般包括如下三种节点方式: 1、集中方式索引 每一个节点将自身能够提供共享的内
35、容注册到一个或几个集中式的目录服务器 中。查找资源时首先通过服务器定位,然后两个节点之间再直接通讯。例如早期的 Napster,这类网络实现简单,但往往需要大的目录服务器的支持,并且系统的健壮 性不好。 2、广播方式 没有任何索引信息,内容提交与内容查找都通过相邻接节点直接广播传递,例 如 Gnutella。一般情况下,采取这种方式的 P2P 网络对参与节点的带宽要求比较高。 3、动态哈希表的方式 动态哈希表 (DistributedHashTable,nHT)是大多数 P2P 网络所采取的资源定位 方式。首先将网络中的每一个节点分配虚拟地址(VID),同时用一个关键字(Key)来 表示其可提
36、供的共享内容。取一个哈希函数,这个函数可以将 KEY 转换成一个哈希 值 H(key)。网络中节点相邻的定义是哈希值相邻。发布信息的时候就把(Key、VID) 二元组发布到具有和 H(Key)相近地址的节点上去,其中 VID 指出了文档的存储位置。 资源定位的时候,就可以快速根据 H(Key)到相近的节点上获取二元组(Key,VID), 从而获得文档的存储位置。不同的 DHT 算法决定了 P2P 网络的逻辑拓扑,比如 CAN 就是一个 N 维向量空间,而 chord 是一个环形拓扑,Tapestry 则是一个网状的 拓扑。 P2P 的另一个关键技术是对等端 Peer 到对等端 Peer 的直接
37、传送,能够穿越防火 墙和 NAT(NetworkAddresSTranslation)网络,也就是客户端之间直接相连,这种思想 对于 C/S 模型是一种颠覆性的改变。这一特点给互联网用户带来了极大的方便,但 是同时也涉及到了法律版权和资源浪费以及网络安全等问题。 2.52.5 P2PP2P 的协议及应用的协议及应用 P2P 的应用主要是在文件共享、IM(instant Message)、视频分发等。不同的应用 对应不同的相关协议和软件。下面介绍以下 BT。 BitTorrent8是一个比较新的 P2P 协议,近几年来在亚洲地区发展很快,也是国 内目前最流行,使用人数最多的一种 P2P 网络。B
38、itTorrent 是一种分发文件的协议。 它通过 URL 来识别内容,可以无缝的和 web 进行交互,并且基于 HTTP 协议。其优 势是:如果有多个下载者并发的下载同一个文件,那么,每个下载者也同时为其它下 载者上传文件,这样,文件源可以支持大量的用户进行下载。因为大量的负载被均 衡到整个系统中,所以提供源文件的机器的负载只有少量增长。BitTorrentpeer 协议 通过 TcP 协议进行操作,握手过程中,由一次握手开始,后面跟着不断的大小一致 且确定的消息流。握手的过程首先是发送 19(十进制),然后发送字符串“ BitTorrentprotoeol” ,如图 2.5.1 所示,其中
39、 19 是“ BitTorrentprotocol”的长度。在 协议名称之后是 8 个保留的字节,这些字节在当前所有 BT 版本中都设置为 0,接下 来是对元文件中的 info 信息通过 Shal 计算后得到的 hash 值,20 个字节长。接收消 息的 peer,也会对 info 进行一个 hash 运算,如果这两个结果不一样,那么说明对方 要的文件并不是自己所要提供的,则切断连接。接下来是 20 个字节的 peerid,这是 接收消息的 peer 在向 tracker 提交请求时报告的 peerid,被包含在 tracker 给另一个 peer 请求回复的 Peer 列表中。如果接收方的
40、peerid 与发起连接方握手包中的 peerid 不一致,则切断连接。 x13BitTorrentProtoco l x0 x0 x0 x0 x0 x0 x0 x0Info_hashPeer_id 图 2-4 握手包内容 接下来就是循环的消息流,每个消息的开始都有一个数字,表示消息的长度。 长度为 0 的消息,用于保持连接的活动状态,被忽略。通常每隔 2 分钟发送一个这 样 的消息。其它类型的消息,都含有一个字节长的消息类型,可能的值为“choke , “unchoke, , , “interested, , , “ notinterested, ,等等。 由以上分析可知,因为 BitTor
41、rentpeer 协议握手包的开头字符是固定的(字符串 “ x13BitTorrentprotocol”),所以我们可以据此来识别 BitTorrent 流量。 2.62.6 P2PP2P 网络的性能问题网络的性能问题 P2P 网络的性能问题主要是资源定位和路由机制的性能,基于 DHT 的资源查找 和定位算法虽然在取得了负载均衡,但是它破坏了节点的位置特性,造成了选择覆 盖路由时并没有考虑底层网络的属性,虽然目前有些算法对其也进行了某种程度的 改进,但是如何进行最优化的路由选取的问题仍然未得到解决,我们所需要做的事 情不仅是评价定位和路由算法,还要吸取目前各种机制的优点,提出更好的资源定 位和
42、路由机制。其次存在的问题是 P2P 网络节点之间传送的是短的交互型流量,与 己有流量模型不同,由此导致了拥塞和不同类型流量之间的不公平竞争,传统的 TCP 拥塞控制变得不适用,如何设计适用的拥塞控制算法提到日程。 3、 P2P 流识别技术流识别技术 .1 流量特征及危害流量特征及危害 相对于传统 Internet 业务而言,P2P 流量表现出以下特征1: 1高速传输。P2P 用户抢占了 60%一 80%的网络带宽,仅将剩余带宽留给非 P2P 用户,容易引起校园及 IsP 瓶颈链路的阻塞。 2超大容量。P2P 用户以 1Gbit/S 的速率下载娱乐影音文件,消耗大量带宽。 对于校
43、园和 Isp 商来说,60%以上的校园和 Isp 商带宽被与工作无关的 P2P 应 用消耗了,直接影响了校园的正常工作。对于运营商来说,不得不投入更多 的资金进行网络设备扩容。 3永远在线。P2P 用户不分时段地进行高速下载,增大网络设备的负荷,容 易造成高峰时段的链路拥塞。 4上下流量对称。与传统 Internet 业务不同,P2P 应用上下行流量基本对称, 这对传统非对称、尽量支持下行的网络设备(如 ADSL, cablemodem)造成 综合性能影响,容易产生上行链路拥塞。 5业务点分布广泛。P2P 应用提供端到端的数据传输,使得任何两个普通节 点之间都可能存在大量数据业务,业务的分散性
44、与不确定性极大增加了中 转链路的流量。 6穿透性。P2P 软件可以穿透现有防火墙和安全代理,从内部打开一个企业 网络安全防护的漏洞,使得各类病毒可以轻易进入企业,同时也可能造成 个人或企业私密泄露。 .2 P2PP2P 流量识别纯在的问题流量识别纯在的问题 P2P 网络的快速识别与分类,不仅为运营商系统服务质量(QoS)提供技术支持, 也可以为 P2P 网络上的内容监管,解决很多的安全问题,比如可以识别蠕虫病毒, 扫描和拒绝服务攻击等。流量识别使得可以为不同的应用提供不同的服务质量。 但是,由于 P2P 网络的内在特性,其流量识别存在以下特殊性11: 1不确定性。 。由于 P2
45、P 网络应用的多样性(如文件共享、语言通信、视频通信 等),因此 P2P 网络流量不仅在流量特征上,而且在行为特征上也表现出不 确定性。此外,P2P 网络中节点的动态性,也增加了 P2P 网络流量的不确定 性。这种流量的不确定性,给 P2P 流量识别带来很多困难。 2海量性。P2P 网络不仅应用多种多样,而且规模极大,如文件共享式 P2P 系 统 BitTorrent 同时在线节点一般可高达 100 万以上。P2P 网络流量的海量性, 不仅给流量的实时检测带来严重的性能问题,也为流量的存在带来了挑战。 3加密性。由于 P2P 网络属于应用层,因此为了躲避内容监管,现有 P2P 系 统均对其载荷
46、进行了加密处理。加密特性使得常规的模式识别算法很难直接 应用于 P2P 网络中。因此,必须寻求新的流量检测技术与方法,才能解决 P2P 流量识别的准确性和可靠性问题。 3.23.2 P2PP2P 流量的识别流量的识别 .1 基于端口的识别基于端口的识别 在 P2P 应用兴起的早期,大多数应用使用的都是固定端口,特征端口识别技术 采用固定的服务端口的特点来识别第一代 P2P 系统。现有 P2P 系统所采用的常用服 务端口如表 3-1 所示。在这种情况下,对其流量的识别方式与识别普通应用分组的 方式完全相同:在需要监测的网络中被动收集分组,然后检查分组的运输层首部信息, 如果端口号
47、与某些特定的端口号匹配,则说明该分组即为 P2P 流量分组,可以按照 预设的动作对其进行处理。这种识别方法最大的优点就是简单易行,它不需要进行 复杂的分组处理即可得出结论。但由于许多 P2P 应用为躲避流量审计与过滤,往往 采用了随机端口、信息隐藏等技术,因此端口识别技术存在严重的漏报问题。 表 3-1 常见软件的端口 BitTorrentTcp 68816889 FastTrack4Tcp 1214、1215、1331、1337、1683、4329 NapsterTcp 5555、6666、6677、6688、66996701 FreenetTcp 8081、19114 .2
48、 基于深度数据包检测基于深度数据包检测 与第一代使用固定端口进行数据传输的 P2P 应用不同,当前许多 P2P 应用都能 够通过使用随机端口来掩盖其存在,有些甚至可以使用 HTTP,SMTP 等一些协议使 用的熟知端口,这增加了识别 P2P 流量的难度,简单的通过分析分组首部的端口信 息已经无法识别出这类应用的存在。但是每种应用的分组中都携带有特定的报文信 息,例如,HTTP 协议报文中会出现 GET,PuT,POsT 等报文字样。与之相类似, 在各种 P2P 应用协议中也具有类似的信息。因此,人们提出了通过检查分组内部携 带的负载信息进行分组识别的方法。该类方法是通过协议分析与还原技术,提取
49、 P2P 应用层数据(即 P2P 载荷 payload),通过分析 P2P 载荷所包含的协议特征值 (Signature),来判断是否属于 P2P 应用。因此,这类方法被叫做深层数据包检测技术 (DeeppaeketInspeetion,Dpl)。在深层数据包检测技术中,通过对具体的 P2P 协议及 其对应的 P2P 系统的载荷进行特征提取,建立特征库存储 Payload 特征信息。对于 流经的实时网络流,采用模式匹配算法,判断其中是否包含特征库中的特征串。如 果特征匹配成功,该网络流就是 P2P 数据。 DPI 方法最核心的技术在于字符串匹配算法的选择。高效的字符串匹配算法可 以提高程序的响
50、应性能。可以如下定义字符串匹配问题,假定文本是一个长度为 n 的字符数组 T1,n,而模式字符串也是一个字符数组 P1,m,并且 mn。我们假定 T 所包含的所有字符构成一个有限的字符表 E,|E|表示字符表所包含的字符的个数。 下面介绍几种典型的字符串匹配算法,并对它们进行分析。 1、朴素字符串匹配算法 朴素字符串匹配算法的思想非常直白,它从文本字符串的每一位开始一次判 断是否与模式字符串相同,如果相同那么就找到了模式字符串的一次出现。此 算法最坏的时间复杂度为 O(m,n),m,n 分别为文本字符串与模式字符串的长度, 平均时间复杂度为 O(m,n),所以此算法在模式字符串与文本字符串都是
51、随机选 取的情况下工作的相当不错,而且此算法没有其他算法所必须的预处理时间。 2、Krap-Rabin 算法 Krap-Rabin 算法是由 Krap 和 Rabin 提出的一种在实际中有比较好应用的字 符串匹配算法,此算法的预处理时间为 O(m),但它在最坏情况下的时间复 杂度为 O(2n-m+l)m),平均复杂度接近 O(m+n),此算法的主要思想就是通 过对字符串进行哈希运算,使得算法可以更容易的排除大量不相同的字符串。 假设模式字符串长度为 m,利用 Homer 法则 P=Pm+10(Pm-1+ 10(Pm-2+ 、 、 、 、+10(P2+ 10(P1)、 、 、 、) 求出模式字符
52、串的哈希值 p。对于文本字符串来说,对应于每个长度为 m 的 子串的哈希值为 ts+1=10(ts-10(m-1)ts+1+ts+m+1 然后比较此哈希值与模式字符串的哈希值是否相等,若不相同,则字符串一 定不同,若相同,则需要进一步的按位比较,所以它的最坏情况下的时间复 杂度为 O(m)。 3、字符串匹配自动机 与字符串相关的自动机是一个五元组(Q,q,A,E,%),其中 Q 是状态的 有限集合,qQ 是开始状态,AQ 的映射,称为转移函数。通过模式字符串,我们可以构造出识别 此字符串的自动机,此自动机对应于字符表中的任何一个输入在某个状态下都 有一个转移到另一个状态(包括它自身),当进行到
53、接受状态时就找到了模式字符 串在目标字符串中的一次出现,由于自动机需要对于任何一个字符集中出现的 字符都给出相应的转移,也就意味着构造自动机的时间复杂度与E有关,而事 实上,构造自动机的时间复杂度为 O(m3|E|),但当此自动机构造完成后,搜索 目标字符串的时间为 O(n)。 4、KMP 算法 KMP 算法的出现归功于灿 uth,MorriS 和 Pratt 的伟大工作,此算法采用 类似上面所提到的字符串自动机的原理,但完全避免了计算转移函数,它仅仅 用了一个只需要 O(m)就能计算出来的辅助函数 pai1.m就达到了搜索时间复杂 度为 O(n)。函数 Pai 称为前缀函数,是根据模式字符串
54、构造的,对于一个给定 的模式字符串 P1.m】 ,它的前缀函数定义如下: Paip=maxk:kpq 即:paiq是 p 的最长的与后缀 p(q)相同的前缀。 通过均摊分析可以证明计算前缀函数的时间复杂度为 O(m),而同样把此方 法用于分析 KMP 算法的时间复杂度分析,我们可以得出 KMP 匹配算法的时间 复杂度为 O(m+n)。 前面所述的这些算法虽然从理论上来说一个比一个高效,但是在实际应用中,每 个算法都有自己独特的价值,即便是最原始的朴素字符串匹配算法也仍然有较好的 应用,因为它的平均性能很好,而且不需要预处理时间。而 Karp 一 Rabin 算法则往 往用于单个模式字符串在多个
55、目标字符串中的同时查找,以及模糊匹配。KMP 无疑 是应用最广的而且它的实现也很简单,几乎无所不在。因为 DPI 方法中要进行匹配 的模式字符串只有特定的几种,需要在大量进入的网络数据包中进行查找,所以选 择 Karp-Rabin 算法进行字符串的匹配。 由于 P2P 软件引入动态端口,只能通过扫描高层协议来探知 P2P 数据报。如:对 于 Kazaa5系统,我们只能深入内部获取 Kazaa 特征代码。对于其它 P2P 应用,有时 甚至要通过几个特征代码才能判明其为 P2P 流。通过 DPI 扫描可识别 Gnutella,Edonky,Direete。nneet,BitTorrent,ppli
56、ve9等主流 P2P 软件,试验证明 该方法的识别准确度可以达到 95%。其优点有: 1通过使用各种优化措施和发现更多的 Payfoad 特征,DPI 技术可以达到非常 高 的检测精度和令人满意的性能。 2目前主流的 P2P 协议都是非加密传输的,破解相对容易,使用 DPI 技术就满 足目前运营商限制 P2P 流量的需求。 3对于新出现的 P2P 协议,只需在破译后升级 Payload 特征库就可以实现对新 出现的 P2P 协议的监控,后期维护简单。而且一种新 P2P 应用出现并大量占 据互联网带宽需要比较长的时间,所以 DPI 技术检测新应用的滞后性缺点除 了增加少量售后服务费用外不会对用户
57、造成太大影响。能够对己知协议的 P2P 流量进行精确的识别误判很低。 4易于理解、升级方便、维护简单,是目前运用最普遍的方法。 然而其最大的缺点是: 1每次都要把整个 IP 解开进行协议一层的分析,计算量比较大速度比较慢。 2随着 P2P 应用的发展,用于识别关键字也在变化。基于匹配的静态识别需要 新的识别关键字,因此检测新的 P2P 应用具有一定的滞后性。 3对加密 P2P 应用的检测能力非常有限,比如应用 SSL,使得协议分析变得十 分困难。 4算法性能与 Payfoad 特征的复杂度有关,Payload 特征越复杂,则检测代价越 高,算法性能越差。 .3 基于传输层信息进
58、行检测基于传输层信息进行检测 在 P2P 系统中,每个节点既是客户也是服务器,这种节点充当双重角色的特点 也使得 P2P 应用在传输层表现出与其他网络应用(如 HTTP、FTP、DNs、EMAIL 等) 不同的流量特征。因此,基于传输层信息进行检测方法的基本思想是,通过对传输 层数据包(包括 TCP 和 UDP 数据包)的分析,并结合 P2P 系统所表现出来的流量特征 来识别某个网络流是否属于 P2P。这类方法包括:网络直径分析技术、TCP/UDP 协议 对分析技术和(IP,PORT)分析技术等。 1、网络直径分析技术。 网络直径分析技术利用了 P2P 系统所组成的逻辑网络具有网络直径大这一特
59、点。 在 P2P 系统中,节点之间需要建立连接。与物理连接不同,P2P 系统中的连接是逻 辑连接,因此所形成的 P2P 网络属于逻辑网络。研究结果表明,与其他网络应用所 形成的逻辑网络相比,P2P 系统所形成的.逻辑网络具有更大的直径。因此,可以首 先通过记录网络中每个节点与其他节点建立连接的情况而得到 P2P 系统的逻辑连接 拓扑图,并计算其网络直径。 通过上面搜集主机在特定端口的连接情况,使用下面两个启发式条件判断某个端口 是否为 P2P 所使用: (1) 通过某个端口进行通信,即发起连接也接收连接的主机数量超过了某个阀 值。 (2)上面提到的网络直径超过了阀值。通过选择适当的阀值,可以在
60、判断错误 肯定率(把没有参与 P2P 的主机判定为 P2P 主机)和正确否定率(把参与 P2P 的主机判定为没有参与 P2P)之间取得平衡。 2、TCP/UDP 协议对分析技术 TCP/UDP 协议对分析技术利用了绝大多数 P2P 应用同时使用 TCP 和 UDP 协 议的特点。实际分析结果表明,P2P 系统一般采用 UDP 来发送命令等控制信息,而 采用 TCP 协议来传输数据。在一般的应用中,极少出现同时使用 UDP 协议和 TCP 协议的情况。因此,可以利用 P2P 系统的这个特征来识别 P2P 流量。如通过判断在 时间 t 内,某个“源一目的 IP 地址对”之间是否同时使用了 TCP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理医疗服务合同范本
- 厂房土地收购合同范本
- 修建房屋承包合同协议
- 合同铺面出租合同范本
- 农村耕地继承合同范本
- 产品质量检测协议的必要性
- 口腔科消毒协议书范本
- 卖方收据合同范本模板
- 公司用电协议用电合同
- 合伙包地种植合同范本
- 2025年下半年四川省泸州市人力资源和社会保障局信息中心招聘3人重点基础提升(共500题)附带答案详解
- 佛山地库信号覆盖施工方案
- 2025贵州玉屏侗族自治县人民医院第一批招聘编外人员26人备考考试题库附答案解析
- 9.2《永遇乐•京口北固亭怀古》课件+2025-2026学年统编版高一语文必修上册
- 2025年国家开放大学(电大)《应用写作》期末考试备考试题及答案解析
- 2024湘少版(三起)三年级英语上册全册教案
- 团员考试题目及答案大题
- 2025年皮肤科皮肤病病理形态学诊断能力测试答案及解析
- 哈巴涅拉舞曲课件
- 扬尘治理专项施工方案(水利工程版)
- 2025上海市大数据中心招聘15人考试参考试题及答案解析
评论
0/150
提交评论