VTP(vlan trunking protocol)vlan中继协议,是一个二层协议,主要用于在一个vtp域内同步vlan信息(vlan的添加、删除、重命名)。
所谓vtp域,就是配置了相同vtp域名的所有连接在一起的交换机组成的网络。所有的交换机之间必须通过trunk链路连接才能传播vtp协议报文,并且vlan 1必须在trunk链路中,因为vtp协议使用vlan 1在trunk链路中传播。
vtp域内的交换机存在三种模式:
1、服务器模式,处于该模式下的交换机可以按时从trunk口发送vtp协议报文(默认5分钟),也可以对接收到的vtp协议报文进行处理。可以在该交换机上对vlan进行配置,并且配置会被同步到域内的所有交换机上。
2、客户端模式,处于该模式下的交换机可以按时从trunk口发送vtp协议报文默认5分钟),也可以对接收到的vtp协议报文进行处理。但是不可以在该交换机上对vlan进行配置。
3、透明模式,处于该模式下的交换机不会处理接收到的vtp协议报文,但是可以转发收到的vtp报文。交换机可以配置本地vlan,该配置不好被传播到其他交换机上。
一个vtp域内至少存在一台服务器,并且可以有多台服务器存在。
vtp的工作原理:
VTP是一种消息协议,使用第2层帧,在全网的基础上管理VLAN的添加、删除和重命名,以实现VLAN配置的一致性。可以用VTP管理网络中VLAN1到1005(版本3支持扩展vlan)。
有了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帧内.
注意:
VTP修订号存储在NVRAM中,交换机的电源开关不会改变这个设定值.要将修订号初始化为0,可以用下列方法:
>将交换机的VTP模式更改为透明模式,然后再改为服务器模式.
>将交换机VTP的域名更改一次,再更改回原来的域名.
>使用clear config all命令,清除交换机的配置和VTP信息.再次启动.
有如下几种vtp协议报文:
Summary advertisements :
用于通知邻接的交换机目前的VTP域名和配置修改编号.缺省情况下,交换机每5分钟发送一次汇总通告.
当交换机收到了汇总通告数据包时,它会对比VTP域名:
>如果域名不同,就忽略此数据包
>如果域名相同,则进一步对比配置修改编号
>如果交换机自身的配置修改编号更高或与之相等,就忽略此数据包.如果更小,就发送通告请求.
Subset advertisement :
如果在VTP服务器上增加、删除或者修改了VLAN,"配置修改编号"就会增加,交换机会首先发送汇总通告,然后发送一个或多个子集通告.挂起或激活某个VLAN,改变VLAN的名称或者MTU,都会触发子集通告.
子集通告中包括VLAN列表和相应的VLAN信息.如果有多个VLAN,为了通告所有的信息,可能需要发送多个子集通告.
Advertisement requests :
交换机在下列情况下会发出VTP通告请求
>交换机重新启动后
>VTP域名变更后
>交换机接到了配置修改编号比自己高的VTP汇总通告
VTP join messages:
用于vtp pruning。
上面的消息可以封装在isl和802.1q上,目的mac是组播地址01-00-0c-cc-cc-cc。
vtp的版本:
目前存在三种版本,1、2和3
在VTP管理域中,有两个VTP版本可供采用,cisco catalyst型交换机既可运行版本1,也可运行版本2,但是,一个管理域中,这两个版本是不可互操作的.因此,在同一个VTP域中,每台交换机必须配置相同的VTP版本.
交换机上默认的版本协议是VTP版本1.
如果要在域中使用版本2,只要在一台服务器模式交换机配置VTP版本2就可以了.
VTP版本2增加了版本1所没有的以下主要功能:
>与版本相关的透明的模式:在VTP版本1中,一个VTP透明模式的交换机在用VTP转发信息给其他交换机时,先检查VTP版本号和域名是否与本机相匹配.匹配时,才转发该消息.VTP版本2在转发信息时,不检查版本号和域名.
>令牌环支持:VTP版本2支持令牌环交换和令牌环VLAN,这个是VTP版本2和版本1的最大区别.
VTPv3 不能直接处理 VLANs 事务,它只负责管理域(Administrative Domain)内不透明数据库的分配任务。与前两版相比,VTP v3 具有以下改进:
支持扩展 VLANs(版本1和版本2只能管理id为1-1005的vlan)。
支持专用 VLANs 的创建和广告。
提供服务器认证性能。
避免“错误”数据库进入 VTP 域。
与 VTP v1 和 VTP v2 交互作用。
支持每端口(On a Per-Port Basis)配置。
支持传播VLAN数据库和其它数据库类型。
VTP修剪
VTP修剪(VTP PRUNING)是VTP的一个功能,它能减少中继端口上不必要信息量.
在CISCO交换上,VTP修剪功能缺省是关闭的.
缺省情况下,发给某个VLAN的广播会送到每一个在中继链路上承载该VLAN的交换机.即使交换机上没有位于那个VLAN的端口也是如此.
VTP通过修剪,来减少没有必要扩散的通信量,来提高中继链路的带宽利用率.
可以删除对某个vlan的剪枝功能。