STP协议(生成树协议),是一个二层管理协议,标准为IEEE802.1D。IEEE 802.1d是最早关于STP的标准,它提供了网络的动态冗余切换机制。STP协议能在网络设计中部署备份线路,并且保证:
* 在主线路正常工作时,备份线路是关闭的。
* 当主线路出现故障时自动使能备份线路,切换数据流。
RSTP(rapid spanning tree protocol)是STP的扩展,其主要特点是增加了端口状态快速切换的机制,能够实现网络拓扑的快速转换。
STP协议的作用:主要是通过采用无环路路径来避免和消除网络中的环路
STP的工作过程:
运行生成树算法(STA)的交换机缺省每两秒钟发送BPDU;选取唯一一个根网桥,根桥上的所有端口都是指定端口;在每个非根网桥选取唯一一个根端口;在每网段选取唯一一个指定端口。
(1) 选取唯一一个根网桥:BPDU中包含Bridge ID;Bridge ID(8B)=优先级(2字节)+交换机MAC地址(6字节);Cisco交换机的优先级默认为32768,可以修改,范围0-65535;优先级值最小的成为根网桥;优先级值相同,MAC地址最小的成为根网桥;Bridge ID值最小的成为根网桥;根网桥缺省每2秒发送一次BPDU;
(2) 在每个非根网桥选取唯一一个根端口:根网桥上没有根端口;端口代价最小的成为根端口;端口代价相同,Port ID最小端口的成为根端口;Port ID通常为端口的MAC地址+端口优先级,Cisco交换机的端口优先级默认为128,可以修改,范围0-128;MAC地址最小的端口成为根端口;
(3) 在每网段选取唯一一个指定端口:端口代价最小的成为指定端口;根网桥上的端口到各网段的代价最小;通常只有根网桥端口成为指定端口;被选定为根端口和指定端口的进行转发状态;落选端口进入阻塞状态,只侦听BPDU;
(4) 阻塞端口在指定的时间间隔(缺省20秒)收不到BPDU时,会重新运行生成树算法进行选举;缺点:在运行生成树算法的过程中,网络处于阻断状态,所有端口都不进行转发。计算过程为30-50秒。
根端口是到根桥开销最低的端口,所谓的根端口即用来向根桥发送数据的端口。
交换网络里根端口和指定端口以外称为非指定端口,非指定端口在网络里面被生成树协议设为阻塞状态。
每个交换机只能有一个根端口,一个物理网段只能有一个指定端口,一个交换网络里面只能有一个根交换机。
生成树端口状态:正常情况下,端口状态有两种阻塞状态、转发状态。当设备发现拓扑发生变化时,将出现两种过渡状态,侦听状态和学习状态。
阻塞状态:所有端口一开始都处于阻塞状态,以防止二层环路。处于阻塞状态的端口能够接收BPDU包,但不发送BPDU包。
监听状态:在监听状态中,交换机能够决定根,并且可以选择根端口、指定端口和非指定端口。在监听状态的过程中,端口能够发送和接收BPDN包,但不转发数据帧。
学习状态:学习状态说白了就是学习MAC,完成MAC地址表的收敛。但不转发数据帧。
转发状态:在转发状态中,二层接口可以转发数据帧。