WO2022001287A1 - Procédé et dispositif de traitement de message - Google Patents

Procédé et dispositif de traitement de message Download PDF

Info

Publication number
WO2022001287A1
WO2022001287A1 PCT/CN2021/087107 CN2021087107W WO2022001287A1 WO 2022001287 A1 WO2022001287 A1 WO 2022001287A1 CN 2021087107 W CN2021087107 W CN 2021087107W WO 2022001287 A1 WO2022001287 A1 WO 2022001287A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
network device
hash value
tunnel
message
Prior art date
Application number
PCT/CN2021/087107
Other languages
English (en)
Chinese (zh)
Inventor
王辉登
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202011041940.7A external-priority patent/CN113965518A/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022001287A1 publication Critical patent/WO2022001287A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a method and device for processing messages.
  • load balancing is usually performed in a uniform hash method. That is, the hash value of each packet to be forwarded is calculated, and different packets to be forwarded are mapped to the outgoing interface of the network device based on the hash value. on the processing unit of a network device.
  • the current hash makes it impossible for network devices to process the packets to be forwarded in a balanced manner, resulting in low resource utilization.
  • the embodiments of the present application provide a packet processing method and device, so as to improve load balancing efficiency.
  • an embodiment of the present application provides a method for processing a message.
  • the first network device when a first network device determines that a preset condition is met, the first network device can obtain a message feature of the first message
  • the hash value of the information is generated, and a second packet including the hash value and content related to the first packet is generated according to the first packet, so that the first network device can use the second packet carrying the hash value.
  • the message is sent to the second network device.
  • the hash value is carried in the Sending the to-be-sent packet to other network devices can ensure that other network devices can achieve a better load balancing effect based on the hash value; moreover, when one network device performs a hash calculation, subsequent network devices will be loaded from the network device when there is a load balancing requirement.
  • high-quality load balancing can be performed, which saves the computing resources of each network device, improves the forwarding efficiency of the message, and thus improves the forwarding performance of the network device.
  • the preset condition may be that the length of the first packet is greater than a maximum transmission unit (English: maximum transmission unit, MTU for short) of the first network device. Then, the content related to the first packet includes fragmented packets of the first packet.
  • a maximum transmission unit English: maximum transmission unit, MTU for short
  • the header of the second packet may be used to carry the hash value.
  • the second packet may also include an IP extension header, and the Option field in the IP extension header may be used to carry the hash value.
  • the IP extension header of the second packet includes a Reserved field, where the Reserved field is used to carry the hash value.
  • each fragmented packet includes a hash value that preserves the diversity of packet characteristics, which can make the load in the network more balanced; moreover, it can also ensure that the same packet
  • the fragmented packets of the text are distributed to the same link or the same processing unit when hashing is performed uniformly, so as to realize the orderly forwarding of the fragmented packets.
  • the preset condition may also be that the first network device is the head end point of the first tunnel. Then, the content related to the first packet includes the entire content of the first packet.
  • the second packet may further include the first tunnel header.
  • the first tunnel is a GRE tunnel
  • the second packet is a packet obtained by encapsulating a first generic routing encapsulation (English: generic routing encapsulation, GRE for short) header on the first packet.
  • the GRE header is the first tunnel header in the second packet; if the first tunnel is an Internet protocol security (English: internet protocol security, IPSec for short) tunnel, then the second packet is the first packet encapsulated on the first packet.
  • the first IPSec header is the first tunnel header in the second packet.
  • the hash value may be carried in the first tunnel header.
  • the first tunnel header includes a Reserved field, which is used to carry the hash value.
  • the first tunnel may be a virtual private network (English: virtual private network, VPN for short) tunnel.
  • the types of VPN tunnels include but are not limited to GRE tunnels, IPSec tunnels, Virtual Extensible Local Area Network (English: Virtual Extensible Local Area Network, referred to as: VXLAN) tunnels, Layer 2 Tunneling Protocol (English: Layer 2 Tunneling Protocol, referred to as: L2TP) tunnels, Layer 3 Tunneling Protocol (English: Layer 3 Tunneling Protocol Version 3, referred to as: L2TPv3) tunnel, Multi-Protocol Label Switch (English: Multi-Protocol Label Switch, referred to as: MPLS) tunnel, IPv6 Over IPv4 tunnel, IPv4 Over IPv6 tunnel, etc.
  • each packet in the encapsulation tunnel scenario includes a hash value that preserves the diversity of packet characteristics, which provides convenience for subsequent load balancing when each network device forwards the second packet, and, Since the hash value of the first packet reflects the diversity of the inner layer features of the first packet, the load balancing effect in the network is guaranteed.
  • an embodiment of the present application further provides a method for processing a packet.
  • the second network device receives a second packet sent by the first network device, the second packet includes a hash value and content related to the first packet (that is, all or part of the content of the first packet), the hash value is calculated by the first network device or other network devices based on the packet feature information of the first packet; In this way, the second network device can process the second packet based on the hash value.
  • the process may include: the second network device processes the second packet based on the hash value. Assigned to a first processing unit of the second network device, the first processing unit corresponding to the hash value.
  • the processing unit may be, for example, a central processing unit (English: Central Processing Unit, referred to as: CPU), a network processor (English: Network Processor, referred to as: NP) or a forwarding chip and other units with processing and forwarding functions.
  • the second network device processes the second packet based on the hash value, and may also include: the first The second network device forwards the second packet from the first interface of the second network device based on the hash value, where the first interface corresponds to the hash value.
  • the method may further include that the second network device encapsulates the second tunnel header on the second packet, and carries the hash value Process at the second tunnel head.
  • the method in this embodiment of the present application may further include: the second network device determines that the second network device is the head end point of the second tunnel, then, obtaining the hash value from the second packet; then, second The network device encapsulates the second tunnel header corresponding to the second tunnel for the second message, and obtains a third message, where the second tunnel header of the third message includes a hash value; thus, the second network device can The three packets are sent to the third network device, so that the third network device processes the third packet based on the hash value. In this way, the hash value is always included in each tunnel header of the packet. No matter which tunnel end point is reached first, the current tunnel header of the packet can be guaranteed to carry the hash value, so as to achieve better load balancing. The effect is guaranteed.
  • the method may further include that the second network device responds to the second packet The process of fragmenting and carrying the hash value in the fragmented packet of the second packet.
  • the embodiment of the present application may further include: the second network device determines that the length of the second packet is greater than the MTU of the second network device, and then processes the second packet into at least two fragmented packets; then, The second network device adds a hash value to each fragmented packet to obtain at least two third packets; thus, the second network device sends at least two of the third packets to the third network device, and the second network device sends at least two of the third packets to the third network device.
  • the three network devices may process at least two of the third packets based on the hash value.
  • each fragmented packet carries the hash value corresponding to the packet feature information of the packet before the fragmentation, so that each fragmented packet includes a hash value that preserves the diversity of packet characteristics, which can It makes the load in the network more balanced; moreover, it can also ensure that the fragmented packets of the same packet are shared on the same link or the same processing unit when hashing is performed evenly, so as to realize the order of the fragmented packets. Forward.
  • an embodiment of the present application provides a first network device, including a transceiver unit and a processing unit.
  • the transceiving unit is configured to perform the transceiving operation in the method provided in the first aspect or any possible implementation manner of the first aspect;
  • the processing unit is configured to perform the foregoing first aspect or any possible implementation manner of the first aspect Other operations in the provided method other than the transceiving operation. For example: when the first network device executes the method of the first aspect, the transceiver unit is configured to send a second packet to the second network device; the processing unit is configured to generate a second packet according to the first packet Second message.
  • an embodiment of the present application further provides a second network device, where the second network device includes a transceiver unit and a processing unit.
  • the transceiving unit is configured to perform the transceiving operation in the method provided in the second aspect or any possible implementation manner of the second aspect;
  • the processing unit is configured to perform the foregoing second aspect or any possible implementation manner of the second aspect Other operations in the provided method other than the transceiving operation.
  • the transceiver unit is configured to receive the second packet sent by the first network device; the processing unit is configured to, according to the hash value, Process the second packet.
  • an embodiment of the present application further provides a first network device, where the first network device includes a memory and a processor.
  • the memory includes a computer program or an instruction; a processor in communication with the memory is used to execute the computer program or instruction, so that the first network device is used to execute the above first aspect or any possible implementation of the first aspect method provided.
  • the first network device may also not include a memory, and the processor obtains computer programs or instructions from an external memory or cloud storage, and executes the computer programs or instructions to enable the first network device to use The method provided for performing the above first aspect or any possible implementation manner of the first aspect.
  • an embodiment of the present application further provides a second network device, where the second network device includes a memory and a processor.
  • the memory includes a computer program or an instruction; a processor in communication with the memory is used to execute the computer program or instruction, so that the second network device is used to execute the above second aspect or any possible implementation of the second aspect method provided.
  • the second network device may also not include a memory, and the processor obtains computer programs or instructions from an external memory or cloud storage, and executes the computer programs or instructions to enable the second network device to use The method provided for performing the above second aspect or any possible implementation manner of the second aspect.
  • an embodiment of the present application further provides a computer-readable storage medium, where a computer program or instruction is stored in the computer-readable storage medium, and when it runs on a computer, the computer enables the computer to perform the above first aspect , any possible implementation manner of the first aspect, the second aspect, or a method provided by any possible implementation manner of the second aspect.
  • the embodiments of the present application also provide a computer program product, including a computer program or computer-readable instructions, when the computer program or the computer-readable instructions are run on a computer, the computer is made to execute the aforementioned first aspect, A method provided by any possible implementation manner of the first aspect, the second aspect, or any possible implementation manner of the second aspect.
  • an embodiment of the present application further provides a communication system, where the communication system includes the first network device provided in the third aspect or the fourth aspect, and/or the fifth aspect or the sixth aspect. the second network device.
  • FIG. 1 is a schematic diagram of a network system framework involved in an application scenario in an embodiment of the present application
  • FIG. 2 is a signaling flowchart of a method 100 for processing a packet in an embodiment of the present application
  • 3a is a schematic diagram of a format of a fragmented packet in a packet fragmentation scenario according to an embodiment of the present application
  • FIG. 3b is a schematic diagram of the format of another fragmented packet in a packet fragmentation scenario according to an embodiment of the present application
  • 4a is a schematic diagram of a format of a second packet in an encapsulation tunnel scenario in an embodiment of the present application
  • 4b is a schematic diagram of another format of a second packet in an encapsulation tunnel scenario according to an embodiment of the present application.
  • 4c is a schematic diagram of another format of a second packet in an encapsulation tunnel scenario according to an embodiment of the present application.
  • FIG. 4d is a schematic diagram of another format of a second packet in an encapsulation tunnel scenario according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a first network device 500 in an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a second network device 600 in an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a first network device 700 in an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a second network device 800 in an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a first network device 900 in an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a second network device 1000 in an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a communication system 1100 according to an embodiment of the present application.
  • Load balancing of forwarding packets in the network is an important means to realize the rational use of resources and ensure that there is no congestion.
  • load balancing is usually performed in a hash uniform manner, that is, based on the hash values of the packets to be forwarded, the packets to be forwarded are evenly distributed to multiple outgoing interfaces of the network device or multiple processing units of the network device. .
  • each network device after each network device receives a message, it first obtains message feature information from the message (for example, the quintuple of the message: source Internet Protocol (English: Internet Protocol, referred to as: IP) address, destination IP address, source port number, destination port number and protocol number), and then perform hash calculation on the packet feature information to obtain the hash value corresponding to the packet; thus, if the network device includes multiple processing units, then the The packet is sent to the target processing unit corresponding to the hash value among the multiple processing units; if it is determined based on the forwarding table that the next hop information of the packet indicates that there are multiple outgoing interfaces, then the packet is sent from the multiple The target outgoing interface corresponding to the hash value among the outgoing interfaces is forwarded to another network device.
  • message feature information for example, the quintuple of the message: source Internet Protocol (English: Internet Protocol, referred to as: IP) address, destination IP address, source port number, destination port number and protocol number
  • the load balance in the network depends on the diversity of the packet feature information on which the hash calculation is based.
  • the obtained packet feature information is often not comprehensive enough, and it is impossible or difficult to preserve the diversity of the packet, resulting in a relatively single hash value obtained after hashing the packet feature information. It is not dispersed enough to effectively achieve load balancing in the network. For example, some processing units in a network device are congested and some processing units are idle. For example, some interfaces of a network device are congested and some interfaces are idle, which greatly reduces network performance. resource utilization in .
  • a packet is divided into multiple fragmented packets, since only one fragmented packet includes transmission control protocol (English: transmission control protocol, referred to as: TCP) or user data message protocol (English: user datagram protocol, referred to as: UDP) information, and other fragmented packets do not include TCP or UDP information.
  • transmission control protocol English: transmission control protocol, referred to as: TCP
  • user data message protocol English: user datagram protocol, referred to as: UDP
  • other fragmented packets do not include TCP or UDP information.
  • the source IP address, destination IP address and protocol number included in each fragmented packet are used as the packet feature information, and the hash calculation is performed to obtain the same load balancing operation.
  • hash calculation based on triples loses the diversity of packets to a certain extent.
  • the five-tuple ie, source IP address, destination IP address, source port number, destination port number and protocol number
  • the same hash value will be obtained.
  • all the fragmented packets corresponding to the multiple packets will be allocated to the same processing unit and the same outbound interface in each network device, which affects the effect of load balancing.
  • the packet to be forwarded has been encapsulated with the packet header corresponding to the VPN tunnel.
  • the network device receives the packet including the packet header corresponding to the VPN tunnel, it cannot
  • the quintuple also known as the inner quintuple
  • the quintuple also known as the outer quintuple
  • quintuple to hash uniformly.
  • the network device can obtain the quintuple of the packet based on the GRE header of the packet, and Based on the quintuple, the hash is uniform, but the diversity of the inner quintuple is lost, and the load balancing effect is poor; in another case, the network device can also read the inner quintuple of the packet, based on the The inner layer quintuple is hashed evenly.
  • GRE general routing encapsulation
  • the inner layer quintuple of the packet it is necessary to calculate the length of the GRE header, and accurately strip the GRE header based on the length of the GRE header to obtain the inner layer packet, which is a complicated and time-consuming process.
  • IPSec Internet protocol security
  • the network device cannot obtain it and hash it evenly based on the inner quintuple, which makes the load balancing effect poor.
  • the inner quintuple of the packet to be forwarded is more difficult to obtain or even impossible to obtain. Therefore, for multiple packets encapsulated in the same VPN tunnel, the same hash value will be obtained, so that the multiple packets will be allocated to the same processing unit in each network device that the VPN tunnel passes through. and the same outgoing interface, the feature diversity of the inner layer of the packet (that is, the part before the VPN tunnel is not encapsulated) is lost, which affects the effect of load balancing.
  • each network device that forwards the packet needs to perform a hash calculation after receiving the packet, which affects the forwarding rate of the packet, thereby reducing the forwarding performance of the network device.
  • an embodiment of the present application provides a packet processing method.
  • a network device obtains packet feature information of the packet (for example, the content of the packet).
  • Layer 5-tuple perform hash calculation based on the feature information of the message, obtain the hash value corresponding to the message, and compare the hash value with the content related to the message (such as the entire content of the message or the In this way, the network device that receives the packet can perform load balancing operations on the packet based on the hash value in the received content, because the hash value is based on the It is obtained by calculating the inner layer packet characteristics of the message, which reflects the diversity of the message, ensures the uniform distribution of the hash value to a certain extent, and achieves a better load balancing effect; moreover, when a network device performs a hash calculation, Subsequent network devices can read the hash value from the packet for load balancing when there is a load balancing
  • the scenario includes network devices 101 to 104, wherein the network device 101 includes a processing unit 11, a processing unit 12, an interface A1, an interface A2 and an interface A3, and the network device 102 includes processing Unit 21, interface B1 and interface B2, network device 103 includes processing unit 31, interface C1 and interface C2, network device 104 includes processing unit 41, processing unit 42, processing unit 43, processing unit 44, interface D1, interface D2 and interface D3.
  • the processing unit 11 of the network device 101 receives the packet 1 and the packet 2 through the interface A1, it determines that the network device 101 is the head end of the tunnel 1, and the network device 101's
  • the processing unit (such as the processor 11 and/or the processor 12) calculates the hash value 1 corresponding to the packet 1, and encapsulates the GRE header 1 for the packet 1 to obtain the packet 1', and the GRE header 1 carries the hash value 1; Calculate the hash value 2 corresponding to the packet 2, and encapsulate the GRE header 2 for the packet 2 to obtain the packet 2', and the GRE header 2 carries the hash value 2.
  • the network device 101 determines that the outgoing interface of the packet 1 is the interface A2 according to the hash value 1, and then forwards the packet 1' from the interface A2 to the network device 102, which is received by the interface B1 of the network device 102 and sent to the network through the interface B2.
  • device 104 similarly, network device 101 determines that the outgoing interface of packet 2 is interface A3 according to hash value 2, and then forwards packet 2' from interface A3 to network device 103, where it is received by interface C1 of network device 103 and sent to the network device 103. Sent to network device 104 through interface C2.
  • the interface D1 of the network device 104 when the interface D1 of the network device 104 receives the packet 1, it can determine to allocate the packet 1 to the processing unit 41 according to the hash value 1 of the packet 1, and the processing unit 41 determines that the outgoing interface of the packet 1' is an interface D2, thereby forwarding the packet 1 from the interface D2 to the subsequent network device; when the interface D1 of the network device 104 receives the packet 2', it can determine to assign the packet 2' to the processing unit 43 according to the hash value 2, and process the packet 2'.
  • the unit 43 determines that the outgoing interfaces of the packet 2' are the interface D2 and the interface D3.
  • the processing unit 43 continues to determine the outgoing interface that actually forwards the packet 2 as the interface D3 according to the hash value 2, so as to send the packet 2' from the interface to the interface D3.
  • D3 is forwarded to subsequent network devices. In this way, effective load balancing in the network can be achieved, forwarding efficiency can be improved, and network forwarding performance can be improved.
  • one or more of the processing units 11, 12, 21, 31, 41, 42, 43, and 44 may be a central processing unit (English: Central Processing Unit, referred to as: CPU), a network processor ( English: Network Processor, abbreviation: NP) or forwarding chip and other units with processing and forwarding functions, the specific form is not limited.
  • CPU Central Processing Unit
  • NP Network Processor
  • the hash value 1 may be carried in other parts of the packet 1', such as the IP extension header of the packet.
  • a network device refers to a device with a forwarding function, which may specifically include, but is not limited to, a switch, a router, or a firewall.
  • FIG. 2 is a signaling flowchart of a packet processing method 100 in an embodiment of the present application.
  • the method 100 can be applied to the scenario of packet fragmentation, to perform the packet fragmentation operation of the first network device and any network device (referred to as the second network device) after the first network device. The interaction between them introduces the embodiments of the present application; in another case, the method 100 can also be applied to a tunnel encapsulation scenario, where the head point (also referred to as the first network device) of the first tunnel and the first tunnel. The interaction between any one network device (referred to as a second network device) other than the first network device introduces the embodiments of the present application.
  • the method 100 may include, for example, the following S101 to S104:
  • the first network device when a preset condition is met, the first network device generates a second packet according to the first packet, the second packet includes a hash value and content related to the first packet, and the hash value is based on The packet feature information of the first packet is calculated.
  • the message feature information of the first message refers to the information in the first message that can reflect the diversity of the inner layer information of the first message, and ensures the distribution of hash values obtained by performing hash calculation based on the feature information of the message. more uniform, so as to achieve better load balancing effect.
  • the packet feature information of the first packet may be an inner layer quintuple of the first packet, that is, the source IP address, destination IP address, source port number, destination port number, and protocol number of the first packet.
  • the first network device may acquire the packet feature information of the first packet by reading the IP header of the first packet.
  • the preset condition is an indication condition that the network device needs to calculate the hash value corresponding to the packet.
  • Each network device in the network is configured with the preset condition.
  • the method 100 is executed to perform load balancing; if the preset condition is not met, the load balancing is performed. condition, the packet is forwarded normally.
  • the preset conditions are different according to different scenarios.
  • the preset condition may be: the length of the first packet is greater than the maximum transmission unit (English: maximum transmission unit, MTU for short) of the first network device.
  • MTU maximum transmission unit
  • Each network device in the network is configured with the MTU of the interface, which is used to limit the maximum data length sent by the interface.
  • After receiving a packet it is judged whether the total length of the packet is greater than the MTU. If the total length of the packet is greater than the MTU, Then, fragment the packet and ensure that the length of each fragmented packet after fragmentation is less than the MTU, and forward each fragmented packet; if the total length of the packet is not greater than the MTU, there is no need for the packet. Fragmentation can directly forward the packet.
  • the MTU on the first network device is 1500 bytes and the first network device receives the first packet
  • the first A network device does not process the first packet, but simply forwards it
  • the length of the first packet is 4678 bytes, since 4678 bytes is greater than 1500 bytes
  • the first network device forwards the first packet.
  • Fragmentation for example, at least 4 fragmented packets can be obtained: fragmented packet 1, fragmented packet 2, fragmented packet 3, and fragmented packet 4.
  • the length of each fragmented packet is less than 1500 words. Festival.
  • S101 may specifically include: S11, when the first network device determines that the first packet needs to be fragmented, obtain packet feature information of the first packet; S12, the first network device calculates based on the packet feature information the hash value corresponding to the first packet; S13, the first network device processes the first packet into at least two fragmented packets; S14, the first network device adds a hash to each fragmented packet value, obtain at least two second packets.
  • the second packet also includes content corresponding to a fragmented packet of the first packet (that is, the content related to the first packet referred to in S101).
  • the first network device may perform a hash calculation on the packet feature information of the first packet according to a preset hash algorithm to obtain a hash value.
  • the preset hash algorithm may be, for example, an XOR algorithm or a cyclic redundancy check (English: cyclic redundancy check, CRC for short) 16 or CRC32. Since the hash value carried in the second packet and used to guide subsequent load balancing, the number of bits of the hash value needs to match the number of interfaces of the network device. For example, if the network device has 8 interfaces, then the hash value The value can be a 3-bit long binary number.
  • the network device may preset the preset length of the hash value, and then, S12 may include, for example: the first network device uses a preset hash algorithm to perform hash calculation on the packet feature information to obtain an initial hash value;
  • the initial hash value obtains a target hash value with a preset length, and the target hash value is the hash value carried in the second message in the embodiment of the present application.
  • the network device may intercept the preset length in the initial hash value, and use the intercepted bit value as the target hash value; in another case, the first network device may also interpret the initial hash value. Perform modulo (such as XOR) processing to obtain a target hash value with a preset length.
  • modulo such as XOR
  • the hash value may be carried in the IP extension header of each fragmented packet.
  • the IP extension header may include a copy flag (C), a type (Class) field, and an option (English: Option) field.
  • the hash value can be carried in the Option field in the IP extension header of the fragmented packet.
  • the value of the unoccupied Option field can be newly defined and carried in the value (English: Value) field corresponding to the Option field. the hash value.
  • the unoccupied values of the Option field include 25, 26, and 31.
  • the hash value calculated by the first network device based on the packet feature information of the first packet is a, and the value of 26, which is an unoccupied Option field, is used to carry the hash value a.
  • the first network device may divide the first packet into N (N is an integer greater than 1) fragmented packets, as shown in Figure 3a, each fragmented packet may include: an IP header, an IP extension header, and a net header.
  • the IP extension header in the fragmentation scenario may include: a next extension header (English: Next Header) field, a reserved (English: Reserved) field, and a fragmentation offset (English: Fragment Offset) field, reserved (Res) field and M flag bit and identification (English: Identification) field.
  • a next extension header English: Next Header
  • a reserved English: Reserved
  • a fragmentation offset English: Fragment Offset
  • Reserved reserved
  • M flag bit and identification English: Identification
  • the length of the first Reserved field is an 8-bit field, which is currently unused and can be used to carry a hash value.
  • the hash value calculated by the first network device based on the packet feature information of the first packet is a
  • the Reserved field is used to carry the hash value a.
  • the first network device may divide the first packet into N (N is an integer greater than 1) fragmented packets, as shown in Figure 3b, each fragmented packet may include: an IP header, an IP extension header, and a net Payload (English: payload), in the IP extension header, the first Reserved field is equal to the hash value a.
  • the hash value corresponding to the first packet may also be carried in each fragmented packet in other ways.
  • the diversity of packet characteristics is preserved, which can make Load balancing in the network; moreover, it can also ensure that the fragmented packets of the same packet are shared on the same link or the same processing unit when hashing is performed evenly, so as to realize the orderly forwarding of the fragmented packets.
  • the preset condition may be: the first network device is the head end point of the first tunnel.
  • the first tunnel is not encapsulated. If the first network device checks the forwarding table and determines that the next hop information of the forwarding table entry corresponding to the first packet indicates that the outbound interface type is the first tunnel, then , the first network device can determine that it is the head end of the first tunnel, and the first packet is transmitted from the first network device through the first tunnel. At this time, the first packet is encapsulated with the first tunnel corresponding to the first tunnel.
  • the encapsulated packet is forwarded; if the first network device checks the forwarding table and determines that the next hop information of the forwarding table entry corresponding to the first packet indicates that the outbound interface type is not the first tunnel, then the first network The device may determine that it is not the head-end point of the first tunnel, and in this case, it can directly forward the first packet without encapsulating the first tunnel for the first packet. For example, assuming that the next hop information of the forwarding entry corresponding to the first packet on the first network device indicates that the outbound interface type is a GRE tunnel, after the first packet reaches the first network device, the first network device is the first network device.
  • the packet encapsulates a GRE header; for another example, assuming that the next hop information of the forwarding entry corresponding to the first packet on the first network device indicates that the outbound interface type is an IPSec tunnel, then, after the first packet reaches the first network device,
  • the first network device encapsulates an IPSec header for the first packet, and the IPSec header may specifically be an authentication header (English: Authentication Header, abbreviated: AH) or an encapsulating security payload (English: Encapsulating Security Payload, abbreviated: ESP).
  • S101 may specifically include: S21, when the first network device determines that it is the head end point of the first tunnel, the first network device determines whether the first packet includes a hash value, and if so, executes S24 , otherwise perform S22; S22, the first network device obtains the message feature information of the first message; S23, the first network device calculates the hash value corresponding to the first message based on the message feature information; S24, the first The network device generates a second packet based on the first packet and the hash value, where the second packet includes the hash value. In this case, in addition to the hash value, the second packet also includes the entire content of the first packet (that is, the content related to the first packet referred to in S101).
  • the first packet may already include a hash that reflects the feature diversity of the first packet.
  • the first network device determines that it is the head end point of the first tunnel, it can directly obtain the hash value from the first packet, and generate the second packet based on S24. If the first packet does not carry the hash value, then the hash value can be obtained by calculation based on S22 to S23, and for the specific process, please refer to the above-mentioned description of S12.
  • the process of generating the second packet by the first network device in S24 includes: the first network device encapsulates the first tunnel header corresponding to the first tunnel for the first packet, and obtains a second packet, the first The packet header in the second packet includes the hash value.
  • the packet header of the second packet carrying the hash value may be the first tunnel header.
  • the hash value may be carried in the Reserved field of the first tunnel header, or the hash value may be carried in the flag bit (English: Flags) of the first tunnel header, or the hash value may also be carried in the first tunnel header.
  • An extension field in an optional (English: Optional) field of a tunnel header carries the hash value.
  • the first tunnel may be the first VPN tunnel, for example, the first GRE tunnel or the first IPSec tunnel.
  • the first tunnel header is a GRE header.
  • the format of the second packet is shown in Figure 4a or Figure 4b, and includes: an outer IP header, a GRE header, an inner IP header, and a payload.
  • the first tunnel header is an IPSec header.
  • the format of the second packet is shown in FIG. 4c or FIG. 4d , and the hash value a of the first packet may be carried in the Reserved field of the IPSec header in the second packet.
  • the second packet corresponds to the tunnel mode of IPSec, and the second packet includes: an outer IP header, an IPSec header, an inner IP header, and a payload.
  • the second packet corresponds to the transmission mode of IPSec, and the second packet includes: an inner IP header, an IPSec header, and a payload.
  • the IPSec header in FIG. 4c and FIG. 4d may be AH or ESP, which is not specifically limited in this embodiment of the present application.
  • the first tunnel when the first network device encapsulates the first VPN header for the first packet, it also needs to encapsulate the outer IP header in the outer layer of the first VPN header.
  • the hash value can also be carried in the outer IP header, that is, the second packet carrying the hash value.
  • the header can also be an outer IP header. The specific carrying manner is not limited in this embodiment.
  • the types of VPN tunnels include but are not limited to GRE tunnels, IPSec tunnels, virtual extensible local area network (English: virtual extensible local area network, VXLAN for short) tunnels, layer 2 tunneling protocol (English: layer 2 tunneling protocol, Abbreviation: L2TP) tunnel, Layer 3 tunneling protocol version 3 (English: layer 3 tunneling protocol version 3, Abbreviation: L2TPv3) tunnel, Multi-protocol label switching (English: multi-protocol label switch, Abbreviation: MPLS) tunnel, IPv6 Over IPv4 tunnel, IPv4 Over IPv6 tunnel, etc.
  • the specific operations of the above S101 may be completed in a processing unit in the first network device.
  • the preset conditions in S101 include, but are not limited to, the descriptions in the above two possible implementation manners. For example, if the first packet is an IP packet that does not need to be fragmented or encapsulated a tunnel, then it can also be considered that the first packet meets the preset conditions, and the hash value corresponding to the first packet is carried in the IP The second packet is obtained from the IP extension header of the packet. Therefore, in the process of forwarding the second packet, each network device only needs to read the hash value in the IP extension header of the second packet.
  • the load balancing of the second packet does not require each network device to perform hash calculation to obtain the hash value corresponding to the first packet, which saves the time of packet forwarding, and can effectively improve the load balance on the basis of ensuring load balance. Efficiency of text forwarding.
  • the first network device carries the hash value corresponding to the first packet in a position in the newly generated second packet that is easy to read, which provides convenience for load balancing when each subsequent network device forwards the second packet. Moreover, since the hash value of the first packet reflects the diversity of the inner layer features of the first packet, the load balancing effect in the network is guaranteed.
  • the first network device sends the second packet to the second network device.
  • the second network device receives the second packet sent by the first network device.
  • the first network device may also perform load balancing based on the hash value in the second packet. For example: when the first network device determines that there are multiple outgoing interfaces based on the forwarding entry corresponding to the second packet, at this time, the first network device determines one outgoing interface from the multiple outgoing interfaces based on the hash value, so that the The second packet is forwarded from the determined outbound interface.
  • load balancing based on the hash value in the second packet. For example: when the first network device determines that there are multiple outgoing interfaces based on the forwarding entry corresponding to the second packet, at this time, the first network device determines one outgoing interface from the multiple outgoing interfaces based on the hash value, so that the The second packet is forwarded from the determined outbound interface.
  • the method 100 may further include: S31, the first The network device determines that it is the head end point of the second tunnel, then obtains the hash value from the second packet; S34, the first network device encapsulates the second tunnel header corresponding to the second tunnel for the second packet, and obtains the updated The updated second packet includes the hash value, for example, the second tunnel header includes the hash value.
  • the method 100 may further include: S41, the first network device determines that it is the head end of the second tunnel, then the first network device based on the packet The characteristic information calculates the hash value corresponding to the first packet; S42, the first network device encapsulates the second tunnel header for the first packet to obtain a third packet, and the third packet includes the hash value; at this time , S101 may include, for example: the first network device determines that it is the head end point of the first tunnel, then the first network device obtains the hash value from the third packet, so that the first network device encapsulates the third packet for the third packet.
  • a tunnel header is obtained, and a second packet is obtained, where the second packet includes a hash value, for example, the second tunnel header and the first tunnel header include hash values.
  • the encapsulation sequence of the multiple layers of tunnels is not specifically limited, and the encapsulation sequence does not affect the effect of subsequent load balancing.
  • the second packet sent by the first network device to the second network device is the updated second packet, that is, the packet transmitted from the outgoing interface after the first network device has completed the final processing. Arts.
  • the second network device processes the second packet based on the hash value in the second packet.
  • the second packet is forwarded from the first network device to the second network device, and the second network device may be directly connected to the first network device, or may be indirectly connected through other network devices.
  • the second network device may include multiple processing units. Then, after receiving the second packet, the second network device may Based on the hash value carried in the second packet, a processing unit corresponding to the second packet is determined, and the second packet is allocated to the processing unit for processing.
  • the second network device may directly determine the processing unit for processing the second packet based on the hash value. For example: assign the second packet to the processing unit with the same number and hash value. Assuming that the second network device includes 8 processing units, numbered 0 to 7, then, when the hash value in the second packet is 0, the second network device allocates the second packet to processing unit 0; When the hash value in the second packet is 1, the second network device allocates the second packet to the processing unit 1 .
  • the corresponding relationship between the hash value and the processing unit may be preset in the second network device to determine the processing unit that processes the second packet.
  • the second network device may preset the corresponding relationship according to the capability of each processing unit. Assuming that the second network device includes two processing units, and the capability of processing unit 0 is stronger than that of processing unit 1, then the preset correspondence relationship of the second network device includes: correspondence relationship 1 "Hash values 0 to 5 correspond to processing Unit 0", corresponding relationship 2 "Hash values 6 and 7 correspond to processing unit 1", in this way, when the hash value in the second packet is any one of 0 to 5, the second network device according to the corresponding relationship 1 and Hash value, it is determined that the second packet needs to be allocated to processing unit 0; when the hash value in the second packet is 6 or 7, the second network device determines according to the corresponding relationship 2 and the hash value.
  • the second message is assigned to the processing unit 1 .
  • the multiple processing units often process in parallel, and after the processing is completed, multiple packets are sent from the second network device uniformly, thereby improving parallel forwarding efficiency.
  • the distribution of hash values used to guide the selection of processing units is not uniform. For example, for a flow that loses some packet characteristics, the five-tuple is different but the hash calculated based on the three-tuple is used. When the values are equal, the problem of uneven distribution of hash values will occur, which is likely to cause one or some of the multiple processing units to be heavily loaded, and other processing units to be lightly loaded, resulting in different processing speeds of each processing unit.
  • the parallel forwarding efficiency becomes slower, thus affecting or losing the advantages of multi-processing units.
  • the message to be forwarded can be based on the evenly distributed hash value.
  • the values are relatively evenly distributed to each processing unit in the network device, so that the efficient parallel forwarding function of multiple processing units can be fully and effectively utilized to achieve efficient forwarding.
  • the processing unit in the second network device that receives the second packet determines that there are multiple outgoing interfaces according to the forwarding entry corresponding to the second packet, at this time, the second network device Based on the hash value, one outgoing interface is determined from the multiple outgoing interfaces, so that the second packet is forwarded from the determined outgoing interface.
  • the second network device may directly determine the outbound interface for forwarding the second packet based on the hash value. For example, assign the second packet to the outbound interface with the same number and hash value. Assuming that the second network device includes 8 outgoing interfaces, numbered 0 to 7, then when the hash value in the second packet is 0, the second network device forwards the second packet from the given interface 0 outgoing the second network device; when the hash value in the second packet is 1, the second network device forwards the second packet from the outgoing interface 1 to the second network device.
  • the correspondence between the hash value and the outgoing interface may be preset in the second network device to determine the outgoing interface for forwarding the second packet.
  • the second network device may preset a corresponding relationship according to parameters such as the bandwidth of each outgoing interface.
  • the preset correspondence relationship of the second network device includes: correspondence relationship 1 "Hash values 0-5 correspond to interface 0" , corresponding relationship 2 "hash values 6 and 7 correspond to interface 1", in this way, when the hash value in the second packet is any one of 0 to 5, the second network device according to the corresponding relationship 1 and the hash value, It is determined that the second packet needs to be forwarded from interface 0 to the second network device; when the hash value in the second packet is 6 or 7, the second network device determines, according to the corresponding relationship 2 and the hash value, that it needs to The second packet is forwarded from the interface 1 to the second network device.
  • the second network device can obtain the hash value from the second packet, and encapsulate the third tunnel header for the second packet to obtain the first Four packets, wherein the hash value is included in the third tunnel header of the fourth packet.
  • the second network device may determine to forward the fourth packet to the outgoing interface of the second network device based on the hash value in the third tunnel header. interface; and, after the second network device sends the fourth packet to the third network device, the hash value in the fourth packet can also be used by the third network device to select the processing unit and the outgoing interface to achieve corresponding load balancing.
  • the first tunnel can be a GRE tunnel
  • the third tunnel can be an IPSec tunnel.
  • the fourth packet can be considered to encapsulate an IPSec Over GRE tunnel; another example: the first tunnel can be an IPSec tunnel, and the third tunnel can be If it is a GRE tunnel, then the fourth packet can be considered to be encapsulated with a GRE Over IPSec tunnel; for another example, if the first tunnel and the second tunnel are both GRE tunnels, then the fourth packet can be considered to be encapsulated with a GRE Over IPSec tunnel. GRE tunnel.
  • S104 may forward the second packet to the subsequent network device of the first tunnel based on the hash value in the second packet. If the second network device is the terminal point of the first tunnel, after determining the outbound interface, the second network device can strip the first tunnel header to obtain a fifth packet, and send the fifth packet from the determined outbound interface. The interface is transferred out.
  • the second network device may directly continue forwarding the fifth packet in the network without processing the fifth packet.
  • the subsequent nodes can obtain the inner packet feature information of the fifth packet. Therefore, the direct forwarding of the fifth packet does not affect subsequent nodes.
  • the second network device may carry the hash value in the IP extension header of the fifth packet, generate the sixth packet, and continue to forward the sixth packet in the network.
  • the subsequent network device does not need to obtain the packet feature information of the fifth packet, nor does it need to calculate the hash calculation, which saves the computing resources of each network device. It also greatly improves the packet forwarding efficiency.
  • the network device that receives the message to be forwarded determines that the preset conditions are not met and does not carry the hash value, then the message feature information of the message can be obtained, and the hash value can be calculated based on the message feature information. Hash value, and load balancing based on the calculated hash value.
  • the network device when it is determined that the preset conditions are met, the network device obtains the packet feature information of the packet, performs hash calculation based on the packet feature information, and obtains the hash value corresponding to the packet.
  • the hash value is carried in the packet for subsequent forwarding, so that the network device that receives the packet can perform load balancing operations on the packet based on the hash value carried in the packet.
  • the hash value is calculated based on the inner quintuple of the message, it reflects the diversity of the message, ensures the even distribution of the hash value to a certain extent, and achieves a better load balancing effect; moreover, only A network device is required to perform a hash calculation, and subsequent network devices only need to read the hash value from the message when there is a load balancing requirement, which saves the computing resources of each network device and improves the forwarding efficiency of the message. Therefore, the forwarding performance of the network device can be improved.
  • an embodiment of the present application further provides a first network device 500, as shown in FIG. 5 .
  • the first network device 500 includes a processing unit 501 and a sending unit 502 .
  • the processing unit 501 is configured to perform the processing operation performed by the first network device in the embodiment shown in FIG. 2 ;
  • the sending unit 502 is configured to perform the sending operation performed by the first network device in the embodiment shown in FIG. 2 .
  • the processing unit 501 may perform the operation in the embodiment in FIG. 2 : when the preset condition is satisfied, the second packet is generated according to the first packet.
  • the sending unit 502 may perform the operation in the embodiment in FIG. 2: send the second packet to the second network device.
  • an embodiment of the present application further provides a second network device 600, as shown in FIG. 6 .
  • the second network device 600 includes a receiving unit 601 and a processing unit 602 .
  • the receiving unit 601 is configured to perform the receiving operation performed by the second network device in the above-mentioned embodiment shown in FIG. 2 ;
  • the processing unit 602 is configured to perform the processing operation performed by the second network device in the above-mentioned embodiment shown in FIG. 2 .
  • the receiving unit 601 may perform the operation in the embodiment in FIG. 2: receive the second packet sent by the first network device;
  • the processing unit 602 may perform the operation in the embodiment in FIG. 2: based on the hash in the second packet
  • the value is the value, and the second packet is processed.
  • an embodiment of the present application further provides a first network device 700, as shown in FIG. 7 .
  • the first network device 700 includes a second communication interface 702 and a processor 703 .
  • the second communication interface 702 is configured to perform the sending operation performed by the first network device in the aforementioned embodiment shown in FIG. 2 ;
  • the processor 703 is configured to perform the operations performed by the first network device in the aforementioned embodiment shown in FIG. 2 except for the receiving operation and the sending operation. operations other than operations.
  • the processor 703 may perform the operations in the embodiment in FIG. 2 : when the preset condition is satisfied, the second packet is generated according to the first packet.
  • the first network device 700 may further include a first communication interface 701, and the first communication interface 701 is configured to perform the aforementioned receiving operation performed by the first network device in the embodiment shown in FIG. 2, such as receiving a first message Arts.
  • an embodiment of the present application further provides a second network device 800, as shown in FIG. 8 .
  • the second network device 800 includes a first communication interface 801 and a processor 803 .
  • the first communication interface 801 is configured to perform the receiving operation performed by the second network device in the foregoing embodiment shown in FIG. 2 ;
  • the processor 803 is configured to perform the receiving operation performed by the second network device in the foregoing embodiment shown in FIG. 2 . and operations other than send operations.
  • the processor 803 may perform the operation in the embodiment in FIG. 2 : process the second packet according to the hash value in the second packet.
  • the second network device 800 may further include a second communication interface 802, where the second communication interface 802 is configured to perform the sending operation performed by the second network device in the foregoing embodiment shown in FIG. 2 .
  • an embodiment of the present application further provides a first network device 900, as shown in FIG. 9 .
  • the first network device 900 includes a memory 901 and a processor 902 in communication with the memory 901 .
  • the memory 901 includes computer-readable instructions; the processor 902 is configured to execute the computer-readable instructions, so that the first network device 900 executes the method performed by the first network device in the above embodiment shown in FIG. 2 .
  • an embodiment of the present application further provides a second network device 1000, as shown in FIG. 10 .
  • the second network device 1000 includes a memory 1001 and a processor 1002 in communication with the memory 1001 .
  • the memory 1001 includes computer-readable instructions; the processor 1002 is configured to execute the computer-readable instructions, so that the second network device 1000 executes the method performed by the second network device in the above embodiment shown in FIG. 2 .
  • the processor may be a central processing unit (English: central processing unit, abbreviation: CPU), a network processor (English: network processor, abbreviation: NP), or a combination of CPU and NP.
  • the processor may also be an application-specific integrated circuit (English: application-specific integrated circuit, abbreviation: ASIC), a programmable logic device (English: programmable logic device, abbreviation: PLD) or a combination thereof.
  • the above-mentioned PLD can be a complex programmable logic device (English: complex programmable logic device, abbreviation: CPLD), field programmable logic gate array (English: field-programmable gate array, abbreviation: FPGA), general array logic (English: generic array logic, abbreviation: GAL) or any combination thereof.
  • the processor may refer to one processor, or may include multiple processors.
  • the memory may include volatile memory (English: volatile memory), such as random-access memory (English: random-access memory, abbreviation: RAM); the memory may also include non-volatile memory (English: non-volatile memory), For example, read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English: hard disk drive, abbreviation: HDD) or solid-state hard disk (English: solid-state drive, Abbreviation: SSD); the memory may also comprise a combination of the above-mentioned kinds of memory.
  • the memory may refer to one memory, or may include multiple memories.
  • a computer program or instruction is stored in the memory, and the computer program or instruction includes a plurality of software modules, such as a sending module, a processing module and a receiving module.
  • the processor can perform corresponding operations according to the instructions of each software module.
  • the operation performed by a software module actually refers to the operation performed by the processor according to the instruction of the software module.
  • the processor executes the computer program or instruction in the memory, it can execute all operations that can be performed by each network node in the packet processing method according to the instructions of the computer program or instruction.
  • the second communication interface 702 of the first network device 700 can be specifically used as the sending unit 502 in the first network device 500 to implement data communication between the first network device and the second network device;
  • the first communication interface 701 of a network device 700 may specifically be used as a receiving unit in the first network device 500, for example, may be used to receive a first packet sent by an upstream network device.
  • the first communication interface 801 of the second network device 800 can be specifically used as the receiving unit 601 in the second network device 600 to implement data communication between the first network device and the second network device; the second network device 800
  • the second communication interface 802 can be specifically used as a sending unit in the second network device 600 to implement data communication between the second network device and the downstream network device.
  • an embodiment of the present application further provides a communication system 1100, as shown in FIG. 11 .
  • the communication system 1100 includes a first network device 1101 and a second network device 1102, wherein the first network device 1101 may specifically be the first network device 500, the first network device 700 or the first network device 900, the second network device 1102 may specifically be the above-mentioned second network device 600 , second network device 800 or second network device 1000 .
  • an embodiment of the present application also provides a computer-readable storage medium, where a computer program or instruction is stored in the computer-readable storage medium, and when it runs on a computer, the computer is made to execute the implementation shown in FIG. 2 above. the method described in the example.
  • embodiments of the present application also provide a computer program product, including a computer program or a computer-readable instruction, when the computer program or the computer-readable instruction is run on a computer, the computer is made to execute the foregoing embodiment shown in FIG. 2 . the method described in .

