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

问题描述:

我可以通过使用套接字编程使用专用IP地址连接两台计算机与专用网络。是否有可能使用MAC地址做同样的事情?我们可以使用MAC地址连接到同一专用网络上的计算机吗?

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

UPDATE:

我是古玩知道是否有可能连接到同一个专用网络上的其他计算机只要知道MAC地址?问题背后的一个逻辑可能是,每当路由器重新启动时,分配给网络设备的IP地址可能会不同。因此,在这种情况下,MAC地址听起来更加稳固。

(虽然我知道MAC地址可以变过。)

+0

你需要IP地址才能使套接字编程工作,也许你可以提供更多关于你想要做什么的细节? –

+0

我只是好奇,如果我们可以通过知道MAC地址连接到另一台计算机。就像在每次重新启动路由器时,IP地址都可以为网络上的特定设备更改。 –

+1

有一些协议只使用MAC地址,但它们只能在LAN上工作(它们不能路由到另一个LAN)。由于只能在单个局域网上工作的局限性,他们已经走到了一边,尤其是在1995年互联网商业化后。 –

MAC地址用于识别网络中的“物理”的实体。

虽然IP层上存在套接字。

MAC地址表示硬件对象;如果你想要这些对象进行通信,你需要查看上面的图层。无论你使用现有的协议,如UDP/TCP;否则你将不得不定义完整的自己的协议。

换句话说:MAC地址的唯一功能是识别可见网络“范围”内的唯一硬件组件。 MAC地址没有定义任何可用于将一个MAC地址端点连接到另一个MAC地址端点的服务/协议。

所以,总之答案是:不,它是不可通过的。

+0

我更新了问题。 –

+0

看到我的更新,虽然你可能不喜欢我的答案。 – GhostCat

+0

你之前说过。 “或者你使用现有的协议,例如UDP/TCP。”然后你的更新说“这是不可能的。”我很困惑。我错过了什么吗? –

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

+0

所以,你说现有的协议是不可能的?我将不得不实施我自己的? –

+1

@DilipRajBaral令人惊讶的是,他跟我说的完全一样。 MAC地址定义了一种寻址方案,而不是通信协议。 – GhostCat