Torrent

Torrent

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

Методы

Клиент-сервер

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

Зеркала

Концепция "зеркалировани" лишь отчасти решает эту проблему, поскольку требует сложной настройки "отзеркаливания" серверов и распределения загрузки между ними.

Клиент-клиент (p2p)

Вторые по популярности - p2p системы, такие как Kazaa, eDonkey, Gnutella, Direct Connect, etc. Пользователи сети обмениваются файлами, напрямую подсоединяясь друг к другу.

Преимущество:

  • файлы не обязательно должны находится на одном сервере.
Недостатки:
  • невозможно отследить содержимое файлов. Именно поэтому эти сети получили огромное распространение среди любителей музыки, фильмов и особенно warez.
  • проблемой стали популярные данные, к которым обращается наибольшее количество людей, поскольку за новыми файлами буквально "выстраивались очереди", то скорость скачивания уменьшалась пропорционально количеству запросов на этот файл.
  • в большинстве p2p систем количество соединений между пользователями ограничено, и зачастую пользователи обратившиеся за каким либо файлом попросту получали отказ.
  • не полностью скачанные файлы также были проблемой для пользователей, поскольку заранее определить "целый" ли запрошенный файл или не невозможно.
Результатом этих проблем стало падение популярности многих сетей и введение запретительных правил для пользователей, участвующих в них.

Метод клиент-клиент (торрент)

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

Битторрент похож на Usenet в этом. Он наиболее подходит для распространения новинок, которыми интересуется большое количество людей. Старые или мало используемые файлы распространяются в нем медленно или вообще недоступны.

Все кто скачивает данный файл одновременно являются и распространителями уже скачанных ими фрагментов. Так что вы скачивая недостающие фрагменты файла одновременно распространяете уже скачанные вами фрагменты другим. Тем самым вы "помогаете" другим а "другие" в свою очередь "помогают" вам.

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