Landscapes

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

Abstract

Des modes de réalisation de la présente demande concernent un procédé et un dispositif de traitement de message. Lorsqu'un premier dispositif réseau détermine qu'une condition prédéfinie est remplie selon un premier message, un second message comprenant une valeur de hachage et un contenu associé au premier message est généré, la valeur de hachage étant obtenue après un calcul de hachage en fonction des informations caractéristiques du premier message, et le premier dispositif réseau envoie le second message à un second dispositif réseau. De cette manière, comme la valeur de hachage est obtenue d'après une caractéristique de message de couche intérieure du message, la diversité du message est présentée, et dans une certaine mesure, la distribution uniforme des valeurs de hachage est assurée. Par conséquent, le transport de la valeur de hachage dans le message à envoyer et l'envoi à un autre dispositif réseau permettent de garantir que l'autre dispositif réseau applique un effet d'équilibrage de charge d'après la valeur de hachage.
PCT/CN2021/087107 2020-07-03 2021-04-14 Procédé et dispositif de traitement de message WO2022001287A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010631135 2020-07-03
CN202010631135.3 2020-07-03
CN202011041940.7 2020-09-28
CN202011041940.7A CN113965518A (zh) 2020-07-03 2020-09-28 一种报文处理的方法及设备

Publications (1)

