CN102065014B - 数据信元处理方法和装置 - Google Patents

数据信元处理方法和装置 Download PDF

Info

Publication number
CN102065014B
CN102065014B CN201010612421.1A CN201010612421A CN102065014B CN 102065014 B CN102065014 B CN 102065014B CN 201010612421 A CN201010612421 A CN 201010612421A CN 102065014 B CN102065014 B CN 102065014B
Authority
CN
China
Prior art keywords
port
cell
trunk
link
output
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.)
Expired - Fee Related
Application number
CN201010612421.1A
Other languages
English (en)
Other versions
CN102065014A (zh
Inventor
刘建立
曾敏
王晓明
童小九
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010612421.1A priority Critical patent/CN102065014B/zh
Publication of CN102065014A publication Critical patent/CN102065014A/zh
Priority to PCT/CN2011/081179 priority patent/WO2012088950A1/zh
Priority to EP11853857.8A priority patent/EP2648374B1/en
Priority to US13/976,938 priority patent/US9083607B2/en
Application granted granted Critical
Publication of CN102065014B publication Critical patent/CN102065014B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种数据信元处理方法和装置,该方法包括:配置单播路由表和多播路由表,其中单播路由表包括单播目的地址与Trunk的对应关系,多播路由表包括多播组地址与Trunk的对应关系;接收数据信元;根据数据信元类型确定对应的Trunk,其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到单播信元对应的Trunk;若为多播信元,则提取多播信元的多播组地址,查询多播路由表,得到多播信元对应的一个或多个Trunk;根据预置的负载均衡策略从确定的Trunk中选择输出链路,并通过选择的输出链路发送数据信元。本发明方法和装置提供的数据信元在交换网中的处理方案提高了交换效率。

Description

数据信元处理方法和装置
技术领域
本发明涉及数据通信领域,尤其涉及一种数据信元处理方法和装置。
背景技术
在数据通信领域,对数据产品的交换容量的需求越来越高。目前交换网专用芯片支持的交换容量也越来越大,支持的端口数也越来越多,比如64×64交换、96×96交换、128×128交换,同时也支持3级CLOS网络的级联。
在现实组网中,组网方式存在很大的灵活性。在交换容量满足的情况下,或者为了保证系统的连接健壮性,交换网芯片之间往往会设置多条链路连接。一方面提高了交换网芯片的端口利用率,另一方面也提高了两个芯片之间的传输带宽。为了便于说明,提出交换网端口聚合(Trunk)的概念,具体是指通过寄存器配置,将2个或多个物理端口组合在一起成为一个逻辑端口,这个逻辑端口的物理带宽等于所有成员端口的带宽之和。这样就提供了一种灵活的组网并增加端口带宽的方法。
两个交换网芯片之间有N条链路相连接,则称为Trunk=N。图1为交换网Trunk连接的示意图,交换网芯片A和交换网芯片B有4条链路连接(101),称之为Trunk=4,交换网芯片A和交换网芯片C有6条链路连接(102),称之为Trunk=6。
假设图1中的芯片D和芯片E分别为2个目的芯片。某个单播信元的目的地址为D,则需要经过交换网芯片A,完成Trunk=4的负载均衡链路选择,到达交换网芯片B,再到达目的芯片D;某个单播信元的目的地址为E,则需要经过交换网芯片A,完成Trunk=6的负载均衡链路选择,到达交换网芯片C,再到达目的芯片E。某个多播信元的目的地址为D和E,则首先需要在交换网芯片A完成到2个目的地址的信元复制,然后其中一个信元完成Trunk=4的负载均衡链路选择,通过B到达D,另一个信元完成Trunk=6的负载均衡链路选择,通过C到达E。
但如何实现数据信元的处理尚缺乏明确的解决机制。
发明内容
本发明要解决的技术问题是提供一种数据信元处理方法和装置,以提高交换效率。
为解决以上技术问题,本发明提供了一种数据信元处理方法,该方法包括:
配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
接收数据信元;
根据所述数据信元类型确定对应的端口聚合(Trunk),其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到所述单播信元对应的Trunk;若为多播信元,则提取所述多播信元的多播组地址,查询多播路由表,得到所述多播信元对应的一个或多个Trunk;
根据预置的负载均衡策略从确定的Trunk中选择输出链路,并通过所述选择的输出链路发送所述数据信元。
进一步地,所述负载均衡策略包括以下一种或多种组合:
缓存深度选择策略,每个输出链路的输出端口对应一个用于缓存待发送的数据信元的虚拟输出队列,根据所述各输出端口的虚拟输出队列的缓存深度进行选择;
掩码选择策略,利用选择掩码寄存器中掩码与端口的对应关系,从未选择的端口对应的掩码中选择;
从待选的端口中随机选择。
进一步地,利用选择掩码寄存器选择端口时,掩码的位宽与端口数相同,不同的Trunk对应的选择起始掩码相同或不同。
进一步地,选择掩码的翻转规则包括:
选择掩码寄存器的所有选择掩码均表示已选时,所有选择掩码翻转;
选择掩码寄存器的所有选择掩码与有效链路信息相与结果为全无效值,则翻转成上一个输出结果的取反。
进一步地,根据预置的负载均衡策略从对应的Trunk中选择输出链路包括:
(a)根据选择掩码寄存器从待选链路中确定备选端口,若备选端口唯一,则该备选端口为最终输出端口;若备选端口有多个,则执行步骤(b),若无备选端口,则执行步骤(c);
(b)根据虚拟输出队列深度从所述备选端口中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为最终输出端口,否随机选择其中一个作为最终输出端口;
(c)根据虚拟输出队列深度从待选链路中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为最终输出端口,否随机选择其中一个作为最终输出端口;
(d)翻转所述最终输出端口对应掩码,流程结束。
进一步地,确定对应的Trunk,选择输出链路前,该方法还包括,从所有输出链路中排除物理无效链路和/或预置的无效链路得到有效链路,再从所述有效链路中选择输出链路。
为解决以上技术问题,本发明还提供了一种数据信元处理装置,该装置包括:
配置模块,用于配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
接收模块,用于接收数据信元;
Trunk确定模块,用于根据所述数据信元类型确定对应的端口聚合(Trunk),其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到所述单播信元对应的Trunk;若为多播信元,则提取所述多播信元的多播组地址,查询多播路由表,得到所述多播信元对应的一个或多个Trunk;
输出链路选择模块,用于根据预置的负载均衡策略从所述Trunk确定模块确定的Trunk中选择输出链路;
发送模块,用于通过所述选择的输出链路发送所述数据信元。
进一步地,所述链路选择模块包括:
主电路,用于根据选择掩码寄存器从有效链路中确定备选端口,备选端口唯一时,该备选端口为输出端口;备选端口有多个时,根据虚拟输出队列深度从所述备选端口中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为输出端口,否随机选择其中一个作为输出端口;
副电路,用于根据虚拟输出队列深度从所述有效链路中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为输出端口,否则随机选择其中一个作为输出端口。
端口确定子模块,用于在主电路选择出输出端口时,确定所述主电路输出结果为最终输出端口,在主电路未选择出输出端口,且副电路选择出输出端口时,确定副电路输出结果为最终输出端口;
掩码翻转子模块,用于根据所述端口确定子模块翻转对应的掩码。
本发明方法和装置提供了一种实现数据信元在交换网中的处理的方案,提高交换的效率且利用预置负载均衡策略,能有效的实现数据信元在不同链路间的负载均衡,保证了各链路的业务量均衡,同时也降低了数据信元在交换网内部的延时。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1是本发明的交换网Trunk连接示意图;
图2是本发明数据信元处理方法的示意图;
图3是本发明数据信元处理流程的实施例示意图;
图4是本发明选择输出端口的实现方式示意图;
图5是本发明的负载均衡电路的主、副电路结构示意图;
图6是本发明的负载均衡电路的主、副电路输出结果选择流程示意图;
图7是本发明数据信元处理装置的模块结构示意图;
图8是本发明数据信元处理装置的又一模块结构示意图。
具体实施方式
如图2所示,本发明数据信元处理方法包括:
步骤201:配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
步骤202:接收数据信元;
步骤203:根据所述数据信元类型确定对应的端口聚合(Trunk),其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到所述单播信元对应的Trunk;若为多播信元,则提取所述多播信元的多播组地址,查询多播路由表,得到所述多播信元对应的一个或多个Trunk;
步骤204:根据预置的负载均衡策略从确定的Trunk中选择输出链路,并通过所述选择的输出链路发送所述数据信元。
所述负载均衡策略包括以下一种或多种组合:
缓存深度选择策略,每个输出链路的输出端口对应一个用于缓存待发送的数据信元的虚拟输出队列,根据所述各输出端口的虚拟输出队列的缓存深度进行选择;
掩码选择策略,利用选择掩码寄存器中掩码与端口的对应关系,从未选择的端口对应的掩码中选择;
从待选的端口中随机选择。
确定对应的Trunk,选择输出链路前,该方法还包括,从所有输出链路中排除物理无效链路和/或预置的无效链路得到有效链路,再从所述有效链路中选择输出链路。
以上几种负载均衡策略可以单独使用,也可以结合不同的逻辑关系组合使用,以下结合附图进行具体说明。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面结合附图对本发明的优选实施例进行说明,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
如图3所示,数据信元处理流程示意图:
步骤S301,通过软件配置Trunk分组,配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
Trunk的分组是与实际组网相关的,每一种组网结构中一般只存在一种Trunk分组,不同的Trunk分组不会在同一种组网结构中出现。
步骤S302,通过软件配置单播和多播的出端口过滤寄存器(Mask);
单播和多播出端口Mask是指用户可以根据需要设定某些链路是否可以用于单播或多播数据的输出。
步骤S303,接收到的数据信元进行类型识别,单播信元执行步骤S304,多播信元则执行步骤S310;
步骤S304,提取单播信元携带的目的地址信息;
步骤S305,根据步骤S304提取的目的地址信息查询单播路由表,得到对应的单播输出的Trunk编号;
步骤S306,在步骤S305输出的Trunk编号基础上进行物理无效链路的过滤,得到单播对应输出Trunk中所有有效链路;
物理无效链路是指物理线路异常的链路,可由链路的突然中断或线路的传输误码率过高等原因导致,如果用这样的链路来传输数据,则不能保证数据能正确发送出去。
步骤S307,在步骤S306的基础上,排除软件配置不允许单播输出的无效链路,得到最终的可输出该单播信元的全部有效链路;
步骤S308,在步骤S307所选择的链路中,根据虚拟输出队列(VOQ)缓存深度,完成输出链路选择;
交换网芯片的每一个输出端口对应着一个虚拟输出队列(VOQ)缓存,用于存放已经完成链路查表选择而还未发送出去的数据。如果某个端口的VOQ缓存深度比较深,说明此端口积压的未发送数据比较多,如果再选择往这条链路发送数据,则会更加恶化这条链路的拥塞程度;相反,某个端口的VOQ缓存深度比较浅,说明此端口积压的未发送数据比较少,链路发送比较通畅,将优先选择这样的链路进行数据发送。
步骤S309,根据步骤S308选择的链路将该单播信元从该链路中发送出去,当前单播流程处理完成,返回步骤S303。
步骤S310,提取多播信元携带的多播组地址信息;
步骤S311,根据步骤S310提取的多播组地址信息查询多播路由表,得到该多播信元应复制的Trunk组;
步骤S312,将该多播信元复制到各个Trunk组,即向每个Trunk都输出该多播信元;
步骤S313,在每个Trunk内进行物理无效链路的过滤,得到可以输出的物理有效链路;
步骤S314,将步骤S313多播对应输出Trunk中的所有物理有效链路,排除软件配置不允许多播输出的链路,得到最终的可输出该多播信元的全部有效链路;
步骤S315,在步骤S314所选择的链路中,每个Trunk内根据虚拟输出队列(VOQ)缓存深度,具体同S308,完成输出链路选择;
步骤S316,根据步骤S315的结果,重复步骤S313~步骤S315,完成该多播信元的复制与输出,返回步骤S303。
为近一步理解本发明实施例,下面通过具体实施例对本发明提供的技术方案进行说明。
某待处理信元A,经过类型判别为单播信元,则提取其携带的目的地址查询单播路由表,再对查表结果进行无效链路过滤后得到0#、1#、2#三条链路可以抵达,假设上一次的选择结果是0#链路,则本次将在1#和2#链路之间选择。如果1#链路和2#链路的VOQ缓存深度相等,则在1#和2#链路之间随机选择一条作为输出即可;如果1#链路和2#链路的VOQ缓存深度不相等,则本次将选择VOQ缓存深度较浅的那条链路作为输出链路。
某待处理信元B,经过类型判别为多播信元,则提取其携带的多播组地址查询多播路由表,得到需要复制的Trunk组,假设需要复制到Trunk M和Trunk N,则在Trunk M和Trunk N内分别执行类似上述单播信元A的处理。最终,在Trunk M内选择一条输出链路,在Trunk N内选择一条输出链路,分别输出多播信元B即可。
在以上实施例1中,在确定的Trunk中确定输出链路时,先从所有链路中选择出有效链路,再根据虚拟输出队列(VOQ)缓存深度选择输出链路,可变换地,如图4所示,各Trunk也可以根据以下方法确定输出链路:
(401)根据选择掩码寄存器从待选链路中确定备选端口,若备选端口唯一,则该备选端口为最终输出端口;若备选端口有多个,则执行步骤(402),若无备选端口,则执行步骤(403);
(402)根据虚拟输出队列深度从所述备选端口中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为最终输出端口,否随机选择其中一个作为最终输出端口;
(403)根据虚拟输出队列深度从待选链路中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为最终输出端口,否随机选择其中一个作为最终输出端口;
(404)翻转所述最终输出端口对应掩码,流程结束。
具体地,以上图4流程可由两个子电路实现,如图5所示,本发明将其称为主电路和副电路。
主电路具有选择记忆功能,电路中设置一个选择掩码寄存器,能记录本次的选择结果并能作用于下一次负载均衡选择运算,以此保证各端口不会连续被选到。
主电路选择掩码的位宽与交换网的端口数相等,每一位与端口一一对应,掩码规则为当前结果选中了哪些端口,就将对应位置成0(这里是具体示意,当然也可以设置为1,以下设置相应改变),未选到位保持原值。
主电路选择掩码也受Trunk配置的作用,分成不同的Trunk组,每个Trunk内选择掩码的翻转规则为:
1)Trunk内的选择掩码为全0则翻转成全1,并作用于下一次选择运算,即,选择掩码寄存器的所有选择掩码均表示已选时,所有选择掩码翻转;
2)Trunk内的选择掩码和有效链路信息相与的结果为全0则翻转成上一个输出结果的取反,即,Trunk内的选择掩码和有效链路信息相与的结果为全无效值则翻转成上一个输出结果的取反。
以Trunk=4为例,选择掩码为4’b1100,有效链路信息为4’b1111,两者相与为4’b1100,在两个为1的链路中选择出一条链路即可,如bit2的1,输出的结果就为4’b0100,当前信元处理结束,接下来进行下一个信元的处理。此时选择掩码变成了4’b1000,新进入的有效链路信息为4’b0011,两者相与为4’b0000,这样主电路就选不出结果了,此种情况需要使用副电路的结果,并且选择掩码翻转成上一个输出结果4’b0100的取反:4’b1011。
副电路具有全端口选择功能,确保在主电路无有效结果输出时能采用副电路的结果。
主电路和副电路每次都同时运算,最终结果的选择遵循如下规则:主电路的结果有效(即,有效指确定唯一的输出端口)时则输出主电路的结果;主电路的结果无效副电路的结果有效时,输出副电路的结果;主电路、副电路的结果都无效时,则当前输出结果无效。
图5为本发明所述的负载均衡电路的结构图,输入(501)为所有有效的链路信息及VOQ缓存深度信息,这些信息同时送入主电路(502)和副电路(503),同时送入主电路的还有每次根据输出结果计算出的选择掩码(即,根据选择端口进行过翻转处理的掩码)(504),主、副电路同步计算,各计算出一个结果,经过MUX选择后完成输出(505)。
图6为主、副电路输出结果的选择流程图,首先MUX判断主电路输出结果是否有效(601),如果主电路输出结果有效则输出主电路结果(602),否则判断副电路结果是否有效(603),如果副电路输出结果有效则输出副电路结果(604),否则输出无效值(605)。
相应于上述方法,本发明进而提出了一种数据信元处理装置,如图7所示,该装置包括:
配置模块,用于配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
接收模块,用于接收数据信元;
Trunk确定模块,用于根据所述数据信元类型确定对应的端口聚合(Trunk),其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到所述单播信元对应的Trunk;若为多播信元,则提取所述多播信元的多播组地址,查询多播路由表,得到所述多播信元对应的一个或多个Trunk;
输出链路选择模块,用于根据预置的负载均衡策略从所述Trunk确定模块确定的Trunk中选择输出链路;
发送模块,用于通过所述选择的输出链路发送所述数据信元。
若采用VOQ缓存队列,则将要输出的数据信元存入到最终输出端口的VOQ缓存队列中,等待输出;每个队列维护一个VOQ缓存深度计数器,进入一个信元加1,输出一个信元则减1,并将VOQ缓存深度信息实时的输出至输出链路选择模块。
所述输出链路选择模块选择所述输出链路时依据的负载均衡策略包括以下一种或多种组合:
缓存深度选择策略,每个输出链路的输出端口对应一个用于缓存待发送的数据信元的虚拟输出队列,根据所述各输出端口的虚拟输出队列的缓存深度进行选择;
掩码选择策略,利用选择掩码寄存器中掩码与端口的对应关系,从未选择的端口对应的掩码中选择;
从待选的端口中随机选择。
进一步地,利用选择掩码寄存器选择端口时,掩码的位宽与端口数相同,不同的Trunk对应的选择掩码相同或不同。
选择掩码的翻转规则包括:
选择掩码寄存器的所有选择掩码均表示已选时,所有选择掩码翻转;
选择掩码寄存器的所有选择掩码与有效链路信息相与结果为全无效值,则翻转成上一个输出结果的取反。
对应于图4,所述链路选择模块包括:
主电路,用于根据选择掩码寄存器从有效链路中确定备选端口,备选端口唯一时,该备选端口为输出端口;备选端口有多个时,根据虚拟输出队列深度从所述备选端口中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为输出端口,否随机选择其中一个作为输出端口;
副电路,用于根据虚拟输出队列深度从所述有效链路中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为输出端口,否则随机选择其中一个作为输出端口;
端口确定子模块,用于在主电路选择出输出端口时,确定所述主电路输出结果为最终输出端口,在主电路未选择出输出端口,且副电路选择出输出端口时,确定副电路输出结果为最终输出端口;
掩码翻转子模块,用于根据所述端口确定子模块翻转对应的掩码。
图8是另一装置示意图,与图7不同之处在于,所述装置还包括有效链路选择模块,用于从所有输出链路中排除物理无效链路和/或预置的无效链路得到有效链路,所述输出链路选择模块,从所述有效链路中选择输出链路。
以上所述,仅为本发明的较佳实施例而已,并非用于本发明的限定范围。
本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
在到达一个目的地存在多条路径可达的情况下,同时根据输出端口或者链路的缓存深度,选择最优的输出路径,实现单播的负载均衡,多播的负载均衡与复制。
利用本发明提供负载均衡策略,能有效的实现数据信元在不同链路间的负载均衡,保证了各链路的业务量均衡,同时也降低了数据信元在交换网内部的延时,提高了交换的效率。

Claims (8)

1.一种数据信元处理方法,其特征在于,该方法包括:
配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
接收数据信元;
根据所述数据信元类型确定对应的Trunk,其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到所述单播信元对应的Trunk;若为多播信元,则提取所述多播信元的多播组地址,查询多播路由表,得到所述多播信元对应的一个或多个Trunk;
根据预置的负载均衡策略从确定的Trunk中选择输出链路,并通过所述选择的输出链路发送所述数据信元;所述负载均衡策略包括以下一种或多种组合:
缓存深度选择策略,每个输出链路的输出端口对应一个用于缓存待发送的数据信元的虚拟输出队列,根据所述各输出端口的虚拟输出队列的缓存深度进行选择;
掩码选择策略,利用选择掩码寄存器中掩码与端口的对应关系,从未选择的端口对应的掩码中选择;
从待选的端口中随机选择。
2.如权利要求1所述的方法,其特征在于:利用选择掩码寄存器选择端口时,掩码的位宽与端口数相同,不同的Trunk对应的选择起始掩码相同或不同。
3.如权利要求1所述的方法,其特征在于:选择掩码的翻转规则包括:
选择掩码寄存器的所有选择掩码均表示已选时,所有选择掩码翻转;
选择掩码寄存器的所有选择掩码与有效链路信息相与结果为全无效值,则翻转成上一个输出结果的取反。
4.如权利要求1所述的方法,其特征在于:根据预置的负载均衡策略从对应的Trunk中选择输出链路包括:
(a)根据选择掩码寄存器从待选链路中确定备选端口,若备选端口唯一,则该备选端口为最终输出端口;若备选端口有多个,则执行步骤(b),若无备选端口,则执行步骤(c);
(b)根据虚拟输出队列深度从所述备选端口中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为最终输出端口,否随机选择其中一个作为最终输出端口;
(c)根据虚拟输出队列深度从待选链路中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为最终输出端口,否随机选择其中一个作为最终输出端口;
(d)翻转所述最终输出端口对应掩码,流程结束。
5.如权利要求1所述的方法,其特征在于:确定对应的Trunk,选择输出链路前,该方法还包括,从所有输出链路中排除物理无效链路和/或预置的无效链路得到有效链路,再从所述有效链路中选择输出链路。
6.一种数据信元处理装置,其特征在于,该装置包括:
配置模块,用于配置单播路由表和多播路由表,其中所述单播路由表包括单播目的地址与端口聚合(Trunk)的对应关系,所述多播路由表包括多播组地址与Trunk的对应关系;
接收模块,用于接收数据信元;
Trunk确定模块,用于根据所述数据信元类型确定对应的Trunk,其中,若为单播信元,则提取单播信元的目的地址,查询单播路由表,得到所述单播信元对应的Trunk;若为多播信元,则提取所述多播信元的多播组地址,查询多播路由表,得到所述多播信元对应的一个或多个Trunk;
输出链路选择模块,用于根据预置的负载均衡策略从所述Trunk确定模块确定的Trunk中选择输出链路;
发送模块,用于通过所述选择的输出链路发送所述数据信元;其中,所述输出链路选择模块选择所述输出链路时依据的负载均衡策略包括以下一种或多种组合:
缓存深度选择策略,每个输出链路的输出端口对应一个用于缓存待发送的数据信元的虚拟输出队列,根据所述各输出端口的虚拟输出队列的缓存深度进行选择;
掩码选择策略,利用选择掩码寄存器中掩码与端口的对应关系,从未选择的端口对应的掩码中选择;
从待选的端口中随机选择。
7.如权利要求6所述的装置,其特征在于:利用选择掩码寄存器选择端口时,掩码的位宽与端口数相同,不同的Trunk对应的选择掩码相同或不同;选择掩码的翻转规则包括:
选择掩码寄存器的所有选择掩码均表示已选时,所有选择掩码翻转;
选择掩码寄存器的所有选择掩码与有效链路信息相与结果为全无效值,则翻转成上一个输出结果的取反。
8.如权利要求6所述的装置,其特征在于:所述输出链路选择模块包括:
主电路,用于根据选择掩码寄存器从有效链路中确定备选端口,备选端口唯一时,该备选端口为输出端口;备选端口有多个时,根据虚拟输出队列深度从所述备选端口中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为输出端口,否随机选择其中一个作为输出端口;
副电路,用于根据虚拟输出队列深度从所述有效链路中选择输出端口,若深度最小的端口唯一,则选择最小的备选端口为输出端口,否则随机选择其中一个作为输出端口;
端口确定子模块,用于在主电路选择出输出端口时,确定所述主电路输出结果为最终输出端口,在主电路未选择出输出端口,且副电路选择出输出端口时,确定副电路输出结果为最终输出端口;
掩码翻转子模块,用于根据所述端口确定子模块翻转对应的掩码。
CN201010612421.1A 2010-12-29 2010-12-29 数据信元处理方法和装置 Expired - Fee Related CN102065014B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201010612421.1A CN102065014B (zh) 2010-12-29 2010-12-29 数据信元处理方法和装置
PCT/CN2011/081179 WO2012088950A1 (zh) 2010-12-29 2011-10-24 数据信元处理方法和装置
EP11853857.8A EP2648374B1 (en) 2010-12-29 2011-10-24 Method and device for processing data cell
US13/976,938 US9083607B2 (en) 2010-12-29 2011-10-24 Method and device for processing data cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010612421.1A CN102065014B (zh) 2010-12-29 2010-12-29 数据信元处理方法和装置

