In-band network telemetry methods and apparatuses, devices, and storage media
By inserting the first INT field and the second INT field into the message to indicate the network telemetry functions of the physical network and the virtual network respectively, and by sending status information directly to the server at each network node, the problem of not being able to obtain the status information of the physical network and the virtual network at the same time in the prior art is solved, thereby improving forwarding efficiency and data integrity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2022-11-09
- Publication Date
- 2026-05-19
AI Technical Summary
Existing network telemetry technologies cannot simultaneously acquire network status information and mapping relationships of physical and virtual networks. Furthermore, the probe data packets are lengthy, the data processing load is heavy, and data loss is easily caused.
By inserting the first INT field and the second INT field into the message to carry telemetry instructions respectively, the network telemetry functions of the physical network and the virtual network are indicated respectively, and the network status information is sent directly to the server at each network node, thus avoiding the need to encapsulate status information at each node.
It achieves an effective combination of network status information of physical networks and virtual networks, reduces network overhead of network nodes, reduces the risk of packet length exceeding MTU, improves forwarding efficiency and reduces data loss.
Smart Images

Figure CN116781574B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to an in-band network telemetry method, apparatus, device and storage medium. Background Technology
[0002] With the rapid development of communication technology across various industries, the scale of data center networks is also continuously growing, network traffic is increasing year by year, and consequently, network management methods are becoming increasingly diverse. Among these methods, network telemetry technology can be used to monitor the network. However, existing network telemetry technologies can only perform telemetry on physical (underlay) networks or virtual (overlay) networks, and cannot simultaneously obtain network status information and mapping relationships of both physical and virtual networks.
[0003] Furthermore, current network telemetry technologies, such as Inband Network Telemetry (INT), construct INT probe packets for in-path monitoring and insert the acquired detection information into the probe packets before forwarding them. The last hop node then exports the complete detection information. Because this technology requires adding detection information at each network node, it leads to increasingly lengthy probe packets, increased data processing load, and data loss. Summary of the Invention
[0004] In view of this, embodiments of this application provide an in-band network telemetry method, apparatus, device, and storage medium.
[0005] The technical solution of this application embodiment is implemented as follows:
[0006] In a first aspect, embodiments of this application provide an in-band network telemetry method, executed by a network node, the method comprising:
[0007] Obtain a first message, wherein the first message includes an in-band network telemetry INT field; the INT field carries a telemetry instruction; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for the virtual network;
[0008] Parse the first INT field and / or the second INT field of the first message to obtain the telemetry command;
[0009] Execute network telemetry functions based on the telemetry commands to obtain network status information;
[0010] Send the network status information to the server.
[0011] In some embodiments, the method includes:
[0012] Obtain first mapping information, wherein the first mapping information includes: at least one network telemetry function corresponding to the telemetry command.
[0013] In some embodiments, the method includes:
[0014] Based on the first mapping information, the first message is re-encapsulated to obtain the second message, wherein the telemetry instruction carried in the first INT field of the second message is different from the telemetry instruction carried in the first INT field of the first message; and / or, the telemetry instruction carried in the second INT field of the second message is different from the telemetry instruction carried in the second INT field of the first message.
[0015] In some embodiments, the network node includes: a source node;
[0016] The acquisition of the first message includes:
[0017] The first message sent by the receiving end includes the first INT field and / or the second INT field;
[0018] The method further includes:
[0019] Send the first message, including the first INT field and / or the second INT field, to the intermediate node;
[0020] or,
[0021] Send the second message, which includes the first INT field and / or the second INT field, to the intermediate node.
[0022] In some embodiments, the network node includes: at least one intermediate node;
[0023] The acquisition of the first message includes:
[0024] Receive the first message or the second message sent by the previous network node, wherein the previous network node is the source node or the previous intermediate node;
[0025] The method includes:
[0026] Send the first message, including the first INT field and / or the second INT field, to the next network node, wherein the next network node is the next intermediate node or the destination node;
[0027] or,
[0028] Send the second message, including the first INT field and / or the second INT field, to the next network node.
[0029] In some embodiments, the network node includes: a destination node;
[0030] The acquisition of the first message includes:
[0031] Receive the first message or the second message sent by the previous intermediate node;
[0032] The method includes:
[0033] Unencapsulate the first INT field and / or the second INT field of the first message or the second message to obtain the original message.
[0034] Secondly, embodiments of this application provide an in-band network telemetry method, executed by a server, the method comprising:
[0035] The system receives network status information sent by at least one network node; wherein the network status information is obtained by at least one network node executing a network telemetry function corresponding to a telemetry instruction based on the telemetry instruction; the telemetry instruction is obtained by the network node parsing the INT field of the first packet; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for the virtual network.
[0036] In some embodiments, the method includes:
[0037] Based on the network status information, second mapping information is determined; wherein the second mapping information indicates the mapping relationship between at least one of the network nodes in the physical network and the virtual network.
[0038] Thirdly, embodiments of this application provide a device, the device comprising:
[0039] Memory, which stores computer-readable instructions;
[0040] The processor, connected to the memory, is configured to implement the in-band network telemetry method provided in the first or second aspect above by executing the computer-readable instructions.
[0041] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions thereon, which, when executed by a processor, implement the in-band network telemetry method provided in the first or second aspect above.
[0042] This application provides an in-band network telemetry method, apparatus, server, and storage medium. The method includes: acquiring a first message, wherein the first message includes an in-band network telemetry INT field; the INT field carries a telemetry instruction; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for a physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for a virtual network; parsing the INT field of the first message to obtain the telemetry instruction; executing a network telemetry function based on the telemetry instruction to obtain network status information; and sending the network status information to a server.
[0043] In the aforementioned in-band network telemetry process, when the first message includes both a first INT field and a second INT field (i.e., inserting two layers of INT fields into the first message), the network status information of the same network node in both the physical network and the virtual network can be obtained separately, thus effectively combining the telemetry data from the physical network and the virtual network. This facilitates subsequent server operations in obtaining an accurate mapping relationship between the physical network and the virtual network based on the network status information.
[0044] Furthermore, compared to related technologies that continuously insert network status information into packets and only export it at the last network node, this application directly sends the network status information of each network node to the server. On the one hand, it eliminates the need to encapsulate the network status information into the packet at each network node, reducing the network overhead of each network node and reducing the occurrence of packets exceeding the Maximum Transmission Unit (MTU), thus improving forwarding efficiency. On the other hand, it reduces the possibility of network status information being lost midway through the transmission path, thereby reducing the possibility of losing complete network status information. Attached Figure Description
[0045] Figure 1 A flowchart illustrating an in-band network telemetry method provided in an embodiment of this application;
[0046] Figure 2 A flowchart illustrating an in-band network telemetry method provided in an embodiment of this application;
[0047] Figure 3 A flowchart illustrating an in-band network telemetry method provided in an embodiment of this application;
[0048] Figure 4 A flowchart illustrating an in-band network telemetry method provided in an embodiment of this application;
[0049] Figure 5A flowchart illustrating an in-band network telemetry method provided in an embodiment of this application;
[0050] Figure 6 A schematic diagram of an in-band network telemetry device provided in an embodiment of this application;
[0051] Figure 7 A schematic diagram of an in-band network telemetry device provided in an embodiment of this application;
[0052] Figure 8 This is a schematic diagram of the structure of a device provided in an embodiment of this application. Detailed Implementation
[0053] The present application will now be described in further detail with reference to the accompanying drawings and embodiments.
[0054] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
[0055] To better understand the technical solutions described in any embodiment of this application, some aspects of the related technology will be explained first:
[0056] like Figure 1 As shown, INT technology is used for monitoring the Underlay network. The Underlay network includes: INT source nodes, INT intermediate nodes, INT destination nodes, and a Telemetry Server. By inserting the INT header field and the source node's Metadata-1 metadata into the service data packets at the INT source nodes along the traffic path, the INT source nodes forward the service data packets to the INT intermediate nodes. The INT intermediate nodes then insert their own Metadata-2 metadata into the service data packets and forward them to the INT destination nodes. The INT destination nodes insert their own Metadata-3 metadata into the service data packets. Metadata is added at each network node, and the INT destination nodes export the complete metadata and forward it to the server for analysis.
[0057] like Figure 2As shown, in the Overlay network, the Overlay network includes: a source virtual machine, a destination virtual machine, a source node, a first intermediate node, a second intermediate node, a destination node, a server, and a controller. The source node defines the VXLAN over INT packet encapsulation format and performs in-path monitoring by constructing an inner INT probe packet (INT Header). The network status information corresponding to the source node is encapsulated into Metadata-1 metadata. The source node inserts Metadata-1 metadata after the INT probe packet and forwards the packet to the first intermediate node. This process continues until the destination node parses the packet to obtain multi-layered Metadata and forwards it to the server for analysis.
[0058] As above Figure 1 and above Figure 2 These methods only telemetry one type of network and cannot simultaneously obtain network status information and mapping relationships of physical and virtual networks; encapsulating network status information into packets at each network node results in high network overhead for each network node; and if the packet passes through many network nodes in the network transmission path, the packet length will exceed the MTU; if the metadata of any hop network node is lost, the entire network status information will be lost.
[0059] This application provides an in-band network telemetry method. Figure 3 This is a schematic diagram illustrating the implementation process of an in-band network telemetry method provided in an embodiment of this application, as shown below. Figure 3 As shown, this method is executed by network nodes and mainly includes the following steps:
[0060] Step S310: Obtain a first message, wherein the first message includes an in-band network telemetry INT field; the INT field carries a telemetry instruction; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for the virtual network;
[0061] Step S320: Parse the first INT field and / or the second INT field of the first message to obtain the telemetry instruction;
[0062] Step S330: Execute network telemetry function based on the telemetry command to obtain network status information;
[0063] Step S340: Send the network status information to the server.
[0064] The in-band network telemetry method described in this application can be executed by a network node. The network node can be any mobile or fixed terminal, such as, but not limited to, mobile communication devices, computers, virtual machines, switches, or wearable devices; the network node can be connected to any network.
[0065] For example, a network node may include a Programming Protocol-Independent Packet Processor (P4). The network node may be a P4 programmable network device.
[0066] For example, the network can be a physical network or a virtual network. For instance, the network can be an underlay network and / or an overlay network.
[0067] In one embodiment, network nodes include: source node, intermediate node, and / or destination node; wherein, intermediate nodes may be one or more. In the embodiments of this application, "multiple" refers to two or more.
[0068] Here, the first message indicates any message.
[0069] Here, the INT field carries telemetry instructions; the INT field includes: a first INT field and / or a second INT field; the telemetry instructions located in the first INT field are used to instruct the execution of network telemetry functions for the physical network; the telemetry instructions located in the second INT field are used to instruct the execution of network telemetry functions for the virtual network.
[0070] Here, the telemetry command is used to instruct the network node to enable the corresponding network telemetry function; for example, the telemetry command can be a field value in the INT field.
[0071] In some embodiments, the source node inserts a first INT field in the outer layer of the first message, and the telemetry instructions located in the first INT field are used to instruct the execution of network telemetry functions for the physical network; the source node inserts a second INT field in the inner layer of the message, and the telemetry instructions located in the second INT field are used to instruct the execution of network telemetry functions for the virtual network. The telemetry instructions include first to nth instructions, where n is a positive integer; different instructions indicate different network telemetry functions.
[0072] For example, such as Figure 5As shown, the source node inserts a first INT field (INT Instr) before the UDP (User Datagram Protocol) layer of the packet, parses the first INT field to obtain telemetry instructions, and the telemetry instructions carried by the first INT field are used to instruct the execution of network telemetry functions for the Underlay network; the source node inserts a second INT field (Inner INT Instr) after the VxLAN (Virtual eXtensible Local Area Network) layer of the packet, parses the second INT field to obtain telemetry instructions, and the telemetry instructions carried by the second INT field are used to instruct the execution of network telemetry functions for the Overlay network.
[0073] In one embodiment, the network node parses the first INT field and / or the second INT field in the first packet to determine the field values carried in the first INT field and / or the second INT field. Based on the field values, the network node enables the corresponding in-band network telemetry function; different field values correspond to different in-band network telemetry functions. Thus, only a few bits of the first INT field and / or the second INT field are needed to determine the in-band network telemetry function that the network node needs to enable, facilitating flexible adjustment of the in-band network telemetry overhead.
[0074] In one embodiment, the network telemetry function indicates a function for measuring at least one of the following: network topology, network performance, network traffic, network congestion, network packet loss rate, and network transmission path.
[0075] In one embodiment, measuring the network transmission path includes:
[0076] The sequence number corresponding to each network node is determined; wherein, the network nodes include: the first to the nth network nodes; n is a positive integer; the sequence number is used to indicate the path order of the first message in the network. The sequence number corresponding to the first network node is 1; when the first message is forwarded to the next-hop network node, the sequence number is incremented by 1, that is, the sequence number corresponding to the second network node is 2; the sequence number of the nth network node is n. The sequence number from the first network node to the last network node constitutes the complete path of the message in the network.
[0077] In one embodiment, step S330 includes:
[0078] Based on the telemetry command, the network telemetry function is executed and the corresponding sequence number of the network node is obtained to obtain network status information.
[0079] Here, network status information includes, but is not limited to, at least one of the following: inbound / outbound port number, inbound / outbound port timestamp, network node identifier, network congestion status, network traffic, and queue occupancy rate.
[0080] In one embodiment, network status information includes first network status information and second network status information;
[0081] Step S330 includes:
[0082] The network telemetry function of the physical network is executed based on the telemetry instruction located in the first INT field to obtain the first network status information;
[0083] The network telemetry function of the virtual network is executed based on the telemetry instruction located in the second INT field to obtain the second network status information.
[0084] Thus, when the first message includes the first INT field and the second INT field, the network status information of the same network node in the physical network and the virtual network can be obtained respectively, thereby effectively combining the telemetry of the physical network and the virtual network; this is beneficial for the subsequent server to obtain the accurate mapping relationship between the physical network and the virtual network based on the network status information.
[0085] Furthermore, compared to related technologies that continuously insert network state information into packets and only export network state information at the last network node, this application directly sends the network state information of each hop network node to the server. On the one hand, it eliminates the need to encapsulate network state information into packets at each network node, reducing the network overhead of each network node and reducing the occurrence of packets exceeding the MTU, thus improving forwarding efficiency. On the other hand, it reduces the possibility of network state information being lost in the transmission path, thereby reducing the possibility of losing complete network state information.
[0086] In some embodiments, the method includes:
[0087] Obtain first mapping information, wherein the first mapping information includes: at least one network telemetry function corresponding to the telemetry command.
[0088] In one embodiment, the terminal locally stores or obtains the first mapping information from a device such as a controller. The controller may be a Software Defined Network (SDN) controller, and the first mapping information is used to indicate the mapping relationship between telemetry commands and network telemetry functions. The first mapping information includes, but is not limited to, at least one of the following: a telemetry command located in a first INT field and a network telemetry function corresponding to the physical network; and / or, a telemetry command located in a second INT field and a network telemetry function corresponding to the virtual network.
[0089] For example, the first mapping information may include: mapping information between a first instruction in the telemetry instructions located in the first INT field and a first network telemetry function of the physical network; mapping information between a second instruction in the telemetry instructions located in the first INT field and second, third, and fourth network telemetry functions of the physical network; mapping information between a first instruction in the telemetry instructions located in the second INT field and first and second network telemetry functions of the virtual network; and mapping information between a second instruction in the telemetry instructions located in the second INT field and a third network telemetry function of the virtual network.
[0090] For example, when the first instruction in the telemetry instruction located in the first INT field has a first value, such as "00", it is used to indicate the first network telemetry function of the physical network; when the second instruction in the telemetry instruction located in the first INT field has a second value, such as "01", it is used to indicate the second network telemetry function of the physical network.
[0091] In some embodiments, the first mapping information further includes: identifying INT field information, parsing INT field information, and / or encapsulating INT field information.
[0092] In this way, the terminal can obtain network status information by executing one or more network telemetry functions corresponding to the telemetry command based on the telemetry command and the first mapping information carried in the INT field.
[0093] In some embodiments, the method includes:
[0094] Based on the first mapping information, the first message is re-encapsulated to obtain the second message, wherein the telemetry instruction carried by the first INT field and / or the second INT field of the second message is different from the telemetry instruction carried by the first INT field and / or the second INT field of the first message.
[0095] In one embodiment, the first mapping information further includes: adjustment information; wherein the adjustment information is used to adjust the telemetry instructions in the first INT field and / or the second INT field; the adjustment information includes, but is not limited to, at least one of the following:
[0096] Add information to indicate the addition of telemetry instructions carried in the first INT field and / or the second INT field of the first message;
[0097] The deletion information is used to indicate the deletion of the telemetry command carried in the first INT field and / or the second INT field of the first message;
[0098] Modification information is used to indicate modifications to the telemetry instructions carried in the first INT field and / or the second INT field of the first message.
[0099] In one embodiment, the network node receives adjustment information from the first mapping information of the SDN controller, modifies the field values carried in the first INT field and / or the second INT field of the first packet according to the modification information in the adjustment information, thereby changing the network telemetry function enabled by the network node; re-encapsulates the first packet according to the adjustment information to obtain the second packet, and forwards the second packet to the next-hop network node.
[0100] In this way, network nodes can dynamically adjust the network telemetry functions they enable based on the first mapping information, and flexibly collect network status information.
[0101] In some embodiments, the network node includes: a source node;
[0102] The acquisition of the first message includes:
[0103] The first message sent by the receiving end includes the first INT field and / or the second INT field;
[0104] The method further includes:
[0105] Send the first message, including the first INT field and / or the second INT field, to the intermediate node;
[0106] or,
[0107] Send the second message, which includes the first INT field and / or the second INT field, to the intermediate node.
[0108] Here, the source node is the first network node in the network transmission path of the message, i.e., the starting node.
[0109] Here, the sending end can be any terminal device.
[0110] In some embodiments, telemetry instructions include first to nth instructions, where n is a positive integer; different instructions indicate different network telemetry functions.
[0111] In some embodiments, the first message includes a first INT field and a second INT field. The telemetry instructions located in the first INT field of the first message include a first instruction, a second instruction, and a third instruction; the telemetry instructions located in the second INT field of the first message include the first instruction. The source node receives first mapping information, deletes the second instruction from the telemetry instructions located in the first INT field according to the adjustment information in the first mapping information, and adds a fifth instruction to the telemetry instructions located in the second INT field according to the adjustment information in the first mapping information; the source node re-encapsulates the adjusted first message according to the first mapping information to obtain the second message.
[0112] In this way, the source node can dynamically adjust the telemetry instructions carried in the first INT field and / or the second INT field according to the first mapping information to meet different network monitoring needs. The source node forwards the first or second message to the intermediate node, ensuring information transmission. Moreover, the source node directly sends network status information to the server. On the one hand, it does not need to encapsulate the network status information into the first or second message, reducing the network overhead of the source node and reducing the occurrence of redundancy in the first or second message; on the other hand, it reduces the possibility of network status information being lost during transmission at the source node, thus reducing the possibility of the loss of complete network status information in the transmission path.
[0113] In some embodiments, the network node includes: at least one intermediate node;
[0114] The acquisition of the first message includes:
[0115] Receive the first message or the second message sent by the previous network node, wherein the previous network node is the source node or the previous intermediate node;
[0116] The method includes:
[0117] Send the first message, including the first INT field and / or the second INT field, to the next network node, wherein the next network node is the next intermediate node or the destination node;
[0118] or,
[0119] Send the second message, including the first INT field and / or the second INT field, to the next network node.
[0120] Here, intermediate nodes are any network nodes that a message passes through in the network transmission path, excluding the source node and the destination node.
[0121] In this way, intermediate nodes can dynamically adjust the telemetry instructions carried in the first INT field and / or the second INT field based on the first mapping information to meet different network monitoring needs. Intermediate nodes forward the first or second message to the destination node, ensuring information transmission. Furthermore, intermediate nodes directly send network status information to the server. This eliminates the need to encapsulate network status information within the first or second message, reducing network overhead and redundancy. It also reduces the risk of network status information being lost during transmission at intermediate nodes, thus minimizing the loss of complete network status information along the transmission path.
[0122] In some embodiments, the network node includes: a destination node;
[0123] The acquisition of the first message includes:
[0124] Receive the first message or the second message sent by the previous intermediate node;
[0125] The method includes:
[0126] Parse the encapsulation of the first INT field and / or the second INT field of the first message or the second message to obtain the original message.
[0127] Here, the destination node is the last network node in the network transmission path of the message, i.e., the final node.
[0128] In this way, the destination node can dynamically adjust the telemetry instructions carried in the first INT field and / or the second INT field according to the first mapping information to meet different network monitoring needs. The destination node can restore the first or second message to obtain the original first message. Moreover, the destination node directly sends network status information to the server, only needing to send the network status information obtained by the destination node. Compared with related technologies that send complete network status information of the transmission path, this reduces the network overhead of the destination node. On the other hand, it reduces the possibility of loss of complete network status information in the transmission path due to the loss of network status information during transmission at the source node or intermediate node.
[0129] The following in-band network telemetry method is executed by the server and is similar to the in-band network telemetry method executed by the network node described above. For technical details not disclosed in the embodiments of the in-band network telemetry method executed by the server, please refer to the description of the example of the in-band network telemetry method executed by the network node, which will not be described in detail here.
[0130] like Figure 4 As shown, this embodiment of the invention provides an in-band network telemetry method, executed by a server, the method comprising:
[0131] Step S400: Receive network status information sent by at least one network node; wherein, the network status information is obtained by at least one network node executing the network telemetry function corresponding to the telemetry instruction based on the telemetry instruction; the telemetry instruction is obtained by the network node parsing the INT field of the first packet; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of the network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of the network telemetry function for the virtual network.
[0132] In this embodiment, the network node can be the network node in the above embodiments; the telemetry command can be the telemetry command in the above embodiments; the network status information can be the network status information in the above embodiments; and the INT field can be the INT field in the above embodiments.
[0133] In one embodiment, the network status information includes: first network status information and second network status information;
[0134] Step S400 includes:
[0135] The system receives first network information and / or second network status information sent by at least one network node; wherein the first network status information is obtained by the network node executing the network telemetry function corresponding to the telemetry instruction located in the first INT field based on the telemetry instruction located in the first INT field; the telemetry instruction located in the first INT field is obtained by the network node parsing the first INT field of the first packet; the second network status information is obtained by the network node executing the network telemetry function corresponding to the telemetry instruction located in the second INT field based on the telemetry instruction located in the second INT field; the telemetry instruction located in the second INT field is obtained by the network node parsing the second INT field of the first packet.
[0136] In this way, when the server receives the first and second network status information of any network node, it can obtain the network status information of the same network node in the physical network and the virtual network respectively, thereby effectively combining the telemetry of the physical network and the virtual network; this is beneficial for the subsequent server to obtain the accurate mapping relationship between the physical network and the virtual network based on the network status information.
[0137] Furthermore, compared to related technologies that continuously insert network state information into packets and only export it at the last network node, this approach reduces the occurrence of packets exceeding the MTU, thus improving forwarding efficiency. On the other hand, it also reduces the possibility of network state information being lost midway through the transmission path, leading to the loss of complete network state information.
[0138] In some embodiments, the method includes:
[0139] Based on the network status information, second mapping information is determined; wherein the second mapping information indicates the mapping relationship between at least one of the network nodes in the physical network and the virtual network.
[0140] In one embodiment, the first network is an Underlay network, the second network is an Overlay network, and determining the second mapping information based on the network state information includes:
[0141] Based on the first network state information and the second network state information, the second mapping information is determined; the second mapping information indicates the mapping relationship between at least one network node in the Underlay network and the Overlay network.
[0142] For example, the server matches the identification information in the first network status information with the identification information in the second network status information; when the identification information in the first network status information is the same as the identification information in the second network status information, the server determines the network node corresponding to the identification information; thereby, the transmission path of the packet in the physical network and the virtual network can be determined. The identification information is used to uniquely identify the network node; the identification information may be, but is not limited to, at least one of the following: network node sequence number, ingress / egress port number, ingress / egress port timestamp, and network node device number.
[0143] Thus, by determining the mapping relationship between network nodes in the physical network and the virtual network based on network status information, the accuracy and convenience of in-band network telemetry are improved. Among them, network status information includes network traffic information. The server performs data analysis on the network status information to provide data support for visualized network traffic monitoring.
[0144] In one embodiment, such as Figure 5 As shown, this application provides an in-band network telemetry method applied to a network telemetry system. The network telemetry system includes: a controller, a transmitter, network nodes, and a server; wherein, the network nodes include source nodes, intermediate nodes, and destination nodes; the intermediate nodes include: a first intermediate node and a second intermediate node; the controller is an SDN controller; the transmitter is a source virtual machine (VM); the first INT field is INT Instr, and the second INT field is Inner INT Instr; the telemetry instructions located in the first INT field and the telemetry instructions located in the second INT field respectively include first to nth instructions, where n is a positive integer; the first network status information is SWkMetadata, and the second network status information is SWk Inner Metadata, where k is a positive integer; the first network status information and the second network status information respectively include first to mth information, where m is a positive integer; the server is a telemetry server; the method includes:
[0145] Step S510: The network node receives the first mapping information sent by the controller;
[0146] The first mapping information includes: identifying INT field information, parsing INT field information, encapsulating INT field information, and / or adjusting INT field information.
[0147] Step S520: The source node receives the first packet sent by the sender and the first mapping information sent by the SDN controller, and encapsulates the first INT field on the outer layer of the first packet and the second INT field on the inner layer of the first packet;
[0148] The source node receives a first packet including an INT field sent by the sender and receives first mapping information sent by the SDN controller. The source node parses the first INT field in the first packet to obtain the telemetry instruction located in the first INT field, and parses the second INT field in the first packet to obtain the telemetry instruction located in the second INT field. The source node executes the corresponding network telemetry function according to the telemetry instruction located in the first INT field to obtain the first network status information SW1 Metadata of the source node in the Underlay network. The source node executes the corresponding network telemetry function according to the telemetry instruction located in the second INT field to obtain the second network status information SW1 Inner Metadata of the source node in the Overlay network.
[0149] Step S530: The source node forwards the first packet to the first intermediate node and sends the first network status information and the second network status information to the server.
[0150] The source node sends a first message, including a first INT field and a second INT field, to the first intermediate node; the source node sends the source node's first network status information SW1 Metadata and second network status information SW1Inner Metadata to the telemetry server.
[0151] Step S540: The first intermediate node receives the first packet forwarded by the source node and the first mapping information sent by the SDN controller;
[0152] The first intermediate node receives the first packet sent by the source node and the first mapping information sent by the SDN controller. The first intermediate node parses the first INT field in the first packet based on the first mapping information to obtain the first instruction of the telemetry instruction located in the first INT field. The first intermediate node executes the corresponding network telemetry function according to the first instruction to obtain the first information of the first network status information SW2 Metadata. The first intermediate node adjusts the first INT field based on the adjustment INT field information in the first mapping information to obtain the second instruction of the telemetry instruction located in the first INT field. The first intermediate node executes the corresponding network telemetry function according to the second instruction to obtain the second information of the first network status information SW2 Metadata.
[0153] Step S550: The first intermediate node forwards the second packet to the second intermediate node and sends the first network status information to the server;
[0154] The first intermediate node re-encapsulates and adjusts the first message to obtain the second message, and forwards the second message to the second intermediate node; the first intermediate node generates complete first network state information SW2Metadata based on the first information and the second information, and sends the complete first network state information SW2 Metadata to the telemetry server.
[0155] Step S560: The second intermediate node receives the second message forwarded by the first intermediate node and the first mapping information sent by the SDN controller;
[0156] The second intermediate node receives the second message sent by the first intermediate node and the first mapping information sent by the SDN controller. The second intermediate node parses the first INT field in the first message based on the first mapping information to obtain the telemetry instruction located in the first INT field. The second intermediate node executes the corresponding network telemetry function according to the telemetry instruction located in the first INT field to obtain the first network status information SW3 Metadata.
[0157] Step S570: The second intermediate node forwards the second message to the destination node and sends the first network status information to the server.
[0158] The second intermediate node forwards the second message to the destination node and sends the second intermediate node's first network status information SW3 Metadata to the telemetry server.
[0159] Step S580: The destination node receives the second message forwarded by the second intermediate node and the first mapping information sent by the SDN controller;
[0160] The destination node receives the second message sent by the second intermediate node and the first mapping information sent by the SDN controller. Based on the first mapping information, the destination node parses the first INT field to obtain the telemetry instruction located in the first INT field, and parses the second INT field to obtain the telemetry instruction located in the second INT field. According to the telemetry instruction located in the first INT field, the destination node executes the corresponding network telemetry function to obtain the SW4 Metadata of the destination node in the Underlay network. According to the telemetry instruction located in the second INT field, the destination node executes the corresponding network telemetry function to obtain the SW4 InnerMetadata of the destination node in the Overlay network. The encapsulation of the first INT field and the second INT field in the second message is removed, restoring the second message to the first message before the INT field encapsulation.
[0161] Step S590: The server receives network status information sent by any network node;
[0162] The telemetry server analyzes and calculates the transmission path of the first message in the network and the second mapping information based on the first network status information SWk Metadata and the second network status information SWk InnerMetadata. The second mapping information indicates the mapping relationship between the Underlay network and the Overlay network. Based on the transmission path and the second mapping information, a visualized network topology is generated to improve the accuracy and convenience of in-band network telemetry.
[0163] like Figure 6 As shown, based on the same inventive concept as the in-band network telemetry method provided in the foregoing embodiments, this application also provides an in-band network telemetry device applied to a network node, the device comprising:
[0164] The acquisition module 110 is used to acquire a first message, wherein the first message includes an in-band network telemetry INT field; the INT field carries a telemetry instruction; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for the virtual network;
[0165] Parsing module 120 is used to parse the first INT field and / or the second INT field of the first message to obtain the telemetry instruction;
[0166] The determination module 130 is used to execute network telemetry functions based on the telemetry command in order to obtain network status information;
[0167] The sending module 140 is used to send the network status information to the server.
[0168] In some embodiments, the apparatus includes:
[0169] The configuration module obtains first mapping information, wherein the first mapping information includes: at least one network telemetry function corresponding to the telemetry command.
[0170] In some embodiments, the apparatus includes:
[0171] An encapsulation module is configured to re-encapsulate the first message according to the first mapping information to obtain the second message, wherein the telemetry instruction carried in the first INT field of the second message is different from the telemetry instruction carried in the first INT field of the first message; and / or, the telemetry instruction carried in the second INT field of the second message is different from the telemetry instruction carried in the second INT field of the first message.
[0172] In some embodiments, the network node includes: a source node;
[0173] The acquisition module 110 is further configured to receive the first message sent by the sending end, which includes the first INT field and / or the second INT field;
[0174] The device further includes:
[0175] The sending module is configured to send a first message including the first INT field and / or the second INT field to an intermediate node; or, to send a second message including the first INT field and / or the second INT field to the intermediate node.
[0176] In some embodiments, the network node includes: at least one intermediate node;
[0177] The acquisition module 110 is further configured to receive the first message or the second message sent by the previous network node, wherein the previous network node is the source node or the previous intermediate node;
[0178] The device further includes:
[0179] The sending module is further configured to send the first message including the first INT field and / or the second INT field to the next network node, wherein the next network node is the next intermediate node or destination node; or, send the second message including the first INT field and / or the second INT field to the next network node.
[0180] In some embodiments, the network node includes: a destination node;
[0181] The acquisition module 110 is also used to receive the first message or the second message sent by the previous intermediate node;
[0182] The device further includes:
[0183] The parsing module 120 is further configured to parse the encapsulation of the first INT field and / or the second INT field of the first message or the second message to obtain the original message.
[0184] In practical applications, the acquisition module 110, parsing module 120, and determination module 130 of the in-band network telemetry device can be implemented by the processor in the in-band network telemetry device. Of course, the processor needs to run the computer program in the memory to implement its functions.
[0185] like Figure 7As shown, based on the same inventive concept as the in-band network telemetry method provided in the foregoing embodiments, this application also provides an in-band network telemetry device applied to a server, the device comprising:
[0186] The receiving module 210 is configured to receive network status information sent by at least one network node; wherein the network status information is obtained by at least one network node executing the network telemetry function corresponding to the telemetry instruction based on the telemetry instruction; the telemetry instruction is obtained by the network node parsing the INT field of the first message; the INT field includes: a first INT field and / or a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of the network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of the network telemetry function for the virtual network.
[0187] In some embodiments, the apparatus further includes:
[0188] The calculation module is used to determine second mapping information based on the network status information; wherein the second mapping information indicates the mapping relationship between at least one of the network nodes in the physical network and the virtual network.
[0189] In practical applications, the receiving module 210 of the in-band network telemetry device can be implemented by the processor in the in-band network telemetry device. Of course, the processor needs to run the computer program in the memory to implement its function.
[0190] like Figure 8 As shown in the embodiment of this application, a device is provided, the device comprising:
[0191] Memory 801 is used to store computer-readable instructions;
[0192] The processor 802, connected to the memory, is configured to implement the methods provided in any of the foregoing embodiments by executing computer-readable instructions.
[0193] The memory 801 can be of various types, such as random access memory, read-only memory, flash memory, etc. The memory can be used for information storage, for example, storing computer-executable instructions. The computer-executable instructions can be various program instructions, such as object program instructions and / or source program instructions.
[0194] The processor 802 can be various types of processors, such as a central processing unit, microprocessor, digital signal processor, programmable array, application-specific integrated circuit, or image processor. The processor can be connected to the memory via a bus, which can be an integrated circuit bus, etc.
[0195] like Figure 8 As shown, the device may also include a network interface 803, which can be used to interact with peer devices over a network.
[0196] This application also provides a computer storage medium storing computer-executable instructions, which, when executed, can implement the methods provided in any of the foregoing embodiments.
[0197] The computer-readable storage medium provided in the embodiments of this application can be any storage medium capable of storing program code, such as ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.
[0198] In the embodiments provided in this application, it should be understood that the disclosed methods and apparatus can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be indirect coupling or communication connection through some interfaces, devices, or units, and can be electrical, mechanical, or other forms.
[0199] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0200] In addition, each functional unit in the various embodiments of this application can be integrated into one processing module, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0201] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0202] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.
[0203] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. An in-band network telemetry method, characterized in that, The method, executed by any network node in the network telemetry system, includes: Acquire at least one telemetry command and the network telemetry function and adjustment information corresponding to the telemetry command; Obtain a first message, wherein the first message includes an in-band network telemetry INT field; the INT field carries the telemetry instruction; the INT field includes: a first INT field and a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for the virtual network; Parse the first INT field and the second INT field of the first message to obtain the telemetry command; Based on the telemetry command, execute the corresponding network telemetry function to obtain network status information; Send the network status information to the server.
2. The method according to claim 1, characterized in that, The method includes: Based on at least one of the telemetry instructions, the corresponding network telemetry function, and the adjustment information, the first message is repackaged to obtain a second message, wherein the telemetry instruction carried in the first INT field of the second message is different from the telemetry instruction carried in the first INT field of the first message; and the telemetry instruction carried in the second INT field of the second message is different from the telemetry instruction carried in the second INT field of the first message.
3. The method according to claim 2, characterized in that, The network nodes include: source nodes; The acquisition of the first message includes: The first message, including the first INT field and the second INT field, is sent by the receiving end; The method further includes: Send the first message, which includes the first INT field and the second INT field, to the intermediate node; or, Send the second message, which includes the first INT field and the second INT field, to the intermediate node.
4. The method according to claim 2, characterized in that, The network nodes include: at least one intermediate node; The acquisition of the first message includes: Receive the first message or the second message sent by the previous network node, wherein the previous network node is the source node or the previous intermediate node; The method includes: The first message, including the first INT field and the second INT field, is sent to the next network node, wherein the next network node is the next intermediate node or the destination node; or, The second message, including the first INT field and the second INT field, is sent to the next network node.
5. The method according to claim 2, characterized in that, The network nodes include: the destination node; The acquisition of the first message includes: Receive the first message or the second message sent by the previous intermediate node; The method includes: Parse the encapsulation of the first INT field and the second INT field of the first message or the second message to obtain the original message.
6. A telemetry method for in-band networks, characterized in that, The method, performed by a server in a network telemetry system, includes: The system receives network status information sent by at least one network node; wherein the network status information is obtained by at least one network node executing a network telemetry function corresponding to a telemetry instruction based on the telemetry instruction; the telemetry instruction is obtained by the network node parsing the INT field of a first packet; the INT field includes: a first INT field and a second INT field; the telemetry instruction located in the first INT field is used to instruct the execution of a network telemetry function for the physical network; the telemetry instruction located in the second INT field is used to instruct the execution of a network telemetry function for the virtual network; at least one telemetry instruction, the network telemetry function corresponding to the telemetry instruction, and adjustment information are obtained by the controller sending them to at least one network node.
7. The method according to claim 6, characterized in that, The method includes: Based on the network status information, second mapping information is determined; wherein the second mapping information indicates the mapping relationship between at least one of the network nodes in the physical network and the virtual network.
8. A device, characterized in that, include: Memory, which stores computer-readable instructions; A processor, connected to the memory, is configured to implement the in-band network telemetry method provided in any one of claims 1 to 5 or 6 to 7 by executing the computer-readable instructions.
9. A computer storage medium, characterized in that, The computer storage medium stores computer-executable instructions; when the computer-executable instructions are executed by the processor, they can implement the in-band network telemetry method according to any one of claims 1 to 5 or 6 to 7.