为什么需要VTP?
手工配置VLAN信息可能很麻烦(在多个交换机上配置),所以可以考虑让交换机自学配置信息,根据VTP协议,只需要配置一台交换机,其他需要配置VLAN的交换机可以由此动态地学习到配置信息,这样大大简化了配置过程。而且当需要修改配置时,使用VTP也很方便。

VTP通告组播信息包括:VLAN ID、VLAN名和VLAN类型信息,但是,它不会通告哪些端口属于哪个VLAN的信息,所以这些还是需要手工在每台交换机上配置。此外,虽然用于私有VLAN的ID信息会被通告,但具体配置信息不会由VTP通告
 
VTP的功能与模式的相关性如下表:

 

switch vlan端口类型 switchport default vlan_版本号


VTP的工作过程

VTP的更新过程始于管理员在VTP服务端交换机修改VLAN配置。当新配置开始时,VTP服务器将VTP版本号增1,并将该新版本号与整个VLAN配置数据库一同广播。有了VTP版本号,就可以判断什么时候VLAN数据库更新了。当接收到一个VTP更新时,先检查其版本号,如果版本号大于现有配置的版本号,则接收该新配置。

Cisco交换机默认使用VTP服务器模式,不过在未配置VTP域名之前,VTP更新不会发送。而对于VTP客户端而言,它们不需要配置VTP域名。如果未配置域名,客户端会自动设定域名为其收到的第一个VTP更新中的域名。不过,要让VTP客户端生效,你至少需要使用vtp mode命令配置其模式。
当使用VTP时,如果出于可用性的考虑,至少需要两台VTP服务端交换机。正常情形下,配置其中一台即可,另一台可以自动学习。
新接入的VTP服务端或客户端交换机若满足以下情形,可以更新其他交换机的VTP数据库:
1)新交换机的链路处于trunk模式
2)新交换机与其他交换机使用同样的VTP域名
3)新交换机的版本号大于现有交换机的版本号
4)如果配置了密码,新交换机的密码应与其他交换机相同。
 

作用:在同一个管理域中同步VLAN信息,集中管理VLAN
VTP消息只能在--[trunk]--链路上发送,以---[组播帧]---发送
VTP工作模式:
    a)Server(缺省):  可以添加,删除,修改VLAN,会同步VLAN信息,VLAN信息  存放在NVRAM中
    b)Client:不允许添加,删除,修改VLAN   会同步VLAN信息,VLAN信息不存放在NVRAM中--(掉电消失)
    c)Transparent: 可以添加,删除,修改VLAN,不同步VLAN信息,   VLAN信息  存放在NVRAM中               问题:Client  <----->  Server之间的同步,只看"修订号"---Configuration Revision
VTP消息类型:------show vtp counters
     a)-Summary advertisements:(摘要通告)  包含"VTP域名","修订号"
     b)-Subset advertisements:    (子集通告)  包含VLAN信息
     c)-Request advertisements: (请求通告)vtp消息何时发送?
    VTP advertisements are sent every 5 minutes or when there is a change
     a)vlan信息改变时--触发更新
     b)每隔5分钟 定期发
   "改动"定义:新建,删除,修改 (修改VLAN名字),作了改动,马上发送触发更新!VTP Prune   VTP裁剪
        只需要在Server模式的交换机上开启即可,
        缺省vlan 2-1001 允许裁剪 (注:VLAN 1不允许裁剪,大部分的控制数据帧都在vlan 1发送)
        Pruning VLANs Enabled:2-1001      
        Switch(config)#vtp pruning
         --不希望进行裁剪的命令:
       Switch(config)#int fa1/0/1
         Switch(config-if)#switchport trunk pruning vlan none若要配二个server
    修订号小的一方:改为透明模式transparent mode 再改回来,来保证修订号等于0
    或
    域名domain设成空  :一个交换机域名为null,可以学习的,收到VTP消息,学习到"第一个"VTP发给他的消息的域名,会去学域名!示例:
 Configuration Revison: 8
 Switch(config)#vtp mode transparent
  Switch(config)#show vtp status
 Configuration Revison  :0 ----修订号变为0
 -------------------------------------------- 
 show vtp status
   VTP version 1:
   VTP version 2:增加,可以支持令牌环网注:VTP domain name (case sensitive)域名是区分大小写
VTP配置
 VTP向所有活动的trunk接口(ISL或802.1Q)发送更新(注意这个前提条件),一般情况下,Cisco交换机的默认配置是无VTP域名的服务端模式,所以它不会发送任何VTP更新。
 配置示例:
 Switch1#conf t
 Switch1(config)#vtp domain work            --配置VTP域名,Switch1可以发送更新了
 Switch1(config)#^Z
 Switch2#sh vtp status                        --查看Switch2学习到的VTP信息VTP配置选项:
 1)domain:在VTP更新中设置域名。如果接收到的VTP更新的域名与其配置的域名不匹配,则被丢弃。一个交换机只允许一个VTP域名。
 2)password:在VTP更新中生成MD5的密码。如果接收到的VTP更新的密码与其配置的密码不相同,则被丢弃。
 3)mode:设置交换机为服务器、客户端或透明模式。
 4)version:设置版本号为1或2。服务端和客户端在交换VLAN配置信息的时候必须版本号相匹配。版本号设为2的透明模式交换机可以转发版本号为1或2的VTP更新。
 5)pruning:允许VTP修剪(仅当接收端的交换机有属于某个VLAN的端口时,才将该VLAN信息发送给它,这样可以减少网络洪泛流量)。


6)interface:指定交换机选择哪个源MAC地址作为VTP更新接口。
 
标准范围和扩展范围VLAN
标准范围VLAN:1-1005,可通过VTP版本1和2组播,可在VLAN数据库模式下配置,存储在vlan.dat文件中。(注意1是默认VLAN,不能删除和修改)
扩展范围VLAN:1006-4094,不可通过VTP版本1和2组播,不能在VLAN数据库模式下配置,也不能存储在vlan.dat文件中。要配置必须在VTP透明模式才行。ISL和802.1Q都支持扩展范围VLAN。
 
关于VLAN配置的存储位置
两个地方:vlan.dat或运行配置文件。
1)当在VTP服务器模式下时,VTP和标准范围VLAN配置存储在vlan.dat文件中;当在VTP透明模式下时,VTP和标准范围VLAN配置可存储在vlan.dat和运行配置文件中。
2)当在VTP透明模式下时,扩展范围VLAN配置可存储在运行配置文件中。
要删除VLAN和VTP配置信息,需要使用delete flash:vlan.dat命令