作者counterspade (payrespect)
站内P2PSoftWare
标题[BT] BitComet的Padding File
时间Fri Oct 5 10:45:04 2007
本身是uTorrent的使用者,最近在找种子的时候,常常会出现什麽"如果看
到这个档案请升级0.85以上版本的BitComet"之类的档案,一开始觉得很奇
怪,可是感觉和需求档案没有相关所以就没有勾选下载,下载完之後的档案
也是完整可以使用的,所以也没有太去注意这个"padding file"是什麽东西
,但是有一次下载的档案数量比较多,一个一个勾掉勾到有点手酸,所以就
想来PTT找一下这个是什麽东西,在版上搜寻了"padding"找不到东西,我也
不知道该怎麽称呼这个赘物,只好去Google一下这个"padding file"到底是
什麽东西.
----------------以下仅列出搜寻到的文章,不代表本文立场--------------------
首先看到有一些大陆方面的报导:
http://www.cnbeta.com/articles/37304.htm
[图]BitComet新特性浪费带宽时间惹众怒
ugmbbc发布於 2007-08-25 10:17:01
BitComet
感谢EndlessRain的投递
新闻来源:MyDrivers编译
作为一款BitTorrent客户端软件,BitComet随着版本不断更新而加入了越来
越多的新特性,但也因此变得庞杂起来,而且很多功能不但没有带来方便,
还让用户很是烦恼,比如「Padding Files」。
对於包含多个文件的Torrent种子,BitComet都会默认生成一个对应的
Padding Files文件,以解决文件块在一个文件末尾结束、另一个文件头部
开始的问题,同时还可以让用户通过HTTP、FTP、ED2K等渠道进行跨协议下
载。
不过BitComet开发小组的工作做得并不完善,导致低於0.85版的BitComet用
户和uTorrent、Azureus等其他客户端用户都不得不额外下载无用的
Padding Files文件,浪费时间和带宽。
举个例子,如果你要下载一个包含100首MP3歌曲的专辑,就得同时下载100
个不需要的Padding Files,导致文件体积增大3%左右,某些极端情况下甚
至带来10%的垃圾数据。
占用空间倒是小事儿,浪费精力着实让很多用户苦不堪言,而且如果你中途
删除这些文件,将无法通过Hash完整性检查,也无法链接到新的种子,更严
重的是,就连新版BitComet用户自己也可能会因此受到伤害,因为已经有人
制作了包含虚假Padding Files的种子,会导致BitComet 0.85+用户永远无
法完成下载,甚至可能会遭到恶意攻击。
这样,不少用户只能选择换回低版本的BitComet(0.84/0.70),或者改用
其他客户端。
此外,从0.70版改变核心架构後,BitComet的内存和处理器占用率过高问题
就一直没能得到彻底解决。
--------------------------------------------------------------------------
後来有看到这个讨论串:
http://tinyurl.com/yqbw8j
BitComet的padding文件让您出离愤怒了吗?
为BitComet的垃圾padding文件而出离愤怒的人所写的Q&A。
本篇将教您如何「劝说」BitComet(比特彗星)0.85或以上版本的用户放弃
使用『文件按分块大小对齐』的垃圾功能。
(本文所称的BitComet表示0.85或以上版本)
BitComet引入了一个叫做『文件按分块大小对齐』的功能,该功能只会浪费
我们宝贵的上传带宽和磁盘空间而已。
那麽究竟什麽是padding(累赘)文件?我们能不能忽略它们?它们对我们
的网络和硬盘带来了怎样的影响?以及改我们如何应对呢?
且听我细细道来。
1、什麽是「分块」?
一个torrent资源,通常包含多个可供下载的文件,这些文件的数据被视为
一个连续的整体,并且被等分为许多数据分块,每个数据块的大小就是用户
在制作torrent时所选择的分块大小。
torrent制作工具为每个分块计算散列,并将计算结果保存到torrent文件中
。torrent客户端每下载一个分块,就会计算它的散列,并与torrent文件中
的值做比较,相同的话就表明该分块正确无误。
2、BitComet产生的padding文件究竟是怎麽来的?
用BitComet制作torrent时,会看到一个叫做『文件按分块大小对齐』的功
能。使用该功能时,BitComet会为每个文件添加累赘,使得每个文件与其累
赘加起来正好能被分成整数个分块。几乎每个文件都会附加一个累赘。
3、非BitComet用户可以忽略那些padding文件吗?
不可能!很可惜,即使用户在打开torrent时,选择不下载那些累赘文件,
你的客户端还是会下载那些累赘文件的。
如前所述,散列的计算是以分块为单位的,因为每个文件的最後一个分块包
含了附加的累赘,又注意到对一个不完整的分块是无法进行校验的,所以不
论你做,非BitComet客户端还是会下载那些累赘的。
4、为什麽BitComet不需要下载padding文件?
因为BitComet知道产生累赘的算法,因此它不需要下载,而是直接计算出累
赘,从而节省其用户的下载带宽,并在BitComet用户之间节省上传带宽。但
是,这对非BitComet用户是极其不公平的!
5、其他BT客户端会支持这种padding文件,不去下载它们吗?
不太可能。BitComet加入累赘文件,目的是为了方便HTTP/FTP混合下载,而
并非为了BT下载功能。反而很不幸地,这些累赘只会对BT网络带来损害——
增加torrent文件的大小、浪费网络带宽和磁盘空间、增加非BitComet用户
文件管理上的负担。其实,这项功能对於非BitComet用户而言就是垃圾产生
器。
6、我们这些非BitComet用户有没有办法反击?或者说能不能「劝说」
BitComet用户放弃使用『文件按分块大小对齐』,就如同那些padding劝说
大家使用BitComet一样?
能!我们有办法!实际上,BitComet的累赘避免机制是有缺陷、有安全漏洞
的——有道是聪明反被聪明误,不公平的行径最终还是会付出代价的!
大家看仔细了:
首先,创建一个文本文档,在里面写一些信息,然後重命名为「
_____padding_file_0_[注释]____」([注释]可以是任何你想说的话),要
注意没有.txt後缀名。最後,在您制作torrent的时候,记得包含该文件就
行了。同时,请在torrent发布页或者torrent的注释中明确指出:「请勿使
用BitComet0.85或以上版本下载,否则後果自负!」。
我通常采用类似「_____padding_file_0_请建议身边的人停止使用
BitComet0.85或以上版本中的[文件安分块大小对齐],请将此文件包含在您
的torrent中____」的文件名,并在其中包含更详细的建议。
7、这种做法是如何其作用的?
这种做法是基於这样一个事实:BitComet会忽略我们创建的文档,它会将其
当作累赘,而不会下载(极不公平!)。
因为我们创建的文档的内容不太可能和BitComet产生的累赘的内容相同,而
BitComet又铁定不会获取该文件,於是它永远也无法通过校验、永远也无法
完成下载。尽管对於BitComet用户而言,数据的完整性几乎不会受到影响,
但这是我们发出的一个警告!
8、这样做合法吗?
当然合法!我们制作的torrent文件在格式上完全合法,完全可以下载。只
要BT客户端不忽略任何数据(本来就不应该忽略任何数据),那麽就一定能
够下载完成。BitComet因为自己的bug,永远无法下载完成,那也是它自己
的问题,需要它自己去修正。
9、为什麽我会写这篇技术文章?
我和很多朋友都不是BitComet的用户,而很多用户仍然坚持使用低版本的
BitComet。但是,我们看到了越来越多的torrent里包含了无数的累赘,这
让我们非常恼火——删了吧,无法通过校验、也无法做种,而删不删都会出
现极大的浪费(特别是珍贵的上传带宽)。我知道有人下载17GB的画册,其
中竟然包含了大於500M的垃圾累赘。我在BitComet官方论坛也提了建议,可
惜没有得到任何答覆。真是太可恶了!我们受够了BitComet的流氓行径!我
们决定反击!
----------------以上仅列出搜寻到的文章,不代表本文立场--------------------
上面第二篇文章最後有提到,17G的东西竟然会多出500M的padding files,
(应该是种子内的档案越多,padding files就会越多,越肥)
而且似乎就算我在使用uTorrent时勾选不下载,依然得下载这些padding files,
(uTorrent还是会把这些padding files跑完,但是优先顺序是忽略,现在
回想起来,当初自己真是笨蛋,还勾取消勾到手酸... <囧>)
本文仅提供padding file的相关资讯,并无预设立场,因为看到第二篇文章
後续的讨论战的很凶,不希望因此造成版上失和,仅提供资讯让想知道
padding files的P2P版友能有个关键字搜寻,并且了解不用和我一样勾取消
勾到手酸,因为就算勾掉还是得下载,没有人会同情你的.. (泣
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.129.175.113
1F:推 jonestem:感谢啦~ 这麽详细的资讯 当然要收噜~ ^^b 10/05 11:28
2F:推 kira925:这篇是好文阿...版主m版主mY 10/05 12:41
3F:推 Kenqr:推!请大家不要使用流氓BitComet 10/05 13:13
4F:→ netburst:这是指新版BC制作出来的种子吗 旧版制作的会吗 10/05 17:57
5F:推 counterspade:做种子的时候不勾选"文件按分块大小对齐"就不会在其 10/05 20:38
6F:→ counterspade:他的软体出现padding file,旧版的应该不会有 10/05 20:39
7F:推 zyvupu:请爱用utorrent 10/06 08:26
8F:推 deani:嗯,谢谢提供资讯 10/06 12:03
9F:推 jerrystarks:推 终於了解那是做啥的了 10/07 00:49
10F:推 kaorucyc:那个17G的画册我好像有载 10/07 13:22