Network measurement method, system and apparatus
By determining the satellite gateway address based on VPN routing information using a satellite router and measuring communication performance using TWAMP test messages, the problem of satellite routers being unable to initiate TWAMP measurements is solved, enabling effective measurement in dynamic network environments.
Patent Information
- Application Number
- PCT/CN2025/117685
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-31
- Filing Date
- 2025-08-29
- Publication Date
- 2026-03-05
AI Technical Summary
In an integrated space-ground network, the connection between satellite routers and satellite gateways changes dynamically, making it impossible to pre-configure the IP address of the satellite gateway to the other end, which prevents the satellite router from initiating TWAMP measurements.
The satellite router determines the address information of the peer satellite gateway based on the local VPN routing information, initiates a network measurement process, and uses TWAMP test messages to measure communication performance, including address exchange of IPv4 and IPv6 headers and tunnel header processing.
This technology enables satellite routers to initiate network measurements to the currently connected satellite gateway at any time without the need for pre-configuration of address information, overcoming the problem in existing technologies where satellite routers cannot actively initiate TWAMP measurements.
Smart Images

Figure CN2025117685_05032026_PF_FP_ABST
Abstract
Description
Network measurement methods, systems and devices
[0001] This application claims priority to Chinese Patent Application No. 202411223600.4, filed with the State Intellectual Property Office of China on August 31, 2024, entitled “Network Measurement Method, System and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a network measurement method, system and apparatus. Background Technology
[0003] Two-way active measurement protocol (TWAMP) is a protocol used to measure performance parameters such as bidirectional latency, latency jitter, and packet loss rate of packets between any two devices in a network. The two devices performing TWAMP measurements are called the transmitting device and the reflecting device. The TWAMP measurement is initiated by the transmitting device, and the reflecting device responds to the test packets from the transmitting device.
[0004] In traditional terrestrial networks, network devices are typically deployed in fixed locations, allowing for pre-planning of connections between them. Consequently, network devices can be pre-configured with the Internet Protocol (IP) addresses of other network devices they connect to. In this scenario, the transmitting device performing TWAMP measurements can initiate the measurement based on the pre-configured IP address of the reflecting device.
[0005] In emerging space-ground integrated networks, ground-based devices can utilize satellites in space as relay stations for wireless communication. In one specific implementation, a satellite router in space connects to a satellite gateway on the ground, providing services to users through the gateway. Because satellites orbit the Earth, the connection between the satellite router and the satellite network is dynamic; at different times, the satellite router may connect to different satellite gateways, making pre-planning impossible. Consequently, the IP addresses of the satellite gateways connected to the satellite router cannot be pre-configured. Only by configuring the IP addresses of all satellite gateways on the ground to the satellite router can errors be prevented. However, this approach involves a large configuration workload and is not feasible. Therefore, the satellite router cannot initiate TWAMP measurements with the peer satellite gateway based on pre-configured IP addresses. Summary of the Invention
[0006] This application provides a network measurement method, system, and apparatus to solve the problem in the prior art where the dynamic changes in the connection relationship between the satellite router and the satellite gateway make it impossible to pre-configure the IP address of the satellite gateway connected to the peer on the satellite router, thus preventing the satellite router from initiating TWAMP measurements with the peer satellite gateway based on the pre-configured IP address.
[0007] Firstly, this application provides a network measurement method, system, and apparatus. The method is applied to a first node, and can also be applied to modules or components within the first node, such as chips or chip systems. The network measurement method may include: the first node determining the address information of a second node based on VPN routing information. The second node is the next-hop node in the VPN routing information indicating that the first node is heading towards a target user site in a first VPN; the first node, the second node, and the target user site all belong to the first VPN. Then, the first node sends a first test message to the second node based on the address information of the second node. Subsequently, the first node can receive a second test message from the second node. The second test message and the first test message are used to measure the communication performance between the first node and the second node.
[0008] Based on this scheme, the first node can determine the address information of the second node connected to the first node according to the local VPN routing information, so that the first node can initiate a network measurement process based on the address information of the second node, and then measure the communication performance between the first node and the second node.
[0009] In conjunction with the first aspect mentioned above, in one possible implementation, the first node is a satellite router and the second node is a satellite gateway.
[0010] Based on this implementation, the network measurement method provided in this application enables the satellite router to initiate a network measurement process to the currently connected satellite gateway at any time without the need to pre-configure address information.
[0011] In conjunction with the first aspect mentioned above, in one possible implementation, the first test message and the second test message are TWAMP test messages, and the payloads of the first test message and the second test message include TWAMP data.
[0012] Based on this implementation method, the network measurement method provided in this application can overcome the problem in the prior art that satellite routers cannot actively initiate TWAMP measurements.
[0013] In conjunction with the first aspect described above, in one possible implementation, the first test message includes a first IP header and a payload, and the second test message includes a second IP header and a payload. The source address in the second IP header is the same as the destination address in the first IP header, and the destination address in the second IP header is the same as the source address in the first IP header. The payload in the first test message is the same as the payload in the second test message.
[0014] Based on this implementation, the second node only needs to exchange the source address and destination address in the first IP header of the first test message to obtain the second test message. There is no need for the second node to perform complex processing, and the solution is simple to implement.
[0015] In conjunction with the first aspect mentioned above, in one possible implementation, the first IP header and the second IP header are IPv4 headers, the destination address in the first IP header is the loopback address of the second node, and the source address in the first IP header is the loopback address of the first node.
[0016] Based on this implementation, the first node can send the first test message through the IPv4 network, thereby realizing the network measurement process.
[0017] In conjunction with the first aspect mentioned above, in one possible implementation, the first IP header and the second IP header are IPv6 headers, the destination address in the first IP header is the VPN SID of the second node in the first VPN, and the source address in the first IP header is the IPv6 encapsulated source address of the first node.
[0018] Based on this implementation, the first node can send the first test message through the IPv6 network, thereby realizing the network measurement process.
[0019] In conjunction with the first aspect described above, in one possible implementation, the first test message includes a first tunnel header, an IPv4 header, and a payload, and the second test message includes a second tunnel header, an IPv4 header, and a payload. The IPv4 header in the first test message is the same as the IPv4 header in the second test message, and the payload in the first test message is the same as the payload in the second test message. The destination address in the IPv4 header is the IP address bound to the VPN private network interface of the first node.
[0020] Based on this implementation, the second node re-encapsulates the private network packet (IPv4 header + payload) inside the first test packet into a second test packet according to the destination address indicated in the IPv4 header, and then sends it back to the first node. This allows the second node to complete a round-trip packet exchange with the first node, thereby enabling the measurement of communication performance.
[0021] In conjunction with the first aspect mentioned above, in one possible implementation, the first test message and the second test message are data messages.
[0022] Based on this implementation method, the processing flow of the second node for the first test message is the same as the processing flow of the first node for the data message. The second node can implement the solution of this application without additional configuration.
[0023] In conjunction with the first aspect described above, in one possible implementation, the first tunnel header and the second tunnel header are MPLS tunnel headers. The outer label in the first tunnel header is the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node, and the inner label in the first tunnel header is the private network label of the second node in the first VPN. Similarly, the outer label in the second tunnel header is the public network label of the next-hop node of the second node in the MPLS forwarding path from the second node to the first node, and the inner label in the second tunnel header is the private network label of the first node in the first VPN. Based on this implementation, the solution of this application can be applied to VPN over MPLS scenarios.
[0024] In conjunction with the first aspect described above, in one possible implementation, the first tunnel header and the second tunnel header are SRv6 BE tunnel headers. The destination address in the IPv6 header of the first tunnel header is the VPN SID of the second node in the first VPN, and the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node. Similarly, the destination address in the IPv6 header of the second tunnel header is the VPN SID of the first node in the first VPN, and the source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node. Based on this implementation, the solution of this application can be applied to VPN over SRv6 BE scenarios.
[0025] In conjunction with the first aspect described above, in one possible implementation, the first tunnel header and the second tunnel header are SRv6 TE policy tunnel headers. The destination address in the IPv6 header of the first tunnel header is the SID of the next-hop node of the first node on the SRv6 forwarding path from the first node to the second node; the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node; and the Segmentation Routing Header (SRH) in the first tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the first node to the second node. Similarly, the destination address in the IPv6 header of the second tunnel header is the SID of the next-hop node of the second node on the SRv6 forwarding path from the second node to the first node; the source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node; and the Segmentation Routing Header (SRH) in the second tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the second node to the first node. Based on this implementation, the solution of this application can be applied to VPN over SRv6 TE policy scenarios.
[0026] In conjunction with the first aspect described above, in one possible implementation, the first node determines the address information of the second node based on VPN routing information. Specifically, this may include: the first node determining the address information of multiple second nodes based on the VPN routing information. These multiple second nodes are multiple different next-hop nodes for the first node to reach the target user site in the first VPN. In this case, the first node sends a first test message to the second nodes based on their address information. Specifically, this may include: the first node sending multiple first test messages to multiple second nodes based on their address information. The first node receives second test messages from the second nodes. Specifically, this may include: the first node receiving multiple second test messages from the multiple second nodes.
[0027] Based on this implementation, when there are multiple next-hop nodes between the first node and the target user site in the first VPN, the first node can initiate a network measurement process to multiple next-hop nodes.
[0028] In conjunction with the first aspect described above, in one possible implementation, the first node sends multiple first test messages to the multiple second nodes based on their address information. Specifically, this may include: the first node creating multiple measurement instances based on the address information of the multiple second nodes, with each measurement instance corresponding one-to-one with a different second node. Then, the first node sends multiple first test messages to the multiple second nodes based on these multiple measurement instances.
[0029] In conjunction with the first aspect described above, in one possible implementation, the network measurement method further includes: the first node determining the routing information of the third node based on the updated VPN routing information. The third node is the next-hop node indicated by the updated VPN routing information for the first node to reach the target user site in the first VPN. Then, the first node sends a third test message to the third node based on the third node's routing information. Subsequently, the first node also receives a fourth test message from the third node. The fourth and third test messages are used to test the communication performance between the first and third nodes.
[0030] Based on this implementation, if the routing information from the first node to the target user site in the first VPN is updated, the first node can initiate a network measurement process to the updated next-hop node.
[0031] Secondly, this application provides a network measurement method, system, and apparatus. The method is applied to a second node, and can also be applied to modules or components within the second node, such as chips or chip systems. The network measurement method may include: the second node receiving a first test message from a first node. The second node is the next-hop node from the first node to a target user site in a first Virtual Private Network (VPN). The first node, the second node, and the target user site all belong to the first VPN, and the address information of the second node is determined by the first node based on VPN routing information. Then, the second node sends a second test message to the first node. The second test message and the first test message are used to test the communication performance between the first node and the second node.
[0032] It should be understood that the network measurement methods and various possible implementations in the second aspect can be referred to the effect description of the network measurement methods in the first aspect, and will not be repeated here.
[0033] In conjunction with the second aspect mentioned above, in one possible implementation, the first node is a satellite router and the second node is a satellite gateway.
[0034] In conjunction with the second aspect above, in one possible implementation, the first test message and the second test message are TWAMP test messages, and the payloads of the first test message and the second test message include TWAMP data.
[0035] In conjunction with the second aspect above, in one possible implementation, the first test message includes a first IP header and a payload, and the second test message includes a second IP header and a payload. The source address in the second IP header is the same as the destination address in the first IP header, and the destination address in the second IP header is the same as the source address in the first IP header. The payload in the first test message is the same as the payload in the second test message.
[0036] In conjunction with the second aspect described above, in one possible implementation, the network measurement method further includes: based on the source address in the first IP header and in the address whitelist of the second node, the second node generates a second test packet according to the first test packet. Based on this implementation, the second node can reply to the first node with test packets based on the address whitelist, thereby filtering irrelevant packets in the network and preventing packet attacks.
[0037] In conjunction with the second aspect above, in one possible implementation, the first IP header and the second IP header are IPv4 headers, the destination address in the first IP header is the loopback address of the second node, and the source address in the first IP header is the loopback address of the first node.
[0038] In conjunction with the second aspect above, in one possible implementation, the first IP header and the second IP header are IPv6 headers, the destination address in the first IP header is the VPN SID of the second node in the first VPN, and the source address in the first IP header is the IPv6 encapsulated source address of the first node.
[0039] In conjunction with the second aspect described above, in one possible implementation, the first test message includes a first tunnel header, an IPv4 header, and a payload, and the second test message includes a second tunnel header, an IPv4 header, and a payload. The IPv4 header in the first test message is the same as the IPv4 header in the second test message, and the payload in the first test message is the same as the payload in the second test message. The destination address in the IPv4 header is the IP address bound to the VPN private network interface of the first node.
[0040] In conjunction with the second aspect mentioned above, in one possible implementation, the first test message and the second test message are data messages.
[0041] In conjunction with the second aspect above, in one possible implementation, the first tunnel header and the second tunnel header are MPLS tunnel headers. The outer label in the first tunnel header is the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node, and the inner label in the first tunnel header is the private network label of the second node in the first VPN. Similarly, the outer label in the second tunnel header is the public network label of the next-hop node of the second node in the MPLS forwarding path from the second node to the first node, and the inner label in the second tunnel header is the private network label of the first node in the first VPN.
[0042] In conjunction with the second aspect described above, in one possible implementation, the first tunnel header and the second tunnel header are SRv6 BE tunnel headers. The destination address in the IPv6 header of the first tunnel header is the VPN SID of the second node in the first VPN, and the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node. Similarly, the destination address in the IPv6 header of the second tunnel header is the VPN SID of the first node in the first VPN, and the source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node.
[0043] In conjunction with the second aspect described above, in one possible implementation, the first tunnel header and the second tunnel header are SRv6 TE policy tunnel headers. In the first tunnel header, the destination address in the IPv6 header is the SID of the next-hop node of the first node on the SRv6 forwarding path from the first node to the second node; the source address in the IPv6 header is the IPv6 encapsulated source address of the first node; and the Segmentation Route Header (SRH) in the first tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the first node to the second node. Similarly, in the second tunnel header, the destination address in the IPv6 header is the SID of the next-hop node of the second node on the SRv6 forwarding path from the second node to the first node; the source address in the IPv6 header is the IPv6 encapsulated source address of the second node; and the Segmentation Route Header (SRH) in the second tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the second node to the first node.
[0044] Thirdly, a communication system is provided, comprising a first node and a second node, wherein the first node is used to instruct the network measurement method described in any one of the first aspects, and the second node is used to instruct the network measurement method described in any one of the second aspects.
[0045] Fourthly, a communication apparatus is provided for implementing the network measurement method described in any one of the first or second aspects. The communication apparatus includes modules, units, or means corresponding to the above-described method, which can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above-described functions.
[0046] Fifthly, a communication device is provided, comprising: a processor; the processor being coupled to a memory and, after reading instructions from the memory, executing a network measurement method as described in any one of the first or second aspects above, according to the instructions.
[0047] In one possible implementation, the communication device further includes a memory for storing computer instructions.
[0048] In one possible implementation, the communication device further includes a communication interface for communicating with other devices. For example, the communication interface may be a transceiver, an input / output interface, an interface circuit, an output circuit, an input circuit, pins, or related circuitry.
[0049] In one possible implementation, the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0050] In one possible implementation, when the communication device is a chip or chip system, the aforementioned communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The aforementioned processor can also be embodied as a processing circuit or logic circuit.
[0051] In a sixth aspect, a computer-readable storage medium is provided, which stores instructions that, when executed on a computer, cause the computer to perform the network measurement method described in any one of the first or second aspects.
[0052] In a seventh aspect, a computer program product is provided, which, when run on a processor, causes the processor to execute the network measurement method described in any possible implementation of the first or second aspect.
[0053] The technical effects of any of the design methods in aspects three through seven can be found in the technical effects of different design methods in aspects one or two, and will not be repeated here. Attached Figure Description
[0054] Figure 1 is a schematic diagram of the structure of an integrated space-ground communication network provided in an embodiment of this application;
[0055] Figure 2 is a schematic diagram of a TWAMP measurement architecture provided in an embodiment of this application;
[0056] Figure 3 is a schematic diagram of the structure of a communication system provided in an embodiment of this application;
[0057] Figure 4 is a flowchart illustrating a network measurement method provided in an embodiment of this application;
[0058] Figure 5 is an interactive flowchart of a first node and a second node performing TWAMP measurements according to an embodiment of this application;
[0059] Figure 6 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0060] Figure 7 is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0061] Before introducing the embodiments of this application, some terms and related technologies involved in the embodiments of this application will be explained. It should be noted that the following explanations are for the purpose of making the embodiments of this application easier to understand, and should not be regarded as a limitation on the scope of protection claimed by the embodiments of this application.
[0062] The integrated space-ground communication network relies on terrestrial networks and extends them with space-based networks, forming an interconnected network. This integrated development of space and terrestrial networks increases network coverage and overcomes the limitations of traditional terrestrial networks in reaching remote areas. The integrated space-ground communication network represents the future direction of communication network development.
[0063] Space-based networks consist of a space segment and a ground segment. The space segment includes satellites deployed in space, which can be geostationary orbit (GEO), medium Earth orbit (MEO), or low Earth orbit (LEO). The ground segment includes ground-based infrastructure deployed for communication with satellites, such as gateway stations and satellite gateways. This ground infrastructure connects to the terrestrial network, enabling integration between the two. Therefore, ground-based user equipment can transmit data using both terrestrial and space-based networks.
[0064] For example, Figure 1 is a schematic diagram of the structure of an integrated space-ground communication network provided in this application. As shown in Figure 1, the communication network includes satellites 101a, 101b, 101c, and 101d; gateway stations 102a and 102b; satellite gateways 103a and 103b; a ground network 104a and 104b; user equipment 105; a server 106; a satellite terminal 107; a core network 108; a campus network 109; and a data center network (DCN) 100. Satellites 101a, 101b, 101c, and 101d are interconnected via inter-satellite links. Satellite 101a is also connected to gateway station 102a, which is connected to satellite gateway 103a. Satellite gateway 103a is also connected to ground network 104a, which is connected to user equipment 105 and server 106. Satellite 101c is also connected to gateway station 102b, which in turn is connected to satellite gateway 103b. Satellite gateway 103b is also connected to terrestrial network 104b, which in turn is connected to core network 108, campus network 109, and DCN 100. Satellite 101b is directly connected to satellite terminal 107.
[0065] In the integrated space-ground communication network shown in Figure 1, user equipment 105, server 106, or satellite terminal 107 can communicate with the core network 108, campus network 109, or DCN 100 via satellite relay. For example, the communication link between user equipment 105 and DCN 100 includes: user equipment 105 Terrestrial Network 104a Satellite Gateway 103a Customs Station 102a Satellite 101a Satellite 101b or Satellite 101d Satellite 101c Customs Station 102b Satellite Gateway 103b 104b terrestrial network DCN100. For example, the communication link between satellite terminal 107 and core network 108 includes: satellite terminal 107 Satellite 101b Satellite 101c Customs Station 102b Satellite Gateway 103b 104b terrestrial network Core network 108.
[0066] It should be understood that satellites 101a, 101b, 101c, and 101d in Figure 1 belong to the space segment of the space-based network, while gateway stations 102a, 102b, 103a, and 103b in Figure 1 belong to the ground segment of the space-based network.
[0067] It should be understood that satellite data forwarding is specifically implemented by satellite routers, which are devices, modules, or chips within a satellite that have routing capabilities. For example, satellite routers are deployed in satellites 101a, 101b, 101c, and 101d in Figure 1.
[0068] As a possible scenario, the terrestrial networks 104a and 104b in Figure 1 are also connected on the ground, and the user equipment 105 or server 106 can also communicate with the core network 108, the campus network 109 or DCN100 through the terrestrial network.
[0069] The Two-Way Active Measurement Protocol (TWAMP) is used to measure performance parameters such as bidirectional latency, jitter, and packet loss rate of packets between any two devices in a network, providing a basis for network quality analysis. Currently, the TWAMP protocol defines two architectures: a standard architecture and a lightweight architecture. The lightweight architecture of TWAMP is called TWAMPLight, and most vendors currently use this architecture.
[0070] For example, Figure 2 is a schematic diagram of a TWAMP measurement architecture provided in this application. As shown in Figure 2, the TWAMP measurement architecture includes a TWAMP transmitter 201 and a TWAMP reflector 202, which are directly or indirectly connected. The TWAMP transmitter 201 is used to send a TWAMP test request message to the TWAMP reflector 202, and the TWAMP reflector 202 is used to send a TWAMP test response message to the TWAMP transmitter 201. The TWAMP transmitter 201 can measure performance parameters such as bidirectional latency, latency jitter, and packet loss rate based on the sent and received TWAMP test messages.
[0071] In the integrated space-ground communication network scenario described above, there is also a need for TWAMP measurements between the satellite router and the satellite gateway. For example, the satellite router acts as the TWAMP transmitter, and the satellite gateway acts as the TWAMP reflector. The satellite router initiates a TWAMP measurement to measure the communication performance between the satellite router and the satellite gateway.
[0072] However, TWAMP is a point-to-point measurement. The TWAMP transmitter needs to obtain the Internet Protocol (IP) address of the TWAMP reflector in advance and initiate the TWAMP measurement based on the IP address of the other end.
[0073] In a space-ground integrated communication network scenario, satellites orbit the Earth, causing the connection between satellite routers and ground-based satellite gateways to change dynamically. During satellite orbit, satellite routers continuously switch connections to different ground-based satellite gateways. This makes it impossible to pre-plan the connection between satellite routers and satellite gateways, and the IP addresses of the satellite gateways to which satellite routers connect cannot be pre-configured.
[0074] One possible implementation is to pre-configure the IP addresses of all satellite gateways on the ground that might connect to the satellite router, enabling the satellite router to initiate TWAMP measurements. However, this implementation involves a large amount of configuration and has low feasibility. Furthermore, even if all satellite gateway IP addresses are configured, the satellite router may connect to different satellite gateways at different times, raising the question of which satellite gateway the satellite router should initiate TWAMP measurements to.
[0075] To address the aforementioned issues, this application provides a network measurement method that allows a satellite router to determine the address information of the satellite gateway to which the peer is connected, based on its local VPN routing information, at any given time. Furthermore, the satellite router can initiate TWAMP measurements based on the determined address information of the peer's connected satellite gateway. This network measurement method eliminates the need to pre-configure address information for the device initiating the network measurement, thus overcoming the problems associated with current satellite router TWAMP measurements.
[0076] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, the words "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being better or more advantageous than other embodiments or design schemes. Specifically, the use of "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding. In addition, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions in the embodiments of this application and do not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art will understand that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0077] Before introducing the network measurement method provided in the embodiments of this application, the communication system used in the network measurement method of this application will be introduced first.
[0078] Figure 3 is a schematic diagram of a communication system provided in this application. As shown in Figure 3, the communication system includes a first node 301 and a second node 302, which are directly or indirectly connected. The first node 301 and the second node 302 are forwarding nodes in the network, used for data forwarding.
[0079] As one possible implementation, the first node 301 and the second node 302 are network forwarding devices such as routers, gateways, and switches.
[0080] Optionally, continuing to refer to Figure 3, the first node 301 is also connected to the first user site 303, and the second node 302 is also connected to the second user site 304. The first node 301, the second node 302, the first user site 303, and the second user site 304 belong to the same virtual private network (VPN), for example, VPN1. The first user site 303 and the second user site 304 are user sites in VPN1, and the first node 301 and the second node 302 are VPN forwarding nodes in VPN1, used to forward VPN service data between the first user site 303 and the second user site 304.
[0081] As one possible implementation, in a traditional terrestrial network scenario, the first node 301 and the second node 302 are provider edge (PE) devices in the IP backbone network.
[0082] As one possible implementation, in a space-ground integrated communication network scenario, the first node 301 is a satellite router, and the second node 302 is a satellite gateway. Alternatively, the first node 301 is a satellite gateway, and the second node 302 is a satellite router.
[0083] For example, taking the communication network shown in Figure 1 as an example, the first node 301 is satellite 101c, and the second node 302 is satellite gateway 103b. In this case, the first user station 303 can be satellite terminal 107, user equipment 105, or server 106, and the second user station 304 can be a station in the core network 108, campus network 109, or DCN 100.
[0084] For example, the first node 301 is satellite gateway 103b, and the second node 302 is satellite 101c. In this case, the first user site 303 can be a site in the core network 108, campus network 109, or DCN 100, and the second user site 304 can be satellite terminal 107, user equipment 105, or server 106.
[0085] It should be understood that the communication system and devices shown in Figure 3 are merely illustrative and do not constitute a limitation on the technical solutions provided in the embodiments of this application. The communication system shown in Figure 3 can also be other types of architecture, and the devices can also be other types of devices. As those skilled in the art will recognize, with the evolution of network architecture and the emergence of new service scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0086] The network measurement method provided in the embodiments of this application will be described below with reference to the communication network or communication system shown in Figures 1 to 3. Actions, terminology, etc., involved in the various embodiments of this application can be referred to mutually without limitation. The message names or parameter names in the messages in the embodiments of this application are merely examples; other names may be used in specific implementations without limitation.
[0087] Figure 4 is a flowchart of a network measurement method provided in an embodiment of this application. As shown in Figure 4, the method may include the following steps S401 to S403.
[0088] S401. The first node determines the address information of the second node based on the VPN routing information. The second node is the next-hop node in the first VPN from which the first node proceeds to the target user site within the first VPN, as indicated by the VPN routing information. The first node, the second node, and the target user site belong to the first VPN.
[0089] For example, taking the network measurement method applied to the communication system shown in Figure 3 as an example, the first VPN can be VPN1, the first node can be the first node 301, the second node can be the second node 302, and the target user site can be the second user site 304.
[0090] In one possible implementation, the first node and the second node act as VPN forwarding nodes. The first node is connected to at least one user site, and the second node is also connected to at least one user site. Furthermore, the at least one user site connected to the first node and the second node can belong to at least one VPN. This at least one VPN includes a first VPN, and the target user site is one of the at least one user sites connected to the second node that belongs to the first VPN. The user sites connected to the first node and the user sites connected to the second node communicate via the VPN through the first node and the second node.
[0091] Optionally, user sites connected to the first node will publish VPN routing information to the first node, and user sites connected to the second node will publish VPN routing information to the second node. Furthermore, the first node and the second node can exchange VPN routing information, enabling the first node to obtain the VPN routing information of user sites connected to the second node, and vice versa.
[0092] Optionally, the VPN routing information locally on the first node includes VPN routing information corresponding to multiple different user sites, and the VPN routing information corresponding to each user site further includes VPN routing information for each user site in multiple different VPNs. Therefore, the first node determines the address information of the second node based on the VPN routing information, specifically including: the first node determines the address information of the second node based on the VPN routing information of the target user site in the first VPN. Here, the VPN routing information of the target user site in the first VPN is one of the multiple VPN routing information locally on the first node.
[0093] As one possible implementation, the VPN routing information of the first node refers to the routing information in the VPN instance routing table or the virtual routing forwarding (VRF) table of the first node.
[0094] S402. The first node sends a first test message to the second node based on the address information of the second node. Correspondingly, the second node receives the first test message from the first node.
[0095] S403. The second node sends a second test message to the first node based on the first test message from the first node. Correspondingly, the first node receives the second test message from the second node.
[0096] The second test message and the first test message are used to test the communication performance between the first node and the second node.
[0097] As one possible implementation, the first node determines the round trip time (RTT) between the first node and the second node based on the time difference between sending the first test message and receiving the second test message.
[0098] As one possible implementation, S402 and S403 can be executed multiple times. In this case, the first node determines the packet loss rate and latency jitter of the communication between the first node and the second node by sending the first test message and receiving the second test message multiple times.
[0099] Based on the above scheme, the first node can determine the address information of the second node to which the peer is connected based on its local VPN routing information. Then, the first node sends a test message to the second node based on the determined address information to test the communication performance between the first and second nodes.
[0100] One possible implementation involves a satellite router as the first node and a satellite gateway as the second. That is, the satellite router can determine the routing information of the connected satellite gateway based on its local VPN routing information, and then send test messages to the connected satellite gateway to measure communication performance. Based on this scheme, although the connection between the satellite router in space and the satellite gateway on the ground is dynamically changing, the satellite router can determine the currently connected satellite gateway at any given time based on its local VPN routing information. Therefore, the satellite router can initiate communication performance measurements with the satellite gateway at any time.
[0101] Optionally, the first test message is an IP packet transmitted over a public network. As one possible implementation, the first test message includes a first IP header and a payload. Specifically, if the public network between the first and second nodes is an Internet Protocol version 4 (IPv4) network, the first IP header is an IPv4 header. If the public network between the first and second nodes is an Internet Protocol version 6 (IPv6) network, the first IP header is an IPv6 header.
[0102] Optionally, if the public network between the first node and the second node is an IPv4 network, the first node determines the address information of the second node based on VPN routing information. This includes: the first node determines the loopback address of the second node based on the VPN routing information corresponding to the target user site. This loopback address is an IPv4 address. Specifically, the original nexthop address in the VPN routing information corresponding to the target user site is the loopback address of the second node. In this case, the first IP header is an IPv4 header, and the destination address in the first IP header is the loopback address of the second node.
[0103] Optionally, if the first IP header is an IPv4 header, the source address in the first IP header is the IPv4 address of the first node. As one implementation, the source address in the first IP header uses the loopback address of the first node.
[0104] Optionally, if the public network between the first node and the second node is an IPv6 network, the first node determines the address information of the second node based on VPN routing information. This includes: the first node determining the VPN segment identification (SID) of the second node in the first VPN based on the VPN routing information of the target user site in the first VPN. This VPN SID is an IPv6 address. The prefix SID included in the VPN routing information of the target user site in the first VPN is the VPN SID of the second node in the first VPN. In this case, the first IP header is an IPv6 header, and the destination address in the first IP header is the VPN SID of the second node in the first VPN.
[0105] As one possible implementation, the VPN SID of the second node in the first VPN can specifically be the End.DT4 SID, End.DT46 SID, or End.DX4 SID of the second node.
[0106] Optionally, if the first IP header is an IPv6 header, the source address in the first IP header is the IPv6 encapsulation source address of the first node. As one implementation, the IPv6 encapsulation source address of the first node is configured using the `encapsulation source-address` command.
[0107] As one possible implementation, the second test message includes a second IP header and a payload. If the public network between the first and second nodes is an IPv4 network, the second IP header is an IPv4 header. If the public network between the first and second nodes is an IPv6 network, the second IP header is an IPv6 header.
[0108] Optionally, the second test message is generated based on the first test message, the source address in the second IP header is the destination address in the first IP header, the destination address in the second IP header is the source address in the first IP header, and the payload in the second test message is the same as the payload in the first test message.
[0109] As one possible implementation, after receiving the first test message, the second node exchanges the source IP address and destination IP address in the first test message to obtain the second test message.
[0110] Optionally, the second node includes an address whitelist, which contains at least one IP address. If the source IP address of the first test message received by the second node belongs to an IP address in the address whitelist, the second node generates a second test message based on the first test message and sends the second test message to the first node.
[0111] Optionally, both the first and second nodes support TWAMP, and the first and second test messages are TWAMP-Test messages in the TWAMP measurement process. Specifically, the first test message is a test request message, and the second test message is a test response message. Based on this, TWAMP measurements can be performed between the first and second nodes. It should be understood that the first and second nodes in this application can be a satellite router and a satellite gateway, respectively, thus overcoming the problem in the prior art that satellite routers cannot initiate TWAMP measurements.
[0112] As one possible implementation, the first and second nodes can use either the standard TWAMP architecture or the TWAMP-Light architecture for TWAMP measurements.
[0113] For example, taking the first node and the second node using the TWAMP standard architecture for TWAMP measurement as an example, the interaction process of the first node and the second node for TWAMP measurement can be shown in Figure 5. The process of the first node and the second node for TWAMP measurement includes the following steps S501 to S511.
[0114] S501, The first node sends an "open TCP connection port" message to the second node.
[0115] The `open TCP connection port` option is used to initiate the establishment of a TCP connection, with the default TCP port being 862. The first node acts as the TCP client, and the second node acts as the TCP server.
[0116] S502, the second node replies to the first node with a server-greeting message.
[0117] The Server-Greeting message is used to announce the configuration of the second node.
[0118] S503, The first node sends a Set-Up-Response message to the second node.
[0119] The Set-Up-Response message is used to initiate the establishment of a control session.
[0120] S504, The second node replies to the first node with a Server-Start message.
[0121] Upon receiving the Set-Up-Response message, the second node establishes a control session. The Server-Start message indicates that the second node has successfully established the control session.
[0122] S505, The first node sends a Request TW-Session message to the second node.
[0123] The Request TW-Session message carries the IP address and port number of the first node and is used to establish a measurement session.
[0124] S506, The second node replies to the first node with an Accept-Session message.
[0125] Upon receiving the Request TW-Session message, the second node establishes a measurement session based on the first node's IP address and port number. The second node then replies with an Accept-Session message to indicate that the measurement session has been established.
[0126] S507, The first node sends a Start-Session message to the second node.
[0127] The Start-Session message is used to request the start of a measurement session.
[0128] S508, the second node replies to the first node with a Start-ACK message.
[0129] Upon receiving the Start-Session message, the second node initiates a measurement session. The second node then replies with a Start-ACK message to indicate to the first node that it has started the measurement session.
[0130] S509. The first node sends a TWAMP test request message to the second node.
[0131] S510, the second node replies to the first node with a TWAMP test response message.
[0132] After the measurement session is initiated, the first node and the second node can officially conduct TWAMP measurements. The TWAMP-Test request message and the TWAMP-Test response message are used to enable the first node to measure the communication performance between the first node and the second node.
[0133] Optionally, S509 and S510 can be executed multiple times after the measurement session is started.
[0134] S511, The first node sends a Stop-Session message to the second node.
[0135] The Stop-Session message is used to notify the second node to close the measurement session. Upon receiving the Stop-Session message, the second node will disable the acknowledgment function corresponding to the measurement session.
[0136] Optionally, if the first node and the second node use the TWAMP standard architecture for TWAMP measurement, the first node and the second node will perform the above steps S501 to S511.
[0137] As one possible implementation, the first test message is the TWAMP-Test request message in S509, and the second test message is the TWAMP-Test response message in S510. In this case, the first node will also execute the above steps S501, S503, S505, S507, and S511, and the second node will also execute the above steps S502, S504, S506, and S508.
[0138] Optionally, the messages transmitted between the first node and the second node in S501 to S511 above are all IP packets. The IP headers of the open TCP connection port message, Set-Up-Response message, Request TW-Session message, Start-Session message, TWAMP-Test request message, and Stop-Session message sent by the first node can refer to the implementation method of the first IP header mentioned above. The IP headers of the Server-Greeting message, Server-Start message, Accept-Session message, Start-ACK message, and TWAMP-Test response message sent by the second node can refer to the implementation method of the second IP header mentioned above.
[0139] It should be understood that the TWAMP-Light architecture simplifies the control protocol for establishing measurement sessions compared to the standard TWAMP architecture. Optionally, when the first and second nodes use the TWAMP-Light architecture for TWAMP measurements, the first and second nodes will execute steps S505 to S511 as described above.
[0140] Optionally, when TWAMP measurements are performed at the first and second nodes, TWAMP data is carried in the payload fields of the first and second test messages.
[0141] Optionally, the first test message is a message transmitted through a VPN tunnel over the public network. As one possible implementation, the first test message includes a first tunnel header, an IPv4 header, and a payload. The first tunnel header is the tunnel header corresponding to the VPN tunnel from the first node to the second node. It should be understood that the "IPv4 header + payload" can be considered as a private network message encapsulated within the first test message; this private network message, after having the first tunnel header added, is introduced into the VPN tunnel from the first node to the second node for transmission.
[0142] Optionally, after receiving the first test message, the second node decapsulates the first tunnel header of the first test message to obtain the inner private network message. In this embodiment, the destination address in the IPv4 header of the first test message is the IP address bound to the VPN private network interface of the first node. Based on this, after decapsulating the first test message, the second node determines whether to forward the inner private network message to the first node based on the destination address in the IPv4 header. Thus, the second node can recapsulate the inner private network message of the first test message into a second test message and then send it to the first node.
[0143] As one possible implementation, the second test message includes a second tunnel header, an IPv4 header, and a payload. The second test message is generated based on the first test message; the IPv4 header in the second test message is the same as that in the first test message, and the payload in the second test message is also the same as that in the first test message. The second tunnel header is the tunnel header corresponding to the VPN tunnel from the second node to the first node.
[0144] As one possible implementation, after receiving the first test message, the second node replaces the first tunnel header of the first test message with the second tunnel header to obtain the second test message.
[0145] Optionally, when the first node transmits the first test message through a VPN tunnel in the public network, the first node determines the address information of the second node based on the VPN routing information, including: the first node determines the VPN tunnel information between the first node and the second node based on the VPN routing information corresponding to the target user site.
[0146] In one possible scenario, the VPN tunnel between the first and second nodes is a (Multi Protocol Label Switching, MPLS) tunnel, and correspondingly, the first tunnel header and the second tunnel header are MPLS tunnel headers. The MPLS tunnel header includes two layers of MPLS labels: an outer label and an inner label. The outer label is also called the public network label, and the inner label is also called the private network label.
[0147] Optionally, when the VPN tunnel between the first node and the second node is an MPLS tunnel, the VPN tunnel information determined by the first node includes the private network label of the second node in the first VPN and the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node. In this case, the first tunnel header is an MPLS tunnel header, the outer label in the first tunnel header is the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node, and the inner label in the first tunnel header is the private network label of the second node in the first VPN.
[0148] As one possible implementation, the first node can query the VPN routing information corresponding to the target user site on its local machine to determine the private network label of the second node in the first VPN. The private network label of the second node in the first VPN is obtained by the first node through the exchange of VPN routing information with the second node.
[0149] As one possible implementation, the first node can query local public network routing information to determine the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node.
[0150] Optionally, when the VPN tunnel between the first node and the second node is an MPLS tunnel header, the second tunnel header is an MPLS tunnel header. The outer label in the second tunnel header is the public network label of the next-hop node of the second node in the MPLS forwarding path from the second node to the first node, and the inner label in the second tunnel header is the private network label of the first node in the first VPN. The implementation method of the second node determining the second tunnel header is similar to the implementation method of the first node determining the first tunnel header, and will not be described again in this application.
[0151] In another possible scenario, the VPN tunnel between the first and second nodes is an SRv6 best-effort (BE) tunnel, and correspondingly, the first and second tunnel headers are SRv6 BE tunnel headers. The SRv6 BE tunnel header includes an IPv6 header.
[0152] Optionally, if the VPN tunnel between the first node and the second node is an SRv6 BE tunnel, the VPN tunnel information determined by the first node includes the VPN SID of the second node in the first VPN. In this case, the first tunnel header is an SRv6 BE tunnel header, and the destination address of the IPv6 header in the first tunnel header is the VPN SID of the second node in the first VPN.
[0153] Optionally, if the first tunnel header is an SRv6 BE tunnel header, the source address of the IPv6 header in the first tunnel header is the IPv6 encapsulated source address of the first node.
[0154] Optionally, if the VPN tunnel between the first node and the second node is an SRv6 BE tunnel, the second tunnel header is an SRv6 BE tunnel header, the destination address of the IPv6 header in the second tunnel header is the VPN SID of the first node in the first VPN, and the source address of the IPv6 header in the second tunnel header is the IPv6 encapsulated source address of the second node.
[0155] In another possible scenario, the VPN tunnel between the first and second nodes can also be an SRv6 traffic engineering (TE) policy tunnel, with the first and second tunnel headers being SRv6 TE policy tunnel headers. The SRv6 TE policy tunnel header includes an IPv6 header and a segment routing header (SRH).
[0156] Optionally, when the VPN tunnel between the first node and the second node is an SRv6 TE policy tunnel, the VPN tunnel information determined by the first node includes the VPN SID of the second node and the SID of the SRv6 forwarding node between the first and second nodes. In this case, the first tunnel header is an SRv6 TE policy tunnel header. The destination address in the IPv6 header of the first tunnel header is the SID of the next-hop node of the first node on the SRv6 forwarding path from the first node to the second node, and the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulation source address of the first node. The SRH in the first tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the first node to the second node. The starting SID in the SRH is the SID of the next-hop node of the first node on the SRv6 forwarding path from the first node to the second node, and the ending SID in the SRH is the VPN SID of the second node in the first VPN. During transmission, the destination address in the IPv6 header of the first test packet will be updated according to the SRH.
[0157] Optionally, if the VPN tunnel between the first and second nodes is an SRv6 TE policy tunnel, the second tunnel header is also an SRv6 TE policy tunnel header. The destination address in the IPv6 header of the second tunnel header is the SID of the next-hop node of the second node on the SRv6 forwarding path from the second node to the first node, and the source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node. The SRH in the second tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the second node to the first node. The starting SID in the SRH is the SID of the next-hop node of the second node on the SRv6 forwarding path from the second node to the first node, and the ending SID in the SRH is the VPN SID of the first node in the first VPN. During transmission, the destination address in the IPv6 header of the second test packet will be updated according to the SRH.
[0158] It should be understood that in the above implementation where the first and second nodes transmit the first and second test packets via a VPN tunnel, the first and second test packets are data packets transmitted over the VPN private network. The second node processes the first test packet in the same way as it processes the data packets, and no additional configuration is required for the second node to implement this network measurement method.
[0159] Optionally, when the first node sends the first test message through the VPN tunnel, the payload of the first test message sent by the first node can carry TWAMP data, thereby enabling TWAMP measurement between the first node and the second node. This implementation can be considered as TWAMP one-arm detection, where the first node does not need to perform TWAMP protocol interaction with the second node.
[0160] In one possible scenario, there are multiple different next-hop nodes for the first node to reach the target user site in the first VPN. In this case, the first node determines the address information of the second node based on the VPN routing information, including: the first node determines the address information of multiple second nodes based on the VPN routing information. Here, the multiple second nodes refer to the multiple different next-hop nodes for the first node to reach the target user site in the first VPN.
[0161] Optionally, if there are multiple different next-hop nodes between the first node and the target user site in the first VPN, the first node sends a first test message to the second node based on the address information of the second node. This includes: the first node sending multiple first test messages to multiple second nodes based on the address information of the multiple second nodes. The first node receives second test messages from the second nodes, including: the first node receiving multiple second test messages from the multiple second nodes. In other words, the first node measures the communication performance between the first node and each of the multiple second nodes.
[0162] As one possibility, the next hop from the first node to the target user site in the first VPN may change dynamically. For example, if the first node is a satellite router and the target user site is a terrestrial user site, the first node may access the target user site through different satellite gateways at different times.
[0163] As one possible implementation, the network measurement method provided in this application also includes:
[0164] S404. The first node determines the address information of the third node based on the updated VPN routing information. The third node is the next-hop node in the first VPN from which the first node proceeds to the target user site.
[0165] As one possibility, at least one third node identified by the first node in S404 is the same as at least one second node identified by the first node in S401. That is, at least one path from the first node to the target user site in the first VPN remains unchanged.
[0166] As another possibility, the third node identified by the first node in S404 is different from the second node identified by the first node in S401. In other words, the paths from the first node to the target user site in the first VPN have all changed.
[0167] S405. The first node sends a third test message to the third node based on the address information of the third node. Correspondingly, the third node receives the third test message from the first node.
[0168] The implementation method of the third test message is similar to that of the first test message. The implementation method of the first node sending the third test message to the third node is similar to that of the first node sending the first test message to the second node. Please refer to the relevant description above. It will not be repeated here.
[0169] S406. The third node sends a fourth test message to the first node based on the third test message received from the first node. The first node receives the fourth test message from the third node. The fourth and third test messages are used to test the communication performance between the first and third nodes.
[0170] The implementation method of the fourth test message is similar to that of the second test message. The implementation method of the third node sending the fourth test message to the first node is similar to that of the second node sending the second test message to the first node. Please refer to the relevant descriptions above, which will not be repeated here.
[0171] Optionally, the first node sends a first test message to the second node for performance measurement, based on a measurement instance created in the first node. After the first node determines the address information of multiple second nodes, it creates multiple measurement instances based on the address information of the multiple second nodes, with each measurement instance corresponding one-to-one with a different second node. Subsequently, the first node sends multiple first test messages to the multiple second nodes based on the multiple measurement instances, thereby measuring the communication performance between the first node and the multiple second nodes.
[0172] Optionally, after the measurement instance corresponding to the second node is created, the first node can periodically send a first test message based on the measurement instance in order to periodically detect the communication performance between the first node and the second node.
[0173] Optionally, when the VPN routing information of the first node is updated, after the first node has identified multiple third nodes leading to the target user site in the first VPN, the first node can also create multiple measurement instances corresponding to the third nodes. Subsequently, based on the multiple measurement instances, the first node sends multiple third test packets to the multiple third nodes to measure the communication performance between the first node and the multiple third nodes.
[0174] As one possible implementation, the first node identifies multiple third nodes that are identical to the second node. For the third nodes that are identical to the second node, a measurement instance has already been created in the first node, so the first node does not need to create a new measurement instance. For the third nodes that are different from the second node, a corresponding measurement instance has not yet been created in the first node, so the first node needs to create a new measurement instance.
[0175] As one possible implementation, for multiple second nodes that are different from the third node, the first node needs to delete the measurement instances corresponding to these second nodes.
[0176] This application also provides a communication device for implementing the various methods described above. This communication device may also be a first node in the above method embodiments, or a component usable in the first node. Alternatively, the communication device may also be a second node in the above method embodiments, or a component usable in the second node. It is understood that, in order to implement the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0177] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0178] Figure 6 shows a schematic diagram of the structure of a communication device provided in this application. Referring to Figure 6, the communication device 60 may include a transmitting unit 601, a receiving unit 602, and a processing unit 603.
[0179] The communication device 60 can be used to implement the functions performed by the first node. Specifically, the sending unit 601 can support the device in performing the sending behavior of the first node in the above method embodiment, the receiving unit 602 can support the device in performing the receiving behavior of the first node in the above method embodiment, and the processing unit 603 can support the device in performing the processing behavior of the first node in the above method embodiment.
[0180] Alternatively, the communication device 60 can be used to implement the functions performed by the second node described above. Specifically, the sending unit 601 can be used to support the device in performing the sending behavior of the second node in the above method embodiment, the receiving unit 602 can be used to support the device in performing the receiving behavior of the second node in the above method embodiment, and the processing unit 603 can be used to support the device in performing the processing behavior of the second node in the above method embodiment.
[0181] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here in the embodiments of this application.
[0182] It should be understood that the module division in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. For example, two or more functions may be integrated into one processing module. In addition, the integrated modules described above can be implemented in hardware or as software functional modules, and this application does not impose any restrictions on this.
[0183] In this embodiment, the communication device 60 is presented in an integrated manner, divided into various functional modules. Here, "module" can refer to a specific ASIC, circuitry, a processor and memory executing one or more software or firmware programs, integrated logic circuitry, and / or other devices that can provide the aforementioned functions. In a simplified embodiment, those skilled in the art will recognize that the communication device 60 can take the form of the communication device 70 shown in FIG. 7.
[0184] Figure 7 is a schematic diagram of another communication device provided in an embodiment of this application. As shown in Figure 7, the communication device 70 includes one or more processors 701, a communication line 702, and at least one communication interface (Figure 7 is only illustrative, using a communication interface 703 and a processor 701 as an example). Optionally, it may also include a memory 704. The processor 701 may be a CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of this application. The communication line 702 may include a path for communication between different components. The communication interface 703 may be a transceiver module for communicating with other devices or communication networks, such as Ethernet, RAN, wireless local area networks (WLAN), etc. For example, the transceiver module may be a transceiver or a transceiver-like device. Optionally, the communication interface 703 may also be a transceiver circuit located within the processor 701, used to implement the signal input and signal output of the processor. The memory 704 may be a device with storage function. For example, it can be a read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory can exist independently and be connected to the processor via communication line 702. The memory can also be integrated with the processor. The memory 704 is used to store computer execution instructions for executing the scheme of this application, and is controlled by the processor 701 for execution. The processor 701 is used to execute the computer execution instructions stored in the memory 704, thereby implementing the network measurement method provided in the embodiments of this application. Alternatively, in this embodiment, the processor 701 performs processing-related functions in the network measurement method provided in the following embodiments of this application, and the communication interface 703 is responsible for communicating with other devices or communication networks. This embodiment does not specifically limit this.The computer execution instructions in this application embodiment can also be referred to as application code, and this application embodiment does not specifically limit this. As one embodiment, the processor 701 may include one or more CPUs, such as CPU0 and CPU1 in FIG7.
[0185] As one embodiment, the communication device 70 may include multiple processors, such as processors 701 and 707 in FIG. 7. Each of these processors may be a single-core processor or a multi-core processor. The processors here may include, but are not limited to, at least one of the following: a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a microcontroller unit (MCU), or an artificial intelligence processor, and other computing devices that run software. Each computing device may include one or more cores for executing software instructions to perform calculations or processing.
[0186] As one embodiment, the communication device 70 may further include an output device 705 and an input device 706. The output device 705 communicates with the processor 701 and can display information in various ways. For example, the output device 705 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 706 communicates with the processor 701 and can receive user input in various ways. For example, the input device 706 may be a mouse, keyboard, touchscreen device, or sensing device, etc.
[0187] The processor 701 in the communication device 70 shown in Figure 7 can execute the network measurement method described in the above method embodiment by calling computer execution instructions stored in the memory 704. Since the communication device 70 provided in this embodiment can execute the above network measurement method, the technical effects it can achieve can be referred to the above method embodiment, and will not be repeated here.
[0188] In the various embodiments of this application, the sequence numbers of the above processes do not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. Those skilled in the art will recognize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units, i.e., they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Additionally, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. In the above embodiments, implementation can be entirely or partially achieved through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be entirely or partially in the form of a computer program product. This computer program product includes one or more computer instructions. When computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or can include one or more data storage devices such as servers or data centers that can be integrated with media. The available medium can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital versatile discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0189] As used herein, the terms “component,” “module,” “system,” etc., are intended to refer to a computer-related entity, which may be hardware, firmware, a combination of hardware and software, software, or running software. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a running thread, a program, and / or a computer. As an example, an application running on a computing device and the computing device itself can both be components. One or more components may reside in a running process and / or thread, and components may be located in a single computer and / or distributed among two or more computers. Furthermore, these components are capable of execution from various computer-readable media having various data structures thereon. These components may communicate locally and / or remotely via signals, such as based on one or more data packets (e.g., data from a component that interacts with a local system, another component in a distributed system, and / or signals that interact with other systems via a network such as the Internet). This application presents various aspects, embodiments, or features of a system that may include multiple devices, components, modules, etc. It should be understood and acknowledged that each system may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.
[0190] Additionally, in the embodiments of this application, the term "exemplary" is used to indicate that it is an example, illustration, or description. Any embodiment or design described as "exemplary" in this application should not be construed as being better or more advantageous than other embodiments or designs. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner. In the embodiments of this application, information, signal, message, and channel may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent when their distinctions are not emphasized. "Of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent when their distinctions are not emphasized. "System" and "network" may sometimes be used interchangeably, and their intended meanings are consistent when their distinctions are not emphasized; for example, "communication network" also refers to "communication system." The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0191] 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. A network measurement method, characterized in that, The method includes: The first node determines the address information of the second node based on the VPN routing information; wherein, the second node is the next-hop node from the first node to the target user site in the first VPN as indicated by the VPN routing information, and the first node, the second node and the target user site all belong to the first VPN; The first node sends a first test message to the second node based on the address information of the second node; The first node receives a second test message from the second node; the second test message and the first test message are used to measure the communication performance between the first node and the second node.
2. The method according to claim 1, characterized in that, The first test message includes a first Internet Protocol (IP) header and a payload, and the second test message includes a second IP header and the payload; the source address in the second IP header is the destination address in the first IP header, and the destination address in the second IP header is the source address in the first IP header.
3. The method according to claim 2, characterized in that, The first IP header and the second IP header are Internet Protocol version 4 (IPv4) headers. The destination address in the first IP header is the loopback address of the second node, and the source address in the first IP header is the loopback address of the first node.
4. The method according to claim 2, characterized in that, The first IP header and the second IP header are Internet Protocol version 6 (IPv6) headers. The destination address in the first IP header is the VPN segment identifier (SID) of the second node in the first VPN. The source address in the first IP header is the IPv6 encapsulated source address of the first node.
5. The method according to any one of claims 1-4, characterized in that, The first test message and the second test message are Bidirectional Active Measurement Protocol (TWAMP) test messages, and the payloads of the first test message and the second test message include TWAMP data.
6. The method according to claim 1, characterized in that, The first test message includes a first tunnel header, an IPv4 header, and a payload; the second test message includes a second tunnel header, the IPv4 header, and the payload; the destination address in the IPv4 header is the IP address bound to the VPN private network interface of the first node.
7. The method according to claim 6, characterized in that, The first tunnel header and the second tunnel header are Multiprotocol Label Switching (MPLS) tunnel headers; The outer label in the first tunnel header is the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node, and the inner label in the first tunnel header is the private network label of the second node in the first VPN. The outer label in the second tunnel header is the public network label of the next-hop node of the second node in the MPLS forwarding path from the second node to the first node, and the inner label in the second tunnel header is the private network label of the first node in the first VPN.
8. The method according to claim 6, characterized in that, The first tunnel header and the second tunnel header are Internet Protocol version 6 (IP6) segmented routing (SRv6) best-effort BE tunnel headers; The destination address in the IPv6 header of the first tunnel header is the VPN SID of the second node in the first VPN, and the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node. The destination address in the IPv6 header of the second tunnel header is the VPN SID of the first node in the first VPN, and the source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node.
9. The method according to claim 6, characterized in that, The first tunnel head and the second tunnel head are SRv6 flow engineering TE strategy tunnel heads; The destination address in the IPv6 header of the first tunnel header is the SID of the next-hop node of the first node on the SRv6 forwarding path from the first node to the second node, the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node, and the Segmented Routing Header (SRH) in the first tunnel header includes the SID of the node on the SRv6 forwarding path from the first node to the second node. The destination address in the IPv6 header of the second tunnel header is the SID of the next-hop node of the second node on the SRv6 forwarding path from the second node to the first node. The source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node. The SRH in the second tunnel header includes the SID of the node on the SRv6 forwarding path from the second node to the first node.
10. The method according to any one of claims 1 or 6-9, characterized in that, The first test message and the second test message are data messages.
11. The method according to any one of claims 1-10, characterized in that, The first node is a satellite router, and the second node is a satellite gateway.
12. The method according to any one of claims 1-11, characterized in that, The first node determines the address information of the second node based on the VPN routing information, including: The first node determines the address information of multiple second nodes based on VPN routing information; the multiple second nodes are multiple different next-hop nodes from the first node to the target user site in the first VPN; The first node sends a first test message to the second node based on the address information of the second node, including: The first node sends multiple first test messages to the multiple second nodes based on the address information of the multiple second nodes; The first node receives a second test message from the second node, including: The first node receives multiple second test messages from the plurality of second nodes.
13. The method according to claim 12, characterized in that, The first node sends multiple first test messages to the multiple second nodes based on their address information, including: The first node creates the plurality of measurement instances based on the address information of the plurality of second nodes, and the plurality of measurement instances correspond one-to-one with the plurality of second nodes; The first node sends multiple first test messages to the multiple second nodes based on the multiple measurement instances.
14. The method according to any one of claims 1-13, characterized in that, The method further includes: The first node determines the routing information of the third node based on the updated VPN routing information; the third node is the next-hop node from the first node to the target user site in the first VPN, as indicated by the updated VPN routing information. The first node sends a third test message to the third node based on the routing information of the third node; The first node receives a fourth test message from the third node, and the fourth test message and the third test message are used to measure the communication performance between the first node and the third node.
15. A network measurement method, characterized in that, The method includes: The second node receives a first test message from the first node; wherein the second node is the next-hop node from the first node to the target user site in the first virtual private network (VPN), the first node, the second node, and the target user site all belong to the first VPN, and the address information of the second node is determined by the first node based on the VPN routing information; The second node sends a second test message to the first node; the second test message and the first test message are used to test the communication performance between the first node and the second node.
16. The method according to claim 15, characterized in that, The first test message includes a first Internet Protocol (IP) header and a payload, and the second test message includes a second IP header and the payload; the source address in the second IP header is the destination address in the first IP header, and the destination address in the second IP header is the source address in the first IP header.
17. The method according to claim 16, characterized in that, The method further includes: Based on the source address in the first IP header being in the address whitelist of the second node, the second node generates the second test message according to the first test message.
18. The method according to claim 16 or 17, characterized in that, The first IP header and the second IP header are Internet Protocol version 4 (IPv4) headers. The destination address in the first IP header is the loopback address of the second node, and the source address in the first IP header is the loopback address of the first node.
19. The method according to claim 16 or 17, characterized in that, The first IP header and the second IP header are Internet Protocol version 6 (IPv6) headers. The destination address in the first IP header is the VPN segment identifier (SID) of the second node in the first VPN. The source address in the first IP header is the IPv6 encapsulated source address of the first node.
20. The method according to any one of claims 15-19, characterized in that, The first test message and the second test message are Bidirectional Active Measurement Protocol (TWAMP) test messages, and the payloads of the first test message and the second test message include TWAMP data.
21. The method according to claim 15, characterized in that, The first test message includes a first tunnel header, an IPv4 header, and a payload; the second test message includes a second tunnel header, the IPv4 header, and the payload; the destination address in the IPv4 header is the IP address bound to the VPN private network interface of the first node.
22. The method according to claim 21, characterized in that, The first tunnelhead and the second tunnelhead are MPLS tunnelheads; The outer label in the first tunnel header is the public network label of the next-hop node of the first node in the MPLS forwarding path from the first node to the second node, and the inner label in the first tunnel header is the private network label of the second node in the first VPN. The outer label in the second tunnel header is the public network label of the next-hop node of the second node in the MPLS forwarding path from the second node to the first node, and the inner label in the second tunnel header is the private network label of the first node in the first VPN.
23. The method according to claim 21, characterized in that, The first tunnel header and the second tunnel header are Internet Protocol version 6 (IP6) segmented routing (SRv6) best-effort BE tunnel headers; The destination address in the IPv6 header of the first tunnel header is the VPN SID of the second node in the first VPN, and the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node. The destination address in the IPv6 header of the second tunnel header is the VPN SID of the first node in the first VPN, and the source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node.
24. The method according to claim 21, characterized in that, The first tunnel head and the second tunnel head are SRv6 flow engineering TE strategy tunnel heads; The destination address in the IPv6 header of the first tunnel header is the SID of the next-hop node of the first node on the SRv6 forwarding path from the first node to the second node, the source address in the IPv6 header of the first tunnel header is the IPv6 encapsulated source address of the first node, and the Segmented Routing Header (SRH) in the first tunnel header includes the SID of the node on the SRv6 forwarding path from the first node to the second node. The destination address in the IPv6 header of the second tunnel header is the SID of the next-hop node of the second node on the SRv6 forwarding path from the second node to the first node. The source address in the IPv6 header of the second tunnel header is the IPv6 encapsulated source address of the second node. The Segmented Routing Header (SRH) in the second tunnel header includes the SIDs of the nodes on the SRv6 forwarding path from the second node to the first node.
25. The method according to any one of claims 15 or 21-24, characterized in that, The first test message and the second test message are data messages.
26. The method according to any one of claims 15-25, characterized in that, The first node is a satellite router, and the second node is a satellite gateway.
27. A communication system, characterized in that, The communication system includes a first node and a second node; wherein the first node is used to perform the method as described in any one of claims 1-14, and the second node is used to perform the method as described in any one of claims 15-26.
28. A communication device, characterized in that, The communication device includes: a processor and a memory; The memory is used to store program instructions, which, when executed by the processor, cause the communication device to perform the method as described in any one of claims 1-14 or 15-26.
29. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method of any one of claims 1-14 or 15-26.
30. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed on a processor, cause the processor to perform the method as described in any one of claims 1-14 or 15-26.
Citation Information
Patent Citations
Method for realizing router layer-2 VPN service physical interface end-to-end measurement
CN104683187A
Service path performance test method and device
CN111884872A
System for and method of using a loopback mechanism to perform network testing
US20100322085A1