вторник, 2 декабря 2008 г.

Что Такое BitTorrent?

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


Торренты - будущее P2Pсетей (обзор протокола BitTorrent)


Первоначально Интернет не был приспособлен для обмена файлами. Максимум, что могли себе позволить пользователи на заре развития Всемирной паутины, - это передача текстовых сообщений. Собственно, для этого он и создавался. Но Сеть и не думала топтаться на одном месте, развиваясь и эволюционируя. Совершенствовались способы доступа, прогрессировали технологии. Так, модемы сменились на выделенные линии и ADSL, появилась пакетная система обмена файлами. Интернет вырос в огромную сеть, охватывающую весь мир, и пользователи, конечно же, поняли, что могут обмениваться не только текстовой информацией, но и куда более крупными файлами: музыкой, видео, большими архивами и другим. Так Интернет стал настоящей «скатертью-самобранкой» в сетевом мире, а самые продвинутые пользователи начали задумываться о вопросе оптимального обмена файлами. FTPбыли удобны лишь до того момента, пока не изобрели программы для прямого подключения P2P без удаленного сервера как посредника. А затем настало время развития торрентов - новой ступени эволюции в среде обмена файлами между пользователями. P2P-сети - это компьютерные сети, основанные на равноправии участников.

Что такое торренты и откуда они родом? BitTorrent является P2P-протоколом, и его рождению мы обязаны программисту Брэму Коэну. Если обратиться к "Википедии", то можно узнать, что P2P-сети (от англ. peer-to-peer) - это компьютерные сети, основанные на равноправии участников. В таких сетях отсутствуют выделенные серверы, а каждый узел является как клиентом, так и сервером. В отличие от архитектуры «клиент - сервер» такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. В нашем случае важен именно способ обмена файлами. Он происходит без прямого участия серверов, что позволяет исключить фактор недоступности ресурса. Процесс происходит сразу между несколькими пользователями с обеих сторон. Изначально существует лишь один «владелец» файла - Seeder. Он создает торрент и выкладывает специально сгенерированный файл на одном из серверов. В этом файле содержится информация, которая требуется клиенту (специальной программе) для начала процесса закачивания: адрес, размер блоков и т. п. Данный процесс называется раздачей. Человек, скачивающий файл у «сидера», называется Peer, что переводится с английского как «равный» или «соучастник». Количество одновременных «пиров» может быть ограничено разными условиями (например, настройки сервера). Первоначальная закачка торрента является самой медленной частью обмена, так как сидеру приходится делить свой upload-канал между несколькими пользователями. Но как только хоть один из них скачает файл, он также становится «сидером». Таким образом, постепенно количество пользователей, раздающих файл, растет и даже может превысить количество принимающих. Кроме того, учитывая то, что при создании торрента файлы разбиваются на несколько блоков, сидерами могут выступать и те, кто еще не скачал весь файл, но скачал его часть. Также важно то, что владелец файла, тот, который создал торрент, может уходить в офлайн, а раздавать файл будут оставшиеся «сидеры». Цепочка прервется лишь тогда, когда «сидеров» в онлайне не останется вообще.

<> 

image001

Ближайший родственник торрентов - это сети eDonkey, Gnutella и другие аналогичные им. BitTorrent схож с ними по принципу действия, но различен по содержанию. Он не требует подключения к какой-либо сети. Для его работоспособности достаточно организовать небольшой, маломощный сервер с установленным трекером. Кроме того, BitTorrent фактически относится к сетям децентрализированного типа (в то время как eDonkey - централизированная сеть). Кстати, схема действия Direct connect «хабов» также аналогична вышеперечисленным сетям. Таким образом, можно сказать, что BitTorrent является наиболее независимой от сторонних условий протокол. Тем не менее для публикации информации о доступном файле требуются специальные серверы - трекеры (от англ. tracker), формально заменяющие центральный сервер. По сути, они представляют собой каталог доступных в данный момент торрентов, прикрепленных к этому серверу. Особенно такая структура полезна в локальных сетях, где все торренты являются приватными и не доступны для внешней сети. На всех трекерах действуют схожие правила. В первую очередь это касается негласного (хотя зачастую оно внесено в правила трекера) правила о том, что необходимо отдавать столько же, сколько и взял. Таким образом, рейтинг должен быть не отрицательным (больше единицы) или же выше определенного уровня (например 0,5). Рейтинг высчитывается путем простого деления количества скаченного (download) на количество отданного (upload). Пользователь, отдающий гораздо меньше, чем скачивающий, называется «личером» (от англ. leech - пиявка).

