一、VTP概述
  VLAN中继协议(VTP,VLAN TRUNKING PROTOCOL)是CISCO专用协议,大多数交换机都支持该协议.VTP负责在VTP域内同步VLAN信息,这样就不必在每个交换上配置相同的VLAN信息.
  VTP还提供一种映射方案,以便通信流能跨越混合介质的骨干.
  VTP最重要的作用是,将进行变动时可能会出现在的配置不一致性降至最低.
  VTP也有一些缺点,这些缺点通常都与生成树协议有关.
  1、VTP协议的作用
  VLAN中继协议(VTP)利用第2层中继帧,在一组交换机之间进行VLAN通信.VTP从一个中心控制点开始,维护整个企业网上VLAN的添加、添加和重命名工作,确何配置的一致性。
  2、VTP的优点
  >保持配置的一致性
  >提供跨不同介质类型如ATM FDDI和以太网配置虚拟局域网的方法
  >提供跟踪和监视虚拟局域网的方法
  >提供检测加到另一个交换机上的虚拟局域的方法
  >提供从一个交换机在整个管理域中增加虚拟局域网的方法
  二、VTP的工作原理
  1、VTP概述和工作原理
  VTP是一种消息协议,使用第2层帧,在全网的基础上管理VLAN的添加、删除和重命名,以实现VLAN配置的一致性。可以用VTP管理网络中VLAN1到1005。
  有了VTP,就可以在一台机换上集中过时行配置变更,所作的变更会被自动传播到网络中所有其他的交换机上。(前提是在同一个VTP域)
  为了实现此功能,必须先建立一个VTP管理域,以使它能管理网络上当前的VLAN。在同一管理域中的交换机共享它们的VLAN信息,并且,一个交换机只能参加到一个VTP管理域,不同域中的交换机不能共享VTP信息。
  交换机间交换下列信息:
  >管理域域名
  >配置的修订号
  >已知虚拟局域网的配置信息.
  交换机使用配置修正号,来决定当前交换机的内部数据是否应该接受从其他交换机发来的VTP更新信息.
  >如果接收到的VTP更新配置修订号与内部数据库的修订号相同域者比它小,交换机忽略更新.
  >否则,就更新内部数据库,接受更新信息.
  VTP管理域在安全模式下,必须配置一个在VTP域中所有交换机惟一的口令.
  VTP的运行有如下特点:
  >VTP通过发送到特定MAC地址01-00-0C-CC-CC-CC的组播VTP消息进行工作.
  >VTP通告只通过中继端口传递.
  >VTP消息通过VLAN1传送.(这就是不能将VLAN1从中继链路中去除的原因)
  >在经过了DTP自动协商,启动了中继之后,VTP信息就可以沿着中继链路传送.
  >VTP域内的每台交换机都定期在每个中继端口上发送通告到保留的VTP组播地址
  VTP通告可以封装在ISL或者IEEE802.1Q帧内.
  2、VTP域
  VTP域,也称为VLAN管理域,由一个以上共享VTP域名的相互接连的交换机组成.
  要使用VTP,就必须为每台交换机指定VTP域名.VTP信息只能在VTP域内保持.一台交换机可属于并且只属于一个VTP域.
  缺省情况下,CATALYST交换机处于VTP服务器模式,并且不属于任何管理域,直到交换机通过中继链路接收了关于一个域的通告,或者在交换机上配置了一个VLAN管理域,交换机才能在VTP服务器上把创建或者更改VLAN的消息通告给本管理域内的其他交换机
  如果在VTP服务器上进行了VLAN配置变更,所做的修改会传播到VTP域内的所有交换机上.
  如果交换机配置为"透明"模式,可以创建或者修改VLAN,但所做的修改只影响单个的交换机
  控制VTP功能的一项关键参数是VTP配置修改编号.这个32位的数字表明了VTP配置的特定修改版本.配置修改编号的取值从0开始,每修改一次,就增加1直到达到4294967295,然后循环归0,并重新开始增加.每个VTP设备会记录自己的VTP配置修改编号;VTP数据包会包含发送者的VTP配置修改编号.这一信息用于确定接收到的信息是否比当前的信息更新.
  要将交换机的配置修改号置为0,只需要禁中继,改变VTP的名称,并再次启用中继.
  VTP域的要求:
  >域内的每台交换机必须使用相同的VTP域名,不论是通过配置实现,还是由交换机自动学动
  >CATALYST交换机必须是相邻的,这意味着,VTP域内的所有交换机形成了一颗相互连接的树.每台交换机都通过这棵树与其他交换机相互.
  >在所有的交换机之间,必须启用中继.
  3、VTP的运行模式
  VTP模式有3种,分别是:
  >服务器模式(SERVER 缺省)
  VTP服务器控制着它们所在域中VALN的生成和修改.所有的VTP信息都被通告在本域中的其他交换机,而且,所有这些VTP信息都是被其他交换机同步接收的.
  >客户机模式(CLIENT)
  VTP客户机不允许管理员创建、修改或删除VLAN。它们监听本域中其他交换机的VTP通告,并相应修改它们的VTP配置情况.
  >透明模式(TRANSPARENT)
  VTP透明模式中的交换机不参与VTP.当交换机处于透明模式时,它不通告其VLAN配置信息.而且,它的VLAN数据库更新与收到的通告也不保持同步.但它可以创建和删除本地的VLAN.不过,这些VLAN的变更不会传播到其他任何交换机上.
  各种运行模式的状态
  功能 服务器模式 客户端模式 透明模式
  提供VTP消息 √ √ ×
  监听VTP消息 √ √ ×
  修改VLAN √ × √(本地有效)
  记住VLAN √ ×√(在不同的版本有不同的结果) √(本地有效)
  4、VTP的通告
  1.VTP通告概述
  使用VTP时,加入VTP域的每台交换机在其中继端口上通告如下信息.
  >管理域
  >配置版本号
  >它所知道的VLAN
  >每个已知VLAN的某些参数
  这些通告数据帧被发送到一个多点广播地址(组播地址),以使所有相邻设备都能收到这些帧.
  新的VLAN必须在管理域内的一台牌服务器模式的交换机上创建和配置.该信息可被同一管理域中所有其他设备学到
  VTP帧是作为一种特殊的帧发送到中继链路上的.
  有2种类型的通告:
  >来自客户机的请求,由客户机在启动时发出,用以获取信息.
  >来自服务器的响应
  有3种类型的消息:
  >来自客户机的通告请求
  >汇总通告
  >子集通告
  VTP通告中可包含如下信息:
  >管理域名称
  >配置版本号
  >MD5摘要--当配置了口令后,MD5是与VTP一起发送的口令.如果口令不匹配,更新将被忽略.
  >更新者身份--发送VTP汇总通告的交换机的身份.
  VTP通告处理以配置修订号为0为起点.每当随后的字段变更一项时,这个修订号就加1,直到VTP通告被发送出去为止.
  VTP修订号存储在NVRAM中,交换机的电源开关不会改变这个设定值.要将修订号初始化为0,可以用下列方法:
  >将交换机的VTP模式更改为透明模式,然后再改为服务器模式.
  >将交换机VTP的域名更改一次,再更改回原来的域名.
  >使用clear config all命令,清除交换机的配置和VTP信息.再次启动.
  2. 3种VTP消息类型
  (1)汇总通告
  用于通知邻接的CATALYST交换机目前的VTP域名和配置修改编号.缺省情况下,CATALYST交换机每5分钟发送一次汇总通告.
  当交换机收到了汇总通告数据包时,它会对比VTP域名:
  >如果域名不同,就忽略此数据包
  >如果域名相同,则进一步对比配置修改编号
  >如果交换机自身的配置修改编号更高或与之相等,就忽略此数据包.如果更小,就发送通告请求.
  (2)子集通告
  如果在VTP服务器上增加、删除或者修改了VLAN,"配置修改编号"就会增加,交换机会首先发送汇总通告,然后发送一个或多个子集通告.挂起或激活某个VLAN,改变VLAN的名称或者MTU,都会触发子集通告.
  子集通告中包括VLAN列表和相应的VLAN信息.如果有多个VLAN,为了通告所有的信息,可能需要发送多个子集通告.
  (3)通告请求
  交换机在下列情况下会发出VTP通告请求:
  >交换机重新启动后
  >VTP域名变更后
  >交换机接到了配置修改编号比自己高的VTP汇总通告
  5、VTP域内安全
  为了使管理域更安全,域中每个交换机都需要配置域名和口令,并且域名和口令必须相同.
  例(将TEST管理域设置为安全管理域):
  >进入配置模式:
  switch#configure terminal
  >配置VTP域名:
  switch(config)#vtp domain test
  >配置VTP运行模式:
  switch(config)#vtp mode server
  >配置VTP口令:
  switch(config)#vtp password 2 3 7
  switch(config-if)#end
  switch#show interface fa0/3 switchport
  -
  trunking vlans active:1-4,6,7,200
  pruning vlans enable :4-6,8-1001
  例3(在管理域中关闭VTP修剪)
  switch#config t
  switch(config)#no vtp pruning
  switch#show vtp status
  -
  vtp pruning mode :disabled(修剪已关闭)
  <3>VTP版本设置
  switch(config)#vtp version 2(配置为版本2)
  switch(config)#no vtp version 2(回到版本1)
  switch#show vtp terminal
  VTP V2 mode :enable
  只有在VTP服务器模式下才能变更VTP版本
  3、在VTP域内增加、减少交换机的配置方法
  <1>增加交换机
  新加入的交换机的VTP配置号比所要加入的域中原来的VTP服务器上的配置号要低.
  添加过程:
  >清除配置:(或其他的方法)
  switch(config)#erase startup-config
  switch(config)#end
  switch#reload
  >配置VTP运行模式:
  switch(config)#vtp domain test
  >配置VTP运行模式
  switch(config)#vtp mode server
  switch(config)#end
  switch#show vtp status
  <2>减少交换机
  switch(config)#vtp domain test-a
  switch(config)#end
  switch#show vtp status