13 лет назад 1 июля 2005 в 14:49 79

Мультимедийная информация, файловые архивы, образы дисков – все это требует многих гигабайт серверного пространства. Если файлы достаточно популярны, к ним одновременно будут обращаться десятки, а то и сотни пользователей. Здесь нужен либо сервер с очень широким каналом доступа, аренда которого обойдется в сотни долларов, либо введение всевозможных ограничений на число и скорость одновременных закачек. Подобные проблемы призвана решить система BitTorrent, разработанная талантливым программистом Бремом Кохеном.

Терминология
– Torrent (торрент) – ярлык-идентификатор файла, содержащий сведения о фрагментах, контрольных суммах и адресе трекера.

– Leecher (личер) – обладает файлом частично, в настоящий момент ведет его закачку и, соответственно, распространение.

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

– Tracker (трекер) – сервер, координирующий работу клиентов BitTorrent. При этом трекер не хранит сами файлы, а только сообщает пользователям информацию о том, у кого какие пакеты есть.

Непосредственный обмен данными производится между torrent-клиентами напрямую. Поэтому в роли трекера может выступать сравнительно маломощный сервер со слабым каналом.

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

КАК УСТРОЕНА СИСТЕМА BITTORRENT?
Как и большинство интернет-протоколов, BitTorrent построен на архитектуре клиент – сервер. Суть ее в следующем. Предположим, есть некий файл, который необходимо опубликовать. Сначала файл анализируется клиентом и делится на фрагменты, при этом формируется torrent-link – маленький (всего в несколько десятков килобайт) файл, который содержит контрольные суммы проверки целостности, сведения о том, как разбит файл, а также информацию о сервере, обеспечивающем согласование и обмен данными между клиентами BitTorrent.

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

Конечно, у BitTorrent хватает недостатков. Это и сравнительно невысокая скорость доступа (в среднем около 20 кб/с), особенно при сохранении файлов с низкой популярностью, и увеличение общего объема входящего трафика из-за значительного объема служебной информации (сведения о пакетах, контрольные суммы), а также из-за неизбежного процента поврежденных пакетов, которые приходится заказывать заново. Но возможность быстро распространять файлы неограниченного объема между любым числом пользователей с лихвой перекрывает эти минусы. Что нужно сделать, чтобы подключиться к системе? Все довольно просто. Вам понадобится любой BitTorrent-клиент и подключение к интернету. Чем быстрее, тем лучше. Регистрироваться нигде не надо.

ПОИСК ФАЙЛОВ
Чтобы скачать какой-либо файл, сначала надо найти соответствующий torrent-link. Поиск как таковой в системе BitTorrent не реализован, однако существует достаточное количество тематических сайтов, где хранятся сотни torrent-линков, и здесь уже можно воспользоваться поиском. Приведем несколько из них.

– torrentspy.com – один из крупнейших Torrent-ресурсов в мире. Содержит десятки тысяч активных торрентов с удобной системой поиска, что позволяет сразу определить распространенность файла, число активных сидеров и личеров. Здесь можно найти материалы практически на любую тему, причем зачастую одно и то же наименование предоставляется сразу в нескольких вариантах и на разных языках. Torrentspy можно пользоваться без регистрации (она потребуется, только если вы захотите что-либо опубликовать).

– torrentreactor.to – международный ресурс общего содержания. Удобный поиск и тематическое деление по разделам, фильмы, софт, музыка, саундтреки к играм и фильмам, комиксы, материалы эротического содержания и многое другое. Кроме того, можно найти образы игр для различных приставок Sony PlayStation 1-2, X-Box.

– isohunt.com – неплохая поисковая система по BT– и IRC-файлам. По масштабам она несколько уступает Torrentspy и Torrentreactor, но и здесь можно найти много интересного. Ресурс специализируется на готовых образах дисков с софтом и играми, хотя содержит и множество других материалов. Причем вы можете не только скачать образ, но заодно найти сканы обложек.

– torrents.ru – один из крупнейших русских BT-ресурсов. Система построена в виде большого форума, есть тематические разделы, можно достать много интересных и редких материалов, просто оставив запрос. В отдельной ветке форума можно обратиться за консультацией в том случае, если у вас возникли какие-либо проблемы с клиентами или подключением.

– sharelita.com – специализируется на русскоязычных фильмах и музыке. Есть небольшая коллекция игр, в том числе и на русском языке. Удобно реализован форум, а к каждой торрент-закачке можно добавить комментарий.

