对等网络是一种网络结构的思想。它与目前网络中占据主导地位的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。在P2P结构中,每个节点(peer)大都同时具备信息消费者、信息提供者和信息通信等三方面的功能。从计算模式上来讲,P2P打破了传统的Client/Server (C/S)模式,在网络中的每一个节点的地位都是对等的。每一个节点既充当服务器,为其余节点提供服务,同时也享用其余节点提供的服务。
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.层次式覆盖网络
它是介于集中式索引和洪范式查询之间的一种方法。
每一个节点或者是一个超级节点,或者被分配到一个超级节点。

超级节点负责跟踪子节点的内容。
这种结构属于小区域集中管理,大区域分布管理。