Method, device, apparatus and storage medium for managing flow table entries

CN122969986APending Publication Date: 2026-10-23DATANG MOBILE COMM EQUIP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510470944.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-15
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

在用户平面要承载的业务量较多从而流表项规模较大时,用户面所要处理的流表项数量将会很多,如果需要对同类流表项进行处理或对其业务逻辑进行影响,就需要控制器逐一对各相关流表项进行大量的计算操作并独立与用户面设备之间完成相应的信令交互,这种处理的复杂度和信令规模对可编程网络的稳定运行构成很大的压力和风险

Benefits of technology

[0015]第十一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如上所述第一方面所述的管理流表项的方法,或执行如上所述第二方面所述的管理流表项的方法。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122969986A_ABST
    Figure CN122969986A_ABST
Patent Text Reader

Abstract

The application provides a method, device, apparatus and storage medium for managing flow table entries, the method comprising: determining, by a control plane device, one or more flow table entry groups and a priority range of each flow table entry group according to service logic required to be processed by a user plane device; wherein the priority ranges of different flow table entry groups are different; and managing flow table entries based on the flow table entry groups.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device, and storage medium for managing flow table entries. Background Technology

[0002] Network programmability refers to a network technology where the behavior and flow control of network devices can be handled by software independent of the network hardware. Its core idea is to separate the control plane from the user plane (also known as the user plane, forwarding plane, or other similar planes) of network devices, allowing network configuration and management to be implemented through software programming. By providing open programmable interfaces, network programmability enhances the network's flexible configuration and resource integration capabilities. This technological development has shifted networks from a protocol-centric to a software-centric approach, making them more agile and better able to support business development.

[0003] In programmable networks, the control plane controls and manages user plane service logic by issuing flow table entries to user plane devices. When the user plane carries a large volume of services, resulting in a large number of flow table entries, the number of flow table entries that the user plane needs to process will be substantial. If it is necessary to process similar flow table entries or affect their service logic, the controller needs to perform a large number of calculations on each related flow table entry and independently complete the corresponding signaling interactions with the user plane devices. This complexity and signaling scale put significant pressure and risk on the stable operation of the programmable network. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for managing flow table entries, thereby reducing the complexity and signaling scale of flow table entry management and improving the stability of programmable network operation.

[0005] In a first aspect, this application provides a method for managing flow table entries, applied to a control plane device, the method comprising: Based on the business logic required to be processed by the user plane device, one or more flow table entry groups and the priority range of each flow table entry group are determined; wherein, the priority ranges of different flow table entry groups are different. Flow table entries are managed based on the aforementioned flow table entry groups.

[0006] Secondly, this application also provides a method for managing flow table entries, applied to a user plane device, the method comprising: Receive attribute information of one or more flow table entry groups sent by a control plane device, the attribute information including priority range; wherein, different flow table entry groups have different priority ranges; Flow table entry groups are created based on the attribute information of the flow table entry groups.

[0007] Thirdly, this application also provides a control plane device, including a memory, a transceiver, and a processor; A memory for storing computer programs; a transceiver for sending and receiving data under the control of the processor; and a processor for reading the computer programs from the memory and performing the following operations: Based on the business logic required to be processed by the user plane device, one or more flow table entry groups and the priority range of each flow table entry group are determined; wherein, the priority ranges of different flow table entry groups are different. Flow table entries are managed based on the aforementioned flow table entry groups.

[0008] Fourthly, this application also provides a user plane device, including a memory, a transceiver, and a processor; A memory for storing computer programs; a transceiver for sending and receiving data under the control of the processor; and a processor for reading the computer programs from the memory and performing the following operations: Receive attribute information of one or more flow table entry groups sent by a control plane device, the attribute information including priority range; wherein, different flow table entry groups have different priority ranges; Flow table entry groups are created based on the attribute information of the flow table entry groups.

[0009] Fifthly, this application also provides an apparatus for managing flow table entries, applied to a control plane device, the apparatus comprising: The determining unit is configured to determine one or more flow table entry groups and the priority range of each flow table entry group based on the service logic to be processed by the user plane device; wherein, the priority ranges of different flow table entry groups are different. The management unit is used to manage flow table entries based on the flow table entry group.

[0010] Sixthly, this application also provides an apparatus for managing flow table entries, applied to a user plane device, the apparatus comprising: The receiving unit is configured to receive attribute information of one or more flow table entry groups sent by the control plane device, wherein the attribute information includes a priority range; wherein, different flow table entry groups have different priority ranges. The processing unit is used to create a flow table entry group based on the attribute information of the flow table entry group.

[0011] In a seventh aspect, this application also provides a non-transient readable storage medium storing a program for causing a processor to execute the method for managing flow table entries as described in the first aspect, or the method for managing flow table entries as described in the second aspect.

[0012] Eighthly, this application also provides a communication device storing a program for causing the communication device to perform the method for managing flow table entries as described in the first aspect, or the method for managing flow table entries as described in the second aspect.

[0013] Ninthly, this application also provides a processor-readable storage medium storing a program for causing a processor to perform the method for managing flow table entries as described in the first aspect, or the method for managing flow table entries as described in the second aspect.

[0014] In a tenth aspect, this application also provides a chip including a processor coupled to a memory for executing a computer program or instructions stored in the memory, wherein when the processor executes the computer program or instructions, it performs the method for managing flow table entries as described in the first aspect, or performs the method for managing flow table entries as described in the second aspect.

[0015] Eleventhly, this application also provides a computer program product comprising a computer program or instructions that, when executed on a computer, cause the computer to perform the method for managing flow table entries as described in the first aspect, or the method for managing flow table entries as described in the second aspect.

[0016] The method, apparatus, device, and storage medium for managing flow entries provided in this application determine one or more flow entry groups and the priority range of each flow entry group according to the service logic to be processed by the user plane device. This grouping and management of numerous flow entries in the flow entry space effectively plans the priority range of each flow entry group, enabling various flow entries to coordinate effectively and ensuring the correct implementation of various network service logics. Furthermore, by managing flow entries in groups, the complexity of service logic control in the flow entry space of the programmable network can be significantly reduced, which helps to reduce the workload of flow entry calculation on the control plane and the signaling overhead on the southbound interface, thereby improving the stability of system operation. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 A schematic diagram of a network architecture for network programmable or SDN technologies provided for related technologies; Figure 2A schematic diagram of the multi-level flow table processing procedure provided for related technologies; Figure 3 One of the flowcharts illustrating a method for managing flow table entries provided in an embodiment of this application; Figure 4 This is a schematic diagram illustrating the priority range of flow table entry groups provided in an embodiment of this application. Figure 5 A flowchart for establishing the flow table entry group provided in the embodiments of this application; Figure 6 A flowchart illustrating the control plane device sending flow table entries provided in this application embodiment; Figure 7 This is a flowchart illustrating the group attribute modification process provided in an embodiment of this application. Figure 8 Example diagram of flow table entry group priority range adjustment provided in the embodiments of this application; Figure 9 Example diagram of flow table entry modification provided in the embodiments of this application; Figure 10 Example diagram of a blocking flow table entry provided in an embodiment of this application; Figure 11 Example diagram of unblocking flow table entries provided in the embodiments of this application; Figure 12 A flowchart for deleting a flow table entry group provided in an embodiment of this application; Figure 13 A flowchart for notification of priority modification of flow table entry groups provided in this application embodiment; Figure 14 A second flowchart illustrating the method for managing flow table entries provided in this application embodiment; Figure 15 This is a schematic diagram of the structure of the control surface device provided in the embodiments of this application; Figure 16 This is a schematic diagram of the user plane device provided in an embodiment of this application; Figure 17 One of the structural schematic diagrams of a device for managing flow table entries provided in an embodiment of this application; Figure 18 A second schematic diagram of the structure of the device for managing flow table entries provided in the embodiments of this application; Figure 19 This is a schematic diagram of the chip system provided in an embodiment of this application. Detailed Implementation

[0019] In the embodiments of this application, the term "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0020] In the embodiments of this application, the term "multiple" refers to two or more, and other quantifiers are similar.

[0021] In the embodiments of this application, the terms "first," "second," etc., are used to distinguish similar objects, and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, and the number of objects is not limited; for example, the first object can be one or more.

[0022] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0023] To facilitate a clearer understanding of the technical solutions of the various embodiments of this application, some technical content related to the various embodiments of this application will be introduced first.

[0024] 1. Network architecture using network programmable or software-defined networking (SDN) technologies. Network programmable technology, or SDN technology, mainly includes the separation of the control plane and the user plane, centralized control and scheduling of network resources, and open programmability. Figure 1 Network architecture diagrams for network programmable or SDN technologies provided for related technologies, such as Figure 1 As shown, the network architecture is mainly divided into three layers: Application Layer, Control Layer, and Infrastructure Layer. Figure 1 In this context, API refers to Application Programming Interface, and OpenFlow refers to the OpenFlow protocol.

[0025] Network devices in programmable networks include OpenFlow switches, P4 switches, etc. More broadly, network devices can include all forwarding devices whose forwarding rules are controlled by a programmable network controller.

