计算机网络自顶向下方法之——第二章 之三

本文介绍了P2P网络中的两种重要应用:P2P文件分发,特别是BitTorrent协议,以及分布式哈希表(DHT)。BitTorrent通过Tracker协调多个参与者进行文件分发,利用tit-for-tat策略优化传输效率。DHT如Circular DHT和Churm结构则解决了数据分布式存储和查询的问题,通过环形结构和shortcuts减少查询复杂度,同时应对peer的动态变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.6 Peer-to-Peer Applications

这章的application讨论到这里,我们已经看了Web,email,DNS,所有这些都要依赖always-on infrastructure servers,回想我们提到的P2P架构,几乎不依赖always-on infrastructure servers,peers可以直接与彼此交流,这些peers不是服务提供商的,而是用户的笔记本或台机
这一节我们要介绍两个尤其适合P2P架构的应用,第一个是file distribution,这个应用是从一个源把文件发送给很多peers,这个应用使我们开始研究P2P架构的很好的开始,因为它清晰地暴露了P2P架构自扩展(self-scalability)的特性,作为file distribution的一个更具体的例子,我们会讲下BitTorrent系统,我们要讲的第二个P2P应用是database distributed over a large community of peers,对于这种应用,我们会探究下the concept of a DHT(Distributed Hash Table)

2.6.1 P2P File Distribution

我们先从client-server file distribution开始,这种架构中,server必须向每一个peer发送文件——给服务器造成极大的压力并消耗掉非常大的服务器带宽,在P2P架构中,任何一个peer都可以把它已经接受到的文件中的任何部分再次发送给其他的peer,因此可以在分发环节帮助服务器缓解压力

Scalability of P2P Architecture

为了P2P架构和client-server架构做个比较,并且描述下P2P固有的self-scalability,我们现在看一个简单的模型——让每个架构类型发送一个相同的文件到固定数量的peers,

通过上图,我们先看下client-server架构所用时间,
*服务器必须把文件传输给N个peer,因此传输总量是NF bits,则时间至少是NF/us,
*假设dm是所有peers中最小的下载速率,速率最小的peer不可能在F/dm时间内获得所有的F bits,所以至少的时间就是F/dm
然后把上边加一起,总时间Dcs≥max{ NF/us,F/dm},如果N增加的话,这个是时间值是随着它线性增加的

现在再看下P2P架构所用的时间,这种架构peers可以用自己的上传速率来传输自己得到的部分给其他计算机,所以可以协助server进行分发,因此计算它所用的时间也更复杂
*在传输开始时,只有server中有这个文件,为了能让这个文件进入到peers中,服务器必须把这个文件中的每个bit都至少传输过它的线路一遍,因此,最少的时间是F/us(与CS架构不同,P2P架构可能发送过一遍的文件不需要再发送一遍)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值