[Sis-dtn] [EXTERNAL] [BULK] Re: BP Sockets [was RE: IP networking within DTN-based protocol architectures]

sburleig.sb at gmail.com sburleig.sb at gmail.com
Mon Mar 11 16:06:25 UTC 2024


It’s not an implementation of BP.  It’s an API that all implementations of BP could support and that large numbers of applications – applications that already communication over sockets – could use in order to migrate to BP at low cost.

 

You’re right, though, that it has nothing to do with the question of creating a group to handle IP over BP, which I doubt is a good idea.  (ION has included an implementation of this capability for several years, but nobody seems to be enthusiastic about using it.)  I think offering an easy way for existing IP applications to utilize BP (rather than tunneling applications’ current IP traffic over BP) is a better idea.

 

Scott

 

From: Deaton, Joshua E. (MSFC-HP27)[MOSSI2] <joshua.e.deaton at nasa.gov> 
Sent: Monday, March 11, 2024 8:54 AM
To: sburleig.sb at gmail.com; Mayer, Jeremy P. (JSC-OT/ESA)[EUROPEAN SPACE AGENCY] <jeremy.mayer at dlr.de>; Felix.Flentge at esa.int; vint at google.com
Cc: sis-dtn at mailman.ccsds.org
Subject: RE: [EXTERNAL] [BULK] Re: [Sis-dtn] BP Sockets [was RE: IP networking within DTN-based protocol architectures]

 

While this does look interesting and would definitely have merit in existing I’m not sure what standardization would be needed. This really just looks like another implementation at this point. Also, I’m not sure how this relates to the original question of creating a group for how to handle IP over BP. In that regard I do think a new group would be good as we’ve stated several times that we think it is outside the scope of the SIS-DTN group. I do think there needs to be discussion on what exactly we mean by IP over BP, whether we are going to simply encapsulate an IP packet vs removing the payload from the IP packet a.k.a terminating the transport layer at the bundle creation point. 

 

Sincerely,

Joshua Deaton

 

From: sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com>  <sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> > 
Sent: Monday, March 11, 2024 10:34 AM
To: Deaton, Joshua E. (MSFC-HP27)[MOSSI2] <joshua.e.deaton at nasa.gov <mailto:joshua.e.deaton at nasa.gov> >; Mayer, Jeremy P. (JSC-OT/ESA)[EUROPEAN SPACE AGENCY] <jeremy.mayer at dlr.de <mailto:jeremy.mayer at dlr.de> >; Felix.Flentge at esa.int <mailto:Felix.Flentge at esa.int> ; vint at google.com <mailto:vint at google.com> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: RE: [EXTERNAL] [BULK] Re: [Sis-dtn] BP Sockets [was RE: IP networking within DTN-based protocol architectures]

 


CAUTION: This email originated from outside of NASA.  Please take care when clicking links or opening attachments.  Use the "Report Message" button to report suspicious messages to the NASA SOC. 

 

The way I conceive it is something like this:

 

int                                           bpFd;

const void                           *serializedAdu;

size_t                                    aduLen;

int                                           flags;

const struct sockaddr     *destEid;

socklen_t                            eidLen;

 

bpFd = socket(AF_BP, SOCK_RAW, 0);

 

/*           Maybe some sockopt() calls.                       */

 

/*           Set destEid, eidLen, maybe flags.               */

 

if (sendto(bpFd, serializedAdu, aduLen, flags, destEid, eidLen) < 0)

{

                perror(“Failed to send application data.”);

}

 

The implementation and configuration of BP in the sockets code would determine the means by which the data would be transferred.  That implementation could be any BP implementation, configured in the same general way that we configure BPAs now, so it would have a convergence layer interface that might invoke TCP or UDP or (directly) IP or LTP or CCSDS encapsulation packets protocol.  No need to displace anything, no need even to forego the use of TCP (under BP) for bundle transmission.

 

Scott

 

From: Deaton, Joshua E. (MSFC-HP27)[MOSSI2] <joshua.e.deaton at nasa.gov <mailto:joshua.e.deaton at nasa.gov> > 
Sent: Monday, March 11, 2024 7:40 AM
To: sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> ; Mayer, Jeremy P. (JSC-OT/ESA)[EUROPEAN SPACE AGENCY] <jeremy.mayer at dlr.de <mailto:jeremy.mayer at dlr.de> >; Felix.Flentge at esa.int <mailto:Felix.Flentge at esa.int> ; vint at google.com <mailto:vint at google.com> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: RE: [EXTERNAL] [BULK] Re: [Sis-dtn] BP Sockets [was RE: IP networking within DTN-based protocol architectures]

 

