当我在计算机上配置时hostname
,我可以这样查找:
$ hostname
example
Run Code Online (Sandbox Code Playgroud)
然后从同一 LAN 上的另一台计算机执行 ping 或 ssh:
$ ssh example
user@example's password:
Run Code Online (Sandbox Code Playgroud)
我的另一台计算机在哪里查找该主机名的地址?以前的计算机是否以某种方式向路由器注册了它?第二台计算机是否只是询问 LAN 上的每个 IP 地址“你是吗example
?”?
example
即使我拔掉第二台计算机似乎也知道对应的IP地址example
。该信息是否缓存在第二台计算机中?或者以hostnamectl
某种方式向路由器注册此主机名。
如果我现在将这些计算机插入另一个网络,它们是否仍然能够使用这些主机名找到彼此?
它是怎么运行的?
有以下几种方法:
使用 IP 多播 ( RFC 1112 ) 的零配置网络协议将 UDP 数据包发送到 LAN 上的许多设备将其视为消息发送给它们的特殊地址。因此,无需询问网络上的每个 IP 地址。它们还使用保留的 MAC 地址将数据包转发到交换机上的每个端口。
可能涉及动态主机配置协议( DHCP):
连接特定的 DNS 后缀、DHCP 选项 15(RFC 2132、3.17)为客户端提供一个域名,该域名将作为后缀添加到这些非 FQDN 查询中。因此,您的example
可能会成为example.example.com
用于 DNS 查询的。
可以使用DHCP 客户端 FQDN 选项( RFC 4702 ) 自动更新 DNS。
网络BIOS。请参阅 Robert L Bogue:NetBIOS 名称解析的真正工作原理。
对等名称解析协议(PNRP)。Microsoft 技术需要 IPv6。
归档时间: |
|
查看次数: |
1027 次 |
最近记录: |