介绍

客户-服务器体系结构,极大地依赖于总是打开的基础设施服务器,而P2P体系结构,对基础设施服务器有最小的依赖

P2P又分为:非结构化P2P、结构化P2P

本文主要介绍非结构化P2P,举一个机构化P2P的例子,就是一圈网络按照ip哈希值排序,完成一个小型的系统。

P2P体系结构的扩展性

分发时间(distribution time)是所有N个对等方得到该文件的副本所需要的时间,客户-服务器模型,随着下载数量的增加而线性增加下载时间,而P2P不会线性增加下载时间。

Untitled

P2P文件分发: BitTorrent

核心思想:

  1. 文件被分为一个个块256KB
  2. 网络中的这些peers发送接收文件块,相互服务

Untitled

步骤:Peer加入torrent:

  1. 一开始没有块,但是将会通过其他节点处累积文件块
  2. 向跟踪服务器注册,获得 peer节点列表,和部分peer 节点构成邻居关系

当peer下载时,该peer可以同时向其他节点提供上载服务

扰动churn: **peer节点可能会上线或者下线

一旦一个peer拥有整个文件,它会(自私的)离开或者保留(利他主义)在torrent中

在任何给定时间,不同peer节点拥有一个文件块的子集