Unmanned aerial vehicle communication system based on ipv6 multi-homing and multi-path transmission
By using an IPv6-based UAV communication system with multiple affiliations and multiple paths, the problems of unstable communication and easy interruption of link switching in the cleaning of high-rise building facades have been solved. This system achieves efficient and stable data transmission, meeting the requirements of high throughput and low latency for high-definition video and flight control commands.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUZHOU UNIV
- Filing Date
- 2026-04-16
- Publication Date
- 2026-06-26
AI Technical Summary
Existing UAV communication technologies suffer from problems in high-rise building facade cleaning operations, such as unstable communication rates, easy interruptions during link switching, low utilization of multiple communication interface resources, insufficient adaptability to traditional IP network architectures, high latency during IPv6 multi-link switching, and high system complexity. These issues prevent them from meeting the requirements of high throughput and low latency for high-definition video transmission and flight control commands.
The UAV communication system adopts IPv6 multi-homing and multi-path transmission. Through address configuration and session initialization module, link status awareness module, link comprehensive scoring and address scoring mapping module, proportional multi-path scheduling and parallel transmission module, address-level dynamic switching module, and receiver data reassembly module, it realizes multi-link collaborative transmission and dynamic adjustment, ensuring the stability and continuity of data transmission.
It significantly improves communication rate stability, reduces the risk of link switching interruption, increases communication resource utilization, enhances the system's adaptability in high-obstruction environments, meets the high throughput and low latency requirements of high-altitude cleaning operations, and reduces system modification costs and complexity.
Smart Images

