e.motion
Статьи

После нас — хоть поток

Автор: Дмитрий Смирнов
Опубликовано в журнале «Домашний компьютер» №2 от 5 февраля 2008 года.

Редактор ДК слезно просил меня начать этот рассказ не со времен ARPAnet’а. Совершенно не понимаю, за что впал в немилость всеми нами уважаемый Интернет каменного века, и как вообще можно рассказать о каком-либо современном явлении, не упомянув о его корнях… Но так и быть; для погружения в тему перенесемся... во Францию XVIII века.

Королю Людовику XV (или, как вариант, его фаворитке — мадам де Помпадур) приписывают фразу «После нас — хоть потоп» («Après nous, le Déluge»). Неважно, кто именно из них это произнес; выражение в любом случае считается пророческим. На языке оригинала фразу можно понять двояко: «после нас хоть потоп» или «после нас будет потоп». Первый вариант признается более вероятным. Однако в историческом контексте это высказывание обычно считают предсказанием французской революции.

В истории же новейших технологий куда актуальнее язык английский. И все чаще в окружении людей, так или иначе связанных с компьютерами, звучит слово torrent, что означает «ливень», «стремительный поток», то есть по всем признакам — именно потоп. И это слово также произвело в Сети своеобразную революцию — покончило с «монархией» рекорд-компаний и открыло новую эру народной доставки медиаконтента. Liberté, Egalité, Fraternité в действии!

Справедливости ради следует сказать, что революция в медиабизнесе началась не с торрентов. С приходом Интернета, формата MP3 и пиринговых сетей развалилась концепция «альбомной» продажи музыки. Нет, конечно, выпуск CD никто не отменял, да и хорошие пластинки не перевелись. Однако культура «сингла» получила цифровое развитие — люди чаще стали скачивать (или покупать) лишь те звуковые дорожки альбома, которые им нравятся, без нагрузки из десятка «проходных» песен. Произошло это во многом благодаря пиринговым сетям, о которых мы во всех подробностях рассказывали в ДК #2_2006.

Вкратце: первой и наиболее громкой попыткой организации файлообменной пиринговой сети был Napster — классический централизованный файлообменник. Он прожил короткую яркую жизнь и приучил людей к мысли, что музыку удобно получать по Cети, зачастую — бесплатно.

После закрытия Napster’а некоторое время продержалась сеть WinMX, в ней можно было найти не только музыку, но и фильмы, картинки, программы. Сеть эта была чуть менее популярна, чем ее предшественница, и погибла столь же быстро, однако… помимо музыки сделала «прививку свободы» фильмам и программам. Причины гибели Napster’а и WinMX одинаковы — централизованные сети, которые целиком зависели от головных серверов; а серверы эти были закрыты по решению суда. Впоследствии Napster переквалифицировался в легитимного продавца контента, то есть, по сути, совсем в другую компанию под той же вывеской, а WinMX закрылся совсем.

Разумеется, со временем веб-революционерам надоело наступать на те же грабли. И пиринговые технологии стали мутировать в сторону частичной или полной децентрализации.

Одна из удачных реализаций этой концепции — всем известный «ослик», сеть eDonkey2000 (ed2k). В ней был открыт механизм создания сервера: запустить его мог каждый при наличии достаточно мощного компьютера в относительно либеральной стране. Конечно, большинство пользователей присоединялось к крупным «родительским» серверам. Этим неоднократно пользовались борцы с нелегальным контентом, а поэтому, в конце концов, все серверы головной компании eDonkey2000 были арестованы и остановлены; после чего делались громкие заявления о якобы полной капитуляции очередной пиратской сети. (Возможно, противники пиратов искренне так и думали, проведя аналогию с Napster’ом). Ситуация осложнилась и закрытием собственно сайта eDonkey2000.com: на нем раздавалась программа-клиент, с помощью которой пользователи обменивались контентом. Вместо нее на сайте однажды появился нравоучительный параграф о вреде пиратства для кармы, а для закрепления урока и предупреждение о том, что IP-адрес посетителя записан и «передан куда следует». Все ословоды, разумеется, сразу испугались и даже немного загрустили — минут, этак, на пятнадцать. Столько времени понадобилось среднестатистическому пользователю «ослика», чтобы спросить у Гугла, что же делать. И многомудрый Гугл отвечал, что оказывается, в Сети ed2k давно можно пользоваться не только «родным» клиентом, но и сторонними программами, главной из которых следует считать открытое ПО — eMule. Этот родственник «осла» процветает и поныне; пара громких арестов ed2k-серверов в прошлом году, конечно, несколько снизили активность пользователей «мула», но ненадолго — буквально на неделю, пока пользователи не открыли для себя новые популярные серверы, приносящие им улов не менее богатый, и не перешли на них.

