CN116132555B - A message processing method and system - Google Patents

A message processing method and system

Info

Publication number
CN116132555B
CN116132555B CN202111350114.5A CN202111350114A CN116132555B CN 116132555 B CN116132555 B CN 116132555B CN 202111350114 A CN202111350114 A CN 202111350114A CN 116132555 B CN116132555 B CN 116132555B
Authority
CN
China
Prior art keywords
message
detection
ioam
vxlan
node
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.)
Active
Application number
CN202111350114.5A
Other languages
Chinese (zh)
Other versions
CN116132555A (en
Inventor
王瑞雪
秦凤伟
张译戈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Research Institute of China Mobile Communication Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Research Institute of China Mobile Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, Research Institute of China Mobile Communication Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111350114.5A priority Critical patent/CN116132555B/en
Publication of CN116132555A publication Critical patent/CN116132555A/en
Application granted granted Critical
Publication of CN116132555B publication Critical patent/CN116132555B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种报文处理方法和系统,该方法包括:头节点接收控制器下发的配置信息,根据配置信息,确定在生成IOAM头时所需的Flow ID和Bitmap信息;在头节点完成查表并封装VXLAN报文时,如果五元组信息匹配VXLAN报文对应的内层报文五元组,则将根据Flow ID和Bitmap信息生成的IOAM头封装在VXLAN报文中,并将VXLAN报文的原始Protocol字段值拷贝到IOAM头的Reserved字段中,修改VXLAN报文的Protocol字段值为IOAM特定标识,得到检测报文;头节点利用检测报文中IOAM头的Bitmap信息,向控制器上报与头节点相关的用于实现随流检测的订阅信息,并将检测报文转发至下一节点。

The present application provides a message processing method and system, the method comprising: a head node receiving configuration information sent by a controller, and determining, based on the configuration information, a Flow ID and Bitmap information required when generating an IOAM header; when the head node completes a table lookup and encapsulates a VXLAN message, if the quintuple information matches the inner message quintuple corresponding to the VXLAN message, encapsulating the IOAM header generated based on the Flow ID and Bitmap information in the VXLAN message, copying the original Protocol field value of the VXLAN message to the Reserved field of the IOAM header, modifying the Protocol field value of the VXLAN message to an IOAM specific identifier, and obtaining a detection message; the head node uses the Bitmap information of the IOAM header in the detection message to report subscription information related to the head node for implementing flow detection to the controller, and forwarding the detection message to the next node.

Description

Message processing method and system
Technical Field
The present application relates to the field of data service technologies, and in particular, to a method and a system for processing a message.
Background
With the continuous development of cloud computing technology and the mature technology of network function virtualization (Network Functions Virtualization, NFV), the service on the cloud is wider, the network scale of the data center is continuously improved, and the daily monitoring operation and maintenance of key service and the rapid positioning during faults are promoted to be new challenges. In order to improve the operation and maintenance precision and efficiency of a data center network, a network telemetry technology is generated, a flow-following detection technology and a network analysis platform are introduced into the data center network, parameter information such as an access port, a time stamp, time delay and the like in the process of transmitting a message to the analysis platform is reported by all network equipment along the way, and network quality information such as path visibility, packet loss, time delay and the like is provided by combining the technologies such as data analysis, artificial intelligence and the like, so that quick fault perception and root cause positioning are realized, and network refined management is promoted.
In the related art, one of the main schemes of the flow detection technology is that a Protocol field of a header of an internet Protocol (Internet Protocol, IP) message is adopted to identify that the message is of an In-band operation management maintenance (In-situ Operation Administration AND MAINTENANCE, IOAM) type, and the along-the-way device reports parameter information such as a device ID, an access port, a timestamp, a time delay and the like to an analysis platform by identifying the type of the message. However, in this scheme, the Protocol field of the original message is replaced with a specific value of the detection message, and because the data center network has an Equal-cost multi-path (ECMP) requirement, and the Protocol field is used as one of the parameters of the calculation of the ECMP, if the Protocol field changes, the forwarding paths of the detection message and the original message are inconsistent, so that the reported data is inaccurate, and further, the operation and maintenance accuracy of the data center network is reduced.
Disclosure of Invention
The application provides a message processing method and a system, which can ensure the accuracy of detecting a message forwarding path and improve the operation and maintenance precision of a data center network.
The technical scheme of the application is realized as follows:
the application provides a message processing method, which comprises the following steps:
The head node receives configuration information issued by a controller, and determines Flow ID and Bitmap information required when generating an IOAM head according to the configuration information, wherein the configuration information is generated according to Flow-following detection requirements issued by a cloud platform, the configuration information comprises quintuple information, and the head node is directly connected with a source host corresponding to the quintuple information;
When the head node finishes looking up a table and encapsulates a virtual extended local area network (Virtual Extensible Local Area Network, VXLAN) message, if the quintuple information is matched with an inner layer message quintuple corresponding to the VXLAN message, encapsulating an IOAM header generated according to the Flow ID and Bitmap information in the VXLAN message, copying an original Protocol field value of the VXLAN message into a Reserved field of the IOAM header, and modifying the Protocol field value of the VXLAN message as an IOAM specific identifier to obtain a detection message;
and the head node reports subscription information which is related to the head node and is used for realizing the detection along with the flow to the controller by utilizing the Bitmap information of the IOAM head in the detection message, and forwards the detection message to the next node.
In some embodiments, in a case that the head node and the tail node corresponding to the VXLAN packet are respectively connected to different hosts on the same tenant virtual network in the same data center network, the method further includes:
After the head node forwards the detection message To a first gateway device, the first gateway device recognizes that the Protocol field value is an IOAM specific identifier, reports subscription information related To the first gateway device for realizing flow-following detection To the controller by utilizing Bitmap information of an IOAM header in the detection message, and performs a1 subtracting operation on a Time To Live (TTL) value in the detection message;
And when the next hop is queried and an interface is forwarded, the Protocol field value of the IOAM head in the detection message and the offset value corresponding to the IOAM head are utilized to acquire port number information for ECMP calculation.
In some embodiments, the tail node is directly connected to the destination host, and the method further comprises:
Forwarding the detection message to the tail node by using the first gateway equipment;
the tail node uses Bitmap information of an IOAM header in the detection message to report subscription information related to the tail node and used for realizing stream-following detection to the controller, and then writes back an original Protocol field value of a Reserved field in the IOAM header into a Protocol field of the detection message, and removes the IOAM header in the detection message;
And the tail node sends the message for removing the IOAM header to the target host.
In some embodiments, in a case that a head node and a tail node corresponding to the VXLAN packet are respectively connected to different hosts on different tenant virtual networks in the same data center network, the method further includes:
after the head node forwards the detection message to a first gateway device, when removing a VXLAN message and an encapsulated IOAM header, the first gateway device stores the IOAM header and a TTL value in the detection message into a register, and reports subscription information which is related to the first gateway device and is used for realizing flow-following detection to the controller by utilizing Bitmap information of the IOAM header in the detection message;
when looking up a table and packaging a new VXLAN message, the first gateway device repackages the detection message by using the IOAM header obtained from the register, the TTL value after performing the 1 subtracting operation and a first VXLAN network identifier, wherein the first VXLAN network identifier represents an identifier of a tenant virtual network corresponding to an output interface of the first gateway device;
And when the next hop is queried and an interface is forwarded, the Protocol field value of the IOAM head in the repackaged detection message and the offset value of the IOAM head are utilized to acquire port number information for ECMP calculation.
In some embodiments, the tail node is directly connected to the destination host, and the method further comprises:
Forwarding the repackaged detection message to the tail node by using the first gateway device;
The tail node uses Bitmap information of an IOAM header in the repackaged detection message to report subscription information related to the tail node and used for realizing stream-following detection to the controller, and then writes back an original Protocol field value of a Reserved field in the IOAM header to a Protocol field of the detection message, and removes the IOAM header in the repackaged detection message;
And the tail node sends the message for removing the IOAM header to the target host.
In some embodiments, in a case that the head node and the tail node corresponding to the VXLAN packet are respectively connected to different hosts in different data center networks, the method further includes:
after the head node forwards the detection message to a first gateway device, when removing a VXLAN message and an encapsulated IOAM header, the first gateway device stores the IOAM header and a TTL value in the detection message into a register, and reports subscription information which is related to the first gateway device and is used for realizing flow-following detection to the controller by utilizing Bitmap information of the IOAM header in the detection message;
When looking up a table and packaging a new VXLAN message, the first gateway equipment re-packages the detection message by using an IOAM header obtained from the register, a TTL value after performing 1 subtracting operation, a second VXLAN network identifier and a first value corresponding to a Flow ID field in the IOAM header, wherein the first value represents a preset public Flow identifier;
And when the next hop is queried and an interface is forwarded, the Protocol field value of the IOAM head in the repackaged detection message and the offset value of the IOAM head are utilized to acquire port number information for ECMP calculation.
In some embodiments, the method further comprises:
When the first gateway device forwards the repackaged detection message to a public node, the public node reports subscription information related to the public node and used for realizing flow-following detection to the controller by utilizing Bitmap information of an IOAM header in the repackaged detection message, and updates a TTL value in the repackaged detection message to a value after performing a subtracting 1 operation, wherein the public node represents one node in the public VXLAN network;
And when the next hop is queried and an interface is forwarded, the Protocol field value of the IOAM head in the repackaged detection message and the offset value of the IOAM head are utilized to acquire port number information for ECMP calculation.
In some embodiments, the method further comprises:
forwarding the repackaged detection message to a second gateway device by using the public node, when the VXLAN message and the encapsulated IOAM header are removed, storing the IOAM header and TTL value in the repackaged detection message into a register by the second gateway device, and reporting subscription information which is related to the second gateway device and is used for realizing stream-following detection to the controller by using Bitmap information of the IOAM header in the repackaged detection message;
when looking up a table and packaging a new VXLAN message, the second gateway device packages the detection message again by using the IOAM header obtained from the register, the TTL value after continuing to execute the subtracting 1 operation, a third VXLAN network identifier and a second value corresponding to a Flow ID field in the IOAM header, where the third VXLAN network identifier represents an identifier of a tenant virtual network corresponding to an output interface of the second gateway device, and the second value is used to characterize a traffic identifier corresponding to a data center network to which the second gateway device belongs.
In some embodiments, the tail node is directly connected to the destination host, and the method further comprises:
Forwarding the repackaged detection message to the tail node by using the second gateway equipment;
The tail node uses Bitmap information of an IOAM header in the repackaged detection message to report subscription information related to the tail node and used for realizing stream-following detection to the controller, and then writes back an original Protocol field value of a Reserved field in the IOAM header to a Protocol field of the detection message, and removes the IOAM header in the repackaged detection message;
And the tail node sends the message for removing the IOAM header to the target host.
In some embodiments, the subscription information includes a device identification number (Identity Document, ID) of the head node and a Flow ID.
The application provides a message processing system, comprising a head node, wherein,
The head node is used for receiving configuration information issued by the controller, determining Flow ID and Bitmap information required when generating the IOAM head according to the configuration information, wherein the configuration information is generated according to the Flow-following detection requirement issued by the cloud platform, the configuration information comprises five-tuple information, and the head node is directly connected with a source host corresponding to the five-tuple information;
When the header node is used for completing table lookup and packaging a VXLAN message, if the quintuple information is matched with an inner layer message quintuple corresponding to the VXLAN message, packaging an IOAM header generated according to the Flow ID and Bitmap information in the VXLAN message, copying an original Protocol field value of the VXLAN message into a Reserved field of the IOAM header, and modifying the Protocol field value of the VXLAN message into an IOAM specific identifier to obtain a detection message;
the head node is configured to report subscription information related to the head node for implementing flow-following detection to the controller by using Bitmap information of an IOAM header in the detection packet, and forward the detection packet to a next node.
The application provides a message processing method and system, wherein the method comprises the steps that a head node receives configuration information issued by a controller, determines Flow ID and Bitmap information required when an IOAM header is generated according to the configuration information, wherein the configuration information is generated according to the Flow following detection requirement issued by a cloud platform, the configuration information comprises quintuple information, the head node is directly connected with a source host corresponding to the quintuple information, when the head node finishes table lookup and encapsulates a VXLAN message, if the quintuple information is matched with an inner layer message quintuple corresponding to the VXLAN message, an IOAM header generated according to the Flow ID and the Bitmap information is encapsulated in the VXLAN message, an original Protocol field value of the VXLAN message is copied to a Reserved field of the IOAM header, a Protocol field value of the VXLAN message is modified to be a specific identifier of the IOAM message, and the head node utilizes the detection TMXLAN message to finish table lookup and encapsulates the VXLAN message, and the head node forwards the IOAM message to the relevant nodes to the corresponding to the detection node.
It can be seen that when the IOAM header obtained according to the configuration information is encapsulated in the VXLAN message, the embodiment of the application copies the Protocol field content in the VXLAN message to the Reserved field of the IOAM header, and modifies the Protocol field of the VXLAN message into the IOAM specific identifier, so that when the forwarding interface of the detection message is determined later, ECMP calculation can be performed based on the Protocol field in the IOAM header, thus, consistency of the forwarding paths of the detection message and the VXLAN message can be ensured, accuracy of data reporting can be improved, and operation and maintenance accuracy of the data center network can be ensured, and in addition, if the network equipment is configured with an access control list (Access Control Lists, ACL) rule, correct matching of the ACL rule can be ensured, and network security risk caused by incorrect matching can be reduced.
Drawings
FIG. 1A is a schematic diagram of a structure for performing concurrent detection according to an embodiment of the present application;
FIG. 1B is a flow chart of a message processing method according to an embodiment of the present application;
Fig. 1C is a schematic diagram of encapsulating an IOAM header in a VXLAN message according to an embodiment of the present application;
fig. 1D is a schematic diagram of copying a Protocol field to an IOAM header according to an embodiment of the present application;
FIG. 1E is a diagram illustrating an IOAM header in a detection message according to an embodiment of the application;
FIG. 1F is a schematic diagram of a detection message according to an embodiment of the present application;
FIG. 2A is a schematic diagram of a detection message passing through an underway device in an embodiment of the present application;
FIG. 2B is a schematic diagram of a detection message passing through a tail node according to an embodiment of the present application;
fig. 2C is a schematic diagram of a second detection message passing through a VXLAN gateway according to an embodiment of the present application;
fig. 2D is a schematic diagram of a VXLAN gateway through which a detection packet passes for a scene three according to an embodiment of the present application;
FIG. 3A is a schematic diagram of a message processing structure for scene one according to an embodiment of the present application;
Fig. 3B is a schematic structural diagram of a message processing for a second scenario according to an embodiment of the present application;
Fig. 3C is a schematic structural diagram of a message processing for a third scenario according to an embodiment of the present application;
fig. 3D is a flowchart of another message processing method according to an embodiment of the present application.
Detailed Description
The technical solutions of the present application will be clearly and completely described below with reference to the accompanying drawings.
The present application will be described in further detail with reference to the drawings and examples. It is to be understood that the examples provided herein are for the purpose of illustration only and are not intended to limit the application. The following examples are provided for carrying out the present application, but not for all examples, and the embodiments described in the present application can be carried out in any combination without any conflict.
It should be noted that, in the present application, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a method or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such method or apparatus. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other related elements in a method or apparatus comprising the element (e.g., a step in a method or an element in an apparatus, e.g., an element may be part of a processor, part of a program or software, etc.).
The term "and/or" is merely an association relationship describing the associated object, and means that three relationships may exist, for example, a and/or B may mean that a exists alone, while a and B exist together, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, may mean including any one or more elements selected from the group consisting of A, B and C.
For example, the message processing method provided by the application comprises a series of steps, but the message processing method provided by the application is not limited to the steps, and likewise, the message processing device provided by the application comprises a series of modules, but the message processing device provided by the application is not limited to the modules explicitly described, and can also comprise the modules required to be set for acquiring related information or processing based on the information.
The present application may be implemented on the basis of an electronic device, which may be a thin client, thick client, handheld or laptop device, microprocessor-based system, set top box, programmable consumer electronics, network personal computer, small computer system, or the like.
The electronic device may implement the corresponding functions by execution of program modules. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so forth. They perform specific tasks or implement specific abstract data types. The computer system may be implemented in a distributed cloud computing environment in which tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computing system storage media including memory storage devices.
At present, a data center network comprehensively introduces a software defined network (Software Defined Network, SDN) technology to realize network automation, and VXLAN is taken as a tunnel technology of MAC-in-UDP, so that the large two-layer network capability of the data center can be constructed, the multi-tenant isolation requirement is met, and the method becomes a main stream technology of the SDN data center.
In the case of a fully deployed VXLAN network in a data center, there are three types of traffic that needs to be detected by end-to-end with flow, as shown in fig. 1A, fig. 1A is a schematic structural diagram of one of the embodiments of the present application for performing with flow detection, where the structural diagram includes a control plane and a networking forwarding plane, where the control plane includes a cloud platform, three controllers (representing POD1 controllers to POD3 controllers), the networking forwarding plane includes three data center networks and a common VXLAN network C-Spine, each of the controllers corresponds to and manages traffic of one data center network, the data center network includes VXLAN GateWay (GateWay, GW) devices, virtual expansion lan tunnel endpoints (VXLAN Tunnel Endpoints, VTEP) and hosts connected to VTEP, and, illustratively, the data center network corresponding to the POD1 controllers includes VXLAN GW devices, VTEP1, VTEP2, VPC1-host1 (host 1) connected to VTEP 1) and VPC2 (host 1-host 2) connected to VTEP2 (host 1) and vphost (host 2-host 2) and vp2 (host 2-host 2) connected to vp2) on the data center network, where the data center network includes VXLAN GateWay (host 2) and host (host 2-host (host 2) connected to vp2-host (host 2) and virtual host (host 2) different from vp1-host (host 2).
Here, each type of flow to be detected end-to-end with flow may correspond to a scenario, where scenario one is that different hosts on the same VPC in the same data center network are in communication, for example, VPC1-host1 (host 1) and VPC1-host2 (host 2) in the data center network corresponding to the POD1 controller are in communication, as shown by the bold line in fig. 1A, and scenario two is that different hosts on different VPCs in the same data center network are in communication, for example, VPC1-host1 (host 1) and VPC1-host3 (host 3) in the data center network corresponding to the POD1 controller are in communication, as shown by the dotted line in fig. 1A, and scenario three is that different hosts in the different data center network are in communication, for example, VPC1-host1 (host 1) and VPC1-host4 (host 4) in the data center network corresponding to the POD2 controller are in communication, as shown by the bold line in fig. 1A.
In the related art, when the end-to-end flow detection is performed for the three scenes, the Protocol field of the original message is replaced by a specific value of the detected message, so that the matching cannot be performed based on the Protocol field of the original message when the ECMP is determined to be calculated by the message forwarding interface, the accuracy of the forwarding path of the detected message cannot be ensured, and the operation and maintenance precision of the data center network is reduced.
In order to solve the above problems, the following embodiments are proposed.
Fig. 1B is a flowchart of a message processing method according to an embodiment of the present application, as shown in fig. 1B, the flowchart may include:
Step 100, the head node receives configuration information issued by the controller, determines Flow ID and Bitmap information required when generating the IOAM head according to the configuration information, wherein the configuration information is generated according to Flow-following detection requirements issued by the cloud platform, the configuration information comprises quintuple information, and the head node is directly connected with a source host corresponding to the quintuple information.
The cloud platform refers to a service based on hardware resources and software resources and can provide computing, network and storage capabilities, and the cloud platform can be connected with one or more controllers, wherein the controllers can be SDN controllers corresponding to one POD (personal digital assistant) for example.
In the embodiment of the application, the cloud platform can configure the flow-following detection requirement based on quintuple information according to the actual service requirement and send the flow-following detection requirement to the corresponding controller, and the controller configures corresponding configuration information according to the received flow-following detection requirement and sends the configuration information to the corresponding network equipment.
Illustratively, the configuration information may include quintuple information, wherein the quintuple information includes a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol. That is, the controller may determine the network device that issued the configuration information according to the five-tuple information in the configuration information.
The network device corresponds to the head node, and the head node represents a source VTEP directly connected with the source host corresponding to the quintuple information in the configuration information issued by the controller, so that the source VTEP can receive the configuration information issued by the controller. Illustratively, the source host may be connected with one or more virtual machines, each of which may be available to a respective tenant. The source VTEP may include, among other things, a software vSwitch switch or a hardware access switch.
Specifically, the VTEP is a device capable of encapsulating and decapsulating an original message in the VXLAN protocol, and may be implemented by a hardware device or may be implemented by software, where the source VTEP may be used to encapsulate the VXLAN for the received original message.
For example, the Flow ID and Bitmap information may be determined according to configuration information, where the Flow ID and Bitmap information are used to generate the IOAM header subsequently, for the three scenarios shown in fig. 1A, the values corresponding to the Flow ID fields (i.e., the Flow IDs) are different, and the values of the Flow ID fields are configured by the controllers corresponding to the data center networks, and because the data center networks corresponding to the first scenario and the second scenario are the same, the Flow ID fields in the two scenarios both correspond to the same value, and the values are different from the values corresponding to the Flow ID fields in the third scenario, for example, in the case that the values corresponding to the Flow ID fields in the first scenario and the second scenario are 2000, the values corresponding to the Flow ID fields in the third scenario may be 4000.
The Flow ID fields in scenario one and scenario two each correspond to the same value, indicating that the traffic between end-to-end is from the same data center network, while the Flow ID field in scenario three corresponds to another value, indicating that the traffic between end-to-end is from different data center networks, where end-to-end means head node to tail node.
In the embodiment of the application, after the head node receives the configuration information issued by the controller, the head node can obtain the IOAM head according to the Flow ID field and the Bitmap information (i.e. the Bitmap field content) in the configuration information, wherein the IOAM head comprises a 16-bit Flow ID field, an 8-bit Bitmap field and an 8-bit Reserved field, and the type and the corresponding definition of each bit in the Bitmap field in the IOAM head are listed in the following table 1.
TABLE 1
Illustratively, as can be seen from table 1, the device ID, packet loss, ingress and egress port time stamp, and other related information of the head node can be obtained according to the Bitmap information in the IOAM header.
And 101, when the head node finishes table lookup and encapsulates the VXLAN message, if the quintuple information is matched with the inner layer message quintuple corresponding to the VXLAN message, encapsulating an IOAM header generated according to the Flow ID and Bitmap information in the VXLAN message, copying an original Protocol field value of the VXLAN message into a Reserved field of the IOAM header, and modifying the Protocol field value of the VXLAN message into an IOAM specific identifier to obtain a detection message.
In one embodiment, the source host sends an Original message (i.e., an inner layer message) outwards, where the Original message indicates a message that is not encapsulated by VXLAN, and the message may be an Original ethernet Frame (Original L2 Frame), and a procedure of table lookup of the head node is described below, where it should be noted that in the embodiment of the present application, the table lookup indicates a query routing forwarding table, and the purpose is to determine a forwarding interface for forwarding the message to a next node.
When the original message reaches the head node, whether the original message needs to be subjected to flow following detection or not is determined by matching ACL rules, if so, a route forwarding table is queried to determine a next node (namely, a next hop), specifically, the head node can perform ECMP calculation based on a Protocol field value of the original message and corresponding quintuple information (namely, inner layer message quintuple), the ECMP calculation is performed for determining a better path from a plurality of paths between the head node and the next node, and further, a forwarding interface corresponding to the head node is determined from the route forwarding table based on the better path, and at the moment, the head node completes the table lookup.
Further, after the head node completes the table lookup, the original message is subjected to VXLAN encapsulation to obtain a VXLAN message, which may be exemplified by encapsulating a VXLAN Header (VXLAN Header) on the basis of the original message, and encapsulating the whole VXLAN frame in a user datagram protocol (User Datagram Protocol, UDP) message in a physical network, followed by an IP Header and a media access Control (MEDIA ACCESS Control Header). To distinguish from the original ethernet frame (original message) inside, the Outer encapsulation is all plus an Outer UDP header (Outer UDP), an Outer IP header (Outer IP), and an Outer MAC header (Outer MAC).
The Header node obtains the VXLAN packet, and encapsulates the IOAM Header obtained according to step 100 in the VXLAN packet, specifically, inserts the IOAM Header between the L3 and L4 port numbers of the Outer layer IP Header, and fig. 1C is a schematic diagram of encapsulating the IOAM Header in the VXLAN packet according to an embodiment of the present application, as shown in fig. 1C, in the VXLAN network, inserts the IOAM Header (IOAM Header) between the L3 and L4 port numbers of the Outer layer IP Header, where L3 corresponds to the Outer IP in the figure, and L4 corresponds to the Outer UDP in the figure.
Illustratively, in the process of encapsulating the IOAM header in the VXLAN message, the Protocol field content of the VXLAN message is copied into the Reserved field of the IOAM header, as shown in fig. 1D, where the Reserved field of the IOAM header after copying has been replaced by the Protocol field (the original Protocol in the corresponding diagram) of the VXLAN message, as shown in fig. 1E.
Meanwhile, the Protocol field content of the outer layer IP in the VXLAN message is modified into the IOAM specific identifier to obtain the detection message, and the two processes of copying the Protocol field content of the VXLAN message into the Reserved field of the IOAM Header and modifying the Protocol field content of the outer layer IP in the VXLAN message into the IOAM specific identifier can be performed simultaneously, as shown in FIG. 1F, the Protocol field content of the outer layer IP (corresponding to the IPv4 Header in the figure) is modified into the IOAM specific identifier (corresponding to the original IOAM Protocol in the figure).
For example, after obtaining the detection message and defining the forwarding behavior of the message, the detection message may be forwarded to the next node based on the forwarding-out interface corresponding to the head node.
It can be seen that, in the embodiment of the present application, the content of the Protocol field in the VXLAN message is copied to the Reserved field of the IOAM header, which can solve the problem that the Protocol and five-tuple information forwarding process detection message based on the VXLAN message may not be consistent with the original message forwarding path, and the problem that the ACL rule based on the original Protocol fails when the ACL rule is configured by the network device.
Step 102, the head node uses Bitmap information of the IOAM head in the detection message to report subscription information related to the head node for realizing stream-following detection to the controller, and forwards the detection message to the next node.
In the embodiment of the present application, after obtaining the detection packet according to step 101, the head node may report subscription information related to the head node to a controller or an operation and maintenance platform corresponding to the data center network to which the head node belongs, using Bitmap information (specific meaning is shown in table 1) of an IOAM header in the detection packet. Meanwhile, the head node forwards the detection message to the next node, wherein the next node can be gateway equipment in the data center network.
Illustratively, the subscription information related to the head node includes at least one parameter information of an access port, a time stamp, and a time delay in addition to the device ID and the Flow ID of the head node.
Here, the controller or the operation and maintenance platform subscribes the parameter information of each network device in the data center network in advance, after the controller obtains the subscription information corresponding to the reporting of the head node, the subscription information is analyzed and processed, and the quality condition of the current data center network is determined, so that the rapid fault perception and root cause positioning are realized, the network fine management is promoted, and the operation and maintenance precision of the data center network is improved.
The application provides a message processing method and system, wherein the method comprises the steps that a head node receives configuration information issued by a controller, determines Flow ID and Bitmap information required when an IOAM header is generated according to the configuration information, the configuration information is generated according to current-following detection requirements issued by a cloud platform, the configuration information comprises quintuple information, the head node is directly connected with a source host corresponding to the quintuple information, when the head node finishes table lookup and encapsulates the VXLAN message, if the quintuple information matches an inner layer message quintuple corresponding to the VXLAN message, the IOAM header generated according to the Flow ID and the Bitmap information is encapsulated in the VXLAN message, an original Protocol field value of the VXLAN message is copied into a Reserved field of the IOAM header, the Protocol field value of the VXLAN message is modified to be an IOAM specific identifier, the detection message is obtained, the head node utilizes the Bitmap information of the IOAM header in the detection message, subscription information for realizing current-following detection is sent to the controller, and the detection message is forwarded to the next node. It can be seen that when the IOAM header obtained according to the configuration information is encapsulated in the VXLAN message, the embodiment of the application copies the Protocol field content in the VXLAN message to the Reserved field of the IOAM header, and modifies the Protocol field of the VXLAN message into the IOAM specific identifier, so that when the forwarding interface of the detection message is determined later, ECMP calculation can be performed based on the Protocol field in the IOAM header, thus, consistency of the forwarding paths of the detection message and the VXLAN message can be ensured, accuracy of data reporting can be improved, and operation and maintenance accuracy of the data center network can be ensured.
In some embodiments, when a head node and a tail node corresponding to a VXLAN packet are respectively connected to different hosts on the same tenant virtual network in the same data center network (corresponding to scenario one), the method may further include, after the head node forwards the detection packet to the first gateway device, the first gateway device identifying a Protocol field value as an IOAM specific identifier, reporting subscription information related to the first gateway device for implementing flow-following detection to the controller by using Bitmap information of an IOAM header in the detection packet, and performing a1 reduction operation on a time-to-live TTL value in the detection packet, and when querying a next hop and forwarding out an interface, performing ECMP calculation by using the Protocol field value of the IOAM header in the detection packet and an offset value corresponding to the IOAM header.
In the embodiment of the application, the tail node is directly connected with the target host, the tail node represents a target VTEP directly connected with the target host, and the first gateway device represents gateway devices in a data center network to which the head node belongs.
Here, the port number information may be a TCP or UDP port number, and the forwarding egress interface represents a forwarding egress interface corresponding to the first gateway device, which represents a physical interface, and the next hop represents the next node (the next network device), that is, the detection packet needs to be forwarded from the forwarding egress interface corresponding to the first gateway device to the next network device.
For example, for scenario one, the procedure of the first gateway device querying the next hop and forwarding out interfaces is described, after the detection message arrives at the first gateway device, the Protocol field value of the IOAM header in the detection message and the offset value corresponding to the IOAM header may be used to obtain port number information for ECMP, where the ECMP calculation is performed to determine a preferred path from multiple paths from the first gateway device to the next node (i.e. the next hop), and further determine, based on the preferred path, the forwarding out interface corresponding to the first gateway device from the routing forwarding table, where the first gateway device completes the query of the next hop and forwarding out interfaces.
And then, when the first gateway equipment needs to forward the detection message, the detection message can be forwarded to the next node based on the forwarding-out interface corresponding to the first gateway equipment.
For instance, for scenario one, the first gateway device is not a VTEP, but an underway device. Firstly, determining whether a detection message is an IOAM type message or not based on the Protocol field content of an outer layer IP in the detection message, when the detection message is determined to be a common IP message, performing ECMP calculation and ACL matching based on the Protocol field and TCP or UDP port number in an IP header of the detection message, otherwise, when the detection message is determined to be the IOAM type message (namely, the Protocol field content is an IOAM specific identifier), reporting subscription information which is related to the first gateway device and is used for realizing stream following detection to a controller according to the Bitmap information of the IOAM header in the detection message by the first gateway device. Meanwhile, a subtraction operation is performed on the TTL value in the detection message, when the next hop is queried and an interface is forwarded out, a TCP or UDP port number is obtained based on the content of a Protocol field in the IOAM header and an offset value (offset value of 4 bytes of IOAM header length) corresponding to the IOAM header, and then ECMP calculation and ACL matching are performed according to the port number, and specific message processing is shown in FIG. 2A, and it can be seen that the TTL value in the detection message is 100 when the Underray device (first gateway device) is not passed, and the TTL value in the detection message is 99 after the Underray device is passed.
The method further comprises the steps that the first gateway equipment is utilized to forward the detection message to the tail node, the tail node utilizes Bitmap information of an IOAM head in the detection message to report subscription information which is related to the tail node and is used for realizing stream-following detection to the controller, an original Protocol field value of a Reserved field in the IOAM head is written back into a Protocol field of the detection message, the IOAM head in the detection message is removed, and the tail node sends the message with the IOAM head removed to the target host.
The method comprises the steps of establishing a source host, sending a detection message to a destination host, wherein the destination host represents the target host which establishes communication with the source host, after the detection message reaches a tail node, reporting subscription information related to the tail node and used for realizing stream-following detection according to Bitmap information of an IOAM head in the message, copying the IOAM head and a TTL value into a register, and unpacking the detection message, wherein unpacking the detection message can comprise the steps of writing an original Protocol field value of a Reserved field in the IOAM head back into a Protocol field of the message, unpacking the IOAM head in the detection message and unpacking VXLAN (virtual local area network) to obtain the original message, and finally, the tail node sends the original message to the destination host, and the specific message processing is shown in FIG. 2B.
Illustratively, because the tail node is directly connected to the destination host, the IOMA header and TTL values in the registers may be cleared at this time.
Illustratively, the subscription information related to the tail node includes at least one parameter information of an access port, a time stamp and a time delay in addition to the device ID and the Flow ID of the tail node.
In some embodiments, when the head node and the tail node corresponding to the VXLAN packet are respectively connected to different hosts on different tenant virtual networks in the same data center network (corresponding to the second scenario), the method may further include, after the head node forwards the detection packet to the first gateway device, when the VXLAN packet and the encapsulated IOAM header are removed, the first gateway device saves the IOAM header and the TTL value in the detection packet into a register, and when Bitmap information of the IOAM header in the detection packet is utilized, subscription information related to the first gateway device for implementing on-stream detection is reported to the controller, and when a new VXLAN packet is look-up and encapsulated, the first gateway device repackages the detection packet by using the IOAM header obtained from the register, the TTL value after performing the operation of subtracting 1, and the first VXLAN network identifier, and when the next hop and the forwarding out interface are queried, calculates the ECMP information by using the Protocol field value of the repackaged detection packet and the offset value of the IOAM header. Here, the purpose of the lookup table is to determine a forwarding egress interface for the first gateway device to forward the message to the next node in the case of scenario two.
Here, the first VXLAN network identifier (VXLAN Network Identifier, VNI) indicates an identifier of the tenant virtual network corresponding to the first gateway device outgoing interface, specifically corresponds to a VNI in the VXLAN header, and for the second scenario, the VNI value corresponding to the first gateway device incoming interface is different from the VNI value corresponding to the first gateway device outgoing interface, for example, as shown by referring to the dashed line in fig. 1A, the VNI value corresponding to the first gateway device incoming interface is 1, and the VNI value corresponding to the first gateway device outgoing interface is 2.
The method includes the steps of firstly, determining whether a detection message is an IOAM type message or not based on Protocol field content of an outer layer IP in the detection message, carrying out ECMP calculation and ACL matching based on Protocol field and TCP or UDP port number in an IP header of the message when the detection message is determined to be a common IP message, otherwise, determining that the detection message is an IOAM type message (namely, the Protocol field content is an IOAM specific identifier), copying the IOAM header and TTL value into a register by the first gateway device when the VXLAN message and the encapsulated IOAM header are removed, and reporting subscription information related to the first gateway device for realizing stream following detection to a controller according to Bitmap information of the IOAM header in the message, wherein VNI value in the VXLAN message is a VNI value corresponding to an input interface of the first gateway device.
Then, when looking up a table and encapsulating a new VXLAN packet, the new VXLAN packet is repackaged by using the IOAM header obtained from the register, the TTL value after performing the subtracting 1 operation, and the first VXLAN network identifier (VNI value corresponding to the tail node), where the VNI value in the VXLAN packet is the VNI value corresponding to the output interface of the first gateway device, and when the next hop is queried and the interface is forwarded, the TCP or UDP port number is obtained based on the Protocol field content in the IOAM header and the offset value corresponding to the IOAM header (offset value of 4 bytes of IOAM header length), and further, ECMP calculation and ACL matching are performed according to the port number, and as shown in fig. 2C, it can be seen that, when the VXLAN gateway (first gateway device) is not passed, the TTL value in the detection packet is 100, the VNI value in the detection packet is 11111, and when the VXLAN gateway (first gateway device) is passed, the TTL value in the repackaged detection packet is 99, and the VNI value is 22222.
For example, for scenario two, the process of querying the next hop and forwarding out the interface by the first gateway device is similar to scenario one, and will not be described here again.
The method further comprises the steps of forwarding the repackaged detection message to the tail node by using the first gateway device, reporting subscription information which is related to the tail node and is used for realizing stream-following detection to the controller by the tail node by using Bitmap information of an IOAM head in the repackaged detection message, writing an original Protocol field value of a Reserved field in the IOAM head back to a Protocol field of the detection message, removing the IOAM head in the repackaged detection message, and sending the message with the IOAM head removed to the target host by the tail node.
Here, the implementation manner of the repackaged detection packet after reaching the tail node is similar to the implementation manner of the detection packet after reaching the tail node in the first scenario, and will not be repeated herein.
In some embodiments, when the head node and the tail node corresponding to the VXLAN packet are respectively connected to different hosts in different data center networks (corresponding to scenario three), the method may further include, after the head node forwards the detection packet to the first gateway device, when the VXLAN packet and the encapsulated IOAM header are removed, the first gateway device saves the IOAM header and the TTL value in the detection packet into a register, reports subscription information related to the first gateway device for implementing on-stream detection to the controller by using Bitmap information of the IOAM header in the detection packet, and when looking up a table and encapsulating a new VXLAN packet, the first gateway device repackages the detection packet by using a first access value corresponding to the TTL value obtained from the register, the TTL value after performing a 1-reduction operation, the second VXLAN network identifier and a Flow ID field in the IOAM header, the first access value represents a preset public Flow identifier, and when querying a next and forwarding an interface, calculates an offset value of the IOAM header and the Protocol value in the repackaged detection packet. Here, the purpose of the lookup table is to determine a forwarding egress interface for the first gateway device to forward the message to the next node in case of scenario three.
For instance, for scenario three, the process of querying the next hop and forwarding out the interface by the first gateway device is similar to scenario one, and will not be described here again.
Here, the second VXLAN network identifier is used to uniquely identify a routing domain corresponding to the interworking of different tenant virtual networks between different data center networks, so as to implement independent planning of network identifications of different data center network tenants.
The method includes the steps of determining that a first gateway device is a VTEP (virtual local area network), determining whether the detection message is an IOAM type message or not based on Protocol field content of an outer layer IP (Internet Protocol) in the detection message, carrying out ECMP (electronic control Protocol) calculation and ACL (access control Protocol) matching based on Protocol field and TCP (transmission control Protocol) or UDP (user datagram Protocol) port number in an IP header of the message when the detection message is a common IP message, otherwise determining that the detection message is an IOAM type message (namely, the Protocol field content is an IOAM specific identifier), copying the IOAM header and TTL (transistor-transistor logic) value into a register when the VXLAN message and an encapsulated IOAM header are removed, reporting subscription information related to the first gateway device for realizing Flow detection to a controller according to Bitmap information of the IOAM header in the message, and determining that a VNI value in the VXLAN message is a VNI value corresponding to an input interface of the first gateway device, and a value corresponding to a Flow ID field in the IOAM header is a first scene or a second scene, namely, detecting Flow of the same network Flow in the first scene or second scene, and corresponding to the same data Flow.
Then, when looking up a table and encapsulating a new VXLAN packet, the detection packet is repackaged by using the IOAM header obtained from the register, the TTL value after performing the subtracting 1 operation, the second VXLAN network identifier (VNI value corresponding to C-Spine) and the first value corresponding to the Flow ID field, where the VNI value in the VXLAN packet is the second VXLAN network identifier, i.e., the VNI value corresponding to C-Spine, and when querying the next hop and forwarding out the interface, the TCP or UDP port number is obtained based on the Protocol field content in the IOAM header and the offset value (offset value of 4 bytes IOAM header length) corresponding to the IOAM header, and then ECMP calculation and ACL matching are performed according to the port number, and specific packet processing is as shown in fig. 2D, it can be seen that, when the VXLAN gateway (first gateway device) is not passed, the TTL value in the detection packet is 100, the VNI value is 11111, the value in the Flow ID field is 2000, and when the VXLAN gateway (first gateway device) is the second VNI value is the first VNI value, and when the detection packet is the TTL value in the first gateway device is the second VNI value is 2000, and when the first packet is the first field is the corresponding to the first value, and the firstfield is the fie value, and the firstfield is the value, and the value is 2000.
Further, the method can further comprise the steps that when the first gateway device forwards the repackaged detection message to the public node, the public node reports subscription information which is related to the public node and is used for realizing flow-following detection to the controller by utilizing Bitmap information of an IOAM header in the repackaged detection message, the TTL value in the repackaged detection message is updated to a value after 1 reduction operation is executed, the public node represents one node in the public VXLAN network, and when the next hop is queried and an interface is forwarded out, ECMP calculation is performed by utilizing a Protocol field value of the IOAM header in the repackaged detection message and offset value of the IOAM header.
For example, for scenario three, the process of inquiring the next hop and forwarding out the interface by the public node is described, when the detection message arrives at the public node, the Protocol field value of the IOAM header in the detection message and the offset value corresponding to the IOAM header may be used to obtain port number information for ECMP, where the ECMP calculation is performed to determine a preferred path from multiple paths between the public node and the next node (i.e. the next hop), and further determine, based on the preferred path, the forwarding out interface corresponding to the public node from the routing forwarding table, where the public node completes the inquiry of the next hop and forwarding out the interface.
And then, when the public node needs to forward the detection message, forwarding the detection message to the next node based on a forwarding-out interface corresponding to the public node.
Illustratively, the common node represents a node in the common VXLAN network, corresponding to C-Spine in fig. 1A. The processing manner of the detection message by the public node is similar to that of the detection message by the first gateway device in the first scenario, and is not described herein.
Illustratively, the subscription information related to the public node includes at least one parameter information of an access port, a time stamp, and a time delay in addition to the device ID and the Flow ID of the public node.
In some embodiments, the method may further include forwarding the repackaged detection packet to a second gateway device by using a common node, when the VXLAN packet and the encapsulated IOAM header are removed, the second gateway device saves the IOAM header and the TTL value in the repackaged detection packet in a register, and reports subscription information related to the second gateway device for implementing Flow detection to a controller by using Bitmap information of the IOAM header in the repackaged detection packet, and when the new VXLAN packet is searched and encapsulated, the second gateway device uses the IOAM header obtained from the register, the TTL value after continuing to perform the subtracting 1 operation, a third VXLAN network identifier, and a second value corresponding to a Flow ID field in the IOAM header, and encapsulates the detection packet again. Here, the purpose of the lookup table is to determine a forwarding egress interface for the second gateway device to forward the message to the next node in case of scenario three.
Here, the third VXLAN network identifier represents an identifier of a tenant virtual network corresponding to the second gateway device outgoing interface, for example, as shown by an un-bolded solid line in fig. 1A, a VNI value corresponding to the second gateway device incoming interface is 1, and a VNI value corresponding to the second gateway device outgoing interface is 3. The second value corresponding to the Flow ID field is used to characterize the Flow identifier corresponding to the data center network to which the second gateway device belongs, that is, the value of the Flow ID field in the corresponding IOAM header in the first scene or the second scene, referring to fig. 2d, the second value of the Flow ID field is 2000.
The second gateway device copies the IOAM header and TTL value to a register when removing the VXLAN message and the encapsulated IOAM header, and reports subscription information related to the second gateway device for realizing the detection along with the flow to the controller according to the Bitmap field of the IOAM header in the message, and then removes the IOAM header in the detection message, wherein the VNI value in the detection message is the VNI value corresponding to the public node.
And then, when looking up a table and packaging a new VXLAN message, packaging the detection message again by using the IOAM head obtained from the register, the TTL value after continuing to execute the 1 reduction operation, the third VXLAN network identifier (VNI value corresponding to the second gateway equipment outlet interface) and the second value corresponding to the Flow ID field, and packaging the detection message again by using the IOAM head obtained from the register, the TTL value after executing the 1 reduction operation, the second VXLAN network identifier (VNI value corresponding to the C-Spine) and the second value corresponding to the Flow ID field.
Illustratively, the subscription information related to the second gateway device may include at least one parameter information of an access port, a time stamp, and a time delay in addition to the device ID and the Flow ID of the second gateway device.
In some embodiments, the method may further include forwarding the repackaged detection message to the tail node by using the second gateway device, reporting, by the tail node, subscription information related to the tail node for implementing stream-following detection to the controller by using Bitmap information of an IOAM header in the repackaged detection message, writing back an original Protocol field value of a Reserved field in the IOAM header to a Protocol field of the detection message, removing the IOAM header in the repackaged detection message, and sending, by the tail node, the message with the IOAM header removed to the destination host.
Here, the implementation manner of the repackaged detection packet after reaching the tail node is similar to the implementation manner of the detection packet after reaching the tail node in the first scenario, and will not be repeated here.
In order to further embody the object of the present application, further description will be made on the basis of the above-described embodiments of the present application.
Fig. 3A is a schematic diagram of a structure of a first packet processing for a first scenario in an embodiment of the present application, as shown in fig. 3A, first, an original packet passes through VTEP1 (header node), VXLAN encapsulation is performed on the original packet on the node to obtain a VXLAN packet, and an IOAM header is encapsulated in the VXLAN packet to obtain a detection packet, where a VNI value in the detection packet is 1 (VPC 1 is an L3 VNI value of the present data center network), and then the detection packet is forwarded to VXLAN GW (first gateway device).
When the detection message arrives at the VXLAN GW (which is an Underlay device), the VXLAN GW reports subscription information which is related to the VXLAN GW and is used for realizing the detection along with the flow to the controller according to the Bitmap field of the IOAM header in the message. And when inquiring the next hop and forwarding out the interface, acquiring a TCP or UDP port number based on the content of a Protocol field in the IOAM header and an offset value (offset value of 4 bytes of IOAM header length) corresponding to the IOAM header, and further performing ECMP calculation and ACL matching according to the port number.
When the detection message reaches the VTEP2 (tail node), the VTEP2 reports subscription information related to the VTEP2 for realizing stream-following detection according to the Bitmap field of the IOAM header in the message, copies the IOAM header and the TTL value into a register, de-encapsulates the detection message to obtain an original message, and finally sends the original message to the VPC1-host2 (destination host), wherein the VTEP2 is directly connected with the destination host, so that the IOMA header and the TTL value in the register need to be cleared.
Fig. 3B is a schematic diagram of a structure of performing a message processing for a second scenario in an embodiment of the present application, as shown in fig. 3B, first, an original message passes through VTEP1 (header node), VXLAN encapsulation is performed on the original message on the node to obtain a VXLAN message, and an IOAM header is encapsulated in the VXLAN message to obtain a detection message, where a VNI value in the detection message is 1 (VPC 1 is an L3 VNI value of the present data center network), and then the detection message is forwarded to VXLAN GW (first gateway device).
When determining that the detection message reaches the VXLAN GW (VTEP), the VXLAN GW copies the IOAM header and the TTL value into a register, reports subscription information which is related to the VXLAN GW and is used for realizing the detection along with the flow to a controller according to a Bitmap field of the IOAM header in the message, and then removes the IOAM header in the detection message. The original IOMA header and TTL value are repackaged in the VXLAN message, meanwhile, the VNI value is changed into 2 (the L3 VNI value of the VPC2 in the data center network), when the next hop is queried and an interface is forwarded out, the TCP or UDP port number is obtained based on the content of a Protocol field in the IOAM header and an offset value (the offset value of the length of the 4-byte IOAM header) corresponding to the IOAM header, and then ECMP calculation and ACL matching are carried out according to the port number.
When the detection message reaches the VTEP2 (tail node), the VTEP2 reports subscription information related to the VTEP2 for realizing stream-following detection according to the Bitmap field of the IOAM header in the message, copies the IOAM header and the TTL value into a register, de-encapsulates the detection message to obtain an original message, and finally sends the original message to the VPC2-host3 (destination host), wherein the VTEP2 is directly connected with the destination host, so that the IOMA header and the TTL value in the register need to be cleared.
Fig. 3C is a schematic structural diagram of a packet processing for a third scenario in an embodiment of the present application, as shown in fig. 3C, first, an original packet passes through a VTEP1 node (header node), and VXLAN packets are performed on the original packet on the node to obtain a VXLAN packet, and an IOAM header is encapsulated in the VXLAN packet to obtain a detection packet, where a VNI value in the detection packet is 1 (VPC 1 is an L3 VNI value of the present data center network), and then the detection packet is forwarded to a VXLAN GW (first gateway device).
When determining that the detection message reaches the VXLAN GW1 (VTEP), the VXLAN GW copies the IOAM header and the TTL value to the register, and reports subscription information for realizing flow-following detection related to the VXLAN GW to the controller according to the Bitmap field of the IOAM header in the message, and then removes the IOAM header in the detection message. The method comprises the steps of repackaging an original IOMA head and a TTL value in a VXLAN message, changing the VNI value into 4 (VNI value corresponding to C-Spine) according to VNI MAPPING, replacing an original value (a second value corresponding to a Flow ID field) corresponding to a Flow ID field in the POD with a value (a first value corresponding to a Flow ID field) corresponding to a Flow ID field between the PODs based on a Flow ID mapping table configured by a controller, and acquiring TCP or UDP port numbers based on the content of a Protocol field in an IOAM head and an offset value (an offset value of 4-byte IOAM head length) when inquiring the next hop and forwarding an interface, and further carrying out ECMP calculation and ACL matching according to the port numbers.
When the detection message reaches the C-spin (not the VTEP), the C-spin reports subscription information related to the VXLAN GW for realizing the detection along with the flow to the controller according to the Bitmap field of the IOAM header in the message. And when inquiring the next hop and forwarding out the interface, acquiring a TCP or UDP port number based on the content of a Protocol field in the IOAM header and an offset value (offset value of 4 bytes of IOAM header length) corresponding to the IOAM header, and further performing ECMP calculation and ACL matching according to the port number.
When the detection message arrives at the VXLAN GW2 (second gateway device), the VXLAN GW copies the IOAM header and the TTL value to the register, and reports subscription information for implementing the flow-following detection related to the VXLAN GW to the controller according to the Bitmap field of the IOAM header in the message, and then removes the IOAM header in the detection message. The method comprises the steps of repackaging an original IOMA head and a TTL value in a VXLAN message, changing a VNI value into 3 (an L3 VNI value of VPC3 in a data center network), replacing a value of a Flow ID field (a first value corresponding to the Flow ID field) with a value in the POD (a second value corresponding to the Flow ID field) based on a mapping table maintained by a local VXLAN gateway, and further realizing allocation decoupling of the Flow IDs among different PODs while finishing end-to-end traffic detection.
When the detection message reaches the VTEP3 (tail node), the VTEP2 reports subscription information related to the VTEP2 for realizing stream-following detection according to the Bitmap field of the IOAM header in the message, copies the IOAM header and the TTL value into a register, de-encapsulates the detection message to obtain an original message, and finally sends the original message to the VPC3-host4 (destination host), wherein the VTEP2 is directly connected with the destination host, so that the IOMA header and the TTL value in the register need to be cleared.
Fig. 3D is a flowchart of another message processing method according to an embodiment of the present application, as shown in fig. 1B, where the flowchart may include:
and step A1, judging whether the node is a head node or not.
After the message reaches a certain network device in the data center network, it needs to be judged whether the network device reached by the message is a head node, if so, step A2 is executed, otherwise, step A3 is executed.
And step A2, encapsulating the IOAM header.
The method includes the steps of receiving a message, judging whether the message reaches a head node, indicating that the message is an original message, encapsulating the original message by using a VXLAN to obtain the VXLAN message, encapsulating an IOAM head in the VXLAN message, copying the Protocol field content of the VXLAN message into a Reserved field of the IOAM head, and facilitating subsequent ECMP calculation and ACL matching.
And A3, judging whether the VTEP is the VTEP.
The method includes the steps of (a) executing step (a) 4 if the network device reached by the message is a detection message, and executing step (A5) if the network device reached by the message is a detection message.
And step A4, performing first processing on the detection message.
For example, after the detection message reaches the non-VTEP (corresponding to the above C-Spine), the C-Spine uses the IOAM header in the detection message to report the corresponding subscription information to the controller, and updates the TTL value in the detection message to a value after the subtracting 1 operation is performed, and forwards the value.
And step A5, judging whether the node is a tail node or not.
In an exemplary embodiment, if the network device that the detection packet arrives at is not a head node or a VTEP, the method continues to determine whether the network device is a tail node, if yes, step A6 is performed, and if not, step A7 is performed.
And step A6, performing second processing on the detection message.
When the detection message reaches the tail node, the tail node reports corresponding subscription information according to the Bitmap field of the IOAM header in the message, and decapsulates the detection message to obtain an original message, and finally, forwards the original message to the target host.
And A7, judging whether the flow is the flow in the POD.
In an exemplary embodiment, if the network device reached by the detection packet is not a head node, is not a VTEP, is not a tail node, it is determined whether the traffic corresponding to the detection packet is POD traffic, if yes, step A8 is executed, and if not, step A9 is executed. Here, the POD flow rate indicates a flow rate in the same data center network, that is, it is determined whether or not a flow rate corresponding to the detection packet is a flow rate in the same data center network.
And step A8, performing third processing on the detection message.
The method includes the steps of detecting that a Flow corresponding to a message is a Flow in the same data center network, namely, corresponding to a second scene, reporting corresponding subscription information by network equipment in which the message is located according to a Bitmap field of an IOAM header in the message, copying the IOAM header and a TTL value into a register, removing the IOAM header in the detection message, checking and forwarding to determine an interface, and if the value corresponding to a Flow ID field is determined to be empty, not changing the value corresponding to the Flow ID field, and repackaging the original IOMA header and the TTL value in a VXLAN message.
And step A9, performing fourth processing on the detection message.
The method includes the steps of detecting that a Flow corresponding to a message is not the Flow in the same data center network, namely, corresponding to the scene III, at the moment, the network equipment in which the message is located reports corresponding subscription information according to a Bitmap field of an IOAM header in the message, copies the IOAM header and a TTL value into a register, removes the IOAM header in the detection message, checks and forwards the IOAM header to determine an interface, at the moment, if the value corresponding to a Flow ID field is not empty, changing the value corresponding to the Flow ID field, and repackaging the original IOMA header and the TTL value in a VXLAN message.
It can be seen that in the embodiment of the application, the Reserved field of the IOAM header is used for backing up the content of the original Protocol field, ensuring that the transmission path of the detection message is accurate and the ACL policy is correctly matched, and simultaneously introducing different values of Flow ID for distinguishing the processing mechanism of the Flow between the data center networks and in the data center networks, so as to realize the allocation decoupling of the Flow ID between different PODs.
The application also provides a message processing system, which comprises a head node, wherein,
The head node is used for receiving configuration information issued by the controller, determining Flow ID and Bitmap information required when generating the IOAM head according to the configuration information, wherein the configuration information is generated according to the Flow-following detection requirement issued by the cloud platform, the configuration information comprises five-tuple information, and the head node is directly connected with a source host corresponding to the five-tuple information;
When the header node is used for completing table lookup and packaging a VXLAN message, if the quintuple information is matched with an inner layer message quintuple corresponding to the VXLAN message, packaging an IOAM header generated according to the Flow ID and Bitmap information in the VXLAN message, copying an original Protocol field value of the VXLAN message into a Reserved field of the IOAM header, and modifying the Protocol field value of the VXLAN message into an IOAM specific identifier to obtain a detection message;
the head node is configured to report subscription information related to the head node for implementing flow-following detection to the controller by using Bitmap information of an IOAM header in the detection packet, and forward the detection packet to a next node.
In some embodiments, the system further comprises a first gateway device in case the head node and the tail node corresponding to the VXLAN message are respectively connected to different hosts on the same tenant virtual network in the same data center network, wherein,
After the head node forwards the detection message to a first gateway device, the first gateway device is configured to identify that the Protocol field value is an IOAM specific identifier, report subscription information related to the first gateway device for implementing flow-following detection to the controller by using Bitmap information of an IOAM header in the detection message, and perform a1 reduction operation on a time-to-live TTL value in the detection message;
And the first gateway device is used for acquiring port number information by using a Protocol field value of an IOAM head in the detection message and an offset value corresponding to the IOAM head to perform equal-cost multipath ECMP calculation when inquiring a next hop and forwarding an interface.
Further, the system also comprises a tail node, which is directly connected with the destination host, wherein,
Forwarding the detection message to the tail node by using the first gateway equipment;
The tail node is configured to, using Bitmap information of an IOAM header in the detection packet, report subscription information related to the tail node for implementing stream-following detection to the controller, and write back an original Protocol field value of a Reserved field in the IOAM header to a Protocol field of the detection packet, and tear down the IOAM header in the detection packet;
and the tail node is used for sending the message for removing the IOAM header to the target host.
In some embodiments, the system further comprises a first gateway device in the case where the head node and the tail node corresponding to the VXLAN message are respectively connected to different hosts on different tenant virtual networks in the same data center network, wherein,
After the header node forwards the detection message to a first gateway device, when removing a VXLAN message and an encapsulated IOAM header, the first gateway device is used for storing the IOAM header and a TTL value in the detection message into a register, and using Bitmap information of the IOAM header in the detection message to report subscription information related to the first gateway device for realizing stream-following detection to the controller;
when looking up a table and packaging a new VXLAN message, the first gateway device is configured to repackage the detection message by using the IOAM header obtained from the register, the TTL value after performing the subtracting 1 operation, and a first VXLAN network identifier, where the first VXLAN network identifier represents an identifier of a tenant virtual network corresponding to an outgoing interface of the first gateway device;
And the first gateway device is used for acquiring port number information by using a Protocol field value of the IOAM head in the repackaged detection message and an offset value of the IOAM head to perform ECMP calculation when inquiring the next hop and forwarding out an interface.
Further, the system also comprises a tail node, which is directly connected with the destination host, wherein,
Forwarding the repackaged detection message to the tail node by using the first gateway device;
The tail node is configured to report subscription information related to the tail node for implementing stream-following detection to the controller by using Bitmap information of an IOAM header in the repackaged detection packet, and write back an original Protocol field value of a Reserved field in the IOAM header to a Protocol field of the detection packet, so as to tear down the IOAM header in the repackaged detection packet;
and the tail node is used for sending the message for removing the IOAM header to the target host.
In some embodiments, the system further comprises a first gateway device in the case where the head node and the tail node corresponding to the VXLAN message are respectively connected to different hosts in different data center networks, wherein,
After the header node forwards the detection message to a first gateway device, when removing a VXLAN message and an encapsulated IOAM header, the first gateway device is used for storing the IOAM header and a TTL value in the detection message into a register, and using Bitmap information of the IOAM header in the detection message to report subscription information related to the first gateway device for realizing stream-following detection to the controller;
When looking up a table and packaging a new VXLAN message, the first gateway device is used for repackaging the detection message by using an IOAM header obtained from the register, a TTL value after performing 1 subtracting operation, a second VXLAN network identifier and a first value corresponding to a Flow ID field in the IOAM header, wherein the first value represents a preset public Flow identifier;
And the first gateway device is used for acquiring port number information by using a Protocol field value of the IOAM head in the repackaged detection message and an offset value of the IOAM head to perform ECMP calculation when inquiring the next hop and forwarding out an interface.
Further, the system comprises a common node, wherein,
When the first gateway device forwards the repackaged detection message to a public node, the public node is used for reporting subscription information related to the public node and used for realizing stream-following detection to the controller by utilizing Bitmap information of an IOAM header in the repackaged detection message, and updating a TTL value in the repackaged detection message to a value after performing a subtracting 1 operation, wherein the public node represents one node in the public VXLAN network;
And the public node is used for acquiring port number information by using the Protocol field value of the IOAM head in the repackaged detection message and the offset value of the IOAM head to perform ECMP calculation when inquiring the next hop and forwarding out an interface.
Further, the system further comprises a second gateway device, wherein,
Forwarding the repackaged detection message to a second gateway device by using the public node, wherein when the VXLAN message and the encapsulated IOAM header are removed, the second gateway device is used for storing the IOAM header and TTL value in the repackaged detection message into a register, and reporting subscription information which is related to the second gateway device and is used for realizing stream-following detection to the controller by using Bitmap information of the IOAM header in the repackaged detection message;
When the second gateway device is used for looking up a table and packaging a new VXLAN message, the second gateway device packages the detection message again by using the IOAM header obtained from the register, the TTL value after continuing to execute the subtracting 1 operation, a third VXLAN network identifier and a second value corresponding to a Flow ID field in the IOAM header, wherein the third VXLAN network identifier represents an identifier of a tenant virtual network corresponding to an outgoing interface of the second gateway device, and the second value is used for representing a Flow identifier corresponding to a data center network to which the second gateway device belongs.
Further, the system also comprises a tail node, which is directly connected with the destination host, wherein,
Forwarding the repackaged detection message to the tail node by using the second gateway equipment;
The tail node is configured to, using Bitmap information of an IOAM header in the repackaged detection packet, report subscription information related to the tail node for implementing stream-following detection to the controller, and write back an original Protocol field value of a Reserved field in the IOAM header to a Protocol field of the detection packet, and tear down the IOAM header in the repackaged detection packet;
and the tail node is used for sending the message for removing the IOAM header to the target host.
In some embodiments, the subscription information includes a device ID and a Flow ID of the head node.
The foregoing description of various embodiments is intended to highlight differences between the various embodiments, which may be the same or similar to each other by reference, and is not repeated herein for the sake of brevity.
The methods disclosed in the method embodiments provided by the application can be arbitrarily combined under the condition of no conflict to obtain a new method embodiment.
The features disclosed in the embodiments of the products provided by the application can be combined arbitrarily under the condition of no conflict to obtain new embodiments of the products.
The features disclosed in the embodiments of the method or the device provided by the application can be arbitrarily combined under the condition of no conflict to obtain a new embodiment of the method or the device.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above is only a preferred embodiment of the present application, and is not intended to limit the scope of the present application.

Claims (11)

1.一种报文处理方法,其特征在于,所述方法包括:1. A message processing method, characterized in that the method comprises: 头节点接收控制器下发的配置信息,根据所述配置信息,确定在生成带内操作管理维护IOAM头时所需的Flow ID和Bitmap信息;所述配置信息是根据云平台下发的随流检测需求生成的,所述配置信息包括五元组信息,所述头节点与所述五元组信息对应源主机直连;The head node receives configuration information issued by the controller and, based on the configuration information, determines the flow ID and bitmap information required for generating an in-band operation, management, and maintenance (IOAM) header. The configuration information is generated based on the in-flow detection requirements issued by the cloud platform and includes five-tuple information. The head node is directly connected to the source host corresponding to the five-tuple information. 在所述头节点完成查表并封装虚拟扩展局域网VXLAN报文时,如果所述五元组信息匹配所述VXLAN报文对应的内层报文五元组,则将根据所述Flow ID和Bitmap信息生成的IOAM头封装在所述VXLAN报文中,并将所述VXLAN报文的原始Protocol字段值拷贝到所述IOAM头的Reserved字段中,修改所述VXLAN报文的Protocol字段值为IOAM特定标识,得到检测报文;When the head node completes the table lookup and encapsulates the Virtual Extended Local Area Network (VXLAN) message, if the quintuple information matches the inner message quintuple corresponding to the VXLAN message, the head node encapsulates the IOAM header generated according to the Flow ID and the bitmap information into the VXLAN message, copies the original Protocol field value of the VXLAN message to the Reserved field of the IOAM header, modifies the Protocol field value of the VXLAN message to the IOAM specific identifier, and obtains a detection message; 所述头节点利用所述检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述头节点相关的用于实现随流检测的订阅信息,并将所述检测报文转发至下一节点。The head node uses the Bitmap information of the IOAM header in the detection message to report subscription information related to the head node for implementing follow-up detection to the controller, and forwards the detection message to the next node. 2.根据权利要求1所述的方法,其特征在于,在所述VXLAN报文对应的头节点和尾节点分别连接同一数据中心网络中的同一租户虚拟网络上的不同主机的情况下,所述方法还包括:2. The method according to claim 1, wherein, when the head node and the tail node corresponding to the VXLAN message are respectively connected to different hosts on the same tenant virtual network in the same data center network, the method further comprises: 在所述头节点将所述检测报文转发至第一网关设备后,所述第一网关设备识别所述Protocol字段值为IOAM特定标识,利用所述检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述第一网关设备相关的用于实现随流检测的订阅信息,并对所述检测报文中的生存时间TTL值执行减1操作;After the head node forwards the detection message to the first gateway device, the first gateway device identifies the Protocol field value as an IOAM specific identifier, uses the bitmap information of the IOAM header in the detection message, reports subscription information related to the first gateway device for implementing in-stream detection to the controller, and decrements the TTL value in the detection message by 1. 在查询下一跳及转发出接口时,利用所述检测报文中IOAM头的Protocol字段值以及所述IOAM头对应的偏移值获取端口号信息进行等价多路径ECMP计算。When querying the next hop and forwarding outbound interface, the Protocol field value of the IOAM header in the detection message and the offset value corresponding to the IOAM header are used to obtain port number information for performing equal cost multi-path (ECMP) calculation. 3.根据权利要求2所述的方法,其特征在于,所述尾节点与目的主机直连,所述方法还包括:3. The method according to claim 2, wherein the egress node is directly connected to the destination host, and the method further comprises: 利用所述第一网关设备将所述检测报文转发至所述尾节点;forwarding the detection message to the egress node using the first gateway device; 所述尾节点利用所述检测报文中的IOAM头的Bitmap信息,向所述控制器上报与所述尾节点相关的用于实现随流检测的订阅信息后,将所述IOAM头中Reserved字段的原始Protocol字段值回写至所述检测报文的Protocol字段中,拆除所述检测报文中的IOAM头;The egress node uses the bitmap information of the IOAM header in the detection message to report subscription information related to the egress node for implementing follow-up detection to the controller, and then writes back the original Protocol field value of the Reserved field in the IOAM header to the Protocol field of the detection message, removing the IOAM header in the detection message. 所述尾节点将拆除IOAM头的报文发送给所述目的主机。The tail node sends the message with the IOAM header removed to the destination host. 4.根据权利要求1所述的方法,其特征在于,在所述VXLAN报文对应的头节点和尾节点分别连接同一数据中心网络中的不同租户虚拟网络上的不同主机的情况下,所述方法还包括:4. The method according to claim 1, wherein, when the head node and the tail node corresponding to the VXLAN message are respectively connected to different hosts on different tenant virtual networks in the same data center network, the method further comprises: 在所述头节点将所述检测报文转发至第一网关设备后,在拆除VXLAN报文及封装的IOAM头时,所述第一网关设备将所述检测报文中的IOAM头和TTL值保存至寄存器中,在利用所述检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述第一网关设备相关的用于实现随流检测的订阅信息;After the head node forwards the detection message to the first gateway device, when removing the VXLAN message and the encapsulated IOAM header, the first gateway device saves the IOAM header and TTL value in the detection message into a register, and uses the bitmap information of the IOAM header in the detection message to report subscription information related to the first gateway device for implementing flow detection to the controller; 查表并封装新的VXLAN报文时,所述第一网关设备利用从所述寄存器中获取的IOAM头、执行减1操作后的TTL值以及第一VXLAN网络标识符,重新封装所述检测报文;所述第一VXLAN网络标识符表示所述第一网关设备出接口对应的租户虚拟网络的标识符;When looking up the table and encapsulating a new VXLAN message, the first gateway device re-encapsulates the detection message using the IOAM header obtained from the register, the TTL value after performing a decrement operation by 1, and the first VXLAN network identifier; the first VXLAN network identifier represents an identifier of the tenant virtual network corresponding to the outbound interface of the first gateway device; 在查询下一跳及转发出接口时,利用所述重新封装的检测报文中IOAM头的Protocol字段值以及所述IOAM头的偏移值获取端口号信息进行ECMP计算。When querying the next hop and forwarding out interface, the Protocol field value of the IOAM header in the re-encapsulated detection message and the offset value of the IOAM header are used to obtain port number information for ECMP calculation. 5.根据权利要求4所述的方法,其特征在于,所述尾节点与目的主机直连,所述方法还包括:5. The method according to claim 4, wherein the egress node is directly connected to the destination host, and the method further comprises: 利用所述第一网关设备将所述重新封装的检测报文转发至所述尾节点;forwarding the re-encapsulated detection message to the egress node using the first gateway device; 所述尾节点利用所述重新封装的检测报文中的IOAM头的Bitmap信息,向所述控制器上报与所述尾节点相关的用于实现随流检测的订阅信息后,将所述IOAM头中Reserved字段的原始Protocol字段值回写至所述检测报文的Protocol字段中,拆除所述重新封装的检测报文中的IOAM头;The egress node uses the bitmap information of the IOAM header in the re-encapsulated detection message to report subscription information related to the egress node for implementing in-stream detection to the controller, writes back the original Protocol field value of the Reserved field in the IOAM header to the Protocol field of the detection message, and removes the IOAM header in the re-encapsulated detection message; 所述尾节点将拆除IOAM头的报文发送给所述目的主机。The tail node sends the message with the IOAM header removed to the destination host. 6.根据权利要求1所述的方法,其特征在于,在所述VXLAN报文对应的头节点和尾节点分别连接不同数据中心网络中的不同主机的情况下,所述方法还包括:6. The method according to claim 1, wherein, when the head node and the tail node corresponding to the VXLAN message are respectively connected to different hosts in different data center networks, the method further comprises: 在所述头节点将所述检测报文转发至第一网关设备后,在拆除VXLAN报文及封装的IOAM头时,所述第一网关设备将所述检测报文中的IOAM头和TTL值保存至寄存器中,在利用所述检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述第一网关设备相关的用于实现随流检测的订阅信息;After the head node forwards the detection message to the first gateway device, when removing the VXLAN message and the encapsulated IOAM header, the first gateway device saves the IOAM header and TTL value in the detection message into a register, and uses the bitmap information of the IOAM header in the detection message to report subscription information related to the first gateway device for implementing flow detection to the controller; 查表并封装新的VXLAN报文时,所述第一网关设备利用从所述寄存器中获取的IOAM头、执行减1操作后的TTL值、第二VXLAN网络标识符以及所述IOAM头中Flow ID字段对应的第一取值,重新封装所述检测报文;所述第一取值表示预设的公共流量标识;所述第二VXLAN网络标识符用来唯一标识不同数据中心网络间不同租户虚拟网络互通对应路由域,用来实现不同数据中心网络租户网络标识独立规划;When looking up the table and encapsulating a new VXLAN message, the first gateway device re-encapsulates the detection message using the IOAM header obtained from the register, the TTL value after performing a decrement operation, the second VXLAN network identifier, and the first value corresponding to the Flow ID field in the IOAM header; the first value represents a preset public flow identifier; the second VXLAN network identifier is used to uniquely identify the corresponding routing domain of the interconnection between different tenant virtual networks in different data center networks, and is used to implement independent planning of network identifiers for tenants in different data center networks; 在查询下一跳及转发出接口时,利用所述重新封装的检测报文中IOAM头的Protocol字段值以及所述IOAM头的偏移值获取端口号信息进行ECMP计算。When querying the next hop and forwarding out interface, the Protocol field value of the IOAM header in the re-encapsulated detection message and the offset value of the IOAM header are used to obtain port number information for ECMP calculation. 7.根据权利要求6所述的方法,其特征在于,所述方法还包括:7. The method according to claim 6, further comprising: 在所述第一网关设备将所述重新封装的检测报文转发至公共节点时,所述公共节点利用所述重新封装的检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述公共节点相关的用于实现随流检测的订阅信息,并将所述重新封装的检测报文中TTL值更新为执行减1操作后的值;所述公共节点表示公共VXLAN网络中的一个节点;When the first gateway device forwards the re-encapsulated detection message to the public node, the public node uses the bitmap information of the IOAM header in the re-encapsulated detection message to report subscription information related to the public node for implementing in-flow detection to the controller, and updates the TTL value in the re-encapsulated detection message to a value after performing a decrement operation; the public node represents a node in the public VXLAN network; 在查询下一跳及转发出接口时,利用所述重新封装的检测报文中IOAM头的Protocol字段值以及所述IOAM头的偏移值获取端口号信息进行ECMP计算。When querying the next hop and forwarding out interface, the Protocol field value of the IOAM header in the re-encapsulated detection message and the offset value of the IOAM header are used to obtain port number information for ECMP calculation. 8.根据权利要求7所述的方法,其特征在于,所述方法还包括:8. The method according to claim 7, further comprising: 利用所述公共节点将所述重新封装的检测报文转发至第二网关设备,在拆除VXLAN报文及封装的IOAM头时,所述第二网关设备将所述重新封装的检测报文中的IOAM头和TTL值保存至寄存器中,在利用所述重新封装的检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述第二网关设备相关的用于实现随流检测的订阅信息;The re-encapsulated detection message is forwarded to the second gateway device by using the public node. When the VXLAN message and the encapsulated IOAM header are removed, the second gateway device saves the IOAM header and the TTL value in the re-encapsulated detection message into a register, and reports subscription information related to the second gateway device for implementing in-flow detection to the controller by using the bitmap information of the IOAM header in the re-encapsulated detection message; 查表并封装新的VXLAN报文时,所述第二网关设备利用从所述寄存器中获取的IOAM头、继续执行减1操作后的TTL值、第三VXLAN网络标识符以及所述IOAM头中Flow ID字段对应的第二取值,再次封装所述检测报文;所述第三VXLAN网络标识符表示所述第二网关设备出接口对应的租户虚拟网络的标识符;所述第二取值用于表征所述第二网关设备所属数据中心网络对应的流量标识。When looking up the table and encapsulating a new VXLAN message, the second gateway device uses the IOAM header obtained from the register, the TTL value after continuing to perform the subtraction operation, the third VXLAN network identifier, and the second value corresponding to the Flow ID field in the IOAM header to encapsulate the detection message again; the third VXLAN network identifier represents the identifier of the tenant virtual network corresponding to the outbound interface of the second gateway device; the second value is used to represent the flow identifier corresponding to the data center network to which the second gateway device belongs. 9.根据权利要求8所述的方法,其特征在于,所述尾节点与目的主机直连,所述方法还包括:9. The method according to claim 8, wherein the egress node is directly connected to the destination host, and the method further comprises: 利用所述第二网关设备将所述再次封装的检测报文转发至所述尾节点;forwarding the re-encapsulated detection message to the egress node using the second gateway device; 所述尾节点利用所述再次封装的检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述尾节点相关的用于实现随流检测的订阅信息后,将所述IOAM头中Reserved字段的原始Protocol字段值回写至所述检测报文的Protocol字段中,拆除所述再次封装的检测报文中的IOAM头;The egress node uses the bitmap information of the IOAM header in the re-encapsulated detection message to report subscription information related to the egress node for implementing in-stream detection to the controller, writes back the original Protocol field value of the Reserved field in the IOAM header to the Protocol field of the detection message, and removes the IOAM header in the re-encapsulated detection message; 所述尾节点将拆除IOAM头的报文发送给所述目的主机。The tail node sends the message with the IOAM header removed to the destination host. 10.根据权利要求1所述的方法,其特征在于,所述订阅信息包括头节点的设备身份标识号ID和Flow ID。10. The method according to claim 1, wherein the subscription information includes a device identification number (ID) and a flow ID of the head node. 11.一种报文处理系统,其特征在于,所述报文处理系统包括头节点,其中,所述头节点用于接收控制器下发的配置信息,根据所述配置信息,确定在生成IOAM头时所需的Flow ID和Bitmap信息;所述配置信息是根据云平台下发的随流检测需求生成的,所述配置信息包括五元组信息,所述头节点与所述五元组信息对应源主机直连;11. A message processing system, characterized in that the message processing system includes a head node, wherein the head node is used to receive configuration information issued by a controller and, based on the configuration information, determine the flow ID and bitmap information required when generating an IOAM header; the configuration information is generated based on the flow detection requirements issued by the cloud platform, the configuration information includes quintuple information, and the head node is directly connected to the source host corresponding to the quintuple information; 所述头节点用于完成查表并封装VXLAN报文时,如果所述五元组信息匹配所述VXLAN报文对应的内层报文五元组,则将根据所述Flow ID和Bitmap信息生成的IOAM头封装在所述VXLAN报文中,并将所述VXLAN报文的原始Protocol字段值拷贝到所述IOAM头的Reserved字段中,修改所述VXLAN报文的Protocol字段值为IOAM特定标识,得到检测报文;When the head node completes the table lookup and encapsulates the VXLAN message, if the quintuple information matches the inner message quintuple corresponding to the VXLAN message, the head node encapsulates the IOAM header generated according to the Flow ID and the bitmap information into the VXLAN message, copies the original Protocol field value of the VXLAN message to the Reserved field of the IOAM header, modifies the Protocol field value of the VXLAN message to the IOAM specific identifier, and obtains a detection message; 所述头节点用于利用所述检测报文中IOAM头的Bitmap信息,向所述控制器上报与所述头节点相关的用于实现随流检测的订阅信息,并将所述检测报文转发至下一节点。The head node is configured to report subscription information related to the head node for implementing follow-up detection to the controller by using the Bitmap information of the IOAM header in the detection message, and forward the detection message to the next node.
CN202111350114.5A 2021-11-15 2021-11-15 A message processing method and system Active CN116132555B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111350114.5A CN116132555B (en) 2021-11-15 2021-11-15 A message processing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111350114.5A CN116132555B (en) 2021-11-15 2021-11-15 A message processing method and system

Publications (2)

Publication Number Publication Date
CN116132555A CN116132555A (en) 2023-05-16
CN116132555B true CN116132555B (en) 2025-08-26

Family

ID=86306841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111350114.5A Active CN116132555B (en) 2021-11-15 2021-11-15 A message processing method and system

Country Status (1)

Country Link
CN (1) CN116132555B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119276949B (en) * 2023-07-07 2025-12-12 中国电信股份有限公司技术创新中心 Message processing method, device, readable storage medium and computer program product
CN119544241A (en) * 2023-08-29 2025-02-28 华为技术有限公司 Message detection method, electronic device, system and computer-readable storage medium
CN117728927B (en) * 2024-02-18 2024-05-10 南京风启科技有限公司 Variable-length message processing time delay detection method based on domain identification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371736A (en) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 iOAM information processing method, iOAM information processing device and computer readable storage medium
CN113079091A (en) * 2020-01-03 2021-07-06 华为技术有限公司 Active stream following detection method, network equipment and communication system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969395B (en) * 2009-07-28 2013-02-27 华为技术有限公司 Method for configuring code, method and system for detecting path and network equipment
CN109412922B (en) * 2017-08-15 2021-07-20 华为技术有限公司 Method, forwarding device, controller and system for transmitting message
CN114553746B (en) * 2019-05-16 2025-04-08 华为技术有限公司 Message detection method, device and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371736A (en) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 iOAM information processing method, iOAM information processing device and computer readable storage medium
CN113079091A (en) * 2020-01-03 2021-07-06 华为技术有限公司 Active stream following detection method, network equipment and communication system

Also Published As

Publication number Publication date
CN116132555A (en) 2023-05-16

Similar Documents

Publication Publication Date Title
US11979322B2 (en) Method and apparatus for providing service for traffic flow
CN107911258B (en) SDN network-based security resource pool implementation method and system
EP3808040B1 (en) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
EP3677000B1 (en) Method and system for tracing packets in software defined networks
US11374862B2 (en) Packet sending and processing method and apparatus, PE node, and node
US10587492B2 (en) Method and apparatus for tracing paths in service function chains
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
CN108702331B (en) Integration of SR application segments with Service Function Chaining (SFC) header metadata
US11296972B2 (en) Scalable network path tracing
CN107920023B (en) Method and system for realizing security resource pool
CN108702326B (en) Method, apparatus, and non-transitory machine-readable medium for detecting SDN control plane loops
CN107078950B (en) Method, apparatus, and computer-readable storage medium for establishing a service chain
US9843504B2 (en) Extending OpenFlow to support packet encapsulation for transport over software-defined networks
CN107872542B (en) A data transmission method and network device
CN109076018B (en) Method and device for realizing network element in segmented routing network by using IS-IS protocol
US10412008B2 (en) Packet processing method, apparatus, and system
CN116132555B (en) A message processing method and system
US12470487B2 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
US11522795B1 (en) End to end application identification and analytics of tunnel encapsulated traffic in the underlay
CN120675947B (en) Traffic message service type identification method, device, equipment, medium and product
CN109246016B (en) Cross-VXLAN message processing method and device
CN108282404B (en) Route generation method, device and system
CN112187584B (en) Path fault detection method, system, server and storage medium
CN107231309B (en) Obtain method, controller and the purpose switching node of SDN the whole network view
US20170149663A1 (en) Control device, communication system, control method, and non-transitory recording medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant