[Sis-dtn] Telecon Notes 20210224

Felix.Flentge at esa.int Felix.Flentge at esa.int
Wed Apr 21 15:17:33 UTC 2021


Dear All,

my views on the topics below:

Intermediate CPs:
I would agree to remove those. In cases where you might want to use those, 
you could probably also just use  shorter LTP Blocks (with eventual bundle 
fragmentation if you are running as a BP convergence layer).

Session Timer/Cancellation:
CCSDS LTP already has the CancelTransmission.request and 
CancelReception.request which can be used by the protocol layer above (eg, 
BP once TTL is reached).

Block Length:
While I see the value to have the block length available to reserve the 
right amount of memory there might also be other options for 
implementation (eg, store segments and reconstruct full block once 
everything is received or just 'stream' it to the upper layer). To me it 
does not seem strictly necessary for high-performance implementations and 
it is probably very much related to the memory architecture and the 
specific way you can access it. 

Regards,
Felix



From:   "Vint Cerf" <vint at google.com>
To:     "Burleigh, Scott C (US 312B)" <scott.c.burleigh at jpl.nasa.gov>
Cc:     "Carlo Caini" <carlo.caini at unibo.it>, "Felix.Flentge at esa.int" 
<Felix.Flentge at esa.int>, "sis-dtn at mailman.ccsds.org" 
<sis-dtn at mailman.ccsds.org>
Date:   08/04/2021 14:24
Subject:        Re: [Sis-dtn] Telecon Notes 20210224



be careful with pooling - can get into some lockup scenarios (experience 
with ARPANET).

v


On Wed, Apr 7, 2021 at 6:52 PM Burleigh, Scott C (US 312B) via SIS-DTN <
sis-dtn at mailman.ccsds.org> wrote:
Hi, Carlo.  Excellent point on the simpler session timeout mechanism: LTP 
could simply expose a session cancellation function in its API, which BP 
could invoke upon the TTL expiration of the last remaining bundle in the 
block.  In a sense this is just moving the problem around rather than 
solving it, because it leaves open the question of selecting an 
appropriate TTL interval for each bundle.  But I think the bundle delivery 
time estimation algorithm is a good way to select TTL intervals as well!

I see what you're saying about pooling block retention resources and I 
agree it could be valuable.  One of the extension mechanisms we discussed 
this morning could be used for this purpose.  I'm still bothered by the 
potential for losing the segment(s) carrying this information and thereby 
defeating the optimization, but maybe that's an engineering trade-off that 
ends up being harmless.

Scott

-----Original Message-----
From: Carlo Caini <carlo.caini at unibo.it> 
Sent: Wednesday, April 7, 2021 1:15 PM
To: Burleigh, Scott C (US 312B) <scott.c.burleigh at jpl.nasa.gov>; 
Felix.Flentge at esa.int
Cc: sis-dtn at mailman.ccsds.org
Subject: [EXTERNAL] RE: [Sis-dtn] Telecon Notes 20210224

Dear Scott, 
    Thank you for your informative remarks. I fully agree with the 
possible removal of intermediate CPs. We too have not implemented them in 
the LTP version we are developing.
I agree also on session timer, which would protect also against possible 
stalls, should one of the two node stop operating (e.g. if the sender 
crashes after having sent an intemediate RAS but before the CP following 
the re-tx segments, the receiver should stall forever). There is another 
case, trivial to calculate, which could be used as ceiling value: in a 
block there are bundles, and bundles have a lifetime. The highest lifetime 
of the bundles contained in a block could be safely used as a ceiling for 
the session deadline. However, in this case, it could be the BP to tell 
LTP to cancel an ongoing session. 
Concerning block lenght, I agree with you on the max lenght constraint. 
However, to know in advance the lenght of a block could be still 
advantageous becouse this information could be used to reserve the right 
amount of space in RAM for the Rx session buffer, not a single byte more 
than necessary. This way, the total amount of RAM avaiulable for LTP at Rx 
side, could be pooled among all on going sessions, without putting any 
hard limit on the max number of concurrent Rx sessions. For example, given 
a total amount of RAM available, we could use this to fit 10 large blocks, 
or 100 small blocks, or whatever intermediate combination. This could add 
flexibility when speed at Rx is necessary (i.e. RAM compulsory). This 
would be not alternative to fragmenting very large bundles which would be 
most likely necessary anyway (we can neither use all RAM for a giant 
block, nor discover after having saturated all mememory available that we 
are sorry but we cannot accomodate any more bytes!). A possible solution 
could be to insert the block lenght in an extension, as an option, to be 
activated when there are no problems of bandwidth available, as in optical 
links.
Yours,
   Carlo