Полезная информация:

  • клиенты соединяются с трекером по протоколу TCP. Входящий порт трекера: 6969;
  • клиенты соединяются друг с другом, используя протокол TCP. Входящие порты клиентов: 6881-6889;
  • номера портов не фиксированы в спецификации протокола и могут изменяться при необходимости. Более того, в данный момент большинство трекеров используют обычный HTTP порт 80, а для клиентов рекомендуется выбрать случайный входящий порт;
  • DHT-сеть в BitTorrent-клиентах использует протокол UDP;
  • протокол UDP также используется сторонними разработками в среде трекеров, не являющимися официальной частью протокола.
В настоящее время как в Интернете, так и в Рунете существует огромное число трекеров. Хотелось бы сразу отметить, что далеко не на всех из них опубликованы легальные копии программ, музыкальных клипов, фильмов и т. д. Многие трекеры действуют на свой страх и риск. Являясь сравнительно не крупными образованиями по сравнению с другими P2P-сетями, они не привлекают внимание правообладателей. Впрочем, следует всегда помнить, что, скачивая тот или иной незаконно скопированный файл, вы нарушаете федеральный закон «Об авторском праве и смежных правах». Тем не менее это мало кого останавливает. Один из самых популярных в русскоязычном секторе Интернета трекер torrents.ru может похвастаться ежедневной посещаемостью в 160 тысяч человек и количеством активных торрентов в 150 тысяч. Недавно администрация torrents.ru опубликовала статистику раздач, что подтвердило очень большую популярность BitTorrent в России. Заметно менее известен torrentworld.ru. На обоих трекерах можно найти практически все типы файлов: игры, музыку, фильмы (включая сериалы и телепередачи), музыку всех жанров и направлений, программы и другое. Как правило, каждый отдельно взятый торрент поддерживается несколькими сидерами, поэтому скорость может варьироваться от предела скорости отдачи конкретно взятых сидеров до вашей максимальной скорости закачки. Существуют и специализированные трекеры. Например, lostfilm.tv очень популярен тем, что выкладывает русифицированные версии популярных сериалов на собственном трекере. Его ближайшими конкурентами являются novafilm.tv(среднесуточная норма раздач - свыше трех тысяч и сто тысяч одновременных соединений) и interfilm.ru (свыше десяти тысяч пользователей и почти полторы тысячи активных торрентов), где также публикуются различные сериалы. Во многих локальных сетях существуют собственные трекеры, доступные клиентам этой сети и пиринговых с ними сетям (то есть сетям, имеющим договор о бесплатном обмене трафиком). Примером подобных трекеров является торрент-трекер московской сети Degunino , где одновременно раздается свыше десяти тысяч релизов при количестве активных пользователей в районе одной тысячи.

Для того чтобы скачать на том или ином трекере файл, требуется регистрация. После регистрации каждому пользователю присваивается личный идентификационный номер, на основе которого будет высчитываться рейтинг. Дальнейший процесс предельно прост. Пользователю требуется всего лишь найти нужную тему на форуме, скачать *.torrent-файл и запустить его в программе клиента. При желании каждый пользователь может опубликовать свой торрент. Не так сложно и создать свой собственный трекер. Для этого нужно иметь сервер (желательно работающий круглосуточно) и соответствующий движок. Последний можно бесплатно скачать из Интернета. Существует несколько способов реализации трекера: специально написанный для трекера движок, надстройка на уже существующий форум, а также отдельный веб-сервер в виде модуля для стороннего HTTP-сервера. В данный момент наибольшей популярностью пользуется TorrentPier, устанавливающийся на PHPbb. Примером отдельного движка для торрент-трекера является TBDev.

Наконец, стоит сказать пару слов о клиентской части, то есть программах, с помощью которых можно воспользоваться торрентами. Существует огромное количество софта, предназначенного под эти нужды. Каждая программа имеет свои плюсы и минусы. Например, с торрентаим умеет работать Shareaza. Но гораздо удобнее воспользоваться специально предназначенной для этого программой. Одной из таких является µTorrent (читается как «Мю Торрент»), обладающая удобным интерфейсом, хорошей стабильностью и практически идеальной совместимостью со всеми трекерами. Ее прямым конкурентом является BitComet. Эта программа имеет схожий с µTorrent интерфейс и в целом также заслуживает внимания пользователей. Впрочем, многих из них все еще отпугивает несовместимость некоторых версий с популярными торрент-трекерами. В число других известных клиентов входят Azureus, BitSpirit и другие.

Стоит ли использовать BitTorrent или нет, решать каждому в отдельности. Эта сеть еще не стала мировым стандартом. Но она намного прогрессивнее многих других схожих технологий и имеет широкое будущее. Возможно, когда-нибудь она укрепится в сознании пользователей и вытеснит FTP. В любом случае, остановить ее развитие уже невозможно.

1 комментарий: