VTP:思科VLAN中继协议

思科 vlan 中继协议(vtp)是思科第 2 层信息传送协议,主要控制网络内 VLAN 的添加、删除和重命名。VTP 减少了交换网络中的管理工作。用户在 VTP 服务器上配置新的 VLAN,该 VLAN 信息就会分发到所有交换机,这样可以避免到处配置相同的 VLAN 。VTP 是思科专有协议,它支持大多数的 cisco Catalyst 系列产品。

  通过 VTP,其域内的所有交换机都清楚所有的 VLAN 情况。然而 VTP 会产生不必要的网络流量。这时,所有未知的单播和广播在整个 VLAN 内进行扩散,使得网络中的所有交换机接收到所有广播,即使 VLAN 中没有几个连接用户,情况也不例外。而 VTP pruning 技术正可以消除该多余流量。

  缺省方式下,所有 Cisco Catalyst 交换机都被配置为 VTP 服务器。这种情形适用于 VLAN 信息量小且易存储于任意交换机 (NVRAM)上的小型网络。对于大型网络,由于每台交换机都会进行 NVRAM 存储操作,但该操作对于某些点是多余的,所以在这些点必须设置一个“判决呼叫”(judgment call)。基于此,网络管理员所使用的 VTP 服务器应该采用配置较好的交换机,其它交换机则作为客户机使用。选择作为 VTP 服务器的交换机数量应能提供网络所需的冗余。

  到目前为止,VTP 具有三种版本。其中 VTPv2 与 VTPv1 区别不大,主要区别在于:VTPv2 支持令牌环 VLAN,而 VTPv1 不支持。通常只有在使用 Token Ring VLAN 时,才会使用到 VTPv2,否则一般情况下并不使用 VTPv2。

  VTPv3 不能直接处理 VLAN 事务,它只负责管理域(administrative domain)内不透明数据库的分配任务。与前两版相比,VTPv3 具有以下改进:

  • 支持扩展 VLAN 。
  • 支持专用 VLAN 的创建和通告。
  • 改进的服务器认证性能。
  • 避免“错误”数据库进入 VTP 域。
  • 与 VTP v1 和 VTP v2 交互作用。
  • 支持每端口(on a per-port basis)配置。
  • 支持传播 VLAN 数据库和其它数据库类型。

协议结构

  VTP 头结构格式可以改变,这主要取决于 VTP 信息类型。但是它们都包括以下字段:

  • VTP 协议版本:1、2或3。
  • VTP 信息类型:
    • Summary advertisements
    • Subset advertisement
    • Advertisement requests
    • VTP join messages
  • 管理域大小
  • 管理域名称

  Summary Advertisements

  当交换机接收到一个 summary advertisement 数据包时,它将该数据包的 VTP 域名称与其自己的 VTP 域名称相比。如果名称不同,那么该交换机忽略该数据包。如果名称相同,那么再比较两者的配置修订(configuration revision)。如果该交换机自己的配置修订高于或等于发送的 summary advertisement 数据包的修订,那么忽略该数据包。反之,就发送一个广告请求(advertisement request)。

  • Followers 表示该数据包后面跟随一个Subset Advertisement 数据包。
  • updater identity 表示最后一个增加配置修订的交换机的IP地址。
  • Update timestamp指配置修订的最后增量的日期和时间。
  • Message Digest 5 (MD5),在配置密码的情况下,用于传送VTP密码;还用于认证VTP 更新的有效性。

  Subset Advertisements

  当交换机中需要添加、删除或改变一个 VLAN 时,发生改变的服务器交换机会增加配置修订并发送出一个 summary advertisement,其后跟随的是一个或多个 subset advertisement。一个 subset advertisement 包括一列 VLAN 信息。如果有多个 VLAN,那么需要提供更多 subset advertisement 来广告所有 VLAN。该数据包中的大多数字段比较容易理解。主要说明以下两点:

  • Code ― ubset advertisement 中的该字段值为0x02。
  • Sequence number ― 指 summary advertisement 后的数据包流中的数据包序列。序列号从1开始。

  Advertisement Requests

  在以下情况下,交换机需要 VTP advertisement request:

  • 交换机被重新设置;
  • VTP 域名被改变;
  • 交换机接收到高于自己配置修订的 VTP summary advertisement。

关键词: vlan , vtp , cisco

上一篇: 嗅探原理与反嗅探技术详解
下一篇: 手开了条口子

相关文章
访客评论
#1
回复 VTP 2006-03-21, 21:26:50
VTP不能在交换机间同步的几种情况分析

vtp在交换机同步主要的依据就是Configuration Revision,在大家的domain name和password相同的情况下,谁的Configuration Revision高,就以谁的为准。根据这个原理,我们在判断vtp信息不能同步的时候,大概要看以下几个方面:

  1、首先判断所有参与vtp的交换机domain name和password一致,domain name好办,通过sh vtp stat可以看到,但是password就不太好办了,新的交换机可以通过sh vtp password看到,部分较老的交换机没有这个命令,目前为止我不知道如何去得到这个password,碰到这种老的交换机比较稳妥的办法就是重新设置 password。

  2、其次判断所有的交换机的vtp mode 是否为server或者client,如果是transparent模式,则这个交换机不会与其他vtp域内交换机同步。值得一提的是,部分cisco的交换机只支持有限的vlan数量,如2950只支持64个vlan,如果你在vtp server端配置了超过64个的vlan,在这种情况下,IOS会自动把2950的vtp mode改为transparent,在这种情况下,vtp 信息也不能同步。

  3、最后还有一种比较特殊的情况,就是vtp域内的几个交换机vlan 信息不一致,但是大家的Configuration Revision 相同,在这种情况下,也不能同步,解决办法就是修改某个交换机的vlan信息,强迫Configuration Revision 增加,触发同步。这种情况比较特殊,常见于从不同的地方拿交换机过来搭建测试环境的情况。

  4、常用的命令:

sh vtp stat
在这个命令中注意
Configuration Revision : 106
VTP Operating Mode : Server
VTP Domain Name : test

sh vtp counter
在这个命令中注意
Number of config revision errors : 25
这个错误是由于大家的revision 相同引起的
Number of config digest errors : 0
这个错误是由于大家的domain password不匹配引起的


sh vtp password
这个命令用来查看当前的vtp password

发表评论

评论内容 (必填):