CN113422735B - Load balancing configuration method, convergence diverter and medium - Google Patents

Load balancing configuration method, convergence diverter and medium Download PDF

Info

Publication number
CN113422735B
CN113422735B CN202110690146.3A CN202110690146A CN113422735B CN 113422735 B CN113422735 B CN 113422735B CN 202110690146 A CN202110690146 A CN 202110690146A CN 113422735 B CN113422735 B CN 113422735B
Authority
CN
China
Prior art keywords
port
load balancing
group
state
target
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.)
Active
Application number
CN202110690146.3A
Other languages
Chinese (zh)
Other versions
CN113422735A (en
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.)
Eversec Beijing Technology Co Ltd
Original Assignee
Eversec Beijing Technology Co Ltd
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 Eversec Beijing Technology Co Ltd filed Critical Eversec Beijing Technology Co Ltd
Priority to CN202110690146.3A priority Critical patent/CN113422735B/en
Publication of CN113422735A publication Critical patent/CN113422735A/en
Application granted granted Critical
Publication of CN113422735B publication Critical patent/CN113422735B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Abstract

The embodiment of the invention discloses a load balancing configuration method, a convergence diverter and a medium. The method comprises the following steps: receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group; and updating at least one distribution forwarding control table in the switching chip in the convergence splitter by using the matched load balancing group according to the balancing type in each item of load balancing configuration information, or establishing a matched multicast tree at the bottom layer of the switching chip. The invention realizes two failure transfer processing modes by polymerization in the same convergence diverter, solves the problem that the existing failure transfer processing mode is single, improves the flexibility of failure transfer processing, and reduces the packet loss rate to the maximum extent.

Description