Just to make sure I am following correctly; the current suggestion is to create a POSIX (BSD) Socket Specification for BP where we are putting BP directly on top of IP without TCP/UDP or are we trying to fully displace IP all the way down and so BP replaces IP at layer 3.

 

Sincerely,

Joshua Deaton

 

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: Monday, March 11, 2024 9:22 AM
To: Mayer, Jeremy P. (JSC-OT/ESA)[EUROPEAN SPACE AGENCY] <jeremy.mayer at dlr.de <mailto:jeremy.mayer at dlr.de> >; Felix.Flentge at esa.int <mailto:Felix.Flentge at esa.int> ; vint at google.com <mailto:vint at google.com> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: [EXTERNAL] [BULK] Re: [Sis-dtn] BP Sockets [was RE: IP networking within DTN-based protocol architectures]

 


CAUTION: This email originated from outside of NASA.  Please take care when clicking links or opening attachments.  Use the "Report Message" button to report suspicious messages to the NASA SOC. 

 

Right, the service interface in the CCSDS BP specification -- like all service specifications -- is abstract; it defines the properties of a BP API for the purpose of explaining the required behavior of a Bundle Protocol Agent.  Any number of existing and future BP implementations with very different APIs can be wholly conformant to that specification.  But a BP sockets specification would enable any application that currently communicates over POSIX (BSD) sockets to use BP instead of UDP without extensive code changes; the syntax is already in place.  That’s the compelling advantage of the idea.

 

Scott

 

From: Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de>  <Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de> > 
Sent: Monday, March 11, 2024 3:48 AM
To: Felix.Flentge at esa.int <mailto:Felix.Flentge at esa.int> ; sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> ; vint at google.com <mailto:vint at google.com> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: RE: BP Sockets [was RE: [Sis-dtn] IP networking within DTN-based protocol architectures]

 

Hi,

In the abstract, I’d say so, but (let’s be honest) many developers tend to ignore the abstract notion of the service interface and prefer to have a tangible set of API operations.

 

Thanks,

Jeremy

 

From: Felix Flentge <Felix.Flentge at esa.int <mailto:Felix.Flentge at esa.int> > 
Sent: Montag, 11. März 2024 11:46
To: sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> ; Mayer, Jeremy <Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de> >; vint at google.com <mailto:vint at google.com> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: BP Sockets [was RE: [Sis-dtn] IP networking within DTN-based protocol architectures]

 

Hi,

 

I like the idea but isn’t this already covered (partially) by the CCSSDS BP service interface, eg:

 

*         Bind – register EID in passive state

*         Listen – register EID in active state

*         Connect – sets a default destination for future send.request

*         Send – send.request 

*         Recv – poll.request

 

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: Saturday, March 9, 2024 6:56 PM
To: Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de> ; vint at google.com <mailto:vint at google.com> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: Re: [Sis-dtn] IP networking within DTN-based protocol architectures

 

Thanks for that analysis, Jeremy.  We’ve been talking about at least since STINT several years ago, and I really think it’s an idea whose time has come.

 

Scott

 

From: Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de>  <Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de> > 
Sent: Saturday, March 9, 2024 8:01 AM
To: vint at google.com <mailto:vint at google.com> ; sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> 
Cc: Tomaso.deCola at dlr.de <mailto:Tomaso.deCola at dlr.de> ; sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: RE: [Sis-dtn] IP networking within DTN-based protocol architectures

 

Hi,

That’s a fair point. Generally, I’d say that BP-POSIX could work with the following:

*         Bind – works: sets source EID.

*         Listen – works; sets source EID and opens reception. 

*         Connect – UDP style, sets default destination address.

*         Send – only valid for connected bundlesocks. 

*         Sendto/sendmsg – works.

*         Recv – works.

*         Recvfrom/recvmsg – works, probably should support “wildcard” EIDs, at least for services. 

*         Getaddrinfo and friends – not required

*         Select – Works, highly implementation dependent.

 

BSD sockets really do work for everything!

 

Thanks,

Jeremy

 

 

From: Vint Cerf <vint at google.com <mailto:vint at google.com> > 
Sent: Samstag, 9. März 2024 16:51
To: Scott Burleigh <sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> >
Cc: Mayer, Jeremy <Jeremy.Mayer at dlr.de <mailto:Jeremy.Mayer at dlr.de> >; de Cola, Tomaso <Tomaso.deCola at dlr.de <mailto:Tomaso.deCola at dlr.de> >; Dr. Keith L Scott via SIS-DTN <sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> >
Subject: Re: [Sis-dtn] IP networking within DTN-based protocol architectures

 

Yes generally speaking

 

On Sat, Mar 9, 2024, 10:43 <sburleig.sb at gmail.com <mailto:sburleig.sb at gmail.com> > wrote:

