上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但是随着网络技术的不断发展和网络用户增多,服务器非常容易产生瓶颈问题,影响用户的正常访问。
P2P网络共享方式
P2P技术的诞生,彻底打破了传统的文件下载方式。目前基于P2P技术的BitTorrent协议的文件下载软件风靡全球,BT的优越性在于克服了传统文件下载技术的速度瓶颈问题,文件的下载速度反而随着用户数的增加而得到提高。
P2P网络原理
P2P是peer-to-peer的缩写,是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源获取者(Client)。
P2P打破了传统的C/S模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P的技术特点见表1-1:
表1-1 P2P与C/S模式统计数据之间的对比
性能 P2P模式 C/S模式
数据发布性 好 差
数据接收性 中 好
数据互动性 好 差
数据即时性 好 差
数据安全性 差 好
数据更新 好 差
数据质量 中 好
数据成本控制 好 差
数据管理方便性 差 好
P2P网络应用模式
当初Internet产生和发展的主要动力是资源共享,这也正是P2P提出的最初目标,以P2P技术为基础的文件内容共享应用也是P2P最重要的应用。同时,随着Internet的发展和人们对P2P思想的理解,其他一些基于P2P的应用也不断出现[3]。
文件内容共享和下载:例如Napster、eDonkey、eMule、Maze、BT、迅雷等;
计算能力和存储共享:例如SETI@home、Avaki、Popular Power等;
基于P2P技术的协同与服务共享平台:例如JXTA、Magi、Groove等;
即时通讯工具:包括ICQ、QQ、Yahoo Messenger、MSN Messenger等;
P2P通讯与信息共享:例如Skype、Crowds、Onion Routing等;
基于P2P技术的网络电视:沸点、PPStream、 PPLive、 QQLive、 SopCast等;
基于P2P技术的网络游戏;
P2P网络路由模型
所有的对等网络有一个共同点,那就是实际的数据传输是在资源的请求者与接收者间直接进行的。但是, P2P的控制层面的实现有不同的方式,据此所有的对等网络的应用可以归结为如下四种体系结构[4]:
集中式网络模型,中心服务器存储所有节点的信息的目录,而信息本身存在各个节点中。
分布式网络模型,无中心服务器,各节点直接通过“洪泛”模式传递搜索消息。
混合式网络模型,引入了超级节点的概念,超级节点域内采用集中结构工作模式,超级节点之间是分布结构工作模式。
结构化网络模型,一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式哈希表(DHT)技术,这也是目前扩展性最好的P2P路由方式之一。目前比较成熟的DHT协议主要有:Chord、CAN、Pastry、Kademlia。
P2P流量的特征分析与识别
P2P流量特征
数据量大。对于资源共享和基于P2P技术的网络电视应用来说,数据量是巨大的。
数据突发性强。用户发送数据在时间上具有很大的随机性,分布不均匀。
高速传输。由于P2P中每一个节点都是服务器,为其他节点服务,所以数据传输速率比传统C/S模式更快。
在线时间长[5]。P2P模式打破传统C/S模式,将服务器分散到每一个节点,节点在下载完毕时,仍然可以在线作为服务器,为其他对等节点服务,而且很多P2P应用软件为了充分发挥P2P技术的优越性,都有一定的激励措施,鼓励用户长期在线。
上下行流量对称。P2P中的节点既是客户端,也是服务器,在下载的同时,也在为其他对等节点服务,提供上传业务,因此,上下行基本对称。
业务分布广泛。目前P2P技术的应用很广,涉及到很多领域,在空间分布上也比较广泛。
连接端口不确定。P2P应用占据很多的带宽,因此在很多情况下,P2P业务被屏蔽,为了解决这个问题,很多P2P应用软件端口可以根据用户要求改变。
连接IP地址特征[5]。P2P是多点到多点的连接模式,因此,客户端同时与多个IP地址建立连接,但在一段时间内平均连接每个IP地址的次数不多。
P2P流量识别与检测
对于P2P流量合理有效地识别应该包含如下内容。第一,对P2P流量的特征必须具有良好的分布特征和可区分性;第二,识别P2P流量和整个P2P覆盖网络,这样才可能依此提出新的针对于P2P网络的积极防御模式和机制。目前常用的流量识别方法[6]主要有:
端口匹配识别:完成固定端口的常规业务和P2P 业务应用识别。通过取出流中的源端口或者目的端口,然后查找常用端口映射表,如存在,则识别成功,并考虑伪端口的存在(如一些P2P 为了伪装而借用常用端口),予以剔除。
净荷检测识别:若通过静态的端口映射表无法识别,则表明这些流量是非标准协议或者动态端口的,需要采用特征字符串来匹配净荷的方式来识别这些业务或应用。(常用P2P应用流量特征比特串见表3-1)
连接模式识别:不同的业务其建立连接的方式都有相应特征,可通过IP 地址和端口的相应关系识别P2P业务。主要是统计(IP,port)所连接到的各个IP、端口号、数据报大小和传送流量大小。如果连接到的IP 地址个数和port个数相近,则认为是P2P 流量。相反,如果连接到的IP数和port 数相差大到10个以上,则认为是非P2P流量。
拓扑特性识别:不同的业务其拓扑也有各自特征,可通过分析协助识别。
应用协议分析识别:对于非标准协议的应用,但协议又是公开的,比如eMule等应用,可通过应用协议分析引擎对此类业务进行识别。
(TCP/UDP) IP pair 法识别:根据观察和研究,同时采用了TCP和UDP协议的应用绝大部分都是P2P 流量,除了特殊的几个应用,如:DNS,NETBIOS,IRC,游戏和多媒体业务流量,但这些应用都有特定的端口,如135,137,139,445,53,3531 等,可以通过端口匹配识别这些流量(见图1),其余的业务流量同时应用了TCP和UDP协议的流量,即为P2P 流量。
表3-1常用P2P应用流量特征比特串
P2P协议名称 净荷比特字符串
P2P内容下载缓存系统设计(二)相关范文