WO2025241475A1 - Message processing method, apparatus and system - Google Patents
Message processing method, apparatus and systemInfo
- Publication number
- WO2025241475A1 WO2025241475A1 PCT/CN2024/136322 CN2024136322W WO2025241475A1 WO 2025241475 A1 WO2025241475 A1 WO 2025241475A1 CN 2024136322 W CN2024136322 W CN 2024136322W WO 2025241475 A1 WO2025241475 A1 WO 2025241475A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- hop
- message
- header
- ioam
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Definitions
- This disclosure relates to the field of data communication technology, and in particular to a message processing method, apparatus and system.
- ICMPv6 Internet Control Message Protocol version 6
- ICMPv6 messages primarily include two message types: error messages and informational messages.
- Informational messages include Echo Requests and Echo Replies.
- Informational messages are widely used for connectivity testing in IP networks, for example, in the Packet Internet Groper (PING) command.
- PING Packet Internet Groper
- the PING command is used to test bidirectional connectivity between two nodes; it requires the source node to send an Echo Request to the destination node, and the destination node to send an Echo Response back to the source node.
- IPv6 messages are encapsulated within IPv6 messages.
- IPv6 messages may also carry IPv6 extension headers. These extension headers include hop-by-hop options headers and destination options headers, and are defined for flow measurement and collecting path tracking information. The information collected by the IPv6 extension headers is then reported to a centralized data collector or controller for further processing.
- This disclosure provides a message processing method, apparatus, and system.
- a message processing method comprising: generating an echo request message of Internet Control Message Protocol version 6 (ICMPv6), the echo request message including first indication information and second indication information, the first indication information being used to indicate an IPv6 extension header to be returned, the second indication information being used to indicate each node on the outgoing path to add Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node of the echo request message; sending the echo request message to the destination node; and receiving an echo response message from the destination node, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path.
- ICMPv6 Internet Control Message Protocol version 6
- the IPv6 extension header to be returned is the first hop-by-hop option header in the echo request message.
- the echo request message further includes an IPv6 header, an Internet Control Message Protocol (ICMP) v6 header, and an ICMP extension structure field; the first indication information is encapsulated in the ICMP extension structure field, and/or the second indication information is encapsulated in the first hop-by-hop option header.
- IPv6 Internet Control Message Protocol
- ICMP Internet Control Message Protocol
- the first hop-by-hop option header includes an IOAM data field
- the second indication information is encapsulated in the IOAM data field.
- the IOAM data field includes an IOAM trace type field
- the second indication information is characterized by the value of the IOAM trace type field.
- generating an echo request message for Internet Control Message Protocol version 6 includes: encapsulating the IOAM trace type field into a first hop-by-hop option header, and setting the most significant bit and the second most significant bit of the IOAM trace type field to a set value.
- generating an echo request message for Internet Control Message Protocol version 6 further includes adding the IOAM data corresponding to the source node to the first hop-by-hop option header.
- the echo response message further includes IOAM data added to each node on the backhaul path, where the backhaul path is the transmission path from the destination node to the source node for the echo response message.
- the message processing method further includes: determining the link information traversed by the specified service flow based on the IOAM data added to each node on the backhaul path and the IOAM data added to each node on the outbound path in the echo response message; and/or performing path consistency detection based on the IOAM data added to each node on the backhaul path and the IOAM data added to each node on the outbound path in the echo response message.
- the echo response message includes an IPv6 header, a second hop-by-hop options header, an Internet Control Message Protocol (ICMP) v6 header, and an ICMP extended structure field; the IOAM data added by each node on the return path is encapsulated in the second hop-by-hop options header, and/or the IPv6 extended header to be returned carrying the IOAM data added by each node on the outgoing path is encapsulated in the ICMP extended structure field of the echo response message.
- ICMP Internet Control Message Protocol
- the IOAM data includes at least one of a hop limit, an ingress interface identifier, an egress interface identifier, and a node identifier.
- a message processing method executed by a destination node, comprising: receiving an echo request message of Internet Control Message Protocol version 6 (ICMPv6) from a source node, the echo request message including first indication information and second indication information, the first indication information being used to indicate an IPv6 extension header to be returned, the second indication information being used to indicate each node on the outgoing path to add Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node for the echo request message; generating an echo response message based on the echo request message, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path; and sending the echo response message to the source node.
- ICMPv6 Internet Control Message Protocol version 6
- the IPv6 extension header to be returned is the first hop-by-hop option header in the echo request message.
- generating an echo response message based on the echo request message includes: obtaining a first hop-by-hop option header from the echo request message according to the first indication information; adding IOAM data corresponding to the destination node to the first hop-by-hop option header according to the second indication information to obtain an IPv6 extension header to be returned carrying IOAM data added to each node on the outgoing path; and encapsulating the IPv6 extension header to be returned carrying IOAM data added to each node on the outgoing path into the echo response message.
- the echo response message includes an IPv6 header, an ICMPv6 header, and an ICMP extension structure, wherein the IPv6 extension header to be returned, carrying IOAM data added by each node on the outbound path, is encapsulated in the ICMP extension structure.
- the echo response message further includes a second hop-by-hop option header, which encapsulates third indication information.
- the third indication information is used to instruct each node on the return path to add IOAM data to the second hop-by-hop option header.
- the return path is the transmission path from the destination node to the source node for the echo response message.
- the second hop-by-hop option header includes an IOAM data field
- the third indication information is encapsulated in the IOAM data field.
- the IOAM data field includes an IOAM trace type field
- the third indication information is characterized by the value of the IOAM trace type field.
- generating an echo response message based on the echo request message further includes: encapsulating the IOAM trace type field into a second hop-by-hop option header, and setting the highest and second-highest bits of the IOAM trace type field to a set value.
- generating an echo response message based on the echo request message further includes adding the IOAM data corresponding to the destination node to the second hop-by-hop option header.
- the IOAM data includes at least one of a hop limit, an ingress interface identifier, an egress interface identifier, and a node identifier.
- a message processing apparatus comprising: a generation module configured to generate an echo request message of Internet Control Message Protocol version 6 (ICMPv6), the echo request message including first indication information and second indication information, the first indication information being used to indicate an IPv6 extension header to be returned, the second indication information being used to indicate each node on the outgoing path to add Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node; a sending module configured to send the echo request message to the destination node; and a receiving module configured to receive an echo response message from the destination node, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path.
- ICMPv6 Internet Control Message Protocol version 6
- a message processing apparatus comprising: a receiving module configured to receive an echo request message of Internet Control Message Protocol version 6 (ICMPv6) from a source node, the echo request message including first indication information and second indication information, the first indication information indicating an IPv6 extension header to be returned, the second indication information indicating that each node on the outgoing path adds Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node of the echo request message; a generating module configured to generate an echo response message based on the echo request message, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path; and a sending module configured to send the echo response message to the source node.
- ICMPv6 Internet Control Message Protocol version 6
- a message processing system comprising: a source node including the message processing apparatus as described above; and a destination node including the message processing apparatus as described above.
- the message processing system further includes: at least one first forwarding node, configured on the outbound path, for forwarding the echo request message; and at least one second forwarding node, configured on the return path, for forwarding the echo response message.
- a message processing apparatus comprising: a memory; and a processor coupled to the memory, the processor being configured to perform the message processing method as described above based on instructions stored in the memory.
- a computer-readable storage medium that stores computer program instructions thereon, which, when executed by a processor, implement the message processing method as described above.
- a computer program product stores computer program instructions which, when executed by a processor, implement the message processing method as described above.
- Figure 1 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure
- Figure 2 is a schematic diagram of the format of an echo request message according to some embodiments of the present disclosure
- Figure 3 is a schematic diagram of the ICMP header format in an echo request message according to some embodiments of the present disclosure
- Figure 4 is a schematic diagram of the format of a first ICMP extended structure according to some embodiments of the present disclosure
- Figure 5 is a schematic diagram of the format of an echo response message according to some embodiments of the present disclosure.
- Figure 6 is a schematic diagram of the ICMP header format in an echo response message according to some embodiments of the present disclosure
- Figure 7 is a schematic diagram of the format of a second ICMP extended structure according to some embodiments of the present disclosure.
- Figure 8 is a schematic flowchart of a message processing method according to some other embodiments of the present disclosure.
- Figure 9 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure.
- Figure 10 is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure.
- Figure 11 is a schematic diagram of a message processing apparatus according to some other embodiments of the present disclosure.
- Figure 12 is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure.
- Figure 13 is a schematic diagram of the structure of a message processing system according to some embodiments of the present disclosure.
- Figure 14 is a schematic diagram of the structure of a computer system according to some embodiments of the present disclosure.
- the source node needs to understand the forwarding status of packets in the network.
- Related technologies require the support of a centralized collector or controller to obtain the Operation, Administration and Maintenance (OAM) data carried in the IPv6 extension header, resulting in a complex architecture and significant communication overhead.
- OAM Operation, Administration and Maintenance
- this disclosure provides a message processing method, apparatus and system that enables outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thereby simplifying the communication architecture and reducing communication overhead.
- Figure 1 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure. As shown in Figure 1, the message processing method includes steps S1 to S3.
- step S1 the source node generates an ICMPv6 echo request message.
- the source node can be, for example, a network device.
- the source node could be a router or other network device.
- the source node can be a host device, such as a personal computer (PC) or a server.
- the packet processing mechanism (described later) is configured in the source node, and packet processing methods are executed through this mechanism.
- the echo request message encapsulates first and second indication information.
- the first indication information indicates the IPv6 extension header to be returned.
- the second indication information instructs each node on the outbound path to add IOAM data to the IPv6 extension header to be returned.
- the outbound path is the transmission path from the source node to the destination node for the echo request message.
- the first indication information may include, for example, type indication information to indicate the type of the IPv6 extension header to be returned.
- the first indication information may also include other extension header types.
- the format of the echo request message in the related art has been modified to carry the first indication information.
- the modified echo request message satisfies the following: the echo request message includes an ICMPv6 header and an ICMP extended structure field, and the first indication information is encapsulated in the ICMP extended structure field.
- the second instruction information can be used to indicate which IOAM data each node needs to add.
- the second instruction information could indicate that each node needs to add its own identifier.
- the second instruction information could indicate that each node needs to add at least one of the following: hop limit, inbound interface, and outbound interface, as well as its own identifier.
- the destination node by carrying first indication information in the echo request message, the destination node can determine the IPv6 extension header to be returned based on the echo request message, without needing to inform the destination node of the indication information of the IPv6 extension header to be returned through other devices or other signaling, thus reducing communication overhead; by carrying second indication information in the echo request message, each node on the outbound path can add its own corresponding IOAM data when forwarding the echo request message, without needing to inform each node that IOAM data needs to be added through other devices or other signaling, thus reducing communication overhead.
- the echo request message includes an IPv6 header, a first hop-by-hop options header, an ICMPv6 header, and an ICMP extension structure.
- step S1 includes: the source node encapsulating first indication information into the ICMP extension structure, and/or, the source node encapsulating second indication information into the first hop-by-hop options header.
- the ICMP extended structure in the echo request message includes an object field
- the first hop-by-hop option header in the echo request message includes an IOAM data field.
- step S1 specifically includes: the source node encapsulating the first indication information into the object field and encapsulating the second indication information into the IOAM data field.
- the source node when generating an echo request message, further includes adding the IOAM data corresponding to the source node to the first hop-by-hop option header in the echo request message. For example, the source node adds the source node's identifier, the ingress interface of the echo request message, and the egress interface of the echo request message to the first hop-by-hop option header.
- step S2 the source node sends an echo request message to the destination node.
- the source node sends an echo request message to the transport node, which (also known as an intermediate node) forwards the echo request message to the destination node.
- the transport nodes include transport node 1, transport node 2, and transport node 3.
- the source node sends the echo request message to transport node 1, transport node 1 receives the echo request message and forwards it to transport node 2, transport node 2 receives the echo request message and forwards it to transport node 3, and transport node 3 receives the echo request message and forwards it to the destination node.
- each transport node adds its own corresponding IOAM data to the echo request message when forwarding it.
- the source node sends the echo request message directly to the destination node.
- step S3 is executed.
- step S3 the source node receives an echo response message from the destination node.
- the echo response message includes a pending IPv6 extension header carrying IOAM data added for each node on the outbound path.
- the IPv6 extension header to be returned is the first hop-by-hop options header in the echo request message.
- the echo response message includes a first hop-by-hop options header carrying IOAM data added for each node on the outbound path.
- the message processing method further includes: the source node determines the link information through which the specified service flow passes based on the IOAM data (referred to as outbound path information) added by each node on the outbound path in the echo response message.
- the source node determines the link information through which the specified service flow passes based on the IOAM data (referred to as outbound path information) added by each node on the outbound path in the echo response message.
- the echo response message also includes IOAM data (referred to as backhaul path information) added by each node on the backhaul path.
- the backhaul path refers to the transmission path along which the echo response message is transmitted from the destination node to the source node.
- the return path information and the IPv6 extension header to be returned can be encapsulated in the echo response message in the following exemplary manner.
- the echo response message includes an IPv6 header, a second hop-by-hop options header, an ICMPv6 header, and an ICMP extension structure field.
- the second hop-by-hop options header encapsulates the return path information, and/or, the IPv6 extension header to be returned, carrying the outbound path information, is encapsulated in the ICMP extension structure field.
- the message processing method may further include: the source node determining the link information through which the specified service flow passes based on the outbound path information and return path information in the echo response message; and/or, the source node performing path consistency detection based on the outbound path information and return path information; and/or, in an Equal Multiple Path (ECMP) scenario, the source node determining which ECMP path the message should be forwarded to.
- ECMP Equal Multiple Path
- the echo request message and echo response message in the related technologies can only be used for bidirectional network connectivity detection.
- the embodiments of this disclosure enhance the functionality of the echo request message and echo response message by extending them; 2. It enables the IPv6 extension header carrying outbound path information to be directly returned to the source node without the support of a centralized collector or controller, simplifying the communication architecture and reducing communication overhead; 3. It facilitates the subsequent source node to understand the path trace of the packet in detail based on the outbound path information carried in the IPv6 extension header, thereby helping to realize network diagnosis and provide a basis for packet path optimization.
- FIG. 2 is a schematic diagram of the format of an echo request message according to some embodiments of the present disclosure.
- the echo request message in some embodiments of the present disclosure includes an IPv6 header, a first hop-by-hop option header, an ICMPv6 header, and a first ICMP extension structure.
- the IPv6 header includes fields such as the source node's IP address, the destination node's IP address, and the flow label.
- the source node's IP address, destination node's IP address, and flow label in the echo request message are made consistent with the corresponding values in the specified service flow message.
- ECMP Equal Cost Multi-path
- the first hop-by-hop optional headers encapsulate the second instruction information.
- the first hop-by-hop optional headers include IOAM data fields, and the second instruction information is encapsulated within the IOAM data fields.
- the IOAM data field may include an IOAM trace type field, and the second indication information is represented by the value of the IOAM trace type field.
- the second indication information is represented by the most significant bit and the second most significant bit of the IOAM trace type field.
- the source node when it generates an echo request message, it encapsulates the IOAM trace type field into the first hop-by-hop option header and sets the most significant bit and the second most significant bit of the IOAM trace type field to a set value. For example, it sets the most significant bit and the second most significant bit of the IOAM trace type field to 1.
- Setting the most significant bit of the IOAM trace type field to 1 indicates that hop limits and node identifiers need to be filled, and setting the second most significant bit of the IOAM trace type field to 1 indicates that ingress interface identifiers and egress interface identifiers need to be added.
- the remaining bits of the IOAM trace type field can be set to 1 or 0 as needed.
- the second indication information helps to concisely and efficiently instruct each node on the outgoing path to add its corresponding IOAM data to the hop-by-hop option header, thereby helping to improve the processing effect of the entire message processing flow.
- the ICMPv6 header includes the following fields as shown in Figure 3: Type, Code, Checksum, Identifier, and Sequence Number.
- Type field indicates the message type (or packet type); the Code field indicates a more specific type of this packet; the Checksum field is used to verify the ICMPv6 packet; the Identifier field is an identifier used to indicate a match between an echo request and an echo response packet; and the Sequence Number is an identifier used to indicate a match between an echo request and an echo response packet.
- the first ICMP extension structure encapsulates first indication information.
- the first ICMP extension structure includes a first extension header field and at least one first object field.
- the first indication information is encapsulated within the first object field.
- the first extended header fields include a version number field, a reserved field, and a checksum field.
- the sizes of the version number field, reserved field, and checksum field in the first extended header fields can be set as follows: for example, the version number field is 4 bits in size, used to indicate the version number of the message; the reserved field is 12 bits in size, with all bits set to 0; and the checksum field is 16 bits in size.
- the first object field includes a length field, an object category field, and an object subcategory field.
- the length field represented by ⁇ Length ⁇ , identifies the object's length
- the object category field represented by ⁇ Class-Num ⁇
- the object subcategory field represented by ⁇ C-Type ⁇ (also known as the object subtype field)
- the object subcategory field can be reserved for future expansion of message functionality based on actual needs.
- the first object field includes a length field, an object category field, and an object subcategory field, but does not include an object payload field.
- the echo request message by including a first ICMP extended structure field in the echo request message, it is easier to carry the first indication information. Furthermore, by omitting the object payload field from the first ICMP extended structure field, the echo request message becomes more concise, reducing the communication overhead required for transmitting ICMPv6 messages between the source and destination nodes.
- Figure 5 is a schematic diagram of the format of an echo response message according to some embodiments of the present disclosure.
- the echo response message in some embodiments of the present disclosure includes an IPv6 header, a second hop-by-hop options header, an ICMPv6 header, and a second ICMP extension structure.
- the IPv6 header includes fields such as the source node's IP address, the destination node's IP address, and the flow label.
- the second hop-by-hop optional headers encapsulate a third indication.
- the second hop-by-hop optional headers include IOAM data fields
- the third indication is encapsulated within the IOAM data fields.
- the IOAM data fields include the IOAM Trace Type field, and the third indication information is represented by the value of the IOAM Trace Type field. For example, setting the highest and second-highest bits of the IOAM Trace Type field to 1 indicates that the following IOAM data needs to be added to each node on the return path: hop limit, node representation, ingress interface identifier, and egress interface identifier.
- the ICMPv6 header includes the following fields as shown in Figure 6: Type, Code, Checksum, Identifier, and Sequence Number.
- Type field indicates the message type (or packet type); the Code field indicates a more specific type of this packet; the Checksum field is used to verify the ICMPv6 packet; the Identifier field is an identifier used to indicate a match between an echo request and an echo response packet; and the Sequence Number is an identifier used to indicate a match between an echo request and an echo response packet.
- the second ICMP extension structure encapsulates a returnable IPv6 extension header carrying outbound path information.
- the second ICMP extension structure includes a second extension header field and at least one second object field.
- the returnable IPv6 extension header carrying outbound path information is encapsulated within the second object field.
- the second object field includes a length field, an object class field, an object subclass field, and an object payload field.
- the length field represented by Length, identifies the object length
- the object class field represented by Class-Num
- the object subclass field represented by C-Type
- the object payload field represented by Object payload, encapsulates the IPv6 extension header to be returned, carrying out the outbound path information.
- each field in the second object field can be flexibly set.
- the length field can be set to 16 bits, the object category field to 8 bits, the object subcategory field to 8 bits, and the object payload field to n*32 bits.
- FIG 8 is a schematic flowchart of a message processing method according to some other embodiments of the present disclosure. As shown in Figure 8, the message processing method includes steps S11 to S13.
- step S11 the destination node receives an ICMPv6 echo request message from the source node.
- the destination node can be a network device.
- the destination node may be a router or other network device.
- the destination node can be a host device.
- the destination node may be a personal computer (PC) or a server.
- the message processing device described later is configured in the destination node, and the message processing device performs the message processing method.
- the echo request message encapsulates first and second indication information.
- the first indication information indicates the IPv6 extension header to be returned.
- the second indication information instructs each node on the outbound path to add IOAM data to the IPv6 extension header to be returned.
- the outbound path is the transmission path from the source node to the destination node for the echo request message.
- step S12 the destination node generates an echo response message based on the echo request message.
- the echo response message includes a pending IPv6 extension header information carrying the IOAM data added for each node on the outbound path.
- the pending IPv6 extension header is the first hop-by-hop options header in the echo request message.
- the IOAM data added for each node on the outbound path carried in the pending IPv6 extension header includes: the node identifier, hop limit, ingress interface identifier, and egress interface identifier for each node on the outbound path.
- the destination node generates an echo response message as follows: according to a first instruction, it obtains a first hop-by-hop option header from the echo request message; according to a second instruction, it adds IOAM data corresponding to the destination node to the first hop-by-hop option header to obtain an IPv6 extension header to be returned carrying outgoing path information; and encapsulates the IPv6 extension header to be returned carrying outgoing path information into the echo response message.
- the echo response message includes an IPv6 header, an ICMPv6 header, and an ICMP extension structure.
- the destination node when the destination node generates the echo response message, it encapsulates the IPv6 extension header carrying outbound path information into the ICMP extension structure.
- the echo response message includes a second hop-by-hop options header in addition to the IPv6 header, ICMPv6 header, and ICMP extension structure.
- the destination node when generating the echo response message, the destination node, besides encapsulating the IPv6 extension header carrying outbound path information into the ICMP extension structure, also adds a third indication message and its corresponding IOAM data to the second hop-by-hop options header.
- the third indication message instructs each node on the return path to add IOAM data to the second hop-by-hop options header.
- the return path is the transmission path from the destination node to the source node for the echo response message.
- the third indication information can be encapsulated in the echo response message in the following exemplary manner: the IOAM data field is encapsulated in the second hop-by-hop option header. The third indication information is located within the IOAM data field.
- the IOAM data field includes an IOAM trace type field
- the third indication information is represented by the value of the IOAM trace type field.
- the third indication information is represented by the most significant and second most significant bits of the IOAM trace type field.
- the destination node when it generates an echo response message, it sets the most significant and second most significant bits of the IOAM trace type field to a set value. For example, it sets the most significant and second most significant bits of the IOAM trace type field to 1.
- Setting the most significant bit of the IOAM trace type field to 1 indicates that hop limits and node identifiers need to be filled in, and setting the second most significant bit of the IOAM trace type field to 1 indicates that ingress and egress interface identifiers need to be added. Furthermore, the remaining bits of the IOAM trace type field can be set to 1 or 0 depending on the actual situation.
- each node on the return path can add its own corresponding IOAM data when forwarding the echo response message, without needing to inform each node to add IOAM data through other devices or other signaling, thus reducing communication overhead. Furthermore, it helps the source node to easily and efficiently obtain both outbound and return path information.
- step S13 the destination node sends an echo response message to the source node.
- the destination node sends an echo response message to the transmission node, and the transmission node forwards the echo response message to the source node.
- the transmission nodes include transmission node 4 and transmission node 5.
- the destination node sends an echo response message to transmission node 4, transmission node 4 receives the echo response message and forwards it to transmission node 5, and transmission node 5 receives the echo response message and forwards it to the source node.
- the destination node sends the echo response message directly to the source node.
- the above process enables the IPv6 extension header carrying outbound path information to be returned directly to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
- Figure 9 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure.
- a network environment consisting of 6 devices and two paths is formed.
- the first path includes nodes R1, R2, R3, and R6, and the second path includes nodes R6, R5, R4, and R1.
- Encapsulation node R1 (or source node R1) generates an echo request message.
- the values of fields such as the source node IP address, destination node IP address, and flow identifier in the echo request message are made consistent with those in the specified service flow message.
- encapsulating node R1 generates the echo request message as follows: It encapsulates an ICMP extension structure carrying first indication information into the echo request message; and it encapsulates a hop-by-hop option header carrying second indication information into the echo request message.
- the first indication information indicates the IPv6 extension header to be returned
- the second indication information indicates that each node on the outbound path should add IOAM data to the IPv6 extension header to be returned.
- the ICMP extension structure and hop-by-hop options header in the echo request message are configured to satisfy the following: the ICMP extension structure includes a first extension header field and a first object field, with the first indication information represented by the object category field in the first object field; the hop-by-hop options header includes an IOAM data field, with the second indication information represented by the IOAM trace type field in the IOAM data field.
- the encapsulating node sets the value of the object category field to Hop by Hop Options header to represent the following first indication information: the IPv6 extension header to be returned is a hop-by-hop options header; the encapsulating node sets the most significant bit and the second most significant bit in the IOAM trace type field to 1 to represent the following second indication information: each node on the outbound path needs to add its corresponding node identifier (node_id), hop limit (Hop_Lim), ingress interface identifier (ingress_if_id), and egress interface identifier (egress_if_id).
- the encapsulation node R1 in addition to encapsulating the first and second indication information, also selects the outgoing interface based on a hash algorithm and fills in the hop limit, node identifier, and outgoing interface identifier information in the hop-by-hop option header. For example, the encapsulation node R1 assigns the hop limit field a value of 9, assigns its own node identifier R1 to the node identifier field, leaves the ingoing interface identifier field empty, and assigns the outgoing interface identifier field a value of the outgoing interface identifier it selects.
- Intermediate nodes R2 and R3 are forwarding nodes on the outbound path. When intermediate nodes R2 and R3 receive and forward echo request messages, they perform IOAM data filling operations. For example, intermediate nodes R2 and R3 fill in the hop limit, node identifier, ingress interface identifier, and egress interface identifier information in the hop-by-hop option header. For instance, intermediate node R2 assigns the hop limit field a value of 8, assigns its own node identifier R2 to the node identifier field, and assigns values to the ingress interface identifier and egress interface identifier fields. Similarly, intermediate node R3 performs similar IOAM data filling processing.
- the decapsulation node i.e., the destination node
- the decapsulation node R6 based on the second indication information in the echo request message, fills in its corresponding hop limit, node identifier, and ingress interface identifier information into the hop-by-hop option header of the echo request message to obtain a hop-by-hop option header carrying outbound path information.
- the hop-by-hop option header (i.e., the second hop-by-hop option header) in the echo response message is made to satisfy the following: the hop-by-hop option header includes an IOAM data field, and the third indication information is represented by the IOAM trace type field within the IOAM data field.
- the decapsulation node sets the most significant and second-most significant bits of the IOAM trace type field to 1 to represent the following third indication information: each node on the return path needs to add its corresponding node identifier (node_id), hop limit (Hop_Lim), ingress interface identifier (ingress_if_id), and egress interface identifier (egress_if_id).
- Intermediate nodes R5 and R4 are forwarding nodes on the return path. When intermediate nodes R5 and R4 receive and forward echo response messages, they perform IOAM data filling operations. For example, when intermediate node R5 receives an echo response message, it fills in the hop limit, its own node identifier R, ingress interface identifier int1, and egress interface identifier int3 in the hop-by-hop options header. Intermediate node R4 performs similar operations on the received echo response messages and then forwards the message to encapsulation node R1.
- Encapsulation node R1 obtains the return path information from the hop-by-hop option header in the echo response message and the outbound path information from the ICMP extended structure in the echo response message. Then, the consistency between the outbound and return paths can be checked based on the outbound and return path information.
- FIG 10 is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure.
- the message processing apparatus 100 includes a generation module 101, a sending module 102, and a receiving module 103.
- the generation module 101 is configured to generate ICMPv6 echo request messages.
- the echo request message includes first indication information and second indication information.
- the first indication information indicates the IPv6 extension header to be returned, and the second indication information indicates that each node on the outbound path adds IOAM data to the IPv6 extension header to be returned.
- the outbound path is the transmission path from the source node to the destination node for the echo request message.
- the sending module 102 is configured to send an echo request message to the destination node.
- the receiving module 103 is configured to receive an echo response message from the destination node.
- the echo response message includes a pending IPv6 extension header carrying IOAM data added by each node on the outbound path.
- the above-described device enables the outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
- FIG 11 is a schematic diagram of a message processing apparatus according to some other embodiments of the present disclosure.
- the message processing apparatus 110 includes a receiving module 111, a generating module 112, and a sending module 113.
- the receiving module 111 is configured to receive ICMPv6 echo request messages from the source node.
- the echo request message includes first indication information and second indication information.
- the first indication information indicates the IPv6 extension header to be returned
- the second indication information indicates that each node on the outbound path adds IOAM data to the IPv6 extension header to be returned.
- the outbound path is the transmission path from the source node to the destination node for the echo request message.
- the generation module 112 is configured to generate an echo response message based on the echo request message.
- the echo response message includes a pending IPv6 extension header carrying IOAM data added for each node on the outbound path.
- Sending module 113 is configured to send an echo response message to the source node.
- the above-described device enables the outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
- Figure 12 is a schematic diagram of a message processing apparatus according to some embodiments of the present disclosure.
- the electronic device 120 includes a memory 121 and a processor 122 coupled to the memory 121.
- the memory 121 is used to store instructions for executing embodiments of the message processing method.
- the processor 122 is configured to execute the message processing method in any of the embodiments of the present disclosure based on the instructions stored in the memory 121.
- Figure 13 is a schematic diagram of the structure of a message processing system according to some embodiments of the present disclosure. As shown in Figure 13, the message processing system 130 includes a source node 131 and a destination node 133.
- Source node 131 is used to execute the message processing method shown in Figure 1.
- Destination node 133 is used to execute the message processing method shown in Figure 8.
- the message processing system 130 includes at least one transmission node 132 in addition to the source node 131 and the destination node 133.
- the at least one transmission node 132 includes: at least one first forwarding node, located on the outbound path, for forwarding echo request messages; and at least one second forwarding node, located on the return path, for forwarding echo response messages.
- the above system enables outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
- Figure 14 is a schematic diagram of the structure of a computer system according to some embodiments of the present disclosure.
- the computer system 140 can be represented in the form of a general computing device.
- the computer system 140 includes a memory 141, a processor 142, and a bus 143 connecting different system components.
- Memory 141 may include, for example, system memory, non-volatile storage media, etc.
- System memory may store, for example, an operating system, application programs, a boot loader, and other programs.
- System memory may include volatile storage media, such as random access memory (RAM) and/or cache memory.
- RAM random access memory
- Non-volatile storage media may store, for example, instructions for a corresponding embodiment of at least one message processing method being executed.
- Non-volatile storage media include, but are not limited to, disk storage, optical storage, flash memory, etc.
- the processor 142 can be implemented using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete hardware components such as discrete gates or transistors. Accordingly, each module, such as the generation module, the transmission module, and the receiving module, can be implemented by the central processing unit (CPU) running instructions in memory to execute the corresponding steps, or by dedicated circuitry to execute the corresponding steps.
- CPU central processing unit
- Bus 143 can use any of the various bus architectures.
- bus architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, and the Peripheral Component Interconnect (PCI) bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- PCI Peripheral Component Interconnect
- the computer system 140 can be connected via a bus 143 to interfaces 144, 145, and 146, as well as to memory 141 and processor 142.
- Input/output interface 144 provides a connection interface for input/output devices such as monitors, mice, and keyboards.
- Network interface 145 provides a connection interface for various networked devices.
- Storage interface 146 provides a connection interface for external storage devices such as floppy disks, USB flash drives, and SD cards.
- These computer-readable program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable device to produce a machine, such that execution of the instructions by the processor produces means for implementing the functions specified in one or more boxes of the flowchart and/or block diagram.
- These computer-readable program instructions may also be stored in a computer-readable storage medium. These instructions cause a computer to work in a particular manner to produce an article of manufacture, including instructions that implement the functions specified in one or more boxes in a flowchart and/or block diagram.
- This disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects.
- the message processing methods, apparatus, and systems described in the above embodiments enable outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Library & Information Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
相关申请的交叉引用Cross-reference to related applications
本申请是以CN申请号为202410645311.7,申请日为2024年5月23日的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。This application is based on and claims priority to CN application No. 202410645311.7, filed on May 23, 2024, the disclosure of which is incorporated herein by reference in its entirety.
本公开涉及数据通信技术领域,特别涉及一种报文处理方法、装置和系统。This disclosure relates to the field of data communication technology, and in particular to a message processing method, apparatus and system.
第六版互联网控制消息协议(Internet Control Message Protocol version 6,ICMPv6)是TCP/IP协议栈的重要组成部分。ICMPv6报文主要包括两种消息类型:错误消息和信息消息。其中,信息消息包括回显请求(Echo Request)和回显应答(Echo Reply)。信息消息广泛应用于IP网络的连通性检测,例如,用于因特网包探索器(Packet Internet Groper,PING)命令中。PING命令用于检测两个节点之间的双向联通性,它要求源节点发送回显请求至目的节点,目的节点发送回显响应至源节点。Internet Control Message Protocol version 6 (ICMPv6) is an important component of the TCP/IP protocol stack. ICMPv6 messages primarily include two message types: error messages and informational messages. Informational messages include Echo Requests and Echo Replies. Informational messages are widely used for connectivity testing in IP networks, for example, in the Packet Internet Groper (PING) command. The PING command is used to test bidirectional connectivity between two nodes; it requires the source node to send an Echo Request to the destination node, and the destination node to send an Echo Response back to the source node.
ICMPv6报文封装在IPv6报文中。IPv6报文除了包括IPv6头(或称为IPv6基本头)之外,还可携带IPv6扩展头。IPv6扩展头包括逐跳选项头(Hop-by-Hop Options Header)和目的选项头(Destination Options Header)等,它已被定义用于随流测量和收集路径踪迹信息。之后,IPv6扩展头收集的信息被上报至集中采集器或控制器,再由集中采集器或控制器做进一步处理。ICMPv6 messages are encapsulated within IPv6 messages. In addition to the IPv6 header (or IPv6 basic header), IPv6 messages may also carry IPv6 extension headers. These extension headers include hop-by-hop options headers and destination options headers, and are defined for flow measurement and collecting path tracking information. The information collected by the IPv6 extension headers is then reported to a centralized data collector or controller for further processing.
本公开提供了一种报文处理方法、装置和系统。This disclosure provides a message processing method, apparatus, and system.
根据本公开的第一方面,提出了一种报文处理方法,包括:生成第六版互联网控制消息协议ICMPv6的回显请求报文,所述回显请求报文包括第一指示信息和第二指示信息,所述第一指示信息用于指示待返回的第六版互联网协议IPv6扩展头,所述第二指示信息用于指示去程路径上的每个节点在所述待返回的IPv6扩展头中添加随流操作维护与管理IOAM数据,所述去程路径为所述回显请求报文由所述源节点传输至目的节点的传输路径;发送所述回显请求报文至所述目的节点;接收来自所述目的节点的回显响应报文,所述回显响应报文包括携带有所述去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头。According to a first aspect of this disclosure, a message processing method is proposed, comprising: generating an echo request message of Internet Control Message Protocol version 6 (ICMPv6), the echo request message including first indication information and second indication information, the first indication information being used to indicate an IPv6 extension header to be returned, the second indication information being used to indicate each node on the outgoing path to add Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node of the echo request message; sending the echo request message to the destination node; and receiving an echo response message from the destination node, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path.
在一些实施例中,所述待返回的IPv6扩展头为所述回显请求报文中的第一逐跳选项头。In some embodiments, the IPv6 extension header to be returned is the first hop-by-hop option header in the echo request message.
在一些实施例中,所述回显请求报文还包括IPv6头、互联网控制消息协议ICMPv6头、以及ICMP扩展结构字段;所述第一指示信息封装在所述ICMP扩展结构字段中,和/或,所述第二指示信息封装在所述第一逐跳选项头中。In some embodiments, the echo request message further includes an IPv6 header, an Internet Control Message Protocol (ICMP) v6 header, and an ICMP extension structure field; the first indication information is encapsulated in the ICMP extension structure field, and/or the second indication information is encapsulated in the first hop-by-hop option header.
在一些实施例中,所述第一逐跳选项头包括IOAM数据字段,所述第二指示信息封装在所述IOAM数据字段中。In some embodiments, the first hop-by-hop option header includes an IOAM data field, and the second indication information is encapsulated in the IOAM data field.
在一些实施例中,所述IOAM数据字段包括IOAM踪迹类型字段,所述第二指示信息通过所述IOAM踪迹类型字段的取值来表征。In some embodiments, the IOAM data field includes an IOAM trace type field, and the second indication information is characterized by the value of the IOAM trace type field.
在一些实施例中,所述生成第六版互联网控制消息协议ICMPv6的回显请求报文包括:将所述IOAM踪迹类型字段封装至第一逐跳选项头中,并将所述IOAM踪迹类型字段的取值中的最高位比特和次高位比特置为设定值。In some embodiments, generating an echo request message for Internet Control Message Protocol version 6 (ICMPv6) includes: encapsulating the IOAM trace type field into a first hop-by-hop option header, and setting the most significant bit and the second most significant bit of the IOAM trace type field to a set value.
在一些实施例中,所述生成第六版互联网控制消息协议ICMPv6的回显请求报文还包括:将所述源节点对应的IOAM数据添加至所述第一逐跳选项头中。In some embodiments, generating an echo request message for Internet Control Message Protocol version 6 (ICMPv6) further includes adding the IOAM data corresponding to the source node to the first hop-by-hop option header.
在一些实施例中,所述回显响应报文还包括回程路径上每个节点添加的IOAM数据,所述回程路径为所述回显响应报文由所述目的节点传输至所述源节点的传输路径。In some embodiments, the echo response message further includes IOAM data added to each node on the backhaul path, where the backhaul path is the transmission path from the destination node to the source node for the echo response message.
在一些实施例中,报文处理方法还包括:根据所述回显响应报文中的所述回程路径上每个节点添加的IOAM数据、以及所述去程路径上每个节点添加的IOAM数据,确定指定业务流经过的链路信息;和/或根据所述回显响应报文中的所述回程路径上每个节点添加的IOAM数据、以及所述去程路径上每个节点添加的IOAM数据,进行路径一致性检测。In some embodiments, the message processing method further includes: determining the link information traversed by the specified service flow based on the IOAM data added to each node on the backhaul path and the IOAM data added to each node on the outbound path in the echo response message; and/or performing path consistency detection based on the IOAM data added to each node on the backhaul path and the IOAM data added to each node on the outbound path in the echo response message.
在一些实施例中,所述回显响应报文包括IPv6头、第二逐跳选项头、互联网控制消息协议ICMPv6头、以及ICMP扩展结构字段;所述回程路径上每个节点添加的IOAM数据封装在所述第二逐跳选项头中,和/或,所述携带所述去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头封装在所述回显响应报文中的ICMP扩展结构字段中。In some embodiments, the echo response message includes an IPv6 header, a second hop-by-hop options header, an Internet Control Message Protocol (ICMP) v6 header, and an ICMP extended structure field; the IOAM data added by each node on the return path is encapsulated in the second hop-by-hop options header, and/or the IPv6 extended header to be returned carrying the IOAM data added by each node on the outgoing path is encapsulated in the ICMP extended structure field of the echo response message.
在一些实施例中,所述IOAM数据包括跳限制、入接口标识、出接口标识中的至少一项,以及节点标识。In some embodiments, the IOAM data includes at least one of a hop limit, an ingress interface identifier, an egress interface identifier, and a node identifier.
根据本公开的第二方面,提出了一种报文处理方法,由目的节点执行,包括:接收来自源节点的第六版互联网控制消息协议ICMPv6的回显请求报文,所述回显请求报文包括第一指示信息和第二指示信息,所述第一指示信息用于指示待返回的第六版互联网协议IPv6扩展头,所述第二指示信息用于指示去程路径上的每个节点在所述待返回的IPv6扩展头中添加随流操作维护与管理IOAM数据,所述去程路径为所述回显请求报文由所述源节点传输至所述目的节点的传输路径;根据所述回显请求报文,生成回显响应报文,所述回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头;发送所述回显响应报文至所述源节点。According to a second aspect of this disclosure, a message processing method is proposed, executed by a destination node, comprising: receiving an echo request message of Internet Control Message Protocol version 6 (ICMPv6) from a source node, the echo request message including first indication information and second indication information, the first indication information being used to indicate an IPv6 extension header to be returned, the second indication information being used to indicate each node on the outgoing path to add Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node for the echo request message; generating an echo response message based on the echo request message, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path; and sending the echo response message to the source node.
在一些实施例中,所述待返回的IPv6扩展头为所述回显请求报文中的第一逐跳选项头。In some embodiments, the IPv6 extension header to be returned is the first hop-by-hop option header in the echo request message.
在一些实施例中,所述根据所述回显请求报文,生成回显响应报文包括:根据所述第一指示信息,从所述回显请求报文中获取第一逐跳选项头;根据所述第二指示信息,在所述第一逐跳选项头中添加所述目的节点对应的IOAM数据,以得到携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头;将所述携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头,封装至所述回显响应报文中。In some embodiments, generating an echo response message based on the echo request message includes: obtaining a first hop-by-hop option header from the echo request message according to the first indication information; adding IOAM data corresponding to the destination node to the first hop-by-hop option header according to the second indication information to obtain an IPv6 extension header to be returned carrying IOAM data added to each node on the outgoing path; and encapsulating the IPv6 extension header to be returned carrying IOAM data added to each node on the outgoing path into the echo response message.
在一些实施例中,所述回显响应报文包括IPv6头、ICMPv6头、以及ICMP扩展结构,所述携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头封装在所述ICMP扩展结构中。In some embodiments, the echo response message includes an IPv6 header, an ICMPv6 header, and an ICMP extension structure, wherein the IPv6 extension header to be returned, carrying IOAM data added by each node on the outbound path, is encapsulated in the ICMP extension structure.
在一些实施例中,所述回显响应报文还包括第二逐跳选项头,所述第二逐跳选项头封装有第三指示信息,所述第三指示信息用于指示回程路径上的每个节点在所述第二逐跳选项头中添加IOAM数据,所述回程路径为所述回显响应报文由所述目的节点传输至所述源节点的传输路径。In some embodiments, the echo response message further includes a second hop-by-hop option header, which encapsulates third indication information. The third indication information is used to instruct each node on the return path to add IOAM data to the second hop-by-hop option header. The return path is the transmission path from the destination node to the source node for the echo response message.
在一些实施例中,所述第二逐跳选项头包括IOAM数据字段,所述第三指示信息封装在所述IOAM数据字段中。In some embodiments, the second hop-by-hop option header includes an IOAM data field, and the third indication information is encapsulated in the IOAM data field.
在一些实施例中,所述IOAM数据字段包括IOAM踪迹类型字段,所述第三指示信息通过所述IOAM踪迹类型字段的取值来表征。In some embodiments, the IOAM data field includes an IOAM trace type field, and the third indication information is characterized by the value of the IOAM trace type field.
在一些实施例中,所述根据所述回显请求报文,生成回显响应报文还包括:将所述IOAM踪迹类型字段封装至第二逐跳选项头中,并将所述IOAM踪迹类型字段的取值中的最高位比特和次高位比特置为设定值。In some embodiments, generating an echo response message based on the echo request message further includes: encapsulating the IOAM trace type field into a second hop-by-hop option header, and setting the highest and second-highest bits of the IOAM trace type field to a set value.
在一些实施例中,所述根据所述回显请求报文,生成回显响应报文还包括:将所述目的节点对应的IOAM数据,添加至所述第二逐跳选项头中。In some embodiments, generating an echo response message based on the echo request message further includes adding the IOAM data corresponding to the destination node to the second hop-by-hop option header.
在一些实施例中,所述IOAM数据包括跳限制、入接口标识、出接口标识中的至少一项,以及节点标识。In some embodiments, the IOAM data includes at least one of a hop limit, an ingress interface identifier, an egress interface identifier, and a node identifier.
根据本公开的第三方面,提出了一种报文处理装置,包括:生成模块,被配置为生成第六版互联网控制消息协议ICMPv6的回显请求报文,所述回显请求报文包括第一指示信息和第二指示信息,所述第一指示信息用于指示待返回的第六版互联网协议IPv6扩展头,所述第二指示信息用于指示去程路径上的每个节点在所述待返回的IPv6扩展头中添加随流操作维护与管理IOAM数据,所述去程路径为所述回显请求报文由所述源节点传输至目的节点的传输路径;发送模块,被配置为发送所述回显请求报文至所述目的节点;接收模块,被配置为接收来自所述目的节点的回显响应报文,所述回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头。According to a third aspect of this disclosure, a message processing apparatus is provided, comprising: a generation module configured to generate an echo request message of Internet Control Message Protocol version 6 (ICMPv6), the echo request message including first indication information and second indication information, the first indication information being used to indicate an IPv6 extension header to be returned, the second indication information being used to indicate each node on the outgoing path to add Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node; a sending module configured to send the echo request message to the destination node; and a receiving module configured to receive an echo response message from the destination node, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path.
根据本公开的第四方面,提出了一种报文处理装置,包括:接收模块,被配置为接收来自源节点的第六版互联网控制消息协议ICMPv6的回显请求报文,所述回显请求报文包括第一指示信息和第二指示信息,所述第一指示信息用于指示待返回的第六版互联网协议IPv6扩展头,所述第二指示信息用于指示去程路径上的每个节点在所述待返回的IPv6扩展头中添加随流操作维护与管理IOAM数据,所述去程路径为所述回显请求报文由所述源节点传输至目的节点的传输路径;生成模块,被配置为根据所述回显请求报文,生成回显响应报文,所述回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头;发送模块,被配置为发送所述回显响应报文至所述源节点。According to a fourth aspect of this disclosure, a message processing apparatus is provided, comprising: a receiving module configured to receive an echo request message of Internet Control Message Protocol version 6 (ICMPv6) from a source node, the echo request message including first indication information and second indication information, the first indication information indicating an IPv6 extension header to be returned, the second indication information indicating that each node on the outgoing path adds Stream Operation Maintenance and Management (IOAM) data to the IPv6 extension header to be returned, the outgoing path being the transmission path from the source node to the destination node of the echo request message; a generating module configured to generate an echo response message based on the echo request message, the echo response message including an IPv6 extension header to be returned carrying the IOAM data added by each node on the outgoing path; and a sending module configured to send the echo response message to the source node.
根据本公开的第五方面,提出了一种报文处理系统,包括:源节点,包括如前所述的报文处理装置;目的节点,包括如前所述的报文处理装置。According to a fifth aspect of this disclosure, a message processing system is proposed, comprising: a source node including the message processing apparatus as described above; and a destination node including the message processing apparatus as described above.
在一些实施例中,报文处理系统还包括:至少一个第一转发节点,设置在去程路径上,用于对所述回显请求报文进行转发;至少一个第二转发节点,设置在回程路径上,用于对所述回显响应报文进行转发。In some embodiments, the message processing system further includes: at least one first forwarding node, configured on the outbound path, for forwarding the echo request message; and at least one second forwarding node, configured on the return path, for forwarding the echo response message.
根据本公开的第六方面,提出了一种报文处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如前所述的报文处理方法。According to a sixth aspect of this disclosure, a message processing apparatus is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to perform the message processing method as described above based on instructions stored in the memory.
根据本公开的第七方面,提出了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的报文处理方法。According to the seventh aspect of this disclosure, a computer-readable storage medium is provided that stores computer program instructions thereon, which, when executed by a processor, implement the message processing method as described above.
根据本公开的第八方面,提出了一种计算机程序产品,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的报文处理方法。According to the eighth aspect of this disclosure, a computer program product is provided that stores computer program instructions which, when executed by a processor, implement the message processing method as described above.
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。Other features and advantages of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings.
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the specification, serve to explain the principles of this disclosure.
参照附图,根据下面的详细描述,可以更加清楚地理解本公开。This disclosure can be more clearly understood with reference to the accompanying drawings and the following detailed description.
图1为根据本公开一些实施例的报文处理方法的流程示意图;Figure 1 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure;
图2为根据本公开一些实施例的回显请求报文的格式示意图;Figure 2 is a schematic diagram of the format of an echo request message according to some embodiments of the present disclosure;
图3为根据本公开一些实施例的回显请求报文中的ICMP头的格式示意图;Figure 3 is a schematic diagram of the ICMP header format in an echo request message according to some embodiments of the present disclosure;
图4为根据本公开一些实施例的第一ICMP扩展结构的格式示意图;Figure 4 is a schematic diagram of the format of a first ICMP extended structure according to some embodiments of the present disclosure;
图5为根据本公开一些实施例的回显响应报文的格式示意图;Figure 5 is a schematic diagram of the format of an echo response message according to some embodiments of the present disclosure;
图6为根据本公开一些实施例的回显响应报文中的ICMP头的格式示意图;Figure 6 is a schematic diagram of the ICMP header format in an echo response message according to some embodiments of the present disclosure;
图7为根据本公开一些实施例的第二ICMP扩展结构的格式示意图;Figure 7 is a schematic diagram of the format of a second ICMP extended structure according to some embodiments of the present disclosure;
图8为根据本公开另一些实施例的报文处理方法的流程示意图;Figure 8 is a schematic flowchart of a message processing method according to some other embodiments of the present disclosure;
图9为根据本公开再一些实施例的报文处理方法的流程示意图;Figure 9 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure;
图10为根据本公开一些实施例的报文处理装置的结构示意图;Figure 10 is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure;
图11为根据本公开另一些实施例的报文处理装置的结构示意图;Figure 11 is a schematic diagram of a message processing apparatus according to some other embodiments of the present disclosure;
图12为根据本公开再一些实施例的报文处理装置的结构示意图;Figure 12 is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure;
图13为根据本公开一些实施例的报文处理系统的结构示意图;Figure 13 is a schematic diagram of the structure of a message processing system according to some embodiments of the present disclosure;
图14为根据本公开一些实施例的计算机系统的结构示意图。Figure 14 is a schematic diagram of the structure of a computer system according to some embodiments of the present disclosure.
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
在很多应用场景下,源节点(源节点)需要了解报文在网络中的转发情况。相关技术中,源节点需要在集中采集器或控制器的支持下,才能获取IPv6扩展头携带的操作维护与管理(Operation Administration and Maintenance,OAM)数据,架构复杂、通信开销较大。In many application scenarios, the source node needs to understand the forwarding status of packets in the network. Related technologies require the support of a centralized collector or controller to obtain the Operation, Administration and Maintenance (OAM) data carried in the IPv6 extension header, resulting in a complex architecture and significant communication overhead.
鉴于此,本公开提供了一种报文处理方法、装置和系统,能够使去程路径信息直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销。In view of this, this disclosure provides a message processing method, apparatus and system that enables outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thereby simplifying the communication architecture and reducing communication overhead.
图1为根据本公开一些实施例的报文处理方法的流程示意图。如图1所示,报文处理方法包括步骤S1至步骤S3。Figure 1 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure. As shown in Figure 1, the message processing method includes steps S1 to S3.
在步骤S1中,源节点生成ICMPv6的回显请求报文。In step S1, the source node generates an ICMPv6 echo request message.
源节点(又可称为封装节点),例如可以是网络设备。比如,源节点为路由器、或者其他网络设备。又或者,源节点可以是主机设备。比如,源节点为个人电脑(PC)或者服务器等主机设备。在一些示例中,在源节点中设置后述的报文处理装置,并通过报文处理装置执行报文处理方法。The source node (also known as the encapsulation node) can be, for example, a network device. For instance, the source node could be a router or other network device. Alternatively, the source node can be a host device, such as a personal computer (PC) or a server. In some examples, the packet processing mechanism (described later) is configured in the source node, and packet processing methods are executed through this mechanism.
其中,回显请求报文封装有第一指示信息和第二指示信息。第一指示信息用于指示待返回的IPv6扩展头。第二指示信息用于指示去程路径上的每个节点在待返回的IPv6扩展头中添加IOAM数据。去程路径为回显请求报文由源节点传输至目的节点的传输路径。The echo request message encapsulates first and second indication information. The first indication information indicates the IPv6 extension header to be returned. The second indication information instructs each node on the outbound path to add IOAM data to the IPv6 extension header to be returned. The outbound path is the transmission path from the source node to the destination node for the echo request message.
第一指示信息,例如可以包括类型指示信息,用于指示待返回的IPv6扩展头的类型。例如,第一指示信息包括:类型=逐跳选项头(Hop by Hop Options header)。该指示信息表明待返回的IPv6扩展头为逐跳选项头。又例如,第一指示信息包括:类型=目的选项头(Destination Options header)。该指示信息表明待返回的IPv6扩展头为目的选项头。此外,在具体实施时,第一指示信息还可以包括其他扩展头类型。The first indication information may include, for example, type indication information to indicate the type of the IPv6 extension header to be returned. For example, the first indication information may include: Type = Hop by Hop Options header. This indication information indicates that the IPv6 extension header to be returned is a hop by hop options header. As another example, the first indication information may include: Type = Destination Options header. This indication information indicates that the IPv6 extension header to be returned is a destination options header. Furthermore, in specific implementations, the first indication information may also include other extension header types.
在一些示例中,为了携带第一指示信息,对相关技术中的回显请求报文的格式做了修改。修改后得到的回显请求报文满足:回显请求报文包括ICMPv6头和ICMP扩展结构字段,第一指示信息封装在ICMP扩展结构字段中。In some examples, the format of the echo request message in the related art has been modified to carry the first indication information. The modified echo request message satisfies the following: the echo request message includes an ICMPv6 header and an ICMP extended structure field, and the first indication information is encapsulated in the ICMP extended structure field.
第二指示信息,例如可以用于指示每个节点需要添加哪些IOAM数据。比如,第二指示信息指示每个节点需要添加节点自身的标识。又比如,第二指示信息指示每个节点需要添加跳限制、入接口、以及出接口中的至少一项,以及节点自身的标识。The second instruction information can be used to indicate which IOAM data each node needs to add. For example, the second instruction information could indicate that each node needs to add its own identifier. Or, the second instruction information could indicate that each node needs to add at least one of the following: hop limit, inbound interface, and outbound interface, as well as its own identifier.
在本公开实施例中,通过令回显请求报文携带第一指示信息,使得目的节点能够根据回显请求报文确定待返回的IPv6扩展头,无需额外通过其他设备或其他信令告知目的节点待返回的IPv6扩展头的指示信息,降低了通信开销;通过令回显请求报文携带第二指示信息,使得去程路径上的每个节点能够在转发回显请求报文时,添加自身对应的IOAM数据,无需额外通过其他设备或其他信令告知各个节点需要添加IOAM数据,降低了通信开销。In this embodiment of the disclosure, by carrying first indication information in the echo request message, the destination node can determine the IPv6 extension header to be returned based on the echo request message, without needing to inform the destination node of the indication information of the IPv6 extension header to be returned through other devices or other signaling, thus reducing communication overhead; by carrying second indication information in the echo request message, each node on the outbound path can add its own corresponding IOAM data when forwarding the echo request message, without needing to inform each node that IOAM data needs to be added through other devices or other signaling, thus reducing communication overhead.
在一些实施例中,回显请求报文包括IPv6头、第一逐跳选项头、ICMPv6头、ICMP扩展结构。在这些实施例中,步骤S1包括:源节点将第一指示信息封装至ICMP扩展结构中,和/或,源节点将第二指示信息封装至第一逐跳选项头中。In some embodiments, the echo request message includes an IPv6 header, a first hop-by-hop options header, an ICMPv6 header, and an ICMP extension structure. In these embodiments, step S1 includes: the source node encapsulating first indication information into the ICMP extension structure, and/or, the source node encapsulating second indication information into the first hop-by-hop options header.
在一些示例中,回显请求报文中的ICMP扩展结构包括对象字段,回显请求报文中的第一逐跳选项头包括IOAM数据字段。在这些示例中,步骤S1具体包括:源节点将第一指示信息封装至对象字段中,并将第二指示信息封装至IOAM数据字段中。In some examples, the ICMP extended structure in the echo request message includes an object field, and the first hop-by-hop option header in the echo request message includes an IOAM data field. In these examples, step S1 specifically includes: the source node encapsulating the first indication information into the object field and encapsulating the second indication information into the IOAM data field.
在一些实施例中,源节点在生成回显请求报文时,除了将第一指示信息和第二指示信息封装至回显请求报文之外,还包括:将源节点对应的IOAM数据添加至回显请求报文中的第一逐跳选项头中。例如,源节点将源节点的标识、回显请求报文的入接口、以及回显请求报文的出接口添加至第一逐跳选项头中。In some embodiments, when generating an echo request message, the source node, in addition to encapsulating the first indication information and the second indication information into the echo request message, further includes adding the IOAM data corresponding to the source node to the first hop-by-hop option header in the echo request message. For example, the source node adds the source node's identifier, the ingress interface of the echo request message, and the egress interface of the echo request message to the first hop-by-hop option header.
在步骤S2中,源节点发送回显请求报文至目的节点。In step S2, the source node sends an echo request message to the destination node.
在一些示例中,源节点将回显请求报文发送至传输节点,传输节点(又可称为中间节点)将回显请求报文转发至目的节点。例如,传输节点包括传输节点1、传输节点2、传输节点3。源节点将回显请求报文发送至传输节点1,传输节点1接收该回显请求报文、并将其转发至传输节点2,传输节点2接收该回显请求报文、并将其转发至传输节点3,传输节点3接收该回显请求报文、并将其转发至目的节点。并且,各个传输节点在转发回显请求报文时,将自身对应的IOAM数据添加至回显请求报文中。In some examples, the source node sends an echo request message to the transport node, which (also known as an intermediate node) forwards the echo request message to the destination node. For example, the transport nodes include transport node 1, transport node 2, and transport node 3. The source node sends the echo request message to transport node 1, transport node 1 receives the echo request message and forwards it to transport node 2, transport node 2 receives the echo request message and forwards it to transport node 3, and transport node 3 receives the echo request message and forwards it to the destination node. Furthermore, each transport node adds its own corresponding IOAM data to the echo request message when forwarding it.
在另一些示例中,源节点将回显请求报文直接发送至目的节点。In other examples, the source node sends the echo request message directly to the destination node.
目的节点在接收到回显请求报文后,生成回显响应报文,然后将回显响应报文发送至源节点。随后,执行步骤S3。After receiving the echo request message, the destination node generates an echo response message and then sends the echo response message to the source node. Subsequently, step S3 is executed.
在步骤S3中,源节点接收来自目的节点的回显响应报文。In step S3, the source node receives an echo response message from the destination node.
其中,回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头。The echo response message includes a pending IPv6 extension header carrying IOAM data added for each node on the outbound path.
例如,待返回的IPv6扩展头为回显请求报文中的第一逐跳选项头。回显响应报文包括携带去程路径上每个节点添加的IOAM数据的第一逐跳选项头。For example, the IPv6 extension header to be returned is the first hop-by-hop options header in the echo request message. The echo response message includes a first hop-by-hop options header carrying IOAM data added for each node on the outbound path.
在一些实施例中,在步骤S3之后,报文处理方法还包括:源节点根据回显响应报文中的去程路径上每个节点添加的IOAM数据(简称去程路径信息),确定指定业务流经过的链路信息。In some embodiments, after step S3, the message processing method further includes: the source node determines the link information through which the specified service flow passes based on the IOAM data (referred to as outbound path information) added by each node on the outbound path in the echo response message.
在一些实施例中,回显响应报文还包括回程路径上每个节点添加的IOAM数据(简称回程路径信息)。其中,回程路径是指回显响应报文由目的节点传输至源节点的传输路径。通过令回显响应报文不仅携带去程路径信息,还携带回程路径信息,使得发送节点能简便、高效地获取报文的双向路径信息。In some embodiments, the echo response message also includes IOAM data (referred to as backhaul path information) added by each node on the backhaul path. The backhaul path refers to the transmission path along which the echo response message is transmitted from the destination node to the source node. By enabling the echo response message to carry not only outbound path information but also backhaul path information, the sending node can easily and efficiently obtain the bidirectional path information of the message.
其中,回程路径信息以及待返回的IPv6扩展头可按照如下示例性方式封装在回显响应报文中。例如,回显响应报文包括IPv6头、第二逐跳选项头、ICMPv6头、以及ICMP扩展结构字段。其中,第二逐跳选项头封装有回程路径信息,和/或,携带去程路径信息的、待返回的IPv6扩展头封装在ICMP扩展结构字段中。The return path information and the IPv6 extension header to be returned can be encapsulated in the echo response message in the following exemplary manner. For example, the echo response message includes an IPv6 header, a second hop-by-hop options header, an ICMPv6 header, and an ICMP extension structure field. The second hop-by-hop options header encapsulates the return path information, and/or, the IPv6 extension header to be returned, carrying the outbound path information, is encapsulated in the ICMP extension structure field.
在上述一些实施例中,在步骤S3之后,报文处理方法还可包括:源节点根据回显响应报文中的去程路径信息和回程路径信息,确定指定业务流经过的链路信息;和/或,源节点根据去程路径信息和回程路径信息,进行路径一致性检测;和/或,源节点在等价多经(ECMP)场景下,确定报文转发到哪条ECMP路径。In some of the above embodiments, after step S3, the message processing method may further include: the source node determining the link information through which the specified service flow passes based on the outbound path information and return path information in the echo response message; and/or, the source node performing path consistency detection based on the outbound path information and return path information; and/or, in an Equal Multiple Path (ECMP) scenario, the source node determining which ECMP path the message should be forwarded to.
与相关技术相比,本公开实施例通过以上方法能够实现以下技术效果:1、相关技术中的回显请求报文和回显响应报文只能用于网络的双向连通性检测,本公开实施例通过对回显请求报文和回显响应报文进行扩展,增强了回显请求报文和回显响应报文的功能;2、能够使携带去程路径信息的IPv6扩展头直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销;3、便于后续源节点根据IPv6扩展头携带的去程路径信息,详细了解报文的路径踪迹等信息,从而有助于实现网络诊断、为报文路径优化提供依据等。Compared with related technologies, the embodiments of this disclosure can achieve the following technical effects through the above methods: 1. The echo request message and echo response message in the related technologies can only be used for bidirectional network connectivity detection. The embodiments of this disclosure enhance the functionality of the echo request message and echo response message by extending them; 2. It enables the IPv6 extension header carrying outbound path information to be directly returned to the source node without the support of a centralized collector or controller, simplifying the communication architecture and reducing communication overhead; 3. It facilitates the subsequent source node to understand the path trace of the packet in detail based on the outbound path information carried in the IPv6 extension header, thereby helping to realize network diagnosis and provide a basis for packet path optimization.
图2为根据本公开一些实施例的回显请求报文的格式示意图。如图2所示,本公开一些实施例中的回显请求报文包括IPv6头、第一逐跳选项头、ICMPv6头、第一ICMP扩展结构。Figure 2 is a schematic diagram of the format of an echo request message according to some embodiments of the present disclosure. As shown in Figure 2, the echo request message in some embodiments of the present disclosure includes an IPv6 header, a first hop-by-hop option header, an ICMPv6 header, and a first ICMP extension structure.
IPv6头包括源节点的IP地址、目的节点的IP地址、流标签(Flow Label)等字段。在一些示例中,为了模拟指定业务流的路径,例如在等价多经(Equal Cost Multi-path,ECMP)场景下,令回显请求报文中的源节点的IP地址、目的节点的IP地址、以及流标签与指定业务流报文中的相应值保持一致。The IPv6 header includes fields such as the source node's IP address, the destination node's IP address, and the flow label. In some examples, to simulate the path of a specific service flow, such as in an Equal Cost Multi-path (ECMP) scenario, the source node's IP address, destination node's IP address, and flow label in the echo request message are made consistent with the corresponding values in the specified service flow message.
第一逐跳选项头(Hop by Hop Optional headers)封装有第二指示信息。在一些示例中,第一逐跳选项头包括IOAM数据字段(Data Fields),第二指示信息封装在IOAM数据字段中。The first hop-by-hop optional headers encapsulate the second instruction information. In some examples, the first hop-by-hop optional headers include IOAM data fields, and the second instruction information is encapsulated within the IOAM data fields.
其中,IOAM数据字段可以包括IOAM踪迹类型字段,第二指示信息通过IOAM踪迹类型字段的取值来表征。例如,第二指示信息通过IOAM踪迹类型字段取值中的最高位比特和次高位比特来表征。在这些示例中,源节点在生成回显请求报文时,将IOAM踪迹类型字段封装至第一逐跳选项头中,并将IOAM踪迹类型字段取值中的最高位比特和次高位比特置为设定值。例如,将IOAM踪迹类型字段取值中的最高位比特和次高位比特置为1。其中,将IOAM踪迹类型字段取值的最高位比特置1,表示需要填充跳限制和节点标识,将IOAM踪迹类型字段取值的次高位比特置1,表示需要添加入接口标识和出接口标识。此外,IOAM踪迹类型字段取值的其余比特可根据实际情况置1或置0。The IOAM data field may include an IOAM trace type field, and the second indication information is represented by the value of the IOAM trace type field. For example, the second indication information is represented by the most significant bit and the second most significant bit of the IOAM trace type field. In these examples, when the source node generates an echo request message, it encapsulates the IOAM trace type field into the first hop-by-hop option header and sets the most significant bit and the second most significant bit of the IOAM trace type field to a set value. For example, it sets the most significant bit and the second most significant bit of the IOAM trace type field to 1. Setting the most significant bit of the IOAM trace type field to 1 indicates that hop limits and node identifiers need to be filled, and setting the second most significant bit of the IOAM trace type field to 1 indicates that ingress interface identifiers and egress interface identifiers need to be added. In addition, the remaining bits of the IOAM trace type field can be set to 1 or 0 as needed.
在本公开实施例中,通过在回显请求报文中的逐跳选项头中封装IOAM数据字段,便于携带第二指示信息,有助于简洁、高效地指示去程路径上的各个节点将自身对应的IOAM数据添加至逐跳选项头中,进而有助于改善整个报文处理流程的处理效果。In this embodiment of the disclosure, by encapsulating the IOAM data field in the hop-by-hop option header of the echo request message, it is convenient to carry the second indication information, which helps to concisely and efficiently instruct each node on the outgoing path to add its corresponding IOAM data to the hop-by-hop option header, thereby helping to improve the processing effect of the entire message processing flow.
ICMPv6头包括如图3所示的以下字段:类型字段(Type)、代码字段(Code)、校验和字段(Checksum)、标识符字段(Identifier)、以及序列号字段(Sequence Number)。其中,类型字段用于表明消息类型(或者说报文类型);代码字段用于表明此报文类型更细分的类型;检验和字段用于校验ICMPv6报文;标识符字段为用于表明回显请求与回显应答报文匹配的一个标识;序列号为用于表明回显请求与回显应答报文匹配的一个标识。The ICMPv6 header includes the following fields as shown in Figure 3: Type, Code, Checksum, Identifier, and Sequence Number. The Type field indicates the message type (or packet type); the Code field indicates a more specific type of this packet; the Checksum field is used to verify the ICMPv6 packet; the Identifier field is an identifier used to indicate a match between an echo request and an echo response packet; and the Sequence Number is an identifier used to indicate a match between an echo request and an echo response packet.
第一ICMP扩展结构封装有第一指示信息。在一些示例中,如图4所示,第一ICMP扩展结构包括第一扩展头字段和至少一个第一对象字段。其中,第一指示信息封装在第一对象字段中。The first ICMP extension structure encapsulates first indication information. In some examples, as shown in Figure 4, the first ICMP extension structure includes a first extension header field and at least one first object field. The first indication information is encapsulated within the first object field.
在一些示例中,第一扩展头字段包括版本号字段(Version)、预留字段(Reserved)、以及校验和字段(Checksum)。其中,第一扩展头字段中的版本号字段、预留字段、以及校验和字段的大小可按如下示例性方式设置:例如,版本号字段大小为4比特,用于表明报文的版本号;预留字段大小为12比特,令各比特全部置0;校验和字段的大小为16比特。In some examples, the first extended header fields include a version number field, a reserved field, and a checksum field. The sizes of the version number field, reserved field, and checksum field in the first extended header fields can be set as follows: for example, the version number field is 4 bits in size, used to indicate the version number of the message; the reserved field is 12 bits in size, with all bits set to 0; and the checksum field is 16 bits in size.
在一些示例中,第一对象字段包括长度字段、对象类别字段、对象子类别字段。其中,长度字段可用Length表示,用于标识对象长度;对象类别字段可用Class-Num表示,用于表征第一指示信息;对象子类别字段可用C-Type表示,又可称为对象子类型字段,用于定义对象的细分类型。其中,对象子类别字段可作为预留字段,以便后续根据实际需求进行报文功能扩展。In some examples, the first object field includes a length field, an object category field, and an object subcategory field. The length field, represented by `Length`, identifies the object's length; the object category field, represented by `Class-Num`, represents the first indication information; and the object subcategory field, represented by `C-Type` (also known as the object subtype field), defines the object's sub-type. The object subcategory field can be reserved for future expansion of message functionality based on actual needs.
在一些示例中,第一对象字段包括长度字段、对象类别字段、对象子类别字段,但不包括对象净荷字段。In some examples, the first object field includes a length field, an object category field, and an object subcategory field, but does not include an object payload field.
在本公开实施例中,通过令回显请求报文包括第一ICMP扩展结构字段,便于携带第一指示信息。此外,通过令第一ICMP扩展结构字段不包括对象净荷字段,使得回显请求报文更加简洁,降低源节点与目的节点之间传输ICMPv6报文所需的通信开销。In this embodiment of the disclosure, by including a first ICMP extended structure field in the echo request message, it is easier to carry the first indication information. Furthermore, by omitting the object payload field from the first ICMP extended structure field, the echo request message becomes more concise, reducing the communication overhead required for transmitting ICMPv6 messages between the source and destination nodes.
图5为根据本公开一些实施例的回显响应报文的格式示意图。如图5所示,本公开一些实施例中的回显响应报文包括IPv6头、第二逐跳选项头、ICMPv6头、第二ICMP扩展结构。Figure 5 is a schematic diagram of the format of an echo response message according to some embodiments of the present disclosure. As shown in Figure 5, the echo response message in some embodiments of the present disclosure includes an IPv6 header, a second hop-by-hop options header, an ICMPv6 header, and a second ICMP extension structure.
IPv6头包括源节点的IP地址、目的节点的IP地址、流标签(Flow Label)等字段。The IPv6 header includes fields such as the source node's IP address, the destination node's IP address, and the flow label.
第二逐跳选项头(Hop by Hop Optional headers)封装有第三指示信息。在一些示例中,第二逐跳选项头包括IOAM数据字段(Data Fields),第三指示信息封装在IOAM数据字段中。The second hop-by-hop optional headers encapsulate a third indication. In some examples, the second hop-by-hop optional headers include IOAM data fields, and the third indication is encapsulated within the IOAM data fields.
其中,IOAM数据字段包括IOAM踪迹类型(Trace Type)字段,第三指示信息通过IOAM踪迹类型字段的取值来表征。例如,令IOAM踪迹类型字段最高位比特和次高位比特都为1,其表明需要回程路径上的每个节点添加以下IOAM数据:跳限制、节点表示、入接口标识和出接口标识。The IOAM data fields include the IOAM Trace Type field, and the third indication information is represented by the value of the IOAM Trace Type field. For example, setting the highest and second-highest bits of the IOAM Trace Type field to 1 indicates that the following IOAM data needs to be added to each node on the return path: hop limit, node representation, ingress interface identifier, and egress interface identifier.
在本公开实施例中,通过在回显响应报文中的逐跳选项头中封装IOAM数据字段,便于携带第三指示信息,有助于简洁、高效地指示回程路径上的各个节点将自身对应的IOAM数据添加至逐跳选项头中,进而有助于改善整个报文处理流程的处理效果。In this embodiment of the disclosure, by encapsulating the IOAM data field in the hop-by-hop option header of the echo response message, it is convenient to carry third indication information, which helps to concisely and efficiently instruct each node on the return path to add its corresponding IOAM data to the hop-by-hop option header, thereby helping to improve the processing effect of the entire message processing flow.
ICMPv6头包括如图6所示的以下字段:类型字段(Type)、代码字段(Code)、校验和字段(Checksum)、标识符字段(Identifier)、以及序列号字段(Sequence Number)。其中,类型字段用于表明消息类型(或者说报文类型);代码字段用于表明此报文类型更细分的类型;检验和字段用于校验ICMPv6报文;标识符字段为用于表明回显请求与回显应答报文匹配的一个标识;序列号为用于表明回显请求与回显应答报文匹配的一个标识。The ICMPv6 header includes the following fields as shown in Figure 6: Type, Code, Checksum, Identifier, and Sequence Number. The Type field indicates the message type (or packet type); the Code field indicates a more specific type of this packet; the Checksum field is used to verify the ICMPv6 packet; the Identifier field is an identifier used to indicate a match between an echo request and an echo response packet; and the Sequence Number is an identifier used to indicate a match between an echo request and an echo response packet.
第二ICMP扩展结构封装有携带去程路径信息的、待返回的IPv6扩展头。在一些示例中,如图7所示,第二ICMP扩展结构包括第二扩展头字段和至少一个第二对象字段。其中,携带去程路径信息的、待返回的IPv6扩展头封装在第二对象字段中。The second ICMP extension structure encapsulates a returnable IPv6 extension header carrying outbound path information. In some examples, as shown in Figure 7, the second ICMP extension structure includes a second extension header field and at least one second object field. The returnable IPv6 extension header carrying outbound path information is encapsulated within the second object field.
在一些示例中,第二对象字段包括长度字段、对象类别字段、对象子类别字段、以及对象净荷字段。其中,长度字段可用Length表示,用于标识对象长度;对象类别字段可用Class-Num表示;对象子类别字段可用C-Type表示;对象净荷字段可用Object payload表示,用于封装携带去程路径信息的、待返回的IPv6扩展头。In some examples, the second object field includes a length field, an object class field, an object subclass field, and an object payload field. The length field, represented by Length, identifies the object length; the object class field, represented by Class-Num; the object subclass field, represented by C-Type; and the object payload field, represented by Object payload, encapsulates the IPv6 extension header to be returned, carrying out the outbound path information.
具体实施时,第二对象字段中各字段的大小可灵活设置。例如,长度字段的大小可设为16比特,对象类别字段的大小可设为8比特,对象子类别字段的大小可设为8比特,对象净荷字段的大小可设为n*32比特。In practice, the size of each field in the second object field can be flexibly set. For example, the length field can be set to 16 bits, the object category field to 8 bits, the object subcategory field to 8 bits, and the object payload field to n*32 bits.
在本公开实施例中,通过令回显响应报文携带第二扩展结构字段,便于携带待返回的IPv6扩展头,从而使得源节点能简便地获取到待返回的IPv6扩展头中的去程路径信息。而且,通过令回显响应报文中的第二逐跳选项头携带第三指示信息,便于简单、高效地指示回程路径上的各个节点添加自身对应的IOAM数据,进而使得源节点能简单、高效地获取到回程路径信息。In this embodiment of the disclosure, by carrying a second extended structure field in the echo response message, it is convenient to carry the IPv6 extension header to be returned, thereby enabling the source node to easily obtain the outbound path information in the IPv6 extension header to be returned. Moreover, by carrying third indication information in the second hop-by-hop option header in the echo response message, it is convenient to simply and efficiently instruct each node on the return path to add its corresponding IOAM data, thereby enabling the source node to easily and efficiently obtain the return path information.
图8为根据本公开另一些实施例的报文处理方法的流程示意图。如图8所示,报文处理方法包括步骤S11至步骤S13。Figure 8 is a schematic flowchart of a message processing method according to some other embodiments of the present disclosure. As shown in Figure 8, the message processing method includes steps S11 to S13.
在步骤S11中,目的节点接收来自源节点的ICMPv6的回显请求报文。In step S11, the destination node receives an ICMPv6 echo request message from the source node.
目的节点(又可称为解封装节点)可以是网络设备。例如,目的节点为路由器、或者其他网络设备。又或者,目的节点可以是主机设备。例如,目的节点为个人电脑(PC)或者服务器等主机设备。在一些示例中,在目的节点中设置后述的报文处理装置,并由报文处理装置执行报文处理方法。The destination node (also known as the decapsulation node) can be a network device. For example, the destination node may be a router or other network device. Alternatively, the destination node can be a host device. For example, the destination node may be a personal computer (PC) or a server. In some examples, the message processing device described later is configured in the destination node, and the message processing device performs the message processing method.
回显请求报文封装有第一指示信息和第二指示信息。第一指示信息用于指示待返回的IPv6扩展头。第二指示信息用于指示去程路径上的每个节点在待返回的IPv6扩展头中添加IOAM数据。去程路径为回显请求报文由源节点传输至目的节点的传输路径。关于回显请求报文的格式,可参考如前所述的相关内容。The echo request message encapsulates first and second indication information. The first indication information indicates the IPv6 extension header to be returned. The second indication information instructs each node on the outbound path to add IOAM data to the IPv6 extension header to be returned. The outbound path is the transmission path from the source node to the destination node for the echo request message. For the format of the echo request message, please refer to the relevant content described above.
在步骤S12中,目的节点根据回显请求报文生成回显响应报文。In step S12, the destination node generates an echo response message based on the echo request message.
其中,回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头信息。在一些示例中,待返回的IPv6扩展头为回显请求报文中的第一逐跳选项头。在一些示例中,待返回的IPv6扩展头携带的去程路径上每个节点添加的IOAM数据包括:去程路径上每个节点对应的节点标识、跳限制、入接口标识和出接口标识。The echo response message includes a pending IPv6 extension header information carrying the IOAM data added for each node on the outbound path. In some examples, the pending IPv6 extension header is the first hop-by-hop options header in the echo request message. In some examples, the IOAM data added for each node on the outbound path carried in the pending IPv6 extension header includes: the node identifier, hop limit, ingress interface identifier, and egress interface identifier for each node on the outbound path.
在一些实施例中,目的节点根据如下方式生成回显响应报文:根据第一指示信息,从回显请求报文中获取第一逐跳选项头;根据第二指示信息,在第一逐跳选项头中添加目的节点对应的IOAM数据,以得到携带去程路径信息的待返回的IPv6扩展头;将携带去程路径信息的待返回的IPv6扩展头,封装至回显响应报文中。In some embodiments, the destination node generates an echo response message as follows: according to a first instruction, it obtains a first hop-by-hop option header from the echo request message; according to a second instruction, it adds IOAM data corresponding to the destination node to the first hop-by-hop option header to obtain an IPv6 extension header to be returned carrying outgoing path information; and encapsulates the IPv6 extension header to be returned carrying outgoing path information into the echo response message.
在一些示例中,回显响应报文包括IPv6头、ICMPv6头、ICMP扩展结构。在这些示例中,目的节点在生成回显响应报文时,将携带去程路径信息的、待返回的IPv6扩展头封装至ICMP扩展结构中。In some examples, the echo response message includes an IPv6 header, an ICMPv6 header, and an ICMP extension structure. In these examples, when the destination node generates the echo response message, it encapsulates the IPv6 extension header carrying outbound path information into the ICMP extension structure.
在另一些示例中,回显响应报文除了包括IPv6头、ICMPv6头、ICMP扩展结构之外,还包括第二逐跳选项头。在这些示例中,目的节点在生成回显响应报文时,除了将携带去程路径信息的、待返回的IPv6扩展头封装至ICMP扩展结构之外,还将第三指示信息、以及自身对应的IOAM数据添加至第二逐跳选项头中。其中,第三指示信息用于指示回程路径上的每个节点在第二逐跳选项头中添加IOAM数据。回程路径为回显响应报文由目的节点传输至源节点的传输路径。In other examples, the echo response message includes a second hop-by-hop options header in addition to the IPv6 header, ICMPv6 header, and ICMP extension structure. In these examples, when generating the echo response message, the destination node, besides encapsulating the IPv6 extension header carrying outbound path information into the ICMP extension structure, also adds a third indication message and its corresponding IOAM data to the second hop-by-hop options header. The third indication message instructs each node on the return path to add IOAM data to the second hop-by-hop options header. The return path is the transmission path from the destination node to the source node for the echo response message.
其中,第三指示信息可按照如下示例性方式封装在回显响应报文中:将IOAM数据字段封装在第二逐跳选项头中。其中,第三指示信息位于IOAM数据字段中。The third indication information can be encapsulated in the echo response message in the following exemplary manner: the IOAM data field is encapsulated in the second hop-by-hop option header. The third indication information is located within the IOAM data field.
例如,IOAM数据字段包括IOAM踪迹类型字段,第三指示信息通过IOAM踪迹类型字段的取值来表征。比如,第三指示信息通过IOAM踪迹类型字段取值中的最高位比特和次高位比特来表征。在这些示例中,目的节点在生成回显响应报文时,将IOAM踪迹类型字段取值中的最高位比特和次高位比特置为设定值。例如,将IOAM踪迹类型字段取值中的最高位比特和次高位比特置为1。其中,将IOAM踪迹类型字段取值的最高位比特置1,表示需要填充跳限制和节点标识,将IOAM踪迹类型字段取值的次高位比特置1,表示需要添加入接口标识和出接口标识。此外,IOAM踪迹类型字段取值的其余比特可根据实际情况置1或置0。For example, the IOAM data field includes an IOAM trace type field, and the third indication information is represented by the value of the IOAM trace type field. For instance, the third indication information is represented by the most significant and second most significant bits of the IOAM trace type field. In these examples, when the destination node generates an echo response message, it sets the most significant and second most significant bits of the IOAM trace type field to a set value. For example, it sets the most significant and second most significant bits of the IOAM trace type field to 1. Setting the most significant bit of the IOAM trace type field to 1 indicates that hop limits and node identifiers need to be filled in, and setting the second most significant bit of the IOAM trace type field to 1 indicates that ingress and egress interface identifiers need to be added. Furthermore, the remaining bits of the IOAM trace type field can be set to 1 or 0 depending on the actual situation.
在本公开实施例中,通过令回显响应报文携带第三指示信息,使得回程路径上的每个节点能够在转发回显响应报文时,添加自身对应的IOAM数据,无需额外通过其他设备或其他信令告知各个节点需要添加IOAM数据,降低了通信开销。而且,有助于源节点在简便、高效地获取去程路径信息的同时,还能简便、高效地获取回程路径信息。In this embodiment, by carrying third indication information in the echo response message, each node on the return path can add its own corresponding IOAM data when forwarding the echo response message, without needing to inform each node to add IOAM data through other devices or other signaling, thus reducing communication overhead. Furthermore, it helps the source node to easily and efficiently obtain both outbound and return path information.
在步骤S13中,目的节点发送回显响应报文至源节点。In step S13, the destination node sends an echo response message to the source node.
在一些实施例中,目的节点将回显响应报文发送至传输节点,传输节点将回显响应报文转发至源节点。例如,传输节点包括传输节点4和传输节点5。目的节点将回显响应报文发送至传输节点4,传输节点4接收该回显响应报文、并将其转发至传输节点5,传输节点5接收该回显响应报文、并将其转发至源节点。In some embodiments, the destination node sends an echo response message to the transmission node, and the transmission node forwards the echo response message to the source node. For example, the transmission nodes include transmission node 4 and transmission node 5. The destination node sends an echo response message to transmission node 4, transmission node 4 receives the echo response message and forwards it to transmission node 5, and transmission node 5 receives the echo response message and forwards it to the source node.
在另一些实施例中,目的节点将回显响应报文直接发送至源节点。In other embodiments, the destination node sends the echo response message directly to the source node.
在本公开实施例中,通过以上流程能够使携带去程路径信息的、待返回的IPv6扩展头直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销。In this embodiment of the disclosure, the above process enables the IPv6 extension header carrying outbound path information to be returned directly to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
图9为根据本公开再一些实施例的报文处理方法的流程示意图。如图9所示,在一个IOAM域中,由6台设备构成包含两条路径的组网环境。其中,第一条路径包括节点R1、R2、R3、R6,第二条路径包括节点R6、R5和R4和R1。Figure 9 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure. As shown in Figure 9, in an IOAM domain, a network environment consisting of 6 devices and two paths is formed. The first path includes nodes R1, R2, R3, and R6, and the second path includes nodes R6, R5, R4, and R1.
封装节点R1(或称为源节点R1)生成回显请求报文。Encapsulation node R1 (or source node R1) generates an echo request message.
在一些示例中,为了模拟指定业务流的路径,令回显请求报文的源节点IP地址、目的节点的IP地址、以及流标识等字段的值与指定业务流报文保持一致。In some examples, to simulate the path of a specified service flow, the values of fields such as the source node IP address, destination node IP address, and flow identifier in the echo request message are made consistent with those in the specified service flow message.
在一些示例中,封装节点R1按照如下方式生成回显请求报文:将携带第一指示信息的ICMP扩展结构封装至回显请求报文中;将携带第二指示信息的逐跳选项头封装至回显请求报文中。其中,第一指示信息用于指示待返回的IPv6扩展头,第二指示信息用于指示去程路径上的每个节点在待返回的IPv6扩展头中添加IOAM数据。In some examples, encapsulating node R1 generates the echo request message as follows: It encapsulates an ICMP extension structure carrying first indication information into the echo request message; and it encapsulates a hop-by-hop option header carrying second indication information into the echo request message. The first indication information indicates the IPv6 extension header to be returned, and the second indication information indicates that each node on the outbound path should add IOAM data to the IPv6 extension header to be returned.
在一些示例中,为了便于携带第一指示信息和第二指示信息,令回显请求报文中的ICMP扩展结构和逐跳选项头满足:ICMP扩展结构包括第一扩展头字段和第一对象字段,第一指示信息通过第一对象字段中的对象类别字段表征;逐跳选项头包括IOAM数据字段,第二指示信息通过IOAM数据字段中的IOAM踪迹类型字段表征。在这些示例中,封装节点将对象类别字段的取值设为Hop by Hop Options header,以表征如下第一指示信息:待返回的IPv6扩展头为逐跳选项头;封装节点将IOAM踪迹类型字段取值中的最高位比特和次高位比特设置为1,以表征如下第二指示信息:去程路径上的每个节点需要添加该节点对应的节点标识(node_id)、跳限制(Hop_Lim)、入接口标识(ingress_if_id)和出接口标识(egress_if_id)。In some examples, to facilitate carrying the first and second indication information, the ICMP extension structure and hop-by-hop options header in the echo request message are configured to satisfy the following: the ICMP extension structure includes a first extension header field and a first object field, with the first indication information represented by the object category field in the first object field; the hop-by-hop options header includes an IOAM data field, with the second indication information represented by the IOAM trace type field in the IOAM data field. In these examples, the encapsulating node sets the value of the object category field to Hop by Hop Options header to represent the following first indication information: the IPv6 extension header to be returned is a hop-by-hop options header; the encapsulating node sets the most significant bit and the second most significant bit in the IOAM trace type field to 1 to represent the following second indication information: each node on the outbound path needs to add its corresponding node identifier (node_id), hop limit (Hop_Lim), ingress interface identifier (ingress_if_id), and egress interface identifier (egress_if_id).
在一些示例中,封装节点R1除了封装第一指示信息和第二指示信息之外,还基于哈希算法选择出接口,并在逐跳选项头中填入跳限制、节点标识、出接口标识的信息。例如,封装节点R1将跳限制字段赋值为9,将节点标识字段赋值为自己的节点标识R1,令入接口标识字段的取值为空,将出接口标识字段赋值为自己选择的出接口标识。In some examples, in addition to encapsulating the first and second indication information, the encapsulation node R1 also selects the outgoing interface based on a hash algorithm and fills in the hop limit, node identifier, and outgoing interface identifier information in the hop-by-hop option header. For example, the encapsulation node R1 assigns the hop limit field a value of 9, assigns its own node identifier R1 to the node identifier field, leaves the ingoing interface identifier field empty, and assigns the outgoing interface identifier field a value of the outgoing interface identifier it selects.
中间节点R2、R3为去程路径上的转发节点。当中间节点R2、R3接收并转发回显请求报文时,进行IOAM数据的填充操作。例如,中间节点R2、R3在逐跳选项头中填入跳限制、节点标识、入接口标识和出接口标识的信息。比如,中间节点R2将跳限制字段赋值为8,将节点标识字段赋值为自己的节点标识R2,并对入接口标识字段和出接口标识字段进行赋值。同理,中间节点R3也进行类似的IOAM数据填充处理。Intermediate nodes R2 and R3 are forwarding nodes on the outbound path. When intermediate nodes R2 and R3 receive and forward echo request messages, they perform IOAM data filling operations. For example, intermediate nodes R2 and R3 fill in the hop limit, node identifier, ingress interface identifier, and egress interface identifier information in the hop-by-hop option header. For instance, intermediate node R2 assigns the hop limit field a value of 8, assigns its own node identifier R2 to the node identifier field, and assigns values to the ingress interface identifier and egress interface identifier fields. Similarly, intermediate node R3 performs similar IOAM data filling processing.
解封装节点(即目的节点)R6在接收到回显请求报文后,根据回显请求报文中的第二指示信息,在回显请求报文的逐跳选项头中填入自身对应的跳限制、节点标识、入接口标识信息,以得到携带去程路径信息的逐跳选项头。并且,解封装节点R6根据回显请求报文中的第一指示信息,将回显请求报文中的逐跳选项头(即第一逐跳选项头)的信息填入回显响应报文中的第二ICMP扩展结构中,并将第三指示信息填入回显响应报文中的逐跳选项头(即第二逐跳选项头)中。其中,第三指示信息用于指示回程路径上的每个节点在第二逐跳选项头中添加IOAM数据。Upon receiving the echo request message, the decapsulation node (i.e., the destination node) R6, based on the second indication information in the echo request message, fills in its corresponding hop limit, node identifier, and ingress interface identifier information into the hop-by-hop option header of the echo request message to obtain a hop-by-hop option header carrying outbound path information. Furthermore, based on the first indication information in the echo request message, the decapsulation node R6 fills in the information from the hop-by-hop option header (i.e., the first hop-by-hop option header) in the second ICMP extension structure of the echo response message, and fills in the third indication information in the hop-by-hop option header (i.e., the second hop-by-hop option header) of the echo response message. The third indication information is used to instruct each node on the return path to add IOAM data to the second hop-by-hop option header.
为了便于携带第三指示信息,令回显响应报文中的逐跳选项头(即第二逐跳选项头)满足:逐跳选项头包括IOAM数据字段,第三指示信息通过IOAM数据字段中的IOAM踪迹类型字段表征。在这些示例中,解封装节点将IOAM踪迹类型字段取值中的最高位比特和次高位比特设置为1,以表征如下第三指示信息:回程路径上的每个节点需要添加该节点对应的节点标识(node_id)、跳限制(Hop_Lim)、入接口标识(ingress_if_id)和出接口标识(egress_if_id)。To facilitate the carrying of the third indication information, the hop-by-hop option header (i.e., the second hop-by-hop option header) in the echo response message is made to satisfy the following: the hop-by-hop option header includes an IOAM data field, and the third indication information is represented by the IOAM trace type field within the IOAM data field. In these examples, the decapsulation node sets the most significant and second-most significant bits of the IOAM trace type field to 1 to represent the following third indication information: each node on the return path needs to add its corresponding node identifier (node_id), hop limit (Hop_Lim), ingress interface identifier (ingress_if_id), and egress interface identifier (egress_if_id).
中间节点R5和R4是回程路径上的转发节点。当中间节点R5、R4接收并转发回显响应报文时,进行IOAM数据的填充操作。例如,当中间节点R5收到回显响应报文时,在逐跳选项头中填入跳限制、自身的节点标识R、入接口标识int1和出接口标识int3。中间节点R4对收到的回显响应报文做类似操作,然后将报文转发到封装节点R1。Intermediate nodes R5 and R4 are forwarding nodes on the return path. When intermediate nodes R5 and R4 receive and forward echo response messages, they perform IOAM data filling operations. For example, when intermediate node R5 receives an echo response message, it fills in the hop limit, its own node identifier R, ingress interface identifier int1, and egress interface identifier int3 in the hop-by-hop options header. Intermediate node R4 performs similar operations on the received echo response messages and then forwards the message to encapsulation node R1.
封装节点R1从回显响应报文中的逐跳选项头中获取回程路径信息,从回显响应报文中的ICMP扩展结构中获取去程路径信息。然后,可根据去程路径信息和回程路径信息,检测去程路径和回程路径的一致性。Encapsulation node R1 obtains the return path information from the hop-by-hop option header in the echo response message and the outbound path information from the ICMP extended structure in the echo response message. Then, the consistency between the outbound and return paths can be checked based on the outbound and return path information.
图10为根据本公开一些实施例的报文处理装置的结构示意图。如图10所示,报文处理装置100包括生成模块101、发送模块102、接收模块103。Figure 10 is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure. As shown in Figure 10, the message processing apparatus 100 includes a generation module 101, a sending module 102, and a receiving module 103.
生成模块101,被配置为生成ICMPv6的回显请求报文。其中,回显请求报文包括第一指示信息和第二指示信息。第一指示信息用于指示待返回的IPv6扩展头,第二指示信息用于指示去程路径上的每个节点在待返回的IPv6扩展头中添加IOAM数据。去程路径为回显请求报文由源节点传输至目的节点的传输路径。The generation module 101 is configured to generate ICMPv6 echo request messages. The echo request message includes first indication information and second indication information. The first indication information indicates the IPv6 extension header to be returned, and the second indication information indicates that each node on the outbound path adds IOAM data to the IPv6 extension header to be returned. The outbound path is the transmission path from the source node to the destination node for the echo request message.
发送模块102,被配置为发送回显请求报文至目的节点。The sending module 102 is configured to send an echo request message to the destination node.
接收模块103,被配置为接收来自目的节点的回显响应报文。其中,回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头。The receiving module 103 is configured to receive an echo response message from the destination node. The echo response message includes a pending IPv6 extension header carrying IOAM data added by each node on the outbound path.
在本公开实施例中,通过以上装置,能够使去程路径信息直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销。In this embodiment of the disclosure, the above-described device enables the outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
图11为根据本公开另一些实施例的报文处理装置的结构示意图。如图11所示,报文处理装置110包括接收模块111、生成模块112、以及发送模块113。Figure 11 is a schematic diagram of a message processing apparatus according to some other embodiments of the present disclosure. As shown in Figure 11, the message processing apparatus 110 includes a receiving module 111, a generating module 112, and a sending module 113.
接收模块111,被配置为接收来自源节点的ICMPv6的回显请求报文。其中,回显请求报文包括第一指示信息和第二指示信息。第一指示信息用于指示待返回的IPv6扩展头,第二指示信息用于指示去程路径上的每个节点在待返回的IPv6扩展头中添加IOAM数据。去程路径为回显请求报文由源节点传输至目的节点的传输路径。The receiving module 111 is configured to receive ICMPv6 echo request messages from the source node. The echo request message includes first indication information and second indication information. The first indication information indicates the IPv6 extension header to be returned, and the second indication information indicates that each node on the outbound path adds IOAM data to the IPv6 extension header to be returned. The outbound path is the transmission path from the source node to the destination node for the echo request message.
生成模块112,被配置为根据回显请求报文生成回显响应报文。其中,回显响应报文包括携带去程路径上每个节点添加的IOAM数据的待返回的IPv6扩展头。The generation module 112 is configured to generate an echo response message based on the echo request message. The echo response message includes a pending IPv6 extension header carrying IOAM data added for each node on the outbound path.
发送模块113,被配置为发送回显响应报文至源节点。Sending module 113 is configured to send an echo response message to the source node.
在本公开实施例中,通过以上装置,能够使去程路径信息直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销。In this embodiment of the disclosure, the above-described device enables the outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
图12为根据本公开再一些实施例的报文处理装置的结构示意图。如图12所示,电子设备120包括存储器121、以及耦接至该存储器121的处理器122。存储器121用于存储执行报文处理方法对应实施例的指令。处理器122被配置为基于存储在存储器121中的指令,执行本公开中任意一些实施例中的报文处理方法。Figure 12 is a schematic diagram of a message processing apparatus according to some embodiments of the present disclosure. As shown in Figure 12, the electronic device 120 includes a memory 121 and a processor 122 coupled to the memory 121. The memory 121 is used to store instructions for executing embodiments of the message processing method. The processor 122 is configured to execute the message processing method in any of the embodiments of the present disclosure based on the instructions stored in the memory 121.
图13为根据本公开一些实施例的报文处理系统的结构示意图。如图13所示,报文处理系统130包括源节点131和目的节点133。Figure 13 is a schematic diagram of the structure of a message processing system according to some embodiments of the present disclosure. As shown in Figure 13, the message processing system 130 includes a source node 131 and a destination node 133.
源节点131,用于执行如图1所述的报文处理方法。Source node 131 is used to execute the message processing method shown in Figure 1.
目的节点133,用于执行如图8所述的报文处理方法。Destination node 133 is used to execute the message processing method shown in Figure 8.
在一些实施例中,报文处理系统130除了包括源节点131和目的节点133之外,还包括至少一个传输节点132。其中,至少一个传输节点132包括:至少一个第一转发节点,设置在去程路径上,用于对回显请求报文进行转发;至少一个第二转发节点,设置在回程路径上,用于对回显响应报文进行转发。In some embodiments, the message processing system 130 includes at least one transmission node 132 in addition to the source node 131 and the destination node 133. The at least one transmission node 132 includes: at least one first forwarding node, located on the outbound path, for forwarding echo request messages; and at least one second forwarding node, located on the return path, for forwarding echo response messages.
在本公开实施例中,通过以上系统能够使去程路径信息直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销。In this embodiment of the disclosure, the above system enables outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
图14为根据本公开一些实施例的计算机系统的结构示意图。如图14所示,计算机系统140可以通用计算设备的形式表现。计算机系统140包括存储器141、处理器142和连接不同系统组件的总线143。Figure 14 is a schematic diagram of the structure of a computer system according to some embodiments of the present disclosure. As shown in Figure 14, the computer system 140 can be represented in the form of a general computing device. The computer system 140 includes a memory 141, a processor 142, and a bus 143 connecting different system components.
存储器141例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行中的至少一种报文处理方法的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。Memory 141 may include, for example, system memory, non-volatile storage media, etc. System memory may store, for example, an operating system, application programs, a boot loader, and other programs. System memory may include volatile storage media, such as random access memory (RAM) and/or cache memory. Non-volatile storage media may store, for example, instructions for a corresponding embodiment of at least one message processing method being executed. Non-volatile storage media include, but are not limited to, disk storage, optical storage, flash memory, etc.
处理器142可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如生成模块、发送模块和接收模块等的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。The processor 142 can be implemented using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete hardware components such as discrete gates or transistors. Accordingly, each module, such as the generation module, the transmission module, and the receiving module, can be implemented by the central processing unit (CPU) running instructions in memory to execute the corresponding steps, or by dedicated circuitry to execute the corresponding steps.
总线143可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。Bus 143 can use any of the various bus architectures. For example, bus architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, and the Peripheral Component Interconnect (PCI) bus.
计算机系统140这些接口144、145、146以及存储器141和处理器142之间可以通过总线143连接。输入输出接口144可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口145为各种联网设备提供连接接口。存储接口146为软盘、U盘、SD卡等外部存储设备提供连接接口。The computer system 140 can be connected via a bus 143 to interfaces 144, 145, and 146, as well as to memory 141 and processor 142. Input/output interface 144 provides a connection interface for input/output devices such as monitors, mice, and keyboards. Network interface 145 provides a connection interface for various networked devices. Storage interface 146 provides a connection interface for external storage devices such as floppy disks, USB flash drives, and SD cards.
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。Various aspects of this disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and/or block diagrams, and combinations thereof, can be implemented by computer-readable program instructions.
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。These computer-readable program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable device to produce a machine, such that execution of the instructions by the processor produces means for implementing the functions specified in one or more boxes of the flowchart and/or block diagram.
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。These computer-readable program instructions may also be stored in a computer-readable storage medium. These instructions cause a computer to work in a particular manner to produce an article of manufacture, including instructions that implement the functions specified in one or more boxes in a flowchart and/or block diagram.
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。This disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects.
通过上述实施例中的报文处理方法、装置和系统,能够使去程路径信息直接返回源节点,无需集中采集器或控制器的支持,简化了通信架构,降低了通信开销。The message processing methods, apparatus, and systems described in the above embodiments enable outbound path information to be directly returned to the source node without the need for a centralized collector or controller, thus simplifying the communication architecture and reducing communication overhead.
至此,已经详细描述了根据本公开的报文处理方法、装置和系统。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。The message processing methods, apparatus, and systems according to this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
Claims (28)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410645311.7A CN121056511A (en) | 2024-05-23 | 2024-05-23 | Message processing method, device and system |
| CN202410645311.7 | 2024-05-23 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025241475A1 true WO2025241475A1 (en) | 2025-11-27 |
Family
ID=97794601
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/136322 Pending WO2025241475A1 (en) | 2024-05-23 | 2024-12-03 | Message processing method, apparatus and system |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN121056511A (en) |
| WO (1) | WO2025241475A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108964943A (en) * | 2017-05-18 | 2018-12-07 | 中兴通讯股份有限公司 | A kind of method and device for realizing IOAM encapsulation |
| CN109743340A (en) * | 2019-04-04 | 2019-05-10 | 华为技术有限公司 | The method and network equipment of Message processing |
| CN112448926A (en) * | 2019-08-30 | 2021-03-05 | 烽火通信科技股份有限公司 | Processing method and system for in-band operation, management and maintenance IOAM |
| CN115134192A (en) * | 2021-03-25 | 2022-09-30 | 中兴通讯股份有限公司 | Information processing method, apparatus and storage medium |
| US20230231804A1 (en) * | 2021-03-25 | 2023-07-20 | New H3C Technologies Co., Ltd. | In-situ flow detection method and electronic device |
-
2024
- 2024-05-23 CN CN202410645311.7A patent/CN121056511A/en active Pending
- 2024-12-03 WO PCT/CN2024/136322 patent/WO2025241475A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108964943A (en) * | 2017-05-18 | 2018-12-07 | 中兴通讯股份有限公司 | A kind of method and device for realizing IOAM encapsulation |
| CN109743340A (en) * | 2019-04-04 | 2019-05-10 | 华为技术有限公司 | The method and network equipment of Message processing |
| CN112448926A (en) * | 2019-08-30 | 2021-03-05 | 烽火通信科技股份有限公司 | Processing method and system for in-band operation, management and maintenance IOAM |
| CN115134192A (en) * | 2021-03-25 | 2022-09-30 | 中兴通讯股份有限公司 | Information processing method, apparatus and storage medium |
| US20230231804A1 (en) * | 2021-03-25 | 2023-07-20 | New H3C Technologies Co., Ltd. | In-situ flow detection method and electronic device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121056511A (en) | 2025-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
| CN110380970B (en) | Self-adaptive data message forwarding method and device suitable for heterogeneous network | |
| US11546255B2 (en) | Packet processing method, controller, and forwarding device | |
| CN111510386B (en) | Method and device for processing messages | |
| CN113595897B (en) | Path detection method and device | |
| US12348361B2 (en) | Method and apparatus for failure detection and PE device | |
| CN108964943A (en) | A kind of method and device for realizing IOAM encapsulation | |
| CN107147655A (en) | A kind of network dual stack parallel process model and its processing method | |
| CN111026324B (en) | Updating method and device of forwarding table entry | |
| WO2022042503A1 (en) | Message transmission method, apparatus, and system | |
| WO2024000137A1 (en) | Packet processing | |
| US20240283733A1 (en) | Packet processing method and apparatus, and network device and medium | |
| WO2025241475A1 (en) | Message processing method, apparatus and system | |
| CN115695246A (en) | A SRv6-Based Tunnel Quality Detection Method and Related Devices | |
| CN114765589A (en) | Network testing method, device and storage medium | |
| JP7642822B2 (en) | Method and apparatus for collecting bit error information - Patents.com | |
| WO2022135321A1 (en) | Packet transmission method, device and system | |
| CN118473968A (en) | Message processing method, device, network equipment and storage medium | |
| WO2023240438A1 (en) | Packet processing | |
| CN121012869A (en) | A message processing method, apparatus and system | |
| CN115967606A (en) | Method, device, equipment, system and storage medium for detecting tunnel fault | |
| US20250247331A1 (en) | Packet Transmission Method and Apparatus | |
| US20240223496A1 (en) | Packet transmission method, apparatus, and system, network device, and storage medium | |
| US20250008005A1 (en) | Packet processing method, packet check method, and apparatus | |
| CN111835644A (en) | Packet forwarding method and switch |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24939487 Country of ref document: EP Kind code of ref document: A1 |