为什么不能使用 MAC 地址代替 IPv4|6 进行网络连接?

Fél*_*lli 185 networking mac-address ipv4

我正在阅读 TCP/IP 和其他相关协议和技术。MAC 地址被描述为(合理地:) 唯一,并且具有很大的可能性空间(数百万亿),同时还分配给所有网络接口。互联网通信使用 IPv4 或 IPv6 地址而不是 MAC 地址的历史和技术原因是什么?

我是否遗漏了一些基本的东西,还是只是一个愚蠢的原因(例如,建立在传统技术之上)?

Chr*_*s S 350

MAC 地址可能是唯一的,但表示它所在位置的数字没有什么特别之处。MAC00-00-00-00-00-00可能位于地球的另一边00-00-00-00-00-01

IP 是一种以分层方式强加在一组计算机上的任意编号方案,以在逻辑上将它们区分为一组(这就是子网)。在这些组之间发送消息是通过路由表完成的,路由表本身分为多个级别,因此我们不必跟踪每个子网。例如,17.x.x.x在 Apple 网络内。从那里,Apple 将知道其数千个子网中的每一个都位于何处以及如何到达它们(其他人不需要知道这些信息,他们只需要知道 17.anything 都属于 Apple)。

将其与另一对系统相关联也很容易。您有一个州颁发的 ID 号,如果该 ID 号对您来说已经是唯一的,为什么还需要邮寄地址?您需要邮寄地址,因为它是一个任意系统,描述了与您通信的唯一目的地应该去哪里。

  • 此外,当您的网卡(或整台计算机)需要更换时,您可以保留相同的 IP 地址。想象一下,如果没有 IP 抽象,那会是多么烦人。 (25认同)
  • 这是一个很好的答案。我会补充说,一旦计算机确定它们位于同一子网中,MAC 地址最终将用于 IP 通信;这就是 ARP 中毒作为攻击的原因。对于默认网关,计算机将发往另一个子网的数据包寻址到默认网关 IP 的 ARP 查找返回的 MAC 地址。第 3 层 / IP 寻址主要由路由器使用,仅由主机用于确定目的地是否在同一子网上。 (24认同)
  • @SeanC,MAC 地址最终用于基于 802.1 的线路协议(以太网、WiFi、令牌环等)的 IP 通信。但不能通过 ATM 协议,例如 PoSDH 和 IPoATM。 (7认同)
  • 重复 mac 地址出现的历史原因有多种 [**包括供应商固件错误**](http://osdir.com/ml/network.dhcp.isc.dhcp-client/2006-09/msg00141. html)。 (4认同)
  • @ChrisS 我有一个朋友,他是系统管理员,从一个供应商那里收到了一批卡,而这些卡在整个调色板中只有一个 MAC 地址。供应商表示,这些卡没有正确混合到零售分销中,因此出现重复,因为订单是从工厂直接下架的。在卡片进入零售分销之前,它们应该混合在一起以散布骗局。因此,对于给定的供应商,MAC 地址并不是唯一的,更不用说跨供应商了。 (3认同)
  • @AlexBrault,如果一个角落可以被剪掉,你可以确定某个地方有人会剪掉它。 (2认同)

b0f*_*0fh 74

因为路由表将变得不可能大。

IP 地址是分层分配的,因此路由器可以按地址前缀对路由进行分组。现在网络上存在的自治系统的数量足以适应当今的硬件。

另一方面,MAC 地址在整个网络中的分布是随机的,与拓扑完全无关。路由分组是不可能的,每个路由器都需要跟踪通过它中继流量的每个设备的路由。这就是第 2 层交换机所做的,并且不能很好地扩展到一定数量的主机之外。

  • 与 IPv4/6 格式相比,使用 MAC 格式地址的路由器表“不可能大”并没有内在原因。问题在于 IP 地址的分配与使 WAN 路由可行的层次结构相关联。MAC 地址由制造商分配给以太网设备(并且可以在软件中更改),并且随着硬件设备的移动,对 WAN 路由表进行这些临时修订将是一项“不可能的大”任务。 (2认同)

Jef*_*der 34

世界并不完全在以太网上运行(至少在历史上是这样)。IP 层独立于它下面的硬件层。

PPP 节点没有 Mac 地址。Arcnet、令牌环、fddi、hppi 也不行。那些其他标准在今天可能没有那么重要,但以太网在未来可能会被其他技术取代,并且它对 IP 层是透明的。

关于我们如何不断发明新的硬件协议并将它们称为以太网,还有更长的讨论,但我离题了……

  • @Dorus:你的评论没有意义。PPP 节点可以同时拥有 IPv4 和 IPv6 地址,正是因为 IP 建立在底层协议上,例如以太网或 PPP。但是,PPP 节点没有 MAC 地址(因为 PPP 标准没有它们)。 (6认同)
  • 令牌环确实有 MAC 地址。 (5认同)

Ora*_*Dog 30

除了 IP 的分层路由之外,将它们与 MAC 地址分开允许您更改网卡或整台计算机,同时保留相同的 IP 地址(以及逻辑网络拓扑)。

这种抽象允许更加灵活和可维护的网络。


bar*_*ncw 22

看看OSI 模型http : //en.wikipedia.org/wiki/OSI_model

这解释了为什么基于物理的第 2 层机制进行路由(第 3 层概念)的决策没有意义。

现代网络分为许多不同的层来完成您的端到端通信。您的网卡(由 mac 地址 [物理地址] 寻址的内容)只需要负责与其物理网络上的对等方进行通信。

您可以使用 MAC 地址完成的通信将仅限于与您的机器物理接触的其他设备。例如,在 Internet 上,您并没有物理连接到每台机器。这就是为什么当我们需要与我们没有物理连接的机器通信时,我们使用 TCP/IP(第 3 层,逻辑地址)机制的原因。

  • +1 提及 OSI 模型。 (6认同)

Fre*_*sen 7

b0fh 是对的 - 但也是因为 MAC 地址并不总是唯一的。

请参见虚拟化方案中的示例。在这里,多个主机可以为具有相同 MAC 地址的虚拟机提供服务。