1、为了保证交换网络高可用性,在交换机之间使用冗余链路,由于网络中的泛洪机制可能造成二层的桥接环路,会导致
【1】广播风暴 【2】Mac地址表的不稳定【3】数据帧的重复拷贝
2、解决思路:打破交换网络中的环路(针对交换网络的所有环路中,关闭其中的某个接口)
3、生成树协议: spanning tree protocol ,STP,所有的生成树协议都在通过发送比较信息进行选举,找到环路中应该被关闭的接口(接口阻塞)。
4、发送的比较的信息称为BPDU,网桥协议数据单元。
5、生成树的类型: STP(标准生成树,又称为802.1D) RSTP(快速生成树,又称为802.1W) MSTP(多生成树协议,又称为802.1S)
分为配置BPDU--config-BPDU(用于生成树的选举以及重收敛)和拓扑变更--TC-BPDU(通知交换网络出现了拓扑变更)。
对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑。在拓扑计算的过程中,一个非常重要的内容就是配置BPDU的比较。在配置BPDU中,有四个字段非常关键,它们是“根桥ID”、“根路径开销”、“网桥ID"以及“接口ID",这四个字段便是交换机进行配置BPDU比较的关键内容。
STP按照如下顺序选择最优的配置BPDU:
【1】最小的根桥ID
【2】最小的RPC
【3】最小的网桥ID
【4】最小的接口ID
在这四条原则中(每条原则都对应配置BPDU中的相应字段),第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。
使用8字节构成,组成方式:BID优先级字段(4个bit)+扩展系统ID(12个bit)+Mac地址(6个字节)
【1】BID的使用:1.比较BID优先级⒉.比较MAC地址
【2】BID优先级:4位,默认值为32768,范围0-65535(实际范围0-61440),越小越优。
【3】BID优先级单位4096.调整BID优先级时值必须为4096的倍数。
扩展系统ID:8位,在802.1D和802.1W无意义,在802.1S中有用的
【4】Mac地址:为交换机背板地址池中所有MAC地址中最小的,MAC地址越小越优。
【1】端口标识符2个字节构成,组成部分:PID优先级(4个bit构成)+端口标识符(12个bit构成)使用方法:
【2】比较PID优先级2.Port number
PID优先级:默认值为128,范围0-255(实际范围0-240),单位1无识别结果Port number :标识唯一性
【1】根端口(RP),存在于非根网桥之上,一个非根网桥仅有一个,用于接收来自于根的BPDU
【2】指定端口(DP),在一条链路中有且仅有一个,用于转发BPDU
【3】阻塞端口(NDP)被逻辑上关闭的接口
【1】disable ---关闭状态1.关闭生成树协议⒉接口物理关闭
【2】blocking---阻塞状态,不能发送BPDU,可以接收BPDU,不能发送和接收数据
【3】listening ---监听状态,可以发送并接收BPDU,不能发送和接收数据;(进行生成树选举的)
【4】learning ---学习状态,可以发送并接收BPDU,不能发送和接收数据;(学习MAC地址表)目的:限制未知单播帧的泛洪
【5】forwarding---转发状态,可以发送并接收BPDU和数据
生成树选举:
【1】选举根网桥(标识─颗树,在一个生成树中有且仅有一个)
选举规则:
最小的BID(先比较BID优先级,再比较MAC地址)
【2】选举端口角色
选举根端口:1.接口最小的开销值(RPC+PC)2.最小的BID(发送方的)3.最小的PID(发送方的)选举指定端口:1.本设备根端口的最小开销值⒉最小的BID(本交换机)3.最小的PID(本设备)
生成树配置:
选择生成树类型:
[SW1]stp mode stp
【3】修改BID优先级
或设置主备根
修改cost值
修改PID优先级
查看生成树
查看生成树端口状态:
【1】连接终端的接口,启用之后进入转发状态需要30s,可以加速。(在cisco中使用portfast ,华为中可以使用边缘端口)
节约时间:30 s
查看:
【2】上行链路状态切换,切换时间为30s,思科中可以使用uplink-fast进行加速(节约30s)
【3】骨干链路故障切换,思科中默认为50s (20+15+15;思科中可以使用backbone-fast进行加速,节约时间20s)。华为切换时间默认为30s
802.1D总结:
1.收敛时间比较慢(30s或50s)
2.不支持负载分担
3.不支持上行链路加速
802.1W基于PA机制进行收敛(请求同意),可以在2-3 s之内完成收敛。基于BPDU flags字段内容进行分布式收敛。
Discarding ---丢弃状态( disable blocking listening ),可以发送并接收BPDU,但是不能发送接收数据Learning ---学习状态
Forwarding---转发状态端口角色:
【1】根端口
【2】指定端口
【3】替代端口∶阻塞,同一个交换机上使用阻塞端口替代根端口(替换时间0s,相当于自动集成uplink-fast)
【4】备份端口:阻塞,同一个交换机上针对同一条链路备份指定端口(备份端口切换时间30s,因为出现备份端口一定存在hub,hub是半双工的,不能使用802.1W的机制。)
作用:
【1】自动启用端口加速(节约30s)
【2】若收到proposal置位的BPUD,边缘端口不会同步
【3】若收到了TC位置位的配置BPDU,不通过边缘端口转发
【4】若启用边缘端口的接口收到了BPDU,则边缘端口特性失效
【5】若收到TC位置位的BPDU,边缘端口学习到的MAC地址时间不变化(依然为300s)
【1】收敛机制:PA机制
【2】端口状态:3个
【3】端口角色:4
【4】支持边缘端口(但默认不启用的)
【5】自动集成上行链路加速(节约30s)
【6】自动集成骨干链路加速(节约50s)
【7】在802.1W中所有的交换机都有发送BPDU的能力,BPDU超时时间为6s
配置:与802.1D一致
多生成树配置:
【1】name 域名
【2】reversion leave 版本等级
【3】instance 实例映射
配置:
启用MSTP
MSTP配置:
【1】设置STP配置
【2】设置名称
【3】设置等级
【4】实例
【5】运行配置
在Switch间配置必须相同
【1】portfast(边缘端口)
【2】uplink fast(上行链路加速)
【3】backbone fast(骨干链路加速)
【4】BPDU防护思科中BPDU guard华为 BPDU ----若启用了BPDU防护的接口收到BPDU,则会导
【1】手工(先物理关闭接口再重新开启)
【2】自动(开启自动恢复)
查看:
[SW1]dis error-down recovery
【1】全局做法:
[SW1]stp bpdu-filter default
【2】接口
[SW1-GigabitEthernet0/0/5]stp bpdu-filter enable
一般建议在连接新交换机的接口上启用,若该接口收到了优质根的BPDU信息,则接口进入discardin
[SW1-GigabitEthernet0/0/5]stp root-protection
防止当出现单向链路故障时,导致生成树出现转发环路,所以可以在阻塞端口上启用loop-protection,使阻塞接口可以发送BPDU,进行链路双向检测
[SW1-GigabitEthernet0/0/5]stp loop-protection