Deterministic flow transmission method and device and network node
Patent Information
- Application Number
- CN202380010502.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-05
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2043-09-05
AI Technical Summary
In a wide-area deterministic network, network nodes need to implement deterministic flow processing behaviors, such as packet replication, deletion and sorting, as well as delay compensation, but the prior art is difficult to effectively implement these processing behaviors.
By applying a deterministic streaming method in a network node, metadata is used to establish a connection between deterministic streaming and its processing behavior, the execution of a set of processing behaviors of messages is realized, and working together between the control plane and the data plane to realize deterministic stream processing behavior.
It realizes effective deterministic stream processing behavior during deterministic streaming, improves the service message and OAM message processing capabilities of network nodes for deterministic streaming, and ensures high real-time and reliability.
Smart Images

Figure CN119948843A_ABST
Abstract
Description
Deterministic stream transmission method, device and network node Technical Field
[0001] The present application relates to network communication technology, and in particular to a deterministic stream transmission method, device, and network node. Background Art
[0002] In wide-area deterministic networks, network nodes, such as the ingress and egress nodes of data flows, as well as intermediate nodes between them, must not only be able to identify various types of data packets as deterministic flows but also implement functions such as packet replication, elimination, and ordering functions (PREOF) and delay compensation (referred to as deterministic flow processing). Therefore, implementing deterministic flow processing during deterministic flow transmission is a pressing technical challenge.
[0003] Summary of the Invention
[0004] The embodiments of the present application provide a deterministic stream transmission method and a network node to implement deterministic stream processing behavior during the deterministic stream transmission process.
[0005] An embodiment of the present application provides a deterministic stream transmission method, which is applied to a network node in a deterministic network. The method includes:
[0006] receiving a message, and searching for target metadata corresponding to the message among all obtained metadata; the target metadata including at least first-category metadata, the first-category metadata including at least: a set of programmed processing actions to be performed by the node for the message, and a target service level agreement (SLA) category to which the message belongs;
[0007] If the target SLA category is a specified SLA level, where the specified SLA level is used to indicate a high real-time business requirement, a corresponding processing behavior is performed on the message according to the processing behavior set; otherwise, the message is sent to a cache queue corresponding to the target SLA category, so that a corresponding processing behavior is performed on the message in the cache queue based on a trigger event corresponding to the cache queue, and the processing behavior belongs to the processing behavior set.
[0008] A deterministic flow transmission method is applied to a network node in a deterministic network for transmitting service messages or operation, maintenance and management (OAM) messages of a deterministic flow, wherein the network node includes a local controller deployed on a control plane and at least one module deployed on a data plane; the method comprises:
[0009] Recording, by a local controller on a local control plane, deterministic flow management control information corresponding to the deterministic flow on the control plane based on the global planning information of the deterministic flow sent by the remote controller, wherein the deterministic flow management control information includes at least the global planning information, an index of a deterministic flow parameter table entry related to the deterministic flow, an index of a scheduling table entry for the deterministic flow, and an internal flow identifier IntrFlowID currently allocated by the local controller to the deterministic flow;
[0010] The first-category metadata configuration information is sent to the data plane of the current node through the local controller on the local control plane so that one of the modules on the local data plane generates a local first-category metadata configuration table entry based on the first-category metadata configuration information and adds it to the local first-category metadata configuration table, or the local first-category metadata configuration table entry is sent to the data plane of the current node through the local controller on the local control plane so that one of the modules on the local data plane adds it to the local first-category metadata configuration table; the first-category metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-category metadata configuration information is generated by the local controller on the control plane of the current node based on the global planning information of the deterministic flow sent by the remote controller and the configuration for the deterministic flow obtained by the local controller, or is part of the information in the global planning information of the deterministic flow sent by the remote controller.
[0011] A deterministic stream transmission device, applied to a network node in a deterministic network, comprising:
[0012] A receiving module, used for receiving messages;
[0013] a metadata module, configured to search for target metadata corresponding to the message from among all obtained metadata; the target metadata including at least first-category metadata, the first-category metadata including at least: a set of programmed processing actions to be performed by the node on the message, and a target service level agreement (SLA) category to which the message belongs;
[0014] a processing module configured to, when the target SLA category is a specified SLA level, where the specified SLA level is used to indicate a high real-time business requirement, trigger the scheduling module to perform a corresponding processing behavior on the message according to the processing behavior set; otherwise, send the message to a cache queue corresponding to the target SLA category, so that the scheduling module performs a corresponding processing behavior on the message in the cache queue based on a trigger event corresponding to the cache queue, where the processing behavior belongs to the processing behavior set.
[0015] A deterministic flow transmission device is applied to a network node in a deterministic network for transmitting service messages or operation, maintenance and management (OAM) messages of a deterministic flow, wherein the network node includes a local controller deployed on a control plane and at least one module deployed on a data plane;
[0016] The local controller on the local control plane includes at least:
[0017] a control plane logic control module, configured to record, on the control plane, deterministic flow management control information corresponding to the deterministic flow based on the global planning information of the deterministic flow issued by the remote controller, wherein the deterministic flow management control information includes at least the global planning information, an index of a deterministic flow parameter table entry related to the deterministic flow, an index of a scheduling table entry for the deterministic flow, and an internal flow identifier IntrFlowID currently allocated by the local controller to the deterministic flow;
[0018] A deterministic flow management object module is used to send first-class metadata configuration information to the data plane of this node so that one of the modules on the local data plane generates a local first-class metadata configuration table item based on the first-class metadata configuration information and adds it to the local first-class metadata configuration table, or to send the local first-class metadata configuration table item to the data plane of this node through the local controller on the local control plane so that one of the modules on the local data plane adds it to the local first-class metadata configuration table; the first-class metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-class metadata configuration information is generated by the local controller on the control plane of this node based on the global planning information of the deterministic flow sent by the remote controller and the configuration for the deterministic flow obtained by the local controller, or is part of the global planning information of the deterministic flow sent by the remote controller.
[0019] A network node, the network node being a network node for transmitting service messages or operation, maintenance and management (OAM) messages of a deterministic flow in a deterministic network; the network node comprising a local controller deployed on a control plane and at least one module deployed on a data plane;
[0020] The local controller executes the steps in the second method above;
[0021] At least one module deployed on the data plane includes a hardware module for scheduling message forwarding, and the hardware module executes the steps in the first method above; or, at least one module deployed on the data plane includes a software module and a hardware module for scheduling message forwarding; the software module and the hardware module cooperate to execute the steps in the first method above; the hardware module is responsible for performing corresponding processing actions on the message, and the software module executes the remaining steps.
[0022] It can be seen from the above technical solution that in the embodiment of the present application, a connection between a deterministic flow and a set of processing behaviors performed on the business messages belonging to the deterministic flow or the OAM messages of the deterministic flow is established through metadata, so as to realize deterministic flow processing behavior during the deterministic flow transmission process. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0024] FIG1 is a diagram of a network structure provided in an embodiment of the present application;
[0025] FIG2 is a functional structure diagram of a local controller provided in an embodiment of the present application;
[0026] FIG3 is a schematic diagram illustrating the association between deterministic flows and hardware resources provided in an embodiment of the present application;
[0027] FIG4 is a schematic diagram of a network node data plane according to an embodiment of the present application;
[0028] FIG5 is a flow chart of a method provided in an embodiment of the present application;
[0029] FIG6 is a diagram showing an improved structure of a network node according to an embodiment of the present application;
[0030] FIG7 is a schematic diagram of message encapsulation metadata provided in an embodiment of the present application;
[0031] FIG8 is a schematic diagram of an internal message processing mechanism of an ingress node provided in an embodiment of the present application;
[0032] FIG9 is a structural diagram of a device provided in an embodiment of the present application;
[0033] FIG10 is a structural diagram of another device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0034] Exemplary embodiments are described in detail herein, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numerals in different figures represent identical or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatuses and methods consistent with certain aspects of the present application.
[0035] The terms used in this application are for the purpose of describing particular embodiments only and are not intended to limit this application. The singular forms "a", "the" and "the" used in this application are also intended to include plural forms, unless the context clearly indicates otherwise.
[0036] In order to implement the processing behavior for the deterministic flow during the deterministic flow transmission process, the embodiment of the present application will abstract the corresponding metadata (Metadata) for the deterministic flow. It should be noted that the metadata of the deterministic flow can be the metadata for the business message belonging to the deterministic flow, or it can be the metadata for the operation, maintenance and management (OAM: Operation Administration and Maintenance) message of the deterministic flow. As described below, the metadata of the business message belonging to the deterministic flow and the metadata of the OAM message of the deterministic flow are determined in a similar way. The embodiments of the present application are collectively referred to as the metadata of the deterministic flow.
[0037] Optionally, in this embodiment, metadata for deterministic flows can be abstracted by collaborating between a remote controller and the local controllers of network nodes in the control plane and the data plane in the deterministic network to complete management and control plane tasks. Figure 1 illustrates the corresponding networking structure.
[0038] In a specific implementation, the local controller of the above-mentioned network node can be used to orchestrate the processing behavior orchestration information of the deterministic flow (at least including a set of different processing behaviors for the service message or OAM of the deterministic flow) and respond to the global planning information of the remote controller for the deterministic flow, and control the data plane of this node to generate metadata of the deterministic flow based on the processing behavior orchestration information and the global planning information. Here, the global planning information is, for example, the globally unique flow identifier (DnFlowID) of the deterministic flow in the deterministic domain, and the globally unique aggregate flow identifier (AggrFlowID) of the deterministic flow in the deterministic domain when the deterministic flow has a flow aggregation requirement, etc., which will be described with examples below. Here, DnFlowID and AggrFlowID can be 28-bit integers, assigned by the remote controller.
[0039] As an embodiment, FIG2 illustrates that the local controller of the above network node can be implemented by the following functional modules: a control plane logic control module (CP Control Logic, abbreviated as CP-CtrlLog) and a deterministic flow management object functional module (abbreviated as FlowMgmtObjs).
[0040] Among them, CP-CtrlLog is used to implement control management and respond to external messages, including the creation and deletion of deterministic flows, the remote controller's global planning information for deterministic flows, and policy control messages from the remote controller. It decomposes messages into several operations and coordinates relevant components to complete these operations.
[0041] FlowMgmtObjs is used to implement deterministic flow management control information to enable the addition, deletion, and modification of deterministic flow information. Here, the purpose of the deterministic flow management control information is to record information corresponding to the deterministic flow, such as the above-mentioned global planning information (such as the DnFlowID of the deterministic flow and the AggrFlowID when the deterministic flow has flow aggregation requirements, etc.), the internal flow identifier (IntrFlowID) dynamically allocated for the deterministic flow, the index of the deterministic flow parameter table item related to the deterministic flow on this node, and the index of the scheduling table item of the deterministic flow. As an embodiment, the deterministic flow management control information can be recorded through the flow mapping table (FlowMapTbl) item on the control plane.
[0042] In this embodiment, IntrFlowID is an internal flow identifier in the internal flow identifier set (IntrFlowIDs) supported by this node. In this embodiment, IntrFlowIDs will be divided into several subsets, each subset is used to indicate a deterministic flow with different special requirements for hardware resources. For example, the internal flow identifier subset is 1 to 999, which is used to identify a deterministic flow that requires fixed allocation of hardware resources. It implies the binding (also called association) between the deterministic flow and the hardware resources. Figure 3 shows an example of an association diagram. As shown in Figure 3, the aggregate flow 1 (Aggre flow1) formed by aggregating flow1 and flow2 is assigned an IntrFlowID of 000, and its association is the hardware resource pointed to by 000 in Figure 3. Similarly, flow3 is assigned an IntrFlowID of 001, and its association is the hardware resource pointed to by 001 in Figure 3.
[0043] Based on the association between deterministic flows and hardware resources, this embodiment facilitates the management of deterministic flows by assigning IntrFlowIDs to them. Of course, since hardware resources are limited, when a deterministic flow is deleted, the hardware resources bound to the deterministic flow must be promptly reclaimed based on the IntrFlowID assigned to the flow.
[0044] As an embodiment, the above-mentioned deterministic flow parameter table includes multiple deterministic flow parameter table entries. A deterministic flow corresponds to at least one deterministic flow parameter table entry. The deterministic flow parameter table entry corresponding to the deterministic flow is used to maintain the processing behavior orchestration information related to the deterministic flow, which at least includes: the orchestration of the pipeline links of each processing behavior in the processing behavior set of the service message or OAM message of the deterministic flow, queuing characteristics (such as indicating which buffer queue to enter), exception handling method, whether to perform delay compensation, etc. Optionally, the processing behavior set here may include different processing behaviors, such as flow identification, priority classification, flow aggregation, packet replication, deduplication, sorting, delay compensation, etc.
[0045] Optionally, the above-mentioned deterministic flow parameter table item may be a software parameter table item (SwParamTbles) that can be called by a software module such as a software module with flexible programming capabilities deployed on the data plane of this node, or it may be a type of hardware parameter table item (HwParamTbles) that can be called by a hardware module such as a scheduling module deployed on the data plane of this node. This embodiment does not specifically limit this.
[0046] As an embodiment, the above-mentioned scheduling table items are hardware parameter expressions called by the hardware scheduling module deployed on the data plane of this node, which may include the information required for real-time scheduling of deterministic flows, including: the scheduling mechanism required for scheduling deterministic flows (such as CSQF, Dead Line, Time Compensation, Packet Ordering), the duplicate data packet deletion mechanism executed at the egress node of the deterministic flow (if the Time Compensation mechanism is used, the aging mechanism is not required), whether sorting needs to be implemented, etc., which are not specifically limited in this embodiment.
[0047] It should be noted that, in this embodiment, the local controller will further record the initialization configuration parameters (Sw / Hw InitcfgParams) of the software modules and hardware modules deployed on the data plane of this node, so as to initially initiate and complete the configuration of the software modules and hardware modules on the data plane of this node.
[0048] The above describes an example of a local controller deployed on the control plane of the network node. Ultimately, the local controller will send configuration, control, management, and status information (Config & Ctrl & Mgmt & Stat Info) to the data plane. The following describes the data plane of the network node:
[0049] As shown in Figure 4, in this embodiment, both the input processing component (Ingress NP) and the output processing component (Egress NP) of the data plane can include a data plane control operation module (DP Control Logic, abbreviated as DP-CtrlLog). This operation corresponds to the above-mentioned CP-CtrlLog and mainly implements NP internal pipeline configuration and responds to CP-CtrlLog operations, such as generating metadata for deterministic flows. This will be described in detail below through the embodiment and will not be repeated here. As for the Control, Stage Tables, and scheduling modules shown in Figure 4, they are conventional implementations for deterministic flow forwarding on the data plane and are not described in detail in this embodiment.
[0050] The following describes how to abstract the metadata of a deterministic stream by taking the creation of a deterministic stream as an example:
[0051] First, after receiving a request to create a deterministic streaming session, the remote controller plans a forwarding path for the deterministic streaming and sends the planned forwarding path to the forwarding nodes on the forwarding path.
[0052] As an embodiment, the forwarding nodes may include an ingress node, an egress node, and an intermediate node between the ingress node and the egress node of a deterministic flow in a forwarding path, which is not specifically limited in this embodiment.
[0053] As another embodiment, for any deterministic flow, when the deterministic flow passes through a deterministic network domain, the intermediate node is often responsible for forwarding, which is relatively simple to implement, while the ingress node and egress node of the deterministic flow may need to perform a series of processing actions on the message. Based on this, the above-mentioned forwarding node may include the ingress node and egress node of the deterministic flow.
[0054] After receiving the forwarding path, any of the aforementioned forwarding nodes installs the forwarding path through its local controller (equivalent to configuring the forwarding path on the node's data plane). Of course, if the forwarding path for the deterministic flow is the same as the forwarding path for other deterministic flows and has already been configured on the data plane, this step can be omitted.
[0055] The remote controller creates global planning information for the deterministic flow and sends it to the forwarding node. The global planning information for the deterministic flow here includes, for example, characteristic information of the deterministic flow, such as a quintuple, a triplet, a globally unique flow identifier (DnFlowID) of the deterministic flow within the deterministic domain, and, when the deterministic flow requires flow aggregation, a globally unique aggregate flow identifier (AggrFlowID) of the deterministic flow within the deterministic domain, etc., which is not specifically limited in this embodiment.
[0056] After receiving the global planning information, the forwarding node adds deterministic flow management control information corresponding to the deterministic flow to the control plane through the local controller based on the global planning information (this can be achieved, for example, by adding a flow mapping table entry to the flow mapping table FlowMapTbl of the control plane). The deterministic flow management control information here may include global characteristics of the deterministic flow, such as DnFlowID, AggrFlowID, etc., the index of the deterministic flow parameter table entry related to the deterministic flow, the index of the scheduling table entry of the deterministic flow, and the IntrFlowID dynamically assigned to the deterministic flow.
[0057] The local controller (specifically CP-CtrlLog) sends the first type of metadata configuration information to the data plane of this node according to the above-mentioned deterministic flow management control information. Here, the first type of metadata configuration information can be generated by the control plane of this node based on the global planning information of the deterministic flow sent by the remote controller and the local configuration for the deterministic flow, or it can be part of the information in the global planning information of the deterministic flow sent by the remote controller, which is not specifically limited in this embodiment. The first type of metadata configuration information here does not include metadata configuration information for deterministic flow aggregation. In specific implementation, for example, the first type of metadata configuration information here can be the above-mentioned DnFlowID, etc., which can be referred to as non-aggregate information.
[0058] When the data plane receives the above-mentioned first-category metadata configuration information, it will generate a local first-category metadata configuration table item and add it to the local first-category metadata configuration table. The local first-category metadata configuration table item will record the third-category metadata of the above-mentioned deterministic flow (the third-category metadata here does not include metadata used for deterministic flow aggregation, also known as non-aggregate metadata), which is equivalent to obtaining metadata for the deterministic flow. The metadata will be described with examples below, which will not be repeated here. As another embodiment, the above-mentioned local controller (specifically CP-CtrlLog) can also directly generate the above-mentioned local first-category metadata configuration table item and send it to the data plane of this node. Under the premise that the above-mentioned deterministic flow session requirement is the requirement of the business message, the local first-category metadata configuration table item here can be a flow identification table (FlowIdentifyTbles) item.
[0059] Optionally, when there is a demand for aggregation of deterministic flows, the above-mentioned local controller (specifically CP-CtrlLog) CP-CtrlLog will also send the second type of metadata configuration information to the data plane of this node. Here, the second type of metadata configuration information is generated by the control plane of this node based on the flow aggregation information in the global planning information sent by the remote controller and the local configuration for flow aggregation, or it is the flow aggregation information in the global planning information of the deterministic flow sent by the remote controller, such as AggrFlowID, etc., which is not specifically limited in this embodiment. In this embodiment, the second type of metadata configuration information mainly includes metadata configuration information for deterministic flow aggregation. In specific implementation, for example, the second type of metadata configuration information here can be the above-mentioned AggrFlowID, etc., which can be referred to as aggregation information.
[0060] When the data plane receives the above-mentioned second-category metadata configuration information, it will generate a second-category metadata configuration table item (also referred to as a flow aggregation table item) and add it to the local second-category metadata configuration table. The second-category metadata configuration table item is used to record the fourth-category metadata (also called flow aggregation metadata) corresponding to the deterministic flow aggregation, which is equivalent to obtaining the metadata of the deterministic flow. The flow aggregation metadata will be described with an example below, which will not be repeated here. As another embodiment, CP-CtrlLog can also directly generate the above-mentioned second-category metadata configuration table item and send it to the data plane of this node. Under the premise that the above-mentioned deterministic flow session requirement is the requirement of the business message, the second-category metadata configuration table item here can be a deterministic flow aggregation table (FlowAggregatedTbles) item.
[0061] The above examples describe how a forwarding node of a deterministic flow obtains metadata of the deterministic flow.
[0062] Based on the above description, the method provided by the embodiment of the present application is described below with reference to FIG5 :
[0063] Referring to Figure 5, which is a flow chart of a method provided in an embodiment of the present application, the method is applied to a network node in a deterministic network.
[0064] As shown in Figure 5, the process may include the following steps:
[0065] Step 501: Receive a message.
[0066] As an embodiment, the network nodes to which the above method is applied may be the ingress node, egress node, and intermediate nodes between the ingress node and egress node of the message in the deterministic network, etc., which is not specifically limited in this embodiment.
[0067] As another embodiment, when a message passes through a deterministic network domain, the intermediate node is often responsible for forwarding, which is relatively simple to implement, while the message's ingress node and egress node may need to perform a series of processing actions on the message. Based on this, the network node to which the above method is applied can be the message's ingress node or egress node.
[0068] Optionally, in this embodiment, the above-mentioned message may be a service message belonging to a deterministic flow, or an OAM message of a deterministic flow, which is not specifically limited in this embodiment.
[0069] Step 502: Search for target metadata corresponding to the message in all the obtained metadata.
[0070] Based on the above-mentioned first-category metadata configuration table, second-category metadata configuration table, etc., this embodiment will directly obtain the above-mentioned target metadata. As an embodiment, the target metadata here includes at least the first-category metadata. The first-category metadata includes at least: a set of processing behaviors that have been arranged to be executed by this node for the above-mentioned message, and the target service level agreement (SLA) category to which the above-mentioned message belongs (the SLA category is described in step 503 below). The following will focus on describing the target metadata, which will not be repeated here.
[0071] In step 503, if the target SLA category is a specified SLA level, and the specified SLA level is used to indicate a set high real-time requirement, then the corresponding processing behavior is performed on the above-mentioned message according to the above-mentioned processing behavior set; otherwise, the above-mentioned message is sent to the cache queue corresponding to the target SLA category, so as to perform the corresponding processing behavior on the above-mentioned message in the cache queue based on the trigger event corresponding to the cache queue, and the processing behavior belongs to the above-mentioned processing behavior set.
[0072] In this embodiment, for some high real-time business requirements, this embodiment will pre-specify the corresponding SLA category (referred to as the specified SLA level). Once the above-mentioned target SLA category is the specified SLA level, it means that the message is a message with high real-time business requirements, and the corresponding processing behavior can be directly performed on the above-mentioned message according to the above-mentioned processing behavior set. Otherwise, the above-mentioned message is sent to the cache queue corresponding to the above-mentioned target SLA category, and based on the trigger event corresponding to the cache queue, such as timer timeout or external trigger, the corresponding processing behavior is performed on the above-mentioned message in the cache queue. The processing behavior belongs to the above-mentioned processing behavior set.
[0073] It should be noted that the above processing action set indicates the execution order of the processing actions. Based on this, in the above step 503, the corresponding processing actions can be executed on the message according to the above processing action set based on the execution order.
[0074] At this point, the process shown in FIG5 is completed.
[0075] As can be seen from the process shown in Figure 5, in this embodiment, a connection is established between the deterministic flow and the set of processing behaviors performed on the service messages belonging to the deterministic flow or the OAM messages of the deterministic flow through metadata, so as to realize deterministic flow processing behavior during the deterministic flow transmission process.
[0076] In this embodiment, the process shown in FIG. 1 can be applied to the data plane of a network node.
[0077] As an embodiment, the process shown in FIG5 can be specifically applied to a scheduling module deployed in a data plane of a network node for scheduling deterministic flows. Optionally, the scheduling module can be implemented by hardware.
[0078] Those skilled in the art will appreciate that deterministic flows carried in deterministic networks carry a wide variety of protocols. If the entire process shown in Figure 5 were centralized in the scheduling module, it would likely consume a significant amount of the scheduling module's hardware resources. Based on this, this embodiment also improves the aforementioned network node by deploying a software module suitable for flexible programming in the data plane of the aforementioned network node. Figure 6 illustrates an example of the improved network node.
[0079] As shown in FIG6 , the data plane of the network node deploys at least the above-mentioned software module and the above-mentioned scheduling module. As an embodiment, the scheduling module here can be implemented by hardware with high-performance real-time processing capabilities. The process shown in FIG6 can be implemented by the above-mentioned software module and scheduling module in combination.
[0080] Among them, the above-mentioned software module can execute the various stages (referred to as Pipeline Stages) shown in Figure 6, such as identifying the deterministic flow (for example, identifying whether the message is a service message of which deterministic flow or an OAM message of which deterministic flow), finding the target metadata corresponding to the message in all the obtained metadata, identifying the target SLA category to which the message belongs, and sending the message to the cache queue corresponding to the target SLA category when the target SLA category is not the specified SLA level. It should be noted that the above-mentioned software module is a module collection, and the modules therein may be distributed in multiple components of the network node, which is not specifically limited in this embodiment.
[0081] The above-mentioned scheduling module can perform corresponding processing behaviors on the above-mentioned message based on the set of processing behaviors for the above-mentioned message that have been arranged in the target metadata (the functions shown in Figure 6 can indicate the processing behaviors). After completing the processing, the message schedule is forwarded.
[0082] It can be seen that the process shown in Figure 5 is implemented through the cooperation of the above-mentioned software modules and scheduling modules, which can ensure the independence of the scheduling module based on hardware implementation. At the same time, with the help of the flexible programmable capabilities of the software modules, it can adapt to the transmission requirements of various deterministic flows, and can maximize the processing capabilities of network nodes for business messages or OAM messages of deterministic flows. It has very high scalability and is suitable for large-scale deterministic network applications. It is also suitable for implementation in high-, medium- and low-end network nodes (such as routers).
[0083] The following describes how to find the target metadata corresponding to the above message in the metadata corresponding to all the obtained service messages and / or OAM messages of the deterministic flow in the above step 502 provided by the embodiment of the present application:
[0084] After receiving a message, the network node will first parse the message header carried by the message to obtain message header information (Packet Header Info).
[0085] Optionally, if the packet is an IP packet, the Packet Header Info field includes the following information:
[0086] a.SourceIPAddress (source IP address);
[0087] b.DestinationIPAddress (destination IP address);
[0088] c.IPv6FlowLabel(flow label);
[0089] d.Dscp (Differentiated Services Code Point);
[0090] e.Protocol(protocol);
[0091] f.SourcePort(source port);
[0092] g.DestinationPort (destination port);
[0093] h. IPSecSpi: IPsec Security Parameter Index.
[0094] Optionally, if the packet is an MPLS packet, the Packet Header Info field includes the following information:
[0095] a.SLabel;
[0096] b.FLabelStack.
[0097] Afterwards, the network node (specifically, the data plane of the node) searches the first-category metadata configuration table entry corresponding to the deterministic flow in the first-category metadata configuration table described above based on the receiving port that received the message and the characteristic information of the deterministic flow carried by the Packet Header Info. In this embodiment, at least one piece of information carried by the Packet Header Info represents deterministic flow characteristic information. For example, when the message is an IP message, the source IP address, destination IP address, etc. carried by the message represent deterministic flow characteristic information; for another example, when the message is an MPLS message, the SLabel, etc. carried by the message represent deterministic flow characteristic information.
[0098] Finally, the network node (specifically, the data plane of the node) generates target metadata corresponding to the message according to the first-category metadata configuration table entry.
[0099] As an embodiment, the first type of metadata configuration table entry may include the following information:
[0100] a, The identifier of the deterministic flow DnFlowID.
[0101] b, Flow aggregation flag, can be represented by the address of the flow aggregation table (also known as the next-level table). When this flag is empty or the default value, it indicates that no aggregation is required for the deterministic flow. When the network node is an egress node or the message is an OAM message, if the flow aggregation flag is empty or the default value, it indicates that no aggregation is required for the deterministic flow.
[0102] c, IntrFlowID, is the IntrFlowID assigned to the deterministic flow to which the above message belongs. Its function is described above. For the message's ingress and egress nodes, which are two different nodes, the same deterministic flow or the same deterministic aggregate flow will be independently assigned IntrFlowIDs on different nodes. Different nodes can assign different IntrFlowIDs to the same deterministic flow or the same deterministic aggregate flow.
[0103] d. SLA category, as described above.
[0104] e, a cache queue number, is used to indicate the cache queue into which the message enters when the SLA category is not the specified SLA category.
[0105] f. Scheduling mechanism, used to indicate the scheduling and forwarding mechanism for the message, such as periodic scheduling (such as round-robin scheduling, deadline-based scheduling, or delay compensation scheduling), deduplication, sorting, and composite scheduling (combining data streams that have undergone different scheduling and scheduling them according to priority).
[0106] g) Processing action set, which indicates the processing actions to be performed on the packet, such as the PREOF set. The processing action sets for the ingress and egress nodes are generally different. For example, the processing action set for the ingress node may include flow identification, priority classification, flow aggregation, and packet replication. The processing action set for the egress node may include deduplication of multiple data packets based on the PREOF identifier in the metadata, delay compensation, and sorting.
[0107] h, hardware register index or address information, which is used to indicate the message sequence number (Sequence Number) of the message to facilitate message statistics.
[0108] i, the message's inbound port (the port where the message is received), tunnel information, and other information.
[0109] j, message type, such as measurement message, service message, etc.
[0110] k, the first node identifier.
[0111] l, tail node identifier, is used by a network node to identify whether it is a tail node.
[0112] Optionally, as an embodiment, all metadata except the stream aggregation identifier in the above-mentioned first-category metadata configuration table item can be referred to as third-category metadata.
[0113] As an embodiment, when the above-mentioned network node is the egress node of the message, or when the above-mentioned network node is the ingress node of the message and the above-mentioned message is an OAM message of a deterministic flow, as described above, the flow aggregation identifier in the above-mentioned first-category metadata configuration table item generally does not indicate the deterministic flow aggregation requirement. At this time, there are many ways to generate the target metadata corresponding to the message based on the first-category metadata configuration table item, such as directly determining multiple information in the above-mentioned first-category metadata configuration table item as the above-mentioned target metadata. In this embodiment, in addition to the flow aggregation identifier, the above-mentioned first-category metadata configuration table item such as DnFlowID, IntrFlowID, SLA category, cache queue number, scheduling mechanism, processing behavior set, hardware register index or address information, message ingress port (port where the message is received), tunnel information, etc. can be directly determined as the above-mentioned target metadata.
[0114] As another embodiment, when the above-mentioned network node is the ingress node of the above-mentioned message and the above-mentioned message is a service message belonging to a deterministic flow, if the flow aggregation identifier in the first-category metadata configuration table item indicates a deterministic flow aggregation requirement (for example, the above-mentioned flow aggregation identifier is not empty or the default value), then the above-mentioned generation of target metadata corresponding to the message based on the first-category metadata configuration table item may include: first generating candidate metadata corresponding to the above-mentioned message based on the above-mentioned first-category metadata configuration table item, and then searching for the second-category metadata configuration table item that matches the above-mentioned deterministic flow in the second-category metadata configuration table corresponding to the above-mentioned flow aggregation identifier based on at least one candidate metadata, and adjusting at least one candidate metadata based on the second-category metadata configuration table item to obtain the target metadata.
[0115] In this embodiment, there are many ways to generate candidate metadata corresponding to the above-mentioned message based on the metadata configuration table items, such as directly determining the multiple information contained in the above-mentioned first-category metadata configuration table items as candidate metadata. Here, multiple information contained in the flow aggregation identifier in the above-mentioned first-category metadata configuration table items, such as DnFlowID, IntrFlowID, SLA category, cache queue number, scheduling mechanism, processing behavior set, hardware register index or address information, message ingress port (port where the message is received), tunnel information, etc., can be directly determined as the above-mentioned candidate metadata.
[0116] In this embodiment, some candidate metadata obtained from the first type metadata configuration table items are not target metadata, and it is necessary to adjust at least one candidate metadata according to the second type metadata configuration table items to finally obtain the target metadata.
[0117] Optionally, the above-mentioned second-category metadata configuration table item will record metadata related to deterministic flow aggregation (i.e., the fourth-category metadata), such as: aggregate flow identifier AggrFlowID, flow aggregation identifier (which can be represented by the address of the flow aggregation table (also known as the next-level table). When it is empty or the default value, it means that there is no aggregation requirement for the deterministic flow), IntrFlowID, SLA category, cache queue number, scheduling mechanism, processing behavior set, hardware register index or address information, message inlet port (port where the message is received), tunnel information and other information.
[0118] Based on this, in this embodiment, the above-mentioned adjustment of candidate metadata based on the second-category metadata configuration table item may include: for each candidate metadata, searching for matching metadata (for example, metadata that represents the same meaning or belongs to the same type) from the above-mentioned second-category metadata configuration table item; if the metadata is found and the found metadata is different from the candidate metadata, then the candidate metadata is adjusted to the found metadata. Taking the candidate metadata as the SLA category as an example, the SLA category is first searched from the above-mentioned second-category metadata configuration table item; if it is found that the SLA category of the candidate metadata is different from the SLA category found in the second-category metadata configuration table item, then the SLA category in the above-mentioned candidate metadata is directly adjusted to the SLA category found in the second-category metadata configuration table item. Other similarities will not be repeated here. Ultimately, at least one candidate metadata is adjusted based on the metadata information in the second-category metadata configuration table item to obtain the target metadata.
[0119] As an embodiment, the target metadata in this embodiment may include: first-type metadata. The first-type metadata here may be used to indicate how to process the message within the node, and does not need to be communicated between different network nodes in the forwarding path of the message.
[0120] Based on the target metadata described above, the first type of metadata here may include, for example: the identifier of the deterministic flow DnFlowID or the identifier of the deterministic flow and the aggregate flow identifier AggrFlowID, the flow aggregation identifier, IntrFlowID, SLA category, cache queue number, scheduling mechanism, processing behavior set, the ingress port of the message (the port where the message is received), tunnel information and other information.
[0121] As another example, the target metadata in this embodiment may further include: second-category metadata. This second-category metadata is different from the first-category metadata described above. The second-category metadata can be encapsulated in the message and forwarded along the message's forwarding path to enable intercommunication between different network nodes along the forwarding path. In other words, the second-category metadata can be intercommunication data that is intercommunication between different network nodes along the forwarding path.
[0122] Optionally, based on the target metadata described above, the second type of metadata here is generally used to solve the conversion of deterministic flows to node internal IDs, so as to achieve at least one of the following purposes: redirecting deterministic flows to public tunnels, achieving deterministic flow aggregation, and mapping deterministic flows to node fixed hardware resources, etc.
[0123] Optionally, the second type of metadata may include hardware register index or address information, message type, tail node identifier (used to implement PREOF when the message is a measurement message), etc., which is not specifically limited in this embodiment.
[0124] It should be noted that the second type of metadata may be transmitted according to standard agreements when transmitted in the above forwarding path, and different protocols may require different second type of metadata.
[0125] Based on the first and second types of metadata described above, the messages exchanged between the ingress and egress nodes of the above-mentioned messages can carry the second type of metadata. Figure 7 uses the ingress node of a message as an example to illustrate that the message will carry the second type of metadata during transmission. As shown in Figure 7, the ingress node will determine the second type of metadata in the flow identification table (Flow Identify Tables) based on the message header information (Packet Header Info) and the receiving port information (Recv Channel Info) of the received message through control logic (Control) and send the second type of metadata together with the packet header information. Alternatively, the ingress node will determine the need for aggregation in the flow identification table (Flow Identify Tables) based on the message header information (Packet Header Info) and the receiving port information (Recv Channel Info) of the received message through control logic (Control), and first perform aggregation and determine the second type of metadata in the flow aggregated table (Flow Aggregated Tables) through control logic (Control), and send the second type of metadata together with the packet header information. Optionally, the above-mentioned Packet Header Info may carry the above-mentioned deterministic flow feature information, the above-mentioned flow identification table (Flow Identify Tables) may be the above-mentioned first-category metadata configuration table, and the above-mentioned aggregate flow table may be the above-mentioned second-category metadata configuration table.
[0126] Based on the above description and in combination with the original internal processing mechanism of the existing ingress node, this embodiment improves the internal processing mechanism, specifically by encapsulating the second type of metadata required in the service message or OAM message of the deterministic flow, specifically metadata data transmission as shown in FIG8 .
[0127] It should be noted that, in this embodiment, the deterministic flow will also be deleted according to actual business needs. For example, the process of deleting the deterministic flow (DetNet Flow) may be:
[0128] First, the remote controller receives a request to delete a deterministic streaming session. It then reclaims the planned resources for the deterministic stream, such as the forwarding path and global planning information, and sends a deletion message to the forwarding node for the deterministic stream. For more information about the forwarding node, see the description of the process for abstracting metadata for deterministic streams above.
[0129] After receiving the deletion message, the above-mentioned forwarding node searches for the DnFlowID or aggregate flow identifier AggrFlowID of the deterministic flow through the local controller according to the deletion message, and finds the corresponding deterministic flow characteristics on the data plane, such as the flow ID (which can be implemented through a five-tuple or a triple), and then carries the flow ID in the deletion notification and sends it to the data plane.
[0130] The above-mentioned data plane receives the deletion notification, deletes the local first-class metadata configuration table entry corresponding to the above-mentioned flow ID (that is, the local first-class metadata configuration table entry corresponding to the deterministic flow), and the corresponding second-class metadata configuration table entry when the deterministic flow has aggregation requirements. And according to the IntrFlowID assigned to the deterministic flow, clear / reclaim the hardware resources on the data plane occupied by the deterministic flow (such as the hardware resources in the high-performance real-time scheduling module. Of course, if there is an aging mechanism, there is no need for explicit clearing / reclaiming). Afterwards, the data plane responds with a corresponding message to the above-mentioned local controller. The local controller receives the data plane response message, reclaims the IntrFlowID, and deletes the deterministic flow management control information corresponding to the deterministic flow, such as the information in the flow mapping table entry. Finally, the deletion of the deterministic flow is achieved.
[0131] The above describes the method provided in the embodiment of the present application. The following describes the device provided in the embodiment of the present application:
[0132] See Figure 9, which is a diagram of the structure of a device provided in an embodiment of the present application. The device is applied to a network node in a deterministic network, and includes:
[0133] A receiving module, used for receiving messages;
[0134] a metadata module, configured to search for target metadata corresponding to the message from among all obtained metadata; the target metadata including at least first-category metadata, the first-category metadata including at least: a set of programmed processing actions to be performed by the node on the message, and a target service level agreement (SLA) category to which the message belongs;
[0135] a processing module configured to, when the target SLA category is a specified SLA level, where the specified SLA level is used to indicate a high real-time business requirement, trigger the scheduling module to perform a corresponding processing behavior on the message according to the processing behavior set; otherwise, send the message to a cache queue corresponding to the target SLA category, so that the scheduling module performs a corresponding processing behavior on the message in the cache queue based on a trigger event corresponding to the cache queue, where the processing behavior belongs to the processing behavior set.
[0136] Optionally, the network node is an ingress node of the message, and the message is an Operation, Maintenance and Management (OAM) message of a deterministic flow; or, the network node is an egress node of the message;
[0137] The step of searching for target metadata corresponding to the message in all the obtained metadata includes:
[0138] Based on the receiving port of the message and the deterministic flow feature information carried by the message, searching for a matching first-category metadata configuration table entry in a local first-category metadata configuration table; the first-category metadata configuration table entry records a flow aggregation identifier and third-category metadata; the third-category metadata refers to metadata other than the fourth-category metadata used for deterministic flow aggregation, and the third-category metadata is not used for deterministic flow aggregation;
[0139] If the flow aggregation identifier in the first-type metadata configuration table entry indicates that there is no aggregation requirement for the deterministic flow, then target metadata corresponding to the message is generated according to the first-type metadata configuration table entry.
[0140] Optionally, the network node is an ingress node of the message, and the message is a service message of a deterministic flow;
[0141] The step of searching for target metadata corresponding to the message in all the obtained metadata includes:
[0142] Based on the receiving port of the message and the deterministic flow feature information carried by the message, searching for a matching first-category metadata configuration table entry in a local first-category metadata configuration table; the first-category metadata configuration table entry records a flow aggregation identifier and third-category metadata; the third-category metadata refers to metadata other than the fourth-category metadata used for deterministic flow aggregation, and the third-category metadata is not used for deterministic flow aggregation;
[0143] If the flow aggregation identifier in the first-category metadata configuration table item indicates that there is an aggregation requirement for the deterministic flow, then first generate candidate metadata corresponding to the message based on the first-category metadata configuration table item, and then, based on at least one candidate metadata, find a matching second-category metadata configuration table item in the second-category metadata configuration table corresponding to the flow aggregation identifier, and adjust at least one candidate metadata based on the second-category metadata configuration table item to obtain the target metadata; the second-category metadata configuration table item records the fourth-category metadata used for deterministic flow aggregation.
[0144] Optionally, the target metadata also includes a second type of metadata, which is different from the first type of metadata and is used to encapsulate in the message and forward along the forwarding path of the message; the second type of metadata is data that is intercommunication between different network nodes on the forwarding path.
[0145] Optionally, the first type of metadata further includes: an internal flow identifier IntrFlowID; IntrFlowID is an internal flow identifier in the set of IntrFlowIDs of deterministic flows that the node is allowed to support; the IntrFlowID is associated with the hardware resources of the node on the data plane;
[0146] The IntrFlowID is used as a basis for reclaiming the hardware resources when the deterministic flow is deleted.
[0147] Optionally, the first-category metadata configuration table entry is generated by a software module or hardware module deployed on the data plane of the local node based on the first-category metadata configuration information sent by the control plane of the local node; the first-category metadata configuration information is generated by a local controller deployed on the control plane of the local node based on the deterministic flow information sent by the remote controller, or is sent by the remote controller to the control plane of the local node; or,
[0148] The first-category metadata configuration table entry is sent by the control plane of the node to a software module or hardware module deployed on the data plane of the node; the first-category metadata configuration table entry is generated by a local controller on the control plane of the node based on deterministic flow information sent by a remote controller, or is sent by a remote controller to the control plane of the node;
[0149] The second-category metadata configuration table entry is generated by a software module or hardware module deployed on the data plane of the node based on the second-category metadata configuration information sent by the control plane of the node; the second-category metadata configuration information is generated by a local controller deployed on the control plane of the node based on the flow aggregation information sent by the remote controller and the local flow aggregation configuration of the local controller, or is sent by the remote controller to the control plane of the node; or
[0150] The second type of metadata configuration table items are sent from the control plane of this node to the data plane of this node. The second type of metadata configuration table items are generated by the local controller deployed on the control plane of this node based on the flow aggregation information sent by the remote controller and the local flow aggregation configuration of the local controller, or are sent from the remote controller to the control plane of this node.
[0151] Optionally, when the deterministic flow needs to be deleted, if the data plane of the current node has a first-type metadata configuration table entry that matches the deterministic flow, the processing module controls the software module or hardware module on the data plane of the current node to delete the first-type metadata configuration table entry that matches the deterministic flow, and, if the data plane of the current node has a second-type metadata configuration table entry that matches the deterministic flow, the processing module controls the software module or hardware module on the data plane of the current node to delete the second-type metadata configuration table entry that matches the deterministic flow, and controls the local controller on the control plane of the current node to delete the existing deterministic flow management control information that matches the deterministic flow.
[0152] At this point, the structural description of the device shown in FIG9 is completed.
[0153] See Figure 10, which is a structural diagram of another device provided in an embodiment of the present application. The device is applied to a network node in a deterministic network for transmitting service messages or operation, maintenance and management (OAM) messages of a deterministic flow, wherein the network node includes a local controller deployed in a control plane and at least one module deployed in a data plane;
[0154] The local controller on the local control plane includes at least:
[0155] a control plane logic control module, configured to record, on the control plane, deterministic flow management control information corresponding to the deterministic flow based on the global planning information of the deterministic flow issued by the remote controller, wherein the deterministic flow management control information includes at least the global planning information, an index of a deterministic flow parameter table entry related to the deterministic flow, an index of a scheduling table entry for the deterministic flow, and an internal flow identifier IntrFlowID currently allocated by the local controller to the deterministic flow;
[0156] A deterministic flow management object module is used to send first-class metadata configuration information to the data plane of this node so that one of the modules on the local data plane generates a local first-class metadata configuration table item based on the first-class metadata configuration information and adds it to the local first-class metadata configuration table, or to send the local first-class metadata configuration table item to the data plane of this node through the local controller on the local control plane so that one of the modules on the local data plane adds it to the local first-class metadata configuration table; the first-class metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-class metadata configuration information is generated by the local controller on the control plane of this node based on the global planning information of the deterministic flow sent by the remote controller and the configuration for the deterministic flow obtained by the local controller, or is part of the global planning information of the deterministic flow sent by the remote controller.
[0157] Optionally, the deterministic flow management object module further, when there is a demand for aggregation of the deterministic flow,
[0158] Sending the second-category metadata configuration information to the data plane of the local node so that one of the modules on the local data plane generates a local second-category metadata configuration table entry based on the second-category metadata configuration information and adds the entry to the local second-category metadata configuration table; or sending the local second-category metadata configuration table entry to the data plane of the local node so that one of the modules on the local data plane adds the entry to the local second-category metadata configuration table;
[0159] Among them, the second type of metadata configuration information includes metadata configuration information for deterministic flow aggregation, and the second type of metadata configuration information is generated by the local controller on the control plane of this node based on the flow aggregation information in the global planning information of the deterministic flow sent by the remote controller and the local flow aggregation configuration for the deterministic flow, or is the flow aggregation information in the global planning information of the deterministic flow sent by the remote controller.
[0160] An embodiment of the present application further provides a network node, which is a network node for transmitting service messages or operation, maintenance and management (OAM) messages of a deterministic flow in a deterministic network; the network node includes a local controller deployed in a control plane and at least one module deployed in a data plane;
[0161] The local controller is specifically described above.
[0162] At least one module deployed on the data plane includes a hardware module for scheduling message forwarding, and the hardware module executes the steps in the method shown in Figure 5 above; or, at least one module deployed on the data plane includes a software module and a hardware module for scheduling message forwarding; the software module and the hardware module cooperate to execute the steps in the method shown in Figure 5 above; the hardware module is responsible for performing corresponding processing actions on the message, and the software module executes the remaining steps.
[0163] Based on the same application concept as the above method, an embodiment of the present application also provides a machine-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed by a processor, the method disclosed in the above example of the present application can be implemented.
[0164] Exemplarily, the machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, a storage drive (such as a hard disk drive), a solid-state drive, any type of storage disk (such as a CD, DVD, etc.), or similar storage media, or a combination thereof.
[0165] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.
[0166] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0167] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0168] The present application is described with reference to the flow chart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.
[0169] Moreover, these computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0170] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0171] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application should be included within the scope of the claims of the present application.
Claims
1. A deterministic stream transmission method, characterized in that: The method is applied to a network node in a deterministic network, and the method comprises: receiving a message, and searching for target metadata corresponding to the message in all metadata obtained; the target metadata at least includes first-category metadata, and the first-category metadata at least includes: a set of processing actions that have been programmed to be performed by the node on the message, and a target service level agreement (SLA) category to which the message belongs; If the target SLA category is a specified SLA level, and the specified SLA level is used to indicate a high real-time business requirement, a corresponding processing behavior is performed on the message according to the processing behavior set; otherwise, the message is sent to a cache queue corresponding to the target SLA category, so as to perform a corresponding processing behavior on the message in the cache queue based on a trigger event corresponding to the cache queue, and the processing behavior belongs to the processing behavior set.
2. The method according to claim 1, characterized in that: The network node is an ingress node of the message, and the message is an operation, maintenance and management (OAM) message of a deterministic flow; or, The network node is an egress node of the message; The step of searching for target metadata corresponding to the message in all the obtained metadata includes: Based on the receiving port receiving the message and the deterministic flow feature information carried by the message, searching for a matching first-category metadata configuration table item in a local first-category metadata configuration table; the first-category metadata configuration table item records a flow aggregation identifier and third-category metadata; the third-category metadata refers to metadata other than the fourth-category metadata used for deterministic flow aggregation, and the third-category metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first-type metadata configuration table entry indicates that there is no aggregation requirement for the deterministic flow, then the target metadata corresponding to the message is generated according to the first-type metadata configuration table entry.
3. The method according to claim 1, characterized in that The network node is an ingress node of the message, and the message is a service message of a deterministic flow; The step of searching for target metadata corresponding to the message in all the obtained metadata includes: Based on the receiving port receiving the message and the deterministic flow feature information carried by the message, searching for a matching first-category metadata configuration table item in a local first-category metadata configuration table; the first-category metadata configuration table item records a flow aggregation identifier and third-category metadata; the third-category metadata refers to metadata other than the fourth-category metadata used for deterministic flow aggregation, and the third-category metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first-category metadata configuration table item indicates that there is an aggregation requirement for the deterministic flow, first generate candidate metadata corresponding to the message based on the first-category metadata configuration table item, and then, based on at least one candidate metadata, find a matching second-category metadata configuration table item in the second-category metadata configuration table corresponding to the flow aggregation identifier, and adjust at least one candidate metadata based on the second-category metadata configuration table item to obtain the target metadata; the second-category metadata configuration table item records the fourth-category metadata used for deterministic flow aggregation.
4. The method according to any one of claims 1 to 3, characterized in that: The target metadata also includes a second type of metadata, which is different from the first type of metadata and is used to be encapsulated in the message and forwarded along the forwarding path of the message; the second type of metadata is data that is interoperable on different network nodes on the forwarding path.
5. The method according to claim 1, characterized in that The first type of metadata also includes: an internal flow identifier IntrFlowID; IntrFlowID is an internal flow identifier in the IntrFlowID set of deterministic flows that the node is allowed to support; the IntrFlowID is associated with the hardware resources of the node on the data plane; The IntrFlowID is used as a basis for reclaiming the hardware resources when the deterministic flow is deleted.
6. The method according to claim 3, characterized in that The first-category metadata configuration table entry is generated by a software module or a hardware module deployed on the data plane of the node based on the first-category metadata configuration information sent by the control plane of the node; the first-category metadata configuration information is generated by a local controller deployed on the control plane of the node based on the deterministic flow information sent by a remote controller, or is sent by the remote controller to the control plane of the node; or, The first type of metadata configuration table items are sent from the control plane of the node to the data plane of the node. The first type of metadata configuration table item is generated by the local controller on the control plane of this section based on the deterministic flow information sent by the remote controller, or is sent by the remote controller to the control plane of this node.
7. The method according to claim 3, characterized in that The second-category metadata configuration table entry is generated by a software module or a hardware module deployed on the data plane of the node based on the second-category metadata configuration information sent by the control plane of the node; the second-category metadata configuration information is generated by a local controller deployed on the control plane of the node based on the flow aggregation information sent by the remote controller and the local flow aggregation configuration of the local controller, or is sent by the remote controller to the control plane of the node; or, The second-type metadata configuration table items are sent from the control plane of the current node to the data plane of the current node. The second-type metadata configuration table items are generated by a local controller deployed on the control plane of the current node based on the flow aggregation information sent by the remote controller and the local flow aggregation configuration of the local controller, or are sent from the remote controller to the control plane of the current node.
8. The method according to claim 6 or 7, characterized in that: The method further comprises: When it is necessary to delete the deterministic flow, if the data plane of the current node has a first-class metadata configuration table item that matches the deterministic flow, the software module or hardware module on the data plane of the current node is controlled to delete the first-class metadata configuration table item that matches the deterministic flow, and, if the data plane of the current node has a second-class metadata configuration table item that matches the deterministic flow, the software module or hardware module on the data plane of the current node is controlled to delete the second-class metadata configuration table item that matches the deterministic flow, and the local controller on the control plane of the current node is controlled to delete the existing deterministic flow management control information that matches the deterministic flow.
9. A deterministic stream transmission method, characterized in that: The method is applied to a network node for transmitting service messages or operation, maintenance and management (OAM) messages of a deterministic flow in a deterministic network, wherein the network node includes a local controller deployed on a control plane and at least one module deployed on a data plane; the method includes: Recording, by a local controller on a local control plane, deterministic flow management control information corresponding to the deterministic flow on the control plane according to the global planning information of the deterministic flow sent by the remote controller, wherein the deterministic flow management control information at least includes the global planning information, an index of a deterministic flow parameter table item related to the deterministic flow, an index of a scheduling table item of the deterministic flow, and an internal flow identifier IntrFlowID currently allocated by the local controller to the deterministic flow; The first-category metadata configuration information is sent to the data plane of the current node through the local controller on the local control plane so that one of the modules on the local data plane generates a local first-category metadata configuration table item based on the first-category metadata configuration information and adds it to the local first-category metadata configuration table, or the local first-category metadata configuration table item is sent to the data plane of the current node through the local controller on the local control plane so that one of the modules on the local data plane adds it to the local first-category metadata configuration table; the first-category metadata configuration information does not include metadata configuration information for deterministic stream aggregation; the first-category metadata configuration information is generated by the local controller on the control plane of the current node based on the global planning information of the deterministic stream sent by the remote controller and the configuration for the deterministic stream that the local controller has obtained, or is part of the information in the global planning information of the deterministic stream sent by the remote controller.
10. The method according to claim 9, characterized in that The method further comprises: When there is a demand for aggregation of deterministic streams, Sending the second-category metadata configuration information to the data plane of the local node through the local controller on the local control plane, so that one of the modules on the local data plane generates a local second-category metadata configuration table item according to the second-category metadata configuration information and adds it to the local second-category metadata configuration table; or, sending the local second-category metadata configuration table item to the data plane of the local node through the local controller on the local control plane, so that one of the modules on the local data plane adds it to the local second-category metadata configuration table; The second type of metadata configuration information includes metadata configuration information for deterministic flow aggregation, and the second type of metadata configuration information is generated by a local controller on the control plane of the node based on flow aggregation information in the global planning information of the deterministic flow sent by the remote controller and the local flow aggregation configuration for the deterministic flow, or The latter is the flow aggregation information in the global planning information of the deterministic flow sent by the remote controller.
11. A deterministic stream transmission device, characterized in that: The device is applied to a network node in a deterministic network, and includes: A receiving module, used for receiving messages; A metadata module, configured to search for target metadata corresponding to the message in all metadata obtained; the target metadata includes at least first-category metadata, the first-category metadata includes at least: a set of processing actions that have been programmed to be executed by the node for the message, and a target service level agreement (SLA) category to which the message belongs; A processing module is used to trigger the scheduling module to perform corresponding processing behaviors on the message according to the processing behavior set when the target SLA category is a specified SLA level, and the specified SLA level is used to indicate a high real-time business requirement; otherwise, the message is sent to a cache queue corresponding to the target SLA category, so that the scheduling module performs corresponding processing behaviors on the message in the cache queue based on a trigger event corresponding to the cache queue, and the processing behavior belongs to the processing behavior set.
12. The device according to claim 11, characterized in that The network node is an ingress node of the message, and the message is an operation, maintenance and management (OAM) message of a deterministic flow; or, the network node is an egress node of the message; The step of searching for target metadata corresponding to the message in all the obtained metadata includes: Based on the receiving port receiving the message and the deterministic flow feature information carried by the message, searching for a matching first-category metadata configuration table item in a local first-category metadata configuration table; the first-category metadata configuration table item records a flow aggregation identifier and third-category metadata; the third-category metadata refers to metadata other than the fourth-category metadata used for deterministic flow aggregation, and the third-category metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first-type metadata configuration table entry indicates that there is no aggregation requirement for the deterministic flow, then the target metadata corresponding to the message is generated according to the first-type metadata configuration table entry.
13. The device according to claim 11, characterized in that The network node is an ingress node of the message, and the message is a service message of a deterministic flow; The step of searching for target metadata corresponding to the message in all the obtained metadata includes: Based on the receiving port receiving the message and the deterministic flow feature information carried by the message, searching for a matching first-category metadata configuration table item in a local first-category metadata configuration table; the first-category metadata configuration table item records a flow aggregation identifier and third-category metadata; the third-category metadata refers to metadata other than the fourth-category metadata used for deterministic flow aggregation, and the third-category metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first-category metadata configuration table item indicates that there is an aggregation requirement for the deterministic flow, first generate candidate metadata corresponding to the message based on the first-category metadata configuration table item, and then, based on at least one candidate metadata, find a matching second-category metadata configuration table item in the second-category metadata configuration table corresponding to the flow aggregation identifier, and adjust at least one candidate metadata based on the second-category metadata configuration table item to obtain the target metadata; the second-category metadata configuration table item records the fourth-category metadata used for deterministic flow aggregation.
14. The device according to any one of claims 11 to 13, characterized in that: The target metadata also includes a second type of metadata, which is different from the first type of metadata and is used to be encapsulated in the message and forwarded along the forwarding path of the message; the second type of metadata is data that is interoperable on different network nodes on the forwarding path.
15. The device according to claim 11, characterized in that The first type of metadata also includes: an internal flow identifier IntrFlowID; IntrFlowID is an internal flow identifier in the IntrFlowID set of deterministic flows that the node is allowed to support; the IntrFlowID is associated with the hardware resources of the node on the data plane; The IntrFlowID is used as a basis for reclaiming the hardware resources when the deterministic flow is deleted.
16. The device according to claim 13, characterized in that The first-category metadata configuration table entry is generated by a software module or a hardware module deployed on the data plane of the node based on the first-category metadata configuration information sent by the control plane of the node; the first-category metadata configuration information is generated by a local controller deployed on the control plane of the node based on the deterministic flow information sent by a remote controller, or is sent by the remote controller to the control plane of the node; or, The first type of metadata configuration table item is sent from the control plane of the node to the software module or hardware module deployed on the data plane of the node; the first type of metadata configuration table item is generated by the local controller on the control plane of this section based on the deterministic flow information sent by the remote controller, or is sent from the remote controller to the control plane of the node; The second-category metadata configuration table entry is generated by a software module or a hardware module deployed on the data plane of the node based on the second-category metadata configuration information sent by the control plane of the node; the second-category metadata configuration information is generated by a local controller deployed on the control plane of the node based on the flow aggregation information sent by the remote controller and the local flow aggregation configuration of the local controller, or is sent by the remote controller to the control plane of the node; or, The second-type metadata configuration table items are sent from the control plane of the current node to the data plane of the current node. The second-type metadata configuration table items are generated by a local controller deployed on the control plane of the current node based on the flow aggregation information sent by the remote controller and the local flow aggregation configuration of the local controller, or are sent from the remote controller to the control plane of the current node.
17. The device according to claim 16, characterized in that When the deterministic flow needs to be deleted, the processing module controls the software module or hardware module on the data plane of the node to delete the first type of metadata configuration table item that matches the deterministic flow if the data plane of the node has a first type of metadata configuration table item that matches the deterministic flow, and controls the software module or hardware module on the data plane of the node to delete the second type of metadata configuration table item that matches the deterministic flow if the data plane of the node has a second type of metadata configuration table item that matches the deterministic flow, and controls the local controller on the control plane of the node to delete the existing deterministic flow management control information that matches the deterministic flow.
18. A deterministic stream transmission device, characterized in that: The device is applied to a network node for transmitting service messages or operation maintenance management (OAM) messages of a deterministic flow in a deterministic network, wherein the network node includes a local controller deployed on a control plane and at least one module deployed on a data plane; The local controller on the local control plane includes at least: A control plane logic control module, configured to record, on the control plane, the deterministic flow management control information corresponding to the deterministic flow according to the global planning information of the deterministic flow sent by the remote controller, wherein the deterministic flow management control information at least includes the global planning information, the index of the deterministic flow parameter table item related to the deterministic flow and the index of the scheduling table item of the deterministic flow, and the internal flow identifier IntrFlowID currently allocated by the local controller to the deterministic flow; A deterministic flow management object module is used to send first-class metadata configuration information to the data plane of this node so that one of the modules on the local data plane generates a local first-class metadata configuration table item based on the first-class metadata configuration information and adds it to the local first-class metadata configuration table, or sends the local first-class metadata configuration table item to the data plane of this node through a local controller on a local control plane so that one of the modules on the local data plane adds it to the local first-class metadata configuration table; the first-class metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-class metadata configuration information is generated by the local controller on the control plane of this node based on the global planning information of the deterministic flow sent by the remote controller and the configuration for the deterministic flow obtained by the local controller, or is part of the global planning information of the deterministic flow sent by the remote controller.
19. The device according to claim 18, characterized in that The deterministic stream management object module further, when there is a demand for aggregation of the deterministic stream, Sending the second-category metadata configuration information to the data plane of the local node so that one of the modules on the local data plane generates a local second-category metadata configuration table entry according to the second-category metadata configuration information and adds the entry to the local second-category metadata configuration table; Alternatively, the local second-category metadata configuration table entry is sent to the data plane of the node so that one of the modules on the local data plane adds the entry to the local second-category metadata configuration table; The second type of metadata configuration information includes metadata configuration information for deterministic stream aggregation, and the second type of metadata configuration information is a deterministic configuration information issued by a local controller on the control plane of the node based on the remote controller. The flow aggregation information in the global planning information of the deterministic flow and the flow aggregation configuration generated locally for the deterministic flow, or the flow aggregation information in the global planning information of the deterministic flow sent by the remote controller.
20. A network node, characterized in that: The network node is a network node for transmitting service messages or operation maintenance management (OAM) messages of a deterministic flow in a deterministic network; the network node includes a local controller deployed on a control plane and at least one module deployed on a data plane; The local controller performs the steps in any one of the methods of claims 9 to 10; At least one module deployed on the data plane includes a hardware module for scheduling message forwarding, and the hardware module executes the steps in the method as described in any one of claims 1 to 8; or, at least one module deployed on the data plane includes a software module and a hardware module for scheduling message forwarding; the software module and the hardware module cooperate to execute the steps in the method as described in any one of claims 1 to 8; the hardware module is responsible for performing corresponding processing actions on the message, and the software module executes the remaining steps.
Citation Information
Patent Citations
Deterministic network system and transmission method of deterministic service
CN114363182A
Deterministic flow forwarding method and device, storage medium and electronic device
CN115665024A
Deterministic flow transmission method and device
CN116530141A
Data transmission method and device for wide area deterministic network
CN116614370A
Message transmission method and network equipment
CN116686272A