摘要 VLAN(Virtual Local AreaNetwork)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术。IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。
关键词VLAN VLAN聚合 PVLAN GVRP VTP
1、VLAN概述
VLAN(Virtual Local AreaNetwork)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术。IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。
VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户二层互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。
2、VLAN在交换机上的实现方法,可以大致划分为4类
(1)、 基于端口划分的VLAN
这种划分VLAN的方法是根据以太网交换机的端,口来划分,比如Quidway S3526的1~4端口为VLAN 10,5~17为VLAN 20,18~24为VLAN 30,当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定,如果有多个交换机,例如,可以指定交换机 1的1~6端口和交换机 2 的1~4端口为同一VLAN,即同一VLAN可以跨越数个以太网交换机,根据端口划分是目前定义VLAN的最广泛的方法,IEEE 802.1Q规定了依据以太网交换机的端口来划分VLAN的国际标准。
这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都指定义一下就可以了。它的缺点是如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。
(2)、基于MAC地址划分VLAN
这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停的配置。
(3)、基于网络层划分VLAN
这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。它虽然查看每个数据包的IP地址,但由于不是路由,所以,没有RIP,OSPF等路由协议,而是根据生成树算法进行桥交换。
这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。
这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网祯头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。当然,这与各个厂商的实现方法有关。
4、根据IP组播划分VLAN
IP 组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。
鉴于当前业界VLAN发展的趋势,考虑到各种VLAN划分方式的优缺点,为了最大程度上地满足用户在具体使用过程中需求,减轻用户在VLAN的具体使用和维护中的工作量,Quidway S系列交换机采用根据端口来划分VLAN的方法。
VLAN技术简介
因为VLAN技术与局域网技术息息相关,所以在介绍VLAN之前,我们首先来了解一下局域网的有关知识。
局域网(LAN)通常被定义为一个单独的广播域,主要使用Hub,网桥,或交换机等网络设备连接同一网段内的所有节点。同处一个局域网之内的网络节点之间可以不通过网络路由器直接进行通信;而处于不同局域网段内的设备之间的通信则必须经过网络路由器。
图一所示为使用路由器构建的典型的局域网环境。
图一所示网络中,通过使用路由器划分出不同的局域网段。其中,位于圆形区域之内的部分就是一个个相互独立的局域网段。为了便于在本文中进行说明,我们为不同的网段进行了编号。需要注意的一点就是,每一个局域网所连接的路由器接口都属于该局域网广播域的一部分。
随着网络的不断扩展,接入设备逐渐增多,网络结构日趋复杂,必须使用更多的路由器才能将不同的用户划分到各自的广播域中,在不同的局域网之间提供网络互连。
这样做的一个缺陷就是随着网络中路由器数量的增多,网络时延逐渐加长,从而导致网络数据传输速度的下降。这主要是因为数据在从一处局域网传递到另一处局域网时,必须经过路由器的路由操作,路由器根据数据包中的相应信息确定数据包的目标地址,然后再选择合适的路径转发出去。
VLAN,又称虚拟局域网,是由位于不同物理局域网段的设备组成。虽然VLAN所连接的设备来自不同的网段,但是相互之间可以进行直接通信,好像处于同一网段中一样,由此得名虚拟局域网。相比较传统的局域网布局,VLAN技术更加灵活。为了创建虚拟网络,需要对已有的网络拓扑结构进行相应的调整。
还是连接相同的网络终端,通过如图所示的交换网络提供了同样的网络连接。虽然图二所示的网络比起图一所示网络在速度和网络时延方面都有了很大的改进和提高,但是同样存在一些不足。其中,最突出的一点就是现在所有的网络节点都处于同一个广播域内,大大增加了网络中所有设备之间的数据流量。随着网络的不断扩充,很有可能出现广播风暴,导致整个网络无法使用。
VLAN是英文Virtual LocalArea Network的缩写,即虚拟局域网。一方面,VLAN建立在局域网交换机的基础之上;另一方面,VLAN是局域交换网的灵魂。这是因为通过VLAN用户能方便地在网络中移动和快捷地组建宽带网络,而无需改变任何硬件和通信线路。这样,网络管理员就能从逻辑上对用户和网络资源进行分配,而无需考虑物理连接方式。 VLAN充分体现了现代网络技术的重要特征:高速、灵活、管理简便和扩展容易。是否具有VLAN功能是衡量局域网交换机的一项重要指标。网络的虚拟化是未来网络发展的潮流。
VLAN与普通局域网从原理上讲没有什么不同,但从用户使用和网络管理的角度来看,VLAN与普通局域网最基本的差异体现在:VLAN并不局限于某一网络或物理范围,VLAN中的用户可以位于一个园区的任意位置,甚至位于不同的国家。
VLAN具有以下优点:
控制网络的广播风暴
采用VLAN技术,可将某个交换端口划到某个VLAN中,而一个VLAN的广播风暴不会影响其它VLAN的性能。
确保网络安全
共享式局域网之所以很难保证网络的安全性,是因为只要用户插入一个活动端口,就能访问网络。而VLAN能限制个别用户的访问,控制广播组的大小和位置,甚至能锁定某台设备的MAC地址,因此VLAN能确保网络的安全性。
简化网络管理
网络管理员能借助于VLAN技术轻松管理整个网络。例如需要为完成某个项目建立一个工作组网络,其成员可能遍及全国或全世界,此时,网络管理员只需设置几条命令,就能在几分钟内建立该项目的VLAN网络,其成员使用VLAN网络,就像在本地使用局域网一样。
VLAN的分类主要有以下几种
基于端口的VLAN
基于端口的VLAN是划分虚拟局域网最简单也是最有效的方法,这实际上是某些交换端口的集合,网络管理员只需要管理和配置交换端口,而不管交换端口连接什么设备。
基于MAC地址的VLAN
由于只有网卡才分配有MAC地址,因此按MAC地址来划分VLAN实际上是将某些工作站和服务器划属于某个VLAN。事实上,该VLAN是一些MAC地址的集合。当设备移动时,VLAN能够自动识别。网络管理需要管理和配置设备的MAC地址,显然当网络规模很大,设备很多时,会给管理带来难度。
基于第3层的VLAN
基于第3层的VLAN是采用在路由器中常用的方法:IP子网和IPX网络号等。其中,局域网交换机允许一个子网扩展到多个局域网交换端口,甚至允许一个端口对应于多个子网。
基于策略的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的迅速发展。另外,来自市场的压力使各大网络厂商立刻将新标准融合到他们各自的产品中。
关于Trunk方式
---- Trunk是独立于VLAN的、将多条物理链路模拟为一条逻辑链路的VLAN与VLAN之间的连接方式。采用Trunk方式不仅能够连接不同的VLAN或跨越多个交换机的相同VLAN,而且还能增加交换机间的物理连接带宽,增强网络设备间的冗余。由于在基于交换机的VLAN划分当中,交换机的各端口分别属于各VLAN段,如果将某一VLAN端口用于网络设备间的级联,则该网络设备的其他VLAN中的网络终端就无法与隶属于其他网络设备的VLAN网络终端进行通信。有鉴于此,网络设备间的级联必须采用Trunk方式,使得该端口不隶属于任何VLAN,也就是说该端口所建成的网络设备间的级联链路是所有VLAN进行通信的公用通道。
虽然VLAN并非最好的网络技术,但这种用于网络结点逻辑分段的方法正为许多企业所使用。VLAN采用多种方式配置于企业网络中,包括网络安全认证、使无线用户在802.11b接入点漫游、隔离IP语音流及在不同协议的网络中传输数据等。
六年前引进VLAN的时候,多数VLAN都是基于IEEE 802.1Q和802.1p标准的。802.1Q规范用于将VLAN用户信息载入以太网帧,而802.1p使二层交换机具有流量优先和实施动态多址滤波的能力。
当初引进VLAN时,它被看作是一个简化地址管理的方法,可以使IT人员在网络的任意点对服务器和PC机进行物理配置,并将PC机加入到组中。
多数网络设备的软件可用于将媒体访问控制(MAC)地址与VLAN相关联,当客户从一个端口移动到另一个端口时,可以使其自动连接到网络上。
VLAN的应用
最近,休斯顿在4栋22层的建筑物中建立了网络及其子网,包括122个法庭、法律事务所和审判厅,这种建筑物非常适合建立VLAN,因为将122个私人子网合并到一个VLAN中要比将用户插入端口组容易得多。
VLAN和静态IP地址也可用于安全机制。所有工作于这里的客户都分配了一个静态IP地址,通过Alcatel的OmniSwitch路由器和OmniCore5052主干网交换器连接到网络中。
这种配置方式使法官和律师在不同的法庭中都可以进行工作。这种设置可控制许可用户的访问权限以及限制未注册用户的访问,因而可以提供安全性。接入网络的唯一方法就是必须拥有一个IP地址,而且这些PC机都连接在其中的一个VLAN上。
VLAN的漫游功能
Massachusetts的/pidgewater州立学院配置了100多个Enterasys公司的RoamAbout 802.11b/a无线接入点,因而学生在整个校园中都可以访问Web和E-mail。
如果没有对无线流量进入自己的VLAN进行隔离,那么对于希望在校园范围内保持网络连接的移动用户来说,它将成为一场噩梦。将所有的无线流量置于一个VLAN中,可以确保当用户从一个接入点移动到另一个接入点时不会掉线。而实际上当整个校园中配置的Enterasys接入点只有150英尺的范围时,这种情况很容易发生。
在宿舍、教室和管理机构中,利用Cisco和Enterasys混合的可堆叠交换器来连接到无线接入点。克服了一些交叉厂商的VLAN配置问题之后,现在可以在校园的任意地方漫游,无论是连接到Cisco还是Enterasys交换器上,都可以保持连接在同一VLAN上。
VLAN管理
VLAN不仅可用于安全和网络管理,对于混合型网络的管理来说,它同样不失为一个有益的工具。
有人利用Enterasys公司的SmartSwitch可堆叠交换器和SmartSwitch Router主干网交换器来在整个子网上建立VLAN,这些子网是运行多种协议的。医疗数据库建立在VAX小型机上,这种应用运行于遗留的DECnet协议之上。DECnet的确使用了大量的广播流量,可将这些流量置于其自己的VLAN上,因而DECnet数据流只能够到达一定的网段。
NetWare 4.11服务器在网络上运行的情况与此类似。它只为Novell服务器及用户创建独立的IPX VLAN,这使多数基于IP和Windows NT/2000服务器的网络不会陷入IPX和DECnet流量的海洋中。
隔离VoIP流量进入VLAN也成为3Com、Cisco、Alcatel、Nortel和Avaya等IP电话厂商的一个标准推荐。所有这些厂商的交换器和IP PBX设备都支持802.1Q技术,这就隔离了IP语音流进入其自己的VLAN。
厂商和用户都认为,在其虚拟段保持语音可能是非常有用的,作为一个隔离语音流的方法,它可以达到故障诊断的目的。如果有大流量的广播或大的文件下载,它也能确保语音质量不会下降。
如何在交换机上配置VLAN
我们知道,传统的局域网Ethernet 使用具有冲突检测的载波监听多路访问( CSMA / CD )方法。在CSMA / CD 网络中,节点可以在它们有数据需要发送的任何时候使用网络。在节点传输数据之前,它进行"监听"以了解网络是否很繁忙。如果不是,则节点开始传送数据。如果网络正在使用,则节点等待。如果两个节点进行监听,没有听到任何东西,而开始同时使用线路,则会出现冲突。在发送数据时,它如果使用广播地址,那么在此网段上的所有PC都将收到数据包,这样一来如果该网段PC众多,很容易引起广播风暴。而冲突和广播风暴是影响网络性能的重要因素。为解 决这一问题,引入了虚拟局域网(VLAN的)概念。
虚拟网络是在整个网络中通过网络交换设备建立的虚拟工作组。虚拟网在逻辑上等于OSI模型的第二层的广播域,与具体的物理网及地理位置无关。虚拟工作组可以包含不同位置的部门和工作组,不必在物理上重新配置任何端口,真正实现了网络用户与它们的物理位置无关。虚拟网技术把传统的广播域按需要分割成各个独立的子广播域,将广播限制在虚拟工作组中,由于广播域的缩小,网络中广播包消耗带宽所占的比例大大降低,网络的性能得到显着的提高。我们结合下面的图来看看讲下。图1所表示的是两层楼中的相同性质的部门划分到一个VLAN中,这样,会计的数据不会向市场的机器上广播,也不会和市场的机器发生数据冲突。所以VLAN有效的分割了冲突域和广播域。
我们可以在交换机的某个端口上定义VLAN ,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。VLAN通过建立网络防火墙使不必要的数据流量减至最少,隔离各个VLAN间的传输和可能出现的问题,使网络吞吐量大大增加,减少了网络延迟。在虚拟网络环境中,可以通过划分不同的虚拟网络来控制处于同一物理网段中的用户之间的通信。这样一来有效的实现了数据的保密工作,而且配置起来并不麻烦,网络管理员可以逻辑上重新配置网络,迅速、简单、有效地平衡负载流量,轻松自如地增加、删除和修改用户,而不必从物理上调整网络配置。既然VLAN有那么多的优点,我们为什么不了解它从而把VLAN技术应用到我们的现实网络管理中去呢。好的让我们通过实际的在Catalyst 1900交换机上来配置静态VLAN的例子来看看如何在交换机上配置VLAN。
图1 在Catalyst 1900 上的两个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 后,就会让你输入密码,这个密码就是 level1 设置的密码。而 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 vlan2 , 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 LA N 有关的很多问题。另外,保持数据库为最新也是要随时进行的非常费时的工作。所以不经常用到它,这里我们就不做详细的讲解,可以参考相关的CISCO的文档资料。
这么样,没有你想象的那么复杂吧。我们已经把VLAN配置好了,那么VLAN的另一部分不容忽视的工作,就是前期的对网络的规划。就是说,哪些机器在一个VLAN中,各自的IP地址、子网掩码如何分配,以及VLAN之间互相通讯的问题。只有规划计划好了,才能够在配置和以后的使用维护过程中轻松省事。
LAN的网络管理
过去常常在网络里使用路由器和集线器,而现在很多网络使用交换机,怎样面对路由网络和交换技术的挑战吗?
目前,交换机在网络市场上占据了主导地位,其中原因是:首先是交换机性价比高,其次是结构灵活,可以随着未来应用的变化而灵活配置。
数字最能说明问题。在有一个100Mbps上行链路的交换机里,每个10Mbps受控交换机端口的成本为100美元。路由选择技术并不真正按给每个端口分配一个用户的方式来分段网络,每个路由器端口的成本至少是交换机端口的三四倍,因而管理负担大得惊人。尽管用路由器分段的网络只有TCP/IP通信量,但由于成本高,性能不高,子网太多,并且配置工作量大,所以很快就行不通了。
相比而言,交换机和集线器一样,是即插即用设备。目前正在出现具有“自学”功能的路由选择设备,采用所支持的协议自动配置端口。
在缺省情况下,纯交换网络是平面网络。如果每个节点都有自己的交换端口,网络就很难发生争用情况,即入站通信量与节点的出站通信量发生资源争用,反之亦然。相比而言,在传统的共享网段或者环里,每个节点的吞吐量随着节点的增多而下降,例如有25个节点的10BaseT网络只能给每个节点平均提供400Kbps带宽,而有专业交换端口的节点却拥有10Mbps吞吐量。
一般被节点用于做广告或者寻找目前未知的广播技术可大大提供这种网络的吞吐量,而通常的单址广播帧只能广播到一个目的地节点和中间交换端口。自从网桥流行的那一天起,我们就知道我们实际上并不希望有数千个节点的广播域,因为广播风暴无法预测且难以控制。
把平面网络变成较小的广播域,无异于使交换网络变成一种丰富多彩的调色板。与其用路由器定义任意大小的子网,倒不如用交换机建立VLAN。
VLAN的管理
VLAN与交换网络密不可分,但实施VLAN要重新定义管理环境。VLAN定义的逻辑域涉及网络里的可能视图,因而网络管理平台可显示IP图像,有时还会显示基于IPX的图像。如果部署VLAN,其拓扑可能与上述视图不匹配。当VLAN部署完毕之后,你很可能对根据逐个VLAN监视通信量并生成警报这一点感兴趣。
在目前,大多数基于交换机的VLAN是专用的。IEEE 802.1P委员会开发出一种多址广播标准,使VLAN成员可以在取消VLAN广播抑制任务的情况下通信。在可互操作的软件和硬件里实现上述标准之前,VLAN配置仍将要求维护单一供应商交换机环境。
即使在单一供应商VLAN里,网络管理也是一种挑战,例如检查VLAN对话要求管理软件处理的统计信息不同于检查常见的LAN或IP子网对话:RMON MIB和RMON-2 MIB分别提供确定LAN和子网信息的框架,而VLAN配置必须定义自己的MIB,或者配置如何根据其他MIB获得上述信息。此外,为了提供连贯的VLAN行为特性图,管理软件要收集并合并来自多个RMON检测器的数据。
如果上述问题很严重,就要考虑捕捉多交换机VALN数据的地方只限于中间交换机链路或者主干网。在大型网络里,主干几乎都在100Mbps以上,高速控制器的部署与常见VLAN不一样,而且成本很高。
VLAN的配置
如果根据交换机端口定义VLAN,通常很容易用某种拖放软件把一个或多个用户分配到特定的VLAN。在非交换环境里,移动、添加或更改操作很麻烦,有可能要改动接线板上的跳线充一个集线器端口移动到另一个端口。然而,改动VLAN分配仍然要靠人工进行:在大型网络里,这样做很费时,因而很多联网供应商鼓吹采用VLAN可以简化移动、添加和更改操作。
基于MAC地址的VLAN分配方案确实可使某些移动、添加和更改操作自动化。如果用户根据MAC地址被分配到一个VLAN或多个VLAN,他们的计算机可以连接交换网络的任何一个端口,所有通信量均能正确无误地到达目的地。显然,管理员要进行VLAN初始分配,但用户移动到不同的物理连接不需要在管理控制台进行人工干预;例如有很多移动用户的站,他们并非总是连接同一端口――或许因为办公室都是临时性的,采用基于MAC地址的VLAN可避免很多麻烦。
传统的Layer3技术怎么样呢?这里离开VLAN最近的是IP子网:每个子网需要一个路由器端口,因为通信量只能通过一个路由器从一个子网移动到另一个子网。由于IP32位地址提供的地址空间很有限,所以很难分配子网地址,还有看你是否熟悉二进制算法。因此,在IP网络里执行移动、添加和更改操作很困难,速度慢,容易出错,而且费用大。另外,在公司更换ISP或者采用新安全策略时,可能有必要重新编号网络,这对于大型网络来说是无法想像的。
实际上,如果有人采用现有的有子网的路由IP网络,并根据IP地址访问任意VLAN成员,路由器就可能会被不必要的通信量淹没。
如果很多子网里都有VALN成员,常用的VLAN广播必须通过路由器才能达到所有成员。此外,糟糕的是广域链路会生成额外广播通信量;有WAN连接服务的VLAN成员数通常应该保持在最低水平。实际上,基于Layer3地址的VLAN成员值有可能在增强和修改现有子网分布方面很有用,例如可通过一个全子网给VLAN添加两个新节点,或者可用两个子网组成一个VLAN而无须重新编号。
Cabletron的SecureFast Virtual Networking Layer3交换技术采用路由服务器模型而不是传统的路由选择模型。第一个信息包传送到路由服务器进行常规路由计算,但交换机能记忆路径,因而后续信息包可在Layer2交换,而无须查对路由表。由于有了基于纯Layer3地址的VLAN,所以IP地址可以作为通用网络ID,允许任何人连接任何数据链路,从而获得全网络访问,大大简化移动、添加和更改任务。
但是,还有其他方法解决IP子网引起的管理问题。DHCP(动态主机配置协议)已经在连接时给用户分配地址的其他技术,都可用于解决上述问题。
VLAN的测试
传统上,共享介质如Ethernet冲突网段或者令牌环,已经成为网络管理的级别单元,连接网段或环任何地方的协议分析仪都可捕捉所以节点自己发生的所有对话。集线器的SNMP代理捕捉整个网段通信量,错误和广播统计信息。RMON检测器(一种网络监视器或手持式故障排除设备)可检测共享介质发生的所有重大事件。这些设备提供测试手段即基本数据捕捉作业,旨在有效管理网络。
交换网络必须装备类似的工具。网络数或者环数成倍增加,因而必备的设备也相应地成倍增加。对于老式10BaseT来说,大多数独立RMON检测器的价格比较昂贵。
同时,任何网段的通信量都可能只有一个源和一个目的地,使问题分析变得很困难。即使是很简单的问题,如观察广播是否正确无误地传送到VLAN成员,而不传送到其他节点,也要把协议分析仪和一个三端口中继器连接到VLAN的每个网段上。
但情况并非很糟糕。常用的连接部件如NIC,连接器,电缆和端口可用以前的方法测试,它们并不受交换结构的影响。服务器,路由器,打印机和工作站发生的问题可能会很难解决。如何路由器采用NetBIOS桥结VLAN不当,可以从VLAN里的任何一个节点诊断出来。其他问题如冲突,应该可以消除掉,因为介质不再是共享介质,或者共享程度不象以前那么高。
针对交换网络测试设备不足的问题,交换机供应商做了很多工作。很多交换机都可配置一个监视端口,以便连接协议分析仪或者其他监视器。在有的交换机里,可以配置监视端口检查任何两个端口之间的通信量。在少数基于底板的交换机里,监视端口可用于捕捉交换机传送的所有通信量。这些监视工作可以通过神奇的电子技术来实现,而不影响交换机的性能,如果你的交换机没有监视端口,并且每个端口都没有RMON,就不能执行监视作业,即使可以执行也很难且代价昂贵。因此购买交换机必须考虑它有没有监视端口。
另外,很多交换机供应商还为每个端口配备了RMON代理。如果基本的交换机硬件没有集成RMON设备,它不会削弱系统的总体性能。
结束语
大供应商旨在支持基于端口、MAC地址和Layer3地址建立VLAN。也有一种说法是支持基于应用的VLAN成员,从而压缩视频或音频数据流的多址广播支持。当VLAN定义很丰富而且灵活的时候,其他令人感兴趣的管理服务才可能走向成熟。特别地,管理员再也不必为了建立VLAN成员而把一个图标拖到一个映象上去,VLAN可采用策略管理动态定义。
随着可动态定义的VLAN产品和方案的推出和实施,配置和管理网络节点所面对的挑战也将发生根本性的转变。对于陷于沉重管理事务的管理员来说,VLAN似乎并不能改变他们的窘境,因为他们必须忘却某些基于路由器的联网原理。但无论如何,每个管理员都将要面对交换式网络,而VLAN是实现商业目标的重要工具。
---- 在企业网络刚刚兴起之时,由于规模小、应用面窄、对Internet接入认识程度低以及关于网络安全和管理知识贫乏等原因,使得企业网仅仅局限于交换模式状态。交换技术主要有2种方式: 基于以太网的帧交换和基于ATM的信元交换,它相对于共享式网络性能有很大提高,但对于所有处于一个IP网段或IPX网段的网络设备来说,却同在一个广播域中。当工作站数量较多和信息流较大时,容易形成广播风暴,严重影响了网络运行速度,甚至容易造成网络瘫痪。怎样避免这个问题出现呢?采用划分网络的办法是个不错的选择。
---- 在采用交换技术的网络模式中,一般采用划分物理网段的手段进行网络结构的划分。从效率和安全性等方面来看,这种结构划分有一定缺陷,而且在很大程度上限制了网络的灵活性。因为如果要将一个广播域分开,必须另外购买交换机,并且需要重新进行人工布线。好在虚拟局域网(Virtual Local AreaNetwork,VLAN)技术的出现解决了上述问题。实际上,VLAN就是一个广播域,它不受地理位置的限制,可以跨多个局域网交换机。一个VLAN可以根据部门职能、对象组或者应用来将不同地理位置的网络用户划分为一个逻辑网段。对于局域网交换机,其每一个端口只能标记一个VLAN,一个VLAN中的所有端口拥有一个广播域,而处于不同VLAN的端口则共享不同的广播域,这样就避免了广播风暴的产生。可以说,在一个交换网络中,VLAN提供了网段和机构的弹性组合机制。
---- 通常,一个规模较大的企业,其下属一般拥有多个二级单位,为保证对不同职能部门管理的方便性和安全性以及整体网络运行的稳定性,可以采用VLAN划分技术,进行虚拟网络划分。下面,我们通过对一个实际案例的分析,让大家了解和掌握应用VLAN技术的真谛。
网络状况
---- 某大型起重设备总公司下属有2个二级单位,主要进行研发、服务与销售等工作。由于地理位置相对较远,业务规模尚未发展壮大,在企业成立之初,公司总部、二级单位1和二级单位2分别建立了独立的网络环境,各网络系统均采用以交换技术为主的方式,3网主干均采用千兆以太网技术。公司总部中心交换机采用了Cisco Catalyst 6506产品,它是带有三层路由的引擎,可使企业网具有很强的升级能力。各二级单位的中心交换机采用了Cisco Catalyst 4006。其他二级和三级交换机采用了Cisco Catalyst 3500系列交换机,主要因为Catalyst 3500系列交换机具有很高的性能和可堆叠能力。
需求分析
---- 由于业务发展迅猛,总公司与2个二级单位迫切需要畅通无阻的信息交流,从而让公司总部能对2个下属单位进行更直接和更有效的管理,进而达到三方信息共享的目的,所以将彼此相互独立的3个子网联成一个统一网络势在必行。
---- 图1所示的是起重设备总公司3个子网互联形成统一网络的示意图,3个子网是采用千兆以太网技术进行互联的。为了避免在主干引发瓶颈问题,各子网在互联时采用了Trunk技术(即双千兆技术),使网络带宽达到4GB,这样,既增加了带宽,又提供了链路的冗余,还提高了整体网络高速、稳定和安全的运行性能。
---- 然而,由于网络规模不断扩大,信息流量逐渐加大,人员管理变得日益复杂,给企业网的安全、稳定和高效运行带来新的隐患,如何消除这些隐患呢?VLAN划分技术能为此排忧解难。
---- 根据起重设备总公司业务发展需要,我们将联网后的统一网络划分为5个虚拟子网,分别是: 经理办子网、财务子网、供销子网和信息中心子网,其余部分划为一个子网。
---- 由于统一网络的IP地址处于192.168.0.0网段,所以我们可以将各VLAN的IP地址分配如下。
---- 经理办子网:192.168.1.0~192.168.2.0/22 网关:192.168.1.1
---- 财务子网: 192.168.3.0~192.168.5.0/22 网关:192.168.3.1
---- 供销子网: 192.168.6.0~192.168.8.0/22 网关:192.168.6.1
---- 信息中心子网:192.168.7.0/24 网关:192.168.7.1
---- 服务器子网:192.168.100.0/24 网关:192.168.100.1
---- 其余子网: 192.168. 8.0~192.168.9.0/22 网关:192.168.8.1
详细设计
---- 在划分VLAN时,Cisco的产品主要基于2种标准协议:ISL和802.1q。ISL是Cisco自己研发设计的通用于所有Cisco网络产品的VLAN间互联封装协议,该协议针对Cisco网络设备的硬件平台在信息流处理和多媒体应用方面进行了合理有效的优化。802.1q协议是IEEE802委员会于1996年发布的国际规范标准。
---- 在此案例中,因为所采用的均是Cisco网络设备,故在进行VLAN间互联时采用了ISL协议(对于不同网络设备的互联,本文在结尾处有相应介绍)。
---- 从图1我们可以看到,总公司中心交换机采用了Cisco Catalyst 6506,其2级节点为Catalyst3508和Catalyst 3548,Catalyst 3508交换机具有8个千兆以太网端口,并且利用Catalyst 3500系列交换机的堆叠能力,可以随时扩充工作站数量。边缘交换机则采用具有千兆模块的Catalyst 3548。二级单位的中心交换机则采用了Cisco Catalyst 4006,其2级节点和边缘交换机采用的也是Catalyst 3548。公司总部与各二级附属单位的连接采用了ISL封装的Trunk方式,用2组光纤连接(在Catalyst 6506与Catalyst 4006之间),这样既解决了VLAN间的互联问题,同时又提高了网络带宽和系统的冗余,为3个子网互联提供了可靠保障。对于到Internet的连接,接口为2MB DDN专线接入,各二级单位通过公司总部的Proxy接入Internet。Internet的管理由公司总部信息中心统一规划。
---- 需要说明的是,由于本案例中关于VLAN的划分覆盖了各个交换机,所以交换机之间的连接都必须采用Trunk方式。鉴于经理办和供销子网代表了VLAN划分中的2个问题: 扩展交换机VLAN的划分和端口VLAN的划分,所以我们再将经理办子网和供销子网对VLAN做一详细介绍。
经理办VLAN
---- 由于经理办工作站所在局域网交换机划分了多个VLAN,连接了多个VLAN工作站,所以该交换机与其上层交换机之间的连接必须采用Trunk方式(如图2所示)。
---- 公司总部采用了Catalyst 3508和Catalyst 6506,二级单位1采用了Catalyst 3548和Catalyst4006,二级单位2采用了Catalyst 3548和Catalyst 4006。
供销VLAN
---- 虽然当一个交换机覆盖了多个VLAN时,必须采用Trunk方式连接,但在供销VLAN划分中,其二级单位1中的供销独立于交换机Catalyst 3548,所以在这里,Catalyst 3548与二级中心交换机Catalyst 4006只需采用正常的交换式连接即可(如图3所示)。对于此部分供销VLAN的划分,只要在Catalyst 4006上针对与Catalyst 3548连接的端口进行划分即可。这是一种基于端口的VLAN划分。
---- 由于2个Catalyst 4006与主中心交换机Catalyst 6506间采用的是双光纤通道式连接,屏蔽了Catalyst 4006与Catalyst 6506间线路故障的产生,所以对整体网络的路由进行基于Catalyst 6506的集中式管理。下面我们对VLAN之间的路由做一个介绍。
---- 在中心交换机Catalyst 6506上设置VLAN路由如下。
---- 经理办VLAN:192.168.1.1/22
---- 财务VLAN: 192.168.3.1/22
---- 供销VLAN: 192.168.6.1/22
---- 信息中心VLAN:192.168.7.1/24
---- 其余VLAN: 192.168.8.1/22
---- 在中心交换机上设置路由协议RIP或OSPF,并指定网段192.168.0.0。在全局配置模式下执行如下命令。
---- router rip network 192.168.0.0
---- 由于IP地址处于192.168.0.0网段,所以对各VLAN的IP地址分配如下所示。
---- 经理办子网: 192.168.1.0,子网掩码: 255.255.255.0,网关: 192.168.1.1。
---- 财务子网: 192.168.2.0,子网掩码: 255.255.255.0,网关: 192.168.2.1。
---- 供销子网: 192.168.3.0,子网掩码为255.255.255.0,网关: 192.168.3.1。
---- 信息中心子网: 192.168.4.0,子网掩码: 255.255.255.0,网关: 192.168.4.1。
---- 服务器子网: 192.168.100.0,子网掩码: 255.255.255.0,网关: 192.168.100.1。
---- 其余子网: 192.168.8.0,子网掩码为255.255.255.0,网关: 192.168.8.1。
---- 根据上述IP地址分配情况,不难看出各子网的网络终端数均可达到254台,完全满足目前或将来的应用需要,同时还降低了管理工作量,增强了管理力度。
注意事项
---- 需要注意的是: 因为起重设备总公司统一网络系统的VLAN划分是作为一个整体结构来设计的,所以为了保持与VLAN列表的一致性,需要Catalyst 4006对整体网络的其他部分进行广播。所以在设置VTP(VLAN Trunk Protocol)时注意,要将VTP的域作为一个整体,其中VTP类型为Server和Client。
---- 有些企业建网较早,若所选用的网络设备为其他厂商的产品,而后期的产品又不能与前期统一,这样在VLAN的划分中就会遇到一些问题。例如,在Cisco产品与3COM产品的混合网络结构中划分VLAN,对于Cisco网络设备Trunk的封装协议必须采用802.1q,以达到能与3COM产品进行通信的目的。虽然两者之间可以建立VLAN的正常划分,并进行正常的应用,但两者配合使用的协调性略差一些。当两者的连接发生变化时,必须在Cisco交换机上使用命令Clear Counter进行清除,方可使两者工作协调起来。
虚拟局域网(VLAN)的出现打破了传统网络的许多固有观念,使网络结构变得灵活、方便、随心所欲。VLAN就是不考虑用户的物理位置而根据功能、应用等因素将用户逻辑上划分为一个个功能相对独立的工作组,每个用户主机都连接在一个支持VLAN的交换机端口上并属于一个VLAN。同一个VLAN中的成员都共享广播,而不同VLAN之间广播信息是相互隔离的。这样,将整个网络分割成多个不同的广播域。
传统的路由器在网络中有路由转发、防火墙、隔离广播等作用,而在一个划分了VLAN以后的网络中,逻辑上划分的不同网段之间通信仍然要通过路由器转发。由于在局域网上,不同VLAN之间的通信数据量是很大的,这样,如果路由器要对每一个数据包都路由一次,随着网络上数据量的不断增大,路由器将不堪重负,路由器将成为整个网络的瓶颈。
在这种情况下,出现了第三层交换技术,通俗地讲,就是将路由技术与交换技术合二为一的技术。路由器在对第一个数据流进行路由后,将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率,消除了路由器可能产生的网络瓶颈问题。
配置VLAN
(1) VLAN的工作模式:
静态VLAN:管理员针对交换机端口指定VLAN。
动态VLAN:通过设置VMPS(VLAN MembershipPolicy Server),包含了一个MAC地址与VLAN号的映射表,当数据帧到达交换机后,交换机会查询VMPS获得相应MAC地址的VLAN ID。
(2) ISL标签:ISL(Inter-Switch Link)是一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个VLAN信息及VLAN数据流的协议,通过在交换机直接相连的端口配置ISL封装,即可跨越交换机进行整个网络的VLAN分配和进行配置。
VLAN封装的国际标准为IEEE 802.1Q。
(3) VTP(VLAN TrunkingProtocol):它是一个在交换机之间同步及传递VLAN配置信息的协议。一个VTP Server上的配置将会传递给网络中的所有交换机,VTP通过减少手工配置而支持较大规模的网络。VTP有三种模式
Server模式:允许创建、修改、删除VLAN及其他一些对整个VTP域的配置参数,同步本VTP域中其他交换机传递来的最新的VLAN信息。
Client模式:在Client模式下,一台交换机不能创建、删除、修改VLAN配置,也不能在NVRAM中存储VLAN配置,但可以同步由本VTP域中其他交换机传递来的VLAN信息。
Transparent模式:可以进行创建、修改、删除,也可以传递本VTP域中其他交换机送来的VTP广播信息,但并不参与本VTP域的同步和分配,也不将自己的VLAN配置传递给本VTP域中的其他交换机,它的VLAN配置只影响到它自己。
交换机在默认情况下为Server模式。
(4) 创建VLAN,默认情况下交换机只有VLAN 1,可以通过命令增加所需的VLAN。
(5) 将VLAN指定给交换机的各个端口。默认情况下交换机所有端口均属于VLAN 1,可以通过全局命令修改交换机各端口的VLAN ID,但交换机每个端口只能属于一个VLAN。
配置三层交换
配置MLSP协议,使RP与SE之间可以交换信息。
配置管理端口,MLSP通过这个端口收发RP与SE之间的通信。
针对不同的VLAN分配不同的VLAN网关地址。
启动路由器的路由功能。
根据需要,可以定义VLAN虚网间的访问策略,可通过定义访问列表来实现。
在公司内部如何进行VLAN划分?
公司内部进行VLAN的划分实例
对于每个公司而言都有自己不同的需求,下面我们给出一个典型的公司的VLAN的实例,这样也可以成为我们以后为公司划分VLAN的依据。
某公司现在有工程部、销售部、财务部。VLAN的划分:工程部VLAN10,销售部VLAN20,财务部VLAN30,并且各部门还可以相互通讯。现有设备如下:Cisco3640路由器,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的特点
VLAN具有如下特点:
分段性,可根据部门,功能和项目来划分成不同的网段;
灵活性,组成VLAN的用户不用考虑物物理位置,同一个VLAN也可以跨越多个交换机;
安全性,通过广播域的分隔,使每个逻辑的VLAN就象一个独立的物理桥,提高了网络的性能和安全,但不同的VLAN间的通讯需要经过路由器来连接。
二、基本的VLAN配置
1、单个交换机VLAN配置
当不使用VTP协议时,交换机应该配置成VTP transparent(透明模式),此时交换机VLAN的配置主要包括如下内容
·使用全局命令,启用VTP的transparent 模式;
·使用全局命令定义每个VLAN的编号(必须的)和相应的名称(可选的);
·使用接口子命令,将每个端口分配到相应的VLAN。
假定有如图1所示的交换机划分的三个VLAN,其配置
switch(config)#vtp transparent domani dummy
switch(config)#vlan 2 name VLAN2
switch(config)#vlan 3 name VLAN3
switch(config)#interface e 0/5
switch(config-if)#vlan-membership static 2
switch(config)#interface e 0/6
switch(config-if)#vlan-membership static 2
switch(config)#interface e 0/7
switch(config-if)#vlan-membership static 2
switch(config)#interface e 0/8
switch(config-if)#vlan-membership static 2
switch(config)#interface e 0/9
switch(config-if)#vlan-membership static3
switch(config)#interface e 0/10
switch(config-if)#vlan-membership static3
switch(config)#interface e 0/11
switch(config-if)#vlan-membership static3
switch(config)#interface e 0/12
switch(config-if)#vlan-membership static3
在以上的配置中,让大家觉得奇怪的是没有配置VLAN1,这没有关系,因为它是自动配置的,而且任何没有指定静态VLAN配置的端口都被认为是在VLAN1中的,同样交换机的地址也被认为是在VLAN1的广播域中。
在配置完成后,可以使用”show vlan vlan#”命令来显示一个特定的VLAN信息,验证VLAN的参数,例如
switch#show vlan 3
2、多个交换机的配置
为了允许VLAN跨越多个交换机,这就必须配置主干(trunk)来连接这些交换机。Cisco要求在这种主干链路上使用诸如ISL的主干协议,于是启用主干协议的命令就是trunk。
使用trunk接口配置命令将一个快速以太网接口设置成主干模式,在Cisco Catalyst 1900交换机上有两个快速以太网接口fa0/26和fb0/27。在使用动态交换链路协议(DISL)为ISL时,启用和定义主干协议类型可以静态和动态地进行。trunk接口配置命令的语法
switch(config)#trunk [on/off/desirable/auto/nonnegotiate]
·on--将端口配置成永久的ISL主干模式,并与连接设备协商将链路转换成主干模式;
·off--禁止端口的主干模式,并与连接设备协商将路转换成非主干模式;
·desirable--触发端口进行协商,将链路从非主干模式转换成主干模式;如连接设备在 on,desirable或auto状态下,此端口将和主干进行协商,否则该端口为非主干端口;
·auto--只有在连接设备是on或desirable状态下才使端口变为主干;
·nonnegotiate--将端口配置成永久的主干模式,并且不和对方协商。
在实际工作中,可根据配置参数的选项,设置成相应的模式。
图2
图2是有两个交换机组成三个VLAN的配置示例,其配置
switcp(config)#interface e fa 0/26
switcp(config-if)#trunk on
switcp(config-if)#vlan-membership static 1
switcp(config-if)#vlan-membership static 2
switcp(config-if)#vlan-membership static 3
switcp(config)#interface e fb 0/27
switcp(config-if)#trunk on
switcp(config-if)#vlan-membership static 1
switcp(config-if)#vlan-membership static 2
switcp(config-if)#vlan-membership static 3
注意:两个快速以太网端口上不但被配置为主干有效,而且3个VLAN都被静态地配置到这些端口上,通过同时配置这些VLAN,交换机将主干端口当成这些VLAN的一部分,当然网络中的路由器也必须配置成支持ISL。
为验证主干配置和VLAN端口分配情况,可使用“show trunk a/b“和”show vlan-membership”。其中a /b分别代表快速以太网端口0/26和0/27。
1、VTP作用
交换机通过VTP定时(每5分钟)或实时(当交换机的参数有改变时),向同一管理域进行多点传送公共管理域消息,并通过同一管理域同步所配置VLAN的识别信息(在网络较大时作用明显),支持混合介质(FDDI、ATM等),精确跟踪VLAN的增、减、更名等实时情况。VTP为第二层信息协议,主要是维护配置的一致性。缺省情况下交换机处于non-management-domain状态,其VLAN信息不会宣告出去。通过设置VTP Pruning (缺省为关状态),增加可用带宽。
2、VTP三种模式:Server(缺省)、Client、Transparent
·Server:创建、更改和删除VLAN以及用于整个VTP域的其它配置参数,这些消息被依次传到相同域中的VTP客户,VLAN配置信息存于NVRAM
·Client:VLAN配置信息不存于NVRAM,当在VTP的客户也不能创建、更改和删除VLAN,只能同步收到的VLAN信息
·Transparent:当交换机不需要或不想加入VTP时,主要是用作本地管理,不与其它交换机共享VLAN信息,但仍可以将VTP通告转送到其它交换机。
3、VTP裁剪
由于ISL主干线路承载了所有VLAN的流量,因此,有些流量可能不必广播到在无需运载它们的链路上,VTP裁剪使用VLAN通告来决定什么时候该主干连接不需要泛洪式的传输,缺省的情况下,主干连接运载此VTP管理域中的所有VLAN流量,而在实际工作中,有些交换机交不必将本地端口配置到每个VLAN中,这样启用VTP配置就成为必要。
4、使用VTP配置VLAN
对Catalyst 1900交换机,默认的VTP配置参数
·VTP域名:None(无)
·VTP模式:Server(服务器)
·VTP口令:None(无)
·VTP裁剪:Disabled(禁止)
·VTP陷阱:Enabled(启用)
VTP域名可以指定或学习到,缺省的情况下是不设置的。如果缺省配置收到一个有域名的VTP通告,它就会使用该域名;如果交换机已配置了域名,又收到一个域名通告,则会忽略。
VTP和管理域可以设置口令,但在域中的所有交换机必须输入相的口令,否则VTP将不能正常工作。
VTP服务器上的VTP裁剪的启用和禁止将会传播到整个管理域中,如果VTP裁剪启用,除VLAN1上的所有VLAN将被裁剪。
假定有如图3的VLAN连接,具体配置
·作为VTP服务器交换机1的配置
switcp#configure terminal
switcp(cofig)#ip address 10.5.5.11 255.255.255.0
图3
switcp(cofig)#ip defaul-gateway 10.5.5.3
switcp(cofig)#vtp server domain Hartsfield purning enable
switcp(cofig)#vlan 2 name vlan2
switcp(cofig)#vlan 3 name vlan3
switcp(cofig)#interface e 0/5
switcp(cofig-if)#valn-membership static 2
switcp(cofig)#interface e 0/6
switcp(cofig-if)#valn-membership static 2
......
switcp(cofig)#interface e 0/9
switcp(cofig-if)#valn-membership static 3
switcp(config)#interface e fa 0/26
switcp(config-if)#trunk on
switcp(config-if)#vlan-membershi static 1
......
switcp(config)#interface e fb 0/27
switcp(config-if)#trunk on
switcp(config-if)#vlan-membershi static 1
......
·作为VTP客户交换机2的配置
switch2#configure terminal
switch2(cofig)#ip address 10.5.5.12 255.255.255.0
switch2(cofig)#ip defaul-gateway 10.5.5.3
switch2(cofig)#vtp client
switch2(cofig)#interface e 0/5
switch2(cofig-if)#valn-membership static 3
switch2(cofig)#interface e 0/6
switch2(cofig-if)#valn-membership static 3
switch2(cofig)#interface e 0/7
switch2(cofig-if)#valn-membership static 3
switch2(cofig)#interface e 0/8
switch2(cofig-if)#valn-membership static 3
switch2(cofig)#interface e 0/9
switch2(cofig-if)#valn-membership static 3
......
switch2(config)#interface e fa 0/27
switch2(config-if)#trunk on
switch2(config-if)#vlan-membershi static 1
switch2(config-if)#vlan-membershi static 3
注意:在交换机2配置中没有域名,这可能通过第一个通告学习到;
在交换机2配置中无须对VLAN进行定义,而且在VTP客户模式下是不能定义的。
在交换机1中裁剪被启用,VTP从交换机2中裁剪VLAN2,因交换机2中没有VLAN2端口。
为了验证新的配置或了解VTP的配置信息可以使用命令
switcp#show vtp
由于篇幅的限制,有关术语和概念以及VLAN配置的其它具体情况就不作介绍了,下面就VLAN配置概括
1、配置原则
最大VLAN数、预置VLAN,CDP、VTP和IP地址对VLAN1有效
2、配置步骤
Enable VTP(可选)=Enable Trunking=Create VLANs=Assign Vlan to ports
3、VTP配置内容和原则
·Passwod:域管理密码在同一域所有交换机上设置相同,否则VTP不会正常工作;
·在Server上配置pruning功能会影响整个VTP域(VTP宣告时所涉及的参数);
·trap:缺省开启,每个新的VTP信息发出时会产生一个SNMP信息;
·vtp有两个版本:V1仅支持Ethernet,V2同时也支持Token Ring。
4、VTP配置命令
·Show vtp:确认最新的配置改变
·Trunk on/off/disirable/auto/nonegotiate (只能在百、千兆口)
·Show trunk
·Vlan # :编号范围,可以不命名
·Show vlan…
·Vlan更名
·Vlan-membership static vlan# 或 dynamic 缺省地所有端口都属VLAN1
·Show vlan-membership
·Show spantree vlan# 确认某VLAN是否运行了STP。
2900XL VLAN config
Switch# vlan database
Switch(vlan)# vtp domain domain-name
Switch(vlan)# vtp domain domain-name password password-value
Switch(vlan)# vtp server
Switch(vlan)# show vtp status
若想Disable VTP,只须将VTP模式改为transparent
即Switch(vlan)# vtp transparent
2. 激活VTP V2(交换机默认的是VTP V1)。
Switch# vlan database
Switch(vlan)# vtp v2-mode
Switch# show vtp status
3. 增加VLAN。Catalyst 2900XL系列交换机最大支持64个激活的VLAN,
VLAN ID 号从1-1005。
Switch# vlan database
Switch(vlan)# vlan vlan-id name vlan-name
Switch# show vlan name vlan-name
Switch(vlan)# no vlan vlan-id //删除VLAN
4. 将端口加入VLAN。
Switch# configure terminal
Switch(config)# interface interface
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan vlan-id
Switch(config-if)# show interface interface-id switchport
5. 配置trunk 端口。
Switch# configure terminal
Switch(config)# interface interface
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk encapsulation isl
Switch(config-if)# end
Switch# show interface interface switchport
Switch# copy running-config startup-config
6. 配置trunk 上允许的VLAN。
Switch(config)# interface interface
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan remove vlan-id-range
Switch(config-if)# switchport trunk allowed vlan add vlan-id-range
Switch(config-if)# end
Switch# show interface interface switchport allowed-vlan
若想取消trunk端口,只需
Switch(config-if)# no switchport mode
7. 使用STP实现负载。
实现负载分担有两种方法:
1) 使用端口优先级。
配置:
Switch_1(config-if)# interface fa0/1
Switch_1(config-if)# spanning-tree vlan 8 9 10 port-priority 10
Switch_1(config)# interface fa0/2
Switch_1(config-if)# spanning-tree vlan 3 4 5 6 port-priority 10
2) 使用路径值。例如:
Switch_1(config)# interface fa0/1
Switch_1(config-if)# spanning-tree vlan 2 3 4 cost 30
Switch_1(config)# interface fa0/2
Switch_1(config-if)# spanning-tree vlan 8 9 10 cost 30
交换设备仍选用Catalyst5500交换机1台,安装WS-X5530-E3管理引擎,多块WS-X5225R在交换机内划有3个虚拟网,分别名为default、qbw、rgw,通过Cisco3640路由器实现虚拟网间路由。交换机设置与例一类似。
路由器Cisco3640,配有一块NM-1FE-TX模块,此模块带有一个快速以太网接口可以支持ISL。Cisco3640快速以太网接口与交换机上的某一支持ISL的端口实现连接,如交换机第3槽第1个接口(3/1口)。
Router#wri t
Building configuration...
Current configuration:
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname Router
!
enable secret 5 $1$w1kK$AJK69fGOD7BqKhKcSNBf6.
!
ip subnet-zero
!
interface FastEthernet1/0
!
interface FastEthernet1/0.1
encapsulation isl 1
ip address 10.230.2.56 255.255.255.0
!
interface FastEthernet1/0.2
encapsulation isl 777
ip address 10.230.3.56 255.255.255.0
!
interface FastEthernet1/0.3
encapsulation isl 888
ip address 10.230.4.56 255.255.255.0
!
no ip classless
!
line con 0
line aux 0
line vty 0 4
password router
login
!
end
Router#
经典配置 Vlan篇
Catalyst 5000 参数
源码:
实验命令
clear ip permit
clear ip route
clear vlan
clear vtp
debug ip packet
ping
set interface sc0
set ip permit
set ip route
set vlan
set vtp
show cam
show config
show flash
show interface
show ip permit
show ip route
show log
show mac
show module
show port
show system
show users
show version
show vlan
show vtp
telnet
配置说明
1.R1
2.R2
3.R3
4.R4
5.R5
6.R6
7.CAT5K
R1
Current configuration:
!
version 11.2
no service password-encryption
!
hostname r1
!
enable password cisco
!
!
!
interface Ethernet0
ip address 130.10.7.1 255.255.255.0
no ip directed-/poadcast
no ip mroute-cache
!
interface Serial0
ip address 130.10.1.1 255.255.255.0
encapsulation frame-relay
ip ospf network point-to-multipoint
!
interface Serial1
ip address 130.10.4.1 255.255.255.0
clockrate 2000000
!
interface /pI0
no ip address
no ip directed-/poadcast
no ip mroute-cache
shutdown
!
router ospf 10
redistribute connected subnets
network 130.10.1.0 0.0.0.255 area 0
network 130.10.4.0 0.0.0.255 area 1
network 130.10.7.0 0.0.0.255 area 2
!
no ip classless
!
!
line con 0
line aux 0
line vty 0 4
password cisco
login
!
end
R2
Current configuration:
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname R2
!
enable password cisco
!
!
!
interface Serial0
ip address 130.10.4.2 255.255.255.0
no fair-queue
!
interface Serial1
no ip address
shutdown
!
interface TokenRing0
ip address 130.10.5.2 255.255.255.0
ring-speed 16
!
router ospf 20
network 130.10.5.0 0.0.0.255 area 1
network 130.10.4.0 0.0.0.255 area 1
!
no ip classless
!
!
line con 0
line aux 0
line vty 0 4
password cisco
login
!
end
R3
Current configuration:
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname R3
!
enable password cisco
!
!
!
interface Serial0
no ip address
shutdown
no fair-queue
!
interface Serial1
no ip address
shutdown
!
interface TokenRing0
ip address 130.10.5.3 255.255.255.0
ring-speed 16
!
interface TokenRing1
ip address 130.10.6.3 255.255.255.0
ring-speed 16
!
router ospf 30
redistribute connected subnets
network 130.10.5.0 0.0.0.255 area 1
!
no ip classless
!
!
line con 0
line aux 0
line vty 0 4
password cisco
login
!
end
R5
Current configuration:
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname R5
!
enable password cisco
!
!
!
interface Ethernet0
ip address 130.10.3.5 255.255.255.0
no ip directed-/poadcast
no ip route-cache
no ip mroute-cache
no mop enabled
!
interface Serial0
ip address 130.10.1.5 255.255.255.0
encapsulation frame-relay
ip ospf network point-to-multipoint
frame-relay map ip 130.10.1.1 100 /poadcast
frame-relay map ip 130.10.1.6 100 /poadcast
!
interface Serial1
no ip address
shutdown
!
router ospf 50
redistribute connected subnets
network 130.10.1.0 0.0.0.255 area 0
network 130.10.3.0 0.0.0.255 area 2
!
no ip classless
!
!
line con 0
line aux 0
line vty 0 4
password cisco
login
!
end
R6
Current configuration:
!
version 11.2
no service password-encryption
!
hostname R6
!
enable password cisco
!
!
!
interface Serial0
ip address 130.10.1.6 255.255.255.0
encapsulation frame-relay
ip ospf network point-to-multipoint
frame-relay map ip 130.10.1.1 110 /poadcast
frame-relay map ip 130.10.1.5 110 /poadcast
!
interface Serial1
no ip address
no ip mroute-cache
shutdown
!
interface TokenRing0
ip address 130.10.2.6 255.255.255.0
ring-speed 16
!
interface /pI0
no ip address
shutdown
!
router ospf 60
redistribute connected subnets
network 130.10.1.0 0.0.0.255 area 0
!
no ip classless
!
!
line con 0
line aux 0
line vty 0 4
password cisco
login
!
end
CAT5K
begin
set password $1$0o8Z$GDCVUXu2Kn3mgBDKwF00p
set enablepass $1$0o8Z$GDCVUXu2Kn3mgBDKwF00p
set prompt Cat5k
set length 24 default
set logout 20
set banner motd ^C^C
!
#system
set system baud 9600
set system modem disable
set system name
set system location
set system contact
!
#snmp
set snmp community read-only public
set snmp community read-write private
set snmp community read-write-all secret
set snmp rmon disable
set snmp trap disable module
set snmp trap disable chassis
set snmp trap disable /pidge
set snmp trap disable repeater
set snmp trap disable vtp
set snmp trap disable auth
set snmp trap disable ippermit
set snmp trap disable vmps
set snmp trap disable entity
set snmp trap disable config
set snmp trap disable stpx
!
#ip
set interface sc0 2 130.10.7.100 255.255.255.0 130.10.7.255
set interface sc0 up
set interface sl0 0.0.0.0 0.0.0.0
set interface sl0 up
set arp agingtime 1200
set ip redirect enable
set ip unreachable enable
set ip fragmentation enable
set ip route 0.0.0.0 130.10.7.1 1
set ip alias default 0.0.0.0
!
#Command alias
!
#vmps
set vmps server retry 3
set vmps server reconfirminterval 60
set vmps tftpserver 0.0.0.0 vmps-config-database.1
set vmps state disable
!
#dns
set ip dns disable
!
#tacacs+
set tacacs attempts 3
set tacacs directedrequest disable
set tacacs timeout 5
set authentication login tacacs disable
set authentication login local enable
set authentication enable tacacs disable
set authentication enable local enable
!
#/pidge
set /pidge ipx snaptoether 8023raw
set /pidge ipx 8022toether 8023
set /pidge ipx 8023rawtofddi snap
!
#vtp
set vtp domain cisco
set vtp mode server
set vtp passwd cisco
set vtp v2 disable
set vtp pruning disable
set vtp pruneeligible 2-1000
clear vtp pruneeligible 1001-1005
set vlan 1 name default type ethernet mtu 1500 said 100001 state active
set vlan 2 name VLAN2 type ethernet mtu 1500 said 100002 state active
set vlan 3 name VLAN3 type ethernet mtu 1500 said 100003 state active
set vlan 1002 name fddi-default type fddi mtu 1500 said 101002 state active
set vlan 1004 name fddinet-default type fddinet mtu 1500 said 101004 state active
set vlan 1005 name trnet-default type tr/pf mtu 1500 said 101005 state active
set vlan 1003 name token-ring-default type trcrf mtu 1500 said 101003 state active
!
#spantree
#uplinkfast groups
set spantree uplinkfast disable
#backbonefast
set spantree backbonefast disable
#vlan 1
set spantree enable 1
set spantree fwddelay 15 1
set spantree hello 2 1
set spantree maxage 20 1
set spantree priority 32768 1
#vlan 2
set spantree enable 2
set spantree fwddelay 15 2
set spantree hello 2 2
set spantree maxage 20 2
set spantree priority 32768 2
#vlan 3
set spantree enable 3
set spantree fwddelay 15 3
set spantree hello 2 3
set spantree maxage 20 3
set spantree priority 32768 3
#vlan 1003
set spantree enable 1003
set spantree fwddelay 4 1003
set spantree hello 2 1003
set spantree maxage 10 1003
set spantree priority 32768 1003
set spantree portstate 1003 auto 0
set spantree portcost 1003 62
set spantree portpri 1003 4
set spantree portfast 1003 disable
#vlan 1005
set spantree disable 1005
set spantree fwddelay 4 1005
set spantree hello 2 1005
set spantree maxage 10 1005
set spantree priority 32768 1005
set spantree multicast-address 1005 ieee
!
#cgmp
set cgmp disable
set cgmp leave disable
!
#syslog
set logging console enable
set logging server disable
set logging level cdp 2 default
set logging level mcast 2 default
set logging level disl 5 default
set logging level dvlan 2 default
set logging level earl 2 default
set logging level fddi 2 default
set logging level ip 2 default
set logging level pruning 2 default
set logging level snmp 2 default
set logging level spantree 2 default
set logging level sys 5 default
set logging level tac 2 default
set logging level tcp 2 default
set logging level telnet 2 default
set logging level tftp 2 default
set logging level vtp 2 default
set logging level vmps 2 default
set logging level kernel 2 default
set logging level filesys 2 default
set logging level drip 2 default
set logging level pagp 5 default
set logging level mgmt 5 default
set logging level mls 5 default
set logging level protfilt 2 default
!
#ntp
set ntp /poadcastclient disable
set ntp /poadcastdelay 3000
set ntp client disable
clear timezone
set summertime disable
!
#permit list
set ip permit enable
set ip permit 130.10.1.6 255.255.255.255
set ip permit 130.10.2.6 255.255.255.255
!
#drip
set tokenring reduction enable
set tokenring distrib-crf disable
!
#igmp
set igmp disable
!
#module 1 : 2-port 100BaseTX Supervisor
set module name 1
set vlan 1 1/1-2
set port enable 1/1-2
set port level 1/1-2 normal
set port duplex 1/1-2 half
set port trap 1/1-2 disable
set port name 1/1-2
set port security 1/1-2 disable
set port membership 1/1-2 static
set cdp enable 1/1-2
set cdp interval 1/1-2 60
set trunk 1/1 on isl 1-1005
set trunk 1/2 auto isl 1-1005
set spantree portfast 1/1-2 disable
set spantree portcost 1/1-2 19
set spantree portpri 1/1-2 32
set spantree portvlanpri 1/1 0
set spantree portvlanpri 1/2 0
set spantree portvlancost 1/1 cost 18
set spantree portvlancost 1/2 cost 18
!
#module 2 : 12-port 10/100BaseTX Ethernet
set module name 2
set module enable 2
set vlan 1 2/1-4
set vlan 2 2/5-8
set vlan 3 2/9-12
set port enable 2/1-12
set port level 2/1-12 normal
set port speed 2/1-12 auto
set port trap 2/1-12 disable
set port name 2/1-12
set port security 2/1-12 disable
set port /poadcast 2/1-12 0
set port membership 2/1-12 static
set cdp enable 2/1-12
set cdp interval 2/1-12 60
set trunk 2/1 auto isl 1-1005
set trunk 2/2 auto isl 1-1005
set trunk 2/3 auto isl 1-1005
set trunk 2/4 auto isl 1-1005
set trunk 2/5 auto isl 1-1005
set trunk 2/6 auto isl 1-1005
set trunk 2/7 auto isl 1-1005
set trunk 2/8 auto isl 1-1005
set trunk 2/9 auto isl 1-1005
set trunk 2/10 auto isl 1-1005
set trunk 2/11 auto isl 1-1005
set trunk 2/12 auto isl 1-1005
set spantree portfast 2/1-12 disable
set spantree portcost 2/1-12 100
set spantree portpri 2/1-12 32
set spantree portvlanpri 2/1 0
set spantree portvlanpri 2/2 0
set spantree portvlanpri 2/3 0
set spantree portvlanpri 2/4 0
set spantree portvlanpri 2/5 0
set spantree portvlanpri 2/6 0
set spantree portvlanpri 2/7 0
set spantree portvlanpri 2/8 0
set spantree portvlanpri 2/9 0
set spantree portvlanpri 2/10 0
set spantree portvlanpri 2/11 0
set spantree portvlanpri 2/12 0
set spantree portvlancost 2/1 cost 99
set spantree portvlancost 2/2 cost 99
set spantree portvlancost 2/3 cost 99
set spantree portvlancost 2/4 cost 99
set spantree portvlancost 2/5 cost 99
set spantree portvlancost 2/6 cost 99
set spantree portvlancost 2/7 cost 99
set spantree portvlancost 2/8 cost 99
set spantree portvlancost 2/9 cost 99
set spantree portvlancost 2/10 cost 99
set spantree portvlancost 2/11 cost 99
set spantree portvlancost 2/12 cost 99
!
#module 3 empty
!
#module 4 empty
!
#module 5 empty
!
#switch port analyzer
set span disable
!
#cam
set cam agingtime 1-3,1003,1005 300
end