A multi-path transmission method based on CFDP protocol
By adopting multi-path parallel transmission and path backup methods in the spatial file transfer of CFDP protocol, the problem of limited single-path bandwidth and link interruption affecting file transfer performance is solved, and more efficient file transfer is achieved.
Patent Information
- Application Number
- CN202411424857.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-10-12
AI Technical Summary
During spatial file transfer, file transfer performance deteriorates due to limited single-path bandwidth and link interruption.
Using the multi-path parallel transmission and path backup method based on the CFDP protocol, the parallel transmission of multiple paths and path switching after link interruption is realized by retaining the lower-level interface of multiple physical paths in the CFDP transmission transaction.
It improves the total throughput of file transfer, reduces the impact of link interruption on transmission efficiency, avoids the need to retransmit all data, and shortens the file retransmission time.
Smart Images

Figure CN118945156B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of space file transmission, and more specifically, to a multi-path parallel transmission and path backup method based on CFDP protocol. Background Art
[0002] Space communications face problems such as atmospheric interference, cosmic radiation, and antenna pointing. Compared with ground communication networks, there are significant differences, mainly in terms of long communication distances, large transmission losses, large transmission delays, and easy link interruptions. CCSDS (Consultative Committee for Space Data Systems) has developed a protocol system for space data communications based on the characteristics of high latency and high bit error rates in the space network environment. Among them, the CFDP protocol (CCSDS File Delivery Protocol) provides a method for copying files from one user unit to another, which is divided into reliable transmission mode and unreliable transmission mode.
[0003] The file transfer process of the reliable transmission mode of the CFDP protocol is: after the CFDP entity receives the transmission start request primitive (Put.request), it reads the lower-layer protocol interface and other information from the Management Information Base (MIB) and encapsulates the file and instructions into a protocol data unit (PDU). The sending entity first sends an MPDU (Metadata PDU) to the lower layer interface, and then processes the file into FDUs (File PDUs) that carry specific file data and offsets. After sending all FDUs, EOF (End of File PDU) is transmitted. The receiver detects the received FDU and determines the position of the data segment in the entire file based on the offset carried by the FDU. After receiving EOF, it determines whether the file is received completely. If the reception is incomplete, the start and end positions of the lost data segment are encapsulated into NAK (Negative Acknowledgment PDU), and NAK is sent to request the retransmission of the lost file data until the file is received completely. The receiving end sends FIN (Finished PDU). After receiving FIN, the sender replies with ACK (Acknowledgment PDU), and the file transfer process is completed. Non-file data PDUs that appear during the transmission process are collectively referred to as command PDUs.
[0004] In the above transmission process, there is usually only one lower-layer protocol interface read from the MIB, that is, only one path is used for transmission. When the CPU throughput of the node exceeds the current link bandwidth, the link bandwidth becomes a bottleneck affecting the transmission performance. Even if there is an idle link, it cannot be used, and the transmission efficiency is low. Moreover, in the space network, the link is prone to interruption. Once interrupted, it is necessary to wait for the link to be restored. If the interruption time is too long, the CFDP protocol will cancel the current transmission transaction and discard all received data. When the file is retransmitted, all file data must be retransmitted, which further affects the file transmission efficiency. Summary of the invention
[0005] In order to solve the problem that the single-path bandwidth is limited and the link interruption affects the file transmission performance, the present invention proposes a multi-path transmission method based on the CFDP protocol. In a CFDP transmission transaction, the lower layer interfaces of multiple physical paths are reserved to realize the parallel transmission of multiple paths and the timely switching of paths after the link interruption.
[0006] After receiving the file transfer start request from the sending user, the sending CFDP entity in the present invention reads the basic information of several physical paths between the sender and the receiver from the MIB; the CFDP entity selects the transmission mode according to the time-sensitive parameters in the file transfer start request, the estimated effective bandwidth of each path, the local CPU throughput performance, etc.; the transmission mode includes a multi-path parallel transmission mode, that is, multiple paths transmit files in parallel; and a multi-path backup transmission mode, that is, one path is used as the main path to transmit files, and other paths are used as backup paths, and the backup paths are switched when the main path is disconnected; then, the entity sets the priority and file transfer range for different physical paths. During the transmission process, a CFDP transmission transaction retains the lower layer interfaces of multiple paths at the same time. If the multi-path parallel transmission mode is adopted, the FDU transmission is completed by multiple paths in parallel, and each path is responsible for the transmission and retransmission of data within its own file transmission range to improve the total transmission throughput; if the multi-path backup transmission mode is adopted, the FDU transmission is completed by the path with the highest priority, and other paths are used as backups. The path with the highest priority is responsible for the sending and receiving of all command PDUs. When the receiving CFDP entity detects a path interruption, it informs the sending end of the occurrence of the path interruption through the path with the highest priority among the uninterrupted paths. The sending CFDP entity resets the path priority and file transfer range based on the interruption information to use the uninterrupted path to transmit file data that has not yet been sent, avoiding retransmission of all data and improving link utilization.
[0007] The multi-path transmission method based on the CFDP protocol of the present invention includes three stages:
[0008] In phase one, the transmission start phase, the sending CFDP user sends a file transfer start request primitive to the CFDP entity; in order to select a suitable transmission mode, the present invention makes the following modifications to the primitives of the CFDP protocol: for the file transfer start request primitive of the CFDP protocol, in addition to the parameters specified in the CFDP protocol specification, a Boolean file time-sensitive parameter is added to indicate the time sensitivity of the transmitted file.
[0009] Phase 2: Transmission preparation phase.
[0010] In this phase, the sending CFDP entity selects the multi-path transmission mode and sets the priority of each path and the file transmission range. The sending CFDP entity in the transmission preparation phase will complete the following steps in sequence:
[0011] (1) Select the multi-path transmission mode. When the file time sensitivity parameter in the file transfer start request primitive is timesensitive = false, the multi-path backup transmission mode is selected; when time sensitive = true, if the maximum estimated effective bandwidth of all paths is greater than or equal to the CPU throughput, the multi-path backup transmission mode is selected; otherwise, the multi-path parallel transmission mode is selected.
[0012] (2) Calculate the priority of each path and the transmission data length value to be allocated. Arrange each path in descending order of estimated effective bandwidth. The larger the estimated effective bandwidth of the path, the higher the path priority. If step (1) determines that the multi-path backup transmission mode is adopted, all data are allocated to the path with the highest priority; if step (1) determines that the multi-path parallel transmission mode is adopted, the data transmission length of each path is allocated according to the ratio of the estimated effective bandwidth of each path to the total estimated effective bandwidth of all paths. The higher the estimated effective bandwidth of the path, the larger the transmission data length value allocated to it.
[0013] (3) Calculate the data transfer offset of each path. For a transmission transaction using the multi-path backup transmission mode, the data transfer offset of all paths is 0; for a transmission transaction using the multi-path parallel transmission mode, calculate the data transfer offset of each path in turn according to the data transfer length value of each path; ensure that the total file transfer range of each path covers the entire file.
[0014] After completing all the steps in the transfer preparation phase, the data transfer phase will begin.
[0015] Phase 3: Data transmission phase.
[0016] In this stage, the CFDP at both ends of the sender and receiver complete the file transfer through the interaction of PDUs, and handle the path interruption exceptions that occur during the file transfer process. In this stage, the sender and receiver open multiple threads and retain the lower-layer interfaces of multiple physical paths to achieve path backup; in the multi-path parallel transmission mode, multi-threaded parallel sending and receiving are used to achieve multi-path parallel transmission; after the receiving end detects a path interruption, it informs the sending end through the interruption report PDU, and the sending end implements path switching by resetting the path priority and file transfer range.
[0017] The behaviors of the CFDP entity at the sending end during the file transfer phase include:
[0018] S1. Write the priority of the path and the file transmission range into the path allocation field newly added by the present invention in the MPDU, and send the MPDU using the path with the highest priority.
[0019] S2. If the MPDU confirmation timer times out, retransmit the MPDU.
[0020] S3. After receiving the ACK message of MPDU, stop the MPDU confirmation timer; for each path, set up a thread, read the file according to the file transfer range of the path, generate FDU, and transmit it to the lower layer interface corresponding to this path to realize multi-path parallel transmission and path backup.
[0021] S4. When each thread completes the sending task of this path, it reports to the main thread; when the main thread completes its own file sending task and receives the sending task completion report of all other threads, the main path sends EOF to notify the receiving end that all FDUs have been sent.
[0022] S5. After receiving NAK, each path is responsible for retransmitting the FDU within its own file transmission range according to the current file transmission range; the path with the highest current priority is responsible for retransmitting the FDU within the file transmission range of the interrupted path.
[0023] S6. After receiving FIN, send ACK for FIN, stop all thread-related operations, and report the completion of transmission to the CFDP upper-layer user.
[0024] S7. After receiving the interruption report PDU, the path interruption is processed to implement path switching after the link interruption. The steps of path interruption processing include:
[0025] Step S7-1: Read the path number in the interruption report PDU and mark the path as interrupted.
[0026] Step S7-2: Update the priority of each path.
[0027] Step S7-3: Read the transmission progress value in the interruption report PDU, update the file transfer range of each path according to the value, and assign the unfinished file transfer tasks of the interruption path to other paths to ensure that the total file transfer range of each path covers the entire file.
[0028] Step S7-4: the updated path priority and file transfer range are sequentially written into the newly added path update PDU of the present invention, and sent to the receiving end via the path with the highest priority.
[0029] The serial numbers of the above behaviors S1~S7 do not mean the order of execution. The execution order of each behavior should be determined by its function and internal logic.
[0030] The behaviors of the receiving CFDP entity include:
[0031] R1. After receiving MPDU, reply ACK, read the path allocation field in MPDU, save the priority and file transfer range of each path. Set up an FDU receiving thread for each path, initialize the receiving progress variable, cache queue, and receiving timer of each path, and realize multi-path parallel transmission.
[0032] R2. After each path receives the FDU, it puts the received data into the corresponding receive buffer and updates the receive progress variable; if the updated receive progress variable is equal to the sum of the transmission data offset and the transmission data length value of the last file transfer range of the path, the path receive timer is stopped; otherwise, the timer is reset.
[0033] R3. After receiving the EOF message, determine whether the reception is complete. If incomplete, check the specific missing data segment, encapsulate it into a NAK data packet, and send it to the sender using the highest priority path to request data retransmission.
[0034] R4. When it is detected that all the path file transfer ranges are received completely, the complete file is combined and a FIN is sent to the sending CFDP entity.
[0035] R5. When the path receiving timer times out, it is determined that the link is interrupted, the timer timeout path is marked as a path interrupted, the path number and the current receiving progress of the path are encapsulated into the interruption report PDU newly added by the present invention; the interruption report PDU is sent through the path with the highest priority in the non-interrupted path, and the interruption report PDU timer is started.
[0036] R6. After the interrupt report PDU timer times out, reset the timer and retransmit the interrupt report PDU.
[0037] R7. After receiving the path update PDU, stop the interrupt report PDU timer, update the priority and file transfer range of each path according to the path update PDU, and reset the receive queue buffer and timer.
[0038] The serial numbers of the above behaviors R1~R7 do not imply the order of execution. The execution order of each behavior should be determined by its function and internal logic.
[0039] In this stage, in order to realize the notification of path priority and file transfer range, the present invention adds the following TLV (Type-Length-Value) data type: path allocation TLV. Each path allocation TLV declares the path number, priority and file transfer range of a path. The path number is read by the CFDP entity in the MIB, and the sending and receiving ends have the same number for the same path; the path priority value is 0~15, and the smaller the number, the higher the priority; the file transfer range includes two fields, the transmission data offset and the transmission data length value, which mark the range of files that each path is responsible for transmitting. The same path may have multiple discontinuous file transfer ranges. The order of defining the file transfer range of the same path shall be based on the order in which the sending end allocates the ranges, or the arrangement order of the ranges in the path allocation TLV received by the receiving end.
[0040] The newly added MPDU path allocation field of the present invention has the following characteristics: it is located in the Options domain, and contains multiple path allocation TLVs, and is used by the CFDP entity at the sending end to inform the other end of the path priority and file transmission range during multi-path transmission.
[0041] The newly added interruption report PDU of the present invention has the following characteristics: the data field includes an interruption path number field and a receiving progress field, and is used for the receiving end CFDP entity to report the occurrence of path interruption to the sending entity.
[0042] The newly added path update PDU of the present invention has the following characteristics: the data field includes a plurality of path allocation TLVs, and is used by the sending end to inform the receiving entity after updating the priority of the path and the file transmission range.
[0043] Compared with the prior art, the present invention has the following beneficial effects:
[0044] To solve the problem that the bandwidth of a single path is limited, which limits the file transmission rate, the present invention uses multiple paths for parallel transmission, and the transmission rate is increased from the estimated effective bandwidth of a single path to the sum of the estimated effective bandwidths of multiple paths. To solve the problem that link interruption affects transmission efficiency, the present invention switches to other paths for transmission in a timely manner after the path is interrupted, avoiding retransmission of received files and shortening the file retransmission time. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 It is the application scenario model of CFDP protocol multi-path transmission;
[0046] Figure 2 It is the system model of multi-path transmission of CFDP protocol;
[0047] Figure 3 A schematic diagram of the interactive flow of the multi-path parallel transmission method provided by the present invention;
[0048] Figure 4 A schematic diagram of an interactive process for implementing breakpoint resume after path interruption provided by the present invention.
[0049] Figure 5 The data format of the MPDU after the path allocation field is added to the MPDU in the present invention;
[0050] Figure 6 The data format of the interruption report PDU newly added by the present invention;
[0051] Figure 7 The data format of the newly added path update PDU of the present invention;
[0052] Figure 8 The simulation results of the multi-path parallel transmission method provided by the present invention;
[0053] Fig. 9 This is the simulation result of the multi-path backup transmission method provided by the present invention. DETAILED DESCRIPTION
[0054] In order to better understand the technical content of the present invention, its specific implementation is described as follows in conjunction with the accompanying drawings.
[0055] See also Figure 1 The application scenario targeted by the present invention is that there are multiple independent physical paths connecting the sending end and the receiving end. The basic information of these paths, including the path number, the estimated effective bandwidth of the path, and the lower layer protocol interface, is stored in the MIB.
[0056] See also Figure 2, which is the system model provided by the present invention. In order to solve the problem that the single-path bandwidth is limited and the link interruption affects the file transfer performance. The present invention proposes a multi-path transmission method based on the CFDP protocol. In a CFDP transmission transaction, the lower-layer interface of multiple physical paths is reserved to realize the parallel transmission of multiple paths and the timely switching of paths after the link is interrupted. The sending end CFDP entity selects the transmission mode according to the file nature, CPU throughput, and path information, and allocates the priority and file transfer range of each path; wherein the transmission mode includes multi-path parallel transmission and multi-path backup transmission; the multi-path parallel transmission mode refers to the parallel transmission of data through multiple physical paths; the multi-path backup transmission mode refers to using the path with the highest priority as the main path for data transmission, and other paths as backups; files are transmitted according to the selected transmission mode and the set path priority and file transfer range; when the used path is disconnected, other paths are used to complete the transmission.
[0057] The multi-path transmission method based on the CFDP protocol of the present invention includes three stages:
[0058] In phase one, the transmission start phase, the sending CFDP user sends a file transfer start request primitive to the CFDP entity; in order to select a suitable transmission mode, the present invention makes the following modifications to the primitives of the CFDP protocol: for the file transfer start request primitive of the CFDP protocol, in addition to the parameters specified in the CFDP protocol specification, a Boolean file time-sensitive parameter is added to indicate the time sensitivity of the transmitted file.
[0059] Phase 2, transmission preparation phase. In this phase, when the receiving CFDP entity receives the file transfer start request primitive from the CFDP user, it sets the priority and file transfer domain of each path according to the parameters of the request primitive and the path information in the MIB. The sending CFDP entity in the transmission preparation phase will complete the following steps in sequence:
[0060] (1) Determine whether the multipath transmission mode is multipath parallel transmission mode or multipath backup transmission mode. When the file time sensitivity parameter time sensitive = false in the file transfer start request primitive, there is no benefit in shortening the file transfer time by using multipath parallel transmission, so the multipath backup transmission mode is selected; if time sensitive = true, parallel transmission is beneficial to shorten the file transfer time, but it is also necessary to determine whether multipath parallel transmission can effectively shorten the file transfer time under the limitation of the sending entity's CPU throughput. At this time, the maximum effective throughput of all paths should be compared with the CPU throughput, and the CPU throughput of the transmission node is calculated as follows:
[0061] ,
[0062] in Indicates the CPU throughput, Indicates the CPU main frequency, Indicates system memory, Indicates the system cache. Indicates the ratio of CPU processing packet transmission.
[0063] If the maximum effective throughput of the path is greater than or equal to the CPU throughput, the CPU throughput performance is the factor that limits the transmission rate, and multi-path parallel transmission cannot shorten the transmission time, so the multi-path backup transmission mode is still selected; otherwise, multi-path parallel transmission can increase the transmission rate and shorten the transmission time, so the multi-path parallel transmission mode is selected.
[0064] (2) Calculate the priority of each path and the transmission data length value that should be allocated.
[0065] In step (1), the paths are sorted in descending order of estimated effective bandwidth, and the path priorities are set to 0, 1, 2, ... ;in is the number of paths. If the multi-path backup transmission mode is adopted, the path with the highest priority is selected as the main transmission path, and the remaining paths are backup paths; the transmission data length value assigned to the main path is equal to the total length of the transmission file. ; The transmission data length value of the backup path is 0.
[0066] If in step (1), it is determined to adopt the multi-path parallel transmission mode, the load balancing factor of each path is calculated according to the following formula:
[0067] ,
[0068] in For the number The load balancing ratio of the path; is the number of paths, For the number The bandwidth of the path.
[0069] The calculation method of the transmission data length value of each path is as follows:
[0070] ,
[0071] in Indicates the number The path transmission data length value.
[0072] (3) Calculate the transmission data offset of each path. For a transmission transaction using the multi-path backup transmission mode, the transmission data offset of all paths is 0; for a transmission transaction using the multi-path parallel transmission mode, the number is calculated according to the following formula: The transmission data offset of the path :
[0073] ,
[0074] This calculation method ensures that the total file transfer domain of each path covers the entire file.
[0075] After completing all the steps in the transmission preparation phase, the third phase, the data transmission phase, will begin. In this phase, the CFDP at both ends of the transmission and reception complete the file transfer through the interaction of PDUs, and handle the path interruption exceptions that occur during the file transfer process. In this phase, the transmission and reception ends open multiple threads and retain the lower-layer interfaces of multiple physical paths to achieve path backup; in the multi-path parallel transmission mode, multi-threaded parallel sending and receiving are used to achieve multi-path parallel transmission; after the receiving end detects a path interruption, it informs the sending end through the interruption report PDU, and the sending end achieves path switching by resetting the path priority and file transfer range.
[0076] refer to Figure 3 , Figure 4 ; It shows the interaction process of the multi-path transmission method based on the CFDP protocol in the data transmission stage of the present invention.
[0077] The behaviors of the CFDP entity at the sending end during the file transfer phase include:
[0078] S1. The sending CFDP entity generates an MPDU and sends the MPDU using the path with the highest priority.
[0079] The priority and file transfer domain of each path calculated in phase 1 are written into the newly added path allocation operation field in the MPDU; the MPDU is sent using the path with the highest priority. At the same time, the MPDU confirmation timer is started.
[0080] S2. If the MPDU confirmation timer times out, retransmit the MPDU.
[0081] S3. If the CFDP entity receives the ACK message of the MPDU sent by the other end, it stops the MPDU confirmation timer; for each path, set up a thread, read the file according to the file transfer domain of the path, generate FDU, and transmit it to the lower layer interface corresponding to this path.
[0082] S4. When each thread completes the sending task of this path, it reports to the main thread; when the main thread completes its own file sending task and receives the sending task completion report of all other threads, the main path sends EOF to notify the receiving end that all FDUs have been sent.
[0083] S5. When the sending entity receives the NAK, each path is responsible for retransmitting the FDU within its own file transfer domain according to the current file transfer domain; the path with the highest current priority completes the retransmission of the FDU within the file transfer domain of the interrupted path.
[0084] S6. When the sending CFDP entity receives the FIN message, it sends an ACK to the FIN, stops all thread-related operations, and reports the completion of the transmission to the CFDP upper-layer user.
[0085] S7. After the sending entity receives the interruption report PDU sent by the other end through any path, it will process the path interruption.
[0086] The steps of path interruption handling include:
[0087] Step S7-1: Read the path number in the interruption report PDU and mark the path as interrupted.
[0088] Step S7-2: Update the priority of each path. The path priority is updated according to the following formula:
[0089] ,
[0090] in For the number The priority of the path before updating, is the updated path priority. The interrupt path number indicated in the interrupt report PDU.
[0091] Step S7-3: Read the transmission progress value in the interruption report PDU , update the file transfer domain of each path according to this value. The file transfer domain is updated as follows:
[0092] For the transmission transaction in multi-path backup transmission mode, all the remaining file transmission tasks when all interruptions occur are transferred to the path with the highest priority after step B. That is, the transmission data length value of the interruption path is modified to ; Change the transmission data offset and transmission data length values of the highest priority path to and ;in Refers to the total length of the file.
[0093] For a transmission transaction that adopts the multi-path parallel transmission mode, first calculate the length of the file transfer domain that was not transmitted by the interruption path when the interruption occurred. Update the load balancing factor of each path without interrupting it using the following formula:
[0094] ,
[0095] Where N represents the number of paths that are not currently interrupted. The unfinished file transfer tasks of the interrupted paths are assigned to other paths according to the updated load balancing factor. The length of the file assigned to each path is After calculating the length of the newly allocated file for each path, add one or more file transfer domains based on each original file transfer domain. The offset of the newly added file transfer domain is calculated in sequence according to the file length allocated to each path. Ensure that the total file transfer domain of each path covers the entire file.
[0096] Step S7-4: write the updated path priority and file transfer field into the newly added path update PDU in sequence, and send it to the receiving end via the path with the highest priority.
[0097] The sequence numbers of the above actions S1~S7 do not imply the order of execution. The execution order of each process should be determined by its function and internal logic.
[0098] The behaviors of the receiving CFDP entity include:
[0099] R1. After receiving the MPDU sent by the other end, reply with an MPDU confirmation message, read the path allocation field in the MPDU, save the priority and file transfer domain of each path. Set up an FDU receiving thread for each path and initialize the receiving progress variable of each path. is 0, a corresponding receiving queue cache is created according to the file transfer domain of each path; for paths whose read transmission data length value is not 0, the path receiving timer is started respectively.
[0100] R2. After each path receives the FDU, it puts the received data into the corresponding receive buffer and updates the receive progress variable The maximum offset of the received data; if the updated If the value is equal to the sum of the transmission data offset and the transmission data length of the last file transmission domain of the path, the path receiving timer is stopped; otherwise, the timer is reset.
[0101] R3. After receiving the EOF message sent by the other end, the CFDP entity at the receiving end determines whether the reception is complete. If incomplete, it detects the specific missing data segment, encapsulates the start and end offsets of the missing part into a NAK data packet, and sends it to the sending end using the highest priority path for data retransmission.
[0102] R4. When it is detected that all path file transfer domains are received completely, the complete file is combined and a FIN PDU is sent to the sending CFDP entity.
[0103] R5. When the path receiving timer times out, it is determined that the link is interrupted, and the timer timeout path is marked as a path interrupted, and the path number and the current path number are Encapsulate the newly added interruption report PDU; send the interruption report PDU through the path with the highest priority in the non-interruption path, and start the interruption report PDU timer.
[0104] R6. After the interrupt report PDU timer times out, reset the timer and retransmit the interrupt report PDU.
[0105] R7. After receiving the path update PDU, stop the interrupt report PDU timer, update the priority and file transfer domain of each path according to the path update PDU, and reset the receive queue buffer and timer.
[0106] The serial numbers of the above behaviors R1~R7 do not imply the order of execution. The execution order of each process should be determined by its function and internal logic.
[0107] In order to complete the notification of path allocation information in this stage, the present invention adds the following TLV (Type-Length-Value) data type type: path allocation TLV. Each path allocation TLV declares the path number, priority and file transfer domain of a path. The path number is read by the CFDP entity in the MIB, and the sending and receiving ends have the same number for the same path. The path priority value is 0~15, and the smaller the number, the higher the priority; the file transfer domain includes two fields, the transmission data offset and the transmission data length value, which mark the range of files that each path is responsible for transmitting. The same path may have multiple discontinuous file transfer domains. The order of file transfer domains for the same path shall be based on the order of the domains allocated by the sender, or the order of the domains in the path allocation TLV received by the receiver. If the description involves the order of file transfer domains, such as "write the file transfer domains into the path update PDU in sequence" and "the last file transfer domain", the file transfer domains are sorted in this way.
[0108] Table 1 below shows the value format of the path allocation TLV:
[0109] Table 1 Path Allocation TLV value field format
[0110] parameter length value Notes Path number 4 The number of the path Path priority 4 0~15 The smaller the number, the higher the priority Path file transfer domain (×N) 2×FSS×N See Table 2 Since other paths may be assigned multiple discontinuous file transfer domains after a path is interrupted, this parameter may have multiple
[0111] The information of each path file transfer domain is as follows in Table 2:
[0112] Table 2 Format of data transmission field
[0113] parameter length value Notes Transfer data offset FSS The transfer data offset of this file transfer domain Bytes Transmission data length value FSS The length of the data transferred in this file transfer domain Bytes
[0114] Figure 5 The format of the MPDU after adding the path allocation field in the present invention. The newly added path allocation field is in the Options field in the MPDU, and is used by the CFDP entity at the sending end to inform the other end of the path priority and file transmission field during multi-path transmission.
[0115] Figure 6 This is the format of the newly added interruption report PDU of the present invention. The interruption report PDU includes the interruption path number and the receiving progress field, which is used by the receiving end CFDP entity to report the occurrence of the path interruption to the sending entity.
[0116] Figure 7 This is the format of the newly added path update PDU of the present invention. The path update PDU includes multiple path allocation TLVs, which are used by the sender to notify the receiving entity after updating the priority and file transfer domain of the path.
[0117] Figure 8 The simulation verifies the performance of the multi-path parallel transmission method based on the CFDP protocol of the present invention. The experimental environment is based on the Linux Ubuntu operating system. Two Dockers are used to build the ground station and the space node respectively. OVS (OpenvSwitch) is used to establish three network connections in the node, and TC (Traffic Control) is used to control the traffic and link parameters. The effective throughput of the three simulation paths Link1, Link2, and Link3 is 10Mbps. The simulation results show that the use of the multi-path parallel transmission method of the present invention for two-path parallel transmission is more than the use of the standard CFDP protocol based on the CFDP protocol standard (CCSDS 727.0-B-5) for single-path transmission. Under each file size, it also saves about 40% of the file delivery time. The file delivery time of the three-path parallel transmission is about 1 / 3 of that of the single path, which reflects that the parallel multi-path transmission method of the present invention improves the transmission rate.
[0118] Fig. 9The simulation verifies the performance of the multi-path backup transmission method based on the CFDP protocol of the present invention. The experimental environment is based on the Linux Ubuntu operating system. Two Dockers are used to build the ground station and the space node respectively. OVS (OpenvSwitch) is used to establish two network connections in the node, and TC (Traffic Control) is used to control the traffic and link parameters. The effective throughput of the two simulation paths Link1 and Link2 is 10Mbps. Link1 is disconnected for 10s during the file transfer process. The total file delivery time of the standard CFDP protocol (without path backup) based on the CFDP protocol standard (CCSDS 727.0-B-5) and the multi-path backup transmission method of the present invention (with path backup) is compared. The simulation results show that the file delivery time using the multi-path backup transmission method of the present invention is significantly shorter than the standard CFDP protocol.
Claims
1. A multi-path transmission method based on the CFDP protocol, characterized in that: This method uses a CFDP transmission transaction to expand and retain the lower layer interfaces of multiple physical paths in space file transmission, realizing parallel transmission of multiple paths and timely switching of paths after link interruption; the transmission process is specifically divided into the following three stages: Phase 1, the transfer start phase, the sending CFDP user sends a file transfer start request primitive to the CFDP entity; Phase 2: Transmission preparation phase: the CFDP entity at the sending end selects the transmission mode according to the file transfer start request primitive and the information in the MIB, and sets the priority of each path and the file transfer scope; The transmission modes include multi-path parallel transmission mode and multi-path backup transmission mode; the multi-path parallel transmission mode means that data is transmitted in parallel through multiple physical paths; the multi-path backup transmission mode means that the path with the highest priority is used as the main path for data transmission, and other paths are used as backups; Phase 3, data transmission phase, transfers files according to the selected transmission mode and the set path priority and file transfer range; when the used path is disconnected, other paths are used to complete the transfer; The file transfer start request primitive described in the first stage defines a Boolean file time-sensitive parameter time sensitive based on the request primitive specified in the CFDP protocol, which is used to indicate the time sensitivity of the transferred file. The Boolean file time-sensitive parameter time sensitive takes a value based on whether the file is a time-sensitive file. If it is a time-sensitive file, the value is true, otherwise the value is false. In the transmission preparation phase described in Phase 2, the CFDP entity at the sending end will complete the following steps in sequence: (1) Selecting the multi-path transmission mode: When the file time sensitivity parameter in the file transfer start request primitive is timesensitive = false, the multi-path backup transmission mode is selected; when time sensitive = true, if the maximum estimated effective bandwidth of all paths is greater than or equal to the CPU throughput, the multi-path backup transmission mode is selected, otherwise the multi-path parallel transmission mode is selected; (2) Calculate the priority of each path and the transmission data length to be allocated: Arrange the paths in descending order of estimated effective bandwidth. The larger the estimated effective bandwidth of a path, the higher the path priority. If a multi-path backup transmission mode is used, all data is allocated to the path with the highest priority. If a multi-path parallel transmission mode is used, the data transmission length of each path is allocated according to the ratio of the estimated effective bandwidth of each path to the total estimated effective bandwidth of all paths. (3) Calculate the data transfer offset of each path; for a transmission transaction using the multi-path backup transmission mode, the data transfer offset of all paths is 0; for a transmission transaction using the multi-path parallel transmission mode, calculate the data transfer offset of each path in turn according to the data transfer length value of each path; ensure that the total file transfer range of each path covers the entire file.
2. The multi-path transmission method based on the CFDP protocol according to claim 1, characterized in that: In the data transmission phase described in Phase 3, both the sender and receiver realize path backup by opening multiple threads and retaining the lower layer interfaces of multiple physical paths at the same time; in the multi-path parallel transmission mode, multi-threaded parallel sending and receiving are used to realize multi-path parallel transmission; after the receiving end detects the path interruption, it informs the sending end through the interruption report PDU, and the sending end realizes path switching by resetting the path priority and file transfer range; The behaviors of the sending CFDP entity at this stage include: S1. Write the path priority and file transfer range into the metadata PDU, MPDU for short, in the newly added path allocation field, and send the MPDU using the path with the highest priority; S2. If the MPDU confirmation timer times out, retransmit the MPDU; S3. If an MPDU confirmation message (ACK) is received, the MPDU confirmation timer is stopped; for each path, a thread is set to read the file according to the file transfer range of the path, generate a file data PDU (FDU), and send it by the corresponding lower layer interface to realize multi-path parallel transmission and path backup at the sending end; S4. When each thread completes the sending task of this path, it reports to the main thread; when the main thread completes its own file sending task and receives the sending task completion report of all other threads, the main path sends the file end PDU, referred to as EOF; S5. When the sending entity receives a negative acknowledgement PDU, referred to as NAK, each path is responsible for retransmitting the FDU within its own file transfer range according to the current file transfer range; the path with the highest current priority completes the retransmission of the FDU within the file transfer range of the interrupted path; S6. After receiving the end PDU, referred to as FIN, an ACK for FIN is issued, all thread-related operations are stopped, and the transmission is reported to be completed; S7. After receiving the interruption report PDU, the path interruption is processed to switch the path after the interruption. The processing process includes: marking the path as interrupted; updating the path priority; updating the file transfer range of each path; writing the updated path priority and file transfer range into the newly added path update PDU, and the path with the highest priority sends the path update PDU; The behaviors of the receiving CFDP entity at this stage include: R1. After receiving the MPDU, reply ACK, read the path allocation field in the MPDU, save the priority and file transfer range of each path; initialize the receiving progress variable, cache queue, and receiving timer of each path to achieve multi-path parallel transmission and path backup at the receiving end; R2. After receiving the FDU, each path puts the received data into the corresponding receiving buffer and updates the receiving progress variable; if the updated receiving progress variable is equal to the sum of the transmission data offset and the transmission data length value of the last file transmission range of the path, the path receiving timer is stopped; otherwise, the timer is reset; R3. After receiving the EOF message sent by the other end, the receiving CFDP entity determines whether the reception is complete. If incomplete, it encapsulates the start and end offsets of the missing part into a NAK data packet and sends the NAK using the path with the highest priority; R4. When it is detected that all the path file transfer ranges have been received completely, the complete file is combined and a FIN is sent; R5. When the path receive timer times out, the path is marked as interrupted, the path number and the current receive progress of the path are encapsulated into a new interruption report PDU; the interruption report PDU is sent through the highest priority path in the non-interrupted path, and the interruption report PDU timer is turned on; R6. After the interrupt report PDU timer times out, reset the timer and retransmit the interrupt report PDU; R7. After receiving the path update PDU, stop the interrupt report PDU timer, update the priority and file transfer range of each path according to the path update PDU, and reset the receive queue buffer and timer to achieve path switching.
3. The multi-path transmission method based on the CFDP protocol according to claim 2, characterized in that: In the file transfer stage, in order to enable the sender to inform the receiver of the priority and file transfer range of each path, a path allocation TLV is added; the path allocation TLV includes a path number field, a path priority field and a file transfer range field; each path allocation TLV declares the path priority and file transfer range of a path.
4. The multi-path transmission method based on the CFDP protocol according to claim 3, characterized in that: The newly added path allocation field in the MPDU is located in the Options field, which includes multiple path allocation TLVs.
5. The multi-path transmission method based on the CFDP protocol according to claim 3, characterized in that: The data field of the newly added path update PDU consists of multiple path allocation TLVs.
6. The multi-path transmission method based on the CFDP protocol according to claim 2, characterized in that: The interruption report PDU includes an interruption path number field and a receiving progress field.
Citation Information
Patent Citations
Deep space sensor network multi-path routing method based on delay tolerant network (DTN)
CN103036783A
Systems, methods, and apparatus of a space communication file transfer system
US20080250118A1