《计算机网络——自顶向下方法》应用层——P2P应用

P2P应用

使用客户-服务器体系结构,极大的依赖总是打开的基础设施服务器,而使用P2P应用对总是打开的基础设施服务器有最小的(或者没有)依赖。与之相反,成对间歇连接的主机(对等方)彼此通信,这些对等方不为服务提供商所拥有,而是收用户控制的计算机。

BitTorrent

BitTorrent是一种用于文件分发的流行P2P协议。用BitTorrent的术语来讲,参与一个特定文件分发的所有对等方的集合被称为一个洪流。在一个洪流中对等方彼此下载等长度的文件块,典型的长度为256KB.
当一个对等方首次加入一个洪流时,他没有块。随着时间的流逝,他积累了越来越多的快,当他下载块时,也为其他的对等方上传了多个块。对等方获取到完整的文件后可以继续留在洪流中或者选择离开。同时,任何对等方也能够在任何具有块子集的时就离开洪流,并在以后重新加入。
BitTorrent是一个相当复杂的协议,下面是他的一些重要的机制和内部细节:
每个洪流具有一个基础设施结点,称为追踪器(tracker).当一个追踪器加入到洪流中时他向追踪器注册自己,并周期性的通知追踪器告知自己仍在洪流中。
当一个新的对等体加入时,追踪器随机地从参与对等体的集合中选择对等体的一个自己,并将这些对等体的IP发送给新加入的对等体。新加入的对等体持有这张IP表并试图与表上所有的对等体建立TCP连接。我们将成功创建TCP连接的对等方为邻近对等方
在任何时刻,对等体具有文件块的子集并知道它的邻居具有哪些块,利用这些信息将作出两个重要的决定:向邻居请求哪些块?向哪些向他请求的邻居发送块?

  • 在请求发送的过程中,Alice使用的是最稀缺块优先的技术,使用这种技术能够使最稀缺块更为迅速的重新分发,其目标是均衡每个块在洪流中的副本数量;
  • 为了决定对等体响应哪个请求,BitTorrent使用了一种对换算法。基本思想是:根据当前能够以最高速率向其提供数据的邻居给出优先权,一般确定四个最高速率流入的邻居,没10秒钟重新计算速率并修改这4个对等方集合。重要的是,每过30秒,也要随机的选择另外一个邻居并向其发送块。

P2P架构

P2P架构主要有三种方式:中央目录、全分布和层次式

  • 中央目录:在这种方式中使用一个中央服务器作为中央目录,利用中央目录记录注册对等体的IP和相关的内容。显然,这种方式存在的问题有单点失败、服务器的性能影响和作为中央服务器的司法责任等。
  • 全分布:这种方式在2000年左右提出,该方式中没有中央服务器,而是将请求泛洪给所有的对等体,系统具备对讯问请求的回答,网络设计为覆盖网。同时,为了防止网络上的请求泛滥,限制了查询距离为7跳。这种方式的优点是网络负载均衡,缺点是搜索范围引起的成本问题和搜索时间问题。
  • 层次式:这种方式结合了全分布和中央目录。架构中设计有超级对等体其他对等体,其中,其他对等体需要向超级对等体进行注册。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值