[Sis-dtn] LTP High, Medium, Low Data Rate Profiles

Felix.Flentge at esa.int Felix.Flentge at esa.int
Tue Mar 2 06:56:27 UTC 2021


Dear All,

I had a first go at defining some profiles for high, medium and low data 
rates.



There a certainly some choices to discuss. In particular, I have limited 
the client ID and the service ID to just one byte each as it seemed more 
then sufficient for a protocol operating on a single link.
I am also wondering whether the medium profile makes sense or whether it 
would be enough to have the low and the high one.
I think we shall discuss in one of the next meetings (maybe after we have 
started the BP/BPSEC discussions).

Related to the points below:
1) LTP Block Size: I assume that Bundle / LTP Blocks can be rather large 
(4 GB for the high data rate). This is to reduce overheads, limit the 
number of bundles (eg, if we want to have reports or custody transfer) and 
just seems typically easier to handle. Also, as we have seen for CFDP, 
on-board implementations may have rather low limits on the number of 
parallel sessions.
2) The CFDP point is an important one: it seems that CFDP over BP is not 
formally specified in CCSDS (please correct me if I am wrong). The 
straight-forward approach to encapsulate each CFDP PDU in a separate 
bundle is not ideal because of the overheads (I will never be able to 
convince our missions to do something like that). I see two options here:
a) aggregating several CFDP PDU (possibly also from different 
transactions) in a single bundle; I think we would need to define this 
somewhere (similar to the CFDP / Encapsulation book)
b) we would allow really large file segments in CFDP; however, this would 
require a change in the CFDP standard
I personally would tend to 2)a). I would not like to put DTCP in here as 
its services (besides aggregation) are not required and it would add yet 
another protocol.
[maybe this discussion would belong more to the CFDP WG]

Regards,
Felix



From:   <Tomaso.deCola at dlr.de>
To:     <scott.c.burleigh at jpl.nasa.gov>, <Felix.Flentge at esa.int>
Cc:     <sis-dtn at mailman.ccsds.org>, <carlo.caini at unibo.it>
Date:   26/02/2021 17:38
Subject:        RE: [Sis-dtn] Telecon Notes 20210224



Hi Scott,
 
You are right. In principle one could even use DTPC, I think, to aggregate 
multiple ADUs (i.e., CFDP PDUs in this case) to have a larger bundle. I 
was just reasoning on the scenario described from Felix, requiring a large 
session that I?ve translated into large block, to scope it in view of the 
discussion we did early today about the retransmission cycle concept of 
LTP.
 
Best,
 
Tomaso
 
From: Burleigh, Scott C (US 312B) <scott.c.burleigh at jpl.nasa.gov> 
Sent: Freitag, 26. Februar 2021 17:16
To: Cola, Tomaso de <Tomaso.deCola at dlr.de>; Felix.Flentge at esa.int
Cc: sis-dtn at mailman.ccsds.org; carlo.caini at unibo.it
Subject: RE: [Sis-dtn] Telecon Notes 20210224
 
I don?t think that?s a constraint.  First, we expect CFDP normally to run 
over BP, and BP to be the LTP client; in that formulation, LTP blocks 
could be quite large because multiple CFDP file data PDUs might be 
aggregated into a single bundle payload.  (ION CFDP/BP doesn?t work that 
way, but it probably should; it?s usually advantageous for bundles to be 
large.)  Second, even if CFDP were the LTP client, the CFDP UT adapter for 
LTP might well aggregate multiple CFDP file data PDUs into a single LTP 
block ? an application-defined ?service data aggregation? mechanism as 
we?ve been discussing.
 
Scott
 
From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org> On Behalf Of 
Tomaso.deCola at dlr.de
Sent: Friday, February 26, 2021 5:02 AM
To: Felix.Flentge at esa.int
Cc: sis-dtn at mailman.ccsds.org; carlo.caini at unibo.it
Subject: [EXTERNAL] Re: [Sis-dtn] Telecon Notes 20210224
 
Ok about the large session duration, but how big would LTP blocks be if we 
take into considerations that CFDP PDUs can carry at most 64kybtes (if I?m 
not mistaken)?
 
Tomaso
 
