P2P技术概要

 

      P2P(Peer to Peer)也就是 对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工做负载的分布式应用架构[1]   ,是对等计算模型在应用层造成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。所以,从字面上,P2P能够理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其能够定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络链接能力、打印机等),这些共享资源经过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需通过中间实体。在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)[2]   。
 
      在P2P网络环境中,彼此链接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可做为服务器,设定共享资源供网络中其余计算机所使用,又能够做为工做站,整个网络通常来讲不依赖专用的集中服务器,也没有专用的工做站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源、服务和内容。一般这些资源和服务包括:信息的共享和交换、计算资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。
  
      对等网络是一种网络结构的思想。它与目前网络中占据主导地位的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。在P2P结构中,每个节点(peer)大都同时具备信息消费者、信息提供者和信息通信等三方面的功能。从计算模式上来讲,P2P打破了传统的Client/Server (C/S)模式,在网络中的每一个节点的地位都是对等的。每一个节点既充当服务器,为其余节点提供服务,同时也享用其余节点提供的服务。
 
P2P有别于传统的计算机网络结构,以常见的下载服务为例:
1.对于传统的服务器下载,在同一时刻下载的人数越多,下载速度越慢,由于服务器的带宽是固定的,人数越多,每一个人所分得的带宽就越小
2.而P2P网络,在同一时刻下载的人越多,下载速度越快,由于在P2P网络中每个下载的用户充起到了服务器的做用
 
P2P技术的常见应用:

1.BitTorrent介绍

   BitTorrent(比特洪流)就是咱们常说的BT,它使用的就是P2P通讯方式。缓存

   它将文件划分为256KB的chunk(块)服务器

   在节点加入torrent(索引):没有chunk,可是会逐渐积累网络

                                                       向tracker注册以得到节点清单,与某些节点创建链接架构

    在下载的同时,节点须要向其它节点上传chunk分布式

    其中节点可能加入或离开,不会一直在线。计算机网络

    

 

 

2.磁力连接

磁力连接,简单的说(Magnet URI scheme):相似下面这样以“magnet:?xt=urn:btih:”开头的字符串,就是一条磁力连接;确切的说:“磁力连接”的主要做用是识别【可以经过“点对点技术(即:P2P)”下载的文件】。这种连接是经过不一样文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称。翻译

众所周知, BT下载速度不够稳定,当中断种时则没法完整下载。可是,这还不是最严重的。从2009年开始,BT下载遭遇到了“更大的困难”——不少的BT服务器被关,不只不少种子文件没法找到,BT Tracker服务器也断开解析工做,这就使得BT下载成为很大的难题。磁力连接很好地解决了这个问题。磁力连接的问世与大行其道,标志着BT 1.0时代已通过去,BT 2.0 时代已经到来。
 
深入理解磁力连接
简单地说,磁力连接是一种特殊连接,可是它与传统基于文件的位置或名称的普通连接(如http://xxx)不同,它只是经过不一样文件内容的Hash结果生成一个纯文本的“数字指纹”,并用它来识别文件。它相似于生活消费品包装上常见的条码,不一样的是这个“数字指纹”能够被任何人从任何文件上生成,这也就注定了磁力连接不须要任何“中心机构”的支持(例如:BT Tracker服务器),且识别准确度极高。所以任何人均可以生成一个Magnet 连接并确保经过该连接下载的文件准确无误。
 

3.P2P搜索信息

   P2P的索引:信息到节点位置(IP地址+端口号)的映射设计

   文件共享(电驴):索引

   

   即时消息(QQ):资源

  

4.集中式索引

    Napster最先采用这种设计:一切都要通过中央,一切决定都需中央制定。

    

5.洪泛式查询

   洪范式查询=Query flooding

   采用彻底分布式架构,每一个节点对它共享的文件进行索引,且只对它共享的文件进行索引。

   查询消息经过已有的TCP链接发送,收到消息的节点若无其所查询的内容,则转发查询消息,

           若是查询命中则利用反向路径发回给查询节点。

   

6.层次式覆盖网络

   它是介于集中式索引和洪范式查询之间的一种方法。

   每一个节点或者是一个超级节点,或者被分配到一个超级节点。

   

  超级节点负责跟踪子节点的内容。

  这种结构属于小区域集中管理,大区域分布管理。

 
 
总结:
P2P网络提及来的简单,可是你们要考虑P2P网络中计算机是如何通信的,可能这一台计算机有防火墙,或者说这一台计算机在某一个内网中,如何访问这台计算机才是是P2P技术实现的关键
 
在后面会详细介绍P2P技术
相关文章
相关标签/搜索