19STP_BDPU_ID_开销_选举规则_案例_端口状态_计时器

本文深入解析了生成树协议(STP)的工作原理及其在二层网络设计中的应用,阐述了如何利用STP消除环路、实现链路备份,介绍了STP的选举过程、端口状态及计时器设置,同时探讨了故障处理和配置命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STP

标签(空格分隔): HCIA

介绍

为了提高网络可靠性,交换网络中通常会使用冗余链路.然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量.生成树协议STP(Spaning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题.

二层网路设计需求和问题

  • 为了提高可靠性,交换机之间会通过多条链路相连从而避免单点故障
  • 但同时会带来一些灾难性的环路问题

01单点故障

在这里插入图片描述

02一般设计(可靠性)
在这里插入图片描述

1.环路问题

广播风暴 --泛洪

03广播风暴

在这里插入图片描述

MAC地址表震荡
04MAC地址表震荡
在这里插入图片描述
05Flapping_震荡
在这里插入图片描述
06MAC地址表震荡dismac-add
在这里插入图片描述

2.STP功能

spanning tree protocol 生成树协议,提供两大功能

消除环路:通过阻断冗余链路来消除网络中可能存在的环路
链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性

许多傻瓜式交换机没有stp功能

STP操作

07STP操作
在这里插入图片描述

根桥是一台交换机(无根端口) ,根端口是非根交换机上的一个端口

D:指定端口
R:根端口
A:阻塞端口

BPDU

Bridge Protocol Data Unit 桥协议数据单元

使用组播 01-80-c2-00-00-00

08组播01-80-c2-00-00-00
在这里插入图片描述

09BPDU数据结构
在这里插入图片描述

BPDU类型

  • 配置BPDU:Configuration
    • 选举根交换机以及确定每个交换机端口的角色和状态
    • 在初始化过程中,每个桥都主动发送配置BPDU
    • 在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU
    • 发送周期为Hello Time
    • 老化时间为Max Age
  • 拓扑变更通告BPDU-TCN BPDU
    在这里插入图片描述

10BPDU抓包
切换模式stp mode stp/mstp/rstp

在这里插入图片描述

11-2BPDU字段详解
在这里插入图片描述

ID

11stp三个ID

在这里插入图片描述

12桥ID
32768
在这里插入图片描述

13端口ID
128
在这里插入图片描述
14端口ID桥ID
在这里插入图片描述

开销

15路径开销

在这里插入图片描述

16根路径开销
在这里插入图片描述

17链路开销标准
默认802.1t
在这里插入图片描述

18stp修改路径开销和标准
在这里插入图片描述

STP选举过程

19根桥选举
BID最小的成为根桥(先比较优先级,在比较MAC)小的优先
在这里插入图片描述

20根端口选举
根端口:到达根桥最近的端口,开销最小的端口.

验证命令
dis stp brief
dis stp
在这里插入图片描述

21指定端口选举
DESI
用数据转发
端口都是指定端口,这个交换机是根桥
特殊情况,一个交换机两个端口互相连线,自己连自己就不是
在这里插入图片描述

选举案例

22STP选举案例
在这里插入图片描述

23STP选举案例

SW2 DP 开销一样,比较BID
在这里插入图片描述
24 选举
在这里插入图片描述

25 选举
在这里插入图片描述
26选举
在这里插入图片描述
27选举
在这里插入图片描述
28选举
在这里插入图片描述
29选举
在这里插入图片描述
30选举
在这里插入图片描述
31例题

在这里插入图片描述

3.STP端口状态(5/3)

等待30s达到稳定状态
32端口状态
此状态为stp的.华为默认开启mstp/rstp
一般看到的状态是mstp/rstp的三个状态
在这里插入图片描述

33RSTP端口状态
在这里插入图片描述

discarding持续15 不转发用户流量不学MAC地址
learning持续15 不转发只学
forwarding 30达到 转发和学

计时器

34计时器
在这里插入图片描述

35计时器2
最大寿命:
阻塞端口被阻塞后,依然接收BPDU,保持阻塞(以为有比自己端口/路径好的选项),如果链路出现问题,则保持20s为阻塞状态,20s后,进入监听状态,学习,转发
在这里插入图片描述

36计时器message-age
根桥发送的是0,经过一个+1,最大max age 老化时间,大于非根桥丢弃(二层环境不建议很多/一直接交换机–导致stp计算路径过长)
在这里插入图片描述

37端口状态转换
在这里插入图片描述

故障

38根桥故障
等50秒,要先等老化,再等30秒(监听,学习learning,转发forwarding)
BPDU老化20s

在这里插入图片描述

39直连链路故障

在这里插入图片描述
40非直连链路故障
感觉不到。50s

SWB会认为自己是根桥,向SWC发送BPDU,SWC通过比较BID,确定SWA依旧是根桥,不理会SWB的BPDU,保持堵塞,保持20s。20s后发现错误,会经过30s变成指定端口。
在这里插入图片描述

stp mode stp先改变默认的stp模式。在进行端口shutdown实验。

41拓扑变化导致MAC地址表错误
此时如果arp缓存是清空的,会重新广播,获得正确的MAC地址和端口对应关系,但不理想
在这里插入图片描述

MAC地址表项的默认老化时间是300秒

TCN、TC、TCA

tcn 拓扑变更通告
下游交换机感知到拓扑变化时向上游发送的拓扑变化通知

42拓扑变化导致MAC地址表变化
在这里插入图片描述

检测到拓扑改变的交换机通过根端口向根桥发送TCN,上游交换机收到TCN后回应
TCA,让后下游交换机停止发送TCN,再通过根端口发送TCN直到根桥收到,根桥通过指定端口发送TC通知所有下游交换机把MAC地址表记录老化时间从300秒变成15秒

周期性发送TCN,直到收到回复的TCA,停止

43TCA
在这里插入图片描述

缺点给各种速度慢
堆叠(私有的),跨设备链路聚合,多虚一,虚拟化

STP配置命令

命令说明
stp mode mstp/stp/rstp配置stp模式,缺省为mstp
stp priority 4096配置BID优先级值,0~61440,步长为4096
stp root primary(0)/secondary(4096)自动修改优先级,指定主/备根桥
stp pathcost-standard dot1d-1998/dot1t/legacy配置路径开销值的标准
开销标准legacy:cost=1~200000,华为的私有
802.1d标准:cost=1~65535
802.1t标准:cost=1~200000000,默认
int g --stp cost 10修改stp开销
stp port priority 144修改PID优先级,步长为16
dis stp [brief]显示stp配置信息和参数

修改端口属性

修改优先级 开销 BID PID

### STP根桥选举规则及原理 STP(Spanning Tree Protocol)的核心目标之一是通过选举机制来防止网络中的环路形成,从而保障数据包能够可靠传输。以下是关于根桥选举的具体规则及其背后的原理: #### 1. **根桥的定义** 在一个运行STP网络中,所有交换机会共同选出一个唯一的根桥(Root Bridge)。该根桥在整个生成树结构中处于核心地位,所有的其他交换机都将基于此根桥构建无环拓扑。 #### 2. **根桥选举的关键参数** 根桥的选择依赖于一种被称为桥ID(Bridge ID 或 BID)的独特标识符[^1]。 桥ID由两部分组成: - **优先级(Priority)**:这是一个可以配置的数值,默认值通常为32768。较小的优先级意味着更高的优先权。 - **MAC地址**:如果优先级相同,则比较交换机的MAC地址,更小的MAC地址具有更高优先权。 因此,桥ID计算公式如下: ```plaintext BID = Priority + MAC Address ``` #### 3. **选举过程** 在STP初始化阶段,每台交换机默认认为自己是根桥并开始广播BPDU(Bridge Protocol Data Unit)。这些BPDU包含了当前交换机所知的根桥信息以及自身的桥ID。随着BPDU网络中传播,各交换机会执行以下操作: - 接收到来自邻居交换机BPDU后,将其携带的根桥BID与本地存储的最佳根桥BID进行对比。 - 如果接收到的根桥BID小于当前记录的最佳根桥BID,则更新其最佳根桥信息,并继续转发新的BPDU消息给相邻节点。 - 此过程持续迭代直到整个网络达成一致意见,即只存在唯一的一个拥有最低BID值的交换机作为最终选定的根桥[^3]。 #### 4. **具体步骤总结** - 所有参与STP协议的交换机最初均假设自身为根桥并向外发送包含本机桥ID在内的BPDU帧。 - 当某台非候选根桥接收到了更低编号的BPDU时,它停止宣称自己为主导者而是转而支持那个更具竞争力的新提议者;反之则维持现状不变。 - 经过若干轮次的信息交换之后,全网范围内仅剩下一个具备全局最小化特征量度标准的对象脱颖而出成为正式确立下来的独一无二之首脑机构——也就是所谓的“根桥”。 --- ### 示例代码展示 BPDU 结构 (伪代码形式) 下面给出了一段简化版用于表示如何处理和解析BPDU的数据字段逻辑示例程序片段: ```python class BPDU: def __init__(self, root_id, sender_id): self.root_id = root_id # Root bridge's identifier self.sender_id = sender_id # Sending bridge's identifier def compare_bpdus(bpdu_a, bpdu_b): """Compare two BDPU objects to determine which one has better info.""" if bpdu_a.root_id < bpdu_b.root_id: return True # Prefer A over B based on smaller root id. elif bpdu_a.root_id == bpdu_b.root_id and \ bpdu_a.sender_id < bpdu_b.sender_id: return True # Tie-breaker using sender ids when roots match. else: return False # Otherwise prefer existing state or other side. # Example usage of comparing hypothetical bpdus during election phase... current_best_bpdu = BPDU(root_id="00:aa:bb", sender_id="00:cc:dd") new_incoming_bpdu = BPDU(root_id="00:a9:bz", sender_id="00:xw:yq") if not compare_bpdus(current_best_bpdu, new_incoming_bpdu): update_to_new_root(new_incoming_bpdu) # Update our knowledge about the network topology accordingly. ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值