VLAN的定义
VLAN virtual local Area Network 虚拟局域网,将物理上的局域网LAN在逻辑上进行划分
使用VLAN技术可以有效隔离广播域,减少网络中不必要的带宽消耗,如图,192.168.1.1发送一个广播帧,那么在这个广播域中的所有的主机都会收到转发的数据包,图中只有四个主机,冲突的情况较小,但随着网络规模的扩大,冲突就会非常严重,广播帧泛滥,网络性能显著下降,通信缓慢,增加交换机的数量可以解决冲突的问题,但是二层交换机依旧没法解决广播域的问题,三次的设备router可以做到隔离广播域但是三层的设备价格是更贵的,因此为了解决广播泛滥的问题,出现了VLAN技术,VLAN是虚拟的,意味着它可以在不改变当前网络结构的前提下隔离广播帧泛滥的问题。广播帧会被限制在一个VLAN中,
VLAN划分的方式
- 基于端口的划分
根据交换机的接口将网络划分不同的VLAN,这种方式需要对接口一个个进行指定属于哪个VLAN,如果连接的主机数量很庞大,配置相应的VLAN就会非常复杂。
- 基于MAC地址的划分
对于每个计算机根据计算的MAC地址进行划分VLAN,如果计算机更换网卡,需要重新指定VLAN,劣势和端口划分一样
- 基于IP地址划分
与基于MAC地址的VLAN相比,能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。
- 基于策略划分 多种划分VLAN技术按照一定的安全策略进行综合运用的划分
- 基于用户的划分
VLAN tag:
遵循IEEE802.1Q的标准,在原来的以太网源MAC地址后添加了四个字节的VLANtag
- Type:2bytes 固定设置为0x8100
- User Priority:3bits 用户优先级,划分流量的等级
- Flag:1bit设置为0
- VLAN-ID:12bit 1-4094 用于标志不同的VLAN
对于支持vlan的交换,每个VLAN都有自己的MAC地址表:
- 根据收到的src-mac和vlan-id维持和更新MAC表项
- 根据路由表匹配dst-mac如果没有相应的匹配项,在vlan-id对应的vlan中进行广播
- 交换机内部带tag进行转发
VLAN接口类型
计算机设备不会只连接在一家厂商的一个交换设备上,因此很多VLAN区域的划分是跨多个路由器的,根据交换机接口连接对象和收发的数据帧不同,不同厂商会定义不同接口类型,常见接口类型有:
- Access接口
Access接口只属于一个特定的VLAN,且只会向此VLAN中的数据发送数据,因此Access接口主要连接的是客户机终端
对于Access接口:
入接口的流量带Tag,如果与PVID(PVID 端口绑定的VLAN-ID)的VLAN一致,接受处理报文,否则丢弃
入接口的流量不带Tag(UnTag),允许报文进入,打上PVID的VLAN tag
出接口的流量经过Access接口,携带的Tag会被剥离掉,不带tag进行转发
- Trunk接口
Trunk接口在VLAN跨越多台交换机时使用,它可以转发多个VLAN的数据,用于交换机互联
对于Trunk接口:
入接口的流量带Tag,如果与端口允许tag中标明的VLAN通过,接受处理报文,否则丢弃
入接口的流量不带Tag(UnTag),允许报文进入,打上PVID的VLAN tag
出接口的流量经过Trunk接口,如果报文VLAN和PVID相同,则报文不带tag进行转发,否则带tag
- Hybird接口
Hybird接口集合了上面接口的功能,此接口可以指定哪些VLAN的数据包经过时被剥离标签,主要实现高隔离度的波分和复用
入接口流量处理和Trunk一样
出接口的流量可以配置去不去掉tag进行转发,可以设置部分VLAN去掉tag,部分VLAN不去掉tag
Hybrid接口相比于Trunk接口有更丰富的功能,总的来说,Trunk接口干的事Hybrid都可以干,但有的功能只能Hybrid来做
参考文章
什么是VLAN?VLAN是如何工作的? - 华为 (huawei.com)