From 6b663f52f840aeb3593ee85bb940de4c33473e50 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sat, 26 Jun 2021 20:47:04 +0300 Subject: [PATCH] =?utf8?q?MultiCast=20Discovery=20=D0=B2=20NNCP?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://www.nncpgo.org/MCD.html В 6.6.0 релизе NNCP добавил возможность обнаружения хостов через multicast рассылки. Поднял дома ещё одну машину, где хотел применить NNCP, и сразу как-то стало неохота прописывать адреса в конфиги остальных нод (хотя в любом случае их придётся менять, чтобы добавить публичный ключ). Я ленив. Поэтому чтобы не писать лишнюю строчку, я потратил несколько часов чтобы реализовать MCD. Не стал заморачиваться с IPv4 и сделал просто рассылку по ff02::1 адресу UDP пакетов на фиксированный порт. Исходящий адрес и порт будут сигнализировать о том, где доступен демон. Внутри пакета XDR с магическим заголовком и идентификатором ноды (хэш от публичного ключа). nncp-caller слушает, ловит эти пакеты, добавляет в качестве предпочтительных адресов для соединения. Следит за сроком жизни и удаляет когда оповещения больше не приходят. Можно сделать конфиги в которых вообще адреса не фигурируют, но при любой сетевой доступности и ловле MCD оповещений они будут готовы соединяться. -- 2.48.1