May 2, 2019

Как работает технология Torrent?

Современные Torrent-клиенты работают на основании технологии BitTorrent – это протокол, разработанный Брэм Коэн, программистом из Америки. В этой статье расскажем про эту технологию.

Рассмотрим на пример

Изначально ситуация была такова: школьные годы, домашнее задание по математике решил всего один «ботан», но сдать нужно каждому. Так приходилось за 1 перемену списать решение всем 30 одноклассникам. Одновременное списывание возможно только 2-м, если хорошо постараться, 4-м ученикам. Каждому потребуется 3 минуты для перенесения информации, а перемена содержит только 15 минут. Так успеет переписать только 10-20 человек, требуется решение выходящее за стандартные рамки.

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

Простые расчеты:

  1. Спустя 3 минуты высокий бал получит отличник, который сделал задание, и 2 двоечника.
  2. Через 6 минут: из 3 тетрадей получится списать 6 ученикам (уже сформировалось 9 человек с предыдущими).
  3. Через 9 минут: к сумме готовых ответов прибавляется 18 решений (в сумме 27 человек).
  4. К 12 минуте: остались последние 3 неудачника, которым нужно успеть за 3 минуты выполнить задание и сбегать в туалет.

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

Работа технологии BitTorrent

Подробнее о реализации текущей технологии в реальности:

  1. Пользователю необходимо передать файл какой-то другому или общественности, при условии, что объём информации большой. Этот человек инициализирует запуск приложения на собственном компьютере – это торрент-клиент. Согласно особому формату, приложение формирует описание для файла: наименование, размер, деление на частички и информация по распределению данных. Все кусочки сохраняются с новым расширением .torrent.
  2. Когда всё будет подготовлено производится загрузка файлов на отдельный, выделенный сервер – торрент-треккер. Несмотря на наличие файлов, сервер самостоятельно не участвует в закачке, а только управляет ей. Дополнительно клиент сохраняет координаты сервера и вкладывает адрес для загрузки файла.
  3. Затем каждый пользователь, нуждающийся в данном огромном файле, будет вынуждены предварительно загрузить торрент клиент, который обрабатывает все файлы с расширением .torrent. Приложение распознаёт ранее сгенерированное описание и определяет координаты для сервера-управления. С выделенного сервера приходит информация о месторасположении информации.
  4. Каждый пользователь имеет собственную часть загруженных кусочков файлов. Приложение налаживает соединение с пользователями и запрашивает отдельные кусочки информации.
  5. Предположим, что я загружаю определённый кусочек данных, а сервер получает об этом уведомление. Если кому-нибудь потребуется данный участок информации, управляющий сервер будет просить его у пользователя. «Ещё бы, мне же не жалко, берите файл» – отвечает владелец. Чем большее количество задействованных пользователей в сети, тем быстрее удастся загрузить файлы.

Особенности системы

Проблема сразу становится очевидной – есть люди, которые не готовы бескорыстно помогать другим, в отличие от меня. Скачать данные хочется каждому, а вот отдавать их не особо то и хочется, так как необходимо сохранять информацию в первоначальном виде на собственном жестком диске (у многих из нас итак всё загружено сериями 120-сезонного сериала). Для работы раздачи нужно постоянно держать ПК в активном положении, а также использовать сеть интернет, а он ведь бывает и с оплатой за трафик.

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

Так отмечается повышенное удобство передачи огромных файлов, например, фильмов, сериалов, сборников песен, игр и другого медиа-продукта. Должной оценки со стороны киностудий, а также музыкальных лейблов приложение явно не получило. Поэтому с определённой регулярностью они мешают торрентам развиваться и предотвращают прогресс различными доступными способами. Главный рычаг воздействия – это блокировка доступа и жалобы согласно авторскому праву на распространение данных. Постоянно проводятся исковые делопроизводства по отношению к владельцам торрент-треккеров, а иногда заводятся дела против активных пользователей.

В сети появилось отличное выражение: Ты занимаешься благотворительностью? – Естественно, оставляют торрент-клиент на раздаче.

Отношение к программе Торрент

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

Среди самых известных правообладателей, которые оценили функциональность и простоту технологии находятся:

  • отдельные радиостанции, которые передают в данном формате собственные записи, возможно вы слышали о: CBC, NRK (радиостанция из Норвегии), VPRO (страна - Голландия), МКЛП.
  • лейблы, записывающие музыку, и некоторые киностудии внедряют технологию в качестве дистрибуции для своей продукции. Конечно же, за товар уплачиваются средства. Пока что прогресс только на стадии экспериментов.
  • изготовители программ и игр для компьютера давно полюбили технологию, так как она в разы снижает нагрузку на сервера компаний. Известной корпорацией с подобной технологией является Blizzard, у которой присутствует собственное приложение, работающее по технологии BitTorrent.
  • киты бизнеса – Твиттер и Фейсбук задействуют Torrent для создания приложения, которое проводит автоматическое обновление ПО от указанных разработчиков с множественных серверов по всему миру.