Vlan vs. 子网广播域

网络工程 路由 交换 第 2 层 联网 第 3 层
2022-03-01 01:20:42

我的理解是,vlan 是分开广播域的,但我经常看到有人说,“子网定义广播域”也是如此。

说“VLAN 定义 L2 广播域,子网定义 L3 广播域”是否正确?

例如:
主机A: 10.0.1.1/24,Vlan 10
主机B: 10.0.2.1/24,Vlan 10

这两个主机在同一个 vlan 上,因此它们应该能够通过它们的 MAC 地址在 L2 上进行通信,而无需路由。(如果我错了请纠正我)

但是,这些主机位于不同的子网上。这意味着必须将数据包发送到默认网关并进行路由。

我无法理解这些都是如何正确的,以及如果它们位于同一子网上,主机之间的通信会如何不同。任何澄清将不胜感激,谢谢。

2个回答

这两个主机在同一个 vlan 上,因此它们应该能够通过它们的 MAC 地址在 L2 上进行通信,而无需路由。

他们可以在 L2 中进行通信,但不能在 L3 中进行通信。IP 在发送之前使用本地路由表来找出如何发送数据包。由于目的地在本地子网之外,因此需要使用网关——即使目的地在同一个 L2 段/VLAN 中,但 IP 根本不知道。

有一些方法可以绕过这个限制:使用特殊的路由条目(并非所有平台都支持)或使用带有静态 ARP 的假网关。但通常最好将邻居主机简单地放在同一个子网中。

说“VLAN 定义 L2 广播域,子网定义 L3 广播域”是否正确?

我会同意这些条款。但是,实际上并不存在“第 3 层广播域”。主机可能会选择忽略它所看到的“外来”广播,但在第 2 层,主机仍会收到它。当我第一次阅读您的问题时,我认为“第 2 层广播”与“第 3 层广播地址”。

这两个主机在同一个 vlan 上,因此它们应该能够通过它们的 MAC 地址在 L2 上进行通信,而无需路由。(如果我错了请纠正我)

这是 100% 正确的。['虽然是个坏主意(tm)。人们应该始终努力避免覆盖网络。] 他们可以直接通信,但这样做需要明确的配置,因为否则他们不知道与他们连接的其他网络。(这通常通过一个“接口”路由条目、proxy-arp-esq 弄乱网络掩码或(颤抖)完整的代理 arp 来处理。)