OSI网络模型之STP通信协议
一、STP通信协议
1、概念
STP又称生成树协议(Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议。
2、应用
基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免广播风暴,大量占用交换机资源。
3、可运行STP协议的设备
在数据链路层中可使用STP协议的设备 分别为:
网桥、以太网交换机、网卡
如下图
二、STP协议的组成
1、BPDU
BPDU:BPDU(Bridge Protocol Data Unit) 是运行STP协议的 交换机 它们之间进行消息交换的消息帧(消息单元)。
BPDU的作用:其包含了STP所需的 路径 和 优先级消息,STP便利用这些消息来确定 根桥 以及到 根桥的路径。
2、BID
BID:BID(Bridge ID)又称 网桥ID ,BID 报文长度 为 8, 包含2字节 的 桥优先级 与 6字节 的 桥背板mac地址 。桥优先级的取值为0–65535,缺省值为32768。
BID的作用:用于确定 根桥
3、PID
PID:端口优先级+端口ID(端口优先级默认为128,端口ID为端口的编号)
4、累计根路开销
累计根路开销:对从设备端口到达根桥路经的各端口(除根桥上的指定端口外)的各段链路的开销值(也称链路开销值)进行累加。同一交换机上不同端口的路径开销值为0。
5、根桥
根桥:是STP生成树的“树根”
6、根端口
根端口:就是在所有非根桥上的不同端口之间选举出一个到根桥最优路径的端口,非根设备的端口只有一个。
(最优路径:端口到根桥的累计根路径开销最小)
7、指定端口
指定端口:是在每一个物理网段的不同端口之间选举出一个指定端口。
8、阻塞端口
阻塞端口:关闭数据转发,以打破环路。使其成为一种“预备端口”的形式存在。
9、对端
对端:接收数据时接收方,也就是链路对端的桥
三、STP协议行为
1、STP初始化阶段
STP初始化阶段:数据链路层中所有的桥设备(网桥、以太网交换机、网卡)在使用STP协议后,每一个桥设备都以为自己是根桥,这时候每台设备仅仅收发和配置BPDU(此时仅有 路径和优先级消息),而不转发用户流量,所有的端口都处于Listening状态。直到所有桥设备通过交换配置BPDU后才进行 根桥、 根端口 和指定端口的选举工作。
2、根桥的选举
根桥的选举:在交换网络中所有运行STP协议的桥设备(网桥、以太网交换机、网卡)上选举出一个唯一的根桥。
选举主要包含两步:桥设备确定自己的BPDU、互相发送BPDU报文进行对比以确定网络中的根桥。
选举的规则:由设备的BID优先级和mac地址来确定,先对比
桥优先级 ,优先级小的为根桥 ,如果桥优先级相等时,则对比mac地址,mac地址小则为 根桥。
3、根端口的选举
根端口的选举:非根交换机在选举根端口
选举规则:依照顺序从 累计根路开销(小)- 对端BID(小)- 对端PID(小)-本端PID(小)
4、指定端口的选举
指定端口的选举:由物理网段的端口去选举
选举规则:依照顺序从 累计根路开销(小)、BID(小)、PID(小)
5、阻塞端口
阻塞端口:未被选举为 根端口 与 指定端口 的端口,成为阻塞端口。