P2P文件分发
2016-07-04 本文已影响126人
sugaryaruan
P2P文件分发
概念介绍
对等方:成对间歇连接的主机
邻近对等方:成功创建一个TCP连接的对等方
洪流(torrent):参与一个特定文件分发的所有对等方的集合
追踪器(tracker):每个洪流具有一个基础设施结点
P2P体系结构的拓展性
客户端-服务器体系结构与P2P体系结构比较,得出如下结论:
- 客户端-服务器体系下,分发时间随着对等方数量线性增加
- P2P体系下,分发时间呈线性增长而趋向一个常数,若F表示分发的文件比特数量,u表示所有对等方具有的相同上传速率,则这个常数为F/u。
最为流行的P2P协议是BitTorrent,迅雷的种子下载就属此列。
BitTorrent
当一个对等方加入某洪流时,它向追踪器注册自己,并周期性地通知追踪器它仍在该洪流中。
工作过程
假设有一个新的对等方Alice加入一个洪流
- 追踪器随机地从参与对等方的集合中选择对等方的一个子集(比如50个)并将这50个对等方的IP地址发送给Alice,Alice拥有了一个IP地址的列表
- Alice与列表上的所有对等方创建TCP连接,成为邻近对等方
- Alice周期性的询问每个邻近对等方他们所具有的块列表。
- 对当前自身没有的块信息,Alice发送请求获取(最稀缺的块,优先级最高请求)
- 向哪些向她请求的块的邻居发送邻居没有的而自己有的块信息。如何决定响应哪个邻居的请求?BitTorrent使用了一种对换算法。
该对换算法的基本思想是Alice根据当前能够以最高速率向她提供数据的邻居,给出其优先权。
操作过程如下:
- Alice对于她的每个邻居持续的测试接收到比特的速率,并确定以最高速率流入的4个邻居
- 每过10秒,她重新计算该速率并可能修改这4个对等方的集合
- 每隔30秒,Alice要随机选择另外一个邻居并向其发送块,也即Alie随机选择一名新的对换伴侣。
这种效果是对等方能够趋于找到彼此的协调的速率上载。随机选择邻居也允许新的对等方得到块,因此他们能够具有对换的东西,除了上诉5个对等方,其它对等方均被阻塞。
参考文献
计算机网络 自顶向下方法 James F.Kurose & Keith W.Rose