Load balancing configuration method, convergence diverter and medium
Technical Field
The embodiment of the invention relates to a computer hardware technology, in particular to a load balancing configuration method of a convergence current divider, the convergence current divider and a storage medium.
Background
With the continuous development of network technology, the use of convergence splitters is becoming more and more common. Furthermore, the switching chips used in the convergence splitters are also increasingly required. As shown in fig. 1a, after receiving a message, an existing switching chip filters the message through an Access Control List (ACL), and then sends a traffic to a load balancing group. Meanwhile, the hash value of the message is calculated according to a set algorithm, then all physical ports in the load balancing group are subjected to modular division according to the hash value to obtain a final output physical port, and the hash values calculated by messages with different flow rates are different, so that load balancing output is realized. At this time, if a physical port in the load balancing group fails, the traffic calculated by the hash algorithm and required to be output from the physical port will be lost due to the port failure.
In the prior art, a failover (failover) technology may be used to solve a problem of a port failure in a load balancing process, and a specific implementation manner is as follows: by the above arrangement, when a certain physical port (physical port 3) in the load balancing group fails, all messages sent to the load balancing group later are subjected to load balancing in the remaining physical ports without faults, and in this way, the device is equivalent to reloading all traffic received after the port failure.
In the process of implementing the invention, the inventor finds that the prior art has the following defects: the existing failover processing mode is single and inflexible, and when a physical port in a load balancing group is found to be changed, the existing table entry needs to be deleted and a new table entry needs to be reestablished, so that the packet loss rate of the switching chip can be greatly increased in the above operation process.
Disclosure of Invention
The embodiment of the invention provides a load balancing configuration method of a convergence shunt, the convergence shunt and a storage medium, which are used for realizing two failure transfer processing modes in the same convergence shunt, improving the flexibility of failure transfer processing and reducing the packet loss rate to the greatest extent.
In a first aspect, an embodiment of the present invention provides a load balancing configuration method for a convergence splitter, where the method includes:
receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group;
and updating at least one distribution forwarding control table in the switching chip in the convergence splitter by using the matched load balancing group according to the balancing type in each item of load balancing configuration information, or establishing a matched multicast tree at the bottom layer of the switching chip.
In a second aspect, an embodiment of the present invention further provides a converging splitter, including: an application layer, a control layer and a switching chip;
the application layer is used for issuing at least one item of load balancing configuration information or a failover function starting instruction to the control layer;
a control layer, comprising: one or more processors;
storage means for storing one or more programs;
when executed by one or more processors, cause the one or more processors to implement a method of load balancing configuration for a convergence splitter as in any one of the preceding aspects.
In a third aspect, an embodiment of the present invention further provides a storage medium containing computer-executable instructions, where the computer-executable instructions, when executed by a computer processor, are configured to perform the method for load balancing configuration of a convergence splitter as in the first aspect.
According to the technical scheme of the embodiment, at least one item of load balancing configuration information issued by an application layer is received; according to the balance type in each load balance configuration information, at least one shunt forwarding control table in the switching chip in the convergence shunt is updated by using the matched load balance group, or a technical means of establishing a matched multicast tree at the bottom layer of the switching chip is adopted, so that the technical effect of realizing two failure transfer processing modes by converging the same convergence shunt is realized, the problem that the existing failure transfer processing mode is single is solved, the flexibility of failure transfer processing is improved, and the packet loss rate is reduced to the maximum extent.
Drawings
FIG. 1a is a schematic diagram of load balancing performed by a load balancing group in the prior art;
FIG. 1b is a schematic diagram illustrating a failover process of a load balancing group when a physical port fails according to the prior art;
fig. 2 is a flowchart of a load balancing configuration method of a convergence splitter according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a multicast tree to which embodiments of the present invention are applicable;
fig. 4 is a flowchart of a load balancing configuration method of a convergence splitter according to a second embodiment of the present invention;
FIG. 5 is a flowchart illustrating polling execution of a failure handling thread according to a second embodiment of the present invention;
fig. 6 is a flowchart of an implementation of a table lookup equalization processing sub-process according to a second embodiment of the present invention;
fig. 7 is a flowchart of an implementation of a multicast tree balancing sub-process according to a second embodiment of the present invention;
fig. 8 is a schematic structural diagram of a load balancing configuration apparatus of a convergence splitter in a third embodiment of the present invention;
fig. 9 is a schematic structural diagram of a converging splitter according to a fourth embodiment of the present invention.
Detailed Description
The embodiments of the present invention will be described in further detail with reference to the drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the embodiments of the invention and do not delimit the embodiments. It should be further noted that, for convenience of description, only some structures, not all structures, relating to the embodiments of the present invention are shown in the drawings.
The embodiment of the invention can be realized based on a three-layer architecture, namely an application layer, a control layer and a switching chip. Specifically, the control layer may be specifically an SAI layer (Switch Abstraction Interface).
Optionally, the application layer is an interface for receiving commands from the outside, and may convert the requirement information of the user into information that can be identified by the exchange chip through the application layer, and issue the requirement information to the SAI layer.
The SAI layer receives the demand information issued by the user through the application layer, judges different structures needed to be established by the switching chip according to the difference of the demand information, and establishes a shunt forwarding control table or a multicast tree on the switching chip by calling a corresponding control surface function, and can monitor the port state of each switching port in the switching chip.
The SAI layer establishes a split forwarding control table or a multicast tree, and corresponds to two different dynamic load modes, namely, a first dynamic load mode and a second dynamic load mode.
Specifically, the first dynamic load mode needs to query at least one offload forwarding control table to implement load balancing, and therefore may be referred to as table lookup balancing, and the second dynamic load mode implements load balancing by using multicast tree offload forwarding, and therefore may be referred to as multicast tree balancing.
It should be noted that, after the failover function of the convergence splitter is turned on, different types of failover processing modes may be triggered correspondingly by different dynamic load modes. In this embodiment, the convergence splitter may set different balancing types in advance for different load balancing groups, where the balancing types are table lookup balancing or multicast tree balancing.
When it is determined that a certain message is forwarded by one load balancing group, a matched physical port can be selected from the multiple physical ports in the load balancing group through a load balancing algorithm to forward the message.
Specifically, when the load balancing group a uses table lookup balancing, and when a certain physical port in the load balancing group a fails, the switch chip performs load balancing on the remaining physical ports that do not have a failure, which are received later, for the packet of the load balancing group a, that is, when load balancing is performed based on a hash algorithm, the failed port is omitted. For example, the load balancing group a originally has 3 physical ports, the convergence splitter distributes received messages to the 3 physical ports respectively and averagely through a hash algorithm, and when 1 of the physical ports fails, the convergence splitter ignores the failed physical port, and distributes the messages among the other 2 normal physical ports averagely. That is, in this way, the convergence splitter is equivalent to reloading all traffic (messages) received by the load balancing group a after the port failure occurs.
Meanwhile, when the load balancing group B uses multicast tree balancing, when a certain physical port in the load balancing group B fails, the physical port is still considered to be normal based on hash algorithm load balancing, when a message is distributed to the failed port, the physical port is found to be failed, and then another physical port in the load balancing group B is selected for output. For example, the load balancing group B originally has 3 physical ports, the convergence splitter distributes the received packets to the 3 physical ports respectively and averagely through the hash algorithm, and when the physical port 3 fails, the convergence splitter distributes the packet to the physical port 3, and finds that the physical port 3 fails, distributes the packet between the physical port 1 and the physical port 2 through the quadratic hash algorithm.
Example one
Fig. 2 is a flowchart of a load balancing configuration method of a convergence splitter according to an embodiment of the present invention, where this embodiment is applicable to a case of simultaneously adapting to two different dynamic load modes, and the method may be executed by a load balancing configuration device of the convergence splitter, where the device may be implemented in a software and/or hardware manner, and may be generally integrated in a control layer of the convergence splitter, that is, in an SAI layer, where the method specifically includes the following steps:
s110: and receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group.
In this embodiment, one or more items of load balancing configuration information may be set for the convergence splitter, where each item of load balancing configuration information includes a load balancing group and a balancing type of the load balancing group, and the balancing type may be table lookup balancing or multicast tree balancing.
Each load balancing group may have a partial overlap between physical ports, for example, the load balancing group a includes a physical port 1, a physical port 2, and a physical port 3; and load balancing group B includes physical port 2 and physical port 3. Meanwhile, the balance types of the plurality of load balance groups set for the same convergence splitter may be the same or different, that is, the same convergence splitter may support two different balance types at the same time. And selecting a matched balancing type to carry out load balancing on the message according to the load balancing group currently distributed by the message.
S120: and updating at least one distribution forwarding control table in the switching chip in the convergence splitter by using the matched load balancing group according to the balancing type in each item of load balancing configuration information, or establishing a matched multicast tree at the bottom layer of the switching chip.
And initializing each shunt forwarding control table in the switching chip according to a preset table structure.
In an alternative implementation manner of this embodiment, the switching chip herein may use a programmable Tofino switching chip of Barefoot corporation, which is based on PISA switching architecture (programmable protocol independent switch architecture) and processes data in the form of Pipeline. The Tofino chip has two total Pipeline, i.e., IngressPipeline and EgressPieline, each of which has a parser module, an MAU module and a Depaser module. The server module decodes the current network data packet received by the equipment, the MAU module carries out the work of table query, table establishment and the like, and the Depaser module carries out the code combination on the message. IngressPipeline and EgressPipeline are connected through TM (traffic management), wherein TM can realize functions of queue management, traffic replication and the like. The invention realizes the dynamic load balancing function by the relevant operation on the table and the multicast tree in the TM module at the MAU stage of IngressPipeline. Therefore, the present embodiment implements a complete decoding, ACL lookup, and code group process on the switch chip, and completes the functions of parsing, filtering, and copying the message.
After receiving a load balancing configuration message sent by an application layer, the SAI layer performs corresponding configuration on a load balancing group in the load balancing configuration message in a matching manner according to a specific balancing type in the load balancing configuration message.
Specifically, if the balance type in the currently processed load balance configuration information is table lookup balance, at least one shunt forwarding control table in the switching chip in the convergence shunt is updated according to the load balance group matched with the balance type. The term "matching" as used herein means: since there may be more than one load balancing configuration information issued by the application layer in S110, it is based on that the load type and the load type belong to the same load balancing group in one load balancing information.
Since the switch chip is usually programmable, the specific structure and calling order of the forwarding table can be determined by programming the switch chip with codes. The shunting forwarding table, the table lookup sequence, the table lookup type and the like do not exist originally but are realized through codes, and once the codes of the switching chip are written, all tables and table lookup logic are determined. Therefore, it is necessary to initialize each of the offloading and forwarding control tables in the switch chip by a code in advance, so as to update each of the offloading and forwarding control tables correspondingly according to the load balancing configuration information issued by the application layer in real time (typically, new entry content is added to each of the offloading and forwarding control tables correspondingly).
The offload forwarding control table specifically refers to one or more table entries required to be used for determining an actual forwarding physical port of a certain packet when load balancing is performed in a table lookup balancing manner for the packet, and specifically, in this embodiment, the offload forwarding control table may include a first data table (lag table), a second data table (lag _ selector table), and a third data table (ap table).
Table 1, table 2, and table 3 are schematic diagrams of the offload forwarding control table when there are 3 load balancing groups.
Table 1 shows a schematic structure of a first data table to which the embodiment of the present invention is applied. As shown in table 1, the first data table (lag table) stores a mapping relationship between the first type lookup identifier (lag _ id) and the second type lookup identifier (lag _ selector _ id).
TABLE 1
Table item lag_id lag_selector_id
1 lag_1 lag_selector_1
2 lag_2 lag_selector_2
3 lag_3 lag_selector_3
The first type of lookup identifier is obtained by configuring in advance in an ACL lookup table in the switching chip. That is to say, after receiving a message to be shunted, the convergence shunt performs ACL filtering on the message, thereby obtaining a first type lookup identifier (lag _ id) corresponding to the message in an ACL lookup table.
Table 2 is a schematic diagram of a second data table applicable to the embodiment of the present invention. The second data table stores a mapping relationship among the second lookup identifier (lag _ selector _ id), the port identifiers (ports _ members _ id) of the physical ports in the load balancing group, and the port states (ports _ status) of the physical ports. The second type of search identifier indicates which load balancing group is specifically selected by the message in the multiple load balancing groups, for example, the load balancing group represented by lag _ selector _1 has three physical ports m1, m2 and m3, and the states of the three physical ports are True; the load balancing group characterized by lag _ selector _2 has two physical ports m1 and m3, and the states of both physical ports are True. Different load balancing groups may share some physical ports or have their own unique physical ports, e.g., lag _ selector _1 and lag _ selector _2 share physical ports m1, m 3.
TABLE 2
Table item lag_selector_id ports_members_id ports_status
1 lag_selector_1 m1、m2、m3 True、True、True
2 lag_selector_2 m1、m3 True、True
3 lag_selector_3 m2、m3 True、True
In the second data table, the port selection mode is configured as a fair mode. Correspondingly, in the process of creating the offload forwarding control table, the second data table has a parameter for setting the mode of selecting the physical port, which is a fair mode and a resilient mode. In the fairness mode, when a certain physical port of a load balancing group fails, the switching chip can be informed that the physical port fails by changing True data into False data, so that subsequent messages sent to the load balancing group can be subjected to load balancing again. Table 3 is a schematic diagram of a third data table applicable to the embodiment of the present invention. The third data table stores the mapping relationship between the port identification and the physical port. After the table lookup is hit, the finally selected specific physical port can be obtained, for example, if the ports _ numbers _ id is m2, the message is finally allocated to the physical port ports _ 2.
And if the balance type in the obtained current processed load balance configuration information is table lookup balance, updating at least one shunt forwarding control table in the switching chip in the convergence shunt according to the load balance group matched with the balance type.
TABLE 3
Table item ports_members_id g_port
1 m1 Port_1
2 m2 Port_2
3 m3 Port_3
In a specific example, if the port identifications of the physical ports included in the load balancing group included in the currently processed load balancing configuration information are received are m1 and m 2. Accordingly, a new table entry 4 may be added to the first data table, namely:
table item lag_id lag_selector_id
4 lag_4 lag_selector_4
And correspondingly adds a new table entry 4 in the second data table, namely:
table item lag_selector_id ports_members_id ports_status
4 lag_selector_4 m1、m2 True、True
Meanwhile, the state initialization of the physical ports corresponding to m1 and m2 is set to "TRUE", that is, a normal state, in the second data table. Of course, it can be understood that the relevant information of lag _4 needs to be added to the ACL lookup table at the same time to implement the routing direction of the load balancing group including m1 and m 2.
And if the balance type in the currently processed load balance configuration information is multicast tree balance, establishing a multicast tree matched with a load balance group in the currently processed load balance configuration information by the bottom layer of the exchange chip. The term "matching" as used herein means: since there may be more than one load balancing configuration information issued by the application layer in S110, it is based on that the load type and the load type belong to the same load balancing group in one load balancing information.
Fig. 3 is a diagram of a multicast tree to which embodiments of the present invention are applicable. The multicast tree stored at the bottom of the switch chip includes: the system comprises tree nodes and a load balancing group hung below the tree nodes, wherein the tree nodes are associated with tree node identifiers, and the tree node identifiers are obtained by configuring in an ACL lookup table in advance.
As shown in fig. 3, if the port identifiers of the physical ports included in the load balancing group included in the load balancing configuration information currently processed are received as m1, m2, m3, and m4, which correspond to physical port 1, physical port 2, physical port 3, and physical port 4 in the switch chip, respectively. The way to establish the multicast tree matching the load balancing group in the currently processed load balancing configuration information may be:
first, a tree node identifier corresponding to the load balancing group, for example, mg _1, may be established, then a tree node1 corresponding to mg _1 may be established at the bottom layer of the switch chip, and then all of physical port 1, physical port 2, physical port 3, and physical port 4 in the switch chip may be hung under the tree node1 to form a multicast tree corresponding to the load balancing group. Of course, it can be understood that the information about mg _1 needs to be added to the ACL lookup table at the same time to implement the routing direction of the load balancing group including m1, m2, m3 and m 4.
Table 4 is a schematic diagram of an ACL lookup table with 3 load balancing groups as an example. That is, through the SIP (Source IP, Source internet protocol) of the message to be distributed, the tree node identifier or the first type lookup identifier can be obtained by looking up the ACL. For example, an IPV4-TCP message has associated five-tuple information, i.e., a source IP address, a destination IP address, a source port number, a destination port number, and a protocol number, and SIP parses the message after receiving the message, and then obtains a source IP field in the message. That is, after receiving a certain message, the convergence splitter may uniquely determine a tree node identifier or a first type lookup identifier corresponding to the message by first searching the ACL lookup table, and determine to perform load balancing on the message using lookup table balancing when the first type lookup identifier is found; and after the tree node identification is found, determining to use a multicast tree balancing mode to carry out load balancing on the message.
TABLE 4
Table item SIP lag_id/mg_id
1 192.16.2.31 lag_1
2 192.168.1.3 lag_2
3 192.168.72.11 mg_1
4 192.168.8.34 mg_2
According to the technical scheme of the embodiment of the invention, at least one item of load balancing configuration information issued by an application layer is received; according to the balance type in each load balance configuration information, at least one shunt forwarding control table in the switching chip in the convergence shunt is updated by using the matched load balance group, or a technical means of establishing a matched multicast tree at the bottom layer of the switching chip is adopted, so that the technical effect of realizing two failure transfer processing modes by converging the same convergence shunt is realized, the problem that the existing failure transfer processing mode is single is solved, the flexibility of failure transfer processing is improved, and the packet loss rate is reduced to the maximum extent.
It should be emphasized again that the failover processing mechanism that is enabled in the embodiment of the present invention is a global failover processing mechanism, that is, emergency failure processing is performed on all physical ports in the load balancing output group configured by the user. Meanwhile, after the physical port fails, the method flexibly supports the reloading mode, and meanwhile, any shunt forwarding control table in the switching chip is not required to be deleted and reestablished, so that the packet loss rate is greatly guaranteed to be up to 99.99999%.
Example two
In this embodiment, on the basis of the first embodiment, the load balancing configuration method of the convergence splitter is further optimized, so that whether a failover function (failover function) is activated can be controlled. Fig. 4 is a flowchart of a load balancing configuration method of a convergence splitter according to a second embodiment of the present invention.
S410: and receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group.
S420: and updating at least one distribution forwarding control table in the switching chip in the convergence splitter by using the matched load balancing group according to the balancing type in each item of load balancing configuration information, or establishing a matched multicast tree at the bottom layer of the switching chip.
On the basis of the above embodiments, after receiving at least one item of load balancing configuration information issued by the application layer, the SAI layer establishes and stores a port state storage structure corresponding to each load balancing group in each item of load balancing configuration information, where the port state storage structure is used to store the last port state of each physical port in the load balancing group.
The port state storage structure may include three parts, a first part for storing state information of physical ports in the load balancing group when the balancing type is table lookup balancing, a second part for storing state information of physical ports in the load balancing group when the balancing type is multicast tree balancing, and a third part for storing a polling state flag bit for indicating whether the load balancing group is polled when the balancing type of the load balancing group is multicast tree balancing. In the initialization presetting phase, the state information of each physical port is preset to be in a normal state (namely, True) because the port state is not actually in the last time.
S430: and calling a first control surface function to start the global switch when a failover function starting instruction issued by the application layer is received.
And after the global switch is triggered to be started, when a certain physical port in the switching chip fails, a load balancing group to which the physical port belongs can be triggered to execute a corresponding failover strategy by other normal physical ports according to the matched balancing type.
Accordingly, after the global switch is turned on, the SAI layer needs to monitor the real-time status of each physical port on the switch chip and notify the switch chip of the change in the status of the port, so that the switch chip can execute a corresponding failover policy.
S440: executing the following operations at intervals of preset monitoring duration through a preset failover processing thread:
when detecting that the global switch is turned on, polling to acquire each load balancing group arranged in the switching chip, and performing matched updating configuration on the switching chip according to the real-time port state and the balancing type of each physical port in each load balancing group.
On the basis of the foregoing embodiments, after receiving at least one item of load balancing configuration information issued by the application layer, the SAI layer may establish and store a port state storage structure corresponding to each load balancing group in each item of load balancing configuration information, where the port state storage structure is used to store the last port state of each physical port in the load balancing group.
The port state storage structure may include three parts, a first part for storing state information of physical ports in the load balancing group when the balancing type is table lookup balancing, a second part for storing state information of physical ports in the load balancing group when the balancing type is multicast tree balancing, and a third part for storing a polling state flag bit for indicating whether the load balancing group is polled when the balancing type of the load balancing group is multicast tree balancing. In the initialization presetting phase, the state information of each physical port is preset to be in a normal state (namely, True) because the port state is not actually in the last time.
In an optional implementation manner of this embodiment, performing matching update configuration on the switch chip according to the real-time port state and the balancing type of each physical port in each load balancing group may include:
and performing matched updating configuration on the switching chip according to the real-time port state, the balance type and the matched port state storage structure of each physical port in each load balance group.
Correspondingly, the monitoring of the real-time condition of each physical port every preset monitoring duration through the preset failover processing thread may specifically include:
when detecting that the global switch is turned on, polling to acquire each load balancing group arranged in the switching chip, and performing matched updating configuration on the switching chip according to the real-time port state and the balancing type of each physical port in each load balancing group. For example, according to whether the physical port is in a normal True state or a failure False state, whether the load balancing group adopts table lookup balancing or multicast tree balancing, and the specific situation of the port state storage structure of the load balancing group, the switching chip is subjected to matched update configuration, and the last port state is overwritten by the real-time port state under the condition that the port state is changed.
Fig. 5 is a flowchart illustrating polling execution of an invalidation processing thread according to a second embodiment of the present invention.
As shown in fig. 5, the application layer issues a failover function start instruction; after receiving the failover function starting instruction, the SAI layer may call the first control plane function to start the global switch accordingly. Meanwhile, the failure processing thread is triggered to start and execute after the convergence and diversion device is started. Thereafter, the following operations are performed every preset monitoring period (for example, 5 seconds, 8 seconds, or 10 seconds, etc.):
the SAI layer judges whether the global switch is opened or not, if the fact that the global switch is not opened is detected, the process is ended, and after the next monitoring time length is reached, whether the global switch is opened or not is judged again; if the global switch is detected to be opened, further judging whether a load balancing group exists or not;
if no load balancing group exists, the process is ended, and after the next monitoring time length is reached, whether the global switch is opened or not is judged again; if the load balancing groups exist, further executing the following operations for each load balancing group:
judging whether the balance type of the currently processed load balance group is table lookup balance or not, if so, processing by adopting a table lookup balance processing sub-flow, and continuously traversing to obtain a new load balance group after the processing is finished until the processing of all load balance groups is finished;
if not, further judging whether the balance type is multicast tree balance, if not, ending the process, and judging whether the global switch is opened again after the next monitoring time length is reached; and if the multicast tree is balanced, processing by adopting a multicast tree balancing sub-process, and continuously traversing to obtain a new load balancing group after the processing is finished until the processing of all the load balancing groups is finished.
According to the technical scheme of the embodiment of the invention, the failover function is started by two failover processing modes in the same convergence shunt, the failed physical port is found in time, and corresponding measures are taken at the same time, so that the packet loss rate is reduced to a greater extent.
On the basis of the foregoing embodiments, the updating configuration for matching the switch chip according to the real-time port state and the balance type of each physical port in each load balancing group and the matched port state storage structure specifically includes:
if the balance type of a first load balance group polled currently is determined to be table lookup balance, acquiring the real-time port state of each physical port in the first load balance group; acquiring a first port state storage structure corresponding to the first load balancing group, and comparing the last port state of each physical port in the first port state storage structure with the matched real-time port state; if the port state change of the first physical port is determined, inquiring a second data table in the exchange chip, and updating the port state of the first physical port corresponding to the first load balancing group in the second data table; and updating the first port state storage structure by using the real-time port state of each physical port in the first load balancing group. The first load balancing group is a target load balancing group traversed in this embodiment.
Fig. 6 is a flowchart of an implementation of a table lookup equalization processing sub-process according to a second embodiment of the present invention. That is, when the balance type of the currently traversed first load balancing group is table lookup balance, the sub-process is specifically processed. The port flag bit is used for identifying whether the first load balancing group changes, 1 indicates that the state of a physical port in the first load balancing group has changed, and 0 indicates that the state of the port in the first load balancing group has not changed.
Correspondingly, when traversing to a first load balancing group with the balancing type of table look-up balancing, sequentially reading the current state of each physical port in the first load balancing group; sequentially judging whether the current state of each physical port is equal to the last state of the physical port;
if the current state of the physical port is equal to the last state of the physical port, continuously traversing other physical ports in the first load balancing group until the physical ports in the first load balancing group are judged to be traversed; if the current state of the physical port is not equal to the last state of the physical port, the first part of the port state storage structure described in the second embodiment is updated, and meanwhile, the port flag bit is set to 1, and then, other physical ports in the first load balancing group are continuously traversed until it is determined that the physical ports in the first load balancing group have been traversed. If all the physical ports in the first load balancing group have been traversed, continuously judging whether the port flag bit is equal to 1; if the port flag bit is not equal to 1, continuously traversing to obtain a new load balancing group until the processing of all the load balancing groups is completed; if the port flag bit is equal to 1, calling a corresponding control surface function to issue data to the bottom layer of the switching chip, modifying a second data table in the shunt forwarding control table, then setting the port flag bit to be 0, and continuously traversing to obtain a new load balancing group until the processing of all the load balancing groups is completed.
According to the technical scheme, only one data table in the shunting forwarding control table needs to be modified, and various data tables do not need to be deleted and reestablished, so that the deleting and reestablishing time is saved, and the packet loss rate is greatly reduced.
In another optional implementation manner of this embodiment, when the balancing type of the load balancing group stored in the port state storage structure is multicast tree balancing, a polling state identification bit for identifying whether the load balancing group is polled is stored in the port state storage structure. According to the real-time port state, the balance type and the matched port state storage structure of each physical port in each load balance group, updating and configuring matching of the switching chip are carried out, and the method comprises the following steps:
if the balance type of the second load balance group which is polled currently is determined to be multicast tree balance, judging whether the second load balance group is polled or not according to a polling state identification bit in a second port state storage structure corresponding to the second load balance group; if not, acquiring the real-time port state of each physical port in the second load balancing group, and acquiring a second physical port of which the real-time port state is a normal state; calling a second control surface function to activate the failure transfer state of the second physical port and updating a polling state identification bit in a state storage structure of the second port; if yes, acquiring the real-time port state of each physical port in the second load balancing group; comparing the last port state of each physical port in the second port state storage structure with the matched real-time port state, and acquiring a third physical port of which the last port state is a failure state and the real-time port state is a normal state; calling a second control surface function to activate the failure transfer state of each third physical port; and updating a second port state storage structure by using the real-time port state of each physical port in the second load balancing group. The second load balancing group is a target load balancing group traversed in this embodiment. And calling a second control plane function to activate the failure transfer state of the second physical port so as to enable the physical port in the current state to be normal to execute secondary hash, thereby redistributing the message on the current failure physical port to the normal physical port.
Fig. 7 is a flowchart of an implementation of a multicast tree balancing sub-process according to a second embodiment of the present invention. That is, when the balancing type of the currently traversed second load balancing group is multicast tree balancing, the specific processing sub-process is performed.
As shown in fig. 7, the SAI layer determines that the current balancing type to be traversed is multicast tree balancing, and determines whether the second load balancing group is traversed for the first time; if the second load balancing group is traversed for the first time, reading the current state of the port in the second load balancing group; if the current state of the port is True, calling a second control surface function for the port so as to activate the current failover state; then judging whether the port of the second load balancing group is traversed or not; if the port state storage structure is traversed, updating the polling state identification bit and updating the second part of the port state storage structure; and if the current state of the other ports in the second load balancing group is not traversed, continuing to read the current states of the other ports in the second load balancing group.
If the second load balancing group is not traversed for the first time, reading the current state of the port in the second load balancing group, and judging whether the current state of the port is True and the last state of the port is False; if so, calling a second control plane function to activate the failure transfer state of the current port, and judging whether the port of the second load balancing group is traversed or not; if the current port is not True and the last port is False, directly judging whether the port of the second load balancing group is traversed or not; if the port of the second load balancing group is traversed, updating the second part of the port state storage structure, and finishing the traversal; if the port of the second load balancing group is not traversed, the current states of other ports in the second load balancing group are continuously read
In the process of executing the above flow, all the port state information in the second load balancing group is updated to the second part of the port state storage structure as described in the second embodiment, and the polling state identification bit is updated to the third part of the port state storage structure.
According to the technical scheme, the hardware layer is used for processing the physical port from True to False, software monitoring is not needed, and therefore software only needs to pay attention to the state that the physical port is converted from False to True, software monitoring time is shortened, and packet loss rate is greatly reduced.
On the basis of the foregoing embodiments, the method may further include:
extracting message description information from a target message to be shunted, and searching an ACL table in a switching chip according to the message description information;
if the message description information hits a target first-type search identifier in the ACL table, acquiring a target second-type search identifier corresponding to the target first-type search identifier in the first data table; acquiring the port state of each physical port in each load balancing group corresponding to the target second-type search identifier in a second data table, and calculating the quantity value of the physical port of which the port state is a normal state; calculating to obtain a target port identifier according to the hash value and the numerical value of the target message; and acquiring a first target physical port corresponding to the target port identification in the third data table, and forwarding the target message by using the first target physical port.
And if the message description information hits the target tree node identifier in the ACL table, sending the target data message to a target multicast tree matched with the target tree node identifier in the exchange chip.
The target multicast tree is used for determining a second target physical port according to the number value of the physical ports included in the load balancing group hung under the tree node and the hash value of the target message, and when the second target physical port is in a failure state, the number value of the physical port in a normal state under the target multicast tree and the hash value are used for secondary calculation to obtain a third target physical port, and the third target physical port is used for forwarding the target message.
The advantages of such an arrangement are: the load balancing configuration method realized by each embodiment of the invention realizes the technical effect of realizing two failure transfer processing modes by the same convergence shunt, solves the problem that the existing failure transfer processing mode is single, improves the flexibility of failure transfer processing, and reduces the packet loss rate to the maximum extent.
EXAMPLE III
Fig. 8 is a schematic structural diagram of a load balancing configuration apparatus of a convergence splitter in a third embodiment of the present invention, where the apparatus may perform the load balancing configuration method of the convergence splitter in the foregoing embodiments. Referring to fig. 8, the apparatus includes: a receiving module 810 and a processing module 820.
The receiving module 810 is configured to receive at least one item of load balancing configuration information sent by an application layer, where the load balancing configuration information includes a load balancing group and a balancing type of the load balancing group.
A processing module 820, configured to update at least one offloading forwarding control table in a switching chip in the aggregation splitter by using the matched load balancing group according to the balancing type in each piece of load balancing configuration information, or establish a matched multicast tree at the bottom layer of the switching chip.
According to the technical scheme of the embodiment, at least one item of load balancing configuration information issued by an application layer is received; according to the balance type in each load balance configuration information, at least one shunt forwarding control table in the switching chip in the convergence shunt is updated by using the matched load balance group, or a technical means of establishing a matched multicast tree at the bottom layer of the switching chip is adopted, so that the technical effect of realizing two failure transfer processing modes by converging the same convergence shunt is realized, the problem that the existing failure transfer processing mode is single is solved, the flexibility of failure transfer processing is improved, and the packet loss rate is reduced to the maximum extent.
On the basis of the foregoing embodiments, the processing module 820 may specifically be configured to:
if the balance type in the current processing load balance configuration information is table lookup balance, updating at least one shunt forwarding control table stored in the exchange chip by using a load balance group in the current processing load balance configuration information;
initializing and constructing each shunt forwarding control table in the switching chip according to a preset table structure;
and if the balance type in the currently processed load balance configuration information is multicast tree balance, establishing a multicast tree matched with a load balance group in the currently processed load balance configuration information by the bottom layer of the switching chip.
On the basis of the above embodiments, the switch chip may be a programmable tof switch chip;
the offload forwarding control table may include: a first data table, a second data table and a third data table;
the first data table stores the mapping relation between the first type of search identification and the second type of search identification, and the first type of search identification is obtained by configuring in advance in an Access Control List (ACL) search table in the exchange chip;
the second data table stores a second search identifier, port identifiers of all physical ports in the load balancing group and mapping relations among port states of all the physical ports, and the port selection mode is configured as a fair mode in the second data table;
the third data table stores the mapping relation between the port identification and the physical port;
and
the multicast tree stored at the bottom of the switch chip may include: the system comprises tree nodes and a load balancing group hung below the tree nodes, wherein the tree nodes are associated with tree node identifiers, and the tree node identifiers are obtained by configuring in an ACL lookup table in advance.
On the basis of the above embodiments, the method may further include:
the global switch starting module is used for calling a first control surface function to start a global switch when a failover function starting instruction issued by an application layer is received; and
the polling execution module is used for triggering and executing the following functional units at intervals of preset monitoring time through a preset failover processing thread:
the load balancing group polling unit is used for polling and acquiring each load balancing group arranged in the exchange chip when detecting that the global switch is started;
and the configuration updating unit is used for performing matched updating configuration on the switching chip according to the real-time port state and the balance type of each physical port in each load balance group.
On the basis of the above embodiments, the method may further include: a port state storage structure establishing module for: after receiving at least one item of load balancing configuration information issued by an application layer, establishing and storing a port state storage structure respectively corresponding to a load balancing group in each item of load balancing configuration information;
the port state storage structure is used for storing the last port state of each physical port in the load balancing group; initializing and presetting the last port state to be a normal state;
correspondingly, the configuration updating unit may be specifically configured to: and performing matched updating configuration on the switching chip according to the real-time port state, the balance type and the matched port state storage structure of each physical port in each load balance group.
On the basis of the foregoing embodiments, the configuration updating unit may be further specifically configured to:
if the balance type of a first load balance group polled currently is determined to be table lookup balance, acquiring the real-time port state of each physical port in the first load balance group;
acquiring a first port state storage structure corresponding to the first load balancing group, and comparing the last port state of each physical port in the first port state storage structure with the matched real-time port state;
if the port state change of the first physical port is determined, inquiring a second data table in the exchange chip, and updating the port state of the first physical port corresponding to the first load balancing group in the second data table;
and updating the first port state storage structure by using the real-time port state of each physical port in the first load balancing group.
On the basis of the above embodiments, when the balancing type of the load balancing group stored in the port state storage structure is multicast tree balancing, a polling state identification bit for identifying whether the load balancing group is polled may also be stored in the port state storage structure;
on the basis of the foregoing embodiments, the configuration updating unit may be further specifically configured to:
if the balance type of the second load balance group which is polled currently is determined to be multicast tree balance, judging whether the second load balance group is polled or not according to a polling state identification bit in a second port state storage structure corresponding to the second load balance group;
if not, acquiring the real-time port state of each physical port in the second load balancing group, and acquiring a second physical port of which the real-time port state is a normal state; calling a second control surface function to activate the failure transfer state of the second physical port and updating a polling state identification bit in a state storage structure of the second port;
if yes, acquiring the real-time port state of each physical port in the second load balancing group; comparing the last port state of each physical port in the second port state storage structure with the matched real-time port state, and acquiring a third physical port of which the last port state is a failure state and the real-time port state is a normal state; calling a second control surface function to activate the failure transfer state of each third physical port;
and updating a second port state storage structure by using the real-time port state of each physical port in the second load balancing group.
On the basis of the above embodiments, the method further includes: a message forwarding module, configured to:
extracting message description information from a target message to be shunted, and searching an ACL table in a switching chip according to the message description information;
if the message description information hits a target first-type search identifier in the ACL table, acquiring a target second-type search identifier corresponding to the target first-type search identifier in the first data table; acquiring the port state of each physical port in each load balancing group corresponding to the target second-type search identifier in a second data table, and calculating the quantity value of the physical port of which the port state is a normal state; calculating to obtain a target port identifier according to the hash value and the numerical value of the target message; acquiring a first target physical port corresponding to the target port identification in a third data table, and forwarding the target message by using the first target physical port;
if the message description information hits the target tree node identification in the ACL table, sending the target data message to a target multicast tree matched with the target tree node identification in the exchange chip;
the target multicast tree is used for determining a second target physical port according to the quantity value of the physical ports included in the load balancing group hung under the tree node and the hash value of the target message, and when the second target physical port is in a failure state, the quantity value of the physical ports in a normal state under the target multicast tree and the hash value are used for secondary calculation to obtain a third target physical port, and the third target physical port is used for forwarding the target message.
The device can execute the methods provided by all the embodiments of the invention, and has corresponding functional modules and beneficial effects for executing the methods. For technical details which are not described in detail in the embodiments of the present invention, reference may be made to the methods provided in all the aforementioned embodiments of the present invention.
Example four
Fig. 9 is a schematic structural diagram of a convergence shunt according to a fourth embodiment of the present invention, as shown in fig. 9, the convergence shunt includes an application layer, a control layer, and a switching chip.
The application layer is used for issuing at least one item of load balancing configuration information or a failover function starting instruction to the control layer; the control layer includes: one or more processors; storage means for storing one or more programs; when executed by one or more processors, cause the one or more processors to implement a method for load balancing configuration of a convergence splitter as in any one of the above embodiments.
That is, a method for configuring load balancing of a convergence current divider includes: receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group; and updating at least one distribution forwarding control table in the switching chip in the convergence splitter by using the matched load balancing group according to the balancing type in each item of load balancing configuration information, or establishing a matched multicast tree at the bottom layer of the switching chip.
The memory device is used as a computer-readable storage medium, and can be used for storing software programs, computer-executable programs, and modules, such as modules corresponding to the load balancing configuration method of the convergence splitter in the embodiment of the present invention (for example, a receiving module, a processing module in the load balancing configuration device of the convergence splitter). The processor executes various functional applications and data processing of the convergence splitter by running software programs, instructions and modules stored in the storage device, that is, the load balancing configuration method of the convergence splitter is realized.
The storage device can mainly comprise a storage program area and a storage data area, wherein the storage program area can store an operating system and an application program required by at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the storage device may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the storage device may further include memory remotely located from the processor, and these remote memories may be connected to the convergence splitter over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
EXAMPLE five
Fifth, an embodiment of the present invention further provides a storage medium containing computer-executable instructions, where the computer-executable instructions are executed by a computer processor to perform the load balancing method for a convergence splitter.
Namely: a load balancing configuration method of a convergence current divider comprises the following steps: receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group; and updating at least one distribution forwarding control table in the switching chip in the convergence splitter by using the matched load balancing group according to the balancing type in each item of load balancing configuration information, or establishing a matched multicast tree at the bottom layer of the switching chip.
Of course, the storage medium provided by the embodiment of the present invention contains computer-executable instructions, and the computer-executable instructions are not limited to the operations of the method described above, and may also perform related operations in the load balancing method of the convergence splitter provided by any embodiment of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present invention.
It should be noted that, in the embodiment of the load balancing apparatus of the convergence splitter, each of the modules included in the embodiment is only divided according to functional logic, but is not limited to the above division, as long as the corresponding function can be implemented; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (8)

