交换机之间存在冗余(备份)路径,以及交换机的泛洪机制,导致交换机之间产生二层交换环路。
造成影响:
- 1.广播风暴
- 2.MAC地址表翻滚
- 3.数据帧的重复拷贝
解决方案:逻辑性阻塞某个接口(down掉,可以备份)------做生成树
一、STP:spanning tree生成树(交换机之间对比比较信息BPDU,低的接口就阻塞 )
生成树协议用于实现二层的线路冗余,在网络中逻辑的阻塞部分接口,来实现从源到目标仅拥有唯一的一条路径;当最佳路径故障时,阻塞端口自动工作来实现备份的作用;所谓生成树,其实就是在二层的网络中构建一个树形结构
二、生成树类型
公有生成树
STP | 802.1D 标准生成树,所有vlan共用一棵树 |
---|---|
RSTP | 802.1W 快速生成树 |
MST | 802.1S 多生成树 |
私有生成树
PVST | 基于VLAN的标准生成树,一个vlan一棵树 |
---|---|
PVRST+ | 基于VLAN的快速生成树 |
三、发送比较信息,BPDU
BPDU:网桥协议数据单元,跨层封装到二层。存在两种类型
1.配置BPDU | config-BPDU,只有根网桥可以发出;在最初无根网桥时,所有交换机均发出 |
---|---|
2.拓扑变更BPDU | TCN-BPDU,扑变更消息 |
四、BPDU字段解释
protocol iD | 标示是生成树 |
---|---|
Version | 版本,标示该BPDU属于何种生成树 |
message type | 标示BPDU类型(配置BPDU 变更BPDU) |
Flags | 标记位,有8个二进制,其中2个二进制位标示用的何种BPDU类型 |
Root-id | 根IP,标示根的位置(一个生成树中只有一个Root-id) |
Cost of Path | 路径开销,本接口距离根的开销值(位置) |
Bridge id | 网桥标识符,标示本设备(交换机,网桥)在该生成树中的唯一性 |
Port id | 端口标识符,标示交换机接口的唯一性 |
Message age | 消息老化/等待时间,默认300s,代表MAC地址的老化时间 |
Max age | 最大时间,死亡时间20s |
Hello time | 发送BPDU的时间,默认2s |
Forward delay- | 转发延时,状态切换延时,默认15s |
Flags—标记位,有8个二进制,其中2个二进制位标示用的何种BPDU类型
五、详细BPDU字段
1.BID 网桥标识符及选举规则
BID 网桥标识符 | 用于表示该交换机或网桥在本生成树中的唯一性 |
---|---|
构成 | BID 优先级 (作用:可以改某一个优先级,干涉生成树) + mac地址 |
BID优先级 | 默认值为32768,数值范围0-65535(BID优先级数值必须为4096的倍数, 范围也可称为0-61440),再使用BID优先级时,数值越小越优 |
---|---|
Mac 地址 | 本交换机上背板地址池中最小的MAC地址,mac地址越小越优 |
注意:PVST、PVRSTP+的BID构成是:BID优先级+VLAN ID+mac地址
MST的BID构成是:BID优先级+ instance ID(扩展系统ID) + mac地址
2.root ID:根标识符 ,在一棵生成树中表示唯一根.使用最优质的BID表示
3.Cost Of Path,也称为CoP值,路径开销,描述了本接口到达根的路径开销值,数值越小越优
路径开销值 | 数值 |
---|---|
大于10000M | 1 |
10G | 2 |
1G | 4 |
100M | 19 |
10M | 100 |
默认根网桥上所有接口的COP值为0,经过不同的链路增加对应的cost,线的入接口增加,出接口不行
4.port ID 端口标识符及选举规则
port ID 端口标识符 | 用于表示本交换机上接口的唯一性标识 |
---|---|
构成 | PID优先级+port number |
PID优先级 | 默认为128,数值范围0-255(PID优先级必须为16的倍数,所有范围 0-240),数值越小越优 |
---|---|
Port number | 端口号,表示了本交换机该接口的唯一性,一般为接口的端口号标识,数值越小越优(接口小port小) |
5.生成树中的计时器
Hello 时间 | 默认2s,配置BPDU的发送间隔 |
---|---|
Max age 最大等待时间 | 默认20s,hello数据包的超时时间以及从blocking进入 listening 状态等待时间 |
Message age 消息时间 | 也称消息的老化时间,实际上等于MAC地址老化时间, 默认300s,在启用portfast等特性时变为15s |
Forward delay 转发延时 | 默认15s ,在生成树中状态切换间隔,Listening进入learning进入forwarding 时间隔 |
六、交换机网络中交换机的角色,端口切换
交换机角色
根网桥 | 在一颗生成树实例有且仅有一台;对整个树进行管理和部署,通过发送BPDU来进行指挥和维护 |
---|---|
非根网桥 | 除根网桥外都是非根网桥 |
端口角色
根端口 | 用于接收来自根的BPDU信息,只能存在于非跟网桥之上,并且一个交换机只能存在一个 |
---|---|
指定端口 | 用于发送或转发BPDU信息,存在于每条链路中,一条只能存在一个指定端口,根网桥的所有接口全为指定端口 |
非指定端口 | 逻辑上打破接口(剩下的端口就是阻塞端口,hub除外) |
端口切换
Blocking阻塞状态 | 终端状态,不能发送BPDU,接收BPDU,不能发送和接收数据,被动等待20s进入下一状态 |
---|---|
Listening监听状态 | 中间状态, 可以发送和接收BPDU,不能发送和接收数据,进行STP选举, 被动等待一个forward delay 15s进入下一状态,非指定端口不得进入回到blocking |
Learning学习状态 | 中间状态,可以发送和接收BPDU,不能发送和接收数据,可以学习BPDU 中的源MAC地址(MAC地址学习状态),被动等待一个forward delay 15s进入下一 状态 |
Forwarding转发状态 | 终端状态, 可以发送、接收BPDU和数据,mac地址学习和生成树接口 状态切换完成 |
七、选举生成树
选举过程:根网桥—根端口----指定端口----非指定端口
根网桥选举 | 具有最优BID的交换机为根网桥 |
---|---|
根端口选举 | 1.最小COP值 2.发送方最小的BID 3.发送方的PID |
指定端口选举 | 1.接口所属交换机上根端口到达根网桥的COP值 2.本交换机BID 3.本 地的PID |
八、STP控制
关于对生成树协议的干涉,至少必须关注根网桥的位置,最合适的地点为汇聚层设备
方法一
直接修改BID的优先级
设置主根(P)和备份根(S)
方法二
端口位置,修改链路的COP值
方法三
修改发送方的PID的优先级