Что такое BitTorrent и что такое торренты?

BitTorrent — это протокол связи для обмена файлами P2P (или однорангового обмена файлами), который позволяет децентрализованно распространять данные через Интернет. Проще говоря, вместо загрузки файла с централизованного сервера его теперь можно загрузить из нескольких источников, каждый из которых действует как узел мини-сервера. Как этого добиться, мы обсудим далее в этой статье. Для отправки или получения файлов требуется клиент BitTorrent (программа, реализующая протокол BitTorrent), подключенный к Интернету. Спецификация BitTorrent, первоначально разработанная в 2001 году, бесплатна для использования, и многие клиенты имеют открытый исходный код.

Торрент-файл содержит метаданные о файлах (и папках), которые будут распространяться, и о том, как их загрузить. Торрент-файл (с расширением «.torrent») содержит только информацию об этих файлах, а не сами файлы, поэтому его размер чрезвычайно мал — обычно не более нескольких КБ.

Важные условия:

Трекер: сервер «трекера» отслеживает, где находятся копии файлов на одноранговых компьютерах, которые доступны по запросу клиента, и помогает координировать эффективную передачу и повторную сборку скопированного файла.

Раздача: Под раздачей понимается загрузка содержимого файлов торрента. Сидер — это тот, кто продолжает загружать файл после его скачивания.

Пиявка: Личеры — это те, кто загружает файл, но отказывается его раздавать или ограничивает скорость загрузки. (P.S. Будьте сеятелем, а не личером — таких в мире достаточно).

Пир: Пир — это кто-то, загружающий файл из раздателя (который загрузил файл полностью) или от других пиров (которые, возможно, загрузили необходимую часть), но у которого еще нет полного файла.

Рой: группа людей, загружающих и распространяющих один и тот же торрент.

Трекер: сервер, который отслеживает всех подключенных пользователей и помогает им найти друг друга.

Клиент: программа, способная реализовать протокол BitTorrent.

Развитие BitTorrent:

2001: Протокол BitTorrent был разработан Брэмом Коэном, выпускником Университета Буффало.

2005–2006: Распределенное отслеживание с использованием распределенных хеш-таблиц позволило клиентам обмениваться данными о группах напрямую, без необходимости использования торрент-файла и функции обмена между узлами, что означает, что подключенные узлы могут обмениваться информацией об узлах.

2017: Выпущен BitTorrent v2, заменяющий метод хеширования с SHA-1 (который больше не считался безопасным) на SHA-256. Формат файлов .torrent v2 поддерживает гибридный режим, в котором торренты хешируются обоими методами, так что файлы будут доступны другим узлам как в группах v1, так и в v2. Каждый файл теперь хешировался индивидуально, так что, если несколько торрентов включали одни и те же файлы, раздающие других торрентов могли выступать в качестве раздающих для общих файлов. Еще одним обновлением стало добавление хэш-дерева, чтобы ускорить время между добавлением торрента и загрузкой файлов и обеспечить более детальную проверку на предмет повреждения файлов.

Как работают торренты?

Распространяемый файл делится на сегменты, называемые частями. Первый загрузчик действует как начальный, а загрузчики изначально подключаются как равноправные. Люди, которым нужен был файл, загружали торрент, и их клиент использовал его для подключения к трекеру, у которого был список IP-адресов других семян и пиров в рое. Когда каждый узел получает новую часть файла, он становится источником (этой части) для других узлов, освобождая исходное начальное число от необходимости отправлять эту часть каждому компьютеру или пользователю, желающему получить копию. Как только одноранговый узел завершит загрузку полного файла, он будет функционировать как начальное число.

Каждый фрагмент защищен криптографическим хешем в дескрипторе торрента, и, таким образом, любая модификация фрагмента может быть обнаружена. Части обычно загружаются непоследовательно, поскольку в первую очередь загружаются легкодоступные части (сокращается общее время загрузки), а затем они перестраиваются в правильный порядок клиентом BitTorrent, который отслеживает, какие части ему нужны, а какие части у него есть и которые можно загрузить. другим сверстникам. Фрагменты имеют одинаковый размер в одном торренте (например, файл размером 100 МБ может быть передан как 100 фрагментов по 1 МБ, как 400 фрагментов по 256 КБ или даже как 3200 фрагментов по 32 КБ). Таким образом, загрузку любого файла можно остановить в любой момент и возобновить позже без потери ранее загруженной информации, что делает BitTorrent полезным при передаче файлов большего размера.

Структура торрент-файла:

Такой инструмент (https://torrent-file-editor.github.io/) можно использовать для просмотра торрент-файла.

announce: трекер загружаемых файлов.

комментарий: комментарий к торрент-файлу, добавленный создателем торрента. (Необязательное поле)

информация: содержит длину и путь каждого файла.

имя: имя торрент-файла.

куски: обозначает хеш каждого фрагмента (SHA-1 или SHA-256, в зависимости от версии), хранящийся в хэш-списке.

Кем создано, дата создания, длина произведения: Все понятно.

Прямая загрузка или P2P-сеть:

Из-за своей централизованности прямая загрузка страдает при большой нагрузке (т. е. когда несколько человек пытаются загрузить файл одновременно). Это самое значительное преимущество торрентов — все пользователи будут действовать как равноправные, и в конечном итоге загрузка будет намного быстрее для всех. Его присущая ему способность быть более эффективным при больших нагрузках просто поразительна, когда дело касается реальных случаев использования.

Однако сама эта способность имеет свою цену. Если файлы пользуются минимальным спросом, шансы на то, что у них будет раздатчик, практически равны нулю. Это означает, что будет невозможно даже загрузить файл, в отличие от прямой загрузки, при которой файл всегда загружается с централизованного сервера. Хотя технически возможно всегда иметь работающую раздачу для этих файлов, это будет довольно дорого и сводит на нет весь смысл. Возможно, можно найти золотую середину для определенных файлов, которые изначально пользуются большим спросом, а затем снижается с переходом от сети p2p к централизованной сети, но осуществимость этого еще предстоит изучить.

Некоторые торрент-клиенты предлагают полезную функцию — последовательную загрузку. Это позволяет загружать файлы по порядку (более ранние фрагменты имеют более высокий приоритет, поэтому они, как правило, загружаются первыми). Практический вариант использования — смотреть видео по мере его загрузки, как только будет загружено около 10–20% его объема, и разрешить загрузку завершиться в фоновом режиме.

Загрузка файлов через торренты обычно приводит к более интенсивному использованию данных, поскольку части загружаются и выгружаются. Разница зависит от вашего коэффициента загрузки, но я лично заметил, что он в 1,2 раза превышает фактический размер (т. Е. В конечном итоге вы загружаете 20% размера файла, будучи партнером). Конечно, если вы продолжите раздачу (что следует делать, если у вас нет ограничений на объем данных), ваше использование будет выше.

При загрузке файлов с торрентов большинство клиентов позволяют назначать приоритеты для каждого торрента и каждого файла в торренте, а также при необходимости пропускать несколько файлов. Это то, чего не хватает при прямой загрузке, если только каждый файл не доступен для загрузки отдельно.

Одним из основных случаев использования торрентов является цифровое пиратство, поскольку оно позволяет обмениваться файлами без необходимости платить за централизованный источник, на котором размещаются файлы, и нести высокие затраты из-за увеличения использования сети.

Некоторые игры также используют его для распространения обновлений, а также в некоторых дистрибутивах Linux, опять же, чтобы сократить расходы.

При загрузке через торренты все другие узлы могут видеть ваш IP-адрес и замечать, что вы тоже пытаетесь загрузить этот файл. Если это вас беспокоит, простым решением будет использование VPN для маскировки вашего IP-адреса. Это также поможет запретить вашему интернет-провайдеру отслеживать то, что вы передаете через торренты (или что вы вообще скачиваете торренты).

Дополнительный материал для чтения (обещаю, довольно интересный материал):

Отравление торрентов. Отравление торрентов – это намеренное повреждение файлов, передаваемых по протоколу BitTorrent. Обычно он используется в целях борьбы с нарушениями. Он включает в себя такие методы, как направление пользователей к поддельным/недействительным источникам, трекерам и т. д., изменение передаваемого фрагмента (что можно обнаружить из-за несоответствия хеша), использование плохого узла, снижающего производительность роя, и т. д.

Как создать свой торрент: https://youtu.be/wVpnh2EkNhY?t=208. Это видео объясняет это лучше, чем я мог бы в тексте.

Магнитные ссылки используются как альтернатива обмену торрент-файлами. Это простые ссылки, содержащие только необходимую информацию, хранящуюся в торрент-файле, и криптографический хэш торрент-файлов. Клиенту нужно только сравнить хэш в магнитной ссылке с хэшами общих торрентов, отфильтровать только те, у которых совпадающие хэши, и быстро восстановить множество пиров в сети. Это похоже на распределенную хэш-таблицу, используемую торрентами без трекера, которые не используют центральный сервер для координации и отслеживания одноранговых узлов.

Обход блокировки торрентов.Некоторые интернет-провайдеры по всему миру блокируют сайты с индексами торрентов, такие как thepiratebay.org, 1337x.to, kickass.to и т. д. Для шифрования вашего трафика могут потребоваться VPN. избегайте штрафов или угроз со стороны своих интернет-провайдеров. Другая альтернатива — использование сидбокса, который представляет собой удаленный сервер, на котором вы можете загружать торрент-файлы, а затем передавать эти файлы на свой компьютер с помощью FTP, HTTP и т. д.

Экономика торрентов:

Торренты сами по себе не связаны с какими-либо финансовыми аспектами, за исключением потенциальной экономии на затратах на централизованные серверы и т. д. Сайты с индексами торрентов, раздающие и группы, разрабатывающие BitTorrent-клиенты, также не зарабатывают много (и, как правило, полагаться на пожертвования). Основная проблема здесь больше связана с тем, как торренты способствуют развитию цифрового пиратства, так почему бы нам не обсудить это, даже если это обходной путь?

Оценочные ежегодные потери из-за цифрового пиратства трудно оценить, но, согласно нескольким исследованиям, эта цифра, похоже, лежит в пределах от 3 до 30 миллиардов долларов США. Вот почему эта цифра сильно завышена: эта цифра представляет собой сумму доходов, и экономисты склонны обманывать нас: товар стоимостью 100 долларов можно разделить на 50 долларов затрат на производство, 20 долларов на распространение и оставшуюся часть в магазин. При выполнении математических расчетов нередко стоимость рассчитывается как сумма доходов = 100 долларов США + 50 долларов США + 20 долларов США = 170 долларов США, что явно неточно. Таким образом, цифра уже завышена и лукавит. В случае цифрового пиратства, с логической точки зрения, единственные приемлемые затраты, которые можно добавить, — это затраты на «производство» или «производство», а также упущенная прибыль, а не такие затраты, как затраты на распространение или сервер. Это снова приведет к снижению числа. И последний, возможно, самый важный фактор: большинство пиратов — это молодые люди или люди из более бедных стран, которых объединяет одно — они не могли бы позволить себе платить за то, что пиратили, даже если бы захотели. Таким образом, даже если пиратство будет искоренено, доходы пострадают не так сильно, как думают компании. По иронии судьбы, пиратство также имеет определенные преимущества: оно способствует распространению молвы о продуктах и ​​помогает привлечь клиентов к продукту в будущем, когда они смогут получить его законным путем.

Итак, мы подошли к концу этой статьи (и моей тирады против экономистов и корпораций, которые искажают правду, чтобы добиться вашей благосклонности). Надеюсь, вам понравилось чтение и вы узнали кое-что важное :)