– www.bt-club.org – израильский русскоязычный ресурс, где любой желающий после несложной процедуры регистрации может принять участие в закачке или выложить свои файлы, а также просто пообщаться.

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

КЛИЕНТЫ
BitTorrent
Официальный клиент от Брема Кохена, автора системы. Программу можно найти на нашем диске или же скачать с сайта автора www.bittorrent.com, где также есть версии под Linux и MacOS.
Загляните в раздел настроек View > Settings.

На закладке Savings можно настроить папку для сохранения закачек (по умолчанию это “Documents and Settings\имя пользователя\”) или отметить “ask where to save each download” – тогда программа будет каждый раз спрашивать, где сохранять файлы. BitTorrent, как и другие клиенты, сразу резервирует на диске весь объем будущей закачки, создавая файлы того же размера, но заполненные нулями.

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

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

В разделе Downloads можно настроить процесс закачки нескольких файлов по очереди или одновременно, а также задать свои параметры как сидера, то есть после закачки файл будет рассылаться на протяжении 300 минут или до достижения 80-процентного рейтинга раздачи. Это обеспечит вам хороший общий рейтинг. Опция Seed last completed torrent означает, что по завершении всех задач программа переведет последний скачанный файл в режим раздачи и будет распространять его до достижения определенного рейтинга (по умолчанию стоит 0 – это значит, что программа будет раздавать файл, пока ее не закроют или вы не начнете другую закачку).

Изменить рабочий порт можно в разделе Network, не забудьте открыть его в настройках Firewall. В случае использования брандмауэра Microsoft, встроенного в SP2, нужно только один раз на запрос защитной системы ответить “разрешить”, когда программа впервые постучится в сеть. Опция Windows TCP stack fix решает проблему, возникающую у пользователей Windows 98\Me, когда вскоре после начала закачки BitTorrent вылетает с сообщением “TCP stack flaking out”.

Если вам плохо виден текст на полоске закачки, загляните в Misc и поставьте галочку: Progress Bar text is always black. Чтобы посмотреть, с кем в настоящий момент вы соединены и как происходит процесс закачки, нажмите правой кнопкой мыши на полоску загрузки и в появившемся меню выберите Peer.

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

Если у вас Windows XP Service Pack 2
После победного шествия сетевых червей по планете программисты Microsoft встроили во второй пакет обновления Windows XP помимо брандмауэра еще и ограничение на число одновременных попыток интернет-соединения. Данное ограничение значительно снижает скорость работы BitTorrent-клиентов, а также вызывает сбои у многих других программ. Но вышел патч KB884020, который решает данную проблему. Вы можете найти его на нашем диске или скачать с официального сайта Microsoft по короткой ссылке sp2fix.4u.ru.

Azureus
Если официальный BT-клиент кажется вам чересчур аскетичным и малофункциональным, попробуйте Azureus. Программа переведена более чем на 30 языков, включая русский. Красочный и удобный интерфейс, широкая поддержка разных платформ и систем делают программу очень приятной в использовании. Учтите только, что сразу после установки Azureus может попросить скачать исполняемые библиотеки Java (www.java.com/en/download). Таким образом, к пятимегабайтному дистрибутиву самого Azureus автоматически добавляется еще 15 Мб библиотек.
После запуска стартует мастер конфигурации.

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

Следующий этап – выбор порта соединения с интернетом. По умолчанию это 6881 (не забудьте соответствующим образом настроить системы безопасности).

Опция Enable Fast Resume включает запись информации о восстановлении, что позволяет легко продолжить прерванную по той или иной причине закачку в случае обрыва связи или перезагрузки компьютера. Более того, такую закачку можно перенести в другой BitTorrent-клиент и продолжить сохранение файла оттуда.

Прежде чем приступить к работе, стоит заглянуть еще и в окно настроек программы – раздел Connections пригодится, если вы выходите в интернет через прокси-сервер. Здесь нужно указать IP прокси-сервера, порт и параметры авторизации. Кстати, Azureus может работать и через обычный 80-й или 8080-й порт. Это стандартные порты, открытые в большинстве сетей, однако эффективность работы Azureus будет ограничена.

