Message forwarding method, forwarding layer device, system, electronic device and storage medium

By adding priority information to the header information encapsulated by the network virtualization protocol, the problem of message forwarding complexity and loss in the network function virtualization forwarding system is solved, and priority identification and efficient forwarding of important messages are realized, improving the stability and reliability of the system.

CN116192761BActive Publication Date: 2025-08-26ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310194563.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-27
Publication Date
2025-08-26
Estimated Expiration
2043-02-27

AI Technical Summary

Technical Problem

In network function virtualization forwarding systems, the rapid growth of traffic of network element products leads to the increase in the forwarding complexity of packets between different devices, and important data flows may be discarded when network congestion. The existing QoS technology cannot effectively identify and mark priority in distributed fast-slow separation architecture.

Method used

By adding priority information to the header information encapsulated by the network virtualization protocol, the header information of the packet to be forwarded is parsed to identify the priority, and mark it when the priority information is lacking. The message speed limiter and marker are used to ensure priority forwarding of packets with high priority.

Benefits of technology

It effectively avoids the loss of important packet data during network congestion, ensures priority forwarding of important packets, and improves the stability and reliability of network communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116192761B_ABST
    Figure CN116192761B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a message forwarding method, a forwarding layer device, a system, an electronic device and a storage medium. The message forwarding method is applied to the forwarding layer of a network function virtualization forwarding system. The method includes: receiving a message to be forwarded; parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying the priority information included in the header information; if the header information does not include the priority information, marking the message to be forwarded with the priority information based on the network virtualization protocol by a first message marker, so as to forward the message to be forwarded according to the priority information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a message forwarding method, a forwarding layer device, an electronic device, and a computer storage medium. Background Art

[0002] As NFV (Network Functions Virtualization) matures, more and more products are built on the NFV platform to carry different network element products to achieve high availability, high performance, elastic scalability, fault isolation and self-healing features.

[0003] Currently, NFV generally adopts a distributed fast- and slow-speed separation architecture. Network element products are based on the fast- and slow-speed separation architecture to transfer messages between different devices.

[0004] However, the rapid growth in traffic volume of network element products has led to increased complexity in message forwarding between different devices, as well as a proliferation of message types. When network congestion occurs between forwarding devices, important data flows may be discarded, resulting in the loss of valuable message data. Summary of the Invention

[0005] In view of this, an embodiment of the present application provides a message forwarding method to at least partially solve the above-mentioned problem.

[0006] According to a first aspect of an embodiment of the present application, a method for message forwarding is provided, which is applied to a forwarding layer of a network function virtualization forwarding system, and the method includes: receiving a message to be forwarded; parsing header information encapsulated by a network virtualization protocol in the message to be forwarded, and identifying priority information included in the header information; if the header information does not include the priority information, marking the message to be forwarded with priority information based on the network virtualization protocol by a first message marker, so as to forward the message to be forwarded according to the priority information.

[0007] According to the second aspect of an embodiment of the present application, a forwarding layer device of a network function virtualization forwarding system is provided, wherein the forwarding layer includes a message identifier, a first message marker, and a message rate limiter, wherein the message identifier is used to receive a message to be forwarded, parse the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identify the priority information included in the header information; the first message marker is used to mark the message to be forwarded with priority information based on the network virtualization protocol if the header information does not include the priority information; the message rate limiter is used to forward the message to be forwarded according to the priority information.

[0008] According to the third aspect of an embodiment of the present application, a network function virtualization forwarding system is provided, including a forwarding layer, wherein the forwarding layer is used to receive a message to be forwarded; parse the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identify the priority information included in the header information; if the header information does not include the priority information, the message to be forwarded is marked with priority information based on the network virtualization protocol by a first message marker, so as to forward the message to be forwarded according to the priority information.

[0009] According to the fourth aspect of an embodiment of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other through the communication bus; the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the method described above.

[0010] According to a fifth aspect of an embodiment of the present application, a computer storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method described above is implemented.

[0011] According to the message forwarding method provided in the embodiment of the present application, the header information of the received message to be forwarded is parsed to obtain the priority information carried in the header information encapsulated by the network virtualization protocol, thereby obtaining the priority of the message to be forwarded, so that important messages can be forwarded first according to the priority of the message to be forwarded, avoiding the abandonment of important message data when network congestion occurs, and the message to be forwarded that does not include priority information is marked with priority information, so that the message to be forwarded that does not include priority information can be forwarded first according to the marked priority information, avoiding the abandonment of important message data. Therefore, the message forwarding method provided in the present application can avoid the loss of important message data, and, in this embodiment, the priority information is encapsulated in the header information encapsulated by the network virtualization protocol, and the way of carrying the priority information can be made more suitable for the virtualization forwarding system. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0013] Figure 1 A schematic diagram of an exemplary system applicable to the message forwarding method of an embodiment of the present application;

[0014] Figure 2 A flowchart of a message forwarding method according to an embodiment of the present application;

[0015] Figure 3 Schematic diagram of a process for processing a message to be forwarded according to an embodiment of the present application;

[0016] Figure 4 Schematic diagram of the principle of a message rate limiter according to an embodiment of the present application;

[0017] Figure 5 Schematic diagram of a message manager according to an embodiment of the present application;

[0018] Figure 6 This is a structural block diagram of a forwarding layer device of a network function virtualization forwarding system according to an embodiment of the present application;

[0019] Figure 7 A schematic diagram of a usage scenario of a network function virtualization forwarding system according to an embodiment of the present application;

[0020] Figure 8 Schematic diagram of the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0021] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field should fall within the scope of protection of the embodiments of the present application.

[0022] The specific implementation of the embodiment of the present application is further explained below in conjunction with the accompanying drawings of the embodiment of the present application.

[0023] Figure 1 An exemplary system for the message forwarding method applicable to the embodiment of the present application is shown. Figure 1 As shown, the system 100 adopts a three-layer architecture, namely a forwarding layer 101, a forwarding management layer 102 and a logic layer 103. The logic layer 103 is connected to at least one forwarding management layer 102, and the forwarding management layer 102 is connected to at least one forwarding layer 101.

[0024] Specifically, the distributed fast-slow separation architecture system used to carry network elements generally includes a three-layer architecture. The first layer is the forwarding layer 101, also known as the PT (Packet Transformation, general packet forwarding) layer, which is responsible for highly abstract message forwarding processing based on the key / match / action table. The second layer is the forwarding management layer 102, also known as the FM (Fabric Master, forwarding management) layer, which is responsible for processing capabilities such as Fabric management, interface management and Action processing. The third layer is the logic layer 103, also known as the SD (Service Decision, logic) layer, which is responsible for generating the network function logic of the match / action table, including the first packet trigger or priority configuration. From the perspective of fast-slow separation, the dual layers using fast and slow forwarding are explained. The PT / FM layers are collectively referred to as the fast forwarding part of the NFV system, and the SD layer is called the forwarding logic configuration part of the NFV system.

[0025] In a network function virtualization forwarding system with fast and slow speeds separated, in order to avoid the situation where data streams may be discarded and important message data may be lost when the network between forwarding devices is congested, it is necessary to identify the priority of the messages, send high-priority messages first, and ensure that the probability of high-priority messages being discarded is low. This can ensure that the probability of important messages being lost is low when network congestion occurs. This technology is called Quality of Service (QoS) technology.

[0026] In existing traditional physical network QoS technologies, in order to achieve timely and prioritized delivery of important messages, the following two methods are generally used to mark and identify the priority of messages.

[0027] One method is to set the priority level through the 802.1p field in the VLAN header of the Ethernet data frame. According to IEEE 802.1Q, the PRI field in the VLAN header, also known as the 802.1p priority field or the CoS (Class of Service) field, identifies the quality of service requirement, that is, the priority of the message.

[0028] The other is to set and identify the priority of the message through the DSCP (Differentiated Services Code Point) field. Specifically, RFC1349 redefined the ToS (Type of Service) field in the IP message, added the C bit to indicate the transmission overhead (Monetary Cost), and then redefined bits 0 to 5 in the ToS field of the IPv4 message header as DSCP, and renamed the ToS field to the DS (Differentiated Services) byte. The DSCP field is used to carry the priority of the message.

[0029] However, the packet priority marking and identification technologies used in traditional physical network QoS technologies have the following problems when applied to a distributed fast-slow separation architecture:

[0030] 1. When using the VLAN header method for Ethernet data frames, since the VLAN field is mainly occupied by the physical network in the fast-slow separation architecture, the VLAN field included in the message is stripped when the message reaches the PT layer. Therefore, this solution cannot be used to implement message identification and marking in the fast-slow separation architecture.

[0031] 2. When using the DSCP field method, in a fast-slow separation architecture, the DSCP field belongs to the user's original message, and the forwarding system requires transparent transmission of the message. The forwarding system cannot modify the content of the DSCP field, resulting in the inability to use the DSCP field to correspond to the customized priority. Therefore, this field cannot be used in NFV. The IP field of the outer layer message is usually used by the physical data center network. Therefore, this solution cannot be used to implement message identification and marking in a fast-slow separation architecture.

[0032] In view of this, the present application provides another solution, which writes priority information into the header information encapsulated by the network virtualization protocol, and obtains the priority information included in the header information by parsing the header information of the received message to be forwarded, so that the priority of the message to be forwarded can be obtained, so that important messages can be forwarded first according to the priority of the message to be forwarded, avoiding the abandonment of important message data when the network is congested, and marking the priority information of the message to be forwarded that does not include priority information, so that the message to be forwarded that does not include priority information can be forwarded first according to the marked priority information, avoiding the abandonment of important message data. Therefore, the message forwarding method provided by the present application can avoid the loss of important message data; further, for the message to be forwarded that does not include priority information, the priority information corresponding to the message can also be obtained and stored in the table entry, so that the priority information of the message to be forwarded can be marked according to the table entry in the future.

[0033] Based on the above-mentioned system 100, an embodiment of the present application provides a message forwarding method, which is described below through multiple embodiments.

[0034] Figure 2 is a flowchart of a message forwarding method according to an embodiment of the present application. Figure 2 The process shown is mainly used for the forwarding layer 101 in the above system. Figure 2 As shown, the message forwarding method includes the following steps S201 to S203.

[0035] Step S201: Receive a message to be forwarded.

[0036] The message to be forwarded is received through the forwarding layer. In the embodiment of the present application, the message received is encapsulated with header information through the virtualization protocol. Under the fast-slow separation architecture, devices at different levels interact through the header information encapsulated by the virtualization protocol.

[0037] Step S202: parse the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identify the priority information included in the header information.

[0038] The network virtualization protocol may specifically be the Generic Network Virtualization Encapsulation Protocol (GENEVE).

[0039] The received message to be forwarded is parsed, and the parsing process includes stripping off the outer layer, which includes VLAN frames, etc. After stripping off the outer layer, the header information encapsulated by the network virtualization protocol in the message to be forwarded is parsed, and the priority information included in the header information is identified. In order to characterize the priority information, priority information is newly added to the header information of the message in this application.

[0040] Step S203: If the header information does not include priority information, the first message marker performs priority information marking on the message to be forwarded based on the network virtualization protocol, so as to forward the message to be forwarded according to the priority information.

[0041] The parsed result of the header information is identified. If the header information does not include priority information, a first message marker is used to mark the message to be forwarded with the priority information, so that high-priority messages can be sent first based on the priority information. Specifically, the first message marker can add priority information to the header information based on a network virtualization protocol to mark the message to be forwarded with the priority information. The first message marker can be set in the forwarding layer 101 of the system 100, that is, the PT layer in the fast-slow separation architecture.

[0042] It should be noted that the priority may correspond to the importance and / or timeliness of the message to be forwarded. The higher the importance and / or timeliness, the more important the data in the message to be forwarded, and therefore the higher the corresponding priority.

[0043] For example, a new information type can be added to the header information of the message based on Geneve (Generic Network Virtualization Encapsulation). The newly added information type is used to represent priority information. For example, a new Option type is added to the header information, and 0x27 is specified to indicate that the content carried by the Option is priority information. The newly added Option type includes a priority level, and the priority value range can be set to 0-7. The smaller the value, the higher the priority.

[0044] In one possible implementation, when parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded and identifying the priority information included in the header information, the header information can be parsed to obtain the option category identifiers of several options carried by the header information, and the option category identifiers carried by the header information can be matched with the preset priority category identifier. The field in the header information used to carry the priority information is determined based on the matching result to obtain the priority information.

[0045] The header information encapsulated by the network virtualization protocol in the forwarded message is parsed to obtain multiple option category identifiers included in the header information. The option category identifier can be the data type corresponding to the forwarded message, the function instruction corresponding to the forwarded message, etc.

[0046] The option category identifiers of the parsed options are matched against the pre-set priority category identifiers. The field containing the priority information in the parsed results is identified and the priority of the message to be forwarded is determined based on the field. For example, if the priority category identifier is 0x27, the option category identifiers of the options with the identifier 0x27 are matched to obtain the priority information.

[0047] In a possible implementation, the fields used to carry priority information include: a type field used to carry a priority category identifier, and a level field used to carry a priority level.

[0048] For example, the 0x137 field can be identified, which indicates that it is a control message, and the Type: Option type can be identified. The 0x27 identifier can be identified, indicating that the content carried by the Option is priority information. The priority: message priority level is identified, ranging from 0 to 7. The smaller the value, the higher the priority.

[0049] In an embodiment of the present application, the fields carrying priority information include: a type field for carrying a priority category identifier and a level field for carrying a priority level, thereby accurately identifying the corresponding priority, so that high-priority messages can be forwarded preferentially, and high-priority messages can be prevented from being abandoned.

[0050] Optionally, when the header information of the message to be forwarded does not include priority information, a pre-set default priority can be used to process the message to be forwarded. For example, the default priority can be pre-set to medium priority, that is, after processing the message to be forwarded with a high priority, the message to be forwarded whose header information does not have a priority is processed.

[0051] In an embodiment of the present application, the header information of the received message to be forwarded is parsed to obtain the priority information included in the header information, thereby obtaining the priority of the message to be forwarded, so that important messages can be forwarded first according to the priority of the message to be forwarded, avoiding the abandonment of important message data when network congestion occurs, and the message to be forwarded that does not include priority information is marked with priority information, so that the message to be forwarded that does not include priority information can be forwarded first according to the marked priority information, avoiding the abandonment of important message data. Therefore, the message forwarding method provided by the present application can avoid the loss of important message data.

[0052] In one possible implementation, when a first message marker performs priority marking on a message to be forwarded based on a network virtualization protocol, the message to be forwarded may be matched with pre-stored priority information. If the priority information corresponding to the message to be forwarded is matched, the first message marker performs priority marking on the message to be forwarded based on the network virtualization protocol according to the matched priority information.

[0053] When the header information of the message to be forwarded does not include priority information, the index value (key value) can be calculated based on the access interface of the message to be forwarded, the message type of the message to be forwarded, the message content of the message to be forwarded, etc., and the index value is matched in the pre-stored priority information to determine the priority information corresponding to the message to be forwarded.

[0054] After matching the priority information corresponding to the message to be forwarded, the first message marker performs priority marking on the message to be forwarded based on the identified priority information. For example, the marking method can be based on the network virtualization protocol, i.e., Geneve adds a new Option type to the header information of the message to represent the priority information, and adds a priority value in the Option according to the corresponding priority level, so as to realize priority marking of the message to be forwarded that does not have priority information, without changing the data content in the message to be forwarded.

[0055] In an embodiment of the present application, the message to be forwarded is matched with the pre-stored priority information. If the corresponding priority information is matched, the message to be forwarded is prioritized according to the priority information. In this way, priority can be set for the message to be forwarded that does not include a priority. When setting the priority, the pre-set priority information is matched to avoid setting the wrong priority for the message to be forwarded. Moreover, since the message to be forwarded with a high priority is forwarded first, important message data that does not include a priority can be avoided from being abandoned.

[0056] In one possible implementation, when a message to be forwarded is marked with a priority based on a network virtualization protocol by a first message marker, the message to be forwarded can be matched with pre-stored priority information. If the priority information corresponding to the message to be forwarded is not matched, the message to be forwarded is reported to the logic layer, so that a second message marker in the logic layer performs a priority marking on the message to be forwarded based on a preset forwarding logic and a network virtualization protocol, and obtains a message to be forwarded with priority information in the header information, receives the message to be forwarded sent down by the logic layer, and continues to perform the steps of parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying the priority information included in the header information.

[0057] If the header of a message to be forwarded does not include priority information, the message is matched against the pre-set priority information. If no match is found, the message is sent upward to the forwarding management layer (FM), which then passes it to the logic layer (SD). Upon receiving the message, the SD layer uses the second message marker included in the SD layer to mark the message with a priority.

[0058] When the second message marker of the SD layer marks the priority of the message to be forwarded, the SD layer identifies the header information of the received message to be forwarded, and then generates corresponding priority information based on the header information and the pre-set forwarding logic. Specifically, the SD layer determines the type of the message to be forwarded based on the header information, and determines the corresponding priority based on the type of the message to be forwarded based on the pre-set forwarding logic, and marks the priority information to the header information of the message to be forwarded, thereby obtaining a message to be forwarded whose header information includes priority information.

[0059] After the SD layer obtains the message to be forwarded including priority information, it sends the message to be forwarded to the FM layer. After receiving the message, the FM layer sends the message back to the PT layer. After receiving the message to be forwarded, the PT layer parses the header information of the message to be forwarded, obtains the corresponding priority information, and continues to execute subsequent steps.

[0060] Optionally, in other implementations of the present application, the FM layer may also be provided with a third message marker. Since one FM layer is connected to at least one PT layer, the third message marker in the FM layer may store the matching rules of the first message markers of all connected PT layers. When the PT layer fails to match the priority information corresponding to the message to be forwarded, the message to be forwarded is uploaded to the FM layer. The third message marker in the FM layer identifies the header information of the message to be forwarded and matches the corresponding priority information according to the header information. If the corresponding priority information can be matched, the message to be forwarded is sent back to the PT layer and subsequent steps are executed. If the corresponding priority information is not matched, the message to be forwarded is sent to the SD layer, and the SD layer performs priority marking on the message to be forwarded.

[0061] In an embodiment of the present application, if the priority information corresponding to the message to be forwarded is not matched, the message to be forwarded is sent to the logical layer to generate corresponding priority information for the message to be forwarded, so as to implement priority marking of the message to be forwarded, and if the priority information is not matched, it is sent to the upper layer, thereby avoiding the situation where important message data to be forwarded is abandoned due to failure to match the priority information, thereby avoiding the abandonment of important message data that does not include priority.

