交换技术第8章-Advanced Configurations of the Catalyst 5000 Switch
VTP
实现VLAN的2个步骤:
1.创建VLAN
2.把交换机端口分配给VLAN
2种VLAN的定义:active VLAN和transit VLAN,如下图:

如图,中间的交换机并没有分配端口给VLAN 20,数据帧只经过它的trunk端口进行穿越,所以,在中间的交换机上,VLAN 20是transit VLAN,其他的都是active VLAN
划分VLAN的时候要设置的几个参数,比如VLAN ID,用来鉴别不同的VLAN;还可以给VLAN起个名字,作为描述用途,当然该参数是可选的;把交换机端口分配在同一个VLAN ID里,就构成一个VLAN(不是根据名字划分,是根据VLAN ID).如果你的VLAN要跨越多个VLAN,注意要保持这几个交换机上的VLAN配置保持一致
VTP(VLAN Trunk Protocol)就是用来在交换机之间交换VLAN信息,使得VLAN信息保持一致.如下图:

如图,当VLAN 10和VLAN 20跨越交换机1和交换机2的时候,在设置的时候出现了一个问题,就是VLAN 10和VLAN 20的名字,弄反了.这样对排错很不利甚至会产生更长远的错误影响.VTP是在trunk line上工作的,有了VTP,它将自动修复这个错误,如下图:

修复之后如下图,VLAN名字保持一致:

目前有2种版本的VTP:版本1和版本2.默认运行的是版本1.版本1和版本2的主要差异是版本2支持Token Ring
VTP Modes
VTP的3种模式:
1.服务器模式(server mode):该模式下,可以创建,修改和删除VLAN信息,并且向外发送和转发VTP信息,对VLAN配置信息进行同步,保存配置信息到NVRAM中
2.客户模式(client mode):该模式下,不能够创建,修改和删除VLAN信息,不向外发送VTP信息,但是可以转发VTP信息,同步VLAN配置信息,不把配置信息保存在NVRAM中
3.透明模式(transparent mode):只可以本地的创建,修改和删除VLAN信息,不向外发送VTP信息,但是可以转发VTP信息,不对VLAN配置信息进行同步,把配置信息保存在NVRAM中
VTP Pruning
VTP pruning技术:用来节约带宽,减少不必要的流量.如下图:

可以看出,Switch 3不属于Red VLAN,VTP信息不会经过Switch 2到达Switch 3上去
要注意的是,VTP pruning只能工作在VTP server mode
Management Domains
管理域(或VTP domain)是一组在处于相同管理之下的交换机的集合,在VTP domain里,VTP在trunk line上发送VTP更新(update).处于同一个VTP domain里的交换机才能交换VTP更新.所以在同一个VTP domain里的交换机的VTP域名要设置成一样的
VTP域名是大小写敏感的,使用set domain name命令进行设置,如下:
console> (enable) set vtp domain [name]
例子如下图:

Switch_A> (enable) set vtp domain ACC
VTP domain ACC modified
Switch_A> (enable)
在A上设置VTP域名为ACC,在B上无须设置,因为B是通过trunk line直连到A,会自动加到AAC的管理范围(但是这个方法不推荐,推荐在B上进行手动设置VTP域名)
设置VTP的工作模式,使用set vtp mode命令,默认是server模式.如下:
Switch_A> (enable) set vtp mode [mode]
例子:
Switch_A> (enable) set vtp mode client
VTP domain ACC modified
Switch_A> (enable) set vlan 30
Cannot add/modify VLANs on a VTP client.
Switch_A> (enable)
由于把VLAN 30设置为了client模式,添加新的VLAN将收到错误提示
Configuring Secure Management Domains
如果你不想把直连的新的交换机自动加到某个VTP域的管理范围内,就可以设置VTP域的密码(password).把VTP域设置一个密码,上述情况就不会发生,设置密码的时候要注意,所有在同一个VTP域里的交换机上的密码要设置成一样的.设置命令,只需要在set vtp domain [name]后加上passwd [password]就可以了,刚才的例子,如下:
Switch_A> (enable) set vtp domain ACC passwd TobaccoRoad
Generating MD5 secret for the password ....
VTP domain ACC modified
Switch_A> (enable)
Switch_B> (enable) set vtp domain ACC passwd TobaccoRoad
Generating MD5 secret for the password ....
VTP domain ACC modified
Switch_B> (enable)
Configuring VTP Version 2
默认Catalyst上是没有启用版本2的.在启用之前要先看下你的交换机是否全部支持VTP版本2.设置VTP版本2,使用set vtp v2 enable命令,如下:
Switch_A> (enable) set vtp v2 enable
This command will enable the version 2 function in the entire management domain.
All devices in the management domain should be version2-capable before enabling.
Do you want to continue (y/n) [n]? y
VTP domain ACC modified
Switch_A> (enable)
Configuring VTP Pruning
VTP pruning默认是没有启用的,如果在一个VTP域里启用了VTP pruning,整个VTP域里的交换机都自动进行VTP pruning,即无须在第二台交换机上进行设置VTP pruning.命令如下:
console> (enable) set vtp pruning enable
例子:
Switch_A> (enable) set vtp pruning enable
This command will enable the pruning function in the entire
management domain.
All devices in the management domain should be pruning-capable before enabling.
Do you want to continue (y/n) [n]? y
VTP domain ACC modified
Switch_A> (enable)
要注意的是VTP版本1不支持VTP pruning
Verifying the VTP Settings
要查看VTP信息统计,可以使用show vtp domain或show vtp statistics命令
Configuring VLANs
创建VLAN的命令如下:
Switch_A> (enable) set vlan [vlan_number] name [VLAN_name]
可以使用show vlan验证VLAN的设置.一旦在一个交换机上创建了VLAN以后,这个VLAN信息将通过VTP被宣告给整个VTP域
接下来把端口分配给VLAN,如下:
Switch_A> (enable) set vlan [vlan_num] [module/ports]
如果端口连续,可以使用连字号(hyphen)或逗号如下:
Switch_A> (enable) set vlan 10 3/1-12
VLAN 10 modified.
VLAN 1 modified.
VLAN Mod/Ports
–––– ––––––––––
10 3/1-12
Switch_A> (enable) set vlan 20 3/13-23,24
VLAN 20 modified.
VLAN 1 modified.
VLAN Mod/Ports
––– ––––––––––
20 3/13-24
Switch_A> (enable)
Configuring Dynamic VLANs
可以通过采用VMPS(VLAN membership policy server),根据每个端口所连的计算机,随时改变端口所属的VLAN,最常见的就是基于MAC地址的划分.VMPS实际上也是Catalyst交换机,只不过是从TFTP服务器上下载了一个VLAN到MAC地址映射的文本文件
当交换机收到一个帧以后,交换机检查VMPS(有可能是它自己)的数据库,并比较帧的源MAC地址,如果数据库里有相应条目,收到这个帧的端口就把它转发到指定的VLAN上去;如果数据库中没有相应条目,那么端口有可能:
1.如果VMPS没有处于安全模式(secure mode),就返回access-denied信息
2.如果VMPS处于安全模式,端口将shut down
3.将把帧分配给特定的fallback VLAN
基于MAC地址动态划分VLAN的第一步是要搜集MAC地址,再来做MAC地址到VLAN的映射,然后保存为文本文件(数据库),存放到TFTP服务器上.一般VMPS数据库格式如下:
!VMPS Database for ACC
!
!
vmps domain ACC 指定VTP域名
vmps mode open 指定VMPS模式
vmps fallback -NONE- 定义fallback VLAN
!
!MAC Addresses
!
vmps-mac-addrs
!
!address vlan-name
!
address 0001.1111.1111 vlan-name hardware 定义MAC地址到LAN的映射
address 0001.2222.2222 vlan-name hardware
address 0001.3333.3333 vlan-name Green
VMPS数据库完成以后,接下来就把Catalyst配置为VMPS服务器,命令如下:
Switch_A> (enable) set vmps tftpserver [ip_address] [filename_VMPS_Database]
这个命令告诉交换机从哪下载数据库文件,并且在交换机启动以后加载到RAM中,交换机每次启动的时候,都会重新从TFTP服务器加载一次数据库文件,所以,要时时刻刻保持TFTP服务器可以访问.数据库的文件名可以任意设置,如果不设置,默认名为vmps-config-database.1
第三步要做的是,使用命令激活VMPS,如下: net130整理
Switch_A> (enable) set vmps state enable
设置端口为动态分配,如下:
Switch_A> (enable) set port membership [mod_num/port_num] dynamic
最后,配置其他交换机为VMPS的客户机,如下:
Switch_A> (enable) set vmps server [ip_address_of_VMPS] [primary]
可以使用show vmps mac显示整个VMPS数据库的信息,如下:
Switch_A> (enable) show vmps mac
MAC Address VLAN Name Last Requestor Port ID Last Accessed Last Response
––––––
12-23-56-78-9a-bc DUKE 0.0.0.0 0,00:00:00 Success
aa-bb-cc-dd-ee-ff FSU 0.0.0.0 0,00:00:00 Success
fe-dc-ba-98-76-54 -NONE- 0.0.0.0 0,00:00:00 Success
Configuring Trunking
在配置trunk之前,要看下端口是否具备trunk的能力,使用show port capabilities命令查看,如下:
Switch_A> (enable) show port capabilities 1/1
Model WS-X5530
Port 1/1
Type 1000BaseSX
Speed 1000
Duplex full
Trunk encap type 802.1Q,ISL
Trunk mode on,off,desirable,auto,nonegotiate
Channel no
Broadcast suppression percentage(0-100)
Flow control receive-(off,on,desired),send-(off,on,desired)
Security no
Membership static
Fast start yes
Rewrite no
5种trunk模式如下:
1.on:启用trunk
2.off:不启用trunk
3.disirable:只要对方能够trunk,它就trunk
4.aut默认的模式,不关心是否能够trunk
5.nonnnegotiate:进行trunk但是不会和对方进行协商 net130整理
设置trunk port的命令如下:
Switch_A> (enable) set trunk [module_number/port_number] [on|off|desirable|auto|nonegotiate] [trunk_encapsulation_method]
例子:
Switch_A> (enable) set trunk 1/1 on isl
Port(s) 1/1 trunk mode set to on.
Port(s) 1/1 trunk type set to isl.
Switch_A> (enable)
2004 Jul 12 20:31:18 %DTP-5-TRUNKPORTON:Port 1/1 has become isl
trunk
Switch_A> (enable)
使用show trunk命令进行验证trunk信息
Written by yUmis(牛奶咖喱) a.k.a. 红头发 net130整理 |