#encoding koi8-r #extends phd_site #implements respond #attr $Title = "BitTorrent" #attr $Copyright = 2008 ## #def body_rst BitTorrent ========== .. class:: head Протокол BitTorrent_ - это файлообменный протокол по технологии p2p (peer to peer), т.е. нет центрального сервера, на котором хранятся файлы - файлы хранятся у пользователей, а сервер (в протоколе BitTorrent называемый трекер) синхронизирует пользователей между собой. .. _BitTorrent: $wikipedia_ru('BitTorrent (протокол)') Работает это так: пользователь X хочет начать раздавать фильм. Он создаёт для файла или директории файл с метаинформацией, в протоколе BitTorrent называемый torrent-файл. Затем этот торрент-файл он загружает в трекер, и запускает у себя программу торрент-клиент с этим торрентом. Таким образом он становится сидом (seed, seeder, "сидер") - пользователем, у которого файл есть целиком. На трекер приходит пользователь Y, и поиском (или ещё как-то) находит описание раздачи. Пользователь Y скачивает торрент-файл, и запускает торрент-клиент. Клиент консультируется с метаинформацией в торренте, связывается с трекером, сообщает, с каким торрентом он пришёл. Трекер сообщает клиенту Y единственный адрес источника - адрес клиента X. Y начинает скачивать у X файл(ы). Приходит пользователь Z, скачивает с трекера торрент-файл, соединяется с трекером торрент-клиентом, и трекер отдаёт клиенту Z два адреса - X и Y, сообщив при этом, что у Y скачаны пока сегменты с 1 по 100 из общего числ в 1000. О сегментах. Информация об исходных файлах и директориях пишется в торрент-файл с разбивкой на сегменты; скажем, исходный файл фильма разбивается на сегменты по 4 мегабайта; размер сегмента, число всех сегментов, номера сегментов и контрольные суммы каждого сегмента пишутся в торрент. Каждый клиент, скачивая сегмент, пересчитывает контрольную сумму, и докладывает трекеру - скачалось или ошибка. Если скачалось - трекер запоминает, что клиент Y скачал сегмент номер 42, и теперь можно клиенту Z отправить информацию, что у Y есть этот сегмент, и его можно качать как у X, так и у Y. Любой клиент в любой момент может прервать соединение, а через некоторое время продолжить. Клиент, перед тем как присоединиться, проверяет, что он уже скачал - смотрит в скачанные файлы, и пересчитывает контрольные суммы, сверяя их с торрент-файлом. Соединившись с трекером, клиент сообщает, какие сегменты у него уже есть, и трекер решит, за какими сегментами к какому клиенту его отправить, и за какими сегментами отправлять других пользователей к этому клиенту. Когда Y или Z докачают файлы полностью,они станут сидами, и будут раздавать файлы другим клиентам. Peer to peer. .. class:: head Теперь о рейтинге. Внимание, это важно. Файлообменные сети p2p живут взаимопомощью пользователей. Рейтинг - это способ количественно учесть степень помощи, наказать личеров (leech, в данном случае - пиявка, т.е. тот, кто скачивает, но мало отдаёт; а вообще личером зовут клиента, у которого файлы скачан ещё не полностью; пиры (peer) - любые клиенты, сидеры+личеры), наградить активно раздающих. Активно раздающих не в смысле первоначального сидирования (пользователя X в моём примере), но и вторичных сидов (Y, Z и последующих). Рейтинг - это отношение отданного объёма трафика к скачанному. Скажем, если пользователь Y скачал фильм в 1 гигабайт, и отдал пользователям Z, V и W на этом торренте 3 гигабайта - рейтинг станет равным 3. Трекер хранит суммы отданного и скачанного, поэтому если у Y до этого торрента рейтинг был "5 гигабайт отдано, 10 скачано" (т.е. рейтинг, называемый также рацио, равен 0.5), то теперь рейтинг станет "8 гигабайт отдано, 11 скачано", т.е. 0.73. Есть трекеры совершенно открытые, даже без регистрации. Там рейтинг не учитывается вовсе. Есть трекеры закрытые, куда пускают только по приглашениям, и рейтинг там учитывается странно; чаще там надо быть первоначальным, чем вторичным сидером - больше раздавать нового, оригинального контента, а не поддерживать уже существующее. Но большинство трекеров - публичные трекеры (т.е. пользоваться ими может каждый) с регистрацией и простым учётом рейтинга. Рейтинг учитывают приблизительно так - если (обычно после первых нескольки гигабайт трафика) рейтинг пользователя меньше 0.2 - он не может ничего качать, только раздавать уже скачанное, при рейтинге от 0.2 до 0.4 - можно скачать один торрент, до 0.6 - 2-3 торрента одновременно, выше 1 - без ограничений. Для поднятия рейтинга пригодятся премиальные раздачи, если они есть на трекере - это раздачи, на которых количество скачанного не учитывается вовсе, или учитывается частично) Кроме того, на многих трекерах выдают бонусы в виде повышения рейтинга за время сидирования и бонусы за раздачу оригинального контента (создание раздач и первоначальное сидирование). .. class:: head В протоколе BitTorrent почему-то нет авторизации клиента на трекере. Т.е. в программе-клиенте нет места для ввода имени/пароля на трекер. Торренты с регистрацией и рейтингом решили это так - в торрент-файл, в адрес трекера добавляется passkey, уникальный для каждого пользователя. Торрент-файл модифицируется для каждого клиента, который скачивает торрент с сайта трекера. Соответственно, в нашем примере пользователь X создаст торрент-файл, загрузит его на трекер, немедленно его скачает (чтобы трекер модифицировал торрент), и вот уже этот модифицированный, персонализированный торрент загрузит в свой торрент-клиент. Персонализированные торренты (сами торренты, метаинформацию, а не информацию в файлах) запрещено раздавать другим людям. Во-первых, это опасно - попортишь себе рейтинг. Во-вторых, это может быть накруткой рейтинга, чего администраторы трекеров сильно не любят. Большинство торрентов, находящихся искалками типа isohunt, лежат на открытых трекерах, без регистраций и рейтингов, поэтому их можно скачивать свободно, чужих passkey в них нет. .. class:: head В адресе трекера в торрент-файле может быть passkey, но нет идентификатора самого торрент-файла. Вместо идентификатора клиент передаёт трекеру хэш торрент-файла, по которому трекер и находит соответствующую раздачу у себя в базе. Хэш считается не от всего файла, а от неизменяемых полей; например, адрес трекера можно изменить (добавить passkey), но хэш торрент-файла это не изменит. .. class:: head Самым неопытным пользователям перед началом скачивания с трекеров с рейтингом рекомендуется потренироваться на открытых трекерах. Начните что-нибудь скачивать на раздаче, на которой есть личеры, и следите, будет ли у вас происходить раздача. Если нет - это повод обеспокоиться, потому что без отдачи не будет рейтинга. Необходимо выяснить, почему не происходит отдача - то ли неправильно настроен торрент-клиент, то ли он конфликтует с вашим межсетевым экраном, то ли вас блокирует (случайно или намеренно) провайдер. Что нужно, чтобы начать пользоваться трекером: - найти программу торрент-клиент_; - зарегистрироваться на трекере; - найти интересующие раздачи; - скачать торрент-файл, загрузить его в клиент, и начать скачивать и раздавать, следя за рейтингом. .. _торрент-клиент: https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:BitTorrent-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D1%8B .. class:: head Большим недостатком протокола BitTorrent является разобщённость трекеров, отсутствие возможности сделать поиск по всем. Сеть eDonkey_, например, на весь мир одна, к какому бы серверу не подключиться, есть централизованный поиск. Тем не менее я предпочитаю BitTorrent - по разным причинам, например, по таким: автор протокола и первого набора программ (трекер, клиент, генератор метаинформации), Абрам Коган, написал их на Питоне, и опубликовал полное описание протокола и все исходники программ; для меня это важно, я сторонник открытых протоколов и свободных программ, язык Питон же люблю особенно. .. _eDonkey: https://ru.wikipedia.org/wiki/EDonkey2000_(%D1%81%D0%B5%D1%82%D1%8C) .. class:: head Большинство публичных трекеров имеют сайт для трекера и форум. В зависимости от используемого софта регистрация может быть одна на трекер и форум, или две отдельные. Бывают трекеры и форумы открытые на чтение (можно читать анонимно) и закрытые - для чтения требуется зарегистрироваться; бывают частично закрытые - читать можно анонимно, а для поиска требуется зарегистрироваться. Если форум совмещён с трекером, то все обсуждения происходят в топике (теме) раздачи. Если трекер и форум разделены, то обсуждение качества раздачи происходит на трекере, а обсуждение содержания раздачи - на форуме. .. class:: head Самый известный в России трекер: https://rutracker.org/ (бывший torrents.ru). Очень большой трекер с хорошим поиском. Форум совмещён с трекером. Трекер и форум открыты на чтение, поиск требует регистрации. В начале 2012 г. отменён учёт рейтинга. .. class:: head Ещё несколько трекеров, которыми я пользуюсь. Трекеры без регистрации: - http://rutor.info/ (бывший freeexchange.ru, rutor.org) - http://megatfile.cc/ (бывший tfile.ru, tfile.me, tfile.cc). https://nnmclub.to/, (был https://nnm-club.me/) - трекер клуба NoNaMe; анонсы в доке http://tracker.blogzona.ru/ (доком в blogzona.ru (бывший nnm.ru) называется блог с доменом третьего уровня, например http://sssr-films.blogzona.ru/, http://ussr-films.blogzona.ru/, http://staroekino.blogzona.ru/). Форум совмещён с трекером. Трекер и форум открыты. Неплохой трекер, хороший поиск, есть премиальные раздачи - золотые (0%), серебряные (50%), бронзовые (75%). Платиновые раздачи - для зарегистрированных пользователь такие же, как золотые; но их могут качать даже незарегистрированные пользователи. .. class:: head В течении долгого времени я пользовался трекером kinozal.tv. Но он сильно испортился. Модераторы не следят за порядком, и в комментариях к раздачам стал твориться сущий ад - бесконечные национальные, политические, религиозные войны. Большинство раздач стало сетевыми мультитрекерными; говоря по-простому, раздающие тырят раздачи с РуТрекера и перераздают на Кинозале. А зачем это мне - скачивать с Кинозала с рейтингом, когда есть РуТрекер без рейтинга? А позже они там разрешили раздачи с рекламой; представляете детский фильм с рекламой казино?! Совсем никуда не годится. Я больше не пользуюсь этим трекером и другим не рекомендую. #end def $phd_site.respond(self)