生成树协议

一、生成树协议

1、二层环路带来的问题

  • 广播风暴
  • MAC地址表震荡

2、生成树定义

STP,用来解决二层环路问题


3、STP相关概念

BPDU定义

桥协议数据单元,用于传递STP协议相关报文

BPDU分类

配置BPDU:

  • 用于传递STP的配置信息(即用来计算生成树计算和维护生成树拓扑的报文)

TCN BPDU:

  • 用于通告拓扑变更信息(即当拓扑结构发生变化时,用来通知相关设备网络拓扑结构发生变化的报文)

4、STP的选举机制

4.1 Root bridge

在所有交换机中选举出一台作为根网桥(Root bridge)

  • 选举规则

Bridge-id小的优先

  • Brideg-id

定义

桥ID,BID,用来标识交换机身份

格式

优先级+Mac地址
优先级默认32768,必须是4096的倍数

4.2 Root port

每台非根网桥(交换机)选举出一个根端口(Root port)

  • 选举规则

1.到达根网桥开销小的优先
2.对端交换机BID小的优先
3.端口ID小的优先

  • 开销

Cost,代表路径耗费的代价和成本,带宽越大,开销越小

4.3 Designated port

每个物理段上选举出一个指定端口(Designated port)

  • 选举规则

1.到达根网桥开销小的优先
2.本机BID小的优先
3.端口ID小的优先

4.4 Blocked Port

剩下没有角色的端口就是闭塞端口(Blocked Port)


5、STP初始化流程

交换机端口状态

disable:禁用状态,被关闭的端口

blocking:闭塞状态,接收BPDU,但不发送BPDU,不学习Mac地址,不转发数据

listening:监听状态,接收并发送BPDU,不学习Mac地址,不转发数据,持续15秒

learning:学习状态,接收并发送BPDU,学习Mac地址,不转发数据,持续15秒

forwarding:转发状态,接收并发送BPDU,学习Mac地址,转发数据

6、STP计时器

Hello time

2秒,配置BPDU的发送周期

Max age

20秒,判断链路故障的时间,10个Hello time周期

Forwarding delay

15秒,状态切换延迟


7、STP拓扑变更机制

  • Max age超时/有接口变更为转发状态,判断为拓扑发生变更,向根网桥发起TCN BPDU
  • 收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止
  • 根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU
  • 交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒

8、STP的问题

  • 收敛速度慢,故障切换时间太长
  • 网络中大量主机频繁上下线,会导致TCN BPDU大量发送

9、RSTP

快速生成树协议

  • 端口状态减少到3种
  • 端口角色增加到4种

根端口和指定端口不变

闭塞端口细分为2种:
替代端口(Alternata port) 根端口的备份
备份端口(Backup port) 指定端口的备份

  • 边缘端口机制

当链路激活,边缘端口立即进入转发状态,不参与STP计算

边缘端口UP/DOWN不会触发拓扑变更

建议把连接PC的端口配置为边缘端口


10、PVST

每个VLAN生成树(思科私有)

用途

每个VLAN生成树(PVST)为每个在网络中配置的VLAN维护一个生成树实例。它使用ISL中继和允许一个VLAN中继当被其它VLANs的阻塞时将一些VLANs转发。尽管PVST对待每个VLAN作为一个单独的网络,它有能力(在第2层)通过一些在主干和其它在另一个主干中的不引起生成树循环的Vlans中的一些VLANs来负载平衡通信

PVST BPDU的格式和STP/RSTP BPDU格式已经不一样,发送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN Trunk的情况下PVST BPDU被打上了“ISLVLAN”标签。所以,PVST协议并不兼容STP/RSTP协议


11、MSTP

多生成树协议

将多个vlan捆绑到一个生成树实例,每个实例分别独立计算生成树

基于STP计算结果不同,实现不同vlan的流量负载均衡

12、STP常用命令

//查看STP相关信息
[h3c]display stp

//查看STP端口状态
[h3c]display stp brief

//全局启用STP
[h3c]stp global enable

//关闭端口上STP
[h3c-GigabitEthernet 1/0/1]undo stp enable

//更改STP模式,默认模式是mstp
[h3c]stp mode 'stp/rstp/mstp'

//更改交换机优先级
[h3c]stp priority 'priority'

//更改接口生成树的cost
[h3c-GigabitEthernet 1/0/1]stp cost 'cost'

//配置端口为边缘端口		
[h3c-GigabitEthernet 1/0/1]stp edged-port


