WO2024093778A1 - 一种报文处理方法以及相关装置 - Google Patents
一种报文处理方法以及相关装置 Download PDFInfo
- Publication number
- WO2024093778A1 WO2024093778A1 PCT/CN2023/126724 CN2023126724W WO2024093778A1 WO 2024093778 A1 WO2024093778 A1 WO 2024093778A1 CN 2023126724 W CN2023126724 W CN 2023126724W WO 2024093778 A1 WO2024093778 A1 WO 2024093778A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- load balancing
- identifier
- network device
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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
-
- 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/11—Identifying congestion
- H04L47/115—Identifying congestion using a dedicated packet
-
- 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/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
Definitions
- the present application relates to the field of communication technology, and in particular to a message processing method and related devices.
- load balancing load balancing, or load sharing refers to sending traffic evenly from multiple links.
- the application scenario of the load balancing algorithm is mainly equal-cost multi-path routing (Equal-Cost Multi-Path, ECMP); in a network that uses layer 2 (Layer2, L2) identifier table lookup forwarding (that is, a network that uses link layer table lookup forwarding), such as an Ethernet switching network, the application scenario of the load balancing algorithm is mainly link aggregation (Link Aggregation, LAG).
- an embodiment of the present application provides a message processing method, including:
- the message arrives at the network device
- the network device allocates a load balancing identifier of the message according to the traffic characteristic information of the message, wherein the load balancing identifier is used to indicate a load balancing algorithm corresponding to the message;
- the network device determines an egress port of the message according to the load balancing identifier of the message and using the load balancing algorithm corresponding to the message, wherein the egress port of the message is used to forward the message.
- messages are classified according to traffic characteristics, and different types of traffic are assigned different load balancing identifiers. Different load balancing identifiers correspond to different load balancing configuration information.
- the network device determines the corresponding load balancing configuration information based on the load balancing identifier, and processes the message according to the load balancing configuration information to obtain the egress port of the message.
- Load balancing processing of traffic is implemented. The coexistence of multiple load balancing configuration information corresponding to multiple services in the running state is supported, and mixed traffic is classified, and load balancing processing is performed on the mixed traffic separately according to different load balancing configuration information running independently.
- the network device can be divided into multiple functional modules according to the functional division, including: 1. Packet header processing module (packet parser), this module is responsible for extracting multiple message header field information from the message, such as Layer 2 header, Layer 3 header, transport layer header and other message header field information, and supplementing description information such as the physical port information where the message arrives, for subsequent module processing. 2. Tunnel termination module (tunnel termination), this module is used to terminate the message with the switch chip as the tunnel endpoint. 3. VLAN processing module (VLAN processing), this mode is used to process the virtual local area network VLAN function, such as VLAN tagging, de-tagging or conversion. 4.
- Packet header processing module packet parser
- tunnel termination module tunnel termination
- VLAN processing VLAN processing
- VLAN processing VLAN processing
- Layer 2 forwarding module (Layer 2 switching), this module is used to process Layer 2 functions. For example, source MAC address learning, destination MAC address forwarding table lookup, providing Layer 2 switching services, and Layer 2 load balancing function are in this module. 5.
- Layer 3 forwarding module (Layer 3routing), this module is used to process Layer 3 functions, such as the longest match table lookup of the destination IP address, etc., and provide Layer 3 routing services. The Layer 3 load balancing function is in this module.
- Ingress ACL processing module (ingress ACL), this module is used to implement access control lists (ACLs), differential services, quality of service QoS classification applications, policy routing to modify the next hop and other functions.
- the traffic feature information of the message is extracted in the message header processing module.
- a load balancing identifier is assigned to the message according to the traffic feature information of the message, and then the egress port of the message is calculated to implement load balancing processing of the message.
- the embodiment of the present application proposes a message processing method. After the message arrives at the network device, a load balancing identifier of the message is assigned according to the traffic feature information of the message, and the load balancing identifier is used to indicate the load balancing algorithm corresponding to the message.
- the network device determines the egress port of the message according to the load balancing identifier of the message and the egress port of the message is used to forward the message.
- the network device supports the assignment of different load balancing identifiers to different messages. Then, the network device determines the egress port of the message according to the load balancing identifier and uses the corresponding load balancing algorithm to implement load balancing processing of the message. In a scenario where multiple services exist simultaneously in the network, the network device can perform corresponding load balancing processing on the messages of different services to improve the throughput of the entire network.
- the network device fills the load balancing identifier into the message, including: the network device fills the load balancing identifier into the message descriptor of the message, and the message descriptor is used to record the message header information of the message.
- the load balancing identifier is an explicit identifier.
- the information recorded in the message descriptor includes but is not limited to: Ethernet header information, IP header information, TCP/UDP header information, location information of the message stored in the chip buffer, length information of the message, and message output port information, etc.
- the network device assigns a load balancing identifier to the message, including: the network device (chip) fills (or adds) the load balancing identifier in the message descriptor corresponding to the message.
- One possible implementation is that the network device fills the load balancing identifier into a reserved field of the message.
- the network device fills the load balancing identifier into the payload of the message. It is understandable that the filling area of the load balancing identifier is not limited in the embodiment of the present application.
- the network device determines the egress port of the message according to the load balancing identifier of the message and uses the load balancing algorithm corresponding to the message, including: the network device determines the load balancing algorithm corresponding to the message according to the load balancing identifier; the network device determines the target hash function used by the message and the target hash key value components of the message according to the load balancing algorithm corresponding to the message; the network device calculates the target hash value according to the target hash function and the target hash key value components; the network device determines the egress port of the message according to the target hash value.
- the network device uses the relevant information recorded in the message descriptor of the message as the traffic characteristic information of the message. Then, the network device selects the matching information that matches the message descriptor (traffic characteristic information) from the matching information of multiple load balancing configuration information. The network device assigns the load balancing identifier corresponding to the load balancing configuration information to the message. The network device fills the load balancing identifier in the message descriptor of the message.
- the network device determines the target hash function used by the message and the target hash key value component members of the message according to the load balancing identifier, including: the network device determines the hash function selection control word corresponding to the message and the hash key value member selection control word corresponding to the message according to the load balancing identifier; the network device determines the target hash function used by the message according to the hash function selection control word corresponding to the message; the network device selects a target field from the message according to the hash key value member selection control word corresponding to the message, and the target field is used to construct the target hash key value component members of the message.
- the network device responsible for constructing the hash key value is taken as an example to illustrate.
- the hash key value has a total of 13 members, each of which is 16 bits wide, or 2 bytes wide.
- the first member is the source virtual port identifier of the virtual network tag (VNTag); the second member is the destination virtual port identifier of the VNTag; the third member is the identifier of the chip in the system; the fourth member is the physical port identifier of the message arriving at the chip; the fifth member is the network layer protocol identifier of the message; the sixth member is the destination port of the transport layer of the message; the seventh member is the source port of the transport layer of the message; the eighth member is the VLAN identifier of the message; the ninth member is the lower 16 bits of the network layer destination address of the message; the tenth member is the upper 16 bits of the network layer destination address of the message; the eleventh member is the VLAN identifier of the message; the ninth member is the lower 16 bits of the network layer destination address of the message; the tenth member is the upper 16 bits of the network layer destination address of the message; the tenth
- Some of the above member information comes from the fields carried by the message itself, such as the network layer destination address, network layer source address, transport layer destination port, transport layer source port, network layer protocol identifier, CNTag, VNTag, VLAN identifier, etc. Some of it comes from the information of the chip where the message is located, such as the chip port identifier where the message arrives, the identifier of the chip in the system where the message arrives, etc.
- the member field will be filled with the default value when constructing the Hash Key, such as 0 or other fixed values; if the chip is told that some member fields need to be filled, but there is no corresponding field in the message or the corresponding member information cannot be extracted, for example, for the Address Resolution Protocol (ARP) message, there is no network layer and transmission information, then the corresponding field is also filled with the default value such as 0 or other fixed values.
- ARP Address Resolution Protocol
- the hash key value is calculated according to the configured hash algorithm to obtain the corresponding hash value.
- the hash value construction method is usually to configure on the network device how to obtain the hash value from the hash calculation result, such as extracting the lower 16 bits of the hash calculation result as the final hash value, or the upper 16 bits as the final hash value, or all bits as the final hash value, etc.
- the selection of which fields of the message to fill in to construct the hash key value is controlled by the hash key members selection control word.
- the length of the hash key members selection control word can be 13 bits. If the corresponding bit of the hash key members selection control word is set to 1, it means that the value of the corresponding field of the message needs to be filled into the hash key, otherwise it is ignored. For example: from the low bit to the high bit, if the 7th bit of this control word is set to 1, it means that the value of the source port (source L4port) field of the transport layer needs to be extracted from the message header and filled into the 7th field of the hash key structure; otherwise, the 7th field of the hash key structure defaults to all 0s.
- the selection of the hash algorithm is also controlled by a control word, which is called a hash function selection control word.
- the hash function selection control word can be combined with the hash key member selection control word into a single control word.
- the hash function selection control word and the hash key member selection control word can also exist independently as two control words.
- the hash algorithm includes cyclic redundancy check (CRC) calculation, XOR calculation or other chip customized calculation methods.
- CRC cyclic redundancy check
- the network device determines the egress port of the message according to the load balancing identifier of the message and the load balancing algorithm corresponding to the message, including: the network device determines the target logic circuit according to the load balancing identifier of the message, wherein the target logic circuit is associated with the load balancing identifier of the message, and the target logic circuit runs the load balancing algorithm corresponding to the message; the network device uses the target logic circuit to process the message and determine the egress port of the message.
- the load balancing identifier is an implicit identifier.
- the network device determines the target logic circuit based on the load balancing identifier of the message, including: the network device determines the target logic circuit from multiple logic circuits included in the network device, wherein the multiple logic circuits correspond to multiple load balancing identifiers, the multiple load balancing identifiers include the load balancing identifier of the message, and the logic circuit runs the load balancing algorithm corresponding to the load balancing identifier.
- the network device includes multiple logic circuits, each logic circuit corresponds to a load balancing configuration information, and the logic circuit runs the load balancing algorithm corresponding to the load balancing configuration information.
- the network device uses the logic circuit to process the message and calculates the output port of the message. Since the load balancing configuration information corresponds to the load balancing identifier (implicit), each logic circuit is associated with an implicit load balancing identifier. In the embodiment of the present application, each logic circuit is associated with a unique load balancing identifier, and this type of implicit load balancing identifier is referred to as a logic circuit identifier in the embodiment of the present application. After the network device assigns an implicit load balancing identifier to the message, the network device determines the target logic circuit based on the load balancing identifier, and the target logic circuit is used to process the message to obtain the output port of the message.
- the multiple logic circuits included in the network device can be independent physical circuits, or the same physical circuit can be distinguished by different timing sequences, and the embodiments of the present application are not limited thereto.
- the network device uses the target logic circuit to process the message and determine the output port of the message, including: the network device uses the target logic circuit to process the message and determines the target hash function used by the message and the target hash key value components of the message; the network device calculates the target hash value based on the target hash function and the target hash key value components; the network device determines the output port of the message based on the target hash value.
- the network device uses the target logic circuit to process the message and determine the
- the target hash function used by the message and the target hash key value of the message constitute members, including:
- the network device obtains a hash function selection control word corresponding to the message and a hash key value member selection control word corresponding to the message from a register associated with the target logic circuit; the network device selects a target field from the message according to the hash key value member selection control word corresponding to the message, and the target field is used to construct the target hash key value component member of the message; the network device determines the target hash function used by the message according to the hash function selection control word corresponding to the message.
- the network device receives a first instruction; the network device configures load balancing configuration information according to the first instruction, and the load balancing configuration information indicates the association between the traffic feature information and the load balancing algorithm.
- the first instruction may be sent by a network management device, or may be input by a user, which is not limited in this embodiment of the present application.
- the load balancing identifier includes any one or more of the following: identification information of the load balancing configuration information, a logic circuit identifier, a hash key member selection control word, or a hash function selection control word; wherein the load balancing configuration information indicates an association between the traffic feature information and the load balancing algorithm.
- the load balancing configuration information includes any one or more of the following information: identification information of the load balancing configuration information, the load balancing algorithm corresponding to the load balancing configuration information, matching information, the matching information belonging to the traffic feature information, selection configuration information of hash key value components, and selection configuration information of hash functions.
- the traffic characteristic information of the message includes one or more of the following: differentiated service code point DSCP information of the message, priority information of the message, ingress port information of the message, virtual local area network VLAN information of the message, ingress port group information of the message, egress port information of the message, egress port group information of the message, or virtual routing forwarding table VRF information of the message.
- the load balancing algorithm includes: a hash function (also called a load balancing hash function) and a hash key value component member (also called a load balancing hash key value component member).
- the load balancing configuration information indicates a specific load balancing algorithm.
- load balancing configuration information #1 indicates hash function #1 and hash key value component #1.
- the user selecting load balancing configuration information #1 means that the user selects hash function #1 and hash key value component #1 to perform load balancing on the message.
- the load balancing configuration information is regarded as an instance of a load balancing algorithm.
- the network device obtains a second instruction, and the second instruction instructs the network device to use specific load balancing configuration information to process the message.
- the network device selects specific load balancing configuration information to perform load balancing processing on the message according to the second instruction.
- the application scenario of the load balancing algorithm is any one of the following: equal cost multipath routing ECMP, weighted multipath routing WCMP, or link aggregation LAG.
- the message includes a first message and a second message, and the traffic characteristic information of the first message is different from the traffic characteristic information of the second message; the network device allocates the load balancing identifier of the message according to the traffic characteristic information of the message, including: the network device allocates a first load balancing identifier of the first message according to the traffic characteristic information of the first message, and the first load balancing identifier corresponds to a first load balancing algorithm; the network device allocates a second load balancing identifier of the second message according to the traffic characteristic information of the second message, and the second load balancing identifier corresponds to a second load balancing algorithm; the first load balancing identifier is different from the second load balancing identifier, and the first load balancing algorithm is different from the second load balancing algorithm.
- the network device is configured with multiple load balancing configuration information, and the multiple load balancing configuration information respectively indicate different load balancing algorithms.
- Each load balancing configuration information corresponds to a unique load balancing identifier, and each load balancing configuration information corresponds to a class of messages.
- the network device extracts the traffic characteristic information of the first message.
- a first load balancing identifier of the first message is allocated according to the traffic characteristic information of the first message.
- the first load balancing identifier corresponds to the first load balancing algorithm, and the network device uses the first load balancing algorithm to perform load balancing processing on the first message.
- the network device When the second message arrives at the network device, the network device extracts the traffic characteristic information of the second message. Then, a second load balancing identifier of the second message is allocated according to the traffic characteristic information of the second message.
- the second load balancing identifier corresponds to the second load balancing algorithm, and the network device uses the second load balancing algorithm to perform load balancing processing on the second message.
- the first load balancing identifier is different from the second load balancing identifier, and the first load balancing algorithm is different from the second load balancing algorithm.
- an embodiment of the present application provides a communication device for a network device, including:
- the message arrives at the transceiver module
- a processing module configured to allocate a load balancing identifier of the message according to the traffic characteristic information of the message, wherein the load balancing identifier is used to indicate a load balancing algorithm corresponding to the message;
- the processing module is further used to determine the egress port of the message according to the load balancing identifier of the message and using the load balancing algorithm corresponding to the message, wherein the egress port of the message is used to forward the message.
- the processing module is further used to fill the load balancing identifier into the message descriptor of the message, and the message descriptor is used to record the message header information of the message.
- the processing module is further used to determine the load balancing algorithm corresponding to the message according to the load balancing identifier;
- the processing module is further used to determine the target hash function used by the message and the target hash key value component members of the message according to the load balancing algorithm corresponding to the message;
- the processing module is further used to calculate a target hash value according to the target hash function and the target hash key value component member;
- the processing module is further used to determine the egress port of the message according to the target hash value.
- the processing module is further used to determine, according to the load balancing identifier, a hash function selection control word corresponding to the message and a hash key value member selection control word corresponding to the message;
- the processing module is further configured to select a control word according to the hash function corresponding to the message, and determine the target hash function used by the message;
- the processing module is further used to select a control word according to the hash key value member corresponding to the message, and select a target field from the message, wherein the target field is used to construct the target hash key value component member of the message.
- the processing module is further used to determine a target logic circuit according to the load balancing identifier of the message, wherein the target logic circuit is associated with the load balancing identifier of the message, and the target logic circuit runs the load balancing algorithm corresponding to the message;
- the processing module is further configured to use the target logic circuit to process the message and determine an egress port of the message.
- the processing module is also used to determine the target logic circuit from multiple logic circuits included in the network device, wherein the multiple logic circuits correspond to multiple load balancing identifiers, the multiple load balancing identifiers include the load balancing identifier of the message, and the logic circuit runs the load balancing algorithm corresponding to the load balancing identifier.
- the processing module is further used to process the message using the target logic circuit to determine a target hash function used by the message and a target hash key value component member of the message;
- the processing module is further used to calculate a target hash value according to the target hash function and the target hash key value component member;
- the processing module is further used to determine the egress port of the message according to the target hash value.
- the transceiver module is further used to obtain a hash function selection control word corresponding to the message and a hash key value member selection control word corresponding to the message from a register associated with the target logic circuit;
- the processing module is further used to select a control word according to a hash key value member corresponding to the message, and select a target field from the message, wherein the target field is used to construct the target hash key value component member of the message;
- the processing module is further configured to select a control word according to the hash function corresponding to the message, and determine the target hash function used by the message.
- the transceiver module is further configured to receive a first instruction
- the processing module is further used to configure load balancing configuration information according to the first instruction, and the load balancing configuration information indicates the association between the traffic feature information and the load balancing algorithm.
- the load balancing identifier includes any one or more of the following:
- Identification information of load balancing configuration information a logic circuit identifier, a hash key value member selection control word, or a hash function selection control word;
- the load balancing configuration information indicates the association between the traffic feature information and the load balancing algorithm.
- the load balancing configuration information includes any one or more of the following information:
- the matching information belonging to the traffic feature information
- Hash key value consists of member selection configuration information
- Hash function selection configuration information
- the traffic characteristic information of the message includes one or more of the following:
- the differentiated services code point DSCP information of the message the priority information of the message, the ingress port information of the message, the virtual local area network VLAN information of the message, the ingress port group information of the message, the egress port information of the message, the egress port group information of the message, or the virtual routing forwarding table VRF information of the message.
- equal cost multi-path routing ECMP weighted multi-path routing WCMP, or link aggregation LAG.
- the message includes a first message and a second message, and the traffic characteristic information of the first message is different from the traffic characteristic information of the second message;
- the processing module is specifically configured to allocate a first load balancing identifier of the first message according to the traffic characteristic information of the first message, wherein the first load balancing identifier corresponds to a first load balancing algorithm;
- the processing module is specifically configured to allocate a second load balancing identifier of the second message according to the traffic characteristic information of the second message, wherein the second load balancing identifier corresponds to a second load balancing algorithm;
- the first load balancing identifier is different from the second load balancing identifier, and the first load balancing algorithm is different from the second load balancing algorithm.
- an embodiment of the present application provides a communication device, including: a communication interface;
- a processor configured to allocate a load balancing identifier of the message according to the traffic characteristic information of the message, wherein the load balancing identifier is used to indicate a load balancing algorithm corresponding to the message;
- the processor is further configured to determine an egress port of the message according to the load balancing identifier of the message and using the load balancing algorithm corresponding to the message, wherein the egress port of the message is used to forward the message.
- the processor is further configured to fill the load balancing identifier into a message descriptor of the message, where the message descriptor is configured to record message header information of the message.
- the processor is further configured to determine the load balancing algorithm corresponding to the message according to the load balancing identifier;
- the processor is further configured to determine, according to the load balancing algorithm corresponding to the message, a target hash function used by the message and a target hash key value component member of the message;
- the processor is further configured to calculate a target hash value according to the target hash function and the target hash key value component member;
- the processor is further configured to determine an egress port of the message according to the target hash value.
- the processor is further configured to determine, according to the load balancing identifier, a hash function selection control word corresponding to the message and a hash key value member selection control word corresponding to the message;
- the processor is further configured to select a control word according to the hash function corresponding to the message, and determine the target hash function used by the message;
- the processor is further configured to select a control word according to the hash key value member corresponding to the message, and select a target field from the message, wherein the target field is used to construct the target hash key value component member of the message.
- the processor is further configured to determine a target logic circuit according to the load balancing identifier of the message, wherein the target logic circuit is associated with the load balancing identifier of the message, and the target logic circuit runs the load balancing algorithm corresponding to the message;
- the processor is further configured to use the target logic circuit to process the message and determine an egress port of the message.
- the processor is further used to determine the target logic circuit from multiple logic circuits included in the network device, wherein the multiple logic circuits correspond to multiple load balancing identifiers, the multiple load balancing identifiers include the load balancing identifier of the message, and the logic circuit runs the load balancing algorithm corresponding to the load balancing identifier.
- the processor is further configured to process the message using the target logic circuit to determine a target hash function used by the message and a target hash key value component member of the message;
- the processor is further configured to calculate a target hash value according to the target hash function and the target hash key value component member;
- the processor is further configured to determine an egress port of the message according to the target hash value.
- the communication interface is further used to obtain a hash function selection control word corresponding to the message and a hash key value member selection control word corresponding to the message from a register associated with the target logic circuit;
- the processor is further configured to select a control word according to a hash key value member corresponding to the message, and select a target field from the message, wherein the target field is used to construct the target hash key value component member of the message;
- the processor is further configured to select a control word according to the hash function corresponding to the message, and determine the target hash function used by the message.
- the communication interface is further used to receive a first instruction
- the processor is further configured to configure load balancing configuration information according to the first instruction, wherein the load balancing configuration information indicates an association between the traffic feature information and the load balancing algorithm.
- the load balancing identifier includes any one or more of the following:
- Identification information of load balancing configuration information a logic circuit identifier, a hash key value member selection control word, or a hash function selection control word;
- the load balancing configuration information indicates the association between the traffic feature information and the load balancing algorithm.
- the load balancing configuration information includes any one or more of the following information:
- the matching information belonging to the traffic feature information
- Hash key value consists of member selection configuration information
- Hash function selection configuration information
- the traffic characteristic information of the message includes one or more of the following:
- the differentiated services code point DSCP information of the message the priority information of the message, the ingress port information of the message, the virtual local area network VLAN information of the message, the ingress port group information of the message, the egress port information of the message, the egress port group information of the message, or the virtual routing forwarding table VRF information of the message.
- equal cost multi-path routing ECMP weighted multi-path routing WCMP, or link aggregation LAG.
- the message includes a first message and a second message, and the traffic characteristic information of the first message is different from the traffic characteristic information of the second message;
- the processor is specifically configured to allocate a first load balancing identifier of the first message according to the traffic characteristic information of the first message, where the first load balancing identifier corresponds to a first load balancing algorithm;
- the processor is specifically configured to allocate a second load balancing identifier of the second message according to the traffic characteristic information of the second message, wherein the second load balancing identifier corresponds to a second load balancing algorithm;
- the first load balancing identifier is different from the second load balancing identifier, and the first load balancing algorithm is different from the second load balancing algorithm.
- a communication system comprising the communication device of the second aspect or the third aspect.
- the fifth aspect of the present application provides a computer storage medium, which may be non-volatile; the computer storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the method in any one of the implementation modes in the first aspect is implemented.
- a sixth aspect of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method in any one of the implementations of the first aspect.
- the seventh aspect of the present application provides a chip system, which includes a processor and an interface circuit, and is used to support the network device to implement the functions involved in the above aspects, for example, sending or processing the data and/or information involved in the above methods.
- the chip system also includes a memory, which is used to store program instructions and data necessary for the network device.
- the chip system can be composed of a chip, or it can include a chip and other discrete devices.
- An eighth aspect of the present application provides a communication device, including: a communication interface;
- a processor connected to the communication interface enables the communication device to execute the method of the first aspect as described above based on the communication interface and the processor.
- Figure 1 is a schematic diagram of a small-scale network
- Figure 2 is a schematic diagram of a large-scale network
- FIG3 is a schematic diagram of the structure of a single control word
- Fig. 4 is a schematic diagram of CRC calculation
- FIG5 is a schematic diagram of independent networking of a computing network and a storage network
- FIG6 is a schematic diagram of a joint network of a computing network and a storage network
- FIG7 is a schematic diagram of an embodiment of a message processing method in an embodiment of the present application.
- FIG8 is a schematic diagram of load balancing configuration information in an embodiment of the present application.
- FIG9 is a schematic diagram of a message descriptor in an embodiment of the present application.
- FIG10 is a schematic diagram of a flow chart of an application scenario in an embodiment of the present application.
- FIG11 is a schematic diagram of a flow chart of load balancing processing in an embodiment of the present application.
- FIG12 is a schematic diagram of the structure of a communication device 1200 provided in an embodiment of the present application.
- FIG13 is a schematic diagram of the structure of a communication device 1300 provided in an embodiment of the present application.
- FIG. 14 is a schematic diagram of the structure of a communication device 1400 provided in an embodiment of the present application.
- Multi-stage switching network (Claus CLOS network).
- the CLOS network includes: Spine nodes, leaf nodes, and Top-of-Rack (ToR) nodes.
- the server accesses the network by connecting to the ToR node, which is connected to each leaf node, and each leaf node is connected to each spine node, and vice versa.
- FIG 1 is a schematic diagram of a small-scale network.
- a 2-level CLOS network there is usually only one traffic load balancing, which occurs in the forwarding direction from TOR to Leaf switch.
- Each 2-level CLOS network is called a group (POD).
- FIG 2 is a schematic diagram of a large-scale network.
- Load balancing is to forward traffic evenly through multiple links.
- Load balancing is usually called load balancing, also known as load sharing.
- Equal-Cost Multi-Path is usually used as a traffic load balancing technology.
- IP Internet protocol
- ECMP Equal-Cost Multi-Path
- LAG Link Aggregation
- D1. First, query the MAC table based on the link layer identifier (i.e., destination MAC address) extracted from the message, and find the corresponding entry in the MAC table. If the corresponding entry identifier is a LAG, it means that there are multiple parallel ports going to the destination MAC address, so jump to the corresponding Trunk Group table.
- link layer identifier i.e., destination MAC address
- the following describes how to construct a hash key value, taking the network device responsible for constructing the hash key value as an example.
- the hash key value has a total of 13 members, each of which is 16 bits wide, that is, 2 bytes wide.
- the first member is the source virtual port identifier of the virtual network tag (Virtual Network Tag, VNTag); the second member is the destination virtual port identifier of VNTag; the third member is the identifier of the chip in the system; the fourth member is the physical port identifier of the message arriving at the chip; the fifth member is the network layer protocol identifier of the message; the sixth member is the destination port of the transport layer of the message; the seventh member is the source port of the transport layer of the message; the eighth member is the VLAN identifier of the message; the ninth member is the lower 16 bits of the network layer destination address of the message; the tenth member is the upper 16 bits of the network layer destination address of the message; the eleventh member is the lower 16 bits of the network layer source address of the message; the twelfth member is the upper 16 bits of the network layer source address of the message; and the thirteenth
- Some of the above member information comes from the fields carried by the message itself, such as the network layer destination address, network layer source address, transport layer destination port, transport layer source port, network layer protocol identifier, CNTag, VNTag, VLAN identifier, etc. Some of it comes from the information of the chip where the message is located, such as the chip port identifier where the message arrives, the identifier of the chip in the system where the message arrives, etc.
- the member field will be filled with the default value when constructing the Hash Key, such as 0 or other fixed values; if the chip is told that some member fields need to be filled, but there is no corresponding field in the message or the corresponding member information cannot be extracted, for example, for the Address Resolution Protocol (ARP) message, there is no network layer and transmission information, then the corresponding field is also filled with the default value such as 0 or other fixed values.
- ARP Address Resolution Protocol
- the hash key value is calculated according to the configured hash algorithm to obtain the corresponding hash value.
- the hash value construction method is usually to configure on the network device how to obtain the hash value from the hash calculation result, such as extracting the lower 16 bits of the hash calculation result as the final hash value, or the upper 16 bits as the final hash value, or all bits as the final hash value, etc.
- the selection of which fields of the message to fill in to construct the hash key value is controlled by the hash key members selection control word.
- the length of the hash key members selection control word can be 13 bits. If the corresponding bit of the hash key members selection control word is set to 1, it means that the value of the corresponding field of the message needs to be filled into the hash key, otherwise it is ignored. For example: from the low bit to the high bit, if the 7th bit of this control word is set to 1, it means that the value of the source port (source L4port) field of the transport layer needs to be extracted from the message header and filled into the 7th field of the hash key structure; otherwise, the 7th field of the hash key structure defaults to all 0s.
- FIG3 is a schematic diagram of the structure of a single control word.
- the length of the single control word can be 16 bits, with bits 0 to 12 serving as the hash key member selection control word, and bits 13 to 15 serving as the hash function selection control word.
- the hash function selection control word and the hash key member selection control word can also exist independently as two control words.
- the hash algorithm includes cyclic redundancy check (CRC) calculation, XOR calculation or other chip customized calculation methods.
- CRC cyclic redundancy check
- Figure 4 is a schematic diagram of CRC calculation.
- CRC calculation is essentially to perform XOR remainder calculation on the input bit string, such as the Key here.
- the following example illustrates CRC calculation, as shown in Figure 4.
- Multiply g(x) by xm that is, add m zeros after g, and then divide it by the m-order polynomial h(x), to obtain the (m-1)-order remainder r(x).
- the binary code r corresponding to the remainder r(x) is the CRC calculation result.
- the CRC calculation method is fixed, and what changes are the key used as the input of the dividend and the m-order polynomial h(x) used as the divisor.
- h(x) is also usually called the generator polynomial.
- Generator polynomials are usually used to identify and distinguish different CRC algorithms.
- "CRC algorithm A” actually means “the generator polynomial used by the CRC algorithm is A” or "the generator polynomial name used by the CRC algorithm is identified as A”.
- CRC-16-CCITT or "CRC 0x1021” can be said.
- CRC-16-CCITT is the agreed CRC name
- 0x1021 is the generator polynomial.
- Network devices or other CRC algorithm implementation entities can also name CRC for identification and distinction.
- the CRC generator polynomial used in ECMP hash calculation is related to the implementation of the chip.
- the business traffic model of the computing network takes "Halving-doubling" as an example, which is a sparse traffic model of multiple points to points.
- the storage business traffic model of the storage network takes storage write as an example, which is a dense traffic model of multiple points to multiple points.
- Figure 5 is a schematic diagram of independent networking of the computing network and the storage network.
- the two networks can select the network load balancing configuration with the best performance based on the business traffic models they carry. For example, the computing network uses case#1 as the network load balancing configuration, and the storage network uses case#2 as the network load balancing configuration.
- the independent networking of computing network and storage network comes at the cost of high investment.
- the computing network and storage network need to be deployed on different servers and connected to two different networks through at least two independent gateways. Therefore, independent networking requires high costs.
- FIG6 is a schematic diagram of the joint networking of a computing network and a storage network.
- an embodiment of the present application proposes a message processing method.
- a load balancing identifier of the message is assigned according to the traffic characteristic information of the message, and the load balancing identifier is used to indicate the load balancing algorithm corresponding to the message.
- the network device determines the egress port of the message based on the load balancing identifier of the message and the load balancing algorithm corresponding to the message, and the egress port of the message is used to forward the message.
- the network device supports the assignment of different load balancing identifiers to different messages.
- the network device determines the egress port of the message based on the load balancing identifier and uses the corresponding load balancing algorithm to implement load balancing processing of the message.
- the network device can perform corresponding load balancing processing on the messages of different services to improve the throughput of the entire network.
- a message processing method proposed in an embodiment of the present application includes:
- the message arrives at the network device.
- the message arriving at the network device includes: the network device receiving the message, or the network device actively obtaining the message.
- the message header of the message includes multiple information, such as: L2 layer message header (L2header), L3 layer message header (L3header), transport layer header information, Ethernet layer information, IP header information, Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) header information, etc.
- the network device records the physical port information where the message arrives, that is, records the inbound port information of the message.
- the network device allocates a load balancing identifier of the message according to the traffic characteristic information of the message, where the load balancing identifier is used to indicate a load balancing algorithm corresponding to the message.
- the message is processed to obtain the traffic characteristic information of the message.
- the traffic characteristic information of the message in the embodiment of the present application includes but is not limited to: the differential service code point DSCP information of the message, the priority information of the message, the inbound port information of the message, the virtual local area network VLAN information of the message, the inbound port group information of the message, the outbound port information of the message, the outbound port group information of the message, or the virtual routing forwarding table VRF information of the message.
- the traffic characteristic information of the message is extracted as follows: the network device extracts the source media access control (MAC) address, the destination MAC address, the Ethernet type, and the virtual local area network (VLAN) identifier from the L2 layer message header. The network device extracts the source IP address, the destination IP address, the Differentiated Services Code Point (DSCP) value, the Time To Live (TTL) value, and the IP protocol type value from the L3 layer message header. The network device extracts the source port value of the transport layer and the destination port value of the transport layer from the L4 layer message header.
- MAC media access control
- VLAN virtual local area network
- the network device extracts the physical port identifier (source interface id) where the message arrives, the module identifier (source module id) where the physical port where the message arrives, and the physical port identifier (destination interface id) where the message is to be sent from the message metadata.
- the network device maintains multiple load balancing configuration information, which indicates the relationship between the load balancing algorithm and the traffic characteristic information.
- the load balancing configuration information indicates a specific load balancing algorithm, for example: load balancing configuration information #1 indicates hash function #1 and hash key value component member #1.
- the user selecting load balancing configuration information #1 means: the user selects hash function #1 and hash key value component member #1 to perform load balancing processing on the message.
- the load balancing configuration information is regarded as an instance of a load balancing algorithm.
- the load balancing algorithm includes: a hash function (also called a load balancing hash function) and a hash key value component member (also called a load balancing hash key value component member).
- the load balancing configuration information includes one or more of the following information: identification information of the load balancing configuration information, matching information, selection configuration information of a hash key value component member, or selection configuration information of a hash function.
- the matching information may be traffic feature information of a message, such as relevant information recorded in a message identifier.
- the selection configuration information of a hash key value component member may be a hash key value member selection control word.
- the selection configuration information of a hash function may be a hash function selection control word.
- the network device receives a first instruction and configures load balancing configuration information according to the first instruction.
- the first instruction may be sent by a network management device or input by a user, which is not limited in the embodiment of the present application.
- the network device obtains a second instruction, the second instruction instructing the network device to use specific load balancing configuration information to process the message.
- the network device selects specific load balancing configuration information to perform load balancing processing on the message according to the second instruction.
- Load balancing configuration information #1 includes: the identification information of the load balancing configuration information is "1"; the matching information is "Queue3", indicating that the load balancing configuration information #1 is for the traffic of Queue 3; the selection configuration information of the hash key value component member is the source physical port number "src-interface", indicating that the hash key value adopts the source physical port; the selection configuration information of the hash function is "Hashmode 5", indicating that the adopted hash function (or hash algorithm) is Hashmode 5.
- Load balancing configuration information #2 includes: the identification information of the load balancing configuration information is "2"; the matching information is "Queue 5", indicating that the load balancing configuration information #2 is for the traffic of Queue 5; the selection configuration information of the hash key value components is the source IP address and destination IP address "source IP address (src-ip), destination IP address (dst-ip) and transport layer source port (l4-src-port)", indicating that the hash key value adopts the source IP address (src-ip), destination IP address (dst-ip) and transport layer source port (l4-src-port); the selection configuration information of the hash function is "Hashmode 7", indicating that the adopted hash function (or hash algorithm) is Hashmode 7.
- the configured load balancing configuration information is shown in Table 1:
- the network device can be configured with the load balancing configuration information in Table 1 above.
- a possible configuration model is as follows:
- a new command configuration "load-balance ecmp qos queue 3 profile AI_traffic” is added.
- the first keyword “load-balance” indicates that it is a mapping command for network load balancing
- the second keyword “ecmp” indicates that it is a multipath decision applicable to layer 3 forwarding, namely equal-cost multipath
- the third keyword group "qos queue3” indicates that it is a queue number that matches traffic characteristics, usually a DSCP value
- the fourth keyword group "profile AI_traffic” indicates that the network load balancing configuration corresponding to the traffic with a DSCP value of 3 is a load balancing configuration profile named AI_traffic (load-balance profile).
- AI_traffic the hash key is constructed using the source physical interface number where the message arrives, and the hash algorithm uses hash mode 5.
- the algorithm for calculating the egress port of a message is referred to as a load balancing algorithm.
- the load balancing algorithm includes but is not limited to: equal cost multipath routing ECMP, weighted multipath routing WCMP, or link aggregation LAG, etc.
- the network device classifies and processes the message according to the traffic characteristic information of the message. In other words, the network device matches the traffic characteristic information of the message with the matching information in the load balancing configuration information. If the match is successful, it is considered that the classification result of the message corresponds to the load balancing configuration information, and the message needs to be processed according to the instructions of the load balancing configuration information. Then, the network device assigns a load balancing identifier to the message based on the classification result, and the load balancing identifier uniquely indicates the load balancing configuration information (i.e., the load balancing configuration information that matches the traffic characteristic information of the message).
- the load balancing identifier is an explicit identifier.
- the load balancing identifier is an implicit identifier.
- the load balancing identifier is an explicit identifier.
- the network device fills the load balancing identifier into the message descriptor of the message, and the message descriptor is used to record the message header information of the message.
- the message descriptor is used to record the message header information, and the information recorded by the message descriptor includes but is not limited to: Ethernet header information, IP header information, TCP/UDP header information, the location information of the message stored in the chip buffer, the length information of the message, and the message output port information.
- Ethernet header information, IP header information, and TCP/UDP header information are used to provide information input for forwarding lookup tables and access control lists (ACLs), and these information are written into the message descriptor when the MAC processing module of the network device processes the message; the location information, length information, and message output port information of the message stored in the chip buffer are written by the network device when processing the forwarding decision of the message.
- ACLs access control lists
- the length of the message descriptor is 64 bytes. Since the length of the message descriptor is usually less than the average length of the message, the network device obtains the relevant information of the message by reading the message descriptor when using less bandwidth.
- Figure 9 is a schematic diagram of a message descriptor in an embodiment of the present application.
- the load balancing identifier can be filled into the metadata part of the message descriptor.
- the network device uses the relevant information recorded in the message descriptor of the message as the traffic characteristic information of the message. Then, the network device selects the matching information that matches the message descriptor (traffic characteristic information) from the matching information of multiple load balancing configuration information. The network device assigns the load balancing identifier corresponding to the load balancing configuration information to the message. The network device fills the load balancing identifier in the message descriptor of the message.
- Another possible implementation manner is that the network device fills the load balancing identifier into a reserved field of the message.
- the network device fills the load balancing identifier into the payload of the message. It is understandable that the filling area of the load balancing identifier is not limited in the embodiment of the present application.
- the load balancing identifier is used to indicate the load balancing configuration information for processing the message.
- the network device determines how to process the message and obtains the egress port of the message according to the load balancing identifier to achieve load balancing for the message.
- the load balancing identifier is the identifier information of the load balancing configuration information.
- the load balancing identifier corresponding to the load balancing configuration information #1 is "1”
- the load balancing identifier corresponding to the load balancing configuration information #2 is "2”.
- the network device can find the corresponding load balancing configuration information based on the load balancing identifier. Furthermore, the network device determines the application scenario of the load balancing algorithm used to process the message from the load balancing configuration information: the Hash key members selection control word and the Hash function selection control word used to process the message.
- the network device maintains the mapping relationship between the load balancing identifier and the load balancing configuration information, and the network device determines the load balancing configuration information used to process the message through the load balancing identifier. Then, according to the instructions of the load balancing configuration information, the message is processed and the egress port of the message is determined.
- the load balancing identifier includes a hash key member selection control word and a hash function selection control word.
- the hash key member selection control word and the hash function selection control word are directly indicated by the load balancing identifier.
- the load balancing identifier is shown in FIG3 .
- the load balancing identifier is an implicit identifier.
- the load balancing identifier when the load balancing identifier is an implicit identifier, the load balancing identifier may also be referred to as a logical circuit identifier.
- the network device after receiving a message, assigns an implicit load balancing identifier to the message according to the traffic characteristic information of the message. Then, a logic circuit for processing the message is determined according to the implicit load balancing identifier, and the logic circuit runs a load balancing algorithm corresponding to the load balancing identifier, and the egress port of the message is calculated by the logic circuit.
- the network device includes multiple logic circuits, each logic circuit corresponds to a load balancing configuration information, and the logic circuit runs the load balancing algorithm corresponding to the load balancing configuration information.
- the network device uses the logic circuit to process the message and calculates the egress port of the message. Since the load balancing configuration information corresponds to the load balancing identifier (implicit), each logic circuit is associated with an implicit load balancing identifier. In the embodiment of the present application, each logic circuit is associated with a unique load balancing identifier. After the network device assigns an implicit load balancing identifier to the message, the network device determines the target logic circuit according to the load balancing identifier, and the target logic circuit is used to process the message to obtain the egress port of the message.
- mapping relationship between the logical circuit and the implicit load balancing identifier is shown in Table 2:
- the network device classifies the message according to the traffic characteristic information of the message. Then, based on the classification result, an implicit load balancing identifier is assigned to the message, and the message is forwarded to the logic circuit (i.e., the target logic circuit) corresponding to the load balancing identifier for processing to obtain the egress port of the message. Specifically, the traffic characteristic information of the message is matched with the matching information of the load balancing configuration information to determine the load balancing configuration information that matches the traffic characteristic information. Then, the network device assigns an implicit load balancing identifier to the message, and forwards the message to the target logic circuit associated with the load balancing identifier.
- the logic circuit i.e., the target logic circuit
- the network device determines an egress port of the message according to the load balancing identifier of the message and using a load balancing algorithm corresponding to the message.
- the network device determines the load balancing algorithm corresponding to the message according to the load balancing identifier. Then, the network device uses the load balancing algorithm corresponding to the message to determine the egress port of the message.
- the following describes the specific methods of determining the egress port of the message according to the explicit load balancing identifier and the implicit load balancing identifier.
- the load balancing identifier is an explicit identifier.
- the network device finds the corresponding load balancing configuration information according to the load balancing identifier. Then, the network device determines the load balancing algorithm for processing the message from the load balancing configuration information. According to the load balancing algorithm, the network device determines the hash key member selection control word corresponding to the message and the hash function selection control word corresponding to the message. Then, the network device selects a target field from the message according to the hash key member selection control word corresponding to the message, and the target field is used to construct the target hash key component member of the message. The network device determines the target hash function used by the message according to the hash function selection control word corresponding to the message. The network device uses the target hash function and the target hash key component member to calculate the target hash value of the message. Finally, the network device determines the egress port of the message according to the target hash value.
- the network device determines the hash value corresponding to the message from the load balancing configuration information according to the load balancing identifier.
- the function selects the control word and the hash key value member corresponding to the message selects the control word.
- the load balancing identifier directly indicates the hash function selection control word and the hash key value member selection control word.
- the network device determines the hash function selection control word and the hash key value member selection control word corresponding to the message according to the load balancing identifier assigned to the message.
- the load balancing identifier is an implicit identifier.
- the network device After the network device assigns an implicit load balancing identifier to the message, it forwards the message to the logic circuit (i.e., the target logic circuit) corresponding to the load balancing identifier for processing.
- the network device obtains the hash function selection control word corresponding to the message and the hash key value member selection control word corresponding to the message from the register associated with the target logic circuit.
- the network device selects a target field from the message according to the hash key value member selection control word corresponding to the message, and the target field is used to construct the target hash key value component member of the message;
- the network device determines the target hash function used by the message according to the hash function selection control word corresponding to the message.
- the network device uses the target hash function and the target hash key value component member to calculate the target hash value of the message.
- the network device determines the output port of the message according to the target hash value.
- the network device includes n logic circuits, where n is a positive integer greater than 1.
- Each logic circuit can be divided into three parts according to its function: a register for storing the load balancing configuration information corresponding to the logic circuit; a hash key value construction logic circuit for constructing a hash key value; and a hash value calculation logic circuit for calculating a hash value.
- the target logic circuit for example, logic circuit #2
- the hash key value member selection control word and the hash function selection control word are obtained from register #2 associated with logic circuit #2.
- the target field is selected from the message by the hash key value construction logic circuit #2, and then the target hash key value component member of the message is constructed according to the target field.
- the hash value #2 corresponding to the message is calculated by the hash value calculation logic circuit #2 and the target hash key value component member.
- the network device determines the output port corresponding to the message according to the hash value #2.
- the embodiment of the present application proposes a message processing method.
- the load balancing identifier of the message is assigned according to the traffic characteristic information of the message, and the load balancing identifier is used to indicate the load balancing algorithm corresponding to the message.
- the network device determines the egress port of the message according to the load balancing identifier of the message using the load balancing algorithm corresponding to the message, and the egress port of the message is used to forward the message.
- the network device supports the assignment of different load balancing identifiers to different messages. Then, the network device determines the egress port of the message according to the load balancing identifier using the corresponding load balancing algorithm to implement load balancing processing of the message.
- the network device can perform corresponding load balancing processing on the messages of different services to improve the throughput of the entire network.
- the problem that the current network device only supports L2 or L3 global unique network load balancing configuration is solved, and the messages with different traffic characteristics are realized to intersect on the same network device, so as to maximize the throughput of the entire network.
- the mixed traffic can be cut into multiple fine sub-traffic topologies, and independent load balancing configuration information can be configured for each sub-traffic topology.
- An application scenario proposed in the embodiment of the present application is introduced in combination with the above-mentioned embodiment.
- Figure 10 is a flow chart of an application scenario in the embodiment of the present application.
- An application scenario proposed in the embodiment of the present application includes:
- the message arrives at the network device.
- the message arriving at the network device includes: a first message and a second message.
- the network device extracts field information of the message.
- step 1003. Check whether the message is forwarded by multiple ports. If yes, proceed to step 1004; if no, proceed to step 1010.
- step 1004. Check whether the interface is enabled to select load balancing configuration information according to the traffic characteristic information of the message. If yes, proceed to step 1005; if no, proceed to step 1008.
- the network device extracts the flow characteristic information of the first message from the field information and other related information of the first message.
- the network device extracts the flow characteristic information of the second message from the field information and other related information of the second message.
- step 1006. Check whether the traffic characteristic information of the message matches the matching information included in the load balancing configuration information. If yes, proceed to step 1007; if not, proceed to step 1008. Exemplarily, the network device matches the traffic characteristic information of the first message with the matching information #1 included in the load balancing configuration information #1, and if the match is successful, proceed to step 1007. The network device matches the traffic characteristic information of the second message with the matching information #2 included in the load balancing configuration information #2, and if the match is successful, proceed to step 1007.
- step 1007 Allocate a load balancing identifier for the message according to the load balancing configuration information that matches the traffic characteristic information. After step 1007, proceed to step 1009.
- the network device assigns a first load balancing identifier to the first message, and the first load balancing identifier corresponds to the first load balancing algorithm.
- Load balancing configuration information #1 indicates the first load balancing algorithm, and the load balancing configuration information #1 includes the first load balancing identifier.
- the network device assigns a second load balancing identifier to the second message, and the second load balancing identifier corresponds to the second load balancing algorithm.
- Load balancing configuration information #2 indicates the second load balancing algorithm, and the load balancing configuration information #2 includes the second load balancing identifier.
- the first load balancing identifier is different from the second load balancing identifier, and the first load balancing algorithm is different from the second load balancing algorithm.
- step 1008 Use the global default load balancing configuration information. After step 1008, proceed to step 1009.
- the corresponding load balancing algorithm is used to determine the egress port of the message. Specifically, based on the load balancing configuration, a Hash key is constructed, and then the Hash value is calculated. Load balancing is performed using the calculated Hash value to determine the egress port of the message.
- the network device performs load balancing processing on the first message according to the first load balancing algorithm indicated by the load balancing configuration information #1, and determines the egress port of the first message.
- the network device performs load balancing processing on the second message according to the second load balancing algorithm indicated by the load balancing configuration information #2, and determines the egress port of the second message.
- the network device includes a hardware structure and/or software module corresponding to each function.
- the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
- the embodiment of the present application can divide the functional modules of the network device according to the above method example.
- each functional module can be divided according to each function, or two or more functions can be integrated into one processing module.
- the above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
- the communication device described below has any function of the network device in the above method embodiment.
- the communication device described in the present application may be a network device such as a switch or a router, or may be a component of a network device, such as an interface board, a line card or a chip on a network device, or may be a functional module on a network device, or may be a chip system for implementing the method of the present application, which is not specifically limited in the embodiment of the present application.
- the communication devices may be directly connected, for example, but not limited to, via an Ethernet cable or an optical fiber.
- the transceiver module in the communication device may be, for example, an interface circuit in the chip system
- the processing module may be, for example, a processing circuit in the chip system for performing processing operations.
- Figure 12 is a schematic diagram of the structure of a communication device 1200 provided in an embodiment of the present application. As shown in Figure 12, the communication device 1200 includes: a transceiver module 1201 for executing step 701; a processing module 1202 for executing steps 702 or 703.
- the communication device 1200 can correspond to the network device in the above-mentioned method embodiment.
- the various units in the communication device 1200 and the above-mentioned other operations and/or functions are respectively for implementing the various steps and methods implemented by the network device in the method embodiment.
- the specific details can be found in the above-mentioned method embodiment. For the sake of brevity, they will not be repeated here.
- the communication device 1200 executes the above method embodiment, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the communication device 1200 is divided into different functional modules to complete all or part of the functions described above.
- the communication device 1200 provided in the above embodiment and the embodiment method corresponding to FIG. 7 above belong to the same concept, and the specific implementation process is detailed in the above method embodiment, which will not be repeated here.
- the communication device 1300 shown in Figure 13 shows certain specific features, those skilled in the art will realize from the embodiments of the present application that, for the sake of brevity, various other features are not shown in Figure 13 to avoid confusing more relevant aspects of the implementation methods disclosed in the embodiments of the present application.
- the communication device 1300 includes one or more processors (such as CPU) 1301, a network interface 1302, a programming interface 1303, a memory 1304 and one or more communication buses 1305 for interconnecting various components.
- the communication device 1300 can also omit or add some functional components or units based on the above examples.
- the network interface 1302 is used to connect to one or more other communication devices/servers in the network system.
- the communication bus 1305 includes circuits for interconnecting and controlling communication between system components.
- the memory 1304 may include non-volatile memory, such as read-only memory (ROM), programmable read-only memory (ROM), and programmable read-only memory (ROM).
- the memory 1304 may include an erasable programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
- the memory 1304 may also include a volatile memory, which may be a random access memory (RAM) used as an external cache.
- RAM random access memory
- memory 1304 or a non-temporary computer-readable storage medium of memory 1304 stores the following programs, modules, and data structures, or a subset thereof, including, for example, a transceiver unit (not shown), an acquisition unit 13041 , and a processing unit 13042 .
- the communication device 1300 may have any function of the network device in the method embodiment corresponding to FIG. 7 above.
- the communication device 1300 corresponds to the network device or control management device in the above-mentioned method embodiment, and the various modules in the communication device 1300 and the above-mentioned other operations and/or functions are respectively for realizing the various steps and methods implemented by the network device or control management device in the above-mentioned method embodiment.
- the various modules in the communication device 1300 and the above-mentioned other operations and/or functions are respectively for realizing the various steps and methods implemented by the network device or control management device in the above-mentioned method embodiment.
- they will not be repeated here.
- the network interface 1302 on the communication device 1300 can complete the data sending and receiving operations, or the processor can call the program code in the memory and cooperate with the network interface 1302 to implement the functions of the sending and receiving unit when necessary.
- the communication device 1300 is used to execute the service protection method provided in the embodiment of the present application, for example, to execute the service protection method corresponding to the embodiment shown in FIG. 7 above.
- FIG. 14 The specific structure of the communication device described in FIG. 13 of the present application may be as shown in FIG. 14 .
- FIG. 14 is a schematic diagram of the structure of a communication device 1400 provided in an embodiment of the present application.
- the communication device 1400 includes: a main control board 1414 and an interface board 1430 .
- the main control board 1414 is also called a main processing unit (MPU) or a route processor.
- the main control board 1414 is used to control and manage various components in the communication device 1400, including routing calculation, device management, device maintenance, and protocol processing functions.
- the main control board 1414 includes: a central processing unit 1415 and a memory 1416.
- the interface board 1430 is also called a line processing unit (LPU), a line card or a service board.
- the interface board 1430 is used to provide various service interfaces and implement data packet forwarding.
- the service interfaces include but are not limited to Ethernet interfaces, POS (Packet over SONET/SDH) interfaces, etc.
- the interface board 1430 includes: a central processor 1431, a network processor 1432, a forwarding table entry memory 1434 and a physical interface card (PIC) 1433.
- PIC physical interface card
- the central processor 1431 on the interface board 1430 is used to control and manage the interface board 1430 and communicate with the central processor 1415 on the main control board 1414 .
- the network processor 1432 is used to implement message forwarding processing.
- the network processor 1432 may be in the form of a chip.
- the physical interface card 1433 is used to implement the docking function of the physical layer, and the original traffic enters the interface board 1430 from it, and the processed message is sent from the physical interface card 1433.
- the physical interface card 1433 includes at least one physical interface, which is also called a physical port.
- the physical interface can be a Flexible Ethernet (FlexE) physical interface.
- the physical interface card 1433 is also called a daughter card, which can be installed on the interface board 1430 and is responsible for converting the optical signal into a message and forwarding the message to the network processor 1432 for processing after checking the legitimacy of the message.
- the central processor 1431 of the interface board 1430 can also perform the functions of the network processor 1432, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1432 is not required in the interface board 1430.
- the communication device 1400 includes multiple interface boards.
- the communication device 1400 also includes an interface board 1440 .
- the interface board 1440 includes: a central processor 1441 , a network processor 1442 , a forwarding table entry memory 1444 , and a physical interface card 1443 .
- the communication device 1400 further includes a switching fabric board 1420.
- the switching fabric board 1420 may also be referred to as a switch fabric unit (SFU).
- SFU switch fabric unit
- the switching fabric board 1420 is used to complete data exchange between the interface boards.
- the interface board 1430 and the interface board 1440 may communicate via the switching fabric board 1420.
- the main control board 1414 is coupled to the interface board.
- the main control board 1414, the interface board 1430, the interface board 1440, and the switching network board 1420 are interconnected through a system bus and/or a system backplane.
- an inter-process communication (IPC) channel is established between the main control board 1414 and the interface board 1430, and the main control board 1414 and the interface board 1430 communicate through the IPC channel.
- IPC inter-process communication
- the communication device 1400 includes a control plane and a forwarding plane.
- the control plane includes a main control board 1414 and a central processing unit 1431.
- the forwarding plane includes various components for performing forwarding, such as a forwarding table entry memory 1434, a physical interface card 1433, and a network processor 1432.
- the control plane performs functions such as publishing routes, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the status of the device.
- the control plane sends the generated forwarding table to the forwarding plane.
- the network processor 1432 processes the message received by the physical interface card 1433 based on the forwarding table sent by the control plane.
- the forwarding table sent by the control plane can be stored in the forwarding table entry storage 1434. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.
- the transceiver unit in the communication device 1300 can be equivalent to the physical interface card 1433 or the physical interface card 1443 in the communication device 1400; the acquisition unit 13041 and the processing unit 13042 in the communication device 1300 can be equivalent to the central processor 1415 or the central processor 1431 in the communication device 1400, and can also be equivalent to the program code or instructions stored in the memory 1416.
- the operation on the interface board 1440 in the embodiment of the present application is consistent with the operation of the interface board 1430, and for the sake of brevity, it will not be repeated.
- the communication device 1400 of this embodiment can correspond to the network device in each of the above-mentioned method embodiments, and the main control board 1414, the interface board 1430 and/or the interface board 1440 in the communication device 1400 can implement the functions and/or various steps implemented by the network device in each of the above-mentioned method embodiments, and for the sake of brevity, it will not be repeated here.
- main control boards there may be one or more main control boards, and when there are multiple boards, they may include a main main control board and a standby main control board. There may be one or more interface boards. The stronger the data processing capability of the communication device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, load sharing and redundant backup can be achieved together. Under the centralized forwarding architecture, the communication device may not need a switching network board, and the interface board bears the processing function of the service data of the entire system.
- the communication device may have at least one switching network board, and the data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities.
- the form of the communication device may also be only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on the board.
- the central processor on the interface board and the central processor on the main control board can be merged into one central processor on the board to perform the functions of the two superimposed. Which architecture is adopted depends on the specific networking deployment scenario, and it is not limited here.
- the above network device can be implemented as a virtualized device.
- the virtualized device can be a virtual machine (VM), a virtual router or a virtual switch running a program for sending a message.
- the virtualized device is deployed on a hardware device (e.g., a physical server).
- a hardware device e.g., a physical server.
- the network device can be implemented based on a general physical server combined with network functions virtualization (NFV) technology.
- NFV network functions virtualization
- the embodiment of the present application also provides a computer-readable storage medium, including instructions, which, when executed on a computer, enables the computer to control a network device to execute any one of the implementation methods shown in the aforementioned method embodiments.
- the embodiments of the present application also provide a computer program product, which includes a computer program code.
- the computer program code runs on a computer, the computer executes any one of the implementation methods shown in the aforementioned method embodiments.
- an embodiment of the present application also provides a computer program product, which, when executed on a communication device, enables the communication device to execute the method executed by the network device in the method embodiment corresponding to FIG. 7 above.
- the embodiment of the present application further provides a chip system, including a processor and an interface circuit, wherein the interface circuit is used to receive instructions and transmit them to the processor.
- the processor is used to implement the method in any of the above method embodiments.
- the chip system further includes a memory
- the processor in the chip system may be one or more.
- the processor may be implemented by hardware or software.
- the processor may be a logic circuit, an integrated circuit, etc.
- the processor may be a general-purpose processor that implements the method in any of the above method embodiments by reading the software code stored in the memory.
- the memory in the chip system may be one or more.
- the memory may be integrated with the processor or may be separately provided with the processor, which is not limited in the present application.
- the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be provided on different chips.
- the present application does not specifically limit the type of memory and the arrangement of the memory and the processor.
- the communication devices in the above-mentioned various product forms respectively have any functions of the network devices in the above-mentioned method embodiments, which will not be described in detail here.
- B corresponding to A means that B is associated with A, and B can be determined according to A.
- determining B according to A does not mean determining B only according to A, and B can also be determined according to A and/or other information.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (32)
- 一种报文处理方法,其特征在于,包括:报文到达网络设备;所述网络设备根据所述报文的流量特征信息,分配所述报文的负载均衡标识,其中,所述负载均衡标识用于指示所述报文对应的负载均衡算法;所述网络设备根据所述报文的所述负载均衡标识,使用所述报文对应的所述负载均衡算法确定所述报文的出端口,其中,所述报文的出端口用于转发所述报文。
- 根据权利要求1所述的方法,其特征在于,所述网络设备将所述负载均衡标识填充至所述报文,包括:所述网络设备将所述负载均衡标识填充至所述报文的报文描述符,所述报文描述符用于记录所述报文的报文头信息。
- 根据权利要求1-2中任一项所述的方法,其特征在于,所述网络设备根据所述报文的所述负载均衡标识,使用所述报文对应的所述负载均衡算法确定所述报文的出端口,包括:所述网络设备根据所述负载均衡标识,确定所述报文对应的所述负载均衡算法;所述网络设备根据所述报文对应的所述负载均衡算法,确定所述报文使用的目标哈希函数和所述报文的目标哈希键值组成成员;所述网络设备根据所述目标哈希函数和所述目标哈希键值组成成员,计算得到目标哈希值;所述网络设备根据所述目标哈希值,确定所述报文的出端口。
- 根据权利要求3所述的方法,其特征在于,所述网络设备根据所述负载均衡标识,确定所述报文使用的所述目标哈希函数和所述报文的所述目标哈希键值组成成员,包括:所述网络设备根据所述负载均衡标识,确定所述报文对应的哈希函数选择控制字和所述报文对应的哈希键值成员选择控制字;所述网络设备根据所述报文对应的所述哈希函数选择控制字,确定所述报文使用的所述目标哈希函数;所述网络设备根据所述报文对应的所述哈希键值成员选择控制字,从所述报文中选择目标字段,所述目标字段用于构建所述报文的所述目标哈希键值组成成员。
- 根据权利要求1所述的方法,其特征在于,所述网络设备根据所述报文的所述负载均衡标识,使用所述报文对应的所述负载均衡算法确定所述报文的出端口,包括:所述网络设备根据所述报文的所述负载均衡标识,确定目标逻辑电路,其中,所述目标逻辑电路与所述报文的所述负载均衡标识关联,所述目标逻辑电路运行所述报文对应的所述负载均衡算法;所述网络设备使用所述目标逻辑电路处理所述报文,确定所述报文的出端口。
- 根据权利要求5所述的方法,其特征在于,所述网络设备根据所述报文的所述负载均衡标识,确定所述目标逻辑电路,包括:所述网络设备从所述网络设备包括的多个逻辑电路中确定所述目标逻辑电路,其中,所述多个逻辑电路与多个负载均衡标识对应,所述多个负载均衡标识包括所述报文的所述负载均衡标识,所述逻辑电路运行与所述负载均衡标识对应的所述负载均衡算法。
- 根据权利要求5或6所述的方法,其特征在于,所述网络设备使用所述目标逻辑电路处理所述报文,确定所述报文的出端口,包括:所述网络设备使用所述目标逻辑电路处理所述报文,确定所述报文使用的目标哈希函数和所述报文 的目标哈希键值组成成员;所述网络设备根据所述目标哈希函数和所述目标哈希键值组成成员,计算得到目标哈希值;所述网络设备根据所述目标哈希值,确定所述报文的出端口。
- 根据权利要求7所述的方法,其特征在于,所述网络设备使用所述目标逻辑电路处理所述报文,确定所述报文使用的所述目标哈希函数和所述报文的所述目标哈希键值组成成员,包括:所述网络设备从所述目标逻辑电路关联的寄存器,获取所述报文对应的哈希函数选择控制字和所述报文对应的哈希键值成员选择控制字;所述网络设备根据所述报文对应的哈希键值成员选择控制字,从所述报文中选择目标字段,所述目标字段用于构建所述报文的所述目标哈希键值组成成员;所述网络设备根据所述报文对应的哈希函数选择控制字,确定所述报文使用的所述目标哈希函数。
- 根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:所述网络设备接收第一指令;所述网络设备根据所述第一指令配置负载均衡配置信息,所述负载均衡配置信息指示所述流量特征信息与所述负载均衡算法的关联关系。
- 根据权利要求1-9中任一项所述的方法,其特征在于,所述负载均衡标识,包括以下任意一项或多项:负载均衡配置信息的标识信息、逻辑电路标识、哈希键值成员选择控制字,或者,哈希函数选择控制字;其中,所述负载均衡配置信息指示所述流量特征信息与所述负载均衡算法的关联关系。
- 根据权利要求9或10所述的方法,其特征在于,所述负载均衡配置信息,包括以下任一项或多项信息:所述负载均衡配置信息的标识信息,所述负载均衡配置信息对应的所述负载均衡算法,匹配信息,所述匹配信息属于所述流量特征信息,哈希键值组成成员的选择配置信息,哈希函数的选择配置信息。
- 根据权利要求1-11中任一项所述的方法,其特征在于,所述报文的所述流量特征信息包括以下一项或多项:所述报文的差分服务代码点DSCP信息、所述报文的优先级信息、所述报文的入端口信息、所述报文的虚拟局域网VLAN信息、所述报文的入端口组信息、所述报文的出端口信息、所述报文的出端口组信息,或者所述报文的虚拟路由转发表VRF信息。
- 根据权利要求1-12中任一项所述的方法,其特征在于,所述负载均衡算法的应用场景以下任意一项:等价多路径路由ECMP,加权多路径路由WCMP,或者,链路聚合LAG。
- 根据权利要求1-13中任一项所述的方法,其特征在于,所述报文包括第一报文和第二报文,所述第一报文的所述流量特征信息与所述第二报文的所述流量特征信息不同;所述网络设备根据所述报文的所述流量特征信息,分配所述报文的所述负载均衡标识,包括:所述网络设备根据所述第一报文的所述流量特征信息,分配所述第一报文的第一负载均衡标识,所 述第一负载均衡标识对应于第一负载均衡算法;所述网络设备根据所述第二报文的所述流量特征信息,分配所述第二报文的第二负载均衡标识,所述第二负载均衡标识对应于第二负载均衡算法;所述第一负载均衡标识与所述第二负载均衡标识不同,所述第一负载均衡算法与所述第二负载均衡算法不同。
- 一种通信装置,其特征在于,用于网络设备,包括:报文到达收发模块;处理模块,用于根据所述报文的流量特征信息,分配所述报文的负载均衡标识,其中,所述负载均衡标识用于指示所述报文对应的负载均衡算法;所述处理模块,还用于根据所述报文的所述负载均衡标识,使用所述报文对应的所述负载均衡算法确定所述报文的出端口,其中,所述报文的出端口用于转发所述报文。
- 根据权利要求15所述的通信装置,其特征在于,所述处理模块,还用于将所述负载均衡标识填充至所述报文的报文描述符,所述报文描述符用于记录所述报文的报文头信息。
- 根据权利要求15-16中任一项所述的通信装置,其特征在于,所述处理模块,还用于根据所述负载均衡标识,确定所述报文对应的所述负载均衡算法;所述处理模块,还用于根据所述报文对应的所述负载均衡算法,确定所述报文使用的目标哈希函数和所述报文的目标哈希键值组成成员;所述处理模块,还用于根据所述目标哈希函数和所述目标哈希键值组成成员,计算得到目标哈希值;所述处理模块,还用于根据所述目标哈希值,确定所述报文的出端口。
- 根据权利要求17所述的通信装置,其特征在于,所述处理模块,还用于根据所述负载均衡标识,确定所述报文对应的哈希函数选择控制字和所述报文对应的哈希键值成员选择控制字;所述处理模块,还用于根据所述报文对应的所述哈希函数选择控制字,确定所述报文使用的所述目标哈希函数;所述处理模块,还用于根据所述报文对应的所述哈希键值成员选择控制字,从所述报文中选择目标字段,所述目标字段用于构建所述报文的所述目标哈希键值组成成员。
- 根据权利要求15所述的通信装置,其特征在于,所述处理模块,还用于根据所述报文的所述负载均衡标识,确定目标逻辑电路,其中,所述目标逻辑电路与所述报文的所述负载均衡标识关联,所述目标逻辑电路运行所述报文对应的所述负载均衡算法;所述处理模块,还用于使用所述目标逻辑电路处理所述报文,确定所述报文的出端口。
- 根据权利要求19所述的通信装置,其特征在于,所述处理模块,还用于从所述网络设备包括的多个逻辑电路中确定所述目标逻辑电路,其中,所述多个逻辑电路与多个负载均衡标识对应,所述多个负载均衡标识包括所述报文的所述负载均衡标识,所述逻辑电路运行与所述负载均衡标识对应的所述负载均衡算法。
- 根据权利要求19或20所述的通信装置,其特征在于,所述处理模块,还用于使用所述目标逻辑电路处理所述报文,确定所述报文使用的目标哈希函数和所述报文的目标哈希键值组成成员;所述处理模块,还用于根据所述目标哈希函数和所述目标哈希键值组成成员,计算得到目标哈希值;所述处理模块,还用于根据所述目标哈希值,确定所述报文的出端口。
- 根据权利要求21所述的通信装置,其特征在于,所述收发模块,还用于从所述目标逻辑电路关联的寄存器,获取所述报文对应的哈希函数选择控制字和所述报文对应的哈希键值成员选择控制字;所述处理模块,还用于根据所述报文对应的哈希键值成员选择控制字,从所述报文中选择目标字段,所述目标字段用于构建所述报文的所述目标哈希键值组成成员;所述处理模块,还用于根据所述报文对应的哈希函数选择控制字,确定所述报文使用的所述目标哈希函数。
- 根据权利要求15-22中任一项所述的通信装置,其特征在于,所述收发模块,还用于接收第一指令;所述处理模块,还用于根据所述第一指令配置负载均衡配置信息,所述负载均衡配置信息指示所述流量特征信息与所述负载均衡算法的关联关系。
- 根据权利要求15-23中任一项所述的通信装置,其特征在于,所述负载均衡标识,包括以下任意一项或多项:负载均衡配置信息的标识信息、逻辑电路标识、哈希键值成员选择控制字,或者,哈希函数选择控制字;其中,所述负载均衡配置信息指示所述流量特征信息与所述负载均衡算法的关联关系。
- 根据权利要求23或24所述的通信装置,其特征在于,所述负载均衡配置信息,包括以下任一项或多项信息:所述负载均衡配置信息的标识信息,所述负载均衡配置信息对应的所述负载均衡算法,匹配信息,所述匹配信息属于所述流量特征信息,哈希键值组成成员的选择配置信息,哈希函数的选择配置信息。
- 根据权利要求15-25中任一项所述的通信装置,其特征在于,所述报文的所述流量特征信息包括以下一项或多项:所述报文的差分服务代码点DSCP信息、所述报文的优先级信息、所述报文的入端口信息、所述报文的虚拟局域网VLAN信息、所述报文的入端口组信息、所述报文的出端口信息、所述报文的出端口组信息,或者所述报文的虚拟路由转发表VRF信息。
- 根据权利要求15-26中任一项所述的通信装置,其特征在于,所述负载均衡算法的应用场景以下任意一项:等价多路径路由ECMP,加权多路径路由WCMP,或者,链路聚合LAG。
- 根据权利要求15-27中任一项所述的通信装置,其特征在于,所述报文包括第一报文和第二报文,所述第一报文的所述流量特征信息与所述第二报文的所述流量特征信息不同;所述处理模块,具体用于根据所述第一报文的所述流量特征信息,分配所述第一报文的第一负载均衡标识,所述第一负载均衡标识对应于第一负载均衡算法;所述处理模块,具体用于根据所述第二报文的所述流量特征信息,分配所述第二报文的第二负载均衡标识,所述第二负载均衡标识对应于第二负载均衡算法;所述第一负载均衡标识与所述第二负载均衡标识不同,所述第一负载均衡算法与所述第二负载均衡算法不同。
- 一种通信装置,其特征在于,包括:通信接口;与所述通信接口连接的处理器,基于所述通信接口和所述处理器,使得所述控制器执行如权利要求1-14任一项所述的方法。
- 一种通信系统,其特征在于,所述通信系统包括通信装置,所述通信装置用于执行权利要求1-14任一项所述的方法。
- 一种计算机可读存储介质,包括指令,其特征在于,当所述指令被处理器执行时,实现权利要求1-14任一项所述的方法。
- 一种计算机程序产品,包括程序,其特征在于,当所述程序被处理器执行时,实现权利要求1-14任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23884710.7A EP4611344A4 (en) | 2022-10-31 | 2023-10-26 | PACKET PROCESS AND ASSOCIATED APPARATUS |
| US19/192,811 US20250260648A1 (en) | 2022-10-31 | 2025-04-29 | Packet processing method and related apparatus |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211366416.6 | 2022-10-31 | ||
| CN202211366416.6A CN117955913A (zh) | 2022-10-31 | 2022-10-31 | 一种报文处理方法以及相关装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/192,811 Continuation US20250260648A1 (en) | 2022-10-31 | 2025-04-29 | Packet processing method and related apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024093778A1 true WO2024093778A1 (zh) | 2024-05-10 |
Family
ID=90798750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/126724 Ceased WO2024093778A1 (zh) | 2022-10-31 | 2023-10-26 | 一种报文处理方法以及相关装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250260648A1 (zh) |
| EP (1) | EP4611344A4 (zh) |
| CN (1) | CN117955913A (zh) |
| WO (1) | WO2024093778A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118413488A (zh) * | 2024-07-02 | 2024-07-30 | 中国电信股份有限公司 | 路由方法、路由设备、路由系统及相关设备 |
| CN118590459A (zh) * | 2024-06-25 | 2024-09-03 | 新华三技术有限公司 | 一种为虚接口实现多级调度的方法和设备 |
| CN119172315A (zh) * | 2024-09-24 | 2024-12-20 | 新华三技术有限公司 | 报文转发方法及框式交换机 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120956653A (zh) * | 2024-05-13 | 2025-11-14 | 华为技术有限公司 | 一种在网计算的数据获取方法及相关装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109067664A (zh) * | 2018-08-29 | 2018-12-21 | 迈普通信技术股份有限公司 | 一种负载均衡方法及装置 |
| CN110798400A (zh) * | 2019-10-23 | 2020-02-14 | 新华三信息安全技术有限公司 | 报文转发方法及装置 |
| US10887234B1 (en) * | 2016-02-23 | 2021-01-05 | Amazon Technologies, Inc. | Programmatic selection of load balancing output amongst forwarding paths |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060155862A1 (en) * | 2005-01-06 | 2006-07-13 | Hari Kathi | Data traffic load balancing based on application layer messages |
| US8738752B2 (en) * | 2008-01-30 | 2014-05-27 | Cisco Technology, Inc. | Local placement of large flows to assist load-balancing |
-
2022
- 2022-10-31 CN CN202211366416.6A patent/CN117955913A/zh active Pending
-
2023
- 2023-10-26 WO PCT/CN2023/126724 patent/WO2024093778A1/zh not_active Ceased
- 2023-10-26 EP EP23884710.7A patent/EP4611344A4/en active Pending
-
2025
- 2025-04-29 US US19/192,811 patent/US20250260648A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10887234B1 (en) * | 2016-02-23 | 2021-01-05 | Amazon Technologies, Inc. | Programmatic selection of load balancing output amongst forwarding paths |
| CN109067664A (zh) * | 2018-08-29 | 2018-12-21 | 迈普通信技术股份有限公司 | 一种负载均衡方法及装置 |
| CN110798400A (zh) * | 2019-10-23 | 2020-02-14 | 新华三信息安全技术有限公司 | 报文转发方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4611344A4 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118590459A (zh) * | 2024-06-25 | 2024-09-03 | 新华三技术有限公司 | 一种为虚接口实现多级调度的方法和设备 |
| CN118413488A (zh) * | 2024-07-02 | 2024-07-30 | 中国电信股份有限公司 | 路由方法、路由设备、路由系统及相关设备 |
| CN119172315A (zh) * | 2024-09-24 | 2024-12-20 | 新华三技术有限公司 | 报文转发方法及框式交换机 |
| CN119172315B (zh) * | 2024-09-24 | 2025-11-25 | 新华三技术有限公司 | 报文转发方法及框式交换机 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250260648A1 (en) | 2025-08-14 |
| EP4611344A4 (en) | 2026-02-18 |
| EP4611344A1 (en) | 2025-09-03 |
| CN117955913A (zh) | 2024-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
| KR102205882B1 (ko) | 팻-트리 라우팅에 기반하여 별개의 인피니밴드 서브넷들 사이에서 트래픽을 라우팅하기 위한 시스템 및 방법 | |
| WO2024093778A1 (zh) | 一种报文处理方法以及相关装置 | |
| US7558268B2 (en) | Apparatus and method for combining forwarding tables in a distributed architecture router | |
| EP4325800A1 (en) | Packet forwarding method and apparatus | |
| JP2002508123A (ja) | マルチレイヤ・ネットワーク要素用のシステムおよび方法 | |
| CN113285878B (zh) | 负载分担的方法、第一网络设备 | |
| CN103746931A (zh) | 在服务应用后用网络设备维持负载均衡 | |
| CN112532563B (zh) | 报文的发送方法和装置 | |
| EP4009596A1 (en) | Message forwarding method, device, and system in sr network | |
| CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
| CN113923158B (zh) | 一种报文转发、路由发送和接收方法及装置 | |
| CN116094987B (zh) | 转发路径的确定方法及装置 | |
| US20240179095A1 (en) | Method and apparatus for determining hash algorithm information for load balancing, and storage medium | |
| CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
| CN116132364A (zh) | 报文传输方法、装置及系统 | |
| US20190394115A1 (en) | Area abstraction extensions to routing protocols | |
| WO2023236880A1 (zh) | 一种报文控制方法以及相关装置 | |
| WO2024067084A1 (zh) | 一种路径故障检测的方法以及相关装置 | |
| US8094665B1 (en) | Packet forwarding using intermediate policy information | |
| CN117997561A (zh) | 通信方法及装置 | |
| CN116781618A (zh) | 路由生成方法、数据报文的转发方法及装置 | |
| Hsieh et al. | Traffic-aware network update in software-defined NFV networks | |
| US20250373547A1 (en) | Increasing replication capability in a broadcast domain | |
| WO2025167433A1 (zh) | 一种报文发送方法及相关设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23884710 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023884710 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2023884710 Country of ref document: EP Effective date: 20250526 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023884710 Country of ref document: EP |