Keywords

1 Introduction

1.1 Research Background

Developed as an effective networking technology in accommodating the lengthy link disruptions and long link delays that are inevitable in space communications, delay/disruption-tolerant networking (DTN) [1] is a networking architecture which is typically suitable for reliable data/file delivery over unreliable space links. As the main protocol of DTN for space, bundle protocol (BP) [2] is designed to establish an overlay network for reliable file transfer across highly heterogeneous communication networks. The basic mandatory data transmission method adopted by BP is a “store-and-forward” mechanism. Working together with an “optional” custody transfer method, BP is expected to provide reliable data delivery over an unreliable space channel.

In [3], a general DTN architecture for its use in a typical networking environment (especially in heterogeneous space and wireless communications) is presented in [3]. In the architecture, the adopted reference networking protocols are also suggested. As observed from the architecture, BP establishes a networking overlay to interconnect heterogeneous networks that adopts different data transport technologies Those heterogeneous networks could be operating based on the widely adopted Internet protocols such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). They could also be operating based on the recently proposed reliable transmission protocol of DTN, Licklider transmission protocol (LTP) [4, 5]. Depending on the user’s requirement, these heterogeneous networks even could be operating based on using a hybrid of these protocols. Working together with the nonvolatile permanent memory for necessary custodial service of data units (named BP bundles) at DTN custodial nodes, the mandatory “store-and-forward” and the optional custody transfer method of BP secure reliable data delivery at receiver even in the presence of highly data loss due to strong channel noise and link disruption events over space channel.

1.2 Contributions and Novelty

DTN is consistently considered as the only candidate networking technology to achieve highly reliable communication service in deep-space communications [6] in the past decade. Reliable data/file transmission mechanisms for high performance of BP are presently under development. In this paper, a new transmission approach is proposed for DTN’s BP for use in deep-space communications. It is intended to achieve highly reliable deep-space file transfer over unreliable space channel which may experience unpredictable or random link disruption events or any other events that lead to burst data losses. The main idea of this proposed approach is to use a hybrid of the proactive retransmission and active retransmission during file transfer, with the proactive retransmission followed by the active retransmission.

The proactive retransmission and active retransmission are designed to have different transmission objectives. The objective of the proactive retransmission is to achieve highly reliable data delivery within the first (or simply the single) round-trip time (RTT) interval. The supplemental reactive retransmission is to provide additional transmission reliability in case the reliability provided by the proactive retransmission was not achieved on data transmission due to the unpredictable link disruption events or any other link events that may lead to burst data losses.

To implement this hybrid transmission approach, two different intervals are employed for the bundle’s custodial retransmission timeout (RTO) timer during the file transfer—one for the proactive retransmission and another for the reactive retransmission. An analytical model is built for performance analysis of the proposed transmission approach, and it is verified based on the file transfer experiment. This study is expected to be practically useful to optimal design and configuration of BP of DTN.

2 Related Work

A lot of work has been done in research and development of DTN architecture/protocols and analysis for their application in space networks and interplanetary communications [3, 7,8,9,10,11,12,13,14]. These studies are done in either theoretical manner and/or experimental manner based on file transfer experiments over a testbed. Among these studies, the aforementioned “proactive” retransmission mechanism is proposed for BP in [14]. For a detailed discussion of the operation and performance analysis of the proposed “proactive” retransmission mechanism, refer to [14].

The “proactive” retransmission mechanism proposed in [14] should work effectively if the communication channel is relatively reliable for which the file transfer unlikely experiences unpredictable or random link disruption events or a very high channel errors that lead to burst data losses. In case of a presence of a lengthy link disruption or any other channel causal events which cause unavailability of data link for a long time, the scheduled multiple proactive retransmission attempts may fail to deliver many or even all the bundles to the receiver but the sender is not aware of it. In this case, the sender assumes that the entire file is successfully delivered at the receiver but is actually not. This results in a catastrophic consequence to the transmission performance of BP for file delivery.