[0026] 2. Flow table forwarding mechanism in SDN networks In SDN or OpenFlow networks, the control plane and user plane are separated. Control plane nodes are SDN or OpenFlow controllers, responsible for network topology calculation, network status monitoring, path calculation, and path rule generation. User plane nodes are called SDN switches, responsible for forwarding data based on entries in the flow tables. Communication between the controllers and switches uses southbound interface protocols (such as the OpenFlow protocol) for distributing flow rules, reporting packets, and reporting network status and traffic statistics.

[0027] The data forwarding mechanism in SDN networks differs from that in traditional Internet Protocol (IP) networks. In the SDN domain, SDN switches strictly process packets according to flow table entries. Typical flow table entries include fields such as Match Fields, Priority, Counters, Instructions, and Timeouts.

[0028] When a switch receives a data packet, it first parses the packet header information and matches it in the flow table according to the priority of the flow table entries from high to low. If the packet header information matches a certain flow table entry, it will not attempt to match subsequent flow table entries, but will execute the action indicated by the instruction set of that flow table entry to process the packet. If the packet header information fails to match any flow table entries, the SDN switch will discard the packet or execute the action indicated by the instruction set of the table-miss flow table entry (if it exists).

[0029] SDN switches also support multi-level flow table forwarding. Figure 2 This diagram illustrates the multi-level flow table processing procedure for related technologies. A network switch can support multiple flow tables, each with a sequence number. These flow tables can exchange information via metadata. Data packets are matched across multiple flow tables using a jump command (goto_table) in ascending order of flow table sequence number, achieving pipelined processing. Figure 2As shown, after a data packet enters the switch from the input port, the system appends the port number and initial metadata (such as a timestamp). Then, flow table entries are matched in flow table 0. When multi-level flow tables are supported, the system jumps to subsequent flow tables for matching based on the matching results of the previous level. Each flow table executes instructions based on the matching field, dynamically updating the action set (such as forwarding or modifying the packet header) and metadata (such as traffic labels), and jumps to subsequent flow tables via jump instructions. After all flow table matching is completed, the action sets are integrated according to priority (such as dropping, overwriting, and forwarding), and finally, the actions of the action set are executed to output the data packet. In multi-level flow tables, each level of flow table follows the above order of parsing, matching, and processing to process the current data packet.

[0030] Figure 3 This is one of the flowcharts illustrating a method for managing flow table entries provided in an embodiment of this application. This method is applied to a control plane device, such as... Figure 3 As shown, the method includes the following steps 301 and 302.

[0031] Step 301: Based on the business logic that the user plane device needs to process, determine one or more flow table entry groups and the priority range of each flow table entry group; wherein, the priority range of different flow table entry groups is different.

[0032] Step 302: Manage flow table entries based on flow table entry groups.

[0033] Specifically, in a programmable network, the control plane and user plane are separated. Control plane devices refer to the control plane nodes in a programmable network, such as SDN controllers. User plane devices refer to the user plane nodes in a programmable network, that is, forwarding devices whose forwarding rules are controlled by the control plane devices, such as SDN switches.

[0034] In this application, the term "programmable network" may be used interchangeably with "SDN network" or "OpenFlow network".

[0035] To effectively manage flow entries, this application proposes the concept of flow entry groups. The control plane device can define several flow entry groups according to the needs of business logic. For example, different flow entry groups can be divided according to the type and purpose of business logic. The priority range of each flow entry group is specified, and the priority of each flow entry belonging to the same flow entry group does not exceed the priority range of that group.

[0036] Figure 4 This is a schematic diagram illustrating the priority range of flow table entry groups provided in an embodiment of this application, such as... Figure 4 As shown, different flow table entry groups have different priority ranges. Usually, the priority ranges of each flow table entry group do not overlap, but this application does not exclude overlap in special cases.

[0037] It should be noted that, in some embodiments, the control plane device can send relevant information about the flow table entry group to the user plane device, and the user plane device can then create the flow table entry group on its side based on this information. In some embodiments, the control plane device may only use the flow table entry group on its side, without requiring the user plane device to know about and / or process the flow table entry group.

[0038] The method for managing flow entries provided in this application determines one or more flow entry groups and the priority range of each flow entry group based on the service logic to be processed by the user plane device. This grouping and managing numerous flow entries in the flow entry space effectively plans the priority range of each flow entry group, enabling various flow entries to coordinate effectively. This ensures the correct implementation of various network service logics. Furthermore, by managing flow entries in groups, the complexity of service logic control in the flow entry space of the programmable network can be significantly reduced. This helps to reduce the workload of flow entry calculation on the control plane and the signaling overhead on the southbound interface, thereby improving the stability of system operation.

[0039] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Send attribute information for one or more flow table entry groups to the user plane device. The attribute information includes the priority range.

[0040] Specifically, after the control plane device determines the flow table entry group, it can send the flow table entry group's attribute information to the user plane device. This attribute information includes a priority range. In some implementations, this attribute information is the priority range. The specific method of sending this attribute information is not limited here; it can be sent through existing messages, through a message specific to the flow table entry group, or through the management plane to the user plane device, etc.

[0041] After receiving the attribute information of the flow table entry group, the user plane device establishes the flow table entry group based on the information, such as recording the priority range of the flow table entry group and establishing the corresponding context.

[0042] By sending the attribute information of the flow table entry group to the user plane device, the flow table entry group can be established on the user plane device, which can further improve the efficiency of flow table entry management.

[0043] In some embodiments, the attribute information may also include a group identifier and / or a default priority within the group.

[0044] Specifically, after the control plane device determines the flow table entry group, it can also assign attributes such as group identifier and default priority within the group to the flow table entry group, and send these attribute information to the user plane device, which is conducive to more effective management of various flow table entries.

[0045] Here, the group identifier refers to the identifier of the flow table entry group, and the default priority within the group refers to the default priority of the flow table entry within the flow table entry group. For example, if the priority of the flow table entry is not specified, the default priority within the flow table entry group to which the flow table entry belongs can be used as the priority of the flow table entry.

[0046] In some embodiments, sending attribute information of one or more flow table entry groups to the user plane device includes: Send a first message to the user plane device. The first message contains attribute information for one or more flow table entry groups.

[0047] The first message can be a message used to create or add flow table entry groups, such as a flow table entry group creation message or other similar messages.

[0048] Figure 5 A flowchart is established for the flow table entry group provided in the embodiments of this application, such as... Figure 5 As shown, the control plane device first defines one or more flow table entry groups and determines their priority ranges. Then, it sends a flow table entry group establishment message to the user plane device. This message carries the attribute information of the flow table entry group, including its priority range and group identifier. Upon receiving this message, the user plane device processes the flow table entry group information, such as recording the group identifier and priority range, and establishing the corresponding context. In some implementations, the user plane device may return an acknowledgment message to the control plane device.

[0049] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Based on the business logic corresponding to the flow table entry, determine the flow table entry group to which the flow table entry belongs; Send flow table entries and related information to the user plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information to indicate the priority of the flow table entry.

[0050] Specifically, after the control plane device determines the flow table entry group, it can determine the flow table entry group to which each flow table entry belongs based on the business logic corresponding to each flow table entry (such as the type and purpose of the business logic represented by the flow table entry), and send the flow table entries to the user plane device.

[0051] In some embodiments, the control plane device can determine the priority of a flow entry based on the flow entry group to which it belongs. For example, the default priority within the flow entry group to which the flow entry belongs can be used as the priority of the flow entry. Alternatively, if the flow entry group further includes subgroups, the control plane device can determine the subgroup to which the flow entry belongs and use the default priority within the subgroup as the priority of the flow entry. Or, the control plane device can first determine the priority within the flow entry group, for example, by selecting an appropriate priority within the flow entry group based on the priority relationship with other flow entries in the same group. The priority of a flow entry can be obtained by adding the lowest priority of the flow entry group to which the flow entry belongs. For example, assuming the priority within the flow entry group is n and the lowest priority of the flow entry group to which the flow entry belongs is m, then the priority of the flow entry can be p = m + n.

[0052] When a control plane device sends a flow table entry to a user plane device, it can send relevant information about the flow table entry to the user plane device, such as the identifier information of the flow table entry group to which the flow table entry belongs, and indication information indicating the priority of the flow table entry. In some embodiments, the above-mentioned flow table entry and related information can be carried through an existing message for sending flow table entries, or through other messages (such as a first message), which is not limited here.

[0053] In some embodiments, the identification information of a flow table entry group may be a group identifier or a priority range of the flow table entry group.

[0054] The indication information used to indicate the priority of the flow table entry (or the priority indication information of the flow table entry) is not specifically limited here. For example, the indication information can be the priority value, or the priority within the group, or the offset value relative to the default priority within the group, or the offset value relative to the lowest priority in the group, or an identifier representing different priority determination methods (such as using the default priority within the group, or increasing or decreasing the priority based on the default priority within the group, etc.), or other indication information that can indicate the priority.

[0055] It should be noted that the above-mentioned flow table entry information may or may not be included in the flow table entry, and this is not limited here.