二、STP实验

实验拓扑


实验需求

  1. 开启所有设备,等待STP收敛后观察STP状态
  2. 使SW4成为根网桥
  3. 使闭塞端口出现在SW2上
  4. 把SW1上连接的PC的端口配置为边缘端口

实验解法

1、查看STP

等待STP收敛后,查看STP运行状态,发现根网桥,闭塞端口

步骤1:根据HCL模拟器的运行机制,SW1的Mac地址应该是最小的,会成为根网桥,在SW1上查看STP运行状态,确认SW1为根网桥
[SW1]display stp
-------[CIST Global Info][Mode MSTP]-------
Bridge ID           : 32768.7aef-e4ea-0100
Bridge times        : Hello 2s MaxAge 20s FwdDelay 15s MaxHops 20
Root ID/ERPC        : 32768.7aef-e4ea-0100, 0
RegRoot ID/IRPC     : 32768.7aef-e4ea-0100, 0
RootPort ID         : 0.0
BPDU-Protection     : Disabled
Bridge Config-
Digest-Snooping     : Disabled
TC or TCN received  : 7
Time since last TC  : 0 days 0h:0m:40s

步骤2:根据STP计算机制,所有互连长度一致,闭塞端口应该会出现在SW4上。在SW4上查看端口状态,确认SW4的g1 / 0/2被闭塞
[SW4]display stp brief 
MST ID   Port                                Role  STP State   Protection
0        GigabitEthernet1/0/1                ROOT  FORWARDING  NONE
0        GigabitEthernet1/0/2                ALTE  DISCARDING  NONE

2、设置跟网桥

使SW4成为新的根网桥

分析:要想使SW4成为根网桥,最好的办法就是让SW4的优先级成为全网最小。或者优先级都为32768,只要把SW4的优先级改成比32768小就可以了

步骤1:修改SW4的优先级为4096
[SW4]stp priority 4096
[SW4]%Mar 21 20:50:27:109 2018 SW4 STP/6/STP_DETECTED_TC: Instance 0's port GigabitEthernet1/0/2 detected a topology change.

步骤2:在SW4上查看STP运行状态,发现SW4已经成为新的根网桥
[SW4]display stp 
-------[CIST Global Info][Mode MSTP]-------
Bridge ID           : 4096.7af0-0e17-0400
Bridge times        : Hello 2s MaxAge 20s FwdDelay 15s MaxHops 20
Root ID/ERPC        : 4096.7af0-0e17-0400, 0
RegRoot ID/IRPC     : 4096.7af0-0e17-0400, 0
RootPort ID         : 0.0
BPDU-Protection     : Disabled
Bridge Config-
Digest-Snooping     : Disabled
TC or TCN received  : 8
Time since last TC  : 0 days 0h:1m:30s

3、设置闭塞端口

使闭塞端口出现在SW2上

分析:SW4成为了根网桥,按照STP计算机制,闭塞端口此时应该在SW1上。要使闭塞端口到SW2上,就需要让SW2到SW1的成本比SW4到SW1尺寸。口的cost重置是20,我们可以把SW2的g1 / 0/2接口的cost替换为1000

步骤1:在SW2上进入g1 / 0/2接口的接口视图,修改stp cost为1000
[SW2]interface g1/0/2
[SW2-GigabitEthernet1/0/2]stp cost 1000
[SW2-GigabitEthernet1/0/2]%Mar 21 22:16:05:399 2018 SW2 STP/6/STP_NOTIFIED_TC: Instance 0's port GigabitEthernet1/0/1 was notified a topology change.

步骤2:在SW2上查看STP接口状态,发现SW2的g1 / 0/2接口已经成为了新的闭塞端口
[SW2]display stp brief 
MST ID   Port                                Role  STP State   Protection
0        GigabitEthernet1/0/1                ROOT  FORWARDING  NONE
0        GigabitEthernet1/0/2                ALTE  DISCARDING  NONE

4、配置边缘端口

把SW1连接PC的所有接口配置为边缘接口

[SW4]interface g1/0/3
[SW4-GigabitEthernet1/0/3]stp edged-port 
Edge port should only be connected to terminal. It will cause temporary loops if port GigabitEthernet1/0/3 is connected to bridges. Please use it carefully.
[SW4]interface g1/0/4
[SW4-GigabitEthernet1/0/4]stp edged-port 
Edge port should only be connected to terminal. It will cause temporary loops if port GigabitEthernet1/
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉只只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值