一种mstp的计算方法及装置的制造方法

文档序号:10578076阅读:575来源:国知局
一种mstp的计算方法及装置的制造方法
【专利摘要】本申请提供一种MSTP的计算方法及装置,所述方法应用于网络设备上,针对当前遍历的每一个实例,所述方法包括:确定所述实例对应的实例接口链表,并从所述实例接口链表中获取所述实例对应的接口;其中,所述实例接口链表中记录有所述实例对应的接口;对获取到的接口进行角色计算,并利用计算得到的角色确定接口的状态。应用本申请实施例,通过实例接口链表实现接口的角色和状态计算,降低了网络设备的资源占用率,提高了MSTP的计算效率。
【专利说明】
-种MSTP的计算方法及装置
技术领域
[0001] 本申请设及网络通信技术领域,尤其设及一种MSTP的计算方法及装置。
【背景技术】
[0002] MSTP(Multi-Service Transfer Platform,多实例生成树协议)解决了RSTP (Rapid Spanning Tree Protocol,快速生成树协议)在计算网络拓扑时没有考虑化AN (Virtual Local Area化twork,虚拟局域网)分割的问题,将多个VLAN映射到一个实例上, 每个实例独立计算接口的角色和状态。但是MSTP在解决上述问题的同时,也带来了计算的 复杂性。
[0003] 相关技术中,网络设备在计算每个实例对应的接口的角色和状态时,需要遍历所 有接口,通过接口与每个实例的对应关系表(总接口链表),判断当前遍历接口是否属于该 实例,若属于,则计算当前遍历接口在该实例中的角色和状态。假设网络设备上配置有m个 实例,n个接口,那么计算每个实例对应的接口的角色和状态,需要遍历mXn遍,并且每遍历 一次还需要判断当前遍历接口是否属于该实例。因此,为了进行MSTP的计算,需要占用大量 的网络设备资源。

【发明内容】

[0004] 有鉴于此,本申请提供一种MSTP的计算方法及装置,W解决现有MSTP的计算需要 占用大量的网络设备资源的问题。
[0005] 根据本申请实施例的第一方面,提供一种MSTP的计算方法,所述方法应用于网络 设备上,所述方法包括:
[0006] 确定所述实例对应的实例接口链表,并从所述实例接口链表中获取所述实例对应 的接口;其中,所述实例接口链表中记录有所述实例对应的接口;
[0007] 对获取到的接口进行角色计算,并利用计算得到的角色确定接口的状态。
[0008] 根据本申请实施例的第二方面,提供一种MSTP的计算装置,所述装置应用于网络 设备上,所述装置包括:
[0009] 获取单元,用于确定所述实例对应的实例接口链表,并从所述实例接口链表中获 取所述实例对应的接口;其中,所述实例接口链表中记录有所述实例对应的接口;
[0010] 计算单元,用于对获取到的接口进行角色计算,并利用计算得到的角色确定接口 的状态。
[0011] 应用本申请实施例,当网络设备在遍历每个实例计算接口的角色和状态时,只要 确定了所述实例对应的实例接口链表,通过所述实例接口链表就可W获取到所述实例对应 的接口,并对获取到的接口进行角色计算,利用计算得到的角色确定接口的状态,而不需要 在所述实例下遍历所有接口,并判断该接口是否属于所述实例。因此降低了网络设备的资 源占用率,提高了MSTP的计算效率。
【附图说明】
[0012] 图1为本申请根据一示例性实施例示出的一种MSTP的计算方法实施例流程图;
[0013] 图2为本申请根据一示例性实施例示出的一种MSTP的计算装置所在设备的硬件结 构图;
[0014] 图3为本申请根据一示例性实施例示出的一种MSTP的计算装置的实施例结构图。
【具体实施方式】
[0015] 运里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述设及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。W下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0016] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。
[0017] 应当理解,尽管在本申请可能采用术语第一、第二、第=等来描述各种信息,但运 些信息不应限于运些术语。运些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可W被称为第二信息,类似地,第二信息也可W被称为第 一信息。取决于语境,如在此所使用的词语"如果"可W被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0018] 参见图1所示,为本申请根据一示例性实施例示出的一种MSTP的计算方法实施例 流程图,该实施例应用于网络设备上,所述网络设备为运行MSTP协议的网络设备,针对当前 遍历的每一个实例,包括W下步骤:
[0019 ]步骤S101:确定所述实例对应的实例接口链表,并从所述实例接口链表中获取所 述实例对应的接口。
[0020] 在确定所述实例对应的实例接口链表之前,网络设备预先为每个实例建立实例接 口链表,针对每一个实例,首先获取所述实例对应的第一VLAN;针对每个接口,获取所述接 口对应的第二化AN;判断所述第一化AN与所述第二化AN是否有相同的化AN,若有相同的 VLAN,则将所述接口加入到所述实例对应的实例接口链表中。
[0021] 其中,所述实例对应的第一化AN可W通过该实例的VLAN映射位图获取到,并且所 述第一 VLAN包含至少一个VLAN,假设该实例为实例1,如表1所示,为实例1的VLAN映射位图 示例表。所述接口对应的第二VLAN可W通过该接口的VLAN映射位图获取到,并且所述第二 VLAN包含至少一个VLAN,假设该接口为接口 1,如表2所示为,接口 1的VLAN映射位图示例表。
[0025] 表 2
[0026] 判断所述第一 VLAN与所述第二VLAN是否有相同的VLAN,可W通过将所述第一 VLAN 中的每个VLAN与第二VLAN中的每个VLAN进行比较,如表1和表2所述,实例1对应的每个VLAN 分别与接口 1对应的每个VLAN进行比较,最终得到实例1与接口 1有相同的VLAN2,因此可W 将接口 1加入实例1中,其他接口同样按照上述过程进行处理,最终得到实例1的实例接口链 表,如表3所示,为实例1的实例接口链表示例表。 LUU別5」 巧;j
[0029] 当每个实例对应的实例接口链表建立完成之后,在步骤SlOl的过程中,针对当前 遍历的每一个实例,网络设备从所有实例对应的实例接口链表中确定所述实例对应的实例 接口链表,即所述实例对应的单独一个实例接口链表,并从所述实例接口链表中获取所述 实例对应的接口。假设确定实例1对应的实例接口链表如表3所述,可W从实例1的实例接口 链表中获取到接口 1、接口 3、接口 9、接口 17,然后可W对运些接口进行角色和状态的计算。
[0030] 需要说明的是,也可W将每个实例对应的接口添加在一张总实例接口链表中,如 表4所示,为总实例接口链表示例表。通过实例可W查找到其对应的所有接口,进而对查找 到的接口进行角色和状态的计算。 LUUJZJ 衣4
[0033] 步骤S102:对获取到的接口进行角色计算,并利用计算得到的角色确定接口的状 态。
[0034] 在MSTP的计算中,接口的角色可W有Root(根)、Desi即ated(指定),Master(主)、 Alternate(备份),Backup(备份)等,其中,接口的角色为Alternate是Root和Master的备 份,接口的角色为Backup是Designated的备份。设及到的接口的状态,根据接口是否学习 MAC(Medium Access Control,媒体访问控制)地址和是否转发报文,可W将接口的状态分 为S种状态,分别为化rwarding(转发)状态(学习MAC地址,转发报文)、Learning(学习)状 态(学习MAC地址、不转发报文^Blocking(阻塞)状态(不学习MAC地址、不转发报文),同一 接口在不同的实例中的角色和状态可W不同。如表5所示,为接口的角色和状态对应关系示 例表表示该接口的角色可W具有该状态,表示该接口的角色不能具有该状态)。
[0035]
[0036] 表 5
[0037] 网络设备对获取到的接口进行角色计算,并根据计算得到的角色确定接口的状 态。通过表5可W得到,当接口的角色为Alternate或Backup时,接口的状态为Blocking状 态,当接口的角色为Root或Master或Designated时,可W通过状态迁移确定接口的状态,例 如,假设在实例1中,计算得到的接口 1的角色为Designated,接口 1的状态初始为Blocking 状态,接口 1向对端网络设备发送一个报文,若对端网络设备向接口 1返回响应报文,则接口 1的状态可W确定为化rwarding状态;若对端网络设备没有向接口 1返回响应报文,贝赔口 1 的状态确定为Learning状态。
[0038] 综上所述,网络设备在计算每个实例的接口的角色和状态时,不需要遍历所有接 口,也不需要判断该接口是否属于所述实例,假设网络设备上配置有m个实例,n个接口,那 么计算每个实例对应的接口的角色和状态,只需要通过实例接口链表便可获取到当前遍历 实例对应的所有接口。而现有计算每个实例对应的接口的角色和状态,需要遍历m Xn遍,经 过对比可得,本申请提出的技术方案降低了网络设备的资源占用率,提高了 MSTP的计算效 率。
[0039] 需要说明的是,网络设备上的接口是否属于某个实例是通过所述接口对应的VLAN 来决定的,如果改变接口对应的VLAN,则相应的实例接口链表中的接口也需要做相应的变 化,因此需要对实例接口链表进行维护,下面针对实例接口链表的维护分两种情况进行描 述:
[0040] 第一种情况:当在第一接口中加入一个新VLAN时,网络设备获取所述新化AN对应 的实例;判断所述新VLAN对应的实例对应的实例接口链表中是否存在所述第一接口,若存 在,则结束当前处理流程;若不存在,则将所述第一接口加入到所述新VLAN对应的实例对应 的实例接口链表中。
[0041 ] 如表6所示,为接口 2的化AN映射位图示例表,假设在接口 2中加入VLAM,则接口 2 的VLAN映射位图变为表7所示,可得接口 2对应的第二VLAN为VLAM、VLAN7、VLAN8、VLANlO, 通过每个实例的VLAN映射位图可W获取到VLAM对应的实例1,通过实例1的VLAN映射位图 (表1)获取到实例1对应的第一 VLAN为VLANl、VLAN2、VLAN3、VLAN4,将实例1对应的每个VLAN 分别与接口 2对应的每个VLAN进行比较,最终得到相同的VLAN4,因此可W将接口 2加入到实 例1的实例接口链表中,则实例1的实例接口链表由表3变为表8所示。 「 LUU43」 恭6
r0044I
[0047]表 8
[004引当所述第一接口加入到所述新VLAN对应的实例对应的实例接口链表中时,所述实 例接口链表中记录的所述实例对应的接口发生变化,需要重新计算所述实例对应接口的角 色和状态,并且重新只计算所述实例对应的所有接口的角色,并利用计算得到的角色确定 接口的状态,而不需要重新计算网络设备上其他实例对应接口的角色和状态,可W避免引 起网络不稳定的问题。计算接口的角色和状态的过程见上述所述,在此不再寶述。
[0049] 第二种情况:当从第二接口对应的所有VLAN中删除一个已有化AN时,获取所述已 有VLAN对应的实例;判断所述已有VLAN对应的实例对应的第一 VLAN与所述第二接口对应的 删除已有VLAN的第二VLAN是否有相同的VLAN,若有相同的VLAN,则结束当前处理流程;若没 有相同的化AN,则将所述第二接口从所述已有化AN对应的实例对应的实例接口链表中删 除。
[0050] 假设从接口 1对应的所有VLAN中删除已有VLAN2,则接口 1的VLAN映射位图由表2变 为表9所示,通过每个实例的化AN映射位图可W获取到化AN2对应的实例1,通过实例1的 VLAN映射位图(表1)获取到实例1对应的第一 VLAN为VLANl、VLAN2、VLAN3、VLAN4,通过接口 1 的VLAN映射位图(表9)获取接口 1对应的第二VLAN为VLAN5、VLAN6,将实例1对应的每个VLAN 分别与接口 1对应的每个VLAN进行比较,最终没有得到相同的VLAN,将接口 1从实例1的实例 接口链表中删除,实例1的实例接口链表由表8变为表10所示。
[0054] 表10
[0055] 当所述第二接口从所述已有VLAN对应的实例对应的实例接口链表中删除时,所述 实例接口链表记录的所述实例对应的接口发生变化,需要重新计算所述实例对应接口的角 色和状态,并且重新只计算所述实例对应的所有接口的角色,并利用计算得到的角色确定 接口的状态,而不需要重新计算网络设备上其他实例对应接口的角色和状态,避免引起网 络不稳定的问题。计算接口的角色和状态的过程如上述所述,在此不再寶述。由上述实施例 所述,当网络设备在遍历每个实例计算接口的角色和状态时,只要确定了所述实例对应的 实例接口链表,通过所述实例接口链表就可W获取到所述实例对应的接口,并对获取到的 接口进行角色计算,利用计算得到的角色确定接口的状态,而不需要在所述实例下遍历所 有接口,并判断该接口是否属于所述实例。因此降低了网络设备的资源占用率,提高了MSTP 的计算效率。
[0056] 与前述MSTP的计算方法的实施例相对应,本申请还提供了 MSTP的计算装置的实施 例。
[0057] 本申请MSTP的计算装置的实施例可W应用在网络设备上。装置实施例可W通过软 件实现,也可W通过硬件或者软硬件结合的方式实现。W软件实现为例,作为一个逻辑意义 上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到 内存中运行形成的。从硬件层面而言,如图2所示,为本申请MSTP的计算装置所在设备的一 种硬件结构图,除了图2所示的处理器、内存、网络接口、W及非易失性存储器之外,实施例 中装置所在的设备通常根据该设备的实际功能,还可W包括其他硬件,对此不再寶述。
[0058] 参见图3所示,为本申请根据一示例性实施例示出的一种MSTP的计算装置的实施 例结构图,该实施例应用于网络设备上,针对当前遍历的每一个实例,所述装置包括:获取 单元310、计算单元320。
[0059] 其中,获取单元310,用于确定所述实例对应的实例接口链表,并从所述实例接口 链表中获取所述实例对应的接口;其中,所述实例接口链表中记录有所述实例对应的接口;
[0060] 计算单元320,用于对获取到的接口进行角色计算,并利用计算得到的角色确定接 口的状态。
[0061] 在一个可选的实现方式中,所述装置还包括(图3中未示出):
[0062] 建立链表单元,用于在获取单元确定所述实例对应的实例接口链表之前,建立实 例接口链表;
[0063] 所述建立链表单元包括(图3中未示出):
[0064] 第一获取子单元,用于获取所述实例对应的第一虚拟局域网VLAN;
[0065] 第二获取子单元,用于针对每个接口,获取所述接口对应的第二VLAN;
[0066] 第一判断子单元,用于判断所述第一 VLAN与所述第二VLAN是否有相同的VLAN;
[0067] 第一加入接口子单元,用于若有相同的VLAN,则将所述接口加入到所述实例对应 的实例接口链表中。
[0068] 在另一个可选的实现方式中,所述建立链表单元,还包括(图3中未示出):
[0069] 第S获取子单元,用于当在第一接口中加入一个新VLAN时,获取所述新化AN对应 的实例;
[0070] 第二判断子单元,用于判断所述新VLAN对应的实例对应的实例接口链表中是否存 在所述第一接口;
[0071 ]第二加入接口子单元,用于若不存在,则将所述第一接口加入到所述新化AN对应 的实例对应的实例接口链表中。
[0072] 在另一个可选的实现方式中,所述建立链表单元,还包括(图3中未示出):
[0073] 第四获取子单元,用于当从第二接口对应的第二VLAN中删除一个已有化AN时,获 取所述已有VLAN对应的实例;
[0074] 第S判断子单元,用于判断所述已有VLAN对应的实例对应的第一 VLAN与所述第二 接口对应的删除已有VLAN的第二VLAN是否有相同的VLAN;
[0075] 删除接口子单元,用于若没有相同的VLAN,则将所述第二接口从所述已有VLAN对 应的实例对应的实例接口链表中删除。
[0076] 在另一个可选的实现方式中,所述装置还包括(图3中未示出):
[0077] 第一重新计算单元,用于当所述第一接口加入到所述新VLAN对应的实例对应的实 例接口链表中时,重新只计算所述新化AN对应的实例中的所有接口的角色,并利用计算得 到的角色重新确定接口的状态;
[0078] 第二重新计算单元,用于当所述第二接口从所述已有VLAN对应的实例对应的实例 接口链表中删除时,重新只计算所述已有VLAN对应的实例中的所有接口的角色,并利用计 算得到的角色重新确定接口的状态。
[0079] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再寶述。
[0080] 对于装置实施例而言,由于其基本对应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可W理解并实施。
[0081 ]由上述实施例所述,当网络设备在遍历每个实例计算接口的角色和状态时,只要 确定了所述实例对应的实例接口链表,通过所述实例接口链表就可W获取到所述实例对应 的接口,并对获取到的接口进行角色计算,利用计算得到的角色确定接口的状态,而不需要 在所述实例下遍历所有接口,并判断该接口是否属于所述实例。因此降低了网络设备的资 源占用率,提高了MSTP的计算效率。
[0082] W上所述仅为本申请的较佳实施例而已,并不用W限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种多实例生成树协议MSTP的计算方法,其特征在于,所述方法应用于网络设备上, 针对当前遍历的每一个实例,所述方法包括: 确定所述实例对应的实例接口链表,并从所述实例接口链表中获取所述实例对应的接 口;其中,所述实例接口链表中记录有所述实例对应的接口; 对获取到的接口进行角色计算,并利用计算得到的角色确定接口的状态。2. 根据权利要求1所述的方法,其特征在于,所述确定所述实例对应的实例接口链表之 前还包括建立实例接口链表的过程,所述建立实例接口链表的过程具体包括: 获取所述实例对应的第一虚拟局域网VLAN; 针对每个接口,获取所述接口对应的第二VLAN; 判断所述第一 VLAN与所述第二VLAN是否有相同的VLAN; 若有相同的VLAN,则将所述接口加入到所述实例对应的实例接口链表中。3. 根据权利要求2所述的方法,其特征在于,所述建立实例接口链表的过程,还包括: 当在第一接口中加入一个新VLAN时,获取所述新VLAN对应的实例; 判断所述新VLAN对应的实例对应的实例接口链表中是否存在所述第一接口; 若不存在,则将所述第一接口加入到所述新VLAN对应的实例对应的实例接口链表中。4. 根据权利要求3所述的方法,其特征在于,所述建立实例接口链表的过程,还包括: 当从第二接口对应的第二VLAN中删除一个已有VLAN时,获取所述已有VLAN对应的实 例; 判断所述已有VLAN对应的实例对应的第一 VLAN与所述第二接口对应的删除已有VLAN 的第二VLAN是否有相同的VLAN; 若没有相同的VLAN,则将所述第二接口从所述已有VLAN对应的实例对应的实例接口链 表中删除。5. 根据权利要求4所述的方法,其特征在于,所述方法还包括: 当所述第一接口加入到所述新VLAN对应的实例对应的实例接口链表中时,重新只计算 所述新VLAN对应的实例中的所有接口的角色,并利用计算得到的角色重新确定接口的状 态; 当所述第二接口从所述已有VLAN对应的实例对应的实例接口链表中删除时,重新只计 算所述已有VLAN对应的实例中的所有接口的角色,并利用计算得到的角色重新确定接口的 状态。6. -种多实例生成树协议MSTP的计算装置,其特征在于,所述装置应用于网络设备上, 针对当前遍历的每一个实例,所述装置包括: 获取单元,用于确定所述实例对应的实例接口链表,并从所述实例接口链表中获取所 述实例对应的接口;其中,所述实例接口链表中记录有所述实例对应的接口; 计算单元,用于对获取到的接口进行角色计算,并利用计算得到的角色确定接口的状 ??τ 〇7. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 建立链表单元,用于在获取单元确定所述实例对应的实例接口链表之前,建立实例接 口链表; 所述建立链表单元包括: 第一获取子单元,用于获取所述实例对应的第一虚拟局域网VLAN; 第二获取子单元,用于针对每个接口,获取所述接口对应的第二VLAN; 第一判断子单元,用于判断所述第一 VLAN与所述第二VLAN是否有相同的VLAN; 第一加入接口子单元,用于若有相同的VLAN,则将所述接口加入到所述实例对应的实 例接口链表中。8. 根据权利要求7所述的装置,其特征在于,所述建立链表单元,还包括: 第三获取子单元,用于当在第一接口中加入一个新VLAN时,获取所述新VLAN对应的实 例; 第二判断子单元,用于判断所述新VLAN对应的实例对应的实例接口链表中是否存在所 述第一接口; 第二加入接口子单元,用于若不存在,则将所述第一接口加入到所述新VLAN对应的实 例对应的实例接口链表中。9. 根据权利要求8所述的装置,其特征在于,所述建立链表单元,还包括: 第四获取子单元,用于当从第二接口对应的第二VLAN中删除一个已有VLAN时,获取所 述已有VLAN对应的实例; 第三判断子单元,用于判断所述已有VLAN对应的实例对应的第一VLAN与所述第二接口 对应的删除已有VLAN的第二VLAN是否有相同的VLAN; 删除接口子单元,用于若没有相同的VLAN,则将所述第二接口从所述已有VLAN对应的 实例对应的实例接口链表中删除。10. 根据权利要求9所述的装置,其特征在于,所述装置还包括: 第一重新计算单元,用于当所述第一接口加入到所述新VLAN对应的实例对应的实例接 口链表中时,重新只计算所述新VLAN对应的实例中的所有接口的角色,并利用计算得到的 角色重新确定接口的状态; 第二重新计算单元,用于当所述第二接口从所述已有VLAN对应的实例对应的实例接口 链表中删除时,重新只计算所述已有VLAN对应的实例中的所有接口的角色,并利用计算得 到的角色重新确定接口的状态。
【文档编号】H04L12/753GK105939272SQ201510833898
【公开日】2016年9月14日
【申请日】2015年11月25日
【发明人】李喻
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1