我注意到(基于活动指示灯)两个交换机端口之间的VLANstream量正被发送到多个交换机端口。 这是我的场景:
端口1是VLAN 100的“模式访问”交换机端口(未标记100)。
端口2是VLAN 101的“模式访问”交换机端口(无标记101)。
端口5是VLAN 100和VLAN 101的中继(标记为100,标记为101)。
我有端口1上的主机与端口2上的主机通话。当他们正在互相通话(单播)时,我看到端口1,2和5点亮,表示它也将单播stream量发送到端口5。我还通过Wireshark在端口5上嗅探数据包时观察端口1和2之间的单播stream量,从而证实了这一点。为什么当交换机完全能够确定主机位于端口1和端口2时,它将数据发送到端口5 ?
我以前用交换机的理解是,它build立一个在端口上看到的mac地址的CAM表。 它的CAM表应该告诉交换机源和目标主机在端口1和2上。没有理由也应该去5,因为那里没有主机。
这不是一个生产开关(还)。 所以我的networking上只有三个主机。 这是我的configuration:
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 !
I noticed (based on activity lights) that VLAN traffic between two switch ports are being sent to many switch ports.
真的吗? 这不是如何确定交通stream量。 活动灯可能因任何原因而被激活。
因为主机1和主机2在不同的VLAN中,所以它们也必须位于不同的第3层子网中。 他们互相通信的唯一方法是通过一个路由器,在你的情况是连接到端口5.你怎么期望主机1和主机2之间的stream量除了通过连接到端口5的路由器stream动?
这完全正常。
要添加一些额外的信息:
交换机根据stream量来源学习MAC地址。 在构buildCAM表之前,它将以每个VLAN为基础将stream量扩散到同一个VLAN中的所有其他端口。 当您有一个中继端口时,交换机也会将stream量泛洪到中继端口,因为中继端口承载VLANstream量,需要转发(交换)泛洪stream量,以便连接的交换机上同一VLAN中的任何端口也将接收交通。
默认情况下,VLAN只能在内部与自己交谈。
让我们改变你的设置 – 让我们禁用ge5并打开ge3,并使ge3成为VLAN 101的一部分。从直接连接到ge2的计算机上,您可以与ge3上的另一台计算机通信…但是无法通信与ge1上的任何东西,因为它在另一个VLAN。
让我们回头看看ge5 — ge2上的机器突然间可以再次与ge1以外的任何东西进行通信。
因此,显然ge5在您的VLAN间通信中起着重要的作用,这就是为什么您首先看到通过ge5的VLAN之间的单播stream量。 解释在于如何根据层2切换(我假设你有,根据你的输出)从根本上工作。 交换机只根据自己networking内的硬件地址转发— VLAN实际上是自己的networking,每个VLAN都驻留在不同的子网上。 您几乎可以将VLAN视为逻辑上划分的交换机,而不是物理上将它们分开,因此ge1成为逻辑交换机A,ge2成为逻辑交换机B,但它们都在不同的networking中,因此它们无法通信。
这就是为什么您使用连接到路由器的Trunk端口。 所有VLANstream量都通过该Trunk端口并发送到路由器,然后该路由器将其发送回正确的VLAN。
所以,这里是我的总结:恭喜,你有一个伟大的工作设置。