STP
# 简介
在日常的企业设备搭建中,我们不得不考虑到设备的健壮性问题
企业的设备接入主要分为三层(接入层、汇聚层、核心层),但设备总有坏的一天,前人想到的方法是接入一台额外的备用设备,但很明显,线路也增加了一倍。而且不仅仅是设备有损坏的风险,常见的线路也会损坏,这意味着不得不为一条线路准备一条以上的备用线路,而实际企业网络构建中可能涉及了成百上千的设备,如果都这样做,线路将变得极其复杂且冗余!
# 潜在的问题
上述结构可能面临一个严重的问题 —— 环路广播风暴 这个问题十分严重,试想当主机发送了一个广播数据包时,交换机会将其泛洪,然后一台交换机后面存在着数十台交换机,交换机收到广播包后依旧会泛洪,永无止境的来回泛洪会耗尽设备的资源从而导致网络瘫痪!
# STP协议
STP通过阻塞端口来消除环路,并且实现链路备份的目的
该协议使交换机间通过发送BPDU数据包来选举一个根桥,BPDU数据包包含了以下几个内容:
- ROOTID (优先级+MAC)
- 到达ROOT的COST
- BID (自己的优先级+自己的MAC)
- PID (端口优先级+端口编号)
在STP中,默认优先级是32768且优先级必须是4096的倍数。
在对比过程中,数值越小越优先,赢的一方负责发波,发波口称为DP,接收口称为RP,切记每个设备仅有一个RP口,当设备与多台设备间对比都不赢时,选择最强波方向的接收口作为RP,其余的口全丢弃从而实现无环。
# 端口的生命周期
- Disabled :任何端口在一开始都是down状态
- Blocking :在启动端口后有一小段时间处于阻塞状态
- Listening :进入监听状态,开始STP选举,大概需要15秒
- Learning : 学习MAC地址
- Forwarding : 收发用户数据
# STP 计时器
通常情况下,BPDU报文每两秒发送一次,BPDU报文每经过一个交换机,Message age都会加一,如果Message age大于Max age,非根桥则会丢弃该BPDU
假设有该网络拓扑,假如LSW3的 GE0/0/2接口突然中断了,会发生什么事?
此时LSW3的GE0/0/1会与LSW2 GE0/0/2重新进行选举,根据生命周期得知,这将会重新进入Listening和Learning状态,这两个状态加起来需要30秒完成,因此接入层网络将会有30秒受到影响。
但如果是核心层故障,就不只是三十秒了,网络初级篇之STP(BPDU详解与STP故障恢复) - 沫仔 - 博客园 (cnblogs.com) (opens new window)