Publications (2)

Publication Number Publication Date
CN102065014A CN102065014A (zh) 2011-05-18
CN102065014B true CN102065014B (zh) 2014-12-31

Family

ID=44000120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010612421.1A Expired - Fee Related CN102065014B (zh) 2010-12-29 2010-12-29 数据信元处理方法和装置

Country Status (4)

Country Link
US (1) US9083607B2 (zh)
EP (1) EP2648374B1 (zh)
CN (1) CN102065014B (zh)
WO (1) WO2012088950A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065014B (zh) 2010-12-29 2014-12-31 中兴通讯股份有限公司 数据信元处理方法和装置
CN103067295A (zh) * 2013-01-04 2013-04-24 华为技术有限公司 业务传输的方法、装置与系统
CN104113485B (zh) * 2013-04-17 2019-01-04 中兴通讯股份有限公司 负载均衡方法、装置及系统
CN104113489A (zh) * 2013-04-18 2014-10-22 中兴通讯股份有限公司 一种变长多播数据信元处理方法、装置和交换网元
US9253043B2 (en) * 2013-11-30 2016-02-02 At&T Intellectual Property I, L.P. Methods and apparatus to convert router configuration data
CN105573711B (zh) 2014-10-14 2019-07-19 深圳市中兴微电子技术有限公司 一种数据缓存方法及装置
CN104639441B (zh) * 2015-02-05 2019-01-08 新华三技术有限公司 一种单播报文转发方法和装置
CN105515993B (zh) * 2015-11-26 2019-02-15 西安空间无线电技术研究所 一种光电混合交换内部路径映射方法
CN108243113B (zh) * 2016-12-26 2020-06-16 深圳市中兴微电子技术有限公司 随机负载均衡的方法及装置
CN107426105B (zh) * 2017-07-17 2019-10-22 中国电子科技集团公司第五十四研究所 一种高效路由装置及其维护和读取方法
CN112039783B (zh) * 2020-08-19 2022-08-09 恒安嘉新(北京)科技股份公司 通信数据输出方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150490A (zh) * 2006-09-23 2008-03-26 华为技术有限公司 一种单播和多播业务数据包的队列管理方法和系统
US7570639B2 (en) * 2004-11-30 2009-08-04 Broadcom Corporation Multicast trunking in a network device
CN101527686A (zh) * 2009-04-07 2009-09-09 华为技术有限公司 一种数据交换方法和设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3735471B2 (ja) * 1998-10-05 2006-01-18 株式会社日立製作所 パケット中継装置およびlsi
US6553028B1 (en) * 1999-04-30 2003-04-22 Cisco Technology, Inc. Method and apparatus for multicast switching using a centralized switching engine
US7315552B2 (en) * 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
US6567417B2 (en) 2000-06-19 2003-05-20 Broadcom Corporation Frame forwarding in a switch fabric
US6920106B1 (en) * 2001-09-07 2005-07-19 Agilent Technologies, Inc. Speculative loading of buffers within a port of a network device
CN1731760A (zh) 2005-08-05 2006-02-08 武汉理工大学 一种基于泛洪机制的Ad Hoc网络的路由方法
US7843929B2 (en) * 2007-04-20 2010-11-30 Cray Inc. Flexible routing tables for a high-radix router
CN102065014B (zh) * 2010-12-29 2014-12-31 中兴通讯股份有限公司 数据信元处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7570639B2 (en) * 2004-11-30 2009-08-04 Broadcom Corporation Multicast trunking in a network device
CN101150490A (zh) * 2006-09-23 2008-03-26 华为技术有限公司 一种单播和多播业务数据包的队列管理方法和系统
CN101527686A (zh) * 2009-04-07 2009-09-09 华为技术有限公司 一种数据交换方法和设备

