Новости
  06/12/2009

Системы VDI Legrand, разумное решение для сервера
  10/04/2009

Сайт дополнился интерестными статьями о Сборке компьютеров, Веб-дизайне, Сетевых технологиях...
 



Принцип работы торрент клиента (torrent-client)


Датой рождения торрента считается 4 апреля 2001 года. Именно в этот день Брэмом Коэном был анонсирован первый торрент-клиент. Официальный выход первой версии состоялся 2 июля 2001 года, и с тех пор эта технология семимильными шагами захватывает компьютеры сети.



  Торрент (torrent) сам по себе является сетевым протоколом для обмена файлами между компьютерами сети. При передаче файлы разбиваются на небольшие части и в таком виде передаются. Торрент-клиент (torrent-client) закачивает эти части и затем собирает у себя файл воедино. В чем же основное отличие его от того же ftp-протокола? В процессе скачивания кусочков клиент сразу же предоставляет к ним доступ для скачивания остальным участникам сети, что позволяет передавать торрент-файлы с гораздо большей скоростью и без ожидания освобождения основного источника (сидера).

Торрент-трекер

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

Торрент-клиенты

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

Протоколы и порты торрента

  Клиенты соединяются с трекером по протоколу TCP. Как правило, входящий порт трекеру присваивается 6969. Клиенты общаются друг с другом также по протоколу TCP. Наиболее часто используемые входящие порты клиентов: 6881-6889. Впрочем, номера портов не являются обязательными согласно спецификации протокола и могут изменяться при необходимости. Большое количество трекеров в настоящее время используют обычный HTTP порт 80, а клиентам рекомендуется выбирать случайный входящий порт. Некоторые провайдеры запрещают использование ранее упомянутого диапазона портов с целью противодействия распространения пиратского содержимого торрент-сетей.
Также в клиентах заложена возможность использовать UDP-порты, но она не является официально утвержденной. Не все клиенты поддерживают ее. UDP-порты используются для работы опции DHT, то есть для режима работы без связи с torrent-трекером.
Для оптимизации раздачи клиент может приостановить отдачу частей torrent файла другому клиенту. Приоритет отдается тому участнику сети, который сам отдал вам большее количество частей, то есть чем больше отдал вам пир (узел, клиент), тем больше вы отдаете ему. В результате большую скорость скачивания получают те торрент-клиенты, которые и отдают с большой скоростью.

Особенности торрент-протокола

  Отсутствуют очереди скачивания, т. е. не требуется всем стоять в очереди к источнику/сидеру, для того чтобы скачать файл. Торрент загружается частями; чем меньше распространен фрагмент файла, тем чаще он будет отдаваться. Протокол распределяет фрагменты между клиентами, так чтобы в дальнейшем они могли обмениваться частями без участия раздающего. Загруженные части файла сразу же становятся доступными для других. Для раздачи возможно открытие целого каталога с файлами внутри.
В современной версии торрент-протокола разработана поддержка работы без центрального трекера, режим DHT, В таком режиме в случае недоступности центрального сервера клиенты могу продолжать работать, поддерживая связь между собой. Такой режим работы осуществляется на основе протокола Kademlia. При таком режиме работы информация трекера распределение содержится на клиентах в виде хеш-таблиц. Такой режим реализован не на всех клиентах, и реализован по-разному. Поэтому разные клиенты могут не работать друг с другом.
Каждый день в торрент-сетях тысячи людей по всему миру обмениваются файлами друг с другом. Немудрено, что в большей мере содержимое трафика представляет собой нелицензионное программное обеспечение, музыкальные и видеофайлы. Именно это содержимое является стимулом дпя большинства участников к обмену файлами. Впрочем, если вы вступаете в это сообщество, то никто не может указать вам, какие файлы качать, а какие нет, - это каждый решает сам для себя. Правообладатели периодически пытаются бороться с сетями, с участниками, с владельцами трекеров. Но закрытые сервера моментально возрождаются на новом месте под новым именем.
Какова последовательность шагов, если вы пожелали поделиться с сообществом торрент имеющимся у вас файлом? Вы создаете в специальной программе торрент-файл, указывая файл, которым хотите поделиться, а программа автоматически создает торрент-файл. Этот файл имеет расширение «torrent» и имеет небольшой объем, порядка 200-300 кб. Это как бы оглавление вашего файла. Далее вы заходите на трекер, предварительно зарегистрировавшись на нем, и выкладываете свой торрент-файл, выбрав предварительно категорию, и даете краткое описание выложенного файла, его размер и т. п. для пользователей. Файл становится доступен для участников сети.
Зачем вам выкладывать файлы, почему нельзя просто пользоваться предоставленной роскошью? На торрент-трекерах есть простое правило: если ты не даешь скачивать другим, то и сам не сможешь ничего скачать. При регистрации устанавливается для нового пользования лимит скачивания. К примеру, можно скачать 500 Мб, а дальше, если не будешь делиться файлами с другими пользователями, будет запрещено скачивать. Но если делишься, то лимит автоматически повышается.
Трекеров и торрент-клиентов в сети великое множество, и вы без труда их найдете, воспользовавшись поисковыми серверами. Какой из них выбрать - ваше личное дело.

Терминология

Анонс (англ. announce) - обращение клиента к трекеру. При каждом анонсе клиент передает на трекер информацию об объемах им скачанного и отданного, а трекер передает клиенту список адресов других клиентов. Обращение клиента к трекеру происходит через определенные интервалы времени, которые определяются настройками клиента и трекера.
Веб-сид - HTTP-сервер, который может использоваться как источник данных, выступая в роли сида.
Доступность (англ. availability, англ. distributed copies - распространенные копии) - количество полных копий файла, доступных клиенту.
Заглохший (англ. choked - заглохший, придушенный) - клиент, обмен данными с которым заглох. Либо его канал на выход забит полностью и он не может ничего передать (достиг maxjjploads), либо он является сидом и ему ничего не нужно получать. Заинтересованный (англ. interested) - участник, желающий получить куски файла, имеющиеся у другого участника. Например, если у клиента А нет каких-то частей,которые есть у клиента Б, считается, что клиент А заинтересован в обмене с клиентом Б.
Индекс (англ. index) - это список .torrent-файлов (обычно включающий описания и другую информацию), управляемый веб-сайтом (индексатором) и доступный для поиска. Индексирующий сайт также может быть и трекером.
Лич, личер (англ. leech - пиявка) - пир, не имеющий пока всех сегментов, то есть продолжающий скачивание.
Отравленный торрент - ситуация, когда часть пиров раздает поврежденные сегменты.
Пир (англ. peer - соучастник) - клиент, участвующий в раздаче.
Поскрестись (англ. scrape - скрести, царапать) - процесс, аналогичный анонсу, но клиент запрашивает только статистику торрента, информацию о подключенных клиентах и возможности сними связаться для обмена.
Пренебрегающий (англ. snubbed) - клиент, подключенный к получателю, но не посылавший ему данные уже более 60 секунд.
Раздача (англ. seeding) - процесс распространения файла по протоколу BitTorrent.
Рейтинг (англ. share ratio) - отношение отданного к скачанному.
Рой (англ. swarm) - совокупность всех пиров, участвующих в раздаче.
Сегмент (англ. part - часть) - все файлы для передачи делятся на небольшие куски - сегменты, которые затем передаются по сети в произвольном порядке для оптимизации обмена.
Сид, сидер (англ. seeder - сеятель) - пир, имеющий все сегменты распространяемого файла, то есть либо начальный распространитель файла, либо уже скачавший весь файл и оставшийся на раздаче.
Суперсидирование - специальный режим раздачи в некоторых BitTorrent-клиентах, пытающийся минимизировать количество данных, которое отдаст раздающий до появления первого скачавшего. Суперсид предлагает каждому пиру скачать только один сегмент файла, которого еще нет у других пиров. Затем сид не дает этому пиру следующих сегментов, пока не получит от других пиров подтверждения, что они тоже получили этот сегмент. Таким образом, суперсид пытается избежать повторной отдачи одних и тех же сегментов и старается отдавать сегменты только тем пирам, которые активно передают их другим.
Хеш (англ. hash) - строка буквенно-цифровых символов в .torrent-файле, которую используют клиенты для проверки передаваемых данных. Каждая часть после получения сначала проверяется на совпадение хеша. Если проверка не удалась, данные отбрасываются и запрашиваются еще раз.
Passkey - аутентификатор пользователя на неанонимных трекерах. Содержится в скачиваемом torrent-файле. Таким образом, если кто-то получит доступ к torrent-файлу (например, пользователь по неосторожности расшарил его), он сможет работать с трекером от имени этого пользователя. Трекер может изменить passkey по запросу пользователя, но при этом необходимо будет перескачать все прошлые torrent-файлы (или вручную отредактировать их), чтобы иметь возможность и дальше раздавать скачанные файлы.
URL анонса (англ. announce URL) - адрес трекера, к которому клиент делает анонс. Чаще он называется Tracker URL. Может включать passkey - уникальный код, назначаемый трекером для аккаунта пользователя, помогающий идентифицировать его на трекере (добавляется к URL анонса в самом torrent-файле при скачивании).


 


История жизни одного из харизматичных бунтарей IT бизнеса - Ларри Эллисона

История жизни великого изобретателя японской электронной марки "Panasonic" Коносукэ Матцусита

9 января 2007 года случилась сенсация на рынке коммуникаторов. На свет появился iPhone, который вмещал в себе возможности iPod, телефона и коммуникатора и все это одно устройство.

copyright (c) 2006-2013, ABNET - site. all right reserved

Click here Click here Click here