Гнутелла
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Часть серии о |
Обмен файлами |
---|
Gnutella — это протокол одноранговой сети . Основанная в 2000 году, это была первая децентрализованная одноранговая сеть такого типа, что привело к тому, что другие, более поздние сети, переняли эту модель. [ 1 ]
В июне 2005 года население Gnutella составляло 1,81 миллиона компьютеров. [ 2 ] к январю 2006 года увеличится до более чем трех миллионов узлов. [ 3 ] В конце 2007 года это была самая популярная сеть обмена файлами в Интернете с предполагаемой долей рынка более 40%. [ 4 ]
История
[ редактировать ]Первый клиент (также называемый Gnutella), от которого сеть получила свое название. [ 5 ] [ 6 ] была разработана Джастином Франкелем и Томом Пеппером из Nullsoft в начале 2000 года, вскоре после приобретения компании AOL . 14 марта программа стала доступна для скачивания на серверах Nullsoft. О мероприятии было преждевременно объявлено на Slashdot , и в тот день программу скачали тысячи людей. [ 7 ] [ 8 ] Исходный код должен был быть выпущен позже под лицензией GNU General Public License (GPL); однако первоначальные разработчики так и не получили возможности достичь этой цели. [ 9 ]
На следующий день AOL прекратила доступность программы по юридическим причинам и запретила Nullsoft вести дальнейшую работу над проектом. Это не остановило Гнутеллу; через несколько дней протокол был реконструирован совместимые бесплатные клоны с открытым исходным кодом . , и начали появляться [ 10 ] Эта параллельная разработка разных клиентов разными группами остается сегодня принципом работы Gnutella.
Среди первых независимых пионеров Gnutella были Джин Кан и Спенсер Кимбалл , которые запустили первый портал, призванный собрать сообщество открытого исходного кода для работы над Gnutella. [ 11 ] [ 12 ] а также разработал «GNUbile», одну из первых программ с открытым исходным кодом (GNU-GPL), реализующую протокол Gnutella. [ 13 ] [ 14 ]
Сеть Gnutella — это полностью распределенная альтернатива таким полуцентрализованным системам, как FastTrack ( KaZaA ) и оригинальному Napster . Первоначальная популярность сети была вызвана угрозой юридического закрытия Napster в начале 2001 года. Этот растущая популярность выявила пределы масштабируемости первоначального протокола. В начале 2001 года вариации протокола (впервые реализованные в проприетарных клиентах и клиентах с закрытым исходным кодом ) позволили улучшить масштабируемость. Вместо того, чтобы рассматривать каждого пользователя как клиента и сервера, некоторые пользователи теперь рассматривались как ультраодноранговые узлы , маршрутизирующие поисковые запросы и ответы для подключенных к ним пользователей.
Это позволило сети вырасти в популярности. В конце 2001 года клиент Gnutella LimeWire Basic стал бесплатным и с открытым исходным кодом. В феврале 2002 года Morpheus , коммерческая группа по обмену файлами, отказалась от своего однорангового программного обеспечения на базе FastTrack и выпустила новый клиент на основе бесплатного клиента Gnutella с открытым исходным кодом Gnucleus .
Слово Gnutella сегодня относится не к какому-то отдельному проекту или программному обеспечению, а к открытому протоколу, используемому различными клиентами.
Название представляет собой сочетание GNU , торговой марки итальянской пасты со вкусом фундука: предположительно, Франкель и Пеппер съели и Nutella много Nutella, работая над оригинальным проектом, и намеревались лицензировать свою готовую программу по Стандартной общественной лицензии GNU. Gnutella не связана с GNU. проектом [ 15 ] или собственная одноранговая сеть GNU, GNUnet .
26 октября 2010 года популярный клиент Gnutella LimeWire был приговорен к закрытию судьей Кимбой Вуд из Окружного суда США Южного округа Нью-Йорка, когда она подписала Указ о согласии , с которым согласились истцы звукозаписывающей индустрии и LimeWire. Это событие стало вероятной причиной заметного падения [ 16 ] в размере сети, поскольку во время переговоров о запрете судебном сотрудники LimeWire вставили код удаленного отключения в программное обеспечение . Когда запрет вступил в силу, пользователи, установившие затронутые версии (новее 5.5.10), были отключены от P2P-сети . Поскольку LimeWire был свободным программным обеспечением , ничто не препятствовало созданию форков , в которых отсутствовал код отключения, пока не использовались товарные знаки LimeWire. Отключение не затронуло, например, FrostWire — форк LimeWire, созданный в 2004 году и не несущий ни кода удаленного отключения, ни рекламного ПО .
9 ноября 2010 года LimeWire был возрожден секретной командой разработчиков и назван LimeWire Pirate Edition . [ 17 ] Он был основан на LimeWire 5.6 BETA. В этой версии были удалены зависимости от сервера и все функции PRO были включены бесплатно.
Дизайн
[ редактировать ]Чтобы представить, как изначально работала Gnutella, представьте себе большой круг пользователей (называемых узлами), у каждого из которых есть клиентское программное обеспечение Gnutella. При первом запуске клиентское программное обеспечение должно загрузиться и найти хотя бы еще один узел. Для этого использовались различные методы, включая уже существующий список адресов возможно рабочих узлов, поставляемый вместе с программным обеспечением, использование обновленных веб-кешей известных узлов (так называемых веб-кешей Gnutella ), кешей хостов UDP и, реже, даже IRC . После подключения клиент запрашивает список рабочих адресов. Клиент пытается подключиться к узлам, с которыми он был отправлен, а также к узлам, которые он получает от других клиентов, пока не достигнет определенной квоты. Он подключается только к определенному количеству узлов, локально кэшируя адреса, которые еще не пробовал, и отбрасывая адреса, которые он пробовал и нашел недействительными. [ 18 ]
Когда пользователь хочет выполнить поиск, клиент отправляет запрос каждому активно подключенному узлу. В версии протокола 0.4 количество активно подключенных узлов у клиента было совсем небольшим (около 5). В этой версии протокола каждый узел пересылает запрос всем своим активно подключенным узлам, которые, в свою очередь, пересылают запрос. Это продолжается до тех пор, пока пакет не достигнет заранее определенного количества переходов от отправителя (максимум 7). [ 19 ]
Начиная с версии 0.6 (2002 г. [ 20 ] ), Gnutella — это составная сеть, состоящая из конечных узлов и ультраузлов (также называемых ультраодноранговыми узлами). Листовые узлы подключены к небольшому количеству ультраодноранговых узлов (обычно 3), в то время как каждый ультраодноранговый узел подключен к более чем 32 другим ультраоднорановым узлам. Благодаря этому более высокому исходу максимальное количество прыжков, которое может пройти запрос, было снижено до 4.
Листья и ультрапиры используют протокол маршрутизации запросов для обмена таблицей маршрутизации запросов (QRT), таблицей из 64 Ki -слотов и до 2 Mi -слотов, состоящих из хешированных ключевых слов. Листовой узел отправляет свой QRT каждому из ультраодноранговых узлов, к которым он подключен, а ультраодноранговые узлы объединяют QRT всех своих конечных узлов (уменьшенных до 128 Ki -слотов) плюс свой собственный QRT (если они совместно используют файлы) и обмениваются ими со своими собственными. соседи. Затем маршрутизация запроса выполняется путем хеширования слов запроса и проверки того, все ли из них совпадают в QRT. Ультраодноранговые узлы выполняют эту проверку перед пересылкой запроса на конечный узел, а также перед пересылкой запроса на одноранговый ультраузел, при условии, что это последний переход, который может пройти запрос.
Если поисковый запрос дает результат, узел, имеющий результат, связывается с искателем. В классическом протоколе Gnutella ответные сообщения отправлялись обратно по маршруту, пройденному запросом, поскольку сам запрос не содержал идентифицирующей информации для узла. Эта схема позже была пересмотрена, чтобы доставлять результаты поиска по UDP непосредственно узлу, который инициировал поиск, обычно ультраодноранговому узлу. Таким образом, в текущем протоколе запросы содержат IP-адрес и номер порта любого узла. Это снижает объем трафика, проходящего через сеть Gnutella, что делает ее значительно более масштабируемой. [ 21 ]
Если пользователь решает загрузить файл, он договаривается о передаче файла . Если узел, на котором находится запрошенный файл, не защищен брандмауэром , запрашивающий узел может подключиться к нему напрямую. Однако, если узел защищен брандмауэром, что не позволяет исходному узлу получать входящие соединения, клиент, желающий загрузить файл, отправляет ему так называемый push-запрос на сервер, чтобы удаленный клиент вместо этого инициировал соединение (чтобы отправить файл). . Сначала эти push-запросы направлялись по исходной цепочке, которая использовалась для отправки запроса. Это было довольно ненадежно, поскольку маршруты часто нарушались, а маршрутизируемые пакеты всегда подвергались управлению потоком. push-прокси Для решения этой проблемы были введены . Обычно это ультраодноранговые узлы листового узла, и они объявляются в результатах поиска. Клиент подключается к одному из этих push-прокси с помощью HTTP-запроса, и прокси-сервер отправляет push-запрос листу от имени клиента. Обычно также можно отправить push-запрос через UDP на push-прокси, что более эффективно, чем использование TCP. Push-прокси имеют два преимущества: во-первых, соединения с ультраодноранговыми узлами более стабильны, чем маршруты. Это делает push-запросы намного более надежными. Во-вторых, это уменьшает объем трафика, проходящего через сеть Gnutella. [ 22 ]
Наконец, когда пользователь отключается, клиентское программное обеспечение сохраняет список известных узлов. Он содержит узлы, к которым был подключен клиент, и узлы, полученные из пакетов Pong. Клиент использует его в качестве начального списка при следующем запуске, таким образом становясь независимым от служб начальной загрузки. [ 23 ]
На практике этот метод поиска в сети Gnutella часто оказывался ненадежным. Каждый узел является обычным пользователем компьютера; как таковые, они постоянно подключаются и отключаются, поэтому сеть никогда не бывает полностью стабильной. Кроме того, стоимость полосы пропускания для поиска в Gnutella росла экспоненциально в зависимости от количества подключенных пользователей. [ 24 ] часто перенасыщают соединения и делают бесполезными более медленные узлы. Поэтому поисковые запросы часто отбрасывались, и большинство запросов достигало лишь очень небольшой части сети. Это наблюдение определило сеть Gnutella как немасштабируемую распределенную систему и вдохновило на разработку распределенных хеш-таблиц , которые гораздо более масштабируемы, но поддерживают поиск только по точному совпадению, а не по ключевым словам. [ 25 ]
Чтобы решить проблемы узких мест , разработчики Gnutella внедрили многоуровневую систему ультраодноранговых узлов и выходов . Вместо того, чтобы все узлы считались равными, узлы, входящие в сеть, оставались на «крае» сети, как лист. Листья не обеспечивают маршрутизацию. Узлы, способные маршрутизировать сообщения, повышаются до уровня ультраодноранговых узлов. Ультрапиры принимают конечные соединения, поиск маршрутов и сообщения обслуживания сети. Это позволяет поиску распространяться дальше по сети и позволяет вносить многочисленные изменения в топологию. Это значительно повысило эффективность и масштабируемость. [ 26 ]
Кроме того, gnutella внедрила ряд других методов, чтобы уменьшить нагрузку на трафик и сделать поиск более эффективным. Наиболее примечательными являются протокол маршрутизации запросов (QRP) и динамические запросы (DQ). Благодаря QRP поиск достигает только тех клиентов, у которых могут быть файлы, поэтому поиск редких файлов становится гораздо более эффективным. При использовании DQ поиск прекращается, как только программа получит достаточно результатов поиска. Это значительно снижает объем трафика, вызванного популярными поисковыми запросами. [ 27 ]
Одним из преимуществ такой децентрализации Gnutella является то, что ее очень сложно отключить и сделать ее сетью, в которой только пользователи могут решать, какой контент будет доступен. В отличие от Napster , где вся сеть опиралась на центральный сервер, Gnutella нельзя отключить, отключив какой-либо один узел. Децентрализованная сеть не позволяет злоумышленникам получить контроль над содержимым сети и/или манипулировать данными путем управления центральным сервером. [ 28 ]
Функции и расширения протокола
[ редактировать ]Gnutella когда-то работала по протоколу, основанному исключительно на лавинной рассылки запросов . Устаревший сетевой протокол Gnutella версии 0.4 использует пять различных типов пакетов, а именно: [ 29 ]
- ping: обнаружить хосты в сети
- понг: ответить на пинг
- запрос: поиск файла
- попадание в запрос: ответ на запрос
- push: запрос на загрузку для серверов с брандмауэром
Эти пакеты облегчают поиск. Передача файлов вместо этого обрабатывается HTTP . [ 30 ]
Разработкой протокола Gnutella в настоящее время руководит Форум разработчиков Gnutella (GDF). Многие расширения протоколов разрабатывались и разрабатываются поставщиками программного обеспечения и разработчиками бесплатной Gnutella из GDF. Эти расширения включают в себя интеллектуальную маршрутизацию запросов, контрольные суммы SHA-1 , передачу попаданий запроса через UDP , запросы через UDP, динамические запросы через TCP , передачу файлов через UDP, метаданные XML , обмен источниками (также называемый сеткой загрузки ) и параллельную загрузку срезами ( роение). [ 30 ]
На веб-сайте разработки протокола Gnutella предпринимаются усилия по доработке этих расширений протокола в спецификации Gnutella 0.6. Стандарт Gnutella 0.4 устарел, но остается последней спецификацией протокола, поскольку все расширения до сих пор существуют в виде предложений. На самом деле сегодня сложно или невозможно подключиться с помощью рукопожатий 0,4. По мнению разработчиков из GDF, версия 0.6 — это то, к чему должны стремиться новые разработчики, используя спецификации незавершенной работы . [ 31 ]
Протокол Gnutella все еще находится в стадии разработки. Несмотря на попытки полностью избавиться от сложности, унаследованной от старой Gnutella 0.4, и разработать чистую новую архитектуру сообщений, он остается одним из самых успешных протоколов обмена файлами на сегодняшний день. [ 32 ]
Программное обеспечение
[ редактировать ]В следующих таблицах сравниваются общие и технические сведения для ряда приложений, поддерживающих сеть Gnutella. Таблицы не претендуют на то, чтобы дать полный список клиентов Gnutella . Таблицы предназначены только для клиентов, которые могут участвовать в текущей сети Gnutella.
Общие характеристики
[ редактировать ]Имя | Платформа | Лицензия | Проект активен? (в противном случае прекращено) |
Последний выпуск | Наследство |
---|---|---|---|---|---|
Приобретение | macOS | Собственный | Нет | 2.2 (v223) (19 ноября 2010 г [±] | )ИзвестьПроволока |
МедведьFlix | Окна | Собственный | Нет | 5.2.6.0 | МедведьПоделиться |
МедведьПоделиться | Окна | Собственный | Нет | 10.0.0.131462 (29 января 2013 г [±] | )Оригинальная работа |
Кабели | Ява | лицензия GPL | Нет | 0.8.2 (9 февраля 2010 г [±] | )ИзвестьПроволока |
CitrixWire | Окна | Собственный | Нет | 2014 [ 33 ] | Аддакс |
КокоГнут | РИСКИ | Собственный | Нет | 1.21 (2005-06-21) | Оригинальная работа |
FilesWire (P2P) | Ява | Собственный | Нет | Бета 1.1 (2007 г.) | Оригинальная работа |
подарок (плагин Gnutella) | Кросс-платформенный | лицензия GPL | Нет | 0.0.11 (2006-08-06) | Оригинальная работа |
Гнуклеус - ГнукДНК | Окна | Лицензионная лицензия, LGPL | Нет | 2.2.0.0 (17 июня 2005 г [±] | )Оригинальная работа |
GTK-gnutella | Кросс-платформенный | лицензия GPL | Да | 1.2.2 (25 февраля 2022 г [±] | )Оригинальная работа |
KCeasy | Окна | лицензия GPL | Нет | 0.19-rc1 (3 февраля 2008 г [±] | )подарок |
Киви Альфа | Окна | лицензия GPL | Нет | 2.2.0.0 (17 июня 2005 г [±] | )ГнукДНК |
ИзвестьПроволока | Ява | лицензия GPL | Нет | 5.5.16 (30 сентября 2010 г [±] | )Оригинальная работа |
Морфеус | Окна | Собственный | Нет | 5.55.1 (15 ноября 2007 г [±] | )ГнукДНК |
Фекс | Ява | лицензия GPL | Нет | 3.4.2.116 (1 февраля 2009 г [±] | )Оригинальная работа |
Отравленный | macOS | лицензия GPL | Нет | 0,5191 (8 августа 2006 г [±] | )подарок |
Поделиться | Окна | лицензия GPL | Да | 2.7.10.2 (18 сентября 2017 г [ 34 ] ) [±] | Оригинальная работа |
Симелла | Симбиан | лицензия GPL | Нет | Оригинальная работа | |
WireShare (также известное как LimeWire Pirate Edition ) | Ява | лицензия GPL | Да | 6.0.2 (2022-10-04) | ИзвестьПроволока |
Зультракс | Окна | Собственный | Нет | 4,33 (апрель 2009 г.) | Оригинальная работа |
Прекращенный проект
Особенности Гнутеллы
[ редактировать ]Клиент | Хэш-поиск | Чат [ я ] | Список друзей | Обрабатывает большие файлы (> 4 ГБ ) | Маршрутизация запросов, совместимая с Unicode | Сопоставление портов UPnP [ ii ] | Обход NAT | Сопоставление портов NAT | ВЕЩЬ [ iii ] | TCP push-прокси | UDP push-прокси | Ультрапер | GWebCache [ iv ] | UDP-кэш хоста | ТЕКС | ТЛС | Другой | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
МедведьПоделиться | Да | Да | Да | Нет | Нет | Да | Да | Да | Да | Да | Нет | Да | Да | Нет | Да | Нет | - | |
подарок (ядро и плагины) | Да | — | — | Нет | Нет | Нет | Нет | Нет | Нет | Да [ а ] | Нет | Нет [ б ] | Да | Нет | Нет | Нет | - | |
ГнукДНК [ с ] | Да | — | — | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет [ б ] | Да | Нет | Нет | Нет | - | |
GTK-gnutella | Да [ д ] | Нет | Нет | Да | Да | Да | Да | Да | Да [ и ] | Да | Да | Да | Нет (Удален) | Да | Да | Да | IPv6 , DHT , GUESS, G2 | |
ИзвестьПроволока [ ж ] | Да [ д ] | Да | GMail или XMPP | Да | Да | Да | Да [ г ] | Да [ ч ] | Да | Да | Да | Да | Да | Да | Да | Да | ДХТ | |
WireShare [ ж ] | Да [ д ] | Да | GMail или XMPP | Да | Да | Да | Да [ г ] | Да [ ч ] | Да | Да | Да | Да | Да | Да | Да | Да | ДХТ | |
Фекс | Да | Да | Нет | Да | Да | Нет | Да [ я ] | Нет | Нет | Да | Нет | Да | Да | Да | Да | Да | I2P | |
Поделиться | Да | Да | Нет | Да | Нет | Да | Да | Да | Нет | Да | Да | Да | Да | Да [ Дж ] | Да | Нет | Г2 , БТ , еД2к , ИРЦ |
Примечания
[ редактировать ]- ^ Относится к прямому чату между клиентами; а не IRC-чат, который часто доступен в том же приложении через встроенное окно HTTP-браузера.
- ^ Автоматически настраивает переадресацию портов в маршрутизаторах или комбинированных модемах/шлюзах, поддерживающих управление UPnP.
- ^ Надежный обеспечивает передачу NAT-NAT, иногда называемую межсетевым экраном-межсетевым экраном или « пробиванием отверстий», в тех случаях , протокол UDP когда переадресация портов не выполняется или не может быть выполнена пользователем.
- ^ Поскольку у GWC были проблемы с перегрузкой трафика и долгосрочной надежностью, кэши хостов UDP стали предпочтительным методом начальной загрузки; хотя некоторые GWC остаются доступными ради более старого программного обеспечения.
- ^ Только клиентский режим, как зависимый лист от ультрапиров.
- ^ Jump up to: а б Не высокая степень outgrade , поэтому в его нынешнем виде непригодна для использования.
- ^ Версия 0.9.2.7
- ^ Jump up to: а б с Через сеть Mojito DHT на базе Kademlia, поддерживаемую только LimeWire и gtk-gnutella (начиная с версии r15750); это полностью отличается от поиска SHA-1, поддерживаемого большинством клиентов gnutella.
- ^ gtk-gnutella версии 0.98.4 и новее.
- ^ Jump up to: а б Поскольку клиент LimeWire больше не доступен, клиенты, которые используют большую часть базы кода LimeWire, например FrostWire . альтернативу могут предоставить
- ^ Jump up to: а б Запуск порта или межсетевой экран между межсетевыми экранами (FW2FW).
- ^ Jump up to: а б Автоматическая с помощью UPnP или ручная настройка в параметрах брандмауэра LimeWire.
- ^ Через прокси-сервер SOCKS , который может туннелировать через SSH .
- ^ Начиная с версии 2.2.4.0
- Morpheus существенно отличается и может иметь полностью независимый код от движка GnucDNA. Morpheus может функционировать как современный ультрапир, тогда как другие клиенты GnucDNA не могут.
- Gnucleus и Kiwi Alpha используют движок GnucDNA .
- BearFlix , функционально ограниченная версия серии BearShare 5.2, может искать только изображения или видео, а общие видео ограничены относительно короткой длиной.
- giFTcurs , Apollon , FilePipe , giFToxic , giFTui, giFTwin32 , KCeasy , Poisoned и Xfactor — это интерфейсы с графическим интерфейсом для движка GiFT .
- etomi использует устаревший сетевой код Shareaza .
- MP3 Rocket, 360Share, LemonWire, MP3Torpedo и DexterWire являются вариантами LimeWire .
- FrostWire (до версии 4.21.8) почти идентичен LimeWire 4.18, но версии выше 5.00 больше не используют gnutella.
- Acquisition и Cabos — это специальные интерфейсы, работающие над движком LimeWire .
- LimeWire Pirate Edition (5.6.2) представляет собой возрожденную версию неизданной альфа-версии LimeWire 5.6.1, поэтому имеет аналогичные функции, за исключением автоматических обновлений (с предупреждениями) и централизованного дистанционного управления для отключения основных функций, таких как поиск и загрузка.
Гнутелла2
[ редактировать ]Протокол Gnutella2 (часто называемый G2), несмотря на свое название, не является протоколом-преемником Gnutella и не имеет отношения к исходному проекту Gnutella. [ 35 ] а скорее это совершенно другой протокол, который произошел от исходного проекта и основан на имени Gnutella. Больным вопросом для многих разработчиков Gnutella является то, что название Gnutella2 означает обновление или превосходство, что привело к пламенной войне. Другая критика включала использование сети Gnutella для загрузки узлов G2 и плохую документацию протокола G2. Кроме того, более частые повторные попытки поиска клиента Shareaza , одного из первых клиентов G2, могут излишне нагружать сеть Gnutella. [ 36 ]
Оба протокола претерпели значительные изменения с момента их форка в 2002 году. У G2 есть преимущества и недостатки по сравнению с Gnutella. Часто упоминаемое преимущество заключается в том, что гибридный поиск Gnutella2 более эффективен, чем исходная лавинная рассылка запросов Gnutella . Однако Gnutella заменила лавинную рассылку запросов более эффективными методами поиска, начиная с маршрутизации запросов в 2002 году. Это было предложено в 2001 году разработчиками Limewire. [ 37 ] [ 38 ] [ 39 ] Преимуществом Gnutella является большая база пользователей, исчисляемая миллионами. [ 3 ] Сеть G2 примерно на порядок меньше. [ 40 ] Трудно сравнивать протоколы в их нынешнем виде. Выбор клиента в любой сети, вероятно, одинаково сильно влияет на конечного пользователя.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Кушнер, Дэвид (13 января 2004 г.). «Самый опасный компьютерщик в мире» . Роллинг Стоун . Архивировано из оригинала 30 июня 2012 года . Проверено 10 мая 2011 г.
- ↑ Slyck News — eDonkey2000 почти вдвое превышает размер FastTrack. Архивировано 29 января 2018 г. на Wayback Machine , Томас Меннеке для Slyck.com , 2 июня 2005 г.
- ^ Jump up to: а б О долгосрочной эволюции двухуровневого наложения Gnutella. Архивировано 10 августа 2017 г. в Wayback Machine . Расти, Штуцбах, Реджайе, 2006 г. См. рисунок 2а.
- ↑ Исследование Ars Technica: BitTorrent переживает большой рост, LimeWire по-прежнему является P2P-приложением №1. Архивировано 16 декабря 2008 г. в Wayback Machine Эрик Бангеман, 21 апреля 2008 г.
- ^ «Nullsoft от AOL создает программное обеспечение для обмена MP3» . CNET . Архивировано из оригинала 15 апреля 2015 г. Проверено 13 апреля 2017 г.
- ^ AfterDawn.com. «Гнутелла» . ПослеРассвета . Архивировано из оригинала 14 апреля 2017 г. Проверено 13 апреля 2017 г.
- ^ «Napster с открытым исходным кодом: Gnutella — Slashdot» . slashdot.org . 14 марта 2000 г. Архивировано из оригинала 24 марта 2019 г. Проверено 24 марта 2019 г.
- ^ «CNN — последние новости, последние новости и видео» . CNN . Архивировано из оригинала 20 июня 2000 г. Проверено 24 марта 2019 г.
- ^ «Относительно Gnutella — Проект GNU — Фонд свободного программного обеспечения» . Архивировано из оригинала 16 марта 2015 г. Проверено 17 марта 2015 г.
- ^ Шелл, Бернадетт Хлубик; Шелл, Бернадетт; Мартин, Клеменс (5 сентября 2006 г.). Хакерский словарь Нового Мира Вебстера . Джон Уайли и сыновья. ISBN 978-0-470-04752-1 . Архивировано из оригинала 17 января 2023 г. Проверено 2 октября 2020 г.
- ^ «Программисты помогают клонам Napster взлететь» . CNET . Архивировано из оригинала 16 апреля 2015 г. Проверено 13 апреля 2017 г.
- ^ «Пионер Gnutella Джин Кан умирает» . CNET . Архивировано из оригинала 16 апреля 2015 г. Проверено 13 апреля 2017 г.
- ^ «листинг файлов gnubile» . stearns.org . Архивировано из оригинала 22 апреля 2016 г. Проверено 13 апреля 2017 г.
- ^ «Исходный код Gnubile» . underpop.free.fr . Архивировано из оригинала 4 марта 2016 г. Проверено 13 апреля 2017 г.
- ^ «Относительно Gnutella (www.gnu.org)» . Архивировано из оригинала 16 марта 2015 г. Проверено 17 марта 2015 г.
- ^ Хлоя Альбанезиус (18 июля 2011 г.). «Независимые лейблы подали в суд на LimeWire из-за неудавшейся сделки по защите авторских прав» . Журнал ПК . Зифф-Дэвис. Архивировано из оригинала 2 февраля 2016 года . Проверено 19 марта 2012 г.
После закрытия LimeWire процент пользователей Интернета в США, имеющих доступ к службам обмена файлами P2P, упал примерно на 7 процентов по сравнению с историческим максимумом в 2007 году...
- ^ Хлоя Альбанесиус (9 ноября 2010 г.). «Отчет: LimeWire «воскрешен» секретной командой разработчиков» . Журнал ПК . Зифф-Дэвис. Архивировано из оригинала 12 июля 2017 года . Проверено 19 марта 2012 г.
- ^ «Как работает автоматическое обнаружение — Amazon ElastiCache» . docs.aws.amazon.com . Архивировано из оригинала 30 марта 2023 г. Проверено 8 июня 2023 г.
- ^ Мун, Чонбэ; Чо, Ёнгюн (2011). «Точечная изобретательная система для предотвращения халявы в сетевых средах p2p» . Вычислительная наука и ее приложения — Труды ICCSA 2011 . Спрингер. п. 464. ИСБН 978-3-642-21897-2 . Архивировано из оригинала 17 января 2023 г. Проверено 10 марта 2022 г.
- ^ «Разработка протокола Gnutella» . rfc-gnutella.sourceforge.net . Архивировано из оригинала 12 мая 2017 г. Проверено 13 апреля 2017 г.
- ^ Рипеану, Матей; Накаи, Юго. «Топология сети Gnutella: открытие и анализ» . Архивировано из оригинала 03.11.2023 . Проверено 8 июня 2023 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Клиенты Gnutella, которые все еще работают» . Ownd apreasnisuf1984 (на японском языке). 09.05.2022. Архивировано из оригинала 03.11.2023 . Проверено 8 июня 2023 г.
- ^ Францони, Федерико; Даса, Ванеса (2022). «SoK: Атаки на уровне сети в P2P-сети Биткойн» . Доступ IEEE . 10 : 94924–94962. Бибкод : 2022IEEA..1094924F . дои : 10.1109/ACCESS.2022.3204387 . hdl : 10230/55353 . ISSN 2169-3536 . S2CID 252106900 . Архивировано из оригинала 26 сентября 2022 г. Проверено 11 июля 2023 г.
- ^ Почему Gnutella не масштабируется. Нет, правда. Архивировано 6 августа 2017 г. в Wayback Machine , февраль 2001 г.
- ^ Хассельбринг, Вильгельм (1 января 2004 г.). «Иерархическая суперодноранговая сеть для распределенной разработки программного обеспечения» . Архивировано из оригинала 03.11.2023 . Проверено 8 июня 2023 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Топология сети — обзор | Темы ScienceDirect» . www.sciencedirect.com . Архивировано из оригинала 18 октября 2023 г. Проверено 8 июня 2023 г.
- ^ «DQ по-арабски — Англо-арабский словарь | Glosbe» . globbe.com . Архивировано из оригинала 9 апреля 2024 г. Проверено 8 июня 2023 г.
- ^ Беркс, Джем (9 апреля 2003 г.). «Архитектура децентрализованной одноранговой сети: Gnutella и Freenet» (PDF) . berkes.ca/ . Университет Манитобы. Архивировано из оригинала (PDF) 8 августа 2017 года . Проверено 26 октября 2019 г.
- ^ Дай, Марк. Макдональд, Рик. Руфи, Антон В., «Основы сети», Сетевая академия Cisco, Cisco Press, глава 3. с. 91
- ^ Jump up to: а б Дай, Марк. Макдональд, Рик. Руфи, Антон В., «Основы сети», Сетевая академия Cisco, Cisco Press, глава 3. стр. 90
- ^ «Разработка протокола Gnutella» . rfc-gnutella.sourceforge.net . Архивировано из оригинала 06 декабря 2022 г. Проверено 21 июля 2022 г.
- ^ Тайсон, Гарет. «Подход промежуточного программного обеспечения к созданию контентно-ориентированных приложений» . Архивировано из оригинала 03.11.2023 . Проверено 8 июня 2023 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «СитриксВайр» . БратСофт . Архивировано из оригинала 14 апреля 2017 г. Проверено 13 апреля 2017 г.
- ^ «Страница загрузки Shareaza на веб-сайте sourceforge» . СоурсФордж . Проверено 6 июля 2019 г.
- ↑ Gnutella против Gnutella2, Часть 2. Архивировано 28 июля 2012 г. в Wayback Machine Томасом Меннеке для Slyck.com , 25 февраля 2003 г.
- ↑ Gnutella против Gnutella2, Часть 1. Архивировано 5 марта 2016 г. в Wayback Machine Томасом Меннеке для Slyck.com , 25 февраля 2003 г.
- ^ Сравнение методов однорангового поиска. Архивировано 26 сентября 2007 г. в Wayback Machine Димитриоса Цумакоса, 2003 г.
- ^ Маршрутизация запросов для предложения сети Gnutella. Архивировано 24 сентября 2015 г. в Wayback Machine Кристофер Рорс, 18 декабря 2001 г.
- ^ Маршрутизация запросов для Gnutella Network 1.0. Архивировано 24 сентября 2015 г. в Wayback Machine. Кристофер Рорс, 16 мая 2002 г.
- ↑ Статистика сети G2. Архивировано 1 мая 2010 г. в Wayback Machine. Население ~ 200 000 человек, январь 2010 г.
- Дай, Марк. Макдональд, Рик. Руфи, Антон В., «Основы сети», Сетевая академия Cisco, Cisco Press, глава 3. стр. 91.
- Дай, Марк. Макдональд, Рик. Руфи, Антон В., «Основы сети», Сетевая академия Cisco, Cisco Press, глава 3. стр. 90
Внешние ссылки
[ редактировать ]- Форумы Gnutella Официальные форумы поддержки пользователей
- Wiki по разработке протокола Gnutella (в Интернет-архиве , 2009 г.)
- Портал разработки протокола Gnutella (в Интернет-архиве)
- Официальный сайт Gnutella (в Интернет-архиве)
- GnuFU , Gnutella For Users: описание внутренней работы сети gnutella в удобном для пользователя стиле.
- Что касается Gnutella от GNU
- на гласность Тест Формирование трафика Gnutella ( Институт программных систем Макса Планка )