Как работает Гнутелла

Jul 23 2002
Обмен файлами позволяет миллионам людей свободно обмениваться файлами MP3 и видео в Интернете. Это законно? Как происходит обмен файлами? Есть ли центральная база данных? Узнайте, как работает структура обмена файлами, и узнайте, почему звукозаписывающим компаниям сложно подать в суд.

На пике своего развития Napster был, пожалуй, самым популярным веб-сайтом из когда-либо созданных. Менее чем за год он вырос с нуля до 60 миллионов посетителей в месяц. Затем он был закрыт по решению суда из-за нарушения авторских прав и не открывался до 2003 года как легальный сайт для скачивания музыки.

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

Учитывая, что он распространял нелегальный продукт, главная слабость оригинального Napster заключалась в его архитектуре — способе, которым создатели спроектировали систему. Когда суды решили, что Napster пропагандирует нарушение авторских прав , было очень легко закрыть сайт по решению суда.

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

Новый Напстер

Napster был перезапущен новой материнской компанией Roxio в 2003 году. Теперь это легальный платный музыкальный сайт — во второй версии Napster нет нарушений авторских прав.

Содержание
  1. Архитектура Napster
  2. Архитектура Гнутеллы
  3. Клиенты Gnutella
  4. Пример XoloX: поиск
  5. Пример XoloX: загрузка
  6. Законна ли Гнутелла?

Архитектура Napster

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

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

Если вы вошли в старый Napster, чтобы загрузить песню, вот что произошло:

  1. Вы запустили программу Napster на своем компьютере. Ваша машина стала небольшим сервером, способным сделать файлы доступными для других пользователей Napster.
  2. Ваша машина подключена к центральным серверам Napster. Он сообщил центральным серверам, какие файлы доступны на вашем компьютере. Таким образом, на центральных серверах Napster в то время был полный список каждой общей песни, доступной на каждом жестком диске, подключенном к Napster.
  3. Вы ввели запрос на песню. Допустим, вы искали песню "Roxanne" группы The Police. На центральных серверах Napster перечислены все машины, на которых хранится эта песня.
  4. Вы выбрали версию песни из списка.
  5. Ваша машина подключилась к машине пользователя, на которой была эта песня, и загрузила песню прямо с этой машины.

У создателя Napster было несколько причин для такого подхода:

  • Со временем Napster стал доступным для миллиардов песен. Не может быть, чтобы на центральном сервере хватило места на диске для хранения всех песен или достаточно пропускной способности для обработки всех запросов.
  • Napster пытался воспользоваться лазейкой в ​​законе об авторском праве , позволяющей друзьям делиться музыкой с друзьями. Юридическая концепция Napster заключалась в следующем: «Все эти люди делятся песнями на своих жестких дисках со своими друзьями». Суды не согласились с этой логикой, но это дало Napster достаточно времени, чтобы доказать свою концепцию и вырасти до огромных размеров.

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

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

С исчезновением оригинального Napster на тот момент у вас было около 100 миллионов человек по всему миру, жаждущих делиться все большим и большим количеством файлов. Это был лишь вопрос времени, когда появится другая система, которая заполнит этот пробел.

Архитектура Гнутеллы

В настоящее время самой популярной системой для обмена файлами является другая одноранговая сеть под названием Gnutella , или сеть Gnutella. Есть два основных сходства между Gnutella и старым Napster:

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

Есть также два больших различия между Gnutella и старым Napster:

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

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

Клиенты Gnutella

Первоначальный Napster имел одну часть «клиентского программного обеспечения» — программное обеспечение, которое пользователи запускали на своих машинах для доступа к серверам Napster. У Gnutella есть десятки доступных клиентов. Некоторые из популярных клиентов Gnutella включают в себя:

  • МедведьПоделиться
  • Гнуклеус
  • LimeWire
  • Морфеус
  • ВинМХ
  • КсолоX

Как клиент Gnutella находит песню

Учитывая отсутствие центрального сервера для хранения имен и местоположений всех доступных файлов, как программа Gnutella на вашем компьютере находит песню на чужом компьютере? Процесс происходит примерно так:

  • Вы вводите название песни или файла, который хотите найти.
  • Ваша машина знает по крайней мере еще одну машину с Gnutella где-то в сети. Он знает это, потому что вы сообщили ему местоположение машины, введя IP-адрес , или потому что в программном обеспечении есть предварительно запрограммированный IP-адрес хоста Gnutella. Ваша машина отправляет введенное вами название песни в Gnutella. машины, о которых он знает.
  • Эти машины ищут, находится ли запрошенный файл на локальном жестком диске. Если это так, они возвращают запрашивающему имя файла (и IP-адрес компьютера).
  • В то же время все эти машины отправляют один и тот же запрос машинам, к которым они подключены, и процесс повторяется.
  • Запрос имеет ограничение TTL (время жизни). Запрос может пройти шесть или семь уровней, прежде чем он перестанет распространяться. Если каждая машина в сети Gnutella знает только о четырех других, это означает, что ваш запрос может достичь 8000 или около того других машин в сети Gnutella, если он распространится на семь уровней вглубь.

