我正在尝试将我的 rpi 更改为可以通过名称直接访问,这可以通过 DNS 完成,不过,我很好奇某些设备在没有它们的情况下如何工作(或者似乎在没有 DNS 的情况下工作,希望我没有错?)
例如,homeassistant.local
无需任何(额外)配置即可立即访问 Home Assistant OS,或者更改 Synology NAS 中的“服务器名称”如何使其可以通过该名称访问。
有谁知道这是怎么做到的?
我正在尝试将我的 rpi 更改为可以通过名称直接访问,这可以通过 DNS 完成,不过,我很好奇某些设备在没有它们的情况下如何工作(或者似乎在没有 DNS 的情况下工作,希望我没有错?)
例如,homeassistant.local
无需任何(额外)配置即可立即访问 Home Assistant OS,或者更改 Synology NAS 中的“服务器名称”如何使其可以通过该名称访问。
有谁知道这是怎么做到的?
DNS 并不是唯一的名称解析技术。它在 Internet 中很普遍(为此开发它),但需要显式配置,这使得它不适合小型网络。
有一个
hosts
文件——DNS 的前身,一个本地文件,您可以在其中写下名称和 IP 地址的关联。它目前用于设置 localhost 分辨率,并有一些其他特殊用途。它也需要手动配置,并且没有联网。广泛使用的自动化技术有:
NetBIOS
,在 Microsoft Windows 中大量使用,并且可能在其他系统中使用它(在软件包中有一个nmbd
NetBIOS 名称服务)。samba
它是自动的:主机通过定期发送带有其名称的广播来“注册”自己,因此收到此类广播的每个人都会知道有一个具有特定名称的系统。它还有一个服务器变体,wins
.mDNS
,“多播 DNS”,它是zeroconf
(“零配置”网络)堆栈的一部分。从这个名字你可以推断出它也会用数据包淹没网络,希望有人会接收和使用它们。例如,Apple 的 Bonjour 实现了这项技术;另一个著名的实现是 AVAHI,用于 Linux。如果本地名称解析在没有设置的情况下工作,它很可能因为这些技术之一而工作。要使其工作,您只需要安装并启用相应的服务即可。