[0056] In some embodiments, the control plane device may not send the identification information of the flow table entry group to which the flow table entry belongs to the user plane device. The user plane device determines the flow table entry group to which the flow table entry belongs based on the priority range of which flow table entry group the flow table entry's priority falls within.

[0057] In some embodiments, the control plane device may not explicitly indicate the priority of a flow table entry to the user plane device. Instead, the user plane device uses the default priority within the flow table entry group or subgroup to which the flow table entry belongs as the priority of the flow table entry.

[0058] Figure 6 A flowchart of the control plane device sending flow table entries provided in the embodiments of this application is shown below. Figure 6 As shown, the control plane device can first determine which flow table entry group a flow table entry belongs to based on the type and purpose of the business logic it represents (denoted as m, the lowest priority of the group). Then, based on the priority relationship with other flow table entries in the same group, it selects an appropriate intra-group priority for the flow table entry within the priority range of the flow table entry group (denoted as n, its intra-group priority). Next, the control plane device determines the priority of the flow table entry based on the priority range of the flow table entry group and the intra-group priority of the flow table entry. Then, the control plane device sends the flow table entry to the user plane device, containing the group identifier of the flow table entry group and the priority indication information of the flow table entry. The user plane device receives, processes, and deploys the flow table entry. In some implementations, the user plane device can return an acknowledgment message to the control plane device.

[0059] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Determine which group of attributes in the first stream table entry group will be modified; Send a second message to the user plane device. The second message contains the identification information of the first flow table entry group, the first set of attributes, and the target information for modifying the first set of attributes.

[0060] Specifically, the first flow table entry group can be any one or more flow table entry groups whose group attributes need to be modified, and the first group attribute can be any one or more group attributes that need to be modified.

[0061] Group attributes refer to the attributes of a flow table entry group, such as priority range and default priority within the group.

[0062] The second message can be a message used to modify information related to a flow table entry group, such as a flow table entry group modification message, a flow table entry group attribute modification message, or other similar messages.

[0063] It should be noted that in the various embodiments of this application, the first message, the second message, the third message, the fourth message, the fifth message, and the sixth message can be different messages, or at least two of the first message, the second message, the third message, the fourth message, the fifth message, and the sixth message can be the same message. For example, the control plane device sends a message to the user plane device. This message not only carries information related to establishing some flow table entry groups (the information content carried by the first message), but also carries information related to modifying the group attributes of other flow table entry groups (the information content carried by the second message).

[0064] If the control plane device needs to modify the first set of attributes of the first flow entry group, it can send a second message to the user plane device. The message carries the identification information of the first flow entry group, the first set of attributes, and the target information for modifying the first set of attributes. The target information may be, for example, the new value of the first set of attributes or the indication information of the new value.

[0065] In some embodiments, the second message may also carry the original value of the first set of attributes, which refers to the value before the modification and the new value refers to the value after the modification.

[0066] Based on the second message, the user plane device can modify the value of the first group of attributes in the first stream table entry group.

[0067] Figure 7 The flowchart for modifying group attributes provided in the embodiments of this application is as follows: Figure 7 As shown, when a control plane device needs to modify the group attributes of a flow table entry group (e.g., modify the priority range of the group), it can send a flow table entry group modification message to the user plane device. This message carries information such as the group identifier of the flow table entry group, the group attributes to be modified and their new values, and the original values ​​of the group attributes to be modified. The user plane device then modifies the group attributes of the flow table entry group based on this message. In some implementations, the user plane device can return an acknowledgment message to the control plane device.

[0068] Figure 8 Example diagram of flow table entry group priority range adjustment provided in the embodiments of this application, such as Figure 8 As shown, when the control plane device needs to batch increase or decrease the priority order among various flow table entry groups, it can send the identification information of the flow table entry groups and the target range to which the priorities need to be adjusted to to the user plane device. (This range can be a relative value (priority increases or decreases by a specified value), an absolute value (priority range is adjusted to x~y), or a relative relationship between groups (the priority range is adjusted to be between flow table entry group B and flow table entry group C, which may lead to adaptation modifications to the priority range or lowest priority of flow table entry groups such as flow table entry group B and flow table entry group C)). The user plane device can batch modify the priorities of all flow table entries in the flow table entry group while maintaining the relative priority order within the group.

[0069] Figure 8 In the diagram, the control plane device instructs the user plane device to move flow table group B entirely along the priority axis between flow table group C and flow table group D. Since the distance between flow table group C and flow table group D is insufficient to accommodate flow table group B, the user plane device can, after calculating feasibility, move flow table group C entirely to the left to the flow table group shown in the diagram. Position, and move flow table entry group B to the flow table entry group. The position is determined to complete the overall priority adjustment of the flow table item group.

[0070] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Determine whether to modify the attributes of the first flow entry in all flow entries within the second flow entry group; A third message is sent to the user plane device. The third message contains the identification information of the second flow entry group, the attributes of the first flow entry, and the target information for modifying the attributes of the first flow entry.

[0071] Specifically, the second flow table entry group can be any one or more flow table entry groups that need to have their flow table entry attributes modified in batches, and the first flow table entry attribute can be any one or more flow table entry attributes that need to be modified.

[0072] Flow entry attributes refer to the properties of a flow entry, such as the matching field, priority, instruction, expiration time, etc.

[0073] It should be noted that in the various embodiments of this application, the first flow table entry group, the second flow table entry group, the third flow table entry group, and the fourth flow table entry group can be the same flow table entry group or different flow table entry groups, and this application does not impose any limitations.

[0074] The third message can be a message used to modify information related to a flow table entry, such as a flow table entry modification message, a flow table entry attribute modification message, or other similar messages.

[0075] If the control plane device needs to modify the first flow entry attribute of all flow entries in the second flow entry group, it can send a third message to the user plane device. The message carries the identification information of the second flow entry group, the first flow entry attribute, and the target information for modifying the first flow entry attribute. The target information may be, for example, the new value of the first flow entry attribute or an indication of the new value.

[0076] Based on the third message, the user plane device can modify the value of the first flow entry attribute of all flow entries in the second flow entry group.

[0077] For example, when a control plane device determines that it needs to modify the same attribute of each flow entry belonging to a flow entry group (e.g., adding the matching condition "Source IP belongs to a specified network segment" to the matching field of a flow entry), it can send a third message to the user plane device. The message carries the identification information of the flow entry group, the attribute to be modified, and the new value, etc. The user plane device can then batch modify the content of all flow entries in the flow entry group.

[0078] The requirements exemplified above may arise in certain scenarios, such as: in mobile networks, it is necessary to divert data streams other than some user terminals (such as premium user terminals, whose IP addresses belong to a specific network segment) to specific paths in order to ensure the user experience of premium users. Figure 9Example diagram of flow table entry modification provided in the embodiments of this application, such as Figure 9 As shown, in the mobile network, all data streams other than those from premium user terminals need to be diverted to specific paths to ensure a good user experience for premium users. The user plane device can, under the instruction of the control plane device, modify the original flow table entry group (flow table entry group B in the diagram, denoted as flow table entry group after modification). Add an IP address matching condition and add a new group with a lower priority than flow table entry group B (flow table entry group C in the figure). The execution condition after a successful match (meaning that the packet belongs to other users who are not gold users) is to redirect the data flow to a specific path, thereby completing the predetermined diversion target.

[0079] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Generate one or more first flow entries as needed to block flow entries and / or groups of flow entries; Send one or more first-flow entries to the user plane device.

[0080] Specifically, the first flow table entry refers to the flow table entry that blocks other flow table entries; it can be called a blocking flow table entry. There can be one or more first flow table entries. Blocking can also be described as disabling.

[0081] For flow table entries that need to be blocked, the first flow table entry has a higher priority than the flow table entries that need to be blocked. For a group of flow table entries that need to be blocked, the first flow table entry has a higher priority than the highest priority of the group of flow table entries that need to be blocked.

[0082] The matching condition for the first flow entry can be an all-match, meaning blocking all flow entries (groups) with a priority lower than the first flow entry, or it can be matching a specified field (the matching condition for the flow entry and / or flow entry group to be blocked includes the specified field, which can be one or more fields). This is equivalent to selectively discarding those packets that would normally be processed by the specified flow entry and / or flow entry group. For example, for a specific business type (such as web business), a normal flow entry needs to match a specific source and destination address and port number (such as port 80), while the first flow entry can only match the port number (such as port 80).

[0083] The description of the first-order entries above applies to all embodiments of this application and will not be repeated hereafter.

[0084] In this embodiment, the control plane device can generate one or more first flow entries based on the flow entries and / or groups of flow entries that need to be blocked. After the user plane device receives the first flow entry and deploys it, it can achieve the effect of blocking the aforementioned flow entries and / or groups of flow entries that need to be blocked.

[0085] In some embodiments, flow table entry management is performed based on flow table entry groups, including: A fourth message is sent to the user plane device as needed to block flow table entries and / or groups of flow table entries. The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

