路由器将多个局域网连接起来,而交换机将一个局域网里的设备连接起来。
路由器的端口分配局域网的网段(子网网段),局域网的内部设备的ip都在这个网段里,再由交换机将数据派发到目的设备,交换机是按照MAC地址派发的(工作在数据链路层)。
VLAN是建立在交换机的LAN上面的,是对LAN的再划分。

为什么要有VLAN?
在没有改变网络配置下,将有相同需求的用户放到一起,使之就像在一个LAN中那样工作。

VLAN是虚拟局域网,将单一物理局域网划分为不同的局域网,所以不同的LAN之间的通信,如同不同局域网之间的通信,需要三层交换机或者路由器。
交换机上的每个端口都可以分配给不同的VLAN。
在没有划分VLAN的交换机上,所有端口属于一个广播域。
相同的VLAN内的用户可以直接进行通信,这种通信被称为二层通信,而不同的VLAN之间互相隔离,广播数据不能跨越VLAN传播。


VLAN,trunk(主干链路),一个物理连接上可以传输多个VLAN的数据。

有主干链路和接入链路。主干链路中传递的是带有vlan标签的帧,而交换机将帧传入接入链路时,会按照vlan选择端口传入,并且在帧中已经把vlan标签去掉了。

当数据包从 VLAN2 转发到 VLAN4 时,路由器会根据目标 IP 地址的信息,将数据包的VLAN关键字修改,从 VLAN2 到 VLAN4 。

例子:
pc1和pc2通过交换机的vlan2,vlan4接入,sw1的vlan2端口只走vlan2的数据,sw1的vlan4走vlan4的数据,trunk主干桥可以走vlan2和vlan4的数据。
这是一个单臂路由的网络,pc1的默认网关是1.1.1.1,pc2和pc3是2.1.1.1,如果数据不在同一子网,会先转发到R3,R3再转发。
例如pc1去ping pc3:发现不是一个子网,发送到r,在路由器上他知道是要发送到vlan4,修改数据帧的关键字为vlan4。