STP/RSTP/MSTP

1.0STP

STP的作用就是防环

1.1 STP端口角色

RP(根端口),DP(指定端口),BP(阻塞端口)

1.2 STP端口状态

disable

端口是down的没有加点

blocking

除于阻塞状态,只接受BPDU不发送

listening

在相互选举端口角色(收敛15秒,我们的BPDU2秒发一次,15秒后端口角色选举已经完成此时端口角色进入下一个状态learning)

learning

端口已经选举完,此时要学习mac地址,为以后的转发做准备,此时learning也需要15秒,所以我们stp的收敛最少30秒(listening加上learning,非常的慢)

forwarding

此时已经开始转发数据

1.3 STP选举

在这里插入图片描述
首先我们要在交换机之间选根桥 ,怎么选了?比较所有交换机的BID(优先级+ MAC),谁的优先级高就选择谁,但是优先级一样就要比较MAC,谁的MAC小谁是根桥,而且优先级必须是4096的倍数,假设sw1的优先级是0最小,所以sw1是根桥,根桥的所有端口都是指定端口,然后比较cost值,那个非根交换机的端口到达根桥cost小,谁就是根端口,选择完根端口后再选举非根交换机的指定端口,首先比较端口到达sw的cost值谁小谁是DP,如果都相同,那么就再比较优先级,谁的优先级小谁是DP。
为什么选小?因为百分之80都是交换选小,路由选大
在这里插入图片描述
上图中的STP选举,首先SW1的优先级为0,SW2的优先级为32768,所以SW1为根桥,所以sw1的1和2为DP,sw2中4和3要选RP和BP,所以先比较 cost值,但是cost值都相等,所以再比较发送者的BID,发送者为sw1 所以swo2的4和3收到的BID都相等,再比较发送者的PID(端口优先级+端口数,比如端口1,端口2)sw2的4端口接收到的是sw1的1端口PID,端口优先级默认为128,端口数为1,sw2交换机3接口接受的BID是由sw1的2端口发出来的,端口优先级为默认128和sw2的端口4收到的优先级一样,但是sw2的3端口收到的端口数是2,而sw2收到的端口数是1所以sw2收到的端口数比端口3收到的小,所以sw2的4端口是根端口,sw2的3端口为阻塞端口,如果在更极端的情况下,端口数也一样,那么就比较自己的端口(优先级,端口数),

1.4 STP的不足

1,收敛时间慢
2,非根桥交换机2的RP down掉(次交换机没有阻塞端口),此时次交换机会认为自己是根桥开始向别的交换机发送BPDU,当他相邻的交换机3(此交换机为非根桥交换机)收到BPDU,但是交换机3和交换机2连接的端口为阻塞端口,阻塞端口只能接受BPDU,不能发送BPDU,而且sw3的BP端口本来就有根桥的BPDU(sw3的RP收到的根桥BPDU不可能传给本交换机的BP端口,sw3的BP端口只能从sw2收到根桥的BPDU,此时sw3的BP端口收不到从sw2传来的根桥BPDU), 当sw3的BP端口收到了sw2发送的bpdu(此BPDU是sw2自己认为自己是根桥所发送的BPDU),然后sw3对比sw1的bpdu(sw3的RP端口上的BPDU)和sw2的bpdu(sw3的BP上的BPDU),然后sw3一对比发现sw2的BPDU优先级没有sw1的BPDU优先级好,此时sw3知道网络发生了变化,然后sw3的BP发送bpdu给sw2,此时sw2发现sw1的优先级比自己高开始重新选举,此时bp就准备改成listening状态,再变成learning状态学习mac,一共30秒,再加上前面的mac地址老化时间20秒一共是50S,这个是思科的机制
在华为的stp中当sw2的RP断掉后sw2自认为自己是根桥向BP发送BPDU,sw3会比较自己的BP端口上的BPDU,和RP端口上的BPDU然后得出RP上BPDU的优先级高就立马转变BP的状态向sw2发送BPDU,sw2收到后直接进行状态转换,30秒

在这里插入图片描述

2.0RSTP

2.1 RSTP端口角色

RP
BP(BLOCK PORT)
DP
AP(ALTERNATE PORT)替换端口
BP(BACKUP PORT)
EP(EDGE PORT)
首先BP(BACKUP PORT)和AP都是阻塞的,什么时候是BP了?首先BP收到的BPDU中的BID是自己(也就是自己发的),那这个端口就是BP,其他一律AP
在这里插入图片描述
为什么sw3和sw2相连的端口是AP?,因为他受到的BPDU是从sw2发送的
当我们的DPdown了,BP直接变成DP,变成DP后他也要经过30秒才能到forwarding状态,从discarding(不转发流量,不学习mac),到learning(转发流量 )15s,再到forwarding(转发流量又学习mac)
当RPdown了AP直接切换成RP,

2.2 切换机制

P/A机制
在这里插入图片描述
首先我们的2台交换机相连,S1和S2都认为自己是根桥,所有的端口都是指定端口,然后相互发送RST BPDU,如果S1的优先级比S2第,说明S1为根桥他的BPDU比S2好,S2收到后马上意识自己将成为根端口,而不是指定端口,所以停止发送TST BPDU,S1的P0端口成为discarding状态,然后发送p字位的BPDU给S2,S2收到S1发送的P字位的BPDU后,开始将自己的所有端口进入sync状态(阻塞所有的非edge端口),此时P2已经阻塞,当阻塞完成后就返回A报文给S1,S1判断这个是刚刚发出的P字位BPDU的回应,立即将端口P0转变成forwarding

首先我们的P/A机制是在端口角色选完后才会开始P/A,所以我们如果有三个交换机相连,2个非根端口之间总会有一个端口是AP或者BP的,所以他们不用进行P/A

2.3 实验

在这里插入图片描述

[LSW8]stp mode rstp  	//将交换机改成RSTP,华为默认是MSTP
[LSW9]stp mode rstp		//将交换机改成RSTP,华为默认是MSTP
[LSW8]stp root primary	//将LSW8优先级设置成0 

2.4端口down掉

在这里插入图片描述
首先我们的SWB的RP端口down掉,此时SWB觉得自己是根桥,向SWC发送次等BPDU,SWC收到后比较SWA发送的优等BPDU,发现SWB发送的比较次,立马回优等BPDU给SWB,并且还有P报文,SWB收到后,把自己的DP转换成RP,然后阻塞自己所有的非ep,完成后发送a报文给swc,并且将swb的rp转成forwarding,swc的ap收到后也变成forwarding

2.5 拓扑发生变更

首先STP中TC机制,
在这里插入图片描述
首先在STP中如果sw4下面接入的PC1断开了,此时SW4会发送TC报文到sw2,请求删除pc1的相关MAC地址,sw2收到后会回一个TCN说明已经删除,并且发送TC到sw1也是根,然后sw1收到后删除相关mac地址,并且发送TCN全网通告,删除pc1相关mac地址

RSTP的TC机制
在这里插入图片描述
首先如果sw4的pc断开了,他会首先将所有的非边缘端口启动一个tc while time ,该计时器的时间是hello时间的2背,在这个时间内删除相应的mac地址,同时发送一个TC报文到全网,请求删除pc1的mac地址,一旦tc while time超时则停止发送,其他的交换机收到后也会设置tc while time并且删除mac,发送tc报文,在stp中sw1才会全网广播。

3.0MSTP

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值