【计算机网络】P2P文件分发介绍

博客对P2P体系结构的自扩展性进行定量分析,对比客户 - 服务器体系结构,指出P2P体系结构文件分发时间优势。还介绍了用于文件分发的BitTorrent协议,包括洪流、追踪器等概念,以及文件分发准备、请求和响应块的策略。

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


考虑一个场景:从单一服务器向大量主机(称为对等方)分发一个大文件。
两种处理方式
客户-服务器文件分发:服务器需要向每个对等方发送该文件的一个副本
P2P文件分发:当服务器上传了文件的一个副本后,各个对等点下载该文件的一部分,然后协助服务器上传自己拥有的文件部分

P2P体系结构的自扩展性

对前面提到的文件分发场景进行简单的定量分析,考虑在两种体系结构下的分发时间(distribution time)
image.png
分发时间
所有N个对等方得到该文件的副本所需要的时间
客户-服务器体系结构分析
考虑两个时间

  1. 服务器需要向每个对等方传输该文件,即需要上传NF比特数据,得到 N F u s \frac{NF}{u_s} usNF
  2. 考虑所有对等点的下载文件时间,即需要下载速率最小的对等点下载F比特数据,得到 F d m i n \frac{F}{d_{min}} dminF 其中 d m i n = m i n ( d 1 , d 2 , . . . , d N ) d_{min}=min(d_1, d_2, ..., d_N) dmin=min(d1,d2,...,dN)
    则最终的最小分发时间为
    image.png
    对足够大的N,客户-服务器分发时间由NF/u确定。则该分发时间随着对等方的数量N线性增加
    P2P体系结构分析
    考虑3个时间
  3. 服务器需要将待传输的文件上传到P2P网络中,得到 F u s \frac{F}{u_s} usF
  4. 各个对等点在整个过程中都会下载至少F比特数据,得到 F d m i n \frac{F}{d_{min}} dminF 其中 d m i n = m i n ( d 1 , d 2 , . . . , d N ) d_{min}=min(d_1, d_2, ..., d_N) dmin=min(d1,d2,...,dN)
  5. 整体分析这个P2P网络,网络中通过一个服务器加所有对等点总共交付NF比特数据,得到NF/( u s + u 1 + u 2 + . . . + u N u_s+u_1+u_2+...+u_N us+u1+u2+...+uN),其中 u t o t a l = u s + u 1 + u 2 + . . . + u N u_{total}=u_s+u_1+u_2+...+u_N utotal=us+u1+u2+...+uN
    得到最终的最小分发时间
    image.png
    P2P体系结构的自扩展性
    假设:F/u=1小时, u s u_s us=10u, d m i n ≥ u s d_{min}≥u_s dminus
    image.png

CS体系结构的文件分发时间随着对等点数量的增加呈线性增长,而P2P体系结构由于对等方既下载文件块又上传文件块,其文件分发时间对于任意N总小于1小时

分析:由于 d m i n d_{min} dmin u s u_s u