![对网络上第 2 层和第 3 层广播的混淆](https://linux22.com/image/1439243/%E5%AF%B9%E7%BD%91%E7%BB%9C%E4%B8%8A%E7%AC%AC%202%20%E5%B1%82%E5%92%8C%E7%AC%AC%203%20%E5%B1%82%E5%B9%BF%E6%92%AD%E7%9A%84%E6%B7%B7%E6%B7%86.png)
第 2 层广播可以单独工作吗?还是应该伴随第 3 层广播?如果第 3 层广播无法跨越路由器,为什么我们甚至需要在子网内进行第 3 层广播?
答案1
简而言之,L2 广播仅用于 L2 操作,通常不携带 L3 或更高协议的数据。L3 广播携带与 L3 或更高协议相关的数据。
正如您所说,L2 广播不能跨越路由器,但这不是它们的用途。L2 广播仅用于与 L2 操作相关的任务,如 DHCP、ARP、STP(和其他自动拓扑控制方案)等。简而言之,L2 广播仅由第 2 层协议使用。这些协议都不应跨越路由器来执行其工作。
L3 广播来自 L3 功能或更高层的应用协议,并不依赖于任何特定的 L2 实现。它不关心您使用的是 MAC 地址还是其他标识符,也不关心它必须跨越什么拓扑。
想想看:如果您有一个 LAN,其中有些客户端在 IP 网络上,有些客户端使用 IPX/SPX(或 NCP、decnet 或 SNA),会发生什么情况?如果您向 LAN 发送 IP 广播,并且广播了 L2 帧,则 IPX/SPX 主机也会收到该帧,这是不可取的。但是,如果 IP 广播使用单播帧,则只有 IP 客户端会收到广播。
所以,总而言之,L2 和 L3 广播彼此没有直接关系,并且通常不一起使用。它们支持为不同任务设计的不同协议。