Помимо основного протокола, ed2k-клиенты используют также технологию Kad. Это явление заслуживает отдельного рассказа, так как в том или ином виде оно используется и главными героями нашего сегодняшнего повествования — торрент-клиентами.

Kademlia

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

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

Нет! Не означает. В eMule и некоторых других ed2k-клиентах, помимо закладки «Серверы», отвечающей за подключения к централизованным базам данных, есть непонятная многим закладка Kad, на которой можно включить или выключить поддержку этого механизма.

Kad — это децентрализованная бессерверная пиринговая сеть, работающая на протоколе Kademlia. В ней нет вообще серверов как таковых; каждый клиент является микросервером, а точнее, частью одной большой распределенной базы данных.

В основе работы Kad Network лежит «распределенная таблица хешей». Из названия следует, что поиск в этой сети происходит именно по хешу. Искать можно не только содержимое, но и имя файла, а также такие свойства, как размер, формат и битрейт. А кроме того — и источники загрузки: клиенты сообщают о них друг другу.

Разумеется, эта сеть не может существовать сама по себе, в чистом виде; не будут же, в конце концов, клиенты широковещательно вопить на весь Интернет что-то типа: «Ау, кто-о-о-о-о здесь в Kad’е?» или «У ко-о-о-го есть «Ирония судьбы 2?» Общение и передача информации происходит между клиентами, уже соединившимися друг с другом с помощью каких-то других средств и поддерживающими Kad Network каждый со своей стороны. Так, eMule-клиенты, встретившиеся с помощью любого, сколь угодно маленького ed2k-сервера и узнавшие друг о друге, могут начать меняться Kad-информацией, а значит, и списками известных им Kad-клиентов, в том числе подцепленными с других серверов или с помощью самой Kademlia. Получается, Kad — автономная «логическая» сеть (такой тип сети-надстройки называют оверлейная, то есть перекрывающая), подпитывающаяся соединениями, открытыми с помощью других, частично централизованных сетей. Наверное, если бы клиенты никогда не выключались, они смогли бы некоторое время автономно поддерживать Kad-сеть; однако в этом случае ротация соединений происходила бы медленнее, и возникла бы проблема входа в эту сеть новых участников. Кроме того, клиентам все же свойственно иногда выключаться (домашние машины периодически требуют отдыха или перезагрузки), их IP-адресам — меняться, и т. д. Другими словами, в абсолютно бессерверном пространстве Kad Network постепенно вымрет.

Однако полное и массовое закрытие ed2k-серверов нам не грозит; создать их может каждый, да и сам по себе ed2k-протокол трудно запретить. Он так же безобиден, как SMTP — ведь пиратский контент можно передавать и по электронной почте, и даже массово (но никто не спешит объявить e-mail вне закона!). В свое время SMTP-раздачами занимались роботы, обитавшие в варезных «чат-румах» America Online (AOL). Любой пользователь мог зайти в специальную «комнату для болтовни» (надо было лишь узнать ее название), в которой, помимо «человеческих» аккаунтов, сидел бот, периодически сообщавший пользователям синтаксис общения с ним. Для начала работы нужно было дать ему команду с просьбой выслать список предлагаемых файлов. Бот присылал запросившему письмо со списком «вареза» и командами для его получения. Озвучив в чат-руме соответствующий приказ, пользователь получал на «мыло» требуемый файл. Эх, золотые были денечки! Но сегодня так уже не делают, а мы, кажется, традиционно отвлеклись от темы.

