我正在阅读TCP / IP以及其他相关协议和技术。MAC地址被描述为(合理地:)唯一,并且具有很大的可能性空间(数百万亿),同时还分配给了所有网络接口。为什么使用IPv4或IPv6地址代替MAC地址进行网络通信的历史和技术原因是什么?
我是否错过了一些根本性的东西,或者仅仅是一个愚蠢的原因(例如,在传统技术之上构建)?
我正在阅读TCP / IP以及其他相关协议和技术。MAC地址被描述为(合理地:)唯一,并且具有很大的可能性空间(数百万亿),同时还分配给了所有网络接口。为什么使用IPv4或IPv6地址代替MAC地址进行网络通信的历史和技术原因是什么?
我是否错过了一些根本性的东西,或者仅仅是一个愚蠢的原因(例如,在传统技术之上构建)?
Answers:
MAC地址可能是唯一的,但是没有什么特别的数字可以表明它在哪里。MAC 00-00-00-00-00-00
可能位于地球的另一侧00-00-00-00-00-01
。
IP是一种以分层方式强加于计算机组上的任意编号方案,以在逻辑上将它们区分为一组(这就是子网)。在这些组之间发送消息是通过路由表完成的,路由表本身分为多个级别,因此我们不必跟踪每个子网。例如,17.x.x.x
在Apple网络中。从那里,苹果将知道其数千个子网中的每个子网的位置以及如何访问它们(其他人都不需要知道此信息,他们只需要知道17.什么都对苹果有用)。
将此与另一对系统关联也很容易。您有国家发行的ID号,如果该ID号对您来说已经唯一,为什么还要一个邮寄地址?您需要邮寄地址,因为它是一个任意系统,用于描述与您进行通信的唯一目的地应该到达的位置。
因为路由表将变得非常大。
IP地址是分层分配的,因此路由器可以按地址前缀对路由进行分组。现在,网络上存在的自治系统的数量已经足够适合当今的硬件。
另一方面,整个网络中MAC地址的分配是随机的,并且与拓扑完全无关。路由分组是不可能的,每个路由器都需要跟踪中继通过它的每个设备的路由。这就是第2层交换机所做的事情,并且不能很好地扩展到超过一定数量的主机。
世界并非仅在以太网上运行(至少在历史上如此)。IP层独立于其下面的硬件层。
PPP节点没有Mac地址。arcnet,令牌环,fddi和hppi都没有。这些其他标准在今天可能不再那么重要,但是将来以太网可能会被其他技术取代,并且它将对IP层透明。
关于我们如何继续发明新的硬件协议并将其称为以太网的问题,还有更长的讨论,但我离题了……
看一下OSI模型:http : //en.wikipedia.org/wiki/OSI_model
这解释了为什么没有必要进行路由,第3层概念,基于物理第2层机制的决策。
现代网络分为许多不同的层,以实现端到端的通信。您的网卡(由mac地址[physical address]寻址)仅负责与它的物理网络上的对等方通信。
允许您使用MAC地址完成的通信将仅限于与计算机进行物理接触的其他设备。例如,在Internet上,您并未物理连接到每台计算机。这就是为什么当我们需要与未物理连接的机器通信时,我们使用TCP / IP(第3层,逻辑地址)机制的原因。
b0fh是正确的-也是因为MAC地址并不总是唯一的。
请参见虚拟化方案中的示例。在这里,多个主机可以为具有相同MAC地址的虚拟机提供服务。
MAC地址的路由表几乎需要列出MAC地址的每个设备。路由到Internet以获得IP是单个条目0.0.0.0/0。对于网络类,它们细分为10.0.0.0/8 172.16.0.0/16和192.168.0.0/24。其中许多可以汇总,例如172.16.0.0/12和192.168.0.0/16,可以进一步减小路由表的大小。
路由以相反的顺序搜索到掩码中的一位。当存在用于192.168.0.0/16的路由和用于0.0.0.0/0的另一路由(默认路由)时,这将使路由到192.168.100.0/24起作用。
编辑:最初,IP范围分为几类;A,B和C是最重要的。A类组成地址范围的前半部分,B类组成下一个四分之一,C类组成下一个范围。这些类分别具有8位,16位和24位的掩码。后来放弃了对这些掩码的严格使用,并以各种大小进行了地址分配。
分配的大小始终为2的幂,并且保留每个分配中的最低和最高地址。每个分配还将具有路由器的地址。这通常是最低或最高的非保留地址。最小的实际分配是/ 30地址。
IPv6使用相同的分配形式,其中/ 64是Internet上可能出现的最小分配形式。通常,ISP将获得更大的分配,这是所有Internet路由器都需要知道的。预期分配在RFC中指定。ISP将需要知道如何路由其自己的子网,以及要路由到哪些互连路由器的地址。这比知道如何路由每个mac地址要简单得多。
MAC地址是ISO / OSI模型和TCP / IP模型中链路层(2n)的地址。这意味着MAC地址用于连接本地网络内的节点(点对点)。IP地址是Internet内(端到端)网络层(3rd)的地址。
这两个地址仅在其层中使用,并且不打算在其外部使用。
这里的人们说使用MAC地址而不是IPv4地址的问题是路由,因为路由表会变得很大-但是,这是假设使用IPv4路由器的。可能会有较小的路由表,如果您对此感兴趣,请寻找Flat名称空间路由。描述该技术的论文之一就是该论文:http : //www.cs.uiuc.edu/~caesar/papers/rofl.pdf
我的记忆是MAC地址实际上是以太网地址。以太网地址分为两个部分:供应商部分-标识以太网卡的卖方和地址部分,该地址部分由供应商分配。由供应商决定是否使其具有唯一性。
因此,不能高效地使用48位MAC地址空间,也不能像上面几次提到的那样分层使用。
该地址旨在在本地CSMA网络上具有唯一的地址。
至少,我记得最好。
IP地址旨在更广泛地扩展并解决其他问题。