问:MAC 地址在 LAN 之外是否有实际用途,例如当路由器将数据包直接传递给另一个路由器时(如上图中我用黄色圈出的两个路由器)。

问:MAC 地址在 LAN 之外是否有实际用途,例如当路由器将数据包直接传递给另一个路由器时(如上图中我用黄色圈出的两个路由器)。

我正在学习 MAC 地址和 IP 地址,以及为什么我们需要同时拥有它们而不是只拥有一个。假设我有以下网络:

在此处输入图片描述

假设 PC 1 想要向 Web 服务器发送一个数据包。现在我明白了,PC 1 需要使用两个地址来完成这项任务:路由器的地址(以便交换机可以将数据包传递给路由器)和 Web 服务器的地址。

MAC 地址将用作路由器的地址,IP 地址将用作 Web 服务器的地址。


我的问题是:MAC 地址在 LAN 之外是否有实际用途,例如当路由器将数据包直接传递给另一个路由器时(如上图中我用黄色圈出的两个路由器)。

我理解在 LAN 内部时将 MAC 地址(我当然是指目标 MAC 地址)放入路由器数据包中的好处,正如我之前所解释的那样,但是当路由器将数据包直接传递到另一个路由器时,将 MAC 地址放入下一个路由器的数据包中有什么好处呢?

答案1

MAC 地址仅用于第 2 层,第 2 层实际上是一个具有自己的广播域和链路本地网络的单一局域网。TCP/IP 数据包中的源 MAC 地址和目标 MAC 地址在路由器根据目标 IP 地址转发数据包时从一个网络传输到另一个网络时会发生变化。

PC 的 MAC 地址在其自己的本地网络之外没有任何用处,除了可能出于支持目的使用它来查找网卡供应商。

第一个路由器将目标路由器的 MAC 地址放在报头的目标部分的原因是,当它通过线路传输数据包时,目标路由器将知道该数据包是发往它的,并且会接收它。

有关更多信息,请阅读有关 OSI 第 2 层(称为数据链路层

答案2

问:MAC 地址在 LAN 之外是否有实际用途,例如当路由器将数据包直接传递给另一个路由器时(如上图中我用黄色圈出的两个路由器)。

A. 是的,源 mac 地址被路由器的源 mac 地址替换,然后重复该过程。

数据包中的原始源 mac 地址已被替换,但当路由器收到返回的数据包时,其目标 ip 字段中包含 PC1 的 IP,它会将数据包中的目标 mac 地址替换为 PC1 的 MAC 地址。这就是您描述的过程的逆过程。

本质上,你只需将本地局域网的概念应用到每个局域网。我计算出 PC 和服务器之间有 5 个本地网络,不包括超出页面的线路。如果本地局域网中只有 2 个路由器,网络的运行方式不会有所不同,就像连接两个路由器的线路(黄色圆圈所示)一样。

3 个“中间”局域网中的两个路由器都使用自己的 Mac 地址进行通信。IP 仅用于起始和最终目的地。


问:当路由器将数据包直接传递给另一个路由器时,将 MAC 地址放在下一个路由器的数据包中有什么好处?

A. 路由器需要一个地址来在本地相互通信时使用,就像您的电脑和路由器之间一样。

IP 系统用于本地网络外的通信。路由器无法使用源和目标 IP 字段相互发送数据包,因为其中包含 Web 服务器或 PC 地址。


将 IP 视为纸质邮件的发送者和接收者。即您的 PC 和网络服务器。

Arp 是沿途所有卡车、邮局和飞机的地址。邮局 32 -> 邮局 35 -> 卡车 15... 他们有另一个系统,因为他们只需要知道谁在链中紧跟在他们之前或之后。他们不关心出发地和最终目的地。


以下是思科提供的一些信息。从历史上看,他们是这类信息(非产品特定信息)的最佳来源之一。

但是,当源设备和目标设备连接到由路由器互连的不同 LAN 时,地址解析的工作方式会有所不同。端系统 Y 向 LAN 广播 ARP 请求,以尝试了解端系统 Z 的 MAC 地址。LAN 上的所有设备(包括路由器 X)都会接收和处理该广播,路由器 X 充当端系统 Z 的代理,通过检查其路由表来确定端系统 Z 位于不同的 LAN 上。然后,路由器 X 回复来自端系统 Y 的 ARP 请求,发送包含其自身 MAC 地址的 ARP 回复,就好像它属于端系统 Z 一样。端系统 Y 收到 ARP 回复,并将路由器 X 的 MAC 地址保存在其 ARP 缓存中的端系统 Z 条目中。当端系统 Y 必须与端系统 Z 通信时,它会检查 ARP 缓存,找到路由器 X 的 MAC 地址,然后直接发送帧,而无需使用 ARP 请求。路由器 X 接收来自端系统 Y 的流量并将其转发到另一个 LAN 上的端系统 Z。

http://www.cisco.com/cpress/cc/td/cpress/fund/ith/ith01gb.htm#xtocid1668423

答案3

但是当路由器将数据包直接传递给另一个路由器时,将 MAC 地址放在下一个路由器的数据包中有什么好处呢?

路由器之间的通信不一定是一对一(点对点)链接;通常它只是常规以太网连接(与路由器和 PC 之间相同)。在这种情况下更重要的是,通常有超过两个连接到同一链路的路由器。(我思考这就是 IX 的工作原理吗?

(也存在路由器和主持人连接到同一个链路...例如,当您堆叠两个“wifi路由器”但忘记将里面的路由器切换为桥接模式时。)

因此,您可以说路由器之间的网络也是一个“LAN”,它遵循与终端主机相同的规则和协议。这包括相同类型的以太网交换等。制造东西有什么好处不同的并且不必要地复杂?

相关内容