我想设计几个从单个控制器设备接收简单命令的设备,所有这些设备都驻留在同一个第 2 层交换机上。是否有一种协议允许我在不为每个人分配 IP 地址的情况下执行此操作?
我不能使用 DHCP 或链接本地自动寻址,因为我的控制器设备将分配一个可变的静态 IP,以便与其他第 3 层设备进行通信。
理想情况下,我可以使用控制器设备来发现第 2 层网络上的所有接收设备并存储它们的物理地址表。然后我可以以某种方式将通用数据包直接发送到 MAC 地址。这将允许以即插即用的方式添加接收器设备。
我想设计几个从单个控制器设备接收简单命令的设备,所有这些设备都驻留在同一个第 2 层交换机上。是否有一种协议允许我在不为每个人分配 IP 地址的情况下执行此操作?
我不能使用 DHCP 或链接本地自动寻址,因为我的控制器设备将分配一个可变的静态 IP,以便与其他第 3 层设备进行通信。
理想情况下,我可以使用控制器设备来发现第 2 层网络上的所有接收设备并存储它们的物理地址表。然后我可以以某种方式将通用数据包直接发送到 MAC 地址。这将允许以即插即用的方式添加接收器设备。
实际上,以太网和 WiFi 是仅有的 2 个广泛使用的 L2 协议,并且被所有现代操作系统完全支持。
因为我的控制器设备将分配一个可变的静态 IP
非常非常糟糕的设计。您应该启用 DHCP 并提供合理的回退,最好是 Zeroconf aka APIPA aka link-local 地址,使用 169.254.0.0/16 地址。
如果您使用 IPv4,请不要忘记 IPv6。
或者,您可以直接在以太网之上运行应用程序协议,但禁止路由(如 Zeroconf)。确保使用正确的 Ethertype(对于商业协议,它应该在 IEEE 注册)。节点发现应该使用多播来完成。