gpt4 book ai didi

networking - 在局域网上进行主机名解析需要什么?

转载 作者:行者123 更新时间:2023-12-04 11:57:32 26 4
gpt4 key购买 nike

我正在开发一个在 LAN 上的几台不同计算机上运行的网络应用程序。应用程序的核心需求之一是维护 LAN 上过去与之通信的对等方列表,以便它可以恢复以前的 session 。天真的解决方案是只记住 IP 并将其存储在一个表中,但是当对等点的 IP 发生变化时会发生什么?

相反,我想我会存储对等方的主机名,这样即使 IP 发生变化,它们仍然可以通过它们的主机名访问。 (我知道主机名也可以更改,但这已经足够了)。

所以我的问题是,让主机名解析在具有混合 Windows/Mac/Linux 客户端的 LAN 上工作到底需要什么?

最佳答案

在不使用中央权威的情况下,实现此目的的唯一可靠方法是使用 zerconfiguration 名称解析。这意味着如果没有多播路由器,您将只能动态解析与解析主机位于同一子网上的对等方。您可以在 mac 上使用 bonjour,在 windows 上使用 netbios 或 ssdp,在 linux 上使用 avahi,但您不能假设它们已启用。我可能忽略了一些可以很好地执行此功能的更流行的协议(protocol),但我个人会为您的应用程序组合一个快速的 udp 广播名称解析协议(protocol)。看看这些以获得更多想法:

Zeroconf Name resolution

Universal local network name resolution method without DNS?

http://en.wikipedia.org/wiki/Zero_configuration_networking#Name_resolution

http://en.wikipedia.org/wiki/Broadcast_address#IP_networking

我会选择一个特定的 udp 端口​​来监听(比如说 12000),然后当您准备好解析主机时,将一个“hello”udp 数据包发送到端口 12000 上的 255.255.255.255 以及您网络上运行的所有其他主机您的应用程序应该回复一个包含其主机名的数据包,可能还有其他信息。

关于networking - 在局域网上进行主机名解析需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com