P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。因此,当有节点加入且对系统请求增多,整个系统的容量也增大。这是具有一组固定服务器的Client-Server结构不能实现的,因为在上述这种结构中,客户端的增加意味着所有用户更慢的数据传输。
P2P网络的分布特性通过在多节点上复制数据,也增加了防故障的健壮性,并且在纯P2P网络中,节点不需要依靠一个中心索引服务器来发现数据。在后一种情况下,系统也不会出现单点崩溃。
-
拥有较佳的并行处理能力。
-
运用内存来管理交换资料,大幅度提高性能。
-
不用投资大量金钱在服务器的软,硬体设备。
-
适用于小规模的网路,维护容易。
缺点:
许多P2P网络一直受到怀有各种目的的人的持续攻击。例子包括:
-
中毒攻击(提供内容与描述不同的文件)
-
拒绝服务攻击(使网络运行非常慢甚至完全崩溃)
-
背叛攻击(吸血)(用户或软件使用网络却没有贡献出自己的资源)
-
在数据中插入病毒(如,下载或传递的文件可能被感染了病毒或木马)
-
P2P软件本身的木马(如,软件可能含有间谍软件)
-
过滤(网络运营商可能会试图禁止传递来自P2P网络上的数据)
-
身份攻击(如,跟踪网络上用户并且进行不断骚扰式的或者是用合法性地攻击他们)
-
垃圾信息(如在网络上发送未请求的信息--不一定是拒绝服务攻击)
实例:迅雷BT原理
BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度。
迅雷的工作原理据称为”多资源超线程技术基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合”。实际上还是传统的下载技术,只不过这种下载技术综合应用HTTP、FTP传输协议将文件的文件进行分块、分片下载;而且还可以将文件等分,然后去不同地址下载;并且在这些传统下载的过程中穿插P2P技术,也就是一种新的盗链技术。总体来说,迅雷的下载呈现以下特点:
1、多点下载。收集网上的所有下载地址以便多点下载。其他软件如网际快车不会收集在下载地址里包含了用户名和密码的下载地址,但迅雷一样收集,然后供其他人使用。这就就是“盗链”,即盗用别人的链接。
2、使用类似BT的P2P下载技术。迅雷启动后,会在系统背后启动两个线程Thunder。exe和Issue。exe,在线程里可以看得到。这两个线程,就是要像BT那样,共享本地硬盘上的文件,让其它迅雷用户下载。
3、收集用户提供的资源。例如:当有一个用户在一个电影网站上,得到一个下载地址(A),然后用迅雷下载,这个下载地址就会被发到迅雷的服务器上;另一个地方又有一个用户在另一个网站上下载同一部电影,迅雷的服务器又得到另一个下载地址(B)。迅雷服务器就会把相同文件的下载地址(A,B)集合在一起,形成一个资源,而那两个用迅雷下载这两个电影的用户也算上,就会有四个下载点。当又有用户在别的地方准备下载相同的电影的时候,迅雷就会在数据库里比较,找出相同的资源(其它下载点也就是原先收集到的),提供给那个准备下载的用户下载,这个用户就会同时有多个下载点来下载而达到速度的飞升。