在VTPv1和VTPv2中,更新的过程开始于:交换机管理员在一台VTP服务器交换机上添加、删除或更新VLAN。当新的配置出现时,VTP服务器将旧的VTP修订版本号加1,并通告完整的VLAN配置数据库以及新的修订版本号。
通过使用VTP修订版本号的概念,交换机能够获知VLAN数据库的变化。交换机在收到VTP更新后,如果这个VTP更新中的修订版本号比交换机当前的修订版本号大,交换机就认为有新版本的VLAN数据库。
Cisco交换机默认使用VTP服务器模式,但直到工程师配置了VTP域名后,它们才开始发送VTP更新。这时,服务器会开始发送VTP更新,每次VLAN的配置有变更时,交换机都会使用更新的数据库和修订版本号。然而,图2-7中的VTP客户端事实上不需要配置VTP域名。若未配置,客户端假设自己应该使用第一个收到的VTP更新中的VTP域名。不过工程师需要配置客户端的VTP模式,使用vtp mode全局配置命令。附带说明,交换机之间必须通过Trunk链路互连,因为VTP消息只通过Trunk链路进行交换。
VTP客户端和服务器一样,都会接受来自其他VTP服务器和客户端交换机的VTP更新。为了获得更好的可用性,使用VTP的交换网络需要至少两个VTP服务器交换机。在正常操作的过程中,工程师在一台服务器交换机上更改VLAN信息,另一台VTP服务器(及所有客户端)获知VLAN数据库的变更。获知后,VTP服务器和客户端将独立地将VLAN配置储存在自己Flash中的vlan.dat文件中;它们不在NVRAM中存储VLAN配置。
当一个LAN中安装了多个VTP服务器时,有可能发生意外重写网络中的VTP配置。如果Trunk链路失效了,然后工程师在多个VTP服务器上进行了更改,VTP配置数据库可能会相互有所区别,且分别使用不同的配置版本号。当工程师把之前分离的LAN部分使用Trunk重新连接后,会有更高修订版本号的VTP数据库在VTP域中传播,替换一些交换机中的VTP数据库。还需要注意的是,因为VTP客户端可以生成VTP更新,在一些情况下,VTP客户端可以更新另一台VTP客户端或服务器上的VTP数据库。总之,为了使新连接的VTP服务器或客户端更改其他交换机的VTP数据库,以下条件必须成立:
连接新交换机的新链路是Trunk;
新交换机与其他交换机使用相同的VTP域名;
新交换机的修订版本号比已有交换机的高;
若已有交换机配置了密码,新交换机必须配置相同的密码。
为了保护VTP域中不会加入未经授权的交换机,工程师应该使用VTP密码。VTP汇总通告中会携带一个MD5散列值,这个值是根据VLAN数据库以及VTP密码(若配置)计算出的。交换机在以汇总通告和至少一个子集通告的形式,收到VLAN数据库更新后,它会使用这些消息重建的VLAN数据库,以及自己的VTP密码来计算MD5散列值,并与汇总通告中的MD5散列值进行比较。
VTPv3通过引入主用服务器(primary server)的概念,解决了无意(或有意)重写VLAN数据库的问题。主用服务器是在一个VTPv3域中,唯一可以在域中传播VLAN数据库的交换机。VTPv3服务器及客户端只有在使用相同的域名和主用服务器身份(由MAC地址表示)时,才共享VLAN数据库。工程师只能在主用交换机上修改VLAN数据库。
其他配置为服务器的VTPv3交换机被称为备用交换机(secondary server)。不能修改备用交换机数据库,备用交换机可以被提升为主用服务器的角色。
客户端不能被提升为主用服务器角色。备用服务器和客户端都会存储一份主用服务器的的数据库的副本,并与他们的邻居服务器和客户端共享vlan数据库。
这意味着即使在VTPv3中,有更高修订版本号的备用服务器或客户端交换机都能重写邻居的VLAN数据库,但为了能够实现这种行为,这些交换机的域名、主用服务器身份和VTP密码必须相同。
提升主用服务器过程总是由工程师在特权EXEC模式中通过命令vtp primary执行的。因而主用服务器的状态是易失的运行状态,并不能被永久地存储在配置中。在主用服务器重启之后,它默认只能成为备用服务器。工程师可以通过vtp primary命令重新把交换机提升为主用服务器角色,之后它会向邻居泛洪自己的VLAN数据库;这时就算新的主用服务器的修订版本号更低,邻居也会接受并进一步泛洪。这样,新的主用服务器数据库就在VTP域中声明完成了。
在使用VTPv3时,工程师无法再通过将交换机设置为透明模式,之后再恢复原来的设置,意图把配置修订版本号重置为0了。只有通过修改VTP域名或配置VTP密码,才能将修订版本号重置为0。如果一台VTPv3交换机检测到其接口上连接有运行VTPv1或VTPv2的较老的交换机,它会把该接口上的操作恢复为VTPv2操作,使较老的交换机能够在VTPv2中进行操作。VTPv3和只支持VTPv1的交换机之间的协作是无法支持的。
 
 
 
 
 
 
 

