我们可以使用 MAC 地址连接到同一专用网络上的计算机吗?

Can we connect to a computer on the same private network using MAC address?

我可以使用套接字编程使用专用 IP 地址将两台计算机连接到专用网络。是否可以使用 MAC 地址来做同样的事情?

如果可能的话,Java/C/C++ 上的任何示例将不胜感激。我在网上找不到任何关于相同内容的有用帖子。

更新:

我很好奇是否可以仅通过 MAC 地址连接到同一专用网络上的另一台计算机?问题背后的一个逻辑可能是每次重新启动路由器时分配给网络设备的 IP 地址都可能不同。因此,在这种情况下,MAC 地址听起来更可靠。

(虽然我知道 MAC 地址也可以更改。)

MAC 地址用于识别网络中的 "physical" 个实体。

而套接字存在于IP层。

MAC 地址表示硬件对象;如果您希望这些对象进行通信,则需要查看其上方的层。或者你使用现有的协议;比如UDP/TCP;或者你必须定义你自己的完整协议。

换句话说:MAC 地址的唯一功能是识别可见网络 "scope" 中的唯一硬件组件。 MAC 地址未定义任何可用于将一个 MAC 地址端点连接到另一个地址端点的 service/protocol。

所以,简而言之,答案是:不,这是不合格的。

是的。 IP 是一种可能的第 2 层协议,但您可以 运行 在以太网之上使用自己的协议。例如,FCoE 会绕过 TCP-IP 和 运行 自己的协议。由于光纤通道可以支持网络流量和存储流量,理论上您可以使用 FCoE 连接您的网络。通过一些编程工作,您可以添加套接字层。