Как имя хоста транслируется в подсети - PullRequest
2 голосов
/ 15 января 2010

Я работаю со стеком TCP / IP Microchip, и имя хоста моего устройства не транслируется, хотя я могу получить к нему доступ, используя назначенный ему IP-адрес DHCP.

Итак, вопрос в том, какой протокол использует сетевое устройство для широковещательной передачи имени своего хоста, чтобы при просмотре списка устройств в сети я мог его идентифицировать по имени?

Это служба имен NetBIOS или что-то еще? Заранее спасибо.

Ответы [ 3 ]

6 голосов
/ 19 января 2010

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

В большинствеВ средах DHCP и DNS-серверы связаны (AD в сетях Windows, DNSMasq в Linux и т. д.), поэтому лучше всего полагаться на это поведение.Когда вы запрашиваете IP-адрес с использованием DHCP, протокол DHCP позволяет вам указать имя хоста, которое вы хотите использовать, и если сеть настроена так, чтобы DNS-сервер мог создавать и поддерживать записи DNS, имя хоста, которое вы отправляете во время вашегоОбычно используется запрос DHCP.

Параметр DHCP называется ' Имя хоста '.Документация по сетевому протоколу для этого параметра находится в RFC 2132 и объясняет здесь .

0 голосов
/ 15 марта 2010

Полагаю, вы уже решили эту проблему, но я изменил файл dchp.c в стеке микрочипов и добавил следующее в часть параметров _DHCPSend ().

// host name
i = strlen(AppConfig.NetBIOSName);
UDPPut(12);     //host name code
UDPPut(i);      //length
UDPPutString(AppConfig.NetBIOSName);

Это сработало для меня.

0 голосов
/ 15 января 2010

Существует WINS (на основе NetBIOS), который поддерживает эту функцию.

Существует ZeroConf / Bonjour, который предлагает протокол "служебной рекламы", но я предполагаю, что это не то, что вам нужно здесь.

В «обычных» IP-сетях разрешение имен будет проходить через уровень DNS: DNS-серверы распространяют свои базы данных (если, конечно, тоже это указано), но на этом уровне понятие «широковещание» отсутствует.

...