To resolve potentially severe performance issue of the mechanism proposed in [14], we propose to use a hybrid of the proactive retransmission and active retransmission during the file transfer. In other words, in addition to the mentioned proactive retransmission mechanism, the traditional reactive retransmission mechanism is employed for extra transmission reliability to file transfer. The proposed retransmission approach is illustrated and discussed in Sect. 3 in a comparison with the one in [14].

3 Illustration of the Proposed Reliable Proactive Retransmission of Bundle Protocol

Figure 1 illustrates a recreation of a file transmission scenario using the proactive approach proposed in [14]. The operation of the scenario is self-explanatory. For the details of its operation, see [14]. As discussed, in case of a presence of a lengthy link disruption or any other channel causal events which cause unavailability of data link for a long time, the multiple retransmission attempts made within the interval of RTT may fail to deliver many or even all the bundles to the destination.

Fig. 1.
figure 1

File transmission of BP in bundles using a proactive retransmission mechanism proposed in [14] with the bundle retransmission controlled by the retransmission timer which is configured according to the length of RTT so that \(\overline{N}\) transmission attempts can be made during the interval of RTT.

To resolve the possible catastrophic performance degradation of the approach proposed in [14] in the presence of link disruption event, the approach has been extended for performance enhancement. The bundle-based operation of the enhanced approach of BP is illustrated in Fig. 2. In comparison to the illustration in Fig. 1, the proposed reliable proactive retransmission approach adopts a joint use of the proactive retransmission mechanism and reactive retransmission mechanism. Therefore, following the proactive retransmissions of the file within the first (or simply the single) RTT interval, a supplemental reactive retransmission is implemented. With respect to the operation of the proactive retransmissions of the file in the first phase, it is the same as the retransmission process done within the interval of RTT illustrated in Fig. 1. In other words, each bundle is retransmitted for specified times following the calculated RTO timer length, termed as RTO1, without regard to the acknowledgment from the receiver.

As mentioned, the reactive retransmission designed in the second phase is intended to have additional transmission reliability in case the transmission attempts made in the first phase are not successful for any reason. With respect to the time for retransmission of the lost bundles during the reactive retransmission phase, the first reactive retransmission attempt is made as soon as the CA for any bundles sent in the first phase is received. That is, the first reactive retransmission attempt is made right after the first RTT. This is because it generally takes the RTT interval to receiver the acknowledgment from the sender. The CA indicates to the sender that which bundles were not successfully delivered or simply, lost, and thus need to be retransmitted. Then, those lost bundles are retransmitted.

Similar to the operation of many other automatic-repeat-request (ARQ) mechanisms, the reactive retransmission mechanism can retransmit the data bundles based on either the received acknowledgments or as soon as the RTO timer expires. Therefore, the RTO timer is slightly longer than the RTT interval. To differentiate it from the RTO timer length in the first phase, this timer is named as RTO2. So, if any bundles retransmitted during the reactive transmission phase are lost again, they are re-retransmitted as soon as the CAs are received which is generally done upon expiration of RTO2.

In comparison to the proactive retransmission approach illustrated in Fig. 1 (i.e., the one in [14]), the extended proactive retransmission proposed in this paper takes a much longer file delivery time. This is the cost for the additional transmission reliability.

Fig. 2.
figure 2

Illustration of BP transmission using the proposed reliable proactive retransmission approach which adopts a joint use of the proactive retransmission mechanism and reactive retransmission mechanism with each employing different time intervals for the bundle’s custodial retransmission timeout (RTO) timer.

4 Performance Modeling for Reliable Proactive Retransmission of BP Over Lossy Space Channels

As discussed, the reliable proactive retransmission approach is proposed based on the proactive retransmission mechanism. Therefore, considering their connection, the performance analysis results for the proactive retransmission in [14] are revisited before the performance modeling for reliable proactive retransmission is presented.

According to the performance analysis in [14] and based on the time components involved in Fig. 1, the total file delivery time of the approach, defined as \(T_{FD}\), can be approximated as a sum of the RTO intervals for the first \(\left( {\overline{N} - 1} \right)\) attempts, the bundles’ transmission time in the last round, and the one-way propagation time, \(T_{OWLT}\), for the last round. It is reiterated as