[0062] In one possible implementation, the forwarding layer can receive the message to be forwarded sent by the logic layer, and continue to execute the steps of parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying the priority information included in the header information. If the header information includes priority information, the message to be forwarded is forwarded according to the priority information, and the pre-stored priority information is updated according to the priority information included in the header information.

[0063] After the PT layer receives a message to be forwarded that includes priority information, it forwards the message to be forwarded according to the priority information of the message to be forwarded, and updates the matching relationship between the priority information and the corresponding header information of the message to be forwarded to the pre-stored priority information. In this way, the next time the same type of message to be forwarded is received, it can be prioritized according to the pre-stored priority information without having to be sent upward again.

[0064] In an embodiment of the present application, after the PT layer receives the message to be forwarded including priority information sent back by the SD layer, it forwards the message to be forwarded according to the priority information, so that the message to be forwarded with a high priority can be forwarded first, ensuring that important messages to be forwarded are not abandoned, and the PT layer updates the stored priority information according to the correspondence between the message to be forwarded and the priority, so that the next time a similar message to be forwarded is received, the message to be forwarded can be marked with priority without uploading it to the SD layer, thereby improving the efficiency of marking the message to be forwarded.

[0065] For example, see Figure 3 , exemplarily shows a schematic diagram of the processing flow of the forwarding layer receiving a message to be forwarded, which can be specifically executed by a subsequent message identifier.

[0066] Specifically, after the forwarding layer receives the message to be forwarded, it first strips off the outer L2 / L3 / L4 / layer, and then parses the Geneve header information to determine whether there is an option for carrying priority information, that is, whether there is an option with option_type+27.

[0067] If it exists, it indicates that the message to be forwarded carries priority information. In this case, the message to be forwarded may be a message to be forwarded that has been added to the logical layer and then re-sent to the forwarding layer. In this case, the message priority information can be recorded and subsequent priority forwarding processing can be performed according to the priority information. The message manager can also update the flow table used to store priority information based on the priority information carried in the message to be forwarded. If it does not exist, the inner layer original message of the message to be forwarded is parsed, and the index value key of the message is calculated and generated. The message manager then searches the flow table used to store priority information based on the key value.

[0068] If the priority information corresponding to the message to be forwarded is found, that is, the flow is found, the message priority can be recorded, and the first message marker can subsequently mark the message to be forwarded with the priority information, so that subsequent priority forwarding processing can be performed according to the priority information.

[0069] If the priority information corresponding to the message to be forwarded is not found, it can be set to the default priority and reported to the logic layer. The reporting process specifically corresponds to the missmatch logic in the figure, that is, the logic cannot be matched.

[0070] In one possible implementation, when forwarding messages to be forwarded are processed according to priority information, the message manager can add the messages to be forwarded to the corresponding message queue according to the priority information, and then the message rate limiter can forward the messages in the message queue according to the priority corresponding to the message queue.

[0071] The message manager can divide different queues for messages of different priorities to be forwarded. The messages to be forwarded in all queues are installed on the same continuous flow table, segmenting the traffic. The priority level of the message is distinguished by the index area range of the flow table. The higher the priority level, the smaller the index, and the higher the priority, the smaller the table entry capacity.

[0072] The flow table can be used to divide packets with different priorities into different queues. For example, packets with high priority can be divided into one queue, packets with medium priority can be divided into another queue, and so on. After the packets are divided into different queues according to their priorities, the queues are sent to the packet rate limiter, which forwards the packets in the queues according to their priorities.

[0073] For example, a message rate limiter can include a token bucket. Message queues are sorted by priority, with queues with higher priorities prioritizing the token bucket with messages to be forwarded. Upon receiving a message, the token bucket determines whether it meets the system's rate limit. If so, the message is counted and forwarded. If not, the message is counted and discarded. The specific workings of the token bucket are not detailed here.

[0074] In an embodiment of the present application, the queue manager divides the messages to be forwarded into queues according to their priorities, so that the messages to be forwarded with the same priority level can be divided into the same queue, so that the messages to be forwarded corresponding to different priorities can be screened out, and then the message rate limiter is used to forward the messages to be forwarded according to the priority of the message queue, so that the messages to be forwarded in the queue with the higher priority can be forwarded first, thereby avoiding the abandonment of important messages to be forwarded when the network is congested.

[0075] For example, see Figure 4 , shows a schematic diagram of the principle of a message rate limiter. As shown in the figure, the message rate limiter classifies messages according to the priority information of the messages to be forwarded, and puts the messages to be forwarded into the queue corresponding to the priority according to the classification result. For example, the priority is divided into 8 priorities from 0 to 7, and the 8 priorities correspond to queues 1 to 8 in the figure respectively.

[0076] The message rate limiter can put tokens into the token bucket at a pre-defined rate and send the to-be-forwarded messages in queues 1-8 using the put tokens.

[0077] After allocating a token to the message to be forwarded, the rate limit is determined based on the size of the message. If it does not meet the rate limit, the message to be forwarded is discarded and the statistics of discarded messages are updated; if it meets the rate limit, the message to be forwarded is forwarded and the statistics of successfully sent messages are updated.

[0078] In a possible implementation, if priority information is pre-stored, the message manager is further configured to update a flow table for storing the priority information.

[0079] When the SD layer returns the message to be forwarded, it also returns a new priority information table entry. The new priority information table entry includes the priority information corresponding to the message to be forwarded. At this time, the message manager can be used to update the flow table storing the priority information, that is, to add a table entry for recording the new priority information to the original flow table storing the priority information.

[0080] In the embodiment of the present application, the message manager can also be used to update the flow table storing priority information, thereby ensuring that the messages to be forwarded input to the message manager are correctly assigned to the queue, avoiding the situation where the flow table storing the priority information does not have the corresponding information and the messages cannot be assigned to the queue. This can prevent important messages to be forwarded from being abandoned.

[0081] For example, see Figure 5 , shows a schematic diagram of the principle of a message manager, which mainly updates the stored priority information and searches for priority information that matches the message to be forwarded.

[0082] The process of updating priority information specifically corresponds to the process of installing the flow table in the figure. Specifically, the flow table can be classified according to priority, and corresponding capacity for storing priority information is reserved in the flow table for different categories. The categories can specifically include high priority, medium priority, and low priority. For example, if the flow table can store a total of 100,000 entries, then the entries with index values ​​of 10,000-10,000 correspond to high priority, the entries with index values ​​of 10,000-20,000 correspond to medium priority, and the remaining entries correspond to low priority.

[0083] After obtaining the priority information of the message, the flow capacity corresponding to different categories is checked according to the message classification category corresponding to the priority information to determine whether the flow capacity is sufficient. If it is sufficient, the index tool ring is called to obtain the index value idx, and the priority information is written into the table item corresponding to the index value idx to install the flow table to implement the update of the priority information.

[0084] When looking for priority information that matches the message to be forwarded, you can query the flow table based on the message to be forwarded, and calculate the priority category corresponding to the message based on the index value idx corresponding to the queried priority information, thereby determining the priority information corresponding to the message. For example, if the index value is between 10,000 and 20,000, the priority is medium.

[0085] Figure 6 FIG. 1 is a structural block diagram of a forwarding layer device of a network function virtualization forwarding system according to an embodiment of the present application, such as Figure 6As shown, the forwarding layer includes a message identifier, a first message marker, and a message rate limiter. The message identifier is used to receive messages to be forwarded, parse the header information encapsulated by the network virtualization protocol in the messages to be forwarded, and identify the priority information included in the header information. The first message marker is used to mark the messages to be forwarded with priority information based on the network virtualization protocol if the header information does not include priority information. The message rate limiter is used to forward the messages to be forwarded according to the priority information.

[0086] In one possible implementation, the message identifier is also used to match the message to be forwarded with pre-stored priority information; if the priority information corresponding to the message to be forwarded is matched, the first message marker is used to mark the priority of the message to be forwarded based on the matched priority information and the network virtualization protocol.

[0087] In one possible implementation, the message identifier is also used to report the message to be forwarded to the logical layer if the priority information corresponding to the message to be forwarded is not matched, so that the second message marker in the logical layer can mark the priority of the message to be forwarded according to the preset forwarding logic and based on the network virtualization protocol, and obtain the message to be forwarded with priority information in the header information; the message identifier is also used to receive the message to be forwarded sent by the logical layer, and continue to execute the steps of parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying the priority information included in the header information.

[0088] In a possible implementation, the message marker is further configured to forward the message to be forwarded according to the priority information if the header information includes priority information, and enable the message manager to update the pre-stored priority information according to the priority information included in the header information.

[0089] In one possible implementation, the message identifier is also used to parse the header information to obtain the option category identifiers of several options carried by the header information; match the option category identifier carried by the header information with the preset priority category identifier, and determine the field in the header information used to carry the priority information based on the matching result to obtain the priority information.

[0090] In a possible implementation, the field carrying the priority information includes: a type field for carrying a priority category identifier, and a level field for carrying a priority level.

[0091] See also Figure 7 , shows a schematic diagram of a use scenario of a network function virtualization forwarding system provided by an embodiment of the present application, as shown in the figure, which includes: a logic layer SD, a forwarding management layer FM, a forwarding layer PT,

[0092] The logic layer includes a second message marker, a message identifier, and a message rate limiter.

