是否有以太网链路层协议来获取远程 IPv4 设置?

问题描述 投票:0回答:1

给定一个或多个相同类型的嵌入式设备,具有一些未知的 IPv4 地址,或者可能根本没有设置 IPv4 地址:是否有任何基于以太网的网络协议可以从远程(PC)“查找”本地网络(LAN)中的这些设备并获取他们的 IPv4 设置?

什么对我不起作用:

  • ARP:IP 地址必须已知,否则只能找到我之前与之通信的设备(或丑陋的 ARP 洪水……)
  • LLDP:仅点对点(?),所以我只能看到设备和我之间的切换。另外,只是宣布,没有对请求做出回应(因为没有请求)。此外:使用哑交换机时,无法通过 SNMP 询问交换机(支持 LLDP)
  • 基于 IP 的协议:我使用 UDP 和广播(作为请求和响应),但是如果设备和我位于不同的子网中,则无法可靠地工作,并且如果设备没有设置 IPv4,则根本无法工作。
  • DHCP:在没有 DHCP 服务器的网络中不起作用,可能嵌入式设备上没有 DHCP 客户端

我认为其他人以前也遇到过同样的问题,以网络设备制造商为例,例如应远程配置的接入点、电力线适配器、交换机……所有这些供应商为您提供一些专有工具,该设备就像魔法一样出现在列表中,然后你可以分配一些 IPv4。

当然,设备必须有一些守护进程来监听和响应某些请求,但是执行此类任务的标准协议是什么?或者我必须为此制定一些新的协议吗?也许上面提到的一些是可能的,但我忽略了一些东西?

ethernet ipv4 device-discovery
1个回答
1
投票

以太网仅提供第 2 层连接,因此任何基于以太网的连接都无法跨路由器工作(ARP、LLDP - LLDP 甚至不能穿过像样的交换机,因为它仅是链路层)。

根据网络的不同,路由多播或定向广播可能会起作用 - 通常情况下不会。我见过的所有供应商工具都只使用(以太网)广播,并且不能跨路由器工作。

最常见的是,简单的 DNS 用于此目的 - 设备向 DNS 服务器注册或预先注册,您只需解析名称即可。

编辑:如果没有路由器问题,最简单的方法是使用UDP广播到一些未使用的端口。如果 DHCP 不可用,设备可能会回退到 Zeroconf (169.254.0.0/16) 并从那里进行广播。

如果没有 IP,您需要一个“原始”以太网套接字并使用不会干扰正常网络操作的 Ethertype。

© www.soinside.com 2019 - 2024. All rights reserved.