好吧,但它如何找出 802.11 数据链路层所需的 [www.example.com's] MAC 地址?
您的计算机没有,也不需要这样做。由于 MAC 地址仅在同一个 L2 网络中使用,当您将流量发送到不同的 L3 网络时,它需要知道的是 www.example.com 位于不同的 L3 网络上以及如何到达该 L3 网络.
通常这是大多数设备的默认网关,正如您所指出的,您的计算机已经在您的 ARP 表中包含了路由器的信息。路由器将在将流量传递到下一个 L3 设备之前调整 L2 信息。
为什么还要加上MAC地址?IP 地址已经可以唯一地标识它,不是吗?
不,IP 地址不一定是唯一的。它们在本地网络上必须是唯一的,但可以重复使用。这是NAT存在的原因之一。
此外,以太网只是一种 L2 协议。IP 的设计目的是无需考虑底层协议,因此您可以用其他东西(如令牌环或帧中继)替换以太网,或者您可以根据需要创建自己的 L2 协议。IP 不会关心或被更改打扰。
如果 IP 地址隐藏在数据链路层之下,路由器如何查找 IP 地址?我真的不明白...
L3 标头不会被 L2 标头“隐藏”。L2 标头不会更改成为 L2 有效负载的内容,它只是预先添加或添加在 L3 标头之前。许多设备会在 L3 处理之前剥离 L2 标头,但即使情况并非总是如此,它也不会掩盖消息其余部分的含义。
这样想一下,假设我给您发送了一条消息,内容是“今天过得怎么样?” 这通过一位翻译人员将其更改为“您好,您今天过得怎么样?” 即使添加了新的“标题”,您仍能理解我的原始消息吗?在最终交付给您之前,可能会删除该附加标题。
但是在我的路由器和目标路由器之间的那个字段中将写入什么 MAC 地址?
当您的路由器将流量发送到下一个路由器时(假设它们使用以太网),它将使用其接口的 MAC 地址作为源 MAC 地址,使用下一个路由器接口的 MAC 地址作为目标地址。
这个网站上可能有几十个问题,专注于这些问题的不同方面。请随时使用搜索功能找到它们。以下是一些帮助您入门的方法:
自从您触及 802.11 以来: