CN116567116A - Message processing method, device, programmable switch, system, equipment and medium - Google Patents

Message processing method, device, programmable switch, system, equipment and medium Download PDF

Info

Publication number
CN116567116A
CN116567116A CN202310721901.9A CN202310721901A CN116567116A CN 116567116 A CN116567116 A CN 116567116A CN 202310721901 A CN202310721901 A CN 202310721901A CN 116567116 A CN116567116 A CN 116567116A
Authority
CN
China
Prior art keywords
message
queue
characteristic information
target queue
queues
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.)
Pending
Application number
CN202310721901.9A
Other languages
Chinese (zh)
Inventor
杨涛
黄冰
邵勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202310721901.9A priority Critical patent/CN116567116A/en
Publication of CN116567116A publication Critical patent/CN116567116A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

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

Abstract

The disclosure provides a message processing method, a device, a programmable switch, a system, equipment and a medium, relates to the field of artificial intelligence, in particular to the technical fields of cloud computing, cloud storage, cloud network and the like, and can be applied to an intelligent cloud scene. The specific implementation scheme of the message processing method is as follows: responding to the received message, and determining whether the message needs to be forwarded to the software forwarding equipment according to the characteristic information of the message; responding to the need of forwarding the message to the software forwarding equipment, determining a target queue aiming at the message in a plurality of preset message queues according to the characteristic information of the message, and distributing the message to the target queue; shaping the messages allocated to the target queue in response to the rate of the messages allocated to the target queue exceeding a pre-configured limiting rate for the target queue; and forwarding the message distributed by the target queue to the software forwarding equipment.

Description

