虚拟局域网 VLAN
技术是在交换机上实现的,需要交换机能够实现以下两大功能
- 能够处理带有
VLAN
标记的帧:IEEE 802.1Q
帧 - 交换机的各端口支持不同的端口类型(帧的处理方式有所不同)
1、IEEE 802.1Q 帧
IEEE 802.1Q
帧(也称 Dot One Q 帧)对以太网的 MAC
帧格式进行了扩展,插入了 字节的 VLAN
标记。
- 以太网版本 的
MAC
帧格式
- 插入
VLAN
标记的802.1Q
帧格式
VLAN
标记的最后 个比特称为 VLAN
标识符 VID
,它唯一的标志了以太网属于哪一个 VLAN
-
VID
的取值范围为 ~ ( ~ ) - 和 都不用来表示
VLAN
,因此用于表示VLAN
的VID
的有效取值范围是~。
注意:
-
802.1Q
帧是由交换机来处理的,而不是用户主机来处理的。
当交换机收到普通的以太网帧时,会将其插入 字节的 VLAN
标记转变为 802.1Q
帧,简称 “”
当交换机转发 802.1Q
帧时,可能会删除其 字节 VLAN
标记转变为普通以太网帧,简称 “”
2、交换机的端口类型
交换机的端口类型有以下三种:
Access
Trunk
Hybrid
(思科交换机没有该端口)
交换机各端口的缺省 VLAN ID
- 在思科交换机上称为
Native VLAN
,即本征VLAN
。
- 例如:思科交换机在用户未配置
VLAN
时,所有端口都默认属属于VLAN1
即:所有端口的本征VLAN
都是VLAN1
- 在华为交换机上称为
Port VLAN ID
,即端口VLAN ID
,简记为PVID
。
说明:以下均采用华为交换机
注意:
- 交换机的每个端口有且只有一个
PVID
2.1、Access 端口
Access
端口一般用于连接用户计算机
Access
端口只能属于一个VLAN
Access
端口的 PVID
值与端口所属 VLAN
的 ID
相同(默认为 )
例如:主机 A
、B
、C
、D
分别连接在交换机的一个端口上
交换机首次上电时,默认配置个端口属于 VLAN1
- 也就是各端口的
PVID
值等于
默认配置各端口的类型为 Access
(A
标识)
2.1.1、接受处理方法
Access
端口接收处理方法
:
- 一般只接受 “未打标签” 的普通以太网
MAC
帧。 - 根据接收帧的端口的
PVID
给帧 “” ,即插入 字节VLAN
标记字段,字段中的VID
取值与端口的PVID
取值相等。
假设主机 A 发送了一个广播帧
该帧从交换机的端口
由于端口 的类型是 Access
,它会对接收到的 “未打标签” 的普通以太网 MAC
帧 “打标签” 。
- 插入 字节的
VLAN
标记字段
由于端口 的 PVID
值也等于 ,因此所插入的 字节 VLAN
标记字段中的 VID
的值也等于 。
2.1.2、发送处理方法
Access
端口发送处理方法:
- 若帧中的
VID
与端口的PVID
相等,则 “” 并转发该帧 - 否则不转发。
广播帧中的 VID
的取值与端口 的 PVD
取值都等于
- 因此,交换机会从这三个端口对帧进行 “去标签” 转发
若将主机 A
、B
划归的 VLAN2
,将主机 C
、D
划归到 VLAN3
这样,VLAN2
的广播帧不会传送到 VLAN3
。反之亦然
为了实现这种应用,可以在交换机上创建 VLAN2
和 VLAN3
,然后将交换机的端口 和 划归到 VLAN2
- 因此,端口 和 的
PVID
值等于
将交换机的端口 和 划归到 VLAN3
- 因此,端口 和 的
PVID
值等于
假设主机 A
发送了一个广播帧
该帧从交换机的端口
由于端口 的类型是 Access
,它会对接收到的 “未打标签” 的普通以太网 MAC
帧 “打标签” 。
- 插入 字节的
VLAN
标记字段
由于端口 的 PVID
值等于 ,因此所插入的 字节 VLAN
标记字段中的 VID
的值也等于
广播帧中的 VID
值与端口 的 PVID
值都等于
- 因此,交换机会从端口
假设主机 C
发送了一个广播帧
该帧从交换机的端口
由于端口 的类型是 Access
,它会对接收到的 “未打标签” 的普通以太网 MAC
帧 “打标签” 。
- 插入 字节的
VLAN
标记字段
由于端口 的 PVID
值等于 3,因此所插入的 4 字节 VLAN
标记字段中的 VID
的值也等于
广播帧中的 VID
值与端口 的 PVID
值都等于
- 因此,交换机会从端口
2.2、Trunk 端口
Trunk
端口一般用于交换机之间或交换机与路由器之间的互连
Trunk
端口可以属于多个 VLAN
-
Trunk
端口可以接受和发送多个VLAN
的帧
用户可以设置 Trunk
端口的 PVID
值。默认情况下, Trunk
端口的 PVID 值为
两台交换机互连而成了一个交换式以太网
将主机 A
、B
、E
、F
划归到 VLAN1
,将主机 C
、D
、G
、H
划归到 VLAN2
由于交换机首次上电时默认配置各端口属于 VLAN1
- 其相应的
PVID
值等于 ,并且端口的类型为Access
因此,我们需要对交换机进行相应的配置才能满足应用需求
- 分别在两个交换机上创建
VLAN2
,并将它们的端口 3 和 4 都划归到VLAN2
,其相应的PVID
值等于 - 而两个交换机的端口 和 保持默认配置即可,也就是属于
VLAN1
,其相应的PVID
值等于
注意:需要将交换机互联的端口 的类型更改为 Trank
类型,其 PVID
值默认
2.2.1、发送处理方法
Trank
端口发送处理方法:
- 对
VID
等于PVID
的帧,“” 再转发 - 对
VID
不等于PVID
的帧,
假设主机 A
发送了一个广播帧
该帧从交换机 的端口
由于端口 的类型是 Access
,它会对接收到的 “未打标签” 的普通以太网 MAC
帧 “打标签” 。
- 插入 字节的
VLAN
标记字段
由于端口 的 PVID
值也等于 ,因此所插入的 字节 VLAN
标记字段中的 VID
的值也等于
该广播帧中的 VID
的取值与端口 的 PVID
值都等于 ,端口 的类型是 Access
- 因此,交换机 会从端口
该广播帧中的 VID
的取值与端口 的 PVID
值都等于 ,端口 的类型是 Trank
- 因此,交换机 会从端口
很显然,该广播帧会从交换机 的端口 进入交换机
2.2.2、接受处理方法
Trunk
端口接收处理方法:
- 接收 “未打标签” 的帧,根据接收帧的端口的
PVID
给帧 “”
即插入 字节VLAN
标记字段,字段中的VID
取值与端口的PVID
取值相等。 - 接受 “已打标签的帧”
对上述广播帧
交换机 会对接受到的 “未打标签” 的普通以太网 MAC
帧 “打标签” 。
- 也就是插入 字节的
VLAN
标志字段
由于端口 的 PVID
值等于
- 因此,所插入的 字节
VLAN
标记字段中的VID
值也等于
该广播帧中的 VID
值与 端口 和 的 PVID
值都等于 ,端口 和 的类型都是 Access
- 因此,交换机 会从端口 和 对帧进行 “去标签” 转发。
假设主机 C
发送了一个广播帧
该帧从交换机 的端口
由于端口 的类型是 Access
,它会对接收到的 “未打标签” 的普通以太网 MAC
帧 “打标签” 。
- 插入 字节的
VLAN
标记字段
由于端口 的 PVID
值等于 ,因此所插入的 字节 VLAN
标记字段中的 VID
的值也等于
该广播帧的 VID
取值 与端口 的 PVID
值都等于 ,端口 的类型是 Access
- 因此,交换机 会从端口
该广播帧的 VID
的值与端口 的 PVID
值不相等,由于 Trunk
端口对 VID
不等于 PVID
的帧是的。
- 因此,交换机 会从端口
- 也就是不去掉标签而带着标签直接转发
很显然,该 802.1Q
广播帧会从交换机 的端口 进入交换机
Trank
端口接受已打标签的 802.1Q
帧
该广播帧的 VID
的取值与端口 和 的 PVID
值都等于 ,端口 和 的类型都是 Access
类型
- 因此,交换机 会从端口 和
2.3、小总结
在由多个交换机互连而成的交换式以太网中划分 VLAN
时。
- 连接主机的交换机端口应设置为
Access
类型 - 交换机之间互连的端口应设置为
Trank
类型
2.4、习题
解析
2.5、Hybrid 端口
Hybrid
端口既可用于交换机之间或交换机与路由器之间的互连(同 Trunk
端口),也可用于交换机与用户计算机之间的互连(同 Access
端口)
Hybrid
端口可以属于多个 VLAN
(同 Trunk
端口)用户可以设置 Hybrid
端口的 PVID
值。
- 默认情况下
Hybrid
端口的PVID
值为
Hybrid
端口发送处理方法()查看帧的 VID
是否在端口的 “去标签” 列表中;
- 若存在,则“去标签”后再转发;
- 若不存在,则直接转发;
Hybrid
端口接收处理方法(同 Trunk
端口)
- 接收 “未打标签” 的帧,根据接收帧的端口的
PVID
给帧“打标签”
即插入 字节 VLAN 标记字段,字段中的VID
取值与端口的PVID
取值相等。 - 接收 “已打标签的帧” ;
主机 A
给 C
发送数据帧
该帧从交换机的端口 进入交换机,由于端口 的类型是 Hybrid
- 它会对接收到的 “未打标签”的 普通以太网
MAC
帧 “打标签”
由于端口 的 PVID
值等于
- 因此,所插入的 字节
VLAN
标记字段中的VID
的值也等于 。
该帧将从端口 转发,由于帧中的 VID
的取值再端口
- 因此,该帧会被 “去标签” 转发
这样主机 C
就可以收到主机 A
发送的数据帧
同理,主机 C
给 A
发送数据帧,主机 A
同样可以收到
主机 B
给 C
发送数据帧
同理,主机 C
给 B
发送数据帧,主机 B
同样可以收到
主机 A
给 B
发送数据帧
该帧从交换机的端口 进入交换机,给该帧打标签,其中 VID
取值为
该帧将从端口
由于帧中的 VID
的取值不在端口
- 因此,该帧被直接转发
这样主机 B
就会收到一个带有 VLAN
标记的 802.1Q
帧
- 但是主机
B
可以识别普通以太网MAC
帧,而不能识别802.1Q
帧,只能丢弃该帧
主机 B
给 A
发送数据帧同理