我一直在学习 VLAN,我想知道交换机是否可用于两个 VLAN 之间的通信。
由于交换机支持中继链路并且已经知道帧的目标/源(VID),它们可以用来将帧从一个 VLAN 发送到另一个 VLAN 吗?
例如,在上面这张图片中,我想知道如果此交换机已经收到每个 VLAN 的 VID,为什么还需要路由器。为什么交换机不能将帧转发到目标 VLAN,而需要路由器来执行此操作,从而延长了帧到路由器和返回的传输时间?
答案1
L2 交换机无法进行 VLAN 间路由,因为它们只负责 L2 网络事务,即在链路之间转发帧。如果是 L3 交换机,则可以在 VLAN 之间进行 IP 协议路由。
答案2
VLAN 用于创建不同的子网,也就是不同的广播域。您需要有路由器或三层交换机才能在不同的 VLAN(不同的子网)之间转发流量。
答案3
路由是第 3 层功能,而 VLAN 仅涉及第 2 层。
当一台计算机A要向另一台主机B发送数据时,它首先会通过IP协议检查B是否与自己在同一个网络内(比较自己地址的网络部分和目的IP地址)。
如果 B 的 IP 地址与 A 位于同一网络,A 则将执行 ARP 请求以查找 B 的 MAC 地址。
如果 B 不存在或者不在同一个 VLAN 中,则 ARP 请求将不会有答案,A 也不会发送任何其他内容(通信失败)。如果 IP 地址 B 属于另一个 IP 网络,则 A 将在其路由表中查找,找到路由器 C 的 IP 地址(通常是其默认网关)并将数据包发送给 C(再次执行 ARP 请求以查找 C 的 MAC 地址)。
因此,如果您没有在两个网络中都具有接口的路由器,则两个独立 IP 网络中的两个主机之间就无法进行通信。
即使两个 VLAN 之间存在某种类型的网桥(不常见但可能),或者两个主机位于同一个 VLAN 中但在不同的 IP 网络中具有 IP 地址,如果没有路由器,则无法进行通信,因为 A 不会尝试向 B 发送帧(因为它的 IP 配置告诉它需要路由器)。
现在,正如其他答案所指出的那样,如果您的交换机是第 3 层交换机,则意味着您在一个盒子中同时拥有交换机和路由器。如果配置正确,交换机的路由器功能将在不同的 VLAN 之间路由。第
3 层交换机(与单独的路由器相反)的主要优势是您可以以全线速(即与交换过程一样快)在不同的 VLAN 之间路由。
答案4
有趣的是,VLAN 交换机不支持此功能 - 您无法将它们配置为连接,比如说,端口 A 上的 VLAN3 到端口 B 上的 VLAN5。
您可以使用两个端口来解决这个问题,将其中一个端口配置为未标记的 VLAN3,将另一个端口配置为未标记的 VLAN5,然后用电缆将它们连接起来。(没有尝试过,但不知道为什么它不起作用。)