h3c 交换机 s5048PV5-EI stp配置

1 生成树协议概述

1.1 STP简介

1.1.1 STP的协议报文

1.1.2 STP的基本概念

1.1.3 STP的拓扑计算过程

1.1.4 STP算法实现举例

1.1.5 STP的BPDU传递机制

1.1.6 STP的时间参数

1.2 RSTP简介

1.2.1 RSTP的协议报文

1.2.2 RSTP的基本概念

1.2.3 RSTP的工作原理

1.2.4 RSTP中的BPDU处理

1.3 PVST简介

1.3.1 PVST的协议报文

1.3.2 PVST的工作原理

1.4 MSTP简介

1.4.1 MSTP的优点

1.4.2 MSTP的协议报文

1.4.3 MSTP的基本概念

1.4.4 MSTP的工作原理

1.4.5 MSTP在设备上的实现

1.5 快速收敛机制

1.5.1 边缘端口机制

1.5.2 根端口快速切换机制

1.5.3 P/A机制

1.6 协议规范

2 配置生成树协议

2.1 生成树协议配置限制和指导

2.1.1 与其他功能之间的配置限制和指导

2.1.2 接口相关配置限制和指导

2.2 生成树协议配置任务简介

2.2.1 STP配置任务简介

2.2.2 RSTP配置任务简介

2.2.3 PVST配置任务简介

2.2.4 MSTP配置任务简介

2.3 配置生成树的工作模式

2.4 配置MST域

2.5 配置根桥和备份根桥

2.5.1 配置限制和指导

2.5.2 配置根桥

2.5.3 配置备份根桥

2.6 配置设备的优先级

2.7 配置MST域的最大跳数

2.8 配置交换网络的网络直径

2.9 配置生成树的时间参数

2.10 配置超时时间因子

2.11 配置端口发送BPDU的速率

2.12 配置端口为边缘端口

2.13 配置端口的路径开销

2.13.1 功能简介

2.13.2 配置缺省路径开销的计算标准

2.13.3 配置端口的路径开销

2.14 配置端口的优先级

2.15 配置端口的链路类型

2.16 配置端口收发的MSTP报文格式

2.17 打开端口状态变化信息显示开关

2.18 开启生成树协议

2.18.1 配置限制和指导

2.18.2 开启生成树协议(STP/RSTP/MSTP模式)

2.18.3 开启生成树协议(PVST模式)

2.19 执行mCheck操作

2.19.1 功能简介

2.19.2 配置限制和指导

2.19.3 全局执行mCheck操作

2.19.4 在端口上执行mCheck操作

2.20 关闭PVST的PVID不一致保护功能

2.21 配置摘要侦听功能

2.22 配置No Agreement Check功能

2.23 配置TC Snooping功能

2.24 配置生成树保护功能

2.24.1 生成树保护功能配置任务简介

2.24.2 配置BPDU保护功能

2.24.3 配置根保护功能

2.24.4 配置环路保护功能

2.24.5 配置端口角色限制功能

2.24.6 配置TC-BPDU传播限制功能

2.24.7 配置防TC-BPDU攻击保护功能

2.24.8 配置BPDU拦截功能

2.24.9 配置MSTP的PVST报文保护功能

2.24.10 关闭Dispute保护功能

2.25 配置在PVST模式下设备检测或接收到TC报文时打印日志信息

2.26 配置被BPDU保护功能关闭的端口不再自动恢复

2.27 配置生成树的网管功能

2.28 生成树显示和维护

2.29 生成树典型配置举例

2.29.1 MSTP配置举例

2.29.2 PVST配置举例

1 生成树协议概述
生成树协议是一种二层管理协议,它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。最初的生成树协议为STP(Spanning Tree Protocol,生成树协议),之后又发展出RSTP(Rapid Spanning Tree Protocol,快速生成树协议)、PVST(Per-VLAN Spanning Tree,每VLAN生成树)和MSTP(Multiple Spanning Tree Protocol,多生成树协议)。

1.1 STP简介
STP由IEEE制定的802.1D标准定义,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成的报文处理能力下降的问题发生。

STP包含了两个含义,狭义的STP是指IEEE 802.1D中定义的STP协议,广义的STP是指包括IEEE 802.1D定义的STP协议以及各种在它的基础上经过改进的生成树协议。

1.1.1 STP的协议报文
STP采用的协议报文是BPDU(Bridge Protocol Data Unit,网桥协议数据单元),也称为配置消息。本文中将生成树协议的协议报文均简称为BPDU。

STP通过在设备之间传递BPDU来确定网络的拓扑结构。BPDU中包含了足够的信息来保证设备完成生成树的计算过程。STP协议的BPDU分为以下两类:

· 配置BPDU(Configuration BPDU):用来进行生成树计算和维护生成树拓扑的报文。

· TCN BPDU(Topology Change Notification BPDU,拓扑变化通知BPDU):当拓扑结构发生变化时,用来通知相关设备网络拓扑结构发生变化的报文。

  1. 配置BPDU
    网桥之间通过交互配置BPDU来进行根桥的选举以及端口角色的确定。配置BPDU的格式如图1-1所示。

图1-1 配置BPDU格式

配置BPDU中BPDU数据的信息包括:

· 协议类型(Protocol ID):固定为0x0000,表示生成树协议。

· 协议版本号(Protocol Version ID):目前生成树有三个版本,STP的协议版本号为0x00。

· BPDU类型:配置BPDU类型为0x00。

· BPDU Flags位:BPDU标志位,表示是哪种BPDU。由8位组成,最低位(0位)为TC(Topology Change,拓扑改变)标志位;最高位(7位)为TCA(Topology Change Acknowledge,拓扑改变确认)标志位;其他6位保留。

· 根桥(Root Bridge)ID:由根桥的优先级和MAC地址组成。

· 根路径开销:到根桥的路径开销。

· 指定桥ID:由指定桥的优先级和MAC地址组成。

· 指定端口ID:由指定端口的优先级和该端口的全局编号组成。

· Message Age:BPDU在网络中传播的生存期。

· Max Age:BPDU在设备中的最大生存期。

· Hello Time:BPDU的发送周期。

· Forward Delay:端口状态迁移的延迟时间。

其中通过根桥ID、路径开销、指定桥ID、指定端口ID、Message Age、Max Age、Hello Time和Forward Delay信息来保证设备完成生成树的计算过程。

  1. TCN BPDU
    如图1-2所示,TCN BPDU和配置BPDU在结构上基本相同,也是由源/目的MAC地址、L/T位、逻辑链路头和BPDU数据组成。但是TCN BPDU的BPDU数据组成非常简单,只包含三部分信息:协议类型、协议版本号和BPDU类型。协议类型和协议版本号字段和配置BPDU相同,BPDU类型字段的值为0x80,表示该BPDU为TCN BPDU。

图1-2 TCN BPDU格式

TCN BPDU有两个产生条件:

· 网桥上有端口转变为Forwarding状态,且该网桥至少包含一个指定端口。

· 网桥上有端口从Forwarding状态或Learning状态转变为Blocking状态。

当上述两个条件之一满足时,说明网络拓扑发生了变化,网桥需要使用TCN BPDU通知根桥。根桥可以通过将配置BPDU中对应标志位置位来通知所有网桥网络拓扑发生了变化,需要使用较短的MAC地址老化时间,保证拓扑的快速收敛。

1.1.2 STP的基本概念

  1. 根桥
    树形的网络结构必须有树根,于是STP引入了根桥的概念。根桥在全网中有且只有一个,其他设备则称为叶子节点。根桥会根据网络拓扑的变化而改变,因此根桥并不是固定的。

在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置BPDU并周期性地向外发送;但当网络拓扑稳定以后,只有根桥设备才会向外发送配置BPDU,其他设备则对其进行转发。

  1. 根端口
    所谓根端口,是指非根桥设备上离根桥最近的端口。根端口负责与根桥进行通信。非根桥设备上有且只有一个根端口,根桥上没有根端口。

  2. 指定桥与指定端口
    有关指定桥与指定端口的含义,请参见表1-1的说明。

表1-1 指定桥与指定端口的含义

分类

指定桥

指定端口

对于一台设备而言

与本机直接相连并且负责向本机转发BPDU的设备

指定桥向本机转发BPDU的端口

对于一个局域网而言

负责向本网段转发BPDU的设备

指定桥向本网段转发BPDU的端口

如图1-3所示,Device B和Device C与LAN直接相连。如果Device A通过Port A1向Device B转发BPDU,则Device B的指定桥就是Device A,指定端口就是Device A上的Port A1;如果Device B负责向LAN转发BPDU,则LAN的指定桥就是Device B,指定端口就是Device B上的Port B2。

图1-3 指定桥与指定端口示意图

  1. 端口状态
    STP的端口有5种工作状态。如表1-2所示。

表1-2 STP的端口状态

状态

描述

Disabled

该状态下的端口没有激活,不参与STP的任何动作,不转发用户流量

Listening

该状态下的端口可以接收和发送BPDU,但不转发用户流量

Learning

该状态下建立无环的转发表,不转发用户流量

Forwarding

该状态下的端口可以接收和发送BPDU,也转发用户流量

Blocking

该状态下的端口可以接收BPDU,但不转发用户流量

  1. 路径开销
    路径开销是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络结构。

1.1.3 STP的拓扑计算过程
STP的拓扑计算过程如下:设备通过比较不同端口收到的BPDU报文的优先级高低,选举出根桥、根端口、指定端口,完成生成树的计算,建立对应的树形拓扑。

  1. 初始状态
    各设备的各端口在初始时会生成以本设备为根桥的BPDU,根路径开销为0,指定桥ID为自身设备ID,指定端口为本端口。

  2. 选择根桥
    网络初始化时,需要在网络中所有的STP设备中选择一个根桥,根桥的选择方式有以下两种:

· 自动选举:网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换BPDU,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。

· 手工指定:用户手工将设备配置为指定生成树的根桥或备份根桥。

¡ 在一棵生成树中,生效的根桥只有一个,当两台或两台以上的设备被指定为同一棵生成树的根桥时,系统将选择MAC地址最小的设备作为根桥。

¡ 用户可以在每棵生成树中指定一个或多个备份根桥。当根桥出现故障或被关机时,如果配置了一个备份根桥,则该备份根桥可以取代根桥成为指定生成树的根桥;如果配置了多个备份根桥,则MAC地址最小的备份根桥将成为指定生成树的根桥。但此时若配置了新的根桥,则备份根桥将不会成为根桥。

  1. 选择根端口和指定端口
    根端口和指定端口的选择过程如表1-3所示。

表1-3 根端口和指定端口的选择过程

步骤

内容

1

非根桥设备将接收最优BPDU(最优BPDU的选择过程如表1-4所示)的那个端口定为根端口

2

设备根据根端口的BPDU和根端口的路径开销,为每个端口计算一个指定端口BPDU:

· 根桥ID替换为根端口的BPDU的根桥ID;

· 根路径开销替换为根端口BPDU的根路径开销加上根端口对应的路径开销;

· 指定桥ID替换为自身设备的ID;

· 指定端口ID替换为自身端口ID。

3

设备将计算出的BPDU与角色待定端口自己的BPDU进行比较:

· 如果计算出的BPDU更优,则该端口被确定为指定端口,其BPDU也被计算出的BPDU替换,并周期性地向外发送;

· 如果该端口自己的BPDU更优,则不更新该端口的BPDU并将该端口阻塞。该端口将不再转发数据,且只接收不发送BPDU。

说明

当拓扑处于稳定状态时,只有根端口和指定端口在转发用户流量。其他端口都处于阻塞状态,只接收STP协议报文而不转发用户流量。

表1-4 最优BPDU的选择过程

步骤

内容

1

每个端口将收到的BPDU与自己的BPDU进行比较:

· 如果收到的BPDU优先级较低,则将其直接丢弃,对自己的BPDU不进行任何处理;

· 如果收到的BPDU优先级较高,则用该BPDU的内容将自己BPDU的内容替换掉。

2

设备将所有端口的BPDU进行比较,选出最优的BPDU

说明

BPDU优先级的比较规则如下:

· 根桥ID较小的BPDU优先级较高;

· 若根桥ID相同,则比较根路径开销:将BPDU中的根路径开销与本端口对应的路径开销相加,二者之和较小的BPDU优先级较高;

· 若根路径开销也相同,则依次比较指定桥ID、指定端口ID、接收该BPDU的端口ID等,上述值较小的BPDU优先级较高。

一旦根桥、根端口和指定端口选举成功,整个树形拓扑就建立完毕了。

1.1.4 STP算法实现举例
下面结合例子说明STP算法实现的具体过程。

图1-4 STP算法实现过程组网图

如图1-4所示,Device A、Device B和Device C的优先级分别为0、1和2,Device A与Device B之间、Device A与Device C之间以及Device B与Device C之间链路的路径开销分别为5、10和4。

  1. 各设备的初始状态
    各设备的初始状态如表1-5所示。

表1-5 各设备的初始状态

设备

端口名称

端口的BPDU

