Deterministic streaming method, apparatus and network node

By introducing a metadata management mechanism into network nodes, the challenge of packet processing in wide-area deterministic networks is solved, enabling efficient processing of deterministic streams and meeting high real-time service requirements, thereby improving the processing capacity and scalability of network nodes.

CN119948843BActive Publication Date: 2025-11-25NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380010502.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-05
Publication Date
2025-11-25
Estimated Expiration
2043-09-05

AI Technical Summary

Technical Problem

In wide-area deterministic networks, network nodes need to perform deterministic stream processing behaviors such as packet identification, copying, deletion, and sorting, but existing technologies struggle to effectively address these issues.

Method used

By introducing a metadata management mechanism into network nodes, including metadata configuration and processing behavior orchestration for deterministic flows, and combining the collaborative work of the control plane and data plane, the processing behavior of deterministic flows can be realized.

Benefits of technology

It achieves efficient processing of deterministic streams, meets the requirements of high real-time services, and optimizes the processing capabilities and scalability of network nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119948843B_ABST
    Figure CN119948843B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a deterministic streaming method, device and network node. The embodiment establishes a deterministic flow through metadata and links a processing behavior set performed on a service message belonging to the deterministic flow or an OAM message of the deterministic flow, so as to realize the deterministic flow processing behavior in the deterministic streaming process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to network communication technology, and in particular to deterministic streaming methods, apparatus and network nodes. Background Technology

[0002] In wide-area deterministic networks, network nodes, such as ingress nodes, engress nodes, and intermediate nodes between ingress and engress nodes, need to not only identify various types of data packets as deterministic flows, but also implement functions such as a collective name for packet replication, elimination, and ordering functions (PREOF), and latency compensation (referred to as deterministic flow processing behavior). Therefore, how to implement deterministic flow processing behavior during deterministic flow transmission is a pressing technical problem that needs to be solved. Summary of the Invention

[0003] This application provides a deterministic stream transmission method and network node to implement deterministic stream processing behavior during deterministic stream transmission.

[0004] This application provides a deterministic streaming method, which is applied to network nodes in a deterministic network. The method includes:

[0005] Upon receiving a message, the target metadata corresponding to the message is located among all the acquired metadata. The target metadata includes at least a first type of metadata, which includes at least: a set of processed actions to be performed by this node for the message, and the target service level agreement (SLA) category to which the message belongs.

[0006] If the target SLA category is a specified SLA level, which indicates high real-time service requirements, then the corresponding processing behavior is performed on the message according to the set of processing behaviors. Otherwise, the message is sent to the cache queue corresponding to the target SLA category, so that the message in the cache queue is processed according to the trigger event corresponding to the cache queue, and the processing behavior belongs to the set of processing behaviors.

[0007] A deterministic stream 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 stream. The network node includes a local controller deployed in the control plane and at least one module deployed in the data plane. The method includes:

[0008] Based on the global planning information of the deterministic flow issued by the remote controller, the local controller on the local control plane records the deterministic flow management and control information corresponding to the deterministic flow on the control plane. The deterministic flow management and control information includes at least the global planning information, the index of the deterministic flow parameter table entries related to the deterministic flow, the index of the scheduling table entries of the deterministic flow, and the internal flow identifier IntrFlowID currently assigned to the deterministic flow by the local controller.

[0009] The local controller on the local control plane sends first-type metadata configuration information to the data plane of this node, so that one of the modules on the local data plane can generate local first-type metadata configuration table entries based on the first-type metadata configuration information and add them to the local first-type metadata configuration table. Alternatively, the local controller on the local control plane sends local first-type metadata configuration table entries to the data plane of this node, so that one of the modules on the local data plane can add them to the local first-type metadata configuration table. The first-type metadata configuration information does not include metadata configuration information for deterministic flow aggregation. The first-type 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 obtained by the local controller for the deterministic flow, or it is part of the information in the global planning information of the deterministic flow sent by the remote controller.

[0010] A deterministic streaming device, applied to a network node in a deterministic network, the device comprising:

[0011] The receiving module is used to receive messages;

[0012] The metadata module is used to find the target metadata corresponding to the message among all the acquired metadata; the target metadata includes at least a first type of metadata, which includes at least: a set of processed actions to be performed by this node for the message, and the target service level agreement (SLA) category to which the message belongs;

[0013] The processing module is configured to, when the target SLA category is a specified SLA level, the specified SLA level being used to indicate high real-time service requirements, trigger the scheduling module to execute the corresponding processing behavior on the packet according to the processing behavior set; otherwise, send the packet to the cache queue corresponding to the target SLA category, so that the scheduling module can execute the corresponding processing behavior on the packet in the cache queue based on the trigger event corresponding to the cache queue, and the processing behavior belongs to the processing behavior set.

[0014] A deterministic stream transmission apparatus is applied to a network node in a deterministic network for transmitting service messages or operation and maintenance management (OAM) messages of deterministic streams, the network node comprising a local controller deployed in the control plane and at least one module deployed in the data plane.

[0015] The local controller on the local control plane includes at least:

[0016] The control plane logic control module is used to record the deterministic flow management control information corresponding to the deterministic flow on the control plane based on the global planning information of the deterministic flow issued by the remote controller. The deterministic flow management control information includes at least the global planning information, the index of the deterministic flow parameter table entries related to the deterministic flow, the index of the scheduling table entries of the deterministic flow, and the internal flow identifier IntrFlowID currently allocated by the local controller for the deterministic flow.

[0017] The deterministic flow management object module is used to send first-type metadata configuration information to the data plane of this node so that one of the modules on the local data plane can generate local first-type metadata configuration table entries based on the first-type metadata configuration information and add them to the local first-type metadata configuration table, or send local first-type metadata configuration table entries 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 can add them to the local first-type metadata configuration table; the first-type metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-type 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 obtained by the local controller for the deterministic flow, or it is part of the information in the global planning information of the deterministic flow sent by the remote controller.

[0018] A network node is a network node in a deterministic network used for transmitting deterministic flow service messages or operation, maintenance and management (OAM) messages; the network node includes a local controller deployed in the control plane and at least one module deployed in the data plane;

[0019] The local controller performs the steps in the second method described above;

[0020] At least one module deployed in the data plane includes a hardware module for scheduling packet forwarding, the hardware module performing the steps of the first method above; or, at least one module deployed in the data plane includes a software module and a hardware module for scheduling packet forwarding; the software module and the hardware module cooperate to perform the steps of the first method above; the hardware module is responsible for performing corresponding processing actions on the packet, and the software module performs the remaining steps.

[0021] As can be seen from the above technical solutions, in the embodiments of this application, a connection is established between a deterministic flow and a set of processing behaviors performed on the service messages or OAM messages belonging to the deterministic flow through metadata, so as to realize deterministic flow processing behavior during the deterministic flow transmission process. Attached Figure Description

[0022] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0023] Figure 1 This is a network structure diagram provided for an embodiment of this application;

[0024] Figure 2 A functional structure diagram of the local controller provided in the embodiments of this application;

[0025] Figure 3 This is a schematic diagram illustrating the association between deterministic flow and hardware resources provided in an embodiment of this application.

[0026] Figure 4 This is a schematic diagram of the network node data plane provided in an embodiment of this application;

[0027] Figure 5 A flowchart illustrating the method provided in this application embodiment;

[0028] Figure 6 An improved network node structure diagram provided in the embodiments of this application;

[0029] Figure 7 This is a schematic diagram of message encapsulation metadata provided in the embodiments of this application;

[0030] Figure 8 This is a schematic diagram of the ingress node internal message processing mechanism provided in the embodiments of this application;

[0031] Figure 9 This is a structural diagram of the device provided in the embodiments of this application;

[0032] Figure 10 Another device structure diagram provided for an embodiment of this application. Detailed Implementation

[0033] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application.

[0034] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application are also intended to include the plural forms unless the context clearly indicates otherwise.

[0035] To implement processing behaviors for deterministic streams during deterministic stream transmission, embodiments of this application abstract corresponding metadata for the deterministic stream. It should be noted that the metadata of a deterministic stream can be metadata for service messages belonging to that deterministic stream, or metadata for operation administration and maintenance (OAM) messages belonging to that deterministic stream. As described below, the determination methods for the metadata of service messages belonging to that deterministic stream and the metadata of OAM messages belonging to that deterministic stream are similar; embodiments of this application collectively refer to them as the metadata of the deterministic stream.

[0036] Optionally, in this embodiment, the metadata of the deterministic flow can be managed and controlled by the remote controller and the local controller of the network node in the deterministic network in the control plane, as well as the data plane, to achieve the final abstraction of the metadata of the deterministic flow. Figure 1 An example of the corresponding network structure is shown.

[0037] In practical implementation, the local controller of the aforementioned network node can be used to orchestrate the processing behavior orchestration information of the deterministic flow (including at least a set of different processing behaviors for the service packets or OAM of the deterministic flow) and respond to the global planning information of the remote controller for the deterministic flow. It also controls the local node's data plane to generate metadata for the deterministic flow based on the processing behavior orchestration information and the global planning information. Here, the global planning information may be, for example, a globally unique flow identifier (DnFlowID) for the deterministic flow within the deterministic domain, and a globally unique aggregation flow identifier (AggrFlowID) for the deterministic flow when there is a flow aggregation requirement, as illustrated below. Here, DnFlowID and AgggrFlowID can be 28-bit integers, assigned by the remote controller.

[0038] As an example, Figure 2For example, the local controller of the above network node can be implemented through the following functional modules: Control Plane Logic (CP Control Logic, abbreviated as CP-CtrlLog) and Deterministic Flow Management Object (FlowMgmtObjs).

[0039] Among them, CP-CtrlLog is used to implement control management and respond to external messages, including creation and deletion deterministic flows from remote controllers, global planning information of deterministic flows from remote controllers, and policy control messages. It decomposes messages into several operations and coordinates with relevant components to complete these operations.

[0040] FlowMgmtObjs is used to implement deterministic flow management and control information, enabling the addition, deletion, and modification of deterministic flow information. Here, the purpose of deterministic flow management and control information is to record information corresponding to deterministic flows, such as the aforementioned global planning information (e.g., the DnFlowID of the deterministic flow and the AggrFlowID when the deterministic flow has flow aggregation requirements), the dynamically assigned internal flow identifier (IntrFlowID) for the deterministic flow, the index of the deterministic flow parameter table entries related to the deterministic flow on this node, and the index of the deterministic flow scheduling table entries. As an example, deterministic flow management and control information can be recorded through flow map table (FlowMapTbl) entries on the control plane.

[0041] In this embodiment, IntrFlowID is an internal flow identifier from the set of internal flow identifiers (IntrFlowIDs) supported by this node. In this embodiment, IntrFlowIDs are divided into several subsets, each used to indicate deterministic flows with different specific requirements for hardware resources. For example, the internal flow identifier subset is 1 to 999, which is used to identify deterministic flows that require fixed allocation of hardware resources. This implicitly implies a binding (or association) between the deterministic flow and the hardware resources. Figure 3 An example diagram illustrating the relationship is provided. Figure 3 As shown, the aggregate flow 1 (Aggre flow1) formed by aggregating flow1 and flow2 is assigned an IntrFlowID of 000, and its association is as follows: Figure 3 The 000 in the middle points to the hardware resource; similarly, flow3 is assigned an IntrFlowID of 001, and their association is as follows: Figure 3 The hardware resource pointed to by 001.

[0042] Based on the association between deterministic flows and hardware resources, this embodiment can facilitate the management of deterministic flows by assigning IntrFlowIDs to them. However, since hardware resources are limited, when a deterministic flow is deleted, the hardware resources bound to that flow must be promptly reclaimed based on the IntrFlowID assigned to it.

[0043] As an example, the aforementioned deterministic flow parameter table includes multiple deterministic flow parameter entries. Each deterministic flow corresponds to at least one deterministic flow parameter entry. The deterministic flow parameter entry corresponding to a deterministic flow is used to maintain orchestration information for processing behaviors related to the deterministic flow, which includes at least: the orchestration of pipeline stages for each processing behavior in the set of processing behaviors for the service messages or OAM messages of the deterministic flow, queuing characteristics (e.g., indicating which buffer queue to enter), exception handling methods, and whether latency compensation is performed. Optionally, the set of processing behaviors here may include different processing behaviors, such as flow identification, priority classification, flow aggregation, packet duplication, deduplication, sorting, and latency compensation.

[0044] Optionally, the aforementioned deterministic flow parameter entries may be software parameter entries (SwParamTbles) that can be called by software modules, such as software modules with flexible programming capabilities deployed in the data plane of this node, or hardware parameter entries (HwParamTbles) that can be called by hardware modules, such as scheduling modules deployed in the data plane of this node. This embodiment does not specifically limit the types of entries.

[0045] As an example, the above-mentioned scheduling entries represent the hardware parameters invoked by the hardware scheduling module deployed on the data plane of this node. They may include 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 packet deletion mechanism executed at the outgoing node of the deterministic flow (if the Time Compensation mechanism is used, then the aging mechanism is not required), whether sorting needs to be implemented, etc. This example does not specifically limit the scope.

[0046] 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 initiate and complete the configuration of the software modules and hardware modules on the data plane of this node.

[0047] The above provides an example of a local controller deployed on the control plane of the aforementioned network nodes. Ultimately, this local controller will transmit configuration, control, management, and status information (Config & Ctrl).

[0048] The `&Mgmt&Stat Info` is sent to the data plane. The data plane of the above network nodes is described below:

