为什么会有私有VLAN
在实际网络环境中,我们经常需要划分多个小的VLAN,如果要将它们与现有的IP网段一一对应,会很难实现。所以引入私有VLAN(类似于私有地址)。私有VLAN可以使交换机的端口属于不同VLAN,但使用同一网段的地址。
 
私有VLAN所需支持的端口通信类型:
1)端口能与所有设备通信
2)端口之间能互相通信,且能与共享设备(主要是路由器)通信
3)端口只能与共享设备通信
为了支持这些通信,一个私有VLAN可包含一个主VLAN和一个或多个从VLAN。在主VLAN中的端口处于混杂模式,可以发送和接收其他端口(包括属于从VLAN的端口)的帧,这个端口一般是留给共享设备使用的(如路由器和共用服务器)。其他连接到下层客户端的接口则属于从VLAN。从VLAN也有两种类型:公共VLAN和孤立VLAN。如果几个端口共用一个设备,那么可将这些端口分配到公共VLAN中;如果某个端口与其他任何端口都不通信,那么就将其分配为孤立VLAN。以上的设计可以归纳为下表:
可通信的端口
VLAN端口
公共VLAN端口
孤立VLAN端口
与主VLAN通信
与同一从VLAN通信
N/A
与其他从VLAN通信
N/A
 
为什么需要VTP?
手工配置VLAN信息可能很麻烦(在多个交换机上配置),所以可以考虑让交换机自学习配置信息,根据VTP协议,只需要配置一台交换机,其他需要配置VLAN的交换机可以由此动态地学习到配置信息,这样大大简化了配置过程。而且当需要修改配置时,使用VTP也很方便。
VTP会广播VLAN IDVLAN名和VLAN类型信息,但是,它不会广播哪些端口属于哪个VLAN的信息,所以这些还是需要手工在每台交换机上配置。此外,虽然用于私有VLANID信息会被广播,但具体配置信息不会由VTP广播。
 
VTP的功能与模式的相关性如下表:
功能
服务器模式
客户端模式
透明模式
初始VTP广播
接收到广播以更新其VLAN配置
转发接收到的VTP广播
NVRAMvlan.dat中保存VLAN配置
使用命令创建、修改或删除VLAN
 
VTP的工作过程
VTP的更新过程始于管理员在VTP服务端交换机修改VLAN配置。当新配置开始时,VTP服务器将VTP版本号增1,并将该新版本号与整个VLAN配置数据库一同广播。有了VTP版本号,就可以判断什么时候VLAN数据库更新了。当接收到一个VTP更新时,先检查其版本号,如果版本号大于现有配置的版本号,则接收该新配置。
Cisco交换机默认使用VTP服务器模式,不过在未配置VTP域名之前,VTP更新不会发送。而对于VTP客户端而言,它们不需要配置VTP域名。如果未配置域名,客户端会自动设定域名为其收到的第一个VTP更新中的域名。不过,要让VTP客户端生效,你至少需要使用vtp mode命令配置其模式。
当使用VTP时,如果出于可用性的考虑,至少需要两台VTP服务端交换机。正常情形下,配置其中一台即可,另一台可以自动学习。
新接入的VTP服务端或客户端交换机若满足以下情形,可以更新其他交换机的VTP数据库:
1)新交换机的链路处于trunk模式
2)新交换机与其他交换机使用同样的VTP域名
3)新交换机的版本号大于现有交换机的版本号
4)如果配置了密码,新交换机的密码应与其他交换机相同。
 
VTP配置
VTP向所有活动的trunk接口(ISL802.1Q)发送更新(注意这个前提条件),一般情况下,Cisco交换机的默认配置是无VTP域名的服务端模式,所以它不会发送任何VTP更新。
配置示例:
Switch1#conf t
Switch1(config)#vtp domain work            ——配置VTP域名,Switch1可以发送更新了
Switch1(config)#^Z
Switch2#sh vtp status                        ——查看Switch2学习到的VTP信息
VTP配置选项:
1domain:在VTP更新中设置域名。如果接收到的VTP更新的域名与其配置的域名不匹配,则被丢弃。一个交换机只允许一个VTP域名。
2password:在VTP更新中生成MD5的密码。如果接收到的VTP更新的密码与其配置的密码不相同,则被丢弃。
3mode:设置交换机为服务器、客户端或透明模式。
4version:设置版本号为12。服务端和客户端在交换VLAN配置信息的时候必须版本号相匹配。版本号设为2的透明模式交换机可以转发版本号为12VTP更新。
5pruning:允许VTP修剪(仅当接收端的交换机有属于某个VLAN的端口时,才将该VLAN信息发送给它,这样可以减少网络洪泛流量)。
6interface:指定交换机选择哪个源MAC地址作为VTP更新接口。
 
标准范围和扩展范围VLAN
标准范围VLAN1-1005,可通过VTP版本12广播,可在VLAN数据库模式下配置,存储在vlan.dat文件中。(注意1是默认VLAN,不能删除和修改)
扩展范围VLAN1006-4094,不可通过VTP版本12广播,不能在VLAN数据库模式下配置,也不能存储在vlan.dat文件中。要配置必须在VTP透明模式才行。ISL802.1Q都支持扩展范围VLAN
 
关于VLAN配置的存储位置
两个地方:vlan.dat或运行配置文件。
1)当在VTP服务器模式下时,VTP和标准范围VLAN配置存储在vlan.dat文件中;当在VTP透明模式下时,VTP和标准范围VLAN配置可存储在vlan.dat和运行配置文件中。
2)当在VTP透明模式下时,扩展范围VLAN配置可存储在运行配置文件中。
要删除VLANVTP配置信息,需要使用delete flash:vlan.dat命令。