VTP:Cisco VLAN Trunking Protocol
(VTP:思科VLAN中继协议)
VLAN 中继协议(VTP)是思科第2层信息传送协议,主要控制网络范围内 VLANs 的添加、删除和重命名。VTP 减少了交换网络中的管理事务。当用户要为 VTP 服务器配置新 VLAN 时,可以通过域内所有交换机分配 VLAN,这样可以避免到处配置相同的 VLAN。VTP 是思科私有协议,它支持大多数的 Cisco Catalyst 系列产品。
通过 VTP,其域内的所有交换机都清楚所有的 VLANs 情况,但当 VTP 可以建立多余流量时情况例外。这时,所有未知的单播(Unicasts)和广播在整个 VLAN 内进行扩散,使得网络中的所有交换机接收到所有广播,即使 VLAN 中没有连接用户,情况也不例外。而 VTP Pruning 技术正可以消除该多余流量。
缺省方式下,所有Cisco Catalyst交换机都被配置为 VTP 服务器。这种情形适用于 VLAN 信息量小且易存储于任意交换机(NVRAM)上的小型网络。对于大型网络,由于每台交换机都会进行 NVRAM 存储操作,但该操作对于某些点是多余的,所以在这些点必须设置一个“判决呼叫”(Judgment Call)。基于此,网络管理员所使用的 VTP 服务器应该采用配置较好的交换机,其它交换机则作为客户机使用。此外需要有某些 VTP 服务器能提供网络所需的一定量的冗余。
到目前为止,VTP 具有三种版本。其中 VTP v2 与 VTP v1 区别不大,主要不同在于:VTP v2 支持令牌环 VLANs,而 VTP v1 不支持。通常只有在使用 Token Ring VLANs 时,才会使用到 VTP v2,否则一般情况下并不使用 VTP v2。
VTPv3 不能直接处理 VLANs 事务,它只负责管理域(Administrative Domain)内不透明数据库的分配任务。与前两版相比,VTP v3 具有以下改进:
支持扩展 VLANs。
支持专用 VLANs 的创建和广告。
提供服务器认证性能。
避免“错误”数据库进入 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)。
Summary Advert Packet Format
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。
Summary Advert Packet Format
下面的表格表示每个不同的 VLAN 信息字段包含的信息(ISL VLAN ID 值最小最先发生):
不同的 VLAN 信息字段包含的信息
该数据包中的大多数字段比较容易理解。主要说明以下两点:
Code ― ubset advertisement 中的该字段值为0x02。
Sequence number ― 指 summary advertisement 后的数据包流中的数据包序列。序列号从1开始。
Advertisement Requests
在以下情况下,交换机需要 VTP advertisement request:
交换机被重新设置;
VTP 域名被改变;
交换机接收到高于自己配置修订的 VTP summary advertisement。
一旦接收到 advertisement request,VTP 设备便发送一个 summary advertisement,接着是一个或多个 subset advertisement。实例如下:
Advertisement Requests
Code ― advertisement request 中的该字段值为 0x03。
Start Value ― 适用于有多个 subset advertisement 的情况。如果已经接收到第一个(N) subset advertisement,而其后的一个(N+1)尚未接收到时,Catalyst 只发送来自第(N+1)个 subset advertisement 的 advertisement 请求。
相关协议
IEEE 802.1Q
组织来源
VTP 是思科私有协议。
相关链接
http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_guide_chapter09186a008019f048.html#1017196: Understanding and Configuring VLAN Trunking Protocol