P2P 分享軟體的有趣現象

来源:互联网 发布:自学编程入门先学什么 编辑:程序博客网 时间:2024/06/05 17:31

 

最近在使用 P2P 分享软体时,观察到一个有趣的现象,让我瞭解到,为何有人可以用 P2P  很快 download 到档案,有人却 download 好几天,最后不得不放弃。如下图,用红色线框起来的几个 Client,下载到 99.9% 就停止不前了,就算有 download,流量也很小,0 ~ 1.4 KB/s,为何?

 

在网路上,大家都是聪明人,P2P 分享,必须有 download 也要有 upload,而有些人比较大方,当他们档案 download 完毕后,他们还是会继续 upload。反过来,如果你只想 donwload,但是完全不 upload,就摆明是要占便宜。所以设计 P2P 软体的人,就会根据 upload data size,跟 download data size,来算出一个ratio。当 local client 向其他的 remote client 提出 download request, 这个 ratio 也会包含在 download request 里。

 

remote client 在收到你的 client download request 时,会先放到 request queue 里,然后当 remote client 闲置时,会从 queue 里找一个 ratio 最高的,优先服务。

 

那些 download 到 99.9% 的 client 是怎么回事?那是因为 ratio 太低,排队排不上。

 

ISP 提供的 Internet 连线,不管是光纤 10 M,ADSL 8M,2M ,或是 cable modem,通常是 download 快,upload 慢。因为一般用户,upload 的机会不多,例如送 e-mail,送 HTTP request,FTP upload 档等等。但是 download 用得很多,例如看 YouTube。所以很多人在用 P2P download 时,越 download 到到最后,ratio 值越低。

 

另外,因为 upload 频宽被占满,你看网页,或是看 video 会反应很慢,加上 P2P 都是 multi-thread 处理 upload/download,就更慢了。所以有人就把 upload 频宽设的很小很小。结果还是跟上面一样。

 

那些下载已经 99.9% 的 client 还有一个风险,当所有人都 download 完了资料,很可能就说 bye bye 下线了,然后就留下 0.1% 的遗憾。99.9% 的 download 档案,最后只有移除一途了。

p2p