Еще одно преимущество, или недостаток (в общем, свойство!) клиентов, использующих Kad-сети, — это снижение нагрузки на централизованные ed2k-серверы и перенесение ее на сами клиенты. Это позволяет большему количеству хостов использовать единый сервер, однако и больше загружает частные машины; зато с их помощью, собственно, и формируется Kad Network. Впрочем, современные домашние компьютеры стали достаточно мощными (а каналы — быстрыми), чтобы не расстраиваться по поводу дополнительной загрузки процессора и линии передачи на 5–10%.

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

Казалось бы, в таком виде eMule — концентрированное чистое счастье. Что еще нужно человеку, чтобы получать «из ниоткуда» музыку и фильмы? Однако eDonkey-сетей, даже с Kad-надстройкой, людям оказывается мало. Эффективность этих механизмов невысока; зачастую к тому или иному клиенту выстраивается очередь из нескольких тысяч запросов, тогда как одновременно он может открыть десяток исходящих потоков (а часто — и того меньше). Только очень популярные, «горячие» раздачи скачиваются с помощью eMule относительно быстро; за раритетами же приходится долго охотиться и сутками (если не неделями) стоять в очереди. Кроме того, люди, скачав нужный файл в eMule, часто сразу убирают его из раздачи (например, перекладывая его из eMule в папку с фильмами или музыкой). За такой эгоизм их никак не штрафуют или наказывают; наказанной при этом оказывается сама сеть, эффективность которой снижается. Эта и некоторые другие проблемы отчасти решены с помощью крайне интересного механизма BitTorrent. В чем же разница между ними? Сейчас узнаем.

Битовый ливень

В случае с eMule пользователю почти не приходится задумываться, как работать с программой. Она соединяется с сервером (хотя бы с каким-нибудь) самостоятельно или после нажатия соответствующей кнопки на закладке «Серверы» — в любом случае это нетрудно. Затем юзеру остается лишь догадаться перейти на закладку «Поиск» (интуитивно понятную) и набрать там слова поискового запроса. Переключение на закладку «Передачи» (на ней отображается состояние закачек файлов) составляет, пожалуй, самую сложную часть процесса освоения «мула» — некоторые пользователи ломаются именно на этом шаге, так как он неочевиден. Нажатие кнопки «Соединение» на закладке Kad — уже высший пилотаж, однако догадавшийся это сделать получает бонус в виде большей скорости закачки и большего числа результатов запросов. О тонких же настройках eMule и его клонов в Интернете написано сотни FAQ’ов, по прочтении которых каждый может почувствовать себя асом веб-пиринга (защищенным от фальшивых ed2k-серверов и поискового спама, вуалирующим соединения, «прокидывающим» порты на любом роутере за считанные секунды, гибко настраивающим лимиты приема и отдачи, управляющим приоритетами и очередями раздач, использующим систему поощрения много отдающих клиентов и т. д.).

Но в один прекрасный день этот ас понимает, что может хоть из штанов выпрыгнуть, но не найдет в «муле», скажем, фильм «Сестра его дворецкого» с Диной Дурбин или новую серию «Доктора Хауза» в HD-качестве на следующий день после ее премьеры на западном телевидении. Однако легкое гуглирование™ подскажет, что искать их можно на каких-то «торрентах». Хм, окей, расспросим Google подробнее.

Через несколько запросов пользователь выходит либо на сайт-«трекер», который больше всего напоминает некий форум-междусобойчик, либо на поисковую машину типа isoHunt.com, осуществляющую поиск по этим самым трекерам. Множество трекеров оказываются закрытыми, то есть уже не позволяющими пользователям зарегистрироваться на них без приглашения; впрочем, разумеется, далеко не все. Торрент-поисковики же открыты для всех.

