2.6 应用层-P2P
P2P
1 概述
比于客户-服务器体系结构,P2P具有自扩展性,表现在对等方N越大,最小分发时间也趋于平缓。这种自扩展性的直接成因是:对等方除了是比特的消费者外还是它们的重新分发者。
P2P 体系结构的扩展性
- 最小分发时间,对等方N越大,P2P的最小分发时间越小
- 对等方除了是比特的消费者外还是他们的重新分发者
2 BitTorrent
工作过程
P2P文件共享协议,参与一个特定文件分发的所有对等方结合被称为一个洪流(torrent),在一个洪流的对等方彼此下载等长度的文件块,可以随时离开洪流,也可继续向其他对等方上载
Alice加入某洪流时,会在追踪器里进行注册,周期性通知追踪器它仍在洪流中。
洪流随机从参与对等方的结合中选择一个子集,将他们的IP地址发给Alice,Alice维护这张对等方列表,视图与所有对等方建立并行的TCP连接。
Alice周期询问每个邻近对等方(连上的)他们有的文件块列表,她随时知道邻居有哪些文件块
Alice使用最稀缺优先技术,首先请求那些邻居们副本数量最少的块,使该文件块迅速分发,以均衡每个块在洪流中的副本数量
BitTorrent使用一种算法,Alice优先从像她传时速度最快的邻居(4个,每10s修改一次)那里获取文件块。
每过30s,Alice也要随机选择另外一个对等方Bob,向他发送块。若Alice是Bob最快的前四快,Bob也是Alice的前4快,则Bob和Alice互相发送数据。
每过30s换一个新的对象,互相交换数据(一报还一报),为了使对等方能够找到彼此协调的速率上传
BitTorrent其他机制和变种
片、流水线、随机优先选择、残局模型、反怠慢等机制
变种:P2P直播流式应用,如PPLive和PPstream
3 分布式散列表(DHT)
- 分布式、P2P版本的key-value数据库,在大量对等方上存储key-value值(键值对)
- 分布式数据库用来定位拥有某key-value的对等方,然后向查询方返回该键值对
- 环形DHT、对等方扰动
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!









