VLAN(Virtual Local Area Network)的中文名为"虚拟局域网",注意不是"VPN"(虚拟专用网)。VLAN是一种将局域网设备从逻辑上划分(注意,不是从物理上划分)成一个个网段,从而实现虚拟工作组的新兴数据交换技术。这一新兴技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。但又不是所有交换机都具有此功能,只有VLAN协议的第三层以上交换机才具有此功能,这一点可以查看相应交换机的说明书即可得知。
IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术的出现,使得管理员根据实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。由VLAN的特点可知,一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。
交换技术的发展,也加快了新的交换技术(VLAN)的应用速度。通过将企业网络划分为虚拟网络VLAN网段,可以强化网络管理和网络安全,控制不必要的数据广播。在共享网络中,一个物理的网段就是一个广播域。而在交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC地址)组成的虚拟网段。这样,网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。这种基于工作流的分组模式,大大提高了网络规划和重组的管理功能。在同一个VLAN中的工作站,不论它们实际与哪个交换机连接,它们之间的通讯就好象在独立的交换机上一样。同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的 VLAN中去,这样可以很好的控制不必要的广播风暴的产生。同时,若没有路由的话,不同VLAN之间不能相互通讯,这样增加了企业网络中不同部门之间的安全性。网络管理员可以通过配置VLAN之间的路由来全面管理企业内部不同管理单元之间的信息互访。交换机是根据用户工作站的MAC地址来划分VLAN的。所以,用户可以自由的在企业网络中移动办公,不论他在何处接入交换网络,他都可以与VLAN内其他用户自如通讯。
VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等等。
VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。 VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。
二、VLAN的划分方法
VLAN在交换机上的实现方法,可以大致划分为六类:
1. 基于端口划分的VLAN
这是最常应用的一种VLAN划分方法,应用也最为广泛、最有效,目前绝大多数VLAN协议的交换机都提供这种VLAN配置方法。这种划分VLAN的方法是根据以太网交换机的交换端口来划分的,它是将VLAN交换机上的物理端口和VLAN交换机内部的PVC(永久虚电路)端口分成若干个组,每个组构成一个虚拟网,相当于一个独立的VLAN交换机。
对于不同部门需要互访时,可通过路由器转发,并配合基于MAC地址的端口过滤。对某站点的访问路径上最靠近该站点的交换机、路由交换机或路由器的相应端口上,设定可通过的MAC地址集。这样就可以防止非法入侵者从内部盗用IP地址从其他可接入点入侵的可能。
从这种划分方法本身我们可以看出,这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都定义为相应的VLAN组即可。适合于任何大小的网络。它的缺点是如果某用户离开了原来的端口,到了一个新的交换机的某个端口,必须重新定义。
2. 基于MAC地址划分VLAN
这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组,它实现的机制就是每一块网卡都对应唯一的MAC地址,VLAN交换机跟踪属于VLAN MAC的地址。这种方式的VLAN允许网络用户从一个物理位置移动到另一个物理位置时,自动保留其所属VLAN的成员身份。
由这种划分的机制可以看出,这种VLAN的划分方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,因为它是基于用户,而不是基于交换机的端口。这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的,所以这种划分方法通常适用于小型局域网。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,保存了许多用户的MAC地址,查询起来相当不容易。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样VLAN就必须经常配置。
3. 基于网络层协议划分VLAN
VLAN按网络层协议来划分,可分为IP、IPX、DECnet、AppleTalk、Banyan等VLAN网络。这种按网络层协议来组成的VLAN,可使广播域跨越多个VLAN交换机。这对于希望针对具体应用和服务来组织用户的网络管理员来说是非常具有吸引力的。而且,用户可以在网络内部自由移动,但其VLAN成员身份仍然保留不变。
这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网祯头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。当然,这与各个厂商的实现方法有关。
4. 根据IP组播划分VLAN
IP 组播实际上也是一种VLAN的定义,即认为一个IP组播组就是一个VLAN。这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,主要适合于不在同一地理范围的局域网用户组成一个VLAN,不适合局域网,主要是效率不高。
5. 按策略划分VLAN
基于策略组成的VLAN能实现多种分配方法,包括VLAN交换机端口、MAC地址、IP地址、网络层协议等。网络管理人员可根据自己的管理模式和本单位的需求来决定选择哪种类型的VLAN 。
6. 按用户定义、非用户授权划分VLAN
基于用户定义、非用户授权来划分VLAN,是指为了适应特别的VLAN网络,根据具体的网络用户的特别要求来定义和设计VLAN,而且可以让非VLAN群体用户访问VLAN,但是需要提供用户密码,在得到VLAN管理的认证后才可以加入一个VLAN。
三、VLAN的优越性
任何新技术要得到广泛支持和应用,肯定存在一些关键优势,VLAN技术也一样,它的优势主要体现在以下几个方面:
1. 增加了网络连接的灵活性
借助VLAN技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境 ,就像使用本地LAN一样方便、灵活、有效。VLAN可以降低移动或变更工作站地理位置的管 理费用,特别是一些业务情况有经常性变动的公司使用了VLAN后,这部分管理费用大大降低。
2. 控制网络上的广播
VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。使用VLAN,可以将某个交换端口或用户赋于某一个特定的VLAN组,该VLAN组可以在一个交换网中或跨接多个交换机, 在一个VLAN中的广播不会送到VLAN之外。同样,相邻的端口不会收到其他VLAN产生的广 播。这样可以减少广播流量,释放带宽给用户应用,减少广播的产生。
3. 增加网络的安全性
因为一个VLAN就是一个单独的广播域,VLAN之间相互隔离,这大大提高了网络的利用率,确保了网络的安全保密性。人们在LAN上经常传送一些保密的、关键性的数据。保密的数据应 提供访问控制等安全手段。一个有效和容易实现的方法是将网络分段成几个不同的广播组, 网络管理员限制了VLAN中用户的数量,禁止未经允许而访问VLAN中的应用。交换端口可以基 于应用类型和访问特权来进行分组,被限制的应用程序和资源一般置于安全性VLAN中。
四、VLAN网络的配置实例
为了给大家一个真实的配置实例学习机会,下面就以典型的中型局域网VLAN配置为例向各位介绍目前最常用的按端口划分VLAN的配置方法。
某公司有100台计算机左右,主要使用网络的部门有:生产部(20)、财务部(15)、人事部(8)和信息中心(12)四大部分,如图1所示。
网络基本结构为:整个网络中干部分采用3台Catalyst 1900网管型交换机(分别命名为:Switch1、Switch2和Switch3,各交换机根据需要下接若干个集线器,主要用于非VLAN用户,如行政文书、临时用户等)、一台Cisco 2514路由器,整个网络都通过路由器Cisco 2514与外部互联网进行连接。
所连的用户主要分布于四个部分,即:生产部、财务部、信息中心和人事部。主要对这四个部分用户单独划分VLAN,以确保相应部门网络资源不被盗用或破坏。
现为了公司相应部分网络资源的安全性需要,特别是对于像财务部、人事部这样的敏感部门,其网络上的信息不想让太多人可以随便进出,于是公司采用了VLAN的方法来解决以上问题。通过VLAN的划分,可以把公司主要网络划分为:生产部、财务部、人事部和信息中心四个主要部分,对应的VLAN组名为:Prod、Fina、Huma、Info,各VLAN组所对应的网段如下表所示。
VLAN 号
VLAN 名 端口号
2 Prod Switch 1 2-21
3 Fina Switch2 2-16
4 Huma Switch3 2-9
5 Info Switch3 10-21
【注】之所以把交换机的VLAN号从"2"号开始,那是因为交换机有一个默认的VLAN,那就是"1"号VLAN,它包括所有连在该交换机上的用户。
VLAN的配置过程其实非常简单,只需两步:(1)为各VLAN组命名;(2)把相应的VLAN对应到相应的交换机端口。
下面是具体的配置过程:
第1步:设置好超级终端,连接上1900交换机,通过超级终端配置交换机的VLAN,连接成功后出现如下所示的主配置界面(交换机在此之前已完成了基本信息的配置):
1 user(s) now active on Management Console.
User Interface Menu
[M] Menus
[K] Command Line
[I] IP Configuration
Enter selection:
【注】超级终端是利用Windows系统自带的"超级终端"(Hypertrm)程序进行的,具体参见有关资料。
第2步:单击"K"按键,选择主界面菜单中"[K] Command Line"选项 ,进入如下命令行配置界面:
CLI session with the switch is open.
To end the CLI session,enter [Exit ].
>
此时我们进入了交换机的普通用户模式,就象路由器一样,这种模式只能查看现在的配置,不能更改配置,并且能够使用的命令很有限。所以我们必须进入"特权模式"。
第3步:在上一步">"提示符下输入进入特权模式命令"enable",进入特权模式,命令格式为">enable",此时就进入了交换机配置的特权模式提示符:
#config t
Enter configuration commands,one per line.End with CNTL/Z
(config)#
第4步:为了安全和方便起见,我们分别给这3个Catalyst 1900交换机起个名字,并且设置特权模式的登陆密码。下面仅以Switch1为例进行介绍。配置代码如下:
(config)#hostname Switch1
Switch1(config)# enable password level 15 XXXXXX
Switch1(config)#
【注】特权模式密码必须是4~8位字符这,要注意,这里所输入的密码是以明文形式直接显示的,要注意保密。交换机用 level 级别的大小来决定密码的权限。Level 1 是进入命令行界面的密码,也就是说,设置了 level 1 的密码后,你下次连上交换机,并输入 K 后,就会让你输入密码,这个密码就是 level 1 设置的密码。而 level 15 是你输入了"enable"命令后让你输入的特权模式密码。
第5步:设置VLAN名称。因四个VLAN分属于不同的交换机,VLAN命名的命令为" vlan vlan号 name vlan名称 ,在Switch1、Switch2、Switch3、交换机上配置2、3、4、5号VLAN的代码为:
Switch1 (config)#vlan 2 name Prod
Switch2 (config)#vlan 3 name Fina
Switch3 (config)#vlan 4 name Huma
Switch3 (config)#vlan 5 name Info
【注】以上配置是按表1规则进行的。
第6步:上一步我们对各交换机配置了VLAN组,现在要把这些VLAN对应于表1所规定的交换机端口号。对应端口号的命令是"vlan-membership static/ dynamic VLAN号 "。在这个命令中"static"(静态)和"dynamic"(动态)分配方式两者必须选择一个,不过通常都是选择"static"(静态)方式。VLAN端口号应用配置如下:
(1). 名为"Switch1"的交换机的VLAN端口号配置如下:
Switch1(config)#int e0/2
Switch1(config-if)#vlan-membership static 2
Switch1(config-if)#int e0/3
Switch1(config-if)#vlan-membership static 2
Switch1(config-if)#int e0/4
Switch1(config-if)#vlan-membership static 2
……
Switch1(config-if)#int e0/20
Switch(config-if)#vlan-membership static 2
Switch1(config-if)#int e0/21
Switch1(config-if)#vlan-membership static 2
Switch1(config-if)#
【注】"int"是"nterface"命令缩写,是接口的意思。"e0/3"是"ethernet 0/2"的缩写,代表交换机的0号模块2号端口。
(2). 名为"Switch2"的交换机的VLAN端口号配置如下:
Switch2(config)#int e0/2
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#int e0/3
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#int e0/4
Switch2(config-if)#vlan-membership static 3
……
Switch2(config-if)#int e0/15
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#int e0/16
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#
(3). 名为"Switch3"的交换机的VLAN端口号配置如下(它包括两个VLAN组的配置),先看VLAN 4(Huma)的配置代码:
Switch3(config)#int e0/2
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#int e0/3
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#int e0/4
Switch3(config-if)#vlan-membership static 4
……
Switch3(config-if)#int e0/8
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#int e0/9
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#
下面是VLAN5(Info)的配置代码:
Switch3(config)#int e0/10
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#int e0/11
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#int e0/12
Switch3(config-if)#vlan-membership static 5
……
Switch3(config-if)#int e0/20
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#int e0/21
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#
好了,我们已经按表1要求把VLAN都定义到了相应交换机的端口上了。为了验证我们的配置,可以在特权模式使用"show vlan"命令显示出刚才所做的配置,检查一下是否正确。