Research Article

An Improved DTN Scheme for Large-Scale LEO Satellite Networks

Algorithm 3

Virtual acknowledgement algorithm (VAA).
VAA in source nodes
Input: State ; ACK; NACK; time
1: Send bundle ; Set the retransmission timer according to equation (22);
2: if Receive ACK of then
3:  Delete from the cache;
4:  Delete the retransmission timer ;
5: end if
6: if Receive NACK of OR then
7:  Retransmission ;
8:  Reset the retransmission timer ;
9: end if
VAA in relay nodes
Input: State ; ACK; NACK; time
1: Forward the bundle ; Set the retransmission timer according to equation (22);
2: if Received ACK of then
3:  Replace with ; Start timer ;
4:  Delete the retransmission timer ;
5:  Calculate by (17); ACK;
6:  Forward ACK;
7: end if
8: if or Received  //note: and were sent from the same source node. then
9:  Delete ;
10: end if
11: if Received NACK of OR =0 then
12:  Calculate by equation (17);
13:  Check whether decoded in the cache is correct;
14:  if decoded correctly then
15:   ACK; //note: Put into the ACK package.
16:   Retransmission ; Forward ACK; Reset the retransmission timer ;
17:  else
18:   NACK; //note: Put into the NACK package.
19:   Delete ; Forward NACK to source node ;
20:  end if
21: end if