Как протокол PEX (Магнитные ссылки) находит его первым IP?

Я пытаюсь понять, как может работать магнитная ссылка, поскольку я прочитал, что они используют DHT и PEX для получения одноранговых узлов, но если я новый узел в сети, как я могу найти одноранговые узлы только с хешем файл?! Разве это не всегда требует ссылки на известный хост?

Спасибо

1 ответ

Решение

Bittorrent DHT может быть загружен разными способами. Ему просто нужны IP и порт любого другого доступного узла DHT.

Текущие клиенты обычно используют несколько из следующих стратегий:

  • начальная загрузка из кэша долгоживущих узлов предыдущего сеанса
  • использовать сопоставление записей DNS A/AAAA с известным узлом (например, router.bittorrent.com или dht.transmissionbt.com) с известным портом
  • использовать узел, встроенный в файл.torrent
  • извлекать порт DHT из битторрент-клиента по битрорент-соединению, установленному другими способами, например обычным трекером.
  • обнаружение соседей многоадресной рассылки через LSD
  • Перекрестная болтовня от IPv4 до DHT IPv6 и наоборот (при необходимости)

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

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

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

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

Другие вопросы по тегам