一、VTP理论
1、VTP概述
在Cisco交换机上,一旦通过某种方式激活了干线,这些交换机就会在干线上通告哪些VLAN是可用的,并且会维持这些VLAN的相关信息,这项功能称之为VLAN中继协议(VLAN Trunking Protocol,简称VTP)。需要注意的是,VTP是Cisco私有协议。
2、VTP的作用
VTP负责在VTP域内同步VLAN信息。可以将一台交换机配置为Server,其他交换机配置为Client,这样只需要在Server端配置VLAN相关信息,Client会自动学习到Server端的配置。
VTP在一组处于同一个域下的交换机之间进行VLAN通信,从一个中心控制点(VTP Server)开始,维护整个域中VLAN的添加、删除和重命名工作,确保配置的一致性,将进行变动时可能会出现的配置不一致性降至最低。
3、VTP特点
a、VTP是一种消息协议,使用第2层帧,通过VLAN1传输;
b、在全网的基础上管理VLAN的添加、删除和重命名,以实现VLAN配置的一致性;
c、VTP能够管理网络中VLAN的范围是从1到1005,不能管理扩展VLAN(VLAN号大于1005);
d、VTP使用VTP通告(VTP Advertisements)在交换机之间传输VLAN信息;
e、VTP通告只能在Trunk链路上交互,如果是access链路,则不能通告VLAN的配置信息。
4、VTP域名
想要实现VTP Server和Client之间的学习,必须要求所有的交换机处于同一个域中,也就是说,每一个VTP中的交换机必须要有一个域名。默认情况下,所有启用VTP的交换机域名都为空,VTP Server必须手工指定域名,并且VTP Server域名为空时,不发送VTP通告。VTP Client的域名如果起始为空的话,可以自动学习到VTP Server的域名。这里我们要注意,一旦VTP Client学习到了域名以后,VTP Server的域名发生了变化后,VTP Client的域名不会跟着发生变化。一个交换机只能加入一个VTP域,不同域中的交换机不能交换VTP信息。
5、VTP通告(Advertising)
a、VTP帧结构
VTP帧被封装在802.1Q或者ISL中,VTP帧以组播的方式发送,目标MAC地址时保留的MAC地址“01-00-0C-CC-CC-CC”。
VTP帧包括帧头和信息内容。
VTP帧头中包括:域名、域名长度、VTP版本、VTP配置修正号、VTP信息类型等。
VTP信息内容包括:MD5散列值、帧的格式(ISL或802.1Q),以及每一个VLAN的配置信息。每个VLAN的配置信息包括:VLAN ID、VLAN名称、VLAN类型(如普通VLAN或者语音VLAN)、VLAN的状态(如激活或挂起)、VLAN相关的其他信息等。
b、VTP通告类型
VTP通告有3中类型:
(1)汇总通告(Summary Advertisements)
汇总通告包括VTP域名、配置修正号和VTP配置的一些细节。VTP汇总通告采用周期性发送和触发更新的方式。
周期性发送:每5分钟被VTP Server或VTP Client发送,用来通知工作在同一个域中的VTP邻居交换机,当前VTP配置修正号是多少。
触发发送:如果VTP配置发生变化,VTP汇总通告被立即发送。
(2)子集通告(Subnet Advertisements)
子集通告包括具体的VLAN配置信息,在完全更新中,有时可能会发送多个子集通告。
以下这些变化会触发子集通告:
创建或删除VLAN;
挂起或激活VLAN;
改变VLAN的名字;
改变VLAN MTU(Maximum Transmit Unit,最大传输单元)。
(3)查询通告(Request Advertisements)
当VTP Server收到一个查询通告时,VTP Server会发送一个VTP汇总通告和一个VTP子集通告。
以下情况会发送查询通告:
VTP域名发生改变;
交换机收到一个汇总通告,汇总通告中的配置修正高于本交换机的配置修正号;
因为某些原因,子集通告丢失;
交换机重启。
6、VTP模式(Modes)
a、Server模式
工作在Server模式下的交换机,可以创建、修改、删除VLAN。VTP Server交换机通告自己的VLAN信息给同一个域中的其他交换,同时也与收到的VTP通告同步VLAN信息。VLAN的配置信息保存在vlan.dat文件中,删除vlan.dat文件重启后,交换机VTP恢复到出厂配置。Server模式是思科交换机的默认VTP模式。
b、Client模式
工作在Client模式下的交换机,不可以创建、修改、删除VLAN。当VTP Client重启时,会发送一个查询通告给VTP Server,请求更新的VLAN信息。VTP Client交换机通告自己的VLAN信息给同一个域中的其他交换机,同时也与收到的VTP通告同步VLAN信息。
c、Transparent(透明)模式
工作在Transparent模式下的交换机,可以创建、修改、删除VLAN,但所做的修改只影响当前的交换机。工作在该模式下的交换机可以转发收到的VTP通告给网络中的其他交换机,但是不会学习,也不会发送自己的VTP信息给其他交换机,同样也不与网络上的其他交换机同步VLAN信息。VLAN的配置信息并不保存在vlan.dat文件中,而是保存在running-cofnig中,如果想要交换机重启后仍然保存VLAN信息,需要使用copy running-config startup-config。删除vlan.dat文件,但不删除startup-config文件,重启后,交换机的VTP模式和VLAN配置信息都不会发生改变。
7、VTP三种模式对比
下表给出了VTP三种模式的对比:
VTP Server | VTP Client | VTP Transparent | |
能否创建、修改、删除VLAN | 能 | 不能 | 能 |
能否发送VTP通告 | 能 | 能 | 仅能转发收到VTP通告 |
能否同步VTP信息 | 能 | 能 | 不能 |
VLAN信息的保存位置 | vlan.dat | vlan.dat | running-config |
8、VTP裁剪(Pruning)
VTP Pruning是VTP的一个功能,它能减少中继端口上不必要的信息量。在Cisco交换机上,VTP裁剪功能默认是关闭的。在默认情况下,发送给某个VLAN的广播会通过主干链路传输到所有的交换机,即使那台交换机上没有位于相应VLAN的端口。当启用VTP Pruning后,交换机会自动检测是否有接口在相应的VLAN中,然后通告给其他的交换机,当其余交换机收到通告信息后,会自动的允许或者阻塞某一个VLAN信息通过主干链路。
9、VTP所用到的命令
Switch(config)#vtp version 1或2或3 修改vtp的版本,具体支持哪些版本取决于交换机,默认为1
Switch(config)#vtp mode server 修改vtp模式为server模式,默认模式
Switch(config)#vtp mode client 修改vtp模式为client模式
Switch(config)#vtp mode transparent 修改vtp模式为transparent模式
Switch(config)#vtp domain sugege.com 修改vtp的域名为sugege.com
Switch(config)#vtp password 12345 修改vtp验证时的密码,可以保证vtp的安全性
Switch#show vtp status 查看vtp的状态信息
10、vtp状态信息内容
VTP_Server#show vtp status
VTP Version capable : 1 to 3 支持的vtp版本为1到3
VTP version running : 1 现在运行的vtp版本
VTP Domain Name : sugege.com vtp的域名
VTP Pruning Mode : Disabled 是否启用vtp裁剪
VTP Traps Generation : Disabled traps主要用来为SNMP服务器发送消息
Device ID : aabb.cc00.0700
Configuration last modified by 0.0.0.0 at 2-5-17 10:36:49 配置的最后改变时间
Local updater ID is 0.0.0.0 (no valid interface found) 发送vtp消息的端口ip地址
Feature VLAN:
--------------
VTP Operating Mode : Server vtp 模式
Maximum VLANs supported locally : 1005 支持的最大VLAN数,取决于交换机型号
Number of existing VLANs : 7 设备上存在的VLAN数
Configuration Revision : 2 交换机的配置修正号,VLAN信息每发生一次变化,配置修正号就加1
MD5 digest : 0xB7 0xD9 0xF9 0xA3 0x2A 0x3C 0xA0 0xB9
0x63 0x52 0x53 0x5A 0x65 0x0D 0xC7 0x6F 从vtp信息计算出的散列值,VLAN信息发生变化后,该值也会发生变化