CN114338538A - 一种表项更新方法、装置、电子设备及存储介质 - Google Patents
一种表项更新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114338538A CN114338538A CN202111647791.3A CN202111647791A CN114338538A CN 114338538 A CN114338538 A CN 114338538A CN 202111647791 A CN202111647791 A CN 202111647791A CN 114338538 A CN114338538 A CN 114338538A
- Authority
- CN
- China
- Prior art keywords
- port
- aggregation
- unicast
- service
- ports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000002776 aggregation Effects 0.000 claims abstract description 219
- 238000004220 aggregation Methods 0.000 claims abstract description 219
- 230000000903 blocking effect Effects 0.000 claims abstract description 132
- 230000006399 behavior Effects 0.000 claims description 162
- 230000015654 memory Effects 0.000 claims description 23
- 238000012163 sequencing technique Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 23
- 230000000875 corresponding effect Effects 0.000 description 80
- 238000010586 diagram Methods 0.000 description 23
- 230000009471 action Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
为了解决现有的交换机中聚合端口切换与回切过程中转发非单播报文出现的报文多包问题,本发明公开了一种表项更新方法、装置、电子设备及存储介质,所述表项更新方法为:若确定聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的第一成员端口为转发行为的各个第一选定表项,按照聚合端口对应的负载均衡原则分别从各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将各个第一选定表项中第一成员端口的转发行为更新为丢弃行为,非单播阻塞表中聚合端口的各个成员端口的排序方式与聚合端口的其他成员端口所在的业务卡的非单播阻塞表中聚合端口的各个成员端口的排序方式相同。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种表项更新方法、装置、电子设备及存储介质。
背景技术
聚合端口(Aggregate Port,AP)在交换机到交换机之间提供冗余的高速连接,由多个成员端口聚合而成,可以把多个成员端口对应的链路(即物理链接)捆绑在一起形成一个逻辑链接,这个逻辑链接称之为聚合端口。聚合端口可将多个成员端口的带宽叠加起来使用,扩展了链路带宽。流经聚合端口的流量会在其成员端口上进行流量均衡,如果聚合端口的一个成员端口失效,该成员端口对应链路上的流量将被均衡到其它有效的成员端口对应链路上,这个过程称为聚合端口的切换;聚合端口的一个成员端口从失效恢复为有效后,其它有效的成员端口对应链路上的流量会被均衡到该成员端口对应链路上,这个过程称为聚合端口的回切。
交换机中通常包含多个业务卡,如图1所示为两个交换机之间的聚合端口链路示意图,交换机1上有业务卡1-1和业务卡1-2,交换机2上有业务卡2-1和业务卡2-2,业务卡1-1的业务端口1/1和业务卡2-1的业务端口1/1相连接,业务卡1-1的业务端口1/2和业务卡2-1的业务端口1/2相连接,业务卡1-2的业务端口2/1和业务卡2-2的业务端口2/1相连接,业务卡1-2的业务端口2/2和业务卡2-2的业务端口2/2相连接,这四条链路即为聚合端口链路,交换机1上的业务端口1/1、1/2、2/1和2/2即为交换机1的聚合端口的成员端口,聚合端口的成员端口的数量为4个,交换机2上的业务端口1/1、1/2、2/1和2/2即为交换机2的聚合端口的成员端口,聚合端口的成员端口的数量为4个。
聚合端口的切换过程如图2所示,假设业务卡1-1的业务端口1/2失效,业务卡1-1的业务端口1/2与业务卡2-1的业务端口1/2之间的链路断开,该链路上的流量需要转移到其它有效成员端口对应的链路上。聚合端口的回切过程如图3所示,若业务卡1-1的业务端口1/2恢复有效,其它有效成员端口对应链路上的流量会部分转移到业务卡1-1的业务端口1/2对应的链路上。
以交换机1为例,需要保证同一条数据流的报文从一个业务端口转发出去。交换机中的聚合端口转发非单播报文是基于非单播阻塞表(NONUCAST_TRUNK_BLOCK_MASK)实现的,具体过程如下:交换机接收报文,由交换芯片进行转发,如果确定报文为单播报文,则根据单播报文转发表中设置的各业务端口的表项,选择相应业务端口进行转发或丢弃,如果报文为非单播报文,根据报文属性信息进行哈希计算得到报文对应的偏移值,根据计算出的偏移值选择非单播阻塞表对应的表项,判断各业务端口转发还是丢弃该报文。
交换机的每一业务卡都维护一个非单播阻塞表,每个非单播阻塞表记录了对应的业务卡包含的各业务端口的表项是转发行为还是丢弃行为,如果聚合端口的成员端口分布在不同业务卡上,交换机在通过聚合端口转发非单播报文时,各业务卡查询其维护的非单播阻塞表确定需转发报文的成员端口及丢弃报文的成员端口,以使各成员端口执行相应的动作。若聚合端口的某一成员端口失效,各业务卡需要根据有效的成员端口重置自身的非单播阻塞表的表项,将失效的成员端口的各表项全部设置为丢弃行为,将有效成员端口的表项循环设置为转发行为,由于有效的成员端口不一定分布在同一业务卡上,各个业务卡设置非单播阻塞表也不是同时设置的,这样,在聚合端口的切换过程中,会出现一个业务卡已对自身的非单播阻塞表重置完成,而其它业务卡还未完成,这很可能会出现一个表项中多个成员端口同时为转发行为的情况,从而导致交换机将一条非单播报文从多个成员端口中转发出去,即出现多包的问题,同样地,在聚合端口的回切过程中,也会出现各个业务卡的非单播阻塞表重置不同步的情况,同样会导致多包的问题。
假设,交换机1中的业务卡1-1和业务卡1-2的非单播阻塞表如图4所示,其中,index0~index1023表示偏移值0~1023,每一偏移值对应一组聚合端口中成员端口的表项,“√”表示转发行为,“×”表示丢弃行为,如:index0对应的成员端口的表项为:业务端口1/1设置为转发行为、业务端口1/2设置为丢弃行为、业务端口2/1设置为丢弃行为、业务端口2/2设置为丢弃行为。业务卡1-1和业务卡1-2分别维护各自的非单播阻塞表,非单播报文在经过哈希计算后得到一个偏移值,在[0,1023]区间范围之内,在业务卡1-1和业务卡1-2的非单播阻塞表中选择该偏移值对应的表项转发报文,例如,计算出的偏移值为14,则按照非单播阻塞表中index14对应的表项转发报文,此非单播报文最终的转发端口是业务卡1-2的业务端口2/1。
假设,业务卡1-1的业务端口1/1失效,正常重置的非单播阻塞表如图5所示,业务卡1-1和业务卡1-2重置自身的非单播阻塞表的过程如下:业务卡1-1将业务卡1-1上的业务端口1/1所在的各个表项均设置为丢弃行为,业务卡1-1和业务卡1-2按照聚合端口的有效成员端口的数量(也就是3,包括业务端口1/2、2/1、2/2)重置各自的非单播阻塞表,按照偏移值0~1023的顺序依次循环设置各个表项中业务端口1/2、2/1、2/2为转发行为,如图5中右侧所示,设置后偏移值0对应的表项中,业务端口1/2为转发行为,业务端口2/1和2/2均为丢弃行为,偏移值1对应的表项中,业务端口2/1为转发行为,业务端口1/2和2/2均为丢弃行为,偏移值2对应的表项中,业务端口2/2为转发行为,业务端口1/2和2/1均为丢弃行为,直至设置到偏移值1023对应的表项为止。然而,由于不同业务卡设置各自的非单播阻塞表时是异步的,因此,在聚合端口的切换过程中很有可能出现一个业务卡已经重置完成,另一个业务卡还未开始或者未完成重置的情况,如图6所示的聚合端口的切换过程异常的情况,偏移值3对应的表项中,业务卡1-1的业务端口1/2和业务卡1-2的业务端口2/2均为转发行为,这样,同一表项中就有两个转发行为的端口,此时若接收到的非单播报文匹配中该表项,那么该非单播报文就会从业务卡1-1的业务端口1/2和业务卡1-2的业务端口2/2同时转发出去,从而造成多包的问题。同样地,在聚合端口回切的过程中,也会出现同样的问题。
发明内容
为了解决现有的交换机中聚合端口切换与回切过程中转发非单播报文出现的报文多包问题,本发明实施例提供了一种表项更新方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供了一种表项更新方法,应用于交换机包括的至少两个业务卡中,所述交换机上设置的聚合端口的各个成员端口分布在所述至少两个业务卡上,所述方法包括:
若确定所述聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的所述第一成员端口为转发行为的各个第一选定表项,按照所述聚合端口对应的负载均衡原则分别从所述各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将所述各个第一选定表项中所述第一成员端口的转发行为更新为丢弃行为,其中,所述非单播阻塞表中所述聚合端口的各个成员端口的排序方式与所述聚合端口的其他成员端口所在的业务卡的非单播阻塞表中所述聚合端口的各个成员端口的排序方式相同;或者,
若确定所述第一成员端口恢复有效,则根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,将所述各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将所述各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为。
一种可能的实施方式中,确定所述聚合端口的第一成员端口失效,具体包括:
确定自身的各个业务端口是否失效;
若确定自身的各个业务端口中的第一业务端口失效,则确定所述第一业务端口是否是所述聚合端口的第一成员端口,若确定所述第一业务端口是所述第一成员端口,则向所述聚合端口的其他成员端口所在的业务卡发送携带所述第一成员端口的失效通知消息;或者,
若接收所述聚合端口的其他成员端口所在的业务卡发送的携带所述第一成员端口的失效通知消息,则确定所述第一成员端口失效。
一种可能的实施方式中,根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,具体包括:
按照设定排序方式将所述非单播阻塞表的各个表项重新排序;
将所述非单播阻塞表的各个表项重新排序后的序号分别对所述聚合端口的成员端口的总数量求余数;
选取余数为零的表项为所述非单播阻塞表的各个第二选定表项。
一种可能的实施方式中,所述方法还包括:
获取预设的第一端口排序规则或者与所述聚合端口的其他成员端口所在的业务卡协商得到第二端口排序规则;
按照所述第一端口排序规则或者所述第二端口排序规则为所述非单播阻塞表中的所述聚合端口的各个成员端口排序。
第二方面,本发明实施例提供了一种表项更新装置,应用于交换机包括的至少两个业务卡中,所述交换机上设置的聚合端口的各个成员端口分布在所述至少两个业务卡上,所述装置包括:
第一表项更新单元,用于若确定所述聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的所述第一成员端口为转发行为的各个第一选定表项,按照所述聚合端口对应的负载均衡原则分别从所述各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将所述各个第一选定表项中所述第一成员端口的转发行为更新为丢弃行为,其中,所述非单播阻塞表中所述聚合端口的各个成员端口的排序方式与所述聚合端口的其他成员端口所在的业务卡的非单播阻塞表中所述聚合端口的各个成员端口的排序方式相同;
第二表项更新单元,用于若确定所述第一成员端口恢复有效,则根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,将所述各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将所述各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为。
一种可能的实施方式中,所述第一表项更新单元,具体用于确定自身的各个业务端口是否失效;若确定自身的各个业务端口中的第一业务端口失效,则确定所述第一业务端口是否是所述聚合端口的第一成员端口,若确定所述第一业务端口是所述第一成员端口,则向所述聚合端口的其他成员端口所在的业务卡发送携带所述第一成员端口的失效通知消息;或者,若接收所述聚合端口的其他成员端口所在的业务卡发送的携带所述第一成员端口的失效通知消息,则确定所述第一成员端口失效。
一种可能的实施方式中,所述第二表项更新单元,具体用于按照设定排序方式将所述非单播阻塞表的各个表项重新排序;将所述非单播阻塞表的各个表项重新排序后的序号分别对所述聚合端口的成员端口的总数量求余数;选取余数为零的表项为所述非单播阻塞表的各个第二选定表项。
一种可能的实施方式中,所述装置还包括:
获取单元,用于获取预设的第一端口排序规则或者与所述聚合端口的其他成员端口所在的业务卡协商得到第二端口排序规则;
排序单元,用于按照所述第一端口排序规则或者所述第二端口排序规则为所述非单播阻塞表中的所述聚合端口的各个成员端口排序。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的表项更新方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的表项更新方法中的步骤。
本发明实施例的有益效果如下:
本发明实施例提供的表项更新方法、装置、电子设备及存储介质,交换机上设置的聚合端口的各个成员端口分布在交换机包括的至少两个业务卡上,业务卡若确定聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的第一成员端口为转发行为的各个第一选定表项,按照聚合端口对应的负载均衡原则分别从各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口将选择的各个成员端口的丢弃行为更新为转发行为,将各个第一选定表项中第一成员端口的转发行为更新为丢弃行为,其中,业务卡中的非单播阻塞表中聚合端口的各个成员端口的排序方式与聚合端口的其他成员端口所在的业务卡的非单播阻塞表中聚合端口的各个成员端口的排序方式相同,若确定第一成员端口恢复有效,则根据设定排序方式和聚合端口的成员端口的总数量从非单播阻塞表选取各个第二选定表项,将各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为,根据上述表项更新方式,交换机中设置的聚合端口的成员端口所在的每一业务卡均将聚合端口的各个成员端口按照相同的排列方式添加到各自的非单播阻塞表中,当聚合端口中有成员端口失效或恢复有效时,各业务卡可以同步设置各自的非单播阻塞表中的聚合端口的各成员端口的执行行为,由于实现了各个业务卡对非单播阻塞表中各成员端口表项的同步设置,可保证当接收到非单播报文时,仅有一个成员端口可以将非单播报文转发出去,有效避免了非单播报文从多个成员端口中转发出去而导致的报文多包问题。并且,在聚合端口中的成员端口失效时,仅仅更新非单播阻塞表中失效的成员端口为转发行为的各个选定表项中的成员端口的执行行为,在各个选定表项中选择一个成员端口中的有效的成员端口替换失效的成员端口作为转发端口,这样,相比于现有技术中对非单播阻塞表中所有表项中的成员端口的执行行为进行重置的方式,假设聚合端口的成员端口数量为N,本申请中根据负载均衡的原则仅需修改非单播阻塞表中所有表项的1/N个表项即可完成非单播阻塞表的重置,从而有效提高了非单播阻塞表的设置效率,进而提高了非单播报文的转发效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其它优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为两个交换机之间的聚合端口链路示例图;
图2为聚合端口切换过程示意图;
图3为聚合端口回切过程示意图;
图4为交换机1中业务卡1-1和业务卡1-2的非单播阻塞表示意图;
图5为现有技术中聚合端口的成员端口失效后,正常重置的业务卡1-1和业务卡1-2的非单播阻塞表示意图;
图6为现有技术中聚合端口的成员端口失效后,异常重置的业务卡1-1和业务卡1-2的非单播阻塞表示意图;
图7为机箱式交换机的结构示意图;
图8为现有技术中聚合端口的失效成员端口恢复有效后,异常重置的业务卡1-1和业务卡1-2的非单播阻塞表示意图;
图9为本发明实施例提供的表项更新方法的实施流程示意图;
图10为本发明实施例提供的为非单播阻塞表中聚合端口的各个成员端口排序的实施流程示意图;
图11为本发明实施例提供的非单播阻塞表示例图;
图12为本发明实施例提供的聚合端口切换时,业务卡1-1和业务卡1-2对各自的非单播阻塞表的设置示意图;
图13为本发明实施例提供的聚合端口回切时,聚合端口的成员端口所在的每一业务卡从各自的非单播阻塞表中选取各个第二选定表项的实施流程示意图;
图14为本发明实施例提供的聚合端口回切时,业务卡1-1和业务卡1-2对各自的非单播阻塞表的设置示意图;
图15为本发明实施例提供的表项更新装置的结构示意图;
图16为本发明实施例提供的电子设备的结构示意图。
具体实施方式
机箱式交换机通常由管理板、背板和业务卡三部分组成,一个机箱式交换机的结构如图7所示,其包括管理板、背板、业务卡1、业务卡2,管理板用于控制背板、业务卡1和业务卡2,业务卡1、业务卡2用于承担交换机报文输入输出业务,背板用于报文跨业务卡转发,管理板上设置有中央处理单元(Central Processing Unit,CPU),背板、业务卡1、业务卡2上均设置有中央处理单元和交换芯片,交换芯片提供业务端口和内联端口并转发报文,业务卡1上设置有三个业务端口:1/1、1/2和1/3,业务卡2上设置有三个业务端口:2/1、2/2和2/3,业务端口是交换机和外部网络设备相连的端口,用于承担网络业务流,管理板、背板、业务卡之间通过内联端口实现内部互联。本发明实施例中,聚合端口即为将多个成员端口聚合成一个聚合组,聚合端口可将多个成员端口的带宽叠加起来使用,扩展了链路带宽。流经聚合端口的流量会在其成员端口上进行流量均衡,如果聚合端口中的一个成员端口失效,该成员端口对应链路上的流量将被均衡到其它有效的成员端口对应链路上这个过程称为聚合端口的切换;聚合端口的一个成员端口从失效恢复为有效后,其它有效的成员端口对应链路上的流量会被均衡到该成员端口对应链路上,这个过程称为聚合端口的回切。
需要说明的是,本发明实施例中,聚合端口的成员端口失效不是将聚合端口的成员端口对应链路删除,只是将成员端口对应链路的状态关闭或者将网线拔出,或者将成员端口对应链路上的光模块或光纤线拔出的操作。
现有技术中解决交换机中聚合端口转发非单播报文时出现的多包问题的一种解决方案如下:若聚合端口的某一成员端口失效,聚合端口的成员端口所在的各业务卡接收到重置非单播阻塞表事件时,将各自的非单播阻塞表中各成员端口的表项全部设置为丢弃行为,等待一段时间,确保所有业务卡的非单播阻塞表全部都设置为丢弃行为完成后,将有效成员端口的表项循环设置为转发行为,由于有效的成员端口不一定分布在同一业务卡上,各个业务卡设置非单播阻塞表也不是同时设置的,这样,在聚合端口的切换过程中,会出现一个业务卡已对自身的非单播阻塞表重置完成,而其它业务卡还未完成,这很可能会出现一个表项中多个成员端口同时为转发行为的情况,从而导致交换机将一条非单播报文从多个成员端口中转发出去,即出现多包的问题,如图6所示的聚合端口异常切换过程,在业务卡1已重置完成,业务卡2还未重置的情况下,偏移值3对应的各成员端口的表项中,业务卡1-1的业务端口1/2和业务卡1-2的业务端口2/2均为转发行为,这样,就出现了两个转发端口,如果此时接收到的非单播报文进行哈希计算后得到的偏移值为3,那么该非单播报文就会被交换机1从业务卡1-1的业务端口1/2和业务卡1-2的业务端口2/2转发出去,从而造成多包问题。同时,由于等待时间过长,会导致切换过程中报文丢失过多,从而影响到聚合端口的性能指标。同样地,在聚合端口的回切过程中,也会出现各个业务卡的非单播阻塞表重置不同步的情况,同样会导致多包的问题,如图8所示的聚合端口异常回切过程,当失效的成员端口1/1恢复有效时,异常重置的业务卡1-1和业务卡1-2的非单播阻塞表如图8右侧所示,也会导致多包问题。
基于上述技术问题,本发明实施例提供了一种表项更新方法、装置、电子设备及存储介质,交换机上设置的聚合端口的各个成员端口分布在交换机包括的至少两个业务卡上,业务卡若确定聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的第一成员端口为转发行为的各个第一选定表项,按照聚合端口对应的负载均衡原则分别从各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口将选择的各个成员端口的丢弃行为更新为转发行为,将各个第一选定表项中第一成员端口的转发行为更新为丢弃行为,其中,业务卡中的非单播阻塞表中聚合端口的各个成员端口的排序方式与聚合端口的其他成员端口所在的业务卡的非单播阻塞表中聚合端口的各个成员端口的排序方式相同,若确定第一成员端口恢复有效,则根据设定排序方式和聚合端口的成员端口的总数量从非单播阻塞表选取各个第二选定表项,将各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为,根据上述表项更新方式,交换机中设置的聚合端口的成员端口所在的每一业务卡均将聚合端口的各个成员端口按照相同的排列方式添加到各自的非单播阻塞表中,当聚合端口中有成员端口失效或恢复有效时,各业务卡可以同步设置各自的非单播阻塞表中的聚合端口的各成员端口的执行行为,由于实现了各个业务卡对非单播阻塞表中各成员端口表项的同步设置,可保证当接收到非单播报文时,仅有一个成员端口可以将非单播报文转发出去,有效避免了非单播报文从多个成员端口中转发出去而导致的报文多包问题。并且,在聚合端口中的成员端口失效时,仅仅更新非单播阻塞表中失效的成员端口为转发行为的各个选定表项中的成员端口的执行行为,在各个选定表项中选择一个成员端口中的有效的成员端口替换失效的成员端口作为转发端口,这样,相比于现有技术中对非单播阻塞表中所有表项中的成员端口的执行行为进行重置,假设聚合端口的成员端口数量为N,本申请中根据负载均衡的原则仅需修改非单播阻塞表中所有表项的1/N个表项即可完成非单播阻塞表的重置,从而有效提高了非单播阻塞表的设置效率,进而提高了非单播报文的转发效率。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图9所示,其为本发明实施例提供的表项更新方法的实施流程示意图,该表项更新方法可以应用于交换机包括的至少两个业务卡中,交换机上设置的聚合端口的各个成员端口分布在该至少两个业务卡,具体可以包括以下步骤:
S11、若确定聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的第一成员端口为转发行为的各个第一选定表项,按照聚合端口对应的负载均衡原则分别从各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将各个第一选定表项中第一成员端口的转发行为更新为丢弃行为。
具体实施时,当交换机设置聚合端口时,聚合端口的成员端口所在的各个业务卡将聚合端口中的各成员端口按照预设的端口排序规则进行排序后添加至自身存储的非单播阻塞表中,其中,聚合端口的成员端口所在的任一业务卡自身的非单播阻塞表中聚合端口的各个成员端口的排序方式与聚合端口的其他成员端口所在的业务卡的非单播阻塞表中聚合端口的各个成员端口的排序方式相同。
具体地,聚合端口的成员端口所在的各个业务卡可以按照如图10所示的流程为自身的非单播阻塞表中聚合端口的各个成员端口排序,包括以下步骤:
S111、获取预设的第一端口排序规则或者与聚合端口的其他成员端口所在的业务卡协商得到第二端口排序规则。
具体实施时,交换机可以在设置聚合端口的同时设置第一端口排序规则,或者,交换机在设置聚合端口后,由聚合端口的各个成员端口所在的各个业务卡共同协商得到第二端口排序规则,本申请实施例对此不作限定。
若交换机设置了第一端口排序规则,聚合端口的各个成员端口所在的各个业务卡则获取第一端口排序规则;若各个业务卡共同协商得到第二端口排序规则,各个业务卡则获取第二端口排序规则。
S112、按照第一端口排序规则或者第二端口排序规则为非单播阻塞表中的聚合端口的各个成员端口排序。
具体实施时,若聚合端口的各个成员端口所在的各个业务卡获取了第一端口排序规则,则按照第一端口排序规则为自身的非单播阻塞表中的聚合端口的各个成员端口排序;若聚合端口的各个成员端口所在的各个业务卡获取了第二端口排序规则,则按照第二端口排序规则为自身的非单播阻塞表中的聚合端口的各个成员端口排序。以此,保证聚合端口的各个成员端口所在的各个业务卡的非单播阻塞表中的聚合端口的各个成员端口的排序方式相同。
例如,第一端口排序规则或者第二排序规则可以设置为:将聚合端口中各成员端口按照端口号进行升序排列,这样,各业务卡将排序后的将各成员端口的表项更新至自身存储的非单播阻塞表中,以保证每一业务卡的非单播阻塞表中聚合端口的各成员端口的位置一致,从而保证聚合端口的各成员端口对应链路位置一致。非单播阻塞表中存储有偏移值和聚合端口的成员端口的表项的对应关系,可以将偏移值作为成员端口的表项的标识,这样,每一偏移值对应一组成员端口的表项。交换机的聚合端口在接收到非单播报文的流量时,可根据报文属性信息进行哈希计算得到的偏移值与非单播阻塞表中的各偏移值进行匹配,按照匹配的偏移值对应的聚合端口的成员端口的表项执行相应的动作(即转发或丢弃该报文),由于不同交换芯片的非单播阻塞报文容量不同,偏移值的总数则不同,本发明实施例中仅以容量为1024(即包括的偏移值为0~1023)进行说明。其中,报文属性信息可以但不限于包括以下信息:源MAC(Media Access Control Address,媒体访问控制)地址、目的MAC地址、源IP(Internet Protocol,互联网协议)地址、目的IP地址以及TCP/IP(Transmission Control Protocol/Internet Protocol/Internet Protocol,传输控制协议/互联网协议)协议号(即应用层、传输层、网络层、网络接口层)等信息。
在具体实施时,交换机上设置的聚合端口的各个成员端口所在的任一业务卡可通过以下方式确定聚合端口的第一成员端口失效:
方式一:确定自身的各个业务端口是否失效,若确定自身的各个业务端口中的第一业务端口失效,则确定第一业务端口是否是聚合端口的第一成员端口,若确定第一业务端口是第一成员端口,则向聚合端口的其他成员端口所在的业务卡发送携带所述第一成员端口的失效通知消息。
方式二:若接收聚合端口的其他成员端口所在的业务卡发送的携带第一成员端口的失效通知消息,则确定第一成员端口失效。
为了便于说明,仍以图4中交换机1的聚合端口的成员端口为业务卡1-1的业务端口1/1、1/2和业务卡1-2的业务端口2/1、2/2为例进行说明,此时,聚合端口的成员端口按照端口号进行升序排列后为:[1/1,1/2,2/1,2/2],业务卡1-1和业务卡1-2均将聚合端口的成员端口[1/1,1/2,2/1,2/2]的表项更新至自身的非单播阻塞表中,其中,业务卡1-1的非单播阻塞表中新增了业务卡1-2的业务端口2/1、2/2的表项,业务卡1-2的非单播阻塞表新增了业务卡1-1的业务端口1/1、1/2的表项,业务卡1-1和业务卡1-2的非单播阻塞表均如图11所示,各偏移值0~1023(即index0~index1023)对应一组聚合端口的成员端口[1/1,1/2,2/1,2/2]的表项,例如,index0对应的成员端口[1/1,1/2,2/1,2/2]的表项为:成员端口1/1为转发行为,成员端口1/2为丢弃行为,成员端口2/1为丢弃行为,成员端口2/2为丢弃行为,那么index0(即偏移值0)即为偏移值为0时对应的各成员端口[1/1,1/2,2/1,2/2]的表项标识。
交换机上设置的聚合端口的各个成员端口所在的任一业务卡若确定聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的第一成员端口为转发行为的各个第一选定表项,按照聚合端口对应的负载均衡原则分别从各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将各个第一选定表项中第一成员端口的转发行为更新为丢弃行为。
假设业务卡1-1中的业务端口1/1失效,业务卡1-1会向业务卡1-2发送携带该端口1/1的失效通知消息以告知业务卡1-2业务端口1/1失效,业务卡1-2接收到携带业务端口1/1的失效通知消息后,业务卡1-1和业务卡1-2会设置各自的非单播阻塞表,如图12所示,其为聚合端口切换时,业务卡1-1和业务卡1-2对各自的非单播阻塞表的设置示意图,业务卡1-1中的业务端口1/1失效时,业务卡1-1和业务卡1-2可确定非单播阻塞表(见图12左侧,即图11所示的非单播阻塞表)中,失效的业务端口1/1中为转发行为的表项为:index0(偏移值0)、index4(偏移值4)、index8(偏移值8)、index12(偏移值12)等对应的表项,则将index0、index4、index8、index12等对应的表项作为各个第一选定表项,则将index0、index4、index8、index12等对应的表项中成员端口1/1的转发行为更新为丢弃行为,并在index0、index4、index8、index12等对应的表项中为丢弃行为的各个成员端口(即业务端口1/2、2/1和2/2)中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,作为一种可能的实施方式,可以在index0、index4、index8、index12等对应的表项中为丢弃行为的各个成员端口中按照循环顺序选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为。如图12中,失效成员端口1/1为转发行为的表项为:index0、index4、index8、index12等对应的表项,则可以按照各有效成员端口1/2,2/1,2/2的排列顺序依次将index0、index4、index8、index12等对应的有效成员端口的表项从丢弃行为修改为转发行为,修改后如图12右侧所示,将index0对应的成员端口1/2的丢弃行为修改为转发行为,也就是将index0对应的各成员端口中,将转发端口由1/1替换为1/2;将index4对应的成员端口2/1的丢弃行为修改为转发行为,也就是将index4对应的各成员端口中,将转发端口由1/1替换为2/1;将index8对应的有效成员端口2/2的丢弃行为修改为转发行为,也就是将index8对应的各成员端口中,将转发端口由1/1替换为2/2;将index12对应的有效成员端口1/2的丢弃行为修改为转发行为,也就是将index12对应的各成员端口中,将转发端口由1/1替换为1/2,直至遍历所有表项为转发行为的成员端口1/1,而对表项为丢弃行为的成员端口1/1对应的每一成员端口(包括失效成员端口1/1和有效成员端口1/2,2/1,2/2)的表项均不进行修改,相比于现有技术,假设聚合端口的成员端口数量为N,本发明实施例中提出的上述非单播阻塞表的设置方式修改量仅仅为1/N,且可保证各业务卡同步进行修改,提高了聚合端口切换效率的同时,避免了多包问题。
进而,聚合端口的成员端口所在的各业务卡按照各自更新后的非单播阻塞表转发接收到的非单播报文。
具体实施时,当交换机接收到非单播报文后,根据该非单播报文属性信息进行哈希计算,得到该非单播报文对应的偏移值,其中,报文属性信息可以但不限于包括以下信息:所述非单播报文的源MAC地址、目的MAC地址,源IP地址、目的IP地址以及TCP/IP协议号等信息。计算出该非单播报文对应的偏移值后,每一业务卡按照各自设置后的第二非单播阻塞表中该偏移值对应的各表项转发该非单播报文。
S12、若确定第一成员端口恢复有效,则根据设定排序方式和聚合端口的成员端口的总数量从非单播阻塞表选取各个第二选定表项,将各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为。
具体实施时,当聚合端口进行回切时,即当聚合端口的成员端口所在的每一业务卡确定失效的第一成员端口恢复有效时,可按照如图13所示的流程从各自的非单播阻塞表选取各个第二选定表项,包括以下步骤:
S121、按照设定排序方式将非单播阻塞表的各个表项重新排序。
具体实施时,当聚合端口的成员端口所在的任一业务卡上确定其上的失效的第一成员端口恢复有效时,该任一业务卡向聚合端口的其他成员端口所在的各业务卡发送携带该第一成员端口的恢复有效通知消息,聚合端口的其他成员端口所在的各业务卡接收该任一业务卡发送的恢复有效通知消息,确定该第一成员端口恢复有效,进而,聚合端口的成员端口所在的每一业务卡按照设定排序方式将自身的非单播阻塞表的各个表项重新排序。
具体地,每一业务卡可以但不限于按列遍历自身的非单播阻塞表中的各成员端口的表项,针对转发行为的成员端口的表项按照偏移值的顺序逐列递增进行编号,获得各个为转发行为的成员端口的表项重新排序后的序号。
S122、将非单播阻塞表的各个表项重新排序后的序号分别对聚合端口的成员端口的总数量求余数。
S123、选取余数为零的表项为非单播阻塞表的各个第二选定表项。
进而,将各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为,也就是将转发端口由余数为0的有效成员端口替换为恢复有效的第一成员端口,以将非单播报文流量均匀地回切到恢复有效的成员端口对应的链路上。
仍延续上例,当聚合端口中失效的第一成员端口,即业务卡1-1中的业务端口1/1恢复有效时,业务卡1-1会向业务卡1-2发送携带第一成员端口1/1的恢复有效通知消息以告知业务卡1-2业务端口1/1恢复有效,业务卡1-2接收到恢复有效通知消息后,业务卡1-1和业务卡1-2更新各自的非单播阻塞表,如图14所示,其为聚合端口回切时,业务卡1-1和业务卡1-2对各自的非单播阻塞表的设置示意图,业务卡1-1和业务卡1-2对各自的非单播阻塞表的设置过程均具体如下:对为转发行为的成员端口1/2、2/1、2/2按照偏移值递增逐列进行重新编号,如图14左侧所示的部分,成员端口1/2对应的列中,偏移值0(index0)、偏移值1(index1)、偏移值5(index5)、偏移值9(index9)、偏移值12(index12)、偏移值13(index13)等对应的表项为转发行为,则依次对这些表项进行重新编号,分别将成员端口1/2中偏移值0、偏移值1、偏移值5、偏移值9、偏移值12、偏移值13对应的表项编号为1、2、3、4、5、6,直至遍历完整列,最后一个偏移值对应的表项编号为342。再继续对成员端口2/1中为转发行为的表项递增编号,成员端口2/1对应的列中,偏移值2(index2)、偏移值4(index4)、偏移值6(index6)、偏移值10(index10)、偏移值14(index14)、……、偏移值1022(index1022)对应的表项为转发行为,分别将成员端口2/1中偏移值2、偏移值4、偏移值6、偏移值10、偏移值14、……、偏移值1022对应的表项编号为343、344、345、346、347、……、683。进而,再继续对成员端口2/2对应的列中为转发行为的表项递增编号,成员端口2/2对应的列中,偏移值3(index3)、偏移值7(index7)、偏移值8(index8)、偏移值11(index11)、偏移值15(index15)、……、偏移值1023(index1023)对应的表项为转发行为,分别将成员端口2/2中偏移值3、偏移值7、偏移值8、偏移值11、偏移值15、……、偏移值1023对应的表项编号为684、685、686、687、688、……、1024,即得到各个为转发行为的成员端口的表项重新排序后的序号。如图14右侧部分所示,由于聚合端口的成员端口总数量为4个,则将非单播阻塞表的各个表项重新排序后的序号分别与4求余数,余数为零的表项重新排序后的序号为:4、8、12、16、……、1024,则分别将表项重新排序后的序号为4、8、12、16、……、1024的成员端口(1/2、2/1或2/2)的转发行为更新为丢弃行为,如,偏移值9对应的成员端口1/2的表项重新排序后的序号为4,则将偏移值9对应的成员端口1/2的表项从转发行为更新为丢弃行为,相应的,将偏移值9对应的第一成员端口1/1从丢弃行为更新为转发行为,以此类推,依次进行设置,此处不再赘述。
设置完成后,聚合端口的各成员端口1/1、1/2、2/1和2/2的非单播报文转发率都为25%,流量均衡偏差率为±0%,并实现了聚合端口的成员端口所在的各业务卡对自身的非单播阻塞表中成员端口表项的同步设置,且采用替换部分表项的方式在避免了报文多包问题的同时提高了非单播报文转发效率。
采用本发明实施例提供的表项更新方法,交换机的聚合端口切换和回切过程中的(成员)端口偏差率以及非单播阻塞表的表项占比如表1所示:
表1
由表1可知,在当成员端口1/1失效而进行聚合端口切换时,设置的非单播阻塞表中,将成员端口1/1均设置为丢弃行为,将成员端口1/2设置为转发行为的表项个数为342个,将成员端口2/1设置为转发行为的表项个数为341个,将成员端口2/2设置为转发行为的表项个数为341个;在当成员端口1/1恢复有效而进行聚合端口回切时,设置的非单播阻塞表中,将成员端口1/1设置为转发行为的表项个数为256个,将成员端口1/2设置为转发行为的表项个数为257个,将成员端口2/1设置为转发行为的表项个数为256个,将成员端口2/2设置为转发行为的表项个数为255个。在聚合端口切换和回切过程中,端口偏差率均很低,可保证交换机聚合端口的流量均衡。
基于同一发明构思,本发明实施例还提供了一种表项更新装置,由于上述表项更新装置解决问题的原理与表项更新方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图15所示,其为本发明实施例提供的表项更新装置的结构示意图,所述表项更新装置应用于交换机包括的至少两个业务卡中,所述交换机上设置的聚合端口的各个成员端口分布在所述至少两个业务卡上,所述装置包括:
第一表项更新单元21,用于若确定所述聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的所述第一成员端口为转发行为的各个第一选定表项,按照所述聚合端口对应的负载均衡原则分别从所述各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将所述各个第一选定表项中所述第一成员端口的转发行为更新为丢弃行为,其中,所述非单播阻塞表中所述聚合端口的各个成员端口的排序方式与所述聚合端口的其他成员端口所在的业务卡的非单播阻塞表中所述聚合端口的各个成员端口的排序方式相同;
第二表项更新单元22,用于若确定所述第一成员端口恢复有效,则根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,将所述各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将所述各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为。
一种可能的实施方式中,所述第一表项更新单元21,具体用于确定自身的各个业务端口是否失效;若确定自身的各个业务端口中的第一业务端口失效,则确定所述第一业务端口是否是所述聚合端口的第一成员端口,若确定所述第一业务端口是所述第一成员端口,则向所述聚合端口的其他成员端口所在的业务卡发送携带所述第一成员端口的失效通知消息;或者,若接收所述聚合端口的其他成员端口所在的业务卡发送的携带所述第一成员端口的失效通知消息,则确定所述第一成员端口失效。
一种可能的实施方式中,所述第二表项更新单元22,具体用于按照设定排序方式将所述非单播阻塞表的各个表项重新排序;将所述非单播阻塞表的各个表项重新排序后的序号分别对所述聚合端口的成员端口的总数量求余数;选取余数为零的表项为所述非单播阻塞表的各个第二选定表项。
一种可能的实施方式中,所述装置,还包括:
获取单元,用于获取预设的第一端口排序规则或者与所述聚合端口的其他成员端口所在的业务卡协商得到第二端口排序规则;
排序单元,用于按照所述第一端口排序规则或者所述第二端口排序规则为所述非单播阻塞表中的所述聚合端口的各个成员端口排序。
基于同一技术构思,本发明实施例还提供了一种电子设备300,参照图16所示,电子设备300用于实施上述方法实施例记载的表项更新方法,该实施例的电子设备300可以包括:存储器301、处理器302以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如表项更新程序。所述处理器执行所述计算机程序时实现上述各个表项更新方法实施例中的步骤,例如图9所示的步骤S11。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如21。
本发明实施例中不限定上述存储器301、处理器302之间的具体连接介质。本申请实施例在图16中以存储器301、处理器302之间通过总线303连接,总线303在图16中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线303可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器301可以是上述存储器的组合。
处理器302,用于调用所述存储器301中存储的计算机程序执行如图9中所示的表项更新方法。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的表项更新方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的表项更新方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种表项更新方法,应用于交换机包括的至少两个业务卡中,所述交换机上设置的聚合端口的各个成员端口分布在所述至少两个业务卡上,其特征在于,所述方法包括:
若确定所述聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的所述第一成员端口为转发行为的各个第一选定表项,按照所述聚合端口对应的负载均衡原则分别从所述各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将所述各个第一选定表项中所述第一成员端口的转发行为更新为丢弃行为,其中,所述非单播阻塞表中所述聚合端口的各个成员端口的排序方式与所述聚合端口的其他成员端口所在的业务卡的非单播阻塞表中所述聚合端口的各个成员端口的排序方式相同;或者,
若确定所述第一成员端口恢复有效,则根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,将所述各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将所述各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为。
2.如权利要求1所述的方法,其特征在于,确定所述聚合端口的第一成员端口失效,具体包括:
确定自身的各个业务端口是否失效;
若确定自身的各个业务端口中的第一业务端口失效,则确定所述第一业务端口是否是所述聚合端口的第一成员端口,若确定所述第一业务端口是所述第一成员端口,则向所述聚合端口的其他成员端口所在的业务卡发送携带所述第一成员端口的失效通知消息;或者,
若接收所述聚合端口的其他成员端口所在的业务卡发送的携带所述第一成员端口的失效通知消息,则确定所述第一成员端口失效。
3.如权利要求1所述的方法,其特征在于,根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,具体包括:
按照设定排序方式将所述非单播阻塞表的各个表项重新排序;
将所述非单播阻塞表的各个表项重新排序后的序号分别对所述聚合端口的成员端口的总数量求余数;
选取余数为零的表项为所述非单播阻塞表的各个第二选定表项。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
获取预设的第一端口排序规则或者与所述聚合端口的其他成员端口所在的业务卡协商得到第二端口排序规则;
按照所述第一端口排序规则或者所述第二端口排序规则为所述非单播阻塞表中的所述聚合端口的各个成员端口排序。
5.一种表项更新装置,应用于交换机包括的至少两个业务卡中,所述交换机上设置的聚合端口的各个成员端口分布在所述至少两个业务卡上,其特征在于,所述装置包括:
第一表项更新单元,用于若确定所述聚合端口的第一成员端口失效,则确定自身的非单播阻塞表中的所述第一成员端口为转发行为的各个第一选定表项,按照所述聚合端口对应的负载均衡原则分别从所述各个第一选定表项中为丢弃行为的各个成员端口中选择一个成员端口,将选择的各个成员端口的丢弃行为更新为转发行为,将所述各个第一选定表项中所述第一成员端口的转发行为更新为丢弃行为,其中,所述非单播阻塞表中所述聚合端口的各个成员端口的排序方式与所述聚合端口的其他成员端口所在的业务卡的非单播阻塞表中所述聚合端口的各个成员端口的排序方式相同;
第二表项更新单元,用于若确定所述第一成员端口恢复有效,则根据设定排序方式和所述聚合端口的成员端口的总数量从所述非单播阻塞表选取各个第二选定表项,将所述各个第二选定表项中成员端口的转发行为更新为丢弃行为,并将所述各个第二选定表项相对应的第一成员端口的丢弃行为更新为转发行为。
6.如权利要求5所述的装置,其特征在于,
所述第一表项更新单元,具体用于确定自身的各个业务端口是否失效;若确定自身的各个业务端口中的第一业务端口失效,则确定所述第一业务端口是否是所述聚合端口的第一成员端口,若确定所述第一业务端口是所述第一成员端口,则向所述聚合端口的其他成员端口所在的业务卡发送携带所述第一成员端口的失效通知消息;或者,若接收所述聚合端口的其他成员端口所在的业务卡发送的携带所述第一成员端口的失效通知消息,则确定所述第一成员端口失效。
7.如权利要求5所述的装置,其特征在于,
所述第二表项更新单元,具体用于按照设定排序方式将所述非单播阻塞表的各个表项重新排序;将所述非单播阻塞表的各个表项重新排序后的序号分别对所述聚合端口的成员端口的总数量求余数;选取余数为零的表项为所述非单播阻塞表的各个第二选定表项。
8.如权利要求5-7任一所述的装置,其特征在于,还包括:
获取单元,用于获取预设的第一端口排序规则或者与所述聚合端口的其他成员端口所在的业务卡协商得到第二端口排序规则;
排序单元,用于按照所述第一端口排序规则或者所述第二端口排序规则为所述非单播阻塞表中的所述聚合端口的各个成员端口排序。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4任一项所述的表项更新方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4任一项所述的表项更新方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111647791.3A CN114338538A (zh) | 2021-12-30 | 2021-12-30 | 一种表项更新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111647791.3A CN114338538A (zh) | 2021-12-30 | 2021-12-30 | 一种表项更新方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338538A true CN114338538A (zh) | 2022-04-12 |
Family
ID=81017361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111647791.3A Pending CN114338538A (zh) | 2021-12-30 | 2021-12-30 | 一种表项更新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016640A (zh) * | 2022-12-30 | 2023-04-25 | 苏州盛科通信股份有限公司 | 一种会话保持方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968753A (zh) * | 2016-10-20 | 2018-04-27 | 华为技术有限公司 | 修改媒体接入控制地址转发表的方法和装置 |
CN108989085A (zh) * | 2018-06-14 | 2018-12-11 | 北京星网锐捷网络技术有限公司 | 基于分布式网络的报文转发配置方法及装置 |
CN110011912A (zh) * | 2019-03-15 | 2019-07-12 | 北京星网锐捷网络技术有限公司 | 机箱式交换设备上行链路切换方法及装置 |
WO2020119317A1 (zh) * | 2018-12-14 | 2020-06-18 | 中兴通讯股份有限公司 | 报文转发方法及装置、存储介质、电子装置 |
CN112165429A (zh) * | 2020-09-11 | 2021-01-01 | 烽火通信科技股份有限公司 | 分布式交换设备的链路聚合收敛方法和设备 |
WO2021088808A1 (zh) * | 2019-11-05 | 2021-05-14 | 中兴通讯股份有限公司 | 双归设备接入流量的转发方法、设备及存储介质 |
-
2021
- 2021-12-30 CN CN202111647791.3A patent/CN114338538A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968753A (zh) * | 2016-10-20 | 2018-04-27 | 华为技术有限公司 | 修改媒体接入控制地址转发表的方法和装置 |
CN108989085A (zh) * | 2018-06-14 | 2018-12-11 | 北京星网锐捷网络技术有限公司 | 基于分布式网络的报文转发配置方法及装置 |
WO2020119317A1 (zh) * | 2018-12-14 | 2020-06-18 | 中兴通讯股份有限公司 | 报文转发方法及装置、存储介质、电子装置 |
CN110011912A (zh) * | 2019-03-15 | 2019-07-12 | 北京星网锐捷网络技术有限公司 | 机箱式交换设备上行链路切换方法及装置 |
WO2021088808A1 (zh) * | 2019-11-05 | 2021-05-14 | 中兴通讯股份有限公司 | 双归设备接入流量的转发方法、设备及存储介质 |
CN112165429A (zh) * | 2020-09-11 | 2021-01-01 | 烽火通信科技股份有限公司 | 分布式交换设备的链路聚合收敛方法和设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016640A (zh) * | 2022-12-30 | 2023-04-25 | 苏州盛科通信股份有限公司 | 一种会话保持方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4822997B2 (ja) | 通信装置および通信方法 | |
US6016310A (en) | Trunking support in a high performance network device | |
Carpio et al. | Balancing the migration of virtual network functions with replications in data centers | |
KR101371858B1 (ko) | 복수의 데이터를 프로세싱하기 위한 방법 및 통신 패킷들을 스위칭하기 위한 스위칭 디바이스 | |
JP4474247B2 (ja) | マルチキャストグループメンバーシップを管理するシステムおよび方法 | |
EP3236624B1 (en) | Cross-board forwarding method and apparatus | |
US9306835B2 (en) | Scalable forwarding table with overflow address learning | |
EP3136662B1 (en) | Construction method, device and system for multi-path forwarding rules | |
WO2003067834A1 (en) | Forwarding packets to aggregated links using distributed ingress card processing | |
EP3008868B1 (en) | Multicast flow reordering scheme | |
CN106936609B (zh) | 一种软件定义网络中控制转发设备集群的方法及控制器 | |
CN104468401A (zh) | 一种报文处理方法和装置 | |
CN110191064B (zh) | 流量负载均衡方法、装置、设备、系统及存储介质 | |
CN106130920A (zh) | 一种报文转发方法及装置 | |
CN110768917B (zh) | 一种报文传输方法及装置 | |
CN112737956A (zh) | 报文的发送方法和第一网络设备 | |
CN114338538A (zh) | 一种表项更新方法、装置、电子设备及存储介质 | |
CN108400922B (zh) | 虚拟局域网络配置系统与方法及其计算机可读存储介质 | |
US8867408B2 (en) | Fast convergence on child link failures and weighted load balancing of aggregate ethernet/sonet bundles | |
CN105577562B (zh) | 业务数据流的发送、转发方法及装置 | |
US20230396546A1 (en) | Increasing multi-path size using hierarchical forwarding equivalent classes | |
CN110945844A (zh) | 一种分发报文的方法及装置 | |
US11962485B2 (en) | Selecting and deduplicating forwarding equivalence classes | |
CN113890855A (zh) | 一种报文转发方法、系统、设备以及介质 | |
CN115914234A (zh) | 负载均衡的哈希算法信息的确定方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |