广播 (FF:FF:FF:FF:FF:FF) 数据包是通过路由器还是直接通过子网上的所有计算机?

网络工程 arp 层2 播送
2021-07-19 15:01:47

如果您的 ARP 缓存中有您需要的目标 MAC 地址,那么它肯定不必通过路由器吗?或者这就是重点 - 只有路由器可以确保拥有其所有子网的 MAC 地址?

作为跟进:同一子网上的计算机是否经常在不通过路由器的情况下相互通信?哪些协议(如果有)会这样做?

2个回答

路由器互连第 3 层网络(即 IPv4、IPv6 等),而 MAC 和 ARP(特别是以太网)是第 2 层概念。以太网运行不需要路由器,也不需要同一第 2 层网络中的机器相互通信。

是的,同一子网中的计算机一直在相互通信。

根据定义,帧(您拥有的是以太网帧上的广播 MAC 地址,而不是使用广播 IP 地址的 IP 数据包)不会跨越第 3 层边界。路由器将在转发封装在第 2 层帧中的第 3 层数据包之前剥离第 2 层帧。路由器将创建一个新的第 2 层帧,用于封装下一跳的第 3 层数据包。第 2 层广播不跨第 3 层边界转发;除特殊情况外,第 3 层广播也不是。

MAC 地址仅在第 2 层域中很重要,因为只有第 2 层帧才需要它们。路由器将为它所拥有的每个以太网接口都有一个 ARP 缓存,就像 PC 将为它所拥有的每个以太网接口都有一个 ARP 缓存一样。无论是 PC 还是路由器都不能确保拥有第 2 层域中每个设备的所有 MAC 地址。

仅当主机需要与不同第 3 层网络上的主机通信时才需要路由器。任何主机都可以与同一第 2 层网络上的任何其他主机通信(在某些极端情况下,例如专用 VLAN,这可能不正确),而无需通过路由器。