如果网络里就这一台交换机,所有主机都连在这台交换机上,不同VLAN的主机能否通信?
(1)不能,如果这是一台纯二层(L2)的交换机,且不允许不同VLAN之间跳线短接。
(2) 能,如果允许不同VLAN之间跳线短接
(3) 能,如果这是一台兼具二层和三层功能的交换机。
读者可能比较容易理解1、3,但是不太好理解2,先来解释3。
(3)兼具二层和三层功能的交换机
交换机在每个VLAN里充当网关,不同网段(跨VLAN)主机之间的通信,Packet会发给自己VLAN所在的网关(incoming vlan),交换机查询路由表,发现需要从自己另外一个网关出口(outgoing vlan)才能到达目的主机。然后在outgoing vlan里ARP广播请求目的主机MAC,然后packet就到达目的主机。
(1)纯二层(L2)的交换机,且不允许不同VLAN之间跳线短接
纯二层的交换机是无法充当网关这个角色的,不同VLAN/不同网段的主机之间的通信是需要网关的帮助才能实现,而这里没有网关,所以无法通信。
(2)纯二层(L2)的交换机,允许不同VLAN之间跳线短接
虽然能通信,但是需要条件的。即主机虽然在不同VLAN里,但是主机在同一个网段。
VLAN 10 主机A = 192.168.1.10/24
VLAN 20 主机B = 192.168.1.20/24
用一根网线,一端连在VLAN 10的端口,另一端连在VLAN 20的端口,此为跳线短接。
主机A、B是可以通信的。
如果主机A、B不在一个网段,也不在一个VLAN,通过跳线可以通信吗?
可以的,也需要前提条件。
VLAN 10 主机A = 192.168.10.10/24 默认网关 = 192.168.20.20
VLAN 20 主机B = 192.168.20.20/24 默认网关 = 192.168.10.10
一根网线一端连在VLAN 10的端口,另一端连在VLAN 20的端口, 主机A、B也是可以通信的。
作者|车小胖谈网络|公众号