精華區beta P2PSoftWare 關於我們 聯絡資訊
本身是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
jonestem:感謝啦~ 這麼詳細的資訊 當然要收嚕~ ^^b 10/05 11:28