计算机网络p2p应用,计算机网络(十二):P2P应用

没有一直运行的服务器。

任意端之间能够通讯。

peers能够任意加入或修改IP地址。web

一、P2P文件分发(共享?):

a、P2P体系结构的扩展性:

a98328b87f4c48d3b44670f231eaa59a.gif

us表示服务器接入链路的上载速率,ui表示第i个对等方接入链路的上载速率,di表示第i个对等方接入链路的下载速率,F表示被分发的文件长度,N表示要得到文件拷贝的对等方数量。

分发时间是N个对等方获得文件拷贝所须要的时间。

假设因特网核心具备大量的带宽,即全部的瓶颈链路都在网络接入链路上,同时假设服务器和客户机没有运用任何其余网络应用,即他们的全部上载和下载访问带宽都用于分发文件。

首先来肯定CS体系结构中的分发时间,即Dcs。在CS体系结构中,没有对等方来帮助分发文件,因此:

①、服务器必须向N个对等方的每一个都传输一个文件拷贝,所以该服务器必须传输NF比特,由于该服务器的上传速率是us,因此分发该文件的时间至少是NF/us

②、令dmin表示下载速率最小的对等方的下载速率,下载速率最小的对等方不可能在F/dmin内得到该文件的全部F比特,所以,最小的分发时间最少为F/dmin

由此获得Dcs≥max{NF/US,F/dmin}

对足够大的N,CS体系结构中的分发时间由NF/us决定,即分发时间随着对等方的数量N现行的增长。

下面看一下P2P体系结构中的分发时间,即Dp2p。在P2P中,当一个对等方接收到文件数据时,他能够利用本身的上传能力从新将数据分发给其余对等方。

①、在分发的开始,只有服务器拥有稳健,为了使这些对等方的到该文件,服务器必须经其接入链路至少发送一次该文件的每一个比特,所以,最小分发时间至少是F/us

②、下载速率最小的对等方不可能在F/dmin秒以内得到全部F比特,所以最小分发时间至少为F/dmin

③、系统的总上载能力等于服务器的上载速率+每一个对等方的上载速率,即utotal=us+u1+…+uN。系统必须向N个对等方的每一个交付F比特,所以,总共交付NF比特,不可能以快于utotal的速率完成,所以,最小分发时间至少为NF/(us+u1+…+uN)

由此获得Dp2p≥max{F/US,F/dmin,nf/us+Σui}

用户数越多,P2P结构基本趋于平稳,即自适应/拓展性好。最小的分发时间老是小于F/u。所以咱们能够说采用P2P体系结构的应用程序是能够自我拓展的算法

b、BitTorrent:

即BT下载,人越多,下载越快。

是一种用于文件分发的流行P2P协议。参与一个特定文件分发的全部对等方的集合称为一个洪流(torrent)(也叫群组group)。在一个洪流中对等方彼此下载等长度的文件块chunk。当他下载文件块时,同时也为其余对等方上载了多个文件块。

对等方一旦得到了整个文件,他能够离开洪流,也能够留在洪流中继续向其余对等方上传文件块。

同时,任何对等方能够在任什么时候刻(哪怕没有得到整个文件)离开洪流,之后也能够从新加入洪流。

最稀有优先:最少被下载的文件块最早被下载。根据他没有的块从他的邻居中肯定最稀有的块(在他的邻居中拷贝数量最少的那些块),其目标是均衡每一个块在洪流中的拷贝数量。

对换算法:肯定邻居的优先权,这些邻居是那些当前可以以最高的速率供给他数据的。即每过一段时间对等方随机的选择一名新的对换伙伴并开始与那位伙伴进行兑换,若是这两个对等方都知足此对换要求,那么他们会将对方放入其前几位列表中并继续与对方进行对换,直到对等方之一发现了一个更好的伙伴为止。这样,对等方就能以趋于满意的速率上传,而随机选择邻居是为了让新的对等方获得块,所以他么可以有对换的东西。除了列表前几位的对等方,其余相邻对等方均被阻止,即不能从这个对等方中得到任何块。这样能够避免搭便车问题。

