P2P system: FastTrack and BitTorrent

FastTrack

FastTrack来源于Gnutella,是Gnutella 和 Napster的杂交体

有些node承担了更重要的责任,这些nodes称为supernodes,因为这些改进,它比Gnutella更快

除了有几个supernodes之外,它与Gnutella overlay长得很像.这些supernodes承担了一些责任,这些责任与Napster的server存储derectory information类似.

peers不能自己选择做supernode,peers被选择做supernode是根据它过去所做的贡献。这个贡献是由a reputation level来衡量的.

比如说在Kazaalite里面,reputation of a user 位于0与1000之间,当一个user加入这个system是,它的初始reputation是10,随着连接时间的增加以及它上传文件的增加,这个reputation会增加,当达到一个threshold,这个peer就可能成为supernode.

有了这些supernode,peers的查找速度会变快(they can just search in nearby supernode),比如就上图来说,左下角的那个蓝色的peer只需要发送query information给与它相邻的supernode(位与底部中间的那个红色的supernode)就可以了,而不是需要采用像Gnutella那样使用flood(洪泛法) 在整个overlay graph来发送query information

使用supernode有什么好处?使用supernode的动机是什么?-------你的很多查询信息现在变成了local searches in your local data structure or your local directory information,这样它们就不会引起network traffic.所以它们的速度就会非常快

BitTorrent

BitTorrent非常流行现在也很流行,它与我们之前介绍的系统类似但也有些不同,它是采用incentivizing(以物质刺激鼓励) peers to participate in the system.我们之前介绍过很多peers对系统并没有贡献,它们不贡献files,不贡献bandwidth,然后BitTorrent解决这个问题是采用incentives(奖励)来让peers参与到这个系统中来。所以peers能从帮助其它的peers中受益。

BitTorrent有一个叫做trackers的概念,一般来说每一个file都有一个tracker,但是也存在好几个files有一个tracker。

当一个peer想加入这个system时,它查找the torrent或者tracker,这样就可以与tracker交流对话。Tracker维持着a list of some of the peers(这些peers现在正在传输这个文件),tracker做到这些是通过从现有的peers那儿接收心跳(heartbeats).

Peers分为两类,一类为seed,它们有full file,帮助其它的peers来下载文件;一类为leechers(吸血鬼),它们拥有文件的一部分(一个文件分割成了许多块,一般来说是相同大小的blocks),peer 拥有很多文件块,它也在不断的下载这个文件的其它块。

The new peer, 当加入到这组peers中来时,它成为一个leecher因为它不包含文件的任何部分。

当一个peer开始从它的neighbors下载文件时,因为这个peer有很多neighbors,有很多file blocks可以供它下载,那么它是如何选择哪个file block去下载呢?----使用Local Rarest First policy.

Local Rarest First policy: 选择那个在这些neighbors中被复制最少的block.因为随着系统的变动,这些block可能会比其它的那些blocks(replicated more)要消失得更快,所以Local Rarest First policy 帮助下载这些稀少的blocks.

特例: 新加入的node允许随意选择一个neighbor,这样有助于bootstrapping(这样就不会get stuck with just one deterministic group )

时间: 2024-10-25 20:28:48

P2P system: FastTrack and BitTorrent的相关文章

P2P system: GNUTELLA

P2P system: GNUTELLA GNUTELLA是第一个经论证的分布式的peer-to-peer system. Napster的一个重大问题是涉及到间接侵权,所以GNUTELLA消除the servers altogether然后使用client来search and retrieve,所以client也充当了servers,所以Gnutella的client也叫做servents(由server和client拼接而成) neighbors意味着这个peer知道它们的IP地址与por

P2P system: Napster

Napster structure client machines之所以叫peers是因为对于server来说这些machines是平等对待的 当你upload一首歌曲如PennyLane.mp3时,它不会上传到别的地方而是存在你的machine(运行了napster client的machine)里面 Servers是由Napster.com运行的,这些servers保存的是目录信息(file pointers和peer pointers) 当Napster client运行时,它先连接nap

P2P system:How Chord tackles failures

若有peer failures 怎么办 接上面的例子,如果N32 fail掉了,但是N80的finger table还没有更新,这样query到了N16,它找不到N32,只有N80,这样query就会丢失掉. 解决的方法是,保存r个successor而不是只一个successor,r 是一个系统可以配置的值. 那么r究竟为多大呢?这样如果有很多错误的话,query仍然可以正确到达 r=2log(N). w.h.p. = with high probability 如果node里面保存的file

P2P综述

原文参见:http://www.lotushy.com/?p=113 [TOC] 什么是P2P P2P全称是Peer-to-peer.P2P计算或P2P网络是一种分布式应用架构.它将任务或负载分发给Peers.在应用中,Peers是平等的.对等的参与者. 从资源角度来讲,Peers将它们拥有的资源如cpu.存储.网络带宽等直接分享给其它参与者们.所以,Peers即是资源的提供者也是资源的消费者.而在Client-Server架构中,资源消费和资源供给是分离开的.新兴的协作式P2P系统超越了Pee

UDP打洞、P2P组网方式研究

catalogue 1. NAT概念 2. P2P概念 3. UDP打洞 4. P2P DEMO 5. ZeroNet P2P 1. NAT概念 在STUN协议中,根据内部终端的地址(LocalIP:LocalPort)到NAT出口的公网地址(PublicIP:PublicPort)的影射方式,把NAT分为四种类型(rfc3489: http://www.ietf.org/rfc/rfc3489.txt) 1. Full Cone: 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口

P2P系统,一致性哈希和DHT

数据网格产品经常会使用P2P进行通信,借此机会系统地学习一下P2P网络和其资源搜索策略. 1 P2P网络架构 谈到P2P就涉及到一个概念:Overlay Network(覆盖网络).所谓覆盖网络是应用层网络,几乎不考虑网络层和物理层,它具体指的就是建立在另一个网络上的网络.例如P2P网络就是覆盖网络,因为它运行在互联网之前,但允许对未知IP主机的访问.通过DHT等算法,可以在事先不知道IP地址的情况下,访问到存储某个文件的结点. 常见的P2P系统主要有Unstructured Network和S

P2P协议初步

今天看到一个问题,如何把一个文件快速下发到100w个服务器 如果我们将文件集中式地放在一个服务器或缓存上的话,带宽.连接都会遇到问题. 树状: 1. 每个服务器既具有文件存储能力也应具有文件分发能力. 2. 每个服务器接收到文件之后向较近的服务器分发,具体类似多叉树,应该挺快的. 索引状: 1. 设置1000个缓存服务器,文件先下发到这些缓存上.(具体多少缓存.分几层缓存和具体业务有关.) 2. 每个缓存服务器接收1000个服务器取文件. 无论哪种方法,好像速度都不够快,主要受制于资源和带宽.

【转帖】Bootleg recording

Bootleg recording From Wikipedia, the free encyclopedia For other uses, see Bootleg (disambiguation). The audio cassette greatly increased the distribution of bootleg recordings in the 1980s. A bootleg recording is an audio or video recording of a pe

Android RocooFix 热修复框架

这里我要讲述下android热补丁前世今生 Under the Hood: Rebuilding Facebook for Android 发布者:Frank Qixing DU · 发布时间:2012年12月14日上午 3:01 Over the last year, we've been retooling our mobile apps to make them faster, more reliable, and easier to use. Several months ago, we