[0086] Specifically, in this embodiment, the control plane device may not generate a first flow table entry to send to the user plane device. Instead, it may send a fourth message to the user plane device as needed to block flow table entries and / or flow table entry groups. This message carries one or more pieces of information. The user plane device blocks the aforementioned flow table entries and / or flow table entry groups that need to be blocked based on the one or more pieces of information. The specific blocking method may be to directly disable the flow table entries and / or flow table entry groups that need to be blocked, or to generate a first flow table entry to achieve the blocking effect.

[0087] The fourth message can be a message used to block flow table entries and / or groups of flow table entries, such as a blocking instruction or a message for other similar purposes.

[0088] For example, the fourth message carries identification information for one or more flow table entries. These one or more flow table entries can be flow table entries that need to be blocked, or the highest-priority flow table entry among those that need to be blocked. Based on the identification information of the flow table entries carried in the fourth message, the user plane device determines whether to block the flow table entry corresponding to the identification information, or to block the flow table entry corresponding to the identification information and all flow table entries with a priority lower than or equal to that of the flow table entry corresponding to the identification information.

[0089] For example, the fourth message carries identification information for one or more flow table entry groups. These flow table entry groups can be flow table entry groups that need to be blocked, or the highest-priority flow table entry group among those that need to be blocked. Based on the identification information of the flow table entry groups carried in the fourth message, the user plane device determines whether to block the flow table entry group corresponding to the identification information, or to block the flow table entry group corresponding to the identification information and all flow table entry groups with a highest priority lower than or equal to the flow table entry group corresponding to the identification information.

[0090] For example, the fourth message may carry matching condition information for the first flow entry. This matching condition information indicates the matching conditions for the first flow entry, which can be found in the previous description and will not be repeated here. Alternatively, the fourth message may not carry the matching condition information for the first flow entry, and the user plane device may determine the matching conditions for the first flow entry based on the flow entries and / or groups of flow entries that need to be blocked.

[0091] For example, the fourth message may carry priority information for the first flow entry. This priority information indicates the priority of the first flow entry, which can be found in the previous description and will not be repeated here. Alternatively, the fourth message may not carry priority information for the first flow entry, allowing the user plane device to determine the priority of the first flow entry based on the flow entries and / or groups of flow entries that need to be blocked.

[0092] For example, the fourth message can carry all the information of the first-order entry, and the user plane device can directly generate the first-order entry based on this information.

[0093] Figure 10 Example diagram of a blocking flow table entry provided in an embodiment of this application, such as Figure 10 As shown, the control plane device can issue a command (fourth message) to the user plane device to block lower-priority flow table entry groups. The command includes the highest-priority flow table entry group to be blocked (e.g., ...). Figure 10 The user plane device can achieve the blocking effect by generating and using one or more fully matched flow table entries (called blocking flow table entries) with appropriate priorities, based on the identification information of flow table entry group B in the flow table.

[0094] In some embodiments, flow table entry management is performed based on flow table entry groups, including: As needed, unblock the flow table entries and / or groups of flow table entries, and send a fifth message to the user plane device. The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

[0095] Specifically, when a control plane device needs to unblock some or all of the blocked flow table entries (groups), it sends a fifth message to the user plane device, carrying one or more pieces of information. The user plane device then unblocks the aforementioned flow table entries and / or flow table entry groups based on this information. Unblocking can also be described as enabling. The specific method for unblocking can be either directly enabling the flow table entries and / or flow table entry groups that need to be unblocked, or deleting one or more first flow table entries to achieve the unblocking effect.

[0096] The fifth message can be a message used to unblock flow table entries and / or groups of flow table entries, such as an unblocking command or a message for other similar purposes.

[0097] For example, the fifth message carries identification information for one or more flow table entries. These one or more flow table entries can be flow table entries that need to be unblocked, or the lowest priority flow table entry among those that need to be unblocked, or one or more of the first flow table entries previously sent by the control plane device. Based on the identification information of the flow table entries carried in the fifth message, the user plane device determines whether to unblock the flow table entry corresponding to the identification information, or to unblock the flow table entry corresponding to the identification information and all flow table entries with a priority higher than or equal to that of the flow table entry corresponding to the identification information, or to delete the first flow table entry corresponding to the identification information.

[0098] For example, the fifth message carries identification information for one or more flow table entry groups. These flow table entry groups can be flow table entry groups that need to be unblocked, or the lowest priority flow table entry group among those that need to be unblocked. Based on the identification information of the flow table entry groups carried in the fifth message, the user plane device determines whether to unblock the flow table entry group corresponding to the identification information, or to unblock the flow table entry group corresponding to the identification information and all flow table entry groups with a lowest priority higher than or equal to the flow table entry group corresponding to the identification information.

[0099] In some implementations, the fifth message may not carry any identifier information for a flow table entry or flow table entry group, indicating that all blocked flow table entries or flow table entry groups have been unblocked.

[0100] In some implementations, when the user plane device deletes one or more first-flow entries, it is also necessary to generate one or more additional first-flow entries with appropriate priority to achieve the effect of unblocking.

[0101] Figure 11 Example diagram of unblocking flow table entries provided in the embodiments of this application, such as Figure 11 As shown, the control plane device can issue a command (fifth message) to the user plane device to unblock all or part of the blocked flow table entry groups. The command contains the identifier of the flow table entry group that needs to be unblocked. The user plane device can achieve the unblocking effect by deleting all or part of the first flow table entries and generating and using one or more first flow table entries with appropriate priority when needed.

[0102] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Confirm the deletion of the third-flow table entry group; Send a sixth message to the user plane device. The sixth message contains the identification information of the third flow table entry group.

[0103] Specifically, the third flow table entry group can be any one or more flow table entry groups that need to be deleted, and the sixth message can be a message used to delete the flow table entry group, such as a flow table entry group deletion message or other similar messages.

[0104] If a control plane device needs to delete a third flow table entry group, it can send a sixth message to the user plane device, carrying the identification information of the third flow table entry group in the message. Based on the sixth message, the user plane device can delete the third flow table entry group and all flow table entries within that group.

[0105] Figure 12 The flowchart for deleting a flow table entry group provided in the embodiments of this application is as follows: Figure 12 As shown, when a control plane device needs to delete one or more flow table entry groups, it can send a flow table entry group deletion message to the user plane device. This message carries the group identifier of the flow table entry group. The user plane device deletes the relevant flow table entry group and all flow table entries belonging to that group based on this message. In some implementations, the user plane device can return an acknowledgment message to the control plane device.

[0106] In some embodiments, a flow table entry group includes one or more subgroups, and the priority range of each subgroup is within the priority range of the flow table entry group.

[0107] Specifically, in this application, flow table entry groups are allowed to be nested. One or more subgroups can be nested within a flow table entry group. The priority range constraints of each subgroup can be the same as or different from those of the parent group, but do not exceed the priority range of the parent group.

[0108] In some implementations, the subgroup attributes can reflect the correspondence with the parent group, such as including the parent group identifier in the subgroup attributes, so that the user plane device can perform corresponding checks.

[0109] In some embodiments, the user plane device may send a notification message to the control plane device when it actively modifies the priority range of the fourth flow entry group or according to instructions from the management plane device. The notification message is used to notify that the priority range of the fourth flow entry group has changed. Upon receiving the notification message, the control plane device can determine that the priority range of the fourth flow entry group has changed, thereby ensuring the accuracy of flow entry management.

[0110] The fourth flow table entry group can be any one or more flow table entry groups that have undergone priority range modification.

[0111] Figure 13 The flowchart for the flow table entry group priority modification notification provided in the embodiments of this application is as follows: Figure 13 As shown, user plane devices can proactively modify the priority range for certain flow table entry groups, or initiate modifications to the priority range of certain flow table entry groups based on management plane instructions. Such modifications are usually manifested as modifications to the lowest priority.

[0112] The user plane device can notify the control plane device of the aforementioned modifications before or after they are executed. For example, Figure 8 Adaptation modifications for the flow table entry group C.

[0113] In some implementations, after a user plane device initiates a modification to the priority range of certain flow table entry groups based on a management plane instruction, the user plane device can return an acknowledgment message to the management plane device.

[0114] Figure 14 This is a second flowchart illustrating a method for managing flow table entries provided in an embodiment of this application. This method is applied to user plane devices, such as... Figure 14 As shown, the method includes the following steps 1401 and 1402.

[0115] Step 1401: Receive attribute information of one or more flow table entry groups sent by the control plane device. The attribute information includes priority range; wherein, the priority range of different flow table entry groups is different.

[0116] Step 1402: Create flow table entry groups based on the attribute information of the flow table entry groups.

[0117] Specifically, in a programmable network, the control plane and user plane are separated. Control plane devices refer to the control plane nodes in a programmable network, such as SDN controllers. User plane devices refer to the user plane nodes in a programmable network, that is, forwarding devices whose forwarding rules are controlled by the control plane devices, such as SDN switches.

[0118] To effectively manage flow entries, this application proposes the concept of flow entry groups. The control plane device can define several flow entry groups according to the needs of business logic. For example, different flow entry groups can be divided according to the type and purpose of business logic. The priority range of each flow entry group is specified, and the priority of each flow entry belonging to the same flow entry group does not exceed the priority range of that group.

[0119] It should be noted that, in some embodiments, the control plane device can send relevant information about the flow table entry group to the user plane device, and the user plane device can then create the flow table entry group on its side based on this information. In some embodiments, the control plane device may only use the flow table entry group on its side, without requiring the user plane device to know about and / or process the flow table entry group.

[0120] The method for managing flow entries provided in this application sends attribute information of one or more flow entry groups to a user plane device through a control plane device. This attribute information includes a priority range. The user plane device establishes flow entry groups based on this attribute information, which can further improve the efficiency of flow entry management. Furthermore, by managing flow entries in groups, the complexity of service logic control in the flow entry space of a programmable network can be significantly reduced. This helps to reduce the workload of flow entry calculation on the control plane and the signaling overhead on the southbound interface, thereby improving the stability of system operation.

[0121] In some embodiments, receiving attribute information of one or more flow table entry groups sent by the control plane device includes: Receive the first message sent by the control plane device. The first message contains attribute information of one or more flow table entry groups.

[0122] The first message can be a message used to create or add flow table entry groups, such as a flow table entry group creation message or other similar messages. After receiving the first message, the user plane device creates a flow table entry group based on the information carried in the message, such as recording the priority range of the flow table entry group and establishing the corresponding context.

[0123] In some embodiments, the method further includes: Receive flow table entries and related information sent by the control plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information used to indicate the priority of the flow table entry. Based on the relevant information of the flow table entry, determine the flow table entry group to which the flow table entry belongs and the priority of the flow table entry.

[0124] Specifically, after the control plane device determines the flow table entry group, it can determine the flow table entry group to which each flow table entry belongs based on the business logic corresponding to each flow table entry (such as the type and purpose of the business logic represented by the flow table entry), and send the flow table entries to the user plane device.

[0125] In some embodiments, the control plane device can determine the priority of a flow entry based on the flow entry group to which it belongs. For example, the default priority within the flow entry group to which the flow entry belongs can be used as the priority of the flow entry. Alternatively, if the flow entry group further includes subgroups, the control plane device can determine the subgroup to which the flow entry belongs and use the default priority within the subgroup as the priority of the flow entry. Or, the control plane device can first determine the priority within the flow entry group, for example, by selecting an appropriate priority within the flow entry group based on the priority relationship with other flow entries in the same group. The priority of a flow entry can be obtained by adding the lowest priority of the flow entry group to which the flow entry belongs. For example, assuming the priority within the flow entry group is n and the lowest priority of the flow entry group to which the flow entry belongs is m, then the priority of the flow entry can be p = m + n.

[0126] When a control plane device sends a flow table entry to a user plane device, it can send relevant information about the flow table entry to the user plane device, such as the identifier information of the flow table entry group to which the flow table entry belongs, and indication information to indicate the priority of the flow table entry.

[0127] In some embodiments, the identification information of a flow table entry group may be a group identifier or a priority range of the flow table entry group.

[0128] The indication information used to indicate the priority of the flow table entry (or the priority indication information of the flow table entry) is not specifically limited here. For example, the indication information can be the priority value, or the priority within the group, or the offset value relative to the default priority within the group, or the offset value relative to the lowest priority in the group, or an identifier representing different priority determination methods (such as using the default priority within the group, or increasing or decreasing the priority based on the default priority within the group, etc.), or other indication information that can indicate the priority.

[0129] It should be noted that the above-mentioned flow table entry information may or may not be included in the flow table entry, and this is not limited here.

[0130] In some embodiments, the control plane device may not send the identification information of the flow table entry group to which the flow table entry belongs to the user plane device. The user plane device determines the flow table entry group to which the flow table entry belongs based on the priority range of which flow table entry group the flow table entry's priority falls within.

[0131] In some embodiments, the control plane device may not explicitly indicate the priority of a flow table entry to the user plane device. Instead, the user plane device uses the default priority within the flow table entry group or subgroup to which the flow table entry belongs as the priority of the flow table entry.

[0132] In some embodiments, the method further includes: Receive a second message sent by the control plane device. The second message contains the identification information of the first flow table entry group, the first set of attributes, and the target information for modifying the first set of attributes. Based on the second message, modify the first set of attributes of the first stream table entry group.

[0133] Specifically, the first flow table entry group can be any one or more flow table entry groups whose group attributes need to be modified, and the first group attribute can be any one or more group attributes that need to be modified.

[0134] The second message can be a message used to modify information related to a flow table entry group, such as a flow table entry group modification message, a flow table entry group attribute modification message, or other similar messages.

[0135] If the control plane device needs to modify the first set of attributes of the first flow entry group, it can send a second message to the user plane device. The message carries the identification information of the first flow entry group, the first set of attributes, and the target information for modifying the first set of attributes. The target information may be, for example, the new value of the first set of attributes or the indication information of the new value.

[0136] In some embodiments, the second message may also carry the original values ​​of the first set of attributes.

[0137] Based on the second message, the user plane device can modify the value of the first group of attributes in the first stream table entry group.

[0138] In some embodiments, the method further includes: Receive a third message sent by the control plane device. The third message contains the identification information of the second flow entry group, the attributes of the first flow entry, and the target information for modifying the attributes of the first flow entry. Based on the third message, modify the first flow entry attributes of all flow entries within the second flow entry group.

[0139] Specifically, the second flow table entry group can be any one or more flow table entry groups that need to have their flow table entry attributes modified in batches, and the first flow table entry attribute can be any one or more flow table entry attributes that need to be modified.

[0140] The third message can be a message used to modify information related to a flow table entry, such as a flow table entry modification message, a flow table entry attribute modification message, or other similar messages.

[0141] If the control plane device needs to modify the first flow entry attribute of all flow entries in the second flow entry group, it can send a third message to the user plane device. The message carries the identification information of the second flow entry group, the first flow entry attribute, and the target information for modifying the first flow entry attribute. The target information may be, for example, the new value of the first flow entry attribute or an indication of the new value.

[0142] Based on the third message, the user plane device can modify the value of the first flow entry attribute of all flow entries in the second flow entry group.

[0143] In some embodiments, the method further includes: Receive the fourth message sent by the control plane device; The fourth message blocks flow table entries and / or groups of flow table entries; The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

[0144] Specifically, in this embodiment, the control plane device may not generate a first flow table entry to send to the user plane device. Instead, it may send a fourth message to the user plane device as needed to block flow table entries and / or flow table entry groups. This message carries one or more pieces of information, and the user plane device blocks the aforementioned flow table entries and / or flow table entry groups as needed based on the one or more pieces of information.

[0145] In some embodiments, blocking flow table entries and / or groups of flow table entries according to a fourth message includes: One or more first flow table entries are generated based on the fourth message, and flow table entries and / or groups of flow table entries are blocked based on one or more first flow table entries.

[0146] In this embodiment of the application, the blocking method can be to directly disable the flow table entry and / or flow table entry group that needs to be blocked, or to generate the first flow table entry to achieve the blocking effect.

[0147] The fourth message can be a message used to block flow table entries and / or groups of flow table entries, such as a blocking instruction or a message for other similar purposes.

[0148] For example, the fourth message carries identification information for one or more flow table entries. These one or more flow table entries can be flow table entries that need to be blocked, or the highest-priority flow table entry among those that need to be blocked. Based on the identification information of the flow table entries carried in the fourth message, the user plane device determines whether to block the flow table entry corresponding to the identification information, or to block the flow table entry corresponding to the identification information and all flow table entries with a priority lower than or equal to that of the flow table entry corresponding to the identification information.

[0149] For example, the fourth message carries identification information for one or more flow table entry groups. These flow table entry groups can be flow table entry groups that need to be blocked, or the highest-priority flow table entry group among those that need to be blocked. Based on the identification information of the flow table entry groups carried in the fourth message, the user plane device determines whether to block the flow table entry group corresponding to the identification information, or to block the flow table entry group corresponding to the identification information and all flow table entry groups with a highest priority lower than or equal to the flow table entry group corresponding to the identification information.

[0150] For example, the fourth message may carry matching condition information for the first flow entry. This matching condition information indicates the matching conditions for the first flow entry, which can be found in the previous description and will not be repeated here. Alternatively, the fourth message may not carry the matching condition information for the first flow entry, and the user plane device may determine the matching conditions for the first flow entry based on the flow entries and / or groups of flow entries that need to be blocked.

[0151] For example, the fourth message may carry priority information for the first flow entry. This priority information indicates the priority of the first flow entry, which can be found in the previous description and will not be repeated here. Alternatively, the fourth message may not carry priority information for the first flow entry, allowing the user plane device to determine the priority of the first flow entry based on the flow entries and / or groups of flow entries that need to be blocked.

[0152] For example, the fourth message can carry all the information of the first-order entry, and the user plane device can directly generate the first-order entry based on this information.

[0153] In some embodiments, the method further includes: Receive the fifth message sent by the control plane equipment; The fifth message unblocks the flow table entry and / or flow table entry group; The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

[0154] Specifically, when a control plane device needs to unblock some or all of the blocked flow table entries (groups), it sends a fifth message to the user plane device, carrying one or more pieces of information, based on the required unblocked flow table entries and / or flow table entry groups. Unblocking can also be described as enabling.

[0155] In some embodiments, unblocking a flow table entry and / or a group of flow table entries according to a fifth message includes: Delete one or more first-order table entries based on the fifth message.

[0156] In this embodiment of the application, the unblocking method can be to directly enable the flow table entry and / or flow table entry group that needs to be unblocked, or to delete one or more first flow table entries to achieve the effect of unblocking.

[0157] The fifth message can be a message used to unblock flow table entries and / or groups of flow table entries, such as an unblocking command or a message for other similar purposes.

[0158] For example, the fifth message carries identification information for one or more flow table entries. These one or more flow table entries can be flow table entries that need to be unblocked, or the lowest priority flow table entry among those that need to be unblocked, or one or more of the first flow table entries previously sent by the control plane device. Based on the identification information of the flow table entries carried in the fifth message, the user plane device determines whether to unblock the flow table entry corresponding to the identification information, or to unblock the flow table entry corresponding to the identification information and all flow table entries with a priority higher than or equal to that of the flow table entry corresponding to the identification information, or to delete the first flow table entry corresponding to the identification information.

[0159] For example, the fifth message carries identification information for one or more flow table entry groups. These flow table entry groups can be flow table entry groups that need to be unblocked, or the lowest priority flow table entry group among those that need to be unblocked. Based on the identification information of the flow table entry groups carried in the fifth message, the user plane device determines whether to unblock the flow table entry group corresponding to the identification information, or to unblock the flow table entry group corresponding to the identification information and all flow table entry groups with a lowest priority higher than or equal to the flow table entry group corresponding to the identification information.

[0160] In some implementations, the fifth message may not carry any identifier information for a flow table entry or flow table entry group, indicating that all blocked flow table entries or flow table entry groups have been unblocked.

[0161] In some implementations, when the user plane device deletes one or more first-flow entries, it is also necessary to generate one or more additional first-flow entries with appropriate priority to achieve the effect of unblocking.

[0162] In some embodiments, the method further includes: Receive the sixth message sent by the control plane device. The sixth message contains the identification information of the third flow table entry group. According to the sixth message, delete the third flow table entry group and all flow table entries within the third flow table entry group.

[0163] Specifically, the third flow table entry group can be any one or more flow table entry groups that need to be deleted, and the sixth message can be a message used to delete the flow table entry group, such as a flow table entry group deletion message or other similar messages.

[0164] If a control plane device needs to delete a third flow table entry group, it can send a sixth message to the user plane device, carrying the identification information of the third flow table entry group in the message. Based on the sixth message, the user plane device can delete the third flow table entry group and all flow table entries within that group.

[0165] In some embodiments, a flow table entry group includes one or more subgroups, and the priority range of each subgroup is within the priority range of the flow table entry group.

[0166] Specifically, in this application, flow table entry groups are allowed to be nested. One or more subgroups can be nested within a flow table entry group. The priority range constraints of each subgroup can be the same as or different from those of the parent group, but do not exceed the priority range of the parent group.

[0167] In some implementations, the subgroup attributes can reflect the correspondence with the parent group, such as including the parent group identifier in the subgroup attributes, so that the user plane device can perform corresponding checks.

[0168] In some embodiments, the method further includes: When the priority range of the fourth flow table entry group is modified actively or according to the instructions of the management plane device, a notification message is sent to the control plane device to notify that the priority range of the fourth flow table entry group has changed.

[0169] The methods provided in the various embodiments of this application are based on the same technical concept, so the implementation of each method can be referred to each other, and repeated parts will not be described again.

[0170] Figure 15 This is a schematic diagram of the structure of the control surface device provided in the embodiments of this application, such as... Figure 15 As shown, the control plane device includes a memory 1520, a transceiver 1510, and a processor 1500; wherein the processor 1500 and the memory 1520 can also be physically arranged separately.

[0171] The memory 1520 is used to store computer programs; the transceiver 1510 is used to send and receive data under the control of the processor 1500.

[0172] Among them, Figure 15 In this application, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 1500 and memory represented by memory 1520 together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be further described herein. The bus interface provides an interface. The transceiver 1510 can be multiple elements, including a transmitter and a receiver, providing a unit for communicating with various other devices over a transmission medium, including wireless channels, wired channels, optical fibers, and other transmission media.

[0173] The processor 1500 is responsible for managing the bus architecture and general processing, while the memory 1520 can store the data used by the processor 1500 when performing operations.

[0174] The processor 1500 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD). The processor can also adopt a multi-core architecture.

[0175] The processor 1500 executes any of the methods described in the embodiments of this application according to the obtained executable instructions by calling a computer program stored in the memory 1520, including: Based on the business logic required to be processed by the user plane device, determine one or more flow table entry groups and the priority range of each flow table entry group; the priority range of different flow table entry groups is different. Flow table entries are managed based on flow table entry groups.

[0176] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Send attribute information for one or more flow table entry groups to the user plane device. The attribute information includes the priority range.

[0177] In some embodiments, sending attribute information of one or more flow table entry groups to the user plane device includes: Send a first message to the user plane device. The first message contains attribute information for one or more flow table entry groups.

[0178] In some embodiments, the attribute information may also include a group identifier and / or a default priority within the group.

[0179] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Based on the business logic corresponding to the flow table entry, determine the flow table entry group to which the flow table entry belongs; Send flow table entries and related information to the user plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information to indicate the priority of the flow table entry.

[0180] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Determine which group of attributes in the first stream table entry group will be modified; Send a second message to the user plane device. The second message contains the identification information of the first flow table entry group, the first set of attributes, and the target information for modifying the first set of attributes.

[0181] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Determine whether to modify the attributes of the first flow entry in all flow entries within the second flow entry group; A third message is sent to the user plane device. The third message contains the identification information of the second flow entry group, the attributes of the first flow entry, and the target information for modifying the attributes of the first flow entry.

[0182] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Generate one or more first flow entries as needed to block flow entries and / or groups of flow entries; Send one or more first-flow entries to the user plane device.

[0183] In some embodiments, flow table entry management is performed based on flow table entry groups, including: A fourth message is sent to the user plane device as needed to block flow table entries and / or groups of flow table entries. The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

[0184] In some embodiments, flow table entry management is performed based on flow table entry groups, including: As needed, unblock the flow table entries and / or groups of flow table entries, and send a fifth message to the user plane device. The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

[0185] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Confirm the deletion of the third-flow table entry group; Send a sixth message to the user plane device. The sixth message contains the identification information of the third flow table entry group.

[0186] In some embodiments, the identification information includes a group identifier or a priority range.

[0187] In some embodiments, a flow table entry group includes one or more subgroups, and the priority range of each subgroup is within the priority range of the flow table entry group.

[0188] Figure 16 This is a schematic diagram of the user plane device provided in the embodiments of this application, such as... Figure 16 As shown, the user plane device includes a memory 1620, a transceiver 1610, and a processor 1600; wherein the processor 1600 and the memory 1620 can also be physically arranged separately.

[0189] The memory 1620 is used to store computer programs; the transceiver 1610 is used to send and receive data under the control of the processor 1600.

[0190] Among them, Figure 16In this application, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 1600 and memory represented by memory 1620 together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be further described herein. The bus interface provides an interface. The transceiver 1610 can be multiple elements, including a transmitter and a receiver, providing a unit for communicating with various other devices over a transmission medium, including wireless channels, wired channels, optical fibers, and other transmission media.

[0191] The processor 1600 is responsible for managing the bus architecture and general processing, while the memory 1620 can store the data used by the processor 1600 during operation.

[0192] The processor 1600 can be a CPU, ASIC, FPGA or CPLD, and the processor can also adopt a multi-core architecture.

[0193] The processor 1600 executes any of the methods described in the embodiments of this application according to the obtained executable instructions by calling a computer program stored in the memory 1620, including: Receive attribute information of one or more flow table entry groups sent by the control plane device. The attribute information includes priority ranges; the priority ranges of different flow table entry groups are different. Create flow table entry groups based on their attribute information.

[0194] In some embodiments, receiving attribute information of one or more flow table entry groups sent by the control plane device includes: Receive the first message sent by the control plane device. The first message contains attribute information of one or more flow table entry groups.

[0195] In some embodiments, the method further includes: Receive flow table entries and related information sent by the control plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information used to indicate the priority of the flow table entry. Based on the relevant information of the flow table entry, determine the flow table entry group to which the flow table entry belongs and the priority of the flow table entry.

[0196] In some embodiments, the method further includes: Receive a second message sent by the control plane device. The second message contains the identification information of the first flow table entry group, the first set of attributes, and the target information for modifying the first set of attributes. Based on the second message, modify the first set of attributes of the first stream table entry group.

