STP的作用
  a)Stp通过阻塞端口来消除环路,并能够实现链路备份目的
 b)消除了广播风暴
 c)物理链路冗余,网络变成了层次化结构的网络
 
 
  
 STP操作
  - 选举一个根桥
- 每个非根交换机选举一个根端口
- 每个网段选举一个指定端口
- 阻塞非根,非指定端口
 
  
 STP--生成树协议:作用专门设计出来解决二层环路问题的协议  
 
 线路冗余 设备冗余  
 
 交换机的广播风暴:洪范的数据帧在交换机之间来回循环发送,浪费资源  
 
 MAC 地址表的偏移  
 
 多帧复制  
 
 交换机会逻辑的阻塞一些端口,从而将一些链路断开,形成一种树形结构,从而形成无环的拓扑,之后当网络结构发生变换,STP 会监控整个网络,进而将原本阻塞的一些端口重新打开,形成备份路径  
 
 最短路径树--  
 
 IEEE组织  
 
 STP---802.1D标准下提出了生成树协议  
 
 PVST PVST +——思科提出的私有协议  
 
 RSTP- 快速生成树 802.1W  
 
 MSTP --多生成树 802.1t标准提出  
 
 STP ,一个交换网络只生成一颗树  
 
 跨层封装的协议---跨三四层封装的协议  
 
 STP 发送的数据包称为 BPDU---- 网桥协议数据单元  
 
 配置 BPDU ---用来做生成树的角色选举  
 
        为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU( Bridge Protocol Data Unit )中。
         BPDU 有两种类型:配置 BPDU 和 TCN BPDU 。
         配置BPDU 包含了桥 ID 、路径开销和端口 ID 等参数。 STP 协议通过在交换机之间传递配置 BPDU 来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置 BPDU 。在网络拓扑稳定以后,只有根桥主动发送配置 BPDU ,其他交换机在收到上游传来的配置 BPDU 后,才会发送自己的配置 BPDU 。
         TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。

 
  
 STP--PVI 为0 RSTP 2 MSTP 3  
 
 ROOT-ID RID---指的是最终被选择成为树根设备的ID  
 
 Brige ID B-ID---指的是交换机的编号  
 
 前16为二进制为设备的优先级  
 
 后 48 位为设备的 MAC 地址---  
 
 RPC --根路径开销:非根设备到达根设备的开销  
 
 PORT -ID PID---前四位是接口的优先级,后12位是接口的编号  
 
 消息寿命默认是 20  
 
 TCNBPDU ---拓扑发送变化之后会发送TCN 
 
 BPDU---刷新MAC地址表  
 
 只包含三个参数  
 
 一个是 PID --协议ID  
 
 PVI--协议版本  
 
 BPDU -type 0X80代表TCN-BPDU  
 
 
 配置BPDU---选举生成树角色  
 
 根桥:生成树里面的‘老大’,桥id最小
 备份根桥:生成树里面的“二把手”,老大挂了的时候,我当老大,桥ID第二小。
 非根交换机:干活的小弟,都有一个根端口
 根端口:离根桥最近的端口
 指定端口:根桥所有参与生成树选举的端口,都一定是指定端口
 非根非指定端口:被阻塞的端口---备用链路的端口
 路径开销:是端口Cost值,可以用来选择最优的路径,值越小越优。根路径开销是端口到达根桥的过程中累计的路径开销。
 BID:桥ID:是由桥优先级和桥MAC地址构成,桥优先级为高16位,MAC地址是低48位。
 PID:端口ID:是由端口优先级和端口号构成,端口优先级为高4位,端口号                                   根网桥(R B)---整个交换网络需要选择唯一的根设备                                                                  根端口( R P)--所有非根设备都需要选择至少一个接口成为根端口(用来接收配置BPDU) 
 
  
 指定端口( D P)---每段链路都会选择一个接口成为指定接口(用来转发配置BPDU)  
 
 非指定端口(N DP)---最终会被阻塞的端口--没有角色的接口都是非指定端口  
 
 根网桥( R B )---整个交换网络需要选择唯一的根设备  
 
 设备对比配置 BPDU 的参数后选择----根据配置  
 
 BPDU中的BID选择  
 
 Brige ID B-ID---指的是交换机的编号  
 
 前16为二进制为设备的优先级  
 
 后 48 位为设备的 MAC 地址---  
 
 优先级---0-65535 设备默认优先级数值为 32768  
 
 以4096作为步调修改--- 16 在stp协议中只使用前4位,后12位在MSTP中才使用,实际stp的优先级范围是0-61440  
 
 设备优先级的对比规则是数值越小越优--MAC地址根端口( R P)--所有非根设备都需要选择至少一个接口成为根端口(用来接收配置BPDU)----RPC-到达根设备的开销  
 
 沿途累加开销----生成树的开销只看入接口开销  
 
 
 入向 RPC --  
 
 1.会选择入向RPC值更小的作为根端口  
 
 2.会比较对端设备BID,会选择BID更小的设备对应的接口作为根端口  
 
 3.选择对端这边PID--接口id更小的作为根端口  
 
 PID---16位二进制  
 
 前4位是接口的优先级,后12位是接口的编号  
 
 0-240  接口默认的优先级是 128--- 16作为步调  
 
 
 修改接口优先级  
 
 4.如果对端设备PID一样时,将比较自身的接口PID,选择pid数值更小的作为根端口  
 
 指定端口--DP  
 
 指定端口( D P)---每段链路都会选择一个接口成  
 
 为指定接口(用来转发配置BPDU)0。如果一段链路对端是根端口,那么自身一定是指定  
 
 1.先比较接口的出向RPC  
 
 2.如果出向RPC一样,会看本设备的BID小的作为指定端口。  
 
 3,自环,选择自身端口PID更小的作为指定端口  
 
 4.只要接口收到自身发送的配置BPDU,则直接将该接口阻塞。  
 
 
 [Huawei]undo stp enable  
 
 [Huawei-GigabitEthernet0/0/1]undo stp enable --只关闭接口生成树  
 
 如果在阻塞状态一直没有收到配置 BPDU 则,将等待20s,之后直接进入下一个状态。如果收到的配置BPDU则直接进入下一个状态。listening状态,在进行生成树的选举---并且在生成树必须在 
 
 listening状态停留15S才能进入下一个状态。生成树为了避免一些设备选举完成一些设备没有完成的情况(害怕出现临时环路)。一旦在选举过程中,接口被认定为非指定接口,将直接回到阻塞状态。  
 
 learning状态:进行MAC地址表的学习,并且会在该状态停留15S,作用:尽量减少发送数据时广播的产生。  
 
 最终来到转发状态,这个状态接口才会发送业务数据  
 
 生成树初始收敛至少需要50S 的时间。收敛速度慢。  
 
 
 根桥设备故障--需要50S的时间重新选举角色 (重新收敛)  
 
 直连链路故障--  
 
 当根端口故障,但是设备还可以通过其他的端口收到配置BPDU,那么将直接进入listening状态。之后进入学习状态,一共需要30S  
 
 非直连链路故障--当根端口故障,但是设备不能通过其他的端口收到配置BPDU,那么将等待20S后,直接进入listening状态。之后进入学习状态,一共需要50S  
 
 配置:  
 
 
 [Huawei]stp enable  -开启协议  
 
 [Huawei]stp mode stp  --更改协议模式  
 
 [Huawei]display stp  --查看stp的参数---  
 
 需要人为干涉生成树的选举结果  
 
 [Huawei]stp priority 24576 --修改设备BID的优先级-- 数值越小约优  
 
 [Huawei]stp root primary  ---配置设备成为根桥设备。实质是将优先级改为0  
 
 [Huawei]stp root secondary  ---配置备份根桥实质是将优先级改为4096  
 
 RSTP +MSTP  
 
 1.收敛速度慢的问题--RSTP  
 
 2.链路利用率低---MSTP  
 
 RSTP---  
 
 RSTP 改进点  
 
 1.变更端口角色---根端口 指定端口 非指定端口  
 
 根端口 指定端口 替代端口( ALTE  ) 备份端口(backup)  
 
 替代端口( ALTE  )---替代端口的作用是作为根端口的备份--当设备的根端口故障后,会从自身其他的替代端口中选择参数最优的作为新的根端口。  
 
 生成树比对配置 BPDU 中的一些参数最终参数不优的一些端口---不是根端口和指定端口备份端口(backup)---指定端口的备份:如果一个接口收到了自身发送的配置BPDU则该端口为备份端口。  
 
 2.修改端口状态---  
 
 禁用,阻塞,侦听,学习,转发--  
 
 DISCARDING ----丢弃状态:不能转发业务数据也不能进行MAC地址表的学习  
 
 Learning--学习状态:不能转发业务数据,但是可以进行MAC地址表的学习  
 
 FORWARDING ---转发状态---即能转发业务数据,也可以进行MAC地址表的学习  
 
 3.修改了配置BPDU报文中一些参数  
 
 
 P/A 机制---相当于是RSTP收敛速度的优化措施,本质是将已经选择出角色的端口(指定端口)直接进入转发状态,不需要等待生成树的计时器 
 
 同步状态是为了保证自身后面的交换网络漫游临时环路。  
 
 4.加快了生成树的失效判断时间--在STP中该时间为MAX AGE默认 20s,在RSTP中将其优化为3个周期时间(2s)  
 
 5.快速收敛机制---总结  
 
 1.根端口和指定端口的快速切换---本质是设计了两个新端口角色,省去了重新选举的时间  
 
 2.P/A机制  
 
 3.边缘端口  
 
 [Huawei-GigabitEthernet0/0/3]stp edged-port enable ----作用让连接PC的端口直接进入转发状态  
 
 [Huawei-GigabitEthernet0/0/3]stp bpdu-filter enable ----相当于过滤该接口的bpdu  
 
 [Huawei]stp bpdu-protection  ---BPDU保护---如果边缘接口收到配置BPDU将直接变成普通端口进行角色选举  
 
 6.拓扑结构发生变化的处理机制---RSTP如果发生拓扑变更将直接发生TC置为1的RST-BPDU直接让其他设备将MAC地址表老化时间改为15S。  
 
 MSTP ---多生成树协议  
 
 改进点1.考虑了VLAN,MSTP生成树提出了实例的概念(instance )Instance的取值范围----0-4094  
 
 0---默认情况下所以VLAN都属于实例0  
 
 同时MSTP还提出了域的概念(region)---单域MSTP交换网络  
 
 1.域名必须相同---region name必须一样  
 
 2.必须具备相同的修订等级--revision level  
 
 3.相同的VLAN和实例映射关系  
 
 MSTP 配置:  
 
 1.配置VLAN  
 
 [Huawei]vlan batch 1 to 10  
 
 [Huawei-GigabitEthernet0/0/2]port link-type trunk  
 
 [Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan 1 to 10  
 
 [Huawei]stp enable  
 
 [Huawei]stp mode mstp  
 
 [Huawei-mst-region]region-name aa -配置MSTP域名称  
 
 [Huawei-mst-region]revision-level 1 --修改修订等级,可以不修改  
 
 [Huawei-mst-region]instance 1 vlan 1 to 5  
 
 [Huawei-mst-region]instance 2 vlan 6 to 10 --配置VLAN和实例映射关系  
 
 [Huawei-mst-region]active region-configuration  ---必须激活配置  
 
 
 修改 MSTP 实例优先级  
 
 [Huawei]stp instance 1 root secondary  --  
 
 链路聚合  
 
 VRRP  
 
 根端口只看接口收到的配置的 BPDU 的情况,指定端口只看发送BPDU 的情况。  
 
 配置BPDU--用来STP做角色选举的BPDU,初始情况下交换机没有根的情况下,所有交换机会先把自己当作根设备去发生配置BPDU--之后比对其中的参数,选择唯一的树根。选择出树根之后,只有根设备会每2秒发生配置  
 
 BPDU用来设备保活,之后其他设备只转发根设备M发送的配置BPDU。