Как протокол PEX (Magnetic links) находит первый IP-адрес?

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

Спасибо

Ответ 1

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

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

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

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

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

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

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