我一直在学习VLAN,我想知道交换机是否可以用于两个VLAN之间的通信。
由于交换机支持中继链路,并且已经知道帧的目的地/源(VID)可以用来将帧从一个VLAN发送到另一个VLAN吗?

例如在上面的这张图片中,我想知道为什么如果交换机已经接收到每个VLAN的VID,那么为什么需要路由器。 为什么不能将帧转发到目标VLAN,而是需要路由器来完成,从而延长帧到路由器的传输时间,并返回?
L2交换机不能进行VLAN间路由,因为它们只处理L2networking的东西,即转发链路之间的帧。 如果是三层交换机,则可以在VLAN之间进行IP协议路由。
VLAN用于创build不同的子网,这意味着不同的广播域。 您需要有路由器或三层交换机才能在不同的VLAN(不同的子网)之间转发stream量。
路由是第3层function,而VLAN只关心第2层。
当计算机A想要将数据发送到另一个主机B时,使用IP协议,它将首先检查B是否与自己在同一个networking(比较自己的地址和目的地IP地址的networking部分)。
如果B IP地址在同一个networking中,则A将执行ARP请求以查找B的MAC地址。
如果B不活动或不在同一个VLAN中,则ARP请求将不会有答案,A将不会发送任何其他内容(通信失败)。
如果B IP地址属于另一个IPnetworking,则A将查找其路由表,find路由器C(通常是其默认网关)的IP地址,并将该数据包发送给C(再次执行ARP请求以查找C MAC地址)。
所以如果你在两个networking中都没有一个带有接口的路由器,你就不能在两个分离的IPnetworking中的两个主机之间进行通信。
即使两个VLAN之间存在某种桥接(exception但可能),或者两个主机在同一个VLAN中,但在不同的IPnetworking中具有IP地址,由于A不会尝试发送一个帧到B(因为它的IPconfiguration告诉它它需要一个路由器)。
现在,正如其他答案所指出的那样,如果您的交换机是第三层交换机,那意味着您在一个交换机和路由器中都有一个交换机。 如果configuration正确,交换机的路由器function将在不同的VLAN之间路由。
第三层交换机(与单独的路由器相反)的主要优点是可以以全线速(不同的交换过程的IE)在不同的VLAN之间进行路由。
这里的其他答案涉及到networking理论,所以我不会对此发表评论。 对于现实世界中与networking理论有关但又不同的实际networking硬件,答案是肯定的。 你可以买一个可以处理VLANstream量的networking交换机。
networking交换机曾经被看作是第二层设备,但是许多交换机的function比现在更多。 有时路由器被标记为“第3层交换机”。 不仅具有层2function的交换机有时也被称为“层2.5交换机”
有趣的是,VLAN交换机不支持这种configuration – 您不能将它们configuration为将端口A上的VLAN3连接到端口B上的VLAN5上。
你可以通过使用两个端口来破解这个,configuration一个VLAN3未标记,另一个VLAN5未标记,然后用电缆连接它们。 (没有尝试这个,但不明白为什么它不应该工作。)
如果我正确地解释这个,你需要一个交换机,接收一个带有VLAN 5的帧(例如),用VLAN 6转发它。
这是毫无意义的。 而不是这样做,你可以简单地把你所有使用VLAN 6的设备转移到VLAN 5。
由于没有任何意义,交换机厂商没有添加任何方法来实现。
VLAN内的stream量在VLANnetworking的MAC地址之间转发。 对于要离开该networking的“帧”,必须将其转发到具有路由function的设备的MAC地址。 这可以是交换机,防火墙或路由器。 因此,如果来自VLAN A的帧要到达VLAN B,则VLAN A将帧发送到默认网关的MAC地址,VLAN B将执行相同的操作。 如果这些网关在交换机上,则交换机在vlans之间路由数据包,对于路由器也是如此。 但是,如果您需要在vlan之间来回控制访问,您可能需要使用防火墙。
在现代世界中:把交换机看作有很多端口的路由器。 把路由器看作交换机,端口less,但可用性高。 将防火墙想象成可支持更高层服务的路由器,如入侵检测,防病毒,SSL代理,应用程序服务,NAT等。