路由器一定要隐藏mac地址吗?

路由器一定要隐藏mac地址吗?

根据这个答案,路由器可以在 ISP 面前隐藏多个设备,使其看起来好像只有一个设备(路由器)和一个 mac 地址(仅仅只有路由器的 mac 地址!)接收互联网服务。

但这是否必然是一个要求路由器?DHCP/NAT意味着 (或需要)隐藏 MAC 地址?(即无线连接到路由器的设备的 MAC 地址)

例如,虽然我理解路由器似乎具有“一个 IP”(每个接口,但无论如何!),但就 ISP 或调制解调器而言,我不明白为什么它们不能简单地将连接设备的确切 mac 地址复制到以太网数据包中。这似乎会使路由器的工作更加轻松,因为从互联网到其(路由器)IP 地址的数据包/帧已经具有准确的 MAC 地址立即指定感兴趣的设备!

答案1

但是,这一定是路由器的要求吗?DHCP/NAT 是否意味着(或必须)隐藏 mac 地址?(即无线连接到路由器的设备的 mac 地址)

首先,DHCP 和 NAT 都不是路由器的必要条件……另一方面,提供无线连接也不需要要求路由器。

但除此之外——是的,“路由器”是处理 IP 数据包的设备没有MAC 包装。一旦数据包被传送到路由器,它就会丢弃原始 MAC 地址,并完全根据 IP 数据包中的内容做出路由决策,然后使用适合输出接口的新 MAC 报头重新发送数据包。

这意味着路由器可以连接具有不同类型 MAC 地址(即不仅仅是以太网通常的 48 位)的网络。它甚至可以连接没有MAC 地址,例如 ADSL 电路或 3G/4G 移动连接,只要它们使用 IP。

这似乎使路由器的工作变得更加容易,因为从互联网到其(路由器)IP 地址的数据包/帧已经立即指定了感兴趣设备的确切 mac 地址!

不是的;这只意味着发送者——第二距离一跳的路由器 – 需要知道您设备的 MAC 地址。这意味着您的路由器必须通过 ARP 查询,也就是说,它仍然会做与它已经做的工作​​量大致相同的工作量。

因此,它只是将工作转移到其他地方,因为第二个路由器将执行与现在的路由器基本相同的操作(ARP 查询以了解 MAC 地址),只不过现在它需要记住每个客户的 5 个或 10 个 MAC,而不是每个客户的 1 个 MAC。这同样适用于中间的任何 L2 交换机,因为它们没有无限的内存。

此外:MAC 地址并不总是全球唯一的。它们必须是唯一的在 L2 网络上但同一个 MAC 地址可能存在于多个网络上,无论是由于意外冲突,还是由于特殊协议(VRRP“高可用性”),或者由于某些客户故意恶意。当然,在某些情况下,甚至路由器的 MAC 地址也可能发生冲突,但我认为这比最终用户设备更容易解决。

(这也忽略了诸如不使用相同类型 MAC 标头的网络(如 4G)等问题。)

但最重要的是,这是一个路由器。它是实际工作是根据 IP 地址和路由表(如果启用了 NAT,则根据 conntrack 状态表)决定哪个设备接收哪些数据包。因此,从技术上讲,您可以拥有一个完全在 MAC 级别工作的设备,甚至包括 NAT,但它实际上不再是“路由器”。

答案2

MAC 地址是点对点地址。因此,每个分割广播域的设备都会“隐藏”mac 地址。以太网是第二层协议。

除非您与拥有该地址的设备有直接连接,或者共享分割广播域的同一设备,否则您无法使用 MAC 地址做很多事情。

有关更详细的解释,请参阅:MAC 地址的具体用途是什么?

相关内容