type
status
date
slug
summary
tags
category
icon
password
纯P2P架构
- 没有(或极少)一直运行的服务器
- 任意端系统都可以直接通信
- 利用peer的服务能力
任何节点既是客户端又是服务器
- peer节点间歇上网,每次IP地址都可能有变化
Pairs of intermittently connected hosts, called peers, communicate directly with each other.
- 例子
- 文件分发
- 流媒体
- VoIP
Scalability of P2P Architectures
C/S vs P2P
- 这是一个“将一个文件分发给一个固定peer集合”的模型
- 表示上载速率
- 表示下载速率
- F表示要分发的文件的大小
- N表示想要获得文件的copy的peer的数量
- distribution time:取得文件的copy所花费的时间
C/S的distribution time,
- 服务器必须向N个peer分发文件的copy,服务器必须传输NF bits,因为服务器的上载速率为,所以分发文件的时间至少是:
- 令为下载速率最慢的peer的下载速率,
由于下载速率的peer在之内无法下载完全部F bits,因此distribution time至少为:
- 结合两个算式可以得到:
- 当客户数量N足够大时,分发时间随N增大线性增加
P2P的distribution time,
- when a peer receives some file data, it can use its own upload capacity to redistribute the data to other peers.
- 最开始,只有服务器有这个文件,服务器至少将每个bit传输一次至它的access link,所以分发文件的时间至少是:
- 下载时间要取决于下载速率最慢的那个peer:
- the total upload capacity of the system is equal to the upload rate of the server plus the upload rates of each of the individual peers: , the system must deliver F bits to each of the N peers. Thus, the minimum distribution time is at least:
- 结合三个算式可以得到:
- 随N增加,也增加
对比图
BitTorrent
- 用于文件分发的一个P2P协议
- 参与一个特定文件分发的所有节点的集合叫做torrent
- Peers in a torrent download equal-size chunks of the file from one another
- 当一个peer才加入torrent的时候,它还没有trunks,通过积累获得trunks,peer下载trunks的同时也上载trunks
- 当一个peer获得整个file之后,它要么selfishly离开torrent,要么altruistically呆在torrent里面并且继续上载trunks给其他peers,any peer may leave the torrent at any time with only a subset of trunks, and later rejoin the torrent
BitTorrent具体案例
- tracker
- 每个torrent都有一个叫tracker的节点
- 当新的peer加入torrent的时候,它会自己在tracker注册自己并且告知tracker自己还在torrent里面
- 新的peer加入torrent
- tracker随机发送一组已经在torrent里面的peers的IP地址给新peer,新peer与这些peers开始并行的TCP连接,这些peers就叫新peer的neighboring peers,neighboring peers不唯一
- 每个peer会有一个文件trunks的子集,不同peer的子集不同,每个周期里面,新的peer会向每个neighboring peer要它们的trunks,新peer会通过TCP为它没有的trunks发出请求
- rarest first 最少优先
- 在neighbors之间,copies最少的trunks最先请求
- 目的:equalize the numbers of copies of each chunk in the torrent
- Author:orangec
- URL:orange’s blog | welcome to my blog (clovy.top)/9d82dc6990c74266b6c3b238021b7235
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts