HCIP_二层_STP_

HCIP_二层_STP__第1张图片
实验拓扑图
实验要求
1、全网运行 RSTP
2、指定 SW1 为根桥,SW2 为备份根桥
3、指定 SW1 的 e0/0/ 端口为 AP 端口
4、将 SW3 链接 PC 的端口配置为边缘端口
5、将配置了边缘端口的交换机开启 BPDU 防护,并观察开启之后和开启之前收
到 BPDU 的端口的不同改变
6、在根桥的所有 DP 端口开启根保护功能
7、在 SW3 上开启 TC 泛洪保护,在单位时间内(2s)只能处理 100 个 TC
BPDU
1、全网运行 RSTP
使用,命令 stp mode rstp 将生成树模式改成快速生成树
2、指定 SW1 为根桥,SW2 为备份根桥
SW1 为根桥,SW2为备份根桥
在SW1上 使用
在这里插入图片描述
在SW2上使用
在这里插入图片描述
3、指定 SW3 的 e0/0/ 端口为 AP 端口
SW2成为备份根桥之后,SW3e/0/1自动变成AP
4、将 SW3 链接 PC 的端口配置为边缘端口
HCIP_二层_STP__第2张图片
配置为边缘端口
5、将配置了边缘端口的交换机开启 BPDU 防护,并观察开启之后和开启
在这里插入图片描述
开启BPDU防护
6、在根桥的所有 DP 端口开启根保护功能
HCIP_二层_STP__第3张图片
7、在 SW3 上开启 TC 泛洪保护,在单位时间内(2s)只能处理 100 个 TC
在这里插入图片描述
查看验证
HCIP_二层_STP__第4张图片
HCIP_二层_STP__第5张图片
在这里插入图片描述
MSTP
HCIP_二层_STP__第6张图片
实验不难,
创建两个实例instance1 vlan10
instance2 vlan20
然后在SW1 和SW2交换机上面应用即可
HCIP_二层_STP__第7张图片

验证完成,接下来写一写,stp 与 RSTP的异同点

先来看一下三种生成树协议的比较:
HCIP_二层_STP__第8张图片
可以看出,STP收敛速度慢 RSTP,MSTP收敛速度快
其中MSTP多实例生成树可以在vlan间实现负载均衡,按照不同vlan流量路径转发。

HCIP_二层_STP__第9张图片
通过上图我们可以看出,如果在使用了冗余链路的交换网络会产生环路,引起广播风暴,和MAC地址表不稳定的现象。
为了解决此问题,提出了生成树协议STP(Spanning Tree protocol)
首先我们来看广播风暴和MAC地址表震荡。
HCIP_二层_STP__第10张图片
广播风暴:我们知道,交换机接收到一个广播报文,会进行泛洪处理,所以当PCA给PCB通信时,接收到PCA的请求,那么报文将会被port接受,并分别从端口port2广播出去,然后Port2又接收到另一台设备的广播报文,再分别从port1转发,如此反复,最终会导致整个网络资源被耗尽,网络瘫痪不可用。 以上场景发生在设备未运行stp时。
MAC地址表震荡:即使是单播报文,也有可能会导致交换设备的MAC地址混乱,从而破坏交换设备的MAC地址表。
假如上图中无广播风暴,此时PCA发送一个单播包给PCB,如果此时PCB临时从网络中移走,那么交换机设备上有段B的MAC地址表项将会被删除,此时A-B的单播报文,将会被S1的port1接收,由于S1上面没有相应的MAC地址表项,此单播包将会被port2转发,然后交换机s2收到s1的,又从port1发出去,同时S2的端口port1也会接受A给B的单播,又从port2发出去,如此反复,不间断的发送A的单播报文,交换设备会不停修改自己的MAC地址表项,最终会导致MAC地址表项被破坏。

STP

