[Sis-dtn] Notes from the NASA DTN F2F Meeting

Jeremy.Mayer at dlr.de Jeremy.Mayer at dlr.de
Wed Feb 15 18:13:00 UTC 2023


Switching email so I can post... My comments are inlined.

From: Felix Flentge <Felix.Flentge at esa.int<mailto:Felix.Flentge at esa.int>>
Sent: Tuesday, February 14, 2023 4:32 PM
To: sburleig.sb at gmail.com<mailto:sburleig.sb at gmail.com>; 'Sanchez Net, Marc (US 332H)' <marc.sanchez.net at jpl.nasa.gov<mailto:marc.sanchez.net at jpl.nasa.gov>>; sis-dtn at mailman.ccsds.org<mailto:sis-dtn at mailman.ccsds.org>; Jeremy Pierce Mayer <jpmayer at gmv.com<mailto:jpmayer at gmv.com>>
Subject: RE: [Sis-dtn] Notes from the NASA DTN F2F Meeting

Hi,

Thanks for the detailed notes. I'll try to add some comments / answers below

Regards,
Felix

From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org<mailto:sis-dtn-bounces at mailman.ccsds.org>> On Behalf Of sburleig.sb--- via SIS-DTN
Sent: 13 February 2023 19:19
To: 'Sanchez Net, Marc (US 332H)' <marc.sanchez.net at jpl.nasa.gov<mailto:marc.sanchez.net at jpl.nasa.gov>>; sis-dtn at mailman.ccsds.org<mailto:sis-dtn at mailman.ccsds.org>
Subject: Re: [Sis-dtn] Notes from the NASA DTN F2F Meeting

Marc, thanks for sending this on.  A couple of thoughts in-line below.

Scott

From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org<mailto:sis-dtn-bounces at mailman.ccsds.org>> On Behalf Of Sanchez Net, Marc (US 332H) via SIS-DTN
Sent: Monday, February 13, 2023 9:10 AM
To: sis-dtn at mailman.ccsds.org<mailto:sis-dtn at mailman.ccsds.org>
Subject: [Sis-dtn] Notes from the NASA DTN F2F Meeting

Hi All,

Here are the notes/questions for the SIS-DTN WG that I recorded at the NASA DTN face-to-face meeting.


*        BPv7

o   Leigh Torgerson pointed out that in the assumptions of the proposed RTP book there is the following statement: "arbitrary bundle sizes-the multicast mechanism must not impose arbitrary limits that are less than the maximum bundle size on the size of bundles.". The question then becomes whether having a bundle size (10 MB) in the spec restricts other specifications in any way. JPM: I don't think it does; the intent of that comment was to prevent implementers from adding a "BP over multicast UDP" CLA with a 64k bundle limit and calling it bundle multicast.

o   Should we add a requirement (maybe a "should" rather than a "shall") for CLAs to notify BP when transmission with that CLA is possible? This would provide minimal indication of whether transmission via a CLA is possible.

?  Would this be a requirement that implementations would have to satisfy in order to be considered BPv7 compliant?  Isn't it strictly an implementation consideration?  How would it contribute to interoperability?
FF: What would be the exact semantics of 'transmission is possible'? It may depend on the implementation and the specific CLA. It could mean, I am ready to take it into an internal queue, I actually have already established a connection (for connection-oriented CLA), I take it and sent it but there is no guarantee, ...
Although it seems useful, it might be difficult to define it in a generic way and certainly implementations may have their own strategies (eg., we have a ready to send flag but also activation and connection states and can report when a bundle left the full stack). So, I would currently treat it as an implementation matter.

o   Compressed Bundle Reporting:

?  How that CBR handle bundle fragmentation?

?  I would think that fragmentary bundles are simply bundles; they should be reported to the nodes that created them, that is, the nodes that generated the fragments.
FF: 1. We should avoid fragmentation as much as possible! For CREB I would specify that the block has to be replicated in *one* fragment and set the block processing control flags to not replicate in each fragment. Thus, reporting can only happen once the complete bundle is re-assembled. Independent CREB can be inserted into the fragments themselves but these are completely independent from the CREBs in the unfragmented bundle (everything else seem to get very ugly and comples).

