如果在有冗余链路且有多个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. Codeforces Round #364 (Div. 1)(vp) 没什么题解就留坑待填

    我就做了前两题,第一题第一次vp就把我搞自闭跑路了,第二题第二次又把我搞自闭了 A. As Fast As Possible 细节题 #include<cstdio> #include&l ...

  2. NSMutableURLRequest,在POST方式下传递参数

    1. [代码][C/C++]代码         NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];     NSUs ...

  3. 【转载】 C++中回车换行(\n\r)和换行(\r)的区别

    原文:http://blog.csdn.net/xiaofei2010/article/details/8458605 windows下的点一下回车,效果是:回车换行,就是\r\n unix系统下的回 ...

  4. 51nod1934:受限制的排列 (分治+组合数)

    对于一个  11 到  nn 的排列  p1,p2,⋯,pnp1,p2,⋯,pn ,我们可以轻松地对于任意的  1≤i≤n1≤i≤n 计算出  (li,ri)(li,ri) ,使得对于任意的  1≤L ...

  5. [Balkan 2007] Mokia

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1176 [算法] CDQ分治 + 树状数组即可 时间复杂度 : O(Nlog^2N) ...

  6. C++模板之隐式实例化、显示实例化、隐式调用、显示调用和模板特化详解

    模板的实例化指函数模板(类模板)生成模板函数(模板类)的过程.对于函数模板而言,模板实例化之后,会生成一个真正的函数.而类模板经过实例化之后,只是完成了类的定义,模板类的成员函数需要到调用时才会被初始 ...

  7. HTTP上传大文件要考虑的问题

    1.大文件上传服务器内存占用 一般WEB开发框架如SpringMVC,在基于Web容器如Tomcat处理HTTP请求时,都倾向于采用职责链流水线式的处理机制.HTTP请求被封装为一个可解析对象放在内存 ...

  8. web2py远程开发

    Hyper-v下安装测试环境: CentOS 6.5, 默认的Python 2.6, web2py 主机Win8.1 问题:远程管理显示“管理因不安全通道而关闭”,只能访问网页,不能进入管理界面. 找 ...

  9. uart驱动框架分析(二)uart_add_one_port

    作者:lizuobin (百问网论坛答疑助手) 原文: https://blog.csdn.net/lizuobin2/article/details/51801183 (所用开发板:mini2440 ...

  10. 微信小程序WXML提供了import和include引用方式

    引入的文件需要放在pages文件下: 例如: 在pages文件下新建template文件夹,新建tem1.wxml模板文件 在其他页面中就可以引入tem1.wxml文件../template/tem1 ...