以太网交换网络中为了进行链路备份,提高网络可用性,会使用冗余链路,但是冗余链路会在交换网络上产生环路,引发广播风暴,MAC地址表震荡等现象。为了解决此问题,于是STP协议出来了 其中在IEEE802.1D定义了STP。
一个根桥
整个网络环境中只有一个根桥
HCIP_二层_STP__第11张图片
1.选举机制
(1)选举根桥
stp中根桥的选举依据是桥ID,stp中每个交换机都会有一个桥ID——bridge ID)
桥ID:由16位的桥优先级和48位的MAC地址构成。在stp网络中,桥优先级是可以配置的,取值范围是0~65535,默认是32768。优先级最高的设备(数值越小越优先)被选举成为根桥。缺省桥优先级相同,则会比较MAC地址,MAC地址越小越优先,根桥可以通过命令指定,可以抢占。
交换机启动后,就开始进行生成树计算,默认情况下,每个交换机都认为自己是根桥,自己所有端口都是指定端口,这样BPDU报文就可以通过所有端口转发,对端交换机收到BPDU后,会比较其中的根桥ID和自己的桥ID。如果收到的桥ID优先级低,则继续通告自己的配置BPDU给邻居交换机,如果收到的BPDU报文中桥ID优先级高,则会修改自己BPDU报文的根桥ID字段,宣告新的根桥。
(2)在每个非根交换机选举一个RP(根端口)。
根端口时离根桥最近的端口,用于接收根桥的BPDU。
非根交换机在选举根端口时分别根据改端口的根路径开销,对端BID,对端PID,本端PID。
下面列举需要对比对端PID情况
HCIP_二层_STP__第12张图片
这里在根路径开销,对端BID一样的情况下,会对比对端PID(端口号,越小越好,所以这里会阻塞)E0/0/2
在这里插入图片描述
当根路径开销,对端BID,对端PID都对比不出来时,则会比较本端PID
HCIP_二层_STP__第13张图片
这种环境下会比较本端PID,至此根端口已经比较出来。
每个交换机端口都有一个port cost 默认情况下,带宽越高,开销越小。最短的路径被称为RPC(root path cost) 根路径的开销是0
(3)每条交换机之间链路选举一个指定端口即 DP
指定端口为发送或转发根桥 BPDU 的端口。根桥的所有端口都是指定端口(除非根桥在 物理上存在环路)。
指定端口的选举:路径开销,BID,本端PID。
如果路径开销一样,则对比根桥ID越小越好,本端PID也是越小越好。

(4)阻塞剩余端口为阻塞端口 Block Port(BP) 。

网络收敛后,只有指定端口和根端口可以转发数据。其他端口为预备端口,被阻塞,不 能 转发数据,只能够从所连网段的指定交换机接收到 BPDU 报文,并以此来监视链路的状态。
综上所述:端口类型有RP(根端口)。DP(指定端口)。BP(阻塞端口)
(1)RP:根端口,只在非根交换机上存在,并且每台非根交换机只有一个,用于接受从根 桥下 发的 BPDU,维持 STP 的状态,该接口最终会进入转发状态。
(2)DP:指定端口,每一条交换机之间的网段链路都会选举一个,用于发送或转发根桥的 BPDU。该端口最终会进入转发状态。

(3)BP:阻塞端口,没有被选举为 RP 和 DP 的端口会被阻塞成为阻塞端口,该端口用于破坏除二层环路以及做备份使用,最终会处于 Blocking 阻塞状态。
注:在华为的 STP 模式中,没有 BP 端口,阻塞端口为预备端口 AP 和备份端口 BP,是优化 后 的结果,标准的 STP 阻塞端口为 Block Port
华为的stp是优化后的stp,阻塞端口为AP和BP

端口状态

HCIP_二层_STP__第14张图片
4.五种状态机
HCIP_二层_STP__第15张图片

  1. disable or down
    :端口初始化,进入Blocking(阻塞)状态。
    2.端口被选为根端口或指定端口,进入Listening(监听状态)
    ③ 端口的临时状态停留时间(转发延时)到,进入下一个 Learning/Forwarding(转 发)状态,端口被选为根端口或指定端口
    ④ 端口不再是根端口、指定端口或指定状态,进入 Blocking 状态
    ⑤ 端口被禁用或链路失效

5.报文类型及其格式。

stp中包含两种BPDU类型,配置BPDU和TC BPDU,注意 TC BPDU和TAC BPDU都是配置BPDU的一种,属于配置BPDU中不同的flag置位。
(1)配置BPDU
初始状态,每个桥都主动发送配置BPDU。但在网络拓扑稳定以后,只有根桥才主动发送BPDU,其它桥接收到上游传来的配置BPDU后,才出发自己的配置BPDU。
只有当发送者的BID或端口的PID两个字段中至少一个和本桥接受端口不同,BPDU报文才会被处理,否则丢弃。这样避免了处理本端口信息一致的BPDU报文。
HCIP_二层_STP__第16张图片

字段 说明

BPDU Type 1节 : 描述:当前BPDU类型;
Flags 1字节 : 网络拓扑变化标注:共8bit,stp中使用了最高位和最低位。
最低位:TC(Topology Change,拓扑变化)标志。该位置即为TC BPDU,用于STP拓扑变更机制。最高位=TCA(Topology Change Acknowledgment,拓扑变化确 认)标志。该位置位即为 TCA BPDU,用于对 TCN BPDU 的确 认
Root ldentifier 8字节: 当前根桥的BID
**Roor Path Cost 4字节:**本端口累积到根桥的开销。
Bridge ldentifier 8字节本交换设备的BID
Port ldentifier 2字节发送该BPDU端口ID。
Message Age 2字节该BPDU的年龄。如果是根桥发的则为0否则M A失踪根桥发送到当前桥接收到BPDU的总时间,包括传输延时,实际中配置BPDU报文经过一个桥,Message Age增加1.
Max Age 2字节 消息老化年龄,缺省为20s。
Hello Time 2字节 发送BPDU间隔时间 缺省为2s
Forward Delay 2字节 控制Listening和Learning状态持续时间,缺省15秒
Max Age:端口的BPDU报文老化时间,可以在根桥上人为改变老化时间,Max Age在整网中一致,运行STP协议的网络中非根桥设备接收到嗷配置后,报文中Mess Age 会和Max Age比较
1.如果MAX Age小于Mess Age则丢弃,
2.如果MAX Age大于Mess Age 则继续转发。

2.TCN BPDU

TCN BPDU是指在下游拓扑发生变化是向上游发送拓扑变化的通知,直到根桥,通知根桥下发TC BPDU。
HCIP_二层_STP__第17张图片
TCN BPDU 内容比较简单,只有 3 个字段:协议号、版本和类型。类型字段是固定值 0x80, 长度只有 4 个字节。
STP故障
(1)根桥故障
在稳定的stp拓扑,非根交换机会定期收到根桥发过来的BPDU报文,如果根桥发生故障停止发送BPDU,下游交换机在MAX Age(默认20s)未接收根桥发过来的BPDU,那么就会认为已经收到的BPDU报文失效,重新选举根桥,会导致50s左右的回复时间20s+forward dely(lis lea)30s
(2)直连链路故障
HCIP_二层_STP__第18张图片
如果此时SW3的E0/0/2故障了,,对于 SW3 来说需要开启其 AP 端口,所以对于 SW3 属于直连 链路故障,则其 Alternate 端口会迁移到 Listening、Learning、Forwarding 状态,经过两 倍的 Forward Delay 后恢复到转发状态。即 30s 时间收敛。
(3)非直连链路故障
HCIP_二层_STP__第19张图片
由于此时SW2 RP端口失效无法接受来自根桥的BPDU,那么此时SW2认为自己是根桥,会通过DP端口给SW3发送自己的BPDU,但是由于SW3仍然保存之前根桥的BPDU,所以在接受到SW2的次优BPDU时不会处理,但当之前的BPDU失效后,就会处理。由于SW3能接收到最新的根桥配置BPDU所以会给SW2发送最优的根桥BPDU,SW2,3这次交互后可以计算出SW3 AP变为DP SW2 DP变为RP。此时端口切换完成,但是DP RP要进入转发状态还需要等待两个转发延时,30s 所以出现故障时间MAX Age+两倍的转发延时=50s
拓扑变更机制

  • 网络拓扑发送变化,下游设备会不断向上游设备发送TCN BPDU报文。
  • 上游设备接收到下游设备发过来的TCN BPDU,只有指定(DP)端口处理,其他端口可能收到,但不处理。
  • 上游设备会把配置BPDU报文中的Flags 的TCA位设置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU。
  • 上游设备复制一份TCN BPDU 向根桥方向发送。
  • 重复步骤,直到根桥接受到TCN BPDU。
  • 根桥把配置BPDU报文中的Flags的TC位置1后发送TC BPDU 收到BPDU的交换机会将自身MAC地址表的老化时间设置为一个Forward Delay时间一次,缺省时间15s 达到快速刷新MAC地址表的目的。
    注:TCN BPDU 报文主要用来向上游设备乃至根桥通知拓扑变化。置位的 TCA 标记的配置 BPDU 报文主要是上游设备用来告知下游设备已经知道拓扑变化,通知下游设备停止发送 TCN BPDU 报文。置位的 TC 标记的配置 BPDU 报文主要是上游设备用来告知下游设备拓扑发 生变化从而达到快速收敛的目的

你可能感兴趣的:(HCIP_二层_STP_)