Наведайтесь в раздел “Interface”, там названия большинства параметров говорят сами за себя: enable system tray, auto open download bar и т. д. Download Bar – это маленькое служебное окно, которое можно разместить где-нибудь на Рабочем столе и следить за ходом закачки, не разворачивая весь Azureus. Хорошей идеей будет назначить какой-нибудь звук на завершение закачки, потому что в обычном режиме программа никак вас об этом не проинформирует, а просто переведет файл в статус сидера. Кроме вышеописанных настроек Azureus содержит еще десятки параметров и функций (помимо стандартных возможностей BT-клиента).

Главное окно Azureus имеет две основные панели. В верхней содержатся закачки, находящиеся в процессе получения. В нижней – файлы, которые уже загрузились и теперь раздаются всем желающим. То есть верхнее окно отражает ваш статус как личера, нижнее – как сидера. Узнать больше о программе можно на официальном сайте: azureus.sourceforge.net. Много полезного можно почерпнуть на форуме и подробных FAQ, там же можно решить большинство проблем, связанных с запуском и эксплуатацией программы.

ЗАГРУЗКА ФАЙЛОВ
Итак, вы нашли нужный файл и сохранили соответствующий torrent-линк, Приступаем к закачке. Просто кликните на него (Azureus ассоциируется с данным типом файлов автоматически) или перенесите мышью линк в окно программы. Клиент сразу же попросит папку, куда следует сохранить файлы будущей закачки, после чего ход процесса будет отображаться в окне My Torrents. В принципе все полностью автоматизировано, и вам остается лишь свернуть программу и заняться повседневными делами в ожидании, пока клиент вытянет все пакеты из сети.

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

В разделе Peers можно узнать IP-адреса членов сети, с которыми вы установили связь, и скорость этого соединения. Чем более широкий исходящий канал вы предоставили Azureus, тем с большим числом других клиентов он установит сообщение. Программа сама контролирует процесс соединения, и, если, скажем, один из личеров начнет присылать сбойные пакеты, автоматически отключает его. Таким же образом Azureus борется и с теми, кто принимает пакеты, но ничего не отсылает взамен. А поскольку чем больше соединений с сидерами, а также личерами, у которых файл скачан более чем на 50%, тем быстрее конечная скорость закачки, имеет смысл отключать пользователей, с которыми есть соединение, но долго не идет обмен информацией. Чтобы отключить того или иного пользователя, нажмите на его IP и выберите “Kick and ban”.

Обязательно загляните в раздел Files. Если torrent ссылается не на отдельный файл или архив, а на папку, то здесь можно выбрать, какие файлы качать в первую очередь, а какие позже. Это осуществляется путем установления приоритетов: High Priority – файлы будут сохраняться в первую очередь, Normal – наравне с остальными, Do not download – клиент не будет скачивать файлы с данным параметром. При этом по завершении закачка не перейдет в режим сидера, так как торрента целиком у вас не будет. Возможность сохранения отдельных файлов – исключительно полезная функция, особенно если вам нужна только часть пакета. Также она пригодится, когда крупные торренты качаются целой командой для уменьшения себестоимости закачек.
После завершения закачки постарайтесь как можно дольше не закрывать BT-клиент – это негласное правило сети BitTorrent. Кроме того, чем дольше вы пробудете сидером, раздавая файл всем качающим, тем выше будет ваш Ratio.

СОЗДАЕМ СВОЙ TORRENT
Для начала важно уяснить, что для того чтобы распространять свой файл и стать сидером, необходимо иметь следующее.

– Постоянное высокоскоростное соединение.

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

– Трекер. В роли трекера может выступать ваш собственный компьютер, создать свой трекер можно в Azureus (Tools > Options > Tracker) и других клиентах. Однако в этом случае вам необходимо обеспечить его непрерывную работу, поэтому гораздо проще воспользоваться публичным трекером любого торрент-ресурса.

C помощью BitTorrent
Нажмите “Пуск” > “Программы” > BitTorrent > Make Torrent. В появившемся окне выберите файлы или папки, которые хотите опубликовать. Проще всего заранее создать отдельную папку и поместить туда все файлы, выбранные для публикации. По возможности не применяйте архиваторы, чтобы пользователи могли скачать файл частично (это особенно актуально для видеофайлов и музыкальных сборников).

В строке Announce URL укажите адрес трекера, например http://torrents.ru/bt. (Обратите внимание: “http://” нужно указывать обязательно!) Пункт Piece size определяет размер пакетов – чем больше размер файла, тем больший размер фрагментов необходимо задавать. Создание крупных торрентов с малым размером пакетов увеличивает объем трафика, так как увеличивается объем служебной информации. Общепринятым считается использование пакетов по 2 Мб при размере архива более 1 Гб. Torrent-линк формируется в той же папке, где и сам архив.

