Gnutella2

Gnutella2

Gnutella2, G2 — файлообменный OpenSource P2P протокол, используемый программой Shareaza. Разработан её автором как форк протокола Gnutella; не был положительно оценён участниками gnutella‐форума.

Содержание

Работа сети

  1. Только что установленный клиент получает список хабов со специального сервера, который производит мониторинг сети и учёт активных хабов (Это происходит только при пустом кеше хабов у клиента) и записывает их в кеш.
  2. Клиент пытается установить постоянное соединение с двумя активными хабами, проходя по адресам в кеше.
  3. Клиент запрашивает список активных хабов, соединённых с ним, и поочерёдно отправляет поисковой запрос на них.
  4. Клиент получает ответы напрямую от клиентов, у которых есть файл или информация о нём (призрак).
  5. Клиент соединяется с другими клиентами и получает от них информацию:
    1. о других источниках файла
    2. о файле (разрешение, частота кадров, длительность и т. д.)
    3. превью файла (маленькое изображение кадра из видео либо миниатюра изображения)
    4. мнение других о файле и его оценку
  6. Клиент соединяется с источниками и начинает параллельную загрузку файла по протоколу HTTP с несколькими новыми хедерами.

Источниками файла могу служить и обычные HTTP сервера, но обмен адресами этих серверов отключён в клиентах.

Через некоторое время клиент оценивает возможности системы и при достаточном их уровне переключается в режим хаба, подключается к множеству хабов и обслуживает сотни клиентов.

Отличие Gnutella2 от Gnutella

Протокол Gnutella2 не является более новой версией Gnutella, а является его форком (ответвлением). Приведённые преимущества, в основном, относятся ко времени создания Gnutella2.

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

Другое серьёзное отличие одной сети от другой было в алгоритме поиска. Сеть Gnutella 0.4 использовала метод поиска query flooding, а сеть Gnutella2 использует метод обхода сети. При этом методе узел, с которого осуществляется поиск, собирает список узлов (hub) и связывается с ними напрямую, по одному за раз. Такой способ поиска имеет несколько преимуществ. Он более эффективен, так как продолжение поиска в сети не увеличивает сетевой трафик экспоненциально. Современная версия протокола Gnutella, 0.6, не имеет такой проблемы.[1] Запросы не направляются через большое количество посредников, и это позволяет клиенту остановить поиск при получении требуемого количества информации. Одновременно повышается сложность созданной сети, поэтому может потребоваться специализированное обслуживание сети.

Также появилось различие в терминологии. Узлы, поддерживающие работу сети в Gnutella, называются Ultrapeer, а в сети Gnutella2 — Hub. Также изменилась топология сети. В Gnutella Ultrapeer поддерживают небольшое количество связей с листьями (leaf) и большое количество связей с другими узлами сети (c ultrapeer и peer). В Gnutella2, наоборот, Hub поддерживает связь с большим количеством листьев (leaf) и малое количество связей с другими узлами (hub). Такое различие в топологиях вызвано тем, что различные методы поиска имеют различные оптимальные топологии сети.

Клиенты

Список клиентов сети Gnutella2:

  • Shareaza (Windows), открытые исходные тексты на языке C++ под лицензией GPL.
  • Kiwi Alpha (Windows), закрытые исходные тексты.
  • Morpheus (Windows), закрытые исходные тексты.
  • Gnucleus (Windows), открытые исходные тексты ядра на языке C/C++ под лицензией LGPL.
  • Adagio (Cross Platform), открытые исходные тексты на языке Ada под лицензией GPL.
  • Pocket G2 (Windows Pocket PC), закрытые исходные тексты.
  • FileScope (Cross Platform), открытые исходные тексты на языке C# под лицензией GPL.
  • MLDonkey (Cross Platform), открытые исходные тексты на языке Ocaml под лицензией GPL.
  • TrustyFiles (Windows), закрытые исходные тексты.
  • Sharelin (Cross Platform), открытые исходные тексты на языке C++ под лицензией GPL.

См. также

Примечания

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Gnutella2" в других словарях:

  • Gnutella2 — Part of a series on File sharing Technologies Peer to peer  …   Wikipedia

  • Gnutella2 — Das Gnutella2 Peer to Peer Protokoll oft auch als G2 bezeichnet ist eine 2002 von Michael Stokes veröffentlichte Rundumerneuerung des gnutella Protokolls. Alles bis auf das alte Handshake des gnutella Protokolls wurde komplett neu erdacht. Somit… …   Deutsch Wikipedia

  • Gnutella2 — El protocolo P2P Gnutella2 es una re escritura del protocolo Gnutella, escrito por Michael Stokes. En este protocolo se eliminó todo lo de Gnutella con excepción del intercambio de datos para iniciar la comunicación (handshake) y utiliza un nuevo …   Wikipedia Español

  • Gnutella2 — El protocolo P2P Gnutella2 es una re escritura del protocolo Gnutella, escrito por Michael Stokes. En este protocolo se eliminó todo lo de Gnutella con excepción de el intercambio de datos para la conección(handshake) y utiliza un nuevo sistema,… …   Enciclopedia Universal

  • Gnutella2 — Gnutella  Ne pas confondre avec Nutella, la pâte à tartiner de Ferrero. Gnutella est un protocole informatique décentralisé de recherche et de transfert de fichiers peer to peer (aussi appelés P2P). Il a été imaginé en 2000 par Tom Pepper et …   Wikipédia en Français

  • Clientes Gnutella2 — Anexo:Clientes Gnutella2 Saltar a navegación, búsqueda La siguiente tabla compara información general y técnica de los programas que soportan la red Gnutella2. Contenido 1 RED SOCIAL 2 Notas 3 Véase también …   Wikipedia Español

  • Anexo:Clientes Gnutella2 — La siguiente tabla compara información general y técnica de los programas que soportan la red Gnutella2. Contenido 1 Características 2 Notas 3 Véase también 4 Enlaces externos …   Wikipedia Español

  • Gnutella 2 — Das Gnutella2 Peer to Peer Protokoll ist eine 2002 von Michael Stokes veröffentlichte Rundumerneuerung des Gnutella Protokolls. Alles bis auf das alte Handshake des Gnutella Protokolls wurde komplett neu erdacht. Somit ist neues System entstanden …   Deutsch Wikipedia

  • Mike's Protocol — Das Gnutella2 Peer to Peer Protokoll ist eine 2002 von Michael Stokes veröffentlichte Rundumerneuerung des Gnutella Protokolls. Alles bis auf das alte Handshake des Gnutella Protokolls wurde komplett neu erdacht. Somit ist neues System entstanden …   Deutsch Wikipedia

  • Gnutella Web Cache — A Gnutella web cache, also known as a GWebCache, is used by Gnutella2 and Gnutella clients to make an initial connection to their respective networks. A GWebCache uses standard HTTP to transmit data.Gnutella Web CacheGnutella requires Gnutella… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»