1. A load balancing configuration method of a convergence current divider is characterized by comprising the following steps:
receiving at least one item of load balancing configuration information issued by an application layer, wherein the load balancing configuration information comprises a load balancing group and a balancing type of the load balancing group;
if the balance type in the current processing load balance configuration information is table lookup balance, updating at least one shunt forwarding control table stored in the exchange chip by using a load balance group in the current processing load balance configuration information; initializing and constructing each shunt forwarding control table in the switching chip according to a preset table structure;
if the balance type in the currently processed load balance configuration information is multicast tree balance, the bottom layer of the exchange chip establishes a multicast tree matched with a load balance group in the currently processed load balance configuration information;
wherein, the switching chip is a programmable Tofino switching chip;
the shunting forwarding control table comprises: a first data table, a second data table and a third data table;
the first data table stores the mapping relation between the first type of search identification and the second type of search identification, and the first type of search identification is obtained by configuring in advance in an Access Control List (ACL) search table in the exchange chip;
the second data table stores a second search identifier, port identifiers of all physical ports in the load balancing group and mapping relations among port states of all the physical ports, and the port selection mode is configured as a fair mode in the second data table;
the third data table stores the mapping relation between the port identification and the physical port;
and
the multicast tree stored at the bottom of the switching chip comprises: the system comprises tree nodes and a load balancing group hung below the tree nodes, wherein the tree nodes are associated with tree node identifiers, and the tree node identifiers are obtained by configuring in an ACL lookup table in advance.
2. The method of claim 1, further comprising:
when a failover function starting instruction issued by an application layer is received, calling a first control surface function to start a global switch; and
executing the following operations at intervals of preset monitoring duration through a preset failover processing thread:
when detecting that the global switch is turned on, polling to acquire each load balancing group arranged in the switching chip, and performing matched updating configuration on the switching chip according to the real-time port state and the balancing type of each physical port in each load balancing group.
3. The method of claim 2, further comprising, after receiving at least one item of load balancing configuration information issued by the application layer:
establishing and storing port state storage structures respectively corresponding to the load balancing groups in each item of load balancing configuration information;
the port state storage structure is used for storing the last port state of each physical port in the load balancing group; initializing and presetting the last port state to be a normal state;
according to the real-time port state and the balance type of each physical port in each load balance group, updating and configuring matching of the switching chip, comprising the following steps:
and performing matched updating configuration on the switching chip according to the real-time port state, the balance type and the matched port state storage structure of each physical port in each load balance group.
4. The method of claim 3, wherein performing matching update configuration on the switch chip according to the real-time port status, the balancing type, and the matching port status storage structure of each physical port in each load balancing group comprises:
if the balance type of a first load balance group polled currently is determined to be table look-up balance, acquiring the real-time port state of each physical port in the first load balance group;
acquiring a first port state storage structure corresponding to the first load balancing group, and comparing the last port state of each physical port in the first port state storage structure with the matched real-time port state;
if the port state change of the first physical port is determined, inquiring a second data table in the exchange chip, and updating the port state of the first physical port corresponding to the first load balancing group in the second data table;
and updating the first port state storage structure by using the real-time port state of each physical port in the first load balancing group.
5. The method according to claim 3, wherein when the balancing type of the load balancing group stored in the port state storage structure is multicast tree balancing, the port state storage structure further stores a polling state identification bit for identifying whether the load balancing group is polled;
according to the real-time port state, the balance type and the matched port state storage structure of each physical port in each load balance group, updating and configuring matching of the switching chip are carried out, and the method comprises the following steps:
if the balance type of the second load balance group which is polled currently is determined to be multicast tree balance, judging whether the second load balance group is polled or not according to a polling state identification bit in a second port state storage structure corresponding to the second load balance group;
if not, acquiring the real-time port state of each physical port in the second load balancing group, and acquiring a second physical port of which the real-time port state is a normal state; calling a second control surface function to activate the failure transfer state of the second physical port and updating a polling state identification bit in a state storage structure of the second port;
if yes, acquiring the real-time port state of each physical port in the second load balancing group; comparing the last port state of each physical port in the second port state storage structure with the matched real-time port state, and acquiring a third physical port of which the last port state is a failure state and the real-time port state is a normal state; calling a second control surface function to activate the failure transfer state of each third physical port;
and updating a second port state storage structure by using the real-time port state of each physical port in the second load balancing group.
6. The method of claim 1, further comprising:
extracting message description information from a target message to be shunted, and searching an ACL table in a switching chip according to the message description information;
if the message description information hits a target first-type search identifier in the ACL table, acquiring a target second-type search identifier corresponding to the target first-type search identifier in the first data table; acquiring the port state of each physical port in each load balancing group corresponding to the target second-type search identifier in a second data table, and calculating the quantity value of the physical port of which the port state is a normal state; calculating to obtain a target port identifier according to the hash value and the numerical value of the target message; acquiring a first target physical port corresponding to the target port identification in a third data table, and forwarding the target message by using the first target physical port;
if the message description information hits the target tree node identification in the ACL table, sending the target data message to a target multicast tree matched with the target tree node identification in the exchange chip;
the target multicast tree is used for determining a second target physical port according to the number value of the physical ports included in the load balancing group hung under the tree node and the hash value of the target message, and when the second target physical port is in a failure state, the number value of the physical port in a normal state under the target multicast tree and the hash value are used for secondary calculation to obtain a third target physical port, and the third target physical port is used for forwarding the target message.
7. A converging flow diverter, comprising: an application layer, a control layer and a switching chip;
the application layer is used for issuing at least one item of load balancing configuration information or a failure transfer function starting instruction to the control layer;
the control layer includes: one or more processors;
storage means for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement the method for load balancing configuration of a convergence splitter of any of claims 1-6.
8. A storage medium containing computer-executable instructions for performing the method of load balancing configuration of a convergence splitter of any of claims 1-6 when executed by a computer processor.
CN202110690146.3A 2021-06-22 2021-06-22 Load balancing configuration method, convergence diverter and medium Active CN113422735B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110690146.3A CN113422735B (en) 2021-06-22 2021-06-22 Load balancing configuration method, convergence diverter and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110690146.3A CN113422735B (en) 2021-06-22 2021-06-22 Load balancing configuration method, convergence diverter and medium

Publications (2)

Publication Number Publication Date
CN113422735A CN113422735A (en) 2021-09-21
CN113422735B true CN113422735B (en) 2022-08-05

Family

ID=77789794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110690146.3A Active CN113422735B (en) 2021-06-22 2021-06-22 Load balancing configuration method, convergence diverter and medium

Country Status (1)

Country Link
CN (1) CN113422735B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174676A (en) * 2022-07-04 2022-10-11 深圳星云智联科技有限公司 Convergence and shunt method and related equipment thereof
CN115277708B (en) * 2022-07-18 2023-10-24 齐鲁工业大学 Dynamic load distribution method for streaming media server

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060494A (en) * 2007-05-17 2007-10-24 华为技术有限公司 A route selection method, system and router
US8416692B2 (en) * 2009-05-28 2013-04-09 Microsoft Corporation Load balancing across layer-2 domains
US8804489B2 (en) * 2010-09-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence to recover from network failures
US8798064B2 (en) * 2011-06-06 2014-08-05 Broadcom Corporation Method and system of frame forwarding with link aggregation in distributed ethernet bridges
US9762507B1 (en) * 2013-03-14 2017-09-12 Google Inc. Network load balancing using multicast or packet replication
CN103763135B (en) * 2014-01-06 2017-05-10 新华三技术有限公司 PE equipment traffic scheduling method and device
CN105827419B (en) * 2015-01-05 2020-03-10 华为技术有限公司 Method, equipment and controller for processing forwarding equipment fault
EP3552352A4 (en) * 2016-12-08 2020-11-11 Hewlett-Packard Enterprise Development LP A framework for universally specified affinity topologies with partial path invalidation and generalized network flows
US10404619B1 (en) * 2017-03-05 2019-09-03 Barefoot Networks, Inc. Link aggregation group failover for multicast
CN111404964B (en) * 2020-03-30 2022-05-24 恒安嘉新(北京)科技股份公司 Method, device, equipment and medium for converging and shunting IP datagram