Вбиваем в поисковую строку isoHunt что-то вроде «House M.D. season 4», и — бинго! — поисковик приносит множество результатов, похожих на правду. Результат выводится в виде таблицы, содержащей еще массу неясных колонок с заголовками типа «S», «L» и прочими. Посередине же красуется крупная ссылка со словами, например, «Скачать House M.D. season 4». Скрещиваем пальцы, нажимаем… начинается закачка… и через секунду заканчивается. На рабочем столе оказывается файл с названием «House.MD.s4.torrent», который весит считанные килобайты. Выглядит не очень смотрибельно. Содержимое файла прочтению также не поддается.

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

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

Если же вы привыкли ни в чем себе не отказывать, и мощность машины позволяет вам всегда ставить новейшие и сколь угодно навороченные версии новых программ, то не задумывайтесь — качайте Azureus; сегодня раздают версию 3.0. Это — кросс-платформенный клиент, написанный на Java. Долго стартует, отъедает немало памяти, но красив, удобен, поддерживает все необходимые функции и протоколы и по солидности напоминает iTunes. Да, налюбовавшись в нем на открывающиеся по умолчанию закладки Dashboard и OnVuze, переключайтесь на закладку Advanced — собственно, управление вашими закачками происходит именно там.

Как и почему

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

Идея торрент-обмена не нова; протокол этот придумал и разработал еще в 2001 году американский программист Брэм Коэн (Bram Cohen). И протокол, и компания, основанная Коэном, называются BitTorrent.

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

Сеятели и пиявки

Определимся с терминами. Внимание, сейчас будет много сленга; блюстителей русского языка просим быть терпимее!

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

Клиент (µTorrent или Azureus) при открытии торрента спрашивает у пользователя, где на локальном диске следует сохранить файлы, после чего соединяется с сервером, регистрируется на нем, получает информацию о других участниках обмена и начинает уже прямое общение. (Процесс общения клиента с трекером называется «анонсом»: клиент анонсирует желание присоединиться к «рою».) Периодически во время скачивания или раздачи клиент связывается с трекером, подтверждает, что он жив и подключен к сети, рапортует о количестве отданной и полученной информации и получает адреса новых клиентов.

Клиент, еще не скачавший файл полностью, на торрент-сленге называется «личем» (leech — «пиявка») и обозначается буквой L. Когда клиент скачал файл полностью, но не «ушел с раздачи», а остался в онлайне, он переходит в благородный разряд «сидов» (seed или seeder — «сеятель»), и ему присваивается литера S. Термин «пир» (peer, то есть узел, P) понимается двояко: иногда так называют только личеров, но чаще — всех участников обмена. Всех вместе «пиров», участвующих в раздаче, называют «роем» (swarm). В Azureus’е «рой» великолепно отображается графически.

Доступностью (или количеством копий) торрента называют количество сидов (полных копий), участвующих в раздаче, плюс дробное число копий, образуемое личами. Держитесь, все просто! Объясняем: если есть только один сид (и всё), доступность раздачи — 1. Если два сида — доступность равна 2. Если есть сид и лич, скачавший у него половину торрента, доступность торрента — 1,5. Если таких личей два, но они скачали одну и ту же половину торрента, доступность торрента все равно остается — 1,5 (просто у «половины» торрента образуется приятная избыточность). Если же в раздаче участвуют сид и два лича, каждый из которых скачал по разной половине торрента, суммарное число копий — 2. Мы же говорили — все просто! Но вообще, не стоит начинать участвовать в раздаче, в которой либо нет сидов, либо их один-два. По закону подлости оба сида уйдут с раздачи, когда у вас на руках будет 95% торрента, и вы рискуете надолго остаться в компании таких же вечно 95-процентных личей. Раздача, в которой есть хотя бы 5–6 сидов (больше, конечно — лучше), считается надежной.

