我们知道,传统的局域网Ethernet 使用具有冲突检测的载波监听多路访问( CSMA / CD )方法。在CSMA / CD 网络中,节点可以在它们有数据需要发送的任何时候使用网络。在节点传输数据之前,它进行"监听"以了解网络是否很繁忙。如果不是,则节点开始传送数据。如果网络正在使用,则节点等待。如果两个节点进行监听,没有听到任何东西,而开始同时使用线路,则会出现冲突。在发送数据时,它如果使用广播地址,那么在此网段上的所有PC都将收到数据包,这样一来如果该网段PC众多,很容易引起广播风暴。而冲突和广播风暴是影响网络性能的重要因素。为解决这一问题,引入了虚拟局域网VLAN的概念。
虚拟网络是在整个网络中通过网络交换设备建立的虚拟工作组。虚拟网在逻辑上等于OSI模型的第二层的广播域,与具体的物理网及地理位置无关。虚拟工作组可以包含不同位置的部门和工作组,不必在物理上重新配置任何端口,真正实现了网络用户与它们的物理位置无关。虚拟网技术把传统的广播域按需要分割成各个独立的子广播域,将广播限制在虚拟工作组中,由于广播域的缩小,网络中广播包消耗带宽所占的比例大大降低,网络的性能得到显著的提高。我们结合下面的图来看看讲下。图1所表示的是两层楼中的相同性质的部门划分到一个VLAN中,这样,会计的数据不会向市场的机器上广播,也不会和市场的机器发生数据冲突。所以VLAN有效的分割了冲突域和广播域。
我们可以在交换机的某个端口上定义VLAN ,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。VLAN通过建立网络防火墙使不必要的数据流量减至最少,隔离各个VLAN间的传输和可能出现的问题,使网络吞吐量大大增加,减少了网络延迟。在虚拟网络环境中,可以通过划分不同的虚拟网络来控制处于同一物理网段中的用户之间的通信。这样一来有效的实现了数据的保密工作,而且配置起来并不麻烦,网络管理员可以逻辑上重新配置网络,迅速、简单、有效地平衡负载流量,轻松自如地增加、删除和修改用户,而不必从物理上调整网络配置。既然VLAN有那么多的优点,我们为什么不了解它从而把VLAN技术应用到我们的现实网络管理中去呢。好的让我们通过实际的在Catalyst 1900交换机上来配置静态VLAN的例子来看看如何在交换机上配置VLAN。
设置好超级终端,连接上1900交换机后(可以参考《1900系列以太网交换机快速入门指南》或其他的CISCO参考资料),会出现如下的主配置界面:
1 user(s) now active on Management Console.
User Interface Menu
[M] Menus
[K] Command Line
[I] IP Configuration
Enter Selection:
我们简单介绍下,这儿显示了三个选项,[M] Menus 是主菜单,主要是交换机的初始配置和监控交换机的运行状况。[K] Command Line 是命令行,很象路由器里面用命令来配置和监控路由器一样,主要是通过命令来操作。[I] IP Configuration 是配置IP地址、子网掩码和默认网管的一个选项。这是第一次连上交换机显示的界面,如果你已经配置好了IP Configuration,那么下次登陆的时候将没有这个选项。因为用命令配置简洁明了,清晰易懂,所以我们通过 [K] Command Line 来实现VLAN的配置的。
设置好超级终端,连接上1900交换机后(可以参考《1900系列以太网交换机快速入门指南》或其他的CISCO参考资料),会出现如下的主配置界面:
1 user(s) now active on Management Console.
User Interface Menu
[M] Menus
[K] Command Line
[I] IP Configuration
Enter Selection:
我们简单介绍下,这儿显示了三个选项,[M] Menus 是主菜单,主要是交换机的初始配置和监控交换机的运行状况。[K] Command Line 是命令行,很象路由器里面用命令来配置和监控路由器一样,主要是通过命令来操作。[I] IP Configuration 是配置IP地址、子网掩码和默认网管的一个选项。这是第一次连上交换机显示的界面,如果你已经配置好了IP Configuration,那么下次登陆的时候将没有这个选项。因为用命令配置简洁明了,清晰易懂,所以我们通过 [K] Command Line 来实现VLAN的配置的。
我们选择 [K] Command Line ,进入命令行配置
Enter Selection:K 回车
CLI session with the switch is open.
To end the CLI session,enter [Exit ].
>
现在我们进入到了交换机的普通用户模式, 就象路由器一样,这种模式只能查看现在的配置,不能更改配置,并且能够使用的命令很有限。我们输入enable,进入特权模式:
>enable
#config t
Enter configuration commands,one per line.End with CNTL/Z
(config)#
为了安全和方便起见,我们给这个交换机起个名字,并且设置登陆密码。
(config)#hostname 1900Switch
1900Switch(config)# enable password level 15 goodwork
1900Switch(config)#
注意:密码必须是4-8位的字符。交换机密码的设置和路由器稍微不同,交换机用 level 级别的大小来决定密码的权限。Level 1 是进入命令行界面的密码,也就是说,设置了 level 1 的密码后,你下次连上交换机,并输入 K 后,就会让你输入密码,这个密码就是 level 1 设置的密码。而 level 15 是你输入了enable命令后让你输入的特权模式密码。路由器里面是使用 enable password 和 enable screet做此区分的。
好,我们已经设置好了名字和密码这样就足够安全了,让我们设置VLAN。VLAN的设置分以下2步:
1. 设置VLAN名称
2. 应用到端口
我们先设置VLAN的名称。使用 vlan vlan号 name vlan名称。 在特权配置模式下进行配置:
1900Switch (config)#vlan 2 name accounting
1900Switch (config)#vlan 3 name marketing
我们新配置了2个VLAN,为什么VLAN号从2开始呢?这是因为默认情况下,所有的端口否放在VLAN 1上,所以要从2开始配置。1900系列的交换机最多可以配置1024个VLAN,但是,只能有64个同时工作,当然了,这是理论上的,我们应该根据自己网络的实际需要来规划VLAN的号码。配置好了VLAN名称后我们要进入每一个端口来设置VLAN。在交换机中,要进入某个端口比如说第4个端口,要用 interface Ethernet 0/4,好的,结合上面给出的图我们让端口2、3、4和5属于VLAN2 ,端口17---22属于VLAN3 。命令是 vlan-membership static/ dynamic VLAN号 。 静态的或者动态的两者必须选择一个,后面是刚才配置的VLAN号。好的,我们看结果:
1900Switch(config)#interface ethernet 0/2
1900Switch(config-if)#vlan-membership static 2
1900Switch(config-if)#int e0/3
1900Switch(config-if)#vlan-membership static 2
1900Switch(config-if)#int e0/4
1900Switch(config-if)#vlan-membership static 2
1900Switch(config-if)#int e0/5
1900Switch(config-if)#vlan-membership static 2
1900Switch(config-if)#int e0/17
1900Switch(config-if)#vlan-membership static 3
。。。。。。
1900Switch(config-if)#int e0/22
1900Switch(config-if)#vlan-membership static 3
1900Switch(config-if)#
好的,我们已经把VLAN都定义到了交换机的端口上了。这儿,我们只是配置的静态的,关于动态的,我们在后面会有提及的。到现在为止,我们已经把交换机的VLAN配置好了,怎么样,没有你想象的那么复杂吧:)。为了验证我们的配置,我们在特权模式使用 show vlan命令。输出如下:
1900Switch(config)#show vlan
VLAN Name Status Ports
1 default Enabled 1,6-16,22-24,AUI,A,B
2 acconting Enabled 2-5
3 marketing Enabled 17-22
1002 fddi-default Suspended
1003 token-ring-defau Suspended
1004 fddinet-default Suspended
1005 trnet-default Suspended
这是一个24口的交换机,并且带有AUI和两个100兆端口(A、B),可以看出来,我们的设置已经正常工作了,什么,还要不要保存running configure?当然不用了,交换机是即时自动保存的,所以不用我们使用命令来保存设置了。当然了,你也可以使用 show vlan vlan号 的命令来查看某个VLAN,比如show vlan 2 , show vlan 3.
还可以使用show vlan-membership ,改命令主要是显示交换机上的每一个端口静态或动态的属于哪个VLAN。
以上是给交换机配置静态VLAN的过程,下面我们看看动态的VLAN。动态的V L A N 形成很简单,由端口自己决定它属于哪个V L A N 时,就形成了动态的V L A N 。不过,这并不意味着就一层不变了,它只是一个简单的映射,这个映射取决于网络管理员创建的数据库。分配给动态V L A N 的端口被激活后,交换机就缓存初始帧的源M A C 地址,随后,交换机便向一个称为VMPS (V L A N 管理策略服务器)的外部服务器发出请求,V M P S 中包含一个文本文件,文件中存有进行V L A N 映射的M A C 地址。交换机对这个文件进行下载,然后对文件中的M A C 地址进行校验。如果在文件列表中找到M A C 地址,交换机就将端口分配给列表中的V L A N 。如果列表中没有M A C 地址,交换机就将端口分配给默认的V L A N (假设已经定义默认了V L A N )。如果在列表中没有M A C 地址,而且也没有定义默认的V L A N ,端口不会被激活。这是维护网络安全一种非常好的的方法。从表面上看,动态V L A N 的优势很大,但它也有致命的缺点,即创建数据库是一项非常艰苦而且非常繁琐的工作。如果网络上有数千个工作站,则有大量的输入工作要做。即使有人能胜任这项工作,也还会出现与动态的V L A N 有关的很多问题。另外,保持数据库为最新也是要随时进行的非常费时的工作。所以不经常用到它,这里我们就不做详细的讲解,可以参考相关的CISCO的文档资料。
这么样,没有你想象的那么复杂吧。我们已经把VLAN配置好了,那么VLAN的另一部分不容忽视的工作,就是前期的对网络的规划。就是说,哪些机器在一个VLAN中,各自的IP地址、子网掩码如何分配,以及VLAN之间互相通讯的问题。只有规划计划好了,才能够在配置和以后的使用维护过程中轻松省事。