VLAN
1、定义:
VLAN是在交换机或路由器上创建的一组逻辑上分离的网络,即使它们共享相同的物理媒介(例如以太网)。
2、工作原理
VLAN通过将网络设备按照逻辑需求而不是物理位置来划分,实现逻辑上的隔离和分组。每个VLAN有其自己的广播域,因此广播和多播流量不会跨越VLAN传播,从而减少网络流量和提高网络安全性。
3、报文格式
1、TPID:16 位字段,固定值为 0x8100,指示后续字段是 VLAN 标签。
2、TCI (Tag Control Information):16 位字段,包含 VLAN 的信息:
- Priority(PRI):3 位,表示帧的优先级(0-7),值越大优先级越高,用于设备拥塞,报文的丢弃顺序。
- CFI (Canonical Format Identifier):1 位,指示 MAC 地址的格式,缺省取值为0。取值为0表示MAC地址以标准格式封装,取值为1表示MAC地址以非标准格式封装。
- VLAN ID:12 位,表示 VLAN 的编号(1- 4096)
抓取报文分析
4、VLAN的划分
VLAN(Virtual Local Area Network)可以根据不同的划分方式来组织和管理网络设备。以下是常见的几种VLAN划分方式:
5、动态VLAN
指利用GVRP协议自动创建的VLAN。
GVRP定义:
GVRP(Generic VLAN Registration Protocol)是一种IEEE 802.1Q标准定义的协议,用于动态管理VLAN成员关系的协议。它的主要功能是在网络中自动传播VLAN成员关系,从而简化VLAN的配置和管理过程。
其中,GVRP协议提供了一种在交换机之间传递VLAN属性的机制,它的主要作用是自动实现VLAN信息在交换机上的动态注册过程和注销过程。当交换机上部署了GVRP协议后,用户只需要对少量的交换机进行手工的创建,就可以实现这些VLAN配置信息传递并应用到其他的交换机上。
GVRP注册模式:
1、Normal模式(默认):允许该接口动态的注册、注销VLAN,传播动态VLAN以及静态VLAN信息
2、Fixed模式:禁止该接口动态注册、注销VLAN,只传播静态VLAN信息。被设置为该模式下的Trunk接口,即使允许所有的VLAN通过,实际上通过的VLAN也只能是手动配置的那些部分
3、Forbidden模式:禁止该接口动态注册、注销VLAN,不传播任何除VLAN 1以外的任何VLAN信息。即使被设置为该模式下的Trunk接口,即使允许所有的VLAN通过,然而实际上通过的只是VLAN
6、VLAN接口类型
在网络中,VLAN 接口类型通常指的是交换机上的端口或路由器上的接口配置方式,以确定如何处理传入和传出的 VLAN 帧。以下是常见的 VLAN 接口类型:
讨论接口类型前,先了解缺省VLAN
缺省VLAN又称为PVID(Port Default VLAN ID),每个接口都有缺省VLAN。
1、Access接口只属于1个VLAN,它的缺省VLAN就是它所在的VLAN。
2、Hybrid接口和Trunk接口属于多个VLAN,但是缺省VLAN只有1个,所以需要设置缺省VLAN。
接口类型 | 接收处理规则 | 发送处理规则 |
Access接口 | 判断数据帧的VLAN Tag: | 先剥离帧的PVID Tag,然后再发送。 |
无Tag,则添加本接口PVID Tag。 | ||
有Tag,若Tag与PVID Tag相同,则允许该VLAN帧进入,否则丢弃。 | ||
Trunk 接口 | 判断数据帧VLAN Tag: | 判断VLAN在本接口的属性: |
无Tag,则添加本接口PVID Tag。当PVID在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 | 如果是接口的PVID Tag,且是该接口允许通过的VLAN ID时,先剥离帧的PVID Tag,然后再发送。 | |
有Tag,当该数据帧的VLAN ID在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 | 如果不是接口的PVID Tag,且是该接口允许通过的VLAN ID时,则直接发送。否则丢弃。 | |
Hybrid接口 | 判断数据帧VLAN Tag: | 判断VLAN在本接口的属性: |
无Tag,则添加本接口PVID Tag。当PVID在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 | 如果允许,则发送该数据帧。发送时,交换机判断VLAN在本端口的属性是Untag还是Tag。如果是Untag,先剥离帧的VLAN Tag,再发送;如果是Tag,直接发送帧。 | |
有Tag,当该数据帧的VLAN ID在允许通过的VLAN ID列表里时,则允许该VLAN帧进入,否则丢弃。 | 如果不允许,直接丢弃。 |
备注:Hybrid接口入方向处理规则和Trunk接口一致
7、摘要部分vlan配置命令
下面命令为华为模拟器实验结果:
#
interface GigabitEthernet0/0/1
port link-type access //配置接口类型为access
port default vlan 10 //配置接口缺省vlan10
#
interface GigabitEthernet0/0/2
port link-type trunk //配置接口类型为trunk
port trunk pvid vlan 10 //配置缺省vlan为vlan10
port trunk allow-pass vlan 10 20 //配置可通过vlan10、vlan
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 20 //默认为hybrid、配置缺省vlan为vlan10
port hybrid tagged vlan 10 //配置Vlan10属性为tagged
port hybrid untagged vlan 20 //配置vlan20属性为untgged
#
8、Q-IN-Q
Q-in-Q(也称为 QinQ 或者 IEEE 802.1ad)是一种在以太网中用于 VLAN 标记的封装协议。它允许在现有的 VLAN 标记基础上再添加一个 VLAN 标记,从而实现更高层次的 VLAN 标记和隔离,Q-in-Q 提供了一种有效的方式来扩展 VLAN 的数量和灵活性。
具体来说,Q-in-Q 协议在原始的以太网帧中添加了一个额外的 VLAN 标签。通常情况下,一个以太网帧可以携带一个 VLAN 标签(802.1Q标准),但是通过 Q-in-Q 协议,可以在已有的 VLAN 标签的基础上再封装一个 VLAN 标签。这样,帧的结构可以类似于这样:
- Outer VLAN Header:外层 VLAN 标签,用来标记这个帧属于哪个外部 VLAN。
- Inner VLAN Header:内层 VLAN 标签,用来标记这个帧属于哪个内部 VLAN。
- Payload:帧的有效载荷,即实际传输的数据部分。