$$ T_{FD} = \left( {\overline{N} - 1} \right) \times RTO + N_{B} \times T_{B} + T_{OWLT} $$
(1)

All the symbols presented in (1) are well defined in [14].

The file transmission efforts made by the sender, \(\overline{N}\), is derived as

$$ \overline{N} = \left\lceil { - log_{{1 - \left( {1 - p} \right)^{{8 \times \left[ {L_{B} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)} \right]}} }} \left\lceil {\frac{{L_{F} }}{{L_{B} }}} \right\rceil } \right\rceil $$
(2)

in which

\(p\) is the channel bit-error-rate (BER) reflecting the net overall transmission quality,

\(L_{F}\) and \(L_{B}\) are the file size and bundle size, respectively, and.

Other notations of \(L_{xHD}\) represents the length of the header length at various layers that encapsulate individual bundle.

With the formula for \( \overline{N}\) plugged in (1), \(T_{FD}\) is reformulated in [14] as

$$ \begin{aligned} & T_{FD} = \left\{ {\left\lceil { - log_{{1 - \left( {1 - p} \right)^{{8 \times \left[ {L_{B} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)} \right]}} }} \left\lceil {\frac{{L_{F} }}{{L_{B} }}} \right\rceil } \right\rceil - 1} \right\} \times RTO + \left\lceil {\frac{{L_{F} }}{{L_{B} }}} \right\rceil \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \times \frac{{L_{B} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)}}{{R_{D} }} + T_{OWLT} \\ \end{aligned} $$
(3)

As discussed in [14], there is a maximum value of the time-out retransmission timer, \(RTO\). Therefore, the setting range of \(RTO\) has to meet the following requirement

$$ \begin{array}{*{20}c} {\left\{ {\frac{{L_{B} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)}}{{R_{D} }} \times \left\lceil {\frac{{L_{F} }}{{L_{B} }}} \right\rceil } \right\}} \\ { < RTO \le } \\ {\left\{ {\frac{RTT}{{\left\lceil { - log_{{1 - \left( {1 - p} \right)^{{8 \times \left[ {L_{B} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)} \right]}} }} \left\lceil {\frac{{L_{F} }}{{L_{B} }}} \right\rceil } \right\rceil }}} \right\}} \\ \end{array} $$
(4)

In Fig. 2, a scenario of BP file transmission using the proposed reliable proactive retransmission approach which adopts a joint use of the proactive retransmission mechanism and reactive retransmission mechanism, with each employing different time intervals for the bundle’s custodial RTO timer, is shown. For the sake of simplicity, the scenario is shown for the transmission of file conveyed by five bundles.

As shown in Fig. 2, the file is transmitted three times within the first RTT, and corresponding CA reaches the data sender beyond the first RTT interval. For those bundles that are successfully delivered, since their corresponding CAs are received, the bundles are released at the data sender. The remaining bundles of the file are retransmitted beyond the first RTT. Therefore, the number of bundles transmitted for the fourth time (i.e., the first time after the first RTT) in Fig. 2 is the number of bundles that failed for the first transmission attempt. After the bundle’s retransmission time-out timer \(RTO_{2}\) expires, the data sender will retransmit the remaining bundles until the data receiver receives all the bundles.

Let \(L_{EACK}\) be the length of an encapsulated CA at the link layer. Then, \(L_{EACK}\) should be simply formulated as the lengths of an encapsulated CA bundle in bytes after being encapsulated by all the layers (underneath BP)

$$ L_{EACK} = L_{ACK} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right) $$
(5)

Then, the probability of error in delivering a CA, \(P_{ACK}\), can be formulated as

$$ P_{ACK} = 1 - \left( {1 - p} \right)^{{8 \times L_{EACK} }} = 1 - \left( {1 - p} \right)^{{8 \times \left[ {L_{ACK} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)} \right]}} $$
(6)

