运维系列&网络设备系列【仅供参考】:【网络协议详解】——STP技术(学习笔记)




【网络协议详解】——STP技术(学习笔记)

STP的由来

为了解决冗余链路引起的问题,IEEE通过了IEEE 802.1d协议,即生成树协议(Spanning Tree Protocol,STP)。IEEE 802.1d协议通过在交换机上运行一套复杂的算法,使冗余端口置于“阻塞状态”,使得网络中的计算机在通信时只有一条链路生效,而当这个链路出现故障时,IEEE 802.1d协议将会重新计算出网络的最优链路,将处于“阻塞状态”的端口重新打开,从而确保网络连接稳定可靠。

STP的术语

桥(Bridge)

因为性能方面的限制等因素,早期的交换机一般只有两个转发端口,所以那时的交换机常常被称为“网桥”,或简称“桥”。在IEEE的术语中,“桥”这个术语一直沿用至今,但并不只是指只有两个转发端口的交换机了,而是泛指具有任意多个端口的交换机。

桥的MAC地址(Bridge MAC Address)

一个桥有多个转发端口,每个端口有一个MAC地址。通常,交换机会把端口编号最小的那个端口的MAC地址作为整个桥的MAC地址。

桥ID(Bridge Identifier,BID)

一个桥(交换机)的桥ID由两部分组成,前面2字节是这个桥的桥优先级,后面6字节是这个桥的MAC地址。桥优先级的值可以手动设置,其默认值为0x8000(相当于十进制的32768)。

IEEE 802.1d标准中规定BID是由桥优先级(Bridge Priority)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。

在这里插入图片描述

端口ID(Port Identifier,PID)

第一种:端口ID由两个字节组成,第一个字节是该端口的端口优先级,后一个字节是端口编号。

第二种:端口ID由16个比特组成,前4个比特是该端口的端口优先级,后12比特是该端口的端口编号。

在这里插入图片描述

BPDU报文

STP采用的协议报文是BPDU(Bridge Protocol Data Unit),也称为配置消息。STP通过在设备间传递BPDU报文来确定网络的拓扑结构,并完成生成树的计算。BPDU报文被封装在以太网数据帧中,目的MAC是组播MAC:01-80-C2-00-00-00。

STP的端口角色和端口状态

端口角色:根端口和指定端口

根端口(Root Port)

根端口就是去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判定。很显然,在一个运行STP协议的设备上根端口有且只有一个,根桥上没有根端口。

指定桥(Designated Bridge)与指定端口(Designated Port)

分类

指定桥

指定端口

对于一台设备而言

与本机直接相连并且负责向本机转发配置消息的设备

指定桥向本机转发配置消息的端口

对于一个局域网而言

负责向本网段转发配置消息的设备

指定桥向本网段转发配置消息的端口

端口状态

运行STP协议的设备的端口存在5种端口状态,如表1所示。

表1 STP端口状态

端口状态

说明

Disabled

端口状态为Down,不处理BPDU报文,也不转发用户流量。

Listening

过渡状态,开始生成树计算,端口可以接收和发送BPDU,但不转发用户流量。

Learning

过渡状态,建立无环的MAC地址转发表,不转发用户流量。

Forwarding

端口可以接收和发送BPDU,也转发用户流量。只有根端口或指定端口才能进入Forwarding状态。

Blocking

端口仅仅接收并处理BPDU,不转发用户流量。

在这里插入图片描述

  1. 端口Up或使能了STP,会从Disabled状态进入到Blocking状态。

  2. 端口被选举为根端口或指定端口,会进入Listening状态。

  3. 端口的Forward Delay定时器超时,会进入Learning/Forwarding状态。

  4. 端口不再是根端口或指定端口时,会进入Blocking状态。

STP的定时器

Hello Time

运行STP协议的设备发送配置BPDU的时间间隔。设备每隔Hello Time时间会向周围的设备发送BPDU报文,以确认链路是否存在故障。

Forward Delay

设备状态迁移的延迟时间。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成临时环路。为此,STP采用了一种状态迁移机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息传遍整个网络,从而防止了临时环路的产生。

Forward Delay Timer

默认是15秒

树的基本理论

在一个具有物理环路的交换网络中,交换机通过运行STP,自动生成一个没有环路的逻辑拓扑。该无环逻辑拓扑也称为STP树(STP Tree),树节点为某些特定的交换机,树枝为某些特定的链路。一棵STP树包含了唯一的一个根节点,任何一个节点到根节点的工作路径不但是唯一的,而且是最优的。当网络拓扑发生变化时,STP树也会自动地发生相应的改变。

简而言之,有环的物理拓扑提高了网络连接的可靠性,而无环的逻辑拓扑避免了广播风暴、MAC地址表翻摆、多帧复制,这就是STP的精髓。

生成树的生成过程

①选举根桥(Root Bridge),作为整个网络的根。

②确定根端口(Root port,RP),确定非根交换机与根交换机链接最优的端口。

③确定指定端口(Designated Port,DP),确定每条链路与根桥连接最优的端口。

④阻塞备用端口(Alternate Port,AP),形成一个无环网络。

实验操作

组网需求

在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。

当前网络中存在环路,SwitchA、SwitchB、SwitchC和SwitchD都运行STP,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。

在这里插入图片描述

配置文件

SwitchA的配置文件

#
sysname SwitchA
stp mode stp
stp instance 0 root primary 
stp pathcost-standard legacy
#
return

SwitchB的配置文件

sysname SwitchB   
# 
stp mode stp   
stp bpdu-protection
stp pathcost-standard legacy
#  
interface GigabitEthernet0/0/2   
 stp edged-port enable 
 
return

SwitchC的配置文件

sysname SwitchC  
#  
stp mode stp 
stp pathcost-standard legacy
stp bpdu-protection
#  
interface GigabitEthernet0/0/1          
 stp instance 0 cost 20000 
#  
interface GigabitEthernet0/0/2     
 stp edged-port enable 
#  
return  

SwitchD的配置文件

sysname SwitchD 
# 
stp mode stp  
stp instance 0 root secondary      
stp pathcost-standard legacy
#   
return







网络工程小王

【网络协议详解】——STP技术(学习笔记)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

坦笑&&life

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

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

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

打赏作者

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

抵扣说明:

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

余额充值