如果在有冗余链路且有多个VLAN的交换网络中只使用 STP实例,那么在稳定状态中,仍会有一些端口处于阻塞状态不被使用,冗余链路实际上变成了备份链路。
PVST+特性能为每个VLAN创建一个STP实例。通过调整配置可使每个STP实例使用不同的根交换机,阻塞不同的端口。因此,可以用到所有可用链路实现流量的负载分担。
非cisco交换机只支持CST(通用生成树)。网络中只运行一个STP实例,对所有vlan使用一个stp拓扑,因此称为“通用”。虽然只使用一个stp实例能减少stp消息的开销,但无法使用多个stp实例实现负载均衡。
当混用 Cisco 和非 Cisco 交换机构建网络,并使用 802.1Q Trunk 时,仍可以在网络中的 Cisco 交换机部分充分利用多个STP实例的优势.
运行在 Trunk 上的 Cisco PVST+ 使用 VLAN 1 STP 实例与非 Cisco 交换机及其STP进行通信。PVST+ 区域中的VLAN 1 STP实例能够与 CST 区域中的 STP 实现互操作及融合。因此,整个交换网络能够计算出一个无环拓扑。在CST区域中,活跃的无环拓扑与所有VLAN相绑定;在PVST+区域中,活跃的无环拓扑只应用于VLAN 1。PVST+区域中的其他VLAN有各自的PVST+实例。
pvst+除vlan 1外的其他vlan, 会将cst区域作为一个无环共享网段对待。以pvst+ bpdu的不同封装实现:
目的mac:0100. 0CCC. CCCD(普通STP BPDU发往0180.C200.0000)
相应的vlan标记(普通stp不标记)
SNAP封装(普通为无SNAP的LLC封装)
此外每个每个pvst+ bpdu尾部都有一个特殊的TLV记录值用来携带vlan号,称该tlv为端口vlan id tlv(PVID TLV)。
pvst+交换机会分析这个tlv,并与收到这个bpdu的vlan进行对比,以检测本征vlan是否匹配。如此,pvst+ bpdu在隧道中通过cst区域,cst交换机照常泛洪,不做处理。对于非vlan 1的pvst+实例来说,整个交换网交换机络就像是一个由共享网段互连的pvst+区域。通过将pvst+ bpdu放入隧道以便穿越cst区域,cst区域只是连接pvst+区域的无环共享网段。
pvst+上的vlan 1实际上会被特殊对待:vlan 1既发送stp bpdu,也发送pvst+ bpdu。stp bpdu用于 cst 和vlan 1的pvst+交换机计算生成树。pvst+ bpdu能用来检测本征vlan是否匹配,否则会在到达时被忽略。
关于端口处理这些BPDU的过程, access端口只发送与access vlan相关的stp bpdu,access端口必须只收到IEEE BPDU,否则它会通告类型不一致状态。端口所属access vlan所对应的stp实例会处理这些IEEE BPDU。如果是trunk端口上,处理如下:
vlan 1 stp实例会立即处理IEEE格式的BPDU
pvst+ bpdu根据以下步骤进行处理:
1.通过查看PVST+BPDU的802.1Q标记,将BPDU分配给适当的VLAN。若有标记,则将BPDU分配给标记所示的VLAN。若无标记,则将BPDU分配给本征VLAN。
2.检查BPDU中的PVID TLV。若PVID TLV中携带的VLAN与BPDU被分配的VLAN不符,则丢弃此BPDU,并针对有问题的VLAN声明PVID不一致状态。这就是本征VLAN是否匹配的检查规则。
3.凡是PVID TLV中的VLAN与分配的VLAN相同的BPDU,将由对应VLAN的STP进行处理,但VLAN1的BPDU是个例外。因为IEEE BPDU和PVST+ BPDU关于VLAN 1的信息是重复的,且STP总是要处理IEEE BPDU的,而VLAN1的PVST+ BPDU只用来防止VLAN1的本征VLAN不匹配,此后便可丢弃。
 
 
 
如上,cst区域在pvst+看来就相当于一条链路,因为PVST+ BPDU有效地通过隧道穿越了CST区域,所以对于非VLAN 1 PVST+ STP实例来说,CST区域只是一个共享网段。这些共享网段的内部是无环的,它们或是连接着多个PVST+区域,此时PVST+负责消除PVST+区域间有可能残留的环路;或是不为PVST+区域提供传输连通性。PVST+ BPDU会通过CST区域泛洪,但却不被处理。当被转发的PVST+ BPDU到达其他PVST+区域中的第一台Cisco PVST+交换机时,监听0100.0CCC.CCCD组播的交换机会读取并解释这个BPDU。

