p2p技术概览
P2P思想,共同参与、透明开放、平等分享。基于P2P技术的应用有很多,包括文件分享,即时通信,协同处理,流媒体通信等等。P2P本质是一种新的网络传播技术,这种新的传播技术打破了传统的C/S架构
传统的通信方式,C/S结构:主服务器加上客户机,如一般网络上下载电影,http和ftp(文件传输协议)。
==》难以解决单一服务器的带宽压力,随着客户端的增多,下载速度越来越慢。
==》P2P方式提出:
它的主要思想是把整体任务或负载划分到对等的多个节点中去,这些节点在应用架构中具有平等的权利和参与度,称之为对等节点(peer)。
节点主动把自身的部分资源(包括算力、存储和网络)直接供给其他节点使用,而不需要中央服务器的集中协调。对等节点既是资源的提供者,也是资源的消耗者,
如在下载一个文件时,只要得到那些已经存在文件的 peer 地址,并和这些 peer 建立点对点的连接,就可以就近下载文件,而不需要到中心服务器上。一旦下载了文件,你的设备也就称为这个网络的一个 peer(入网),其他机器也可能会选择从你这里下载文件。
P2P在文件分享系统的应用(P2P技术目前最集中的体现)
P2P一般来说有两种。一种是依赖于Tracker 的,如BitTorrent:元数据集中,文件数据分散。另一种是基于分布式的哈希算法(DHT网络),元数据和文件数据全部分散,如,电驴、IPFS。当然还有混合型,这里无需再讨论(只是以文件系统为例大致了解p2p)
种子(.torrent)
.torrent 文件由Announce(Tracker URL)和文件信息两部分组成。
其中,文件信息里有以下内容:
Info 区 | 指定该种子包含的文件数量、文件大小及目录结构,包括目录名和文件名 |
---|---|
Name 字段 | 指定顶层目录名字 |
每个段的大小 | BitTorrent(BT)协议把一个文件分成很多个小段ÿ |