A measurement task allocation method, a triggering method and an electronic device
By allocating different measurement tasks to multiple routing nodes in the space bearer network and utilizing consistent hashing algorithm and IPv6 segment routing header extension information, the problem of excessive resource load caused by a single or multiple measurement nodes is solved, thereby improving task execution efficiency and equipment reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA SATELLITE NETWORK INNOVATION CO LTD
- Filing Date
- 2026-04-17
- Publication Date
- 2026-07-31
AI Technical Summary
In the scenario of traffic optimization in space-based bearer networks, the existing measurement task allocation scheme may result in excessive load on a single measurement node or inefficiency on multiple measurement nodes, leading to excessive resource load on the onboard routing nodes, which affects service transmission efficiency and increases the risk of equipment damage.
By allocating different measurement tasks to multiple routing nodes in the forwarding path of the traffic tuning instance, the measurement tasks are evenly distributed using a consistent hashing algorithm, and the measurement task configuration is embedded in the extended information of the IPv6 segment routing header, thus realizing the dynamic allocation and execution of measurement tasks.
It reduces the computational and storage resource load on routing nodes, improves the execution efficiency of measurement tasks, reduces the risk of equipment damage, and optimizes service transmission efficiency.
Smart Images

Figure CN122496404A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communications, and specifically to a measurement task allocation method, a triggering method, and an electronic device. Background Technology
[0002] In traffic optimization scenarios, the collection and statistical analysis of specific metrics for a particular service flow constitutes a network measurement task. Ground network measurement task allocation schemes mainly include the following two types: one is based on a single measurement node to implement all measurement tasks, and the other is based on multiple measurement nodes to implement all measurement tasks separately. Summary of the Invention
[0003] This disclosure addresses the issue of excessive load on a single measurement node in existing terrestrial network traffic optimization scenarios where measurement task allocation schemes suffer from this problem.
[0004] In a first aspect, a measurement task allocation method is provided. Applied to a control device, the method includes: Determine the forwarding path of the traffic optimization instance and various measurement tasks of the traffic optimization instance; Obtain the resource information of the routing nodes in the forwarding path of the traffic tuning instance; Based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance, the measurement task configuration information is determined. Send the measurement task configuration information to the first routing node; The measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task.
[0005] In a further embodiment of this disclosure, the first routing node is the head routing node in the forwarding path of the traffic tuning instance, and the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
[0006] Secondly, a measurement task triggering method is provided. Applied to a first routing node, the method includes: Receive measurement task configuration information for traffic tuning instances; wherein, the measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task; The measurement task configuration information is embedded in the service data packet of the traffic tuning instance; Send a service data packet containing the measurement task configuration information to the second routing node.
[0007] In a further embodiment of this disclosure, the first routing node is the head routing node in the forwarding path of the traffic tuning instance, and the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
[0008] As a further embodiment of this disclosure, embedding measurement task configuration information into the service data packet of the traffic tuning instance includes: Based on the measurement task configuration information, generate extended information based on the IPv6 segment routing header; The extended information is embedded into the business data packets of the traffic tuning instance.
[0009] In a further embodiment of this disclosure, the extended information includes at least: a first field, a second field, and a third field; The first field is used to indicate the offset value from which measurement task entry information is read from the third field; The second field is used to indicate the number of routing nodes in the forwarding path of the traffic tuning instance; The third field is used to indicate various measurement task entry information in the traffic tuning instance, and each measurement task entry information is used to indicate the mapping relationship between the second routing node and the measurement task.
[0010] In a further embodiment of this disclosure, each measurement task entry information includes: a first identifier, a second identifier, a third identifier, and a fourth identifier; The first identifier is used to indicate whether the measurement task needs to be performed; The second identifier is used to indicate the measurement task; The third identifier is used to indicate the traffic tuning instance; The fourth identifier is used to indicate whether the second routing node continues to perform other measurement tasks.
[0011] In a third aspect, a measurement task triggering method is provided. This method, applied to a second routing node, includes: Receive service data packets; wherein, the service data packets contain embedded measurement task configuration information of traffic tuning instances, and the measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task; Based on the service data packet, the measurement task of the second routing node is triggered and the service data packet is updated; Send the updated service data packet to the next second routing node.
[0012] In a further embodiment of this disclosure, triggering the measurement task of the second routing node and updating the service data packet based on the service data packet includes: Parse the service data packets to obtain extended information based on the IPv6 segment routing header; Based on the extended information, the measurement task of the second routing node is triggered and the extended information is updated.
[0013] In a further embodiment of this application, the extended information includes at least: a first field, a second field, and a third field; The first field is used to indicate the offset value from which measurement task entry information is read from the third field; The second field is used to indicate the number of routing nodes in the forwarding path of the traffic tuning instance; The third field is used to indicate various measurement task entry information in the traffic tuning instance, and each measurement task entry information is used to indicate the mapping relationship between the second routing node and the measurement task.
[0014] In a further embodiment of this disclosure, each measurement task entry information includes: a first identifier, a second identifier, a third identifier, and a fourth identifier; The first identifier is used to indicate whether the measurement task needs to be performed; The second identifier is used to indicate the measurement task; The third identifier is used to indicate the traffic tuning instance; The fourth identifier is used to indicate whether the second routing node continues to perform other measurement tasks.
[0015] In a further embodiment of this disclosure, triggering the measurement task of the second routing node and updating the extended information based on the extended information includes: Based on the first field and the second field, read the first measurement task entry information from the third field; When the first identifier in the first measurement task entry information indicates that a measurement task needs to be performed, the measurement task is triggered according to the second identifier and the third identifier in the first measurement task entry information; the first identifier in the first measurement task entry information is modified; when the fourth identifier in the first measurement task entry information indicates that other measurement tasks should not be performed, the first field is incremented by 1.
[0016] In a further embodiment of this disclosure, the step of triggering the measurement task of the second routing node and updating the extended information based on the extended information further includes: When the fourth identifier in the first measurement task entry information indicates that other measurement tasks should continue to be performed, the first field is incremented by 1, and the steps of reading the first measurement task entry information from the third field based on the first field and the second field and thereafter are repeated.
[0017] In a further embodiment of this disclosure, the step of triggering the measurement task of the second routing node and updating the extended information based on the extended information further includes: When the first identifier in the first measurement task entry information indicates that no measurement task needs to be performed, the first field is incremented by 1.
[0018] In a fourth aspect, an electronic device is provided. The electronic device includes one or more processors and one or more memories storing instructions thereon. The instructions, when executed individually or collectively by the one or more processors, cause the electronic device to perform the methods described above.
[0019] In a fifth aspect, a non-transitory computer-readable storage medium is provided that stores machine-executable instructions. When executed individually or collectively by one or more processors of the machine, the machine-executable instructions cause the machine to perform any of the methods described above.
[0020] In a sixth aspect, a computer program product including machine-executable instructions is provided. When executed individually or collectively by one or more processors of a machine, the machine-executable instructions cause the machine to perform any of the methods described above.
[0021] The measurement task allocation method, triggering method, and electronic device provided in this application determine the forwarding path of a traffic optimization instance and various measurement tasks of the traffic optimization instance on the control device side; obtain the resource information of the routing nodes in the forwarding path of the traffic optimization instance; determine measurement task configuration information based on the various measurement tasks of the traffic optimization instance, the forwarding path of the traffic optimization instance, and the resource information of the routing nodes in the forwarding path of the traffic optimization instance; and send the measurement task configuration information to the first routing node. The measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement tasks. It takes into account the resource information of the path nodes, thereby reasonably allocating measurement tasks. Moreover, the measurement task configuration information indicates the mapping relationship between the second routing node and the measurement tasks, enabling the second routing node to execute different measurement tasks and reducing the load pressure on the routing node.
[0022] It should be understood that the summary section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0023] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of some embodiments thereof in the accompanying drawings, in which: Figure 1A schematic diagram illustrating the execution of a measurement task by a single measurement node in the prior art is shown; Figure 2 A schematic diagram illustrating the execution of measurement tasks by multiple measurement nodes in the prior art is shown; Figure 3 A schematic diagram of a measurement task allocation mechanism according to some embodiments of the present disclosure is shown; Figure 4 A schematic diagram of a measurement task allocation and triggering framework according to some embodiments of the present disclosure is shown; Figure 5 A schematic diagram of the architecture of a control device in a space bearer network according to some embodiments of the present disclosure is shown; Figure 6 A schematic diagram of a spaceborne router architecture according to some embodiments of the present disclosure is shown; Figure 7 A structural diagram of the data plane measurement task table entries of a spaceborne router according to some embodiments of the present disclosure is shown; Figure 8 A flowchart illustrating a measurement task allocation and triggering process according to some embodiments of the present disclosure is shown; Figure 9 A schematic diagram of a hash ring according to some embodiments of the present disclosure is shown; Figure 10 A schematic diagram illustrating the distribution of measurement task configuration information by a control device according to some embodiments of the present disclosure is shown; Figure 11 A structural diagram of an IPv6 segment routing header message according to some embodiments of this disclosure is shown; Figure 12 A structural diagram of a TLV field message according to some embodiments of this disclosure is shown; Figure 13 A structural diagram of the Value field according to some embodiments of the present disclosure is shown; Figure 14 A field structure diagram of measurement task entry information according to some embodiments of this disclosure is shown; Figure 15 A flowchart of a measurement task allocation method performed by a control device according to some embodiments of the present disclosure is shown; Figure 16 Another flowchart of a measurement task allocation method performed by a control device according to some embodiments of the present disclosure is shown; Figure 17 A flowchart is shown of a measurement task allocation method performed by a first routing node according to some embodiments of the present disclosure; Figure 18 A flowchart is shown of a measurement task triggering method performed by a second routing node according to some embodiments of the present disclosure; Figure 19 A flowchart illustrating the second routing node measurement task triggering process according to some embodiments of this disclosure is shown; Figure 20 A schematic diagram illustrating a traffic optimization example forwarding process according to some embodiments of this disclosure is shown; Figure 21 This illustrates the extended information processing flow when a service data packet arrives at routing node B according to some embodiments of this disclosure; Figure 22 This illustrates the extended information processing flow when a service data packet arrives at routing node C according to some embodiments of this disclosure; Figure 23 This illustrates the extended information processing flow when a service data packet arrives at routing node D according to some embodiments of this disclosure; Figure 24 This illustrates the extended information processing flow when a service data packet arrives at routing node E according to some embodiments of this disclosure; Figure 25 A simplified block diagram of an electronic device according to some embodiments of the present disclosure is shown. Detailed Implementation
[0024] The principles of this disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described for illustrative purposes only and to help those skilled in the art to understand and implement this disclosure, and do not impose any limitation on the scope of this disclosure. The disclosure described herein may be implemented in ways other than those described below.
[0025] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.
[0026] References to "an embodiment," "embodiment," "example embodiment," etc., in this disclosure indicate that the described embodiment may include specific features, structures, or characteristics, but not every embodiment needs to include specific features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, when a specific feature, structure, or characteristic is described in connection with an example embodiment, whether explicitly described or not, those skilled in the art will recognize that such feature, structure, or characteristic affects its application to other embodiments.
[0027] It should be understood that while the terms "first" and "second," etc., may be used in this disclosure to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, without departing from the scope of the exemplary embodiments, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term "and / or" as used in this disclosure includes any and all combinations of one or more of the listed terms.
[0028] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments. The singular forms “a,” “an,” and “the” used in this disclosure also include the plural forms unless the context clearly indicates otherwise. The terms “a group of elements” or “collection of elements” as used in this disclosure are intended to include one or more elements. It should also be understood that the terms “comprising,” “including,” “having,” “possessing,” “comprise,” and / or “including,” when used in this disclosure, specify the presence of the stated features, elements, and / or components, but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.
[0029] As used in this application, the term "circuit system" may refer to one or more of the following: (a) Implemented only in hardware circuitry (e.g., implemented only in analog and / or digital circuitry systems).
[0030] (b) A combination of hardware circuitry and software, such as (if applicable): (i) A combination of analog and / or digital hardware circuitry with software / firmware; and (ii) Any part of a hardware processor (including a digital signal processor), software, and memory that work together to enable a device such as a mobile phone or server to perform various functions.
[0031] (c) Hardware circuitry and / or processors, such as microprocessors or a portion thereof, which require software (e.g., firmware) to operate, but may be absent when software is not required to operate.
[0032] The definition of "circuit system" applies to all uses of the term in this application, including in any claim. As another example, as used herein, the term "circuit system" also includes implementations of hardware circuitry or processors (or processors in general) or a portion thereof and their accompanying software and / or firmware. The term "circuit system" also includes, for example, baseband integrated circuits or processor integrated circuits for mobile devices, or similar integrated circuits in servers, cellular network devices, or other computing network devices, if applicable to a particular claim element.
[0033] As used in this disclosure, the term "communication network" refers to a network that conforms to any suitable communication standard, such as Long Term Evolution (LTE), LTE-Advanced (LTE-A), Wideband Code Division Multiple Access (WCDMA), High-Speed Packet Access (HSPA), Narrowband Internet of Things (NB-IoT), New Radio (NR), Non-Terrestrial Network (NTN), etc. Furthermore, communication between terminal devices and network devices in a communication network can be performed according to any suitable generation of communication protocol, including but not limited to first-generation (1G), second-generation (2G), 2.5G, 2.75G, third-generation (3G), fourth-generation (4G), 4.5G, fifth-generation (5G), 5G-Advanced, future sixth-generation (6G) communication protocols, and / or any other currently known or to be developed in the future. Embodiments of this disclosure can be applied to satellite communication systems. Given the rapid development in communications, future types of communication technologies and systems will naturally exist, and this disclosure can be implemented using these technologies and systems. The scope of this disclosure should not be considered limited to the aforementioned systems.
[0034] Traffic optimization, a key technology of space-based bearer networks, plans reasonable forwarding paths for specified service traffic, thereby ensuring service quality, improving transmission resource utilization, and increasing the throughput of the space-based bearer network. When service traffic is forwarded along a specified path, the control equipment of the space-based bearer network needs to acquire the traffic flow's metrics, such as latency, packet loss, jitter, flow size, and flow frequency, to evaluate the transmission quality of the service traffic along the forwarding path and provide data support for subsequent forwarding path optimization and adjustment.
[0035] In the context of space-based network traffic optimization, a series of actions, including the collection and statistical analysis of specific metrics for a particular service flow, constitute a measurement task. Control equipment in the space-based network needs to perform multiple measurement tasks on the same service flow to obtain comprehensive service flow metric data. The specific execution flow of a single measurement task includes: the control equipment issuing a measurement task for specific metrics of a particular service flow; the control equipment publishing the measurement task to the onboard routing node; the onboard routing node completing the collection and statistical analysis of the specific metrics of the particular service flow according to the measurement task instructions; and finally, returning the measurement results to the onboard control equipment.
[0036] Measurement tasks aim to obtain network status and performance data through quantitative methods, and are mainly divided into three categories: 1) Topology measurement: Identify network nodes and connections. Common tools include Traceroute, which traces paths using ICMP or UDP protocols to obtain routing information and link structure.
[0037] 2) Performance measurement: Evaluate network latency, bandwidth, packet loss rate and other indicators. Active measurement (such as Ping, Pathchar) obtains data by sending probe packets, while passive measurement (such as sFlow, IPFIX) is based on existing traffic analysis.
[0038] 3) Traffic measurement: Statistical data flow characteristics (such as flow size, flow distribution, large and small flow identification, Top-K) are used for anomaly detection (such as DDoS) and service optimization (such as QoS adjustment).
[0039] The measurement mission objectives include fault diagnosis, protocol verification, resource planning, and security monitoring. Combining active and passive methods, it provides data support for network optimization, attack warning, and strategy formulation.
[0040] Measurement task allocation refers to distributing multiple measurement tasks for a specific service flow to multiple routers for execution. Measurement task allocation needs to be performed according to certain methods and principles based on forwarding paths and routing device status to ensure the efficient and reliable execution of measurement tasks.
[0041] Currently, the allocation of measurement tasks in the spaceborne network is based on the implementation of measurement tasks in the ground network. The allocation of measurement tasks in the ground network mainly includes the following two types: 1) Single measurement node scheme.
[0042] It is primarily used in network scenarios with fixed gateways, such as data centers and enterprise networks. Figure 1 As shown, Figure 1 This diagram illustrates a single measurement node performing a measurement task in the prior art. Figure 1 Communication between server 101 and network 105 must pass through leaf node switch 102, spine node switch 103, and gateway device 104 in sequence. Figure 1 The dashed line represents the service flow. In implementation, it is common practice to deploy various measurement tasks on the gateway device 104 to monitor specific service traffic. These measurement tasks may include, for example, the latency, packet loss, jitter, distribution, frequency, and size of the currently passing service traffic.
[0043] 2) Multiple measurement node scheme.
[0044] It is mainly used in terrestrial network interconnection scenarios such as IP RAN and cloud-network private lines. Figure 2 As shown, Figure 2 This diagram illustrates how multiple measurement nodes perform measurement tasks in the prior art. Figure 2The measurement nodes are routing nodes, and the control device 201 issues measurement tasks to each routing node 202. Typically, flow-following measurement technologies such as iFIT or INT are selected to complete the measurement tasks of specific service traffic. All routing nodes in the service traffic forwarding path that have flow-following measurement enabled need to complete all measurement tasks.
[0045] Due to limitations in the capabilities and instability of space network equipment, applying a single measurement node solution to measurement task allocation in space network traffic optimization scenarios presents the following challenges: 1) No fixed service access gateway can be found in the space segment. Due to the randomness of user access, any satellite-borne routing node in the space bearer network may become the access point for user service traffic. Therefore, it is not possible to select a fixed satellite-borne routing device to centrally deploy measurement tasks to monitor the network performance of a certain traffic optimization instance.
[0046] 2) Single-point deployment leads to excessive load on spaceborne routing nodes. Compared with ground products of the same level, spaceborne routing nodes have a significant gap in computing and storage capabilities. Deploying all measurement tasks to a single spaceborne routing node will cause excessive load on the node's computing and storage resources, resulting in decreased service transmission efficiency and increased risk of equipment damage.
[0047] When applying a multi-measurement-node scheme to the allocation of measurement tasks in a space network traffic optimization scenario, the following problems are encountered: 1) Multiple onboard routing nodes performing the same measurement task is inefficient. Flow measurement embeds measurement instructions into service data packets. All routers with flow measurement enabled in the forwarding path will perform the same measurement task according to the measurement instructions. As the number of nodes increases, the same measurement task will be repeatedly executed by multiple nodes, resulting in low efficiency in the execution of service traffic measurement tasks.
[0048] 2) Single-point deployment leads to excessive load on spaceborne routing nodes. Compared to a single measurement node solution, a multiple measurement node solution merely adds equipment to perform measurement tasks. Essentially, it aims to track the network performance of service traffic at each hop in the forwarding path, without considering the limited computing resources of routing equipment in a space-based bearer network scenario. This can also lead to excessive computing resource load on spaceborne routing nodes, thereby affecting service transmission efficiency and increasing the risk of equipment damage.
[0049] To address the aforementioned technical issues, this disclosure provides a measurement task allocation mechanism. This mechanism can be applied to both space-based and terrestrial networks. For each traffic optimization instance, by assigning measurement tasks to multiple routing nodes in the forwarding path of the traffic optimization instance, and ensuring that each routing node has a different measurement task, it is possible to prevent excessive or insufficient load on the storage and computing resources of a single routing node.
[0050] Taking the space-borne network 300 as an example, such as Figure 3 As shown, Figure 3 A schematic diagram of a measurement task allocation mechanism according to some embodiments of the present disclosure is shown. Figure 3 In this process, control device 301 sends measurement task configuration information for a traffic tuning instance to the first satellite-borne routing node 302 (S-Router). The measurement task configuration information is used to indicate the mapping relationship between the second satellite-borne routing node 303 and the measurement task.
[0051] In some implementations, the first onboard routing node 302 is the head routing node in the traffic tuning instance forwarding path. The second onboard routing node 303 is determined based on the onboard routing nodes in the traffic tuning instance forwarding path and can be a head routing node, an intermediate routing node, or a tail routing node. In some implementations, the second onboard routing node 303 is associated with a portion of the multiple measurement tasks of the traffic tuning instance. In some implementations, different onboard routing nodes are associated with different measurement tasks.
[0052] The first satellite routing node 302 receives the measurement task configuration information of the traffic tuning instance; embeds the measurement task configuration information into the service data packet of the traffic tuning instance; and sends the service data packet containing the measurement task configuration information to the second satellite routing node 303.
[0053] The second satellite-borne routing node 303 receives service data packets; based on the service data packets, it triggers a measurement task and updates the service data packets; it then sends the updated service data packets to the next second satellite-borne routing node 303. After completing the measurement task, the second satellite-borne routing node 303 sends the measurement results to the control device 301. The next second satellite-borne routing node 303 is determined based on the forwarding path of the traffic optimization instance.
[0054] Figure 3 Each routing node in the network accesses the terrestrial bearer network 306 through the gateway station 304 and the gateway border router 305. Figure 3 The direction of the middle arrow indicates the business traffic forwarding path.
[0055] Taking space-based carrier networks as an example, Figure 4A schematic diagram of a measurement task allocation and triggering framework according to some embodiments of the present disclosure is shown. This framework involves a control device 301 of a space-based bearer network, a first satellite-borne routing node 302, and a second satellite-borne routing node 303. The control device 301 is responsible for acquiring network topology information and network performance; determining the forwarding path of a traffic optimization instance based on the network topology information and network performance; determining multiple measurement tasks for the traffic optimization instance; acquiring resource information of routing nodes in the forwarding path; determining measurement task configuration information based on the multiple measurement tasks of the traffic optimization instance, the forwarding path, and the resource information of routing nodes in the forwarding path; and issuing the measurement task configuration information of the traffic optimization instance to the first satellite-borne routing node 302. The first satellite-borne routing node 302 is responsible for embedding the measurement task configuration information into the service data packets of the traffic optimization instance and sending the service data packets containing the embedded measurement task configuration information to the second satellite-borne routing node 303. The second satellite-borne routing node 303 receives the service data packets; triggers the measurement tasks of the second satellite-borne routing node 303 and updates the service data packets according to the service data packets; and sends the updated service data packets to the next second satellite-borne routing node (not shown). The measurement tasks involved include, but are not limited to: latency, packet loss, jitter, stream size, stream frequency, stream distribution, Top-K, and other business traffic metrics.
[0056] In some embodiments, such as Figure 5 As shown, Figure 5 A schematic diagram of the control device architecture in a space bearer network according to some embodiments of the present disclosure is shown. The control device includes, according to system function, a network management and control module 501, a traffic optimization module 502, a task scheduling module 503, and a southbound interface 504.
[0057] The network management module 501 is used to collect network topology information and network performance of the space bearer network.
[0058] The traffic optimization module 502 is used to plan forwarding paths based on the data collected by the network management module 501, and to send the forwarding path configuration to the onboard routing node through the southbound interface 504.
[0059] The task scheduling module 503 is used to determine the measurement task configuration information of the traffic optimization instance and sends the measurement task configuration information to the first satellite routing node through the southbound interface 504.
[0060] In some embodiments, such as Figure 6 As shown, Figure 6 A schematic diagram of a spaceborne routing node architecture according to some embodiments of this disclosure is shown. Figure 6 As shown, each onboard routing node consists of a control plane 601 and a data plane 602.
[0061] The control plane 601 is responsible for the operation of routing protocols (such as OSPF and BGP), and for generating and maintaining routing tables (RIBs). It guides data forwarding policies by calculating the optimal path and updating routing information. This is handled by the CPU and involves routing information exchange, algorithm calculation, and policy definition (such as QoS).
[0062] The data plane 602, also known as the forwarding plane, is responsible for fast packet forwarding based on the routing tables (such as the FIB) generated by the control plane. It directly processes data traffic by performing table lookups, encapsulation / decapsulation, and access control (ACL) operations through hardware accelerators (such as dedicated chips).
[0063] By separating the control plane and data plane, with the control plane handling decision-making and the data plane focusing on efficient forwarding, network reliability and performance can be improved. For example, after the BGP control plane updates routes, the data plane uses the FIB table to achieve millisecond-level path switching, ensuring service continuity.
[0064] When the onboard routing node acts as the head routing node, its control plane 601 receives measurement task configuration information from the control device and sends it to the data plane 602. The data plane 602 generates extended information based on the IPv6 segment routing header (SRv6 SRH) according to the measurement task configuration information. Upon receiving a service data packet from a traffic optimization instance, it embeds the extended information into the traffic optimization instance's service data packet and sends the traffic optimization instance's service data packet with the embedded extended information to the next onboard routing node.
[0065] When the onboard routing node acts as a routing node to perform measurement tasks, its control plane 601 receives service data packets containing traffic tuning instances embedded with extended information and forwards these packets to the data plane 602. The data plane 602 parses the service data packets to obtain the extended information and performs the measurement task or skips the operation based on the extended information.
[0066] Data plane 602 also stores the measurement task execution results in the measurement task table entries. These measurement task table entries are issued by the control device to the onboard routing nodes in the measurement tuning instance path information. The measurement task table entries are used to indicate the storage of measurement results based on the traffic tuning instance identifier (Inst ID) and the measurement task identifier (Task ID). The structure of the measurement task table entry is as follows: Figure 7 As shown, the control plane 601 in the onboard routing node receives measurement task entries and sends them to the data plane 602. The data plane 602 locates the entry position in the measurement task table based on the traffic tuning instance identifier (Inst ID) and the measurement task identifier (Task ID), and writes the measurement task execution result to the entry position.
[0067] In practice, this disclosure does not restrict the type of measurement task to be implemented, and various methods such as hash exact matching and sketch compression statistics can be used.
[0068] In some embodiments, Figure 8 A flowchart illustrating a measurement task allocation and triggering process according to some embodiments of the present disclosure is shown. Figure 8 The illustrated embodiment uses the allocation and triggering of a traffic tuning instance measurement task as an example for explanation. In this embodiment and subsequent embodiments, the first routing node is the head routing node in the traffic tuning instance forwarding path. The second routing node is determined based on the routing nodes in the traffic tuning instance forwarding path, and can be the head routing node, an intermediate routing node, or a tail routing node.
[0069] like Figure 8 As shown, the measurement task allocation and triggering process includes two stages: the task planning and distribution stage from step 801 to step 804; and the measurement task triggering and execution stage from step 805 to step 808.
[0070] Step 801: The bearer network control device determines the forwarding path of the traffic optimization instance and various measurement tasks of the traffic optimization instance.
[0071] The transport network can be either a space-based transport network or a terrestrial transport network. The forwarding path includes multiple routing nodes. Traffic tuning instances include multiple measurement tasks; the network performance of the tuning instance can be determined through the execution of these tasks.
[0072] Step 802: The bearer network control device obtains the resource information of the routing nodes in the forwarding path of the traffic optimization instance.
[0073] The resource information includes storage space and computing resources.
[0074] Step 803: The bearer network control device determines the measurement task configuration information based on the various measurement tasks of the traffic optimization instance, the forwarding path of the traffic optimization instance, and the resource information of the routing nodes in the forwarding path of the traffic optimization instance.
[0075] The measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task. Different second routing nodes are associated with different measurement tasks.
[0076] In some implementations, the second routing node in the measurement task configuration information is a subset of the routing nodes in the forwarding path of the traffic tuning instance. The second routing node is associated with a subset of the various measurement tasks within the traffic tuning instance. In some implementations, measurement tasks are evenly distributed among the second routing nodes.
[0077] In some implementations, taking a space-based bearer network as an example, the satellite network nodes in the forwarding path of a traffic optimization instance may change dynamically. To minimize data migration, the control device can use a consistent hashing algorithm, using the resource information of the onboard routers as weights, to evenly distribute multiple measurement tasks to different onboard routers, thus minimizing the impact of dynamic node additions or deletions on the allocation of measurement tasks. Based on the various measurement tasks, forwarding paths, and resource information of the routing nodes in the forwarding paths of the traffic optimization instance, the consistent hashing algorithm is used to determine the configuration information of the measurement tasks.
[0078] The determination of measurement task configuration information using the consistent hashing algorithm includes: 1) Generate a consistent hash ring for the traffic tuning instance. A consistent hash ring is as follows: Figure 9 As shown.
[0079] 2) For each routing node in the forwarding path of the traffic tuning instance, generate multiple virtual nodes related to the routing node based on the resource information of the routing node, and map the virtual nodes to the consistent hash ring.
[0080] During this step, multiple virtual nodes (901) can be generated for each routing node, following the principle that the more resource information a routing node has, the higher its weight and the more virtual nodes it corresponds to. It should be noted that this disclosure does not limit the mapping method from resource information to virtual nodes for routing nodes. For example... Figure 9 As shown, each routing node is divided into virtual nodes by vertical division.
[0081] 3) Calculate the hash value of each measurement task in the traffic tuning instance. Taking a measurement task in a traffic tuning instance as an example, use the Inst ID of the traffic tuning instance and the Task ID of the measurement task as input to calculate the input hash value.
[0082] 4) In the consistent hashing ring, find the virtual node that is closest to the hash value of the measurement task; assign the measurement task to the routing node associated with the found virtual node.
[0083] In some implementations, the virtual node closest to the hash value of the measurement task is found in a clockwise direction within the consistent hash ring, and the measurement task is assigned to the routing node to which the virtual node belongs.
[0084] The measurement task configuration information can be determined through steps 1) to 4) above, and the configuration result is as follows: Figure 10 As shown in the table on the right, routing node B is associated with measurement tasks 1 and 2, routing node C is associated with measurement task 3, routing node D is associated with measurement task 4, and routing node E is associated with measurement task 5.
[0085] Step 804: The bearer network control device sends measurement task configuration information to the first routing node. For example... Figure 10 As shown on the left side of the middle section.
[0086] Step 805: The first routing node receives measurement task configuration information. When it receives the service data packet of the traffic tuning instance, it embeds the measurement task configuration information in the service data packet.
[0087] When implementing this step, firstly, based on the measurement task configuration information, extended information based on the IPv6 segment routing header is generated; then, the extended information based on the IPv6 segment routing header is embedded into the service data packets of the traffic tuning instance.
[0088] The IPv6 segment routing header is used to explicitly specify the SRv6 path. Its structure includes a segment list and remaining segments (Segments Left), guiding forwarding by pushing 128-bit Segment Identifiers (SIDs) in reverse order. Segment List: A list of SIDs arranged in reverse path order. Each SID consists of a Locator, a forwarding function, and parameters (Args). Segments Left: Indicates the index of the segment to be processed, decremented by 1 for each hop, and the corresponding SID is copied to the IPv6 destination address field to achieve hop-by-hop forwarding.
[0089] IPv6 segment routing headers support decapsulation, lookup forwarding, and other behaviors (such as End.X, End.DT4), enabling path programming in conjunction with IGP / BGP protocols. Its advantages include the elimination of MPLS labels, flexible path control based on native IPv6, simplified network configuration, and suitability for data centers, 5G, and other scenarios. Workflow: When a packet arrives at a node that supports SRv6, the node checks the IPv6 segment routing header in the packet and updates the destination IP address to the next IPv6 address in the current Segment List. Simultaneously, the Segments Left field is decremented to reflect the number of remaining segments.
[0090] If a data packet arrives at a node that does not support SRv6, the node will process the packet according to the normal IPv6 routing rules, thus ensuring the compatibility of SRv6 with traditional IPv6 networks.
[0091] The IPv6 segment routing header field message format is as follows: Figure 11As shown, the IPv6 segment routing header includes the following fields: Next Header, Hdr Ext Len, Routing Type, Segment Left, Last Entry, Flag, Tag, SegmentList, and TLV extension field.
[0092] The measurement task configuration information is set in the extended field TLV of the IPv6 segment route header, and the extended information is composed of the information in the extended field TLV.
[0093] In some embodiments, the extended information, i.e., the extended field TLV, includes at least: a first field, a second field, and a third field.
[0094] The first field is used to indicate the offset value from which measurement task entry information is read from the third field.
[0095] The second field indicates the number of routing nodes in the forwarding path of the traffic tuning instance.
[0096] The third field is used to indicate information on various measurement task entries in the traffic tuning instance. Each measurement task entry is used to indicate the mapping relationship between routing nodes and measurement tasks.
[0097] In some embodiments, each measurement task entry information includes: a first identifier, a second identifier, a third identifier, and a fourth identifier.
[0098] The first identifier indicates whether the measurement task needs to be executed. The second identifier indicates the measurement task itself. The third identifier indicates the traffic tuning instance. The fourth identifier indicates whether the second routing node should continue executing other measurement tasks.
[0099] In one specific embodiment, the extended field TLV message format is as follows: Figure 12 As shown, it includes: Type field: Used to identify the type of the value field, occupying 8 bits.
[0100] Length field: The overall length of the extended field TLV, occupying 8 bits.
[0101] Reserved field (Rsv): Reserved bits, intended for future expansion, occupying 16 bits.
[0102] Value field: Contains a list of task processing options; variable length. When the type field indicates a measurement task, it indicates the mapping relationship between routing nodes and measurement tasks.
[0103] When a routing node in the forwarding path receives a service data packet, it will check the TLV extended field in the IPv6 segment routing header: 1) Inspect the Type field. The Type field indicates whether to continue inspecting other fields when assigning measurement tasks.
[0104] 2) Check the Length field. The Length field indicates the length of the extended TLV field and is used to check the validity of the message.
[0105] 3) Monitor the Value field.
[0106] like Figure 13 As shown, the Valve field includes four fields: Offset, Depth, Reserved (RSV), and Task List.
[0107] The Offset field corresponds to the first field mentioned earlier and is used to identify the offset value for reading measurement task entry information. The Depth field corresponds to the second field mentioned earlier and is used to indicate the number of routing nodes in the forwarding path of the traffic tuning instance. The Rsv field is a reserved field for future expansion. The Task List field corresponds to the third field mentioned earlier and contains information on all measurement task entries (Task Entry) of the traffic tuning instance.
[0108] Each Task Entry corresponds to a measurement task, such as Figure 14 As shown, each Task Entry includes: State, Task ID, Inst ID, and NextPtr.
[0109] The State identifier corresponds to the first identifier mentioned earlier and is used to indicate whether the measurement task needs to be executed. For example, if the State identifier is Pending, it means that the measurement task has not yet been assigned; if the State identifier is Processed, it means that the task has been assigned, and the checks of other fields in the Task Entry are skipped.
[0110] The Task ID corresponds to the second identifier mentioned above and is used to distinguish measurement task types.
[0111] The Inst ID instance identifier corresponds to the third identifier mentioned above and is used to distinguish traffic tuning instances.
[0112] The NextPtr task pointer corresponds to the fourth identifier mentioned earlier, and is used to determine whether the local routing node needs to perform other measurement tasks.
[0113] Figure 14The numbers in the table represent the bit length occupied by each field.
[0114] Step 806: The first routing node sends the service data packet containing the measurement task configuration information to the second routing node.
[0115] Step 807: The second routing node receives the service data packet, determines and executes its own measurement task based on the service data packet, and updates the service data packet.
[0116] by Figures 11 to 14 Taking the method of storing measurement task configuration information as an example, the measurement tasks of its own node are determined and executed according to the business data packets, including: 1) Parse the service data packet to obtain the extended field TLV of the IPv6 segment routing header.
[0117] 2) Read the measurement task entry information from the Task Entry field based on the Offset field in the extended field TLV.
[0118] 3) Based on the State status identifier in the measurement task entry information read in step 2), determine whether the measurement task needs to be executed.
[0119] 4) When execution is not required, increment the Offset field by 1 to complete the update of the business data packet.
[0120] 5) When execution is required, the measurement task is executed based on the Task ID and Inst ID in the measurement task entry information.
[0121] 6) Change the State status flag in the measurement task entry information to "executed", for example, change the State status flag to "Processed".
[0122] 7) Based on the NextPtr task pointer in the measurement task entry information, determine whether the next measurement task needs to be executed.
[0123] 8) When the next measurement task needs to be executed, increment the Offset field by 1 and return to step 2) to continue execution.
[0124] 9) When the next measurement task is not required, increment the Offset field by 1 to complete the business data packet update.
[0125] Updating service data packets includes modifying the status of executed measurement tasks, facilitating subsequent retrieval of measurement tasks by secondary routing nodes. The status of a measurement task includes whether it has been executed. For example... Figure 14As shown, after the measurement task is executed, the State status flag of the measurement task is changed to Processed, indicating that the task has been assigned.
[0126] In some embodiments, after the measurement task is executed, the result of the measurement task is stored in... Figure 7 The measurement task table items are shown.
[0127] Step 808: The second routing node sends the updated service data packet to the next second routing node. The next second routing node then performs the measurement task according to steps 807 to 808 above, until all measurement tasks are completed.
[0128] When multiple traffic tuning instances need to be assigned measurement tasks, the control device sorts them according to their priority (ID size, etc.) and then executes the measurement task assignments for different traffic tuning instances sequentially. During the assignment of measurement tasks for different traffic tuning instances, the computing resources of the routing nodes need to be dynamically updated.
[0129] For each traffic tuning instance, after completing the measurement task allocation and executing all measurement tasks for a period of time, the control device issues a task allocation cancellation command. Subsequently, the first routing node in the forwarding path of this traffic tuning instance will no longer add the extended field TLV of the IPv6 segment routing header to the service data packets.
[0130] This embodiment can be applied to traffic service processing and scheduling in data center network service chain scenarios, and can also be applied to other scenarios.
[0131] This embodiment proposes an SRv6-based measurement task allocation scheme for network measurement in a bearer network traffic optimization scenario, applicable to space bearer networks. In this scenario, a consistent hashing algorithm is used to evenly distribute multiple measurement tasks for the same service traffic to routing nodes along the forwarding path. When the service traffic passes through the onboard router, the TLV extended field in the IPv6 segment routing header triggers the routing node to execute its assigned measurement task in the data plane. This prevents excessive or insufficient utilization of the computing resources of a single routing node.
[0132] Figure 15 A flowchart illustrating a measurement task allocation method performed by a control device according to some embodiments of the present disclosure is shown. It should be understood that the measurement task allocation method may include additional boxes not shown and / or some boxes shown may be omitted, and the scope of the present disclosure is not limited in this respect.
[0133] like Figure 15 As shown, the measurement task allocation method performed by the control device includes: Step 1501: Send the measurement task configuration information of the traffic tuning instance to the first routing node.
[0134] The measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task.
[0135] In some implementations, the second routing node is associated with a subset of various measurement tasks within a traffic tuning instance. In other implementations, different second routing nodes are associated with different measurement tasks.
[0136] In some implementations, the first routing node is the head routing node in the forwarding path of the traffic tuning instance, and the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
[0137] In some embodiments, the second routing node is a subset of the routing nodes in the traffic tuning instance forwarding path.
[0138] In some embodiments, such as Figure 16 As shown, the measurement task allocation method performed by the control device also includes: Step 1601: Determine the forwarding path of the traffic tuning instance and various measurement tasks of the traffic tuning instance.
[0139] Step 1602: Obtain the resource information of the routing nodes in the forwarding path of the traffic tuning instance.
[0140] Step 1603: Determine the measurement task configuration information based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance.
[0141] In some embodiments, step 1603 determines measurement task configuration information based on various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of routing nodes in the forwarding path of the traffic tuning instance, including: Based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance, the consistent hashing algorithm is used to determine the configuration information of the measurement tasks. The execution process of the consistent hashing algorithm is as described in the aforementioned embodiment and will not be detailed here.
[0142] In some embodiments, the control device also supports the assignment of multiple measurement tasks to the forwarding paths of multiple traffic tuning instances.
[0143] During implementation, multiple traffic tuning instances are first sorted. Then, based on the sorting results, measurement task configuration information is sequentially determined and sent to the first routing node of each traffic tuning instance in the sorting results.
[0144] Specifically, based on the sorting results, measurement task configuration information is sequentially determined and sent to the first routing node of each traffic tuning instance in the sorting results, including: Based on the sorting results, determine the current traffic tuning instance; determine the measurement task configuration information of the current traffic tuning instance; and send the measurement task configuration information of the current traffic tuning instance to the first routing node of the current traffic tuning instance.
[0145] Based on the sorting results, each traffic tuning instance is processed according to... Figure 15 or Figure 16 The illustrated embodiment performs measurement task allocation. After each traffic tuning instance task is allocated, the resource information of the routing nodes is updated.
[0146] In implementation, each traffic tuning instance has a separate hash function within its consistent hashing algorithm. Within each traffic tuning instance, each measurement task is assigned a weight based on the resource information of the routing node.
[0147] In some embodiments, the measurement task assignment method performed by the control device further includes: When the forwarding path of a traffic tuning instance is affected by external factors, the first routing node and measurement task configuration information of the traffic tuning instance are redefined; the redefined measurement task configuration information is sent to the redefined first routing node of the traffic tuning instance.
[0148] External factors include, for example, solar interference or equipment failure. Changes in external factors may alter the forwarding path of traffic tuning instances; for instance, some routing nodes in the forwarding path may fail.
[0149] By reallocating the measurement tasks of traffic tuning instances when they are affected by external factors, the effective execution of measurement tasks can be ensured.
[0150] Figure 17 A flowchart illustrating a measurement task allocation method performed by a first routing node according to some embodiments of the present disclosure is shown. The measurement task allocation method performed by the first routing node may include additional boxes not shown and / or some boxes shown may be omitted, and the scope of the present disclosure is not limited in this respect.
[0151] like Figure 17 As shown, the measurement task allocation method executed by the first routing node includes: Step 1701: Receive the measurement task configuration information for the traffic tuning instance.
[0152] The measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task.
[0153] In some implementations, the second routing node is associated with a subset of various measurement tasks within the traffic tuning instance. In other implementations, different routing nodes are associated with different measurement tasks.
[0154] In some implementations, the first routing node is the head routing node in the forwarding path of the traffic tuning instance, and the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
[0155] Step 1702: Embed measurement task configuration information in the service data packet of the traffic tuning instance.
[0156] In some embodiments, embedding measurement task configuration information into the service data packets of the traffic tuning instance includes: generating extended information based on the IPv6 segment routing header according to the measurement task configuration information; and embedding the extended information based on the IPv6 segment routing header into the service data packets of the traffic tuning instance.
[0157] In some embodiments, the extended information includes at least a first field, a second field, and a third field. The first field indicates the offset value from which measurement task entry information is read from the third field. The second field indicates the number of routing nodes in the forwarding path of the traffic tuning instance. The third field indicates various types of measurement task entry information in the traffic tuning instance, each type of measurement task entry information indicating the mapping relationship between routing nodes and measurement tasks.
[0158] In some embodiments, each measurement task entry includes: a first identifier, a second identifier, a third identifier, and a fourth identifier. The first identifier indicates whether the measurement task needs to be performed. The second identifier indicates the measurement task. The third identifier indicates a traffic tuning instance. The fourth identifier indicates whether the second routing node continues to perform other measurement tasks.
[0159] In some embodiments, the IPv6 segment routing header field message format is as follows: Figure 11 As shown, measurement task configuration information is set in the TLV (Tracking Volume) extension field of the IPv6 segment routing header to obtain extended information. The TLV extension field message format is as follows: Figure 12 As shown. The format of the Value field in the extended field TLV is as follows. Figure 13 As shown. The format of each TaskEntry in the Task List field of the Value field is as follows: Figure 14 As shown.
[0160] Step 1703: Send a service data packet containing measurement task configuration information to the second routing node.
[0161] The first routing node embeds the measurement task configuration information issued by the control device into the service data packet of the traffic tuning instance, thereby enabling the second routing node to recognize and execute the local measurement task.
[0162] Figure 18 A flowchart is shown of a measurement task triggering method performed by a second routing node according to some embodiments of the present disclosure. The measurement task triggering method performed by the second routing node may include additional boxes not shown and / or some boxes shown may be omitted, and the scope of the present disclosure is not limited in this respect.
[0163] like Figure 18 As shown, the measurement task triggering methods executed by the second routing node include: Step 1801: Receive service data packets.
[0164] The service data packet contains embedded measurement task configuration information for traffic tuning instances. This measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task.
[0165] In some implementations, the second routing node is associated with a subset of various measurement tasks within the traffic tuning instance. In other implementations, different routing nodes are associated with different measurement tasks.
[0166] In some implementations, the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
[0167] Step 1802: Based on the service data packet, trigger the measurement task of the second routing node and update the service data packet.
[0168] Step 1803: Send the updated service data packet to the next second routing node.
[0169] In some embodiments, step 1802, based on the service data packet, triggers the measurement task of the second routing node and updates the service data packet, including: Parse the service data packets to obtain extended information based on the IPv6 segment routing header; based on the extended information, trigger the measurement task of the second routing node and update the extended information.
[0170] In some embodiments, the extended information includes at least a first field, a second field, and a third field. The first field indicates the offset value from which measurement task entry information is read from the third field. The second field indicates the number of routing nodes in the forwarding path of the traffic tuning instance. The third field indicates various measurement task entry information in the traffic tuning instance, each measurement task entry information indicating the mapping relationship between the second routing node and the measurement task.
[0171] In some embodiments, each measurement task entry includes: a first identifier, a second identifier, a third identifier, and a fourth identifier. The first identifier indicates whether the measurement task needs to be performed. The second identifier indicates the measurement task. The third identifier indicates a traffic tuning instance. The fourth identifier indicates whether the second routing node continues to perform other measurement tasks.
[0172] In some embodiments, such as Figure 19 As shown, based on the extended information, the measurement task of the second routing node is triggered and the extended information is updated, including: Step 1901: Based on the first field and the second field, read the first measurement task entry information from the third field.
[0173] When implementing step 1901, the first measurement task entry information is read from the third field based on the first field. For example, when the default value of the first field is 0, the measurement task entry information of the first field + 1 is read from the third field based on the first field, which is the first measurement task entry information.
[0174] When the first field equals the second field, delete the extended field TLV information.
[0175] Step 1902: When the first identifier in the first measurement task entry information indicates that a measurement task needs to be performed, the measurement task is triggered according to the second and third identifiers in the first measurement task entry information; the first identifier in the first measurement task entry information is modified.
[0176] Step 1903: When the fourth identifier in the first measurement task entry information indicates that other measurement tasks should not be performed, increment the first field by 1.
[0177] In some embodiments, such as Figure 19 As shown, it also includes: Step 1904: When the fourth identifier in the first measurement task entry information indicates that other measurement tasks should be performed, increment the first field by 1. Return to step 1901 to continue execution.
[0178] In some embodiments, such as Figure 19 As shown, it also includes: Step 1905: When the first identifier in the first measurement task entry information indicates that no measurement task needs to be performed, increment the first field by 1.
[0179] In some embodiments, the IPv6 segment routing header field message format is as follows: Figure 11 As shown, measurement task configuration information is set in the TLV (Tracking Volume) extension field of the IPv6 segment routing header to obtain extended information. The TLV extension field message format is as follows: Figure 12 As shown. The format of the Value field in the extended field TLV is as follows. Figure 13As shown. The format of each TaskEntry in the Task List of the Value field is as follows: Figure 14 As shown.
[0180] In some embodiments, with Figure 20 The traffic optimization scenarios shown and Figures 11 to 14 Taking the encapsulation of measurement task configuration information as an example, this section explains the measurement task allocation and triggering process.
[0181] The forwarding path in this traffic optimization scenario is ABCDE, where A, B, C, D, and E are routing nodes. In this traffic optimization example, node A is the header node, responsible for encapsulating the measurement task configuration information into the TLV extension field in the IPv6 segment routing header, and encapsulating the IPv6 segment routing header in the service data packets of this traffic optimization scenario to obtain the service packets. The forwarding path includes four transit nodes: B, C, D, and E.
[0182] This traffic tuning example includes four measurement tasks: Top-K, flow size, flow size, and flow frequency. Therefore, the Depth field is set to 5. Top-K and flow size are assigned to node B, flow size to node C, and flow frequency to node E.
[0183] In this embodiment, each node is represented by an SRv6 SID. An SRv6 SID (Segment Identifier) is an IPv6-based segment routing identifier used to define network paths or function instructions. Its structure is Locator:Function:Arguments, totaling 128 bits.
[0184] 1) Locator: Determines the target node to which a message is routed, and supports aggregated addressing.
[0185] 2) Function: Defines the operation performed by the node (such as forwarding, decapsulation), similar to the Opcode of computer instructions.
[0186] 3) Arguments: Optional parameters that extend the functionality of commands (such as service chain parameters).
[0187] SIDs come in various types (such as End, End.X, End.DT4, etc.), corresponding to different forwarding behaviors. They are published via IGP / BGP protocols, enabling path programming and network function customization, and are widely used in L3VPN, EVPN, and other scenarios. SRv6 SIDs, combined with SRH (Segment Routing Header), guide packets to be forwarded hop-by-hop according to the Segment List, supporting flexible service orchestration and end-to-end optimization.
[0188] The processing flow after node A completes the encapsulation of measurement task configuration information includes: a) The business message arrives at node B.
[0189] 1) Node B parses the service packet and obtains the extended field TLV of the IPv6 segment routing header. The Value field in the extended field TLV has the following structure: Figure 21 As shown.
[0190] If Depth=5 and Offset=0, then the first Task Entry in the Task List is read, that is, the data of Task List[0] is read.
[0191] 2) The Task ID field in the first Task Entry is Top-K measurement task, the State field is Pending, and the Inst ID field is 1.
[0192] 3) Node B executes the Top-K measurement task using the Task ID and Inst ID. It then retrieves data from the target location based on the Task ID and Inst ID. Figure 7 Locate the relevant table entry in the table information provided and write the measurement results into the relevant table entry.
[0193] 4) Node B modifies the State field in the first Task Entry to Processed. It also checks the NextPtr field. If NextPtr is True, it increments Offset by 1. At this time, Offset=1, and continues to read the second Task Entry, that is, reads the data of Task List[1].
[0194] 5) The Task ID field in the second Task Entry is the size flow measurement task, the State field is Pending, and the Inst ID field is 1.
[0195] 6) Node B executes the large and small flow measurement task using the Task ID and Inst ID. It then retrieves data from the target location based on the Task ID and Inst ID. Figure 7 Locate the relevant table entry in the table information provided and write the measurement results into the relevant table entry.
[0196] 7) Node B modifies the State field in the second Task Entry to Processed. It also checks the NextPtr field; if NextPtr is False, it simply increments Offset by 1.
[0197] 8) Node B decrements Segments Left by 1 and switches to the next routing node, namely node C.
[0198] b) The service message arrives at node C.
[0199] 1) Node C parses the service packet and obtains the extended field TLV of the IPv6 segment routing header. The Value field in the extended field TLV has the following structure: Figure 22 As shown.
[0200] If Depth=5 and Offset=2, then read the data from the third Task Entry, that is, read the data from Task List[2].
[0201] 2) The Task ID field in the third Task Entry is the stream size measurement task, the State field is Pending, and the Inst ID field is 1.
[0202] 3) Node C executes a stream size measurement task using Task ID and Inst ID. It then calculates the stream size based on the Task ID and Inst ID. Figure 7 Locate the relevant table entry in the table information provided and write the measurement results into the relevant table entry.
[0203] 4) Node C modifies the State field in the third Task Entry to Processed. It also checks the NextPtr field; if NextPtr is False, it only increments the Offset field by 1.
[0204] 5) Node C decrements Segments Left by 1 and switches to the next routing node, namely Node D.
[0205] c) The service message arrives at node D.
[0206] 1) Node D parses the service packet and obtains the extended field TLV of the IPv6 segment routing header. The Value field in the extended field TLV has the following structure: Figure 23 As shown.
[0207] If Depth=5 and Offset=3, then read the fourth Task Entry, that is, read the data of Task List[3].
[0208] 2) The State field in the fourth Task Entry is Processed, so subsequent checks are skipped and the Offset field is incremented by 1.
[0209] 3) Node D decrements Segments Left by 1 and switches to the next routing node, namely Node E.
[0210] d) The service message arrives at node E.
[0211] 1) The E node parses the service packet and obtains the extended field TLV of the IPv6 segment routing header. The Value field in the extended field TLV has the following structure: Figure 24 As shown.
[0212] If Depth=5 and Offset=4, then the fifth Task Entry is read, that is, the data of Task List[4] is read.
[0213] 2) The Task ID field in the fifth Task Entry is the Flow Frequency Measurement Task, the State field is Pending, and the Inst ID field is 1.
[0214] 3) Node E executes the flow frequency measurement task using Task ID and Inst ID. It then uses the Task ID and Inst ID to... Figure 7 Locate the relevant table entry in the table information provided and write the measurement results into the relevant table entry.
[0215] 4) Node E modifies the State field in the fifth Task Entry to Processed. It also checks the NextPtr field. If NextPtr is False, it increments the Offset field by 1. When the Offset field equals the Depth field, it deletes the extended TLV field.
[0216] 5) Decrease Segments Left by 1, Segments Left = 0, and delete the IPv6 segment routing header.
[0217] e) When the traffic optimization forwarding path changes due to external factors (such as solar outages, equipment failures, etc.), and some nodes that were originally assigned measurement tasks fail and are replaced by new nodes, perform the following adjustment steps: 1) The control device performs a new round of consistent hash calculation based on the forwarding path of the current traffic optimization instance to complete the update of the measurement task.
[0218] 2) The control device sends the updated measurement task allocation information to the forwarding path head node.
[0219] 3) The forwarding path header node updates the task configuration TLV based on the received measurement task configuration information.
[0220] The measurement task allocation method, triggering method, control device, and routing node provided in this disclosure can achieve the following technical effects: a) Reduces the load on individual routing nodes. This disclosure reduces the processing load on a single routing node by distributing measurement tasks to routing nodes along the forwarding path, thus improving the reliability and stability of the bearer network.
[0221] (b) Improved execution efficiency of measurement tasks. This disclosure improves the execution efficiency of measurement tasks by assigning measurement tasks to routing nodes along the forwarding path, ensuring that the measurement task is executed only on a single routing node in the forwarding path of the traffic tuning instance, thus avoiding multiple routing nodes executing the same measurement task.
[0222] Figure 25 This is a simplified block diagram of an electronic device 2500 suitable for implementing embodiments of the present disclosure. For example, a control device and / or a routing node may be implemented by the electronic device 2500. Figure 25 As shown, the electronic device 2500 includes one or more processors 2510, one or more memories 2520 coupled to the processors 2510, and one or more communication modules 2540 coupled to the processors 2510.
[0223] Communication module 2540 is used for bidirectional communication. Communication module 2540 has at least one antenna to facilitate communication. The communication interface can represent any interface necessary for communication with other network elements.
[0224] Processor 2510 can be any type suitable for a local technology network, and as a non-limiting example, can include one or more of the following: general-purpose computer, special-purpose computer, microprocessor, digital signal processor (DSP), and processor based on a multi-core processor architecture. Electronic device 2500 can have multiple processors, such as application-specific integrated circuit (ASIC) chips, which are timely driven to a clock that synchronizes with the main processor.
[0225] Memory 2520 may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, read-only memory (ROM) 2524, electrically programmable read-only memory (EPROM), flash memory, hard disk, optical disc (CD), digital video disc (DVD), and other magnetic and / or optical storage. Examples of volatile memories include, but are not limited to, random access memory (RAM) 2522 and other volatile memories that do not persist during power-off periods.
[0226] Computer program 2530 includes computer-executable instructions that are executed by the associated processor 2510. Program 2530 may be stored in ROM 2524. Processor 2510 may perform any appropriate actions and processes by loading program 2530 into RAM 2522.
[0227] The embodiments of this disclosure can be implemented by program 2530, enabling electronic device 2500 to execute the reference. Figure 15 and Figure 18 Any process disclosed herein. Embodiments of this disclosure may also be implemented in hardware or by a combination of software and hardware.
[0228] In some embodiments, program 2530 may be tangibly contained in a computer-readable medium, which may be contained in an electronic device 2500 (e.g., memory 2520) or other storage device accessible to the electronic device 2500. The electronic device 2500 may load program 2530 from the computer-readable medium into RAM 2522 for execution. The computer-readable medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc. Program 2530 is stored on the computer-readable medium.
[0229] Generally, the various embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while others may be implemented in firmware or software, which may be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of this disclosure are shown and described as block diagrams, flowcharts, or other graphical representations, it should be understood that, as non-limiting examples, the blocks, devices, systems, techniques, or methods described in this disclosure may be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.
[0230] This disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer-executable instructions, such as instructions included in a program module, which execute in a device on a target real or virtual processor to perform... Figure 17 The methods described and / or references Figure 18 The method described herein. Typically, a program module includes routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of a program module can be combined or separated among program modules as needed. The machine-executable instructions used in the program module can execute on a local or distributed device. In a distributed device, the program module can reside on both local and remote storage media.
[0231] Program code used to perform the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, partially on a remote machine, partially on a remote machine, or entirely on a remote machine or server as a standalone software package.
[0232] In the context of this disclosure, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.
[0233] Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable media can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatuses, or any suitable combination thereof. More specific examples of computer-readable storage media include electrical connections having one or more wires, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0234] Furthermore, although the operations are described in a specific order, this should not be construed as requiring that these operations be performed in the specific order or sequence shown, or that all of the operations shown be performed to obtain the desired result. In some cases, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the foregoing discussion, these details should not be construed as limiting the scope of this disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0235] Although this disclosure has been described in language specific to structural features and / or methodological behavior, it should be understood that this disclosure as defined in the appended claims is not necessarily limited to the specific features or behaviors described above. Rather, the specific features and actions described above are disclosed as exemplary forms for implementing the claims.
[0236] It should be fully understood that the use of personally identifiable information should follow privacy policies and practices that are generally considered to meet or exceed industry requirements for protecting user privacy. In particular, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to the user.
Claims
1. A measurement task allocation method, wherein, Used in control equipment, including: Determine the forwarding path of the traffic optimization instance and various measurement tasks of the traffic optimization instance; Obtain the resource information of the routing nodes in the forwarding path of the traffic tuning instance; Based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance, the measurement task configuration information is determined. Send the measurement task configuration information to the first routing node; The measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task.
2. The method as described in claim 1, wherein, The first routing node is the head routing node in the forwarding path of the traffic tuning instance, and the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
3. The method as described in claim 1, wherein, The step of determining the measurement task configuration information based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance includes: Based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance, the configuration information of the measurement tasks is determined using a consistent hashing algorithm.
4. The method of claim 3, wherein, Based on the various measurement tasks of the traffic tuning instance, the forwarding path of the traffic tuning instance, and the resource information of the routing nodes in the forwarding path of the traffic tuning instance, the configuration information of the measurement tasks is determined using a consistent hashing algorithm, including: Generate a consistent hash ring for the traffic tuning instance; Based on the resource information of the routing nodes in the forwarding path of the traffic tuning instance, multiple virtual nodes related to the routing nodes are generated, and the virtual nodes are mapped to the consistent hash ring. For each of the various measurement tasks in the traffic tuning instance, calculate the hash value of the measurement task; In the consistent hash ring, find the virtual node that is closest to the hash value of the measurement task; The measurement task is assigned to the routing node associated with the identified virtual node.
5. The method of claim 1, wherein, The second routing node is a subset of the routing nodes in the forwarding path of the traffic tuning instance; The second routing node is associated with some of the measurement tasks among the various measurement tasks of the traffic tuning instance.
6. The method of claim 1, wherein, Also includes: When multiple traffic tuning instances are included, the multiple traffic tuning instances are sorted. The measurement task configuration information is sequentially determined and sent to the first routing node of each traffic tuning instance in the sorting results.
7. The method of claim 6, wherein, The measurement task configuration information is sequentially determined and sent to the first routing node of each traffic tuning instance in the sorting results, including: Based on the sorting results, determine the current traffic optimization instance; Determine the measurement task configuration information for the current traffic tuning instance; Send the measurement task configuration information of the current traffic tuning instance to the first routing node of the current traffic tuning instance.
8. The method of claim 1, wherein, Also includes: When the forwarding path of the traffic optimization instance is affected by external factors, the first routing node of the traffic optimization instance and the measurement task configuration information are re-determined. The redefined measurement task configuration information is sent to the first routing node of the redefined traffic tuning instance.
9. The method of claim 1, wherein, The control device is a control device for a space-borne network, and the first routing node and the second routing node are spaceborne routers.
10. A method for triggering a measurement task, wherein, Applied to the first routing node, including: Receive measurement task configuration information for traffic tuning instances; wherein, the measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task; The measurement task configuration information is embedded in the service data packet of the traffic tuning instance; Send a service data packet containing the measurement task configuration information to the second routing node.
11. The method of claim 10, wherein, The first routing node is the head routing node in the forwarding path of the traffic tuning instance, and the second routing node is determined based on the routing nodes in the forwarding path of the traffic tuning instance.
12. The method of claim 10, wherein, The method of embedding measurement task configuration information into the service data packets of the traffic tuning instance includes: Based on the measurement task configuration information, generate extended information based on the IPv6 segment routing header; The extended information is embedded into the business data packets of the traffic tuning instance.
13. The method of claim 12, wherein, The extended information includes at least: a first field, a second field, and a third field; The first field is used to indicate the offset value from which measurement task entry information is read from the third field; The second field is used to indicate the number of routing nodes in the forwarding path of the traffic tuning instance; The third field is used to indicate various measurement task entry information in the traffic tuning instance, and each measurement task entry information is used to indicate the mapping relationship between the second routing node and the measurement task.
14. The method of claim 13, wherein, Each measurement task entry includes: a first identifier, a second identifier, a third identifier, and a fourth identifier; The first identifier is used to indicate whether the measurement task needs to be performed; The second identifier is used to indicate the measurement task; The third identifier is used to indicate the traffic tuning instance; The fourth identifier is used to indicate whether the second routing node continues to perform other measurement tasks.
15. The method of claim 10, wherein, The second routing node is a subset of the routing nodes in the forwarding path of the traffic tuning instance; The second routing node is associated with some of the measurement tasks among the various measurement tasks of the traffic tuning instance.
16. A method for triggering a measurement task, wherein, Applied to the second routing node, including: Receive service data packets; wherein, the service data packets contain embedded measurement task configuration information of traffic tuning instances, and the measurement task configuration information is used to indicate the mapping relationship between the second routing node and the measurement task; Based on the service data packet, the measurement task of the second routing node is triggered and the service data packet is updated; Send the updated service data packet to the next second routing node.
17. The method of claim 16, wherein, The step of triggering the measurement task of the second routing node and updating the service data packet based on the service data packet includes: Parse the service data packets to obtain extended information based on the IPv6 segment routing header; Based on the extended information, the measurement task of the second routing node is triggered and the extended information is updated.
18. The method of claim 17, wherein, The extended information includes at least: a first field, a second field, and a third field; The first field is used to indicate the offset value from which measurement task entry information is read from the third field; The second field is used to indicate the number of routing nodes in the forwarding path of the traffic tuning instance; The third field is used to indicate various measurement task entry information in the traffic tuning instance, and each measurement task entry information is used to indicate the mapping relationship between the second routing node and the measurement task.
19. The method of claim 18, wherein, Each measurement task entry includes: a first identifier, a second identifier, a third identifier, and a fourth identifier; The first identifier is used to indicate whether the measurement task needs to be performed; The second identifier is used to indicate the measurement task; The third identifier is used to indicate the traffic tuning instance; The fourth identifier is used to indicate whether the second routing node continues to perform other measurement tasks.
20. The method of claim 19, wherein, The step of triggering the measurement task of the second routing node and updating the extended information based on the extended information includes: Based on the first field and the second field, read the first measurement task entry information from the third field; When the first identifier in the first measurement task entry information indicates that a measurement task needs to be performed, the measurement task is triggered according to the second identifier and the third identifier in the first measurement task entry information; the first identifier in the first measurement task entry information is modified; when the fourth identifier in the first measurement task entry information indicates that other measurement tasks should not be performed, the first field is incremented by 1.
21. The method of claim 20, wherein, The step of triggering the measurement task of the second routing node and updating the extended information based on the extended information further includes: When the fourth identifier in the first measurement task entry information indicates that other measurement tasks should continue to be performed, the first field is incremented by 1, and the steps of reading the first measurement task entry information from the third field based on the first field and the second field and thereafter are repeated.
22. The method of claim 20, wherein, The step of triggering the measurement task of the second routing node and updating the extended information based on the extended information further includes: When the first identifier in the first measurement task entry information indicates that no measurement task needs to be performed, the first field is incremented by 1.
23. The method of claim 16, wherein, The second routing node is a subset of the routing nodes in the forwarding path of the traffic tuning instance; The second routing node is associated with some of the measurement tasks among the various measurement tasks of the traffic tuning instance.
24. An electronic device, wherein, include: One or more processors; as well as One or more memories storing instructions that, when executed individually or collectively by the one or more processors, cause the electronic device to perform the method according to any one of claims 1-23.
25. A non-transitory computer-readable storage medium storing machine-executable instructions, which, when executed individually or collectively by one or more processors of the machine, cause the machine to perform the method of any one of claims 1-23.
26. A computer program product comprising machine-executable instructions, which, when executed individually or collectively by one or more processors of a machine, cause the machine to perform the method of any one of claims 1-23.