Similarly, define \(L_{EB}\) as the size of an encapsulated data bundle, and the probability of error in delivering an encapsulated data bundle, termed as \(P_{B}\), can be formulated as \(P_{B} = 1 - \left( {1 - p} \right)^{{8 \times L_{EB} }} = 1 - \left( {1 - p} \right)^{{8 \times \left[ {L_{B} + L_{BHD} + L_{UHD} + \left\lceil {\frac{{L_{B} + L_{BHD} + L_{UHD} }}{{L_{MTU} - L_{IHD} }}} \right\rceil \times \left( {L_{IHD} + L_{LHD} } \right)} \right]}}\). Then, the probability for that both a bundle and its CA are successfully delivered can be written as

$$ P_{Round} = \left( {1 - P_{B} } \right) \times \left( {1 - P_{ACK} } \right) $$
(7)

For transmission of multiple bundles over highly asymmetric channels, all the CAs except the first one need to wait to be transmitted because of the delayed transmission of the previous CAs caused by reduced ACK channel rate. Assume that the downlink channel rate available for data transmission is \(R_{D}\) and the uplink channel rate available for CA transmission is \(R_{ACK}\). To avoid the delay of CAs due to channel-rate asymmetry, there is a limit to the minimum bundle size, named \(L_{B - Min}\). According to the previous study [12], \(L_{B - Min}\) is formulated as

$$ L_{B - Min} = \frac{{L_{EACK} \times R_{D} }}{{R_{ACK} }} - L_{BHD} $$
(8)

Let \(k = \left\lceil {\frac{RTT}{{RTO_{1} }}} \right\rceil\) and the number of transmission attempts beyond the first RTT is \(m\). Then, the total transmission attempts during the entire file delivery, \(n\), can be written as \(n = k + m\).

Let \(N_{B\left( i \right)}\) be the number of bundles that incur error during transmission round \(i\). Since the CAs of the first \(k\) transmission attempts have not reached to the data sender, the number of bundles transmitted for each transmission attempt from the first attempt to the kth attempt are \(N_{B}\). The CAs of the first transmission attempt arrive at the data sender beyond the first RTT interval, but the CAs of the subsequent transmissions made within the first RTT interval do not arrive the sender by that time. Therefore, the number of bundles transmitted in the \(\left( {k + 1} \right){\text{th}}\) attempt can be formulated as \(N_{{B\left( {k + 1} \right)}} = N_{B} \times \left( {1 - P_{Round} } \right)\). For the \(\left( {k + 2} \right){\text{th}}\) transmission attempt, one \(RTO_{2}\) timer interval has passed since the \(\left( {k + 1} \right){\text{th}}\) transmission made. Therefore, the CAs of the first \(\left( {k + 1} \right)\) transmission efforts arrive at the data sender. The bundles transmitted in the \(\left( {k + 2} \right){\text{th}}\) attempt are those failed in the first \(\left( {k + 1} \right)\) transmission efforts, and it can be formulated as \(N_{{B\left( {k + 2} \right)}} = N_{B} \times \left( {1 - P_{Round} } \right)^{k + 1}\). Then, for the \(\left( {k + m} \right){\text{th}}\) transmission attempt, \(N_{{B\left( {k + m} \right)}}\) can be formulated as \(N_{{B\left( {k + m} \right)}} = N_{B} \times \left( {1 - P_{Round} } \right)^{k + m - 1}\). Continuing with this iterative procedure, \(N_{{B\left( {k + m + 1} \right)}}\) can be formulated as \(N_{B} \times \left( {1 - P_{Round} } \right)^{k + m}\).

Similarly, during the \(\left( {k + m + 1} \right){\text{th}}\) transmission attempt, if the bundles released from the sender’s memory is fewer than 1, i.e., that is \(N_{{B\left( {k + m + 1} \right)}} < 1\) or \(N_{B} \times \left( {1 - P_{Round} } \right)^{k + m} < 1\), it implies that the successful delivery of an entire file is achieved by the \(\left( {k + m} \right){\text{th}}\) transmission attempt. Let \(n\) be the total transmission attempts, and it can be written as

$$ n > \left\lceil { - log_{{\left( {1 - P_{Round} } \right)}} N_{B} } \right\rceil $$
(9)

Then, the average transmission attempts made by the sender, \( N\), can be derived as

$$ N = \left\lceil { - log_{{\left( {1 - P_{Round} } \right)}} N_{B} } \right\rceil $$
(10)

The file delivery time is mainly composed of the first RTT, file retransmission time, one-way file propagation time, and the time sent by the last bundle in the last transmission round. Then, the total file delivery time \(T_{FDT}\) for the proposed reliable proactive transmission approach can be approximated as

$$ T_{FDT} = RTT + \left( {m - 1} \right) \times RTO_{2} + T_{OWLT} + T_{last} $$
(11)

in which \(T_{last}\) is the transmission time for the last attempt, and it can be formulated as \(\frac{1}{{N_{B} }} \times \mathop \sum \limits_{i = 1}^{{N_{B} }} \frac{{i \times L_{B} }}{{R_{D} }}\).

The goodput for the transmission can be written as \(\gamma = \frac{{L_{F} }}{{T_{FDT} }}\), and it can be normalized as \(\gamma_{N} = \frac{\gamma }{{D_{N} }}\). \(D_{N}\) is the total data load transmitted over the channel after normalized, and it can be written as \(\frac{{D_{total} }}{{L_{F} }}\). \(D_{total}\) is the total data load (in bytes) which includes the amount of data in the first \(k\) transmission attempts, the \(\left( {k + 1} \right)th\) transmission attempt, and the subsequent \(\left( {m - 1} \right)\) transmission attempts.

Let \(D_{\left( i \right)}\) be the amount of data that are transmitted in transmission round \(i\). Since the number of bundles for each transmission attempt from the first to the kth are \(N_{B}\), the amount of data can be calculated as \(k \times N_{B} \times L_{EB}\). The amount of data transmitted in the \(\left( {k + 1} \right){\text{th}}\) attempt can be formulated as \(D_{{\left( {k + 1} \right)}} = \left( {1 - P_{Round} } \right) \times N_{B} \times L_{EB}\). For the \(\left( {k + 2} \right){\text{th}}\) transmission attempt, the amount of data can be formulated as \(D_{{\left( {k + 2} \right)}} = \left( {1 - P_{Round} } \right)^{k + 1} \times N_{B} \times L_{EB}\).

Continuing with this iterative procedure, for the \(\left( {k + {\text{m}}} \right){\text{th}}\) transmission attempt, \(D_{{\left( {k + m} \right)}}\) can be derived as \(\left( {1 - P_{Round} } \right)^{k + m - 1} \times N_{B} \times L_{EB}\). Therefore, \(D_{total}\) can be formulated as

$$ D_{total} = k \times N_{B} \times L_{EB} + \left( {1 - P_{Round} } \right) \times N_{B} \times L_{EB} + \mathop \sum \limits_{i = 1}^{m - 1} \left( {1 - P_{Round} } \right)^{k + i} \times N_{B} \times L_{EB} $$
(12)

There is a limit to the numerical value of \(m\). In other word, no matter within or beyond the first RTT interval, there will be at least one transmission attempt made, that is \(0 < m < n - 1\). At the same time, \(k\) should satisfy \(\frac{RTT}{{RTO_{1} }} \le k < \frac{RTT}{{RTO_{1} }} + 1\). Therefore, the normalized goodput \(\gamma_{N}\) can be formulated as.

Fig. 3.
figure 3

Comparison of the percentage of successfully transferred bundles with different intervals of \(RTO_{1}\) over a deep-space channel with a bundle of 30 Kbytes.