Also Published As

Publication number Publication date
EP2648374A1 (en) 2013-10-09
EP2648374B1 (en) 2018-11-28
US9083607B2 (en) 2015-07-14
WO2012088950A1 (zh) 2012-07-05
EP2648374A4 (en) 2017-08-23
CN102065014A (zh) 2011-05-18
US20130286894A1 (en) 2013-10-31

Similar Documents

Publication Publication Date Title
CN102065014B (zh) 数据信元处理方法和装置
EP0226632B1 (en) A packet switching network with multiple packet destinations
US8570856B2 (en) Global ports in multi-switch systems
CN101217528B (zh) 一种链路聚合方法和装置
CN102238072A (zh) 一种动态选择路由的方法及clos交换网系统
CN101416446A (zh) 利用误差校正的高度并行交换系统
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
CN103931147A (zh) 面向连接的网络中的路径分集
CN108337196B (zh) 一种通过交换芯片构建的交换系统及其路由算法
CN103155501A (zh) 通信系统、控制设备、设置处理规则的方法和程序
CN103460654A (zh) 中继装置、中继装置的控制方法以及计算机程序
CN104980373A (zh) 一种控制服务器及其应用的系统和方法
CN108259387A (zh) 一种通过交换机构建的交换系统及其路由算法
US7151752B2 (en) Method for the broadcasting of a data packet within a switched network based on an optimized calculation of the spanning tree
CN103546397B (zh) 支持乱序的自路由Omega网络
CN102035741B (zh) 一种环形拓扑网络中单播报文的转发方法及设备
CN102918812A (zh) 最小缓存复杂度的负载均衡分组交换结构及其构造方法
CN104796343A (zh) 一种基于片上网络的通信结构
WO2017084228A1 (zh) 软件定义网络中流量项目的管理方法
CN107872385B (zh) 一种sdn网络路由计算与控制方法
US7254139B2 (en) Data transmission system with multi-memory packet switch
CN104580000A (zh) 一种基于流表技术的RapidIO交换方法
CN1729661A (zh) 分组交换网络中返回路径的推导
CN100425035C (zh) 基于变长包的交换系统及交换方法
CA2474519A1 (en) Port label switching

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Liu Jianli

Inventor after: Zeng Min

Inventor after: Wang Xiaoming

Inventor after: Tong Xiaojiu

Inventor before: Liu Jianli

Inventor before: Zeng Min

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LIU JIANLI ZENG MIN TO: LIU JIANLI ZENG MIN WANG XIAOMING TONG XIAOJIU

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20110518

Assignee: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Assignor: ZTE Corporation

Contract record no.: 2015440020319

Denomination of invention: Data cell processing method and device

Granted publication date: 20141231

License type: Common License

Record date: 20151123

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141231

Termination date: 20191229