Datacom-HCIA-09 VLAN原理与配置
以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。
在这种情况下出现了VLAN (Virtual Local Area Network)技术解决以上问题。
在本文中,将介绍VLAN技术的相关概念,介绍不同二层接口的工作原理,并且会介绍VLAN的应用及其数据转发原理和相关配置。
什么是VLAN
传统以太网的问题
在典型交换网络中,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。
广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。
虚拟局域网 (VLAN, Virtual LAN)
虚拟局域网VLAN可以隔离广播域。
特点:
不受地域限制。
同一VLAN内的设备才能直接进行二层通信。
VLAN的基本概念
如何实现VLAN
Switch1与Switch2同属一个企业,该企业统一规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。A、B部门的员工在Switch1和Switch2上都有接入。
PC1发出的数据经过Switch1和Switch2之间的链路到达了Switch2。如果不加处理,后者无法判断该数据所属的VLAN,也不知道应该将这个数据输出到本地哪个VLAN中。
VLAN标签 (VLAN Tag)
交换机如何识别接收到的数据帧属于哪个VLAN?
VLAN标签
要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。
IEEE 802.1Q协议规定,在以太网数据帧中加入 4 个字节的VLAN标签,又称VLAN Tag,简称Tag。
VLAN数据帧
VLAN的实现
Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分。
IEEE 802.1Q标准(也被称为Dot1Q)定义了该“标记”方法。该标准对传统的以太网数据帧进行修改,在帧头中插入802.1Q Tag,而在该Tag中,便可以写入VLAN信息。
VLAN的划分方式
整个网络是如何划分VLAN的?
基于接口的VLAN划分
基于接口的VLAN划分
原理
根据交换机的接口来划分VLAN。
网络管理员预先给交换机的每个接口配置不同的PVID,将该接口划入PVID对应的VLAN。
当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag,然后数据帧将在指定PVID中传输。
缺省VLAN,PVID
Port VLAN ID,是接口上的缺省VLAN。
取值:1~4094。
基于MAC地址的VLAN划分
基于MAC地址的VLAN划分
原理
根据数据帧的源MAC地址来划分VLAN。
网络管理员预先配置MAC地址和VLAN ID映射关系表。
当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的Tag,然后数据帧将在指定VLAN中传输。
映射表
记录了MAC地址和VLAN ID的关联情况。
以太网二层接口类型
接口类型
Access接口
交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往只收发无标记帧。Access接口只能加入一个VLAN。
Trunk接口
Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。Trunk接口常用于交换机之间的互联,也用于连接路由器、防火墙等设备的子接口
Hybrid接口
Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。用户可以灵活指定Hybrid接口在发送某个(或某些)VLAN的数据帧时是否携带Tag。
Access接口
Trunk接口
Hybrid接口
小结
VLAN的应用
LAN的规划
VLAN分配原则
按业务规划:可分为语音、视频和数据。
按部门规划:可分为工程部、市场部、财经部等。
按应用规划:可分为服务器、办公、教室等。
VLAN分配技巧
VLAN ID的分配在有效范围内,可以随意分配和选取,但是为了提高VLAN ID的连续性,可以采用VLAN ID和子网关联的方式进行分配。
VLAN规划示例
假设某园区有三栋楼,分别为行政楼、教学楼、办公楼;每栋楼各有1台接入交换机,核心交换机在行政楼;行政楼内有办公室、财务部和教室;办公楼内有办公室和财务部;教学楼内有办公室和教室。
VLAN规划如下:
应用场景 - 基于接口的VLAN划分
应用场景:
某商务楼内有多家公司,为了降低成本,多家公司共用网络资源,各公司分别连接到一台二层交换机的不同接口,并通过统一的出口访问Internet。
VLAN划分:
为了保证各公司业务的独立和安全,可将每个公司所连接的接口划分到不同的VLAN,实现公司间业务数据的完全隔离。可以认为每个公司拥有独立的“虚拟路由器”,每个VLAN就是一个“虚拟工作组”。
应用场景 - 基于MAC的VLAN划分
应用场景:
某个公司的网络中,网络管理者将同一部门的员工划分到同一VLAN。为了提高部门内的信息安全,要求只有本部门员工的主机才可以访问特定网络资源。
VLAN划分:
为了保证非本部门员工不能访问网络资源,可在SW1上配置基于MAC地址划分VLAN。这样,新的主机接入网络,就无法访问公司的网络资源。
VLAN的配置示例
基于接口划分VLAN
VLAN的基础配置命令
- 创建VLAN
[Huawei] vlan vlan-id
通过此命令创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
vlan-id是整数形式,取值范围是1~4094。
[Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }
通过此命令批量创建VLAN。其中:
batch:指定批量创建的VLAN ID。
vlan-id1:表示第一个VLAN的编号。
vlan-id2:表示最后一个VLAN的编号。
Access接口的基础配置命令
- 配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type access
在接口视图下,配置接口的链路类型为Access。 - 配置Access接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port default vlan vlan-id
在接口视图下,配置接口的缺省VLAN并同时加入这个VLAN。
vlan-id:配置缺省VLAN的编号。整数形式,取值范围是1~4094。
Trunk接口的基础配置命令
- 配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type trunk
在接口视图下,配置接口的链路类型为Trunk。 - 配置Trunk接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Trunk类型接口加入的VLAN。 - (可选)配置Trunk接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id
在接口视图下,配置Trunk类型接口的缺省VLAN。
Hybrid接口的基础配置命令
- 配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type hybrid
在接口视图下,配置接口的链路类型为Hybrid。 - 配置Hybrid接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Untagged方式通过接口。
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Tagged方式通过接口。 - (可选)配置Hybrid接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id
在接口视图下,配置Hybrid类型接口的缺省VLAN。
案例1:基于接口划分VLAN
组网需求:
某企业的交换机连接有很多用户,且相同业务用户通过不同的设备接入企业网络。为了通信的安全性,企业希望业务相同用户之间可以互相访问,业务不同用户不能直接访问。
可以在交换机上配置基于接口划分VLAN,把业务相同的用户连接的接口划分到同一VLAN。这样属于不同VLAN的用户不能直接进行二层通信,同一VLAN内的用户可以直接互相通信。
创建VLAN:
[SW1] vlan 10
[SW1-vlan10] quit
[SW1] vlan 20
[SW1-vlan20] quit
[SW2] vlan batch 10 20
配置Access接口,并加入对应的VLAN:
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1] vlan 20
[SW1-vlan20] port GigabitEthernet0/0/2
[SW1-vlan20] quit
配置Trunk接口,并创建对应的允许通过列表:
[SW1] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type trunk
[SW1-GigabitEthernet0/0/3] port trunk pvid vlan 1
[SW1-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20
验证配置
[SW1]display vlan
The total number of vlans is : 3
----------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
----------------------------------------------------------------------
VID Type Ports
----------------------------------------------------------------------
1 common UT:GE0/0/3(U) ……
10 common UT:GE0/0/1(U)
TG:GE0/0/3(U)
20 common UT:GE0/0/2(U)
TG:GE0/0/3(U)
……
案例2:基于接口划分VLAN
组网需求:
某企业的交换机连接有很多用户,且不同部门的用户都需要访问公司服务器。但是为了通信的安全性,企业希望不同部门的用户不能直接访问。
可以在交换机上配置基于接口划分VLAN,并配置Hybrid接口,使得不同部门的用户不能直接进行二层通信,但都可以直接访问公司服务器。
SW1的配置如下:
[SW1] vlan batch 10 20 100
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid pvid vlan 10
[SW1-GigabitEthernet0/0/1] port hybrid untagged vlan 10 100
[SW1-GigabitEthernet0/0/1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type hybrid
[SW1-GigabitEthernet0/0/2] port hybrid pvid vlan 20
[SW1-GigabitEthernet0/0/2] port hybrid untagged vlan 30 100
[SW1-GigabitEthernet0/0/2] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type hybrid
[SW1-GigabitEthernet0/0/3] port hybrid tagged vlan 10 20 100
SW2的配置如下:
[SW2] vlan batch 10 20 100
[SW2] interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1] port link-type hybrid
[SW2-GigabitEthernet0/0/1] port hybrid pvid vlan 100
[SW2-GigabitEthernet0/0/1] port hybrid untagged vlan 10 20 100
[SW2-GigabitEthernet0/0/1] interface GigabitEthernet 0/0/3
[SW2-GigabitEthernet0/0/3] port link-type hybrid
[SW2-GigabitEthernet0/0/3] port hybrid tagged vlan 10 20 100
验证配置
[SW1]display vlan
The total number of vlans is : 4
-----------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
-----------------------------------------------------------------------------
VID Type Ports
-----------------------------------------------------------------------------
1 common UT:GE0/0/1(U) GE0/0/2(U) GE0/0/3(U) ……
10 common UT:GE0/0/1(U)
TG:GE0/0/3(U)
20 common UT:GE0/0/2(U)
TG:GE0/0/3(U)
100 common UT:GE0/0/1(U) GE0/0/2(U)
TG:GE0/0/3(U)
……
基于MAC地址划分VLAN
VLAN的基础配置命令
- 关联MAC地址与VLAN
[Huawei-vlan10] mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]
通过此命令配置MAC地址与VLAN关联。
mac-address:指定与VLAN关联的MAC地址。格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。MAC地址不可设置为0000-0000-0000、FFFF-FFFF-FFFF和组播地址。
mac-address-mask:指定MAC地址掩码。格式为H-H-H,其中H为1至4位的十六进制数。
mac-address-mask-length:指定MAC地址掩码长度。整数形式,取值范围是1~48。 - 使能MAC地址与VLAN
[Huawei-GigabitEthernet0/0/1] mac-vlan enable
通过此命令使能接口的MAC VLAN功能。
案例:基于MAC地址划分VLAN
组网需求:
某个公司的网络中,网络管理者将同一部门的员工划分到同一VLAN。为了提高部门内的信息安全,要求只有本部门员工的主机才可以访问公司网络。
主机1、主机2、主机3为本部门员工的主机,要求这几台主机可以通过SW1访问公司网络,如换成其他主机则不能访问。
可以配置基于MAC地址划分VLAN,将本部门员工主机的MAC地址与VLAN绑定,从而实现该需求。
创建VLAN:
[SW1] vlan 10
[SW1-vlan10] quit
关联MAC地址和VLAN:
[SW1] vlan 10
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd01
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd02
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd03
[SW1-vlan10] quit
加入VLAN
[SW1] interface gigabitethernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[SW1] interface gigabitethernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type hybrid
[SW1-GigabitEthernet0/0/2] port hybrid untagged vlan 10
使能接口的基于MAC地址划分VLAN功能:
[SW1] interface gigabitethernet 0/0/2
[SW1-GigabitEthernet0/0/2] mac-vlan enable
[SW1-GigabitEthernet0/0/2] quit
验证配置
[SW1]display vlan
The total number of vlans is : 2
-----------------------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
-----------------------------------------------------------------------------------------------
VID Type Ports
-----------------------------------------------------------------------------------------------
1 common UT:GE0/0/1(U) GE0/0/2(U) GE0/0/3(U) ……
10 common UT:GE0/0/2(U) GE0/0/3(U) GE0/0/4(U)
TG:GE0/0/1(U)
……
[SW1]display mac-vlan mac-address all
----------------------------------------------------------------------
MAC Address MASK VLAN Priority
----------------------------------------------------------------------
001e-10dd-dd01 ffff-ffff-ffff 10 0
001e-10dd-dd02 ffff-ffff-ffff 10 0
001e-10dd-dd03 ffff-ffff-ffff 10 0
Total MAC VLAN address count: 3
本文主要介绍了虚拟局域网 (VLAN)的相关技术知识,包括:VLAN的作用,VLAN
的标识及划分,VLAN的数据交互,VLAN的实际规划和应用,以及VLAN的相关基本
配置。
• 通过VLAN技术,可以将物理的局域网划分成多个广播域,实现同一VLAN内的网络
设备可以直接进行二层通信,不同VLAN内的设备不可以直接进行二层通信。