首页> 中国专利> 一种软重启不中断业务升级过程中拓扑变化的处理方法及装置

一种软重启不中断业务升级过程中拓扑变化的处理方法及装置

摘要

本发明公开了一种软重启ISSU过程中拓扑变化的处理方法和装置,方案为:接口板软重启过程中,代理板接收到拓扑变化报文时,根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息;接口板软重启结束后,代理板根据全局拓扑变化状态表中的每个STP实例对应的拓扑变化信息,刷新属于该STP实例的端口上的该STP实例对应的转发表项,并从属于该STP实例的端口发送拓扑变化报文。本发明能够解决软重启ISSU过程中拓扑变化引起的业务转发异常。

著录项

  • 公开/公告号CN102752144A

    专利类型发明专利

  • 公开/公告日2012-10-24

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN201210236581.X

  • 发明设计人 徐鹏飞;王明军;

    申请日2012-07-10

  • 分类号H04L12/24(20060101);H04L12/56(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人谢安昆;宋志强

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-18 07:07:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-14

    专利权的转移 IPC(主分类):H04L12/24 专利号:ZL201210236581X 登记生效日:20230704 变更事项:专利权人 变更前权利人:新华三技术有限公司 变更后权利人:新华三信息技术有限公司 变更事项:地址 变更前权利人:310052 浙江省杭州市滨江区长河路466号 变更后权利人:310052 浙江省杭州市滨江区长河路466号11楼

    专利申请权、专利权的转移

  • 2017-05-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20120710

    专利权人的姓名或者名称、地址的变更

  • 2015-03-11

    授权

    授权

  • 2013-01-23

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20120710

    实质审查的生效

  • 2012-10-24

    公开

    公开

说明书

技术领域

本申请涉及通信技术领域,特别涉及一种软重启不中断业务升级(In-Service  Software Upgrade,ISSU)过程中拓扑变化的处理方法及装置。

背景技术

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

STP设备通过桥接协议数据单元(Bridge Protocol Data Unit,BPDU)报文进 行角色协商。每个STP设备根据收到的BPDU报文计算确定本设备在STP网络中 的角色以及本设备中的每个STP端口的角色,使STP网络最终稳定在一种无环路 的状态。计算前后存在拓扑变化,其中的一些转发表项可能是在拓扑稳定前学习 到的,需要在拓扑稳定后整网进行一次转发表项的刷新。STP设备通过拓扑变化 报文进行整网转发表项刷新的通知,收到拓扑变化报文的STP设备及端口都会主 动对本设备、本端口的转发表项进行清除重学或主动刷新,以保证转发表项的准 确性。这里的拓扑变化报文为携带拓扑改变(Topology Change,TC)标记的BPDU 报文,或拓扑变化通知(Topology Change Notification,TCN)报文。

ISSU是一种可靠性高的升级设备启动软件的方式,通过一系列的方法确保在 升级过程中业务不中断或者中断时间较短。目前常见的ISSU技术主要包括:进程 级增量ISSU、软重启ISSU和主备倒换ISSU。其中,软重启ISSU的实质是先将 系统运行瞬间的数据(运行数据、配置数据、硬件数据)和状态全部保存在内存 中;再使用新软件重启CPU,重启CPU期间硬件继续提供转发能力;CPU重启后 使用保存的数据、状态继续运行。对于需要实时和对端设备交互协议报文来保持 连接的,则通过协议代理进程来确保在软重启升级过程中连接和协议状态不受影 响。

软重启ISSU一般是以接口板为单位进行,在软重启过程中使用代理板进行业 务管理、监控及代理,软重启的接口板上的软件无法响应外部事件处理。

参见图1,图1是现有技术STP组网示意图,如图1所示,MST域内共包括 4个STP设备:设备A、设备B、设备C、设备D,设备A为根桥,包括4个端口: A1-A4,设备B包括3个端口:B1-B3;设备C包括4个端口:C1-C4,设备D包 括3个端口:D1-D3,其中,端口B1、C1、D2为根端口,端口A3、A4、B3、C2 为指定端口,端口A2和D2为替换端口,端口B2为备份端口,端口D3为边缘端 口、端口A1既是主端口又是域边界端口,端口C3、C4为域边界端口。

假设图1中设备B上的端口B1和B3位于接口板1,需要对接口板1进行软 重启升级。在接口板1软重启的过程中,如果设备C和设备D之间的链路发生故 障,则设备D上的替换端口D1将直接转换为新的根端口进入转发状态,并且发出 一次拓扑变化通知的TC消息通知MST域中的各设备刷新转发表项。

然而,由于设备B上的端口B1所在的接口板正在进行软重启,无法处理TC 消息,导致软重启后设备B上的转发表项与STP网络的最终拓扑不一致,出现业 务转发异常。另外,假设设备B和设备C之间存在设备E,此时设备C因为端口 C2故障不会触发端口角色变化,因而不会对外通知拓扑变化消息,而设备B由于 接口板1软重启,不会传递TC消息到设备E,设备E不能感知拓扑变化,导致 设备E上的转发表项与STP网络的最终拓扑也不一致,出现业务转发异常。

发明内容

有鉴于此,本发明的目的在于提供一种软重启ISSU过程中拓扑变化的处理方法, 该方法能够解决软重启ISSU过程中拓扑变化引起的业务转发异常的技术问题。

为了达到上述目的,本发明提供了一种软重启ISSU过程中拓扑变化的处理方法, 该方法包括:

接口板软重启过程中,代理板接收到拓扑变化报文时,根据拓扑变化报文确定所 有发生拓扑变化的生成树协议STP实例,在全局拓扑变化状态表中记录每个发生拓扑 变化的STP实例对应的拓扑变化信息;

接口板软重启结束后,代理板根据全局拓扑变化状态表中的每个STP实例对应的 拓扑变化信息,刷新属于该STP实例的端口上的该STP实例对应的转发表项,并从属 于该STP实例的端口发送拓扑变化报文。

该方法进一步包括:

接口板软重启前,清空全局拓扑变化状态表;

接口板软重启开始时,设置将在所述接口板上的端口接收到的报文上送到所述代 理板处理的报文侦听表项,所述报文侦听表项包括报文特征信息和代理板板号,所述 报文特征信息包括报文的目的媒体访问控制MAC地址;在接口板上的端口接收到报 文时,如果报文符合报文侦听表项中的报文特征信息,则根据报文侦听表项中的代理 板板号上送报文到代理板。

较佳地,所述STP实例对应的拓扑变化信息包括该STP实例标识,或该STP实 例标识和端口信息;

代理板接收到的拓扑变化报文为携带拓扑变化TC标记的桥接协议数据单元 BPDU报文;

所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态 表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为:确定该拓扑变 化报文中携带的TC标记所属的STP实例,针对每个TC标记所属的STP实例,在全 局拓扑变化状态表中添加该STP实例的标识,或该STP实例的标识以及接收该拓扑变 化报文的端口信息;

当所述STP实例对应的拓扑变化信息包括该STP实例标识和端口信息的情况下, 所述从属于该STP实例的端口发送拓扑变化报文之前,进一步包括:判断该端口与全 局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是否相同,如果是,则 不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该STP实例的端口发送 拓扑变化报文。

较佳地,所述STP实例对应的拓扑变化信息包括该STP实例标识,或该STP实 例标识和端口信息;

代理板接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态 表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为:确定发生拓扑 变化的STP实例为0实例,在全局拓扑变化状态表中添加所有STP实例的标识,或所 有STP实例中每个STP实例的标识以及接收该拓扑变化报文的端口信息;

当所述STP实例对应的拓扑变化信息包括该STP实例标识和端口信息的情况下, 所述从属于该STP实例的端口发送拓扑变化报文之前,进一步包括:判断该端口与全 局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是否相同,如果是,则 不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该STP实例的端口发送 拓扑变化报文。

较佳地,所述STP实例对应的拓扑变化信息包括该STP实例标识,或该STP实 例标识和端口信息;

代理板接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态 表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为:确定发生拓扑 变化的STP实例为0实例,在全局拓扑变化状态表中添加该STP实例的标识,或该 STP实例的标识以及接收该拓扑变化报文的端口信息;

所述刷新属于该STP实例的端口上的该STP实例对应的转发表项之前,进一步包 括:判断该STP实例是否是0实例,如果是,则刷新所有端口上的所有STP实例对应 的转发表项,否则,刷新属于该STP实例的端口上的该STP实例对应的转发表项。

当所述STP实例对应的拓扑变化信息包括该STP实例标识和端口信息的情况下, 所述从属于该STP实例的端口发送拓扑变化报文之前,进一步包括:判断该端口与全 局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是否相同,如果是,则 不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该STP实例的端口发送 拓扑变化报文。

当所述STP实例对应的拓扑变化信息包括该STP实例标识和端口信息的情况下, 所述在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息 之前,进一步包括:判断全局拓扑变化状态表中是否已存在该STP实例对应的拓扑变 化信息,如果是,则更新该STP实例对应的拓扑变化信息中的端口信息为接收携带该 STP实例信息的拓扑变化报文的端口信息,如果否,则在全局拓扑变化状态表中记录 该STP实例对应的拓扑变化信息。

本发明还提供了一种软重启ISSU过程中拓扑变化的处理装置,该装置包括:接 口板和代理板,所述代理板包括:报文接收单元、报文处理单元、表项刷新单元、报 文发送单元;

所述报文接收单元,用于在所述接口板软重启过程中,接收拓扑变化报文;

所述报文处理单元,用于在报文接收单元接收到拓扑变化报文时,根据拓扑变化 报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态表中记录每个发生拓扑 变化的STP实例对应的拓扑变化信息;

所述表项刷新单元,用于在所述接口板软重启结束后,根据全局拓扑变化状态表 中的每个STP实例对应的拓扑变化信息,刷新属于该STP实例的端口上的该STP实 例对应的转发表项;

所述报文发送单元,用于在所述接口板软重启结束后,根据全局拓扑变化状态表 中的每个STP实例对应的拓扑变化信息,从属于该STP实例的端口发送拓扑变化报文。

所述接口板包含报文上送单元;

所述报文处理单元,进一步用于在所述接口板软重启前,清空全局拓扑变化状态 表;

所述报文上送单元,用于在所述接口板软重启开始时,设置将在所述接口板上的 端口接收到的报文上送到所述代理板处理的报文侦听表项,所述报文侦听表项包括报 文特征信息和代理板板号,所述报文特征信息包括报文的目的MAC地址;用于在接 口板上的端口接收到报文时,如果报文符合报文侦听表项中的报文特征信息,则根据 报文侦听表项中的代理板板号上送报文到所述代理板的报文接收单元。

上述装置中,所述STP实例对应的拓扑变化信息包括该STP实例标识;

所述报文接收单元接收到的拓扑变化报文为携带TC标记的BPDU报文;

所述报文处理单元在根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全 局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时,用于: 确定该拓扑变化报文中携带的TC标记所属的STP实例,针对每个TC标记所属的STP 实例,在全局拓扑变化状态表中添加该STP实例标识。

上述装置中,所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;

所述报文接收单元接收到的拓扑变化报文为携带TC标记的BPDU报文;

所述报文处理单元在全局拓扑变化状态表中记录拓扑变化报文中携带的每个TC 标记所属的STP实例对应的拓扑变化信息时,用于:确定该拓扑变化报文中携带的 TC标记所属的STP实例,针对每个TC标记所属的STP实例,在全局拓扑变化状态 表中添加该STP实例标识,以及接收该拓扑变化报文的端口信息;

所述报文发送单元在从属于该STP实例的端口发送拓扑变化报文之前,进一步用 于:判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是 否相同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该 STP实例的端口发送拓扑变化报文。

上述装置中,所述STP实例对应的拓扑变化信息包括该STP实例标识;

所述报文接收单元接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元在根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全 局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时,用于: 确定发生拓扑变化的STP实例为0实例,在全局拓扑变化状态表中添加所有STP实例 的标识。

上述装置中,所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;

所述报文接收单元接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元在根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全 局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时,用于: 确定发生拓扑变化的STP实例为0实例,针对所有STP实例中的每个STP实例,在 全局拓扑变化状态表中添加该STP实例的标识,以及接收该拓扑变化报文的端口信息;

所述报文发送单元在从属于该STP实例的端口发送拓扑变化报文之前,进一步用 于:判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是 否相同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该 STP实例的端口发送拓扑变化报文。

上述装置中,所述STP实例对应的拓扑变化信息包括该STP实例标识;

所述报文接收单元接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元在根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全 局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时,用于: 确定发生拓扑变化的STP实例为0实例,在全局拓扑变化状态表中添加该STP实例的 标识;

所述表项刷新单元在刷新属于该STP实例的端口上的该STP实例对应的转发表项 之前,进一步用于:判断该STP实例是否是0实例,如果是,则刷新所有端口上的所 有STP实例对应的转发表项,否则,刷新属于该STP实例的端口上的该STP实例对 应的转发表项。

上述装置中,所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;

所述报文接收单元接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元在根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全 局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时,用于: 的STP实例为0实例,在全局拓扑变化状态表中添加该STP实例的标识,以及接收该 拓扑变化报文的端口信息;

所述表项刷新单元在刷新属于该STP实例的端口上的该STP实例对应的转发表项 之前,进一步用于:判断该STP实例是否是0实例,如果是,则刷新所有端口上的所 有STP实例对应的转发表项,否则,刷新属于该STP实例的端口上的该STP实例对 应的转发表项;

所述报文发送单元在从属于该STP实例的端口发送拓扑变化报文之前,进一步用 于:判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是 否相同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该 STP实例的端口发送拓扑变化报文。

所述报文处理单元在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对 应的拓扑变化信息之前,进一步用于:判断全局拓扑变化状态表中是否已存在该STP 实例对应的拓扑变化信息,如果是,则更新该STP实例对应的拓扑变化信息中的端口 信息为接收携带该STP实例信息的拓扑变化报文的端口信息,如果否,则在全局拓扑 变化状态表中记录该STP实例对应的拓扑变化信息。

由上面的技术方案可知,本发明中,接口板软重启过程中,代理板接收到拓扑变 化报文时,根据拓扑变化报文确定发生拓扑变化的STP实例,并记录每个发生拓扑变 化的STP实例对应的拓扑变化信息到全局拓扑变化状态表;当接口板软重启结束后, 代理板根据全局拓扑变化状态表中记录的每个STP实例对应的拓扑变化信息,刷新属 于该STP实例的端口上的该STP实例对应的转发表项,并从属于该STP实例的端口 向外发送拓扑变化报文。在接口板软重启后,根据接口板软重启过程中记录的STP实 例的拓扑变化信息进行属于该STP实例的端口上的该STP实例对应的转发表项的刷 新,可以解决ISSU过程中拓扑变化引起的业务转发异常。

附图说明

图1是现有技术STP组网示意图;

图2是本发明实施例软重启ISSU过程中拓扑变化的处理方法流程图;

图3是本发明实施例软重启ISSU过程中拓扑变化的处理装置的结构示意图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例, 对本发明的技术方案进行详细说明。

参见图2,图2是本发明实施例软重启ISSU过程中拓扑变化的处理方法流程图, 主要包括以下步骤:

步骤201、接口板软重启过程中,代理板接收到拓扑变化报文时,根据拓扑变化 报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态表中记录每个发生拓扑 变化的STP实例对应的拓扑变化信息。

在实际应用中,设备检测到拓扑变化后,可以发送拓扑变化报文,以进行全网转 发表项刷新的通知。同时也可以接收其它设备在检测到拓扑变化后发送的拓扑变化报 文。

在本实施例中,当设备的接口板正在进行软重启时,无法处理拓扑变化报文。为 了避免接口板软重启后各端口的转发表项与网络的最终拓扑不一致,可以由代理板代 为处理拓扑变化报文,记录发生拓扑变化的每个STP实例对应的拓扑变化信息到全局 拓扑变化状态表,用以在软重启结束后进行各端口上的转发表项的刷新。

步骤202、接口板软重启结束后,代理板根据全局拓扑变化状态表中的每个STP 实例对应的拓扑变化信息,刷新属于该STP实例的端口上的该STP实例对应的转发表 项,并从属于该STP实例的端口发送拓扑变化报文。

接口板软重启后,代理板根据全局拓扑变化状态表中记录的STP实例对应的拓扑 变化信息,可以确定发生拓扑变化的STP实例,进而可以对属于发生拓扑变化的STP 实例的端口上的该STP实例对应的转发表项进行刷新,从而可以避免该端口上的该 STP实例对应的转发表项与网络的最终拓扑不一致。

这里,刷新属于该STP实例的端口上该STP实例对应的转发表项包括两种方式, 一种是清除重学,另一种是主动刷新,其中,清除重学是指直接将属于该STP实例的 端口上该STP实例对应的转发表项删除;主动刷新是指针对每个转发表项发送ARP 请求报文,如果接收到ARP响应报文,则保留该转发表项,如果一定时间内未接收到 ARP响应报文,则删除该转发表项。此属于现有技术。

图2所示本发明实施例中,在接口板软重启前,还需要先清空全局拓扑变化状态 表。另外,由于接口板软重启后无法处理报文,需要在接口板软重启开始时,设置将 在所述接口板上的端口接收到的报文上送到所述代理板处理的报文侦听表项。这里, 所述报文侦听表项包括报文特征信息和代理板板号,其中,报文特征信息包括报文的 目的MAC。这样,当在接口板上的端口接收到报文时,如果报文符合报文侦听表项中 的报文特征信息(例如,报文的目的MAC与报文特征信息中的目的MAC相同,则说 明报文符合报文侦听表项中的报文特征信息),则根据报文侦听表项中的代理板板号上 送报文到代理板,从而可以由代理板代为处理该报文。

在实际应用中,拓扑变化报文可分为两种,一种是携带一个或多个TC标记的 BPDU报文,另一种是TCN报文。其中,在携带TC标记的BPDU报文中,每个TC 标记属于一个STP实例,设备在接收到携带TC标记的BPDU报文时,可以根据BPDU 报文中携带的TC标记确定发生拓扑变化的STP实例,进而在接口板软重启结束后进 行属于发生拓扑变化的STP实例对应的转发表项的刷新。当设备接收到TCN报文时, 则表明本设备上发生拓扑变化的STP实例是0实例,这时,需要对所有端口上的所有 STP实例对应的转发表项进行刷新。

另外,为了在设备的接口板软重启结束后能够保持本设备上的转发表项与网络的 最终拓扑一致,需要记录发生拓扑变化的STP实例对应的拓扑变化信息,该拓扑变化 信息中可以包括该发生拓扑变化的STP实例的标识。当在一个端口接收到拓扑变化报 文后,不需要再从该端口向外转发该拓扑变化报文,基于避免资源浪费的考虑,还可 以在STP实例对应的拓扑变化信息中添加端口信息。

由上面两段可以看出,根据接收到的拓扑变化报文的不同,以及发生拓扑变化的 STP实例对应的拓扑变化信息的不同,可以至少有以下四种组合:

组合一、所述STP实例对应的拓扑变化信息包括该STP实例标识;代理板接收到 的拓扑变化报文为携带TC标记的BPDU报文。

这种情况下,所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局 拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为: 确定该拓扑变化报文中携带的TC标记所属的STP实例,针对每个TC标记所属的STP 实例,在全局拓扑变化状态表中添加该STP实例的标识。

这样,接口板软重启结束后,代理板可以根据全局拓扑变化状态表中的STP实例 标识确定发生拓扑变化的STP实例,然后针对每个发生拓扑变化的STP实例,刷新 属于该STP实例的端口上的该STP实例对应的转发表项,从属于该STP实例的端口 向外发送拓扑变化报文。

代理板在接口板软重启的过程中通过在全局拓扑变化状态表中记录发生拓扑变化 的STP实例的标识,并在接口板重启结束后,根据全局拓扑变化状态表中记录的各STP 实例标识进行属于该STP实例的端口上的该STP实例对应的转发表项的刷新,从而可 以避免该STP实例的转发表项与网络的最终拓扑不一致,进而能够解决接口板软重启 ISSU过程中拓扑变化引起的业务转发异常的技术问题。

组合二、所述STP实例对应的拓扑变化信息包括该STP实例标识和端口信息; 代理板接收到的拓扑变化报文为携带TC标记的BPDU报文。

这种情况下,所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局 拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为: 确定该拓扑变化报文中携带的TC标记所属的STP实例,针对每个TC标记所属的STP 实例,在全局拓扑变化状态表中添加该TC标记所属的STP实例的标识,以及接收该 拓扑变化报文的端口信息。

另外,设备在某一端口接收到拓扑变化报文后,不需要再从该端口转发该拓扑变 化报文。为此,所述从属于该STP实例的端口发送拓扑变化报文之前,进一步包括: 判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是否相 同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该STP 实例的端口发送拓扑变化报文。

需要说明的是,当拓扑变化报文是携带TC标记的BPDU报文时,接口板软重启 结束后,代理板根据全局拓扑变化状态表中的每个STP实例对应的拓扑变化信息,从 属于该STP实例的端口发送拓扑变化报文时,如果该端口上的多个STP实例发生了拓 扑变化,则可以在发送的拓扑变化报文中携带多个TC标记,每个TC标记属于所述多 个STP实例中的一个STP实例。

此外,在接口板软重启的过程中,对于同一STP实例,如果代理板多次接收到拓 扑变化报文,且根据这些拓扑变化报文均能确定该STP实例发生拓扑变化,则只需更 新全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口即可。因此,所述 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息之 前,进一步包括:判断全局拓扑变化状态表中是否已存在该STP实例对应的拓扑变化 信息,如果是,则更新该STP实例对应的拓扑变化信息中的端口信息为接收该拓扑变 化报文的端口信息,如果否,则在全局拓扑变化状态表中记录该TP实例对应的拓扑 变化信息。

本组合下,代理板在接口板软重启的过程中通过在全局拓扑变化状态表中记录发 生拓扑变化的STP实例的标识以及最后一次接收到表明该STP实例发生拓扑变化的拓 扑变化报文的端口信息,并在接口板重启结束后,根据全局拓扑变化状态表中记录的 各STP实例标识进行属于该STP实例的端口上的该STP实例对应的转发表项的刷新, 从而可以避免该STP实例的转发表项与网络的最终拓扑不一致,进而能够解决接口板 软重启ISSU过程中拓扑变化引起的业务转发异常的技术问题。另外,代理板还根据 记录的表明某个STP实例发生拓扑变化的拓扑变化报文的端口信息,不再从该端口发 送表明该STP发生拓扑变化的拓扑变化报文,从而可以减少不必要的资源浪费。

组合三、所述STP实例对应的拓扑变化信息包括该STP实例标识;代理板接收到 的拓扑变化报文为拓扑变化通知TCN报文。

这种情况下,所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局 拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为: 确定发生拓扑变化的STP实例为0实例,因为需要对所有STP实例对应的转发表项进 行刷新,因此可以在全局拓扑变化状态表中添加所有STP实例的标识。

实际上,所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局拓扑 变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法还可以 为:确定发生拓扑变化的STP实例为0实例,在全局拓扑变化状态表中添加该STP实 例的标识。这种情况下,所述刷新属于该STP实例的端口上的该STP实例对应的转发 表项之前,还需要进一步包括:判断该STP实例是否是0实例,如果是,则刷新所有 端口上的所有STP实例对应的转发表项,否则,刷新属于该STP实例的端口上的该 STP实例对应的转发表项。

本组合下,代理板在接口板软重启的过程中通过在全局拓扑变化状态表中记录发 生拓扑变化的STP实例的标识,并在接口板重启结束后,根据全局拓扑变化状态表中 记录的各STP实例标识进行属于该STP实例的端口上的该STP实例对应的转发表项 的刷新,从而可以避免该STP实例的转发表项与网络的最终拓扑不一致,进而能够解 决接口板软重启ISSU过程中拓扑变化引起的业务转发异常的技术问题。

组合四、所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;代 理板接收到的拓扑变化报文为拓扑变化通知TCN报文。

这种情况下,所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局 拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法为: 确定发生拓扑变化的STP实例为0实例,因为需要对所有STP实例对应的转发表项进 行刷新,因此可以针对所有STP实例中的每个STP实例,在全局拓扑变化状态表中添 加该STP实例的标识,以及接收该拓扑变化报文的端口信息。

实际上,所述根据拓扑变化报文确定所有发生拓扑变化的STP实例,在全局拓扑 变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息的方法还可以 为:确定发生拓扑变化的STP实例为0实例,在全局拓扑变化状态表中添加该STP实 例的标识,以及接收该拓扑变化报文的端口信息。这种情况下,所述刷新属于该STP 实例的端口上的该STP实例对应的转发表项之前,还需要进一步包括:判断该STP实 例是否是0实例,如果是,则刷新所有端口上的所有STP实例对应的转发表项,否则, 刷新属于该STP实例的端口上的该STP实例对应的转发表项。

另外,所述从属于该STP实例的端口发送拓扑变化报文之前,进一步包括:判断 该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是否相同, 如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该STP实例 的端口发送拓扑变化报文。

此外,在接口板软重启的过程中,对于同一STP实例,如果代理板多次接收到拓 扑变化报文,且根据这些拓扑变化报文均能确定该STP实例发生拓扑变化,则只需更 新全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口即可。因此,所述 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息之 前,进一步包括:判断全局拓扑变化状态表中是否已存在该STP实例对应的拓扑变化 信息,如果是,则更新该STP实例对应的拓扑变化信息中的端口信息为接收该拓扑变 化报文的端口信息,如果否,则在全局拓扑变化状态表中记录该TP实例对应的拓扑 变化信息。

本组合下,代理板在接口板软重启的过程中通过在全局拓扑变化状态表中记录发 生拓扑变化的STP实例的标识以及最后一次接收到表明该STP实例发生拓扑变化的拓 扑变化报文的端口信息,并在接口板重启结束后,根据全局拓扑变化状态表中记录的 各STP实例标识进行属于该STP实例的端口上的该STP实例对应的转发表项的刷新, 从而可以避免该STP实例的转发表项与网络的最终拓扑不一致,进而能够解决接口板 软重启ISSU过程中拓扑变化引起的业务转发异常的技术问题。另外,代理板还根据 记录的表明某个STP实例发生拓扑变化的拓扑变化报文的端口信息,不再从该端口发 送表明该STP发生拓扑变化的拓扑变化报文,从而可以减少不必要的资源浪费。

需要说明的是,在图2所示本发明实施例中,在软重启结束后,代理板根据全局 拓扑变化状态表中的每个STP实例对应的拓扑变化信息,从属于该STP实例的端口发 送拓扑变化报文时,发送的拓扑变化报文可能是TCN报文,也可能是携带TC标记的 BPDU报文,具体情况由端口的角色、本设备使用的STP版本以及对端使用的STP版 本有关,此与现有技术相同。

以上对本发明实施例软重启ISSU过程中拓扑变化的处理方法进行了详细说明, 本发明还提供了一种软重启ISSU过程中拓扑变化的处理装置,下面结合图3进行说 明。

图3是本发明实施例软重启ISSU过程中拓扑变化的处理装置的结构示意图,如 图3所示,该装置包括接口板和代理板,所述代理板包含:报文接收单元301、报文 处理单元302、表项刷新单元303、报文发送单元304;其中,

报文接收单元301,用于在所述接口板软重启过程中,接收拓扑变化报文;

报文处理单元302,用于在报文接收单元301接收到拓扑变化报文时,根据拓扑 变化报文确定所有发生拓扑变化的STP实例,在全局拓扑变化状态表中记录每个发生 拓扑变化的STP实例对应的拓扑变化信息;

表项刷新单元303,用于在所述接口板软重启结束后,根据全局拓扑变化状态表 中的每个STP实例对应的拓扑变化信息,刷新属于该STP实例的端口上的该STP实 例对应的转发表项;

报文发送单元304,用于在所述接口板软重启结束后,根据全局拓扑变化状态表 中的每个STP实例对应的拓扑变化信息,从属于该STP实例的端口发送拓扑变化报文。

所述接口板包括报文上送单元305;

所述报文处理单元302,进一步用于在所述接口板软重启前,清空全局拓扑变化 状态表;

所述报文上送单元305,用于在所述接口板软重启开始时,设置将在所述接口板 上的端口接收到的报文上送到所述代理板处理的报文侦听表项,所述报文侦听表项包 括报文特征信息和代理板板号,所述报文特征信息包括报文的目的MAC;用于在接口 板上的端口接收到报文时,如果报文符合报文侦听表项中的报文特征信息,则根据报 文侦听表项中的代理板板号上送报文到所述代理板的报文接收单元301。

这里,报文上送单元305根据设置的报文侦听表项,将在接口板的端口接收到的 报文上送到代理板,从而使代理板可以在接口板软重启的过程中代替接口板进行报文 处理。

上述装置中,

所述STP实例对应的拓扑变化信息包括该STP实例标识;

所述报文接收单元301接收到的拓扑变化报文为携带TC标记的BPDU报文;

所述报文处理单元302在根据拓扑变化报文确定所有发生拓扑变化的STP实例, 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时, 用于:确定该拓扑变化报文中携带的TC标记所属的STP实例,针对每个TC标记所 属的STP实例,在全局拓扑变化状态表中添加该STP实例标识。

上述装置中,

所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;

所述报文接收单元301接收到的拓扑变化报文为携带TC标记的BPDU报文;

所述报文处理单元302在全局拓扑变化状态表中记录拓扑变化报文中携带的每个 TC标记所属的STP实例对应的拓扑变化信息时,用于:确定该拓扑变化报文中携带 的TC标记所属的STP实例,针对每个TC标记所属的STP实例,在全局拓扑变化状 态表中添加该STP实例标识,以及接收该拓扑变化报文的端口信息;

所述报文发送单元304在从属于该STP实例的端口发送拓扑变化报文之前,进一 步用于:判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端 口是否相同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属 于该STP实例的端口发送拓扑变化报文

上述装置中,

所述STP实例对应的拓扑变化信息包括该STP实例标识;

所述报文接收单元301接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元302在根据拓扑变化报文确定所有发生拓扑变化的STP实例, 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时, 用于:确定所有STP实例均发生拓扑变化,针对每个STP实例,在全局拓扑变化状态 表中添加该STP实例的标识。

上述装置中,

所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;

所述报文接收单元301接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元302在根据拓扑变化报文确定所有发生拓扑变化的STP实例, 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时, 用于:确定所有STP实例均发生拓扑变化,针对每个STP实例,在全局拓扑变化状态 表中添加该STP实例的标识,以及接收该拓扑变化报文的端口信息;

所述报文发送单元304在从属于该STP实例的端口发送拓扑变化报文之前,进一 步用于:判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端 口是否相同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属 于该STP实例的端口发送拓扑变化报文。

上述装置中,

所述STP实例对应的拓扑变化信息包括该STP实例标识;

所述报文接收单元301接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元302在根据拓扑变化报文确定所有发生拓扑变化的STP实例, 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时, 用于:确定发生拓扑变化的STP实例为0实例,在全局拓扑变化状态表中添加该STP 实例的标识;

所述表项刷新单元303在刷新属于该STP实例的端口上的该STP实例对应的转发 表项之前,进一步用于:判断该STP实例是否是0实例,如果是,则刷新所有端口上 的所有STP实例对应的转发表项,否则,刷新属于该STP实例的端口上的该STP实 例对应的转发表项。

上述装置中,

所述STP实例对应的拓扑变化信息包括该STP实例标识、端口信息;

所述报文接收单元301接收到的拓扑变化报文为拓扑变化通知TCN报文;

所述报文处理单元302在根据拓扑变化报文确定所有发生拓扑变化的STP实例, 在全局拓扑变化状态表中记录每个发生拓扑变化的STP实例对应的拓扑变化信息时, 用于:确定发生拓扑变化的STP实例为0实例,在全局拓扑变化状态表中添加该STP 实例的标识,以及接收该拓扑变化报文的端口信息;

所述表项刷新单元303在刷新属于该STP实例的端口上的该STP实例对应的转发 表项之前,进一步用于:判断该STP实例是否是0实例,如果是,则刷新所有端口上 的所有STP实例对应的转发表项,否则,刷新属于该STP实例的端口上的该STP实 例对应的转发表项;

所述报文发送单元在从属于该STP实例的端口发送拓扑变化报文之前,进一步用 于:判断该端口与全局拓扑变化状态表中该STP实例对应的拓扑变化信息中的端口是 否相同,如果是,则不从属于该STP实例的端口发送拓扑变化报文,否则,从属于该 STP实例的端口发送拓扑变化报文。

上述装置中,

所述报文处理单元302在全局拓扑变化状态表中记录每个发生拓扑变化的STP实 例对应的拓扑变化信息之前,进一步用于:判断全局拓扑变化状态表中是否已存在该 STP实例对应的拓扑变化信息,如果是,则更新该STP实例对应的拓扑变化信息中的 端口信息为接收携带该STP实例信息的拓扑变化报文的端口信息,如果否,则在全局 拓扑变化状态表中记录该STP实例对应的拓扑变化信息。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明 的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保 护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号