[0049] like Figure 4 As shown, in this embodiment, both the input processing unit (Ingress NP) and the output processing unit (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 aforementioned CP-CtrlLog and mainly implements the internal pipeline configuration of the NP and the operation of responding to CP-CtrlLog, such as generating metadata for deterministic flows. This will be described in detail below through embodiments, and will not be elaborated here. As for... Figure 4 The Control, Stage Tables, and scheduling modules shown are conventional implementations of deterministic flow forwarding on the data plane, and will not be described in detail in this embodiment.

[0050] The following example, using the creation of a deterministic flow, illustrates how to abstract the metadata of a deterministic flow:

[0051] First, after receiving the request to create a deterministic flow session, the remote controller plans the forwarding path of the deterministic flow and sends the planned forwarding path to the forwarding nodes on that forwarding path.

[0052] As one embodiment, the aforementioned forwarding nodes may include ingress nodes, egress nodes, and intermediate nodes between ingress and egress nodes in the deterministic flow of the forwarding path, etc., but this embodiment is not specifically limited.

[0053] As another embodiment, for any deterministic flow, when the deterministic flow passes through a deterministic network domain, the intermediate nodes are often responsible for forwarding, which is relatively simple to implement. However, the ingress and egress nodes of the deterministic flow may need to perform a series of processing behaviors on the packets. Based on this, the aforementioned forwarding nodes may include the ingress and egress nodes of the deterministic flow.

[0054] Upon receiving the aforementioned forwarding path, any of the forwarding nodes installs the forwarding path through its local controller (equivalent to configuring the forwarding path in the data plane of this node). Of course, if the forwarding path for this deterministic flow is the same as the forwarding paths for other deterministic flows, and this forwarding path is already configured in the data plane, this step can be omitted.

[0055] The remote controller creates global planning information for the deterministic flow and distributes it to the aforementioned forwarding nodes. This global planning information for the deterministic flow may include features such as quintuples, triples, a globally unique flow identifier (DnFlowID) within the deterministic domain, and a globally unique aggregation flow identifier (AggrFlowID) within the deterministic domain when the deterministic flow requires aggregation. This embodiment is not specifically limited to these features.

[0056] After receiving the aforementioned global planning information, the forwarding nodes, through their local controllers, add deterministic flow management control information corresponding to the deterministic flow to the control plane based on this information (this can be achieved, for example, by adding flow mapping table entries to the flow mapping table FlowMapTbl in the control plane). This deterministic flow management control information may include global characteristics of the deterministic flow, such as DnFlowID and AgggrFlowID, the index of the deterministic flow parameter table entries related to the deterministic flow, the index of the deterministic flow scheduling table entries, and the IntrFlowID dynamically assigned to the deterministic flow.

[0057] The local controller (specifically CP-CtrlLog) distributes the first type of metadata configuration information to the data plane of this node based on the aforementioned 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 distributed by the remote controller and the local configuration for that deterministic flow, or it can be a portion of the global planning information of the deterministic flow distributed by the remote controller; this embodiment is not specifically limited to this. The first type of metadata configuration information here does not include metadata configuration information used for deterministic flow aggregation. In specific implementations, for example, the first type of metadata configuration information here can be the aforementioned DnFlowID, which can be simply referred to as non-aggregation information.

[0058] Upon receiving the aforementioned first-type metadata configuration information, the data plane generates a local first-type metadata configuration entry and adds it to the local first-type metadata configuration table. This local first-type metadata configuration entry records the third-type metadata of the aforementioned deterministic flow (this third-type metadata does not include metadata used for deterministic flow aggregation, also known as non-aggregated metadata), which is equivalent to obtaining the metadata of the deterministic flow. Examples of metadata will be provided below, and will not be elaborated upon here. As another embodiment, the aforementioned local controller (specifically CP-CtrlLog) can also directly generate the aforementioned local first-type metadata configuration entry and distribute it to the data plane of this node. Given that the aforementioned deterministic flow session requirement is for business packets, this local first-type metadata configuration entry can be a FlowIdentifyTbles entry.

[0059] Optionally, when there is a need for aggregation of deterministic flows, the local controller (specifically CP-CtrlLog) will also send a 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 may be the flow aggregation information in the global planning information of the deterministic flow sent by the remote controller, such as AgggrFlowID, etc. This embodiment does not specifically limit this. In this embodiment, the second type of metadata configuration information mainly includes metadata configuration information for deterministic flow aggregation. In specific implementations, for example, the second type of metadata configuration information here may be the aforementioned AgggrFlowID, which can be simply referred to as aggregation information.

[0060] Upon receiving the aforementioned second type of metadata configuration information, the data plane generates a second type of metadata configuration table entry (also referred to as a flow aggregation table entry) and adds it to the local second type of metadata configuration table. This second type of metadata configuration table entry records the fourth type of metadata (also called flow aggregation metadata) corresponding to the deterministic flow aggregation, essentially obtaining the metadata of the deterministic flow. An example of this flow aggregation metadata will be provided below, but will not be elaborated upon here. As another embodiment, CP-CtrlLog can also directly generate the aforementioned second type of metadata configuration table entry and distribute it to the data plane of this node. Given that the aforementioned deterministic flow session requirement is for business packets, the second type of metadata configuration table entry here can be a deterministic flow aggregation table (FlowAggregatedTbles) entry.

[0061] The above examples illustrate how forwarding nodes of a deterministic flow obtain the metadata of the deterministic flow.

[0062] Based on the above description, the following will be conducted... Figure 5 The method provided in the embodiments of this application is described as follows:

[0063] See Figure 5 , Figure 5 This is a flowchart illustrating a method provided in an embodiment of this application. The method is applied to network nodes in a deterministic network.

[0064] like Figure 5 As shown, the process may include the following steps:

[0065] Step 501: Receive message.

[0066] As an example, the network nodes used in the above method can be the ingress node, egress node, and intermediate node between the ingress node and egress node in a deterministic network, etc. This example is not specifically limited.

[0067] As another embodiment, when a message passes through a deterministic network domain, intermediate nodes are often responsible for forwarding, which is relatively simple to implement. However, the ingress and egress nodes of the message may need to perform a series of processing actions on the message. Based on this, the network nodes used in the above method can be the ingress or egress nodes of the message.

[0068] Optionally, in this embodiment, the above message may be a service message belonging to a deterministic flow or an OAM message of a deterministic flow; this embodiment is not specifically limited.

[0069] Step 502: Locate the target metadata corresponding to the above message among all the metadata already obtained.

[0070] Based on the aforementioned first-type metadata configuration table, second-type metadata configuration table, etc., this embodiment directly obtains the aforementioned target metadata. As an example, the target metadata here includes at least the first-type metadata. The first-type metadata includes at least: a set of processed actions orchestrated by this node for the aforementioned message, and the target service-level agreement (SLA) category to which the aforementioned message belongs (the SLA category is described in step 503 below). The target metadata will be described in detail below, and will not be elaborated upon here.

[0071] Step 503: If the target SLA category is a specified SLA level, the specified SLA level is used to indicate the set high real-time requirements, then the corresponding processing behavior is performed on the above message according to the above set of processing behaviors; otherwise, the above message is sent to the cache queue corresponding to the target SLA category, so that the above message in the cache queue is processed according to the trigger event corresponding to the cache queue, and the processing behavior belongs to the above set of processing behaviors.

[0072] In this embodiment, for some high real-time service requirements, the corresponding SLA category (hereinafter referred to as the specified SLA level) will be pre-specified. Once the target SLA category is the specified SLA level, it means that the message is a message with high real-time service requirements, and the corresponding processing behavior can be directly executed on the message according to the above processing behavior set. Otherwise, the message will be sent to the cache queue corresponding to the target SLA category, so that the message in the cache queue can be processed according to the triggering event corresponding to the cache queue, such as timer timeout or external trigger. The processing behavior belongs to the above processing behavior set.

[0073] It should be noted that the aforementioned set of processing actions indicates the execution order of the processing actions. Based on this, in step 503 above, the corresponding processing actions can be performed on the message according to the aforementioned set of processing actions based on the aforementioned execution order.

[0074] This concludes the process. Figure 5 The process is shown below.

[0075] pass Figure 5 As can be seen from the process shown, in this embodiment, a connection is established between the deterministic flow and the set of processing behaviors performed on the service messages or OAM messages belonging to the deterministic flow through metadata, so as to realize the deterministic flow processing behavior during the deterministic flow transmission process.

[0076] In this embodiment, the above Figure 1 The process shown can be applied to the data plane of network nodes.

[0077] As an example, the above Figure 5 The illustrated process can be specifically applied to a scheduling module deployed in the data plane of a network node for scheduling deterministic flows. Optionally, this scheduling module can be implemented in hardware.

[0078] Those skilled in the art will know that the protocols carrying deterministic flows in deterministic networks are diverse. Figure 5 The processes shown are all concentrated in the scheduling module, which may consume a large amount of hardware resources of the scheduling module. Based on this, this embodiment can also improve the above-mentioned network nodes by deploying software modules suitable for flexible programming on the data plane of the above-mentioned network nodes. Figure 6 An example of the improved network node is shown.

[0079] like Figure 6 As shown, the data plane of a network node deploys at least the aforementioned software module and scheduling module. As an example, the scheduling module can be implemented using hardware with high-performance real-time processing capabilities. Figure 6 The process shown can be implemented by combining the above-mentioned software modules and scheduling modules.

[0080] The aforementioned software modules can execute Figure 6 The process, as shown, involves identifying deterministic flows (e.g., identifying whether a message belongs to a specific deterministic flow's service or an OAM message), searching for the target metadata corresponding to the message within all acquired metadata, identifying the target SLA category to which the message belongs, and, if the target SLA category is not the specified SLA level, sending the message to the buffer queue corresponding to the target SLA category (denoted as Pipeline Stages). It should be noted that the above software module is a collection of modules, which may be distributed across multiple components of a network node; this embodiment does not specifically limit this.

[0081] The aforementioned scheduling module can execute corresponding processing actions on the aforementioned message based on the set of processing actions already orchestrated for the aforementioned message in the target metadata. Figure 6The functions shown indicate the processing behavior. After processing is complete, the message schedule is forwarded.

[0082] It can be seen that the above software modules and scheduling modules work together to achieve the desired results. Figure 5 The process shown ensures the independence of the hardware-based scheduling module, while leveraging the flexible programmability of the software module to adapt to the transmission requirements of various deterministic flows. It maximizes the processing capacity of network nodes for service packets or OAM packets of deterministic flows, has very high scalability, is suitable for large-scale deterministic network applications, and is applicable to implementation in network nodes (such as routers) at high, medium and low end levels.

[0083] The following describes how to find the target metadata corresponding to the above-mentioned message in step 502 provided in the embodiments of this application:

[0084] After receiving a packet, the network node will first parse out the packet header to obtain the packet header information.

[0085] Optionally, if the packet is an IP packet, the Packet Header Info includes the following information:

[0086] a. SourceIPAddress (Source IP address);

[0087] b. DestinationIPAddress;

[0088] c. IPv6FlowLabel (flow label);

[0089] d.Dscp (Differential Service Code Point);

[0090] e. Protocol;

[0091] f.SourcePort(source port);

[0092] g. DestinationPort;

[0093] h. Security Parameter Index (IPSecSpi: IPsec Security Parameter Index).

[0094] Optionally, if the message is an MPLS message, the Packet Header Info includes the following information:

[0095] a.SLabel;

[0096] b.FLabelStack.

[0097] Subsequently, the aforementioned network node (specifically, the node's data plane) searches for the corresponding first-type metadata configuration table entry in the first-type metadata configuration table described above, based on the receiving port of the received packet and the deterministic flow characteristic information carried in the Packet Header Info. In this embodiment, at least one piece of information carried in the Packet Header Info represents deterministic flow characteristic information. For example, when the packet is an IP packet, the source IP address, destination IP address, etc., represent deterministic flow characteristic information; or, for example, when the packet is an MPLS packet, the SLabel, etc., represent deterministic flow characteristic information.

[0098] Finally, the aforementioned network nodes (specifically, the node's data plane) generate the target metadata corresponding to the aforementioned message based on the first type of metadata configuration table entries.

[0099] As an example, the first type of metadata configuration table entry may include the following information:

[0100] a, the identifier for the deterministic flow, DnFlowID.

[0101] b, Flow aggregation identifier, can be represented by the address of the flow aggregation table (also known as the next-level table). When it is empty or has a default value, it indicates that there is no aggregation requirement for deterministic flows. When the above network node is an outgoing node or when the above packet is an OAM packet, the flow aggregation identifier being empty or having a default value indicates that there is no aggregation requirement for deterministic flows.

[0102] c. IntrFlowID: The IntrFlowID assigned to the deterministic flow to which the above message belongs, and its function is as described above. For the ingress and egress nodes of the message, which are two different nodes, the same deterministic flow or the same deterministic aggregate flow will be independently assigned an IntrFlowID on different nodes. Different nodes may assign different IntrFlowIDs for the same deterministic flow or the same deterministic aggregate flow.

[0103] d, SLA category, as described above.

[0104] e, the buffer queue number, is used to indicate the buffer queue into which the above message enters when the SLA category is not the SLA category specified above.

[0105] f, scheduling mechanism, is used to indicate the scheduling and forwarding mechanism for the message, such as periodic scheduling mechanisms (e.g., cyclic scheduling, deadline-based scheduling, or delay compensation scheduling), deduplication, sorting, and composite scheduling (combining data streams that have undergone different scheduling processes and scheduling them according to priority), etc.

[0106] g, the set of processing actions, indicates the set of processing actions to be performed on the message, such as PREOF. The set of processing actions generally differs for the ingress and egress nodes. For example, for the ingress node, the set of processing actions may include: flow identification, priority classification, flow aggregation, packet replication, etc. For the egress node, the set of processing actions may include: deleting duplicate data packet copies based on the PREOF identifier in the metadata, performing latency compensation, and sorting.

[0107] h, hardware register index or address information, is used to indicate the message sequence number (SequenceNumber) for easy message statistics.

[0108] i. Information such as the ingress port of the message (the port on which the message is received) and tunnel information.

[0109] j represents the message type, such as measurement messages, service messages, etc.

[0110] k, the identifier of the first node.

[0111] l, the tail node identifier, is used by network nodes to identify whether they are tail nodes.

[0112] Optionally, as an example, all metadata in the first type of metadata configuration entries except for the stream aggregation identifier can be referred to as the third type of metadata.

[0113] As an example, when the aforementioned network node is the outgoing node of the packet, or when the aforementioned network node is the incoming node of the packet and the aforementioned packet is a deterministic flow OAM packet, as described above, the flow aggregation identifier in the aforementioned first type of metadata configuration entry generally does not indicate a deterministic flow aggregation requirement. In this case, there are many ways to generate the target metadata corresponding to the packet based on the first type of metadata configuration entry. For example, multiple pieces of information in the aforementioned first type of metadata configuration entry can be directly determined as the aforementioned target metadata. In this embodiment, items other than the flow aggregation identifier in the aforementioned first type of metadata configuration entry, such as DnFlowID, IntrFlowID, SLA category, buffer queue number, scheduling mechanism, processing behavior set, hardware register index or address information, packet ingress port (the port where the packet is received), tunnel information, etc., can be directly determined as the aforementioned target metadata.

[0114] As another embodiment, when the network node is the ingress node of the packet and the packet is a service packet belonging to a deterministic flow, if the flow aggregation identifier in the first type of metadata configuration table indicates a deterministic flow aggregation requirement (for example, the flow aggregation identifier is not empty or has a default value), then generating the target metadata corresponding to the packet based on the first type of metadata configuration table may include: first generating candidate metadata corresponding to the packet based on the first type of metadata configuration table, and then searching for the second type of metadata configuration table that matches the deterministic flow in the second type of metadata configuration table corresponding to the flow aggregation identifier based on at least one candidate metadata, adjusting at least one candidate metadata based on the second type of metadata configuration table, and obtaining 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 entries. For example, multiple pieces of information contained in the first type of metadata configuration table entries can be directly determined as candidate metadata. Here, multiple pieces of information contained in the first type of metadata configuration table entries, such as DnFlowID, IntrFlowID, SLA category, cache queue number, scheduling mechanism, processing behavior set, hardware register index or address information, message ingress port (the 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 of metadata configuration table entry is not the target metadata. It is necessary to adjust at least one candidate metadata according to the second type of metadata configuration table entry to finally obtain the target metadata.

[0117] Optionally, the second type of metadata configuration entries mentioned above will record metadata related to deterministic flow aggregation (i.e., the fourth type of metadata), such as: Aggregate Flow Identifier (AggrFlowID), Flow Aggregate Identifier (which can be represented by the address of the Flow Aggregate Table (also known as the next-level table). When it is empty or has a default value, it indicates that the deterministic flow has no aggregation requirement), IntrFlowID, SLA category, buffer queue number, scheduling mechanism, set of processing behaviors, hardware register index or address information, packet ingress port (the port where the packet is received), tunnel information, etc.

[0118] Based on this, in this embodiment, adjusting the candidate metadata according to the second type of metadata configuration entries may include: for each candidate metadata, searching for matching metadata (e.g., representing the same meaning or belonging to the same type) from the second type of metadata configuration entries; if a match 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 an example, the SLA category is first searched for in the second type of metadata configuration entries. If the SLA category of the candidate metadata is found to be different from the SLA category found in the second type of metadata configuration entries, then the SLA category in the candidate metadata is directly adjusted to the SLA category found in the second type of metadata configuration entries. Other similar methods will not be elaborated further. Ultimately, this achieves the goal of adjusting at least one candidate metadata according to the metadata information in the second type of metadata configuration entries to obtain the target metadata.

[0119] As one embodiment, the target metadata in this embodiment may include: a first type of metadata. This first type of metadata may be used to indicate how the packet is processed within this node, without needing to communicate between different network nodes along the packet's forwarding path.

[0120] Based on the target metadata described above, the first type of metadata here may include, for example: deterministic flow identifier DnFlowID or deterministic flow identifier and aggregate flow identifier AggrFlowID, flow aggregation identifier, IntrFlowID, SLA category, buffer queue number, scheduling mechanism, set of processing behaviors, packet ingress port (the port where the packet is received), tunnel information, etc.

[0121] As another embodiment, the target metadata in this embodiment may further include a second type of metadata. This second type of metadata differs from the first type of metadata described above. The second type of metadata can be encapsulated in the aforementioned message and forwarded along the forwarding path of the message to achieve interoperability on different network nodes along the forwarding path. That is, the second type of metadata can be interoperability data that enables interoperability on different network nodes along the forwarding path.

[0122] Optionally, based on the target metadata described above, the second type of metadata here is generally data used to solve the transformation of deterministic flow to the internal ID of the node, in order to achieve at least one of the following objectives: to redirect deterministic flow to a public tunnel, to achieve deterministic flow aggregation, and to map deterministic flow to the node's fixed hardware resources, etc.

[0123] Optionally, the second type of metadata mentioned above may include hardware register index or address information, message type, tail node identifier (used to cooperate in implementing PREOF when the message is a measurement message), etc., which are not specifically limited in this embodiment.

[0124] It should be noted that the transmission of the second type of metadata in the above-mentioned forwarding path may vary depending on the standard agreement and different protocols.

[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 message can carry the second type of metadata. Figure 7 Taking the ingress node of a message as an example, this illustrates how the message carries the second type of metadata mentioned above during transmission. For example... Figure 7 As shown, the ingress node determines the second type of metadata based on the packet header information (Packet Header Info) and the receiving port information (Recv Channel Info) of the received packet using control logic, and sends the second type of metadata together with the Packet Header Info; alternatively, the ingress node determines whether aggregation is required based on the packet header information (Packet Header Info) and the receiving port information (Recv Channel Info) of the received packet using control logic, performs aggregation first, determines the second type of metadata in the Flow Aggregated Tables using control logic, and sends the second type of metadata together with the Packet Header Info. Optionally, the Packet Header Info may carry the aforementioned deterministic flow characteristic information, the Flow Identify Tables may be the aforementioned first type of metadata configuration table, and the Flow Aggregated Tables may be the aforementioned second type of metadata configuration table.

[0126] Based on the above description and the existing internal processing mechanism of the ingress node, this embodiment improves the internal processing mechanism by encapsulating the required second type of metadata in the deterministic flow service message or OAM message, as follows: Figure 8 The metadata data is shown.

[0127] It should be noted that in this embodiment, deterministic flows will also be deleted according to actual business needs. For example, the deterministic flow (DetNet Flow) deletion process may be as follows:

[0128] First, upon receiving a request to delete a deterministic flow session, the remote controller reclaims the planning resources for that deterministic flow, such as forwarding paths and global planning information, and sends the deletion message to the forwarding nodes of the deterministic flow. For details on these forwarding nodes, please refer to the description in the process of abstracting the metadata of the deterministic flow described above.

[0129] After receiving the deletion message, the aforementioned forwarding node uses the local controller to find the deterministic flow's DnFlowID or aggregate flow identifier AggroFlowID based on the deletion message, and then finds the corresponding deterministic flow's characteristics in the data plane, such as the flow ID (which can be implemented using a 5-tuple or a 3-tuple). After that, it sends the flow ID to the data plane along with the deletion notification.

[0130] Upon receiving the deletion notification, the data plane deletes the local first-class metadata configuration table entry corresponding to the aforementioned flow ID (i.e., the local first-class metadata configuration table entry corresponding to the deterministic flow), as well as the second-class metadata configuration table entry corresponding to the deterministic flow when there is an aggregation requirement. It then clears / reclaims the hardware resources on the data plane occupied by the deterministic flow (such as hardware resources in the high-performance real-time scheduling module) based on the IntrFlowID allocated to it (unless there is an aging mechanism, in which case explicit clearing / reclaiming is unnecessary). Afterward, the data plane responds to the local controller with a corresponding message. Upon receiving the response message from the data plane, the local controller reclaims the IntrFlowID and deletes the information in the deterministic flow management and control information corresponding to the deterministic flow, such as the flow mapping table entry. This ultimately achieves the deletion of the deterministic flow.

[0131] The methods provided in the embodiments of this application have been described above. The apparatus provided in the embodiments of this application is described below:

[0132] See Figure 9 , Figure 9 This is a structural diagram 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] The receiving module is used to receive messages;

[0134] The metadata module is used to find the target metadata corresponding to the message among all the acquired metadata; the target metadata includes at least a first type of metadata, which includes at least: a set of processed actions to be performed by this node for the message, and the target service level agreement (SLA) category to which the message belongs;

[0135] The processing module is configured to, when the target SLA category is a specified SLA level, the specified SLA level being used to indicate high real-time service requirements, trigger the scheduling module to execute the corresponding processing behavior on the packet according to the processing behavior set; otherwise, send the packet to the cache queue corresponding to the target SLA category, so that the scheduling module can execute the corresponding processing behavior on the packet in the cache queue based on the trigger event corresponding to the cache queue, and the processing behavior belongs to the processing behavior set.

[0136] Optionally, the network node is the ingress node of the message, and the message is a deterministic flow Operation, Maintenance and Management (OAM) message; or, the network node is the egress node of the message.

[0137] The step of finding the target metadata corresponding to the message among all the obtained metadata includes:

[0138] Based on the receiving port of the received message and the deterministic flow characteristic information carried by the message, a matching first type of metadata configuration table entry is searched in the local first type of metadata configuration table; the first type of metadata configuration table entry records the flow aggregation identifier and the third type of metadata; the third type of metadata refers to metadata other than the fourth type of metadata used for deterministic flow aggregation, and the third type of metadata is not used for deterministic flow aggregation;

[0139] If the flow aggregation identifier in the first type of metadata configuration table entry indicates that the deterministic flow does not have an aggregation requirement, then the target metadata corresponding to the message is generated based on the first type of metadata configuration table entry.

[0140] Optionally, the network node is the ingress node of the packet, and the packet is a deterministic flow service packet;

[0141] The step of finding the target metadata corresponding to the message among all the obtained metadata includes:

[0142] Based on the receiving port of the received message and the deterministic flow characteristic information carried by the message, a matching first type of metadata configuration table entry is searched in the local first type of metadata configuration table; the first type of metadata configuration table entry records the flow aggregation identifier and the third type of metadata; the third type of metadata refers to metadata other than the fourth type of metadata used for deterministic flow aggregation, and the third type of metadata is not used for deterministic flow aggregation;

[0143] If the flow aggregation identifier in the first type of metadata configuration table entry indicates that there is a need for aggregation of deterministic flows, then firstly, candidate metadata corresponding to the packet is generated based on the first type of metadata configuration table entry, and then, based on at least one candidate metadata, a matching second type of metadata configuration table entry is found in the second type of metadata configuration table corresponding to the flow aggregation identifier. At least one candidate metadata is adjusted based on the second type of metadata configuration table entry to obtain the target metadata; the second type of metadata configuration table entry records the fourth type of 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 the message and forward it along the forwarding path of the message; the second type of metadata is data that is interconnected on different network nodes of the forwarding path.

[0145] Optionally, the first type of metadata further includes: an internal flow identifier IntrFlowID; the IntrFlowID is an internal flow identifier in the set of IntrFlowIDs of deterministic flows that this node is allowed to support; the IntrFlowID is associated with the hardware resources of this node on the data plane;

[0146] The IntrFlowID is used as a basis for reclaiming hardware resources when the deterministic flow is deleted.

[0147] Optionally, the first type of metadata configuration table entry is generated by a software module or hardware module deployed on the data plane of this node based on the first type of metadata configuration information issued by the control plane of this node; the first type of metadata configuration information is generated by a local controller deployed on the control plane of this node based on deterministic flow information issued by a remote controller, or is issued by a remote controller to the control plane of this node; or,

[0148] The first type of metadata configuration entries are sent from the control plane of this node to the software or hardware modules deployed on the data plane of this node; the first type of metadata configuration entries are generated by the local controller on the control plane of this node based on the deterministic flow information sent by the remote controller, or sent from the remote controller to the control plane of this node.

[0149] The second type of metadata configuration entries are generated by software or hardware modules deployed on the data plane of this node based on the second type of metadata configuration information issued by the control plane of this node; the second type of metadata configuration information is generated by the local controller deployed on the control plane of this node based on the flow aggregation information issued by the remote controller and the local flow aggregation configuration of the local controller, or it is issued by the remote controller to the control plane of this node; or,

[0150] The second type of metadata configuration table entry is issued from the control plane of this node to the data plane of this node. The second type of metadata configuration table entry is generated by the local controller deployed on the control plane of this node based on the flow aggregation information issued by the remote controller and the local flow aggregation configuration of the local controller, or it is issued from the remote controller to the control plane of this node.

[0151] Optionally, when the processing module needs to delete the deterministic flow, if there is a first type of metadata configuration table entry matching the deterministic flow in the data plane of this node, it controls the software module or hardware module on the data plane of this node to delete the first type of metadata configuration table entry matching the deterministic flow; and if there is a second type of metadata configuration table entry matching the deterministic flow in the data plane of this node, it controls the software module or hardware module on the data plane of this node to delete the second type of metadata configuration table entry matching the deterministic flow, and controls the local controller on the control plane of this node to delete the existing deterministic flow management and control information matching the deterministic flow.

[0152] This concludes the process. Figure 9 Structural description of the device shown.

[0153] See Figure 10 , Figure 10 Another device structure diagram provided for an embodiment of this application. This device is applied to a network node in a deterministic network for transmitting deterministic flow service messages or operation and maintenance management (OAM) messages. The network node includes a local controller deployed in the control plane and at least one module deployed in the data plane.

[0154] The local controller on the local control plane includes at least:

[0155] The control plane logic control module is used to record the deterministic flow management control information corresponding to the deterministic flow on the control plane based on the global planning information of the deterministic flow issued by the remote controller. The deterministic flow management control information includes at least the global planning information, the index of the deterministic flow parameter table entries related to the deterministic flow, the index of the scheduling table entries of the deterministic flow, and the internal flow identifier IntrFlowID currently allocated by the local controller for the deterministic flow.

[0156] The deterministic flow management object module is used to send first-type metadata configuration information to the data plane of this node so that one of the modules on the local data plane can generate local first-type metadata configuration table entries based on the first-type metadata configuration information and add them to the local first-type metadata configuration table, or send local first-type metadata configuration table entries 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 can add them to the local first-type metadata configuration table; the first-type metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-type 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 obtained by the local controller for the deterministic flow, or it is part of the information in the global planning information of the deterministic flow sent by the remote controller.

[0157] Optionally, the deterministic flow management object module further enables aggregation of deterministic flows when such aggregation is required.

[0158] The second type of metadata configuration information is sent to the data plane of this node so that one of the modules on the local data plane can generate a local second type of metadata configuration table entry based on the second type of metadata configuration information and add it to the local second type of metadata configuration table; or, the local second type of metadata configuration table entry is sent to the data plane of this node so that one of the modules on the local data plane can add it to the local second type of metadata configuration table.

[0159] The second type of metadata configuration information includes metadata configuration information for deterministic flow aggregation. 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 issued by the remote controller and the local flow aggregation configuration for the deterministic flow, or it is the flow aggregation information in the global planning information of the deterministic flow issued by the remote controller.

[0160] This application embodiment also provides a network node, which is a network node in a deterministic network used to transmit deterministic flow service messages or operation and maintenance management (OAM) messages; the network node includes a local controller deployed in the control plane and at least one module deployed in the data plane;

[0161] The local controller is described in detail above.

[0162] At least one module deployed in the data plane includes a hardware module for scheduling packet forwarding, the hardware module performing the above-described actions. Figure 5The steps in the method shown; or, at least one module deployed in the data plane includes a software module and a hardware module for scheduling packet forwarding; the software module and the hardware module cooperate to perform the above. Figure 5 The steps in the method shown are as follows: the hardware module is responsible for performing the corresponding processing behavior on the message, and the software module performs the remaining steps.

[0163] Based on the same application concept as the above method, this application embodiment also provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, can implement the method disclosed in the above examples of this application.

[0164] For example, the aforementioned machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, etc. For instance, machine-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.

[0165] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0166] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

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

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

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

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

[0171] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A deterministic stream transmission method, characterized in that, This method is applied to network nodes in a deterministic network, and the method includes: Upon receiving a message, the target metadata corresponding to the message is located among all the acquired metadata. The target metadata includes at least a first type of metadata, which includes at least: a set of processed actions to be performed by this node for the message, and the target service level agreement (SLA) category to which the message belongs. If the target SLA category is a specified SLA level, which indicates high real-time service requirements, then the corresponding processing behavior is performed on the message according to the set of processing behaviors. Otherwise, the message is sent to the cache queue corresponding to the target SLA category, so that the message in the cache queue is processed according to the trigger event corresponding to the cache queue, and the processing behavior belongs to the set of processing behaviors.

2. The method according to claim 1, characterized in that, The network node is the ingress node of the message, and the message is a deterministic flow Operation, Maintenance, and Management (OAM) message; or, The network node is the outgoing node of the message; The step of finding the target metadata corresponding to the message among all the obtained metadata includes: Based on the receiving port of the received message and the deterministic flow characteristic information carried by the message, a matching first type of metadata configuration table entry is searched in the local first type of metadata configuration table; the first type of metadata configuration table entry records the flow aggregation identifier and the third type of metadata; the third type of metadata refers to metadata other than the fourth type of metadata used for deterministic flow aggregation, and the third type of metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first type of metadata configuration table entry indicates that the deterministic flow does not have an aggregation requirement, then the target metadata corresponding to the message is generated based on the first type of metadata configuration table entry.

3. The method according to claim 1, characterized in that, The network node is the ingress node of the message, and the message is a deterministic flow service message; The step of finding the target metadata corresponding to the message among all the obtained metadata includes: Based on the receiving port of the received message and the deterministic flow characteristic information carried by the message, a matching first type of metadata configuration table entry is searched in the local first type of metadata configuration table; the first type of metadata configuration table entry records the flow aggregation identifier and the third type of metadata; the third type of metadata refers to metadata other than the fourth type of metadata used for deterministic flow aggregation, and the third type of metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first type of metadata configuration table entry indicates that there is a need for aggregation of deterministic flows, then firstly, candidate metadata corresponding to the packet is generated based on the first type of metadata configuration table entry, and then, based on at least one candidate metadata, a matching second type of metadata configuration table entry is found in the second type of metadata configuration table corresponding to the flow aggregation identifier. At least one candidate metadata is adjusted based on the second type of metadata configuration table entry to obtain the target metadata; the second type of metadata configuration table entry records the fourth type of 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. It is used to encapsulate the message and forward it along the forwarding path of the message. The second type of metadata is data that is interconnected on different network nodes of 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 set of IntrFlowIDs of deterministic flows that this node is allowed to support; the IntrFlowID is associated with the hardware resources of this node on the data plane; The IntrFlowID is used as a basis for reclaiming hardware resources when the deterministic flow is deleted.

6. The method according to claim 3, characterized in that, The first type of metadata configuration table entry is generated by software or hardware modules deployed on the data plane of this node based on the first type of metadata configuration information issued by the control plane of this node; the first type of metadata configuration information is generated by a local controller deployed on the control plane of this node based on deterministic flow information issued by a remote controller, or issued by a remote controller to the control plane of this node; or, The first type of metadata configuration entries are sent from the control plane of this node to the software or hardware modules deployed on the data plane of this node; the first type of metadata configuration entries are generated by the local controller on the control plane of this node based on the deterministic flow information sent by the remote controller, or sent from the remote controller to the control plane of this node.

7. The method according to claim 3, characterized in that, The second type of metadata configuration entries are generated by software or hardware modules deployed on the data plane of this node based on the second type of metadata configuration information issued by the control plane of this node; the second type of metadata configuration information is generated by the local controller deployed on the control plane of this node based on the flow aggregation information issued by the remote controller and the local flow aggregation configuration of the local controller, or it is issued by the remote controller to the control plane of this node; or, The second type of metadata configuration table entry is issued from the control plane of this node to the data plane of this node. The second type of metadata configuration table entry is generated by the local controller deployed on the control plane of this node based on the flow aggregation information issued by the remote controller and the local flow aggregation configuration of the local controller, or it is issued from the remote controller to the control plane of this node.

8. The method according to claim 6 or 7, characterized in that, The method further includes: When it is necessary to delete the deterministic flow, if the data plane of this node contains a first type of metadata configuration table entry that matches the deterministic flow, then the software module or hardware module on the data plane of this node is controlled to delete the first type of metadata configuration table entry that matches the deterministic flow. If the data plane of this node contains a second type of metadata configuration table entry that matches the deterministic flow, then the software module or hardware module on the data plane of this node is controlled to delete the second type of metadata configuration table entry that matches the deterministic flow, and the local controller on the control plane of this node is controlled to delete the existing deterministic flow management and control information that matches the deterministic flow.

9. A deterministic stream transmission method, characterized in that, This method is applied to network nodes in a deterministic network used for transmitting deterministic flow service messages or operation, maintenance, and management (OAM) messages, wherein the network node includes a local controller deployed in the control plane and at least one module deployed in the data plane; the method includes: Based on the global planning information of the deterministic flow issued by the remote controller, the local controller on the local control plane records the deterministic flow management and control information corresponding to the deterministic flow on the control plane. The deterministic flow management and control information includes at least the global planning information, the index of the deterministic flow parameter table entries related to the deterministic flow, the index of the scheduling table entries of the deterministic flow, and the internal flow identifier IntrFlowID currently assigned to the deterministic flow by the local controller. The local controller on the local control plane issues first-type metadata configuration information to the data plane of this node, so that one of the modules on the local data plane can generate local first-type metadata configuration entries based on the first-type metadata configuration information and add them to the local first-type metadata configuration table. Alternatively, the local controller on the local control plane issues local first-type metadata configuration entries to the data plane of this node, so that one of the modules on the local data plane can add them to the local first-type metadata configuration table. The first-type metadata configuration information does not include metadata configuration information for deterministic flow aggregation. The first-type 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 issued by the remote controller and the configuration obtained by the local controller for the deterministic flow, or it is part of the information in the global planning information of the deterministic flow issued by the remote controller. The local first-type metadata configuration entries are used to record the metadata of the deterministic flow. The metadata includes at least: the set of message processing behaviors and the target service level agreement (SLA) category.

10. The method according to claim 9, characterized in that, The method further includes: When deterministic flows have aggregation requirements The second type of metadata configuration information is sent from the local controller on the local control plane to the data plane of this node, so that one of the modules on the local data plane can generate local second type of metadata configuration table entries based on the second type of metadata configuration information and add them to the local second type of metadata configuration table; or, the local controller on the local control plane sends local second type of metadata configuration table entries to the data plane of this node, so that one of the modules on the local data plane can add them to the local second type of metadata configuration table; the local second type of metadata configuration table records the metadata corresponding to the deterministic flow aggregation; the metadata includes at least: SLA category and message processing behavior set; The second type of metadata configuration information includes metadata configuration information for deterministic flow aggregation. 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 issued by the remote controller and the local flow aggregation configuration for the deterministic flow, or it is the flow aggregation information in the global planning information of the deterministic flow issued by the remote controller.

11. A deterministic stream transmission device, characterized in that, This device is applied to network nodes in a deterministic network, and the device includes: The receiving module is used to receive messages; The metadata module is used to find the target metadata corresponding to the message among all the acquired metadata; the target metadata includes at least a first type of metadata, which includes at least: a set of processed actions to be performed by this node for the message, and the target service level agreement (SLA) category to which the message belongs; The processing module is configured to, when the target SLA category is a specified SLA level, the specified SLA level being used to indicate high real-time service requirements, trigger the scheduling module to execute the corresponding processing behavior on the packet according to the processing behavior set; otherwise, send the packet to the cache queue corresponding to the target SLA category, so that the scheduling module can execute the corresponding processing behavior on the packet in the cache queue based on the trigger event corresponding to the cache queue, and the processing behavior belongs to the processing behavior set.

12. The apparatus according to claim 11, characterized in that, The network node is the ingress node of the message, and the message is a deterministic flow Operation, Maintenance and Management (OAM) message; or, the network node is the egress node of the message. The step of finding the target metadata corresponding to the message among all the obtained metadata includes: Based on the receiving port of the received message and the deterministic flow characteristic information carried by the message, a matching first type of metadata configuration table entry is searched in the local first type of metadata configuration table; the first type of metadata configuration table entry records the flow aggregation identifier and the third type of metadata; the third type of metadata refers to metadata other than the fourth type of metadata used for deterministic flow aggregation, and the third type of metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first type of metadata configuration table entry indicates that the deterministic flow does not have an aggregation requirement, then the target metadata corresponding to the message is generated based on the first type of metadata configuration table entry.

13. The apparatus according to claim 11, characterized in that, The network node is the ingress node of the message, and the message is a deterministic flow service message; The step of finding the target metadata corresponding to the message among all the obtained metadata includes: Based on the receiving port of the received message and the deterministic flow characteristic information carried by the message, a matching first type of metadata configuration table entry is searched in the local first type of metadata configuration table; the first type of metadata configuration table entry records the flow aggregation identifier and the third type of metadata; the third type of metadata refers to metadata other than the fourth type of metadata used for deterministic flow aggregation, and the third type of metadata is not used for deterministic flow aggregation; If the flow aggregation identifier in the first type of metadata configuration table entry indicates that there is a need for aggregation of deterministic flows, then firstly, candidate metadata corresponding to the packet is generated based on the first type of metadata configuration table entry, and then, based on at least one candidate metadata, a matching second type of metadata configuration table entry is found in the second type of metadata configuration table corresponding to the flow aggregation identifier. At least one candidate metadata is adjusted based on the second type of metadata configuration table entry to obtain the target metadata; the second type of metadata configuration table entry records the fourth type of metadata used for deterministic flow aggregation.

14. The apparatus 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. It is used to encapsulate the message and forward it along the forwarding path of the message. The second type of metadata is data that is interconnected on different network nodes of the forwarding path.

15. The apparatus 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 set of IntrFlowIDs of deterministic flows that this node is allowed to support; the IntrFlowID is associated with the hardware resources of this node on the data plane; The IntrFlowID is used as a basis for reclaiming hardware resources when the deterministic flow is deleted.

16. The apparatus according to claim 13, characterized in that, The first type of metadata configuration table entry is generated by software or hardware modules deployed on the data plane of this node based on the first type of metadata configuration information issued by the control plane of this node; the first type of metadata configuration information is generated by a local controller deployed on the control plane of this node based on deterministic flow information issued by a remote controller, or issued by a remote controller to the control plane of this node; or, The first type of metadata configuration table entry is issued by the control plane of this node to the software or hardware modules deployed on the data plane of this node; the first type of metadata configuration table entry is generated by the local controller on the control plane of this node based on the deterministic flow information issued by the remote controller, or is issued by the remote controller to the control plane of this node. The second type of metadata configuration entries are generated by software or hardware modules deployed on the data plane of this node based on the second type of metadata configuration information issued by the control plane of this node; the second type of metadata configuration information is generated by the local controller deployed on the control plane of this node based on the flow aggregation information issued by the remote controller and the local flow aggregation configuration of the local controller, or it is issued by the remote controller to the control plane of this node; or, The second type of metadata configuration table entry is issued from the control plane of this node to the data plane of this node. The second type of metadata configuration table entry is generated by the local controller deployed on the control plane of this node based on the flow aggregation information issued by the remote controller and the local flow aggregation configuration of the local controller, or it is issued from the remote controller to the control plane of this node.

17. The apparatus according to claim 16, characterized in that, When the processing module needs to delete the deterministic flow, if the data plane of this node contains a first type of metadata configuration table entry that matches the deterministic flow, then it controls the software or hardware module on the data plane of this node to delete the first type of metadata configuration table entry that matches the deterministic flow. If the data plane of this node contains a second type of metadata configuration table entry that matches the deterministic flow, then it controls the software or hardware module on the data plane of this node to delete the second type of metadata configuration table entry that matches the deterministic flow, and controls the local controller on the control plane of this node to delete the existing deterministic flow management and control information that matches the deterministic flow.

18. A deterministic stream transmission device, characterized in that, The device is applied to network nodes in a deterministic network for transmitting deterministic flow service messages or operation and maintenance management (OAM) messages, wherein the network node includes a local controller deployed in the control plane and at least one module deployed in the data plane. The local controller on the control plane includes at least: The control plane logic control module is used to record the deterministic flow management control information corresponding to the deterministic flow on the control plane based on the global planning information of the deterministic flow issued by the remote controller. The deterministic flow management control information includes at least the global planning information, the index of the deterministic flow parameter table entries related to the deterministic flow, the index of the scheduling table entries of the deterministic flow, and the internal flow identifier IntrFlowID currently allocated by the local controller for the deterministic flow. The deterministic flow management object module is used to issue first-type metadata configuration information to the data plane of this node so that one of the modules on the local data plane can generate local first-type metadata configuration entries based on the first-type metadata configuration information and add them to the local first-type metadata configuration table, or issue local first-type metadata configuration entries 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 can add them to the local first-type metadata configuration table; the first-type metadata configuration information does not include metadata configuration information for deterministic flow aggregation; the first-type 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 issued by the remote controller and the configuration obtained by the local controller for the deterministic flow, or it is part of the information in the global planning information of the deterministic flow issued by the remote controller; the local first-type metadata configuration entries are used to record the metadata of the deterministic flow; the metadata includes at least: the set of message processing behaviors and the target service level agreement (SLA) category.

19. The apparatus according to claim 18, characterized in that, The deterministic flow management object module further handles situations where deterministic flows require aggregation. The second type of metadata configuration information is sent to the data plane of this node so that one of the modules on the local data plane can generate a local second type of metadata configuration table entry based on the second type of metadata configuration information and add it to the local second type of metadata configuration table; Alternatively, the local Category II metadata configuration table item can be distributed to the data plane of this node so that one of the modules on the local data plane can add it to the local Category II metadata configuration table. The local second-class metadata configuration table records the metadata corresponding to the deterministic flow aggregation; the metadata includes at least: SLA category and message processing behavior set; The second type of metadata configuration information includes metadata configuration information for deterministic flow aggregation. 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 issued by the remote controller and the local flow aggregation configuration for the deterministic flow, or it is the flow aggregation information in the global planning information of the deterministic flow issued by the remote controller.

20. A network node, characterized in that, The network node is a network node in a deterministic network used to transmit deterministic flow service messages or operation and maintenance management (OAM) messages; the network node includes a local controller deployed in the control plane and at least one module deployed in the data plane; The local controller performs the steps of the method as described in any one of claims 9 to 10; At least one module deployed in the data plane includes a hardware module for scheduling packet forwarding, the hardware module performing the steps of the method as described in any one of claims 1 to 8; or, at least one module deployed in the data plane includes a software module and a hardware module for scheduling packet forwarding; the software module and the hardware module cooperate to perform the steps of the method as described in any one of claims 1 to 8; the hardware module is responsible for performing corresponding processing actions on the packet, and the software module performs 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