admin管理员组文章数量:1620170
同时下载的人数越多,BT下载越快的奥秘——另辟蹊径的P2P应用
BT大家或许不熟,但迅雷下载大家一定知道。通过BT下载同一文件的人数越多,BT下载的速度就越快,这跟我们通常所理解的有些不一样。要说明原因,我们不妨先分析一下传统下载的瓶颈在什么地方。
传统的客户-服务器下载方式的分析
传统的文件下载,即我们平时下载应用软件、歌曲的方式是,文件存放在应用服务器,用户通过客户端软件向服务器请求资源,服务器把相应的资源发给我们。原理图如下:
用户A、B、C、D都通过网络向服务器请求文件,服务器则向网络传送文件。假设A、B、C、D从网络上下载的速率分别为U1、U2、U3、U4,服务器向网络上传的速率为S,要传送的文件大小为F,所有用户中最慢的主机接收速率为Umin,则可以得出所有主机都下载完文件F的最少时间是:
T = Max( NF/S , F/Umin )
在上面公式中,若第一项远大于第二项,则T近似与主机数N成正比。如果主机数增大1000倍,那么文件的分发时间也要增大1000倍。
所有的用户都向服务器请求文件,则网络瓶颈在服务器到网络的链路上,这段链路的负担会加重,拥塞情况也会加重。
什么是P2P应用
P2P是Peer-to-peer的缩写,中文翻译是“对等的”。P2P应用也就是对等通信应用。什么是对等通信呢?对等通信是指,在通信过程中,没有客户和服务器的区分,所有的用户都是同等的。在P2P网络应用中,没有(或只有极少数的)固定的服务器,但每个用户都是服务器。P2P应用的网络示意图如下:
假设A想要下载文件Z,那么它的执行过程大致是这样的:
- 向追踪器查询,得到用户B、C、F有文件Z。
- A同时与B、C、F建立连接。
- A分别向B、C、F请求文件Z的不同部分,如向B请求Z的前25%,向C请求中间50%,向F请求剩下的部分。
- 将请求得到的数据组装成文件Z。
- 下载完毕。
在上面这个例子中,A是请求方,而B、C、F就是A的对等方。由于P2P对等用户的数量非常多,因此,从不同的对等方获得不同的数据块,然后组装成整个文件,一般要比仅从一个地方下载整个的文件要快很多。
目前在互联网流量中,P2P工作方式下的文件分发已占据了最大的份额,比万维网应用所占的比例大得多。因此但从流量的角度看,P2P文件分发应当是互联网上最重要的应用。比特洪流BT(Bit Torrent)就是P2P应用中的佼佼者。
总结
本文是一个原理性的介绍,只提及了P2P应用的大概工作方式,但这其中还用很多的细节问题值得思考,如:
- 追踪器会不会成为P2P应用新的瓶颈?
- 网络中的用户可能随时会退出
- 哪些文件块应当优先请求?
- P2P应用的安全问题?
- P2P搜索对等方的方式?
- ……
参开文献:
- 《计算机网络》第7版 谢希仁 编著
- 百度百科
版权声明:本文标题:迅雷同时下载的人数越多,BT下载越快的奥秘——另辟蹊径的P2P应用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728807822a1174509.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论