码迷,mamicode.com
首页 > 其他好文 > 详细

P2P技术概要

时间:2018-01-08 17:26:58      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:如何   pos   一个   work   能力   全分布式   class   子节点   ref   

 

      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.P2P搜索信息

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

   文件共享(电驴):

   技术分享图片

   即时消息(QQ):

 技术分享图片 

3.集中式索引

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

    技术分享图片

4.洪泛式查询

   洪范式查询=Query flooding

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

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

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

   技术分享图片

5.层次式覆盖网络

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

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

   技术分享图片

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

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

 
 
总结:
P2P网络说起来的简单,但是大家要考虑P2P网络中计算机是如何通讯的,可能这一台计算机有防火墙,或者说这一台计算机在某一个内网中,如何访问这台计算机才是是P2P技术实现的关键
 
在后面会详细介绍P2P技术

P2P技术概要

标签:如何   pos   一个   work   能力   全分布式   class   子节点   ref   

原文地址:https://www.cnblogs.com/mlgjb/p/8243612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!