STP生成树协议
1、环路问题
1.1广播风暴
广播风暴的概念:网络中的每一台交换机都会不停的收到帧的拷贝,并对其执行泛洪操作,没执行一次泛洪操作,都会收到一个帧的拷贝,如此循环,就会产生广播风暴。
广播风暴带来的问题:大量消耗网络中的带宽资源以及计算机的处理资源,可能导致计算机瘫痪或者局域网局部或者整个网络瘫痪。
1.2 MAC地址表的翻摆
概念:当pc发送了一个广播帧A,交换机收到这个广播帧之后会进行泛洪操作。这样以来,这个广播帧会顺时针和逆时针不停的旋转,每次A进入交换内,交换都会不停的修改mac-address表,这样就形成了mac地址表的翻摆。
危害:快速的mac地址表翻摆会大量消耗交换机的cpu,严重导致网络的拥堵。
1.3 多帧复制
多帧复制的概念:pc1向pc2发送了一个单播帧B,假设SW1的mac-address中没有关于pc2的mac地址,SW2的mac-address中存在pc2的mac地址,SW3的mac-address中也存在关于pc2的mac地址。当pc1向pc2发送一个单播帧B的时候,由于SW1不知道 pc2的mac地址,所以SW1会进行泛洪的操作,这样以来,SW2和SW3都会收到一个单播帧B,又由于,SW2和SW3都存在pc2的mac地址,所以SW2和SW3都会对单播帧B进行对pc2的转发操作,这样以来pc2就收到了两个同样的单播帧B,这样就形成了多帧复制的现象。
2、基本术语
2.1 桥
桥:等于交换机,因为早期的交换机只有两个端口,类似于两个设备交换用的“桥梁”
2.2 桥的MAC地址
桥的MAC地址: 端口编号最小的端口对应的MAC地址作为整个桥的MAC地址
2.3 桥ID
桥ID:共6字节,前两字节是桥优先级,可人为设定,缺省值为0x8000,后4字节是桥的MAC地址
2.4 端口ID
端口ID:两种定义方式
方式一:两字节,第一字节代表该端口优先级,第二字节代表端口编号
方式二:16比特,前4比特端口编号,后12比特端口编号
3、STP树的生成
3.1 STP协议的基本原理
在一个具有物理环路的交换网络中,交换机通过运行STP协议,自动生成一个没有环路的工作拓扑(STP树)
3.2 生成过程
生成过程:选举根桥,确定跟端口,指定端口,阻塞备用端口
3.2.1 选举根桥
交换机启动之初,都会认为自己是根桥,并在发送给别的交换机BPDU中宣告自己是根桥,当交换机收到自己从网络中接收到的BPDU之后,会比较BPDU中指定的根桥的BID和自己的BID,交换机通过不断的交换BPDU,同时对BID的比较,直到选出一台BID最小的交换机作为根桥
3.2.2 确定根端口
当选举出根桥之后,一台非根桥设备可能会有多个端口与根桥相连,为保证从某台非根桥设备到根桥设备的工作路径最优且唯一,就必须从非根桥设备中选择出一个根端口,一台非根桥设备中只能有一个根端口
根端口的确定过程:
(1)首先比较RPC路径开销,开销小的作为根端口。
(2)当RPC相同时,会比较BID,BID小的最为根端口
(3)当rpc和BID都相同时,会比较PID,PID小的最为根端口
3.2.3 确定指定端口
(1)选择RPC小的端口
(2)RPC相同,选择所在桥BID小的端口
(3)RPC, BID均相同,选择PID小的端口
(4)根桥不存在根端口
3.2.4 阻塞备用端口
交换机上所有非根端口和非指定端口的端口统称备用端口
STP对这些端口进行逻辑阻塞,它们不能转发用户数据帧,但可以发送接收STP协议帧
3.3 STP报文格式
载荷数据BPDU分两种:Configuration BPDU和TCN(Topology Change Notification)BPDU
3.3.1 Configuration BPDU
(1)三种参数
BPDU对自身的标识,包括协议标识、版本号、BPDU类型和Flags
STP计算的参数:包括交换机的BID、PID、RPC
时间参数:Hello Time、Forward Delay、Message Age、MAX Age
(2)Hello Time:交换机发送BPDU的时间间隔,必须在跟桥上修改才有效
(3)Forward Delay:端口状态迁移的延迟时间
(4)Message Age:是指从根桥发出的BPDU传到当前交换机所需要的总时间
(5)MAX Age:BPDU的最大生命周期
3.3.2 TCN(Topology Change Notification)BPDU
发生故障时,检测到故障的桥会向上游发送该类报文
3.4 STP端口状态
3.5 STP的改进RSTP
4、配置RSTP实验
4.1 实验拓扑
4.2 实验编址
4.3 实验步骤
step1:为两台pc机配置ip和子网掩码。
step2:测试主机之间的连通性,测试成功
step3:配置RSTP基本功能,在其他三台交换机上也一样使用该命令,这里不在截图
step4:设置完成后,使用display stp命令去查看生成树的模式及根交换机的位置
step5:修改S1的优先级为0,之前已经修改,不在演示
step6:设置S2为备份根交换机,使用命令 stp root secondary
step6:在S2上使用display stp查看
step7:配置边缘端口,进入接口eth0/0/1,为S4设置边缘端口使用命令stp edged-port enable