?  Why do we need CBR to define a new extension block with the FSN and flow sequence? PACE is using the service numbers in the transmit EID as the FSN, so they are able to uniquely identify flows and bundles within the flow without having an extension block.
FF: Maybe Flow ID is not a good term but we need something like this for flexibility. The Flow ID can be used to enable efficient reporting in specific network set-ups. E.g., if you would just use the service number and you would have two destinations with different node numbers but same service number and would send alternating to both of them, the reports would not compress well (or you would need to add node numbers); you could have similar situations in case you would sent to different next hops at the same time and want to have reception reporting from those. Service numbers are more an E2E thing.

?  Should we have a dedicated reporting mechanism for bundle expiration?
FF: We have bundle deletion; this covers it (+ maybe next answer).

?  Can we make bundle reporting extensible so that missions have the ability to have their reporting reasons?
FF: I guess we could simply add an optional text string to each report array. However, I would not standardize the content and it would be mission (or Agency specific). I would hope that we could get some interoperable failure reporting via Network Management.

*        LTPv2 (FF: @Jeremy Pierce Mayer<mailto:jpmayer at gmv.com>: Please correct me if I am wrong).

o   Will LTPv2 have a way to signal to the receiver the size of the LTP block? This would facilitate memory allocation at the receiver.
FF: Yes, block size included in all segment. JPM: Imagine TCP, we use almost exactly the same mechanism for offset & size reporting, since it facilitates linear memory allocation at the receiver.

o   Will LTPv2 have a "hook" to get notified when the underlying link is down. This can be used to pause timers, etc.
FF: Yes, similar to Rx/Tx Opportunity Windows in CFDP I would propose. JPM: The external interface for LTPv2 is identical(ish) to that of LTP, so it's possible.

o   Will LTPv2 have a way to aggregate report segments and report segment acknowledgements to reduce overhead? JPM: Yes, part of the notion of moving everything to extensions was to allow this srotf of behaviour.. There's one new "hook" for uplink availability. If that's used, then the receiver will aggregate the various acknowledgements until it can transit.

o   Will LTPv2 have a ping mechanism for the tx/rx engines to assess whether the link is running?
FF: No, I think the Opportunity Window mechanism should be enough and that should be fed by 'the environment' (e.g if there is bitlock).

o   Will LTPv2 have a concept of transmission deadline, which causes the tx to stop sending a block if it is not available at the destination by a certain moment? This could be used in conjunction with the bundle lifetime to cancel LTPv2 sessions proactively.
FF: No, but cancel can be requested.

o   APL has reported the following issues related to LTP that we way want to consider in LTPv2

?  Unspecified behavior that allows a memory leak and provide a method of denial-of-service attack. See https://github.com/nasa/HDTN/issues/19<https://urldefense.com/v3/__https:/eur05.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fnasa*2FHDTN*2Fissues*2F19&data=05*7C01*7CFelix.Flentge*40esa.int*7C508617eb5c734acb263308db0deedf7c*7C9a5cacd02bef4dd7ac5c7ebe1f54f495*7C0*7C0*7C638119091828391986*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&sdata=jCGSrsoYTmFb0wmdoW3ZupiFnvtv3NQ8WyPUWl2IfR0*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU!!MvyJQugb!FzPGizF1--jqsL0mUohErAQiPkisMu0JuSQzn1819g_vrvbMm2B7ebiBR8LwUPc9DCx3VOlFqkLu1wrsZsiZOA$>
FF: Yes, we should have session timeouts. JPM: we have session timeouts based on time since last reception/acknowledgement. For unreliable sessions, we wait until that timer expires and dump the data as-is.

?  LTP should guarantee that a reception report is sent when all data is received, not necessarily in response to a checkpoint. See https://github.com/nasa/HDTN/issues/23<https://urldefense.com/v3/__https:/eur05.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fnasa*2FHDTN*2Fissues*2F23&data=05*7C01*7CFelix.Flentge*40esa.int*7C508617eb5c734acb263308db0deedf7c*7C9a5cacd02bef4dd7ac5c7ebe1f54f495*7C0*7C0*7C638119091828391986*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&sdata=tIX8*2B*2B4h1JdcDDFg5*2FP7Q8WPc6gHUgqIhXOVZifGjqg*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU!!MvyJQugb!FzPGizF1--jqsL0mUohErAQiPkisMu0JuSQzn1819g_vrvbMm2B7ebiBR8LwUPc9DCx3VOlFqkLu1wo1XJF6eg$>
FF: OK, I know we discussed session close behavior which should cover this (Jeremy to confirm). JPM: Yes, the protocol supports an "ASYNC ACK" behaviour which can be sent if a session closure notification is received and unacknowledged data exists.

