计算机网络 P2P应用

P2P 应用

P2P 工作方式概述

  • P2P 工作方式受到广大网民的欢迎。
  • 在 P2P 工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。
  • 这种工作方式解决了集中式媒体服务器可能出现的瓶颈问题。
  • 在互联网流量中,P2P 工作方式下的文件分发已占据了最大的份额,比万维网应用所占的比例大得多。

具有集中目录服务器的 P2P 工作方式

  • Napster 最早使用 P2P 技术,提供免费下载 MP3 音乐。
  • Napster 将所有音乐文件的索引信息都集中存放在 Napster 目录服务器中。
  • 使用者只要查找目录服务器,就可知道应从何处下载所要的MP3文件。
  • 用户要及时向 Napster 的目录服务器报告自己存有的音乐文件。
  • Napster 的文件传输是分散的,文件的定位则是集中的。

Napster 的工作过程

计算机网络 P2P应用_第1张图片
计算机网络 P2P应用_第2张图片
计算机网络 P2P应用_第3张图片
计算机网络 P2P应用_第4张图片

集中式目录服务器的缺点

  • 可靠性差。
  • 会成为性能的瓶颈。

具有全分布式结构的 P2P 文件共享程序

  • Gnutella 是第二代 P2P 文件共享程序,采用全分布方法定位内容的 P2P 文件共享应用程序。
  • Gnutella 与 Napster 最大的区别是:不使用集中式的目录服务器,而是使用洪泛法在大量 Gnutella 用户之间进行查询。
  • 为了不使查询的通信量过大,Gnutella 设计了一种有限范围的洪泛查询,以减少倾注到互联网的查询流量,但也影响到查询定位的准确性。

eMule 的其他特点

  • eMule 使用了一些服务器。这些服务器并不是保存音频/视频文件,而是保存用户的有关信息,因而可以告诉用户从哪些地方可以下载到所需的文件。
  • eMule 使用了专门定义的文件夹,让用户存放可以和其他用户共享的文件。
  • eMule 的下载文件规则是鼓励用户向其他用户上传文件。用户上传文件越多,其下载文件的优先级就越高(因而下载就越快)。

使用 P2P 的比特洪流 BT

  • BitTorrent 所有对等方集合称为一个洪流 (torrent),
  • 下载文件的数据单元为长度固定的文件块 (chunk)。
  • 基础设施结点,叫做追踪器 (tracker)。
  • A 就和这些对等方建立了 TCP 连接。所有与 A 建立了 TCP 连接的对等方为“相邻对等方”(neighboring peers)。
    计算机网络 P2P应用_第5张图片
    计算机网络 P2P应用_第6张图片

BT 协议

  • 问题1:哪些文件块是首先需要向其相邻对等方请求的?

  • A 使用最稀有的优先 (rarest first) 的技术,首先向其相邻对等方请求对应的文件块。

  • 所谓稀有是指:如果A所缺少的文件块在相邻对等方中的副本很少,那就是“很稀有的”。

  • 问题2:在很多向A请求文件块的相邻对等方中,A应当向哪些相邻对等方发送所请求的文件块?

  • 凡当前以最高数据率向 A 传送文件块的某相邻对等方,A 就优先把所请求的文件块传送给该相邻对等方。

P2P 文件分发的分析

一些概念

  • 从互联网传送数据到主机,叫做下载 (download),
  • 从主机向互联网传送,则称为上传 (upload) 或上载

P2P 文件分发的分析

有 N 台主机从服务器下载一个大文件,其长度为 F bit。假定主机与互联网连接的链路的上传速率和下载速率分别为 ui 和 di ,单位都是 bit/s。
计算机网络 P2P应用_第7张图片

C/S 方式下分发的最短时间

  • 从服务器端考虑,所有主机分发完毕的最短时间 Tcs 不可能小于 NF/us ;
  • 下载速率最慢的主机的下载速率为 dmin,则 Tcs 不可能小于 F/dmin 。
  • 由此可得出所有主机都下载完文件 F 的最少时间是:
    Tcs=max( NF/us,F/dmin )

客户–服务器方式下分发的最短时间

  • 从服务器端考虑,所有主机分发完毕的最短时间 Tcs 不可能小于 NF/us ;
  • 下载速率最慢的主机的下载速率为 dmin,则 Tcs 不可能小于 F/dmin 。
  • 由此可得出所有主机都下载完文件 F 的最少时间是:
    Tcs=max( NF/us,F/dmin )

P2P 方式下分发的最短时间

  • 初始服务器文件分发的最少时间不可能小于 F/us ;
  • 下载文件分发的最少时间不可能小于 F/dmin ;
  • 上载文件分发的最少时间不可能小于 NF/uT ,其中是 uT 是上传速率之和。
  • 所有主机都下载完文件 F 的最少时间的下限是:
    Tp2p >= max( F/us , F/dmin, NF/uT )

时间比较

  • 设所有的对等方的上传速率都是 u,并且 F/u = 1 小时。
  • 设服务器的上传速率 us = 10u。
  • 当 N = 30 时,
  1. P2P方式:最少时间的下限是 0.75 小时 < 1 小时(不管 N 多大)。
  2. 客户−服务器方式:最少时间是 3 小时。

在 P2P 对等方中搜索对象

  • Napster在一个集中式目录服务器中构建的查找数据库虽然很简单,但性能上却有瓶颈。
  • Gnutella是一种采用全分布方法定位内容的P2P文件共享应用程序,它解决了集中式目录服务器所造成的瓶颈问题。然而Gnutella是在非结构化的覆盖网络中采用查询洪泛的方法来进行查找的,因此查找的效率较低。
  • 现在广泛使用的索引和查找技术叫做分布式散列表 DHT (Distributed Hash Table)。DHT 也可译为分布式哈希表,它是由大量对等方共同维护的散列表。
  • 广泛使用的 Chord 算法是美国麻省理工大学于2001 年提出的。
  • 分布式散列表 DHT 利用散列函数,把资源名 K 及其存放的结点 IP 地址 N 都分别映射为资源名标识符 KID 和结点标识符 NID。
  • Chord 把结点按标识符数值从小到大沿顺时针排列成一个环形覆盖网络。

基于 DHT 的 Chord 环

  • 每个资源由 Chord 环上与其标识符值最接近的下一个结点提供服务。
    计算机网络 P2P应用_第8张图片
  • 为了加速查找,在 Chord 环上可以增加一些指针表(finger table),它又称为路由表查找器表
  • 对于结点 N4, 第 1 列第 i 行计算(N4 + 2i – 1),得出后继结点。
    计算机网络 P2P应用_第9张图片

你可能感兴趣的:(计算机网络)