mDNS - как узнать, что устройство находится вне зоны действия сигнала Wi-Fi

Я хотел бы задать вопрос о mDNS.
Я пытаюсь создать процесс Linux, который может обнаруживать некоторые службы (например, _airplay._tcp., _Raop._tcp) с другого устройства. когда устройство присоединяется к точке доступа Linux.

Я могу получить уведомление через mDNS и использовать команду dns-sd ,

dns-sd -B _xxxx._tcp

я вижу:

Browsing for _xxx._tcp

Timestamp     A/R   Flags if    Domain    Service Type    Instance Name
18:06:15.281  Add   3     8     local.    _xxxx._tcp.     xxxx_name

Однако, когда я перемещаю устройство вне зоны действия Wi-Fi я не могу получить удаленное уведомление через mDNS, и команда dns-sd не видит удаленного события. Мне было интересно, ожидается ли, что mDNS не может знать, что устройство удалено в этом случае?

Или, может быть, mDNS может знать, что устройство удалено через измененный сетевой интерфейс? Я не могу получить удаленное событие, это связано с неправильной конфигурацией моей сети Linux?

1
задан 27 December 2018 в 02:10
1 ответ

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

Учитывая, что, по сути, та же проблема может возникнуть даже при использовании обычного DNS (и динамические обновления), или практически говоря любой системой обнаружения сервисов, решение любой проблемы, которую вы на самом деле пытаетесь решить, это «не полагаться на актуальность данных обнаружения сервисов. -дата, потому что ее часто не будет ". Это означает выполнение вашей собственной проверки работоспособности сервисов, правильно обрабатывая всевозможные ошибки (включая использование разумно малых тайм-аутов соединения) и, как правило, предполагая, что данные SD в лучшем случае являются неопределенным намеком в правильном направлении, а не какой-то абсолютной гарантией того, что конкретная услуга доступна для использования в любой момент.

0
ответ дан 4 December 2019 в 03:45

Теги

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