Also Published As

Publication number Publication date
CN113422735A (en) 2021-09-21

Similar Documents

Publication Publication Date Title
US20160212048A1 (en) Openflow service chain data packet routing using tables
US9397934B2 (en) Methods for packet forwarding though a communication link of a distributed link aggregation group using mesh tagging
CN113422735B (en) Load balancing configuration method, convergence diverter and medium
US10462058B2 (en) Multicast traffic management in an overlay network
US20220141129A1 (en) Packet processing method and system, and device
US20120294192A1 (en) Method and apparatus of connectivity discovery between network switch and server based on vlan identifiers
KR20160099473A (en) Technologies for modular forwarding table scalability
US20110231508A1 (en) Cluster control system, cluster control method, and program
US8625466B2 (en) Multi-card network device appearing as single entity in spanning tree network
CN108781185A (en) The system and method that programmable packet taxonomy model for the network equipment is provided
US10122654B2 (en) Divided hierarchical network system based on software-defined networks
WO2015167597A1 (en) Data plane to forward traffic based on communications from a software defined networking (sdn) controller during control plane failure
US10154073B2 (en) Packet forwarding apparatus for handling multicast packet
CN109905251A (en) Network management, device, electronic equipment and storage medium
CN108028801B (en) SDN-based ARP implementation method and device
EP3534571A1 (en) Service packet transmission method, and node apparatus
CN110768917B (en) Message transmission method and device
CN108259205B (en) Route publishing method and network equipment
CN114629844B (en) Message forwarding method and device and electronic equipment
CN107454011B (en) Message forwarding method, device and system
CN110912797B (en) Method and device for forwarding broadcast message
CN109660394B (en) Packet transport network management method, apparatus, system, device and storage medium
CN109639556B (en) Forwarding table entry reporting method and VTEP equipment
CN110309225B (en) Data processing method and system
CN112104566A (en) Load balancing processing method and device

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
GR01 Patent grant
GR01 Patent grant