Message processing method and device, readable storage medium and computer program product
By encapsulating IOAM trace type, packet loss measurement, and latency measurement fields into traffic packets, the problem of not being able to monitor packet loss location and measure performance in existing technologies is solved, improving the flexibility of traffic packet processing and the integration of network performance measurement.
Patent Information
- Application Number
- CN202310836265.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-07
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2043-07-07
AI Technical Summary
The existing IOAM method cannot monitor packet loss and packet loss location, and cannot perform periodic performance measurements such as packet loss and latency, resulting in low flexibility in traffic packet processing.
Indication fields are encapsulated in the traffic packets, including IOAM trace type field, packet loss measurement field, and latency measurement field. Nodes directly report IOAM data to the receiving entity and perform network performance measurement through the packet loss measurement field and latency measurement field.
It improves the flexibility of traffic packet processing, enables integrated measurement of network performance, reduces network resource consumption, and supports periodic measurement of indicators such as packet loss and latency.
Smart Images

Figure CN119276949B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data communication, and in particular to a message processing method and device, a readable storage medium and a computer program product. BACKGROUND
[0002] IOAM (In-band Operation Administration and Maintenance) technology collects OAM information including node ID (Identification), ingress interface ID, egress interface ID, timestamp, etc. in the message forwarding path of a traffic message to realize IOAM trace monitoring.
[0003] Currently, the RFC (Request for Comments) standard also specifies some IOAM methods. For example, in the passport method, each hop in the message forwarding path needs to collect and carry OAM metadata.
[0004] However, the passport method cannot monitor packet loss and packet loss position, nor can it perform periodic performance measurement of packet loss, delay, etc. Moreover, the above-mentioned IOAM method has the problem of low flexibility of traffic message processing. SUMMARY
[0005] The embodiments of the present application provide a message processing method, device, readable storage medium and computer program product, which can perform network performance measurement and improve message processing flexibility.
[0006] In a first aspect, the embodiments of the present application provide a message processing method. The message processing method is used in a message encapsulation node in a message forwarding path, and the method comprises:
[0007] encapsulating an indication field for a forwarded traffic message, and sending the traffic message encapsulated with the indication field, wherein the indication field comprises an IOAM trace type field, a packet loss measurement field and a delay measurement field; and
[0008] the IOAM trace type field is used to instruct a node in the message forwarding path to report IOAM data to a receiving entity according to the indication of the IOAM trace type field;
[0009] the packet loss measurement field is used to instruct a node in the message forwarding path to perform packet loss measurement according to the indication of the packet loss measurement field;
[0010] the delay measurement field is used to instruct a node in the message forwarding path to perform delay measurement according to the indication of the delay measurement field.
[0011] In one of the embodiments, the indication field further comprises an extension flag field, which is used to indicate the flow identification and the packet sequence identification in the packet forwarding path.
[0012] In one of the embodiments, the extension flag field comprises a plurality of bits; when the 0th bit of the plurality of bits is set as a first value, the optional flow identification field exists in the indication field.
[0013] When the 1st bit of the plurality of bits is set as the first value, the optional packet sequence identification field exists in the indication field.
[0014] In one of the embodiments, the optional flow identification field comprises 32 bits.
[0015] In one of the embodiments, the optional sequence identification field comprises 32 bits.
[0016] In one of the embodiments, the extension flag field comprises 8 bits.
[0017] In one of the embodiments, the IOAM trace type field comprises a plurality of bits, different bits correspond to different IOAM data types, and the value of different bits is used to indicate whether the node in the packet forwarding path reports the IOAM data to the receiving entity.
[0018] In one of the embodiments, the IOAM trace type field comprises 24 bits.
[0019] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to the same packet batch are the same.
[0020] In one of the embodiments, the traffic packets belonging to the same packet batch are a plurality of continuous traffic packets.
[0021] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to different packet batches are different.
[0022] In one of the embodiments, the packet loss measurement field is specifically used to instruct the node in the packet forwarding path to determine the packet batch to which the traffic packet belongs according to the field value of the packet loss measurement field, and report the packet count value corresponding to the packet batch to the receiving entity.
[0023] In one of the embodiments, the packet loss measurement field comprises 1 bit.
[0024] In one of the embodiments, the indication field encapsulated in the forwarding traffic message comprises:
[0025] In the encapsulation of the delay measurement field, a target traffic message is determined from each of the message batches;
[0026] The delay measurement field of the target traffic message is set as a first value, and the delay measurement fields of the other traffic messages in the message batch except the target traffic message are set as a second value, the first value and the second value being different.
[0027] In one of the embodiments, the delay measurement field set as the first value is specifically used to instruct the nodes in the message forwarding path to report message timestamps of the target traffic message to the receiving entity;
[0028] The delay measurement field set as the second value is specifically used to instruct the nodes in the message forwarding path to prohibit reporting message timestamps of the other traffic messages to the receiving entity.
[0029] In one of the embodiments, the delay measurement field comprises 1 bit.
[0030] In one of the embodiments, the indication field further comprises a namespace identification field, a flag field and a reserved field.
[0031] In one of the embodiments, the namespace identification field comprises 16 bits.
[0032] In one of the embodiments, the flag field comprises 8 bits.
[0033] In one of the embodiments, the reserved field comprises 6 bits.
[0034] In one of the embodiments, the indication field encapsulated in the forwarding traffic message comprises:
[0035] The indication field is encapsulated in a first message header in the traffic message to instruct the nodes in the message forwarding path to perform hop-by-hop IOAM data reporting;
[0036] Or, the indication field is encapsulated in a second message header in the traffic message to instruct the nodes in the message forwarding path to perform end-to-end IOAM data reporting.
[0037] In one of the embodiments, the method further comprises:
[0038] report IOAM data to a receiving entity according to an indication of the IOAM trace type field, perform packet loss measurement according to an indication of the packet loss measurement field, and perform latency measurement according to an indication of the latency measurement field.
[0039] In a second aspect, an embodiment of the present application provides a packet processing method. The packet processing method is used in a packet receiving node in a packet forwarding path, and the method comprises:
[0040] receiving a traffic packet with an indication field sent by a packet encapsulating node in the packet forwarding path, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a latency measurement field;
[0041] reporting IOAM data to a receiving entity according to an indication of the IOAM trace type field, performing packet loss measurement according to an indication of the packet loss measurement field, and performing latency measurement according to an indication of the latency measurement field.
[0042] In one embodiment, the indication field further comprises an extension flag field, and the method further comprises:
[0043] reporting, to the receiving entity, a flow identifier and a packet sequence identifier in the packet forwarding path according to an indication of the extension flag field.
[0044] In one embodiment, the extension flag field comprises a plurality of bits, and the reporting, to the receiving entity, of the flow identifier and the packet sequence identifier in the packet forwarding path according to the indication of the extension flag field comprises:
[0045] if a 0th bit in the plurality of bits is set to a first value, reporting the flow identifier to the receiving entity;
[0046] if a 1st bit in the plurality of bits is set to the first value, reporting the packet sequence identifier to the receiving entity.
[0047] In one embodiment, the IOAM trace type field comprises a plurality of bits, different bits corresponding to different IOAM data types, and the reporting of IOAM data to a receiving entity according to an indication of the IOAM trace type field comprises:
[0048] determining, according to values of bits in the IOAM trace type field, a type of IOAM data that needs to be reported to the receiving entity;
[0049] reporting, to the receiving entity, IOAM data of the type of IOAM data.
[0050] In one of the embodiments, the packet loss measurement according to the indication of the packet loss measurement field comprises:
[0051] determining the packet batch to which the flow packet belongs according to the field value of the packet loss measurement field;
[0052] reporting the packet count value corresponding to each packet batch to the receiving entity according to the packet batch;
[0053] wherein the field values of the packet loss measurement fields of the multiple continuous flow packets belonging to the same packet batch are the same, and the field values of the packet loss measurement fields of the flow packets belonging to different packet batches are different.
[0054] In one of the embodiments, the time delay measurement according to the indication of the time delay measurement field comprises:
[0055] determining the target flow packet in which the time delay measurement field is set to the first value from the packet batch;
[0056] reporting the packet timestamp of the target flow packet to the receiving entity, and prohibiting reporting the packet timestamp of the other flow packet in which the time delay measurement field is set to the second value in the packet batch to the receiving entity.
[0057] In a third aspect, the embodiments of the present application provide a packet processing device. The packet processing device is arranged at a packet encapsulation node in a packet forwarding path, and the device comprises:
[0058] a processing module configured to encapsulate an indication field for a forwarded flow packet, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a time delay measurement field; wherein the IOAM trace type field is configured to instruct a node in the packet forwarding path to report IOAM data to a receiving entity according to the indication of the IOAM trace type field; the packet loss measurement field is configured to instruct the node in the packet forwarding path to perform packet loss measurement according to the indication of the packet loss measurement field; and the time delay measurement field is configured to instruct the node in the packet forwarding path to perform time delay measurement according to the indication of the time delay measurement field;
[0059] a sending module configured to send the flow packet encapsulated with the indication field.
[0060] In a fourth aspect, the embodiments of the present application provide a packet processing device. The packet processing device is arranged at a packet receiving node in a packet forwarding path, and the device comprises:
[0061] a receiving module configured to receive a flow packet encapsulated with an indication field sent by a packet encapsulation node in the packet forwarding path, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a time delay measurement field.
[0062] The sending module is configured to report IOAM data to a receiving entity according to an indication of the IOAM trace type field, perform packet loss measurement according to an indication of the packet loss measurement field, and perform latency measurement according to an indication of the latency measurement field.
[0063] In a fifth aspect, an embodiment of the present application provides a communication device. The communication device comprises a processor and a transmitter.
[0064] The processor is configured to encapsulate an indication field for a forwarded traffic packet, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a latency measurement field; wherein the IOAM trace type field is configured to instruct a node in a packet forwarding path to report IOAM data to a receiving entity according to an indication of the IOAM trace type field; the packet loss measurement field is configured to instruct the node in the packet forwarding path to perform packet loss measurement according to an indication of the packet loss measurement field; and the latency measurement field is configured to instruct the node in the packet forwarding path to perform latency measurement according to an indication of the latency measurement field.
[0065] The transmitter is configured to send the traffic packet encapsulated with the indication field.
[0066] In a sixth aspect, an embodiment of the present application provides a communication device. The communication device comprises a receiver and a transmitter.
[0067] The receiver is configured to receive a traffic packet encapsulated with an indication field sent by a packet encapsulation node in a packet forwarding path, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a latency measurement field.
[0068] The transmitter is configured to report IOAM data to a receiving entity according to an indication of the IOAM trace type field, perform packet loss measurement according to an indication of the packet loss measurement field, and perform latency measurement according to an indication of the latency measurement field.
[0069] In a seventh aspect, an embodiment of the present application provides a computer readable storage medium. The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the method in the first aspect or the second aspect.
[0070] In an eighth aspect, an embodiment of the present application provides a chip. The chip comprises a programmable logic circuit and / or program instructions, and the chip implements the steps of the method in the first aspect or the second aspect when the chip is running.
[0071] In a ninth aspect, an embodiment of the present application provides a computer program product. The computer program product includes a computer program, and the computer program, when executed by a processor, implements the steps of the method in the first aspect or the second aspect.
[0072] The packet processing method, device, readable storage medium and computer program product, the packet encapsulation node encapsulates an indication field for the forwarded traffic packet, and sends the traffic packet encapsulated with the indication field, the indication field includes an IOAM trace type field, a packet loss measurement field and a delay measurement field; the IOAM trace type field is used to instruct the node in the packet forwarding path to report IOAM data to a receiving entity according to the indication of the IOAM trace type field; the packet loss measurement field is used to instruct the node in the packet forwarding path to perform packet loss measurement according to the indication of the packet loss measurement field; and the delay measurement field is used to instruct the node in the packet forwarding path to perform delay measurement according to the indication of the delay measurement field. In this way, the embodiment of the present application defines the indication field, and the IOAM trace type field in the indication field instructs the node in the packet forwarding path to report IOAM data to the receiving entity. In this way, the node can directly report IOAM data to the receiving entity, avoiding the problem that in the traditional technology, the node collects IOAM data and carries the IOAM data in the packet for downward transmission, and once a certain packet is lost, the IOAM trace monitoring is interrupted, and the flexibility of traffic packet processing is low. The embodiment of the present application improves the flexibility of traffic packet processing. In addition, the indication field of the embodiment of the present application further includes the packet loss measurement field and the delay measurement field. Based on the packet loss measurement field and the delay measurement field, the node in the packet forwarding path can perform packet loss measurement and delay measurement, and the network performance measurement is integrated in the IOAM method. BRIEF DESCRIPTION OF DRAWINGS
[0073] Figure 1 An implementation environment diagram of the packet processing method in an embodiment;
[0074] Figure 2 A flowchart of the packet processing method in an embodiment;
[0075] Figure 3 A diagram of an exemplary indication field;
[0076] Figure 4 A diagram of an exemplary node in a packet forwarding path reporting a packet count value;
[0077] Figure 5 A diagram of an exemplary field value of a packet loss measurement field in an indication field of each traffic packet in a service flow;
[0078] Figure 6 A diagram of an exemplary node in a packet forwarding path reporting a packet timestamp of a target traffic packet;
[0079] Figure 7 This is an exemplary diagram showing the field values of the packet loss measurement field L and the latency measurement field D in the indication field of each traffic packet in a service flow;
[0080] Figure 8 This is another exemplary diagram illustrating a field;
[0081] Figure 9 This is a flowchart illustrating a message processing method in another embodiment;
[0082] Figure 10 This is a flowchart illustrating a message processing method in another embodiment;
[0083] Figure 11 This is a structural block diagram of a message processing apparatus in one embodiment;
[0084] Figure 12 This is a structural block diagram of the message processing apparatus in another embodiment;
[0085] Figure 13 This is a schematic diagram of the structure of a communication device in one embodiment;
[0086] Figure 14 This is a schematic structural diagram of a chip in one embodiment. Detailed Implementation
[0087] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0088] Figure 1 This is a schematic diagram illustrating the implementation environment of a message processing method provided in an embodiment of this application.
[0089] The message forwarding path includes multiple nodes: such as Figure 1 The message encapsulation node and the pass-through node shown are... Figure 1 Two pass-through nodes and a message decapsulation node are illustrated exemplarily. The message encapsulation node and its connected pass-through nodes communicate via a network; interconnected pass-through nodes communicate via a network; the message decapsulation node and its connected pass-through nodes also communicate via a network; and the message encapsulation node, message decapsulation node, and pass-through node each communicate with the receiving entity via a network.
[0090] Of course, in other possible implementations, the message forwarding path may also include only message encapsulation nodes and message decapsulation nodes, which communicate with each other over a network.
[0091] Wherein, the message encapsulation node, the penetration node, the message decapsulation node and the receiving entity can be servers, and the servers can be single servers or a server cluster composed of multiple servers.
[0092] In the passport mode, each hop in the message forwarding path needs to collect and carry OAM metadata in the traffic message, and then deliver the traffic message carrying the OAM metadata to the next node, and the next node continues to collect the OAM metadata and carries the OAM metadata in the received traffic message and then continues to deliver downward. However, this mode has the problem that the node collects IOAM data and carries it in the message to deliver downward, and once a message is lost, the IOAM trace monitoring is interrupted, resulting in low flexibility of traffic message processing. Moreover, the passport mode cannot monitor packet loss and packet loss position, and cannot perform periodic packet loss, delay and other performance measurements.
[0093] Based on the above-mentioned conventional technology, the embodiments of the present application provide a message processing method, which defines an indication field, and indicates the node in the message forwarding path to report IOAM data to the receiving entity through the IOAM trace type field in the indication field. In this way, the node can directly report IOAM data to the receiving entity, avoiding the problem that in the conventional technology, the node collects IOAM data and carries it in the message to deliver downward, and once a message is lost, the IOAM trace monitoring is interrupted, resulting in low flexibility of traffic message processing. The embodiments of the present application improve the flexibility of traffic message processing. In addition, the indication field also includes a packet loss measurement field and a delay measurement field. Based on the packet loss measurement field and the delay measurement field, the node in the message forwarding path can perform packet loss measurement and delay measurement, etc., to integrate network performance measurement into the IOAM method.
[0094] It should be noted that the beneficial effects or technical problems solved by the embodiments of the present application are not limited to this, but also other implicit or related problems. For specific descriptions, please refer to the descriptions of the following embodiments.
[0095] In one of the embodiments, as shown in Figure 2 , a message processing method is provided. Taking the message encapsulation node in the message forwarding path of the method applied to Figure 1 as an example, the method includes the following steps:
[0096] Step 201, the message encapsulation node encapsulates an indication field for the forwarded traffic message.
[0097] Please refer to Figure 1In the transmission process of the service flow, each traffic message in the service flow first reaches a message encapsulation node in the message forwarding path, and then, for each traffic message, the message encapsulation node needs to encapsulate the traffic message. Exemplarily, the message encapsulation node needs to encapsulate a message header for the traffic message.
[0098] For example, in an IPv6 (Internet Protocol Version 6) network environment, the message encapsulation node needs to encapsulate an IPv6 message header for each traffic message; in an IPv4 (Internet Protocol Version 4) network environment, the message encapsulation node needs to encapsulate an IPv4 message header for each traffic message.
[0099] In the embodiment of the present application, when it is needed to simultaneously perform network performance measurement and IOAM trace monitoring on a certain service flow forwarded by the message encapsulation node, the message encapsulation node must correspondingly insert an indication field corresponding to each traffic message in each traffic message in the service flow. That is, in the process of encapsulating each traffic message in the service flow, the message encapsulation node encapsulates the indication field corresponding to each traffic message together with the traffic message. Exemplarily, the message encapsulation node can encapsulate the indication field corresponding to the traffic message in the message header of the traffic message.
[0100] The determination of whether a service flow needs to simultaneously perform network performance measurement and IOAM trace monitoring can be determined by the controller, and then the controller sends the flow identifier of the service flow that needs to simultaneously perform network performance measurement and IOAM trace monitoring to the message encapsulation node, and the message encapsulation node can determine the service flow according to the flow identifier. Of course, the message encapsulation node can also determine whether a service flow needs to simultaneously perform network performance measurement and IOAM trace monitoring by itself, and take the service flow that simultaneously performs network performance measurement and IOAM trace monitoring as the service flow.
[0101] Step 202, the message encapsulation node sends the traffic message encapsulated with the indication field.
[0102] After the message encapsulation node encapsulates the indication field for each traffic message, the message encapsulation node sends the traffic message encapsulated with the indication field to the next node connected with the message encapsulation node in the message forwarding path.
[0103] As described above, the next node connected with the message encapsulation node can be a penetrating node as shown in FIG. 1, of course, in the case that the message forwarding path only includes the message encapsulation node and the message decapsulation node, the next node connected with the message encapsulation node can also be the message decapsulation node, which is not specifically limited herein. Figure 1
[0104] The indication field includes an IOAM trace type field, a packet loss measurement field, and a delay measurement field.
[0105] In other possible embodiments, the indication field further includes an extension flag field, a namespace identification field, a flag field, and a reserved field.
[0106] Referring to Figure 3 , Figure 3 is a schematic diagram of an exemplary indication field. As shown in Figure 3 , the IOAM-Trace-Type field is the IOAM trace type field, the L field is the packet loss measurement field, the D field is the delay measurement field, the Extension-Flags field is the extension flag field, the Namespace-ID field is the namespace identification field, the Flags is the flag field, and the Reserved is the reserved field.
[0107] Each field included in the indication field has a corresponding meaning and function. Hereinafter, the meaning and function of each field in the indication field are introduced.
[0108] 1) The IOAM trace type field is used to instruct the node in the packet forwarding path to report IOAM data to the receiving entity according to the indication of the IOAM trace type field.
[0109] First, the node in the packet forwarding path mentioned herein is introduced. In the embodiments of the present application, the meaning of the node in the packet forwarding path is different based on different measurement modes. For example, in the hop-by-hop measurement mode, the node in the packet forwarding path refers to all nodes in the packet forwarding path, such as the packet encapsulation node, the penetration node, and the packet decapsulation node shown in Figure 1 ; in the end-to-end measurement mode, the node in the packet forwarding path refers to the head node (i.e., the packet encapsulation node) and the tail node (i.e., the packet decapsulation node) in the packet forwarding path.
[0110] The determination of the above two measurement modes will be introduced in the embodiments below and will not be described in detail here. The IOAM trace type field is further described herein.
[0111] In the embodiments of the present application, the IOAM data includes one or more of a node ID, an ingress interface ID of the packet in the node, an egress interface ID, and a timestamp, for example.
[0112] Thus, after receiving the traffic packet encapsulated with the indication field sent by the packet encapsulation node, the packet receiving node in the packet forwarding path (i.e., the node in the packet forwarding path except the packet encapsulation node, and it can be understood that the steps performed by the packet receiving node in the embodiments of the present application can also be performed by the packet encapsulation node) reports the IOAM data to the receiving entity according to the indication of the IOAM trace type field in the packet. For example, the packet receiving node reports the node ID, the ingress interface ID and the egress interface ID of the packet in the node.
[0113] As an implementation, the IOAM trace type field includes a plurality of bits. For example, the IOAM trace type field includes 24 bits. Different bits correspond to different IOAM data types, and the values of different bits are used to indicate whether the nodes in the packet forwarding path report the IOAM data to the receiving entity.
[0114] For example, for a traffic packet, the packet encapsulation node sets the second highest bit (the first bit, and the highest bit is the 0th bit) in the IOAM trace type field encapsulated by the packet encapsulation node to "1", indicating that the nodes in the packet forwarding path need to output the IOAM data of the ingress interface ID and the egress interface ID of the node to the receiving entity, and so on.
[0115] In a possible implementation, for IOAM trace monitoring, the traffic packets in the service flow all need to be subjected to IOAM trace monitoring. Thus, for each traffic packet in the service flow, when the packet encapsulation node encapsulates the indication field, it needs to mark the bit corresponding to the IOAM data type in the IOAM trace type field as the first value, for example, "1", and mark the other bits in the IOAM trace type field as the second value "0".
[0116] In another possible implementation, for IOAM trace monitoring, the IOAM encapsulation node only needs to select a subset of the traffic packets to be forwarded, i.e., only part of the traffic packets in the service flow need to be subjected to IOAM trace monitoring. The packet encapsulation node selects part of the traffic packets from the traffic packets in the service flow through a preset packet selection strategy, and then, for each selected traffic packet, when the packet encapsulation node encapsulates the indication field, it needs to mark the bit corresponding to the IOAM data type in the IOAM trace type field as "1" and mark the remaining bits as "0"; and for the unselected traffic packets in the service flow, when the packet encapsulation node encapsulates the indication field for each unselected traffic packet, it needs to mark all 24 bits in the IOAM trace type field as "0", so that the nodes in the packet forwarding path do not need to generate the IOAM data of the traffic packet and output it to the receiving entity.
[0117] In this way, when the receiving node reports the IOAM data to the receiving entity according to the indication of the IOAM trace type field, for each traffic packet, the receiving node can first determine the type of IOAM data that needs to be reported to the receiving entity according to the value of each bit in the IOAM trace type field. If a bit is marked as "1", it means that the IOAM data of the IOAM data type corresponding to the bit needs to be reported for the traffic packet. If a bit is marked as "0", it means that the IOAM data of the IOAM data type corresponding to the bit does not need to be reported for the traffic packet. If all bits in the IOAM trace type field of a traffic packet are marked as "0", it means that no IOAM data of any type needs to be reported for the traffic packet. Then, the receiving node reports the IOAM data of the corresponding IOAM data type to the receiving entity.
[0118] In the prior art, a postcard mode of IOAM is also defined. In the postcard mode, each hop in the traffic forwarding path needs to generate an OAM metadata for each packet and report the OAM metadata to the centralized controller, and the OAM metadata generated by each hop is not attached to the traffic packet.
[0119] However, in this IOAM mode, each hop in the traffic forwarding path needs to generate an independent OAM packet for each packet in the monitored traffic flow. For example, if there are 1000 packets in the monitored traffic flow, each hop needs to generate 1000 OAM packets for the traffic flow and report the OAM packets to the centralized controller, which consumes a large amount of network and centralized controller resources.
[0120] In the embodiments of the present application, as described above, for IOAM trace monitoring, the IOAM encapsulation node only needs to select a subset of the traffic packets, i.e., only part of the traffic packets in the traffic flow need to be monitored for IOAM trace monitoring, so that the number of packets for IOAM trace monitoring can be greatly reduced, the amount of IOAM data can be reduced, and the network resources of the network and the centralized controller can be saved.
[0121] 2) The packet loss measurement field is used to indicate that the nodes in the traffic forwarding path perform packet loss measurement according to the indication of the packet loss measurement field.
[0122] For network performance measurement, the IOAM encapsulation node must mark the packet loss measurement field in the indication field of each packet.
[0123] In the embodiments of the present application, the packet loss measurement field includes one bit. In combination with the value of the bit in the packet loss measurement field of each traffic packet, the nodes in the traffic forwarding path can also determine a measurement period and perform packet loss measurement according to the measurement period.
[0124] Exemplarily, the field values of the packet loss measurement fields of the traffic packets belonging to the same packet batch in the service flow are the same, and the traffic packets belonging to the same packet batch are multiple continuous traffic packets, in addition, the field values of the packet loss measurement fields of the traffic packets belonging to different packet batches in the service flow are different; the packet loss measurement field is specifically used to instruct a node in a packet forwarding path to determine the packet batch to which a packet belongs according to the field value of the packet loss measurement field, and report a packet count value corresponding to the packet batch to a receiving entity.
[0125] Exemplarily, referring to Figure 4 , Figure 4 is a schematic diagram of a node in a packet forwarding path reporting a packet count value. The packet batch can be used as a measurement period, and the node in the packet forwarding path reports a packet count value corresponding to the packet batch in each batch (i.e., each measurement period).
[0126] In combination with Figure 5 , Figure 5 is a schematic diagram of a field value of a packet loss measurement field (such as an L field shown in Figure 3 ) in an indication field of a traffic packet in a service flow. In the process of encapsulating the indication field of each traffic packet by the packet encapsulation node, the traffic packets are grouped according to batches (Batch) to obtain multiple packet batches: Batch1, Batch2, Batch3, etc., each packet batch includes multiple traffic packets, then the field values of the packet loss measurement fields of multiple continuous traffic packets belonging to the same packet batch are marked as the same value, and the field values of the packet loss measurement fields of the traffic packets of different packet batches are alternated between a first value (for example, 1) and a second value (for example, 0).
[0127] The packet encapsulation node can divide the traffic packets into multiple packet batches according to a fixed number of packets or a fixed timer. The fixed number of packets is, for example, every 1000 continuous traffic packets as a packet batch, and the fixed timer is, for example, multiple continuous traffic packets within 10s as a packet batch.
[0128] In this way, in the process of packet loss measurement according to the indication of the packet loss measurement field, for each traffic packet in the service flow, the receiving node determines the packet batch to which the traffic packet belongs according to the field value of the packet loss measurement field, for example, the field value of the first 1000 continuous traffic packets is 1, and the field value of the 1001th traffic packet is 0, so the first 1000 traffic packets are determined as Batch 1; the field value of the 1001th to 2000th continuous traffic packet is 0, and the field value of the 2001th traffic packet is 1, so the 1001th to 2000th traffic packet is determined as Batch 2, and so on. Then, according to the packet batch, the receiving entity reports the packet count value corresponding to the packet batch, that is, for Batch 1, the receiving node reports the number of packets it receives, 1000; for Batch 2, the receiving node reports the number of packets it receives, 1000, and so on.
[0129] The receiving entity can measure the packet loss between any nodes in each period by periodically comparing, that is, for each packet batch, comparing the packet count values reported by different nodes in the packet forwarding path, thereby realizing packet loss measurement of the service flow.
[0130] It should be noted that, compared with the postcard method in the prior art, each hop in the packet forwarding path needs to generate an OAM metadata for each packet and report it to the centralized controller, and the centralized controller analyzes the OAM metadata of each traffic packet to perform packet loss measurement, which has the problem of large data volume in the packet loss measurement process and excessive consumption of network resources.
[0131] However, in the delay measurement process, the node only reports the packet count value of the batch for packet loss measurement, thereby greatly reducing the data volume in the delay measurement process and reducing the consumption of network resources.
[0132] As an implementation manner, the node in the packet forwarding path reports the IOAM data to the receiving entity, which can also be reported according to the above packet batch, that is, for a packet batch, the node in the packet forwarding path reports the packet count value in the packet batch and the IOAM data of all or part of the traffic packets in the packet batch, while supporting network performance measurement and IOAM trace monitoring.
[0133] 3) The delay measurement field is used to indicate that the node in the packet forwarding path performs delay measurement according to the indication of the delay measurement field.
[0134] For network performance measurement, the IOAM encapsulation node needs to mark the delay measurement field in the indication field of a single traffic packet in each packet batch. As an implementation manner, the packet in the middle position of each packet batch can be selected as the single packet.
[0135] As an implementation, the time delay measurement field includes 1 bit. When the message encapsulation node encapsulates the indication field in the traffic message of the message forwarding path, the message encapsulation node determines the target traffic message from each message batch during the encapsulation of the time delay measurement field. As described above, for example, the traffic message in the middle position of each message batch is selected as the target traffic message. Then, the message encapsulation node sets the 1 bit position of the time delay measurement field of the target traffic message to a first value (e.g., 1), and sets the 1 bit position of the time delay measurement field of the other traffic messages in the message batch to a second value (e.g., 0), and the first value and the second value are different.
[0136] Exemplarily, referring to Figure 6 , Figure 6 FIG. 1 is a schematic diagram of a message timestamp reported by a node in a message forwarding path to a target traffic message according to an embodiment of the present application. In the figure, a message batch can be regarded as a measurement period, and the node in the message forwarding path reports the message timestamp of the target traffic message in each batch (i.e., each measurement period).
[0137] In combination with the packet loss measurement process, on the basis of Figure 5 , referring to Figure 7 , Figure 7 FIG. 2 is a schematic diagram of the field value of the packet loss measurement field L and the time delay measurement field D in the indication field of the traffic message according to an embodiment of the present application. During the process of encapsulating the indication field by the message encapsulation node in the nodes in the service flow, the traffic messages are grouped according to batches to obtain multiple message batches: Batch1, Batch2, Batch3, etc., and each message batch includes multiple traffic messages. Then, the field values of the packet loss measurement fields of the multiple continuous traffic messages belonging to the same message batch are marked as the same value, and the field values of the packet loss measurement fields of the traffic messages of different message batches are alternated between 1 and 0. Then, the message encapsulation node determines the target traffic message from each message batch. Then, the message encapsulation node sets the 1 bit position of the time delay measurement field of the target traffic message to 1, and sets the 1 bit position of the time delay measurement field of the other traffic messages in the message batch to 0.
[0138] The time delay measurement field set to the first value is specifically used to instruct the node in the message forwarding path to report the message timestamp of the target traffic message to the receiving entity. The time delay measurement field set to the second value is specifically used to instruct the node in the message forwarding path to prohibit reporting the message timestamp of other messages to the receiving entity.
[0139] In this way, during the process of delay measurement by the message receiving node according to the indication of the delay measurement field, for each message batch, the target traffic message with the delay measurement field set to the first value can be determined from each traffic message in the message batch, and the message timestamp (i.e., the reception timestamp) of the target traffic message is recorded. The message receiving node reports the message timestamp of the target traffic message to the receiving entity, and prohibits reporting the message timestamps of other messages in the message batch with the delay measurement field set to the second value to the receiving entity.
[0140] The receiving entity can measure the latency of traffic packets between any nodes by periodically comparing the timestamps of the same traffic packets reported by different nodes in the packet forwarding path for each packet batch.
[0141] In the traditional postcard method, the centralized collector collects OAM metadata reported by each node and performs correlation analysis on the OAM data reported by all nodes to monitor packet loss and packet loss location. However, this IOAM method cannot periodically monitor key performance indicators such as packet loss, latency, and jitter of the business flow.
[0142] The embodiments of this application define an indication field in the manner described above to support IOAM's periodic measurement function of indicators such as packet loss and latency.
[0143] 4) The extended flag field includes multiple bits and is used to indicate the flow identifier and message sequence identifier in the message forwarding path. For example, the extended flag field includes 8 bits, and when each bit of the extended flag field is set to "1", it indicates that there is a corresponding optional 4-byte field in the indication field.
[0144] For example, when the 0th bit among multiple bits is set to the first value, it indicates that an optional flow identifier field, Flow ID (Optional), exists in the indication field. This optional 4-byte field is used to encapsulate the flow identifier and includes 32 bits. The 0th bit is used to indicate the flow identifier of the service flow in the packet forwarding path.
[0145] For example, see Figure 8 , Figure 8 This is a schematic diagram illustrating an example of a field.
[0146] It can be understood that, in the case that the 0th bit of the extension flag field is set to the first value, the field value of the optional flow identifier field in the indication field is the same for each traffic message in the service flow, i.e., the flow identifiers are all the flow identifier of the service flow. When the 0th bit of the extension flag field is set to the first value when the indication field of each traffic message is parsed, the message receiving node uploads the flow identifier of the service flow when reporting the IOAM data, the message count value and the message timestamp, so that the receiving entity performs IOAM trace monitoring and network performance measurement on the flow identifier.
[0147] In the case that the 1st bit in the plurality of bits is set to the first value, it indicates that there is an optional message sequence identifier field Sequence Number (Optional) in the indication field, i.e., the optional 4-byte field is the sequence identifier field. The optional sequence identifier field is used to encapsulate the message sequence identifier belonging to the same service flow, and the optional sequence identifier field includes 32 bits. Among them, the 1st bit is used to instruct the nodes in the message forwarding path to report the message sequence identifier of the message in the service flow to the receiving entity.
[0148] In addition, in the indication field of the embodiment of the application, the namespace identifier field includes 16 bits, the flag field includes 8 bits, and the reserved field includes 6 bits.
[0149] In one of the embodiments, based on Figure 2 As shown in the embodiment, referring to Figure 9 The embodiment relates to an implementation of an exemplary message encapsulation node encapsulating an indication field for a traffic message in a service flow corresponding to a message forwarding path. As shown in Figure 9 The step 201 includes:
[0150] The step 901: The message encapsulation node encapsulates the indication field in the first message header in the traffic message to instruct the nodes in the message forwarding path to perform hop-by-hop IOAM data reporting; or the message encapsulation node encapsulates the indication field in the second message header in the traffic message to instruct the nodes in the message forwarding path to perform end-to-end IOAM data reporting on the traffic message.
[0151] As described above, based on different measurement modes, the meaning of the nodes in the message forwarding path is different. For example, in the hop-by-hop measurement mode, the nodes in the message forwarding path refer to all the nodes in the message forwarding path, such as the message encapsulation node, the penetrating node and the message decapsulation node shown in Figure 1 In the end-to-end measurement mode, the nodes in the message forwarding path refer to the head node (i.e., the message encapsulation node) and the tail node (i.e., the message decapsulation node) in the message forwarding path.
[0152] In the embodiments of the present application, if the packet encapsulation node determines that the current measurement mode is the hop-by-hop measurement mode, the indication field is encapsulated in the first packet header in the traffic packet when the traffic packet in the service flow is encapsulated. In this way, the node in the packet forwarding path identifies that the indication field is encapsulated in the first packet header, and determines that it is the hop-by-hop measurement mode. Therefore, each node in the packet forwarding path needs to report IOAM data and measure network performance based on the indication of the indication field.
[0153] If the packet encapsulation node determines that the current measurement mode is the end-to-end measurement mode, the indication field is encapsulated in the second packet header in the traffic packet when the traffic packet in the service flow is encapsulated. In this way, the node in the packet forwarding path identifies that the indication field is encapsulated in the second packet header, and determines that it is the end-to-end measurement mode. Therefore, the intermediate penetrating node in the packet forwarding path does not need to report IOAM data and measure network performance based on the indication of the indication field, and only the packet encapsulation node and the packet decapsulation node need to report IOAM data and measure network performance based on the indication of the indication field.
[0154] The process of reporting IOAM data and measuring network performance based on the indication of the indication field can be referred to the description of the embodiments above, and will not be repeated here.
[0155] In one of the embodiments, the process of reporting IOAM data and measuring network performance based on the indication of the indication field comprises the following steps. Figure 2 As shown in the embodiment, the present embodiment relates to a process of reporting IOAM data and measuring network performance by the packet encapsulation node according to the indication field in the traffic packet encapsulating the indication field. The process comprises the following step A1.
[0156] In step A1, the packet encapsulation node reports IOAM data to the receiving entity according to the indication of the IOAM trace type field, performs packet loss measurement according to the indication of the packet loss measurement field, and performs delay measurement according to the indication of the delay measurement field.
[0157] The process of reporting IOAM data and measuring network performance by the packet receiving node according to the indication field in the traffic packet encapsulating the indication field can be referred to the process of reporting IOAM data and measuring network performance by the packet receiving node according to the indication field in the traffic packet encapsulating the indication field in the above, and will not be repeated here.
[0158] In one of the embodiments, referring to Figure 10 A packet processing method is provided for a packet receiving node in a packet forwarding path. As described above, the packet receiving node refers to a node other than the packet encapsulation node in the packet forwarding path. In the hop-by-hop measurement mode, the node other than the packet encapsulation node in the packet forwarding path can be Figure 1The illustrated penetration node and the message decapsulating node; in the end-to-end measurement mode, the nodes in the message forwarding path except the message encapsulating node can be the message decapsulating node.
[0159] Of course, the method for the message receiving node in the message forwarding path in the embodiments of the present application can also be used for the message encapsulating node, which is not repeated here.
[0160] The message processing method comprises:
[0161] Step 1001, the message receiving node receives the traffic message encapsulated with the indication field sent by the message encapsulating node in the message forwarding path.
[0162] The indication field comprises an IOAM trace type field, a packet loss measurement field, and a delay measurement field.
[0163] Step 1002, the message receiving node reports the IOAM data to the receiving entity according to the indication of the IOAM trace type field, performs packet loss measurement according to the indication of the packet loss measurement field, and performs delay measurement according to the indication of the delay measurement field.
[0164] In one of the embodiments, the indication field further comprises an extension flag field, and the message processing method further comprises: the message receiving node reports the flow identifier and the message sequence identifier in the message forwarding path to the receiving entity according to the indication of the extension flag field.
[0165] In one of the embodiments, the extension flag field comprises a plurality of bit positions, and the reporting of the flow identifier and the message sequence identifier in the message forwarding path to the receiving entity according to the indication of the extension flag field comprises: if the 0th bit position of the plurality of bit positions is set to a first value, the message receiving node reports the flow identifier to the receiving entity; if the 1st bit position of the plurality of bit positions is set to the first value, the message receiving node reports the message sequence identifier to the receiving entity.
[0166] In one of the embodiments, the IOAM trace type field comprises a plurality of bit positions, different bit positions correspond to different IOAM data types, and the reporting of the IOAM data to the receiving entity according to the indication of the IOAM trace type field comprises: the message receiving node determines the type of the IOAM data to be reported to the receiving entity according to the values of the bit positions in the IOAM trace type field; and the message receiving node reports the IOAM data corresponding to the type of the IOAM data to the receiving entity.
[0167] In one of the embodiments, the packet loss measurement is performed according to the indication of the packet loss measurement field, including: the packet receiving node determines the packet batch to which the traffic packet belongs according to the field value of the packet loss measurement field; and the packet receiving node reports the packet count value corresponding to each packet batch to the receiving entity according to the packet batch; wherein the field values of the packet loss measurement fields of the multiple continuous traffic packets belonging to the same packet batch are the same, and the field values of the packet loss measurement fields of the traffic packets belonging to different packet batches are different.
[0168] In one of the embodiments, the time delay measurement is performed according to the indication of the time delay measurement field, including: the packet receiving node determines the target traffic packet in which the time delay measurement field is set to the first value from the packet batch; and the packet receiving node reports the packet timestamp of the target traffic packet to the receiving entity, and prohibits reporting the packet timestamp of the other traffic packet in which the time delay measurement field is set to the second value to the receiving entity.
[0169] The implementation manners and beneficial effects of the packet processing method for the packet receiving node in the packet forwarding path described above can refer to the related descriptions in the implementation manners of the packet processing method for the packet encapsulating node, which will not be repeated here.
[0170] Next, the packet loss measurement and time delay measurement processes of the embodiments of the present application are exemplarily described.
[0171] 1) Packet loss measurement process
[0172] In the IPv6 network environment, in the process of encapsulating each traffic packet of the service flow by the packet encapsulating node based on different measurement modes, the indication field defined in the embodiments of the present application can be carried in the Hop-by-Hop option header or the Destination option header.
[0173] If it is the hop-by-hop measurement mode, the Hop-by-Hop option header is used, so that each hop node in the packet forwarding path needs to perform corresponding processing on the indication field; and if it is the end-to-end measurement mode, the Destination option header is used, so that only the packet encapsulating node and the packet decapsulating node in the packet forwarding path need to perform corresponding processing on the indication field.
[0174] Next, in the encapsulation process of the indication field, the Flow ID is allocated to the service flow. Exemplarily, the packet encapsulating node can randomly allocate the Flow ID or the centralized controller can uniformly allocate the Flow ID, wherein the random allocation of the Flow ID can cause the Flow ID repetition conflict, and the uniform allocation by the centralized controller is preferred.
[0175] The packet encapsulation node records the Flow ID field of the service flow, and for each traffic packet in the service flow, the bit value of the "L" field of each traffic packet is exchanged between 0 and 1 according to a fixed packet quantity or a fixed timer.
[0176] In this way, the receiving node only reads the marked value of the encapsulation to identify which batch the flow packet belongs to, all nodes in the packet forwarding path count the packets of each batch and report the packet count value of each batch to the receiving entity, and carry the Flow ID of the service flow, and the receiving entity can measure the packet loss occurring between any nodes by comparing the packet count values reported by different nodes in the packet forwarding path.
[0177] Please refer to Figure 5 Suppose that the traffic packets of a batch of measured service flow (measured service, i.e. service flow, assuming its Flow ID = 100) are counted in a certain measurement period, the packet encapsulation node and the first penetration node report the same packet count value, both 1000, but the second penetration node reports a packet count of 980, and the packet decapsulation node reports a packet count value of 970, then the receiving entity can accurately calculate the packet loss rate of the measurement period as: (1000-970) / 1000 = 3%, and determine that 20 packets are lost at the second penetration node and 10 packets are lost at the packet decapsulation node.
[0178] 2) Delay measurement (or called jitter measurement) process
[0179] As described above, the packet encapsulation node uses the "L" bit mark to generate alternating batch packets, and uses the "D" bit to generate single packet delay measurement in the batch. For each batch of packets, the packet encapsulation node determines the target traffic packet from each batch of packets, and then the packet encapsulation node sets the 1-bit position of the target traffic packet delay measurement field to 1, and sets the 1-bit position of the delay measurement field of the other packets in the packet batch to 0.
[0180] The receiving node identifies the target traffic packet with the D bit set in each batch, and records the time stamp of the target traffic packet as the packet time stamp, and the receiving node reports the packet time stamp of the D bit set to "1" packet of each batch to the receiving entity, and carries the Flow ID information of the service flow; the receiving entity can measure the delay value of the packet between any nodes by comparing the packet time stamps of the same packet reported by different nodes on the packet forwarding path.
[0181] It should be noted that the measurement of the delay requires that each node in the packet forwarding path maintains time synchronization. Please refer toFigure 7 Suppose that during a certain measurement period, the message encapsulation node performs a test on a certain batch of the service flow (the service flow being tested is the business flow itself). In a packet with ID=100, if the D bit is set to "1", the packet encapsulation node reports the packet to the receiving entity at a timestamp of 8:30:10:5 (hours:minutes:seconds:milliseconds). The intermediate traversing node reports the received packet with the D bit set to "1" at a timestamp of 8:30:10:7.5 (hours:minutes:seconds:milliseconds). The packet decapsulation node reports the received packet with the D bit set to "1" at a timestamp of 8:30:10:13.8 (hours:minutes:seconds:milliseconds). Using the timestamps reported by all nodes in the packet forwarding path associated with FlowID 100, the end-to-end latency for this measurement period can be accurately calculated as 13.8 - 5 = 8.8 milliseconds, and the latency from the packet encapsulation node to the traversing node is 7.5 - 5 = 2.5 milliseconds.
[0182] It should be understood that although the steps in the flowchart above are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0183] In one embodiment, such as Figure 11 As shown, a message processing apparatus is provided, comprising a message encapsulation node disposed in a message forwarding path, including:
[0184] Processing module 1101 is used to encapsulate indication fields for forwarded traffic packets. The indication fields include an IOAM trace type field, a packet loss measurement field, and a latency measurement field. Specifically: the IOAM trace type field instructs nodes in the packet forwarding path to report IOAM data to the receiving entity according to the indication of the IOAM trace type field; the packet loss measurement field instructs nodes in the packet forwarding path to perform packet loss measurement according to the indication of the packet loss measurement field; and the latency measurement field instructs nodes in the packet forwarding path to perform latency measurement according to the indication of the latency measurement field.
[0185] The sending module 1102 is used to send a traffic message encapsulated with the indicated field.
[0186] In one of the embodiments, the indication field further comprises an extension flag field, which is used to indicate the flow identification in the packet forwarding path and the packet sequence identification.
[0187] In one of the embodiments, the extension flag field comprises a plurality of bits; when the 0th bit in the plurality of bits is set as a first value, the optional flow identification field exists in the indication field.
[0188] When the 1st bit in the plurality of bits is set as the first value, the optional packet sequence identification field exists in the indication field.
[0189] In one of the embodiments, the optional flow identification field comprises 32 bits.
[0190] In one of the embodiments, the optional sequence identification field comprises 32 bits.
[0191] In one of the embodiments, the extension flag field comprises 8 bits.
[0192] In one of the embodiments, the IOAM trace type field comprises a plurality of bits, different bits correspond to different IOAM data types, and the value of different bits is used to indicate whether the node in the packet forwarding path reports the IOAM data to the receiving entity.
[0193] In one of the embodiments, the IOAM trace type field comprises 24 bits.
[0194] In one of the embodiments, the field value of the packet loss measurement field of the traffic packet belonging to the same packet batch is the same.
[0195] In one of the embodiments, the traffic packet belonging to the same packet batch is a plurality of continuous traffic packets.
[0196] In one of the embodiments, the field value of the packet loss measurement field of the traffic packet belonging to different packet batches is different.
[0197] In one of the embodiments, the packet loss measurement field is specifically used to indicate that the node in the packet forwarding path determines the packet batch to which the traffic packet belongs according to the field value of the packet loss measurement field, and reports the packet count value corresponding to the packet batch to the receiving entity.
[0198] In one of the embodiments, the packet loss measurement field comprises 1 bit.
[0199] In one of the embodiments, the processing module 1101 is specifically configured to determine a target traffic packet from each of the batches of packets in the encapsulation process of the time delay measurement field; set the time delay measurement field of the target traffic packet as a first value, and set the time delay measurement fields of the other traffic packets in the batch of packets as a second value, the first value and the second value being different.
[0200] In one of the embodiments, the time delay measurement field set as the first value is specifically configured to instruct the nodes in the packet forwarding path to report the packet timestamps of the target traffic packet to the receiving entity.
[0201] The time delay measurement field set as the second value is specifically configured to instruct the nodes in the packet forwarding path to prohibit reporting the packet timestamps of the other traffic packets to the receiving entity.
[0202] In one of the embodiments, the time delay measurement field includes 1 bit.
[0203] In one of the embodiments, the indication field further includes a namespace identification field, a flag field, and a reserved field.
[0204] In one of the embodiments, the namespace identification field includes 16 bits.
[0205] In one of the embodiments, the flag field includes 8 bits.
[0206] In one of the embodiments, the reserved field includes 6 bits.
[0207] In one of the embodiments, the processing module 1101 is specifically configured to encapsulate the indication field in a first packet header in the traffic packet to instruct the nodes in the packet forwarding path to perform hop-by-hop IOAM data reporting; or encapsulate the indication field in a second packet header in the traffic packet to instruct the nodes in the packet forwarding path to perform end-to-end IOAM data reporting.
[0208] In one of the embodiments, the sending module 1102 is further configured to report IOAM data to a receiving entity according to the indication of the IOAM trace type field, perform packet loss measurement according to the indication of the packet loss measurement field, and perform time delay measurement according to the indication of the time delay measurement field.
[0209] The specific limitation of the packet processing device in the packet encapsulation node in the packet forwarding path can refer to the limitation of the packet processing method in the packet encapsulation node in the packet forwarding path, which will not be repeated here. Each module in the packet processing device can be implemented by software, hardware, and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the packet encapsulation node in hardware form, or can be stored in the memory in the packet encapsulation node in software form, so as to call and execute the operation corresponding to each module by the processor.
[0210] In one embodiment, as shown in FIG. 1, a packet processing device is provided, which is arranged in a packet receiving node in a packet forwarding path, comprising: Figure 12
[0211] The receiving module 1201 is configured to receive a flow packet encapsulated with an indication field sent by a packet encapsulation node in the packet forwarding path, wherein the indication field comprises an IOAM trace type field, a packet loss measurement field, and a delay measurement field.
[0212] The sending module 1202 is configured to report IOAM data to a receiving entity according to the indication of the IOAM trace type field, perform packet loss measurement according to the indication of the packet loss measurement field, and perform delay measurement according to the indication of the delay measurement field.
[0213] In one embodiment, the indication field further comprises an extension flag field, and the sending module 1202 is further configured to report the flow identification and the packet sequence identification in the packet forwarding path to the receiving entity according to the indication of the extension flag field.
[0214] In one embodiment, the extension flag field comprises a plurality of bits, and the sending module 1202 is specifically configured to report the flow identification to the receiving entity if the 0th bit of the plurality of bits is set to a first value, and report the packet sequence identification to the receiving entity if the 1st bit of the plurality of bits is set to the first value.
[0215] In one embodiment, the IOAM trace type field comprises a plurality of bits, and different bits correspond to different IOAM data types, and the sending module 1202 is specifically configured to determine the IOAM data type that needs to be reported to the receiving entity according to the value of each bit in the IOAM trace type field, and report the IOAM data corresponding to the IOAM data type to the receiving entity.
[0216] In one of the embodiments, the sending module 1202 is specifically configured to determine a message batch to which the flow message belongs according to the field value of the packet loss measurement field; and report a message count value corresponding to each message batch to the receiving entity according to the message batch; wherein the field values of the packet loss measurement fields of a plurality of continuous flow messages belonging to the same message batch are the same, and the field values of the packet loss measurement fields of flow messages belonging to different message batches are different.
[0217] In one of the embodiments, the sending module 1202 is specifically configured to determine a target flow message in which the time delay measurement field is set to the first value from the message batch; report a message timestamp of the target flow message to the receiving entity, and prohibit reporting a message timestamp of other flow messages in which the time delay measurement field is set to the second value to the receiving entity.
[0218] The specific limitation of the message processing apparatus arranged in the receiving node in the message forwarding path can refer to the limitation of the message processing method used in the receiving node in the message forwarding path, which is not repeated here. Each module in the above message processing apparatus can be realized by software, hardware and their combination in whole or in part. The above modules can be embedded in or independent of the processor in the receiving node in hardware form, or can be stored in the memory in the receiving node in software form, so as to be called and executed by the processor to perform the operations corresponding to each module.
[0219] Figure 13 The structure schematic diagram of the communication device provided by the embodiments of the present application is provided. The communication device can be a message encapsulation node in a message forwarding path, and the communication device can include a receiver 31, a memory 32, a processor 33, at least one communication bus 34 and a transmitter 35. The communication bus 34 is used to realize the communication connection between the elements. The memory 32 can contain a high-speed RAM memory, and can also include a non-volatile storage NVM, such as at least one disk memory. The memory 32 can store various programs for completing various processing functions and implementing the method steps of the embodiments. In the embodiments, the transmitter 35 can be a radio frequency processing module or a baseband processing module in the communication device, and the receiver 31 can also be a radio frequency processing module or a baseband processing module in the communication device. The transmitter 35 and the receiver 31 can be integrated together to realize a transceiver. The transmitter 35 and the receiver 31 can be coupled to the processor 33, and can realize the receiving or transmitting action under the indication or control of the processor 33.
[0220] In this embodiment, the processor 33 is configured to encapsulate an indication field for a forwarding traffic packet, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a delay measurement field; wherein: the IOAM trace type field is configured to instruct a node in a packet forwarding path to report IOAM data to a receiving entity according to an indication of the IOAM trace type field; the packet loss measurement field is configured to instruct the node in the packet forwarding path to perform packet loss measurement according to an indication of the packet loss measurement field; and the delay measurement field is configured to instruct the node in the packet forwarding path to perform delay measurement according to an indication of the delay measurement field.
[0221] The transmitter 35 is configured to transmit the traffic packet encapsulated with the indication field.
[0222] In one of the embodiments, the indication field further comprises an extension flag field, the extension flag field being configured to indicate a flow identity and a packet sequence identity in the packet forwarding path.
[0223] In one of the embodiments, the extension flag field comprises a plurality of bits; and when a 0th bit of the plurality of bits is set to a first value, an optional flow identity field exists in the indication field.
[0224] When a 1st bit of the plurality of bits is set to the first value, an optional packet sequence identity field exists in the indication field.
[0225] In one of the embodiments, the optional flow identity field comprises 32 bits.
[0226] In one of the embodiments, the optional sequence identity field comprises 32 bits.
[0227] In one of the embodiments, the extension flag field comprises 8 bits.
[0228] In one of the embodiments, the IOAM trace type field comprises a plurality of bits, different bits corresponding to different IOAM data types, and a value of a different bit being configured to instruct the node in the packet forwarding path whether to report the IOAM data to the receiving entity.
[0229] In one of the embodiments, the IOAM trace type field comprises 24 bits.
[0230] In one of the embodiments, the packet loss measurement field has a same field value for traffic packets belonging to a same packet batch.
[0231] In one of the embodiments, the traffic packets belonging to the same packet batch are a plurality of continuous traffic packets.
[0232] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to different packet batches are different.
[0233] In one of the embodiments, the packet loss measurement field is specifically used to instruct the nodes in the packet forwarding path to determine the packet batches to which the traffic packets belong according to the field values of the packet loss measurement field, and report the packet count values corresponding to the packet batches to the receiving entity.
[0234] In one of the embodiments, the packet loss measurement field includes 1 bit.
[0235] In one of the embodiments, the processor 33 is specifically configured to determine a target traffic packet from each of the packet batches in the encapsulation process of the time delay measurement field; set the time delay measurement field of the target traffic packet as a first value, and set the time delay measurement fields of the other traffic packets in the packet batch except the target traffic packet as a second value, the first value and the second value being different.
[0236] In one of the embodiments, the time delay measurement field set as the first value is specifically used to instruct the nodes in the packet forwarding path to report the packet time stamp of the target traffic packet to the receiving entity.
[0237] The time delay measurement field set as the second value is specifically used to instruct the nodes in the packet forwarding path to prohibit reporting the packet time stamp of the other traffic packets to the receiving entity.
[0238] In one of the embodiments, the time delay measurement field includes 1 bit.
[0239] In one of the embodiments, the indication field further includes a namespace identification field, a flag field and a reserved field.
[0240] In one of the embodiments, the namespace identification field includes 16 bits.
[0241] In one of the embodiments, the flag field includes 8 bits.
[0242] In one of the embodiments, the reserved field includes 6 bits.
[0243] In one of the embodiments, the processor 33 is specifically configured to encapsulate the indication field in a first packet header in the traffic packet to instruct the nodes in the packet forwarding path to perform hop-by-hop IOAM data reporting, or encapsulate the indication field in a second packet header in the traffic packet to instruct the nodes in the packet forwarding path to perform end-to-end IOAM data reporting.
[0244] In one of the embodiments, the sender 35 is further configured to report IOAM data to a receiving entity according to an indication of the IOAM trace type field, perform packet loss measurement according to an indication of the packet loss measurement field, and perform latency measurement according to an indication of the latency measurement field.
[0245] Figure 13 The communication device shown can also be a receiving node in a packet forwarding path (such as a packet encapsulation node, a penetration node, or a packet decapsulation node in the packet forwarding path), wherein:
[0246] The receiver 31 is configured to receive a traffic packet with an indication field sent by a packet encapsulation node in the packet forwarding path, the indication field including an IOAM trace type field, a packet loss measurement field, and a latency measurement field.
[0247] The sender 35 is configured to report IOAM data to a receiving entity according to an indication of the IOAM trace type field, perform packet loss measurement according to an indication of the packet loss measurement field, and perform latency measurement according to an indication of the latency measurement field.
[0248] In one of the embodiments, the indication field further includes an extension flag field, and the sender 35 is further configured to report a flow identity and a packet sequence identity in the packet forwarding path to the receiving entity according to an indication of the extension flag field.
[0249] In one of the embodiments, the extension flag field includes a plurality of bits, and the sender 35 is specifically configured to report the flow identity to the receiving entity if a 0th bit in the plurality of bits is set to a first value, and report the packet sequence identity to the receiving entity if a 1st bit in the plurality of bits is set to the first value.
[0250] In one of the embodiments, the IOAM trace type field includes a plurality of bits, different bits corresponding to different IOAM data types, and the sender 35 is specifically configured to determine an IOAM data type that needs to be reported to the receiving entity according to values of the bits in the IOAM trace type field, and report IOAM data corresponding to the IOAM data type to the receiving entity.
[0251] In one of the embodiments, the sender 35 is specifically configured to determine a packet batch to which a traffic packet belongs according to a field value of the packet loss measurement field, and report a packet count value corresponding to each packet batch to the receiving entity according to the packet batch, wherein the field values of the packet loss measurement fields of a plurality of continuous traffic packets belonging to the same packet batch are the same, and the field values of the packet loss measurement fields of traffic packets belonging to different packet batches are different.
[0252] In one of the embodiments, the sender 35 is specifically configured to determine, from the batch of packets, a target traffic packet with the time delay measurement field set to a first value; report a packet timestamp of the target traffic packet to the receiving entity, and prohibit reporting packet timestamps of other traffic packets in the batch of packets with the time delay measurement field set to a second value to the receiving entity.
[0253] In one of the embodiments, a computer readable storage medium is provided, which stores a computer program. The computer program is executed by a processor to implement the following steps:
[0254] An indication field is encapsulated for a forwarded traffic packet, and the traffic packet encapsulated with the indication field is sent, the indication field including an IOAM trace type field, a packet loss measurement field, and a time delay measurement field; wherein:
[0255] The IOAM trace type field is used to instruct a node in the packet forwarding path to report IOAM data to a receiving entity according to an indication of the IOAM trace type field;
[0256] The packet loss measurement field is used to instruct a node in the packet forwarding path to perform packet loss measurement according to an indication of the packet loss measurement field;
[0257] The time delay measurement field is used to instruct a node in the packet forwarding path to perform time delay measurement according to an indication of the time delay measurement field.
[0258] In one of the embodiments, the indication field further includes an extension flag field, which is used to indicate a flow identity and a packet sequence identity in the packet forwarding path.
[0259] In one of the embodiments, the extension flag field includes a plurality of bit positions; when a 0th bit position in the plurality of bit positions is set to a first value, an optional flow identity field exists in the indication field.
[0260] When a 1st bit position in the plurality of bit positions is set to the first value, an optional packet sequence identity field exists in the indication field.
[0261] In one of the embodiments, the optional flow identity field includes 32 bit positions.
[0262] In one of the embodiments, the optional sequence identity field includes 32 bit positions.
[0263] In one of the embodiments, the extension flag field includes 8 bit positions.
[0264] In one of the embodiments, the IOAM trace type field includes multiple bits, different bits correspond to different IOAM data types, and the value of different bits is used to indicate whether the node in the packet forwarding path reports the IOAM data to the receiving entity.
[0265] In one of the embodiments, the IOAM trace type field includes 24 bits.
[0266] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to the same packet batch are the same.
[0267] In one of the embodiments, the traffic packets belonging to the same packet batch are multiple continuous traffic packets.
[0268] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to different packet batches are different.
[0269] In one of the embodiments, the packet loss measurement field is specifically used to instruct the node in the packet forwarding path to determine the packet batch to which a traffic packet belongs according to the field value of the packet loss measurement field, and report the packet count value corresponding to the packet batch to the receiving entity.
[0270] In one of the embodiments, the packet loss measurement field includes 1 bit.
[0271] In one of the embodiments, the computer program is executed by the processor to specifically implement the following steps:
[0272] In the encapsulation process of the time delay measurement field, a target traffic packet is determined from each of the packet batches;
[0273] The time delay measurement field of the target traffic packet is set to a first value, and the time delay measurement fields of the other traffic packets in the packet batch except the target traffic packet are set to a second value, and the first value and the second value are different.
[0274] In one of the embodiments, the time delay measurement field set to the first value is specifically used to instruct the node in the packet forwarding path to report the packet timestamp of the target traffic packet to the receiving entity.
[0275] The time delay measurement field set to the second value is specifically used to instruct the node in the packet forwarding path to prohibit reporting the packet timestamp of the other traffic packet to the receiving entity.
[0276] In one of the embodiments, the time delay measurement field includes 1 bit.
[0277] In one of the embodiments, the indication field further comprises a namespace identification field, a flag field, and a reserved field.
[0278] In one of the embodiments, the namespace identification field comprises 16 bits.
[0279] In one of the embodiments, the flag field comprises 8 bits.
[0280] In one of the embodiments, the reserved field comprises 6 bits.
[0281] In one of the embodiments, the computer program is executed by the processor to implement the following steps:
[0282] The indication field is encapsulated in a first packet header in the traffic packet to instruct the nodes in the packet forwarding path to report hop-by-hop IOAM data;
[0283] Or, the indication field is encapsulated in a second packet header in the traffic packet to instruct the nodes in the packet forwarding path to report end-to-end IOAM data.
[0284] In one of the embodiments, the computer program is executed by the processor to implement the following steps:
[0285] According to the indication of the IOAM trace type field, IOAM data is reported to a receiving entity, packet loss measurement is performed according to the indication of the packet loss measurement field, and delay measurement is performed according to the indication of the delay measurement field.
[0286] In one of the embodiments, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the following steps:
[0287] The traffic packet encapsulated with the indication field sent by the packet encapsulation node in the packet forwarding path is received, and the indication field comprises an IOAM trace type field, a packet loss measurement field, and a delay measurement field.
[0288] According to the indication of the IOAM trace type field, IOAM data is reported to a receiving entity, packet loss measurement is performed according to the indication of the packet loss measurement field, and delay measurement is performed according to the indication of the delay measurement field.
[0289] In one of the embodiments, the indication field further comprises an extended flag field, and the computer program is executed by the processor to implement the following steps:
[0290] According to the indication of the extended flag field, the flow identification and packet sequence identification in the packet forwarding path are reported to the receiving entity.
[0291] In one of the embodiments, the extension flag field includes a plurality of bits, and the computer program is specifically implemented to perform the following steps when executed by the processor:
[0292] If the 0th bit in the plurality of bits is set as the first value, the flow identifier is reported to the receiving entity;
[0293] If the 1st bit in the plurality of bits is set as the first value, the packet sequence identifier is reported to the receiving entity.
[0294] In one of the embodiments, the IOAM trace type field includes a plurality of bits, and different bits correspond to different IOAM data types, and the computer program is specifically implemented to perform the following steps when executed by the processor:
[0295] According to the values of the bits in the IOAM trace type field, the IOAM data type that needs to be reported to the receiving entity is determined;
[0296] The IOAM data corresponding to the IOAM data type is reported to the receiving entity.
[0297] In one of the embodiments, the computer program is specifically implemented to perform the following steps when executed by the processor:
[0298] According to the field value of the packet loss measurement field, the packet batch to which the flow packet belongs is determined;
[0299] According to the packet batch, the packet count value corresponding to each packet batch is reported to the receiving entity;
[0300] Among them, the field values of the packet loss measurement fields of a plurality of continuous flow packets belonging to the same packet batch are the same, and the field values of the packet loss measurement fields of flow packets belonging to different packet batches are different.
[0301] In one of the embodiments, the computer program is specifically implemented to perform the following steps when executed by the processor:
[0302] From the packet batch, the target flow packet in which the time delay measurement field is set as the first value is determined;
[0303] The packet timestamp of the target flow packet is reported to the receiving entity, and the packet timestamps of other flow packets in the packet batch in which the time delay measurement field is set as the second value are prohibited to be reported to the receiving entity.
[0304] Figure 14 is a schematic structural diagram of a chip of an embodiment of the application. Figure 14The chip 1200 shown includes a processor 1210, which can call and run a computer program from a memory to implement the method in the embodiments of the present application.
[0305] Optionally, as shown, Figure 14 The chip 1200 can also include a memory 1220. The processor 1210 can call and run a computer program from the memory 1220 to implement the method in the embodiments of the present application.
[0306] The memory 1220 can be a separate device independent of the processor 1210, or can be integrated in the processor 1210.
[0307] Optionally, the chip 1200 can also include an input interface 1230. The processor 1210 can control the input interface 1230 to communicate with other devices or chips, and specifically, can obtain information or data sent by other devices or chips.
[0308] Optionally, the chip 1200 can also include an output interface 1240. The processor 1210 can control the output interface 1240 to communicate with other devices or chips, and specifically, can output information or data to other devices or chips.
[0309] Optionally, the chip 1200 can be applied to the network element device in the embodiments of the present application, and the chip 1200 can implement the corresponding processes implemented in each method of the embodiments of the present application. For the sake of brevity, details are not repeated here.
[0310] It should be understood that the chip 1200 mentioned in the embodiments of the present application can also be referred to as a system-on-chip, a system chip, a chip system or a system-on-chip, etc.
[0311] The embodiments of the present application also provide a computer program product containing instructions, which are executed by a processor to implement the following steps:
[0312] An indication field is encapsulated for the forwarded traffic message, and the traffic message encapsulated with the indication field is sent, and the indication field includes an IOAM trace type field, a packet loss measurement field and a delay measurement field; wherein:
[0313] The IOAM trace type field is used to instruct a node in the message forwarding path to report IOAM data to a receiving entity according to the indication of the IOAM trace type field;
[0314] The packet loss measurement field is used to instruct a node in the message forwarding path to perform packet loss measurement according to the indication of the packet loss measurement field;
[0315] The time delay measurement field is used to instruct the nodes in the packet forwarding path to perform time delay measurement according to the indication of the time delay measurement field.
[0316] In one of the embodiments, the indication field further includes an extension flag field, which is used to indicate the flow identification and the packet sequence identification in the packet forwarding path.
[0317] In one of the embodiments, the extension flag field includes a plurality of bits; when the 0th bit of the plurality of bits is set to a first value, the indication field includes an optional flow identification field.
[0318] When the 1st bit of the plurality of bits is set to the first value, the indication field includes an optional packet sequence identification field.
[0319] In one of the embodiments, the optional flow identification field includes 32 bits.
[0320] In one of the embodiments, the optional sequence identification field includes 32 bits.
[0321] In one of the embodiments, the extension flag field includes 8 bits.
[0322] In one of the embodiments, the IOAM trace type field includes a plurality of bits, different bits correspond to different IOAM data types, and the value of different bits is used to instruct the nodes in the packet forwarding path whether to report the IOAM data to the receiving entity.
[0323] In one of the embodiments, the IOAM trace type field includes 24 bits.
[0324] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to the same packet batch are the same.
[0325] In one of the embodiments, the traffic packets belonging to the same packet batch are a plurality of continuous traffic packets.
[0326] In one of the embodiments, the field values of the packet loss measurement fields of the traffic packets belonging to different packet batches are different.
[0327] In one of the embodiments, the packet loss measurement field is specifically used to instruct the nodes in the packet forwarding path to determine the packet batch to which a traffic packet belongs according to the field value of the packet loss measurement field, and report the packet count value corresponding to the packet batch to the receiving entity.
[0328] In one of the embodiments, the packet loss measurement field includes 1 bit.
[0329] In one of the embodiments, the computer program is executed by the processor to implement the following steps:
[0330] In the encapsulation of the time delay measurement field, a target traffic packet is determined from each of the packet batches;
[0331] The time delay measurement field of the target traffic packet is set to a first value, and the time delay measurement fields of the other traffic packets in the packet batch except the target traffic packet are set to a second value, the first value and the second value being different.
[0332] In one of the embodiments, the time delay measurement field set to the first value is specifically used to instruct the nodes in the packet forwarding path to report packet timestamps of the target traffic packet to the receiving entity;
[0333] The time delay measurement field set to the second value is specifically used to instruct the nodes in the packet forwarding path to prohibit reporting packet timestamps of the other traffic packets to the receiving entity.
[0334] In one of the embodiments, the time delay measurement field includes 1 bit.
[0335] In one of the embodiments, the indication field further includes a namespace identification field, a flag field, and a reserved field.
[0336] In one of the embodiments, the namespace identification field includes 16 bits.
[0337] In one of the embodiments, the flag field includes 8 bits.
[0338] In one of the embodiments, the reserved field includes 6 bits.
[0339] In one of the embodiments, the computer program is executed by the processor to implement the following steps:
[0340] The indication field is encapsulated in a first packet header in the traffic packet to instruct the nodes in the packet forwarding path to perform hop-by-hop IOAM data reporting;
[0341] Or, the indication field is encapsulated in a second packet header in the traffic packet to instruct the nodes in the packet forwarding path to perform end-to-end IOAM data reporting.
[0342] In one of the embodiments, the computer program is executed by the processor to implement the following steps:
[0343] reporting IOAM data to a receiving entity according to an indication of the IOAM trace type field, performing packet loss measurement according to an indication of the packet loss measurement field, and performing latency measurement according to an indication of the latency measurement field.
[0344] In one embodiment, the application also provides a computer program product comprising instructions which, when executed by a processor, implement the following steps:
[0345] receiving a traffic packet with an indication field sent by a packet encapsulation node in the packet forwarding path, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a latency measurement field;
[0346] reporting IOAM data to a receiving entity according to an indication of the IOAM trace type field, performing packet loss measurement according to an indication of the packet loss measurement field, and performing latency measurement according to an indication of the latency measurement field.
[0347] In one embodiment, the indication field further comprises an extension flag field, and the computer program, when executed by the processor, implements the following steps:
[0348] reporting, to the receiving entity, a flow identity and a packet sequence identity in the packet forwarding path according to an indication of the extension flag field.
[0349] In one embodiment, the extension flag field comprises a plurality of bits, and the computer program, when executed by the processor, implements the following steps:
[0350] if a 0th bit in the plurality of bits is set to a first value, reporting the flow identity to the receiving entity;
[0351] if a 1st bit in the plurality of bits is set to the first value, reporting the packet sequence identity to the receiving entity.
[0352] In one embodiment, the IOAM trace type field comprises a plurality of bits, different bits corresponding to different IOAM data types, and the computer program, when executed by the processor, implements the following steps:
[0353] determining, according to values of bits in the IOAM trace type field, an IOAM data type that needs to be reported to the receiving entity;
[0354] reporting, to the receiving entity, IOAM data corresponding to the IOAM data type.
[0355] In one embodiment, the computer program, when executed by the processor, implements the following steps:
[0356] determining a packet batch to which the flow packet belongs according to a field value of the packet loss measurement field;
[0357] reporting a packet count value corresponding to each packet batch to the receiving entity according to the packet batch;
[0358] Wherein, the field values of the packet loss measurement fields of the multiple continuous flow packets belonging to the same packet batch are same, and the field values of the packet loss measurement fields of the flow packets belonging to different packet batches are different.
[0359] In one of the embodiments, the computer program is executed by the processor to implement the following steps:
[0360] determining a target flow packet in which the time delay measurement field is set as the first value from the packet batch;
[0361] reporting the packet timestamp of the target flow packet to the receiving entity, and prohibiting reporting the packet timestamp of other flow packets in which the time delay measurement field is set as the second value to the receiving entity.
[0362] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiments. Any reference to memory, storage, database or other medium used in the embodiments provided by the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0363] Any combination of the technical features of the above embodiments can be made. In order to make the description concise, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present application.
[0364] The above-described embodiments are merely illustrative of several embodiments of the present application, which are described in more detail and in a specific and detailed manner, but should not be construed as limiting the scope of the patent. It should be noted that for those skilled in the art, several modifications and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.
Claims
1. A method of processing a packet, the method comprising: A method for packet encapsulation node in a packet forwarding path, the method comprising: encapsulating an indication field for a forwarding traffic packet, and sending the traffic packet encapsulated with the indication field, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a delay measurement field; wherein: the IOAM trace type field is used to instruct a node in the packet forwarding path to report IOAM data to a receiving entity according to an indication of the IOAM trace type field; the IOAM trace type field comprises a plurality of bits, different bits correspond to different types of IOAM data, and the values of different bits are used to instruct the node in the packet forwarding path whether to report the IOAM data to the receiving entity; the packet loss measurement field is used to instruct the node in the packet forwarding path to perform packet loss measurement according to an indication of the packet loss measurement field; the delay measurement field is used to instruct the node in the packet forwarding path to perform delay measurement according to an indication of the delay measurement field; the indication field further comprises an extension flag field, which is used to indicate a flow identifier and a packet sequence identifier in the packet forwarding path; the extension flag field comprises a plurality of bits; when the 0th bit of the plurality of bits is set to a first value, an optional flow identifier field exists in the indication field; when the 1st bit of the plurality of bits is set to the first value, an optional packet sequence identifier field exists in the indication field.
2. The method of claim 1, wherein, The optional flow identifier field comprises 32 bits.
3. The method of claim 1, wherein, The optional packet sequence identifier field comprises 32 bits.
4. The method according to any one of claims 1 to 3, characterized in that, The extension flag field comprises 8 bits.
5. The method of claim 1, wherein, The IOAM trace type field comprises 24 bits.
6. The method of claim 1, wherein, The field values of the packet loss measurement fields of traffic packets belonging to the same packet batch are the same.
7. The method of claim 6, wherein, The traffic packets belonging to the same packet batch are a plurality of continuous traffic packets.
8. The method of claim 6, wherein, The field values of the packet loss measurement fields of traffic packets belonging to different packet batches are different.
9. The method according to any one of claims 2-3, 6-8, characterized in that, The packet loss measurement field is specifically used to instruct the node in the packet forwarding path to determine a packet batch to which a traffic packet belongs according to a field value of the packet loss measurement field, and report a packet count value corresponding to the packet batch to the receiving entity.
10. The method of claim 1, wherein, The packet loss measurement field comprises 1 bit.
11. The method of claim 9, wherein, The indication field encapsulated for the forwarding traffic packet comprises: In the encapsulation process of the delay measurement field, a target traffic packet is determined from each packet batch; the delay measurement field of the target traffic packet is set to a first value, and the delay measurement fields of other traffic packets in the packet batch except the target traffic packet are set to a second value, the first value and the second value being different.
12. The method of claim 11, wherein, The delay measurement field set to the first value is specifically used to instruct the node in the packet forwarding path to report a packet timestamp of the target traffic packet to the receiving entity; The delay measurement field set to the second value is specifically used to instruct the node in the packet forwarding path to prohibit reporting packet timestamps of the other traffic packets to the receiving entity.
13. The method of claim 1, wherein, The time delay measurement field includes 1 bit.
14. The method of claim 1, wherein, The indication field further includes a namespace identification field, a flag field, and a reserved field.
15. The method of claim 14, wherein, The namespace identification field includes 16 bits.
16. The method of claim 14, wherein, The flag field includes 8 bits.
17. The method of claim 14, wherein, The reserved field includes 6 bits.
18. The method of claim 1, wherein, The indication field is encapsulated in a first packet header in the traffic packet to instruct a node in the packet forwarding path to report hop-by-hop IOAM data. The indication field is encapsulated in a second packet header in the traffic packet to instruct a node in the packet forwarding path to report end-to-end IOAM data. The method further includes:
19. The method of claim 1, wherein, reporting IOAM data to a receiving entity according to the indication of the IOAM trace type field, performing packet loss measurement according to the indication of the packet loss measurement field, and performing time delay measurement according to the indication of the time delay measurement field. A packet receiving node in a packet forwarding path, the method includes:
20. A method of processing a packet, the method comprising: receiving a traffic packet encapsulating an indication field sent by a packet encapsulating node in the packet forwarding path, the indication field including an IOAM trace type field, a packet loss measurement field, and a time delay measurement field; the IOAM trace type field includes multiple bits, and different bits correspond to different IOAM data types; determining the type of IOAM data to be reported to a receiving entity according to the value of each bit in the IOAM trace type field; reporting the IOAM data corresponding to the type of IOAM data to the receiving entity; performing packet loss measurement according to the indication of the packet loss measurement field, and performing time delay measurement according to the indication of the time delay measurement field; The indication field further includes an extension flag field, and the extension flag field includes multiple bits. The method further includes: if the 0th bit in the multiple bits is set to a first value, reporting a flow identification in the packet forwarding path to the receiving entity; if the 1st bit in the multiple bits is set to a first value, reporting a packet sequence identification in the packet forwarding path to the receiving entity. The packet loss measurement according to the indication of the packet loss measurement field includes:
21. The method of claim 20, wherein, determining a packet batch to which the traffic packet belongs according to the field value of the packet loss measurement field; reporting a packet count value corresponding to each packet batch to the receiving entity according to the packet batch; wherein the field values of the packet loss measurement fields of multiple continuous traffic packets belonging to the same packet batch are the same, and the field values of the packet loss measurement fields of traffic packets belonging to different packet batches are different. The time delay measurement according to the indication of the time delay measurement field includes:
22. The method of claim 21, wherein, determining a target traffic packet in which the time delay measurement field is set to a first value from the packet batch; reporting a packet timestamp of the target traffic packet to the receiving entity, and prohibiting reporting packet timestamps of other traffic packets in the packet batch in which the time delay measurement field is set to a second value to the receiving entity. A packet encapsulating node arranged in a packet forwarding path, the device includes:
23. A packet processing device, comprising: The processing module is configured to encapsulate an indication field for the forwarded traffic message, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a delay measurement field; wherein: the IOAM trace type field is configured to instruct a node in the message forwarding path to report IOAM data to a receiving entity according to an indication of the IOAM trace type field; the IOAM trace type field comprises a plurality of bits, different bits corresponding to different IOAM data types, and a value of a different bit being configured to instruct the node in the message forwarding path whether to report the IOAM data to the receiving entity; the packet loss measurement field is configured to instruct the node in the message forwarding path to perform packet loss measurement according to an indication of the packet loss measurement field; the delay measurement field is configured to instruct the node in the message forwarding path to perform delay measurement according to an indication of the delay measurement field; the indication field further comprises an extension flag field, the extension flag field being configured to indicate a flow identity in the message forwarding path and a message sequence identity; the extension flag field comprises a plurality of bits; in a case where a 0th bit of the plurality of bits is set to a first value, an optional flow identity field exists in the indication field; in a case where a 1st bit of the plurality of bits is set to the first value, an optional message sequence identity field exists in the indication field. The sending module is configured to send the traffic message encapsulated with the indication field.
24. A packet processing device, comprising: A message receiving node disposed in a message forwarding path, the device comprising: The receiving module is configured to receive a traffic message encapsulated with an indication field sent by a message encapsulating node in the message forwarding path, the indication field comprising an IOAM trace type field, a packet loss measurement field, and a delay measurement field; the IOAM trace type field comprising a plurality of bits, different bits corresponding to different IOAM data types; The sending module is configured to determine, according to a value of each bit of the IOAM trace type field, a type of IOAM data that needs to be reported to a receiving entity; report the IOAM data of the type to the receiving entity; perform packet loss measurement according to an indication of the packet loss measurement field, and perform delay measurement according to an indication of the delay measurement field. The indication field further comprises an extension flag field, the extension flag field comprising a plurality of bits, and the sending module is further configured to, if a 0th bit of the plurality of bits is set to a first value, report a flow identity in the message forwarding path to the receiving entity; and if a 1st bit of the plurality of bits is set to the first value, report a message sequence identity in the message forwarding path to the receiving entity.
25. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program, when executed by a processor, implements the steps of the method of any one of claims 1 to 22.
26. A computer program product comprising a computer program, characterised in that, The computer program, when executed by a processor, implements the steps of the method of any one of claims 1 to 22.
Citation Information
Patent Citations
IOAM time delay measurement method and device of 5G network
CN113644998A
IOAM measurement calculation method and device, equipment and storage medium
CN113992497A