我的问题更多的是“哲学”而不是实际问题。既然以太网本地网络 NIC 上的所有主机都有一个唯一标识它们的 MAC 地址,那么为什么 dhcp 服务会为它们分配一个 ip 地址呢?路由器甚至使用 ARP 协议将本地 ip 与 MAC 地址进行匹配。所以在我看来,本地 ip 对于识别传入数据包的目标主机来说并不是必需的。
答案1
您说得对,如果只看本地网络,IP 地址似乎是多余的。但您需要它们的原因有几个:
您可以为每个网络接口配置多个 IP 地址,例如,用于在其上运行不同的服务。事实上,使用 IP 版本 6,即使在简单的设备上,最基本的配置中通常也会发生这种情况。
也许你想联系另一个网络中的某人。你会怎么做?为此,你需要一个可以跨越多个网络的东西。互联网。这就是 IP 的设计目的。使用 IP,你可以在网络之间路由数据包。使用 ARP 之类的协议则无法做到这一点。
MAC 地址,至少按照其最初的想法(此后有所改变),是不可更改的,并且由您购买硬件的公司分配。您可以随意分配和组织 IP 地址,只要您坚持使用可免费供私人使用的 IP 地址即可。
MAC 地址只有 48 位。这看起来似乎是一个很大的数字,但您肯定不想依赖它作为唯一识别全球设备的方法。
答案2
MAC
地址是链路本地的,并且是媒体访问控制的一部分(MAC)子层它与逻辑链路控制(LLC)数据通信协议层一起构成数据链路层。IP 地址是可路由的,可通过 DNS 寻址,通常与网络层,上升 1 级。请参阅维基百科。
其他资源:
https://www.webopedia.com/DidYouKnow/Computer_Science/understanding_layers.asp