[0093] The forwarding management layer includes a message identifier and a message rate limiter.

[0094] The forwarding layer includes a first message marker, a message identifier, a message manager, and a message rate limiter.

[0095] It should be noted that the specific implementation of the above-mentioned multiple message identifiers, message managers, and message rate limiters can be found in the above-mentioned embodiments and will not be described in detail here.

[0096] In addition, the implementation principles of the first message marker and the second message marker are the same, both of which are used to mark priority information. The specific marking method is referred to the above embodiment and will not be repeated here.

[0097] In this embodiment, the message identifier of the forwarding layer PT is used to receive the message to be forwarded, and determine whether the header information encapsulated in the message to be forwarded through the network virtualization protocol includes priority information, and call the message manager to determine whether there is priority information corresponding to the message to be forwarded in the forwarding layer.

[0098] If the message to be forwarded does not include priority information, but the forwarding layer has corresponding priority information, the subsequent process corresponds to Figure 7 Specifically, the first message marker may mark the message to be forwarded with priority information, and the message rate limiter may perform forwarding processing according to the priority information.

[0099] If the message to be forwarded does not include priority information and the corresponding priority information does not exist in the forwarding layer, continue to follow Figure 7 Specifically, the message identifier may call the message rate limiter to report the message to the FM layer, or report the message to be forwarded to the FM layer through other reporting paths.

[0100] If the message identifier in the FM layer determines that the message to be forwarded does not include priority information and the corresponding priority information does not exist in the forwarding layer, the message may continue to be reported to the SD layer.

[0101] After the message identifier of the SD layer determines that the message to be forwarded does not include priority information and the corresponding priority information does not exist in the forwarding layer, the second message marker can be used to mark the priority information of the message to be forwarded, and the data with priority information in the header information can be sent to the FM layer through the message limiter therein.

[0102] At this time, the message identifier of the FM layer determines that the message to be forwarded carries priority information, and sends the message to be forwarded to the PT layer according to the priority information through the message rate limiter.

[0103] After receiving the message to be forwarded, the message identifier of the PT layer determines that the header information includes priority information, and then enables the message manager to update the stored priority information and forward the message to be forwarded through the message rate limiter.

[0104] The system provided in this embodiment can ensure that the forwarding logic of the original distributed fast-slow separation architecture does not change, and can realize the forwarding of messages according to different priorities. In addition, this technical solution can cover all forwarding models under the fast-slow separation architecture, provide network element products, provide better network communication service capabilities, solve the delay and blocking problems of message interaction between forwarding devices under the fast-slow separation distribution architecture, and make the network element products more stable.

[0105] Reference Figure 8 , shows a structural diagram of an electronic device according to an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the electronic device.

[0106] like Figure 8 As shown, the electronic device may include: a processor (processor) 502 , a communication interface (Communications Interface) 504 , a memory (memory) 506 , and a communication bus 508 .

[0107] in:

[0108] The processor 502 , the communication interface 504 , and the memory 506 communicate with each other via a communication bus 508 .

[0109] The communication interface 504 is used to communicate with other electronic devices or servers.

[0110] The processor 502 is configured to execute the program 510, and specifically may execute the relevant steps in the above-mentioned message forwarding method embodiment.

[0111] Specifically, the program 510 may include program codes, which include computer operation instructions.

[0112] The processor 502 may be a CPU, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs, or may be processors of different types, such as one or more CPUs and one or more ASICs.

[0113] The memory 506 is used to store the program 510. The memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0114] The program 510 may include multiple computer instructions. Specifically, the program 510 may enable the processor 502 to execute operations corresponding to the message forwarding method described in any of the aforementioned method embodiments through the multiple computer instructions.

[0115] The specific implementation of each step in program 510 can refer to the corresponding description of the corresponding steps and units in the above-mentioned method embodiment, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working process of the above-mentioned devices and modules can refer to the corresponding process description in the above-mentioned method embodiment, and will not be repeated here.

[0116] The present application also provides a computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any of the aforementioned method embodiments. The computer storage medium includes, but is not limited to, a compact disc read-only memory (CD-ROM), random access memory (RAM), a floppy disk, a hard disk, or a magneto-optical disk.

[0117] An embodiment of the present application also provides a computer program product, including computer instructions, which instruct a computing device to perform operations corresponding to any message forwarding method in the above-mentioned multiple method embodiments.

[0118] In addition, it should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used to train the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0119] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.

[0120] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk or magneto-optical disk), or as computer code that is originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded via a network and will be stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor or programmable or dedicated hardware (such as an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA)). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., random access memory (RAM), read-only memory (ROM), flash memory, etc.) that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the method shown here, the execution of the code converts the general-purpose computer into a dedicated computer for executing the method shown here.

