Packet processing method, ingress node, medium and product
By matching the packet processing cycle at the deterministic network ingress node and adopting corresponding strategies, the problem of inflexible processing at the ingress node in a deterministic network is solved, enabling flexible processing of packets with different cycles and improving the network's diversified service support capabilities and bandwidth utilization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-12
- Publication Date
- 2026-03-12
AI Technical Summary
In deterministic networks, the lack of an effective mechanism for entry nodes to check whether data traffic meets the preset deterministic requirements leads to a mismatch between resource reservation and actual demand, making it difficult to adapt to the service requirements of different transmission frequencies and limiting the network's ability to support diversified services.
By acquiring packets and their processing cycles at the entry node of a deterministic network, matching the target cycle, and adopting corresponding preset processing strategies, packets of different cycles can be flexibly processed, including placing packets into the target processing queue or using non-deterministic forwarding methods, thereby achieving flexible processing of different types of packets.
It enhances the end-to-end deterministic message processing capabilities in deterministic networks, improves bandwidth utilization and support for diverse services, and reduces the impact of uncertainty.
Smart Images

Figure CN2025114172_12032026_PF_FP_ABST
Abstract
Description
Message processing method, ingress node, medium and product
[0001] Cross-reference to Related Applications
[0002] This patent application claims priority to Chinese Patent Application No. 202411237135.X, filed September 4, 2024, in the State Intellectual Property Office of China, the disclosure of which is incorporated herein in its entirety by reference. TECHNICAL FIELD
[0003] The present disclosure relates to the field of communication technology, and in particular, to a message processing method, an ingress node, a computer-readable storage medium, and a computer program product. BACKGROUND
[0004] Deterministic network is a network that provides services for deterministic traffic flow. Unlike the best-effort service manner in the traditional network, each node in the deterministic network needs to control the transmission delay, jitter, and the like of the traffic flow deterministically to ensure accurate transmission of the traffic flow.
[0005] In the deterministic network, the network side device specifies the processing manner of a message at each hop node. SUMMARY
[0006] The present disclosure provides a message processing method, an ingress node, a computer-readable storage medium, and a computer program product.
[0007] In a first aspect, an embodiment of the present disclosure provides a message processing method applied to an ingress node of a deterministic network, including: obtaining a first message and a processing period of the first message; and in a case where the processing period of the first message matches a target period, processing the first message by using a preset message processing strategy corresponding to the target period.
[0008] In a second aspect, an embodiment of the present disclosure provides an ingress node, including: one or more processors; and a memory having one or more programs stored thereon, when the one or more programs are executed by the one or more processors, the one or more processors implement any of the message processing methods in the embodiments of the present disclosure.
[0009] In a third aspect, an embodiment of the present disclosure provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer program implements any of the message processing methods in the embodiments of the present disclosure.
[0010] In a fourth aspect, an embodiment of the present disclosure provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the computer program implements any of the message processing methods in the embodiments of the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0011] In the accompanying drawings for embodiments of the present disclosure:
[0012] Figure 1 is a flow diagram of a packet processing method according to an embodiment of the present disclosure;
[0013] Figure 2 is a block diagram of a packet processing device according to an embodiment of the present disclosure;
[0014] Figure 3 shows a block diagram of an ingress node of a deterministic network according to an embodiment of the present disclosure;
[0015] Figure 4 is a flow diagram of an ingress node of a deterministic network implementing an enqueue policy according to an embodiment of the present disclosure;
[0016] Figure 5 is a flow diagram of an ingress node of a deterministic network implementing a dequeue policy according to an embodiment of the present disclosure;
[0017] Figure 6 is a flow processing policy diagram for different port configurations in an ingress node of a deterministic network according to an embodiment of the present disclosure;
[0018] Figure 7 is a flow processing policy diagram for different port configurations in an ingress node of a deterministic network according to an embodiment of the present disclosure;
[0019] Figure 8 is a block diagram of an ingress node according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0020] In order for those skilled in the art to better understand the technical solutions of the present disclosure, the embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0021] The embodiments shown will be described in greater detail in the following, but the embodiments shown can be embodied in various forms, and the present disclosure should not be interpreted as being limited to the embodiments set forth below. On the contrary, the purpose of providing these embodiments is to make the present disclosure thorough and complete, and to enable those skilled in the art to fully understand the scope of the present disclosure.
[0022] The accompanying drawings for embodiments of the present disclosure are used to provide further understanding of the embodiments of the present disclosure, and form part of the specification, together with the detailed embodiments, to explain the present disclosure, and do not constitute a limitation of the present disclosure. The above and other features and advantages will become more apparent to those skilled in the art by referring to the detailed embodiments described below with reference to the accompanying drawings.
[0023] In the case of no conflict, the embodiments of the present disclosure and the features in the embodiments can be combined with each other.
[0024] The terminology used by the present disclosure is intended to be interpreted in only a descriptive manner and not intended to limit the present disclosure. As used by the present disclosure, the term "and / or" includes any and all combinations of one or more of the associated listed items. As used by the present disclosure, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0025] Unless otherwise defined, all terms used in the disclosure, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an overly idealized or overly formal sense unless expressly so defined by the present disclosure. In some related technologies, deterministic forwarding of messages is performed by deterministic IP network technology (DIP), cycle specified queuing and forwarding technology (CSQF), enhanced deterministic networking (EDN), etc., which are all used for deterministic forwarding of messages using asynchronous periodic scheduling (i.e., without the need for global time synchronization between devices, only frequency synchronization is needed). In the process of deterministic forwarding, the controllability of network jitter is mainly achieved by techniques such as equal-length time slice periodic scheduling, cycle mapping, path and resource planning, etc.
[0026] For the processing of messages received by an ingress node in a deterministic network and sent by a non-deterministic network, "deterministic shaping" is usually needed, that is, the ingress node needs to associate the deterministic traffic data arriving at the device to the scheduling queue of the corresponding egress port according to a certain method, so as to enable the deterministic transmission of messages by other nodes in the deterministic network.
[0027] The above scheme may face the following problems in actual application:
[0028] 1. Incomplete ingress traffic management: there is a lack of effective mechanism at the ingress node to check whether the data traffic meets the preset deterministic requirements (e.g., whether the message arrives within the expected cycle window) and how to perform appropriate operations on the matching traffic.
[0029] 2. Flexibility limitation: some current edge shaping schemes are only applicable to scenarios where the arrival cycle of messages is not concerned, and resource reservation is usually coarse-grained, making it difficult to adapt to the needs of fine-grained management and improved bandwidth utilization.
[0030] 3. Resource reservation does not match actual demand: Although some related technical solutions specify the forwarding period and time slot of packets in the network, they ignore the check of the given period granularity of access traffic, which may lead to a mismatch between reserved resources and actual demand, affecting the controllability of end-to-end delay and jitter.
[0031] 4. Limitation of supporting services with different packet sending frequencies: Some existing related technical solutions have limitations when handling the case where the same deterministic service packet enters multiple period queues at the ingress port of the ingress device. Since the design of existing technical solutions is based on single service flow granularity, each service flow can only be assigned a preset period sequence, which means that once a service is assigned to a certain period queue, it must follow the same period pattern in the entire network. This limitation makes the system unable to flexibly adapt to service demands with different sending frequencies, thereby limiting the network's support capability for diversified services.
[0032] In some related technologies, based on the granularity of service flow, the processing manner of packets at each hop node is specified by the network side device to determine the period of packets at each deterministic forwarding node along the way, but it cannot flexibly process packets, especially at the ingress node of the deterministic network, and cannot accurately process packets in different periods, resulting in the system being unable to flexibly adapt to service demands with different sending frequencies, thereby limiting the network's support capability for diversified services.
[0033] To solve the above problems, the present disclosure provides a packet processing method, an ingress node, a computer readable medium and a computer program product.
[0034] FIG. 1 is a flowchart of a packet processing method according to an embodiment of the present disclosure. The packet processing method is applied to a packet processing device, which can be arranged in an ingress node of a deterministic network (DetNet). DetNet refers to the ability to provide deterministic service guarantees for the services carried in a network domain, including delay, delay jitter, packet loss rate, etc. Such a network optimizes data transmission paths, time-sensitive protocols, and intelligent traffic management to ensure that data transmission in the DetNet can reach the destination within a predetermined time, achieving reliable data transmission.
[0035] As shown in FIG. 1, the packet processing method includes but is not limited to the following steps.
[0036] Step S101, obtaining a first packet and a processing period of the first packet.
[0037] The first packet is a packet sent by a device (for example, a terminal in an access network, etc.) in a non-deterministic network (for example, a traditional IP network or a best effort network) to an entry node of a deterministic network. The processing period of the first packet is a period in which the first packet is about to be scheduled for processing.
[0038] The non-deterministic network generally refers to a traditional IP network or a best effort network, which is not specially optimized in design to provide guaranteed quality of service (QoS). In the non-deterministic network, the transmission delay, jitter, packet loss rate, and bandwidth usage of data packets are unpredictable, mainly depending on the current load and condition of the network. This network model is suitable for applications with low requirements for delay and reliability, but when facing scenarios such as industrial control, remote medical treatment, autonomous driving, etc., which are sensitive to delay and require high reliability, the uncertainty of performance and service quality becomes the main limitation.
[0039] The uncertainty of data is caused by errors in data collection, packet loss, delay, etc. during transmission. The uncertainty of network topology is caused by the fact that the network topology structure may change as nodes join, leave or fail. This dynamic nature makes the network topology uncertain, which may cause instability of network performance, such as increased complexity of route selection, increased delay and packet loss rate of data transmission, etc. The uncertainty of network traffic is caused by the fact that the traffic pattern in the network may change with user behavior, application demand and network condition, which may cause network congestion, uneven bandwidth allocation, etc. The uncertainty of node behavior is caused by the fact that nodes (such as computers, servers, routers, etc.) in the network have software faults, hardware faults, malicious attacks, etc., which may cause data transmission interruption, data leakage, etc. security problems.
[0040] Therefore, when obtaining the first packet and the processing period of the first packet, it is necessary to determine whether the processing period of the first packet meets the requirements of the target period, so as to ensure that the first packet can obtain the most accurate processing.
[0041] In step S102, if the processing period of the first packet matches the target period, a preset packet processing strategy corresponding to the target period is used to process the first packet.
[0042] The preset packet processing strategy corresponding to the target period is a processing strategy for the first packet determined according to the target period.
[0043] When the processing period of the first packet matches the target period, it is indicated that the processing period of the first packet is the same as the target period, or the processing period of the first packet meets the requirement of the target period. At this time, the first packet is processed by using the preset packet processing strategy corresponding to the target period, so that the first packet can be processed by the preset packet processing strategy, and the processing requirement of the user corresponding to the ingress node on the first packet is met.
[0044] In the packet processing method in the embodiment of the present disclosure, when the first packet is obtained, the ingress node of the deterministic network matches the processing period of the first packet with the target period to determine whether the deterministic processing needs to be performed on the first packet. When the processing period of the first packet matches the target period, the first packet can be processed by using the processing mode corresponding to the target period, so that the first packet can be flexibly processed based on the granularity of the processing period, and the packets with different processing periods can be flexibly processed at the ingress node of the deterministic network, thereby improving the processing of the end-to-end deterministic packet in the deterministic network.
[0045] In some exemplary embodiments, the first packet is a packet received by an ingress port of the ingress node.
[0046] The obtaining of the first packet and the processing period of the first packet in step S101 includes: receiving the first packet, and taking the arrival period of the first packet as the processing period of the first packet, the arrival period of the first packet being the scheduling period in which the first packet is received.
[0047] In the case where the processing period of the first packet matches the target period, the first packet is processed by using the preset packet processing strategy corresponding to the target period in step S102, which includes: in the case where the arrival period of the first packet is the same as the target period, the first packet is processed by using the processing mode corresponding to the arrival period of the first packet.
[0048] When the ingress node in the DetNet receives the first packet sent by the non-deterministic network, it cannot be determined which scheduling period the first packet corresponds to. By recording the scheduling period in which the first packet is received, and taking the scheduling period as the arrival period of the first packet, the periodic processing of the first packet is facilitated.
[0049] For example, when the first packet is received, the scheduling period corresponding to the ingress node is T2, and then it can be determined that the arrival period of the first packet is T2. By recording the scheduling period T2 and determining the arrival period of the first packet as T2, the periodic processing of the first packet based on T2 is facilitated, so that the deterministic processing of the packet transmitted by the non-deterministic network is realized.
[0050] The processing manner corresponding to the arrival period of the first packet is determined according to the arrival period of the first packet.
[0051] If the first packet is a periodically sent packet, the subsequent packet can be predicted and processed according to the arrival period of the first packet. For example, if the sending period of the first packet is n microseconds, the next first packet can be prepared to be received after n microseconds, and the first packet is processed (for example, discarded or processed according to the non-deterministic packet forwarding base station) in the case of packet delay arrival. n is an integer greater than or equal to 1.
[0052] If the first packet is a non-periodically sent packet, the corresponding processing manner can be dynamically adjusted according to the arrival period of the first packet monitored in real time, so as to realize flexible processing of the first packet.
[0053] The packet processing method in the embodiment of the present disclosure can record the scheduling period in which the first packet is received when the first packet is received by the entry node of the deterministic network, and take the scheduling period as the arrival period of the first packet, so that the subsequent processing of the first packet can be performed by using the processing manner corresponding to the arrival period of the first packet. Therefore, the embodiment of the present disclosure can flexibly process the first packet based on the granularity of the scheduling period, and realize flexible processing of the packets arriving in different scheduling periods at the entry node of the deterministic network, thereby improving the processing of the end-to-end deterministic packet in the deterministic network.
[0054] In some exemplary embodiments, the first packet is processed by using the processing manner corresponding to the arrival period of the first packet, including: determining a target processing queue according to the arrival period of the first packet; and putting the first packet into the target processing queue.
[0055] The arrival period of the first packet is used to determine in which scheduling period the first packet needs to be processed, and then the target processing queue corresponding to the determined scheduling period is obtained according to the determined scheduling period, that is, the scheduling period of the target processing queue is the period in which the first packet is processed, so as to process the first packet quickly and accurately.
[0056] For example, if it is determined that the arrival period of the first packet is T2, and it is determined through analysis of the packet, period calculation and other processing that the first packet needs to be processed in T4, it can be determined that the first packet needs to be put into the target processing queue with T4 as the scheduling period, so as to process the first packet in T4.
[0057] It should be noted that each packet in the target processing queue is a packet meeting the scheduling period of the target processing queue, in other words, the packet put into the target processing queue can be processed within the scheduling period of the target processing queue, thereby realizing the sequential processing of each packet and the deterministic transmission.
[0058] In some exemplary embodiments, the target processing queue is any one of the following queues:
[0059] The target processing queue is a queue with a scheduling period being the next period of the period determined according to the arrival period of the first packet and the processing capability of the entry node;
[0060] The target processing queue is a queue with a scheduling period being a period after a preset delay period number of the arrival period of the first packet;
[0061] The target processing queue is a queue with a preset configuration period as the scheduling period.
[0062] The preset configuration period is a period for processing the first packet configured in advance.
[0063] Since the network delays corresponding to the plurality of different types of first packets received by the entry node are different, and different first packets need to be put into different target processing queues; in order to meet the requirement of the processing delay of different first packets, by putting the first packets into different target processing queues with scheduling periods according to their arrival periods, the plurality of different types of first packets can be distributed to their corresponding target processing queues based on the dimension of the scheduling period, so as to process the first packets put into each target processing queue by the target processing queue with different scheduling periods, thereby improving the processing flexibility of the first packets.
[0064] The period determined according to the arrival period of the first packet and the processing capability of the entry node (such as represented by the maximum processing delay) can be a period determined by adding the arrival period of the first packet and the maximum processing delay and rounding up the sum.
[0065] For example, the arrival period of the first packet is T2, the maximum processing delay determined according to the processing capability of the entry node is 0.5 periods, then T2+0.5T, and rounding up, the period can be T3. It can be determined that the target processing queue is a queue with T3 as the processing period.
[0066] By using the target processing queue to process the first message, the function of "ticket checking" can be realized, that is, in the deterministic forwarding system, the time difference always exists, but for the message of a certain service, as long as it is regular, it is OK (for example, if there is no ticket selling system and ticket checking gate, all passengers arrive at the station at any time and take the train, it will be in chaos; with the ticket selling system (resource reservation of the control plane), the passengers are verified at the ticket checking gate (periodic awareness and matching in this paper), to ensure that only the person with the expected ticket can pass through the gate, and the subsequent processing is carried out according to their corresponding vehicle information; further, by determining the target processing queue, the control plane can accurately reserve resources, so that the finally determined processing mode is more in line with the requirements of the time period, and the processing accuracy of the first message is improved.
[0067] For example, the first message arrives at the ingress node at period T2, and after the ingress node analyzes and processes the first message, it is determined that the period for processing the first message in the worst case is T3, and then the scheduling period of the target processing queue can be determined as the next period of T3 (i.e., period T4), so that the ingress node puts the first message into the target processing queue with a scheduling period of T4, so that the target processing queue processes the first message.
[0068] By using the above target processing queue with different scheduling periods to process the first message, the end-to-end delay can be decomposed, different target processing queues can quickly process the corresponding first messages to meet the scheduling and processing requirements of different first messages, and the data buffer pressure of the network side device can be shared.
[0069] In some exemplary embodiments, the first message is a message received by the out port of the ingress node.
[0070] The obtaining of the first message and the processing period of the first message in step S101 includes: obtaining the first message and determining the period in which the first message is currently scheduled.
[0071] In step S102, in the case that the processing period of the first message matches the target period, the first message is processed by using a preset message processing strategy corresponding to the target period, which includes: in the case that the period in which the first message is currently scheduled is the same as the target period, the first message is encapsulated by using a preset encapsulation manner corresponding to the target period to generate a second message.
[0072] The second message is a message to be transmitted to the target processing node. The preset encapsulation manner is an encapsulation manner of the first message determined according to the period forwarding capability supported by the target processing node.
[0073] Since different target processing nodes correspond to different message processing manners, by setting the preset encapsulation manner and encapsulating the first message by using the preset encapsulation manner matched with the periodic forwarding capability supported by the target processing node, it is ensured that the second message can be correctly interpreted and processed.
[0074] In some exemplary embodiments, encapsulating the first message by using the preset encapsulation manner corresponding to the target period to generate the second message comprises: generating the second message according to the target period and the first message, the target period being a predetermined sending scheduling period of the second message; or determining a preset forwarding period sequence according to the target period and adding the preset forwarding period sequence to the first message to generate the second message.
[0075] The target period is a period in which the target processing node performs predetermined sending on the second message. By encapsulating the target period into the second message in a replacement manner, the target processing node receiving the second message can determine its forwarding behavior on the node through the target period carried in the second message, i.e., table lookup forwarding of the second message according to the carried period information.
[0076] In some embodiments, determining the preset forwarding period sequence according to the target period can be implemented in the following manner: determining a predetermined sending scheduling period of each target processing node according to a period in which the first message is currently scheduled and the plurality of target processing nodes to be passed through by the first message; and then constructing the preset forwarding period sequence according to the predetermined sending scheduling periods of the plurality of target processing nodes.
[0077] The preset forwarding period sequence comprises the plurality of target processing nodes to be passed through by the second message and the predetermined sending scheduling periods corresponding to the plurality of target processing nodes respectively.
[0078] Compared with a conventional ingress node which can only put a same type of deterministic service message into a processing queue corresponding to the same type of deterministic service message for processing, the ingress node in the present disclosure can flexibly configure the preset forwarding period sequence to implement the periodic forwarding of different types of messages in different target processing nodes, implement the granularity-based periodic forwarding of different types of messages, and thus improve the processing efficiency of messages in service data with different packet frequencies.
[0079] In some exemplary embodiments, the message processing method further comprises: in a case where the processing period of the first message does not match the target period, discarding the first message, or processing the first message by using a non-deterministic message forwarding manner.
[0080] The non-deterministic message forwarding manner is a manner of processing the first message by using a "best effort" message forwarding manner. This message forwarding manner can be applied to the transmission of messages in a complex network environment to improve the flexibility of message transmission, but at the same time, it can also bring some uncertainties, such as forwarding delay, message loss and the like.
[0081] For example, the non-deterministic message forwarding manner includes any one of the following: a random forwarding manner, a probabilistic forwarding manner, and a forwarding manner based on network state.
[0082] The random forwarding manner is to randomly select one from a plurality of possible next hop nodes for forwarding. This manner is simple but low in efficiency, and can cause messages to circulate in the network. The probabilistic forwarding manner is to select a next hop node according to a preset probability distribution. This manner is more refined than the random forwarding, and the forwarding performance can be optimized by adjusting the probability. The forwarding manner based on network state is to dynamically select a forwarding path according to the current network state (such as congestion degree, link quality, etc.). This manner requires the network node to be able to perceive the network state in real time, and make a forwarding decision accordingly.
[0083] In a case where the arrival period of the first message does not conform to the forwarding rule of the deterministic message, the first message is discarded to reduce the waste of communication resources by non-expected messages; or the non-deterministic message forwarding manner is used to process the first message, which can make the first message be transmitted out as much as possible, and improve the transmission efficiency of the message.
[0084] FIG. 2 is a block diagram of a message processing apparatus provided by an embodiment of the present disclosure. The message processing apparatus can be arranged in an entry node of a deterministic network.
[0085] The deterministic network includes any one of the following: an Internet Protocol (IP)ized Radio Access Network (RAN), a metropolitan area network, and a backbone transmission network. The entry node of the deterministic network is a device with deterministic message forwarding capability, which also has a classification function of Quality of Service (QoS) flow, a data flow monitoring function, and the like.
[0086] As shown in FIG. 2, the message processing apparatus 200 includes, but is not limited to, the following modules.
[0087] The obtaining module 201 is configured to obtain a first message and a processing period of the first message.
[0088] The processing module 202 is configured to, in a case where the processing period of the first message matches a target period, process the first message by using a preset message processing strategy corresponding to the target period.
[0089] It should be noted that the message processing apparatus in this embodiment can implement any message processing method in the embodiments of the present disclosure.
[0090] According to the message processing apparatus in the embodiments of the present disclosure, when the obtaining module in the ingress node of the deterministic network obtains the first message, the processing period of the first message is matched with the target period to determine whether the deterministic processing is needed for the first message; when the processing period of the first message matches the target period, the subsequent processing of the first message can be performed by the processing module using the processing mode corresponding to the target period, so that the embodiments of the present disclosure can flexibly process the first message based on the granularity of the processing period, and realize the flexible processing of the messages arriving in different scheduling periods at the ingress node of the deterministic network, thereby perfecting the end-to-end deterministic message processing in the deterministic network.
[0091] It should be noted that the present disclosure is not limited to the specific configurations and processes described in the above embodiments and shown in the drawings. For the convenience and brevity of description, the detailed description of known methods is omitted herein, and the specific working processes of the above-described systems, modules and units can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein.
[0092] FIG. 3 shows a composition block diagram of an ingress node of a deterministic network according to an embodiment of the present disclosure. As shown in FIG. 3, the ingress node 300 includes, but is not limited to, the following devices: a period marking module 310, a period awareness module 320 and a behavior execution module 330.
[0093] The period marking module 310 is configured to receive the first message when the ingress port of the ingress node 300 is set, and take the arrival period of the first message as the processing period of the first message, wherein the arrival period of the first message is the scheduling period when the first message is received.
[0094] The period marking module 310 is further configured to obtain the first message when the egress port of the ingress node 300 is set, and determine the period in which the first message is currently scheduled.
[0095] The period awareness module 320 is configured to identify the arrival period of the first message, and determine whether the arrival period of the first message is the same as the target period, and when it is determined that the arrival period of the first message is the same as the target period, determine the processing mode corresponding to the arrival period of the first message, wherein the processing mode is used for the behavior execution module 330 to process the first message.
[0096] The period awareness module 320 is further configured to determine whether the period in which the first message is currently scheduled is the same as the target period, and when it is determined that the period in which the first message is currently scheduled is the same as the target period, obtain the preset encapsulation mode corresponding to the target period.
[0097] The corresponding awareness modes of the cycle-aware module 320 include a cycle-aware mode and a cycle-blind mode.
[0098] The cycle-aware mode pays attention to the cycle information of the received message. When the arrival cycle of the received message is obtained, the arrival cycle needs to be matched with preset cycle information. In the case of determining the match, the message is processed. In the case of determining that the arrival cycle does not match the preset cycle information, the message is discarded or processed by using a non-deterministic message forwarding manner.
[0099] The preset cycle information includes a preset cycle parameter, for example, a pre-set cycle value (such as a preset second cycle for processing the message) and the like. Processing the message by using the non-deterministic message forwarding manner usually means that the forwarding path or the forwarding decision of the message is not completely determined or predictable, but is dynamically selected based on a certain algorithm or strategy. This manner can provide higher flexibility and adaptability in a complex network environment, but at the same time, it may also bring some uncertainty, such as forwarding delay, message loss and the like.
[0100] For example, the non-deterministic message forwarding manner includes any one of the following: a random forwarding manner, a probability forwarding manner, and a forwarding manner based on network state.
[0101] The random forwarding manner randomly selects one of a plurality of possible next hop nodes for forwarding. This manner is simple but low in efficiency, and may cause the message to circulate in the network.
[0102] The probability forwarding manner selects the next hop node according to a preset probability distribution. This manner is more refined than the random forwarding, and can optimize the forwarding performance by adjusting the probability.
[0103] The forwarding manner based on network state dynamically selects the forwarding path according to the current network state (such as congestion degree, link quality and the like). This manner needs the network node to be able to perceive the network state in real time, and make the forwarding decision accordingly.
[0104] The cycle-blind mode does not pay attention to the cycle information of the received message, and confirms that the received message meets the requirements and can be processed.
[0105] The behavior execution module 330 is configured to process the first message by using a processing manner corresponding to the arrival cycle of the first message, or to encapsulate the first message by using a preset encapsulation manner corresponding to the target cycle to generate a second message, the second message being a message for transmission to a target processing node.
[0106] The behavior execution module 330 is further configured to perform traffic monitoring, traffic shaping, queue scheduling, and the like on the packet.
[0107] When performing the queue scheduling behavior, the behavior execution module 330 can determine a target processing queue into which the first packet enters, and put the first packet into the target processing queue (i.e., an enqueue action). Alternatively, the behavior execution module 330 controls the target processing queue to perform packet encapsulation (i.e., an encapsulation action) and packet sending, and the like on the first packet.
[0108] When performing the enqueue action, the behavior execution module 330 can adopt any one of the following enqueue modes: a nearest mode, an offset mode, and an explicit designation mode.
[0109] The nearest mode is a period determined according to an arrival period of the first packet and a processing capability of the ingress node, and the period is taken as a scheduling period of the target processing queue corresponding to the first packet.
[0110] The offset mode is a period obtained by offsetting a period determined by the period marking module 310 according to the arrival period of the first packet by a preset number of delay periods, and the period is taken as the scheduling period of the target processing queue corresponding to the first packet.
[0111] For example, if the arrival period of the first packet is T2, then a period T5 is obtained by offsetting T2 by 3 periods backward, and the scheduling period of the target processing queue corresponding to the first packet is determined as T5. The preset number of delay periods is 3 periods; T represents one period (e.g., one time slot, or one data processing period, and the like).
[0112] The explicit designation mode is a period determined according to a preset period parameter, and the period is taken as the scheduling period of the target processing queue corresponding to the first packet. For example, if the preset period parameter is set as T4, then the scheduling period of the target processing queue corresponding to the first packet is directly determined as T4.
[0113] When performing the encapsulation action, the behavior execution module 330 encapsulates the first packet by adopting any one of the following encapsulation modes.
[0114] The first encapsulation mode: a target period in which the target processing node performs predetermined processing on the second packet is used to replace a target sending period in the first packet, to generate the second packet.
[0115] The second encapsulation mode is to add a preset forwarding period sequence to the first packet to generate a second packet. The preset forwarding period sequence includes a plurality of target processing nodes through which the second packet passes and a predetermined sending scheduling period corresponding to each of the plurality of target processing nodes. For example, the second packet needs to pass through three target processing nodes after being sent by the ingress node 300, and the preset forwarding period sequence is represented as {T3, T1, T2}.
[0116] T3 represents that the predetermined sending scheduling period corresponding to the first target processing node is the third period; T1 represents that the predetermined sending scheduling period corresponding to the second target processing node is the first period; and T2 represents that the predetermined sending scheduling period corresponding to the third target processing node is the second period.
[0117] Through the above preset forwarding period, each target processing node can be clear about which period it needs to process the encapsulated first packet, so as to accelerate the processing speed of the first packet.
[0118] In some embodiments, the ingress node 300 can further include a flow identification module (not shown in the figure). The flow identification module is used to identify the packet type of the received first packet to determine the service flow to which the first packet belongs. For example, the flow identification module can parse the first packet to obtain the packet characteristic field (such as at least one of the following: source address, source port information, destination address, destination port information, packet priority, protocol type corresponding to the first packet, service label to which the first packet belongs, service flow identifier) of the first packet, and then perform fine processing on the first packet according to the packet characteristic field of the first packet.
[0119] It should be noted that the position of the flow identification module can be determined according to actual needs, and the flow identification module can be executed before the behavior execution module 330.
[0120] In some embodiments, the period awareness module 320 and the behavior execution module 330 can be arranged at a user side interface (User Network Interface, UNI) or a network side interface (Network Node Interface or Network to Network Interface, NNI).
[0121] In some embodiments, for a certain type of service flow data, a flow processing strategy corresponding to the service flow data can be correspondingly arranged, and the flow processing strategy can be represented by the association relationship between the above different modules.
[0122] For example, the flow processing strategy of the period awareness for a certain type of service flow data is represented as: list<(flow identification module, period awareness module), behavior execution module>.
[0123] For example, the flow processing strategy corresponding to the A-type service flow data is represented as: list<(flow identification module a, period awareness module a), behavior execution module a>; and the flow processing strategy corresponding to the B-type service flow data is represented as: list<(flow identification module b, period awareness module b), behavior execution module b>.
[0124] a and b are used to distinguish modules configured with different configuration information. For example, the flow identification module a corresponds to identifying the A-type service flow data, and the flow identification module b corresponds to identifying the B-type service flow data.
[0125] In some embodiments, the ingress node of the deterministic network can adopt different enqueuing strategies (or dequeuing strategies) for processing different service flow data. The enqueuing strategy includes an enqueuing action performed by the behavior execution module, or a packaging action performed by the behavior execution module, and the like.
[0126] FIG. 4 is a flowchart of an enqueuing strategy implemented by an ingress node of a deterministic network according to an embodiment of the present disclosure. As shown in FIG. 4, the enqueuing strategy includes but is not limited to the following steps.
[0127] In step S401, when the ingress port of the ingress node receives a first packet, the ingress port of the ingress node records the scheduling period in which the first packet is received by using the period marking module, and takes the scheduling period as the processing period of the first packet.
[0128] The arrival period of the first packet to the ingress node is also the scheduling period in which the first packet is received recorded by the period marking module.
[0129] In step S402, the flow identification module performs information analysis on the first packet to obtain the packet type of the first packet.
[0130] In step S403, the flow identification module determines whether the packet type of the first packet is the same as the type of the target service flow preconfigured.
[0131] In the case where it is determined that the packet type of the first packet is different from the type of the target service flow preconfigured, it is determined that the service flow to which the first packet belongs is not the target service flow, and step S405 is performed.
[0132] In the case where it is determined that the packet type of the first packet is the same as the type of the target service flow preconfigured, it is determined that the service flow to which the first packet belongs is the target service flow, and step S404 is continued.
[0133] In step S404, the period marking module determines whether the processing period of the first packet matches the target period.
[0134] If the processing period of the first packet is different from the target period, step S405 is performed.
[0135] If the processing period of the first packet is the same as the target period, step S406 is performed.
[0136] In step S405, the behavior execution module discards the first packet and ends the process.
[0137] In some embodiments, the behavior execution module can also process the first packet in a non-deterministic packet forwarding manner.
[0138] In step S406, the behavior execution module determines the target processing queue according to the processing period of the first packet.
[0139] Since it is the ingress port of the ingress node, the processing period of the first packet is the arrival period of the first packet. Correspondingly, the target processing queue is any one of the following queues: the target processing queue is a queue whose scheduling period is the next period of the period determined according to the arrival period of the first packet and the processing capacity of the ingress node; the target processing queue is a queue whose scheduling period is a period that is a preset number of delay periods after the arrival period of the first packet; the target processing queue is a queue whose scheduling period is a preset configuration period.
[0140] The period determined according to the arrival period of the first packet and the processing capacity of the ingress node is the fastest period to start processing the first packet, which is determined based on the nearest mode and can process the first packet as soon as possible.
[0141] For example, the first packet arrives at the ingress port of the ingress node at period T2, and the ingress node determines that the period to process the first packet in the worst case is T3 after analyzing and processing the first packet. The scheduling period of the target processing queue can be determined as the next period of T3 (i.e., period T4), so that the ingress node can process the first packet at period T4.
[0142] The period that is a preset number of delay periods after the arrival period of the first packet can be a period determined directly according to preset configuration information (i.e., a period determined in the explicit designation mode); or the period that is a preset number of delay periods after the arrival period of the first packet can be a period determined based on the offset mode and a preset number of delay periods after the arrival period of the first packet.
[0143] For example, based on the offset mode, a second period (i.e., the second period is period T(2+m)) can be obtained by offsetting m periods backward from the arrival period of the first packet (e.g., period T2), where m represents the preset number of delay periods and is an integer greater than or equal to 1.
[0144] Step S407, the behavior execution module puts the first packet into the target processing queue.
[0145] Step S408, the target processing queue processes the first packet.
[0146] The target processing queue can adopt a round-robin scheduling manner to process a plurality of first packets put into the target processing queue to obtain a plurality of processed first packets.
[0147] After the target processing queue completes the scheduling processing of the first packet, the processed first packet can be sent to the target processing node based on a preset dequeuing strategy.
[0148] For example, FIG. 5 is a flowchart of an implementation of the dequeuing strategy of the ingress node of the deterministic network according to an embodiment of the present disclosure. As shown in FIG. 5, the dequeuing strategy includes but is not limited to the following steps.
[0149] Step S501, the periodic marking module in the egress port of the ingress node extracts the first packet from the target processing queue according to a preset order, and determines the period in which the first packet is currently scheduled, and takes the period in which the first packet is currently scheduled as the processing period of the first packet.
[0150] Step S502, the periodic marking module judges whether the processing period of the first packet matches the target period.
[0151] In the case where the processing period of the first packet is different from the target period, step S503 is executed.
[0152] In the case where the processing period of the first packet is the same as the target period, step S504 is continuously executed.
[0153] Step S503, the behavior execution module discards the first packet and ends the flow.
[0154] In some embodiments, the behavior execution module can also process the first packet in a non-deterministic packet forwarding manner.
[0155] Step S504, the behavior execution module encapsulates the processed first packet in a preset encapsulation manner corresponding to the target period to generate a second packet.
[0156] The second packet is a packet to be transmitted to the target processing node.
[0157] The preset encapsulation manner corresponding to the target period includes a first encapsulation mode or a second encapsulation mode.
[0158] The first encapsulation mode is a mode of generating the second packet according to a target sending scheduling period calculated according to an arrival period of the first packet and the first packet.
[0159] The target sending scheduling period is a predetermined sending scheduling period of the second packet.
[0160] The second encapsulation mode is a mode of determining a predetermined sending scheduling period of each target processing node according to an arrival period of the first packet and a plurality of target processing nodes to be passed through by the first packet, and adding a preset forwarding period sequence constructed according to the predetermined sending scheduling periods of the plurality of target processing nodes into the first packet to generate the second packet.
[0161] For example, if the plurality of target processing nodes to be passed through by the second packet is two, the preset forwarding period sequence is represented as {T3, T1}. Wherein, T3 represents that the predetermined sending scheduling period corresponding to the first target processing node is the third period, and T1 represents that the predetermined sending scheduling period corresponding to the second target processing node is the first period.
[0162] Through the above predetermined sending scheduling period, each target processing node can be clear about which period it needs to process the encapsulated first packet in, so as to accelerate the processing speed of the first packet.
[0163] In step S505, the egress port of the ingress node sends the second packet to the target processing node.
[0164] It should be noted that the above enqueue strategy and dequeue strategy implemented by the ingress node can be applied to data flow control, data flow shaping and other use scenarios to reduce the proportion of data congestion and provide better data services for other node devices.
[0165] In some embodiments, the ingress node can configure different flow processing strategies for different ports therein. For example, for non-periodic data packets, the flow processing strategy of port configuration shown in FIG. 6 can be used for processing.
[0166] FIG. 6 is a schematic diagram of a flow processing strategy of different port configurations in an ingress node of a deterministic network according to an embodiment of the present disclosure. As shown in FIG. 6, the first flow processing strategy: List1<period marking module, (flow identification module 1, period sensing module 1), behavior execution module 1> is configured on the service data input port A of the ingress node. The second flow processing strategy: List2<(period sensing module 1), behavior execution module 2> is configured on the network side output port B.
[0167] The configuration information corresponding to the flow identification module 1 includes the quintuple data in the deterministic service flow data A (for example, the source IP address is configured as 192.168.1.1; the source port number is 10000; the protocol type is TCP; the destination IP address is 121.14.88.76; and the destination port is 80).
[0168] The deterministic service flow data A is non-periodic data, and when it is periodically matched, it is confirmed that any one period received message belonging to the deterministic service flow data A meets the matching requirement.
[0169] The configuration information corresponding to the cycle awareness module 1 includes a cycle-blind mode.
[0170] The configuration information corresponding to the behavior execution module 1 includes a nearest mode, and the message belonging to the deterministic service flow data A is put into a target processing queue.
[0171] The configuration information corresponding to the behavior execution module 2 includes a replacement encapsulation mode for encapsulating the message.
[0172] Correspondingly, the first flow processing strategy includes: when the service data input port A receives the first message a, if the queue scheduled at this time is the queue corresponding to the cycle T2, the cycle marking module records the scheduling cycle T2 in which the first message a is received, and takes the cycle T2 as the arrival cycle of the first message a. The flow identification module 1 performs message analysis on the first message a to obtain the quintuple data of the first message a, and compares the quintuple data of the first message a with the quintuple data in the deterministic service flow data A configured in the flow identification module 1, and determines that the first message a is a message that needs to be processed in the case that all fields are matched. Then, the cycle awareness module 1 judges the arrival cycle T2 of the first message a, and since the configuration information corresponding to the cycle awareness module 1 is the cycle-blind mode, it is determined that the first message a is a message that needs to be processed. The behavior execution module 1 puts the first message a into the target processing queue with T4 as the scheduling cycle. The target processing queue with the cycle T4 as the scheduling cycle is the queue that needs to be used by the network side output port B.
[0173] It should be noted that after the first message a arrives at the service data input port A in the entrance node at T2, the entrance node analyzes and processes the first message a, and determines that the fastest cycle to start processing the first message a is T3, so it can be determined that the first message a is put into the target processing queue corresponding to the next cycle (i.e., T4) of T3, and the first flow processing strategy ends.
[0174] The second flow processing strategy comprises: in the network side output port B, the periodicity awareness module 1 determines, according to the corresponding configuration information thereof, that the processed first message a taken out from the target processing queue is non-periodic data, and it can be determined that the processed first message a needs to be processed again by the behavior execution module 2. The behavior execution module 2 generates a second message by replacing the target sending period in the processed first message a with a period T4 by using the first encapsulation mode, and sends the second message to the target processing node.
[0175] For example, for the periodic data message, the flow processing strategy of the port configuration shown in FIG. 7 can be used for processing.
[0176] FIG. 7 is a schematic diagram of the flow processing strategy of different port configurations in an ingress node of a deterministic network provided by an embodiment of the present disclosure. As shown in FIG. 7, the third flow processing strategy: List3<periodicity marking module, (flow identification module 2, periodicity awareness module 2), behavior execution module 3> is configured on the service data input port C of the ingress node.
[0177] The fourth flow processing strategy: List4<(periodicity awareness module 3), behavior execution module 4> and the fifth flow processing strategy: List5<(periodicity awareness module 4), behavior execution module 5> are configured on the network side output port D.
[0178] The configuration information corresponding to the flow identification module 2 comprises: a preset flow identifier. For example, the flow identifier of the deterministic service flow B is configured in advance as VLAN-ID=100, wherein VLAN-ID represents the identifier (Identifier, ID) of the virtual local area network (Virtual Local Area Network, VLAN) corresponding to the deterministic service flow B as the flow identifier.
[0179] The configuration information corresponding to the periodicity awareness module 2 comprises: cycle-blind mode, and the predetermined sending scheduling period is T2 and T6; the configuration information corresponding to the periodicity awareness module 3 comprises: cycle-blind mode, and the predetermined sending scheduling period is T5; and the configuration information corresponding to the periodicity awareness module 4 comprises: cycle-blind mode, and the predetermined sending scheduling period is T1.
[0180] The first message b belonging to the deterministic service flow data B corresponds to eight cyclic scheduling periods, which are T0, T1, T2, T3, T4, T5, T6, and T7.
[0181] The configuration information corresponding to the behavior execution module 3 comprises: based on the offset mode, the message belonging to the deterministic service flow data B is put into the target processing queue; wherein the preset delay period number corresponding to the offset mode is 3.
[0182] The configuration information corresponding to the behavior execution module 4 comprises: encapsulating the packet output by the target processing queue in the second encapsulation mode; wherein the preset forwarding cycle sequence used in the behavior execution module 4 can be set as {T4, T1, T0}.
[0183] The configuration information corresponding to the behavior execution module 5 comprises: encapsulating the packet output by the target processing queue in the second encapsulation mode; wherein the preset forwarding cycle sequence used in the behavior execution module 4 can be set as {T0, T5, T4}.
[0184] The preset forwarding cycle sequence used in the behavior execution module 5 and the preset forwarding cycle sequence used in the behavior execution module 4 correspond to a fixed offset (for example, 4 cycles) respectively. That is, the packet b processed in the T4 cycle in the behavior execution module 4 is processed in the T0 cycle in the next cycle in the behavior execution module 5; the packet b processed in the T1 cycle in the behavior execution module 4 is processed in the T5 cycle in the behavior execution module 5; and the packet b processed in the T0 cycle in the behavior execution module 4 is processed in the T4 cycle in the behavior execution module 5.
[0185] The third flow processing strategy comprises: when the service data input port C receives the first packet b, if the queue scheduled at this time is the queue corresponding to the cycle T2, the cycle T2 at which the first packet b is received is recorded by the cycle marking module as T2, and the cycle T2 is taken as the processing cycle of the first packet b.
[0186] The flow identification module 2 performs message analysis on the first packet b to obtain the flow identifier of the first packet b, and compares the flow identifier of the first packet b with the preset flow identifier in the flow identification module 2. In the case where it is determined that the flow identifier of the first packet b is the same as the preset flow identifier in the flow identification module 2, it is determined that the first packet b is a packet that needs to be processed. The processing cycle T2 of the first packet b is judged by the cycle perception module 2. Since the configuration information corresponding to the cycle perception module 2 is the cycle sensitive mode, and the predetermined sending scheduling cycle is T2 and T6, the processing cycle T2 of the first packet b arriving at T2 is the same as T2 in the predetermined sending scheduling cycle, and it is confirmed that it meets the requirements.
[0187] It should be noted that if the processing cycle of the first packet b is T1 (arriving in advance relative to T2) or T3 (arriving late relative to T2), the cycle perception module 2 will determine that the first packet b is a packet that does not meet the requirements, at which time the first packet b will be discarded and the process will be ended.
[0188] Further, the behavior execution module 3 puts the first packet b into the target processing queue with the scheduling period of T5 (i.e., T2 is offset by 3 periods backward) based on the offset mode, and the third flow processing strategy ends.
[0189] It should be noted that all the packets of the deterministic service flow B received by the service data input port C are processed according to the third flow processing strategy, and only the packets arriving at the periods T2 and T6 are put into the corresponding target processing queue by the behavior execution module 3.
[0190] The fourth flow processing strategy includes that after the first packet b is processed by the target processing queue, since the scheduling period T5 of the target processing queue matches the configuration information (i.e., the period sensitive mode, the predetermined sending scheduling period is T5) of the period perception module 3, the behavior execution module 4 in List4 is correspondingly used to encapsulate the processed first packet b. Correspondingly, the behavior execution module 4 encapsulates the processed first packet b output by the target processing queue using the second encapsulation mode, that is, encapsulates the preset forwarding period sequence {T4, T1, T0} into the processed first packet b, thereby generating a second packet, and sends the second packet to a next target processing node, and the fourth flow processing strategy ends.
[0191] It should be noted that all the packets output by the target processing queue corresponding to the entering scheduling period are processed by the network side output port D according to the fourth flow processing strategy, and only the packets arriving at the periods T1 (i.e., the configuration period corresponding to the period perception module 4) and T5 (i.e., the configuration period corresponding to the period perception module 3) are processed by the corresponding behavior execution module.
[0192] By using the different flow processing strategies described above to process the first packet b, the different packets in the deterministic service flow B can be processed correspondingly, so as to put the packets meeting different scheduling periods into the corresponding target processing queue, and then use the corresponding behavior execution module to further encapsulate the packets output by the target processing queue, thereby improving the processing speed of different packets.
[0193] In a fourth aspect, the embodiments of the present disclosure provide an ingress node, a computer readable medium and a computer program product.
[0194] FIG. 8 is a block diagram of an ingress node provided by an embodiment of the present disclosure. The ingress node is an ingress node of a deterministic network.
[0195] As shown in FIG. 8, the ingress node includes at least one processor 801, at least one memory 802, and one or more I / O interfaces 803. The processor 801, the memory 802, and the I / O interface 803 are connected to each other through a bus 804. The memory 802 stores one or more computer programs, and the one or more computer programs are executed by the at least one processor 801, so that the at least one processor 801 can implement any of the packet processing methods described in the above embodiments.
[0196] Each of the above modules in the ingress node can be implemented in whole or in part by software, hardware, and a combination thereof. Each of the above modules can be embedded in or independent of a processor in a computer device in hardware form, or can be stored in a memory in the computer device in software form, so as to be called and executed by the processor to perform the operations corresponding to each of the above modules.
[0197] The embodiments of the present disclosure further provide a computer readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements any of the packet processing methods described in the above embodiments. The computer readable storage medium can be a volatile or non-volatile computer readable storage medium.
[0198] The embodiments of the present disclosure further provide a computer program product including computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code is run in a processor of an ingress node, the processor in the ingress node executes the above packet processing method.
[0199] Those skilled in the art can understand that all or some of the steps in the above disclosed method, the functions of the modules / units in the system and the device can be implemented as software, firmware, hardware, and appropriate combinations thereof. In the hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component can have multiple functions, or one function or step can be performed by several physical components in cooperation.
[0200] Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as a combination of software and / or hardware. Such software can be distributed on computer readable storage media, which can comprise any medium (or combination medium) capable of storing information (such as computer readable program instructions, data structures, program modules, or other data). Computer readable storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable program instructions, data structures, program modules or other data. Computer readable storage media include, but are not limited to, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital versatile disc (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
[0201] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0202] Computer readable program instructions for carrying out operations of the present disclosure can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or any combination of one or more of the above in any combination, written in any combination of one or more programming languages, including object oriented programming languages such as Smalltalk, C++ or the like, and conventional procedural programming languages such as "C" or the like. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0203] The computer program product described herein can be embodied in a specific manner by hardware, software, or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium. In another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK), and the like.
[0204] The various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer readable program instructions.
[0205] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, 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, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer- readable storage medium having no data storage cycles that change state. The instructions can be executed by one or more processors of a computer, other programmable data processing apparatus, or other devices to produce a computer-implemented process such that the instructions which execute via the one or more processors of the computer or other programmable data processing devices create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0206] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0207] The flow and block diagrams in the drawings show architectural, functional, and operational aspects of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow and block diagrams can represent a module, a segment, or a portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may
[0208] Example embodiments have been disclosed herein and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described with respect to a particular embodiment can be used, combined, and / or modified in other embodiments, unless specifically noted otherwise. Accordingly, it will be understood that various changes in form and details can be made without departing from the scope of the disclosure.
Claims
1. A method for processing a packet, applied to an ingress node of a deterministic network, comprising: obtaining a first packet and a processing period of the first packet; and in a case where the processing period of the first packet matches a target period, processing the first packet by using a preset packet processing strategy corresponding to the target period. The first packet is a packet received by an ingress port of the ingress node.
2. The method of claim 1, wherein, The obtaining of the first packet and the processing period of the first packet comprises: receiving the first packet, and taking an arrival period of the first packet as the processing period of the first packet, the arrival period of the first packet being a scheduling period at which the first packet is received, and In the case where the processing period of the first packet matches the target period, the processing of the first packet by using the preset packet processing strategy corresponding to the target period comprises: in a case where the arrival period of the first packet is the same as the target period, processing the first packet by using a processing mode corresponding to the arrival period of the first packet. The processing of the first packet by using the processing mode corresponding to the arrival period of the first packet comprises:
3. The method of claim 2, wherein, determining a target processing queue according to the arrival period of the first packet; and putting the first packet into the target processing queue. The target processing queue is any one of the following queues:
4. The method of claim 3, wherein, a queue in which a next period of a period determined according to the arrival period of the first packet and a processing capability of the ingress node is a scheduling period; a queue in which a period after a preset number of delay periods of the arrival period of the first packet is a scheduling period; and a queue in which a preset configuration period is a scheduling period. The first packet is a packet received by an egress port of the ingress node.
5. The method of claim 1, wherein, The obtaining of the first packet and the processing period of the first packet comprises: obtaining the first packet, and determining a currently scheduled period of the first packet, and In the case where the processing period of the first packet matches the target period, the processing of the first packet by using the preset packet processing strategy corresponding to the target period comprises: in a case where the currently scheduled period of the first packet is the same as the target period, encapsulating the first packet by using a preset encapsulation mode corresponding to the target period to generate a second packet, the second packet being a packet to be transmitted to a target processing node. The encapsulation of the first packet by using the preset encapsulation mode corresponding to the target period to generate the second packet comprises:
6. The method of claim 5, wherein, generating the second packet according to the target period and the first packet, the target period being a predetermined sending scheduling period of the second packet; or determining a preset forwarding period sequence according to the target period, and adding the preset forwarding period sequence to the first packet to generate the second packet. 7.The method of claim 1, further comprising: in a case where the processing period of the first packet does not match the target period, discarding the first packet, or processing the first packet by using a non-deterministic packet forwarding mode. 8. An ingress node, which is an ingress node of a deterministic network, comprising: a memory and a processor; the memory stores a computer program capable of being executed by the processor, and the computer program, when executed by the processor, implements the packet processing method according to any one of claims 1 to 7.
9. A non-transitory computer readable storage medium, having stored thereon a computer program, the computer program, when executed by a processor, implements the packet processing method according to any one of claims 1 to 7.
10. A computer program product, comprising a computer program, the computer program, when executed by a processor, implements the packet processing method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and device for determining transmission period in deterministic network
CN112448896A
Message forwarding method, message sending method, equipment and computer readable medium
CN114363955A
Message transmission method and device
CN115242728A
Message transmission method and device
CN115378532A
Message processing method and device and medium
CN117240947A