3、STP生成树概念(根桥、根端口类型、Cost值计算标准)
4、STP根桥、根端口RP、指定端口DP、阻塞端口AP选举方法
三、STP生成树概念(根桥、根端口类型、Cost值计算标准)
四、STP根桥、根端口RP、指定端口DP、阻塞端口AP选举方法
学习目标:
1、STP生成树解决的问题。
2、STP生成树解决问题的方法
3、STP生成树概念(根桥、根端口类型、Cost值计算标准)
4、STP根桥、根端口RP、指定端口DP、阻塞端口AP选举方法
5、STP生成树端口状态
6、STP拓扑变化产生的影响
对于生成树具体问题具体考虑
一、STP生成树解决的问题:
生成树主要是为了解决网络链路冗余设计从而产生的二层环路,交换机二层帧结构决定了二层帧没有防环机制。
二层环路带来影响:
1、广播风暴:影响网络带宽资源,造成网络瘫痪。
2、MAC地址漂移:多个接口收到广播报文,学习相同源MAC,会造成多个接口MAC地址来回漂移。
BUM指三种帧:交换机泛洪转发
1、B:广播
2、U:目标MAC地址未知单播帧(交换机收到一个帧目标MAC在自己MAC地址表不存在)
3、M:组播帧
二、STP生成树解决问题的方法
STP生成树:在交换机之间进行生成树报文的交互,进行无环拓扑计算,最终阻塞单个或多个接口,从而打破环路,网络从一个环,变成一棵树。
三、STP生成树概念(根桥、根端口类型、Cost值计算标准)
STP802.1D生成树协议
1、先确定根桥
桥ID(Bridge ID,BID):出厂就有BID。
根桥选举:根桥可以被抢占 | 1、比较根桥桥ID,BID,比小 默认前16bit是32768 2、比较接口MAC地址,比小 |
Cost值:STP中Cost开销:每一个激活STP接口都有一个Cost值,用于计算到达根的开销,Cost与接口速率有关系,设备使用不同算法的时候,相同的接口速率也会对应不同的Cost值。
Cost的三种计算标准:
公有标准:
1、IEEE 802.1d-1998标准(思科默认)
2、IEEE 802.1t标准(华为默认)
私有标准:
1、华为计算方法
修改生成树Cost计算标准: | [Huawei]stp pathcost-standard dot1d-1998 [Huawei]display stp 手动修改接口Cost值: [Huawei-GigabitEthernet0/0/1]stp cost 1000 |
STP中RPC(根路径开销):设备某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost值累加。
STP中PID(接口ID):
用来选举指定端口,接口ID两部分组成,高位4bit是接口优先级(华为默认128),低12bit是接口编号(接口编号就是物理口)。
优先级: | |
STP中BPDU(桥接协议数据单元):
STP协议自己产生的报文,通过802.3帧格式发送的,启用STP的交换机直接通过交互BPDU报文进行工作。
BPDU有两种类型:
1、配置BPDU:STP进行拓扑计算。
2、TCN BPDU:STP拓扑变更会使用。
Message Age:能计算到根桥的跳数,每发出会+1,最大20跳(超过了BPDU就认为失效)。
四、STP根桥、根端口RP、指定端口DP、阻塞端口AP选举方法
STP选举机制:
1、选举根桥:全网BID最小的交换机称为根桥,可以抢占,唯一性。
2、除根桥外其他交换机成为非根桥。
3、在每个非根桥上,选举一个根端口(Root port),
RP根端口:根端口是接收来自根桥最好BPDU的端口(根桥没有根端口)。
4、在每条链路(每个冲突域)上选举一个指定端口,
DP指定端口:负责在链路转发最好BPDU的端口(一般情况下根桥的所有端口都是指定端口DP)。
5、既不是非根桥的RP,也不链路的DP,该端口为非指定端口block port,阻塞端口。
配置BPDU比较规则:
STP按照顺序进行比较选择最优的配置BPDU:
1、最小的根桥ID(根桥ID)
2、最小的RPC(根路径开销,根桥到该设备的所有入方向接口Cost累加值)
3、最小的网桥ID(发送者的桥ID)
4、最小的接口ID
配置BPDU的转发过程:
例:通过计算规则可以根据这个拓扑图自行计算对照结果
五、STP生成树端口状态
STP生成树端口状态有五种:
1、Disable禁用:不能收发BPDU,不能收发帧,类似于接口down了。
2、Blocking阻塞:不能收发BPDU,不会进行MAC地址学习,但是会监听BPDU。
3、Listening监听:【15秒到Learning学习(监听状态15秒原因:为了让生成树传遍全网,避免临时环路。)】STP认为该接口为根接口或指定接口,但接口依然处于STP计算过程中,此时接口可以收发BPDU,但不能收发数据帧,也不会进行MAC地址学习。
4、Learning学习:【15秒到Forwarding转发】会监听业务数据帧(不能转发业务数据帧),收到业务数据帧后进行MAC地址学习。
5、Forwarding转发:可以正常收发数据帧,也会进行BPDU的处理,接口的角色需要是根据根接口或指定接口才能进入转发状态。
稳定的STP生成树状态只有两种状态:blocking阻塞和forwarding转发。
在侦听和学习状态如果发现接口不是根端口或指定端口会立即阻塞。
六、STP拓扑变化产生的影响
拓扑变化:
1、根桥故障
802.1D标准STP,收到次级BPDU得等之前的BPDU老化【20秒】后才能处理然后侦听【15秒】、学习【15秒】到转发总共需要50秒。
华为不用等20秒,直接30秒收敛。
拓扑变化需要局部联系整体来思考。
2、根端口故障
根端口失效,老的BPDU不会再等待20秒,是需要30秒恢复故障。
华为的处理,RP失效,存在AP交换机,会立即发次级BPDU,AP会立即处理然后变DP(30秒)。
RP链路接口还在,收不到BPDU,等待20秒BPDU老化,RPdown了,DP会立即发次级BPDU,AP会立即处理然后变DP。
TCN拓扑变更置位BPDU发送的条件:
STP协议最早认为任何端口进入到Forwarding转发状态或进入Disable禁用状态时,认为STP拓扑发生变化,后来STP对拓扑发生变化的定义做了优化:
1、当DP(指定端口)进入到Forwarding状态认为拓扑发生变化。
2、RP(根端口)失效或RP进入到Forwarding状态。
3、非根桥DP(指定端口)失效不认为拓扑发生变化。
4、根桥的DP(指定端口)失效直接发生TC BPDU(拓扑变更BPDU)
生成树配置:
禁用生成树是STP disable
改端口角色:改PID影响链路,改RPC开销影响树形结构。
[SW1]display stp brief | 查看接口生成树状态 |
CIST Bridge和CIST Root相同的话,代表执行这条命令的时刻,这台交换机是根桥。
三个计时器在根桥改就行(hello时间-2s、MaxAge-20s、FwDly-15s),非根桥交换机会同步。
RSTP(802.1W)对STP(802.1D)的改进:
STP故障收敛时间通常为30s-50s,网络中断较长。
802.1W快速生成树RSTP,可以做到1s-2s的收敛。
针对STP的不足,802.1W-RSTP做出了以下优化:
1、flags位增加了P/A机制:
P/A机制,其目的是使一个指定端口尽快进入转发状态。P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦P/A协商不成功,指定端口的选择就需要等待两个转发,协商过程与STP一样。P位和A位,协定机制,RSTP协商的标志位。
2、优化次级BPDU
3、新增了端口角色AP(RP的备份端口)和BP(DP的备份端口)。
4、新增边缘端口: 不管接口UP或者down,都不会通知根桥交换机拓扑发送变化,减少无用的BPDU泛洪,保证全网稳定性。
STP(802.1D)和RSTP(802.1W)缺陷:(从而产生MSTP【802.1S】)
1、STP和RSTP是单生成树协议,只能维护一棵树,导致所有vlan共享一个根(所有广播域树都一样)
2、导致部分VLAN不通 | |
3、路径不一定是最优的,会产生次优路径。
华为的VBST(没有国际标准):基于vlan的生成树,基本都是厂家私有,华为的VBST是专门对接思科的基于 MSTP的生成树协议。
消除环路的方法:
1、堆叠技术
2、Smart Link | |