$$ \begin{aligned} & \gamma_{N} = \frac{{N_{B} \times L_{B}^{2} }}{{\left( {\left\lceil {\frac{RTT}{{RTO_{1} }}} \right\rceil + \left( {1 - P_{Round} } \right) + \mathop \sum \nolimits_{i = 1}^{m - 1} \left( {1 - P_{Round} } \right)^{{\left\lceil {\frac{RTT}{{RTO_{1} }}} \right\rceil + i}} } \right) \times L_{EB} }} \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \times \frac{1}{{RTT + \left( {m - 1} \right) \times RTO_{2} + T_{OWLT} + T_{last} }} \\ \end{aligned} $$
(13)

5 Numerical Experimental Results and Model Validation

5.1 Overview of Experimental Infrastructure and Configurations

The performance model built in Sect. 4 is validated through file transfer experiments using an experimental infrastructure that emulates communications in a deep-space operational environment. The testbed and the experimented configurations/setting are the same as those in [14]. As done in [14], the protocol implementation of BP was provided by JPL [15]. A one-way link delay was configured as 600 s. Provided that the length of RTT is 1200 s, the interval of RTO2 is fixed to be slightly higher than 1200 s. However, a wide range of RTO1 intervals, from 47 s to 1200 s, are experimented.

5.2 Experimental Results and Model Validation

Figure 3 presents a comparison of the percentage of successfully delivered bundles using the proposed reliable proactive retransmission approach in transmitting a 10-Mbyte file with different intervals of \(RTO_{1}\) over a deep-space channel with link delay of 10 min and a BER of 5 × 10–6, asymmetric channel ratio of 300/1 and a bundle of 30 Kbytes. It is observed in Fig. 3 that the smaller the file transmission interval \(RTO_{1}\) within a single RTT is configured, the more transmission attempts within a single RTT time are made. In other words, more attempts are made by configuring a smaller \(RTO_{1}\) timer interval within a single RTT time. With more transmission attempts made, the higher the percentage of bundle successful transmission at the end of the RTT time is achieved. This means that with k transmission attempts made, more bundles are successfully delivered. As a result, the file delivery time decreases, and the efficiency of file transfer is improved.

Fig. 4.
figure 4

Comparison of the total amount of data sent with different intervals of \(RTO_{1}\) and a bundle of 30 Kbytes.

Figure 4 presents a comparison of the total amount of data sent by a file with different \(RTO_{1}\) timer interval within a single RTT time. It can be observed that as the number of transmissions within a single RTT time increases, the total amount of data sent increases rapidly.

Figures 5 and 6 present sample comparisons of the normalized goodput performance of BP with variations of \(RTO_{1}\) timer interval, predicted by the model and observed in the experiments with bundle sizes of 30 Kbytes and 58 Kbytes, respectively. Both bundle sizes are larger than the required minimum bundle size,\( L_{B - Min}\), to avoid the ACK delay. The numerical value of \(L_{B - Min}\) is 29.6 Kbytes according to (8). It is observed that in both Fig. 5 and Figs. 6, the predicted numerical values of the model match well with those measured from the experiments for all the configured intervals of RTO timer regardless of the bundle size. This indicates that the realistic file transfer experiments validate the model. In addition, the numerical value of the model is slightly higher because some minor delay components such as queue delay and processing delay are ignored when the total file delivery time is modeled.

In comparison, the optimal setting of \(RTO_{1}\) timer interval which achieves the highest normalized goodput performance of BP is found to be different for two bundle sizes. For the bundle size of 30 KB, the optimal setting of \(RTO_{1}\) is very short, around equal to 75 s. With the bundle size significantly increased to 58 Kbytes, the optimal setting increases to a much larger value which is around 600 s, a half of the RTT length.

The difference in the optimal setting of \(RTO_{1}\) timer interval for two different bundles are reasonable. Considering that the length of \({\text{RTO}}\) has to be configured larger than the length of \(T_{F}\), the number of transmission attempts in the first RTT (i.e., during the proactive retransmission) should not exceed twenty-seven. As defined, the main factors that affect the normalized goodput performance are the file delivery time and the total data load over the channel. When the bundle size is 30 Kbytes, it can be calculated from (10) that the total transmission attempts is seventeen, which is less than twenty-seven. So, as many transmissions as possible should be made within the first RTT so that the file delivery time can reach the minimum which can lead to the highest normalized goodput. It can be calculated that \(RTO_{1} \approx \left\lceil {\frac{1200}{{17 - 1}}} \right\rceil = 75 \;{\text{s}}\), which is fully consistent with the variation trend in Fig. 5.