Для эффективной работы сети необходимо, чтобы клиенты могли автоматически принимать входящие IP-соединения. Как известно, компьютер, находящийся за файрволом или маршрутизатором, по умолчанию может открыть соединение только изнутри, то есть если он инициировал его сам. Поэтому если у вас «белый» (то есть реальный) IP-адрес, убедитесь, что на вашем файрволе открыты порты, используемые программой-клиентом (их можно проверить или поменять в настройках программы). Если же вы находитесь за NAT’ом (например, ваш ADSL-модем настроен как маршрутизатор), вам нужно «пробросить» эти порты на ваш внутренний IP-адрес, чтобы соединения, приходящие на определенный порт модема, автоматически переадресовывались на тот же порт вашей машины. Таким образом, клиенты, находящиеся снаружи, сами смогут обращаться к вашему клиенту. Стоит ли говорить, что если вы находитесь за NAT’ом, конфигурация которого вне вашей власти или компетенции, то следует «осторожно» попросить администратора или провайдера (иными словами, повелителя ближайшего к вам маршрутизатора) «пробросить» для вас эти порты.

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

Имеет место и «умная» отдача сегментов: в первую очередь клиент старается отдать те части торрента, что наименее распространены в раздаче в настоящий момент.

Каждый клиент ведет статистику по торрентам, сравнивая количество отданной и полученной им информации, — это называется «рейтингом», или UL/DL ratio. В идеале, следует «догнать» рейтинг каждого торрента до 1, то есть отдать не меньше, чем получил, иначе эффективность сети упадет. Желание раздавать файлы стимулируется не только цветом, которым отображается в клиенте UL/DL ratio, но и самими трекерами: они, вслед за клиентом, любят вести статистику раздач, но не просто так, а «с последующими выводами».

Вообще, раздачи и трекеры бывают двух типов: свободные (открытые) и закрытые. Открытые позволяют разным клиентам с помощью одного торрент-файла присоединяться к раздаче; такие торрент-файлы могут жить довольно долго, статистика по ним не учитывается или не имеет большого значения. На трекерах, участвующих в такой раздаче, регистрироваться не обязательно. Большинство торрент-файлов, скачиваемых с поисковых машин типа isoHunt, являются именно свободными.

Другой тип трекеров и их раздач — закрытые (или частные). На таких трекерах необходима регистрация. Каждый торрент-файл, скачиваемый оттуда, содержит в URL-адресе анонса1 уникальный код, passkey. У каждого пользователя passkey — свой; по нему трекер ведет статистику. (Иногда — редко — в роли passkey выступает IP-адрес пользователя; но только в случае, если IP постоянен.) Таким образом, на закрытых трекерах пользователи нарабатывают себе «карму». По правилам частных трекеров, соотношение количества полученного и отданнного не должно быть меньше определенного уровня (нижний порог обычно находится в интервале от 0,2 до 0,5). Если torrent-файл попал в чужие руки, трекер может обратить внимание на то, что несколько клиентов с разными IP пытаются присоединиться к раздаче, и изменить passkey пользователя. Сам пользователь тогда должен будет заново скачать torrent-файлы (уже с новым passkey); иначе он не сможет продолжить работу с сервером. Эффективность закрытых трекеров обычно гораздо выше, чем открытых. Люди в них обычно надолго оставляют раздачи; со временем участники таких клубов вообще перестают выключать домашние машины.

Пора вернуться к начатому ранее разговору о бессерверных сетях. Конечно, торренты поддерживают и эту технологию. Над трекерами также часто выстраивается «распределенная хеш-таблица», образованная торрент-клиентами. Они обмениваются информацией друг о друге и о раздаваемых торрентах. Поэтому временный отказ или перезагрузка трекера не приводят к перебою в раздаче: в принципе, клиенты могут завершить начатый обмен данными и без трекера. Многие программы поддерживают стандарт распределенной хеш-таблицы (Distributed Hash Table, DHT2) — в числе них уже упомянутый µTorrent, а также клиент «от создателей» технологии — BitTorrent, которым, как ни странно, на многих трекерах пользоваться не рекомендуют. Клиент Azureus также владеет техникой DHT, но его реализация этого протокола отличается от классической, поэтому Azureus’ы строят распределенный трекер лишь между собой. Элита, что с них взять!

