CN112702278B - Load balancing method, convergence diverter and storage medium - Google Patents
Load balancing method, convergence diverter and storage medium Download PDFInfo
- Publication number
- CN112702278B CN112702278B CN202011608357.XA CN202011608357A CN112702278B CN 112702278 B CN112702278 B CN 112702278B CN 202011608357 A CN202011608357 A CN 202011608357A CN 112702278 B CN112702278 B CN 112702278B
- Authority
- CN
- China
- Prior art keywords
- vlan
- port
- hash
- field
- index
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
- H04L12/4666—Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a load balancing method, a convergence current divider and a storage medium. The method comprises the steps that an input processor acquires a message data packet, assigns table lookup information in the message data packet to metadata, determines a first hash field which is matched with user configuration information and used for calculating a port hash value in the metadata, calculates the port hash value based on the first hash field, and determines an output port of the message data packet according to the port hash value and a port load balance related table; the output processor determines a second hash field which is matched with the user configuration information and used for calculating a vlan hash value of the local area network switching technology in the metadata, calculates the vlan hash value based on the second hash field, determines a vlan identifier of a message data packet according to the vlan hash value and a vlan load balancing related table, adds the vlan identifier to a packet header of the message data packet to obtain a new message data packet, and sends the new message data packet through an output port; the method realizes twice load balancing based on the ports and the vlan in the convergence and shunt equipment.
Description
Technical Field
The embodiment of the invention relates to a network technology, in particular to a load balancing method, a convergence diverter and a storage medium.
Background
In the field of network security and data traffic analysis, it is generally necessary for a convergence and diversion device to converge and divert network traffic from multiple sources, and then output the network traffic to a backend device for detection or analysis. The shunting mode has various modes; if the homomorphism source of the data message is considered, the message needs to be subjected to hash load balancing output; if the uniformity of data message distribution is emphasized, the messages can be output in a polling mode; if the back-end equipment needs multiple copies of the same flow, the message can be copied and output.
When hash load balancing output is realized, a message needs to be sent to a load balancing group based on a port, and output from a certain port after hash is calculated. In some application scenarios, a specific vlan identifier needs to be marked on traffic output based on port load balancing, and then the traffic is output to the back-end device, and the back-end device performs filtering and forwarding based on the vlan identifier marked in the message. The way of marking the traffic with vlan id is also based on hash load balancing. The traditional convergence and shunt equipment cannot perform load balancing output twice based on the port and the vlan, so how to implement load balancing twice based on the port and the vlan in the convergence and shunt equipment becomes a problem to be solved urgently.
Disclosure of Invention
The embodiment of the invention provides a load balancing method, a convergence diverter and a storage medium, which can realize twice load balancing based on ports and vlans in convergence and diversion equipment.
In a first aspect, an embodiment of the present invention provides a load balancing method, which is performed by a convergence splitter, where the convergence splitter includes an input processor and an output processor;
the input processor acquires a message data packet and assigns table lookup information in the message data packet to metadata;
the input processor determining a first hash field in the metadata that matches user configuration information for computing a port hash value, the port hash value being computed based on the first hash field;
the input processor determines an output port of the message data packet according to the port hash value and the port load balancing related table;
the output processor determines a second hash field which is matched with user configuration information and used for calculating a vlan hash value of a local area network switching technology in the metadata, and calculates the vlan hash value based on the second hash field;
and the output processor determines the vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, adds the vlan identifier to the packet header of the message data packet to obtain a new message data packet, and sends the new message data packet through the output port.
In a second aspect, embodiments of the present invention further provide a converging splitter, including:
the input processor is used for acquiring a message data packet and assigning table look-up information in the message data packet to metadata; determining a first hash field matched with user configuration information in the metadata and used for calculating a port hash value, and calculating the port hash value based on the first hash field; determining an output port of the message data packet according to the port hash value and the port load balance related table;
the output processor is used for determining a second hash field which is matched with the user configuration information and used for calculating a vlan hash value of the local area network switching technology in the metadata, and calculating the vlan hash value based on the second hash field; and determining a vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, adding the vlan identifier to a packet header of the message data packet to obtain a new message data packet, and sending the new message data packet through the output port.
In a third aspect, embodiments of the present invention further provide a storage medium containing computer-executable instructions, which when executed by a convergence splitter, are configured to perform a load balancing method according to any of the embodiments of the present invention.
The invention provides a load balancing method, a convergence diverter and a storage medium, wherein a first hash field is selected by an input processor based on user configuration information, a port hash value is calculated based on the first hash field, an output port of a message data packet is determined according to the port hash value and a port load balancing related table, a second hash field is selected by an output processor based on the user configuration information, a vlan hash value is calculated based on the second hash field, a vlan identifier of the message data packet is determined according to the vlan hash value and the vlan load balancing related table, and the vlan identifier is added to the message data packet, so that the convergence diverter has the functions of port-based load balancing output and vlan-based load balancing tagging.
Drawings
Fig. 1 is a processing flow diagram of a control plane in a load balancing method according to an embodiment of the present invention;
fig. 2 is a flowchart of a load balancing method according to an embodiment of the present invention;
fig. 3 is a flowchart of another load balancing method according to an embodiment of the present invention;
fig. 4a is a flowchart of another load balancing method according to an embodiment of the present invention;
fig. 4b is a schematic diagram of a work flow of an input processor in a load balancing method according to an embodiment of the present invention;
fig. 4c is a schematic diagram of a work flow of an output processor in a load balancing method according to an embodiment of the present invention;
fig. 5 is a block diagram of a convergence splitter according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
It should be noted that the convergence current divider according to the embodiment of the present invention is a convergence current divider device developed based on the Tofino chip of the Barefoot corporation. The tof chip is based on a PISA (programmable Switching Architecture) Switching Architecture, and is divided into an input processor Ingress and an output processor Pipeline Egress. The programmable part is a resolver Parser, MAU (Match Action Unit) and a reverse resolver Parser, and the main work of the invention is concentrated on the MAU part and the Parser part. For example, the MAU part of Ingress realizes the load balancing group based on ports and the selection of the hash field and the calculation logic of the hash value through a plurality of tables, the MAU part of Egress realizes the load balancing group based on VLANs and the selection of the hash field and the calculation logic of the hash value through a plurality of tables, and the decorser part of Egress groups the selected VLAN to the original message data packet.
When calculating the hash value, corresponding fields need to be analyzed from the original message data packet. For example, computing a hash based on source/destination IP requires decoding the original packet to extract the source/destination IP address. The invention is flexibly configured by a user to calculate the hash value based on the tuple.
The embodiment of the invention realizes the forwarding logic of the message data packet on the data plane. It should be noted that the function of the data plane is implemented by both Ingress and Egress.
And controlling the forwarding and processing of the message data packet by issuing the table entry content on the control plane. Specifically, the command related to the user configuration information is analyzed and processed and then issued to the control plane, so as to control the forwarding of the message. The control plane processing flow is as follows:
1. and when the configuration command line input by the user is detected, the control plane analyzes the configuration command line to obtain command line analysis information.
It should be noted that the command line parsing information includes a quintuple filtering rule, a play port member list, configuration information of a play hash field selection table, configuration information of a vlag vlan member list and a vlag hash field selection table, and the like.
2. And analyzing the list of the members of the play port, and establishing a load balancing group based on the port.
It should be noted that a group of a port-based load balancing group includes a plurality of terminal nodes, and data traffic is forwarded to each terminal node in the group according to a port-based load balancing algorithm.
3. And configuring the play hash field selection table based on the configuration information of the play hash field selection table.
It should be noted that the play hash field selection table, also referred to as a port-based hash field selection table, is used by the data plane to obtain the first hash field for calculating the port hash value by querying the table.
4. And analyzing the member list of the vlan and establishing a load balancing group based on the vlan.
It should be noted that the load balancing based on the vlan is an operation of selecting one vlan from the load balancing group based on the vlan and adding its identifier to the header of the packet.
5. And configuring the vlag hash field selection table based on the configuration information of the vlag hash field selection table.
It should be noted that the vlan-hash field selection table is also referred to as a vlan-based hash field selection table, and the data plane obtains the second hash field and the hash function for calculating the vlan hash value by querying the table.
Fig. 1 is a processing flow chart of a control plane in a load balancing method according to an embodiment of the present invention. As shown in fig. 1, the processing flow of the control plane includes:
And 130, the analysis command line issues a quintuple filtering rule.
And step 140, analyzing the play port member list to establish a load balancing group.
And 150, configuring a play hash field selection table.
And 160, analyzing the vlag vlan member list to establish a load balancing group.
And step 170, configuring a vlag hash field selection table.
And step 180, ending.
Fig. 2 is a flowchart of a load balancing method according to an embodiment of the present invention, where the method may be executed by a convergence splitter, and the convergence splitter is developed based on a tof chip of baeftotot corporation and is deployed on each node of an existing network to perform convergence and splitting of network traffic. The convergence splitter includes an input processor and an output processor. As shown in fig. 1, the method includes:
Wherein, the message data packet is the data packet of the message input into the convergence flow divider. The message data packet has quintuple information, source MAC information, destination MAC information and the like. The five-tuple information includes a source IP address, a source port, a destination IP address, a destination port and a transport layer protocol.
The table lookup information is information for querying the control access list Acl in the packet data packet. For example, the table lookup information may be quintuple information or the like.
The Metadata is predefined hash field set Metadata. Metadata includes quintuple information and source/destination MAC information, etc. The input processor analyzes the message data packet through the Parser module to obtain table lookup information such as quintuple information and assigns the table lookup information such as the quintuple information to related metadata.
Illustratively, after the message data packet enters the convergence splitter, the message data packet is buffered by the input buffer. Reading the message data packet from the input cache through a Parser module of the input processor, and unpacking the message data packet to obtain table lookup information such as quintuple and the like. The table lookup information such as the quintuple is assigned to the associated Metadata by the input handler. It should be noted that Metadata here is a field used by the Ingress part to describe table lookup information carried in a packet.
Wherein the first hash field is field content configured by a user for calculating a port hash value. For example, if the user configuration calculates the port hash based on the source/destination IP, the first hash field is the source/destination IP address carried in the packet data. Or, the user configuration calculates port hash based on the source/destination port, and the first hash field is the source/destination port number carried in the packet data packet.
Since table lookup information such as quintuple in the packet has been assigned to the metadata, the first hash field may be the field content in the metadata that matches the user configuration information. And assigning values to zero for other parameters irrelevant to port hash value calculation in the metadata to obtain updated metadata. Since the parameters except the first hash field in the updated metadata are all zero, the port hash value is calculated by using the updated metadata, and the influence of other parameters on the calculation of the port hash value can be avoided. It should be noted that, other ways may also be used to avoid that parameters in the metadata that are not related to calculating the port hash value affect the calculation, and the present invention is not limited in particular. For example, a setting flag is marked on other parameters in the metadata that are not related to the port hash value calculation.
It should be noted that the port load balancing related table is an entry related to the port-based load balancing group. For example, the port load balancing related tables may include a port lag table, a port group table, and a port index table, etc.
The output port is the port which is determined by the convergence diverter and used for outputting the message data packet after the load balancing processing based on the port is carried out on the message data packet.
Specifically, the input processor queries a port lag table based on the patch id to obtain a port group id. And then, querying the port group table based on the port group id to obtain a set of the port index. And then, the input processor selects a target port index from the set of port indexes according to the port hash value, and queries a port index table based on the target port index to obtain an output port of the packet data packet.
The port lag table is a data table which takes a pig id as a key value and a port group id as a numerical value. Table 1 is a port lag table provided in the embodiment of the present invention.
Table 1 is a port lag table.
Key-value pair objects | Key value | Numerical value |
1 | plag_1 | port_group_1 |
2 | plag_2 | port_group_2 |
3 | plag_3 | port_group_3 |
As shown in table 1, the port lag table stores the play id and the port group id in the form of key-value pair objects.
The port group table is a data table with a port group id as a key value and a port index id as a numerical value. Table 2 is a port group table provided in the embodiment of the present invention.
Table 2 is a port group table.
Key-value pair objects | Key value | Numerical value |
1 | port_group_1 | port_index_1,port_index_2,port_index_3 |
2 | port_group_2 | port_index_4,port_index_5,port_index_6 |
3 | port_group_3 | port_index_7,port_index_8,port_index_9 |
As shown in table 2, the port group table stores a port group id and a port index id in the form of a key-value pair object.
The port index table is a data table with the port index as a key value and the port identifier as a numerical value. Table 3 is a port index table provided in the embodiment of the present invention.
Table 3 is a port index table.
Key-value pair objects | Key value | Numerical value |
1 | port_index_1 | port_1 |
2 | port_index_2 | port_2 |
3 | port_index_3 | port_3 |
4 | port_index_4 | port_4 |
5 | port_index_5 | port_5 |
6 | port_index_6 | port_6 |
7 | port_index_7 | port_7 |
8 | port_index_8 | port_8 |
9 | port_index_9 | port_9 |
As shown in FIG. 3, the port index table stores a port index id and a port id in the form of a key-value pair object.
It should be noted that there are many ways for the input processor to select a target port index from the set of port indexes according to the port hash value, and the embodiment of the present invention is not limited in particular. For example, a modulo operation may be performed on the port hash value to obtain a modulo result, and a target port index may be selected from the set of port indexes according to the modulo result. Specifically, if a certain port index id in the set of port indexes is the same as the modulo result, the port index corresponding to the port index id is referred to as a target port index. For example, if the modulo result is 3, then port _ index _3 is taken as the target port index.
And 240, the output processor determines a second hash field which is matched with the user configuration information and used for calculating a vlan hash value of the local area network switching technology in the metadata, and calculates the vlan hash value based on the second hash field.
Wherein the second hash field is field content configured by the user for calculating the vlan hash value. For example, if the user configuration calculates the vlan hash value based on the source/destination IP and the source/destination port, the second hash field is the source/destination IP address and the source/destination port number carried in the packet data.
Since table lookup information such as quintuple in the packet has been assigned to the metadata, the second hash field may be the field content in the metadata that matches the user configuration information. And assigning the other parameters irrelevant to the calculation of the vlan hash value in the metadata to be zero to obtain the updated metadata. Because the parameters except the second hash field in the updated metadata are all zero, the vlan hash value is calculated by using the updated metadata, and the influence of other parameters on the calculation of the vlan hash value can be avoided. It should be noted that, other ways may also be used to avoid that parameters in the metadata that are not related to calculating the vlan hash value affect the calculation, and the present invention is not limited in particular.
It should be noted that the vlan load balancing related table is an entry related to a load balancing group based on a vlan. For example, the vlan load balancing related tables may include a vlan lag table, a vlan group table, and a vlan index table, etc.
The vlan identifier is a vlan tag which is determined by the sink flow divider after the load balancing processing based on the vlan is performed on the message data packet, and is used for being added to the message data packet.
Specifically, the output processor obtains the vlag id in the packet data packet having the vlag id and the second index field. Then, the vlan _ group id is obtained by querying the vlan lag table based on the vlan id. And the output processor queries the vlan group table based on the vlan _ group id to obtain a set of vlan index. And the output processor selects a target vlan index from the vlan index set according to the vlan hash value, and queries the vlan index table based on the target vlan index to obtain the vlan identifier of the message data packet.
The vlan-lag table is a data table with vlan-lag id as a key value and vlan _ group id as a numerical value. Table 4 is a vlan lag table provided in the embodiments of the present invention.
Table 4 is a vlan lag table.
Key-value pair objects | Key value | Numerical value |
1 | vlag_1 | vlan_group_1 |
2 | vlag_2 | vlan_group_2 |
3 | vlag_3 | vlan_group_3 |
As shown in table 4, the vlan lag table stores vlan id and vlan group id in the form of key-value pair objects.
The vlan group table is a data table with vlan _ group id as a key value and vlan index as a numerical value. Table 5 is a vlan group table provided in the embodiment of the present invention.
Table 5 is a vlan group table.
Key-value pair objects | Key value | Numerical value |
1 | vlan_group_1 | vlan_index_1,vlan_index_2,vlan_index_3 |
2 | vlan_group_2 | vlan_index_4,vlan_index_5,vlan_index_6 |
3 | vlan_group_3 | vlan_index_7,vlan_index_8,vlan_index_9 |
As shown in table 5, the vlan group table stores the vlan group id and the vlan index id in the form of key-value pair objects.
The vlan index table is a data table with the vlan index as a key value and the vlan identifier as a numerical value. Table 6 is a vlan index table provided in the embodiment of the present invention.
Table 6 is a vlan index table.
Key-value pair objects | Key value | Numerical value |
1 | vlan_index_1 | vlan_1 |
2 | vlan_index_2 | vlan_2 |
3 | vlan_index_3 | vlan_3 |
4 | vlan_index_4 | vlan_4 |
5 | vlan_index_5 | vlan_5 |
6 | vlan_index_6 | vlan_6 |
7 | vlan_index_7 | vlan_7 |
8 | vlan_index_8 | vlan_8 |
9 | vlan_index_9 | vlan_9 |
As shown in table 6, the vlan index table stores vlan index ids and vlan ids in the form of key-value pair objects.
It should be noted that there are many ways for the output processor to select the target vlan index from the set of vlan indexes according to the vlan hash value, and the embodiment of the present invention is not limited in particular. For example, a modulo operation may be performed on the vlan hash value to obtain a modulo result, and the target vlan index may be selected from the set of vlan indices according to the modulo result. Specifically, if a certain vlan index id in the set of vlan index is the same as the modulo result, the vlan index corresponding to the vlan index id is referred to as a target vlan index. For example, if the modulo result is 6, vlan _ index _6 is set as the target vlan index.
After the vlan identifier of the message data packet is obtained by inquiring the vlan index table, the original message data packet in the input cache is obtained, the vlan identifier is added to the packet header of the original message data packet to obtain a new message data packet, and the new message data packet is output through the output port. And the output port is determined by the input processor according to the port hash value and the port load balancing related identification.
According to the technical scheme of the embodiment, the input processor selects a first hash field based on user configuration information, a port hash value is calculated based on the first hash field, an output port of a message data packet is determined according to the port hash value and a port load balance related table, the output processor selects a second hash field based on the user configuration information, a vlan hash value is calculated based on the second hash field, a vlan identifier of the message data packet is determined according to the vlan hash value and the vlan load balance related table, and the vlan identifier is added to the message data packet, so that the convergence splitter has the functions of port-based load balance output and vlan-based load balance tagging.
Fig. 3 is a flowchart of another load balancing method according to an embodiment of the present invention, where the embodiment further defines the foregoing embodiment, and as shown in fig. 3, the method includes:
Specifically, the input processor is the Ingress of the PISA switch fabric of the Tofino chip. As described above, the Tofino chip is mainly used for network devices such as switches and convergence splitters. The convergence current divider in the embodiment of the invention adopts a Tofino chip.
Illustratively, after the packet data packet reaches the convergence splitter, the input processor unpacks the packet data packet through the parser to extract the corresponding table lookup information from the packet header of the packet data packet. The table lookup information is then assigned to the associated Metadata.
And step 320, the input processor filters the metadata through an access control list Acl rule to obtain a play id and a first index field.
Wherein the Acl rule comprises a rule determined based on field information configured by a user for calculating a port hash value of the port. The rig id represents the LAG identification of the port type.
Specifically, an Acl rule is queried through table lookup information in Metadata, a play id and a hash field enumeration value included in the Acl rule which is successfully matched are obtained, and the hash field enumeration value obtained through matching is used as a first index field. The hash field enumeration value may include a five-tuple hash, a two-tuple hash, and the like. If the HASH is computed based on the source/destination IP address, the HASH field enumeration value may be HASH _ SIP, HASH _ DIP, etc.
Wherein the port-based hash field selection table is an entry defined by the data plane and configured based on user configuration information of the control plane. Specifically, the data in the port-based hash field selection table is stored in a key-value form in an associated manner. For example, the port-based hash field selection table is a data table with a hash field enumeration value as a key value and a first hash field as a numerical value. The hash field index table may also include an ACTION field, the ACTION field stored in association with a key value, and the ACTION field contents defined by the data plane. Table 7 is a port-based hash field selection table provided in the embodiment of the present invention.
Key-value pair objects | Key value | Movement of | A first hash field |
1 | HASH_FIVETUPLE | set_five_tuple_hash | SIP+DIP+SPORT+DPORT+PROTO |
2 | HASH_FOURTUPLE | set_four_tuple_hash | SIP+DIP+SPORT+DPORT |
3 | HASH_IPPAIR | set_ippair_hash | SIP+DIP+0+0+0 |
4 | HASH_SRCIP | set_srcip_hash | SIP+0+0+0+0 |
5 | HASH_DSTIP | set_dstip_hash | 0+DIP+0+0+0 |
As shown in table 7, in the port-based hash field selection table, the key values include a quintuple hash, a quadrupletuple hash, an IP pair hash, a source IP hash, and a destination IP hash, the actions corresponding to the key values are respectively setting the quintuple hash, setting the quadrupletuple hash, setting the IP pair hash, setting the source IP hash, and setting the destination IP hash, and the first hash fields corresponding to the key values are respectively SIP + DIP + SPORT + DPORT + PROTO, SIP + DIP + SPORT + DPORT, SIP + DIP +0+0+0, SIP +0+0+0+0, and 0+ DIP +0+0+0+ 0.
Specifically, the input processor queries the port-based hash field selection table with the first index field as a key value, and the query result includes a first hash field stored in association with the first index field in the port-based hash field selection table and an action stored in association with the first index field in the port-based hash field selection table. The first hash field is the field content required to compute the port-based hash value.
Illustratively, the input processor modifies the remaining fields of the metadata except the first hash field according to the action of querying the port-based hash field selection table, so as to obtain modified metadata. The port hash value may be calculated based on the modified metadata using a preconfigured hash calculation function. For example, the preconfigured hash calculation function is a crc hash function. Alternatively, the hash calculation function can also be obtained by a table look-up manner. And calculating the port hash value based on the modified metadata by adopting a hash calculation function obtained by table lookup. It should be noted that, in an example of obtaining the hash calculation function by looking up a table, the queried entry may be a data table in which an enumerated value of the hash function is used as a key (key), and the action (action) is to calculate a hash value through the hash function and the hash field. Wherein, the hash function enumeration value can be obtained by Acl rule filtering.
Specifically, modifying the remaining fields in the metadata, except the first hash field, according to the action obtained by querying the port-based hash field selection table may be: and assigning the rest fields except the first hash field in the metadata to be zero to obtain the modified metadata.
Illustratively, based on the matching obtained pig id, sequentially querying a port lag table and a port group table to obtain a set of port indexes. And selecting a target port index from the set of port indexes according to the port hash value obtained by calculation. And querying the port index table based on the target port index to obtain the port id.
And step 360, the output processor determines a second hash field which is matched with the user configuration information and used for calculating a vlan hash value of the local area network switching technology in the metadata, and calculates the vlan hash value based on the second hash field.
In the embodiment of the invention, metadata is filtered through an access control list Acl rule to obtain a play id and a first index field, and a port-based hash field selection table is inquired through the first index field to obtain a first hash field; assigning the rest fields except the first hash field in the metadata to be zero to obtain modified metadata, and calculating a port hash value based on the modified metadata; the output port of the message data packet is determined according to the port hash value and the port load balance related table, and the problems of port-based hash field selection, hash value calculation and load balance are solved. In addition, the output processor determines a second hash field which is matched with the user configuration information and used for calculating the vlan hash value in the metadata, and calculates the vlan hash value by adopting the second hash field; and determining the vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, adding the vlan identifier to the packet header of the message data packet to obtain a new message data packet, and sending the new message data packet through the output port, so that two-time load balancing based on the computation port and the vlan is realized.
Fig. 4a is a flowchart of another load balancing method according to an embodiment of the present invention, where the embodiment further defines the foregoing embodiment, and as shown in fig. 4a, the method includes:
And step 402, the input processor filters the metadata through an access control list Acl rule to obtain a play id and a first index field.
It should be noted that step 406 is performed after assigning table lookup information in the packet to metadata.
The Acl rules comprise rules determined based on field information configured by a user and used for calculating the vlan hash value. vlag id indicates vlan type LAG identity.
Specifically, the Acl rule is queried through table lookup information in Metadata, a vlag id and a hash field enumeration value included in the Acl rule which is successfully matched are obtained, and the hash field enumeration value obtained through matching is used as a second index field.
Illustratively, the input processor adds the vlag id and the second index field to the header of the packet data packet and sends it to the output processor Pipeline Egress Pipeline.
Fig. 4b is a schematic diagram of a work flow of an input processor in a load balancing method according to an embodiment of the present invention. As shown in fig. 4b, the input processor when executed performs the steps of:
And step 422, collecting packets by the convergence shunt.
And step 423, Ingress Parser decoding.
And 426, extracting a plane id and a two-tuple hash index, and extracting a vlag id and a four-tuple hash index.
It should be noted that the two-tuple hash index in step 426 is the first index field. If the user configuration calculates the port hash value based on the source/destination IP, the two-tuple hash index includes the source/destination IP. The quadruple hash index is the second index field. If the user configuration calculates the vlan hash value based on the source/destination IP and the source/destination port, the quadruple hash index includes the source/destination IP and the source/destination port.
And 427, using the two-tuple hash index as a key to query a hash field selection table.
Step 428 assigns the source/destination port and protocol number in Metadata to zero.
Step 4212, the port id of the outgoing interface is obtained by checking the port index table through the port index.
Step 4213, packing the vlag id and the quadruple hash index.
4214, packaging and sending to Egress Pipeline.
And step 4215, ending.
Illustratively, the output processor decodes the packet data packet through the inverse parser, extracting the vlag id and the second index field.
And 409, the output processor queries a vlan-based hash field selection table by using the second index field as a key value to obtain a second hash field for calculating a vlan hash value.
Wherein the vlan-based hash field selection table is an entry defined by the data plane and configured based on user configuration information of the control plane. Specifically, the data in the vlan-based hash field selection table is associatively stored in the form of key-value. For example, the vlan-based hash field selection table is a data table with a hash field enumeration value as a key value and a second hash field as a numerical value. The hash field index table may also include an ACTION field, the ACTION field stored in association with a key value, and the ACTION field contents defined by the data plane.
And step 410, the output processor modifies the value of the set field in the metadata according to the second hash field, and calculates the vlan hash value based on the modified metadata.
Illustratively, the output processor modifies the remaining fields of the metadata except the second hash field according to the action obtained by querying the vlan-based hash field selection table, so as to obtain the modified metadata. The vlan hash values may be calculated based on the modified metadata using a preconfigured hash calculation function. For example, the preconfigured hash calculation function is a crc hash function. Alternatively, the hash calculation function can also be obtained by a table look-up manner. And calculating the vlan hash value based on the modified metadata by adopting a hash calculation function obtained by table lookup. It should be noted that, in an example of obtaining the hash calculation function by looking up a table, the queried entry may be a data table in which an enumerated value of the hash function is used as a key (key), and the action (action) is to calculate a hash value through the hash function and the hash field. The hash function enumeration value can be obtained by filtering according to an Acl rule.
Specifically, the modifying, by the output processor, the value of the set field in the metadata according to the second hash field may specifically be: and the output processor assigns the remaining fields except the second hash field in the metadata to zero to obtain the modified metadata.
Illustratively, the vlan flag table and the vlan group table are sequentially queried based on the vlan id obtained by decoding the packet data to obtain a set of vlan indexes. And selecting a target vlan index from the vlan index set according to the calculated vlan hash value. And querying the vlan index table based on the target vlan index to obtain vlan id. And (4) grouping the vlan id into a packet header of the message data packet. And sending the message data packet with the vlan id to the network through the output port determined by the port-based load balancing.
Fig. 4c is a schematic diagram of a work flow of an output processor in a load balancing method according to an embodiment of the present invention. As shown in fig. 4c, the output processor when executed performs the steps of:
And step 432, Egress Psrser decoding.
And step 433, extracting the vlag id and the quadruple hash index.
And step 434, taking the quadruple hash index as a key value to query a hash field selection table.
And 437, looking up a vlan lag table through the vlan id to obtain a vlan group id.
And step 438, looking up the vlan group table through the vlan group id to obtain a set of vlan indexes, and selecting the vlan indexes by combining the hash value.
And step 439, the vlan index table is checked through the vlan index to obtain the final vlan id to be printed in the message data packet.
And 4310, grouping the vlan ids into an original message data packet.
And 4311, sending the vlan id marked message data packet to the network through the output port corresponding to the determined port id.
And step 4312, ending.
In the embodiment of the invention, metadata is filtered through an access control list Acl rule to obtain a playing id, a first index field, a vlag id and a second index field; inquiring a port-based hash field selection table through the first index field to obtain a first hash field; assigning the rest fields except the first hash field in the metadata to be zero to obtain modified metadata, and calculating a port hash value based on the modified metadata; the output port of the message data packet is determined according to the port hash value and the port load balance related table, and the problems of port-based hash field selection, hash value calculation and load balance are solved. Querying a vlan-based hash field selection table through a second index field to obtain a second hash field; assigning the remaining fields except the second hash field in the metadata to be zero to obtain another modified metadata, and calculating a vlan hash value based on the another modified metadata; the vlan identification is determined according to the vlan hash value and the vlan load balancing related table, and the problems of hash field selection, hash value calculation and load balancing based on the vlan are solved; therefore, the load balancing equipment has the functions of port-based load balancing output and vlan-based load balancing labeling at the same time.
Fig. 5 is a block diagram of a convergence splitter according to an embodiment of the present invention. The convergence splitter is used for executing the load balancing method provided by any embodiment of the invention, and the convergence splitter simultaneously has the functions of port-based load balancing output and vlan-based load balancing tagging by executing the method. As shown in fig. 5, the converging splitter 500 includes:
an input processor 510, configured to obtain a packet data packet, and assign table lookup information in the packet data packet to metadata; determining a first hash field matched with user configuration information in the metadata and used for calculating a port hash value, and calculating the port hash value based on the first hash field; determining an output port of the message data packet according to the port hash value and the port load balance related table;
an output processor 520, configured to determine a second hash field, which is used for calculating a local area network switching technology vlan hash value and is matched with the user configuration information in the metadata, and calculate the vlan hash value based on the second hash field; and determining a vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, adding the vlan identifier to a packet header of the message data packet to obtain a new message data packet, and sending the new message data packet through the output port.
The embodiment of the invention provides a convergence diverter, which selects a first hash field based on user configuration information through an input processor, calculates a port hash value based on the first hash field, determines an output port of a message data packet according to the port hash value and a port load balancing related table, selects a second hash field based on the user configuration information through an output processor, calculates a vlan hash value based on the second hash field, determines a vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, and adds the vlan identifier to the message data packet, so that the convergence diverter has the functions of port-based load balancing output and vlan-based load balancing tagging.
Optionally, the input processor 510 is further configured to:
after assigning table lookup information in the message data packet to metadata, filtering the metadata through an access control list (Acl) rule to obtain a tag id and a first index field, wherein the Acl rule comprises a rule determined based on field information configured by a user and used for calculating a port hash value of a port, and the tag id represents a LAG identifier of a port type.
Optionally, the input processor 510 is specifically configured to:
inquiring a port-based hash field selection table through the first index field to obtain a first hash field for calculating a port hash value;
and modifying the value of a set field in the metadata according to the first hash field, and calculating the port hash value based on the modified metadata.
Optionally, the input processor 510 is specifically further configured to:
and assigning the rest fields except the first hash field in the metadata to be zero to obtain the modified metadata.
Optionally, the input processor 510 is specifically further configured to:
querying a port lag table based on the patch id to obtain a port group id, wherein the port lag table is a data table which takes the patch id as a key value and the port group id as a numerical value;
querying a port group table based on the port group id to obtain a set of port indexes, wherein the port group table is a data table which takes the port group id as a key value and takes the port index id as a numerical value;
and selecting a target port index from the set of port indexes according to the port hash value, and querying a port index table based on the target port index to obtain an output port of the packet data packet, wherein the port index table is a data table which takes the port index as a key value and takes the port identifier as a numerical value.
Optionally, the input processor 510 is specifically further configured to:
and performing modular operation on the port hash value, and selecting a target port index from the set of port indexes according to a modular operation result.
Optionally, the input processor 510 is specifically further configured to:
after assigning table lookup information in the message data packet to metadata, acquiring a vlag id and a second index field obtained by filtering the metadata through an access control list Acl rule, wherein the Acl rule comprises a rule determined based on field information configured by a user and used for calculating a vlan hash value;
and adding the vlag id and the second index field to a packet header of the message data packet, and sending the message data packet with the vlag id and the second index field to the output processor.
Optionally, the output processor 520 is specifically configured to:
acquiring the second index field in the message data packet with the vlag id and the second index field;
querying a vlan-based hash field selection table by using the second index field as a key value to obtain a second hash field for calculating a vlan hash value;
and modifying the value of a set field in the metadata according to the second hash field, and calculating the vlan hash value based on the modified metadata.
Optionally, the output processor 520 is further specifically configured to:
and assigning the remaining fields except the second hash field in the metadata to be zero to obtain the modified metadata.
Optionally, the output processor 520 is further specifically configured to:
acquiring the vlag id in the message data packet with the vlag id and a second index field;
querying a vlan _ group id through a vlan lag table based on the vlan id to obtain a vlan _ group id, wherein the vlan lag table is a data table with the vlan _ group id as a key value and a numerical value;
querying a vlan group table based on the vlan _ group id to obtain a set of vlan indexes, wherein the vlan group table is a data table which takes the vlan _ group id as a key value and the vlan index as a numerical value;
and selecting a target vlan index from the vlan index set according to the vlan hash value, and querying a vlan index table based on the target vlan index to obtain a vlan identifier of the packet data packet, wherein the vlan index table is a data table with the vlan index as a key value and the vlan identifier as a numerical value.
The convergence current divider provided by the embodiment of the invention can execute the load balancing method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
Embodiments of the present invention also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, perform a method of load balancing, the method comprising:
the input processor acquires a message data packet and assigns table lookup information in the message data packet to metadata;
the input processor determining a first hash field in the metadata that matches user configuration information for computing a port hash value, the port hash value being computed based on the first hash field;
the input processor determines an output port of the message data packet according to the port hash value and the port load balancing related table;
the output processor determines a second hash field which is matched with user configuration information and used for calculating a vlan hash value of a local area network switching technology in the metadata, and calculates the vlan hash value based on the second hash field;
and the output processor determines the vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, adds the vlan identifier to the packet header of the message data packet to obtain a new message data packet, and sends the new message data packet through the output port.
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 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 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 (12)
1. A method of load balancing performed by a convergence shunt comprising an input processor and an output processor, comprising:
the input processor acquires a message data packet and assigns table lookup information in the message data packet to metadata;
the input processor determining a first hash field in the metadata that matches user configuration information for computing a port hash value, the port hash value being computed based on the first hash field;
the input processor determines an output port of the message data packet according to the port hash value and the port load balancing related table;
the output processor determines a second hash field which is matched with user configuration information and used for calculating a vlan hash value of a local area network switching technology in the metadata, and calculates the vlan hash value based on the second hash field;
and the output processor determines the vlan identifier of the message data packet according to the vlan hash value and the vlan load balance related table, adds the vlan identifier to the packet header of the message data packet to obtain a new message data packet, and sends the new message data packet through the output port.
2. The method of claim 1, wherein after assigning table lookup information in the packet to metadata, further comprising:
and the input processor filters the metadata through an access control list Acl rule to obtain a rig id and a first index field, wherein the Acl rule comprises a rule determined based on field information configured by a user and used for calculating a port hash value of a port, and the rig id represents a LAG identifier of a port type.
3. The method of claim 2, wherein the input processor determines a first hash field in the metadata that matches user configuration information for calculating a port hash value, and wherein calculating the port hash value based on the first hash field comprises:
the input processor queries a port-based hash field selection table through the first index field to obtain a first hash field for calculating a port hash value;
and the input processor modifies the value of a set field in the metadata according to the first hash field, and calculates the port hash value based on the modified metadata.
4. The method of claim 3, wherein modifying, by the input processor, the value of a set field in the metadata based on the first hash field comprises:
and the input processor assigns the rest fields except the first hash field in the metadata to zero to obtain the modified metadata.
5. The method of claim 2, wherein the input processor determining an output port of the packet data packet according to the port hash value and a port load balancing correlation table comprises:
the input processor queries a port lag table based on the patch id to obtain a port group id, wherein the port lag table is a data table which takes the patch id as a key value and the port group id as a numerical value;
the input processor queries a port group table based on the port group id to obtain a set of port indexes, wherein the port group table is a data table taking the port group id as a key value and the port index id as a numerical value;
and the input processor selects a target port index from the set of port indexes according to the port hash value, and queries a port index table based on the target port index to obtain an output port of the packet data packet, wherein the port index table is a data table which takes the port index as a key value and takes the port identifier as a numerical value.
6. The method of claim 5, wherein the selecting, by the input processor, a target port index from the set of port indices based on the port hash value comprises:
and the input processor performs modular operation on the port hash value, and selects a target port index from the set of port indexes according to the modular operation result.
7. The method of claim 1, wherein after assigning table lookup information in the packet to metadata, further comprising:
the input processor acquires a vlag id and a second index field obtained by filtering the metadata through an access control list (Acl) rule, wherein the Acl rule comprises a rule determined based on field information configured by a user and used for calculating a vlan hash value, and the vlag id represents a vlan-type LAG identifier;
and the input processor adds the vlag id and the second index field to the packet head of the message data packet, and sends the message data packet with the vlag id and the second index field to the output processor.
8. The method as claimed in claim 7, wherein said output processor determines a second hash field in said metadata matching user configuration information for computing a local area network switching technology vlan hash value, computing said vlan hash value based on said second hash field, comprising:
the output processor acquires the second index field in the message data packet with the vlag id and the second index field;
the output processor queries a vlan-based hash field selection table by using the second index field as a key value to obtain a second hash field for calculating a vlan hash value;
and the output processor modifies the value of a set field in the metadata according to the second hash field, and calculates the vlan hash value based on the modified metadata.
9. The method according to claim 8, wherein the output processor modifies values of set fields in the metadata according to the second hash field, and calculates the vlan hash value based on the modified metadata, comprising:
and the output processor assigns the remaining fields except the second hash field in the metadata to zero to obtain the modified metadata.
10. The method as claimed in claim 7, wherein the determining, by the output processor, the vlan id of the packet data packet according to the vlan hash value and the vlan load balancing correlation table comprises:
the output processor acquires the vlag id in the message data packet with the vlag id and a second index field;
the output processor queries a vlan _ group id through a vlan lag table based on the vlan id to obtain a vlan _ group id, wherein the vlan lag table is a data table with the vlan _ group id as a key value and a numerical value;
the output processor queries a vlan group table based on the vlan _ group id to obtain a set of vlan indexes, wherein the vlan group table is a data table which takes the vlan _ group id as a key value and the vlan index as a numerical value;
and the output processor selects a target vlan index from the vlan index set according to the vlan hash value, and queries a vlan index table based on the target vlan index to obtain a vlan identifier of the packet data packet, wherein the vlan index table is a data table with the vlan index as a key value and the vlan identifier as a numerical value.
11. A converging flow diverter, comprising:
the input processor is used for acquiring a message data packet and assigning table look-up information in the message data packet to metadata; determining a first hash field matched with user configuration information in the metadata and used for calculating a port hash value, and calculating the port hash value based on the first hash field; determining an output port of the message data packet according to the port hash value and the port load balance related table;
the output processor is used for determining a second hash field which is matched with the user configuration information and used for calculating a vlan hash value of the local area network switching technology in the metadata, and calculating the vlan hash value based on the second hash field; and determining a vlan identifier of the message data packet according to the vlan hash value and the vlan load balancing related table, adding the vlan identifier to a packet header of the message data packet to obtain a new message data packet, and sending the new message data packet through the output port.
12. A storage medium containing computer-executable instructions for performing the method of load balancing according to any one of claims 1-10 when executed by a convergence splitter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011608357.XA CN112702278B (en) | 2020-12-30 | 2020-12-30 | Load balancing method, convergence diverter and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011608357.XA CN112702278B (en) | 2020-12-30 | 2020-12-30 | Load balancing method, convergence diverter and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702278A CN112702278A (en) | 2021-04-23 |
CN112702278B true CN112702278B (en) | 2022-08-12 |
Family
ID=75512458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011608357.XA Active CN112702278B (en) | 2020-12-30 | 2020-12-30 | Load balancing method, convergence diverter and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702278B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392131A (en) * | 2021-07-05 | 2021-09-14 | 上海幻电信息科技有限公司 | Data processing method and device and computer equipment |
CN113438252B (en) * | 2021-07-08 | 2023-01-10 | 恒安嘉新(北京)科技股份公司 | Message access control method, device, equipment and storage medium |
CN116527410B (en) * | 2023-07-05 | 2023-09-26 | 北京亿赛通科技发展有限责任公司 | Firewall multiprocess processing method and device in reverse proxy mode |
CN116668380B (en) * | 2023-07-28 | 2023-10-03 | 北京中科网芯科技有限公司 | Message processing method and device of convergence diverter equipment |
CN117033383B (en) * | 2023-08-10 | 2025-09-12 | 中国工商银行股份有限公司 | Data detection method, device, equipment and storage medium |
CN119853888B (en) * | 2025-02-05 | 2025-09-19 | 合肥神州鲲泰信息技术有限公司 | Method for reducing hash jitter caused by LAG member number change |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447619A (en) * | 2011-11-10 | 2012-05-09 | 华为技术有限公司 | Method, device and system for selecting load sharing mode |
CN103152271A (en) * | 2013-04-03 | 2013-06-12 | 清华大学 | Routing forwarding method for content-based data center network |
CN206820776U (en) * | 2017-04-01 | 2017-12-29 | 中国人民解放军61660部队 | A kind of comprehensive safety monitoring analytical equipment based on network traffics |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL125272A0 (en) * | 1998-07-08 | 1999-03-12 | Galileo Technology Ltd | Vlan protocol |
US20200403922A1 (en) * | 2019-06-24 | 2020-12-24 | Vmware, Inc. | Load balancing of l2vpn traffic over multiple ipsec vpn tunnels |
-
2020
- 2020-12-30 CN CN202011608357.XA patent/CN112702278B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447619A (en) * | 2011-11-10 | 2012-05-09 | 华为技术有限公司 | Method, device and system for selecting load sharing mode |
CN103152271A (en) * | 2013-04-03 | 2013-06-12 | 清华大学 | Routing forwarding method for content-based data center network |
CN206820776U (en) * | 2017-04-01 | 2017-12-29 | 中国人民解放军61660部队 | A kind of comprehensive safety monitoring analytical equipment based on network traffics |
Non-Patent Citations (1)
Title |
---|
多下一跳路由机制下负载均衡算法研究;王超等;《计算机应用研究》;20090415;第26卷(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112702278A (en) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112702278B (en) | Load balancing method, convergence diverter and storage medium | |
US9379975B2 (en) | Communication control system, control server, forwarding node, communication control method, and communication control program | |
US10826821B2 (en) | Flow path detection | |
US9306837B1 (en) | Source IP-based pruning of traffic toward dually-connected overlay hosts in a data communications environment | |
CN104022953A (en) | Message forwarding method and device based on Open Flow | |
US10313154B2 (en) | Packet forwarding | |
Sethi et al. | Abstractions for model checking SDN controllers | |
US10038624B1 (en) | Flexible packet replication and filtering for multicast/broadcast | |
US10341223B2 (en) | Multicast data packet forwarding | |
US10326712B2 (en) | Multicast data packet forwarding | |
TW201906375A (en) | Heavy network flow detection method and software-defined networking switch | |
US10880109B2 (en) | Forwarding multicast data packet | |
US10313275B2 (en) | Packet forwarding | |
CN113519144A (en) | Precision match and Ternary Content Addressable Memory (TCAM) hybrid lookup for network devices | |
US9853903B1 (en) | Simultaneous redirecting and load balancing | |
US10313274B2 (en) | Packet forwarding | |
US9699097B2 (en) | Network system, method of controlling thereof, network control apparatus, and non-transitory computer-readable recording medium having stored therein control program thereof | |
US8687636B1 (en) | Extended policy control list keys having backwards compatibility | |
CN104205745B (en) | Method and device for message processing | |
WO2015192793A1 (en) | Packet processing | |
US20230052252A1 (en) | Network device that utilizes tcam configured to output multiple match indices | |
CN104252504B (en) | Data query method, apparatus and system | |
US11962499B2 (en) | Multitenancy for service machines | |
US8605732B2 (en) | Method of providing virtual router functionality | |
US20150381775A1 (en) | Communication system, communication method, control apparatus, control apparatus control method, and program |
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 |