由于网络分层结构,首先需要说明的是您无法向MAC地址发送UDP消息。我的意思是在UDP数据报字段中没有任何设置MAC地址的方式。您可以将UDP数据报发送到IP地址和端口。该IP地址可以是单播、多播或广播。如果您打算向特定的MAC地址发送UDP数据报,那么您需要实现更复杂的解决方案(如DHCP)。以下是您可以采用的不同策略:- 如果您只需要向尚未从该NIC接收过任何数据报并知道该MAC地址的地址发送数据报,则首先需要向该MAC地址发送一个第2层帧(第2层协议允许您设置MAC地址)。您可以实现一个协议来侦听该MAC地址帧并能够发送响应以提供相应的IP地址。 RARP是一种协议,可让您根据MAC地址获取IP。 - 可以实现使用多播组的协议。从您的电脑发送一个包含您要定位的MAC地址的多播消息。所有订阅该多播组的节点(节点中的应用程序)都会接收到该消息。具有目标MAC地址的节点可以做出响应。一旦它响应,您就有了它的IP地址,并且可以发送单播UDP数据报。