Device A

Port A1

{0,0,0,Port A1}

Port A2

{0,0,0,Port A2}

Device B

Port B1

{1,0,1,Port B1}

Port B2

{1,0,1,Port B2}

Device C

Port C1

{2,0,2,Port C1}

Port C2

{2,0,2,Port C2}

说明

表1-5中BPDU各项的具体含义为:{根桥ID,根路径开销,指定桥ID,指定端口ID}。

  1. 各设备的比较过程及结果
    各设备的比较过程及结果如表1-6所示。

表1-6 各设备的比较过程及结果

设备

比较过程

比较后端口的BPDU

Device A

· Port A1收到Port B1的BPDU {1,0,1,Port B1},发现自己的BPDU {0,0,0,Port A1}更优,于是将其丢弃。

· Port A2收到Port C1的BPDU {2,0,2,Port C1},发现自己的BPDU {0,0,0,Port A2}更优,于是将其丢弃。

· Device A发现自己各端口的BPDU中的根桥和指定桥都是自己,于是认为自己就是根桥,各端口的BPDU都不作任何修改,此后便周期性地向外发送BPDU。

· Port A1:

{0,0,0,Port A1}

· Port A2:

{0,0,0,Port A2}

Device B

· Port B1收到Port A1的BPDU {0,0,0,Port A1},发现其比自己的BPDU {1,0,1,Port B1}更优,于是更新自己的BPDU。

· Port B2收到Port C2的BPDU {2,0,2,Port C2},发现自己的BPDU {1,0,1,Port B2}更优,于是将其丢弃。

· Port B1:

{0,0,0,Port A1}

· Port B2:

{1,0,1,Port B2}

· Device B比较自己各端口的BPDU,发现Port B1的BPDU最优,于是该端口被确定为根端口,其BPDU不变。

· Device B根据根端口的BPDU和路径开销,为Port B2计算出指定端口的BPDU {0,5,1,Port B2},然后与Port B2本身的BPDU {1,0,1,Port B2}进行比较,发现计算出的BPDU更优,于是Port B2被确定为指定端口,其BPDU也被替换为计算出的BPDU,并周期性地向外发送。

· 根端口Port B1:

{0,0,0,Port A1}

· 指定端口Port B2:

{0,5,1,Port B2}

Device C

· Port C1收到Port A2的BPDU {0,0,0,Port A2},发现其比自己的BPDU {2,0,2,Port C1}更优,于是更新自己的BPDU。

· Port C2收到Port B2更新前的BPDU {1,0,1,Port B2},发现其比自己的BPDU {2,0,2,Port C2}更优,于是更新自己的BPDU。

· Port C1:

{0,0,0,Port A2}

· Port C2:

{1,0,1,Port B2}

· Device C比较自己各端口的BPDU,发现Port C1的BPDU最优,于是该端口被确定为根端口,其BPDU不变。

· Device C根据根端口的BPDU和路径开销,为Port C2计算出指定端口的BPDU {0,10,2,Port C2},然后与Port C2本身的BPDU {1,0,1,Port B2}进行比较,发现计算出的BPDU更优,于是Port C2被确定为指定端口,其BPDU也被替换为计算出的BPDU。

· 根端口Port C1:

{0,0,0,Port A2}

· 指定端口Port C2:

{0,10,2,Port C2}

· Port C2收到Port B2更新后的BPDU {0,5,1,Port B2},发现其比自己的BPDU {0,10,2,Port C2}更优,于是更新自己的BPDU。

· Port C1收到Port A2周期性发来的BPDU {0,0,0,Port A2},发现其与自己的BPDU一样,于是将其丢弃。

· Port C1:

{0,0,0,Port A2}

· Port C2:

{0,5,1,Port B2}

· Device C比较Port C1的根路径开销10(收到的BPDU中的根路径开销0+本端口所在链路的路径开销10)与Port C2的根路径开销9(收到的BPDU中的根路径开销5+本端口所在链路的路径开销4),发现后者更小,因此Port C2的BPDU更优,于是Port C2被确定为根端口,其BPDU不变。

· Device C根据根端口的BPDU和路径开销,为Port C1计算出指定端口的BPDU {0,9,2,Port C1},然后与Port C1本身的BPDU {0,0,0,Port A2}进行比较,发现本身的BPDU更优,于是Port C1被阻塞,其BPDU不变。从此,Port C1不再转发数据,直至有触发生成树计算的新情况出现,譬如Device B与Device C之间的链路down掉。

· 阻塞端口Port C1:

{0,0,0,Port A2}

· 根端口Port C2:

{0,5,1,Port B2}

  1. 计算出的生成树
    经过上述比较过程之后,以Device A为根桥的生成树就确定下来了,其拓扑如图1-5所示。

图1-5 计算后得到的拓扑

说明

为了便于描述,本例简化了生成树的计算过程,实际的过程要更加复杂。

1.1.5 STP的BPDU传递机制
STP的BPDU传递机制如下:

· 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的BPDU,并以Hello Time为周期定时向外发送。

· 接收到BPDU的端口如果是根端口,且接收的BPDU比该端口的BPDU优,则设备将BPDU中携带的Message Age按照一定的原则递增,并启动定时器为这条BPDU计时,同时将此BPDU从设备的指定端口转发出去。

· 如果指定端口收到的BPDU比本端口的BPDU优先级低时,会立刻发出自己的更好的BPDU进行回应。

· 如果某条路径发生故障,则这条路径上的根端口不会再收到新的BPDU,旧的BPDU将会因为超时而被丢弃,设备重新生成以自己为根的BPDU并向外发送,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。

不过,重新计算得到的新BPDU不会立刻就传遍整个网络,因此旧的根端口和指定端口由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。

1.1.6 STP的时间参数
在STP的计算过程中,用到了以下三个重要的时间参数:

· Forward Delay:用于确定状态迁移的延迟时间。缺省情况下Forward Delay时间为15秒。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新BPDU无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。为此,生成树协议在端口由Blocking状态向Forwarding状态迁移的过程中设置了Listening和Learning状态作为过渡(Listening和Learning状态都会持续Forward Delay时间),并规定状态迁移需要等待Forward Delay时间,以保持与远端的设备状态切换同步。新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的BPDU已经传遍整个网络。

· Hello Time:用于设备检测链路是否存在故障。缺省情况下Hello Time为2秒。生成树协议每隔Hello Time时间会发送BPDU,以确认链路是否存在故障。如果设备在超时时间(超时时间=超时时间因子×3×Hello Time)内没有收到BPDU,则会由于消息超时而重新计算生成树。

· Max Age:用于判断BPDU在设备内的保存时间是否“过时”,设备会将过时的BPDU丢弃。缺省情况下Max Age时间为20秒。在MSTP的CIST上,设备根据Max Age时间来确定端口收到的BPDU是否超时。如果端口收到的BPDU超时,则需要对该MSTI重新计算。Max Age时间对MSTP的MSTI无效。

STP每隔一个Hello Time发送一个BPDU,并且引入Keepalive机制。Hello包的发送可以避免最大失效定时器溢出。如果最大失效定时器溢出,通常表明有连接错误发生。此时,STP会进入Listening状态。STP要从连接错误中恢复过来,一般需要50秒的时间。其中BPDU最长的失效时间20秒;Listening状态持续15秒;Learning状态持续15秒。

为保证网络拓扑的快速收敛,需要配置合适的时间参数。上述三个时间参数之间应满足以下关系,否则会引起网络的频繁震荡:

· 2×(Forward Delay-1秒)≥Max Age

· Max Age≥2×(Hello Time+1秒)

1.2 RSTP简介
RSTP由IEEE制定的802.1w标准定义,它在STP基础上进行了改进,实现了网络拓扑的快速收敛。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时将大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。

1.2.1 RSTP的协议报文
RSTP也是通过在设备之间传递BPDU来确定网络的拓扑结构。RSTP的BPDU格式和STP的配置BPDU格式非常相似,仅在以下几个信息有所不同:

· BPDU类型变为0x02,表示为RSTP的BPDU。

· BPDU协议版本号为0x02,表示为RSTP协议。

· Flags位字段使用了全8位。

· RSTP在BPDU报文的最后增加了Version1 Length字段。该字段的值为0x00,表示本BPDU中不包含Version 1内容。

在拓扑改变时,RSTP的拓扑改变处理过程不再使用TCN BPDU,而使用Flags位中TC置位的RST BPDU取代TCN BPDU,并通过泛洪方式快速的通知到整个网络。

1.2.2 RSTP的基本概念

  1. 端口角色
    RSTP中根端口和指定端口角色的定义和STP相同。与STP相比,RSTP增加了三种端口角色替换端口(Alternate Port)、备份端口(Backup Port)和边缘端口࿰
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值