思科系统中对VLAN的定义
         VLAN(Virtual Local Area Network)即虚拟局域网,是网络设备上连接的不受物理位置限制的用户的一个逻辑组。在一个VLAN上的设备或用户可以按功能、部门、应用等等分类,而不管它们的物理段位置。VLAN创建了不限于物理段的单一广播域,并可以像一个子网一样对待。VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。
VLAN的定义:
  究竟什么是VLAN呢? VLAN(Virtual Local Area Network)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术。IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。
  
  VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。但由于它是逻辑地而不是物理地划分,所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,即使是两台计算机有着同样的网段,但是它们却没有相同的VLAN号,它们各自的广播流也不会相互转发,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。
  VLAN是为解决以太网的广播问题和安全性而提出的,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户二层互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。
  既然VLAN隔离了广播风暴,同时也隔离了各个不同的VLAN之间的通讯,所以不同的VLAN之间的通讯是需要有路由来完成的。
  
   VLAN的划分
  1.根据端口来划分VLAN
  许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个交换机的1,2,3,4,5端口被定义为虚拟网AAA,同一交换机的6,7,8端口组成虚拟网BBB。这样做允许各端口之间的通讯,并允许共享型网络的升级。但是,这种划分模式将虚拟网限制在了一台交换机上。
  第二代端口VLAN技术允许跨越多个交换机的多个不同端口划分VLAN,不同交换机上的若干个端口可以组成同一个虚拟网。
  以交换机端口来划分网络成员,其配置过程简单明了。因此,从目前来看,这种根据端口来划分VLAN的方式仍然是最常用的一种方式。
  
  2.根据MAC地址划分VLAN
  这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置它属于哪个组。这种划分VLAN方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停地配置。
  
  3.根据网络层划分VLAN
  这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。
  这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。
  这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网帧头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。当然,这与各个厂商的实现方法有关。
  
  4.根据IP组播划分VLAN
  IP 组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。
  
  5.基于规则的VLAN
  也称为基于策略的VLAN。这是最灵活的VLAN划分方法,具有自动配置的能力,能够把相关的用户连成一体,在逻辑划分上称为“关系网络”。网络管理员只需在网管软件中确定划分VLAN的规则(或属性),那么当一个站点加入网络中时,将会被“感知”,并被自己地包含进正确的VLAN中。同时,对站点的移动和改变也可自动识别和跟踪。
  采用这种方法,整个网络可以非常方便地通过路由器扩展网络规模。有的产品还支持一个端口上的主机分别属于不同的VLAN,这在交换机与共享式Hub共存的环境中显得尤为重要。自动配置VLAN时,交换机中软件自动检查进入交换机端口的广播信息的IP源地址,然后软件自动将这个端口分配给一个由IP子网映射成的VLAN。
  
  * 以上划分VLAN的方式中,基于端口的VLAN端口方式建立在物理层上;MAC方式建立在数据链路层上;网络层和IP广播方式建立在第三层上。
  
   VLAN的标准
  对VLAN的标准,我们只是介绍两种比较通用的标准,当然也有一些公司具有自己的标准,比如Cisco公司的ISL标准,虽然不是一种大众化的标准,但是由于Cisco Catalyst交换机的大量使用,ISL也成为一种不是标准的标准了。
  
  · 802.10VLAN标准
  在1995年,Cisco公司提倡使用IEEE802.10协议。在此之前,IEEE802.10曾经在全球范围内作为VLAN安全性的同一规范。Cisco公司试图采用优化后的802.10帧格式在网络上传输FramTagging模式中所必须的VLAN标签。然而,大多数802委员会的成员都反对推广802.10。因为,该协议是基于FrameTagging方式的。
  
  · 802.1Q
  在1996年3月,IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工作。新出台的标准进一步完善了VLAN的体系结构,统一了Fram-eTagging方式中不同厂商的标签格式,并制定了VLAN标准在未来一段时间内的发展方向,形成的802.1Q的标准在业界获得了广泛的推广。它成为VLAN史上的一块里程碑。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。另外,来自市场的压力使各大网络厂商立刻将新标准融合到他们各自的产品中。
  
  · Cisco ISL 标签
  ISL(Inter-Switch Link)是Cisco公司的专有封装方式,因此只能在Cisco的设备上支持。ISL是一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个VLAN信息及VLAN数据流的协议,通过在交换机直接的端口配置ISL封装,即可跨越交换机进行整个网络的VLAN分配和配置。
  
   公司内部进行VLAN的划分实例
  对于每个公司而言都有自己不同的需求,下面我们给出一个典型的公司的VLAN的实例,这样也可以成为我们以后为公司划分VLAN的依据。
  某公司现在有工程部、销售部、财务部。VLAN的划分:工程部VLAN10,销售部VLAN20,财务部VLAN30,并且各部门还可以相互通讯。现有设备如下:Cisco 3640路由器,Cisco Catalyst 2924交换机一台,二级交换机若干台。
  
  交换机配置文件中的部分代码如下:
  
  ......
  !
  interface vlan10
  ip address 192.168.0.1
  !
  interface vlan20
  ip address 192.168.1.1
  !
  interface vlan30
  ip address 192.168.2.1
  !
  ......
  路由器配置文件中的部分代码如下:
  ......
  interface FastEthernet 1/0.1
  encapsulation isl 10
  ip address 192.168.0.2
  !
  interface FastEthernet 1/0.2
  encapsulation isl 20
  ip address 192.168.1.2
  !
  interface FastEthernet 1/0.3
  
  encapsulation isl 30
  ip address 192.168.2.2
  !
  ......
  !
  router rip
  network 192.168.0.0
     !
  ......
 
 
典型的以太网络中建立多个VLAN实例
        所谓典型局域网就是指由一台具备三层交换功能的核心交换机接几台分支交换机(不一定具备三层交换能力)。我们假设核心交换机名称为:com;分支交换机分别为:par1、par2、par3,分别通过port 1的光线模块与核心交换机相连;并且假设vlan名称分别为counter、market、managing…… 
  
   1、设置vtp domain。 vtp domain 称为管理域
  交换vtp更新信息的所有交换机必须配置为相同的管理域。如果所有的交换机都以中继线相连,那么只要在核心交换机上设置一个管理域,网络上所有的交换机都加入该域,这样管理域里所有的交换机就能够了解彼此的vlan列表。
  com#vlan database 进入vlan配置模式
  com(vlan)#vtp domain com 设置vtp管理域名称 com
  com(vlan)#vtp server 设置交换机为服务器模式
  par1#vlan database 进入vlan配置模式
  par1(vlan)#vtp domain com 设置vtp管理域名称com
  par1(vlan)#vtp client 设置交换机为客户端模式
  par2#vlan database 进入vlan配置模式
  par2(vlan)#vtp domain com 设置vtp管理域名称com
  par2(vlan)#vtp client 设置交换机为客户端模式
  par3#vlan database 进入vlan配置模式
  par3(vlan)#vtp domain com 设置vtp管理域名称com
  par3(vlan)#vtp client 设置交换机为客户端模式
  
  注意:这里设置核心交换机为server模式是指允许在该交换机上创建、修改、删除vlan及其他一些对整个vtp域的配置参数,同步本vtp域中其他交换机传递来的最新的vlan信息;client模式是指本交换机不能创建、删除、修改vlan配置,也不能在nvram中存储vlan配置,但可同步由本vtp域中其他交换机传递来的vlan信息。
  
   2、配置中继为了保证管理域能够覆盖所有的分支交换机,必须配置中继
  cisco交换机能够支持任何介质作为中继线,为了实现中继可使用其特有的isl标签。isl(inter-switch link)是一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个vlan信息及vlan数据流的协议,通过在交换机直接相连的端口配置isl封装,即可跨越交换机进行整个网络的vlan分配和进行配置。
  
  在核心交换机端配置如下:
  com(config)#interface gigabitethernet 2/1
  com(config-if)#switchport
  com(config-if)#switchport trunk encapsulation isl 配置中继协议
  com(config-if)#switchport mode trunk
  com(config)#interface gigabitethernet 2/2
  com(config-if)#switchport
  com(config-if)#switchport trunk encapsulation isl 配置中继协议
  com(config-if)#switchport mode trunk
  com(config)#interface gigabitethernet 2/3
  com(config-if)#switchport
  com(config-if)#switchport trunk encapsulation isl 配置中继协议
  com(config-if)#switchport mode trunk
  在分支交换机端配置如下:
  par1(config)#interface gigabitethernet 0/1
  par1(config-if)#switchport mode trunk
  par2(config)#interface gigabitethernet 0/1
  par2(config-if)#switchport mode trunk
  par3(config)#interface gigabitethernet 0/1
  par3(config-if)#switchport mode trunk
  ……
  此时,管理域算是设置完毕了。
  
  
   3、创建vlan一旦建立了管理域,就可以创建vlan了
  com(vlan)#vlan 10 name counter 创建了一个编号为10 名字为counter的 vlan
  com(vlan)#vlan 11 name market 创建了一个编号为11 名字为market的 vlan
  com(vlan)#vlan 12 name managing 创建了一个编号为12 名字为managing的 vlan
  ……
  注意,这里的vlan是在核心交换机上建立的,其实,只要是在管理域中的任何一台vtp 属性为server的交换机上建立vlan,它就会通过vtp通告整个管理域中的所有的交换机。但如果要将具体的交换机端口划入某个vlan,就必须在该端口所属的交换机上进行设置。
  
   4、将交换机端口划入vlan
  例如,要将par1、par2、par3……分支交换机的端口1划入counter vlan,端口2划入market vlan,端口3划入managing vlan……
  par1(config)#interface fastethernet 0/1 配置端口1
  par1(config-if)#switchport access vlan 10 归属counter vlan
  par1(config)#interface fastethernet 0/2 配置端口2
  par1(config-if)#switchport access vlan 11 归属market vlan
  par1(config)#interface fastethernet 0/3 配置端口3
  par1(config-if)#switchport access vlan 12 归属managing vlan
  par2(config)#interface fastethernet 0/1 配置端口1
  par2(config-if)#switchport access vlan 10 归属counter vlan
  par2(config)#interface fastethernet 0/2 配置端口2
  par2(config-if)#switchport access vlan 11 归属market vlan
  par2(config)#interface fastethernet 0/3 配置端口3
  par2(config-if)#switchport access vlan 12 归属managing vlan
  par3(config)#interface fastethernet 0/1 配置端口1
  par3(config-if)#switchport access vlan 10 归属counter vlan
  par3(config)#interface fastethernet 0/2 配置端口2
  par3(config-if)#switchport access vlan 11 归属market vlan
  par3(config)#interface fastethernet 0/3 配置端口3
  par3(config-if)#switchport access vlan 12 归属managing vlan
  ……
   5、配置三层交换
  到这里,vlan已经基本划分完毕。但是,vlan间如何实现三层(网络层)交换呢?这时就要给各vlan分配网络(ip)地址了。给vlan分配ip地址分两种情况,其一,给vlan所有的节点分配静态ip地址;其二,给vlan所有的节点分配动态ip地址。下面就这两种情况分别介绍。
  
  假设给vlan counter分配的接口ip地址为172.16.58.1/24,网络地址为:172.16.58.0,
  vlan market 分配的接口ip地址为172.16.59.1/24,网络地址为:172.16.59.0,
  vlan managing分配接口ip地址为172.16.60.1/24, 网络地址为172.16.60.0
  ……
  如果动态分配ip地址,则设网络上的dhcp服务器ip地址为172.16.1.11。
  
  (1)给vlan所有的节点分配静态ip地址。
  首先在核心交换机上分别设置各vlan的接口ip地址。核心交换机将vlan做为一种接口对待,就象路由器上的一样,如下所示:
  com(config)#interface vlan 10
  com(config-if)#ip address 172.16.58.1 255.255.255.0 vlan10接口ip
  com(config)#interface vlan 11
  com(config-if)#ip address 172.16.59.1 255.255.255.0 vlan11接口ip
  com(config)#interface vlan 12
  com(config-if)#ip address 172.16.60.1 255.255.255.0 vlan12接口ip
  ……
  再在各接入vlan的计算机上设置与所属vlan的网络地址一致的ip地址,并且把默认网关设置为该vlan的接口地址。这样,所有的vlan也可以互访了。
  
  (2)给vlan所有的节点分配动态ip地址。
  首先在核心交换机上分别设置各vlan的接口ip地址和同样的dhcp服务器的ip地址,如下所示:
  com(config)#interface vlan 10
  com(config-if)#ip address 172.16.58.1 255.255.255.0 vlan10接口ip
  com(config-if)#ip helper-address 172.16.1.11 dhcp server ip
  com(config)#interface vlan 11
  com(config-if)#ip address 172.16.59.1 255.255.255.0 vlan11接口ip
  com(config-if)#ip helper-address 172.16.1.11 dhcp server ip
  com(config)#interface vlan 12
  com(config-if)#ip address 172.16.60.1 255.255.255.0 vlan12接口ip
  com(config-if)#ip helper-address 172.16.1.11 dhcp server ip
  ……
  再在dhcp服务器上设置网络地址分别为172.16.58.0,172.16.59.0,172.16.60.0的作用域,并将这些作用域的“路由器”选项设置为对应vlan的接口ip地址。这样,可以保证所有的vlan也可以互访了。
  
  最后在各接入vlan的计算机进行网络设置,将ip地址选项设置为自动获得ip地址即可。
 
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配置过程
             步骤             命令及注释说明
1、设置vtp domainvlan database 进入vlan配置模式
vtp domain com 设置vtp管理域名称 com
vtp server 设置交换机为服务器模式
vtp client 设置交换机为客户端模式
vtp domain 称为管理域,交换vtp更新信息的所有交换机必须配置为相同的管理域。核心交换机和分支交换机都要配置
2、配置中继interface fa0/1 进入端口配置模式
switchport
switchport trunk encapsulation isl 配置中继协议
switchport mode trunk
核心交换机上以上都要配置,不过在分支交换机进入端口模式只配置这个命令就可以了
3、创建vlanvlan 10 name counter
创建了一个编号为10 名字为counter的 vlan。
创建vlan一旦建立了管理域,就可以创建vlan了。在核心交换机上配置
4、将交换机端口划入vlan switchport access vlan 10 归属counter vlan 在分支交换机的端口配置模式下配置。
5、配置三层交换interface vlan 10
ip address 172.16.58.1 255.255.255.0 给vlan10配置ip
在核心交换机上配置
 
 
名称简介及优缺点适用范围
基于端口划分的VLAN  按VLAN交换机上的物理端口和内部的PVC(永久虚电路)端口来划分。
优点:定义VLAN成员时非常简单,只要将所有的端口都定义为相应的VLAN组即可。
缺点:如果某用户离开原来的端口到一个新的交换机的某个端口,必须重新定义。
适合于任何大小的网络
基于MAC地址划分VLAN   这种划分VLAN的方法是根据每个用户主机的MAC地址来划分。
优点:当用户物理位置从一个交换机换到其他的交换机时,VLAN不用重新配置。
缺点:初始化时,所有的用户都必须进行配置。
适用于小型局域网。
基于网络层协议划分VLAN   VLAN按网络层协议来划分,可分为IP、IPX、DECnet、AppleTalk等VLAN网络。
优点:用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,并且可以减少网络通信量,可使广播域跨越多个VLAN交换机。
缺点:效率低下。
适用于需要同时运行多协议的网络
根据IP组播划分VLAN   IP 组播实际上也是一种VLAN的定义,即认为一个IP组播组就是一个VLAN。
优点:更大的灵活性,而且也很容易通过路由器进行扩展。
缺点:适合局域网,主要是效率不高。
适合于不在同一地理范围的局域网用户组成一个VLAN
按策略划分VLAN  基于策略的VLAN能实现多种分配,包括端口、MAC地址、IP地址、网络层协议等
优点:网络管理人员可根据自己的管理模式和需求来决定选择哪种类型的VLAN 。
缺点:建设初期步骤繁复。
适用于需求比较复杂的环境
按用户定义、非用户授权划分VLAN  是指为了适应特别的VLAN网络,根据具体的网络用户的特别要求来定义和设计VLAN,而且可以让非VLAN群体用户访问VLAN,但是需要提供用户密码,在得到VLAN管理的认证后才可以加入一个VLAN。 适用于安全性较高的环境