我可以使用套接字编程使用私有 IP 地址连接两台具有私有网络的计算机。是否可以使用 MAC 地址做同样的事情?
如果可能的话,任何关于 Java/C/C++ 的例子都将不胜感激。我在网上找不到任何有用的帖子。
更新:
我很想知道是否可以仅通过知道 MAC 地址就可以连接到同一专用网络上的另一台计算机?问题背后的一个逻辑可能是每次重新启动路由器时分配给网络设备的 IP 地址可能不同。因此,在这种情况下,MAC 地址听起来更可靠。
(虽然我知道 MAC 地址也可以更改。)
我可以使用套接字编程使用私有 IP 地址连接两台具有私有网络的计算机。是否可以使用 MAC 地址做同样的事情?
如果可能的话,任何关于 Java/C/C++ 的例子都将不胜感激。我在网上找不到任何有用的帖子。
更新:
我很想知道是否可以仅通过知道 MAC 地址就可以连接到同一专用网络上的另一台计算机?问题背后的一个逻辑可能是每次重新启动路由器时分配给网络设备的 IP 地址可能不同。因此,在这种情况下,MAC 地址听起来更可靠。
(虽然我知道 MAC 地址也可以更改。)
MAC 地址用于识别网络中的“物理”实体。
而套接字存在于 IP 层上。
MAC 地址表示硬件对象;如果您希望这些对象进行通信,则需要查看其上方的层。或者你使用现有的协议;如UDP/TCP;或者你必须定义你自己的完整协议。
换句话说:MAC 地址的唯一功能是识别可见网络“范围”内的唯一硬件组件。MAC 地址没有定义任何可用于将一个 MAC 地址端点连接到另一个端点的服务/协议。
所以,简而言之,答案是:不,这是不合格的。
是的。IP 是一种可能的第 2 层协议,但您可以在以太网之上运行自己的协议。例如,FCoE 绕过 TCP-IP 并运行自己的协议。由于光纤通道可以支持网络流量和存储流量,因此理论上您可以使用 FCoE 连接您的网络。通过一点编程工作,您可以添加一个套接字层。