Deterministic streaming method, apparatus and network node
By deploying input interface units in network nodes, deterministic flow packets are identified and sorted, solving the problems of packet out-of-order delivery and attacks, and ensuring packet ordering and network security.
Patent Information
- Application Number
- CN202380010501.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-05
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2043-09-05
AI Technical Summary
In deterministic networks, messages within the same deterministic flow may be out of order, making it impossible to guarantee message sequence, and deterministic flows may pose an attack on network nodes.
A new input interface unit is deployed in the network node. It identifies the target deterministic flow of the packet and performs a legality check. If the check passes, a sequence number is assigned and the packet is sorted. Otherwise, the packet is converted into a best-effort flow to avoid attacks.
It ensures the order of messages in the same deterministic flow and prevents deterministic flows from attacking network nodes, thereby improving the security and stability of network nodes.
Smart Images

Figure CN119923827B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to network communication technology, in particular to a deterministic flow transmission method, device and network node. BACKGROUND
[0002] In a deterministic network domain, in order to guarantee the flexibility of forwarding, the forwarding unit in the network processor (NP) in the network device such as a router and the like requires flexible programming, such as using the multi-core CPU program in the network device or the microcode of the NP to realize the flexible programming function. Figure 1 An example is shown to illustrate the structure of the forwarding unit in the NP. The forwarding unit here is realized by software, and the rest can be realized by hardware. The forwarding unit and the rest of the hardware are collectively referred to as a packet routing and forwarding component.
[0003] In a specific implementation, the above-mentioned forwarding unit can be executed concurrently. In this way, after each packet of the same deterministic flow passes through the above-mentioned forwarding unit and the corresponding operations such as routing and forwarding processing or service processing and the like are executed concurrently, the packets can be out of order, and the order of the packets belonging to the same deterministic flow cannot be guaranteed. SUMMARY
[0004] Embodiments of the present application provide a deterministic flow transmission method, device and network node to guarantee the order of the packets belonging to the same deterministic flow.
[0005] An embodiment of the present application provides a deterministic flow transmission method, which is applied to a network node in a deterministic network, the network node comprising a network processor (NP); the NP newly deploys an input interface unit or the network node newly deploys an input interface unit connected to the NP; the method comprises the following steps:
[0006] receiving a packet;
[0007] identifying a target deterministic flow matched by the packet through the input interface unit, and performing legality detection based on the target deterministic flow and the packet;
[0008] if the legality detection is passed, determining metadata matched with the packet through the input interface unit and according to the target deterministic flow, the metadata at least comprising a sequence number allocated to the packet based on the target deterministic flow, the sequence number being used to indicate the order of the packet belonging to the target deterministic flow received by the node, and carrying the metadata in the packet through the input interface unit and transmitting the metadata to the original packet routing and forwarding component already deployed in the NP to perform routing and forwarding processing;
[0009] If the legality detection is passed, metadata matching the packet is determined according to the target deterministic flow, the metadata at least including a sequence number allocated to the packet based on the target deterministic flow, the sequence number being used to indicate the order of the packet belonging to the target deterministic flow received by the node, and the metadata is carried in the packet and transmitted to an original packet routing and forwarding component deployed in the NP for routing and forwarding processing.
[0010] An input interface unit applied to a network node, comprising a data packet parsing module and a control logic module.
[0011] The data packet parsing module is configured to parse a parameter used to identify a deterministic flow from a packet and transmit the parameter to the control logic module.
[0012] The control logic module is configured to identify a target deterministic flow matched by the packet based on the parameter, and perform legality detection based on the target deterministic flow and the packet.
[0013] If the legality detection is passed, metadata matching the packet is determined according to the target deterministic flow, the metadata at least including a sequence number allocated to the packet based on the target deterministic flow, the sequence number being used to indicate the order of the packet belonging to the target deterministic flow received by the node, and the metadata is carried in the packet and transmitted to an original packet routing and forwarding component deployed in the NP for routing and forwarding processing.
[0014] If the legality detection is not passed, the packet is discarded, or the attribute of the data flow to which the packet belongs is modified and the packet is transmitted based on the modified attribute, the modified attribute being used to indicate that the packet is switched from the target deterministic flow to a best-effort flow.
[0015] An electronic device, comprising:
[0016] A processor and a machine readable storage medium, the machine readable storage medium storing machine executable instructions capable of being executed by the processor.
[0017] The processor is configured to execute the machine executable instructions to implement the steps in the above method.
[0018] As can be seen from the above technical solutions, in the embodiments of the present application, after identifying the target deterministic flow matched by the packet, legality detection is performed based on the target deterministic flow and the packet, and when it is determined that the legality detection is passed, the input interface unit newly deployed is used to sort the packet belonging to the target deterministic flow before the packet is processed by the original packet routing and forwarding component of the NP, so that the order of the packets of the same deterministic flow is guaranteed.
[0019] Further, the embodiment further discards the packet or modifies the attribute of the data flow to which the packet belongs to realize forwarding the packet originally belonging to the target deterministic flow according to the forwarding mode of the best-effort flow, and finally avoids the attack of the deterministic flow on the network node when the packet fails to pass the legality detection based on the target deterministic flow and the packet. BRIEF DESCRIPTION OF DRAWINGS
[0020] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the present disclosure.
[0021] Figure 1 A structure diagram of the NP in the network node;
[0022] Figure 2 A networking structure diagram of the network node provided by the embodiment of the present application;
[0023] Figure 3 Another networking structure diagram of the network node provided by the embodiment of the present application;
[0024] Figure 4 A method flowchart provided by the embodiment of the present application;
[0025] Figure 5 An improved structure diagram of the network node provided by the embodiment of the present application;
[0026] Figure 6 An improved structure abstract diagram of the network node provided by the embodiment of the present application;
[0027] Figure 7 An internal packet processing mechanism diagram of the network node provided by the embodiment of the present application;
[0028] Figure 8 Another internal packet processing mechanism diagram of the network node provided by the embodiment of the present application;
[0029] Figure 9 A structure diagram of the electronic device provided by the embodiment of the present application. DETAILED DESCRIPTION
[0030] The exemplary embodiments will be described in detail herein below with reference to the drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of apparatuses and methods consistent with some aspects of the present application.
[0031] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting thereof. As used in this application, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0032] In order to ensure the orderliness of the packets belonging to the same deterministic flow, the embodiments of the present application improve the network node used for copying the packets, specifically, an input interface unit of the network node is newly deployed to interface with the NP, or an input interface unit is newly deployed to the NP. Figure 2 An example is shown to illustrate the structure of the network node deploying the input interface unit to interface with the NP. Figure 3 An example is shown to illustrate the structure of the input interface unit newly deployed to the NP. In the embodiment, the input interface unit processes the packets received by the network node prior to the original modules (collectively referred to as the packet routing and forwarding component) in the NP, which can be seen from the flow shown in Figure 4 The network node herein refers to, for example, the ingress PE of the packet entering the deterministic network, the P node, and the network node designated by the controller, which is not specifically limited in the embodiments.
[0033] Based on the above description, the method provided by the embodiments of the present application is described as follows:
[0034] Referring to Figure 4 , Figure 4 the flowchart of the method provided by the embodiments of the present application. The flow is applied to the improved network node described above. As shown in Figure 4 the method can include the following steps:
[0035] Step 401, receiving a packet.
[0036] Step 402, identifying the target deterministic flow matched by the packet through the input interface unit, and performing legality detection based on the target deterministic flow and the packet, if the legality detection is passed, executing step 403, otherwise, executing step 404.
[0037] In the embodiment, the input interface unit can accurately identify which deterministic flow the packet belongs to (i.e., the target deterministic flow matched by the packet). As to how to accurately identify the target deterministic flow matched by the packet, examples will be described below, which will not be described here.
[0038] In the embodiment, the legality detection is performed mainly because the processing of the deterministic flow is superior to that of the best effort flow, and once the access device of the deterministic flow is abnormal, it may impact the network node described above. In order to avoid such impact, the embodiments further perform legality detection based on the target deterministic flow and the packet after the input interface unit identifies the target deterministic flow matched by the packet.
[0039] As an embodiment, the above-mentioned legality detection based on the target deterministic flow and the packet has many implementation manners in specific implementation. For example, at least one detection includes the following: packet length detection (specifically, detecting whether the length of the packet meets the set length required by the target deterministic flow, if yes, determining that the packet passes the legality detection, if no, determining that the packet fails the legality detection), Meter performance detection of the target deterministic flow based on the received packets belonging to the target deterministic flow (specifically, detecting whether the packet receiving speed in a period of time meets the set speed, if yes, determining that the packet passes the legality detection, if no, determining that the packet fails the legality detection), and the like. The present embodiment is not specifically limited.
[0040] In step 403, the metadata matching the packet is determined by the input interface unit and according to the target deterministic flow. The metadata at least includes the sequence number assigned to the packet based on the target deterministic flow, which is used to indicate the order of the packet received by the node belonging to the target deterministic flow. The metadata is carried in the packet by the input interface unit and transmitted to the original packet routing and forwarding component deployed in the NP for routing and forwarding processing.
[0041] In the present embodiment, the node records the total number of packets received by the node belonging to each deterministic flow through a register. Based on this, the sequence number can be the sum of the total number of packets received by the node belonging to the target deterministic flow recorded by the register and a set value such as 1. Examples will be described below, which are not described here.
[0042] Once the metadata including at least the sequence number of the packet is determined, the input interface unit carries the metadata in the packet and transmits it to the original packet routing and forwarding component deployed in the NP for routing and forwarding processing. This is equivalent to determining the sequence number of the packet by the present embodiment before the original packet routing and forwarding component deployed in the NP processes the packet, which ensures the order of the packets belonging to the same deterministic flow.
[0043] In step 404, the packet is discarded, or the attribute of the data flow to which the packet belongs is modified, and the packet is transmitted based on the modified attribute. The modified attribute is used to indicate that the packet is switched from the target deterministic flow to the best effort flow.
[0044] The step 404 is executed under the premise that the legality detection of step 402 is not passed. Once the legality detection of step 402 is not passed, it means that the packet belonging to the above target deterministic flow at this time may attack the above network node due to the characteristics of the deterministic flow itself (such as the characteristic that the deterministic flow is prior to the best effort flow, etc.), in order to avoid the above attack, the step 404 discards the packet, or modifies the attribute of the data flow to which the packet belongs and transmits the above packet based on the modified attribute. Here, the modified attribute is used to indicate that the packet is switched from the target deterministic flow to the best effort flow, so that the packet originally belonging to the target deterministic flow is forwarded according to the forwarding mode of the best effort flow through step 404, so as to avoid the attack of the deterministic flow on the above network node.
[0045] As an embodiment, the attribute of the data flow to which the packet belongs can be: modifying the service level agreement (SLA) category of the packet, such as when the packet belongs to the target deterministic flow, the SLA category of the packet is S1, when the packet belongs to the best effort flow, the SLA category of the packet is S2, S2 is less than S1, and finally the packet is switched from the target deterministic flow to the best effort flow.
[0046] At this point, the completion Figure 4 flow shown.
[0047] Through the Figure 4 flow shown, the legality detection can be performed based on the target deterministic flow and the packet after identifying the target deterministic flow to which the packet matches, and when it is determined that the legality detection is passed, the packet belonging to the target deterministic flow is sorted by the newly deployed input interface unit before the packet is processed by the original packet routing forwarding component of the NP, so as to guarantee the order of the packets of the same deterministic flow.
[0048] Further, when the legality detection based on the target deterministic flow and the packet is found to be not passed, the packet is discarded or the attribute of the data flow to which the packet belongs is modified to realize the forwarding of the packet originally belonging to the above target deterministic flow according to the forwarding mode of the best effort flow, and finally the attack of the deterministic flow on the network node is avoided.
[0049] Based on the Figure 4 flow shown, Figure 5 corresponding structural diagram is abstractly shown. As Figure 5As shown, after the packet enters the input interface unit of the network node, the input interface unit performs processing on the packet as described above in steps 402 to 404, and then the packet and the metadata matched by the input interface unit are delivered to one of the packet routing and forwarding components, such as the pipe scheduling unit, of the NP. The pipe scheduling unit schedules the packet according to the metadata (such as preferentially scheduling the packet with the highest SLA value in the metadata) to one of the packet routing and forwarding components, such as the input pipe unit, of the NP. The input pipe unit performs packet encapsulation (such as adding tunnel information) and other processing on the packet. The input pipe unit transmits the processed packet to another packet routing and forwarding component, such as the switching unit, which performs packet packet duplication. Based on the processing of the input interface unit as described above, the packet is sorted from the output of the input interface unit to the input of the switching unit. After the switching unit performs packet duplication, the packets are switched to the output pipe processing units of the output interfaces for further processing. Here, the output pipe processing units mainly perform quality of service (QoS) scheduling and internal transmission channel selection, and deliver the packets to the output interface units through different transmission channels for packet scheduling of the deterministic flow or for combined scheduling of the packets of the deterministic flow and the packets of the best-effort flow.
[0050] It should be noted that the present embodiment focuses on the sorting of the packet, and other operations are similar to the existing operations. Therefore, for ease of understanding, Figure 5 The structure diagram shown can be simplified as Figure 6 As shown, Figure 6 After the input interface unit accurately identifies the target deterministic flow matched by the packet, the packet is subjected to legality detection, and when the legality detection is passed, the input interface unit determines the metadata matched by the packet according to the target deterministic flow. Then the input interface unit delivers the metadata along with the packet to the pipe scheduling unit, which schedules the packet according to the metadata (such as preferentially scheduling the packet with the highest SLA value in the metadata). After the metadata and the packet are scheduled into the corresponding pipe by the pipe scheduling unit, the corresponding input pipe unit performs packet encapsulation and other processing according to the protocol. Then the packet can be processed according to the existing process.
[0051] It should be noted that, Figure 4 to Figure 6 The input interface unit needs to identify the target deterministic flow matched by the packet, and perform legality detection based on the packet. Therefore, the input interface unit needs to have sufficient resources to parse the packet and provide strong programmable capability. In addition, the input interface unit needs to further determine the metadata matched by the packet according to the target deterministic flow (which can be implemented by ACL), which requires the input interface unit to provide sufficient ACL capability.
[0052] Optionally, as an embodiment, the embodiment is in the scenario that the network node deploys the input interface unit to interface the NP in the network node, at this time, the input interface unit can be implemented by FPGA or programmable inter-chip; and under the premise that the network node deploys the input interface unit to the NP, at this time, the input interface unit can be integrated into the NP, and the NP is taken as an example and implemented by ASIC, at this time, the input interface unit can be integrated into the ASIC.
[0053] For the convenience of understanding, Figure 7 For example, the networking structure of how the input interface unit cooperates with the NP to implement packet transmission is illustrated under the premise that the network node deploys the input interface unit to interface the NP. Figure 8 For example, the networking structure of how the NP integrated with the input interface unit implements packet transmission is illustrated.
[0054] In Figure 7 and Figure 8 , the structure of the input interface unit is similar, which can include a packet parsing module (Parser) and a control logic module (Control Logic).
[0055] The Parser is configured to parse a header vector (Header Vector) from a packet and deliver the header vector to the Control Logic. The Header Vector includes parameters for identifying a deterministic flow, such as: 1) a packet quintuple and a DSCP applicable to IPv4 packets and IPv6 packets; 2) a flow label (Flow Label) applicable to IPv4 packets; and 3) a forwarding label (Forwarding Label) and a service label (Service Label) applicable to MPLS packets or PREOF implemented by MPLS.
[0056] It should be noted that in the embodiment, the bit width of each field of the Header Vector complies with the protocol, such as the source IP address of IPv4 occupying 32 bits, the source IP address of IPv6 occupying 128 bits, and the like. Meanwhile, the Header Vector further includes a vector field valid indication bit (Valid Flag) for indicating whether each vector field in the Header Vector is valid, and when the corresponding bit of the Valid Flag is a set value such as 1, it indicates that each vector field in the Header Vector is valid.
[0057] The Control Logic is configured to identify a target deterministic flow matched by a packet in a configured deterministic flow table by using the Header Vector.
[0058] As an embodiment, the deterministic flow table herein is implemented by an ACL table, which mainly includes the correspondence between the flow characteristic key and the deterministic flow identifier. Here, the flow characteristic key can include at least one parameter carried by the Header Vector. Based on this, the embodiment finds the corresponding deterministic flow identifier in the ACL table by taking the at least one parameter carried by the Header Vector as the key, and finally realizes the identification of the target deterministic flow matched by the packet.
[0059] In the embodiment, the deterministic flow table can also be implemented by an ACL table, which can also include:
[0060] Local Flow ID (LocalFlowID), used for mapping the NP and the hardware resources of the subsequent processing stage;
[0061] SLA;
[0062] Global Flow / Aggregated Flow ID (GlobalFlowID / AggregatedFlowID);
[0063] Based on this, the embodiment can obtain the deterministic flow information above according to the target deterministic flow in all the ACL tables obtained as the deterministic flow information table.
[0064] In the embodiment, the LocalFlowID can be associated with the corresponding register information table, also called Input Flow Table. The Input Flow Table is generally indexed by LocalFlowID, and at least maintains the following parameters: 1) flow sequence number register address, which corresponds to the flow sequence number register used for accumulating the number of packets received by the node belonging to the target deterministic flow, so as to assign the corresponding sequence number to the packet; 2) Meter register address: which corresponds to the Meter register used for measuring the packet flow through the token bucket mechanism; 3) statistical information register address: which corresponds to the statistical register used for packet statistics, such as the number of received packets, byte number, packet loss number, packet loss statistics, etc.; 4) legality length check threshold value: such as taking the maximum receiving unit length as the upper limit to perform legality length check; 5) traffic overrun threshold value, unit bps; 6) burst length threshold value; 7) related policy, such as the policy adopted for illegal length packets, such as discarding and counting, modifying the attribute of the data flow to which the packet belongs, the modified attribute is used to indicate that the packet is switched from the target deterministic flow to the best effort flow (which can be realized by lowering the SLA level of the packet), etc.
[0065] Based on the Input Flow Table, in this embodiment, the ControlLogic can perform at least one of the following legality detection on the packet: for example, based on the Meter register address, obtain the corresponding Meter register, measure the packet flow through the token bucket mechanism to obtain a measurement result, and perform Meter performance detection based on the measurement result; based on the legality length check threshold value, the flow overrun threshold value, perform legality length check, flow overrun check, etc. on the packet respectively; when the length of the packet changes compared to the length of other packets belonging to the same target deterministic flow, perform burst length check on the length of the packet based on the burst length threshold value, etc.
[0066] When it is found that the legality detection does not pass, the packet is processed based on the above-mentioned related strategy, such as discarding the packet, or modifying the attribute of the data flow to which the packet belongs and transmitting the packet based on the modified attribute, and the modified attribute is used to indicate that the packet is switched from the target deterministic flow to the best effort flow.
[0067] When it is found that the legality detection passes, the ControlLogic is further used to determine the metadata matching the packet according to the target deterministic flow. For example, the ControlLogic finds the flow sequence number register address in the register information table based on the local flow ID; obtains the flow sequence number register corresponding to the flow sequence number register address to assign a corresponding sequence number to the packet received by the node, and determines the metadata matching the packet according to the sequence number. Here, determining the metadata matching the packet according to the sequence number can include: taking the sequence number, the SLA, etc. as the metadata matching the packet.
[0068] In Figure 7 , after determining the metadata, the ControlLogic sends the metadata and the packet to the Input Class Unit in the NP, so that the Input Class Unit knows the SLA in the metadata and is mapped to the corresponding SLA queue in the Processor Management Unit. It should be noted that the Input Class Unit in the NP only has a simple packet recognition function, such as starting to parse the packet according to a fixed offset position, recognizing a fixed IPv4 / IPv6 format packet, and prioritizing according to a certain field value, etc., but the packet parsing capability is weak, and it cannot recognize the metadata of the packet or distinguish the SLA of the packet in the metadata, so the input interface unit needs to adapt to the Input Class Unit so that the Input Class Unit can recognize the SLA of the packet.
[0069] In Figure 8In the prior art, the Input Class Unit is integrated into the NP, and the Input Interface Unit and the Processor Management Unit in the NP omit the Input Class Unit, the Control Logic in the Input Interface Unit directly cooperates with the Processor Management Unit in the NP, and is completely liberated from the SLA classification processing, so that the processing complexity is greatly simplified and the processing capacity is improved. In the processing link, the messages with high SLA level can be preferentially scheduled, and the high-priority and high-real-time flow is prevented from being submerged by the low-priority or low-real-time flow data.
[0070] As an embodiment, the present application also provides a hardware structure of the network node. Referring to Figure 9 , Figure 9 The hardware structure provided by the present application is shown in FIG. 1. The hardware structure can include a processor and a machine readable storage medium, the machine readable storage medium stores machine executable instructions which can be executed by the processor; the processor is used to execute the machine executable instructions to implement the method disclosed in the above examples of the present application. Figure 9
[0071] Based on the same application concept as the above method, the present application also provides a machine readable storage medium, the machine readable storage medium stores a plurality of computer instructions, the computer instructions are executed by the processor to implement the method disclosed in the above examples of the present application.
[0072] For example, the machine readable storage medium can be a RAM (Random Access Memory), a volatile memory, a non-volatile memory, a flash memory, a storage drive (such as a hard disk drive), a solid state disk, any type of storage disk (such as an optical disk, a DVD, etc.), or similar storage medium, or a combination thereof.
[0073] The system, device, module or unit disclosed in the above examples can be specifically implemented by a computer chip or an entity, or by a product with certain function. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0074] For the convenience of description, the above apparatus is described in various units by function for separate description. Of course, the functions of the units can be implemented in one or more software and / or hardware in implementing the present application.
[0075] Those skilled in the art should understand that embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present 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 memory, CD-ROM, optical memory, etc.) containing computer-usable program code.
[0076] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts 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, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus generate a means for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 an apparatus that performs the functions specified in the flowcharts and / or block diagrams.
[0077] Moreover, these computer program instructions can also be stored in a computer-readable memory capable of directing the computer or other programmable data processing apparatus to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including instruction apparatus, which implements the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 an apparatus that performs the functions specified in the flowcharts and / or block diagrams.
[0078] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus, so that a series of operation steps are performed on the computer or other programmable data processing apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable data processing apparatus provide a process for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 an apparatus that performs the functions specified in the flowcharts and / or block diagrams.
[0079] The above merely provides an example of the present application, and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application should be included in the scope of claims of the present application.
Claims
1. A deterministic streaming method, characterized in that, The method is applied to a network node in a deterministic network, the network node comprising a network processor (NP); the NP newly deploys an input interface unit or the network node newly deploys an input interface unit connected to the NP; the method comprises: receiving a packet; identifying, by the input interface unit, a target deterministic flow matched by the packet, and performing legitimacy detection based on the target deterministic flow and the packet; if the legitimacy detection is passed, determining, by the input interface unit and according to the target deterministic flow, metadata matched by the packet, the metadata at least comprising a sequence number allocated to the packet based on the target deterministic flow, the sequence number being used to indicate the order in which the packet belonging to the target deterministic flow is received by the node, and carrying the metadata in the packet by the input interface unit and transmitting the packet to a pre-existing packet routing and forwarding component of the NP for routing and forwarding processing; if the legitimacy detection is not passed, discarding the packet, or modifying the attribute of the data flow to which the packet belongs and transmitting the packet based on the modified attribute, the modified attribute being used to indicate that the packet is switched from the target deterministic flow to a best-effort flow.
2. The method of claim 1, wherein: the NP is implemented by an ASIC, and the input interface unit newly deployed by the NP is integrated into the ASIC; or the input interface unit is implemented by an FPGA under the premise that the network node deploys the input interface unit connected to the NP.
3. The method of claim 1, wherein, The identification of the target deterministic flow matched by the packet by the input interface unit comprises: parsing, by the input interface unit, a header vector from the packet; the header vector comprising parameters used to identify the deterministic flow; based on the parameters, identifying the target deterministic flow matched by the packet in a configured deterministic flow table.
4. The method of claim 3, wherein, The parameters used to identify the deterministic flow included in the header vector are at least one of the following parameters: a packet quintuple and a DSCP suitable for IPv4 packets and IPv6 packets; a flow label suitable for IPv4 packets; a forwarding label and a service label suitable for MPLS packets or PREOF implemented by MPLS.
5. The method of claim 1, wherein, The legitimacy detection based on the target deterministic flow and the packet comprises: based on the target deterministic flow and the packet, performing at least one of the following detections: detecting whether the packet length of the packet meets a set length required by the target deterministic flow; performing Meter performance detection on the target deterministic flow based on each packet received belonging to the target deterministic flow.
6. The method of claim 1, wherein, The target deterministic flow has corresponding deterministic flow information, the deterministic flow information at least comprising a local flow ID, a service level category (SLA), and a global flow / aggregated flow ID; The determination of the metadata matched by the packet according to the target deterministic flow comprises: finding a flow sequence number register address in a register information table based on the local flow ID; a flow sequence number register corresponding to the flow sequence number register address is controlled to assign a corresponding sequence number to the packet received by the node and belonging to the target deterministic flow; obtaining a flow sequence number register corresponding to the flow sequence number register address to assign a corresponding sequence number to the packet, and determining metadata matching the packet according to the sequence number.
7. An input interface unit, characterized by The input interface unit is applied to a network node, and includes a data packet analysis module and a control logic module. The data packet analysis module is configured to analyze parameters for identifying a deterministic flow from the packet and deliver the parameters to the control logic module. The control logic module is configured to identify a target deterministic flow matching the packet based on the parameters, and perform validity detection based on the target deterministic flow and the packet. If the validity detection is passed, metadata matching the packet is determined according to the target deterministic flow, and the metadata at least includes a sequence number assigned to the packet based on the target deterministic flow, the sequence number is used to indicate the order of the packet received by the node and belonging to the target deterministic flow, and the metadata is carried in the packet and delivered to an original packet routing and forwarding component deployed in the NP for routing and forwarding processing. If the validity detection is not passed, the packet is discarded, or the attribute of the data flow to which the packet belongs is modified, and the packet is transmitted based on the modified attribute, the modified attribute is used to indicate that the packet is switched from the target deterministic flow to a best effort flow.
8. The input interface unit according to claim 7, characterized in that If the input interface unit is connected to the existing NP of the network node, the control logic module delivers the metadata to an input classification unit in the NP together with the data packet; the input interface unit is adapted to the input classification unit to assist the input classification unit in identifying the SLA of the packet carried by the metadata, and the input classification unit delivers the packet to an SLA queue in a pipeline scheduling unit in the NP based on the identified SLA. If the input interface unit is integrated into the NP, the control logic module delivers the metadata to the SLA queue in the pipeline scheduling unit in the NP together with the data packet.
9. The input interface unit according to claim 7, wherein the NP is implemented by an ASIC, and the newly deployed input interface unit of the NP is integrated into the ASIC; or the input interface unit is implemented by an FPGA under the premise that the input interface unit is connected to the NP.
10. The input interface unit of claim 7, wherein, The parameters for identifying the deterministic flow are parameters carried in a header vector in the packet; The control logic module identifies the target deterministic flow matching the packet in a configured deterministic flow table based on the parameters.
11. The input interface unit of claim 7, wherein, The parameters for identifying the deterministic flow are at least one of the following parameters: a packet quintuple and a DSCP suitable for IPv4 packets and IPv6 packets; a flow label suitable for IPv4 packets. Forwarding Label and Service Label suitable for MPLS message or PREOF implemented by MPLS.
12. The input interface unit of claim 7, wherein, The control logic module performs legality detection based on the target deterministic flow and the message, including: The control logic module performs at least one of the following detections based on the target deterministic flow and the message: detecting whether the message length meets a set length required by the target deterministic flow; performing Meter performance detection on the target deterministic flow based on each message received and belonging to the target deterministic flow.
13. The input interface unit of claim 7, wherein, The target deterministic flow has corresponding deterministic flow information, and the deterministic flow information at least includes a local flow ID, a service level category SLA, and a global flow / aggregated flow ID. The control logic module determines metadata matched with the message according to the target deterministic flow, including: searching for a flow sequence number register address in a register information table based on the local flow ID; the flow sequence number register address corresponding to a flow sequence number register is controlled to assign a corresponding sequence number to the message received by the node and belonging to the target deterministic flow; obtaining the flow sequence number register address corresponding to the flow sequence number register to assign a corresponding sequence number to the message, and determining metadata matched with the message according to the sequence number.
14. An electronic device, comprising: The electronic device includes: a processor and a machine readable storage medium, the machine readable storage medium storing machine executable instructions capable of being executed by the processor; the processor is configured to execute the machine executable instructions to implement steps in any one of the methods of claims 1 to 6.
Citation Information
Patent Citations
Message transmission method and network equipment
CN116686272A
System and method for re-sequencing data packets on a per-flow basis
US20040143593A1