如果在有冗余链路且有多个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. mongoose基于mongodb的数据评论设计

    var CommentSchema = { data:{type: ObjectId, ref:'Data'}, //Data数据表,此处存数据id from:{type: ObjectId, ref ...

  2. 录音-树莓派USB摄像头话筒

    实测可用: sudo arecord --duration=10 --device=plughw:1,0 --format=cd aaa.wav sudo arecord --duration=10 ...

  3. vue项目刷新当前页面

    场景: 有时候我们在vue项目页面做了一些操作,需要刷新一下页面. 解决的办法及遇到的问题: this.$router.go(0).这种方法虽然代码很少,只有一行,但是体验很差.页面会一瞬间的白屏,体 ...

  4. lvs+keepalived+nginx高性能负载均衡集群

    项目发布时候,别人还能访问呢? 双机主从热备 LVS作用 LVS是一个开源的软件,可以实现传输层四层负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有 ...

  5. linux应用之yum命令详解

    linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能 ...

  6. ACM应该学什么(知乎学长)

    网络上流传的答案有很多,估计提问者也曾经去网上搜过.所以根据自己微薄的经验提点看法. 我ACM初期是训练编码能力,以水题为主(就是没有任何算法,自己靠动脑筋能够实现的),这种题目特点是麻烦,但是不难, ...

  7. python 基础之第十天(闭包,装饰器,生成器,tarfile与hashlib模块使用)

    局部变量与全局变量 局部变量:在函数里面定义的,只有当函数活动时才生效 全局变量:不在函数里面的 In [1]: x=10 In [2]: def bar(): ...: x=20 ...: prin ...

  8. JavaScript 日期处理类库 moment

    可以自定义自己需要的时间格式,中文文档如下: http://momentjs.cn/ http://momentjs.cn/docs/

  9. bzoj4455

    容斥原理+dp 首先考虑暴力做法,我们希望点和点一对一,那么自然要保存当前点集的状态,需要状压,据说要3^n,那么自然不行 考虑容斥原理,刚才一一对应的限制太强了,我们不要一一对应,只要满足边存在就行 ...

  10. LWDB

    题意: 给一棵 $n$ 个节点的树,维护两种操作: 1.将距离 $x$ $distance \leq d$ 的点染成 $c$ 2.询问 $x$ 的颜色. 解法: 首先将染色可以转换为每个时间对应一个颜 ...