Publication Number Publication Date
WO2022001287A1 true WO2022001287A1 (fr) 2022-01-06

Family

ID=79315101

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/087107 WO2022001287A1 (fr) 2020-07-03 2021-04-14 Procédé et dispositif de traitement de message

Country Status (1)

Country Link
WO (1) WO2022001287A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996446A (zh) * 2023-07-26 2023-11-03 中科驭数(北京)科技有限公司 哈希负载均衡方法、装置、设备及介质
CN117596211A (zh) * 2024-01-18 2024-02-23 湖北省楚天云有限公司 Ip分片多核负载均衡装置及方法
CN117812166A (zh) * 2024-03-01 2024-04-02 广州市仪美医用家具科技股份有限公司 一种基于udp的数据传输方法、系统、设备和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868631A (zh) * 2012-09-28 2013-01-09 华为技术有限公司 负载分担方法和装置
CN104283785A (zh) * 2014-10-29 2015-01-14 杭州华三通信技术有限公司 一种快速处理流表的方法和装置
CN104468391A (zh) * 2014-12-16 2015-03-25 盛科网络(苏州)有限公司 根据隧道报文的用户信息实现负载均衡的方法及系统
CN107181662A (zh) * 2017-05-18 2017-09-19 迈普通信技术股份有限公司 一种vxlan隧道负载均衡的方法及系统
US9923798B1 (en) * 2012-06-28 2018-03-20 Juniper Networks, Inc. Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering
WO2018104769A1 (fr) * 2016-12-09 2018-06-14 Nokia Technologies Oy Procédé et appareil d'équilibrage de charge d'une sélection d'adresse ip dans un environnement de réseau
CN108418765A (zh) * 2018-04-08 2018-08-17 盛科网络(苏州)有限公司 远程流量监控负载分担的芯片实现方法和装置
CN109302354A (zh) * 2018-10-26 2019-02-01 盛科网络(苏州)有限公司 一种udp封装gre报文的芯片实现方法及装置
CN109861924A (zh) * 2017-11-30 2019-06-07 中兴通讯股份有限公司 报文的发送、处理方法及装置,pe节点,节点
CN110581812A (zh) * 2018-06-08 2019-12-17 北京京东尚科信息技术有限公司 一种数据报文的处理方法和装置
CN110601990A (zh) * 2019-10-30 2019-12-20 杭州迪普科技股份有限公司 一种报文分流方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923798B1 (en) * 2012-06-28 2018-03-20 Juniper Networks, Inc. Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering
CN102868631A (zh) * 2012-09-28 2013-01-09 华为技术有限公司 负载分担方法和装置
CN104283785A (zh) * 2014-10-29 2015-01-14 杭州华三通信技术有限公司 一种快速处理流表的方法和装置
CN104468391A (zh) * 2014-12-16 2015-03-25 盛科网络(苏州)有限公司 根据隧道报文的用户信息实现负载均衡的方法及系统
WO2018104769A1 (fr) * 2016-12-09 2018-06-14 Nokia Technologies Oy Procédé et appareil d'équilibrage de charge d'une sélection d'adresse ip dans un environnement de réseau
CN107181662A (zh) * 2017-05-18 2017-09-19 迈普通信技术股份有限公司 一种vxlan隧道负载均衡的方法及系统
CN109861924A (zh) * 2017-11-30 2019-06-07 中兴通讯股份有限公司 报文的发送、处理方法及装置,pe节点,节点
CN108418765A (zh) * 2018-04-08 2018-08-17 盛科网络(苏州)有限公司 远程流量监控负载分担的芯片实现方法和装置
CN110581812A (zh) * 2018-06-08 2019-12-17 北京京东尚科信息技术有限公司 一种数据报文的处理方法和装置
CN109302354A (zh) * 2018-10-26 2019-02-01 盛科网络(苏州)有限公司 一种udp封装gre报文的芯片实现方法及装置
CN110601990A (zh) * 2019-10-30 2019-12-20 杭州迪普科技股份有限公司 一种报文分流方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996446A (zh) * 2023-07-26 2023-11-03 中科驭数(北京)科技有限公司 哈希负载均衡方法、装置、设备及介质
CN117596211A (zh) * 2024-01-18 2024-02-23 湖北省楚天云有限公司 Ip分片多核负载均衡装置及方法
CN117596211B (zh) * 2024-01-18 2024-04-05 湖北省楚天云有限公司 Ip分片多核负载均衡装置及方法
CN117812166A (zh) * 2024-03-01 2024-04-02 广州市仪美医用家具科技股份有限公司 一种基于udp的数据传输方法、系统、设备和存储介质