From: Felix.Flentge at esa.int <Felix.Flentge at esa.int> 
Sent: Freitag, 26. Februar 2021 12:29
To: Cola, Tomaso de <Tomaso.deCola at dlr.de>
Cc: carlo.caini at unibo.it; sis-dtn at mailman.ccsds.org
Subject: RE: [Sis-dtn] Telecon Notes 20210224
 
Yes, 

the scenario I had in mind is deep space to Earth (RTT in the order of 
minutes). Here, on-board implementations might want to have rather large 
session durations to limit the number of parallel sessions (the on-board 
CFDP implementations I have seen allow only a few parallel transactions 
which requires to reduce the latency for completing the transactions). 

The idea of sending RS without an CP is interesting (similar to CFDP async 
NAK), it could maybe even triggered after some "inactivity" timeout. 

Regards, 
Felix 



From:        <Tomaso.deCola at dlr.de> 
To:        <carlo.caini at unibo.it>, <Felix.Flentge at esa.int> 
Cc:        <sis-dtn at mailman.ccsds.org> 
Date:        26/02/2021 11:37 
Subject:        RE: [Sis-dtn] Telecon Notes 20210224 




Hi Carlo,

My understanding from Felix's comment was about a long session duration, 
i.e. if we have to transfer a very long LTP block (say 10 seconds duration 
against 1s RTT), then probably waiting too long for the retransmission may 
be problematic if the sender is resource-constrained. The receiver side, 
if on ground, probably does not have too many problems in keeping some 
buffer allocated for long. If we are referring to space-to-space the 
situation can certainly be different, but in such a case I'm tempted to 
assumed almost error-free transmission. I'm in any case waiting for Felix 
clarification on the scenario he had in mind here ?

Regards,

Tomaso

-----Original Message-----
From: Carlo Caini <carlo.caini at unibo.it> 
Sent: Freitag, 26. Februar 2021 11:31
To: Felix.Flentge at esa.int
Cc: sis-dtn at mailman.ccsds.org; Cola, Tomaso de <Tomaso.deCola at dlr.de>
Subject: RE: [Sis-dtn] Telecon Notes 20210224

Dear Felix, 
   intermediate CPs can be useful, in theory, if radiation time >> RTT, as 
interpreted by Tomaso. Assuming as a rule of thumb that the radiation time 
of one bundle does not exceeds 1s, intermediate CPs have no advantages 
starting from Moon communications and on. You could still have some 
advantages on shorter RTTs, as with LEOs.
However you cannot release anything at Rx side, until the whole block has 
been received, which means that in the best case you can save only the 
time elapsed between the intermeiate CP (let me assume for the sake of 
similicity we have only one at a half of the block) and the last. This is 
equal to a half radiation time, and this only under the conditions that 
you have lasses only on the first half of the block and not on the second 
one. This bacause in the latter case you should wait for the RS triggered 
by the final CP to start retx of losses, thus the first intermediate CP 
would be useless in this case. This is why I think these intermediate CPs 
are not implemented in ION, but of course I am not sure...

Concerning the session timer, I happy to know that we share the same 
vision. By the way, I suppose it should be easy to implement. This time 
could also be "advertised" to the Rx side, by means  of a segment 
extension, inserted on the first segment (or on all). On the same line, I 
think that it could be useful to let the Rx know the dimension of the 
block asap. This could allow the Rx to cancel a too long (in size) session 
in a proactive way, without waiting to have received too many segments. To 
know the lenght in advance could also help to reserve to the Rx session 
buffer the right amount of space (provided that there is sufficient 
space), etc. Last, it could also help when the last segment, that flagged 
as a CP, is lost. In this case the session stalls for an RTO, because the 
receiver do nothing until the retranmitted CP arrives (after one RTO, as 
said, i.e. 6 minutes from Earth to Mars in the best case). By knowing in 
advance the block lenght, it would be strightforward to force the 
transmission of a gratuitous RS after a much shorter inter-segment timer 
has elapsed (it could be be set equal to the expected radiation time of 
the block).
Yours,
 Carlo


________________________________________
Da: Felix.Flentge at esa.int [Felix.Flentge at esa.int]
Inviato: venerdì 26 febbraio 2021 10:05
A: Carlo Caini
Cc: sis-dtn at mailman.ccsds.org; Tomaso.deCola at dlr.de
Oggetto: RE: [Sis-dtn] Telecon Notes 20210224