I think we get closer to BSD/POSIX if we use UDP as a model.  The attenuated UDP notion of connect() would work for BP, I think.

 

Scott

 

From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org <mailto:sis-dtn-bounces at mailman.ccsds.org> > On Behalf Of Jeremy Mayer via SIS-DTN
Sent: Saturday, March 9, 2024 12:35 AM
To: vint at google.com <mailto:vint at google.com> ; Tomaso.deCola at dlr.de <mailto:Tomaso.deCola at dlr.de> 
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: Re: [Sis-dtn] IP networking within DTN-based protocol architectures

 

Hi,

I’m tempted to agree. I’ve seen limited utility in IP->BP encap, as (other than some unidirectional UDP-based applications), the assumptions made in IP networks (especially TCP) do not scale well to DTN environments. The two largest issues I see are:

A.      The assumption that relatively low-latency and bidirectional communication is available.

B.      The layering of stream and message-based semantics.

 

Almost every TCP-ish application which I’ve seen run over BP winds up with exceptionally low performance, unless some sort of PEP is integrated, which adds complexity, failure points, and fragility. 

 

+1 for the notion of a standard API though, with the additional caveat that we should standardize nomenclature across implementations. We could likely reuse about 80% of the BSD/POSIX interface for BP, with the notable exception of connect.

 

Thanks,

Jeremy

 

From: SIS-DTN <sis-dtn-bounces at mailman.ccsds.org <mailto:sis-dtn-bounces at mailman.ccsds.org> > On Behalf Of Vint Cerf via SIS-DTN
Sent: Freitag, 8. März 2024 12:31
To: de Cola, Tomaso <Tomaso.deCola at dlr.de <mailto:Tomaso.deCola at dlr.de> >
Cc: sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> 
Subject: Re: [Sis-dtn] IP networking within DTN-based protocol architectures

 

The more I think about this, the less I like trying to manage off-Earth IP networks remotely. I think I would much rather see native applications running over BP. In any case we need to develop standard APIs for BP, such as the Sockets interface for Linux/Unix/Posix. 

 

We do need to figure out how IP-based and BP-based applications interwork. What do Domain Names mean in the BP context for example. 

 

v

 

 

On Fri, Mar 8, 2024 at 4:24 AM Tomaso de Cola via SIS-DTN <sis-dtn at mailman.ccsds.org <mailto:sis-dtn at mailman.ccsds.org> > wrote:

Dear All,

 

as mentioned yesterday during our DTN weekly, during the past Fall meeting a presentation was given by University of Nanjing with the support of Chinese agency about IP-networking within DTN-based protocol stacks, especially for planetary network segments (i.e. what is often referred to as IP-islands). 

The link to that presentation is as follows:

 

https://cwe.ccsds.org/sis/docs/SIS-DTN/Meeting%20Materials/2023/Fall%202023%20SIS-DTN/Possible%20BOF%20Discussion.pptx?d=w44d31f0b3be649e4bf24ec4ae50479a1

 

The proposal made there was for a BOF (i.e. towards a WG formation), which I see however too premature. On the contrary, I’d be more in favour for a SIG (Special Interest Group), happening outside the DTN WG.

 

As discussed yesterday, key points to clarify/agree are:

 

1.       Is the proposal sound and meaningful to be addressed?

2.       Is appropriate for the SIS area or should be better addressed at architectural level in SEA (maybe it can be even a cross-area initiative)?

3.       In the case of SIS, is there significant support to start this? In other words, which agencies have interest in contributing to this activity?

 

Thank you for sharing comments/objections/suggestions.

 

Have a nice weekend,

 

Tomaso

 

———————————————————————— 

Deutsches Zentrum für Luft- und Raumfahrt (DLR) 
German Aerospace Center 
Institute of Communications and Navigation | Satellite Networks | Oberpfaffenhofen | 82234 Wessling | Germany 

Tomaso de Cola, Ph.D. | Integrated Satellite Systems (INS) Team Leader
Telefon +49 8153 28-2156 <tel:+49%208153%20282156>  | Telefax  +49 8153 28-2844 <tel:+49%208153%20282844>  |  <mailto:sandro.scalise at dlr.de> tomaso.decola at dlr.de 
 <http://www.dlr.de/kn/institut/abteilungen/san> http://www.dlr.de/kn/institut/abteilungen/san 

 

 

_______________________________________________
SIS-DTN mailing list
SIS-DTN at mailman.ccsds.org <mailto: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

Google, LLC

1900 Reston Metro Plaza, 16th Floor

Reston, VA 20190

+1 (571) 213 1346

 

 

until further notice

 

 

 

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> ). 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20240311/ca5e5e22/attachment-0001.htm>


More information about the SIS-DTN mailing list