生成树协议STP工作原理与基本配置(理论)

应用背景

为了提高网络可靠性,交换网络中通常会使用冗余链路。然而冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。

MAC地址表震荡(飘移)

一个接口学习到的MAC地址被后学习到的表项覆盖。产生的原因:二层环路、伪造报文攻击、vrp主备切换等。

生成树协议STP(Spanning Tree Protocol)的作用

二层网络用于消除环路的协议,确保网络中所有的目的地之间只有一个逻辑路径。

在提高可靠性的同时避免环路带来的各种问题。

STP通过阻塞端口来消除环路,并能够实现链路备份的目的。

BPDU

网桥协议数据单元,运行STP功能的交换机之间交换的数据帧。BPDU报文封装在以太网数据帧中,包括TCNBPDU和配置BPDU。TCNBPDU是错误变化通知,配置BPDU就是STP进行选举的时候每个交换机互相交互BPDU信息,它会按照hello time规定的时间间隔从指定端口发出,主要用于生成树计算。

BPDU字段

协议id(protocol identify),协议版本id(stp的版本),BPDU type(BPDU的类型),flag(标志),根桥id,根路径开销RPC(root path cost),网桥id(发送BPDU的网桥id),端口id(发送BPDU的端口id),消息老化时间(Message Age),Max Age(交换机端口保存配置BPDU的最长时间),Hello Time(根桥连续发送BPDU的时间间隔)。

  1. Flags字段:用于标识BPDU的类型和发送端口的角色。
  2. Type字段:用于标识BPDU的类型,例如RSTP BPDU或MST BPDU。
  3. TCN BPDU:用于通知网络中的交换机有拓扑结构发生变化。
  4. TC字段:用于标识BPDU中是否包含TCN信息。
  5. TCA字段:用于标识BPDU中是否包含TCA信息。
  6. Root ID字段:用于标识生成树的根交换机。
  7. Bridge ID字段:用于标识发送BPDU的交换机。
  8. Port ID字段:用于标识发送BPDU的交换机的端口。
  9. Message Age字段:用于标识BPDU的年龄,即BPDU从发送端口发送出去的时间。
  10. Max Age字段:用于标识BPDU的最大年龄,即BPDU在网络中存在的最长时间。

配置BPDU:0x00     TCN BPDU:0x80

配置BPDU每经过一个交换机,Message Age都会+1,如果Message Age大于Max Age,非根桥就会丢弃该配置BPDU。

//什么情况下会产生配置BPDU?

STP操作--端口角色选举的过程

根桥选举初始时每个交换机都认为自己是根桥,所以在每个端口中发送的BPDU中的根桥字段都是各自的网桥id,rpc是累计到达根桥的开销值为0,发送者网桥id是自己的网桥id,pid是发送该BPDU端口的端口id。通过交换配置BPDU信息,交换机之间比较根桥id,网络中根桥id最小的被选举为根桥。先比较优先级,如果优先级相同就比较MAC地址。交换机上的根桥id字段更新之后,交换机将在所有后续BPDU中包含新的根桥id,这样即可确保具有最小根桥id的BPDU能够传递给网路中所有的交换机,就是网络中所有的交换机都能收到嘴最优的BPDU。

根端口选举:根端口是非根桥设备接收最优配置消息的交换机端口。比较到达根桥的最下开销值、发送者最小网桥id、发送者最小的端口id、接收者最小的端口id。

指定端口选举:选举规则和根端口选举规则一样。

端口状态转换

STP简单配置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值