Во время раздачи сид может включить режим «суперсидинга» (super seeding). Эта техника нарушает каноны протокола bitTorrent, однако в некоторых случаях достаточно эффективна. Суперсид — это очень строгий сид, который следит за соседями по раздаче, заставляя их не лениться и активнее отдавать данные друг другу. Режим суперсидинга действует, когда в раздаче есть лишь один сид и много личей. Сид, отдавший клиенту «A» некий сегмент файла, прекращает отдавать «A» какие-либо данные, пока не увидит этот сегмент файла у другого клиента, скажем, «B». Таким образом, сид заставляет пользователей (в данном случае «A») активнее обмениваться полученными данными, зачастую — за счет общего падения скорости раздачи. Впрочем, если число участников раздачи изначально велико, суперсиду можно раздать лишь по несколько сегментов файла каждому из них, и вскоре, по идее, готовый файл окажется у всех. Судя по всему, этот режим удобен при первоначальном вбросе нового торрента на трекер — он способствует скорейшему равномерному появлению новых сидов.

Трекер своими руками

Здесь полагается побрюзжать по поводу, что «миллион трекеров уже есть, придумали миллион-первый?» Но мы не станем. Во-первых, наш девиз — «больше трекеров, хороших и… одинаковых!» Во-вторых, знание — сила, поэтому хотя бы вкратце обозначим, что надо сделать, чтобы создать свой трекер.

С программной точки зрения трекеры бывают нескольких пород. Это и полноценные веб-серверы; и трекеры, реализованные в виде модулей для популярных серверов типа Apache, и самые простые торрент-серверы — CMS-движки, написанные на традиционной связке PHP+MySQL. Последний вариант проще для развертывания и понимания, но не выдерживает таких нагрузок, какие можно возложить на настоящие серверы.

В качестве примера «быстрого» трекера нам почему-то с завидной регулярностью встречается движок TorrentTrader, самая свежая на сегодня версия — 2.03. Установка его немногим сложнее инсталляции приснопамятного WordPress’а. Дистрибутив в распакованном виде занимает менее 2 Мбайт. Движку для работы требуются PHP 4.3 и MySQL 4 или выше, инсталлятора как такового — нет. Вручную закладываем на FTP установочный каталог и задаем четырем каталогам CHMOD-права 777. После этого с помощью phpMyAdmin или другого средства управления базой MySQL импортируем структуру базы данных из прилагаемого к дистрибутиву файла Full Database.sql, редактируем конфигурационный файл, указывающий скриптам путь к базе, после чего тюнингуем трекер с помощью конфигуратора config.php.

Формально дистрибутив поддерживает более десятка языков, в том числе и русский, но на практике русификация несколько хромает. Трекер поддерживает «темы оформления»: внешний вид можно полностью изменить. Система позволяет работать с внешними торрентами; поддерживает passkey; умеет вести статистику по пользователям и раздачам (в том числе показывать «степень завершенности» торрента — процентное соотношение числа личей и сидов); способна определять и отображать названия программ-клиентов; поддерживает опросы на сайте; банит отдельные IP, подсети или e-mail’ы, идентифицирующие пользователей; ведет статистику загрузки сервера и базы данных; позволяет настраивать блоки на веб-странице по собственному вкусу, а также объединяет «аплоадеров» (людей, выкладывающих новый контент) в команды — и это лишь часть его функций! Более подробно рассказать в этот раз, увы, не можем — это заняло бы отдельную статью. Заинтересовавшимся нужно проследовать на сайт.

Легальный бизне$$

