为什么需要以太网/MAC 地址?

use*_*761 16 networking ethernet ip-address mac-address

我不明白为什么需要以太网 MAC 地址。难道所有的电脑都不能直接接入统一网络,使用IP地址进行通信吗?

例如,以太网中有如下机制:

  1. 具有 IP 192.168.1.1( X.1) 的计算机要向192.168.1.2( X.2)发送数据包
  2. X.1 使用 ARP 来获取 MAC X.2
  3. 为此,X.1需要向网络中的所有计算机发送一个数据包;只有一个人会回答
  4. X.1 获取 MAC 并发送数据包

只做一个步骤不是更简单吗:

  1. X.1向网络中的所有计算机发送数据包;只会X.2处理它,其他人会忽略它

补充问题是:如果所有设备都有唯一的 MAC 地址,为什么需要 IP 地址?

Pau*_*aul 32

不同的网络层,在那里,让他们互换了不同的技术。

您在这里谈论的两层是第 2 层和第 3 层。这种情况下的第 2 层是以太网——MAC 地址由此产生,第 3 层是 IP。

以太网仅在本地级别工作,在连接到广播网络“数据链路”的网络设备之间,而 IP 是可路由的协议,因此可以针对远程网络上的设备。

其中每一个的要求是不同的。以太网指定了一系列允许在网络设备之间发送和接收数据包的技术,而 IP 定义了允许数据包穿越多个网络的协议。

两者都不依赖于另一个,这就是网络具有灵活性的原因。例如,您可能选择使用 IP over ethernet 连接到 Internet 服务,但在您的内部网络中,您可能选择使用 IP over... paper。有人写下每个数据包的内容,然后物理地将其传送到另一台机器并输入。显然这不会特别快,但如果有人随身携带有关 IP 路由规则的文件,它仍然是 IP。

在现实世界中,您已经在使用两种不同的数据链路协议(尽管它们的寻址方案相同):802.3 - 以太网和 802.11 - wifi。

IP 不关心底层是什么。

同样,IP 可以交换为不同的网络层协议(前提是所有参与者都这样做)。比如自动取款机

虽然没有什么可以直接阻止创建包含第 2 层和第 3 层的协议,但它的灵活性较差,吸引力也较低,因此不太可能使用。

  • IPoAC 是内部通信的糟糕选择;鸽子在室外比在室内更好地工作 (5认同)
  • 对于内部网络,您应该使用 [RFC1149](https://www.ietf.org/rfc/rfc1149.txt)。(技术含量较低的 [描述](http://en.wikipedia.org/wiki/IP_over_Avian_Carriers)) (2认同)
  • 什么,比如使用 [手势标志](http://tools.ietf.org/html/rfc4824)? (2认同)
  • @user2449761 人们只列出了愚蠢的。您可以使用蓝牙、拨号、GPRS、LTE、USB、DSL、令牌环等代替以太网。 (2认同)

Dav*_*rtz 8

处理或忽略数据包的决定在哪里完成?没有一个答案是真正令人满意的:

1)在交换机上?嗯,这意味着交换机必须了解确定哪些计算机对哪些数据包感兴趣的每个协议。这不仅会增加交换机的成本并降低其速度,而且会使 IP 协议中的更改更难以部署。

2)在以太网接口的硬件上?好吧,这会使网络变慢,因为每个数据包都必须发送到每台机器。WiFi 和具有较慢网桥的桥接网络等技术是不可能的。让以不同速度运行的以太网互操作是不可能的。IPv6 或 IP 多播等技术需要更改硬件才能在所有以太网终端站中部署。

3)在软件中?嗯,这会使计算机变慢,因为它们必须处理更多的网络接口中断。上面提到的所有桥接、VPN 和 Wifi 问题也都是问题。

所有这些都将使以太网在没有 IP 的情况下无法使用,并且意味着需要更改以太网才能更改 IP。哎呀。

关注点分离是好的。

  • @user2449761 如果您使用的是具有集线器而不是交换机的古老网络硬件,则所有数据包只会发送到所有计算机。出于成本原因,集线器最初是一种选择;但现在开关很便宜,没有人再使用它们了。 (2认同)
  • 选项 1 已经发生。它并没有取代 MAC 地址的使用,至少目前还没有。但是一些交换硬件可以配置为使用目标 MAC 地址或使用目标 IP 地址来选择传出接口。有可能在 10 年或 20 年之后,MAC 地址将仅用于历史目的,所有数据包的路由都将仅基于 IP 地址完成。无论如何都无法避免更改 IP 更难部署的部分,因为骨干路由器多年来一直在硬件中根据目标 IP 地址进行路由。 (2认同)