STP的基本概念
STP(Spanning Tree Protocol)是一种用于在网络中防止环路的协议。它通过阻断某些端口来消除网络中的环路,确保网络的稳定性和可靠性。STP的基本概念包括以下几个方面:
根桥(Root Bridge):在整个STP网络中,只有一个根桥。根桥是网络的逻辑中心,但不一定是物理中心。根桥的选择是基于桥ID(Bridge ID)的比较,桥ID由优先级和MAC地址组成。具有最小桥ID的设备被选为根桥。
根端口(Root Port):非根桥上的端口,选择到根桥路径开销最小的端口作为根端口。根端口负责向根桥方向转发数据。
指定端口(Designated Port):每条链路上选择一个指定端口,用于转发数据。指定端口的选择是基于路径开销、网桥ID等因素。
阻塞端口(Blocking Port):不用于转发数据,只接收BPDU(Bridge Protocol Data Unit)。阻塞端口的存在是为了防止网络中出现环路。
BPDU(Bridge Protocol Data Unit):STP的协议报文,用于交换网络拓扑信息。BPDU包含了桥ID、路径开销和端口ID等参数,通过在交换机之间传递BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。
端口状态:STP端口有五种状态,分别是禁用(Disabled)、阻塞(Blocking)、侦听(Listening)、学习(Learning)和转发(Forwarding)。端口状态的转变是基于STP的计算和定时器的控制。
开销(Cost):每个激活了STP的接口都维护着一个Cost值,用于计算根路径开销,即到达根的开销。开销值与接口的速率有关,带宽越高,开销越小。
根路径开销(Root Path Cost):从一个非根桥到达根桥的路径可能有多条,每条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为根路径开销。
接口ID(Port ID, PID):运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口,确定端口角色。接口ID由高4 bit接口优先级和低12 bit接口编号组成。
STP端口角色和状态
STP(Spanning Tree Protocol)是一种用于在网络中防止环路的协议。它通过阻断某些端口来消除网络中的环路,确保网络的稳定性和可靠性。STP的端口角色和状态如下:
端口角色
根端口(Root Port):非根桥上的端口,选择到根桥路径开销最小的端口作为根端口。根端口负责向根桥方向转发数据。
指定端口(Designated Port):每条链路上选择一个指定端口,用于转发数据。指定端口的选择是基于路径开销、网桥ID等因素。
阻塞端口(Blocking Port):不用于转发数据,只接收BPDU(Bridge Protocol Data Unit)。阻塞端口的存在是为了防止网络中出现环路。
禁用端口(Disabled Port):端口状态为Down,不处理BPDU报文,也不转发用户流量。
端口状态
禁用(Disabled):端口状态为Down,不处理BPDU报文,也不转发用户流量。
阻塞(Blocking):端口被STP阻塞,不能发送BPDU,但会持续侦听BPDU。
侦听(Listening):当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习。
学习(Learning):当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行MAC地址学习。
转发(Forwarding):处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的角色需是根接口或指定接口才能进入转发状态。
以上是STP端口的角色和状态,它们共同构成了STP协议的核心,确保了网络的稳定性和可靠性。
STP的拓扑计算
STP(Spanning Tree Protocol)的拓扑计算是通过交换BPDU(Bridge Protocol Data Unit)来实现的。在网络初始化时,所有的STP设备都认为自己是根桥,并通过交换BPDU来选举出真正的根桥。选举根桥的依据是比较BPDU中的根桥ID(Root Bridge ID),根桥ID由优先级和MAC地址组成,优先级越小越优先