摘要
本文系统介绍了 VLAN(虚拟局域网)的原理与配置方法。首先阐述了 VLAN 产生的背景,即交换机只能隔离冲突域而无法隔离广播域,导致广播流量泛滥的问题;随后详细讲解了 VLAN 的作用、好处、帧格式(802.1Q tag)以及交换机对 VLAN 的划分与处理机制;最后以华为设备为例,演示了创建 VLAN、按 MAC/IP/协议/策略划分 VLAN、按接口划分 VLAN 以及查看 VLAN 等配置命令。通过本文的学习,读者可以掌握 VLAN 的核心概念与华为设备上的基本配置方法。
文章目录
- 一、VLAN产生的背景
- 二、VLAN简介
- 2.1.VLAN的作用
- 2.2 VLAN 的好处
- 2.3.VLAN的帧格式
- 2.4. 交换机对 VLAN 划分
- 2.5. 交换机对 VLAN 的处理(以按接口划分 VLAN 为例)
- 三、VLAN的配置
- 3.1. 创建 VLAN
- 3.2. 划分 VLAN
- 3.4. 查看 VLAN
一、VLAN产生的背景
在交换网络中,由于交换机只能隔离冲突域,而无法隔离广播域,当网络内存在大量广播流量时,交换机的泛洪机制会导致整个网络充满大量无用流量。这些流量不仅会占用链路带宽,还会降低交换机的性能。
二、VLAN简介
2.1.VLAN的作用
VLAN(Virtual Local Area Network,虚拟局域网)是一种用来切分广播域的技术。交换机可以通过划分 VLAN,将原先的一个大的广播网络,划分为多个小的 VLAN 网络。划分出的小广播域之间无法直接互通,需借助三层网络。
2.2 VLAN 的好处
- 灵活构建虚拟工作组:用 VLAN 可以将不同用户划分到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
- 限制广播域:广播域被限制在一个 VLAN 内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同 VLAN 内的报文在传输时是相互隔离的,即一个 VLAN 内的用户不能与其他 VLAN 内的用户直接通信。
- 提高了网络的健壮性:故障被限制在一个 VLAN 内,本 VLAN 内的故障不会影响其他 VLAN 的正常工作。
2.3.VLAN的帧格式
VLAN 的实现即在传统的 Ethernet Ⅱ 帧中插入了 4B 的 802.1Q tag 标签。- TPID(标签协议标识符):标识数据帧的类型,值为 0x8100 时表示 802.1Q 帧。
- PRI(优先级):标识帧的优先级(用来做快速转发)。
- CFI(标准格式指示符):在以太网环境中,该字段的值为 0。
- VLAN ID(VLAN 标识符):标识该帧所属的 VLAN,其中:
- 取值为:0 ~ 4095。
- 可以使用的范围:1 ~ 4094。
- vlan 0:用于实现不想使用VLAN标签,但想使用PRI值的情况。
- vlan 4095:保留。
2.4. 交换机对 VLAN 划分
在华为交换机中,常见的 VLAN 划分方式有:
- 按照接口划分(使用最多):按照收到数据帧的接口划分 VLAN
- 按照 MAC 地址划分:按照收到数据帧的 SMAC 划分 VLAN
- 按照 IP 地址划分:按照收到数据帧的 SIP 划分 VLAN
- 按照协议划分:按照收到数据帧所使用的协议划分 VLAN
- 按照策略划分:上述的汇总(即将上述组合起来,实现更灵活的划分方式)
2.5. 交换机对 VLAN 的处理(以按接口划分 VLAN 为例)
首先,我们需要先明白一个概念:
- 对于交换机来说,其内部处理的数据帧一定是携带 VLAN 标签的(tagged 数据帧)
- 对于终端设备来说,其内部处理的数据帧一定是不携带标签的(untagged 数据帧,注:当有标签的数据帧发送到终端设备时,终端设备会直接丢弃掉)
那么,问题来了,终端设备所发出的数据帧是如何在交换机内进行处理的呢?对于这个问题,我们需要先了解一下交换机是如何工作的。对于交换机而言,主要有两种操作行为,即:接收数据帧- 转发数据帧
针对这两种行为,我们以华为设备为例,讲解一下其对于数据帧的处理。在华为设备上,其会按照接口的类型,来处理数据帧,类型主要有:access:连接接口,用于连接终端设备- trunk:干道接口,用于交换机之间的互联
- hybrid(华为独有):混合接口,access + trunk 的组合
对于接收数据帧:
- untagged 帧(不带 VLAN 标签的数据帧):无论是哪个接口都会先打上接口配置的 PVID(VLAN 标签)值
- access:直接保留标签进入交换机内
- trunk:判断 PVID 是否在放行列表中,若在,保留标签进入交换机内
- hybrid:判断 PVID 是否在放行列表中,若在,保留标签进入交换机内
- tagged 帧(带 VLAN 标签的数据帧):
- access:判断是否与接口配置的 PVID 值相等,若相等,保留标签进入交换机内
- trunk:判断 PVID 是否在放行列表中,若在,保留标签进入交换机内
- hybrid:判断 PVID 是否在放行列表中,若在,保留标签进入交换机内
对于转发数据帧(只会有tagged帧,交换机内是不可能有untagged帧的):
- tagged:
- access:判断是否与接口配置的pvid相等
- 相等:剥离标签转发出去
- 不相等:直接丢弃,不进行转发
- trunk:判断是否在放行列表中
- 在:保留标签转发出去
- 不在:直接丢弃,不进行转发
- hybrid:判断是否在放行列表中
- 在tagged放行列表中:保留标签转发
- 在untagged放行列表中:剥离标签转发
- 不在上面两个中任何一个:直接丢弃,不进行转发对上述作出总结,即:
- access:判断是否与接口配置的pvid相等
- 接收数据帧:无标签,先打标签;有标签(无论是刚打的还是原本就有的),看放行列表。
- 转发数据帧:看列表,过匹配,按照对应接口规则对标签处理进行转发。
三、VLAN的配置
3.1. 创建 VLAN
# 创建单个VLAN[S1]vlan<1-4094># 批量创建 VLAN,可以通过 vlan1,vlan2...;也可通过 vlan1 to vlan2[S1]vlan batch vlan1{vlan2...|[to vlan2]}3.2. 划分 VLAN
# 1. 按照 MAC 地址划分 VLAN[S1-vlan1]mac-vlan mac-address 要划分 VLAN 的 MAC 地址# 要划分进哪个 VLAN,就在哪个 VLAN 的视图下操作# 在对应的接口中使能 MAC 划分 VLAN 的功能[S1-GigabitEthernet0/0/1]mac-vlanenable# 2. 按照 IP 地址划分 VLAN[S1-vlan1]ip-subnet-vlanipip地址 掩码# 要划分进哪个 VLAN,就在哪个 VLAN 的视图下操作# 在对应的接口中使能 IP 划分 VLAN 的功能[S1-GigabitEthernet0/0/1]ip-subnetenable# 3. 按照协议地址划分 VLAN[S1-vlan1]protocol-vlan{索引}协议# 索引默认从0开始# 在对应的接口中使能通过协议划分 VLAN 的功能[S1-GigabitEthernet0/0/1]protocol-vlan vlan<1~4094>[all|索引]# 4.按照策略划分vlan# 即将上述命令进行组合,如要通过:IP + MAC划分vlan[S1-vlan1]ip-subnet-vlanipip地址 掩码[S1-vlan1]mac-vlan mac-address 要划分vlan的mac地址[S1-GigabitEthernet0/0/1]ip-subnetenable[S1-GigabitEthernet0/0/1]mac-vlanenable# 需要注意,上述所划分的vlan只是对收到untagged数据帧时,为其打上对应的标签# 交换机是否处理该数据帧,还得看接口配置的放行列表# 具体的放行列表配置在3.3中记录```## 3.3. 按照接口划分 VLAN```bash# 设置端口类型[S1-GigabitEthernet0/0/1]port link-type[access|trunk|hybrid]# 1.access接口配置# 设置access口的pvid(access口的放行列表只有自己的pvid)[S1-GigabitEthernet0/0/1]port default vlan<1-4094># 2.trunk接口配置# 设置trunk口的pvid[S1-GigabitEthernet0/0/1]port trunk pvid vlan<1-4094># 设置trunk口的放行列表[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan[all|[<1~4094>{...|to}]]# 3.hybrid接口配置# 设置hybrid口的pvid[S1-GigabitEthernet0/0/1]port hybrid pvid vlan<1-4094># 设置hybrid口转发剥离tag的放行列表[S1-GigabitEthernet0/0/1]port hybrid tagged vlan[all|[<1~4094>{...|to}]]# 设置hybrid口转发不剥离tag的放行列表[S1-GigabitEthernet0/0/1]port hybrid untagged vlan[all|[<1~4094>{...|to}]]# 注:hybrid两个放行列表互斥,若两个同时配置,只生效最后配置的放行列表3.4. 查看 VLAN
# 查看当前接口配置的vlan信息[S1]display vlan表项解释:—
参考文献
[1] 华为技术有限公司. HCIA-Datacom V2.0 培训教材-PPT 05 VLAN原理与配置[Z]. 深圳:华为技术有限公司.