某网吧的网管员跳槽来到了一家房地产集团任职。楼市的火爆使得这家房地产公司的规模迅速膨胀,公司新招聘的员工几乎翻了9倍,网络接入点从原来的140多个疯长到600多个。集团采购了30多台交换机,加上原有的10多台,交换机的数量达到了40多台,整个网络共有VLAN20多个,网管员看着半个屋子的交换机,他该怎么办呢?是手工输入800多条VLAN配置命令吗?
如果没有一种集中管理VLAN的方法,就需要在每个交换机上设置,工作量比较大,如果在用户接入层上修改或者添加删除VLAN则很费神。是不是可以让全部接入交换机都从核心交换机上自动学习VLAN,只需要在核心上修改VLAN,接入交换机只是将端口加入相应VLAN就可以了呢?
分析:VTP、GVRP与网友的三方争论
1. VTP:用我就可以管理交换机网络了!
VLAN干道协议(VTP,VLAN Trunking Protocol)是Cisco专用的协议,其他品牌的交换机一般也都支持。VTP协议可以减少VLAN相关的管理任务。在VTP服务器上配置了新的VLAN时,关于这个VLAN信息会在VTP域内所有的交换机上传播。通常VTP负责在VTP域内同步VLAN信息,这样就不必在每台交换机上配置相同的VLAN信息。
VTP是一种2层的消息协议,通过以网络为单位管理VLAN的增加、删除和重命名,来实现VLAN配置的一致性。VTP可以减少VLAN的错误配置,比如VLAN名称重复,错误的VLAN类型说明和违背安全性的做法,都会引起一系列的问题,而VTP能将错误配置减到最少。
可以使用VTP来管理网络中VLAN 1至1005(VTP不支持Catalyst 6000上的VLAN1025到4094)。有了VTP,就可以集中在一台交换机上进行配置变更,所作的变更会自动地传送到网络中的所有其他交换机上(假设这些交换机属于同一个VTP域)。关于VTP,需要了解以下重要的信息:
* VTP通过发送到特定MAC地址:01-00-0C-CC-CC-CC的组播VTP消息进行工作;
* VTP通告(Aduertisements)只通过trunk端口传递;
* VTP消息(Messages)通过VLAN 1传送。(这就是不能将VLAN1从trunk中去除的原因);
* 只有在经过了DTP自动协商,启动了trunk时,VTP信息才会沿着802.1 trunk传送(DTP是用于自动协商端口trunk状态,不要与trunk封装类型相混淆)。
2. GVRP:可注册GVRP特性更重要
对VLAN进行集中管理的技术中,除了Cisco的VTP之外还有标准的GVRP协议。GVRP(GARP VLAN Registration Protocol,GARP VLAN注册协议)是GARP的一种应用,它基于GARP的工作机制,维护交换机中的VLAN动态注册信息,并传播该信息到其它的交换机中。
所有支持GVRP特性的交换机能够接收来自其它交换机的VLAN注册信息,并动态更新本地的VLAN注册信息,包括当前的VLAN成员、这些VLAN成员可以通过哪个端口到达等。而且所有支持GVRP特性的交换机能够将本地的VLAN注册信息向其它交换机传播,以便使同一交换网内所有支持GVRP特性的设备的VLAN信息达成一致。GVRP传播的VLAN注册信息既包括本地手工配置的静态注册信息,也包括来自其它交换机的动态注册信息。GVRP在IEEE 802.1Q标准文本中有详细的表述。
GVRP的主要作用是在802.1QTrunk口上实现提供802.1Q兼容的VLAN修剪与动态VLAN创建。使用GVRP,交换机可以和其它使用GVRP的交换机交换VLAN配置信息,在802.1Q Trunk链路上修剪不需要的广播和未知的单播流量,动态创建和管理VLAN。
网友建议一:
实际工作中,自己感觉如果交换机和VLAN不是很多,起GVRP用处不大,如果VLAN多或者接入层设备很多且多数接入交换机上可能需要存在多个VLAN的情况下,启用GVRP还是比较方便的。但个人觉得GVRP的配置步骤要比VTP的配置负责的多,我在工程中很少用到它。同时也害怕朋友们由于GVRP的复杂的命令行,很难配置成功。关于GVRP的应用,我记得只是在一些高端交换机,或者在思科产品中的COS交换机才支持GVRP。
网友建议二:
像我们这里,两个9512做核心,30多个H3C3600做接入,整个网络共有VLAN20多个,如果没有GVRP就需要在每个交换机上设置,其工作量比较大,如果在用户接入层上修改或者添加删除VLAN则很费神。所以,我全部启用GVRP,这样全部接入交换机就都从核心上自动学习VLAN,你只需要在核心上修改VLAN就可以了,接入交换机只是将端口加入相应VLAN就可以了。而且这样以后,每个接入层交换机的基本配置都一样,所不同的仅仅是管理IP不同,只需要备份一个设备的配置就可以了。实际上,在网络一次性配置好以后修改的机会也不多
深入:VTP工作原理分析
VTP的度与VLAN的集中管理主要通过VTP域(VTP Domain)的方式,也被称为VLAN管理域(VLAN management domain),它是由一个以上共享VTP域名的相互连接的交换机组成的。
缺省情况下,交换机处于VTP服务器模式,并且不属于任何管理域,直到交换机通过中继链路接收了关于一个域的通告,或者在交换机上配置了一个VLAN管理域,交换机才能在VTP服务器上把创建或者更改VLAN的消息通告给本管理域内的其他交换机。
同样,默认情况下交换机不传播VLAN信息,必须配置VTP域,用来跨中继链路传播VLAN信息。为了在交换机间共享VLAN信息,必须使所有交换机具有相同VTP域名,其中至少一台必须被设置为VTP服务器,其他交换机应当设置为VTP客户机。一台交换机可以属于也只能属于一个VTP域。
可以在交换机上配置VTP的有四种操作模式:服务器模式、客户机模式、透明模式和关闭模式。
* 服务器(Server)
VTP服务器上维护着VTP域内所有VLAN的完整列表。在VTP服务器模式下,你可以创建、修改和删除VLAN,并能为整个VTP域指定其他的配置参数(比如VTP版本和VTP修剪)。VTP服务器会将自己的VLAN配置通告给相同VTP域内的其他交换机,并根据从trunk链路上接收到的通告来实现与其他交换机之间VLAN配置的同步。VTP服务器是所有Catalyst交换机的缺省模式。
提示:VTP信息存储在非易失随机访问存储(NVRAM)中。当一台未经配置的思科交换机第一次上电开机的时候,它的默认模式是服务器模式。
* 客户端(Client)
VTP客户端上也维护着VTP域内所有VLAN的列表。但是,它不会将该信息存放到NVRAM中。VTP客户端与VTP服务器的工作方式相同,但不支持创建、更改或者删除VLAN。任何更改都必需通过VTP服务器通告实现。
* 透明(Transparent)
于VTP透明模式下的交换机忽略所有接收到的VTP信息,但能够将接收到的VTP报文转发出去。它只拥有本设备上的VLAN信息。VTP透明交换机和VTP客户交换机不同,VLAN可以在这些交换机上手工配置。如果配置为VTP 域的一部分,它们可以从VTP 服务器接收VLAN 配置信息。然而,他们不会通知VTP 域本地配置的VLAN。配置成透明模式的交换机还是会收到VTP 配置帧并传递这些帧到所有的骨干端口。这允许VTP 客户交换机可以连接到一个VTP 透明交换机。客户交换机通过透明交换机还是可以和VTP 服务器交换VLAN 配置信息。
* 关闭(Off)
在VTP off模式下,交换机的工作方式与VTP透明模式类似,只是不转发VTP通告。
解决:VTP部署方案步骤
1.基本配置
* 核心交换机
sw_server#vlan database (进入VLAN配置模式)
sw_server(vlan)#vtp domain school (设置VTP管理域名称school)
sw_server(vlan)#vtp server (设置交换机为服务器模式)
这里设置核心交换机为Server模式,是指允许在该交换机上创建、修改、删除VLAN及其他一些对整个VTP域的配置参数,同步本VTP域中其他交换机传递来的最新的VLAN信息;
* 客户端交换机
sw_client1#vlan database
sw_client1(vlan)#vtp domain school (加入school域)
sw_client1(vlan)#vtp client (设置交换机为客户端模式)
其它交换机同sw_client1。Client模式是指本交换机不能创建、删除、修改VLAN配置,也不能在NVRAM中存储VLAN配置,但可同步由本VTP域中其他交换机传递来的VLAN信息。
2.更新版本
到目前为止,VTP 具有三种版本。其中 VTP v2 与 VTP v1 区别不大,主要不同在于:VTP v2 支持令牌环 VLANs,而 VTP v1 不支持。通常只有在使用 Token Ring VLANs 时,才会使用到 VTP v2,否则一般情况下并不使用 VTP v2。如果一个VTP域内的所有交换机都支持版本2,你只需要在一台交换机上启用,这个版本号会传播给域内的所有交换机。需要注意,你不能同时使用2个版本的VTP。配置版本2的命令如下:
* 启用版本2: vtp version 2
* 禁用版本2: no vtp version 2
* 查看VTP状态:show vtp status
由于VTP v3不能直接处理VLAN事务,它只负责管理域(Administrative Domain)内不透明数据库的分配任务,这里不再进行深入分析。
3.VTP口令安全
如果不希望新交换机自动加入到管理域中,需要设置密码。如果设置了密码,除非设置了正确的密码,新交换机不能加入到已存在的管理域中。这使得配置新交换机需要耗费时间。
为了增加管理域的安全性,域中每个交换机都需要配置域名和密码。例如:将Vtptest管理域设置为安全管理域,可以参照下表的步骤:
步骤 命令 解释
1 configure terminal 进入全局配置模式
2 vtp domain vtptest 配置VTP域名
3 vtp mode server 配置VTP运行模式
4 vtp password mypassword 配置VTP口令
5 exit 返回到特权模式
6 show vtp status 查看VTP配置
7 switch(config)#no vtp password 删除VTP管理域中的口令恢复到缺省状态
4.VTP修剪
VTP修剪是VTP的一个功能,它能减少中继链路上不必要的信息量。缺少情况下,发给某个VLAN的广播会送到每一个在中继上承载该VLAN的交换机。即使交换机上没有位于那个VLAN的端口也是如此。VTP能过修剪,来没有心要扩散的通信量,提高中继的带宽利用率。仅当中继链路接收端上的交换机在那个VLAN中有端口时,才会将该VLAN的广播和未知单播转发到该中继链路上。配置VTP修剪的命令如下:
* 启动VTP修剪:vtp pruning
* 从可修剪列表中去除某VLAN:switchport trunk pruning vlan remove vlan-id
* 检查VTP修剪的配置:show vtp status和show interface interface-id switchport
注意:用逗号分隔不连续的VLAN ID,其间不要有空格,用短线表明一个ID范围。比如去除VLAN2、3、4、6和8,命令如下:switchport trunk pruning vlan remove 2-4,6,8。
小结:配置VTP的相关命令
1. configure terminal 进入全局配置模式
2. vtp domain name 配置VTP域名,启用VTP
3. vtp mode [server | client | transparent] 配置或改变VTP运行模式
4. vtp password password 配置VTP口令
5. vtp pruning 启动VTP修剪
6. switchport trunk pruning vlan remove vlan-id 从可修剪列表中去除某VLAN
7. vtp version 2 启用VTP版本2
8. show vtp status 核实VTP配置
本文来自: http://www.ixpub.net/thread-709473-1-2.html