Re: [dtn] [EXT] I-D Action: draft-ietf-dtn-ipn-update-00.txt

sburleig.sb@gmail.com Thu, 10 November 2022 23:10 UTC

Return-Path: <sburleig.sb@gmail.com>
X-Original-To: dtn@ietfa.amsl.com
Delivered-To: dtn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8550DC1524AC for <dtn@ietfa.amsl.com>; Thu, 10 Nov 2022 15:10:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SZl7aXugLlhE for <dtn@ietfa.amsl.com>; Thu, 10 Nov 2022 15:10:48 -0800 (PST)
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 33383C14CE2B for <dtn@ietf.org>; Thu, 10 Nov 2022 15:10:48 -0800 (PST)
Received: by mail-pj1-x102d.google.com with SMTP id c15-20020a17090a1d0f00b0021365864446so3200383pjd.4 for <dtn@ietf.org>; Thu, 10 Nov 2022 15:10:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=rS9fR8h+QAnyMXEZCmxg38IuNeb5iEgCDtH4z/N5rQA=; b=bG0B1hsRL0K//CNLlQWm45LzFhtx4E333V46h5wjYqrBDchY/0mrehL0i72ApRVhSW eGi6GLWMVU65dBvXwiLoHeY0EEA3XTCqCPT3Za1xSH3rBOacAHMzDfyFNXZ8zIGOc3VM Xr//BcAwXfSK1Ykdw7Fg8Um8Qq4AG3mMQ2utsbI5uNXJLdxJhs86H2O3spf20vIdnZ4Q NoQwV11pWNTaCac5E2xxnDSvftvHchynUSHKSy19amBHb0GHlczkWwgHmw8lQW5y/MWA 0/8Btg24WXPYsV+EfWrfWYA+ogRa939RMplNoqvQsN2ZFP8Qyf4OQ4LwyfK1+PPdeVJt ws3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rS9fR8h+QAnyMXEZCmxg38IuNeb5iEgCDtH4z/N5rQA=; b=ihLGhcKZex/C9Cl6CrQUAoWj+MfS3p3XyWGnuv6/SDPLeicorwNudoZrwczfLJ4RET YYeAuZNseIQdEt+p7uNPlpWS8EWXCLSVblwO/UFptpxNFGB5scMUvzbICZ0CqMAO3EP3 vmLlK29myCXBcGQUo7mYMG0KbAU499RoXdPOZVKnGPIf4/J+hauIGZwK5IFILrQYzkjA 9Ef8kjwPY4K/quj2EmgTPc8/iTJ/uLRjCjPYUn6hId9bx67kegTUdQf3RznEVaZJ2key 39/oyZUlsGLqiLWVrqHAS87pAUz9LO2/xxtagJxr3stbL1dRHc9hKVGT6Bt/GnE72fe6 bCOw==
X-Gm-Message-State: ACrzQf3jaYjAfv7W8ieBeI/0cp0+DoSSQFYXBG7GACkKUHYZjq8EDRKV p3breYOc6tl1tSGjHwoMAfY=
X-Google-Smtp-Source: AMsMyM68973Li1UdoYty/AbWfXIfWQZaZ5lfL51SfOm1HjF1ETUTfTvMUOhUfreTRelvv2mVZ3MpAQ==
X-Received: by 2002:a17:90a:d78b:b0:213:18ad:f71f with SMTP id z11-20020a17090ad78b00b0021318adf71fmr2421004pju.178.1668121847185; Thu, 10 Nov 2022 15:10:47 -0800 (PST)
Received: from Nick (cpe-72-134-194-38.natsow.res.rr.com. [72.134.194.38]) by smtp.gmail.com with ESMTPSA id o127-20020a625a85000000b0056bc9294e1asm198076pfb.24.2022.11.10.15.10.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Nov 2022 15:10:46 -0800 (PST)
From: sburleig.sb@gmail.com
To: scott@solarnetone.org
Cc: "'Sipos, Brian J.'" <Brian.Sipos@jhuapl.edu>, 'Rick Taylor' <rick@tropicalstormsoftware.com>, rick.taylor@ori.co, dtn@ietf.org
References: <166781866257.52170.10627212962929672455@ietfa.amsl.com> <9d40bf4b8427460795554704b9bee182@jhuapl.edu> <f99056da-6711-10f5-79a0-517910cab3ad@solarnetone.org> <04f17f5dba9648e4900a981a3fe75f8c@jhuapl.edu> <013701d8f51c$4620e540$d262afc0$@gmail.com> <80cc2b1e9ac7cd19a488c95a0a56495ea04fb2cf.camel@tropicalstormsoftware.com> <017801d8f51e$53cd0a00$fb671e00$@gmail.com> <4a41d57f-7d1b-372f-516d-3946b524eb49@solarnetone.org> <1e4ebf3318ae459cb42faa8ea9af1f4a@jhuapl.edu> <00c001d8f552$323c84e0$96b58ea0$@gmail.com> <245e9eec-33c5-b3fa-8bb3-dc237ca960c6@solarnetone.org>
In-Reply-To: <245e9eec-33c5-b3fa-8bb3-dc237ca960c6@solarnetone.org>
Date: Thu, 10 Nov 2022 15:10:46 -0800
Message-ID: <013901d8f559$ab323b40$0196b1c0$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQEaxkYwOLpi1yeeIlFM4beqb9oCFQJ9OIcmALMBo70Bbl5QKQD60sN9AWOJZ48BfsuBNwNgwDcyAXuyzP0BQ6LJvwEsGFkSrzber9A=
Content-Language: en-us
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/BWrmOSvOrU3OVNmEnV-54UUjXdw>
Subject: Re: [dtn] [EXT] I-D Action: draft-ietf-dtn-ipn-update-00.txt
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Delay Tolerant Networking \(DTN\) discussion list at the IETF." <dtn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtn>, <mailto:dtn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn/>
List-Post: <mailto:dtn@ietf.org>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtn>, <mailto:dtn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Nov 2022 23:10:52 -0000

Hi, Scott.  I can only speak to the way ION could handle this; other implementations would do it differently.

In ION, spacecraft A would be (let's say) a single node with one identified topological neighbor: another spacecraft B in the same "network" (administratively speaking).  In the configuration of node A there would be a single outduct, for transmission to B via long range radio. The contact plan at A would say that all the nodes it wants to talk to are reachable through relay B.  It would also say that all those nodes are additionally reachable through a third spacecraft that is in a foreign "network", C, but A has got no way of forwarding bundles to C (no outduct to it and no contact in the contact plan).

Now suppose A's long range radio fails; the data rate for transmission to B drops to zero, and suddenly contact graph routing determines that no data can be forwarded at all.  All bundles pending transmission are revectored into the "limbo" queue, where they sit waiting for something good to happen.

But now node C is detected by neighbor discovery.  In the course of neighbor discovery, A adds an outduct for transmission to C via its short-range radio and it also adds a contact with C to its contact plan.

Addition of the new contact causes reconsideration of all the nodes in the limbo queue, and happily it is determined that they can now all be forwarded through C to their destinations.  The bundles are enqueued to the C outduct and are thereupon transmitted over short-range radio to C for forwarding.

Scott  

-----Original Message-----
From: scott@solarnetone.org <scott@solarnetone.org> 
Sent: Thursday, November 10, 2022 2:28 PM
To: sburleig.sb@gmail.com
Cc: 'Sipos, Brian J.' <Brian.Sipos@jhuapl.edu>; 'Rick Taylor' <rick@tropicalstormsoftware.com>; rick.taylor@ori.co; dtn@ietf.org
Subject: RE: [dtn] [EXT] I-D Action: draft-ietf-dtn-ipn-update-00.txt

Hi Scott,

What happens when a long range radio on a spacecraft fails, but its short range radio can reach an alternate authority's network; perhaps of a commercial provider, perhaps a partner space agency.  Is there another reasonable way for the craft to reroute transmission, if, for example, neighbor discovery shows a viable contact in range for long enough to dump the data off into a network with a working long range link?

Thanks,
ScottJ

On Thu, 10 Nov 2022, sburleig.sb@gmail.com wrote:

> Brian, this isn't exactly right.  Every BP node comprises a BP Agent, an Application Agent, and zero or more Convergence-Layer Adapters (see section 3.1 and Figure 2 of RFC 9171).  The node - not the BPA - is the thing that is assigned an IPN node number.
>
> But ION is indeed limited to assigning exactly one node number to a given node; stating that node number is one of the very first steps of deploying an ION BP node.
>
> You're also correct that an IPN node number is not a Node ID as defined in RFC 9171, much as I might wish it otherwise.  A Node ID is defined as the endpoint ID of any singleton endpoint of which the node is a member (RFC 9171 section 4.2.5.2).
>
> A BP endpoint is simply a set of nodes, nothing more.  There is nothing in RFC 9171 that prohibits a given node from registering in (becoming a member of) any endpoint it likes, so unfortunately it is conceptually possible for a given node to register (for example) in two different administrative endpoints whose EIDs are ipn-scheme URIs with (necessarily) different node numbers.
>
> In this event, the node would have two different node IDs and would be informally identified by two different node numbers.  I don't think this is ever necessary, and I don't think it's desirable.
>
> Scott
>
> -----Original Message-----
> From: Sipos, Brian J. <Brian.Sipos@jhuapl.edu>
> Sent: Thursday, November 10, 2022 9:47 AM
> To: scott@solarnetone.org; sburleig.sb@gmail.com
> Cc: 'Rick Taylor' <rick@tropicalstormsoftware.com>; 
> rick.taylor@ori.co; dtn@ietf.org
> Subject: RE: [dtn] [EXT] I-D Action: draft-ietf-dtn-ipn-update-00.txt
>
> Scott,
> The BP Agent (BPA) is the thing which gets assigned an IPN Node Number and I believe that ION is limited to assigning exactly one node number to a BPA. It's important not to confuse the IPN node number, which is what we are talking about, with a Node ID. An ION BPA can currently be assigned a set of endpoint Node IDs but they must all have the same IPN node number (e.g. one BPA can have endpoints "ipn:3.1" and "ipn:3.8", but cannot have endpoint "ipn:5.1").
>
> CLAs are fully separate from Endpoint ID (and Node ID) and don't have their own on-the-wire identifiers; any CLA identifier or CLA parameters are an implementation detail and not currently standardized. So in your case you were working with 5 nodes.
>
> If Section 3.1 of RFC 9171 draws equivalency of a BP "node" to an IPv6 "interface", meaning it's the thing to which BP names / IP addresses are assigned, then the BP model is missing the concept of the IPv6 "node" which is the router which operates separately from address assignments. In the BP model the node is 1:1 with the BPA which is 1:1 with the administrative endpoint, and there is no specific example of how multiple node number assignments would interact with that structure.
>
> My naïve understanding is that a BPA is still 1:1 with an administrative endpoint and if there were multiple IPN node numbers assigned to that "node" the administrative endpoint (the entity doing the protocol work) would actually be registered as the "ipn:X.0" endpoint on all of the node numbers. In this case there is one BP "node" which is assigned multiple node numbers and it's the one BPA which is doing the routing and forwarding. This is more in-line with the IPv4 model where IP addresses are all assigned to the node, the same thing which is the router.
>
>> -----Original Message-----
>> From: scott@solarnetone.org <scott@solarnetone.org>
>> Sent: Thursday, November 10, 2022 11:58 AM
>> To: sburleig.sb@gmail.com
>> Cc: 'Rick Taylor' <rick@tropicalstormsoftware.com>; Sipos, Brian J.
>> <Brian.Sipos@jhuapl.edu>; rick.taylor@ori.co; dtn@ietf.org
>> Subject: Re: [dtn] [EXT] I-D Action: draft-ietf-dtn-ipn-update-00.txt
>>
>> APL external email warning: Verify sender scott@solarnetone.org 
>> before clicking links or attachments
>>
>>
>> On Thu, 10 Nov 2022, sburleig.sb@gmail.com wrote:
>>
>>> Hi, Rick.  The definitions of "node" and "BP agent" are in section 3.1.
>>> The observation that BP nodes are functionally analogous to network 
>>> interface cards is merely an observation, but I think it's 
>>> consistent with -- amplifying -- the third and fourth paragraphs of section 3.2.
>>
>> +1
>>
>> So under these definitions, my demonstrated implementation is 
>> conformant with the proposal, since I am not applying more than one 
>> Node ID to any single process, specifically CLA related daemons?  
>> This makes it also true that I demonstated 7 nodes, not 5. Each CLA 
>> is named with a different NodeID on the ION instance which implements 
>> UDP, LTP/UDP, and TCP simultaneously, making that 3 nodes instead of one.  Is that correct?
>>
>> ScottJ
>>
>>
>>
>>
>>>
>>> Scott
>>>
>>> -----Original Message-----
>>> From: Rick Taylor <rick@tropicalstormsoftware.com>
>>> Sent: Thursday, November 10, 2022 7:56 AM
>>> To: Brian.Sipos@jhuapl.edu; sburleig.sb@gmail.com; 
>>> scott@solarnetone.org
>>> Cc: rick.taylor@ori.co; dtn@ietf.org
>>> Subject: Re: [dtn] [EXT] I-D Action: 
>>> draft-ietf-dtn-ipn-update-00.txt
>>>
>>> Hi Scott,
>>>
>>> That wasn't my reading, but I am often wrong.  Do you have a 
>>> reference to the
>> relevant section(s)?
>>>
>>> Cheers
>>>
>>> Rick
>>>
>>> On Thu, 2022-11-10 at 07:51 -0800, sburleig.sb@gmail.com wrote:
>>>> I think RFC 9171 is fairly clear on the definitions of "node" and 
>>>> "BP agent".  BP nodes are functionally analogous to network 
>>>> interface cards; any number of BP nodes can be located on a single 
>>>> computing device (whether physical or virtual).
>>>>
>>>> Scott
>>>>
>>>> -----Original Message-----
>>>> From: dtn <dtn-bounces@ietf.org> On Behalf Of Sipos, Brian J.
>>>> Sent: Thursday, November 10, 2022 4:30 AM
>>>> To: scott@solarnetone.org
>>>> Cc: dtn@ietf.org; rick.taylor@ori.co
>>>> Subject: Re: [dtn] [EXT] I-D Action: 
>>>> draft-ietf-dtn-ipn-update-00.txt
>>>>
>>>> Scott,
>>>> I do look forward to seeing more detail about use cases involving a 
>>>> node with multiple IPN node numbers.
>>>>
>>>> I wonder though if this is a terminology difference/confusion 
>>>> similar to how
>>>> IPv4 assigned addresses to a "host" while IPv6 assigns addresses to 
>>>> an "interface" with a host being allowed to have any number of 
>>>> interfaces. >From my current reading along with this proposed 
>>>> additional constraint, each BP Agent (BPA) instance is a "node" 
>>>> with a single node number but there could be a larger entity where 
>>>> BPA instances can share storage and routing logic to provide 
>>>> bridges between those BPAs. Or maybe there needs to be 
>>>> clarification on the difference (if there is one) between a "BP 
>>>> Agent" (with a single allowed IPN node number and single 
>>>> administrative endpoint) and a "BP Node" as something else possibly larger in scope.
>>>>
>>>>> -----Original Message-----
>>>>> From: scott@solarnetone.org <scott@solarnetone.org>
>>>>> Sent: Wednesday, November 9, 2022 6:32 PM
>>>>> To: Sipos, Brian J. <Brian.Sipos@jhuapl.edu>
>>>>> Cc: dtn@ietf.org; rick.taylor@ori.co
>>>>> Subject: Re: [dtn] [EXT] I-D Action: draft-ietf-dtn-ipn-update- 
>>>>> 00.txt
>>>>>
>>>>> APL external email warning: Verify sender scott@solarnetone.org 
>>>>> before clicking links or attachments
>>>>>
>>>>> Hi Brian,
>>>>>
>>>>> On Wed, 9 Nov 2022, Sipos, Brian J. wrote:
>>>>>
>>>>>> Rick,
>>>>>> I think this kind of new constraint on EID locality is very
>>>>>> helpful:
>>>>>>> All 'ipn' scheme URIs for endpoints co-located on a single 
>>>>>>> bundle processing node MUST share the same value for the 
>>>>>>> node-nbr component.
>>>>>
>>>>> I have to disagree.  This severely limits useful, already deployed 
>>>>> functionality, as you will see in the wg meeting, and will limit 
>>>>> the ability to implement sensible routing practices.  The proposal 
>>>>> turns every node into an end-user host.
>>>>>
>>>>> Enjoy,
>>>>> Scott
>>>>>
>>>>>
>>>>>> There are many assumptions embedded in current BP implementations 
>>>>>> which are based on "what makes sense" rather than documented an 
>>>>>> interoperable requirements.
>>>>>>
>>>>>> While that statement constrains half of the problem (a single 
>>>>>> node cannot have extra node numbers allocated) there is still a 
>>>>>> potential situation where a single "logical node" collection of 
>>>>>> EIDs with the same node-nbr is distributed over multiple 
>>>>>> entities/agents. For example Entity A is a routing node with EIDs 
>>>>>> "ipn:5.0" "ipn:5.2"
>>>>>> allocated, and Entity B is a stub node with EID "ipn:5.1"
>>>>>> allocated
>>>>>> and a forwarding route configured from Entity A. Entity A would 
>>>>>> contain the administrative endpoint and route to the outside 
>>>>>> world, and Entity B could be a very lightweight implementation 
>>>>>> that doesn't need to
>>>>> do any routing (all bundles pass through Entity A).
>>>>>> Is this an allowed behavior? Should it be?
>>>>>> It could be useful in a situation of distributed subsystems 
>>>>>> (e.g., a collection of sensors) where the whole system has a Node 
>>>>>> number allocated and each subsystem has a single EID allocated. 
>>>>>> This allows using "normal" BPA and CLA tools/protocols between 
>>>>>> the subsystems, though I suspect that most current 
>>>>>> implementations would not allow this
>>>>>> off-
>>>>> the-shelf.
>>>>>>
>>>>>> Another way of putting this similar to a behavioral requirement
>>>>>> is:
>>>>>> after a node receives a bundle destination matching its own node 
>>>>>> number, are the only two options for that node to either deliver 
>>>>>> or delete the bundle? i.e. it's prohibited from forwarding the 
>>>>>> bundle
>>>>>>
>>>>>> Thanks for the explanations,
>>>>>> Brian S.
>>>>>>
>>>>
>>>> _______________________________________________
>>>> dtn mailing list
>>>> dtn@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dtn
>>>
>>>
>>> _______________________________________________
>>> dtn mailing list
>>> dtn@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dtn
>>>
>
>