我在 vlan 或虚拟子网上吗?

网络工程 局域网 子网
2022-02-04 08:26:08

我已经阅读了子网和 VLAN 之间的一些差异,但我很难弄清楚我是否真的正确地使用了 VLAN。

我的交换机默认在 10.0.0.0/24 网络上。它被认为是一个未标记的网络,因为上面没有 VLAN。任何计算机都可以加入此子网并读取广播流量。我是否正确假设最后一句话是正确的?

然后我在交换机上创建 VLAN 10,网络为 10.0.10.0/24。我在我的电脑上设置了 10.0.10.11/24 的静态 IP,在另一台电脑上设置了 10.0.10.12/24。假设两者都是运行 OS X 10.10 的 Mac。两台 Mac 的交换机端口都设置为 all (4096)。

由于我没有“标记”任何一台 Mac 的 NIC,我如何仍然能够通过文件共享、SSH 等与另一台 Mac 通信?我在 10.0.10.0/24 上创建的这个 VLAN 10 不是需要标记两个 Mac 才能访问它吗?

现在假设我添加第三个设备,一个 linux 机器,其接口标记为 VLAN 10。它的 IP 为 10.0.10.13/24。我可以 ssh 进入任何一个 Mac 吗?

标记交换机端口与 NIC 有什么区别?标记的 NIC 是否仍然可以在其他未标记设备的同一子网中通话?

1个回答

让我们看看我是否可以让事情变得更清楚。

首先,VLAN 是第 2 层结构,子网是第 3 层结构。确实,在大多数情况下,它们之间存在 1:1 的关系(即,每个子网一个 VLAN,反之亦然),但这并不意味着它们是相同的。

交换机作为第二层设备,基于 MAC 地址转发数据包,从不查看 IP 地址。因此,在交换机的上下文中,说 VLAN 在其上具有特定子网是错误的。交换机不知道也不关心。

定义 IP 子网的是 VLAN 上的终端设备(主机或路由器)。如果它们都配置为 10.0.10.0/24 网络,那么就是这样。如果您更改了主机上的 IP 子网,您就更改了该 VLAN 的子网。

编辑:

术语“标记”适用于 802.1q 协议,它是“标准”以太网协议的变体。事实上,大多数 PC、Mac 等都无法理解 802.1q 协议——他们只是忽略了它。所以当你说

我的 Mac 标记在 VLAN 10 上

这不太合理。您的 Mac 插入的交换机端口接受未标记的帧,如果您已配置它,还接受标记的帧(802.1q 帧)。但是,您的 Mac 仅发送和接收未标记的帧,无论该端口上标记了多少不同的 VLAN。换句话说,它不知道有标记的帧被发送到该端口,因为它不理解它们。

无论您的 MAC 插入的端口上未标记的 VLAN 是什么,您的 MAC 所在的 VLAN 都是。

例如,除非您更改了配置,否则 VLAN 1 在所有端口上都未标记。因此,默认情况下,您插入 MAC 或 PC 的任何端口都将在 VLAN 1 上发送和接收帧,因为该 VLAN 在所有端口上都未标记。

现在,如果您想创建一个新的 VLAN (10),并且只有一些设备使用它,您将设置这些端口以发送未标记的 VLAN 10(在 Cisco 世界中,您将 VLAN 10 设置为端口)。

如果两台 PC 在交换机端口 1 和 2 上,并且您仅将这些端口设置为未标记 VLAN 10,那么它们将只能相互发送帧。所有其他端口仍将使用 VLAN 1(未标记)。VLAN 1 上的主机和 VLAN 10 上的主机无法相互通信

默认 VLAN(通常是 VLAN 1)仍然是 VLAN,并且具有与任何其他 VLAN 相同的属性。当谈到端口配置时,VLAN 会被标记或取消标记。同一个 VLAN 可以在一个端口上加标签,而在另一个端口上不加标签。没有“标记”或“未标记”网络之类的东西。