VLAN 向不应该发送数据的端口发送数据

VLAN 向不应该发送数据的端口发送数据

我注意到(根据活动指示灯)两个交换机端口之间的 VLAN 流量被发送到许多交换机端口。以下是我的场景:

端口 1 是 VLAN 100(未标记 100)的“模式访问”交换端口。

端口 2 是 VLAN 101(未标记 101)的“模式访问”交换端口。

端口 5 是 VLAN 100 和 VLAN 101 (标记 100、标记 101) 的中继。

我让端口 1 上的主机与端口 2 上的主机通信。当它们互相通信(单播)时,我看到端口 1、2 和 5 亮起,表示它也将单播流量发送到端口 5。我还使用 Wireshark 确认了这一点,因为我在嗅探端口 5 上的数据包时看到了端口 1 和 2 之间的单播流量。既然交换机完全能够确定主机位于端口 1 和端口 2 上,为什么它还要将流量发送到端口 5?

我过去对交​​换机的理解是,它会构建一个 CAM 表,其中包含它在端口上看到的 MAC 地址。它的 CAM 表应该告诉交换机,源主机和目标主机位于端口 1 和 2 上。没有理由它也应该转到端口 5,因为那里没有主机。

这还不是生产交换机(目前还不是)。所以我的网络上只有三台主机。这是我的配置:

interface vlan 100
 ip address dhcp
!
interface vlan 101
!
interface ge1
 switchport mode access
 switchport access vlan 100
!
interface ge2
 switchport mode access
 switchport access vlan 101
!
interface ge5
 switchport trunk allowed vlan add 100,101
!

答案1

I noticed (based on activity lights) that VLAN traffic between two switch ports are being sent to many switch ports.

真的吗?这不是确定交通流量的方法。活动灯可能因多种原因而亮起。

因为主机 1 和主机 2 位于不同的 VLAN,所以它们也必须位于不同的第 3 层子网中。它们之间通信的唯一方式是通过路由器,在您的情况下,路由器连接到端口 5。除了通过连接到端口 5 的路由器之外,您认为主机 1 和主机 2 之间的流量如何流动?

这一切都非常正常。

添加一些其他信息:

交换机根据流量来源学习 MAC 地址。在构建 CAM 表之前,它会按 VLAN 将流量泛洪到同一 VLAN 中的所有其他端口。当您拥有中继端口时,交换机也会将流量泛洪到中继端口,因为中继端口承载 VLAN 流量,需要转发(交换)泛洪的流量,以便连接的交换机上同一 VLAN 中的任何端口也将接收流量。

答案2

默认情况下,VLAN 只能在内部进行通信。

让我们稍微改变一下您的设置---让我们禁用 ge5 并打开 ge3,并使 ge3 成为 VLAN 101 的一部分。从直接连接到 ge2 的计算机,您可以与 ge3 上的另一台计算机通信……但您无法与 ge1 上的任何设备通信,因为它位于另一个 VLAN 上。

让我们回到 ge5---突然间,ge2 上的机器可以再次与 ge1 以外的所有设备通信。

因此,很明显 ge5 在您的 VLAN 间通信中起着重要作用,这就是为什么您看到 VLAN 之间的单播流量首先通过 ge5。解释在于第 2 层交换机(根据您的输出,我假设您有)的基本工作原理。交换机仅根据其自身网络内的硬件地址转发--- VLAN 实际上是它们自己的网络,每个 VLAN 位于不同的子网上。您几乎可以将 VLAN 视为逻辑上划分交换机而不是物理上划分它们,因此 ge1 成为逻辑交换机 A,ge2 成为逻辑交换机 B,但它们都位于不同的网络上,因此它们无法通信。

这就是为什么要使用连接到路由器的 Trunk 端口。所有 VLAN 流量都通过该 Trunk 端口并将其发送到路由器,然后该路由器将其发送回正确的 VLAN。

因此,我的总结如下:恭喜您,您拥有一个出色的工作设置。

相关内容