Hi Carlo,

I assume there could be advantages of intermediate checkpoints in cases 
where the duration of the session >> RTT (could reduce overall latency, 
on-board memory could be freed).

I certainly like the idea of a blocklifetime. It could maybe even be an 
optional parameter of the Transmission.request (which might need some 
changes anyway because of the removal of mixed sessions).

Regards,
Felix



From:        "Carlo Caini" <carlo.caini at unibo.it>
To:        "Felix.Flentge at esa.int" <Felix.Flentge at esa.int>, "
Tomaso.deCola at dlr.de" <Tomaso.deCola at dlr.de>
Cc:        "sis-dtn at mailman.ccsds.org" <sis-dtn at mailman.ccsds.org>
Date:        26/02/2021 09:01
Subject:        RE: [Sis-dtn] Telecon Notes 20210224
________________________________



Dear Felix,
  I agree with you that the text is difficult to understand, but I would 
ascribe the problem to the protocol, which is maybe too complex. In 
particular, 1) the possibility of inserting CP before of the final segment 
of a block and 2) the possibility of sending multiple RS in response to 
the same CP, make the the protocol most likely more complex than 
necessary, and in turn, also difficult to describe.
My interpretation of the text (I am not sue too) is that at the first Tx 
attempt, the oustanding CPs are 1) the compulsory CP that flags the latest 
segment; 2) any other gratuitous CP that may be inserted before the latest 
segment. Each of these CP triggers one or more RS, depending on the number 
of claims; these RSs, one recived, trigger data ReTx and new CPs, 
belonging to the first Re-Tx cycle and so on. It is diffiucult to explain 
and to implement.
Now, if you remove the possibility of inserting intermediate CPs 
(actually, they are never inserted by ION), things start to improve. By 
the way, with a propagation delay that is dominant on the "radiation 
time", in my opinion there is not any advantage in using intermediate CPs. 
Let us assume that the RTT is 6 minutes and that the radiationtime is 1s. 
What is the advantage of receiving an intermediate CP at, say 500ms before 
the last segment flagged as CP? It would just generate an RS 500ms before 
the last, thus reTx could start 500ms before, which seems of little help, 
considering the 3600 s RTT.
The possibility of spreading claims on multiple RS is manageable (ION 
does), but it makes once again maybe more complex than necesary the 
algorithm, as multiple RSs means multiple CPs (the "oustanding ones" in my 
interpretation) for each Re-Tx cycle.
Last comment, I agree once again with you that many conditions could 
suggest the closing of an ongoing sessions. To those you mentioned I would 
add the duration of a session. I mean that in my opinion a session should 
have a time limit. Suppose that an RS is followed by an RAS (RS ACK), but 
not by any retranmissions for whatever reason (the Tx is lazy or 
worse...). On the Rx side a buffer plenty of data would be kept forever as 
the RS was confirmed by the RAS...
A second reson for a time limit, is that a block should have a lifetime, 
as bundles. Otherwise is pefectly possible, in the presence of a scheduled 
intermittent link, that a session stay frozen for hours and that during 
this time the content of the block, i.e. a bundle, expires. Is a non-sense 
that, at the next, contact LTP carry on a session whose content is to be 
discarded as soon as passed to BP. This could be easily avoided by 
associating a blocklifetime (<=bundle_lifetime)  to every session.
Yours,
 carlo



________________________________________
Da: SIS-DTN [sis-dtn-bounces at mailman.ccsds.org] per conto di 
Felix.Flentge at esa.int [Felix.Flentge at esa.int]
Inviato: venerdì 26 febbraio 2021 08:08
A: Tomaso.deCola at dlr.de
Cc: sis-dtn at mailman.ccsds.org
Oggetto: Re: [Sis-dtn] Telecon Notes 20210224

Hi Tomaso,

maybe I am just confused but I have some difficulties to understand what 
this text actually means (in particular,  what is meant by all outstanding 
CP segments?). It also seems dependent on the sender's strategy when to 
send CPs.

Actually, looking at 6.13 I am wondering whether we need this at all. 6.13 
allows to cancel a session with RLEXC if the number of transmission 
problems exceeds an established limit. Maybe this could also cover 
re-transmission cycle limits?

Thinking about this, I believe we need to leave some room for 
implementation-specific limits which could come in a lot of different 
flavours (absolute re-transmitted amount of data, relative re-transmitted 
amount of data, number of queued segments for re-transmission, ....). It 
just seems strange that for one of these 'implementation-specific' limits 
we have a specific error code (RXMTCYCEXC).

Regards,
Felix



From:        <Tomaso.deCola at dlr.de>
To:        <kscott at mitre.org>, <sis-dtn at mailman.ccsds.org>, <
Felix.Flentge at esa.int>
Date:        25/02/2021 14:17
Subject:        RE: Telecon Notes 20210224
________________________________



Hi All,



Concerning the point on the retransmission cycle limit, this is first 
appearing on RFC 5326 at the end of section 6.2.2 (beginning of page 34) 
and copied here below for your convenience:



There may be other implementation-specific limits that may cause an

 LTP implementation to initiate session-cancellation procedures.  One

 such limit is the maximum number of retransmission-cycles seen.  A

 retransmission cycle at the LTP Sender comprises the two related

 events: the transmission of all outstanding CP segments from the

 sender, and the reception of all RS segments issued from the receiver

 in response to those CP segments.  A similar definition would apply

 at the LTP Receiver but relate to the reception of the CP segments

 and transmission of all RS segments in response.  Note that the

 retransmitted CP and RS segments remain part of their original

 retransmission-cycle.  Also, a single CP segment may cause multiple

 RS segments to be generated if a reception report would not fit in a

 single data link-MTU-sized RS segment; all RS segments that are part

 of a reception report belong to the same retransmission cycle to

 which the CP segment belongs.  In the presence of severe channel

 error conditions, many retransmission cycles may elapse before red-

 part transmission is deemed successful; an implementation may

 therefore impose a retransmission-cycle limit to shield itself from a

 resource-crunch situation.  If an LTP sender notices the

 retransmission-cycle limit being exceeded, it SHOULD initiate the

 Cancel Session procedure (Section 6.19<
https://tools.ietf.org/html/rfc5326#section-6.19>), queuing a CS segment 
with

 reason-code RXMTCYCEXC and sending a transmission-session

 cancellation notice (Section 7.5<
https://tools.ietf.org/html/rfc5326#section-7.5>) to the client service.



@Felix.Flentge at esa.int<mailto:Felix.Flentge at esa.int>: which aspects did 
you want to make normative?
Best Regards,

Tomaso





From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org> On Behalf Of Dr. Keith L 
Scott
Sent: Mittwoch, 24. Februar 2021 17:52
To: sis-dtn at mailman.ccsds.org
Subject: [Sis-dtn] Telecon Notes 20210224



SIS-DTN Telecon



LTP

Took some notes in the SharePoint List here:

https://cwe.ccsds.org/fm/wiki/Lists/SISDTN%20LTP%20Update%202021/AllItems.aspx


What testing / experimentation to drive out issues?

? LTP Extension Header vs. small Green Blocks to signal adaptive coding 
and modulation.

? ESA looking to use LTP for optical; no experimentation expected for 8-12 
months

ReTx cycle limit & Discretionary Checkpoints

People to come up with draft clarifying language and we?ll review. Consult 
the RFC5326 text to see if we want to ?normativeize? it.  Keith to collect 
text from RFC5326 to provide context.

BPv7

Keith to build a list of items like the LTP list for discussion at next 
meeting.

BPSec

In Security WG processing; we need to notify them of status of BPSec doc 
in IETF.



People need to review current draft and we?ll work any proposed changes to 
the SEA-SEC WG ASAP:

https://tools.ietf.org/html/draft-ietf-dtn-bpsec-27



Default security context from IETF is probably not what we want in CCSDS; 
we might need to define our own set.



ESA to start an activity on security.

NM Books

Links to I-Ds

NM books going through IETF, about to become WG documents, changes as a 
result of reviews may be coming over the next 8-12 months.



ICPA Need Dates for NM updated to 2028,  we can prioritize the other 
efforts above these.







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20210302/d9d76705/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LTP_Revision_FieldLength.xlsx
Type: application/octet-stream
Size: 13032 bytes
Desc: not available
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20210302/d9d76705/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 11918 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20210302/d9d76705/attachment-0001.bin>


More information about the SIS-DTN mailing list