Сети BitTorrent помимо общей анонимности поддерживают шифрование трафика. Это периодически вызывает нарекания со стороны общественности и западной прессы. Так, в 2006 году в одной из передач канала «Би-Би-Си» прозвучало утверждение, что использование шифрованных торрент-сетей способствует терроризму и педофилии, так как шифрование трафика затрудняет мониторинг Интернета государственными структурами и прочими надзорными организациями.

Это заявление вызвало бурю негодования среди пользователей BitTorrent. Впрочем, канал остался при своем мнении, заявив, что иногда обвинения торрент-сетей и впрямь являются популистскими акциями. «Би-Би-Си» принесла извинения лишь за высказывания о том, что пиринговый файлообмен — это воровство.

Следует отметить, что около 5% всего англоязычного торрент-трафика — продукция этого медиаконцерна, так что не стоит удивляться его настроженности по поводу новых сред доставки контента.

А тем временем торрент-технологии поставлены и на коммерческую основу. Так что не все торренты одинаково бесплатны. Например, на сайте отцов-основателей технологии bittorrent.com можно найти разделы, где торренты музыки и фильмов вполне себе продаются. Заплатив за доступ к раздаче, можно приступать к скачиванию. При этом, наверняка, раздачу поддерживает и сервер самих BitTorrent (чтобы гарантировать получение клиентом купленного контента), но кроме него в обмене файлами участвуют и простые пользователи, купившие этот контент раньше.

Подобной практики, с некоторыми вариациями, придерживается и портал vuze.com, созданный авторами и разработчиками клиента Azureus. Он посвящен, в основном, контенту в формате High Definition — большая часть роликов на нем является рекламой и трейлерами фильмов, иногда можно найти и бесплатные полноформатные фильмы, и лишь изредка — платный контент. Vuze-браузер — неотъемлемая часть версии Azureus 3.0. Но обходить его стороной не стоит: периодически там можно встретить презабавные штуки. Например, я нашел там отличный HD-клип американских трехмерщиков Animusic.com, рисующих безумные гибриды автоматических музыкальных инструментов — этакие музыкальные автоматы XXII века. Наверняка на этой HD-барахолке можно найти и другие шедевры.

Но не все представители бизнеса радуются появлению своей продукции в торрентах. Иногда правообладатели любят повоевать с жителями пиринговых сетей. Владельцев трекеров обвинить трудно — сам контент они не распространяют; их удел — невнятные хеш-таблицы, сами по себе объектами авторского права не являющиеся. Зато пользователи зачастую скачивают и раздают вполне проприетарный контент, охраняемый законом об авторском праве и интеллектуальной собственности. Так, даже в нашей стране в декабре 2007 года был пойман с поличным и арестован торрент-юзер, скачавший копию коммерческого продукта компании «1C» и оставивший его в раздаче. Сотрудники соответствующих спецслужб зафиксировали «сидерский» статус пользователя, показательно скачали с его помощью опубликованное ПО, после чего выяснили по IP физический адрес «пирата» и нагрянули с обыском. В результате получилась показательная порка, которая никого (кроме арестанта), в принципе, не испугала, но общее радужное настроение немного подпортила.

Один знаменитый сетевой писатель как-то раз высказался в том духе, что все, что нас не убивает, горько потом об этом жалеет. Вообще, в том, что касается проприетарных продуктов, пользователям следует проявлять определенную деликатность, особенно в свете нового российского законодательства, вступившего в силу с 1 января 2008 года. Но о законах, правилах и понятиях, а также о личной сетевой безопасности и средствах защиты, в том числе и в пиринге, мы поговорим в следующий раз. Потому — не прощаемся!


1 Здесь: адрес, по которому клиент обращается к трекеру, чтобы зарегистрироваться в раздаче.

2 В английской Википедии можно прочитать захватывающие подробности действия механизма DHT — рекомендуем, это действительно очень длинная и интересная история.

  • WordPress

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

e.motion