VLAN(Virtual Local Area Network,虚拟局域网)是一种在二层交换机上实现隔离广播域的技术。
VLAN的基本概念- 定义:VLAN是一种将局域网设备从逻辑上划分成一个个网段的技术,每个VLAN都是一个独立的广播域。
- 目的:通过VLAN技术,可以在二层交换机上实现广播域的隔离,从而优化网络性能,降低广播报文对网络带宽的占用,以及减轻终端设备处理广播报文的负担。
VLAN的工作原理- VLAN帧的标识:为了在交换机上区分不同的VLAN帧,需要修改以太网的封装格式,在SMAC(源MAC地址)与Type字段之间插入一个TAG(标签)。这个带有TAG的帧被称为802.1Q帧。TAG共占4个字节,包含Type ID、Priority(优先级)、CFI(用于与其他局域网协议兼容的比特)以及VLAN ID等字段。
- PVID(端口VLAN ID):交换机的每个端口都有一个PVID,用于标识该端口所属的VLAN。当交换机收到一个标准以太网帧时,会根据该帧进入的端口的PVID,给帧加上一个对应的TAG,变成802.1Q帧。
- 帧的转发:交换机在转发帧时,会根据帧的VID(VLAN ID)和端口的PVID进行匹配。如果帧的VID与端口的PVID相同,且该帧是单播帧,则交换机会在MAC地址表中查找对应的记录,将帧发送到目标端口。如果找不到对应的记录,或者该帧是广播帧/组播帧,则交换机会将帧发送到所有符合PVID=VID条件的端口(除收到此帧的端口外)。
VLAN的端口类型- Access端口:一般用于连接终端设备(如电脑、服务器等)。Access端口的PVID与连接的终端设备所属的VLAN相对应。当Access端口收到一个标准以太网帧时,会给帧加上对应PVID的TAG,变成802.1Q帧进行转发。当Access端口发出帧时,如果帧的VID与端口的PVID相同,则会去掉TAG,变成标准以太网帧发出。
- Trunk端口:一般用于交换机之间的互连。Trunk端口可以处理多个VLAN的帧。当Trunk端口收到一个标准以太网帧时,同样会给帧加上对应PVID的TAG进行转发。但是,当Trunk端口发出帧时,会根据帧的VID和端口的PVID以及端口的配置(是否允许该VLAN通过)来决定是否去掉TAG。如果帧的VID与端口的PVID相同,或者虽然不同但端口允许该VLAN通过且该帧需要发送到另一个Trunk端口,则会保留TAG发出;否则,会去掉TAG变成标准以太网帧发出(但这种情况较少见,因为Trunk端口通常用于交换机之间的连接,而交换机之间的连接通常不需要去掉TAG)。
VLAN的应用场景- 优化网络性能:通过VLAN技术,可以将大型局域网划分成多个小型广播域,从而减少广播报文对网络带宽的占用和终端设备处理广播报文的负担。
- 提高网络安全性:通过VLAN技术,可以将不同部门或不同安全级别的设备划分到不同的VLAN中,从而实现网络流量的隔离和访问控制。
- 简化网络管理:通过VLAN技术,可以方便地对网络进行划分和管理。例如,可以通过VLAN来划分不同的子网、实现不同子网之间的路由和访问控制等。
示例说明假设有一个网络场景,其中PCA、PCB、PCC分别连接在SWA的端口1、端口2、端口3上,且三个端口的PVID分别为1、1、2。SWA的端口4与SWB的端口3相连,且两个端口都是Trunk类型,PVID都为1,且都允许VLAN1和VLAN2通过。SWB的端口1和端口2分别连接PCD和PCE,且两个端口的PVID分别为1和2。
- 当PCA访问PCB时,PCA发出的标准帧会经过SWA的端口1进入交换机。端口1会给帧加上PVID为1的TAG后转发给交换机处理。交换机在MAC地址表中查找PVID=1且MAC地址=PCB的MAC地址的记录后,将帧发送到端口2。端口2收到帧后去掉TAG变成标准帧发出给PCB。
- 当PCC访问PCE时,PCC发出的标准帧会经过SWA的端口3进入交换机。端口3会给帧加上PVID为2的TAG后转发给交换机处理。交换机在MAC地址表中查找符合条件的记录后发现只有端口4符合条件(因为端口4是Trunk类型且允许VLAN2通过)。于是交换机将帧发送到端口4。端口4收到帧后保留TAG原样发出给SWB的端口3。SWB的端口3收到帧后不再打TAG直接查找MAC地址表将帧发送到端口2。端口2收到帧后去掉TAG变成标准帧发出给PCE。
通过以上示例可以看出,VLAN技术可以有效地实现广播域的隔离和网络流量的控制从而优化网络性能和提高网络安全性。