[0197] In some embodiments, the method further includes: Receive a third message sent by the control plane device. The third message contains the identification information of the second flow entry group, the attributes of the first flow entry, and the target information for modifying the attributes of the first flow entry. Based on the third message, modify the first flow entry attributes of all flow entries within the second flow entry group.

[0198] In some embodiments, the method further includes: Receive the fourth message sent by the control plane device; The fourth message blocks flow table entries and / or groups of flow table entries; The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

[0199] In some embodiments, blocking flow table entries and / or groups of flow table entries according to a fourth message includes: One or more first flow table entries are generated based on the fourth message, and flow table entries and / or groups of flow table entries are blocked based on one or more first flow table entries.

[0200] In some embodiments, the method further includes: Receive the fifth message sent by the control plane equipment; The fifth message unblocks the flow table entry and / or flow table entry group; The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

[0201] In some embodiments, unblocking a flow table entry and / or a group of flow table entries according to a fifth message includes: Delete one or more first-order table entries based on the fifth message.

[0202] In some embodiments, the method further includes: Receive the sixth message sent by the control plane device. The sixth message contains the identification information of the third flow table entry group. According to the sixth message, delete the third flow table entry group and all flow table entries within the third flow table entry group.

[0203] In some embodiments, the method further includes: When the priority range of the fourth flow table entry group is modified actively or according to the instructions of the management plane device, a notification message is sent to the control plane device to notify that the priority range of the fourth flow table entry group has changed.

[0204] It should be noted that the control plane device and user plane device provided in this application embodiment can implement the method steps implemented in the corresponding method embodiments and achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiments will not be described in detail here.

[0205] The apparatus for managing flow table entries provided in the embodiments of this application will be described below. The apparatus for managing flow table entries described below can be referred to in correspondence with the method for managing flow table entries described above.

[0206] Figure 17 This is one of the structural schematic diagrams of a device for managing flow table entries provided in an embodiment of this application. This device is applied to a control plane device, such as... Figure 17 As shown, the device includes: The determining unit 1710 is used to determine one or more flow table entry groups and the priority range of each flow table entry group according to the business logic to be processed by the user plane device; wherein, the priority range of different flow table entry groups is different. Management unit 1720 is used for managing flow table entries based on flow table entry groups.

[0207] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Send attribute information for one or more flow table entry groups to the user plane device. The attribute information includes the priority range.

[0208] In some embodiments, sending attribute information of one or more flow table entry groups to the user plane device includes: Send a first message to the user plane device. The first message contains attribute information for one or more flow table entry groups.

[0209] In some embodiments, the attribute information may also include a group identifier and / or a default priority within the group.

[0210] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Based on the business logic corresponding to the flow table entry, determine the flow table entry group to which the flow table entry belongs; Send flow table entries and related information to the user plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information to indicate the priority of the flow table entry.

[0211] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Determine which group of attributes in the first stream table entry group will be modified; Send a second message to the user plane device. The second message contains the identification information of the first flow table entry group, the first set of attributes, and the target information for modifying the first set of attributes.

[0212] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Determine whether to modify the attributes of the first flow entry in all flow entries within the second flow entry group; A third message is sent to the user plane device. The third message contains the identification information of the second flow entry group, the attributes of the first flow entry, and the target information for modifying the attributes of the first flow entry.

[0213] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Generate one or more first flow entries as needed to block flow entries and / or groups of flow entries; Send one or more first-flow entries to the user plane device.

[0214] In some embodiments, flow table entry management is performed based on flow table entry groups, including: A fourth message is sent to the user plane device as needed to block flow table entries and / or groups of flow table entries. The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

[0215] In some embodiments, flow table entry management is performed based on flow table entry groups, including: As needed, unblock the flow table entries and / or groups of flow table entries, and send a fifth message to the user plane device. The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

[0216] In some embodiments, flow table entry management is performed based on flow table entry groups, including: Confirm the deletion of the third-flow table entry group; Send a sixth message to the user plane device. The sixth message contains the identification information of the third flow table entry group.

[0217] In some embodiments, the identification information includes a group identifier or a priority range.

[0218] In some embodiments, a flow table entry group includes one or more subgroups, and the priority range of each subgroup is within the priority range of the flow table entry group.

[0219] Figure 18 This is a second schematic diagram of a device for managing flow table entries provided in an embodiment of this application. This device is applied to a user plane device, such as... Figure 18 As shown, the device includes: The receiving unit 1810 is used to receive attribute information of one or more flow table entry groups sent by the control plane device. The attribute information includes a priority range; wherein, the priority range of different flow table entry groups is different. The processing unit 1820 is used to create a flow table entry group based on the attribute information of the flow table entry group.

[0220] In some embodiments, receiving attribute information of one or more flow table entry groups sent by the control plane device includes: Receive the first message sent by the control plane device. The first message contains attribute information of one or more flow table entry groups.

[0221] In some embodiments, the processing unit 1820 is further configured to: Receive flow table entries and related information sent by the control plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information used to indicate the priority of the flow table entry. Based on the relevant information of the flow table entry, determine the flow table entry group to which the flow table entry belongs and the priority of the flow table entry.

[0222] In some embodiments, the processing unit 1820 is further configured to: Receive a second message sent by the control plane device. The second message contains the identification information of the first flow table entry group, the first set of attributes, and the target information for modifying the first set of attributes. Based on the second message, modify the first set of attributes of the first stream table entry group.

[0223] In some embodiments, the processing unit 1820 is further configured to: Receive a third message sent by the control plane device. The third message contains the identification information of the second flow entry group, the attributes of the first flow entry, and the target information for modifying the attributes of the first flow entry. Based on the third message, modify the first flow entry attributes of all flow entries within the second flow entry group.

[0224] In some embodiments, the processing unit 1820 is further configured to: Receive the fourth message sent by the control plane device; The fourth message blocks flow table entries and / or groups of flow table entries; The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

[0225] In some embodiments, blocking flow table entries and / or groups of flow table entries according to a fourth message includes: One or more first flow table entries are generated based on the fourth message, and flow table entries and / or groups of flow table entries are blocked based on one or more first flow table entries.

[0226] In some embodiments, the processing unit 1820 is further configured to: Receive the fifth message sent by the control plane equipment; The fifth message unblocks the flow table entry and / or flow table entry group; The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

[0227] In some embodiments, unblocking a flow table entry and / or a group of flow table entries according to a fifth message includes: Delete one or more first-order table entries based on the fifth message.

[0228] In some embodiments, the processing unit 1820 is further configured to: Receive the sixth message sent by the control plane device. The sixth message contains the identification information of the third flow table entry group. According to the sixth message, delete the third flow table entry group and all flow table entries within the third flow table entry group.

[0229] In some embodiments, the processing unit 1820 is further configured to: When the priority range of the fourth flow table entry group is modified actively or according to the instructions of the management plane device, a notification message is sent to the control plane device to notify that the priority range of the fourth flow table entry group has changed.

[0230] It should be noted that the apparatus for managing flow table entries provided in this application embodiment can implement the method steps implemented in the corresponding method embodiment and achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.

[0231] It should be noted that the division of modules (or units) in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional modules (or units) in the various embodiments of this application can be integrated into one processing unit, or each module (or unit) can exist physically separately, or two or more modules (or units) can be integrated into one unit. The integrated modules (or units) described above can be implemented in hardware or as software functional modules (or units).

[0232] If the integrated module (or unit) is implemented as a software functional module (or unit) and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0233] In some embodiments, this application also provides a processor-readable storage medium storing a program for causing a processor to execute the methods provided in the above embodiments.

[0234] It should be noted that the processor-readable storage medium provided in this application embodiment can implement the method steps implemented in the corresponding method embodiment and achieve the same technical effect. Therefore, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail here.

[0235] The processor-readable storage medium can be any available medium or data storage device that the processor can access, including but not limited to RAM, ROM, EEPROM, CD-ROM or other optical storage (e.g., CD, DVD, BD, HVD, etc.), disk storage media or other magnetic storage devices (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO), or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer).

[0236] In some embodiments, this application also provides a chip including a processor coupled to a memory for executing a computer program or instructions stored in the memory, such that when the processor executes the computer program or instructions, the method provided in the above embodiments is implemented.

[0237] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.

[0238] like Figure 19This application provides a chip system 1900. The chip system 1900 (or processing system) includes logic circuitry 1910 and an input / output interface 1920. The logic circuitry 1910 can be the processing circuitry within the chip system 1900. The logic circuitry 1910 can be coupled to a memory unit, calling instructions from the memory unit, enabling the chip system 1900 to implement the methods and functions of the embodiments of this application. The input / output interface 1920 can be the input / output circuitry within the chip system 1900, outputting processed information or inputting data or signaling information to be processed into the chip system 1900 for processing.

[0239] As one approach, the chip system 1900 is used to implement the operations described in the various method embodiments above. For example, the logic circuit 1910 is used to implement the relevant operations performed by each execution entity in the method embodiments above; the input / output interface 1920 is used to implement the sending and / or receiving related operations performed by each execution entity in the method embodiments above.

[0240] This application also provides a processing apparatus, including a processor and an interface. The processor can be used to execute the methods described in the above method embodiments.

