一、VLAN的原理
VLAN技术产生的背景
为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术: 通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。
VLAN的特点:
一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。 VLAN的划分不受地域的限制。 VLAN的好处: 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
交换机如何识别接收到的数据帧属于哪个VLAN?
通过VLAN标签,要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。 IEEE 802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签,又称VLAN Tag,简称Tag。
VLAN数据帧
在一个VLAN交换网络中,以太网帧主要有以下两种形式: 有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。
VLAN数据帧中的主要字段: TPID:2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。 取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。 PRI:3 bit,Priority,表示数据帧的优先级,用于QoS。 取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。
VLAN划分方式
计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。 VLAN的划分包括如下5种方法:
基于接口划分:根据交换机的接口来划分VLAN。 网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。 网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。 网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。 网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。 基于策略划分:
根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。 网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
以太网二层接口类型
二、VLAN的配置
1.使用ENSP搭建如下拓扑图
2.在sw1上创建vlan10,vlan20,vlan30,并配置接口
sw1:vlan batch 10 20 30
sw1:
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/5
port link-type trunk
port trunk allow-pass vlan 10 20 30
sw2配置参考sw1
3.查看配置
通过测试,在同一vlan的主机可以相互通信,不同主机不能通信。
4.如果要解决vlan10,vlan20要和vlan30相互通信需要配置hybrid 接口
将之前的配置全部删除(使用undo命令)或者将设备重启
[SW1]vlan batch 10 20 30 创建vlan
[SW1]interface GigabitEthernet0/0/1
[SW1]port hybrid pvid vlan 10
[SW1]port hybrid untagged vlan 10 30
[SW1]interface GigabitEthernet0/0/2
[SW1]port hybrid pvid vlan 10
[SW1]port hybrid untagged vlan 10 30
[SW1]interface GigabitEthernet0/0/3
[SW1]port hybrid pvid vlan 20
[SW1]port hybrid untagged vlan 20 30
[SW1]interface GigabitEthernet0/0/1
[SW1]port hybrid pvid vlan 20
[SW1]port hybrid untagged vlan 20 30
[SW1]interface GigabitEthernet0/0/5
[SW1]port hybrid tagged vlan 10 20 30
sw2参考sw1的配置
配置完成即可实现vlan10,vlan20要和vlan30相互通信