每一个洪流局有一个基础设施节点,称为追踪器tracker。当一个对等方加入洪流时,它向追踪器注册,并周期性的通知追踪器他仍在洪流中。追踪器以这种方式跟踪洪流中的对等方。一个特定的洪流可能在任什么时候刻拥有数以百计千计的对等方。服务器

二、在P2P区域中搜索信息:

P2P应用中一个重要部分是信息索引,即信息到主机位置的映射。在这些应用程序中,对等方动态地更新和搜索索引。

BitTorrent协议只是一个文件分发协议,并无提供任何索引和搜索文件的功能。为了可以在对等方区域中组织和搜索索引,因此须要搜索方法。网络

a、集中式索引(集中目录分发):

提供了一个集中式索引,由一台大型服务器来提供索引服务。索引服务器从每一个活动的对等方那里收集IP地址和可供共享的文件名称,从而创建一个集中式的动态索引,将每一个文件拷贝映射到一个IP地址集合。

其实是一种P2P和CS混合体系结构,文件分发是P2P的,搜索是CS的。有如下缺点:

①、单点故障:索引服务器崩溃致使P2P应用崩溃

②、性能瓶颈和基础设施费用

③、侵犯版权,容易被关闭分布式

b、查询洪泛(彻底分布式方法):

创建在Gnutella协议基础上的。在查询洪泛中,索引全面地分布在对等方的区域中,每一个对等方索引可供共享的文件而不索引其余文件。

对等方造成了一个抽象的逻辑网络——覆盖网络。若是对等方x与对等方y维护了一个TCP链接,那么就能够说x和y有一条边。图由全部活跃的对等方和链接的边(持续的TCP链接)组成。注意一条边不是一条物理通讯链路,而是一条抽象链路,该链路可能有下面的许多物理链路组成。

对等方经过已经存在的TCP链接,向覆盖网络中的相邻对等方发送报文(查询报文),这些相邻对等方向他们的相邻对等方发送查询报文(洪泛);当一个对等方接收到一条查询报文时,会检查该关键词是否与可供共享的任意文件相匹配,若是存在一个匹配,会回复一条“查询命中”报文,该报文包含了匹配文件名和文件长度。该“查询命中”报文遵循“查询”报文的方向路径,于是使用预先存在的TCP链接。

扩展性差,会产生大量流量,所以使用了范围受限查询洪泛。然而,可能致使搜索不到存在的文件。

覆盖网络的一个问题是如何处理对等方x的加入和离开:

①、对等方x必须首先发现某些已经位于覆盖网络中的其余对等方。解决这种引导跨接问题的一种方法是:让x维护一张对等方的列表(IP地址),这些对等方常常在该覆盖网络中开机;另外一种方法是:让x可以联系维护这种列表的跟踪站点。

②、一旦访问了这样的一张列表,x接下来尝试与列表上的对等方创建一个TCP链接,直到与某个对等方y创建了一个链接为止。

③、一旦x和y创建TCP链接后,x向y发送一个ping报文,包括对等方计数字段。一旦接收到该ping报文,y向它在该覆盖网络中的全部邻居转发。直到该对等方计数字段为0

④、只要一个对等方z接收到一个ping报文,他经过该覆盖网络向x会发一个pong报文,包括z的IP地址

⑤、当x接收到pong报文后,与这些对等方创建ICP链接。svg

c、层次覆盖(结合了集中式和分布式):

不设计专用的服务器来跟踪和索引文件。

在层次覆盖设计中,不是全部对等方都是对等的,与因特网高速链接并具备高可用性的对等方被指派为超级对等方。

一个新的对等方与超级对等方之一建立一个TCP链接,而后新对等方将其可供共享的文件告诉超级对等方,而超级对等方维护一个索引,包括其子对等方正在共享的全部文件的标识符、有关文件的元数据和保持这些文件的子对等方的IP地址。即每一个超级对等方成为一个袖珍型的索引。

超级对等方之间相互创建TCP链接,从而造成一个覆盖网络。超级对等方能够向其相邻超级对等方转发查询。这里的查询是范围受限查询洪泛。性能

d、分布式哈希表(分布式散列表DHT):

产生一个全分布式索引,该索引将文件标识符映射到文件位置

容许用户(原则上)肯定文件的全部位置,而不会产生过量的搜索流量ui

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值