生成树总结
- 一、基础知识
- 二、生成树的类型
- 1、STP(标准生成树,又称为802.1D)
- 2、RSTP(快速生成树,又称为802.1W)
- 生成树选举
- 端口状态
- 端口角色
- 链路类型
- 802.1W特性(以及与802.1D区别)
- 1)收敛机制:PA机制
- 2)端口状态:3个
- 3)端口角色:4
- 4)支持边缘端口(但默认不启用的)
- 5)自动集成上行链路加速(节约30s)
- 6)自动集成骨干链路加速(节约50s)
- 7)在802.1W中所有的交换机都有发送BPDU的能力,BPDU超时时间为6s
- 配置
- 3、MSTP(多生成树协议,又称为802.1S)
一、基础知识
为了保证交换网络高可用性,在交换机之间使用冗余链路,优于网络中的泛洪机制可能造成二层的桥接环路
二层环路导致的问题:
1、广播风暴
2、 MAC地址表翻滚:
MAC地址在交换机中的刷新时间为5min,一个接口可以对应多个MAC;
但一台交换机上同一MAC地址只能对应一个接口;
3、 同一数据帧的重复拷贝
生成树协议:
1、在一个二层交换网络,逻辑的阻塞部分接口;
2、当最佳路径故障时,自动疏通部分接口来实现链路备份;
生成树:
1、在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;
2、当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用;
生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树
二、生成树的类型
1、STP(标准生成树,又称为802.1D)
一 个 交 换 网 络 内 仅 存 在 一 棵 生 成 树 实 例
交换机间使用BPDU — 桥协议数据单元 — 交换机间沟通互动收发的数据
BPDU(网桥协议数据单元):
1)配置BPDU(用于生成树的选举以及重收敛)
2)拓扑变更 BPDU(通知交换网络出现了拓扑变更)
BPDU的数据结构:
Message type
代表着BPDU 的类型 (0X00 配置 0X80 拓扑TC)
Flags
标记位,在802.1D中,标识BPDU 是拓扑变更还是拓扑变更确认BPDU
Root ID
根标识符,用于标记一颗树的树根。与根网桥的BID 一致
Bridge ID
网桥标识符, BID , 用于标识本设备在本生成树的唯一性
Port ID
端口标识符, PID ,用于标识设备上某接口的唯一性。
Cost of path
路径开销。在华为设备中,称作root
path cost (RPC)
根路径开销
Hellotime
默认为2s ,BPDU 发送的间隔
Max-age
最大时间,可以理解为hello包的超时时间。默认时间为20s
Forward delay
转发延时,状态切换时间,默认为15s
Message age
在思科中默认为300s,就是对应的MAC地址条目的老化时间,(但实际上 该时间为此BPDU 经过的跳数);
华为中,代表着该BPDU传递的跳数(默认值为0,没经过一台交换机值+1)
Max-hop
默认为20 ,收到BPDU之后,将message age中的时间与max-hop进行比较
若小于,则正常使用该BPDU;若大于,则忽略BPDU
BID
使用8字节构成,组成方式: BID优先级字段(4个bit)+扩展系统ID(12个 bit)+Mac地址(6个字节)
BID 的使用:
1)比较 BID 优先级
2)比较MAC地址
BID优先级:
4位,默认值为32768 ,范围0-65535(实际范围0-61440),越小越优
BID 优先级单位4096(调整BID优先级时 值必须为4096的倍数)
扩展系统ID:
8位,在802.1D和802.1W 无意义,在802.1S中有用的
Mac地址:
为交换机 背板地址池中所有MAC地址中最小的,MAC地址越小越优。
PID
端口标识符 2个字节构成,组成部分:PID优先级(4个bit构成)+端口标识符(12个 bit构成)
使用方法:
1、比较PID优先级
2、Port number
PID优先级:
默认值为126,范围0-255(时间范围0-240),单位16
Port number
标识唯一性
RPC
根路径开销
COST
开销值
生成树选举
1)根网桥:
在每一棵生成树实例中,有且仅有一台交换机作为根桥;负责发送BPDU,计算和指挥整个树的收敛;作为树形结构的根部,交换网络部分的中心节点;
a)对比BPDU中的桥ID
桥ID=网桥优先级 + MAC地址(本地背板池)
b)交换机作为网桥设备时,关注终端设备发送的数据帧中的MAC地址,但交换机本地无MAC
c)需要运行STP协议的交换机,必须在出厂时由厂家进行MAC的写入(存储于交换机的背板地址池中)
d)若交换的背板地址池中MAC地址为多个,将选择数值最小的地址来进行选举
e)先比较网桥优先级(0-65535,默认32768)小优
若优先级一致,比较MAC地址,数值小优
2)根端口:
在每一台非根网桥上有且仅有一个接口;本地离根网桥最近的接口,用于接收来自根网桥的BPDU,同时转发终端的数据帧;
a)比较从根网桥发出,之后通过该接口进入时最小的cost值;
b)若入向的cost相同,比较接口对端的设备的BID,小优
c)若对端设备的BID相同,那么比较对端接口的PID;小优
d)若对端设备的PID相同,那么比较本地的PID,小优
PID=端口ID = 接口优先级(0-240,默认128 小优)+ 接口编号
先比较优先级,小优;若优先级相同比较接口编号,数值小优
3)指定端口:
在每一段运行了STP的物理链路上有且仅有一个接口;转发来自根网桥的BPDU,同时转发终端的数据帧;根网桥上所有接口均为指定端口;根端口的对端一定为指定端口;
a)比较转发来自根网桥的BPDU是,出项的最小cost值
b)若出向cost值相同,比较本地的BID,小优
c)若本地的BID相同,比较本地的PID,小优
d)若本地PID相同,将直接阻塞该端口
4)非指定端口:
a)以上所有角色选举完成后,剩余各个接口的角色为非指定端口;
该接口处于阻塞状态;
b)接口阻塞是逻辑上的,并不是接口被关闭;
该接口处于可以接收到数据,但不进行转发的状态;
接口状态
Down 所有接口通电后进入下一状态
侦听 交换机收发BPDU,选出所有角色;根端口、指定端口15s后进入学习状态,非指定端口进入阻塞
学习 终端设备发出数据帧中的源mac地址,生成交换机的MAC表(CAM表),15s后进入转发状态
转发 根端口、指定端口可以开始转发终端的数据帧
阻塞 逻辑阻塞
802.1D的收敛时间:
1)初次收敛 30s 15s侦听+15s学习
2)结构变化
a)存在直连检测 –本地仅存在一个阻塞端口可以接收到来自根网桥的BPDU;需要30s收敛
b)无直连检测 — 20s hold time等待+30s收敛=50s
802.1D算法的缺点:
1)收敛速度慢
2)链路利用率低 – 备份链路正常不转发数据
生成树配置
选择生成树类型
修改BID优先级
方法一:
方法二: 设置主备根
修改cost值
修改PID优先级
查看生成树
查看生成树端口状态
2、RSTP(快速生成树,又称为802.1W)
基于PA机制进行收敛(请求、同意),可以在2-3之内完成收敛;基于BPDU flags 字段内容进行分布式收敛
生成树选举
与802.1D完全一致
端口状态
Discarding 丢弃状态(disable blocking listening ),可以发送并接收BPDU,但是不能 发送接收数据
Learning 学习状态
Forwarding 转发状态
端口角色
根端口
指定端口
替代端口
阻塞,同一个交换机上使用阻塞端口替代根端口(替换时间0s,相当于自动集 成uplink-fast)
备份端口
阻塞,同一个交换机上针对同一条链路备份指定端口(备份端口切换时间 30s,因为出现备份端口一定存在hub,hub是半双工的,不能使用802.1W的机制)
边缘端口
边缘端口 、非边缘端口 ,一般在连接终端的接口上实施(access)
作用
1)自动启用端口加速(节约30s)
2)若收到 proposal 置位的BPUD,边缘端口不会同步
3)若收到 TC位置位的配置BPDU,不通过边缘端口转发
4)若启用边缘端口的接口收到了BPDU,则边缘端口特性失效
5)若收到TC位置位的BPDU,边缘端口学习到的MAC地址时间不变化(依然为300s)
链路类型
802.1W中存在两种链路类型
1)point-to-point 点对点类型
2)shared 共享型
802.1W特性(以及与802.1D区别)
1)收敛机制:PA机制
2)端口状态:3个
3)端口角色:4
4)支持边缘端口(但默认不启用的)
5)自动集成上行链路加速(节约30s)
6)自动集成骨干链路加速(节约50s)
7)在802.1W中所有的交换机都有发送BPDU的能力,BPDU超时时间为6s
配置
与802.1D一致
3、MSTP(多生成树协议,又称为802.1S)
多生成树配置
1)域名 name
2)reversion leave 版本等级
3)instance 实例映射
启用MSTP
MSTP 配置
修改instance 1 的BID 优先级
修改instance 1 的PID 或COST值
查看
查看接口状态
生成树的弹性(特性):
1.portfast
2.uplink fast
3.backbone fast
4.BPDU 防护
思科 BPDU guard
华为 BPDU protection
若启用了BPDU防护的接口收到BPDU ,则会导致接口down(error-down)
默认在华为BPDU 防护只能全局设置,并且仅仅针对边缘端口
在思科中BPDU guard 可以针对接口也可以针对全局
查看错误日志信息
恢复由于BPDU 防护导致接口shutdown(error-down)
1.手工(先物理关闭接口再重新开启)
2.自动(开启自动恢复)
查看:
5.BPDU-fitter BPDU 过滤
开启之后,该接口不发送也不接收BPDU信息,若接收到了BPDU ,则直接忽略,可以全局启用也可以接口启用,全局启用同样仅仅针对边缘端口,接口启用无所谓
全局做法
接口
6.root-protection 根防护
一般建议在连接新交换机的接口上启用,若该接口收到了优质根的BPDU信息,则接口进入discarding
查看
7.loop-protection 环路防护
防止当出现单向链路故障时,导致生成树出现转发环路,所以可以在阻塞端口上启用loop-protection,使阻塞接口可以发送BPDU ,进行链路双向检测