[计算机网络]P2P文件分发介绍
作者:小教学发布时间:2023-10-28分类:程序开发学习浏览:107
文章目录
- P2P体系结构的自扩展性
- BitTorrent协议
- 参考资料
考虑一个场景:从单一服务器向大量主机(称为对等方)分发一个大文件.
两种处理方式
客户-服务器文件分发:服务器需要向每个对等方发送该文件的一个副本
P2P文件分发:当服务器上传了文件的一个副本后,各个对等点下载该文件的一部分,然后协助服务器上传自己拥有的文件部分
P2P体系结构的自扩展性
对前面提到的文件分发场景进行简单的定量分析,考虑在两种体系结构下的分发时间(分发时间)
分发时间
所有N个对等方得到该文件的副本所需要的时间
客户-服务器体系结构分析
考虑两个时间
- 服务器需要向每个对等方传输该文件,即需要上传NF比特数据,得到N F 使用 S \crc{nf}{u_S}使用S核磁共振
- 考虑所有对等点的下载文件时间,即需要下载速率最小的对等点下载F比特数据,得到F
D
M
我
N
\frac{F}{d_{min}}D最小F其中D
M
我
N
=
M
我
N
(
D
1
,
D
2.
,
。
。
。
,
D
N
)
D_{min}=min(d_1,d_2,...,d_N)D最小=最小(D1,D2.,..。,DN)
则最终的最小分发时间为
对足够大的N,客户-服务器分发时间由Nf/u确定.则该分发时间随着对等方的数量N线性增加
P2P体系结构分析
考虑3个时间 - 服务器需要将待传输的文件上传到P2P网络中,得到F 使用 S \crc{F}{u_S}使用SF
- 各个对等点在整个过程中都会下载至少F比特数据,得到F D M 我 N \frac{F}{d_{min}}D最小F其中D M 我 N = M 我 N ( D 1 , D 2. , 。 。 。 , D N ) D_{min}=min(d_1,d_2,...,d_N)D最小=最小(D1,D2.,..。,DN)
- 整体分析这个P2P网络,网络中通过一个服务器加所有对等点总共交付NF比特数据,得到NF/(使用
S
+
使用
1
+
使用
2.
+
。
。
。
+
使用
N
U_S+u_1+u_2+...+u_N使用S+使用1+使用2.+..。+使用N)、其中使用
T
O
T
一个
L
=
使用
S
+
使用
1
+
使用
2.
+
。
。
。
+
使用
N
U_{TOTAL}=u_S+u_1+u_2+...+u_N使用TOT一个L=使用S+使用1+使用2.+..。+使用N
得到最终的最小分发时间
P2P体系结构的自扩展性
假设:F/u=1小时,使用 S U_S使用S=10U,D M 我 N ≥ 使用 S D_{min}≥u_SD最小≥使用S
CS体系结构的文件分发时间随着对等点数量的增加呈线性增长,而P2P体系结构由于对等方既下载文件块又上传文件块,其文件分发时间对于任意N总小于1小时
分析:由于D M 我 N D_{分钟}D最小≥使用 S U_S使用S、则F/D M 我 N D_{分钟}D最小小于F/使用 使用使用;对于D P 2. P D_{P2P}DP2.P的最后一项,分子为NF,分母为Nu+使用 S U_S使用S必然会得到一个小于F/U的结果
BitTorrent协议
一个用于文件分发的P2P协议
BitTorrent基础介绍
洪流(Torrent):参与一个特定文件分发的所有对等方的集合
在一个Torrent中的对等方之间文件传输单位为等长度的文件块(块)
追踪器(Tracker):每个Torrent都有的节点,追踪当前仍在Tracker中的对等点。追踪实现方式为:当一个对等方加入某洪流时,它向追踪器注册自己,并周期性地通知追踪器它仍在该洪流中
实例说明
邻近对等方
一个新的对等方alice加入Torrent向Tracker注册,Tracker随机选择了50个对等方,将这些对等方的IP地址发给alice,alice则尝试与这些对等方建立tcp连接,成功建立tcp连接的对等方称为alice的“邻近对等方.
文件分发准备
Alice周期性地通过tcp连接询问每个邻近对等方它们所具有的块列表.爱丽丝最终将得到其所有邻近对等方所有的块列表,为其请求她没有的块做准备。
在任何给定的时刻,alice将具有块的子集并知道它的邻居具有哪些块
请求哪些块
最稀缺优先(最稀有的第一名):向邻近对等方请求副本最少的块,一定程度上实现均衡每个块在洪流中的副本数量
响应哪些请求
爱丽丝:对换算法根据当前能够以最高速率向她提供数据的邻居(疏通),给出其优先权。
爱丽丝持续地测量接收到比特的速率,并确定以最高速率流入的4个邻居作为备选相应集,这四个对等方称为疏通(已解锁)。疏通集每过10s则重新计算并修改。另外,每过30s,Alice将随机选择另一个邻居向其发送Chunk。除了这5个对等方,其他的邻近对等方都被阻塞,无法与爱丽丝进行数据传输
对等方能够以趋向于找到彼此的协调的速率上载
随机选择邻居允许新的对等方得到块,避免纯速率匹配将数据传输局限在很小范围内
参考资料
- 詹姆斯·F·黑石&凯斯·W·罗斯计算机网络:一种自上而下的方法(第7版)中文版
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 8[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版