在通常的网络中,由于每个主机在网络中的各个站点之间都有一个唯一的IP地址,为什么仍然需要一个MAC地址?
假设A站想要发送到B站,A站知道B站的IP地址。但是在发送之前,A站仍然会发送一个ARP请求B的MAC地址。然后,在有了B的MAC地址之后,A会发送以B的MAC地址作为目标地址的数据。
为什么B不能接受这个包,就像它对A发送的ARP的响应一样?这样,A站就不需要发送一个ARP来请求MAC地址,这也就消除了拥有MAC地址的需要。此外,IP地址在网络站点中是独一无二的,为什么需要另一个MAC地址来识别这些站点呢?
发布于 2011-11-16 12:33:09
因为您需要在网卡中内置一个唯一的标识符,以便在没有IP地址的情况下进行站点标识。或者一个系统应该如何使用DHCP获得一个有效的IP地址,如果没有谁想得到一个站点的标识?
而且,由于IP不是您可以通过以太网发送的唯一协议,所以以太网本身必须提供一个唯一的标识符,以支持不同的协议。
发布于 2011-11-16 11:18:46
首先,请允许我赞同丹的回答;对这个问题进行适当的研究比问问题要好得多,每一个问题都能照亮黑暗中的每一束光。我推荐史蒂文TCP/IP插图,这是网络圣经;我的第一卷的副本在脊柱上由于过度使用而损坏。但既然你问了这个问题,当丹出现的时候,我已经打了半个答案,让我按下“邮报”,戴上我的老管理员的帽子。
部分原因是历史原因。MAC地址是第2层,而IP地址是第3层(如,有关层的更多细节,请参见这个维基百科页面 )。
为什么要分开?当以太网被发明的时候,IP并不是唯一可以在以太网网络上进行的网络技术。我本人,在80年代中期,广泛使用了运行在以太网上的DECnet,并且没有IP地址。此外,在没有MAC地址的非以太网网络技术上运行IP是完全可能的;令牌环网,就像滑过的一样。
如果以太网和IP如您所建议的那样被焊接在一起,那么上述任何事情都不可能实现。是的,回想起来,IP显然是互连网的大赢家,但在1981年就不那么清楚了,当时将这两个层分离无疑是正确的事情。
发布于 2012-04-07 13:41:06
xENOn,这是我过去多次问自己的问题。事实上,这有点任意性,因为正如MadHatter亲切地提到的,有些IP网络类型运行良好,不需要物理地址。也就是说,理论上不需要额外的地址类型。然而,当IP地址被自动分配时,MAC地址就会派上用场,例如DHCP,因为DHCP服务器需要不假思索地知道哪个主机窃取了哪个IP,或者没有一个主机被授予未经请求的附加IP地址。如果没有MAC地址,您将需要手动为每台主机设置IP地址,也就是说,当您有大量主机时,就不太实际了,对于IT爱好者来说,这是一场噩梦。当谈到以太网本地链路时,您没有太多的选择,因为以太网子系统只识别以太网帧,即每个以太网接口电路过滤掉所有不包含它们自己的或广播/多播MAC地址作为目标地址的以太网帧。只有那些通过这种前端过滤的帧才能将其IP有效负载传递给IP层。希望它能帮你解开谜团。
https://serverfault.com/questions/331489
复制相似问题