Я работаю в Windows и хочу написать инструмент на .NET, который дает IP (с zeroconf) встроенным устройствам в сети.
Я знаком с программированием, но плохо знаком с zeroconf, сетями.
Поэтому я подумал, нужно ли демону запускаться на каждом встроенном устройстве, чтобы его можно было обнаружить? На устройствах нет Windows или Linux, BS - это Bios, а прошивка на C (поддерживается dhcp). Или я могу просто запустить хост с помощью инструмента ZeroConf, который определяет подключенные устройства?
Также мне интересно, есть ли полная реализация для Windows, я видел много публикаций и открытий сервисов, но я думаю, мне это не нужно, я хочу только назначить IP-адреса.
В конце концов, я попробовал несколько руководств по обнаружению сервисов (но я думаю, мне это не нужно для назначения ip?) Из Mono.Zeroconf и Codeplex Bonjour, но у них возникли проблемы с запуском. (Необходимый демон может не работать). Также я попробовал .NET Wrapper для zeroconf, но также не смог начать с ним работать.
Не могли бы вы мне помочь с Zeroconf для Windows?
Весь смысл ZeroConf, «Сети с нулевой конфигурацией», заключается в том, что вашим сетевым устройствам не требуется настройка (то есть вообще никакой) от людей или других серверов в сети.
В вашем сценарии ZeroConf позволяет каждому из ваших встроенных устройств выбирать себе IP-адрес. Без помощи какого-либо серверного процесса Windows .NET, потому что, если бы их нужно было настраивать чем-то другим, это не было бы «ZeroConf». Выбор собственного IP-адреса официально называется «локальная адресация канала IPv4», и как это сделать, описано в RFC 3927. Microsoft называет это «APIPA».
Если вы хотите, чтобы имя хоста ZeroConf (без сервера) для сопоставления адресов, вы делаете Многоадресный DNS (mDNS) на каждом из ваших встроенных устройств (и на хосте, которому необходимо найти сопоставления имен с адресами).
Если вы хотите, чтобы сервис ZeroConf (без сервера) объявлял и просматривал страницы, вы делаете Обнаружение службы DNS (DNS-SD) на каждом из ваших встроенных устройств (и на хосте, который должен искать эти службы).
Windows уже имеет встроенную поддержку локальной адресации IPv4, но они не делали mDNS и DNS-SD так же, как Apple; они сделали нечто похожее, но несовместимое, под названием LLMNR. Если вам нужен настоящий стек IETF ZeroConf для Windows, Apple публикует Bonjour для Windows (очевидно, теперь пакет называется «Службы печати Bonjour для Windows», но это все еще программа Bonjour mDNSResponder ZeroConf).