给定一个或多个相同类型的嵌入式设备,具有一些未知的 IPv4 地址,或者可能根本没有设置 IPv4 地址:是否有任何基于以太网的网络协议可以从远程(PC)“查找”本地网络(LAN)中的这些设备并获取他们的 IPv4 设置?
什么对我不起作用:
我认为其他人以前也遇到过同样的问题,以网络设备制造商为例,例如应远程配置的接入点、电力线适配器、交换机……所有这些供应商为您提供一些专有工具,该设备就像魔法一样出现在列表中,然后你可以分配一些 IPv4。
当然,设备必须有一些守护进程来监听和响应某些请求,但是执行此类任务的标准协议是什么?或者我必须为此制定一些新的协议吗?也许上面提到的一些是可能的,但我忽略了一些东西?
以太网仅提供第 2 层连接,因此任何基于以太网的连接都无法跨路由器工作(ARP、LLDP - LLDP 甚至不能穿过像样的交换机,因为它仅是链路层)。
根据网络的不同,路由多播或定向广播可能会起作用 - 通常情况下不会。我见过的所有供应商工具都只使用(以太网)广播,并且不能跨路由器工作。
最常见的是,简单的 DNS 用于此目的 - 设备向 DNS 服务器注册或预先注册,您只需解析名称即可。
编辑:如果没有路由器问题,最简单的方法是使用UDP广播到一些未使用的端口。如果 DHCP 不可用,设备可能会回退到 Zeroconf (169.254.0.0/16) 并从那里进行广播。
如果没有 IP,您需要一个“原始”以太网套接字并使用不会干扰正常网络操作的 Ethertype。