[0241] It should be understood that the aforementioned processing device can be a single chip. For example, the processing device can be a Field Programmable Gate Array (FPGA), can include an Application Specific Integrated Circuit (ASIC), can be a System on Chip (SoC), can be a Central Processing Unit (CPU), can be a Network Processor (NP), can be a Digital Signal Processor (DSP), can be a Micro Controller Unit (MCU), can be a Programmable Logic Device (PLD), or other integrated chips.

[0242] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be executed by a hardware processor, or by a combination of hardware and software modules within the processor. The software modules can reside in readily available storage media in the art, such as random access registers, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. Since this storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method; to avoid repetition, these will not be described in detail here.

[0243] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0244] The chip provided in this application embodiment can implement the method steps implemented in the corresponding method embodiment and achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0245] In some embodiments, this application also provides a non-transitory readable storage medium storing a computer program for causing a processor to execute the methods provided in the above embodiments.

[0246] The non-transiently readable storage medium provided in this application embodiment can implement the method steps implemented in the corresponding method embodiment and achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0247] In some embodiments, this application also provides a communication device, which stores a computer program for causing the communication device to execute the methods provided in the above embodiments.

[0248] The communication device provided in this application embodiment can implement the method steps implemented in the corresponding method embodiment and achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0249] In some embodiments, this application also provides a computer program product, which includes a computer program or instructions that, when run on a computer, cause the computer to perform the methods provided in the above embodiments.

[0250] The computer program product provided in this application embodiment can implement the method steps implemented in the corresponding method embodiment and achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0251] The technical solutions provided in this application can be applied to a variety of systems. For example, applicable systems may include Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Long Term Evolution Advanced (LTE-A) systems, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) systems, 5G New Radio (NR) systems and their evolved communication systems, and 6G (sixth generation mobile communication technology) systems. These systems may include terminal equipment and network equipment. The systems may also include a core network component, such as an Evolved Packet Core (EPC), a 5G core network (5GC), and a 6G core network.

[0252] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0253] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0254] These processor-executable instructions may also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the processor-readable memory produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0255] These processors can execute instructions that can also be loaded onto a computer or other programmable data processing apparatus, causing a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0256] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for managing flow table entries, characterized in that, Applied to control plane equipment, the method includes: Based on the business logic required to be processed by the user plane device, one or more flow table entry groups and the priority range of each flow table entry group are determined; wherein, the priority ranges of different flow table entry groups are different. Flow table entries are managed based on the aforementioned flow table entry groups.

2. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: Send attribute information of the one or more flow table entry groups to the user plane device, the attribute information including priority range.

3. The method for managing flow table entries according to claim 2, characterized in that, Sending the attribute information of the one or more flow table entry groups to the user plane device includes: Send a first message to the user plane device, the first message containing attribute information of the one or more flow table entry groups.

4. The method for managing flow table entries according to claim 2 or 3, characterized in that, The attribute information also includes the group identifier and / or the default priority within the group.

5. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: Based on the business logic corresponding to the flow table entry, determine the flow table entry group to which the flow table entry belongs; The flow table entry and related information of the flow table entry are sent to the user plane device. The related information of the flow table entry includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information for indicating the priority of the flow table entry.

6. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: Determine which group of attributes in the first stream table entry group will be modified; A second message is sent to the user plane device. The second message contains the identification information of the first flow table entry group, the first group of attributes, and the target information for modifying the first group of attributes.

7. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: Determine whether to modify the attributes of the first flow entry in all flow entries within the second flow entry group; A third message is sent to the user plane device, the third message containing the identification information of the second flow table entry group, the attributes of the first flow table entry, and the target information for modifying the attributes of the first flow table entry.

8. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: Generate one or more first flow entries as needed to block flow entries and / or groups of flow entries; Send the one or more first flow table entries to the user plane device.

9. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: A fourth message is sent to the user plane device as needed to block flow table entries and / or groups of flow table entries, the fourth message containing one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

10. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: As needed, unblock flow table entries and / or groups of flow table entries, and send a fifth message to the user plane device, the fifth message containing one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

11. The method for managing flow table entries according to claim 1, characterized in that, The management of flow table entries based on the flow table entry group includes: Confirm the deletion of the third-flow table entry group; A sixth message is sent to the user plane device, the sixth message containing the identification information of the third flow table entry group.

12. The method for managing flow table entries according to any one of claims 5 to 11, characterized in that, The identification information includes group identifiers or priority ranges.

13. The method for managing flow table entries according to claim 1, characterized in that, The flow table entry group includes one or more subgroups, and the priority range of each subgroup is within the priority range of the flow table entry group.

14. A method for managing flow table entries, characterized in that, Applied to a user plane device, the method includes: Receive attribute information of one or more flow table entry groups sent by a control plane device, the attribute information including priority range; wherein, different flow table entry groups have different priority ranges; Flow table entry groups are created based on the attribute information of the flow table entry groups.

15. The method for managing flow table entries according to claim 14, characterized in that, The attribute information of one or more flow table entry groups sent by the receiving control plane device includes: Receive a first message sent by the control plane device, the first message containing attribute information of the one or more flow table entry groups.

16. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: The system receives flow table entries and related information sent by the control plane device. The related information includes: the identification information of the flow table entry group to which the flow table entry belongs, and / or, indication information for indicating the priority of the flow table entry. Based on the relevant information of the flow table entry, determine the flow table entry group to which the flow table entry belongs and the priority of the flow table entry.

17. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: Receive a second message sent by the control plane device, the second message containing the identification information of the first flow table entry group, the first group of attributes, and the target information for modifying the first group of attributes; Based on the second message, the first set of attributes of the first flow table entry group is modified.

18. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: The third message sent by the control plane device is received. The third message includes the identification information of the second flow table entry group, the attributes of the first flow table entry, and the target information for modifying the attributes of the first flow table entry. Based on the third message, the first flow table entry attribute of all flow table entries in the second flow table entry group is modified.

19. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: Receive the fourth message sent by the control plane device; The fourth message blocks flow table entries and / or groups of flow table entries; The fourth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups; Matching condition information for first-order entries; Priority information for first-order entries.

20. The method for managing flow table entries according to claim 19, characterized in that, The blocking of flow table entries and / or groups of flow table entries according to the fourth message includes: One or more first flow table entries are generated based on the fourth message, and the flow table entries and / or flow table entry groups are blocked based on the one or more first flow table entries.

21. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: Receive the fifth message sent by the control plane device; The fifth message unblocks the flow table entry and / or the flow table entry group; The fifth message contains one or more of the following information: Identification information for one or more flow table entries; Identification information for one or more flow table entry groups.

22. The method for managing flow table entries according to claim 21, characterized in that, The step of unblocking the flow table entry and / or flow table entry group according to the fifth message includes: Delete one or more first-stream table entries according to the fifth message.

23. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: Receive a sixth message sent by the control plane device, the sixth message containing the identification information of the third flow table entry group; According to the sixth message, delete the third flow table entry group and all flow table entries within the third flow table entry group.

24. The method for managing flow table entries according to claim 14, characterized in that, The method further includes: When the priority range of the fourth flow table entry group is modified actively or according to the instructions of the management plane device, a notification message is sent to the control plane device, the notification message being used to notify that the priority range of the fourth flow table entry group has changed.

25. A control surface device, characterized in that, Includes memory, transceiver, and processor; Memory, used to store computer programs; Transceiver, used to send and receive data under the control of the processor; Processor, configured to read the computer program in the memory and perform the following operations: Based on the business logic required to be processed by the user plane device, one or more flow table entry groups and the priority range of each flow table entry group are determined; wherein, the priority ranges of different flow table entry groups are different. Flow table entries are managed based on the aforementioned flow table entry groups.

26. A user plane device, characterized in that, Includes memory, transceiver, and processor; The memory is used to store computer programs; the transceiver is used to send and receive data under the control of the processor. Processor, configured to read the computer program in the memory and perform the following operations: Receive attribute information of one or more flow table entry groups sent by a control plane device, the attribute information including priority range; wherein, different flow table entry groups have different priority ranges; Flow table entry groups are created based on the attribute information of the flow table entry groups.

27. An apparatus for managing flow table entries, characterized in that, Applied to control surface equipment, the device includes: The determining unit is configured to determine one or more flow table entry groups and the priority range of each flow table entry group based on the service logic to be processed by the user plane device; wherein, the priority ranges of different flow table entry groups are different. The management unit is used to manage flow table entries based on the flow table entry group.

28. An apparatus for managing flow table entries, characterized in that, Applied to user plane devices, the device includes: The receiving unit is configured to receive attribute information of one or more flow table entry groups sent by the control plane device, wherein the attribute information includes a priority range; wherein, different flow table entry groups have different priority ranges. The processing unit is used to create a flow table entry group based on the attribute information of the flow table entry group.

29. A processor-readable storage medium, characterized in that, The processor-readable storage medium stores a program for causing the processor to perform the method of any one of claims 1 to 13, or the method of any one of claims 14 to 24.