Архивы: по дате | по разделам | по авторам

Электронного осла хвостик

Архив
автор : Александр Красоткин   25.03.2004

Пиринговая технология BitTorrent имеет совсем другие принципы работы, чем обыкновенные файлообменные сети, и лишена их недостатков.

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

И тут в игру вступил так называемый человеческий фактор, породивший ряд серьезных проблем. На них мы и остановимся.

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

2) Недокачанные файлы. Предположим, некий участник сети опубликовал (сделал доступным у себя на компьютере) уникальный файл. Когда объем скачанных данных превысил объем файла, скажем, в десять раз, пользователь в силу каких-то причин снимает доступ. Теоретически у кого-то уже может быть полная копия. На практике же имеет место сотня участников сети, у каждого из которых примерно по одной десятой файла. В современных пиринговых сетях клиенты не могут скооперироваться для совместного получения данных. Существующие стратегии выбора для закачки наиболее редких блоков ориентированы на индивидуальное использование, а не коллективную работу.

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

Разработанная Брэмом Коэном в рамках проекта BitTorrent (www.bitconjurer.org/BitTorrent) схема файлообмена, решающая описанные выше проблемы, значительно отличается от механизма работы уже знакомых нам пиринговых сетей. Прежде всего она - централизованная. Всеми операциями клиентов по закачке файлов управляет так называемый tracker-сервер. Глобальной пиринговой сети BitTorrent, как можно представить по аналогии с Gnutella или Overnet, не существует, скорее ее можно описать как кооперацию клиентов для распространения только одного файла. Подробности можно понять из нижеследующей схемы работы.

Владелец публикуемого документа подготавливает файл определенного формата (torrent-файл), содержащий адрес tracker-сервера, а также описание самого документа, представленного в виде множества блоков данных.

Подготовленный torrent-файл обычным образом публикуется в Интернете и сопровождается пояснениями, в которых говорится, для получения каких материалов он предназначен.

Пользователь скачивает заинтересовавший его torrent-файл и запускает программу-клиент, которая подключается к tracker-серверу, считав его адрес из torrent-файла.

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

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

Упоминаемые проекты и ресурсы
FAQ по BitTorrent, www.dessent.net.
Shareaza,  www.shareaza.com.
Коллекция torrent-файлов, www.bt.etree.org.

Очевидно, что основным недостатком такой схемы файлообмена является ее централизованность. При выходе из строя tracker-сервера обмен данными между ресурсом и клиентами невозможен.

С другой стороны, централизация функций управления распространением данных обеспечила:

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

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

Для получения файлов, распространяемых по torrent-технологии, Брэм Коэн разработал утилиту BitTorrent (текущая версия 3.3). Работать с ней проще простого: надо лишь щелкнуть по torrent-файлу, а все остальное будет сделано автоматически. Помимо этой утилиты, работу с torrent-файлами поддерживает еще ряд программ от сторонних разработчиков. В частности, Shareaza, о которой мы не так давно уже писали.

Полезной может оказаться и TorrentSpy, извлекающая данные о распространяемых документах из закодированного формата torrent-файла.

При подготовке документов к публикации вместо утилиты CompleteDir, предлагаемой на ресурсе BitTorrent, удобнее работать с программой MakeTorrent (версия 2.0), предоставляющей более широкие возможности по конфигурированию и созданию torrent-файлов. В качестве tracker-сервера можно выбрать один из публичных серверов, только перед этим надо получить согласие его владельцев. Для распространения опубликованного документа требуется, чтобы к tracker-серверу был подключен хотя бы один клиент, обладающей полной версией документа. Очевидно, что при первой публикации это должен быть владелец документа.

Также следует предоставить доступ со стороны Интернета к системным портам 6881-6889, которые используются для входящих соединений. Если же этого не сделать, скорость получения данных будет невысокой.

В копилке проекта BitTorrent есть благожелательные отзывы компании Red Hat, воспользовавшейся этой технологией для распространения в Интернете новой версии операционной системы Red Hat Linux 9. Было опубликовано три ISO-образа общим объемом 1,72 Гбайт, и спустя четыре часа объем переданной информации составил 1,5 Тбайт при средней скорости передачи 170 Мбит/с. Число полных закачек превысило пятьсот. Инженеры Red Hat отмечают, что при распространении данных традиционным способом, через FTP- и HTTP-серверы, подобные цифры были бы недостижимы.

На этом тему пиринговых сетей считаю раскрытой. Следите за новостями, вещь-то занятна...

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.