为了与同一局域网中的机器进行通信,主机执行 ARP 将 IP 地址转换为 MAC 地址,这意味着 IP 地址是彼此已知的。我的问题是,主机首先是如何知道彼此的 IP 地址的?
如何在局域网中学习 IP 地址
网络工程
转变
ARP
局域网
2022-02-14 01:10:58
3个回答
大多数情况下,主机使用 DNS 从主机名中获取 IP 地址。
一台主机上的某些应用程序需要与另一台主机上的应用程序通信。在应用程序中配置了该其他主机的 IP 地址,或者使用 DNS 查找名称的 IP 地址(例如www.example.com转换为 192.0.2.123)。
如果主机 A 需要与主机 B 通信,主机 A 需要知道主机 B 的地址。它可能不是 MAC 或 IP 地址,但它必须是某个地址。
一种常见的模式是 DNS,如其他示例中所述。主机 B 有一个名字。网络正在运行一项服务,该服务允许将主机 B 的名称映射到其当前地址。这里重要的是(1)A 必须知道 B 的名字,顺便说一句,这也可以被认为是一个地址,并且(2)A 知道如何访问 DNS 服务,所以 A 不知何故知道它的地址。
有一个不同的可用模型,它基于服务的概念。服务是可以由主机/其他网络组件执行的一些功能。一些主机提供服务(也就是服务提供者)。如果其他主机想要使用服务,它们会进行服务查找,返回提供服务的主机的 IP 地址。它可以以其他方式工作,每个服务提供商都会定期宣布它提供服务。
服务公告和服务查找通常通过具有众所周知的服务广播/多播地址来工作。服务提供商定期广播公告消息。查找服务的主机,将发现消息发送到众所周知的多播地址(并希望得到回复:))。此类服务的示例是 DHCP 和 IPv6 无状态地址自动配置。
这是有关此的维基百科文章。它有几个信息链接。有一种称为DNS-SD的机制允许为此使用 DNS 记录。我认为Multicast-DNS也可以这样工作。它有几个有用的链接。
其它你可能感兴趣的问题