Message processing method, device, programmable switch, system, equipment and medium
Technical Field
The disclosure relates to the field of artificial intelligence, in particular to the technical fields of cloud computing, cloud storage, cloud networks and the like, and can be applied to intelligent cloud scenes.
Background
With the development of computer technology and network technology, load balancing may be implemented by high-performance software, such as a data plane development kit (Data Plane Development Kit, abbreviated as DPDK). For example, a DPDK-based legacy server may forward messages using multi-core forwarding techniques. However, this technique is strongly dependent on the processing power of the CPU and software in processing the traffic of the object and the micro burst. If the processing capacity is insufficient, there is a problem of packet loss.
Disclosure of Invention
The disclosure aims to provide a message processing method, a device, a programmable switch, a message processing system, equipment and a medium, which aim to solve the problem of packet loss.
According to a first aspect of the present disclosure, there is provided a message processing method, including: responding to the received message, and determining whether the message needs to be forwarded to the software forwarding equipment according to the characteristic information of the message; responding to the need of forwarding the message to the software forwarding equipment, determining a target queue aiming at the message in a plurality of preset message queues according to the characteristic information of the message, and distributing the message to the target queue; shaping the messages allocated to the target queue in response to the rate of the messages allocated to the target queue exceeding a pre-configured limiting rate for the target queue; and forwarding the message distributed by the target queue to the software forwarding equipment.
According to a second aspect of the present disclosure, there is provided a message processing apparatus, including: the forwarding equipment determining module is used for determining whether the message needs to be forwarded to the software forwarding equipment according to the characteristic information of the message in response to the received message; the message distribution module is used for responding to the need of forwarding the message to the software forwarding equipment, determining a target queue aiming at the message in a plurality of preset message queues according to the characteristic information of the message, and distributing the message to the target queue; the message shaping module is used for shaping the message distributed to the target queue in response to the fact that the rate of the message distributed to the target queue exceeds the limit rate preset for the target queue; and the message forwarding module is used for forwarding the message distributed by the target queue to the software forwarding equipment.
According to a third aspect of the present disclosure, there is provided a programmable switch configured to perform the message processing method provided by the first aspect of the present disclosure.
According to a fourth aspect of the present disclosure, there is provided a message processing system, comprising: the system comprises a hardware forwarding device and a software forwarding device in communication connection with the hardware forwarding device; wherein: the hardware forwarding device is configured to: executing the message processing method provided by the first aspect of the present disclosure; the software forwarding device is configured to: and forwarding the message to a downstream device in communication with the software forwarding device in response to receiving the message forwarded by the hardware forwarding device.
According to a fifth aspect of the present disclosure, there is provided an electronic device comprising: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the message processing methods provided by the present disclosure.
According to a sixth aspect of the present disclosure, there is provided a non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the message processing method provided by the present disclosure.
According to a seventh aspect of the present disclosure, there is provided a computer program product comprising a computer program/instruction stored on at least one of a readable storage medium and an electronic device, which when executed by a processor, implements the message processing method provided by the present disclosure.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are for a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
fig. 1 is a schematic diagram of an application scenario of a message processing method, apparatus, programmable switch, and message processing system according to an embodiment of the disclosure;
FIG. 2 is a flow diagram of a message processing method according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of shaping a message according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of a message processing method according to an embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a message processing system according to an embodiment of the present disclosure;
fig. 6 is a block diagram of a message processing apparatus according to an embodiment of the present disclosure; and
fig. 7 is a block diagram of an electronic device for implementing a message processing method of an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Along with the large-area use of the intelligent network card and the programmable hardware gateway of each cloud manufacturer, in order to avoid the packet loss phenomenon, the gateway architecture combining the software gateway and the hardware gateway becomes a new trend. The introduction of the programmable hardware gateway (such as a programmable switch) solves the bandwidth requirement of the short T level on the cloud, and has the advantages of high throughput and low time delay. However, the size of each configuration is limited due to the limited hardware resources of the programmable hardware gateway. In particular, limited to the table entry limitation of the programmable hardware gateway, the gateway architecture of the combination of the software gateway and the hardware gateway still requires the user traffic (such as relatively small bandwidth and large configuration traffic) of the carrying part of the software gateway (which may also be called as a software forwarding device) during the operation process, so that the packet loss phenomenon caused by micro burst traffic or elephant flow inevitably still exists. An elephant flow, which refers to a process of transferring data continuously and in a large quantity through a network link, can be defined as a flow with a flow rate greater than a certain threshold value in a measurement period. Micro burst traffic is a severe burst traffic of very short duration.
In order to eliminate the packet loss phenomenon, the identification and monitoring of the micro burst flow or the elephant flow are particularly critical. Monitoring the traffic of an inline switch is commonly employed in current cloud computing networks to discover micro-bursty traffic or elephant traffic. Monitoring may be implemented, for example, based on Telemetry (telemet). However, the monitoring period is usually larger, and the discovery of the micro-burst traffic and the elephant flow is usually not timely, so that the packet loss phenomenon caused by the micro-burst traffic or the elephant flow cannot be effectively eliminated.
In order to solve the above problems, the present disclosure provides a method, an apparatus, a programmable switch, a system, a device, and a medium for processing a message. Application scenarios of the method, apparatus, programmable switch, and system provided by the present disclosure are described in the following with reference to fig. 1.
Fig. 1 is a schematic diagram of an application scenario of a message processing method, a device, a programmable switch, and a message processing system according to an embodiment of the disclosure.
As shown in fig. 1, the application scenario 100 may include a programmable switch 110 and a server 120 running a software gateway (or as a software forwarding device). The programmable switch 110 is communicatively coupled to a server 120. The programmable switch 110 is configured to forward traffic that it cannot forward to the server 120. The programmable switch 110 may also, for example, shape messages that need to be forwarded to the server 120, avoiding the presence of traffic to the server 120 like flows or micro-bursts.
As shown in fig. 1, the application scenario 100 may further include an upstream switch 130 disposed relative to the programmable switch 110 and the server 120, where the upstream switch 130 is communicatively connected to the programmable switch 110 to forward the received message to the programmable switch 110. The upstream switch 130 may be, for example, a Leaf switch, a switch that is connected by a TOR (Top of Rack) connection, or a switch that corresponds to private line traffic. In an embodiment, the upstream switch 130 may be further communicatively connected to the server 120, for example, to forward portions of the message that cannot be processed by the programmable switch by the service logic directly to the server 120, as needed.
In this application scenario 100, the programmable switch 110 may also be configured to forward messages that it may forward to a corresponding downstream device, which may be, for example, a virtual machine VMs 151, via a downstream switch 141 connected to the programmable switch 110. In this way, the message can be issued to the virtual machine at the end. Accordingly, the message to be forwarded to the server 120 may be forwarded to a corresponding downstream device, for example, the virtual machine VMs 152, via the downstream switch 142 connected to the server 120 after being processed by the server 120. The downstream switch 141 and the downstream switch 142 may be, for example, switches accessed in a TOR (Top of Rack) access manner, or may be any other type of switch, which is not limited in this disclosure.
In an embodiment, programmable switch 110 may be configured with, for example, a partial table entry indicating a message forwarding rule, and server 120 may be configured with, for example, an entire table entry indicating a message forwarding rule. Based on the partial table entries configured by the programmable switch 110, the programmable switch 110 may be enabled to forward most of the messages, and only a small portion of the messages are determined to be the messages that need to be forwarded to the server 120.
It will be appreciated that the message processing method provided by the present disclosure may be performed by the programmable switch 110. Accordingly, the message processing apparatus provided by the present disclosure may be disposed on the programmable switch 110. The message processing system provided by the present disclosure may be composed of a programmable switch 110 and a server 120.
It should be noted that the number and types of programmable switches, servers, upstream switches, downstream switches, and downstream devices in fig. 1 are merely examples to facilitate understanding of the present disclosure, and the present disclosure is not limited thereto.
The message processing method provided in the present disclosure will be described in detail below with reference to fig. 2 to 4.
Fig. 2 is a flow diagram of a message processing method according to an embodiment of the disclosure.
As shown in fig. 2, the message processing method 200 of this embodiment may include operations S210 to S240, and the message processing method 200 may be performed by a programmable switch in the scenario shown in fig. 1, for example.
In operation S210, in response to receiving the message, it is determined whether the message needs to be forwarded to the software forwarding device according to the characteristic information of the message.
According to an embodiment of the present disclosure, the received message may be, for example, a message forwarded to the programmable switch by the upstream switch of the programmable switch. The characteristic information of the message can be obtained by analyzing the message header of the message, for example. The characteristic information of the message may include, for example, a source address, a destination address, a source port number, a destination port number, a protocol type, and the like of the message.
For example, the programmable switch may be preconfigured with forwarding rules for messages that specify characteristic information of the messages that may be forwarded. The embodiment can compare the characteristic information of the message with the characteristic information in the pre-configured forwarding rule, and if the characteristic information of the message corresponds to the characteristic information in the forwarding rule, the message is determined to be the message which can be directly forwarded by the programmable switch. Otherwise, determining the message as the message which needs to be forwarded to the software forwarding equipment. The forwarding rule preconfigured by the programmable switch may be, for example, a forwarding rule issued by any device in communication connection with the programmable switch, or may be a forwarding rule acquired through a programmable interface provided by the programmable switch, which is not limited in this disclosure.
For example, the software forwarding device may run on a server, which may be an X86 server or may be a server based on any architecture, which is not limited in this disclosure.
In operation S220, in response to the message being forwarded to the software forwarding device, a target queue for the message from among a plurality of predetermined message queues is determined according to the characteristic information of the message, and the message is allocated to the target queue.
According to embodiments of the present disclosure, the number of the plurality of predetermined message queues may be determined according to a configuration of a physical port of the programmable switch. For example, there is a definition of a Port Group (PG) inside the programmable switch, and each Port Group contains 32 queues inside. If each 100G physical port of the programmable switch is configured as 4 25G ports, then 8 queues in the port group would be mapped to one of the 4 25G ports by default. In this case, the number of the plurality of predetermined message queues is 8.
In this embodiment, the same message of any one or more of the feature information may be allocated to the same message queue according to any one or more of the feature information such as the source address, the destination address, the source port number, the destination port number, and the protocol type. Based on this principle, each of the plurality of predetermined message queues may have a mapping relationship with the arbitrary one or more kinds of characteristic information. The embodiment can determine the target queue for the message according to the characteristic information of the message and the mapping relation, and directly determine the message as the message needing to be distributed to the target queue after determining the target queue.
In operation S230, in response to the rate at which packets are allocated to the target queue exceeding the limit rate pre-configured for the target queue, shaping the packets allocated to the target queue is performed.
In operation S240, the message allocated to the target queue is forwarded to the software forwarding device.
According to the embodiment of the disclosure, the inflow traffic of the target queue in the plurality of preset message queues can be monitored in real time or periodically, and particularly, the rate of distributing the messages to the target queue can be counted in real time or periodically. The unit of the rate may be data packets per second (Packet Per Second, PPS), i.e., the rate represents the number of packets allocated to the target queue per second. The statistically derived rate may then be compared to a pre-configured limiting rate for the target queue. If the counted rate exceeds (i.e., is greater than) the limit rate, it is determined that shaping of the message assigned to the target queue is required. For example, if the limiting rate is 100PPS, if the number of messages allocated to the target queue in one second is counted to be more than 100, or if the number of messages allocated to the target queue in 0.5s is counted to be more than 60, it may be determined that shaping processing is required for the messages allocated to the target queue.
It will be appreciated that the determined target queues may be different for messages having different characteristic information. The embodiment can monitor the inflow flow of each queue which can be used as a target queue in a plurality of preset message queues, and reshape the messages distributed to each queue according to the requirement.
For example, the packets assigned to the target queue may be shaped by the principle of traffic shaping (traffic shaping) so that the packets assigned to the target queue may be forwarded to the software forwarding device at a relatively uniform rate. Traffic shaping may be understood as a measure of actively adjusting the output rate of the traffic. Traffic shaping may buffer messages that need to be discarded in traffic policing-e.g., put messages into buffers or queues. The algorithm used in shaping the message allocated to the target queue may include, for example, any one of Token Bucket algorithm (Token Bucket), leak Bucket algorithm (leak Bucket), and the like.
According to the embodiment of the disclosure, the message processing method is implemented by adopting the programmable switch, and whether the message is forwarded by the programmable switch or the software forwarding device is determined according to the characteristic information of the message, so that the software gateway and the hardware gateway can be combined in message processing, and the high bandwidth requirement of message forwarding can be met. By distributing the limiting rate to the preset message queue and monitoring the rate of distributing the message to the queue in real time, and shaping the message when the message rate distributed to the preset message queue exceeds the limiting rate, the micro-burst flow and the elephant flow in the flow flowing into the software forwarding equipment can be eliminated, thereby avoiding the packet loss phenomenon and improving the stability of message forwarding.
Fig. 3 is a schematic diagram of shaping a message according to an embodiment of the present disclosure.
In an embodiment, shaping of the message may be implemented, for example, by using a buffer space, so that the message that needs to be forwarded to the software forwarding device may be forwarded smoothly. For example, a buffer space may be preconfigured for each of a plurality of predetermined message queues, and the messages allocated to each of the queues are buffered in the preconfigured buffer space, and a rate of obtaining the messages from the buffer space is controlled (e.g., the messages in the buffer space may be obtained at a fixed rate), and the obtained messages are forwarded to the software forwarding device. In this embodiment, shaping the message may be understood as a process of buffering the message in a buffer space and controlling a rate of injecting the message into the network (i.e., a rate of acquiring the message from the buffer space and forwarding the message to the software forwarding device).
Illustratively, as shown in fig. 3, the embodiment 300 may first perform operation S331 to determine the remaining space of the buffer space preconfigured for the target queue when shaping the packet allocated to the target queue. Meanwhile, the storage space required by the message distributed to the target queue in the buffer memory can be determined and used as the required storage space.
Subsequently, the embodiment 300 can determine whether the required storage space is less than or equal to the remaining space by comparing the required storage space with the remaining space in operation S332.
If the required storage space is less than or equal to the remaining space, operation S333 is performed to shape the message allocated to the target queue. Specifically, the messages allocated to the target queue can be cached to the residual space, and the rate of injecting the cached messages into the network is set.
If the required storage space is greater than the remaining space, operation S334 is performed to discard the message allocated to the target queue.
The size of the buffer space preconfigured to the target queue may be set according to actual requirements, for example, which is not limited in the disclosure. For example, the size of the buffer space may be smaller than the size of data bytes comprised by an elephant stream in the conventional sense, for example. For example, where an elephant stream includes an amount of data that typically requires data bytes on the order of MB-GB, the pre-configured buffer space may be on the order of any order of magnitude below the MB order, for example.
Considering that the storage space required for caching the elephant stream is usually large, the effect of discovering the elephant stream in advance and discarding the elephant stream can be achieved through the shaping processing principle of the embodiment of the disclosure. Meanwhile, considering that the storage space required for caching the micro-burst traffic is usually small, the effect of caching and shaping the micro-burst traffic and forwarding the micro-burst traffic to the software forwarding device can be achieved through the shaping processing principle of the embodiment of the disclosure. In general, the packet loss phenomenon caused by the elephant flow or the micro burst flow can be obviously improved.
According to embodiments of the present disclosure, a programmable switch may be pre-configured with a feature information table, for example, the configuration of which may be implemented by programming, for example. The feature information table may include, for example, an instance table such as a routing table, a two-layer MAC address table, etc. required by the virtual network. Correspondingly, the characteristic information of the parsed message can include, for example, a MAC address, an IP address, and the like. The embodiment can compare the characteristic information of the message with the characteristic information in the pre-configured characteristic information table. For example, if the characteristic information includes a MAC address, the MAC address may be compared with the MAC address in the two-layer MAC address table. When the pre-configured characteristic information table does not include the characteristic information of the message, it can be determined that the message needs to be forwarded to the software forwarding device. For example, when the MAC address obtained by parsing the message is not included in the two-layer MAC address table, it is determined that the message needs to be forwarded to the software forwarding device.
In an embodiment, the programmable switch may be preconfigured with at least two feature information tables, for example, may be simultaneously configured with a routing table, a two-layer MAC address table, and the like. Correspondingly, at least two pieces of characteristic information of the message can be obtained through analysis, and the at least two pieces of characteristic information correspond to at least two preset characteristic information tables one by one. For example, the at least two pieces of characteristic information may include a MAC address, an IP address, and the like. The embodiment may compare each of the at least two feature information with a corresponding feature information table. In case each of the at least two feature information is found from the feature information comprised in the at least two feature information tables, it may be determined that the message can be forwarded by the programmable switch. In the case that any one of the feature information tables does not include the feature information corresponding to the any one of the at least two feature information tables, it may be determined that the message needs to be forwarded to the software forwarding device. By the embodiment, the accuracy of the determined message which needs to be forwarded to the software forwarding device can be improved, so that the situation that the message which cannot be processed by the programmable switch is not forwarded to the software forwarding device and the packet loss situation can be avoided.
Fig. 4 is a schematic diagram of a message processing method according to an embodiment of the disclosure.
As shown in fig. 4, in embodiment 400, when a programmable switch processes a message, it may first receive a message forwarded by an upstream switch from an input Pipeline (Ingress Pipeline), and parse a header included in the received message to obtain feature information of the message.
Each feature information of the parsed message may then be compared with a pre-configured corresponding feature information table (i.e., an instance table) by operation S401 to determine whether each feature information of the message is included in the pre-configured feature information table. In this embodiment, for example, the comparison result may be saved to metadata.
After the comparison result is obtained, the programmable switch may summarize the comparison result through operation S402, for example. Subsequently, the type of forwarding device that forwards the message may be determined according to the summary result (i.e., operation S403 is performed). For example, if the summary result is that each piece of characteristic information of the parsed message is included in the preconfigured characteristic information table, it may be determined that the comparison is successful, and it is determined that the forwarding device is a hardware device (i.e., a programmable switch). Otherwise, determining that the comparison fails, and determining that the forwarding device is a software forwarding device (e.g., software that may be run for an X86 server).
In an embodiment, the programmable switch may also maintain, for example, for each received packet, attribute information of fwd_type, where a default value of the attribute information may be, for example, a value indicating that the forwarding device is a hardware device, and the value may be, for example, forward_p4. If the comparison is determined to be failed, the programmable switch may, for example, modify the value of the attribute information fwd_type of the message to a value indicating that the forwarding device is a software forwarding device, where the value may be, for example, forward_x86.
After completing the determination, the programmable switch may, for example, determine a target queue for the received message from a plurality of predetermined message queues. The determination of the target queue may be implemented, for example, through operation S404 and operation S406.
In operation S404, the packet to be forwarded to the software forwarding device is classified and marked. Specifically, for example, a logical queue corresponding to a message in a predetermined logical queue may be determined first, and queue identification information indicating the corresponding logical queue may be allocated to the message, so as to implement classification and marking of the message. The message is then mapped to a physical queue according to the marking result, i.e. a target queue for the message among a plurality of predetermined message queues is determined in operation S406.
When determining the corresponding logic queue, for example, a hash (hash) operation may be performed on the characteristic information of the message to obtain a hash value for the message. And then, determining a corresponding logic queue according to the hash value and the number of the preset logic queues, and distributing queue identification information to the message. The hash operation may be performed using a hash function, for example, the hash function may be any one of an MD4 algorithm, an MD5 algorithm, an SHS algorithm, and the like, which is not limited in this disclosure. The number of the predetermined logic queues may be set according to actual requirements, for example, the number of the predetermined logic queues may be equal to the number of queues capable of serving as target queues in the predetermined message queues, or the number of the predetermined logic queues may be greater than the number of queues capable of serving as target queues in the predetermined message queues, which is not limited in the disclosure. After determining the corresponding logical queue, the message may be marked with the identification information of the corresponding logical queue.
In an embodiment, the characteristic information of the message may include, for example, quintuple information of the message, where the quintuple information may include a source IP address, a destination IP address, a source port number, a destination port number, and a protocol type. The embodiment can perform hash operation on the five-tuple information, so as to obtain a hash value for the message. The programmable switch determines the hash value of the message by adopting quintuple information, so that the message distributed to the same physical queue can be forwarded to the same forwarding core of the same software switching device as much as possible for processing. The method is characterized in that in a physical network on the cloud, TOR, leaf switch, software conversion equipment and the like are basically used for carrying out hash operation based on message quintuples. That is, the embodiment can ensure that the rule of determining the physical queue according to the hash value is consistent with the rule of determining the forwarding core for processing the message by the software forwarding device.
In an embodiment, for example, the hash value may be divided by the number of predetermined logical queues, and the corresponding logical queue may be determined according to the remainder obtained by the division. Specifically, the messages with the same remainder obtained by the division can be classified into the same logic queue, and the same queue identification information is allocated to the messages. For example, the number of the plurality of predetermined message queues may be 32, where the number of queues capable of being used as target queues is 31, and the number of predetermined logical queues is 31, and the embodiment may divide the hash value for the message by 31, so as to determine the logical queue corresponding to the message.
After allocating the queue identification information to the message, the embodiment may determine a target queue for the message according to a mapping relationship between a predetermined logical queue and a plurality of predetermined message queues. It is understood that one predetermined logical queue may be mapped to one predetermined message queue, or a plurality of predetermined logical queues may be mapped to the same predetermined message queue, which is not limited in this disclosure. The predetermined message queue is a physical queue.
After determining the target queues for the messages, the programmable switch may schedule and shape the messages assigned to each queue (operation S407). For example, scheduling and shaping may be implemented in the manner of the embodiment 300 described above, where a packet with a required storage space greater than the remaining space of the buffer space preconfigured for the target queue is discarded, a packet with a required storage space less than or equal to the remaining space is shaped, and the shaped packet is output and forwarded.
For example, a leaky bucket algorithm may be employed to schedule and shape messages allocated to the target queue. For example, when the rate at which packets are allocated to a target queue does not exceed the limiting rate configured for the target queue, the allocated packets may be forwarded directly. When the rate of assigning messages to the target queue exceeds the limiting rate configured for the target queue, the operations described in embodiment 300 may be performed to buffer the messages to the remaining space or discard the messages, and to send out the messages buffered in the buffer space smoothly according to the limiting rate configured for the target queue.
In an embodiment, the pre-configured limiting rate for the target queue may be associated with, for example, the processing capabilities of the software forwarding device. For example, the limiting rate may be positively related to the processing capability of the software forwarding device, so as to increase the processing efficiency of the packet as much as possible under the situation of avoiding packet loss. For example, the limiting rate may be set with reference to the processing power of a single CPU of a single server in the server cluster.
In one embodiment, a queue may also be set up for messages requiring processing by the programmable switch from a plurality of predetermined message queues. For example, the predetermined message queues include a designated queue, and the message allocated to the designated queue is a message that does not need to be forwarded to the software forwarding device. Specifically, as shown in fig. 4, a packet of which the type of forwarding device is determined as a type of hardware device may be allocated to the specified queue (operation S405). Thus, the message in the designated queue is the message which needs to be forwarded to the downstream equipment in communication connection with the programmable switch. It will be appreciated that no rate limiting or shaping policy may be implemented for the specified queue. Accordingly, the target queue for the message determined above does not include the specified queue.
In one embodiment, messages with different hash values are determined to be different in the target queues. This embodiment may map different target queues to the same remote procedure call protocol (Remote Procedure Call Protocol, RPC) port. For example, from among the aforementioned plurality of predetermined message queues, other queues may be mapped to the same RPC port in addition to the specified queue. Accordingly, the message allocated by the target queue may be forwarded to the software forwarding device via the RPC port mapped by the target queue. Specifically, queues included in a port group defined in the programmable switch can be mapped to the same RPC port, and compared with the technical scheme that the RPC port is configured to be a plurality of ports and a message queue is mapped for each port, the queues in each port group can be fully utilized when a message is distributed, so that the distribution of the message is more dispersed, and the situation of traffic error limit is reduced. This is because, for an elephant flow with traffic b, in a scenario where the RPC port is not configured as multiple ports, the elephant flow may be categorized, for example, by a hash value, into one of the 32 queues contained in the port group (e.g., as an elephant flow queue). For the message with the flow of a after the elephant flow, the message can be equally divided into 32 queues according to the hash value. Then for this elephant flow queue the traffic to be shaped is (b + a/32) and the traffic that may be mis-limited is a/32. For the scenario where the RPC ports are configured as multiple ports, taking the example that the number of multiple ports is 4, the elephant flow may be categorized into one of the 8 queues mapped to one port (e.g., the elephant flow queue) of the 32 queues included in the port group by using a hash value. The message with the flow rate a after the elephant flow can be evenly distributed to the 8 queues according to the hash value, and for the elephant flow rate column, the flow rate required to be shaped is (b+a/8), and the flow rate which can be mistakenly limited is a/8.
The principle of processing the message in the embodiment of the disclosure can effectively eliminate the problems of elephant flow and micro burst flow packet loss faced by the software forwarding equipment in a large-scale cloud computing network environment by utilizing the speed limiting capacity, the flow shaping capacity and the programmable capacity of the programmable switch of a physical queue in the programmable switch, and improve the overall stability and reliability of the network.
Based on the message processing method provided by the present disclosure, the present disclosure also provides a programmable switch, which may be configured to perform the message processing method provided by the present disclosure. The logic code of the message processed by the programmable switch can be pre-programmed in the memory of the programmable switch, and the programmable switch can process the message by calling the logic code. The logic code may be, for example, code written in P4 language or the like, which is not limited in this disclosure.
In an embodiment, the programmable switch provided by the present disclosure may be provided with a programmable interface, for example, as an interface for adjusting a feature information table configured by the programmable switch. For example, the programmable switch may obtain modification information for the pre-configured feature information table, for example, through the programmable interface, and modify the pre-configured feature information table according to the modification information. Wherein the modification information may include, for example, a code indicating to add, delete or modify feature information in the feature information table. The programmable switch may, for example, perform an add, delete, or modify operation on the feature information in the feature information table based on the code. Thus, flexible configuration of the characteristic information table can be realized, and the programmable switch can be configured according to service requirements.
In an embodiment, the programmable switch provided by the present disclosure may be provided with a configuration interface, which may be understood as a software interface for invoking functions, through which policies for shaping messages may be configured. For example, by calling the configuration interface, speed limit information configured for a predetermined message queue may be set, and the speed limit information is used as an input of the configuration interface. In this way, the programmable switch may obtain speed limit information for any one of a plurality of predetermined message queues in response to a call to the configuration interface, and configure a limiting rate for the any one of the queues according to the speed limit information. Therefore, the flexible configuration of the limiting rate of the queue can be realized, the rate of the programmable switch for forwarding the message to the software forwarding device can be more in line with the processing capacity of the software forwarding device, the programmable switch can be matched with the software forwarding devices with different processing capacities, and the processing of the message forwarded by the uplink switch is realized.
In order to facilitate the processing of the message, the disclosure further provides a message processing system. As shown in fig. 5, the message processing system 500 may include, for example, a hardware forwarding device 510 and a software forwarding device 520.
Wherein the hardware forwarding device 510 may be communicatively coupled to a software forwarding device 520. The hardware forwarding device 510 may be a programmable switch as described above, and the hardware forwarding device 510 may be configured to perform the message processing method described above. The software forwarding device 520 may be implemented by a server by running software, for example, i.e. the server may be regarded as a software forwarding device. The software forwarding device 520 may forward the forwarded message to a downstream device communicatively coupled to the software forwarding device, for example, in response to receiving the message forwarded by the hardware forwarding device 510. The downstream device may be, for example, a downstream virtual machine or the like, which is not limited by the present disclosure.
It is to be appreciated that the application scenario of the message processing system 500 may refer to the application scenario 100 described above, which is not limited in this disclosure.
By the message processing system 500, a software gateway and a hardware gateway can be combined in message processing, so that the high bandwidth requirement of message forwarding can be met. Furthermore, the packet loss phenomenon in the process of processing the message by the message processing system 500 can be avoided, and the stability of processing and forwarding the message by the message processing system can be improved.
Based on the message processing method provided by the disclosure, the disclosure also provides a message processing device. The device will be described in detail below in connection with fig. 6.
Fig. 6 is a block diagram of a message processing apparatus according to an embodiment of the present disclosure.
As shown in fig. 6, the packet processing apparatus 600 of this embodiment may include a forwarding device determining module 610, a packet allocating module 620, a packet shaping module 630, and a packet forwarding module 640. The message processing apparatus 600 may be provided on a programmable switch as described above, for example.
The forwarding device determining module 610 is configured to determine, in response to receiving the message, whether forwarding of the message to the software forwarding device is required according to the characteristic information of the message. In an embodiment, the forwarding device determining module 610 may be configured to perform the operation S210 described above, which is not described herein.
The message distribution module 620 is configured to determine a target queue for a message from a plurality of predetermined message queues according to characteristic information of the message in response to forwarding the message to the software forwarding device, and distribute the message to the target queue. In an embodiment, the message distribution module 620 may be configured to perform the operation S220 described above, which is not described herein.
The packet shaping module 630 is configured to perform shaping processing on the packet allocated to the target queue in response to the rate of allocating the packet to the target queue exceeding a limit rate preconfigured for the target queue. In an embodiment, the packet shaping module 630 may be configured to perform the operation S230 described above, which is not described herein.
Message forwarding module 640 is configured to forward the message allocated by the target queue to the software forwarding device. In an embodiment, the packet forwarding module 640 may be configured to perform the operation S240 described above, which is not described herein.
According to embodiments of the present disclosure, the message shaping module 630 may include a space determination sub-module, a message Wen Zhengxing sub-module, and a message discard sub-module. The space determination submodule is used for determining the residual space of the cache space preconfigured for the target queue. And the message shaping submodule is used for shaping the message distributed to the target queue in response to the fact that the required storage space is smaller than or equal to the residual space. The required storage space is the storage space required by the message distributed to the target queue. The message discarding submodule is used for discarding the message distributed to the target queue in response to the required storage space being larger than the residual space.
According to embodiments of the present disclosure, the message allocation module 620 may include a hash operation sub-module, an identification allocation sub-module, and a queue determination sub-module. The hash operation sub-module is used for carrying out hash operation on the characteristic information of the message to obtain a hash value for the message. The identification allocation sub-module is used for allocating queue identification information for the message according to the hash value and the number of the preset logic queues; the queue identification information indicates one of the predetermined logical queues. The queue determining submodule is used for determining a target queue for the message according to the queue identification information and the mapping relation between the preset logic queue and the plurality of preset message queues.
According to an embodiment of the disclosure, the characteristic information of the message includes five-tuple information of the message; the hash operation sub-module is specifically configured to perform hash operation on five-tuple information of a message to obtain a hash value for the message.
The forwarding device determination module 610 may include an information comparison sub-module and a device determination sub-module according to embodiments of the present disclosure. The information comparison sub-module is used for comparing the characteristic information of the message with the characteristic information in the pre-configured characteristic information table. The device determining submodule is used for determining that the message needs to be forwarded to the software forwarding device in response to the characteristic information which does not include the message in the preset characteristic information table.
According to an embodiment of the disclosure, the characteristic information of the message includes at least two characteristic information; the pre-configured feature information table includes at least two feature information tables corresponding to the at least two feature information, respectively. The device determining submodule is used for determining that the message needs to be forwarded to the software forwarding device in response to the fact that any one of at least two characteristic information tables corresponding to at least two characteristic information respectively does not comprise the characteristic information corresponding to any one of the at least two characteristic information tables.
According to embodiments of the present disclosure, the limit rate preconfigured for the target queue is associated with the processing power of the software forwarding device.
According to embodiments of the present disclosure, the different determined object queues map to the same remote procedure call protocol port. The message distributed by the target queue is forwarded to the software forwarding device through the remote procedure call protocol port.
According to an embodiment of the present disclosure, the determined target queue does not include a designated queue of the plurality of predetermined message queues. The message distribution module 620 is further configured to: in response to not requiring forwarding of the message to the software forwarding device, the message is assigned to a designated queue to forward the message to a downstream device.
In the technical scheme of the disclosure, the related processes of collecting, storing, using, processing, transmitting, providing, disclosing and applying personal information of the user all conform to the regulations of related laws and regulations, necessary security measures are adopted, and the public welcome is not violated. In the technical scheme of the disclosure, the authorization or consent of the user is obtained before the personal information of the user is obtained or acquired.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
Fig. 7 shows a schematic block diagram of an example electronic device 700 that may be used to implement the message processing methods of embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 7, the electronic device 700 includes a computing unit 701 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 702 or a computer program loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the electronic device 700 may also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in the electronic device 700 are connected to the I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, etc.; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, an optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the electronic device 700 to exchange information/data with other devices through a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 701 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 701 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as a message processing method. For example, in some embodiments, the message processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709. When a computer program is loaded into RAM 703 and executed by computing unit 701, one or more steps of the message processing method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the message processing method by any other suitable means (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service ("Virtual Private Server" or simply "VPS"). The server may also be a server of a distributed system or a server that incorporates a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel or sequentially or in a different order, provided that the desired results of the technical solutions of the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (20)

1. A message processing method comprises the following steps:
responding to a received message, and determining whether the message needs to be forwarded to a software forwarding device according to characteristic information of the message;
responding to the message to be forwarded to the software forwarding equipment, determining a target queue aiming at the message in a plurality of preset message queues according to the characteristic information of the message, and distributing the message to the target queue;
Shaping the messages distributed to the target queue in response to the rate of the messages distributed to the target queue exceeding a limit rate pre-configured for the target queue; and
and forwarding the message distributed by the target queue to the software forwarding equipment.
2. The method of claim 1, wherein shaping the message allocated to the target queue comprises:
determining the residual space of the cache space preconfigured for the target queue;
responding to the requirement storage space being smaller than or equal to the residual space, and shaping the message distributed to the target queue; the required storage space is a storage space required by a message distributed to the target queue in a buffering way; and
and discarding the message distributed to the target queue in response to the required storage space being greater than the residual space.
3. The method of claim 1, wherein determining, from the characteristic information of the message, a target queue for the message from a plurality of predetermined message queues corresponding to the software forwarding device comprises:
carrying out hash operation on the characteristic information of the message to obtain a hash value aiming at the message;
Distributing queue identification information for the message according to the hash value and the number of the preset logic queues; the queue identification information indicates one of the predetermined logical queues; and
and determining a target queue for the message according to the queue identification information and the mapping relation between the preset logic queue and the plurality of preset message queues.
4. A method according to claim 3, wherein the characteristic information of the message comprises five-tuple information of the message; the step of carrying out hash operation on the characteristic information of the message to obtain a hash value aiming at the message comprises the following steps:
and carrying out hash operation on the five-tuple information of the message to obtain a hash value aiming at the message.
5. The method of claim 1, wherein determining whether forwarding the message to a software forwarding device is required based on the characteristic information of the message comprises:
comparing the characteristic information of the message with the characteristic information in a preset characteristic information table; and
and determining that the message needs to be forwarded to the software forwarding device in response to the fact that the characteristic information of the message is not included in the preset characteristic information table.
6. The method of claim 5, wherein the characteristic information of the message comprises at least two characteristic information; the pre-configured characteristic information table comprises at least two characteristic information tables corresponding to the at least two characteristic information respectively; the determining, in response to the feature information of the message included in the preconfigured feature information table, that the message needs to be forwarded to the software forwarding device includes:
and responding to at least two characteristic information tables corresponding to the at least two characteristic information respectively, wherein any characteristic information table does not comprise the characteristic information corresponding to any characteristic information table in the at least two characteristic information, and determining that the message needs to be forwarded to the software forwarding equipment.
7. The method of claim 1, wherein the pre-configured limiting rate for the target queue is associated with a processing capability of the software forwarding device.
8. The method according to claim 1, wherein:
the determined different target queues are mapped to the same remote procedure call protocol port;
and forwarding the message distributed by the target queue to the software forwarding device through the remote procedure call protocol port.
9. The method according to claim 1, wherein:
the determined target queue does not include a designated queue of the plurality of predetermined message queues;
the method further comprises the steps of: and distributing the message to the appointed queue to forward the message to a downstream device in response to the fact that the message does not need to be forwarded to the software forwarding device.
10. A message processing apparatus, comprising:
the forwarding equipment determining module is used for responding to the received message and determining whether the message needs to be forwarded to the software forwarding equipment according to the characteristic information of the message;
the message distribution module is used for responding to the need of forwarding the message to the software forwarding equipment, determining a target queue aiming at the message in a plurality of preset message queues according to the characteristic information of the message, and distributing the message to the target queue;
the message shaping module is used for shaping the message distributed to the target queue in response to the fact that the rate of the message distributed to the target queue exceeds the limit rate preset for the target queue; and
and the message forwarding module is used for forwarding the message distributed by the target queue to the software forwarding equipment.
11. The apparatus of claim 10, wherein the message shaping module comprises:
a space determination submodule, configured to determine a remaining space of a cache space preconfigured for the target queue;
the message Wen Zhengxing submodule is used for shaping the message distributed to the target queue in response to the requirement storage space being smaller than or equal to the residual space; the required storage space is a storage space required by a message distributed to the target queue in a buffering way; and
and the message discarding sub-module is used for discarding the message distributed to the target queue in response to the required storage space being larger than the residual space.
12. The apparatus of claim 10, wherein the message distribution module comprises:
the hash operation sub-module is used for carrying out hash operation on the characteristic information of the message to obtain a hash value aiming at the message;
the identification allocation submodule is used for allocating queue identification information for the message according to the hash value and the number of the preset logic queues; the queue identification information indicates one of the predetermined logical queues; and
and the queue determining submodule is used for determining a target queue for the message according to the queue identification information and the mapping relation between the preset logic queue and the preset message queues.
13. The apparatus of claim 12, wherein the characteristic information of the message comprises five-tuple information of the message; the hash operation sub-module is used for:
and carrying out hash operation on the five-tuple information of the message to obtain a hash value aiming at the message.
14. A programmable switch configured to perform the message processing method of any of claims 1-9.
15. The programmable switch of claim 14, wherein the programmable switch is provided with a programmable interface, the programmable switch configured to:
responding to the call of the programmable interface, and acquiring modification information aiming at a pre-configured characteristic information table; and
and modifying the pre-configured characteristic information table according to the modification information.
16. The programmable switch of claim 14, wherein the programmable switch is provided with a configuration interface; the programmable switch is configured to:
responding to the call of the configuration interface, and acquiring speed limit information aiming at any pair of a plurality of preset message queues; and
and configuring a limiting rate for any queue according to the speed limiting information.
17. A message processing system comprises a hardware forwarding device and a software forwarding device in communication connection with the hardware forwarding device; wherein:
the hardware forwarding device is configured to: executing the message processing method according to any one of claims 1 to 9;
the software forwarding device is configured to: and forwarding the message to a downstream device in communication connection with the software forwarding device in response to receiving the message forwarded by the hardware forwarding device.
18. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 9.
19. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1-9.
20. A computer program product comprising computer programs/instructions stored on at least one of a readable storage medium and an electronic device, which when executed by a processor, implement the steps of the method according to any one of claims 1 to 9.
CN202310721901.9A 2023-06-16 2023-06-16 Message processing method, device, programmable switch, system, equipment and medium Pending CN116567116A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310721901.9A CN116567116A (en) 2023-06-16 2023-06-16 Message processing method, device, programmable switch, system, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310721901.9A CN116567116A (en) 2023-06-16 2023-06-16 Message processing method, device, programmable switch, system, equipment and medium

Publications (1)

Publication Number Publication Date
CN116567116A true CN116567116A (en) 2023-08-08

Family

ID=87491697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310721901.9A Pending CN116567116A (en) 2023-06-16 2023-06-16 Message processing method, device, programmable switch, system, equipment and medium

Country Status (1)

Country Link
CN (1) CN116567116A (en)

Similar Documents

Publication Publication Date Title
US9450780B2 (en) Packet processing approach to improve performance and energy efficiency for software routers
US9634938B2 (en) Adaptive scheduling of data flows in data center networks for efficient resource utilization
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
CN113326228B (en) Message forwarding method, device and equipment based on remote direct data storage
KR101698648B1 (en) A method and an apparatus for virtualization of quality-of-service
WO2015114473A1 (en) Method and apparatus for locality sensitive hash-based load balancing
CN109802894B (en) Flow control method and device
US20230028837A1 (en) Scaling for split-networking datapath
US20160254958A1 (en) Method, apparatus and system for virtualizing a policy and charging rules function
CN114513472A (en) Network congestion control method and device
CN116233018A (en) Message processing method and device, electronic equipment and storage medium
CN109698845B (en) Data transmission method, server, unloading card and storage medium
CN112019492B (en) Access control method, device and storage medium
US20180091447A1 (en) Technologies for dynamically transitioning network traffic host buffer queues
CN116567116A (en) Message processing method, device, programmable switch, system, equipment and medium
US11838206B2 (en) Edge node with datapath split between pods
US10129147B2 (en) Network-on-chip flit transmission method and apparatus
KR20180134219A (en) The method for processing virtual packets and apparatus therefore
CN107113244B (en) Data forwarding method, device and system
CN114615273B (en) Data transmission method, device and equipment based on load balancing system
CN113438301B (en) Network load balancer, request message distribution method, program product and system
CN111865713B (en) Throughput testing method and device, storage medium and electronic equipment
CN117527689B (en) Stream table unloading method, system, device, cluster and medium
CN116915709B (en) Load balancing method and device, electronic equipment and storage medium
US20220353198A1 (en) Forwarding Information Obtaining Method and Apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination