WO2012088950A1 - 数据信元处理方法和装置 - Google Patents
数据信元处理方法和装置 Download PDFInfo
- Publication number
- WO2012088950A1 WO2012088950A1 PCT/CN2011/081179 CN2011081179W WO2012088950A1 WO 2012088950 A1 WO2012088950 A1 WO 2012088950A1 CN 2011081179 W CN2011081179 W CN 2011081179W WO 2012088950 A1 WO2012088950 A1 WO 2012088950A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- port
- output
- link
- selection
- cell
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Definitions
- the present invention relates to the field of data communications, and in particular, to a data cell processing method and apparatus. Background technique
- the switching capacity supported by the dedicated chip of the switching network is also increasing, and the number of supported ports is also increasing, such as 64 x 64 switching, 96 96 switching, 128 128 switching, and also supporting the cascading of the level 3 CLOS network.
- the networking mode has great flexibility.
- the switching capacity is satisfied, or in order to ensure the robustness of the connection of the system, multiple link connections are often set between the switching network chips.
- the port utilization of the switching network chip is improved, and on the other hand, the transmission bandwidth between the two chips is also increased.
- the concept of switching network port aggregation (Trunk) is proposed. Specifically, two or more physical ports are combined into one logical port through register configuration. The physical bandwidth of the logical port is equal to the bandwidth of all member ports. Sum. This provides a flexible way to network and increase port bandwidth.
- 1 is a schematic diagram of a trunk network trunk connection.
- the technical problem to be solved by the present invention is to provide a data cell processing method and apparatus to improve switching efficiency.
- the present invention provides a data cell processing method, the method comprising: configuring a unicast routing table and a multicast routing table, where the unicast routing table includes a unicast destination address and port aggregation (Trunk) Corresponding relationship, the multicast routing table includes a correspondence between a multicast group address and a trunk;
- Trunk a corresponding port aggregation
- An output link is selected from the determined trunk according to a preset load balancing policy, and the data cell is transmitted through the selected output link.
- the load balancing policy comprises one or more of the following combinations:
- a cache depth selection policy where an output port of each output link corresponds to a virtual output queue for buffering data cells to be sent, and is selected according to a cache depth of the virtual output queues of the output ports;
- the mask selection strategy uses the correspondence between the mask and the port in the selection mask register to select from the mask corresponding to the unselected port; randomly selects from the selected port.
- the bit width of the mask is the same as the number of ports, and the selection start masks corresponding to different trunks are the same or different.
- the flipping rule of the selection mask comprises:
- All selection masks of the selection mask register indicate that all selection masks are flipped when selected; If all the selection masks of the selection mask register and the effective link information are combined and the result is a completely invalid value, the result is inverted to the negation of the previous output result.
- selecting an output link from the corresponding trunk according to the preset load balancing policy comprises: (a) determining an alternate port from the candidate link according to the selection mask register, and if the candidate port is unique, the candidate The port is the final output port; if there are multiple ports, perform step (b). If there is no candidate port, perform step (c);
- the method before determining the corresponding trunk, before selecting the output link, the method further includes: excluding the physical invalid link and/or the preset invalid link from all the output links to obtain a valid link, and then obtaining the effective link from the effective link. Select the output link in the road.
- the present invention also provides a data cell processing apparatus, the apparatus comprising:
- a configuration module configured to: configure a unicast routing table and a multicast routing table, where the unicast routing table includes a correspondence between a unicast destination address and a port aggregation (Trunk), where the multicast routing table includes a multicast group address Correspondence with the trunk;
- a receiving module configured to: receive a data cell
- the Trunk determining module is configured to: determine, according to the data cell type, a corresponding port aggregation (Trunk), where, if it is a unicast cell, extract the destination address of the unicast cell, query the unicast routing table, and obtain The Trunk corresponding to the unicast cell; if it is a multicast cell, extract the multicast group address of the multicast cell, query the multicast routing table, and obtain one or more corresponding to the multicast cell.
- Trunk determining, according to the data cell type, a corresponding port aggregation (Trunk), where, if it is a unicast cell, extract the destination address of the unicast cell, query the unicast routing table, and obtain The Trunk corresponding to the unicast cell; if it is a multicast cell, extract the multicast group address of the multicast cell, query the multicast routing table, and obtain one or more corresponding to the multicast cell.
- An output link selection module which is set to: from the trunk according to a preset load balancing policy Determining an output link selected in the trunk determined by the module;
- a sending module configured to: send the data cell by using the selected output link.
- the load balancing policy according to which the output link selection module selects the output link includes one or more of the following combinations:
- a cache depth selection policy where an output port of each output link corresponds to a virtual output queue for buffering data cells to be sent, and is selected according to a cache depth of the virtual output queues of the output ports;
- the mask selection strategy uses the correspondence between the mask and the port in the selection mask register to select from the mask corresponding to the unselected port; randomly selects from the selected port.
- the bit width of the mask is the same as the number of ports, and the selection masks corresponding to different trunks are the same or different;
- All selection masks of the selection mask register indicate that all selection masks are flipped when selected; all selection masks of the selection mask register and the effective link information are combined with the result of all invalid values, then flipped to the previous output result Inversion.
- the output link selection module includes:
- the main circuit is configured to: determine an alternate port from the effective link according to the selection mask register, and when the candidate port is unique, the candidate port is an output port; when there are multiple candidate ports, the virtual output queue is determined according to the virtual output queue Depth selects an output port from the candidate ports. If the port with the smallest depth is unique, select the smallest candidate port as the output port, and randomly select one of them as the output port;
- the secondary circuit is configured to: select an output port from the effective link according to the virtual output queue depth, and if the port with the smallest depth is unique, select the smallest candidate port as the output port, otherwise select one of the ports as the output port.
- the port determining sub-module is configured to: when the main circuit selects the output port, determine that the output result of the main circuit is the final output port, and when the output circuit is not selected by the main circuit, and the sub-circuit selects the output port, the deputy is determined The circuit output is the final output port;
- the mask flip sub-module is configured to: determine, according to the port, a sub-module to flip the corresponding mask.
- the method and apparatus of the embodiments of the present invention provide a method for implementing data cell processing in a switching network.
- the solution improves the efficiency of the exchange and utilizes the preset load balancing strategy, which can effectively achieve load balancing of data cells between different links, ensure the balance of traffic of each link, and reduce the exchange of data cells.
- the delay inside the network improves the efficiency of the exchange and utilizes the preset load balancing strategy, which can effectively achieve load balancing of data cells between different links, ensure the balance of traffic of each link, and reduce the exchange of data cells. The delay inside the network.
- FIG. 1 is a schematic diagram of a trunk network connection of the present invention
- FIG. 2 is a schematic diagram of a data cell processing method of the present invention
- FIG. 3 is a schematic diagram of an embodiment of a data cell processing flow of the present invention.
- FIG. 4 is a schematic diagram of an implementation manner of selecting an output port according to the present invention.
- FIG. 5 is a schematic structural diagram of main and sub circuits of the load balancing circuit of the present invention.
- FIG. 6 is a schematic diagram showing the selection process of the output results of the main and sub-circuits of the load balancing circuit of the present invention
- FIG. 7 is a block diagram showing the structure of the data cell processing apparatus of the present invention.
- FIG. 8 is a block diagram showing another module structure of the data cell processing apparatus of the present invention.
- the data cell processing method of the present invention includes:
- Step 201 Configure a unicast routing table and a multicast routing table, where the unicast routing table includes a correspondence between a unicast destination address and a port aggregation (Trunk), where the multicast routing table includes a multicast group address and a trunk.
- the unicast routing table includes a correspondence between a unicast destination address and a port aggregation (Trunk)
- the multicast routing table includes a multicast group address and a trunk.
- Step 202 Receive a data cell.
- Step 203 Determine, according to the data cell type, a corresponding port aggregation (Trunk), where, if it is a unicast cell, extract a destination address of the unicast cell, query a unicast routing table, and obtain the unicast message. a trunk corresponding to the element; if it is a multicast cell, extract the multicast group address of the multicast cell, query the multicast routing table, and obtain one or more trunks corresponding to the multicast cell;
- Trunk port aggregation
- Step 204 Select an output link from the determined trunk according to a preset load balancing policy, and The data cell is transmitted over the selected output link.
- the load balancing strategy includes one or more of the following combinations:
- a cache depth selection policy where an output port of each output link corresponds to a virtual output queue for buffering data cells to be sent, and is selected according to a cache depth of the virtual output queues of the output ports;
- the mask selection strategy uses the correspondence between the mask and the port in the selection mask register to select from the mask corresponding to the unselected port; randomly selects from the selected port.
- the method further includes: excluding the physical invalid link and/or the preset invalid link from all output links to obtain a valid link, and then selecting from the effective link Output link.
- Step S301 Configure a unicast routing table and a multicast routing table by using a software, and the unicast routing table includes a correspondence between a unicast destination address and a port aggregation (Trunk), where the multicast routing table includes multiple The correspondence between the broadcast group address and the trunk;
- Trunk grouping is related to the actual networking. Generally, only one Trunk packet exists in each networking structure. Different Trunk packets do not appear in the same networking structure.
- Step S302 configuring unicast and multicast outbound port filtering registers (Mask) through software; unicast and multicast outgoing port Mask means that the user can set whether certain links can be used for unicast or multicast data according to requirements.
- Step S303 the received data cell performs type identification, the unicast cell performs step S304, and the multicast cell performs step S310;
- Step S304 extracting destination address information carried by the unicast cell
- Step S305 querying the unicast routing table according to the destination address information extracted in step S304, and obtaining a Trunk number of the corresponding unicast output;
- Step S306 performing physical-invalid link filtering on the basis of the trunk number outputted in step S305, and obtaining all valid links in the unicast corresponding output trunk;
- a physical invalid link is a link with an abnormal physical line. It can be caused by a sudden interruption of the link or an excessive bit error rate of the transmission of the line. If such a link is used to transmit data, the data cannot be correctly transmitted.
- Step S307 on the basis of step S306, excluding the invalid link that the software configuration does not allow unicast output, and obtain the final valid link that can output the unicast cell;
- Step S308 in the link selected in step S307, completing output link selection according to a virtual output queue (VOQ) cache depth;
- VOQ virtual output queue
- Each output port of the switching network chip corresponds to a virtual output queue (VOQ) buffer for storing data that has not been sent out after the link lookup table selection has been completed.
- VOQ virtual output queue
- Step S309 the unicast cell is sent out from the link according to the link selected in step S308, and the current unicast process is completed, and the process returns to step S303.
- Step S310 extracting multicast group address information carried by the multicast cell.
- Step S311 querying the multicast routing table according to the multicast group address information extracted in step S310, and obtaining a trunk group to which the multicast cell should be copied;
- Step S312 the multicast cell is copied to each trunk group, that is, the multicast cell is output to each trunk.
- Step S313 performing physical invalid link filtering in each trunk, and obtaining outputtable Physical effective link
- Step S314 multicasting all physical effective links in the trunk according to the step S313, excluding the link that the software configuration does not allow multicast output, and obtaining the final valid link that can output the multicast cell;
- VOQ virtual output queue
- Steps S316, 4 according to the result of step S315, repeating steps S313 to S315, completing the copying and outputting of the multicast cell, and returning to step S303.
- a pending cell A after being discriminated as a unicast cell, extracts the destination address of the unicast routing table, and then performs invalid link filtering on the result of the table to obtain 0#, 1#, 2#
- the link can arrive, assuming that the last selection result is a 0# link, this time will be selected between the 1# and 2# links. If the VOQ buffer depths of the 1# link and the 2# link are equal, then one of the 1# and 2# links is randomly selected as the output; if the VOQ buffer depth of the 1# link and the 2# link is not If they are equal, the link with the shallower VOQ buffer depth will be selected as the output link.
- a pending cell B after being identified as a multicast cell by type, extracts the multicast group address that is carried by the multicast multicast routing table, and obtains the trunk group to be copied. If it is necessary to copy to the trunk M and the trunk N, The processing of the above unicast cell A is performed in the trunk M and the trunk N, respectively. Finally, select an output link in trunk M, select an output link in trunk N, and output multicast cell B separately.
- each trunk can also determine the output link according to the following method:
- step (401) determining an alternate port from the candidate link according to the selection mask register, if the candidate port is unique, the candidate port is the final output port; if there are multiple candidate ports, performing step (402), If there is no alternative port, step (403) is performed;
- FIG. 4 can be implemented by two sub-circuits, as shown in FIG. 5, which is referred to as a main circuit and a sub-circuit.
- the main circuit has a selection memory function, and a selection mask register is set in the circuit, which can record the selection result of this time and can be applied to the next load balancing selection operation, thereby ensuring that each port is not continuously selected.
- the bit width of the main circuit selection mask is equal to the number of ports of the switching network, and each bit corresponds to the port.
- the mask rule is which port is selected for the current result, and the corresponding position is 0 (here is specific, of course Can be set to 1, the following settings are changed accordingly, and the original value is not selected.
- the main circuit selection mask is also divided into different trunk groups by the configuration of the trunk.
- the flipping rule for selecting the mask in each trunk is:
- the selection mask is 4, b 1100
- the effective link information is 4, b 1111
- the two are 4'bl lOO, and one link is selected among the two links of 1. That is, if bit 1 is 1, the output result is 4'b0100, the current cell processing ends, and then the next cell is processed. At this time, the selection mask becomes 4'bl000, the newly entered effective link information is 4'b0011, and the two phases are 4'b0000, so that the main circuit can not select the result. In this case, the sub-circuit is required. The result, and the selection mask is flipped to the previous output result 4, the inverse of b0100: 4, bl011.
- the sub-circuit has a full port selection function to ensure that the main circuit can be used without a valid result output.
- the result of the circuit is a full port selection function to ensure that the main circuit can be used without a valid result output.
- the main circuit and the sub-circuit are simultaneously operated at the same time, and the final result is selected according to the following rules:
- the result of the main circuit is valid when the result of the main circuit is valid (ie, effectively refers to determining the unique output port); the result of the main circuit is invalid.
- the result of the sub-circuit is output; if the result of the main circuit or the sub-circuit is invalid, the current output result is invalid.
- FIG. 5 is a structural diagram of a load balancing circuit according to the present invention, where input (501) is all valid link information and VOQ buffer depth information, and the information is simultaneously sent to the main circuit (502) and the sub circuit (503), and simultaneously Also sent to the main circuit is a selection mask calculated according to the output result (that is, a mask that has been subjected to the inversion processing according to the selected port) (504), and the main and sub circuits are simultaneously calculated, and each result is calculated.
- the output is completed after the MUX is selected (505).
- Figure 6 is a selection flow chart of the main and sub-circuit output results.
- the MUX determines whether the main circuit output result is valid (601). If the main circuit output result is valid, the main circuit result (602) is output, otherwise it is judged whether the sub-circuit result is valid ( 603), if the sub-circuit output result is valid, the sub-circuit result (604) is output, otherwise the invalid value (605) is output.
- the present invention further provides a data cell processing apparatus.
- the apparatus includes:
- a configuration module configured to configure a unicast routing table and a multicast routing table, where the unicast routing table includes a correspondence between a unicast destination address and a port aggregation (Trunk), where the multicast routing table includes a multicast group address and The corresponding relationship of the trunk;
- a receiving module configured to receive data cells
- Trunk determining module configured to determine, according to the data cell type, a corresponding port aggregation (Trunk), where, if it is a unicast cell, extract a destination address of the unicast cell, query a unicast routing table, and obtain the a trunk corresponding to the unicast cell; if it is a multicast cell, extract the multicast group address of the multicast cell, query the multicast routing table, and obtain one or more trunks corresponding to the multicast cell;
- Trunk port aggregation
- an output link selection module configured to select an output link from the trunk determined by the trunk determining module according to a preset load balancing policy
- a sending module configured to send the data cell by using the selected output link. If the VOQ buffer queue is used, the data cells to be output are stored in the VOQ buffer queue of the final output port, waiting for output; each queue maintains a VOQ buffer depth counter, enters a cell plus 1 and outputs a cell. Then, the VOQ buffer depth information is output to the output link selection module in real time.
- the load balancing policy according to the output link selection module selecting the output link includes one or more of the following combinations:
- a cache depth selection policy where an output port of each output link corresponds to a virtual output queue for buffering data cells to be sent, and is selected according to a cache depth of the virtual output queues of the output ports;
- the mask selection strategy uses the correspondence between the mask and the port in the selection mask register to select from the mask corresponding to the unselected port; randomly selects from the selected port.
- the bit width of the mask is the same as the number of ports, and the selection masks corresponding to different trunks are the same or different.
- the flipping rules for selecting a mask include:
- All selection masks of the selection mask register indicate that all selection masks are flipped when selected; all selection masks of the selection mask register and the effective link information are combined with the result of all invalid values, then flipped to the previous output result Inversion.
- the output link selection module includes:
- the main circuit is configured to determine an alternate port from the effective link according to the selection mask register.
- the candidate port is unique, the candidate port is an output port;
- the virtual output queue depth is determined from Selecting an output port among the candidate ports, if the port with the smallest depth is unique, selecting the smallest candidate port as the output port, and randomly selecting one of them as the output port;
- a secondary circuit configured to select an output port from the effective link according to a virtual output queue depth, and if the port with the smallest depth is unique, select a minimum candidate port as an output port, and randomly select one of them as an output port;
- a port determining submodule configured to determine, when the main circuit selects an output port, that the output result of the main circuit is a final output port, the output port is not selected in the main circuit, and the sub circuit selects an output When the port is determined, the output of the sub-circuit is determined to be the final output port;
- the mask flip sub-module is configured to determine, according to the port, a sub-module to flip the corresponding mask.
- Figure 8 is a schematic diagram of another apparatus, which differs from Figure 7 in that the apparatus further includes an active link selection module for excluding physical invalid links and/or preset invalid links from all output links.
- An active link, the output link selection module selects an output link from the active links.
- the optimal output path is selected according to the output port or the cache depth of the link to implement unicast load balancing, multicast load balancing and replication.
- the invention provides a load balancing strategy, which can effectively implement load balancing of data cells between different links, ensure the balance of traffic of each link, and reduce the delay of data cells in the switching network and improve the delay. The efficiency of the exchange.
- the method and apparatus of the embodiments of the present invention provide a solution for implementing processing of data cells in a switching network, improving the efficiency of switching, and utilizing a preset load balancing strategy, which can effectively implement data cells in different chains.
- the load balancing between the roads ensures the balance of the traffic of each link, and also reduces the delay of the data cells inside the switching network.
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 x 64交换、 96 96交换、 128 128交换, 同时也支持 3级 CLOS网络的级联。
在现实组网中, 组网方式存在很大的灵活性。 在交换容量满足的情况下, 或者为了保证系统的连接健壮性,交换网芯片之间往往会设置多条链路连接。 一方面提高了交换网芯片的端口利用率, 另一方面也提高了两个芯片之间的 传输带宽。 为了便于说明, 提出交换网端口聚合(Trunk )的概念, 具体是指 通过寄存器配置, 将 2个或多个物理端口组合在一起成为一个逻辑端口, 这 个逻辑端口的物理带宽等于所有成员端口的带宽之和。 这样就提供了一种灵 活的组网并增加端口带宽的方法。
两个交换网芯片之间有 N条链路相连接, 则称为 Tnmk=N。 图 1为交换 网 Trunk连接的示意图,交换网芯片 A和交换网芯片 B有 4条链路连接( 101 ), 称之为 Tnmk=4, 交换网芯片 A和交换网芯片 C有 6条链路连接 ( 102 ) , 称 之为 Tnmk=6。
4叚设图 1中的芯片 D和芯片 E分别为 2个目的芯片。 某个单播信元的目 的地址为 D, 则需要经过交换网芯片 A, 完成 Tnmk=4的负载均衡链路选择, 到达交换网芯片 B, 再到达目的芯片 D; 某个单播信元的目的地址为 E, 则 需要经过交换网芯片 A, 完成 Tnmk=6的负载均衡链路选择, 到达交换网芯 片 C, 再到达目的芯 A E。 某个多播信元的目的地址为 D和 E, 则首先需要 在交换网芯片 A完成到 2 个目的地址的信元复制, 然后其中一个信元完成 Trunk=4的负载均衡链路选择, 通过 B到达 D, 另一个信元完成 Tnmk=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中选择输出链路; 以及
发送模块, 其设置为: 通过所述选择的输出链路发送所述数据信元。 优选地, 输出链路选择模块选择所述输出链路时依据的负载均衡策略包 括以下一种或多种组合:
緩存深度选择策略, 每个输出链路的输出端口对应一个用于緩存待发送 的数据信元的虚拟输出队列, 根据所述各输出端口的虚拟输出队列的緩存深 度进行选择;
掩码选择策略, 利用选择掩码寄存器中掩码与端口的对应关系, 从未选 择的端口对应的掩码中选择; 从待选的端口中随机选择。
优选地, 利用选择掩码寄存器选择端口时, 掩码的位宽与端口数相同, 不同的 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, 4艮据步骤 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内的选择掩码和有效链路信息相与的结果为全 无效值则翻转成上一个输出结果的取反。
以 Tnmk=4为例, 选择掩码为 4,b 1100 , 有效链路信息为 4,b 1111 , 两者 相与为 4'bl lOO, 在两个为 1的链路中选择出一条链路即可, 如 bit2的 1 , 输 出的结果就为 4'b0100, 当前信元处理结束, 接下来进行下一个信元的处理。 此时选择掩码变成了 4'bl000, 新进入的有效链路信息为 4'b0011 , 两者相与 为 4'b0000, 这样主电路就选不出结果了, 此种情况需要使用副电路的结果, 并且选择掩码翻转成上一个输出结果 4,b0100的取反: 4,bl011。
副电路具有全端口选择功能, 确保在主电路无有效结果输出时能釆用副
电路的结果。
主电路和副电路每次都同时运算, 最终结果的选择遵循如下规则: 主电 路的结果有效(即, 有效指确定唯一的输出端口) 时则输出主电路的结果; 主电路的结果无效副电路的结果有效时, 输出副电路的结果; 主电路、 副电 路的结果都无效时, 则当前输出结果无效。
图 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
1、 一种数据信元处理方法, 该方法包括:
配置单播路由表和多播路由表, 所述单播路由表包括单播目的地址与端 口聚合 ( Trunk )的对应关系, 所述多播路由表包括多播组地址与 Trunk的对 应关系;
接收数据信元;
根据所述数据信元类型确定对应的 Trunk, 其中, 若为单播信元, 则提取 单播信元的目的地址,查询单播路由表,得到所述单播信元对应的 Trunk; 若 为多播信元, 则提取所述多播信元的多播组地址, 查询多播路由表, 得到所 述多播信元对应的一个或多个 Trunk;
根据预置的负载均衡策略从确定的 Trunk中选择输出链路, 并通过所述 选择的输出链路发送所述数据信元。
2、 如权利要求 1所述的方法,其中, 所述负载均衡策略包括以下一种或 多种组合:
緩存深度选择策略, 每个输出链路的输出端口对应一个用于緩存待发送 的数据信元的虚拟输出队列, 根据所述各输出端口的虚拟输出队列的緩存深 度进行选择;
掩码选择策略, 利用选择掩码寄存器中掩码与端口的对应关系, 从未选 择的端口对应的掩码中选择; 从待选的端口中随机选择。
3、 如权利要求 2所述的方法, 其中, 利用选择掩码寄存器选择端口时, 掩码的位宽与端口数相同, 不同的 Trunk对应的选择起始掩码相同或不同。
4、 如权利要求 2所述的方法, 其中, 选择掩码的翻转规则包括: 选择掩码寄存器的所有选择掩码均表示已选时, 所有选择掩码翻转; 选择掩码寄存器的所有选择掩码与有效链路信息相与结果为全无效值, 则翻转成上一个输出结果的取反。
5、 如权利要求 2所述的方法,其中,根据预置的负载均衡策略从对应的 Trunk中选择输出链路包括:
( a )根据选择掩码寄存器从待选链路中确定备选端口,若备选端口唯一, 则该备选端口为最终输出端口; 若备选端口有多个, 则执行步骤(b ) , 若无 备选端口, 则执行步骤(c ) ;
( b )根据虚拟输出队列深度从所述备选端口中选择输出端口, 若深度最 小的端口唯一, 则选择最小的备选端口为最终输出端口, 否随机选择其中一 个作为最终输出端口;
( c )根据虚拟输出队列深度从待选链路中选择输出端口, 若深度最小的 端口唯一, 则选择最小的备选端口为最终输出端口, 否随机选择其中一个作 为最终输出端口;
( d )翻转所述最终输出端口对应掩码, 流程结束。
6、 如权利要求 1所述的方法, 其中, 确定对应的 Trunk, 选择输出链路 前, 该方法还包括: 从所有输出链路中排除物理无效链路和 /或预置的无效链 路得到有效链路, 再从所述有效链路中选择输出链路。
7、 一种数据信元处理装置, 该装置包括:
配置模块, 其设置为: 配置单播路由表和多播路由表, 所述单播路由表 包括单播目的地址与端口聚合(Trunk )的对应关系, 所述多播路由表包括多 播组地址与 Trunk的对应关系;
接收模块, 其设置为: 接收数据信元;
Trunk确定模块, 其设置为: 根据所述数据信元类型确定对应的 Trunk, 其中, 若为单播信元, 则提取单播信元的目的地址, 查询单播路由表, 得到 所述单播信元对应的 Trunk; 若为多播信元, 则提取所述多播信元的多播组 地址, 查询多播路由表, 得到所述多播信元对应的一个或多个 Trunk;
输出链路选择模块, 其设置为: 根据预置的负载均衡策略从所述 Trunk 确定模块确定的 Trunk中选择输出链路; 以及
发送模块, 其设置为: 通过所述选择的输出链路发送所述数据信元。
8、 如权利要求 7所述的装置,其中, 所述输出链路选择模块选择所述输 出链路时依据的负载均衡策略包括以下一种或多种组合:
緩存深度选择策略, 每个输出链路的输出端口对应一个用于緩存待发送 的数据信元的虚拟输出队列, 根据所述各输出端口的虚拟输出队列的緩存深 度进行选择;
掩码选择策略, 利用选择掩码寄存器中掩码与端口的对应关系, 从未选 择的端口对应的掩码中选择; 从待选的端口中随机选择。
9、 如权利要求 8所述的装置, 其中, 利用选择掩码寄存器选择端口时, 掩码的位宽与端口数相同, 不同的 Trunk对应的选择掩码相同或不同; 选择 掩码的翻转规则包括:
选择掩码寄存器的所有选择掩码均表示已选时, 所有选择掩码翻转; 选择掩码寄存器的所有选择掩码与有效链路信息相与结果为全无效值, 则翻转成上一个输出结果的取反。
10、 如权利要求 8所述的装置, 其中, 所述输出链路选择模块包括: 主电路, 其设置为: 根据选择掩码寄存器从有效链路中确定备选端口, 备选端口唯一时, 该备选端口为输出端口; 备选端口有多个时, 才艮据虚拟输 出队列深度从所述备选端口中选择输出端口, 若深度最小的端口唯一, 则选 择最 d、的备选端口为输出端口, 否随机选择其中一个作为输出端口;
副电路, 其设置为: 根据虚拟输出队列深度从所述有效链路中选择输出 端口, 若深度最小的端口唯一, 则选择最小的备选端口为输出端口, 否则随 机选择其中一个作为输出端口;
端口确定子模块, 其设置为: 在主电路选择出输出端口时, 确定所述主 电路输出结果为最终输出端口, 在主电路未选择出输出端口, 且副电路选择 出输出端口时, 确定副电路输出结果为最终输出端口; 以及
掩码翻转子模块, 其设置为: 根据所述端口确定子模块翻转对应的掩码。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/976,938 US9083607B2 (en) | 2010-12-29 | 2011-10-24 | Method and device for processing data cell |
| EP11853857.8A EP2648374B1 (en) | 2010-12-29 | 2011-10-24 | Method and device for processing data cell |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201010612421.1 | 2010-12-29 | ||
| CN201010612421.1A CN102065014B (zh) | 2010-12-29 | 2010-12-29 | 数据信元处理方法和装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012088950A1 true WO2012088950A1 (zh) | 2012-07-05 |
Family
ID=44000120
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2011/081179 Ceased WO2012088950A1 (zh) | 2010-12-29 | 2011-10-24 | 数据信元处理方法和装置 |
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 (12)
| 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 | 恒安嘉新(北京)科技股份公司 | 通信数据输出方法、装置、计算机设备及存储介质 |
| CN118820536B (zh) * | 2024-09-19 | 2025-02-18 | 杭州悦数科技有限公司 | 一种基于请求类型的图数据库负载均衡方法及装置 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020027908A1 (en) * | 2000-06-19 | 2002-03-07 | Broadcom Corporation | Switch fabric with path redundancy |
| CN1731760A (zh) * | 2005-08-05 | 2006-02-08 | 武汉理工大学 | 一种基于泛洪机制的Ad Hoc网络的路由方法 |
| 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 | 华为技术有限公司 | 一种数据交换方法和设备 |
| CN102065014A (zh) * | 2010-12-29 | 2011-05-18 | 中兴通讯股份有限公司 | 数据信元处理方法和装置 |
Family Cites Families (5)
| 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 |
| US6920106B1 (en) * | 2001-09-07 | 2005-07-19 | Agilent Technologies, Inc. | Speculative loading of buffers within a port of a network device |
| US7830905B2 (en) * | 2007-04-20 | 2010-11-09 | Cray Inc. | Speculative forwarding in a high-radix router |
-
2010
- 2010-12-29 CN CN201010612421.1A patent/CN102065014B/zh not_active Expired - Fee Related
-
2011
- 2011-10-24 US US13/976,938 patent/US9083607B2/en not_active Expired - Fee Related
- 2011-10-24 EP EP11853857.8A patent/EP2648374B1/en not_active Not-in-force
- 2011-10-24 WO PCT/CN2011/081179 patent/WO2012088950A1/zh not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020027908A1 (en) * | 2000-06-19 | 2002-03-07 | Broadcom Corporation | Switch fabric with path redundancy |
| US7570639B2 (en) * | 2004-11-30 | 2009-08-04 | Broadcom Corporation | Multicast trunking in a network device |
| CN1731760A (zh) * | 2005-08-05 | 2006-02-08 | 武汉理工大学 | 一种基于泛洪机制的Ad Hoc网络的路由方法 |
| CN101150490A (zh) * | 2006-09-23 | 2008-03-26 | 华为技术有限公司 | 一种单播和多播业务数据包的队列管理方法和系统 |
| CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
| CN102065014A (zh) * | 2010-12-29 | 2011-05-18 | 中兴通讯股份有限公司 | 数据信元处理方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US9083607B2 (en) | 2015-07-14 |
| CN102065014B (zh) | 2014-12-31 |
| EP2648374A4 (en) | 2017-08-23 |
| CN102065014A (zh) | 2011-05-18 |
| EP2648374A1 (en) | 2013-10-09 |
| EP2648374B1 (en) | 2018-11-28 |
| US20130286894A1 (en) | 2013-10-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2012088950A1 (zh) | 数据信元处理方法和装置 | |
| TWI284469B (en) | A network system having a plurality of switches capable of improving transmission efficiency and method thereof | |
| US9742630B2 (en) | Configurable router for a network on chip (NoC) | |
| JP4143544B2 (ja) | イングレスカード及びイングレスカードによるパケットの伝達方法 | |
| US10355996B2 (en) | Heterogeneous channel capacities in an interconnect | |
| US8948193B2 (en) | Methods for intelligent NIC bonding and load-balancing | |
| CN102238072B (zh) | 一种动态选择路由的方法及clos交换网系统 | |
| CN114157533B (zh) | 一种基于clos架构的报文跨板组播复制转发方法和系统 | |
| JPH088590B2 (ja) | 多パケット宛先のパケット交換ネットワ−ク | |
| JPH02239747A (ja) | Atm交換機 | |
| US7058053B1 (en) | Method and system to process a multicast request pertaining to a packet received at an interconnect device | |
| CN102307141B (zh) | 报文转发方法和设备 | |
| CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
| US20140177648A1 (en) | Tagging and synchronization for fairness in noc interconnects | |
| CN117097661B (zh) | 数据包的转发方法及装置、存储介质、电子设备 | |
| WO2021082812A1 (zh) | 报文的发送方法和第一网络设备 | |
| CN102904825A (zh) | 一种基于Hash的报文传输方法和设备 | |
| CN119814698B (zh) | 交换结构的多路径路由 | |
| JP2022002400A (ja) | 伝送パスを決定する方法およびノード | |
| CN112291815B (zh) | 一种mptcp连接建立方法及装置 | |
| RU2580395C2 (ru) | Способ и система реализации сквозного иерархического качества обслуживания | |
| WO2012094914A1 (zh) | 处理多播报文的方法和交换接入装置 | |
| US11144457B2 (en) | Enhanced page locality in network-on-chip (NoC) architectures | |
| US9762474B2 (en) | Systems and methods for selecting a router to connect a bridge in the network on chip (NoC) | |
| JP2004260365A (ja) | 高速高ポート密度なネットワーク中継装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11853857 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13976938 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2011853857 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |