MAC地址是唯一的,为什么还需要IP地址?我们不能只用 MAC 地址通信吗?
7 回答
您可以仅使用 MAC 地址进行通信,但只能在本地网络上进行。IP 地址是可路由的,网络上的每个系统都不需要相互了解。您只需要知道本地网络上的一系列地址,然后将其他所有内容都交给您的路由器。同样的事情发生在 ISP 级别。“所有 216.xxx 流量都这样,所有 105.xxx 都那样......”(显然是过于简单化了,但这是基本过程)。
如果我们尝试通过 MAC 地址路由所有内容,网络上的每台机器都必须维护所有其他参与者的列表,并且它无法扩展。
不,MAC 地址特定于以太网,IP 独立于底层硬件。如果您有所需的网桥,您可以将不使用以太网的机器连接到 Internet。
- MAC 地址不是唯一的。MAC 地址在媒体之间重复使用。这就是为什么无线 (802.11) 和有线 (802.3) 可能不会同时出现在一个冲突域中的原因(参见 802.1D)。
- MAC 地址不是集群的——这意味着网络空间附近的设备没有附近的 MAC 地址。IP 地址确实具有这种局部性。您打算通过将通用 MAC 地址列表复制到 Internet 上的每台计算机来路由数据包,还是打算通过位置层次结构将数据包路由到它们的目的地?
- 在单个冲突域上,MAC 地址可以是主要的寻址模式(qv arp 和 rarp)。然而,由于上述原因,扩展到多个冲突域是无效的。
我的一位伟大的教授 George Varghese,现在在加州大学圣地亚哥分校,做了以下恰当的类比:你想给某人寄一封信。根据 MAC 地址向美国任何地方的设备发送设备的类比就像给某人发送一封只知道他们的社会安全号码的信。它确实可以唯一地标识某人(好吧,是的,SSN 不能保证唯一,但假设它是为了举例),但是如果没有一张你可以查找的每个人居住地的巨大表格,很难找到他们由他们的 SSN 索引。
IP 地址(以及类似的开放系统互连或 OSI 网络地址)更像是带有区号和交换号的美国电话号码:(AAA) BBB-CCCC,其中 AAA 是区号,BBB 是交换号, CCCC 在该交易所确定一条单独的线路。该号码中编码了分层信息,因此当您远离目的地时,您只需要一个按区号索引的小表来确定将呼叫转发到的良好“下一跳”,而不是所有的表国内的电话号码。
以太网是一种介质访问层协议。它专为连接同一网络上的计算机而设计。如果您想连接远程计算机,您当然需要通过多个路由器跳转到目的地。IP(互联网协议)的设计考虑了这一目标,因此需要它,而以太网协议不支持路由。只有某些形式的原始桥接无法扩展到像互联网这样的巨大事物。
它们用于不同的协议层。
MAC 地址是您的设备特定地址。它与您当前所处的地理位置等无关。
例如:您可以在美国购买手机/笔记本电脑,然后在日本、澳大利亚等地使用它。但 MAC 地址将保持不变。但是IP地址会随着您连接的网络而改变。
因此,尤其是在便携式设备的互联网络中路由数据包是很困难的。
情况如何:假设您有一个便携式网络访问设备,您正在使用该设备使用互联网。如果我们只使用 MAC 地址,任何传入的数据包将如何找到您的便携式设备的位置。因为 MAC 地址只给你一个固定的 48 位设备地址。(最坏的情况是使用台式计算机并且拥有没有 IP 设施的 MAC 地址。将其与静态表结合起来,根据 MAC 地址找到您的预定义位置,但是如果没有这些便携式设备,我们的生活是不完整的,对吧?)
因此,我们需要一些寻址方案来帮助我们在像互联网这样的大型便携环境中进行寻址,因此 IP 的作用就显现出来了,其中地址是分层的,以提供更准确的地理位置。