Similar Documents

Publication Publication Date Title
US11792046B2 (en) Method for generating forwarding information, controller, and service forwarding entity
WO2022001287A1 (fr) Procédé et dispositif de traitement de message
US10694005B2 (en) Hardware-based packet forwarding for the transport layer
US10749794B2 (en) Enhanced error signaling and error handling in a network environment with segment routing
WO2017215392A1 (fr) Procédé, dispositif et système de régulation de congestion de réseau
US9923835B1 (en) Computing path maximum transmission unit size
US7835285B2 (en) Quality of service, policy enhanced hierarchical disruption tolerant networking system and method
US10601610B2 (en) Tunnel-level fragmentation and reassembly based on tunnel context
WO2021037216A1 (fr) Procédé et dispositif de transmission de messages, et support de stockage informatique
US11695858B2 (en) Packet fragmentation control
US11108699B2 (en) Method, apparatus, and system for implementing rate adjustment at transmit end
WO2021082879A1 (fr) Procédé de transmission de message de multidiffusion, et appareil associé
JP7154315B2 (ja) 仮想プライベートネットワークを管理するための方法およびデバイス
TWI721103B (zh) 集群精確限速方法和裝置
WO2019170083A1 (fr) Procédé de traitement de messages, dispositif de commande, et dispositif d'acheminement
CN110912859B (zh) 发送报文的方法、接收报文的方法及网络设备
WO2016067076A1 (fr) Procédés et systèmes d'émission de données de diffusion générale
WO2014149888A1 (fr) Étiquettes universelles en interconnexion de réseaux
CN113965518A (zh) 一种报文处理的方法及设备
WO2019062252A1 (fr) Procédé, appareil et support d'informations pour déterminer une qualité de service
CN113055268A (zh) 隧道流量负载均衡的方法、装置、设备及介质
WO2024041064A1 (fr) Procédé de transmission de paquets quic et dispositif associé
WO2023279990A1 (fr) Procédé, appareil et système de transmission de paquet, dispositif de réseau et support de stockage
WO2024066555A1 (fr) Procédé de communication de données, puce de commutation, nœud de communication et réseau de communication
WO2024027419A1 (fr) Procédé, appareil et système d'envoi de paquets

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21834090

Country of ref document: EP

Kind code of ref document: A1