VLAN
了解VLAN
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。
如图1所示,两台交换机放置在不同的地点,比如写字楼的不同楼层,每台交换机分别连接两台属于不同企业用户的计算机,此时就可以将两台计算机划分到不同的VLAN,实现对不同企业用户的隔离。
要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。VLAN数据帧格式如图2所示。
其中,数据帧中的VID(VLAN ID)字段标识了该数据帧所属的VLAN,数据帧只能在其所属VLAN内进行传输。
对于交换机来说,其内部处理的数据帧都带有VLAN标签,而现网中交换机连接的设备有些只会收发Untagged帧,要与这些设备交互,就需要接口能够识别Untagged帧并在收发时给帧添加、剥除VLAN标签。同时,现网中属于同一个VLAN的用户可能会被连接在不同的交换机上,且跨越交换机的VLAN可能不止一个,如果需要用户间的互通,就需要交换机间的接口能够同时识别和发送多个VLAN的数据帧。
因此,根据接口连接对象以及对收发数据帧处理的不同,华为定义了4种接口的链路类型:Access、Trunk、Hybrid和QinQ,以适应不同的连接和组网:
Access接口:一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一的VLAN Tag。
Trunk接口:一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Hybrid接口:既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub、傻瓜交换机),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。
使用QinQ(802.1Q-in-802.1Q)协议,一般用于私网与公网之间的连接,也被称为Dot1q-tunnel接口。它可以给帧加上双层Tag,即在原来Tag的基础上,给帧加上一个新的Tag,从而可以支持多达4094×4094个VLAN。有关QinQ具体描述请参见《S12700 V200R013C00 配置指南-以太网交换》中的“QinQ配置”。
VLAN的划分方法有多种,根据不同的场景,可以采用基于接口、MAC地址、子网、网络层协议、匹配策略方式来划分VLAN,各种VLAN划分方式的介绍及适用场景如表1所示。
划分方式 |
简介 |
适用场景 |
---|---|---|
基于接口 |
根据交换机的接口来划分VLAN |
适用于任何大小但位置比较固定的网络 |
基于MAC地址 |
根据数据帧的源MAC地址来划分VLAN |
适用于位置经常移动但网卡不经常更换的小型网络 |
基于子网 |
据数据帧中的源IP地址和子网掩码来划分VLAN |
适用于对安全需求不高、对移动性和简易管理需求较高的场景中 |
基于网络层协议 |
根据数据帧所属的协议(族)类型及封装格式来划分VLAN |
适用于需要同时运行多协议的网络 |
基于匹配策略 |
根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等 |
适用于需求比较复杂的环境 |
其中,基于接口划分VLAN是最简单且最常用的划分VLAN的方式,而不同类型的接口上的配置方式也不相同,详细配置过程请参见VLAN的划分。
配置VLAN
创建VLAN
- 执行命令system-view,进入系统视图。
- 执行命令vlan vlan-id,创建VLAN并进入VLAN视图。
说明:
- 整机支持4096个VLAN,其中VLAN 0和VLAN 4095为保留VLAN,VLAN 1为缺省VLAN。因此创建VLAN时,可创建2~4094范围内的任意VLAN。
- 多次使用vlan命令创建VLAN,按多次创建的累加结果生效。如果该VLAN已经存在,不会再重新创建,保留原来的VLAN和相关配置。
- 使用vlan batch命令可以批量创建多个VLAN。如果该VLAN已经存在,不会再重新创建,保留原来的VLAN及其相关配置。多次使用vlan batch命令创建VLAN,配置按多次创建的累加结果生效。
下面这个示例显示了如何在设备上创建VLAN 100,并查看VLAN是否创建成功。
<HUAWEI> system-view [HUAWEI] vlan 100 [HUAWEI-vlan100] quit [HUAWEI] display vlan summary Static VLAN: Total 2 static VLAN. 1 100 Dynamic VLAN: Total 0 dynamic VLAN. Reserved VLAN: Total 0 reserved VLAN.
VLAN的划分
交换机支持基于接口、MAC地址、子网、网络层协议、匹配策略方式来划分VLAN,这里我们仅介绍最常用的VLAN划分方式:基于接口划分VLAN。
在设备上已经创建了VLAN的前提下,不同类型的接口加入VLAN的方法不同,如下所示:
Access接口
- 执行命令interface interface-type interface-number,进入需要加入VLAN的以太网接口视图。
- 执行命令port link-type access,配置接口类型为access。
- 执行命令port default vlan vlan-id,配置接口的缺省VLAN并将接口加入到指定VLAN。
下面这个示例显示了如何将接口GE1/0/1配置为access接口,并将其加入VLAN 100,然后查看配置结果。
[HUAWEI] interface gigabitethernet 1/0/1 [HUAWEI-GigabitEthernet1/0/1] port link-type access [HUAWEI-GigabitEthernet1/0/1] port default vlan 100 [HUAWEI-GigabitEthernet1/0/1] quit [HUAWEI] display port vlan gigabitethernet 1/0/1 Port Link Type PVID Trunk VLAN List ------------------------------------------------------------------------------- GigabitEthernet1/0/1 access 100 -
Trunk接口
- 执行命令interface interface-type interface-number,进入需要加入VLAN的以太网接口视图。
- 执行命令port link-type trunk,配置接口类型为trunk。
- 执行命令port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } &<1-10> | all },将接口加入到指定的VLAN中。
- (可选)执行命令port trunk pvid vlan vlan-id,配置Trunk接口的缺省VLAN。
说明:
当接口下通过的VLAN为接口的缺省VLAN时,该VLAN对应的报文将以Untagged方式进行转发。也就是说接口是以Untagged方式加入该VLAN的。
下面这个示例显示了如何将接口GE1/0/2配置为trunk接口,并将其加入VLAN 100,然后查看配置结果。
[HUAWEI] interface gigabitethernet 1/0/2 [HUAWEI-GigabitEthernet1/0/2] port link-type trunk [HUAWEI-GigabitEthernet1/0/2] port trunk allow-pass vlan 100 [HUAWEI-GigabitEthernet1/0/2] quit [HUAWEI] display port vlan gigabitethernet 1/0/2 Port Link Type PVID Trunk VLAN List ------------------------------------------------------------------------------- GigabitEthernet1/0/2 trunk 1 1 100
Hybrid接口
- 执行命令interface interface-type interface-number,进入需要加入VLAN的以太网接口视图。
- 执行命令port link-type hybrid,配置接口类型为hybrid。
- 根据实际需要选择任一方式将接口加入VLAN:
- 执行命令port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } &<1-10> | all },将Hybrid接口以Untagged方式加入VLAN,接口在发送帧时将帧中的VLAN Tag去掉。
- 执行命令port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } &<1-10> | all },将Hybrid接口以Tagged方式加入VLAN,接口在发送帧时不将帧中的VLAN Tag去掉。
- (可选)执行命令port hybrid pvid vlan vlan-id,配置Hybrid接口的缺省VLAN。
下面这个示例显示了如何将接口GE1/0/3配置为hybrid接口,并将其加入VLAN 100,然后查看配置结果。
[HUAWEI] interface gigabitethernet 1/0/3 [HUAWEI-GigabitEthernet1/0/3] port link-type hybrid [HUAWEI-GigabitEthernet1/0/3] port hybrid tagged vlan 100 [HUAWEI-GigabitEthernet1/0/3] quit [HUAWEI] display port vlan gigabitethernet 1/0/3 Port Link Type PVID Trunk VLAN List ------------------------------------------------------------------------------- GigabitEthernet1/0/3 hybrid 1 100
VLAN的其他配置
如果您想了解VLAN的其他配置,包括配置管理VLAN、配置三层交换机上的VLAN间互访、配置端口隔离、配置VLAN内协议报文透传等,请参见《S12700 V200R013C00 配置指南-以太网交换》中的“VLAN配置”。