STP协议简要介绍
生成树协议的国际标准是IEEE802.1d.运行生成树算法的网桥/交换机在规定的间隔内通过网桥协议数据单元(BPDU)的组播帧与其他交换机交换配置信息。
要使链路达到时刻正常工作就一定会有冗余链路,若有回路会导致广播风暴、同一帧的多份拷贝、MAC地址表的不稳定。
生成树协议的功能:利用生成树算法、在以太网络中,创建一个以某台交换机的某个端口为根的生成树,自动地在逻辑上阻塞一个或多个冗余端口,避免环路。以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的。
STP协议的原则
- 一个网段中只有一个根网桥
- 非根网桥只有一个根端口(距离根网桥的开销最小)
- 每一个网段中只有一个指定端口
- 非指定接口不能使用
隐含条件:根网桥的端口都是指定端口
BPDU介绍
- BPDU是交换机之间发送的用于构建无环路拓扑的消息称为网桥协议数据单元
- BPDU是二层报文
- BPDU中包括用于计算生成树的参数信息
Root Bridge ID (BID)—本交换机认为的根桥ID
Root Path Cost —本交换机认为的根路径开销
Bridge ID —本交换机的桥ID
Port ID—发送该BPDU的端口ID
生成树协议的工作过程
- 选举根交换机(RootBridge)
Bridge ID最小的交换机为根交换机,由交换机优先级(2字节)和Mac地址(6字节)组合而成。先看优先级,优先级小的为根交换机;当优先级相等,看MAC地址,MAC地址小的为根交换机。 - 选举根端口
本交换机各端口到达根交换机路径的开销—到达根桥的链路开销之和,找到一条开销最小的路径,交换机的这个端口就是根端口;如果路径开销相同,则比较发送BPDU交换机的Bridge ID,选较小的;如果发送者Bridge ID相同(即同一台交换),则比较发送者交换机的port ID,选较小的;如果发送者Port ID相同,则比较接收者的portID,选较小的。 - 每个LAN选举指定端口,与选举根端口同时进行
连接网段并通往根桥的唯一端口,负责发送和接收该网段和根桥之间的流量(每个LAN的通过该口连接到根交换机)。如果每个网段到达根桥只有一条通路,则无环路。 - 将所有根端口和指定端口设为转发状态
- 将其他端口设为阻塞状态
生成树协议端口的状态
在完成收敛的稳定网络中,端口的状态主要有两种,转发状态和阻塞状态。
实际,STP端口状态共有五种:
转发(Forwarding)
学习(learning)
监听(listening)
阻塞(Blocking)
禁用(Disabled)