第12章-生成树协议

1. STP产生背景

1.1 桥接网络:网桥

1.2 交换机网络

1.3 解决方案

2. STP生成树协议

2.1 概念

2.2 BPDU(Bridge Protocol Data Unit)

2.3 选举机制(网桥:一进一出)

2.4 例题

2.5 端口状态

2.6 STP计时器

2.7 STP的问题

2.8 STP拓扑变更机制

3. RSTP

3.1 端口状态减少到3种

3.2 端口角色增加到4种

3.3 边缘端口机制

4. 其他生成树

4.1 MSTP(多生成树协议(Multiple Spaning Tree Protocol))

4.2 PVST(Per VLAN Spanning Tree)


1. STP产生背景

1.1 桥接网络:网桥

        特点:不修改帧 + 不记录网桥个数;

        问题:重复帧占用带宽;

1.2 交换机网络

        网状拓扑,两个节点之间多条路径可达;

        问题:① 环路;② 广播风暴;③ MAC地址表震荡;

1.3 解决方案

        使用生成树协议(STP)

        STP的基本原理:临时阻塞端口

 

2. STP生成树协议

2.1 概念

        STP(Spanning Tree Protocol):用于在局域网中消除数据链路层物理环路的协议,即802.1D

        1)基本流程:彼此交换信息 → 发现环路 → 进行端口堵塞

        2)目的:有环的网络修剪为无环路的树形网络拓扑结构

        3)阻塞对象:质量相对较差的接口

2.2 BPDU(Bridge Protocol Data Unit)

        定义1:用于传递生成树协议的报文

        定义2:是一种数据帧,通过BPDU用于传达自己的选举信息

        例子:自荐信

        1)配置BPDU(Configuration BPDU)(CFG BPDU)

        生成树协议计算和维护生成树拓扑;

        2)TCN BPDU(Topology Change Notification BPDU)

        若网络中某个网络结构发生了变化,进行及时通告,重新选举阻塞口

2.3 选举机制(网桥:一进一出)

        根网桥 → 根端口 → 指定端口 → 阻塞端口

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

        规则:Bridge-id小的优先

        Bridge-id-标识交换机身份:优先级+MAC地址(数值:优先级默认32768,必须是4096的倍数)

        例子:在一个班里选一个班长

        例1:

        例2:

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

        选举对象:非根网桥

        根端口不是根网桥的端口,而是其他网桥达到根网桥的端口;

        原则1:比较路径开销。比较本交换机到达根网桥的路径开销(Cost),选择开销最小的路径。STP以网桥的链路速率(端口速率)来定义路径开销。

        原则2:比较发送CFG BPDU的网桥的BID。如果路径开销相同,则发送CFG BPDU的网桥的BID最小者所对应的端口当选,即比较对端网桥的BID,谁的对端BID小谁就当选。

 

        原则3:比较发送CFG BPDU的网桥的PID(Port ID,端口ID)。如果发送CFG BPDU的网桥的BID也相同(如B1、B2之间有两条链路),那么发送CFG BPDU的端口的PID最小者所对应的端口当选,即比较对端端口的PID,谁的对端PID小谁就当选。

        原则4:比较自身端口PID。如果发送CFG BPDU的网桥的PID也相同(对端只有一个网桥一个端口通过Hub接人本端的两个端口),那么就比较本网桥的多个端口的PID,谁的PID小谁就当选。

 

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

        选举对象:在每根网线上选出一个指定端口;

        ① 根端口不能是指定端口,非根端口都是指定端口的候选者。

        ② 一个网段上必须有且只能有一个指定端口。如果出现多个候选指定端口,那么:

        a. 谁到达根网桥的路径代价最小,谁就当选

        b. 对于端口所在的网桥的 BID,谁小谁当选

        c. 比较(对端)端口的 PID,谁小谁当选

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

2.4 例题

2.5 端口状态

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

        1)blocking:阻塞状态

        ① 开机:所有接口会处于blocking阻塞状态

        ② 任务:接收BPDU(报文),但不发送BPDU(报文),不学习MAC地址,不转发数据

        功能:其他口挂了,阻塞口会开启,起到备份的效果;

        2)listening:监听状态

        任务1:接收并发送BPDU(报文),不学习MAC地址,不转发数据

        任务2:选根桥、选根端口、选指定端口

        流程:选完后,如果是根端口或指定端口,则进入learing状态;如果是阻塞口,返回blocking状态

        时间:持续15秒(可修改)

3)learning:学习状态

        任务:接收并发送BPDU(报文),学习MAC地址,不转发数据

        时间:15秒:防止listening状态15秒没选完

4)forwarding:转发状态

        任务:接收并发送BPDU(报文),学习MAC地址,转发数据

5)总结:交换机开机后,要等30秒左右会进行转发数据,会算生成树

2.6 STP计时器

        1)Hello time

        任务1:配置BPDU的发送周期,传递消息

        任务2:持续检测对方状态

        时间:2秒

        2)Max age

        判断链路故障的时间,超过10个Hello time周期,认为挂掉

        时间:20秒

        3)Forwarding delay

        记录状态切换的延迟;

        时间:15秒

        4)总结

        接口挂了重连:

        最长时间=20s(判断故障)+30s(重新计算)=50s

        最短时间=30s(重新计算)

2.7 STP的问题

        问题1:处理故障缺陷时间太长,收敛速度慢

        问题2:生成树切换与MAC地表的时差

        问题3:接口变动会频繁触发变更,导致网络崩溃;例如主机频繁上下线

2.8 STP拓扑变更机制

        1)定义:解决STP的问题

        2)流程:

        ① Max age超时/有接口变更为转发状态,判断为拓扑发送变更,向根网桥发起TCN BPDU;

TCN BPDU会进行报错处理;

        ② 收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止;

        只有根网桥才能产生BPDU,其他的交换机只是做转发;

        ③ 根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU;

        处理问题;

        ④ 交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒;

        TC置位的配置BPDU:每2秒发的BPDU里面有TC位,把标志位标志位1;

3. RSTP

        定义:快速生成树协议(Rapid Spanning Tree Protocol);

3.1 端口状态减少到3种

        Discarding(丢弃)状态

        Learning(学习)状态

        Forwarding(转发)状态

3.2 端口角色增加到4种

        根端口

        指定端口

        阻塞端口细分为2种:

        替代端口(Alternata port):根端口的备份;

        备份端口(Backuo port):指定端口的备份;

        当端口挂了不重新计算,用备份的, STP要重新选举

3.3 边缘端口机制

        针对于解决主机频繁上下线的问题;

        运行机制:

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

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

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

4. 其他生成树

4.1 MSTP(多生成树协议(Multiple Spaning Tree Protocol))

        目的:解决阻塞端口浪费资源的问题;

        功能:

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

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

        场景:定义多个生成树实例,每个实例对应多个VLAN;

 

4.2 PVST(Per VLAN Spanning Tree)

        STP和RSTP:共享一棵生成树;

        PVST:每个VLAN内都拥有一棵生成树;

        比如:划分VLAN,划了5个;1、2、3、4、5;

  • 60
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李秋天

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

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

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

打赏作者

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

抵扣说明:

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

余额充值