Одноранговый узел одноранговому узлу: методы нахождения коллег

Простым способом было бы использовать фреймворк PHP, такой как CodeIgniter или Laravel , которые имеют встроенные функции, такие как фильтрация и активная запись, так что вам не нужно беспокоиться об этих нюансах.

58
задан Robert Harvey 9 August 2016 в 02:27
поделиться

9 ответов

Нет никакого пути вокруг необходимости знать, что по крайней мере один начальный одноранговый узел обнаруживает больше. Полностью протоколы P2P, такие как Gnutella или Gnutella2 или более простая Сверхсеть (сделанный известным Червем Storm), основаны на каждом клиенте, имеющем список запуска нескольких коллег. Они могут оторваться веб-автоматизированное средство отслеживания, например. Клиент обнаружит целую сеть или части ее путем выяснения у других коллег больше адресов, например, при делегировании поиска файла.

, Если Вы действительно не можете иметь, любой своего рода централизовал ресурс, лучшей, которую можно сделать, является находка первый одноранговый узел через широковещательно переданные сообщения и в конечном счете сканирование IP-адреса. Первый подход является действующим из лучших побуждений, но по крайней мере в 98% случаев не приведет ни к каким результатам. Более поздний подход, конечно, злоупотребляет Интернетом, а также недопустимый в большинстве стран.

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

42
ответ дан anon6439 24 November 2019 в 19:05
поделиться

В ограниченном случае коллег в интранет возможно отправить широковещательное сообщение UDP в известный порт, просящий коллег сообщить.

9
ответ дан Oddthinking 24 November 2019 в 19:05
поделиться

Три пути, первое, что пришло на ум, хотя Вы всегда собираетесь нуждаться в некотором центральном сервере для запуска соединения, если Вы не пошли с опцией 3.

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

В Вашем примере, у Вас все еще был бы некоторый центральный сервер, где коллеги будут зарегистрированы; протокол является единственной разницей.

4
ответ дан GalacticCowboy 24 November 2019 в 19:05
поделиться

Для помещения его просто не нет никакого способа сделать, это без центрального разъединяет.

, Если Вы хотите сделать это, Вам просто нужны один или несколько центральных серверов, ли динамическим dns или нет. Клиентам нужен метод для обнаружения, где они должны соединиться с, и единственный действительно разумный способ сделать, это с собственным сервером в самом простом сценарии, который это только должно отправить IP-адресу в ответ.

Виртуальный разъединяет, может иметься приблизительно за $15/месяцев, какой IMO является значительно более дешевым, чем попытка использовать или злоупотребить чужой пропускной способностью.

<час>

[Редактирование].

Для помещения его просто, существует иначе, следующим образом.

После отражения я думаю, что я сделал бы, должен определять ряд коллег как групповые контроллеры и использовать динамическую службу DNS, чтобы позволить другим коллегам обнаруживать групповые контроллеры.

Выбирают динамического поставщика DNS, я назову его myc.ath.cx (я Использование http://www.dyndns.com/ ).

Каждый одноранговый узел должен быть способен к становлению групповым контроллером. Групповой контроллер будет содержать список всех других соединенных коллег.

, Когда одноранговый узел запускается, он ищет myc.ath.cx и попытки соединиться. Если связь не может быть установлена в течение периода скажем 30 секунд, она принимает регистрацию записи DNS.

Любой коллега, желающий обнаружить других коллег, может просто запросить myc.ath.cx, и список будет предоставлен

, Все коллеги ответственны за то, что периодически загрузили список коллег, в случае, если им нужно к групповому контроллеру.

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

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

3
ответ дан Richard Harrison 24 November 2019 в 19:05
поделиться

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

Примерно, я не думаю, что это возможно, не используя своего рода выделенное устройство хранения данных или сервер (который делает почтовый подход, хотя косвенно), ЕСЛИ Вы не в состоянии характеризовать возможность соединения к Интернету, который используют Ваши коллеги.

В основном, если у Вас есть ряд X числа коллег, того подключения для количества времени Y, и они тогда от сетки для количества времени Z... по существу, можно создать уравнение вероятности о том, как, вероятно, случается так, что группа коллег, с которыми Вы в последний раз связались, все еще доступна; где та вероятность приближается 1 (для данного набора X, Y, и Z выше), можно, скорее всего, выдержать одноранговую сеть, не используя устройство хранения данных.

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

, Если Вы хотите стать действительно хитрыми, можно начать использовать в основном steganographic методы для сокрытия информации о местоположении однорангового узла. Т.е. получите поиск Google "вздора"; найдите первый сайт перечисленным в результатах, который имеет незащищенное (никакая КАПЧА) форум; найдите третье (или безотносительно) сообщением, которое запускается с "Несомненно" (или безотносительно), и найдите заголовок первого сообщения там, и существует IP-адрес однорангового узла. Если это не работает, спускается по списку критериев поиска к следующему.

, Но это является подлым.:-)

1
ответ дан Paul Sonier 24 November 2019 в 19:05
поделиться

Действительно ли Вы могли снова использовать существующий выделенный сервер для цели?

я думаю в особенности о регистрации каждого из коллег с Динамическим DNS, но если Вы были готовы стать немного более уродливыми, совместно использовав доступ к известной учетной записи Hotmail или Google Doc и т.п.

1
ответ дан Oddthinking 24 November 2019 в 19:05
поделиться

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

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

Получение проверенных веб-сайтов и высоко оцениваемых Google (или некоторая другая поисковая система) для Вашего конкретного тайного набора критериев поиска было бы приемом. Я могу думать о нескольких путях, но они не, которые я использовал бы. Для законного сервиса я потратил бы деньги или нашел бы бесплатный веб-сайт, который мог функционировать как каталог.

1
ответ дан tvanfosson 24 November 2019 в 19:05
поделиться

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

Каждый узел имеет GUID, который привык к запросам маршрута через одноранговую сеть.

0
ответ дан Steve 24 November 2019 в 19:05
поделиться

If you're loooking for an already established central server then see the metaserver entry on page here:
http://martindevans.appspot.com/
You can register peers on there and then other peers can find them. Obviously this is a central server, but it requires no maintenance on your part.

0
ответ дан 24 November 2019 в 19:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: