【问题标题】:What protocol do routers use to determine the host name?路由器使用什么协议来确定主机名?
【发布时间】:2012-09-30 01:30:53
【问题描述】:

我正在编写具有 LAN 的嵌入式设备(at91sam7x,使用 FreeRTOS 和 lwIP)。当它出现在路由器的设备列表中时,它没有名称。我怎样才能提供一个?路由器使用什么协议?

【问题讨论】:

    标签: embedded ip nameservers


    【解决方案1】:

    DHCP 可以将请求计算机的名称提供给服务器,然后服务器可以根据它给出的 IP 地址记录该名称。许多(大多数?)独立的路由器/WiFi 盒子会这样做,如果没有,DD-WRT 或 OpenWRT 会。

    请注意,发出请求的计算机必须在 DHCP 请求中发送其主机名,这是一个可选操作,才能正常工作。我不知道 FreeRTOS 是否这样做,但即使它不是一个选项,你也可以当然更新它来这样做。

    一些 DHCP 系统(如 Linux DHCP 服务器)也能够与支持动态更新的 DNS 服务器(如 Linux “bind”)进行通信,以将 host->ip 映射表推送给它,从而进行映射可用于使用该 DNS 服务器进行查找的任何设备。

    【讨论】:

      【解决方案2】:

      DNS :)

      此设备的主机名应在您的 DNS 服务器上注册。这可能是你的路由器,否则我假设你还没有。

      在这种情况下,您可以例如在您的网络中设置一个绑定服务器。然后,每个其他设备必须将此服务器用作主 DNS 服务器。更舒适的解决方案是(也)设置一个 DHCP 服务器,然后告诉其客户端 DNS 服务器的 IP。事实上,您的路由器可能集成了 DHCP,并允许您指定自定义 DNS 服务器。

      【讨论】:

      • 实际上,并非总是如此。许多设备会改为通过 WINS 来查找,尤其是在家庭网络上;)
      • 是的,没错...我想知道 em0 的“主机名”是什么意思;)
      • 这甚至没有意义:P
      • 更具体地说,查询与给定 IP 地址关联的主机名称为“反向查找”(又称“反向 DNS”)。
      • 我无法访问路由器。我的问题是设备本身应该如何宣传其名称,例如出现在在路由器的列表中。操作系统可以完成这项工作,但在这种情况下我们没有。
      猜你喜欢
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多