Fig. 5.
figure 5

Comparison of normalized goodput performance of BP with variations of \(RTO_{1}\) timer interval, predicted by the model and observed in the experiments.

Fig. 6.
figure 6

Comparison of normalized goodput performance of BP with variations of \(RTO_{1}\) timer interval, predicted by the model and observed in the experiments with a bundle size of 58 Kbytes.

Fig. 7.
figure 7

Normalized goodput performance of BP with variations of bundle size.

In comparison, for the much larger bundle size of 58 Kbytes, the total transmission attempts are fifty-three which is greater than twenty-seven. Therefore, multiple transmissions must be performed within the first RTT during the proactive retransmission phase and after the first RTT during the reactive retransmission phase. By this, the file delivery time and the total data load over the channel greatly increase. This implies that the total data load has the greatest impact on the normalized goodput. Therefore, for transmissions with a lossy channel and a reasonably large bundle, as many transmission attempts as possible should be made beyond the first RTT interval so that the total data load can reaches the minimum. Considering the impact of file delivery time, only two transmissions are needed in the first RTT, leading to \(RTO_{1} = 600\) s given that the length of RTT is 1200 s. This leads to the maximum of the normalized goodput, which is completely consistent with the variation trend in Fig. 6.

As we can see from Fig. 5, the shorter the bundle is, the better the normalized goodput performance is for its RTO optimal timer. This is also true for other \(RTO_{1}\) timer intervals. Figure 6 shows that along with the variations of the \(RTO_{1}\) timer interval, the normalized goodput varies differently for the large and small bundles. It varies less significantly for a large bundle. The performance variation indicates that the normalized goodput performance is significantly different when the bundle is larger than when the bundle is smaller.

Figure 7 presents the normalized goodput performance of BP with the variations of bundles. Under the same configuration, the larger the bundle size, the lower the normalized goodput performance. This is reasonable. Given a transmission channel condition, it is true that a larger bundle generally experiences the greater loss probability. With a higher loss rate for a bundle, more retransmission attempts are needed. As a result, the file delivery time and the total amount of data sent increase dramatically, leading to a decrease in normalized effective goodput and degradation of the transmission efficiency.

6 Summary and Conclusions

In this paper, a reliable proactive retransmission mechanism is proposed for BP for reliable data delivery over unreliable space channels that likely cause unpredictable burst data losses due mainly to random link disruption events. The novelty of the approach is to use a hybrid of the proactive retransmission and active retransmission, with each employing different time intervals for the bundle’s custodial RTO timer during file transfer. The model is validated.

The optimal RTO timer intervals for custodial retransmission to achieve the highest normalized goodput performance are different depending on the bundle size and transmission conditions. Over a lossy channel with a small bundle size (e.g., 30 Kbytes in our study), the optimal interval is very short, around 75 s. With a large bundle size (e.g., around 60 Kbytes in our study), the optimal interval is much large (600 s), around a half of the RTT length. According to our study, with a small bundle size, a small the RTO timer interval results in as many transmissions attempts as possible during the proactive retransmission phase (within the first RTT) so that the file delivery time can be minimized which leads to the highest normalized goodput. With a large bundle size over a lossy channel, it is found that the total data load over the channel has the greatest impact on the normalized goodput, and therefore, as many transmission attempts as possible should be made during the reactive retransmission phase (beyond the first RTT interval) so that the total data load can be minimized. This implies that the optimal interval of the RTO timer should be much larger in comparison to a small bundle size.

It is also found that over a lossy deep-space channel, the larger the bundle size is configured, the lower the normalized goodput performance is. This is reasonable because for transmission with a large bundle over a lossy channel, more retransmission attempts are needed to secure successful delivery of a file, leading to a longer file delivery time and thus decrease in normalized goodput.