Figure CN122053483B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of unmanned aerial vehicle (UAV) communication technology, and in particular refers to a UAV communication system based on IPv6 multi-homing and multi-path transmission. Background Technology
[0002] In the field of high-rise building facade cleaning, drones are increasingly being deployed for high-altitude curtain wall cleaning due to their high operational flexibility and the elimination of the need for aerial work platforms. In such scenarios, drones need to fly stably for extended periods in complex environments at high altitudes and close to the building facade. During operation, they must continuously transmit high-definition video data to ground control stations or remote servers to achieve real-time monitoring of cleaning results and accurate assessment of stain residue. Simultaneously, they must upload various sensor data, such as spray status, flight attitude, and battery level, and receive flight control and safety intervention commands from the ground control station. Therefore, high-altitude cleaning operations place significantly higher technical demands on the transmission rate, stability, and continuity of drone communication links compared to conventional flight missions.
[0003] Currently, high-altitude cleaning drones generally use a single wireless link to establish a communication connection with the ground control station. Common communication methods include cellular networks (4G / 5G), Wi-Fi communication, or dedicated wireless links. However, in actual high-altitude cleaning operations, this single-link communication scheme reveals several technical shortcomings due to the complex communication environment, as follows:
[0004] Firstly, the communication rate stability is poor, and high-definition video transmission is easily interfered with. The curtain walls of high-rise buildings have significant obstruction, reflection, and multipath effects on wireless signals. When drones fly around building corners, fly close to the curtain wall, or enter areas with high signal reflection, the effective transmission bandwidth of a single communication link is prone to sharp attenuation, resulting in problems such as stuttering, reduced resolution, and increased transmission latency in high-definition video transmission, which cannot guarantee the accuracy of real-time monitoring and cleaning quality assessment of cleaning operations.
[0005] Secondly, link switching can easily cause communication interruptions, posing a safety hazard. During high-altitude cleaning, the drone's flight altitude and position are constantly changing dynamically, easily triggering cellular network base station switching or Wi-Fi access point switching. Existing communication solutions require re-establishing network connections during link switching, which can easily cause short-term interruptions in the transmission of control commands and video data, failing to guarantee the real-time nature of flight control and safety intervention, and posing a direct threat to the safety of high-altitude operations.
[0006] Third, the utilization rate of multiple communication interface resources is low, and the collaborative transmission mechanism is lacking. In order to adapt to diverse operating environments, existing high-altitude cleaning drones usually integrate multiple communication interface hardware such as cellular communication and Wi-Fi. However, the existing communication system only selects a single link as the main transmission link, and the other communication links are in a standby or idle state for a long time. The multi-link collaborative transmission mechanism has not been formed, and the multi-interface communication resources cannot be fully integrated. The overall communication performance is difficult to meet the operational requirements.
[0007] Fourth, traditional IP network architectures are not well-suited for high-altitude mobile scenarios. Existing IPv4-based communication architectures suffer from limited address resources and complex Network Address Translation (NAT) mechanisms, resulting in limited end-to-end communication capabilities. When drones switch between different network environments, it is difficult to maintain stable and continuous data transmission sessions, making it unsuitable for the stringent communication continuity requirements of high-altitude cleaning operations.
[0008] Fifth, existing general multi-link optimization solutions have poor scenario adaptability and cannot simultaneously meet the rigid requirements of high throughput and low latency. Currently, there are general multi-link solutions for addressing drone communication interruption issues, such as cold switching between primary and backup links, dual-link redundancy backup, and parallel transmission of basic links. However, these solutions rely on passive link-level switching or upper-layer additional protocol data distribution. They are not customized and optimized for scenarios such as high-altitude cleaning near buildings and rapid link fading fluctuations. They have weak resistance to multipath interference and rapid degradation compensation capabilities, and cannot simultaneously meet the differentiated transmission requirements of high-definition video with high bandwidth and high throughput, and flight control commands with microsecond-level low latency and high reliability.
[0009] Sixth, there is a lack of native multi-link networking design based on the multi-homing feature of IPv6, resulting in high handover latency and session migration complexity. With the large-scale deployment of the IPv6 protocol, its massive address space, multi-address parallel configuration, and native end-to-end reachability provide a technical foundation for multi-link communication. However, existing UAV multi-link solutions have not introduced a native IPv6 address-level management mechanism, making it impossible to uniformly identify network identities and solidify parallel paths for multiple physical communication links. When a single link suddenly deteriorates or needs to be switched, a complex session migration process is still required, resulting in high handover latency and unresolved short-term packet loss issues. Furthermore, some solutions rely on additional tunnel encapsulation and conversion gateway hardware, leading to high system complexity, large size and power consumption, making it difficult to adapt to the requirements of lightweight airborne deployment.
[0010] In summary, existing drone communication technologies cannot simultaneously meet the stringent requirements of high-rise building facade cleaning operations for high-stability communication rates, uninterrupted continuity, efficient utilization of multiple resources, and lightweight, low-power deployment. There is an urgent need to design a drone multi-link collaborative communication method and system adapted to this specific scenario and based on the native IPv6 architecture. Summary of the Invention
[0011] Therefore, this invention aims to solve the technical problems in high-rise building facade cleaning operations, where drones use a single wireless link or a multi-link communication method with only master-slave switching, coupled with the limitations of traditional network architecture, resulting in unstable communication rates, easy interruption of link switching, low utilization of multiple communication interface resources, and limited end-to-end communication capabilities, which cannot meet the high throughput, high stability, and high continuity requirements of high-altitude cleaning operations.
[0012] To address the aforementioned technical problems, this invention provides an unmanned aerial vehicle (UAV) communication system based on IPv6 multi-homing and multi-path transmission, comprising: an address configuration and session initialization module, a link status awareness module, a link comprehensive scoring and address scoring mapping module, a proportional multi-path scheduling and parallel transmission module, an address-level dynamic switching module, and a receiver data reassembly module.
[0013] The address configuration and session initialization module is configured to: configure independent IPv6 addresses for each physical communication link of the UAV, establish a one-to-one binding relationship between physical communication links, network interfaces, network prefixes and IPv6 addresses, and construct a multi-homed address set for the UAV; at the same time, assign a unique session identifier to the service session established by the upper-layer service flow, and perform fragmentation processing on the data to be transmitted in the service session to generate a set of data fragments to be transmitted with identifiers.
[0014] The link status awareness module is configured to: collect transmission status parameters of each physical communication link according to a preset scheduling cycle, associate the transmission status parameters with the corresponding IPv6 addresses to form an address association status table, and update the set of valid IPv6 addresses in the current cycle.
[0015] The link comprehensive scoring and address scoring mapping module is configured to: perform comprehensive scoring calculation on the set of valid IPv6 addresses, configure differentiated scoring weights for different service categories, and perform time-domain smoothing filtering on the scoring results to obtain a session-level address priority sequence and a schedulable address set.
[0016] The proportional multipath scheduling and parallel transmission module is configured to: determine the data transmission ratio corresponding to each IPv6 address based on the scoring results of each IPv6 address, bind the data fragments to be transmitted to different IPv6 source addresses and corresponding physical communication links according to the data transmission ratio, and perform multipath parallel transmission.
[0017] The address-level dynamic switching module is configured to: continuously monitor the transmission status parameters of the links corresponding to each IPv6 address, perform downgrading or removal processing on degraded addresses, reallocate the transmission ratio of the remaining valid IPv6 addresses, migrate the traffic carried by degraded addresses to valid IPv6 addresses, resend unacknowledged fragments, and re-include them in the schedulable address set after the address is restored.
[0018] The receiving end data reassembly module is configured to: receive, verify the validity and deduplicate fragments from different IPv6 addresses according to the session identifier and fragment sequence number; reorder the fragments according to the sequence number to complete the splicing and delivery of consecutive fragments; perform recovery processing on missing fragments; and realize the data delivery to upper-layer services.
[0019] In one embodiment of the present invention, the address configuration and session initialization module configures independent IPv6 addresses for each physical communication link of the UAV, establishes a one-to-one binding relationship between physical communication links, network interfaces, network prefixes and IPv6 addresses, and constructs a multi-homed address set for the UAV; simultaneously, it assigns a unique session identifier to the service sessions established by the upper-layer service flows, and performs fragmentation processing on the data to be transmitted in the service sessions to generate a set of identified data fragments to be transmitted, including:
[0020] Define the set of heterogeneous communication links currently available to UAVs as follows: Where K is the total number of available links, k is the link index; and for each link... Configure the corresponding network interface This forms a set of interfaces: ;
[0021] Network interfaces Obtain the corresponding network prefix via stateless address autoconfiguration or DHCPv6. This forms a set of network prefixes: ;
[0022] interface Based on its own interface identifier With corresponding network prefix Obtain the IPv6 address corresponding to each link. : ,in, This indicates a concatenation operation; based on the IPv6 addresses corresponding to each link. The set of IPv6 multi-homed addresses that constitute the drone: ;
[0023] Establish a one-to-one binding relationship between physical communication links, network interfaces, network prefixes, and IPv6 addresses, and construct a link binding record for each link k. ,in This is the default router or next-hop identifier for link k. This is a binary flag indicating the link's availability status. This indicates that the link is available. This indicates that the link is unavailable; it integrates all link binding records to generate a link-interface-prefix-IPv6 address binding table.
[0024] Based on the binary flag of the link availability status Extract the moment when the drone enters operational status The set of available IPv6 addresses: ;
[0025] For establishing a business session for the upper-layer business flow, let the session establishment time be... Unmanned aerial vehicle (UAV) equipment identification is Business flow identifier is Generate function through session identifier Assign a unique session identifier to each service session: ;
[0026] From the available IPv6 address set Register the set of source addresses that can be used by this session. And satisfy ;
[0027] The data to be transmitted in the business session is fragmented according to the preset fragment length, and metadata is appended to the i-th data fragment. ,in This is the fragment number. This is the fragment length. For timestamps, For business category identification, For verification information;
[0028] Based on the metadata Build data shards ,in, The payload of this fragment is formed by all data fragments with metadata, which together form a set of identifiable data fragments to be transmitted.
[0029] In one embodiment of the present invention, the link state awareness module is configured to: collect transmission state parameters of each physical communication link according to a preset scheduling period, associate the transmission state parameters with corresponding IPv6 addresses to generate an address association state table, and update the set of valid IPv6 addresses in the current period, including:
[0030] In each preset scheduling cycle Within, for each physical communication link k, a link binding record is created. Perform status collection and match link transmission status with corresponding IPv6 addresses. Association modeling is used to construct a transmission state vector for each physical communication link k at time t:
[0031] ,in, For the effective throughput of the link, For round-trip time delay, For packet loss rate, For time delay jitter, This is a flag indicating the validity of an IPv6 address. As a marker of the reachability of the next-hop neighbor, A comprehensive availability indicator for IPv6 addresses;
[0032] Based on the transmission state vector Build an address state record for each link k: It also integrates the address status records of all links to generate an address association status table at time t. ;
[0033] For the established service session SID, from the set of available IPv6 addresses Extract the set of currently available addresses for this session: , The set of available source addresses registered during session initialization.
[0034] In one embodiment of the present invention, the link state awareness module, during the scheduling period Within, the effective throughput of the link The calculation method is as follows: ,
[0035] in, For the preset scheduling period, For the current scheduling period via IPv6 address The number of valid bytes successfully sent and acknowledged by the receiving end;
[0036] round-trip delay By periodically sending probe messages to link k or parsing the timestamps of service acknowledgment messages, n round-trip delay samples are obtained within the current scheduling period. The median of the sample is taken as the quantized value, and the formula is: ,in, This indicates the median operation;
[0037] The packet loss rate The calculation method is as follows: ,in, This represents the number of fragments confirmed and fed back by the receiver within the current scheduling period; For the current scheduling period via IPv6 address The total number of data fragments sent, if If so, the packet loss rate estimate of the previous cycle of the link will be used or the link will be marked as pending update.
[0038] The delay jitter The calculation method is as follows: ,in, For the i-th round-trip delay sample value, This represents the average round-trip delay sample value within the current scheduling period, where n is the number of sample values.
[0039] In one embodiment of the present invention, the IPv6 address validity flag It is a binary flag, and the verification dimension includes the IPv6 address. Whether it passes duplicate address detection, whether the address validity period has expired, and the corresponding network prefix. Whether it is in a valid state, all three checks must pass. ,otherwise ;
[0040] The next-hop neighbor reachability flag In a binary state, perform IPv6 neighbor reachability detection on the default router or next-hop node corresponding to link k. If the node is reachable... ,otherwise ;
[0041] Based on link physical availability status flags The IPv6 address validity flag and the next-hop neighbor reachability flag This yields the binary form of the IPv6 address comprehensive availability flag. : .
[0042] In one embodiment of the present invention, the link comprehensive scoring and address scoring mapping module performs a comprehensive scoring calculation on the set of valid IPv6 addresses, configures differentiated scoring weights for different service categories, and performs time-domain smoothing filtering on the scoring results to obtain a session-level address priority sequence and a schedulable address set, including:
[0043] Address association state table based on time t Extract each of its available IPv6 addresses Corresponding link effective throughput Round-trip delay Packet loss rate latency jitter IPv6 address validity flag Next-hop neighbor reachability flag and IPv6 address comprehensive availability flag ;
[0044] Within the current scheduling period, count all comprehensive availability indicators. The upper and lower bounds of various transmission metrics corresponding to the IPv6 address are the maximum and minimum effective throughput values. , Optimal round-trip delay , Minimum packet loss rate , Maximum latency jitter , ;
[0045] Introducing a positive stable term Normalization calculations are performed on each transmission metric to obtain normalized values; scoring weights are assigned to each transmission metric, and the scores for each IPv6 address are calculated. The overall score based on time t ;
[0046] Based on the IPv6 address comprehensive availability flag The schedulable score is obtained as follows: ;
[0047] For the schedulable score Time-domain smoothing filtering is performed to obtain the smoothed comprehensive score. : ,
[0048] in, The smoothed comprehensive score of link k at time t is given. This is the smoothed comprehensive score of link k in the previous scheduling cycle. For smoothing coefficients, ΔT is the scheduling period;
[0049] Define a set of business categories C, and configure differentiated weight vectors for different business categories c. Calculate the category score for each IPv6 address for service category c according to the corresponding weight vector: After time smoothing, the smoothed category scores are obtained:
[0050] ,
[0051] in, This represents the smoothed category score of link k in the previous scheduling cycle;
[0052] For a given business session SID, determine its corresponding business category. From the currently available address set Extract the address rating set corresponding to this session: ;
[0053] Address rating set Sort the IPv6 addresses in the sequence to obtain the session address priority sequence. ,in This indicates that the scores are sorted in descending order.
[0054] Set session-level admission threshold ,right any IPv6 address in When satisfied When this happens, it is added to the schedulable address set of the session to obtain the final schedulable address set: .
[0055] In one embodiment of the present invention, the proportionalized multipath scheduling and parallel transmission module determines the data transmission ratio corresponding to each IPv6 address based on the scoring results of each IPv6 address, binds the data fragments to be transmitted to different IPv6 source addresses and corresponding physical communication links according to the data transmission ratio, and performs multipath parallel transmission, including:
[0056] Based on the set of schedulable addresses and various IPv6 addresses Corresponding smooth category score Simultaneously, obtain the total amount of data to be sent by the session SID within the current scheduling period. and associate each IPv6 address Corresponding network connection Physical link k and next-hop node ;
[0057] Based on the smooth category score For each IPv6 address in the schedulable address set Calculate the scheduling weights: and the scheduling weights Perform normalization to obtain the data transmission ratio of each IPv6 address within the current scheduling period: And satisfy ;
[0058] Based on the data transmission ratio of each IPv6 address Calculate each IPv6 address The amount of data to be allocated in the current period: ;
[0059] Data allocation based on each IPv6 address The parallel transmission operation of the data fragment set to be sent across multiple IPv6 addresses and multiple physical communication links, according to the preset transmission process, includes:
[0060] For the i-th fragment to be sent Based on the remaining allocatable data at each address, select from the set of schedulable addresses. Match target IPv6 address Establish sharding mapping records ,in This is the fragment number. For the output interface bound to this address;
[0061] Fragments to be sent after address and interface binding are completed Configure its network layer source address field to the bound IPv6 address. And lock the output transmission interface of the fragment to Ensure that fragments are transmitted to the next-hop node along the specified physical link. .
[0062] In one embodiment of the present invention, the parallel transmission operation of the set of data fragments to be transmitted on multiple IPv6 addresses and multiple physical communication links according to a preset transmission process further includes:
[0063] Within the same scheduling cycle, fragments that have completed address binding keep their source address and output interface fixed until transmission is complete; only after a new round of link scoring and transmission ratio updates are completed in the next scheduling cycle will the address allocation results of subsequent fragments to be transmitted be dynamically adjusted.
[0064] Based on the set of schedulable addresses The number of addresses determines the type of data to be transmitted adaptively. If the set contains only one IPv6 address, all data fragments are sent via that address using a single path. If the set contains multiple IPv6 addresses, the transmission is performed according to the proportion of data sent. Perform multi-path parallel transmission to map address-level scoring results to parallel transmission actions.
[0065] According to claim 1, the UAV communication system based on IPv6 multi-homing and multi-path transmission is characterized in that the address-level dynamic switching module continuously monitors the transmission status parameters of the links corresponding to each IPv6 address, performs degradation or removal processing on degraded addresses, reallocates the transmission ratio of the remaining valid IPv6 addresses, migrates the traffic carried by degraded addresses to valid IPv6 addresses, retransmits unacknowledged fragments, and re-includes them into the schedulable address set after address recovery, including:
[0066] Within a preset scheduling period, extract the packet loss rate of each link k. Round-trip delay Effective throughput Each indicator is compared with its corresponding preset threshold. When the packet loss rate is met... Exceeding the preset packet loss rate threshold Round-trip delay Exceeding the preset round-trip delay threshold Effective throughput Below the preset effective throughput threshold IPv6 address comprehensive availability flag If any of the following conditions are met, the link is determined to have degraded;
[0067] Set a downgrade flag for IPv6 addresses that are deemed degraded. This involves degrading the address from the current session SID's schedulable address set, suspending new data fragment allocation operations for that address, and setting its data transmission ratio to zero. ;
[0068] After removing degraded addresses, the set of valid addresses after the session SID switch is updated: Based on the original scheduling weights of the remaining valid IPv6 addresses in this set. Re-perform the normalization calculation to obtain the new data transmission ratio after the switch: ;
[0069] For data fragments that have entered the transmission queue but have not yet been transmitted, remove their binding relationship with the degraded address and remap them to the set of valid addresses after the handover. IPv6 address in;
[0070] Fragments that have been sent via degraded addresses but have not received a receipt acknowledgment are marked as fragments to be recovered, forming a set of fragments to be recovered: ,in The original IPv6 address was bound to the fragment. This indicates that no confirmation message has been received; data fragments to be restored will be sent according to the proportion of new data. Select a new valid address, update only its source address and output interface fields, and retain the session identifier (SID) and fragment sequence number. Resend if unchanged;
[0071] Continuous status monitoring is performed on the degraded address. If its transmission status parameters meet the preset threshold conditions within M consecutive scheduling cycles, and This means marking it as a recovery address and reintegrating it into the set of schedulable addresses for the current session SID.
[0072] In one embodiment of the present invention, the receiving end data reassembly module is configured to: receive, verify the validity and deduplicate fragments from different IPv6 addresses according to the session identifier and fragment sequence number; rearrange the fragments according to the sequence number to complete the splicing and delivery of consecutive fragments; perform recovery processing on missing fragments; and realize the data delivery to upper-layer services, including:
[0073] On the ground control station side, a reassembly buffer is maintained for each service session identifier (SID). For data fragments with metadata transmitted from different physical communication links via multiple IPv6 source addresses, deduplication is performed based on the session identifier and fragment sequence number in the data fragment. If the combination of the session identifier and fragment sequence number of the fragment is not in the reassembly buffer, it is added to the reassembly buffer.
[0074] All data fragments under the same session identifier in the reorganization cache are sorted and organized in ascending order of fragment number; then, it is checked whether the sorted fragments meet the consecutive number requirement. When all fragments in a certain number interval exist completely in the reorganization cache, the payload of the consecutive number fragments is spliced back to the original data and transparently delivered to the upper-layer business system. At the same time, the fragments that have been delivered are removed from the reorganization cache.
[0075] If a missing fragment is detected, a retransmission request is triggered or forward error correction is used to restore the data. If the recovery waiting time for the missing fragment exceeds the session-level preset reassembly waiting threshold, differentiated processing is performed according to the service type, ultimately achieving data delivery to the upper-layer service.
[0076] Compared with the prior art, the above-described technical solution of the present invention has the following advantages:
[0077] This technical solution leverages the multi-homing capability of IPv6 to construct a multi-path communication system adapted to high-altitude cleaning drones, boasting significant core advantages and strong adaptability:
[0078] Firstly, by using multi-link parallel transmission, the problem of unstable single-link rate is fundamentally solved, effectively avoiding the problems of high-definition video backhaul stuttering and latency fluctuation caused by building obstruction and channel fading, and greatly improving the stability of communication rate.
[0079] Secondly, the innovative dynamic degradation and rapid switching mechanism eliminates the need to rebuild upper-layer business sessions when the link deteriorates. Instead, it smoothly adjusts the data allocation ratio and migrates the data stream, completely solving the industry pain point of link switching interruption and significantly reducing the safety risks of high-altitude operations.
[0080] Third, by unifying perception, comprehensive scoring and proportional scheduling of multiple communication links, the idle communication interface resources of UAVs are fully activated, forming a multi-link collaborative transmission mode, which greatly improves the utilization rate of communication resources and the overall throughput, and meets the concurrent transmission requirements of high-definition video, multi-source sensor data and control commands.
[0081] Fourth, based on multi-dimensional index modeling and link comprehensive scoring algorithm of throughput, latency, packet loss rate and latency jitter, the communication system can adapt to the complex wireless environment of high-altitude cleaning in real time, dynamically adjust the scheduling strategy, and significantly enhance the system's adaptability and robustness in high-obstruction and high-reflection scenarios.
[0082] Fifth, the entire technical solution achieves communication acceleration optimization at the underlying level without altering the existing upper-layer business logic or communication application protocols of the drone. It requires no large-scale hardware system modifications, resulting in low modification costs, strong engineering feasibility, and rapid integration into existing high-altitude cleaning drone systems. It possesses excellent system compatibility and industry promotion value. Simultaneously, the intelligent data reassembly mechanism at the receiving end ensures the complete delivery of multi-path transmitted data, further enhancing transparency to upper-layer business processes. This allows the application layer to perceive only the improved communication performance without affecting existing operational workflows. Attached Figure Description
[0083] To make the content of this invention easier to understand, the invention will be further described in detail below with reference to specific embodiments and accompanying drawings.
[0084] Figure 1 This is a schematic diagram of the structure of an unmanned aerial vehicle (UAV) communication system based on IPv6 multi-homing and multi-path transmission, provided in an embodiment of the present invention.
[0085] Explanation of reference numerals in the accompanying drawings: 10. Address configuration and session initialization module; 20. Link status awareness module; 30. Link comprehensive scoring and address scoring mapping module; 40. Proportional multipath scheduling and parallel transmission module; 50. Address-level dynamic switching module; 60. Receiver data reassembly module. Detailed Implementation
[0086] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand and implement the present invention. However, the embodiments described are not intended to limit the present invention.
[0087] Reference Figure 1 As shown, to achieve high throughput, high stability, and high continuity of UAV communication in high-rise building facade cleaning operations, this invention provides a UAV communication system based on IPv6 multi-homing and multi-path transmission. Relying on the characteristics of IPv6 multi-homing technology, it completes communication data transmission between the UAV and the ground control station through a full-process collaborative process of multi-link unified perception, comprehensive scoring, proportional scheduling, dynamic switching, and data reassembly. Specifically, it includes: an address configuration and session initialization module 10, a link status perception module 20, a link comprehensive scoring and address scoring mapping module 30, a proportional multi-path scheduling and parallel transmission module 40, an address-level dynamic switching module 50, and a receiving end data reassembly module 60.
[0088] The address configuration and session initialization module 10 is configured to: complete IPv6 network access for each physical communication link of the UAV and obtain an independent IPv6 source address; establish a one-to-one binding relationship between physical communication links, network interfaces, network prefixes and IPv6 addresses; and construct a multi-homed address set for the UAV. Simultaneously, it assigns a globally unique session identifier to various upper-layer service sessions of the UAV, including high-definition video transmission, flight remote control commands, and device telemetry information sessions. It also performs standardized fragmentation processing on the data to be transmitted for various upper-layer services, attaching metadata containing the session identifier and fragment sequence number to each data fragment to form an identifiable set of data fragments to be transmitted.
[0089] The link status awareness module 20 is configured to: collect the transmission status parameters of each physical communication link according to a preset scheduling cycle, associate the transmission status parameters with the corresponding IPv6 addresses to form an address association status table, and update the set of valid IPv6 addresses in the current cycle.
[0090] The link comprehensive scoring and address scoring mapping module 30 is configured to: perform comprehensive scoring calculation on the set of valid IPv6 addresses, configure differentiated scoring weights for different service categories, and perform time-domain smoothing filtering on the scoring results to obtain a session-level address priority sequence and a schedulable address set.
[0091] The proportionalized multipath scheduling and parallel transmission module 40 is configured to: determine the data transmission ratio corresponding to each IPv6 address based on the scoring results of each IPv6 address, bind the data fragments to be transmitted to different IPv6 source addresses and corresponding physical communication links according to the data transmission ratio, and perform multipath parallel transmission.
[0092] The address-level dynamic switching module 50 is configured to: continuously monitor the transmission status parameters of the links corresponding to each IPv6 address, perform downgrading or removal processing on degraded addresses, reallocate the transmission ratio of the remaining valid IPv6 addresses, migrate the traffic carried by degraded addresses to valid IPv6 addresses, resend unacknowledged fragments, and re-include them in the schedulable address set after the address is restored.
[0093] The receiving end data reassembly module 60 is configured to: receive, verify the validity and deduplicate fragments from different IPv6 addresses according to the session identifier and fragment sequence number; reorder the fragments according to the sequence number to complete the splicing and delivery of consecutive fragments; perform recovery processing on missing fragments; and realize transparent data delivery to upper-layer services.
[0094] Furthermore, the address configuration and session initialization module 10 configures independent IPv6 addresses for each physical communication link of the UAV, establishes a one-to-one binding relationship between physical communication links, network interfaces, network prefixes, and IPv6 addresses, and constructs a multi-homed address set for the UAV; simultaneously, it assigns a unique session identifier to the service sessions established by the upper-layer service flows, and performs fragmentation processing on the data to be transmitted in the service sessions to generate a set of identified data fragments to be transmitted, including:
[0095] Define the set of heterogeneous communication links currently available to UAVs as follows: Where K is the total number of available links, and k is the link index; each link type includes, but is not limited to, cellular communication links (4G / 5G), wireless LAN links (Wi-Fi), dedicated wireless links, and other wireless communication links supporting the IPv6 protocol. For each link... Configure the corresponding network interface This forms a set of network interfaces: After the drone starts its operation program, it activates each network interface in a preset sequence. This allows them to connect to corresponding external networks such as cellular network core network, wireless LAN access point, and private network gateway.
[0096] Each activated network interface A unique network prefix is obtained from the corresponding access network through either Stateless Address Autoconfiguration (SLAAC) or Dynamic Host Configuration Protocol version 6 (DHCPv6) standardized methods. The network prefixes of all links form a network prefix set: .
[0097] Network interface Based on its own interface identifier (such as EUI-64 format identifier) and the obtained network prefix Generate a globally unique IPv6 address through concatenation. : ,in, This represents the binary concatenation operation of the network prefix and interface identifier; based on the IPv6 addresses corresponding to all links. Together, they constitute the set of IPv6 multi-homed addresses for the drone: This enables standardized configuration of multiple network identities on a single device.
[0098] Build a complete link binding record for each link k. ,in This is the default router or next-hop identifier for link k. This is a binary flag indicating the link's availability status. This indicates that the physical layer of the link is normally available. This indicates a physical layer failure or inactivity of the link. It is based on the availability status flags in each link binding record. Extract the initial moment when the drone enters the operational state. The set of available IPv6 addresses: This clarifies the IPv6 address resources that can participate in data transmission in the initial state.
[0099] For various upper-layer service flows (such as high-definition video backhaul streams, flight control command streams, sensor data upload streams, etc.), establish independent service sessions; let the session establishment time be... Unmanned aerial vehicle (UAV) equipment identification is Business flow identifier is Generate function through session identifier (Such as the hash function SHA-256) assigns a unique session identifier to the business session: This ensures that all data fragments within the same session can be uniquely identified.
[0100] From the initial set of available IPv6 addresses In this context, the set of source addresses that can be used for the current session registration is specified. And satisfy Specify the range of IPv6 addresses that can be used in this session;
[0101] The data to be transmitted in the current service session is fragmented according to a preset fragment length (which can be dynamically configured according to the service type) to ensure that data transmission is adapted to the bandwidth characteristics of each link. Each data fragment is then segmented. Additional standardized metadata ,in This is the fragment number. This is the fragment length. For timestamps, For business category identification, This includes fragment verification information (such as CRC32 checksum); each data fragment is represented as: ,in, This is the payload of the fragment; thus, a set of labeled data fragments to be transmitted is obtained.
[0102] After completing all the above processing, the module outputs a standardized dataset, including a link-interface-prefix-IPv6 address binding table (recording complete configuration information for all links), service session identifier (SID), and a set of available source addresses for the session. The data fragments with metadata are all packaged in a preset format to ensure that they can be directly called in subsequent link status perception module 20, link comprehensive scoring and address scoring mapping module 30 and proportional multipath scheduling and parallel sending module 40, so as to realize the standardization of data interaction between modules.
[0103] Furthermore, the link state awareness module 20 is configured to: collect transmission state parameters of each physical communication link according to a preset scheduling period, associate the transmission state parameters with the corresponding IPv6 addresses to generate an address association state table, and update the set of valid IPv6 addresses in the current period, including:
[0104] In each preset scheduling cycle Within, for each physical communication link k, a link binding record is created. Perform status collection and match link transmission status with corresponding IPv6 addresses. Association modeling is used to construct a transmission state vector for each physical communication link k at time t:
[0105] ,in, For the effective throughput of the link, For round-trip time delay, For packet loss rate, For time delay jitter, This is a flag indicating the validity of an IPv6 address. As a marker of the reachability of the next-hop neighbor, A comprehensive availability flag for IPv6 addresses;
[0106] Based on the transmission state vector Build an address state record for each link k: It also integrates the address status records of all links to generate an address association status table at time t. ;
[0107] For the established service session SID, from the set of available IPv6 addresses Extract the set of currently available addresses for this session: , The set of available source addresses registered during session initialization.
[0108] Specifically, in the link state awareness module 20, during the scheduling period... Within, the effective throughput of the link The calculation method is as follows: ,
[0109] in, For the preset scheduling period, For the current scheduling period via IPv6 address The number of valid bytes successfully sent and acknowledged by the receiving end through an acknowledgment mechanism (such as TCPACK or a custom acknowledgment message).
[0110] round-trip delay The method for obtaining it is as follows:
[0111] A dual-path sample collection mechanism is used to obtain latency data: First, based on the IPv6 network protocol stack, IPv6 probe packets (such as ICMPv6 EchoRequest) are periodically sent to the next-hop node corresponding to link k; second, the timestamp field carried in the service data packets is parsed to extract the round-trip transmission time.
[0112] A total of n round-trip delay samples are acquired within the current scheduling period. The median calculation formula is as follows: (in (This indicates the median operation) yields the quantization result, effectively suppressing interference from abnormally large delay samples and ensuring the stability and reliability of delay data.
[0113] The packet loss rate The calculation method is as follows:
[0114] ,in, This represents the number of fragments confirmed and fed back by the receiver within the current scheduling period; For the current scheduling period via IPv6 address The total number of data fragments sent, if If no data is sent in this cycle, the packet loss rate estimate from the previous cycle of the link will be used or the link will be marked as pending update.
[0115] The delay jitter Calculations are made based on the round-trip delay sample sequence within the current period, firstly through... Obtain the sample mean, then use the formula Quantitative latency jitter, measured in milliseconds, accurately characterizes the degree of fluctuation in link transmission latency.
[0116] IPv6 address validity flag It is a binary flag for the IPv6 address corresponding to link k. a k Perform triple validity checks: First, check if the IPv6 Duplicate Address Detection (DAD) mechanism is passed to ensure address uniqueness; second, check if the address's lifecycle is within the valid lease period (based on the validity period of addresses assigned by IPv6 stateless address autoconfiguration or DHCPv6); third, check the network prefix corresponding to the address. Whether it is in a valid state, that is, not revoked or cancelled by the network side; when all three checks pass, it means the address is valid. Otherwise, it means the address is invalid. .
[0117] The next-hop neighbor reachability flag In a binary state, based on the IPv6 Neighbor Discovery Protocol (NDP), a Neighbor Request (NS) message is sent to the default router or next-hop network node corresponding to link k; if a Neighbor Advertisement (NA) message is received from the target node within a preset timeout period, the next hop is determined to be reachable, and the status is set to [value missing]. Conversely, even if the physical layer of the link is not broken, the transmission path is determined to be unusable, and a new path is set... .
[0118] Based on the link physical availability status flag obtained in the address configuration and session initialization module 10 ( (Indicating that the physical layer of the link is normal and available), the IPv6 address validity flag. and the next-hop neighbor reachability flag This yields the binary form of the IPv6 address comprehensive availability flag. : .when At that time, it represents the IPv6 address It can participate in subsequent scoring and data scheduling within the current scheduling cycle; when At that time, this address will not participate in data transmission for this cycle.
[0119] Based on the comprehensive availability indicators of each link According to the formula Filter out IPv6 addresses that can actually carry service traffic within the current scheduling period, and generate and update the set of valid IPv6 addresses. This enables dynamic filtering of address resources.
[0120] For each link k, combined with its corresponding IPv6 address With the transmission state vector For each link k, construct a standardized address state record: Integrate the address status records of all links, arrange them in order according to the link index, and generate an address association status table at time t. This status table fully records the transmission performance parameters and availability status of each IPv6 address, serving as the core input data for the subsequent link comprehensive scoring and proportional scheduling module 30.
[0121] For the service session SID established in step S1, select from the updated set of valid IPv6 addresses. In the case of set intersection operation formula Retrieve the set of currently available addresses for this session (in (This is a set of available source addresses registered during session initialization) to achieve a precise mapping from globally valid addresses to session-specific available addresses, ensuring that subsequent scheduling modules can directly perform scoring and routing operations on the available address set of the target session.
[0122] Furthermore, in this embodiment, the link comprehensive scoring and address scoring mapping module 30 performs comprehensive scoring calculation on the set of valid IPv6 addresses, configures differentiated scoring weights for different service categories, and performs time-domain smoothing filtering on the scoring results to obtain a session-level address priority sequence and a schedulable address set, including:
[0123] Address association state table based on time t Extract each of its available IPv6 addresses Corresponding link effective throughput Round-trip delay Packet loss rate latency jitter IPv6 address validity flag Next-hop neighbor reachability flag IPv6 address comprehensive availability flags ; Filter out The available IPv6 addresses are used as the core object for scoring calculation in this period.
[0124] To eliminate the interference of different indicator units on the scoring results, normalization is performed on the various transmission indicators of available addresses:
[0125] Analyze the upper and lower bounds of various metrics for available IPv6 addresses within the current scheduling period:
[0126] Maximum effective throughput: , ;
[0127] Optimal round-trip delay: , ;
[0128] Minimum packet loss rate: , ;
[0129] Optimal latency jitter: , .
[0130] To avoid the denominator being zero, a positive stable term is introduced. Normalization calculations are performed on each transmission index to obtain normalized values: , , , After normalization, the index values all range from [0,1].
[0131] A multi-dimensional weighted scoring model is constructed to assign scoring weights to various transmission metrics, including effective throughput, round-trip latency, packet loss rate, and latency jitter. , , , And satisfy Calculate each IPv6 address The overall score based on time t : . The larger the value, the better the overall transmission capability (throughput, latency, reliability, stability) of that address.
[0132] Based on the IPv6 address comprehensive availability flag Perform valid address filtering to obtain a schedulable score: .when hour, The corresponding IPv6 address is excluded from the scheduling scope; when hour, The address is reserved as a scheduling candidate to ensure that only valid addresses participate in subsequent processes.
[0133] To reduce the drastic oscillations in scores caused by transient link fluctuations (such as momentary blockages and short-term interference), a smoothing coefficient is introduced. ( ), for the schedulable score Time-domain smoothing filtering is performed to obtain the smoothed comprehensive score. :
[0134] ,
[0135] in, The smoothed comprehensive score of link k at time t is given. This is a smoothed comprehensive score for link k in the previous scheduling cycle. The stability and reliability of the scoring results are improved by weighted fusion of historical and current scores.
[0136] To address the QoS requirements of different services, a set of service categories C is defined, such as video backhaul service, control command service, and telemetry data service. For each service category... Configure differentiated weight vectors For example, control command services are configured with high β weights to prioritize low latency, while video backhaul services are configured with high α weights to prioritize high throughput.
[0137] Calculate each IPv6 address according to the corresponding weight vector. Category rating for business category c: After further processing using the time smoothing formula described above, the smoothed category scores are obtained:
[0138] ,in, This represents the smoothed category score of link k in the previous scheduling cycle.
[0139] For a given business session SID, determine its corresponding business category. From the currently available address set Extract the address-rating mapping relationship of the session to form a session-level address-rating set. ;
[0140] Address rating set Sort the IPv6 addresses in the sequence to obtain the session address priority sequence. ,in This indicates that the scores are sorted in descending order.
[0141] Dynamically set session-level access thresholds based on business category. ,right any IPv6 address in When satisfied When this happens, it is added to the schedulable address set of the session to obtain the final schedulable address set: .
[0142] If set If the IPv6 address is only one, then single-path transmission will be performed; if it contains multiple addresses, then multi-path proportional parallel transmission will be performed.
[0143] The link comprehensive scoring and address scoring mapping module 30 outputs standardized decision data, including a session-level address score set. Session address priority sequence and the set of schedulable addresses This provides core input for the subsequent proportional multipath scheduling and parallel transmission module 40 and address-level dynamic switching module 50, ensuring the accuracy of scheduling decisions and business adaptability.
[0144] Furthermore, the proportionalized multipath scheduling and parallel transmission module 40 determines the data transmission ratio corresponding to each IPv6 address based on the scoring results of each IPv6 address, and binds the data fragments to be transmitted to different IPv6 source addresses and corresponding physical communication links according to the data transmission ratio, performing multipath parallel transmission, including:
[0145] Based on the session SID schedulable address set generated by the link comprehensive scoring and address scoring mapping module 30 and each IPv6 address within the set Corresponding smooth category score (in (For the service category corresponding to the session SID); and simultaneously obtain the total amount of data to be sent by the session SID within the current scheduling period. Based on the address configuration and the link-interface-address binding relationship established by the session initialization module 10, each IPv6 address is associated. corresponding network interface Physical communication link k and next-hop node This forms a complete mapping relationship for scheduling resources.
[0146] To avoid negative scores interfering with proportional allocation, each schedulable address... The smoothed category scores undergo a nonnegative transformation to generate nonnegative scheduling weights: ;when At that time, place This ensures that only addresses with forward transmission capabilities participate in the scheduling ratio calculation.
[0147] Scheduling weights for all schedulable addresses Perform normalization to obtain the data transmission ratio for each IPv6 address: The sending ratio satisfies the normalization constraint. This allows for the rational allocation of transmission traffic across different addresses, with addresses receiving higher scores receiving a higher transmission ratio.
[0148] Combined with the total amount of data to be sent in the session Data transmission ratio with each IPv6 address Quantitative calculation of each IPv6 address The amount of data to be allocated during the current scheduling period: This clarifies the data transmission threshold for each address, providing a quantitative basis for fragment allocation.
[0149] Data allocation based on each IPv6 address The parallel transmission operation of the data fragment set to be sent across multiple IPv6 addresses and multiple physical communication links, according to the preset transmission process, includes:
[0150] For the i-th fragment to be sent Real-time monitoring of the remaining allocable data volume for each schedulable address, from the set of schedulable addresses. Match target IPv6 address Establish sharding mapping records ,in This is the global sequence number of the fragment. For the output interface bound to this address, ensure a unique mapping between fragments, addresses, and interfaces; during the binding process, strictly adhere to the principle of prioritizing remaining allocation capacity to ensure that the data transmission volume of each address does not exceed its allocation threshold. .
[0151] Perform multi-path parallel transmission of data fragments according to the following standardized process:
[0152] Read the fragment queue to be sent from the session SID and organize the data to be sent in order of fragment number;
[0153] Retrieve the set of schedulable addresses for the current period and the sending ratio of each address This serves as the core basis for fragmentation allocation; the data allocation volume for each IPv6 address is verified. Ensure the total allocation is consistent with Consistency is maintained to avoid data overflow or insufficient allocation;
[0154] Records mapped by fragment The fragments are assigned one by one to the corresponding IPv6 addresses, and all mapping relationships are stored synchronously for subsequent retransmission and tracing; the fragments are... The network layer source address field is set to the bound IPv6 address. And lock the output transmission interface to This ensures that the fragments are transmitted along the specified physical link; it triggers the send command on each network interface to send the bound fragments in parallel to the next-hop node through the corresponding physical communication link. .
[0155] To reduce the risk of fragment out-of-order delivery caused by frequent address switching, address binding stability rules are set within the scheduling cycle: within the same scheduling cycle, fragments that have completed address binding will keep their source address and output interface fixed until the transmission is completed; only after the next round of link scoring and transmission ratio updates is completed in the next scheduling cycle will the address allocation results of subsequent fragments to be sent be dynamically adjusted to ensure the orderliness of data transmission.
[0156] Furthermore, the parallel transmission operation of the data fragment set to be sent across multiple IPv6 addresses and multiple physical communication links, according to the preset transmission process (adaptive transmission strategy), also includes:
[0157] Within the same scheduling cycle, fragments that have completed address binding keep their source address and output interface fixed until transmission is complete; only after a new round of link scoring and transmission ratio updates are completed in the next scheduling cycle will the address allocation results of subsequent fragments to be transmitted be dynamically adjusted.
[0158] Based on the set of schedulable addresses The number of addresses determines the transmission method. If the set contains only one IPv6 address, all data fragments are sent via that address using a single path to ensure the stability of the transmission link. If the set contains multiple IPv6 addresses, the transmission is performed according to the data transmission ratio. Perform multi-path parallel transmission to map address-level scoring results to parallel transmission actions, maximizing link resource utilization.
[0159] Furthermore, in this embodiment, the address-level dynamic switching module 50 continuously monitors the transmission status parameters of the links corresponding to each IPv6 address, performs downgrading or removal processing on degraded addresses, reallocates the transmission ratio of the remaining valid IPv6 addresses, migrates the traffic carried by degraded addresses to valid IPv6 addresses, retransmits unacknowledged fragments, and re-includes them into the schedulable address set after address recovery, including:
[0160] Within a preset scheduling period, extract the packet loss rate of each link k. Round-trip delay Effective throughput Each indicator is compared with its corresponding preset threshold. When the packet loss rate is met... Exceeding the preset packet loss rate threshold Round-trip delay Exceeding the preset round-trip delay threshold Effective throughput Below the preset effective throughput threshold IPv6 address comprehensive availability flag If any of the conditions are met, the link is determined to be degraded; by using a multi-dimensional threshold joint determination, the accuracy of degraded address identification is ensured.
[0161] For IPv6 addresses that are deemed degraded Set downgrade flag The address degradation status is clearly identified; it is removed from the schedulable address set of the current session SID, and new data fragment allocation operations for that address are suspended, with its data transmission ratio set to zero. Stop its data transmission allocation; from the set of schedulable addresses of the current session SID. After removing degraded addresses, the set of valid addresses after the switch is updated. .
[0162] Based on the set of valid addresses after the switch Extract the original scheduling weights of the remaining valid IPv6 addresses. Re-perform the normalization calculation to obtain the new data transmission ratio after the switch. :
[0163] , This ensures that the total sending ratio of the remaining valid addresses is 1, thereby achieving a reasonable redistribution of traffic.
[0164] For data fragments that have entered the transmission queue but have not yet been transmitted, remove their binding relationship with the degraded address and transmit them based on the new transmission ratio. Remapped to the new set of valid addresses The IPv6 address in the system enables a smooth traffic migration;
[0165] For messages sent via a degraded address but no confirmation of receipt received ( The fragments marked as fragments to be recovered are used to form a set of fragments to be recovered. ,in The original IPv6 address was bound to the fragment. This indicates that no confirmation message has been received; data fragments to be restored will be sent according to the proportion of new data. Select a new valid address, update only its source address and output interface fields, and retain the session identifier (SID) and fragment sequence number. This ensures that the receiving end can reassemble the data based on the original identifier, thus preventing data loss.
[0166] Continuous status monitoring is performed on degraded addresses, using an observation and judgment mechanism for M consecutive scheduling cycles (M is a preset positive integer); if the transmission status parameters of the address meet the preset threshold conditions for M consecutive scheduling cycles ( , , And comprehensive availability indicators This involves marking it as a recovery address, removing its downgrade flag, and reintegrating it into the schedulable address set of the current session SID, so that it can participate in the weight calculation and transmission ratio allocation of subsequent scheduling cycles.
[0167] Throughout the entire dynamic degradation, handover, and recovery process, the service session identifier (SID) remains unchanged. The receiving end's session buffer, fragment sequence number management, and reassembly logic are not rebuilt. Only the IPv6 source address and output path of subsequent fragments are dynamically updated, achieving seamless traffic migration and avoiding service interruptions caused by link re-establishment and session reconstruction in traditional link handovers. This is based on the set of valid addresses after the handover. Adaptive transmission is performed based on the number of addresses: if the set contains only one IPv6 address, subsequent fragments are sent via a single path through that address; if it contains multiple addresses, they are sent according to the new transmission ratio. Perform multi-path parallel transmission.
[0168] The module outputs standardized handover data, including the set of valid addresses after the handover. New Sending Ratio Set And the set of fragments to be recovered This provides precise data support for subsequent data transmission scheduling and receiving end fragmentation and reassembly, ensuring the controllability and continuity of the entire transmission chain.
[0169] Further, in this embodiment, the receiving end data reassembly module 60 is configured to: receive, verify the validity and deduplicate fragments from different IPv6 addresses according to the session identifier and fragment sequence number; rearrange the fragments according to the sequence number to complete the splicing and delivery of consecutive fragments; perform recovery processing on missing fragments; and realize data delivery to upper-layer services, including:
[0170] On the ground control station side, a reassembly buffer is maintained for each service session identifier (SID). It is used to temporarily store fragments of data from the same session from different IPv6 source addresses, among which Data sharding The cache uses the session identifier as its core index, masking the differences in IPv6 source addresses and ensuring that all fragments of the same session can be managed uniformly.
[0171] Perform unified reception on all data fragments from different IPv6 source addresses, and for each arriving fragment... Generate standardized reception records The receiving end processes each arriving fragment. Perform triple standardization checks: ① Session identifier validity check (verification) ① Whether it is a valid session identifier registered by the receiving end); ② Fragment sequence number validity verification (verification) ① Check if it is within the reasonable sequence number range of the current session to avoid interference from illegal sequence number fragments; ② Verify the consistency of the verification fields (verify the verification fields in the fragment metadata). Consistency with the fragmented payload ensures that data has not been tampered with. Only fragments that pass all verifications can be written to the reassembly buffer of the corresponding session. Illegal fragments are discarded directly.
[0172] Based on Session Identifier (SID) and Fragment Sequence Number Perform deduplication checks; if the cache is reassembled... It already exists in China and Fragments (Right now , If a fragment arrives later, it will be marked as a duplicate fragment and will not be written to the cache. Deduplication only retains fragment records that arrived earlier or have a higher verification priority, thus avoiding duplicate data occupying cache resources.
[0173] For the deduplication cache area All fragments within, in order of fragment number The data is sorted according to an ascending order to form an ordered sequence of fragments for the current session. The maximum fragment number that has been continuously received in the current session is determined. When the cache contains numbers from the start number to... Continuous fragmented sequences (i.e.) When performing continuous data delivery, the sequence number should not exceed [a certain value]. All consecutive fragments are concatenated sequentially according to their serial numbers, restored to the original business data block, and transparently delivered to the upper-layer application; at the same time, fragments that have been delivered are removed from the cache to release cache resources.
[0174] If there are gaps in the fragment numbers after ordered rearrangement, the fragments corresponding to the numbers within the gaps are identified as missing fragments, and a set of missing fragments is generated: ,in This indicates the maximum fragment sequence number received in the current buffer. The receiving end performs recovery processing according to a preset strategy, as follows:
[0175] Executing a retransmission request recovery includes: sending back the set of missing fragment sequence numbers to the sender. This request resends the corresponding fragment, suitable for business scenarios with high data integrity requirements;
[0176] Perform forward error correction recovery, including: when the session service enables the forward error correction mechanism and configures redundant fragments, use the received valid fragments and redundant fragments to recover the missing fragment content through the error correction algorithm. This is suitable for business scenarios with high real-time requirements.
[0177] To prevent the cache from growing indefinitely due to waiting for missing fragments, a session-level reassembly wait threshold is set. If the waiting time for a missing fragment exceeds If the problem persists, differentiated processing will be implemented based on the business category: For control command business, discard the batch of data that has not been reassembled, clear the corresponding cache partition, and wait for subsequent new commands; for video backhaul business, skip the missing segment and continue to deliver subsequent independently decodeable data to avoid affecting the overall video smoothness; for telemetry data business, record the missing flag and continue to deliver subsequent complete data to ensure that the business process is not interrupted.
[0178] After completing missing data recovery or continuous fragment splicing, the successfully recovered or continuously received data blocks are restored into a continuous data stream recognizable by the upper-layer services using a reassembly function. , is represented as:
[0179] ,
[0180] in, This indicates a reassembly operation that stitches and restores consecutive payloads according to their fragment sequence numbers. Upper-layer services only receive the unified reassembly result. It is unaware of the specific IPv6 address from which the data fragments originate, nor is it aware of whether the underlying layer undergoes multi-path parallel transmission or address-level rapid switching, thus achieving transparent delivery.
[0181] The module outputs standardized result data, including the reassembled business data streams for each session. Current status of reorganized cache (Including undelivered valid fragments), missing fragment set This provides data support for upper-level business processing and secondary recovery of missing shards in the next scheduling cycle, ensuring the continuity and controllability of the reorganization process.
[0182] Through the collaborative work of the entire process described above, the system ultimately achieves high throughput, high stability, and uninterrupted communication between the high-altitude cleaning drone and the ground control station. Upper-layer applications only perceive the increased throughput of the communication link, reduced latency, and fewer interruptions, while remaining completely transparent to the underlying multi-path parallel transmission mechanism.
[0183] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0184] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, are configured to: implement the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0185] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0186] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus to be configured to: implement in the process Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0187] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.
Claims
1. A UAV communication system based on IPv6 multi-homing and multi-path transmission, characterized in that, The system is deployed on a high-altitude cleaning drone and a ground control station, and includes: an address configuration and session initialization module, a link status awareness module, a link comprehensive scoring and address scoring mapping module, a proportional multipath scheduling and parallel transmission module, an address-level dynamic switching module, and a receiver data reassembly module. The address configuration and session initialization module is configured to: configure independent IPv6 addresses for each physical communication link of the UAV, establish a one-to-one binding relationship between physical communication links, network interfaces, network prefixes and IPv6 addresses, and construct a multi-homed address set for the UAV; at the same time, assign a unique session identifier to the service session established by the upper-layer service flow, and perform fragmentation processing on the data to be transmitted in the service session to generate a set of data fragments to be transmitted with identifiers. The link status awareness module is configured to: collect transmission status parameters of each physical communication link according to a preset scheduling cycle, associate the transmission status parameters with the corresponding IPv6 addresses to form an address association status table, and update the set of valid IPv6 addresses in the current cycle. The link comprehensive scoring and address scoring mapping module is configured to: perform comprehensive scoring calculation on the set of valid IPv6 addresses, configure differentiated scoring weights for different service categories, and perform time-domain smoothing filtering on the scoring results to obtain a session-level address priority sequence and a schedulable address set. The proportional multipath scheduling and parallel transmission module is configured to: determine the data transmission ratio corresponding to each IPv6 address based on the scoring results of each IPv6 address, bind the data fragments to be transmitted to different IPv6 source addresses and corresponding physical communication links according to the data transmission ratio, and perform multipath parallel transmission. The address-level dynamic switching module is configured to: continuously monitor the transmission status parameters of the links corresponding to each IPv6 address, perform downgrading or removal processing on degraded addresses, reallocate the transmission ratio of the remaining valid IPv6 addresses, migrate the traffic carried by degraded addresses to valid IPv6 addresses, resend unacknowledged fragments, and re-include them in the schedulable address set after the address is restored. The receiving end data reassembly module is configured to: receive, verify the validity and deduplicate fragments from different IPv6 addresses according to the session identifier and fragment sequence number; reorder the fragments according to the sequence number to complete the splicing and delivery of consecutive fragments; perform recovery processing on missing fragments; and realize the data delivery to upper-layer services.
2. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 1, characterized in that: The address configuration and session initialization module configures independent IPv6 addresses for each physical communication link of the UAV, establishes a one-to-one binding relationship between physical communication links, network interfaces, network prefixes, and IPv6 addresses, and constructs a multi-homed address set for the UAV. Simultaneously, it assigns a unique session identifier to the service sessions established for upper-layer service flows and performs fragmentation processing on the data to be transmitted in the service sessions, generating a set of identified data fragments to be transmitted, including: Define the set of heterogeneous communication links currently available to UAVs as follows: Where K is the total number of available links, k is the link index; and for each link... Configure the corresponding network interface This forms a set of interfaces: ; Network interfaces Obtain the corresponding network prefix via stateless address autoconfiguration or DHCPv6. This forms a set of network prefixes: ; interface Based on its own interface identifier With corresponding network prefix Obtain the IPv6 address corresponding to each link. : ,in, This indicates a concatenation operation; based on the IPv6 addresses corresponding to each link. The set of IPv6 multi-homed addresses that constitute the drone: ; Establish a one-to-one binding relationship between physical communication links, network interfaces, network prefixes, and IPv6 addresses, and construct a link binding record for each link k. ,in This is the default router or next-hop identifier for link k. This is a binary flag indicating the link's availability status. This indicates that the link is available. This indicates that the link is unavailable; it integrates all link binding records to generate a link-interface-prefix-IPv6 address binding table. Based on the binary flag of the link availability status Extract the moment when the drone enters operational status The set of available IPv6 addresses: ; For establishing a business session for the upper-layer business flow, let the session establishment time be... Unmanned aerial vehicle (UAV) equipment identification is Business flow identifier is Generate function through session identifier Assign a unique session identifier to each service session: ; From the available IPv6 address set Register the set of source addresses that can be used by this session. And satisfy ; The data to be transmitted in the business session is fragmented according to the preset fragment length, and metadata is appended to the i-th data fragment. ,in This is the fragment number. This is the fragment length. For timestamps, For business category identification, For verification information; Based on the metadata Build data shards ,in, The payload of this fragment is formed by all data fragments with metadata, which together form a set of identifiable data fragments to be transmitted.
3. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 1, characterized in that: The link state awareness module is configured to: collect transmission state parameters of each physical communication link according to a preset scheduling period, associate the transmission state parameters with the corresponding IPv6 addresses to generate an address association state table, and update the set of valid IPv6 addresses in the current period, including: In each preset scheduling cycle Within, for each physical communication link k, a link binding record is created. Perform status collection and match link transmission status with corresponding IPv6 addresses. Association modeling is used to construct a transmission state vector for each physical communication link k at time t: ,in, For the effective throughput of the link, For round-trip time delay, For packet loss rate, For time delay jitter, This is a flag indicating the validity of an IPv6 address. As a marker of the reachability of the next-hop neighbor, A comprehensive availability flag for IPv6 addresses; Based on the transmission state vector Build an address state record for each link k: It also integrates the address status records of all links to generate an address association status table at time t. ; For the established service session SID, from the set of available IPv6 addresses Extract the set of currently available addresses for this session: , The set of available source addresses registered during session initialization.
4. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 3, characterized in that: In the link state awareness module, during the scheduling period Within, the effective throughput of the link The calculation method is as follows: , in, For the preset scheduling period, For the current scheduling period via IPv6 address The number of valid bytes successfully sent and acknowledged by the receiving end; round-trip delay By periodically sending probe messages to link k or parsing the timestamps of service acknowledgment messages, n round-trip delay samples are obtained within the current scheduling period. The median of the sample is taken as the quantized value, and the formula is: ,in, This indicates the median operation; The packet loss rate The calculation method is as follows: ,in, This represents the number of fragments confirmed and fed back by the receiver within the current scheduling period; For the current scheduling period via IPv6 address The total number of data fragments sent, if If so, the packet loss rate estimate of the previous cycle of the link will be used or the link will be marked as pending update. The delay jitter The calculation method is as follows: ,in, For the i-th round-trip delay sample value, is the average of the round-trip delay samples within the current scheduling period, and n is the number of samples.
5. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 3, characterized in that: IPv6 address validity flag It is a binary flag, and the verification dimension includes the IPv6 address. Whether it passes duplicate address detection, whether the address validity period has expired, and the corresponding network prefix. Whether it is in a valid state, all three checks must pass. ,otherwise ; The next-hop neighbor reachability flag In a binary state, perform IPv6 neighbor reachability detection on the default router or next-hop node corresponding to link k. If the node is reachable... ,otherwise ; Based on link physical availability status flags The IPv6 address validity flag and the next-hop neighbor reachability flag This yields the binary form of the IPv6 address comprehensive availability flag. : .
6. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 1, characterized in that: The link comprehensive scoring and address scoring mapping module performs a comprehensive scoring calculation on the set of valid IPv6 addresses, configures differentiated scoring weights for different service categories, and performs time-domain smoothing filtering on the scoring results to obtain a session-level address priority sequence and a schedulable address set, including: Address association state table based on time t Extract each of its available IPv6 addresses Corresponding link effective throughput Round-trip delay Packet loss rate latency jitter IPv6 address validity flag Next-hop neighbor reachability flag and IPv6 address comprehensive availability flag ; Within the current scheduling period, count all comprehensive availability indicators. The upper and lower bounds of various transmission metrics corresponding to the IPv6 address are the maximum and minimum effective throughput values. , Optimal round-trip delay , Minimum packet loss rate , Maximum latency jitter , ; Introducing a positive stable term Normalization calculations are performed on each transmission metric to obtain normalized values; scoring weights are assigned to each transmission metric, and the scores for each IPv6 address are calculated. The overall score based on time t ; Based on the IPv6 address comprehensive availability flag The schedulable score is obtained as follows: ; For the schedulable score Time-domain smoothing filtering is performed to obtain the smoothed comprehensive score. : , in, The smoothed comprehensive score of link k at time t is given. This is the smoothed comprehensive score of link k in the previous scheduling cycle. For smoothing coefficients, ΔT is the scheduling period; Define a set of business categories C, and configure differentiated weight vectors for different business categories c. Calculate the category score for each IPv6 address for service category c according to the corresponding weight vector: After time smoothing, the smoothed category scores are obtained: , in, This represents the smoothed category score of link k in the previous scheduling cycle; For a given business session SID, determine its corresponding business category. From the currently available address set Extract the address rating set corresponding to this session: ; Address rating set Sort the IPv6 addresses in the sequence to obtain the session address priority sequence. ,in This indicates that the scores are sorted in descending order. Set session-level admission threshold ,right any IPv6 address in When satisfied When this happens, it is added to the schedulable address set of the session to obtain the final schedulable address set: .
7. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 1, characterized in that: The proportionalized multipath scheduling and parallel transmission module determines the data transmission ratio corresponding to each IPv6 address based on the scoring results of each IPv6 address, and binds the data fragments to be transmitted to different IPv6 source addresses and corresponding physical communication links according to the data transmission ratio, and performs multipath parallel transmission, including: Based on the set of schedulable addresses and various IPv6 addresses Corresponding smooth category score Simultaneously, obtain the total amount of data to be sent by the session SID within the current scheduling period. and associate each IPv6 address Corresponding network connection Physical link k and next-hop node ; Based on the smooth category score For each IPv6 address in the schedulable address set Calculate the scheduling weights: and the scheduling weights Perform normalization to obtain the data transmission ratio of each IPv6 address within the current scheduling period: And satisfy ; Based on the data transmission ratio of each IPv6 address Calculate each IPv6 address The amount of data to be allocated in the current period: ; Data allocation based on each IPv6 address The parallel transmission operation of the data fragment set to be sent across multiple IPv6 addresses and multiple physical communication links, according to the preset transmission process, includes: For the i-th fragment to be sent Based on the remaining allocatable data at each address, select from the set of schedulable addresses. Match target IPv6 address Establish sharding mapping records ,in This is the fragment number. For the output interface bound to this address; Fragments to be sent after address and interface binding are completed Configure its network layer source address field to the bound IPv6 address. And lock the output transmission interface of the fragment to Ensure that fragments are transmitted to the next-hop node along the specified physical link. .
8. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 7, characterized in that, The parallel transmission operation of the data fragment set to be sent across multiple IPv6 addresses and multiple physical communication links, according to the preset transmission process, also includes: Within the same scheduling cycle, fragments that have completed address binding keep their source address and output interface fixed until transmission is complete; only after a new round of link scoring and transmission ratio updates are completed in the next scheduling cycle will the address allocation results of subsequent fragments to be transmitted be dynamically adjusted. Based on the set of schedulable addresses The number of addresses determines the type of data to be transmitted adaptively. If the set contains only one IPv6 address, all data fragments are sent via that address using a single path. If the set contains multiple IPv6 addresses, the transmission is performed according to the proportion of data sent. Perform multi-path parallel transmission to map address-level scoring results to parallel transmission actions.
9. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 1, characterized in that, The address-level dynamic switching module continuously monitors the transmission status parameters of the links corresponding to each IPv6 address, performs degradation or removal processing on degraded addresses, reallocates the transmission ratio of the remaining valid IPv6 addresses, migrates the traffic carried by degraded addresses to valid IPv6 addresses, retransmits unacknowledged fragments, and reintegrates them into the schedulable address set after address recovery, including: Within a preset scheduling period, extract the packet loss rate of each link k. Round-trip delay Effective throughput Each indicator is compared with its corresponding preset threshold. When the packet loss rate is met... Exceeding the preset packet loss rate threshold Round-trip delay Exceeding the preset round-trip delay threshold Effective throughput Below the preset effective throughput threshold IPv6 address comprehensive availability flag If any of the following conditions are met, the link is determined to have degraded; Set a downgrade flag for IPv6 addresses that are deemed degraded. This involves degrading the address from the current session SID's schedulable address set, suspending new data fragment allocation operations for that address, and setting its data transmission ratio to zero. ; After removing degraded addresses, the set of valid addresses after the switch of the session SID is updated: Based on the original scheduling weights of the remaining valid IPv6 addresses in this set. Re-perform the normalization calculation to obtain the new data transmission ratio after the switch: ; For data fragments that have entered the transmission queue but have not yet been transmitted, remove their binding relationship with the degraded address and remap them to the set of valid addresses after the handover. IPv6 address in; Fragments that have been sent via degraded addresses but have not received a receipt acknowledgment are marked as fragments to be recovered, forming a set of fragments to be recovered: ,in The original IPv6 address was bound to the fragment. This indicates that no confirmation message has been received; data fragments to be restored will be sent according to the proportion of new data. Select a new valid address, update only its source address and output interface fields, and retain the session identifier (SID) and fragment sequence number. Resend if unchanged; Continuous status monitoring is performed on the degraded address. If its transmission status parameters meet the preset threshold conditions within M consecutive scheduling cycles, and This means marking it as a recovery address and reintegrating it into the set of schedulable addresses for the current session SID.
10. The UAV communication system based on IPv6 multi-homing and multi-path transmission according to claim 1, characterized in that: The receiving end data reassembly module is configured to: receive, verify the validity of, and deduplicate fragments from different IPv6 addresses based on session identifiers and fragment sequence numbers; reorder the fragments according to their sequence numbers to complete the splicing and delivery of consecutive fragments; and perform recovery processing on missing fragments to achieve data delivery to upper-layer services, including: On the ground control station side, a reassembly buffer is maintained for each service session identifier (SID). For data fragments with metadata transmitted from different physical communication links via multiple IPv6 source addresses, deduplication is performed based on the session identifier and fragment sequence number in the data fragment. If the combination of the session identifier and fragment sequence number of the fragment is not in the reassembly buffer, it is added to the reassembly buffer. All data fragments under the same session identifier in the reorganization cache are sorted and organized in ascending order of fragment number; then, it is checked whether the sorted fragments meet the consecutive number requirement. When all fragments in a certain number interval exist completely in the reorganization cache, the payload of the consecutive number fragments is spliced back to the original data and transparently delivered to the upper layer business system. At the same time, the fragments that have been delivered are removed from the reorganization cache. If a missing fragment is detected, a retransmission request is triggered or forward error correction is used to restore the data. If the recovery waiting time for the missing fragment exceeds the session-level preset reassembly waiting threshold, differentiated processing is performed according to the service type, ultimately achieving data delivery to the upper-layer service.