VLAN-7-VTP处理及修订版本号的更多相关文章

  1. 2.1-VLAN/TRUNK/VTP

    2.1-VLAN/TRUNK/VTP     注意:配置VLAN时要退出VLAN配置模式才会执行 如果VLAN被删除或者shutdown,那么属于这个vlan的接口将被阻塞(灯一直是橙色,变不了绿色) ...

  2. 实验13:VLAN/TRUNK/VTP/

    实验10-1: 划分VLAN Ø    实验目的通过本实验,读者可以掌握如下技能:(1) 熟悉VLAN 的创建(2) 把交换机接口划分到特定VLAN Ø    实验拓扑 实验步骤要配置VLAN,首先要 ...

  3. CCNA 之 八 交换基础 VLAN TRUNK VTP

    交换基础 主要知识点: 二层交换基础 Vlan的概念 Trunk的概念 VTP 二层交换基本配置 首先来看下园区网分层结构 交换机的主要功能: Address learning 学习MAC地址 会维护 ...

  4. vlan trunk vtp端口聚合

    第一步:端口聚合(两端都需要做相同的操作) 第二步:在服务器端配置为服务器模式 第四步:在服务器端添加vlan 第五步:在两端分别将不同的端口添加到不同的vlan

  5. VLAN-6-VLAN Trunk协议(VTP)

    VTP能够将VLAN配置信息通告给邻居交换机,这样做可以使工程师只在一台交换机上配置VLAN,同一个VTP域中的所有其他交换机动态学习这些VLAN信息.VTP通告VLAN ID.VLAN 名称和 VL ...

  6. vlan vtp配置

    vlan vtp配置 VTP:Vlan Trunking Protocol 用于管理VLAN(统一创建.修改.删除).用来同步vlan. VTP的原理   VTP模式(服务器,客户端和透明模式)   ...

  7. VTP

    VTP VLAN中继协议(Vlan Trunking Protocol),是CISCO专用协议.VTP负责在VTP域内同步VLAN信息,这样就不必在每个交换机上配置相同的VLAN信息.VTP还提供一种 ...

  8. 思科VTP协议(后面有配置案例)

    一.VTP相关理论介绍 1.1 VTP(VLAN trunking protocol)协议是用来在整个交换网络中分发和同步VLAN数据库的,是一个二层协议,思科私有协议. 1.2 VTP域是由一台或者 ...

  9. VLAN虚拟局域网技术(二)-计算机网络

    本文主要知识来源于学校课程,部分知识来自于H3C及思科中国公司网页技术手册,未经许可,禁止转载.如需转载,请联系作者并注明出处. 本节主要是总结一些思科的VLAN组中的私有协议:DTP和VTP. 1. ...

随机推荐

  1. TCP服务器端和客户端程序设计【转】

    本文转载自:http://blog.csdn.net/yueguanghaidao/article/details/7035248# 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.实验目的 ...

  2. dotnet core on Linux 环境搭建及入门demo

    首先感谢张善友大大提供的腾讯云实验室链接(https://www.qcloud.com/developer/labs/list). 以下是整个搭建过程及简单demo实例 1.搭建 .NET Core ...

  3. 解读 CSS 布局之水平垂直居中

    对一个元素水平垂直居中,在我们的工作中是会经常遇到的,也是CSS布局中很重要的一部分,本文就来讲讲CSS水平垂直居中的一些方法.由于我们大搜车的日常工作中已经不再需要理会低版本IE,所以本文所贴出的方 ...

  4. matlab程序计时

    t1=datetime(); %程序 t2=datetime() totaltime=t2-t1; disp(t2-t1); 或者: tic %代码块 toc disp(['运行时间: ',num2s ...

  5. BZOJ 3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛:dp【前缀和优化】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3398 题意: 约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡 ...

  6. html5--1.16 内联框架

    html5--1.16 内联框架 学习要点: 1.iframe内联框架2.综合实例1 1.iframe内联框架 1.iframe元素用来在文档中添加一个内联框架. 2.iframe为body元素的子元 ...

  7. Python 使用正则表达式验证密码必须包含大小写字母和数字

    校验密码是否合法的程序. 输入一个密码 1.长度5-10位 2.密码里面必须包含,大写字母.小写字母和数字 3.最多输入5次 ===================================== ...

  8. logback备注

    <?xmlversion="1.0"encoding="UTF-8"?> <!-- <configuration>包含的属性 sc ...

  9. python基础-元组

    操作元组 获取元组中的值 tup1 = ('高数','计算机',2008,2016) tup2 = (1,2,3,4,5,6,7) #和list的一样,同样取下标1,2,3,4的值 print(&qu ...

  10. 【HDU 4807】Lunch Time 最小费用最大流

    题意 在一个有向图当中,现在每一条边带有一个容量,现在有K个人在起点,需要到终点去吃饭,询问这K个人最后一个人到达食堂的最小时间是多少 贴一篇题解:http://blog.csdn.net/u0137 ...