Теперь поместите те исходные файлы, из которых вы создали torrent, в ту папку, где у вас обычно сохраняются торренты. По умолчанию это “Documents and Settings\имя пользователя\”. Затем откройте torrent-ярлык, как будто вы хотите эти файлы скачать. Программа определит, что они у вас уже есть и автоматически перейдет в режим Seeder. Все. Вы уже можете распространять файл, осталось только опубликовать torrent-линк. Проще всего это сделать на форуме одного из трекеров.

С помощью Azureus
Зайдите в File > Create a Torrent – откроется окно мастера. Процедура создания торрента во всех клиентах во многом схожа: так же указываете адрес трекера, задаете, какие файлы и папки распространять. Программа поддерживает Drug and Drop. Если поставить галочку Add multi tracker information to the torrent, то в следующем окне можно задать несколько трекеров (если какой-либо окажется недоступен, закачка продолжится через другие).

Последний этап – установка размера пакета. Здесь можете смело оставить Auto. Если хотите сразу приступить к раздаче файла, отметьте Open torrent for seeding when done. Если же вы хотите начать раздачу позже, просто откройте линк с помощью Azureus и, когда программа запросит папку с файлами, укажите те самые файлы, из которых вы и создали линк. Как и в случае с BitTorrent самое важное, чтобы клиент был постоянно запущен и обеспечивал функции сидера (хотя бы до тех пор, пока не появится достаточно много других сидеров, и вы сможете передать файл по эстафете).

КАК СКАЧАТЬ ИМЕННО ТО, ЧТО НУЖНО
Достаточно распространенная проблема в BT и других пиринговых сетях – узнать по окончании закачки, что материал, на который истрачено несколько гигабайт трафика, нечитаемый или совсем не то, что вы ожидали. Избежать этого можно несколькими способами. Перед тем как скачивать что-либо объемное, почитайте отзывы уже скачавших, если они есть. Широкая распространенность файла с большим количеством сидеров – тоже хороший знак. Не увлекайтесь закачкой фильмов или игр задолго до их официального релиза – в лучшем случае вы получите полурабочую альфа-версию или низкокачественную “экранку”.

Что касается фильмов – скачайте небольшую его часть, а затем воспользуйтесь утилитой Avi preview (www.avipreview.com). Как и системы восстановления работоспособности поврежденных видеофайлов, она анализирует структуру частично скачанного материала в поисках читаемой информации, после чего позволяет воспроизвести то, что удалось сохранить. С BitTorrent данный трюк удается не всегда. Дело в том, что частично сохраненная BT-закачка представляет собой хаотичную смесь из сохраненных пакетов и фрагментов резервированного пространства, а программе может потребоваться наличие самого первого блока файла.

Другие BT-клиенты
Кроме вышеописанных BT-клиентов существует множество других.
– ABC (pingpong-abc.sourceforge.net)
– BitCommet (www.bitcomet.com)
– Shareaza (www.shareaza.com)
Сеть BitTorrent очень быстро развивается: появляются новые ресурсы, старые закрываются или теряют актуальность. Быть в курсе последних событий поможет русский дайджест торрент-ресурсов bt-rus.info.

Виртуальная война
Сам по себе BitTorrent – это просто протокол. Никто ведь не задается вопросом, насколько легально пользоваться TCP/IP? Но, с другой стороны, верно и то, что в торрент-сетях огромную свободу деятельности получили пираты, хотя в сети BT хватает и вполне легальных материалов. Разумеется, всевозможные компании по защите авторских прав от этого не в восторге. Однако юридически трекерам очень сложно что-либо предъявить, так как ни одного байта пересылаемых файлов на них не содержится – трекеры осуществляют лишь обмен списков IP-адресов.

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

Сеть eXeem
На основе протокола BitTorrent уже строится новая сеть. В отличие от предшественника она будет полностью децентрализована, то есть отпадет необходимость в трекерах. Клиенты будут сами находить друг друга, рассылая широковещательный запросы. Это должно обезопасить eXeem от нападок хакеров и компаний по защите авторских прав. К сожалению, проект только развивается и работает недостаточно быстро и стабильно. К тому же ресурсов у новой сети пока намного меньше, чем у BitTorrent. Впрочем, и то и другое – вопрос времени. Стать членом eXeem можно на официальном сайте проекта – www.exeem.com.