?  LTP should allow the transmit engine to delay sending data segments or reports long enough to receive out-of-order segments that would affect the retransmission behavior. See https://github.com/nasa/HDTN/issues/22<https://urldefense.com/v3/__https:/eur05.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fnasa*2FHDTN*2Fissues*2F22&data=05*7C01*7CFelix.Flentge*40esa.int*7C508617eb5c734acb263308db0deedf7c*7C9a5cacd02bef4dd7ac5c7ebe1f54f495*7C0*7C0*7C638119091828391986*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&sdata=BVeStvbQqGJTIq7VPqCA4INB6GVh5z6K*2FlsTqBwwGUw*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUl!!MvyJQugb!FzPGizF1--jqsL0mUohErAQiPkisMu0JuSQzn1819g_vrvbMm2B7ebiBR8LwUPc9DCx3VOlFqkLu1wrxilpfaQ$> and https://github.com/nasa/HDTN/issues/24<https://urldefense.com/v3/__https:/eur05.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fnasa*2FHDTN*2Fissues*2F24&data=05*7C01*7CFelix.Flentge*40esa.int*7C508617eb5c734acb263308db0deedf7c*7C9a5cacd02bef4dd7ac5c7ebe1f54f495*7C0*7C0*7C638119091828391986*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&sdata=iZD*2FsgFPBgcSIAo206ZmG6GNJxKpwGiC0y12UQsr2r4*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUl!!MvyJQugb!FzPGizF1--jqsL0mUohErAQiPkisMu0JuSQzn1819g_vrvbMm2B7ebiBR8LwUPc9DCx3VOlFqkLu1wrhjJEvJQ$>.
FF: Yeah, I see similar issues with CFDP (in particular, if we use different bands). Not sure whether we should have this as part of the standard or keep it as implementation matter (like currently for CFDP). At least, we could put corresponding notes in the standard (it may not even be based on timeouts but also other mechanisms). JPM: This is an implementation matter, honestly, but could be accomplished with a delayed transition to the retransmission state.

*        Others wishes from the community

o   DTN multicast

o   Provide mechanisms for in-order delivery, lack of gaps, and lack of duplicates (similar to DTPC, but more modular, any possibly not end-to-end)

?  Having more options on the DTPC feature menu has been an open item for many years.  DTPC is just a prototocol that ought to be stackable like any other protocol.  If the DTPC spec says that the layer above it can only be the end-to-end user application, then the spec should be revised.
FF: We should also analyse what could be achieved with CBR Delivery Reports.

o   Standard CCSDS format for contact plans
FF: Can we build on existing standards like the simple schedule format?

o   DNS-like service to avoid having to manually rely on IANA/SANA registries.

o   Stream of video/voice via DTN. KPLO used a non-standard version of BSSP and yet SIS-MIA might be working on RTP over DTN.
FF: I am not a fan of the 'unreliable / reliable' channel approach in BSSP. We are looking into doing something like this just using LTP red. Without errors, we should have the data as fast as with green (no need to close the session before presenting it); if there are errors, we are protected by re-transmission (and would just store and not present). Out-of-order can be detected by bundle timestamps. One disadvantage may be that it is tight to LTP (so, even for terrestrial use) but I would not see an issue with just using LTP/UDP. Bundle streaming over LTP should even be fine for multi-hop if we can define bundle priorities (another wish).
                            JPM: Wearing my SIS-MIA hat, we are. However, we ensured that we don't require BSSP, since I'm not a huge fan of it.

Thanks,
-----------------------------------------------------------------------------------------------------------------------
Marc Sanchez Net (332H)
Telecommunications Engineer
Jet Propulsion Laboratory
Cell: (617) 953-7977<mailto:(617)%20953-7977> | Email: marc.sanchez.net at jpl.nasa.gov<mailto:marc.sanchez.net at jpl.nasa.gov>
-----------------------------------------------------------------------------------------------------------------------

This message is intended only for the recipient(s) named above. It may contain proprietary information and/or protected content. Any unauthorised disclosure, use, retention or dissemination is prohibited. If you have received this e-mail in error, please notify the sender immediately. ESA applies appropriate organisational measures to protect personal data, in case of data privacy queries, please contact the ESA Data Protection Officer (dpo at esa.int<mailto:dpo at esa.int>).
P Please consider the environment before printing this e-mail.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20230215/3a02376e/attachment-0001.htm>


More information about the SIS-DTN mailing list