闲聊STP/RSTP(Spanning Tree Protocol)
STP(Spanning Tree Protocol),1998年IEEE提出的802.1D协议,它是一种二层(数据链路层)管理协议,通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。说白了就是解决以太网中的防环,和顺带解决链路备份。
一、建立STP
STP协议它是通过形成一棵无环的树。树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,根桥会根据网络拓扑的变化而动态变化。网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备收到该配置BPDU后,如果优先级比自己的配置BPDU高,则非根桥设备会根据收到的配置BPDU中携带的信息更新自己STP端口存储的配置BPDU信息,否则会丢弃该配置BPDU。
两种度量:生成树的生成计算有两大基本度量依据:ID和路径开销。
ID ID又分为:BID(Bridge ID)和PID(Port ID)。
BID:桥ID
IEEE 802.1D标准中规定BID是由16位的桥优先级(Bridge Priority)与桥MAC地址构成。BID一个是8字节。其中优先级占据高16位,就是2的16次方,65535 。但是只用了前面4位,一步长是4096,优先级最小位0,最大为61440,默认是32768。
其余的低48位是MAC地址。
在STP网络中,BID最小的设备会被选举为根桥。
PID:端口ID
PID一共2字节,由两部分构成的,高8位是端口优先级,低8位是端口号。实际上也只是用了高4位,其余12位为端口号。优先级范围是2的8次方。(0-255)。
路径开销
路径开销(Path Cost)是一个端口变量,是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。在一个STP网络中,某端口到根桥的路径开销就是所经过的各个桥上的各端口的路径开销累加而成,这个值叫做根路径开销(Root Path Cost)。
三要素选举
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
根桥RB(Root Bridge):根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。
根端口RP(Root Port):所谓根端口就是去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。很显然,在一个运行STP协议的设备上根端口