STP理论01-背景及概念

STP理论基础01-背景及概念

一、 STP出现的背景:
STP 是一个用于局域网中消除环路的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。

首先了解环路造成的危害如下:
1.广播风暴
2.MAC地址表震荡
3.网络中的主机会收到重复的数据帧


二、 STP基础概念:
一根桥、两度量、三要素、四比较、五角色;

1、 一根桥:
对于一个 STP 网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化。
网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置 BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。

根桥的选举规则:
比较桥ID:越小越优先
桥ID分为两部分:
1.桥优先级(默认为32768)越小越优先
2.MAC地址,越小越优先

2、 两度量:
1)、桥ID(Bridge ID):
IEEE 802.1D 标准中规定 BID 是由 16 位的桥优先级(Bridge Priority)与桥 MAC 地址构成。 BID 桥优先级占据高 16 位,其余的低 48 位是 MAC 地址。在 STP 网络中,桥 ID 最小的设备会被选举为根桥。
2)、端口ID(Port ID):
PID 由两部分构成的,高 4 位是端口优先级,低 12 位是端口号。

3、 三要素:
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
1)、根桥 RB(Root Bridge):
根桥就是网桥 ID 最小的桥,通过交互配置 BPDU 协议报文选出最小的 BID。
2)、根端口 RP(Root Port):
根端口就是去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判定。在一个运行 STP 协议的设备上根端口有且只有一个,根桥上没有根端口。
3)、指定端口 DP(Designated Port):
对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。

注:在拓扑稳定后,只有根端口和指定端口转发流量,其他的非根非指定端口都处于阻塞(Blocking)状态,它们只接收 STP 协议报文而不转发用户流量。

4、 四比较:
STP 选举有四个比较原则,构成消息优先级向量: { 根桥 ID,累计根路径开销,发送设备 BID,发送端口 PID }。
1)、根桥 ID:
每个 STP 网络中有且仅有一个根。
2)、累计根路径开销:
发送配置 BPDU 的端口到根桥的距离,决定了到根桥的路径开销。用来在非根桥上选择根端口。
3)、发送设备 BID:
发送配置 BPDU 的设备的 BID。当一台运行 STP 协议的设备要在两个以上根路径开销相等的端口之中选择根端口时,通过 STP 协议计算,将选择接收到的配置消息中发送者 BID 较小的那个端口。
4)、发送端口 PID:
发出配置 BPDU 的端口的 PID。用于在根路径开销相同的情况下,不阻塞最小 PID 的端口,而是阻塞 PID 值较大的端口。

5、 五角色:
运行STP协议的设备上端口状态有如下五种:
1)、disabled:
没有使能STP或者接口down,端口不仅不处理 BPDU 报文,也不转发用户流量。
2)、listening:
监听状态,确定端口角色,就是一堆选举(选举出根桥、根端口和指定端口)。
3)、learning:
学习状态,设备会根据收到的用户流量构建 MAC 地址表,但不转发用户流量。(防止临时环路)
4)、blocking:
接受并处理收到的BPDU,端口仅仅接收并处理 BPDU,但不转发用户流量。
5)、forwarding:
转发流量,端口既转发用户流量也处理 BPDU 报文。

在STP中,影响端口状态和端口收敛的3个参数;
1)、Hello Time:
运行 STP 协议的设备发送配置消息 BPDU 的时间间隔,用于设备检测链路是否存在故障。设备每隔 Hello Time 时间会向周围的设备发送 hello 报文,以确认链路是否存在故障。
当网络拓扑稳定之后,该计时器的修改只有在根桥修改后才有效。新的根桥会在发出的 BPDU报文中填充适当的字段以向其他非根桥传递该计时器修改的信息。但当拓扑变化之后, TCN BPDU 的发送不受这个计时器的管理。
2)、Forward Delay:
设备状态迁移的延迟时间。链路故障引发生成树的重新计算,新计算得到的配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始转发数据,可能造成临时环路。因此,STP 采用了一种状态迁移机制,新选出的根端口和指定端口要经过 2倍的 Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息传遍整个网络,从而防止了临时环路的产生。
注:Forward Delay Timer 指一个端口处于 Listening 和 Learning 状态的各自持续时间,默认是 15秒。
3)、Max Age:
端口的 BPDU 报文老化时间。
Max Age 通过配置 BPDU 报文的传输,可保证 Max Age 在整网中一致。运行 STP 协议的网络中非根桥设备收到配置 BPDU 报文后,报文中的 Message Age 和 Max Age 会进行比较:
a、如果 Message Age 小于等于 Max Age,则该非根桥设备继续转发配置 BPDU 报文。
b、如果 Message Age 大于 Max Age,则该配置 BPDU 报文将被老化。该非根桥设备直接丢弃该配置 BPDU,可认为网络直径过大,导致根桥连接失败。

注:如果配置 BPDU 是根桥发出的,则 Message Age 为 0。否则, Message Age 是从根桥发送到当前桥接收到 BPDU 的总时间,包括传输延时等。实际实现中,配置 BPDU 报文经过一个桥,Message Age 增加 1。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章