[0121] Those skilled in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of this application.

[0122] The above implementation methods are only used to illustrate the embodiments of the present application, and are not intended to limit the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present application, and the scope of patent protection of the embodiments of the present application should be defined by the claims.

Claims

1. A message forwarding method, applied to a forwarding layer of a network function virtualization forwarding system, comprising: Receive messages to be forwarded; Parsing header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying priority information included in the header information; If the header information does not include the priority information, the message to be forwarded is marked with the priority information by a first message marker based on the network virtualization protocol, so as to forward the message to be forwarded according to the priority information; Among them, the network function virtualization forwarding system is a distributed fast-slow separation architecture system that carries network elements.

2. The method according to claim 1, wherein The step of marking the priority of the message to be forwarded based on the network virtualization protocol by the first message marker includes: Matching the message to be forwarded with the pre-stored priority information; If the priority information corresponding to the message to be forwarded is matched, the first message marker performs priority marking on the message to be forwarded based on the matched priority information and the network virtualization protocol.

3. The method according to claim 2, wherein: The method further comprises: If the priority information corresponding to the message to be forwarded is not matched, the message to be forwarded is reported to the logic layer, so that the second message marker in the logic layer performs priority marking on the message to be forwarded according to the preset forwarding logic and based on the network virtualization protocol, and obtains the message to be forwarded with the priority information in the header information; Receive the message to be forwarded sent by the logic layer, and continue to execute the steps of parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying the priority information included in the header information.

4. The method according to claim 3, wherein: The method further comprises: If the header information includes the priority information, the message to be forwarded is forwarded according to the priority information, and the pre-stored priority information is updated according to the priority information included in the header information.

5. The method according to any one of claims 1 to 4, wherein: The forwarding processing of the message to be forwarded according to the priority information includes: By means of a message manager, the message to be forwarded is added to a corresponding message queue according to the priority information; The message rate limiter forwards the messages in the message queue according to the priority corresponding to the message queue.

6. The method according to claim 5, wherein: If the priority information is pre-stored, the message manager is further configured to update a flow table for storing the priority information.

7. The method according to any one of claims 1 to 4, wherein: The parsing of header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying priority information included in the header information, includes: Parsing the header information to obtain option category identifiers of multiple options carried in the header information; The option category identifier carried in the header information is matched with a preset priority category identifier, and a field in the header information for carrying the priority information is determined according to the matching result to obtain the priority information.

8. The method according to claim 7, wherein: The fields used to carry the priority information include: a type field used to carry a priority category identifier, and a level field used to carry a priority level.

9. A forwarding layer device of a network function virtualization forwarding system, the forwarding layer device comprising a message identifier, a first message marker, and a message rate limiter. The message identifier is used to receive a message to be forwarded, parse header information encapsulated by a network virtualization protocol in the message to be forwarded, and identify priority information included in the header information; The message marker is used to mark the message to be forwarded with priority information based on the network virtualization protocol if the header information does not include the priority information; The message rate limiter is used to forward the message to be forwarded according to the priority information; Among them, the network function virtualization forwarding system is a distributed fast-slow separation architecture system that carries network elements.

10. The forwarding layer device according to claim 9, wherein: The forwarding layer device further includes a message manager for adding the to-be-forwarded message to the corresponding message queue according to the priority information; correspondingly, the message rate limiter is specifically used to forward the messages in the message queue according to the priority corresponding to the message queue.

11. A network function virtualization forwarding system, comprising a forwarding layer, the forwarding layer being configured to receive a message to be forwarded; parsing header information encapsulated in the message to be forwarded by a network virtualization protocol, and identifying priority information included in the header information; if the header information does not include the priority information, marking the message to be forwarded with priority information based on the network virtualization protocol by a first message marker, so as to forward the message to be forwarded according to the priority information; wherein, The network function virtualization forwarding system is a distributed fast-slow separation architecture system that carries network elements.

12. The forwarding system according to claim 11, wherein: The forwarding system further includes a logic layer, wherein the logic layer and the forwarding layer are configured to report the message to be forwarded that does not match the priority information to the logic layer; The second message marker in the logic layer is used to mark the priority of the message to be forwarded according to the preset forwarding logic and based on the network virtualization protocol, and obtain the message to be forwarded with the priority information carried in the header information; The forwarding layer is also used to receive the message to be forwarded sent by the logic layer, and continue to execute the steps of parsing the header information encapsulated by the network virtualization protocol in the message to be forwarded, and identifying the priority information included in the header information.

13. An electronic device comprising: A processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, where the executable instruction enables the processor to perform an operation corresponding to the method according to any one of claims 1 to 8.

14. A computer storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Service operation chaining methods and computer programs

    CN111095901A

  • Message processing method, device and system and storage medium

    CN113472650A