生成树协议(spanning tree protocol)
·是一种工作在OSI网络模型中第二层(数据链路层)的通信协议,是一种由交换机运行的,基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免了广播风暴,大量占用交换机的资源
生成树的类型
STP(标准生成树,又称为802.1D )
PVST,PVST+(Cisco私有生成树协议)
RSTP(快速生成树,又称为802.1W)
MSTP(多生成树协议,又称为802.1S)
基本术语
桥、桥的MAC地址,桥的ID、端口ID:
桥:早期交换机一般只有二个转发端口,所以那个时候的交换机常常被称为“网桥”,后来“桥”这个术语一直沿用至今,但并不是指只有二个转发端口的交换机了,而是泛指任意多端口的交换机,目前“桥”和“交换机”这二个术语是可以混用的
桥的MAC地址:我们知道一个桥有多个转发端口,每个端口都有一个MAC地址,通常,我们把端口编号最小的那个端口的MAC地址作为整个桥的MAC地址。
桥ID(BID):一个桥(交换机)的桥ID由二部分组成,即:桥优先级+桥的MAC地址;其中桥优先级的值可以人为设定,默认0x8000(相当于十进制32768),取值范围是0~65535.
端口ID(PID):一个桥(交换机)的某个端口ID由二部分组成,即:端口优先级+端口编号;端口优先级的值是可以人为设定的。不同厂商的设备对于二部分所占用的字节数可能有所不同 。
STP
·又称:802.1D ,标准生成树。
·BPDU:网桥协议数据单元。通知交换网络出现了拓扑变更,分为配置BPDU–config-BPDU(用于生成树的选举以及重收敛)和(拓扑变更)TCN-BPDU。
·端口角色:
(1)根端口 (RP):存在于非根网桥之上,一个非根网桥仅有一个,用于接收来自于根的BPDU。
(2)指定端口(DP):在一条链路中有且仅有一个,用于转发BPDU。
(3)阻塞端口(NDP):被逻辑上关闭的接口。
·接口状态:
·down: 初始化所有接口状态。
·侦听: (15s)所有接口收发BPDU,选举各种角色 根端口 + 指定端口 进入学习状态、指定端口进入阻塞状态。
·学习: (15s) 根端口 + 指定端口 记录所有进出数据帧中的源mac地址,生成mac地址表;
之后进入转发状态。
·转发、 阻塞。
·保活时间: 20s 。每隔20s进行一次激活接口。
·端口状态:
(1)disable —关闭状态 1.关闭生成树协议 2.接口物理关闭。
(2)blocking—阻塞状态 ,不能发送BPDU ,可以接收BPDU ,不能发送和接收数据。
(3)listening —监听状态,可以发送并接收BPDU,不能发送和接收数据;(进行生成树选举
的)。
(4)learning —学习状态,可以发送并接收BPDU,不能发送和接收数据;(学习MAC地址
表)—目的:限制未知单播帧的泛洪。
(5)forwarding—转发状态,可以发送并接收 BPDU和数据。
STP 收敛
STP收敛步骤/生成树选举:
步骤一:选举根桥;
步骤二:选举根端口;
步骤三:选举指定端口和非指定端口。
1.选根网桥: 每个网络中选择唯一一个根网桥: Bridge ID 最小的网桥当选。先看优先级小当选,当优先级相同时看MAC地址,MAC地址小的当选。
2.选根端口:对于每个非根网桥选择唯一一个根端口。通过比较:1.接口最小的开销值(RPC+PC)2.最小的BID(发送方的) 3.最小的PID(发送方的)。
非根桥在选举根端口时分别依据该端口的根路径开销、对端BID、对端PID和本端PID。
COST:从根出发,到每个非根网桥端口的入流量方向,流量所经过的路线中经过端口入流量时COST增加。
一个运行STP协议的网络中,我们将某个交换机的端口到根桥的累计路径开销(J即从该端口到根路径经过的所有链路的路径开销的和)称为这个端口的根路径开销(Root Path Cost,RPC),链路的路径开销 于端口速率有关,端口转发速率越大,则路径开销越小。
·如果某个非根网桥的端口两条链路带宽相等 如下图的S4交换机的两个端口F0/1,F0/2。S4上的根端口是哪个?
·如下图所示(S2 BID < S3 BID),S4的根端口是哪个,显然不是F0/3,是S4的F0/1,还是F0/2?
如下图所示(S2 BID < S3 BID),S4的根端口是哪个,显然不是F0/3,是S4的F0/1,还是F0/2?
3.选指定端口:在每个网段中选择唯一一个指定端口。通过比较:1.本设备根端口的最小开销值 2.最小的BID(本交换机)3.最小的PID(本设备)。
·比较该网段中每一个端口到根网桥的Path Cost值, Path Cost值最小的端口当选。
Cost值:从根出发到本端口所在的交换机再到本端口方向画流量方向(对端口来说可能是入流量也可能是出流量),仍然是入流量加COST。
·如果COST值相同,看本交换机的BID,本交换机BID小的端口是指定端口。所以根的所有端口的COST都是0,即根的所有端口都是指定端口。 剩下的端口就是阻塞端口。
·根端口的对端都是指定端口。
STP总结
·STP可以防止采用冗余链路的分层网络中形成环路。
·STP 使用不同的端口状态和计时器来防止出现环路。
·网络中的一台交换机会被指定为根桥。根桥通过选举来确定,在选举过程中,广播域内的邻居交换机之间会交换 BPDU 帧。
·网络中所有其它交换机使用生成树算法来确定其交换机端口的角色。最接近根桥的交换机端口成为根端口。其它的非根端口将竞争成为指定或非指定端口。
STP生成树的缺点
1、收敛速度很慢
2、链路利用率低
本文仅为个人学习笔记,欢迎一起学习~