LLMNR против DNS - Почему "ping" использует llmnr вместо dns, если я не добавлю "." к имени хоста, и почему llmnr не работает?

Я работаю в локальной сети, отключенной от Интернета, и есть несколько устройств (A, B, C,...), подключенных через кабель Ethernet к одному маршрутизатору, что делает эту локальную сеть возможной. Операционная система на всех устройствах: Windows 10.

Вопросы:

  • Почему LLMNR терпит неудачу, когда DNS этого не делает?
  • Почему "ping A" использует LLMNR, в то время как "ping A." использует DNS?
  • Есть ли какой-либо способ заставить nslookup использовать LLMNR вместо DNS и почему?
  • Что именно это происходит, когда я добавляю "." к имени хоста как для "ping", так и для "nslookup"?
  • Откуда вы знаете ответы на эти вопросы (область работы и тип опыта)?

КОНТЕКСТ ЭТОГО ВОПРОСА МОЖНО НАЙТИ НИЖЕ

nslookup A

И

nslookup A.

Оба дают следующий удовлетворительный результат

Server:  localDnsServerName
Address: 192.168.1.1

Name:    A
Address: 192.168.1.X

Даже

ping A.

Дает удовлетворительный результат ('.' добавляется к запрашиваемому имени хоста)

Pinging A [192.168.1.x] with 32 bytes of data:
Reply from 192.168.1.X: byte=32 time<1ms TTL=128
Reply from 192.168.1.X: byte=32 time<1ms TTL=128
Reply from 192.168.1.X: byte=32 time<1ms TTL=128
Reply from 192.168.1.X: byte=32 time<1ms TTL=128

Ping statistics for 192.168.1.X:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Однако следующее команда

ping A

Дает неудовлетворительный результат

Ping request could not find host A. Please check the name and try again.

При дальнейшем исследовании с помощью Wireshark я вижу, что команды nslookup и команда "ping A." приводят к успешным стандартным запросам с использованием протокола DNS.

Однако "ping A" приводит к стандартному запросу с использованием протокола LLMNR, который завершается неудачей.

Через RFC 4795, Аннотация для LLMNR:
"Цель разрешения имен локальной многоадресной рассылки (LLMNR) состоит в том, чтобы разрешить разрешение имен в сценариях в какое обычное разрешение DNS-имен невозможно. LLMNR поддерживает все текущие и будущие форматы, типы и классы DNS, работая на отдельном порту от DNS и с отдельным кэшем распознавателя. Поскольку LLMNR работает только по локальной ссылке, его нельзя считать заменой DNS"

.

Дополнительный тег: 'llmnr'
Я бы официально добавил упомянутый дополнительный тег, но у меня нет репутации не менее 300, чтобы создать новый тег. Пожалуйста, добавьте этот тег, если он есть можно пометить вопрос после его создания, отредактировав этот вопрос.