Это чрезвычайно простой и умный способ очень быстро распределить запрос по тысячам машин.

У этого подхода есть одно большое преимущество — Gnutella работает постоянно . Пока вы можете получить доступ хотя бы к одной другой машине с программным обеспечением Gnutella, вы можете запрашивать сеть. Никакой судебный приказ не остановит эту систему, потому что нет одной машины, которая бы контролировала все. Однако у Gnutella есть как минимум три недостатка:

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

Судя по всему, эти недостатки незначительны, потому что люди скачали сотни миллионов копий клиентов Gnutella.

Пример XoloX: поиск

XoloX — типичная, довольно простая программа для подключения к сети Gnutella. В нем нет некоторых наворотов более сложных клиентов, но он работает, это небольшой файл для загрузки (всего 600 килобайт или около того), в нем нет «шпионского ПО» или встроенной всплывающей рекламы . с ним, и его очень легко установить и использовать. Его простота позволяет продемонстрировать, как работает типичный клиент Gnutella.

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

На рисунке выше показан типичный скриншот во время поиска. Все, что вам нужно сделать, это ввести имя (или ключевые слова) файла, который вы ищете. Вы также можете выбрать тип файла: аудио, видео и т. д. или «Все типы». Ваш клиент XoloX отправляет сообщение, содержащее вашу строку поиска, и в течение 30–60 секунд окно поиска заполняется результатами тысяч других машин, обрабатывающих ваш запрос.

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

Пример XoloX: загрузка

Чтобы скачать файл, достаточно дважды щелкнуть его в окне поиска. Это отправляет имя файла в окно передачи. Как только имя файла появится в окне передачи, ваша копия XoloX подключится к одноранговой машине для загрузки файла. Одна приятная особенность XoloX/Gnutella заключается в том, что если файл доступен на нескольких машинах, ваш клиент может подключиться к нескольким из них одновременно, чтобы очень быстро загрузить файл. На рисунке ниже видно, что Filename1.avi, в частности, использует эту возможность для загрузки файла со скоростью 69,2 килобайта в секунду. XoloX оценивает 43 минуты, чтобы завершить загрузку более 100 мегабайт.

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

Если у вас есть файлы на вашем компьютере, вы можете найти их в каталоге XoloX и в окне «Файлы» XoloX. Вы можете поделиться всеми загруженными файлами с другими людьми, если хотите. Для этого сначала укажите каталоги и типы файлов, которыми вы хотите поделиться, в диалоговом окне «Настройки»:

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

Это может помешать людям использовать всю вашу восходящую полосу пропускания.

Законна ли Гнутелла?

Сама Gnutella является законной. Не существует закона, запрещающего совместное использование файлов, являющихся общественным достоянием . Когда люди используют Gnutella для распространения музыки и фильмов, защищенных авторским правом, ее использование становится незаконным. Это проблема, из-за которой Napster попал в беду. Музыкальная индустрия официально недовольна Gnutella, но в настоящее время нет простого способа ее контролировать.

Атака на архитектуру Gnutella — один из способов нарушить обмен файлами. В настоящее время используются два подхода:

  1. Перегрузка сети Gnutella потоком фальшивых поисковых пакетов.
  2. Заполнение серверов Gnutella поврежденными файлами.

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

В настоящее время ведутся споры о том, какой финансовый ущерб на самом деле наносит обмен файлами. Является ли общий файл кражей или формой бесплатной рекламы и разоблачения, как эфирное время на радио?

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

Много дополнительной информации

Статьи по Теме

  • Как работают файлы MP3
  • Как работают MP3-плееры
  • Как работал Napster
  • Как работают веб-серверы
  • Как работают жесткие диски
  • Как работают устройства записи компакт-дисков
  • Как работает интернет-инфраструктура
  • Как работает домашняя сеть
  • Что такое авторские права и патенты?

Больше отличных ссылок

  • Каталоги хостов Gnutella
  • Казаа
  • FAQ по Gnutella от Knowbuddy
  • Новости Гнутеллы
  • Код поиска PHP Gnutella
  • Интернет-банкротство — альтернативный взгляд
  • Embedded.com: встраивание одноранговой сети

Новости

  • MTV.com: Индустрия звукозаписи подала в суд на 32 студентов за незаконный обмен файлами - 04.10 .
  • Новая волна судебных исков о незаконном обмене файлами, возбужденных RIAA - 4/04
  • Tom's Hardware Guide: Опрос: снижение количества музыкальных файлов — 4/04
  • WiredNews: Roxio покупает Pressplay, Napster Lives — 03 мая
  • NewScientist.com: «Случайные ходоки» могут ускорить одноранговые сети — 02 июля
  • Gnutella.com: лейблы планируют юридические атаки на частных лиц? - 02.07.
  • Gnutella.com: Голливуд хочет закрыть «аналоговую дыру» - 02.05.
  • P2P.com: Gnutella и Freenet представляют настоящие технологические инновации — 5/00