本文出自 “reed_pan” 博客,请务必保留此出处[url]http://feige.blog.51cto.com/349918/147612[/url]
VTP 导致的网络故障
网络结构为
分支机构交换机
--------
核心
--trunk--
各楼层,核心交换机为
4507 vtp
模式是
transparent.
楼层交换机都是
2918VTP
为出厂的默认状态。
故障现象:核心交换机运行正常,各楼层交换机的
SVI
口全部
DOWN
掉。
在楼层交换机
no
掉
down
掉的
vlan
后重新创建该
vlan
后
SVI
口的状态为
UP
。
故障分析:
核心交换机
VTP
模式为
transparent
不会根据接收到通告信息同步自己的
VLAN
配置,透明交换机会从中继端口转发所收到的
VTP
通告,因此核心交换机不受任何影响。
楼层交换机:缺省时,交换机处于
VTP
服务器(
server
)模式,并且不属于任何的管理域,直到交换机通过
trunk
链路接收到了关于一个域的通告,或者在交换机上配置了一个
VLAN
管理域。只有在指定或者由交换机自己学到管理域的名称后,才能在
VTP
服务器上创建或更改
VLAN.
楼层交换机通过
trunk
链路收到因为收到分支机构交换机的
VTP
域的通告后把交换机加入该域。并和分支机构交换机同步
VLAN
信息,
VTP
收到的
VLAN
信息和本地配置的交换机发生冲突或
VTP server
根本就没有该
VLAN
导致该
VLAN
挂起(
suspended
)
备注:
1,
楼层交换机
VTP
工作于
server
模式之仍然被被分支机构交换机同步是因为楼层交换机的
Configuration Revision : 0
而分支机构的
Configuration Revision
肯定大于
0
2,
楼层交换机交换机通过
trunk
链路接收到了关于一个域的通告,交换机自己学到管理域的名称后会加入该域。以前在实施中发现其他型号的交换机并不会采发生这种的情况
,VTP
必需手工配置加入某个域。不知道这个是新版本
IOS
的
feature
还是
2918
特有的
feature
改天测试看看。
3,
在楼层交换机中有一个交换机并没有把自己加入分支机构交换机的
VTP
域的原因是该楼层交换机到核心交换机的链路不是
trunk.
而
VTP
通告只通过
trunk
端口传递。
VTP
记住以下几点:
1.
VTP
通过发送到特定的
MAC
地址:
01-00-0C-CC-CC-CC
的组播
VTP
消息进行工作
2.
VTP
通告(
aduertisements
)只通过
trunk
端口传递
3.
VTP
消息(
messages
)通过
VLAN1
传送。这就是不能把
VLAN1
从
trunk
中去除的原因。
4.
只有在经过了
DTP
自动协商,启动了
trunk
时,
VTP
信息才会沿着
802.1 trunk
传送。
5.
VTP
域内的每台交换机都定期在每个
trunk
上发送通告到保留的
VTP
组播地址。
VTP
通告会被邻接的交换机接收到,用于根据需要更新其自己的
VTP
和
VLAN
配置。
VTP
消息可以封装在
ISL
数据帧或者
IEEE 802.1Q
帧内。
6.
vtp
只支持标准的
vlan(vlan
号从
1-1005)
,扩展的
vlan
不支持
Configuration Revision
说明
VTP
配置修改编号。这个
32
位的数字表明了
VTP
配置的特定修改版本。配置修改编号的取值从0开始,每修改一次就增加1,直到达到
4294947295,
然后循环为
0
并重新开始增加。每个
VTP
设备都会记录自己的
VTP
配置修改编号;
VTP
数据包会包含发送者的
VTP
配置修改编号。这一信息用于确定接收到的信息是否比当前的信息更新。在
VTP
域中的交换机只会采纳接收到
VTP
配置修改编号高的
VLAN
配置信息。要将交换机的配置修改编号置为
0
,只需要禁用
trunk
,改变
VTP
域名称,再改回到原来的名称,并再次启用
trunk
。
下列是
VTP
使用的
VTP
消息类型:
1.
汇总通告(
Summary advertisements
)
2.
子网通告(
Subset advertisements
)
3.
通告请求(
Advertisements request
)
4.
VTP
加入消息(
VTP join message
)
汇总通告(
Summary advertisements
)
:
用于通告邻接的交换机目前的
VTP
域名和配置修改编号。缺省时,交换机每
5
分钟产生发送一次汇总通告。
当交换机收到了汇总通告数据包时,它会对比
VTP
域名。如果域名不同,就忽略此数据包。如果域名相同,则进一步对比配置修改编号。如果交换机自身的配置修改编号更高或与之相等,就忽略此数据包。如果更小,就发送通告请求。
各字段内容:
l VTP
版本(
version
):取值为
1
或
2
l
类型(
Type
)
:VTP
消息类型,此处为
0x01
l
后续通告数:表明了汇总通告帧后跟随了多少个子网通告消息(类型
2
),此字段的取值范围为
0
到
255
,
0
表明没有后续的子网通告信息。交换机只在系统发生变化或响应通告请求时才发送子网通告。
l
管理域名长度:表明
VTP
域名的长度
l
管理域名(
Managament Domain Name
)
:VTP
域名(
32
位,不足用
0
填充)
l
配置修改编号:长度为
32
字节
l
更新者标识:存放的是最近对配置编号进行增加的交换机的
IP
地址
l
更新时间戳:最近的配置修改编号增加的日期和时间
l MD5
摘要:包含了消息摘要的哈西值
---VTP
口令和
VTP
头部内容(不包含
MD5
摘要字段)的函数。
子网通告(
Subnetwork advertisements
)
如果在
VT
服务器上增加、删除或者修改了
VLAN
,“配置修改编号
configuration revision number
”就会增加,交换机会首先发送汇总通告,然后发送一个或多个子网通告。挂起或激活某个
VLAN
,改变
VLAN
的名称或者
MTU
都会触发子网通告。
子网通告中包括
VLAN
列表和相应的
VLAN
信息。如果有多个
VLAN,
为了通告所有的消息,可能需要发送多个子网通告。