На что похожа гранулярность проверок CRC при передаче битторрента?

290
Alan Corey

Я не думаю, что я когда-либо успешно использовал какой-либо торрент-клиент за 20 лет попыток время от времени. Я нахожусь в тупике мира данных: я могу получить около 3000 байтов в секунду при коммутируемом соединении или 7000 при использовании мобильного телефона 2G в хороший день. Большинство людей понятия не имеют, на что это похоже.

Поэтому мой вопрос заключается в том, могу ли я получить торрент-клиент для контрольной суммы, скажем, по крайней мере, на каждый переданный мегабайт? Нет смысла загружать всю неделю, если в понедельник у вас произошла ошибка, вы потратите время и трафик и получите мусор. PAR-файлы помогли бы, но я видел только те, которые использовались в бинарном контексте usenet. В идеале я хотел бы проверять CRC по крайней мере каждые 10 минут, повторно получать эти данные, если они ошибочны, а затем продолжать.

Я смотрю файл размером 1,3 Гб, который, по моим расчетам, займет не менее 52 часов. Моя пропускная способность также измеряется для первых (быстрых) 5 гигов в месяц, я уже превысил квоту этого месяца, пытаясь получить этот файл по HTTP. И снова файлы PAR могут спасти то, что я скачал, но, конечно, большинство сайтов не используют их. Я скачал за 2 дня, плохой SHA, все это бесполезно.

0
Когда у меня не было интернет-сервиса, я использовал бесплатный Wi-Fi в разных местах, чтобы получать файлы с помощью bittorrent, если я совершал несколько посещений, но делал это. Moab 8 лет назад 0

1 ответ на вопрос

1
masgo

Probably not, but BitTorrent (BT) might still be a good idea for your problem.

BT divides large files into chunks (so-called pieces) and calculates SHA1 hashes for each piece. Pieces can be loaded individually of each other (out of order and also in parallel). After a piece is downloaded completely(!) the SHA1 is checked and if a corruption is found the piece is discarded and downloaded again.

The size of a piece is variable but per-determined by the torrent creator. The default value piece size 256 KiB. Larger torrents usually use larger piece sizes. For example the ubuntu 16.04 ISO (1.3 GiB) uses 512 KiB. The Caine 7.0 ISO (2.9 GiB) uses 1 MiB.

So, if your piece size is not that big, bittorrent will achieve what you desire.

To save bandwidth, maybe you want to disable some BT features like DHT and PeX and rely only on trackers.

You might also want to limit the number of parallel connections and the number of parallel pieces, in order to complete a piece before your connection might break. (I think this can be achieved with the "in order" setting of qBittorrent)

Also many clients (like qBittorrent) can also use HTTP sources in addition to the torrent protocol. Althou I am not sure if they also to the piece checksum thing for HTTP sources.

+1. Может быть, стоит обратиться к спецификации bittorrent, для более технических пользователей: https://wiki.theory.org/BitTorrentSpecification ChrisInEdmonton 8 лет назад 1
Спасибо, это должно сработать. Я сейчас в OpenBSD и единственный установленный торрент-клиент - это rtorrent. Страница руководства вообще не упоминает CRC. Я пытаюсь получить изображение Raspbian Jessie, пробовал Jessie Lite, но там нет X. Потратил пару дней, пытаясь его добавить. Alan Corey 8 лет назад 0
Transmission - это еще один BT-клиент со многими функциями, который также доступен для BSD. https://www.transmissionbt.com/ masgo 8 лет назад 0
Чем больше файл, тем больше должен быть размер куска. В противном случае сам торрент-файл становится слишком большим. Таким образом, большие файлы имеют тенденцию иметь большие размеры. Также загрузчик не может изменить размер фрагмента, это устанавливается тем, кто сделал файл .torrent, и предоставляет начальное начальное число. OP не должен пытаться загружать большие файловые потоки через коммутируемый доступ, но 1,3 ГБ должно нормально работать на вашем быстром (предположительно) измеренном сотовом соединении. Общий объем потребляемой полосы пропускания, вероятно, будет примерно равен 3,0 ГБ из-за обмена с коллегами и накладных расходов. LawrenceC 8 лет назад 0
Изображение Raspbian Jessie использует размер фрагмента 1 МБ. masgo 8 лет назад 0
Я вижу передачу в портах здесь (OpenBSD 5.7). Я пытаюсь использовать rtorrent после прочтения. Застрял загрузчик моего DHT в данный момент, не уверен, что я могу получить порт 6881 через подключение к мобильному телефону. На прошлой неделе у меня кончились 5 гигабайт быстрых данных, а сейчас я не спешу еще на 3 недели. Alan Corey 8 лет назад 0
Yup: Имя: 2016-03-18-raspbian-jessie.zip Хэш: 2e72603a377f702ca81020f634ada0ff6731544f Создано: Transmission / 2.52 (13304) Создано: Пт 18 марта 09:29:00 2016 Количество штук: 1334 Размер части: 1.00 МиБ Общий размер : 1,40 ГБ Конфиденциальность: торрент Alan Corey 8 лет назад 0

Похожие вопросы