在早期的交换网络中,网络中只有 PC、终端和交换机,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。而广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。为了应对这些问题就出现了 VLAN 技术,VLAN(Virtual LAN)就是虚拟局域网,其主要功能就是用来隔离广播域。
VLAN(Virtual LAN)虚拟局域网就是一种可以将局域网在逻辑上划分为新的相互之间独立的局域网的技术。
通过使用 VLAN,可以将位于不同物理位置的设备划分到同一个逻辑网络中,或将位于同一物理位置的设备划分到不同的逻辑网络中。
这种划分是基于逻辑连接的而不是基于物理连接的。
在数据帧中打上 VLAN 标签,如果不处理就无法识别它是属于哪一个 VLAN,也不知道往哪里。
要使交换机能够分辨不同 VLAN 的报文,就需要在报文中添加标识 VLAN 信息的字段。
注:终端(PC、服务器等)不能识别 Tagged 数据帧,所以终端处理和发出的都是 Untagged 数据帧;但为了提高处理效率,交换机内部处理的数据帧一律都是 Tagged 数据帧。
VLAN 数据帧形式分为 有标记帧(Tagged 帧)和 无标记帧(UnTagged 帧)
VLAN 数据帧字段:
字段 | 长度 | 作用 | 备注 | 操作 |
---|---|---|---|---|
TPID | 16 bit | Tag Protocol Identifier(标签协议标识符),代表数据帧类型 | 设备厂商可以自定义 TPID 的值。当邻居设备将 TPID 值配置为非 0x8100 时,为了能够识别这样的报文,实现互通,必须在本设备上修改 TPID 值,确保和邻居设备的TPID值配置一致 | 取值为 0x8100 时表示 IEEE 802.1Q 的VLAN数据帧。如果不支持 IEEE 802.1Q 的设备收到这样的帧,就会将其丢弃 |
PRI | 3 bit | Priority,表示数据帧的优先级,用于 QoS | 取值范围为 0~7,值越大优先级越高 | 当网络阻塞时,交换机优先发送优先级高的数据帧 |
CFI | 1 bit | Canonical Format Indicator(标准格式指示位),表示 MAC 地址在不同的传输介质中是否以标准格式进行封装 | CFI 取值为 0 表示 MAC 地址以标准格式进行封装,为 1 表示以非标准格式封装 | CFI 用于兼容以太网和令牌环网 |
VID | 12 bit | VLAN ID,表示该数据帧所属的 VLAN 编号 | VLAN ID取值范围是 0~4095。其中 0 和 4095 为协议保留取值,所以VLAN ID的有效取值范围是 1~4094 | 交换机利用 VLAN 标签中的 VID 来识别数据帧所属的 VLAN。广播帧只能在同一 VLAN 内转发,使用 VID 进行识别就可以将广播域限制在一个VLAN内。 |
VLAN 的分配原则可以依据实际的业务、部门、应用等场景进行划分。
VLAN ID 的分配在有效范围内,可以随意分配和选取,但是为了提高 VLAN ID 的连续性,一般采用VLAN ID 和子网关联的方式进行分配。
VLAN 的划分方式大致可分为:基于接口划分、基于 MAC 地址划分、基于 IP 子网划分、基于协议划分、基于策略划分。
划分方式 | 基于内容 | 预设 | 操作 |
---|---|---|---|
基于接口划分 | 根据交换机的接口来划分 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 中传输 |
如果文章对各位小伙伴有帮助的话欢迎三连!!!
另外,文章如有错误之处,也欢迎各位大佬批评指正!!!