STP-4-每VLAN生成树和Trunk上的STP的更多相关文章

  1. VLAN配置及Trunk接口配置

    实验拓扑 1.检验连通性,PC2 ping PC3,PC2 ping PC4 ,都能ping 通 2.创建vlan 3.配置access接口 在S1上配置E0/0/2为vlan10和E0/0/3为vl ...

  2. VLAN-3-VLAN Trunk:ISL和802.1Q

      (1)ISL和802.1Q概念       通过使用VLAN Trunk链路,设备可以通过一条链路发送去往多个vlan的流量.为了知道数据帧属于哪个vlan,发送方会添加原始以太网数据帧的头部,这 ...

  3. 配置trunk

    SW1 Switch>en Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(c ...

  4. H3C交换机配置常用命令(转)

    1.配置文件相关命令 [Quidway]display current-configuration //显示当前生效的配置 [Quidway]display saved-configuration / ...

  5. Cisco基础(六):配置目前网络环境、项目阶段练习

    一.配置目前网络环境 目标: 一家新创建的IT公司,公司位于北京有80多台服务器 目前网络环境使用技术,通过端口映射技术将web服务器发布给Internet: 三层交换:汇聚接入层交换机 默认路由:实 ...

  6. 【转】不同VLAN之间相互通信及VTP、STP、EtherChannel概念

    厘清最后一个概念. 转了网上两个相关帖子: http://www.net130.com/CMS/Pub/Tech/tech_zh/2009_03_12_97386_3.htm http://blog. ...

  7. 局域网安全-生成树攻击-ARP攻击-MAC攻击-VTP攻击-动态VLAN的攻击

    一.MAC layer attacks 1.CAM表的OVERLOAD 第三方设备不断发送变化的MAC地址,填满CAM表,对于后来合法的MAC地址不能学习到从而泛洪,这时攻击者将学习到合法者的数据包. ...

  8. 2.1-VLAN/TRUNK/VTP

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

  9. 网络基础知识系列:阐述VLAN和Trunk

    网络性能是影响的效率的重要因素. 大的广播域分割方法,旨在提高网络性能.一个接口上,可是,路由器的LAN接口数量有限,它的主要功能是在网络间数据传输,而不是对终端设备提供网络接入. 訪问LAN的功能还 ...

随机推荐

  1. MYSQL数据库装在C盘的,怎么移到D盘

    直接移动过去就是了,遇到问题再根据提示修改. 一般需要移动前删除已经安装的MYSQL服务,命令是:mysqld.exe --remove移动后重新安装服务,命令是:mysqld.exe --insta ...

  2. spring IOC(转)

    原文 http://stamen.iteye.com/blog/1489223 引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础 ...

  3. sample code java pom.xml

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  4. 动态负载均衡(Nginx+Consul+UpSync)环境搭建

    首先 安装好 Consul upsync 然后: 1.配置安装Nginx 需要做配置,包括分组之类的,创建目录,有些插件是需要存放在这些目录的 groupadd nginx useradd -g ng ...

  5. Zookeeper实现Master选举(哨兵机制)

    master选举使用场景及结构 现在很多时候我们的服务需要7*24小时工作,假如一台机器挂了,我们希望能有其它机器顶替它继续工作.此类问题现在多采用master-salve模式,也就是常说的主从模式, ...

  6. spring 从jsp到jsp

    小例子 1.jar信息 2.web.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  7. get_extension_funcs 返回某个模块下的所有函数

    array get_extension_funcs ( string $module_name )             (参数必选) 该函数根据 module_name 返回模块内定义的所有函数的 ...

  8. java实现EXCEL数据导入到数据库中的格式问题的解决

    之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...

  9. Python: PS 滤镜--表面模糊

    本文用 Python 实现 PS 滤镜中的表面模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/528 ...

  10. 51nod1674:区间的价值2(分治,利用&和|的收敛性)

    lyk拥有一个区间. 它规定一个区间的价值为这个区间中所有数and起来的值与这个区间所有数or起来的值的乘积. 例如3个数2,3,6.它们and起来的值为2,or起来的值为7,这个区间对答案的贡献为2 ...