点对点模式,即Peer-to-Peer模式,在这种模式中,单个组件被称为对等点。对等点可以作为客户端,从其他对等点请求服务,也可以作为服务器,为其他对等点提供服务。对等点可以充当客户端或服务器的角色,并且可以随时间动态地更改其角色。每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。其依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。一个组件是软件指令内部和内部状态的一个抽象单元,通过其接口提供对于数据的转换。
点对点(Peer-to-Peer)架构是一种”我为人人,人人为我”的资源共享思想,比如非法传播视频网站,每个节点既可以是客户端进行下载,又可以是服务器端继续上传资源以提供下载服务给其他人,所以找不到真正的server,打击非法网站也就更难了。再比如迅雷BT下载的原理,每个用户都可以作为上传者也可以作为下载者,就像当有一个用户在一个电影网站上,得到一个下载地址(A),然后用迅雷下载,这个下载地址就会收集到迅雷的服务器上。在地球的另一个地方又有一个用户在另一个网站上下载同一部电影,而得到另一个下载地址(B)。就又会给迅雷服务器收集, 然后迅雷服务器就会把相同文件的下载地址(A,B)集合在一起,形成一个资源。那两个用迅雷下载这两个电影的用户也算上,就会有四个下载点了,而又有用户在别的地方准备下载相同的电影的时候,迅雷就会在数据库里比较。找出相同的资源(其它下载点,也就是上面收集到的),提供给那个准备下载的用户下载,那这个用户就会同时有多个下载点来下载,而达到速度的提升。而这个用户当然也不可能只是享受高速的下载,他同时也会上传了他下载的那部份数据(BT原理), 所以,当一个用户用迅雷下载时,就会连上迅雷服务器,查找资源,如果是热门的文件,迅雷就能返回大量的下载点,供这个用户下载,从而达到下载速度的提升。
点对点对等式网络有许多优点,如它比上面所介绍的C/S网络模式造价低,它们允许数据库和处理机能分布在一个很大的范围里,还允许动态地安排计算机需求。当然它的缺点也是非常明显的,那就是提供较少的服务功能,并且难以确定文件的位置,使得整个网络难以管理。.
在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。
P2P网络技术的特点主要表现在六个方面,非中心化,网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈;可扩展性,在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要;健壮性,P2P网络一般在部分节点失效时能够自动调整整体拓扑,保持其它节点的连通性;高性价比,采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有节点上;隐私保护,在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小;负载均衡,P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。由于对等网络不需要专门的服务器来做网络支持,也不需要其他的组件来提高网络的性能,因而组网成本较低,适用于人员少、组网简单的场景,故常用于网络较小的中小型企业或家庭中。