计算机网络-应用层协议5(P2P)

本文介绍两种特别适合P2P设计的应用,第一种是文件分发,从单个源向大量对等方分发一个文件(特殊例子BitTorrent);第二种P2P应用是分布在大型对等社区中的数据库,重点讨论分布式散列表(DHT)的概念。

1.P2P文件分发

首先介绍文件分发环境中P2P体系结构的自扩展性;然后更详细地描述BitTorrent。

  • P2P体系结构的扩展性
    在这里插入图片描述
    因为对等方除了是比特的消费者外还是它们的重新分发者,所以在任意数量的对等方下,P2P体系结构的分发时间总是小于客户-服务器结构,而且一直小于1小时。也就是说它是自扩展的。
  • BitTorrent
    其是用于文件分发的流行P2P协议。参与特定文件分发的所有对等方的集合被称为一个洪流(Torrent),在一个洪流中的对等方彼此下载登场的文件块(chunk)。当一个对等方首次加入洪流,它没有块。随时间的进行,它下载的块越来越多。同时,它也会上载自己的块给别的对等方。洪流中,对等方可以随时加入、随时离开。
    每个洪流都有一个基础设施节点,称为追踪器。当一个对等方加入洪流时,它向追踪器注册自己,并周期性地通知洪流它仍在洪流中。
    当一个新的Alice加入洪流时,追踪器随机地从参与对等方的集合中选择对等方的一个子集,并将这个子集中所有对等方的IP地址告诉Alice。Alice与它们建立TCP连接,它们称为“邻近对等方”。
    Alice从它的邻居请求哪些块?——最稀缺优先技术
    Alice向哪些它请求块的邻居发送?——对换算法
    (1)最稀缺优先技术:针对它没有的块,向其邻近对等方申请最稀缺的块。
    (2)对换算法:Alice根据能够以最高速率向他提供数据的邻居,给出优先权。首先确定最高速率流入的4个邻居,每过10秒重新计算速率更新这4个邻居。每隔30秒,随机选择另外一个邻居向其发送块。除此5个邻居,其它皆被阻塞。

2.分布式散列表(DHT)

在数以百万计的对等方上存储(键,值)对,允许任何一个对等方用一个特别的键来查询分布式数据库,这就叫DHT。
为每个对等方分配一个标识符,其中每个标识符是一个[0,2^n -1]范围内的整数 ,n取某些固定的值。用散列函数把每个键也映射成[0, 2n -1]范围内的整数。
为对等方分配键时,为其标识符最邻近该键的对等方分配一个(键,值)对。如果该键恰好等于这些对等方标识符之一,我们在匹配的对等方中存储(键,值)对;如果该键大于所有对等方标识符我们使用模2^n规则,在具有最小标识符的对等方中存储(键,值)对。

  • 环形DHT
    在确定最邻近的对等方时,利用环形DHT,并更细化地在环形网络的基础上,增加“捷径”,使每个对等方不仅联系它的直接后继和直接前任,而且联系环上的数量相对少的捷径对等方。如图:
    在这里插入图片描述
  • 对等方扰动(在无接近DHT情况下
    假设对等方5离开,对等方4的更新如下:
    (1)对等方4利用它的直接后继(8)来代替它的第一个后继(5)
    (2)对等方4向新的第一个后继询问它的直接后继(10)的标识符和IP地址。最后对等方4将对等方10标记为它的第二个后继。
    假设一个标识符为13的对等方要加入该DHT,在加入时,他只知道1的存在:
    (1)13向1发送信息询问13的前任和后继;该报文通过DHT到达12时,他认识到自己是13的前任,并且它的当前后继15将称为13的后继;
    (2)12向13发送它的前任和后继信息;
    (3)13加入DHT,标记后继为15;通知12改其后继为13。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值