一、 生成树产生原因
防止环路,产生①广播风暴,网络瘫痪;②MAC地址漂移
在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block ),从而打破环路。
交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。
因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。
二、 基本概念
- 选出根桥:每个交换机运行了stp,有一个桥id,桥id最小的交换机为根桥;
- 选出根端口:每个非根桥上,选出一个根端口,收到BPDU最优的端口
- 选出指定端口:一个接口,发的bpdu,比收到的bpdu,更优,是指定端口
- 阻塞其他端口:非根非指定
桥ID(Bridge ID,BID) | 桥ID由16位的桥优先级(Bridge Priority)和48位的MAC地址构成 |
根桥(RB) | 桥id最小的交换机为根桥 |
跟路径开销(Root Path Cost) | 一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的cost累加。 |
接口ID(Port ID,PID) | 接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是接编号 |
BPDU ( Bridge Protocol Data Unit,网桥协议数据单元) | BPDu是STP能够正常工作的根本。BPDU是STP的协议报文。STP交换机之间会交互BPDU报文,这些BPDu报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作。 BPDU分为两种类型: 配置BPDU ( Configuration BPDU )(根桥周期性发) TCN BPDU ( Topology Change Notification BPDU ) 配置BPDU是STP进行拓扑计算的关键;TCN BPDu只在网络拓扑发生变更时才会被触发。 |
根端口(RP) | |
指定端口(DP) |
STP按照如下顺序选择最优的配置BPDU :
- 最小的根桥ID
- 最小的RPC
- 最小的网桥lD
- 最小的接口ID
在这四条原则中(每条原则都对应配置BPDU中的相应字段),第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。
三、 STP的接口状态
四、STP配置
五、 RSTP
配置BPDU的处理发生变化︰
- 拓扑稳定后,配置BPDu报文的发送方式进行了优化
- 使用更短的BPDU超时计时
- 对处理次等BPDu的方式进行了优化
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口角色RSTP拓扑变化处理︰相比于STP进行了优化,加速针对拓扑变更的反应速度
六、 STP/RSTP的缺陷:所有的VLAN共享一颗生成树
- RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。
- 但RSTP和STP还存在同一个缺陷∶由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。