________________________________________
Da: Burleigh, Scott C (US 312B) [scott.c.burleigh at jpl.nasa.gov]
Inviato: mercoledì 7 aprile 2021 19:37
A: Carlo Caini; Felix.Flentge at esa.int
Cc: sis-dtn at mailman.ccsds.org
Oggetto: RE: [Sis-dtn] Telecon Notes 20210224

A couple of remarks:

As you have guessed, ION doesn't insert intermediate CPs because they 
would have introduced yet more complexity for limited advantage.  I 
definitely would not argue against removing them from the protocol.

Session timer is a good idea, though not really trivial to implement.  The 
right way to compute the timer interval, I think, would be to consult the 
contact plan and use techniques similar to the ones developed by Nikolaos 
Bezirgiannidis for bundle delivery time estimation.  This would be more 
accurate than a user-provided guess, and both ends of the session could 
make this computation independently; there would be no need for signaling.

Signaling block length is certainly attractive, but I can't think of a 
clean way to do it.  The first segment of the block is just as likely to 
be lost in transmission as the last.  Block length could be included in 
every Nth data segment, to minimize the risk of losing it, but that adds 
transmission overhead that increases with decreasing values of N.  I think 
a better approach might be simply to set a block size limit by management; 
when a bundle is to be inserted into a block whose remaining capacity is 
less than the size of the bundle, fragment the bundle.  (We already have 
to do that for the UDP convergence-layer adapter anyway.)

Scott

-----Original Message-----
From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org> On Behalf Of Carlo Caini
Sent: Friday, February 26, 2021 2:31 AM
To: Felix.Flentge at esa.int
Cc: sis-dtn at mailman.ccsds.org
Subject: [EXTERNAL] 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://urldefense.us/v3/__https://tools.ietf.org/html/rfc5326*section-6.19__;Iw!!PvBDto6Hs4WbVuu7!ch8g7EEz_e1eMBetbP7PTJqPefb5u01juhSStaKt4RA44_D6-QcvmVew1_M1m83-sy402NXl$ 
>), queuing a CS segment with

  reason-code RXMTCYCEXC and sending a transmission-session

  cancellation notice (Section 7.5<
https://urldefense.us/v3/__https://tools.ietf.org/html/rfc5326*section-7.5__;Iw!!PvBDto6Hs4WbVuu7!ch8g7EEz_e1eMBetbP7PTJqPefb5u01juhSStaKt4RA44_D6-QcvmVew1_M1m83-s1rm8pEy$ 
>) 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://urldefense.us/v3/__https://cwe.ccsds.org/fm/wiki/Lists/SISDTN*20LTP*20Update*202021/AllItems.aspx__;JSUl!!PvBDto6Hs4WbVuu7!ch8g7EEz_e1eMBetbP7PTJqPefb5u01juhSStaKt4RA44_D6-QcvmVew1_M1m83-s4ojz1VX$


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://urldefense.us/v3/__https://tools.ietf.org/html/draft-ietf-dtn-bpsec-27__;!!PvBDto6Hs4WbVuu7!ch8g7EEz_e1eMBetbP7PTJqPefb5u01juhSStaKt4RA44_D6-QcvmVew1_M1m83-s9rlVfia$




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.





_______________________________________________
SIS-DTN mailing list
SIS-DTN at mailman.ccsds.org
https://urldefense.us/v3/__https://mailman.ccsds.org/cgi-bin/mailman/listinfo/sis-dtn__;!!PvBDto6Hs4WbVuu7!ch8g7EEz_e1eMBetbP7PTJqPefb5u01juhSStaKt4RA44_D6-QcvmVew1_M1m83-s0zj8bBY$

_______________________________________________
SIS-DTN mailing list
SIS-DTN at mailman.ccsds.org
https://mailman.ccsds.org/cgi-bin/mailman/listinfo/sis-dtn


-- 
Please send any postal/overnight deliveries to:
Vint Cerf
1435 Woodhurst Blvd 
McLean, VA 22102
703-448-0965

until further notice




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20210421/be2ce26b/attachment-0001.htm>
-------------- 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/20210421/be2ce26b/attachment-0001.bin>


More information about the SIS-DTN mailing list