[dtn] Re: bundle de-dup guidance, node ID vs EID

sburleig.sb@gmail.com Thu, 19 March 2026 04:37 UTC

Return-Path: <sburleig.sb@gmail.com>
X-Original-To: dtn@mail2.ietf.org
Delivered-To: dtn@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 49702CD93905 for <dtn@mail2.ietf.org>; Wed, 18 Mar 2026 21:37:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fRmVU0LUWQ6Y for <dtn@mail2.ietf.org>; Wed, 18 Mar 2026 21:37:53 -0700 (PDT)
Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B2F09CD938F2 for <dtn@ietf.org>; Wed, 18 Mar 2026 21:37:53 -0700 (PDT)
Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-7986e0553bdso6013547b3.2 for <dtn@ietf.org>; Wed, 18 Mar 2026 21:37:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773895073; x=1774499873; darn=ietf.org; h=content-language:thread-index:mime-version:message-id:date:subject :in-reply-to:references:to:from:from:to:cc:subject:date:message-id :reply-to; bh=UMy5Iqw2UNKH0S+dumtWQHQpb/bd94lYQq43es6J968=; b=ivPaUf1VK9PZ61Z5Yck5PDXeZhFlbiGANganfPPdwVKFXBuYW4w4Pcl+2h3XZYmUS0 Zzdo47sqABm0rx1z/A1IJ06VKOx6uu8J73IGAPC3Lp7j9mueT0oMacn9d9JS1Cao737m xEaPhCWi3zGe4rGyectSACqmjjkssWvF4SQwQ2+mK/Pem60YPES96NP+1KbfThPTRibi 2JyZC80+Dk5F+6ZOsx63X+H+PV7olAgfKXwQcxo7xH2urojB5KXOGf17bQBPj5+36z8a 0F21VaXT0JFdJs40WcUYg3bl6nPeW+gNfTIreJp+oJlXI2NTxcF0IlBYmLfbW6+YDW2I itTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773895073; x=1774499873; h=content-language:thread-index:mime-version:message-id:date:subject :in-reply-to:references:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=UMy5Iqw2UNKH0S+dumtWQHQpb/bd94lYQq43es6J968=; b=bsjNkSkjjSOVhsF0yc1eqr+ze+pwW0/yhBPuWMzxYWiG0NqUImBbv1eDscgKgpfMg/ gC0hqDS7e55UXp2VcyIZNG8OpzNP4xQA9ftq/eELyHJzqRB2PFGZI0EBGCEpUBaU6kXk xU5/AEkyOHuC9Bb3LQSTZqs9ia4pCleqNpyuE/KK6TvYiEVr5nMLGt9s9YWdiYM6fitE wgRBqL5iQjU8cHag6HihfbFicdQqChi+UkvkM0dfx08K1FX9VTUuxAIvidXJylFYD1zT t8Q2UhqKU8dcJo+vyJBmZdIdEV05oPNFlBP6w6lCNgl4mWnSYjYqPzMeD9Y9o+cz+rhG X0Uw==
X-Forwarded-Encrypted: i=1; AJvYcCXT68ejG6OJEq634LHw+YLb195nA+ss1DFdOuGfsdAtVB2EHDUzXO/g7Vx1TVdKF8/oF00=@ietf.org
X-Gm-Message-State: AOJu0YztbSKctk4QtfbJD6YN0Vs0zNVuv4DBguaVAnUPHsu0iCfeNfBR hrVkiDH2BSQePTwekc1x0TgZgLH7UzS5zhS/IpdprujTobknedyCCWO78ZPr+rp3
X-Gm-Gg: ATEYQzz9M1jCxnbqc6w/tccLVQksL+0DDsQZyjdm704ZLNdltusvqu0rNxM5hLvt8QP fXN+N5hlYHyMErKS7I3PS8eTPiylhEOXmMQvq049+HQOVSZW8SCAldFKJzpiky5Tll2aecXR77s HEvD643GZrffl84N8uGMVGQELN/ZJlmIwngXRXVlAh7CvOxYjCdW4OWnLSt8Z3TDT/o+gAdznGK LV3t0iaJK5/s+SfEABZGIXuxo0ORN7HZ1gY7tzKN8rNIMDpndiBiu9rlUCeakFpFue9TPBKlOAC YxKa18M/OiUonjQjPjij2LT/NANcf3azv1wA5Tg+guQWMaigBZaTS0WYl6qBGltKRlFB5uFKmFu 1eg42pcGroJdBpEJHaJ53EFRp4rn7XU4Zp+LlQy6lxQljBdUXQQd83zTO+nxfUObbYkIR2nlCJR 8fyuf3cMD7dNSRwxIcE+/XYJY8lWQ9R+u8OBnHLNyRvi+eo30qf5avvx9Km9uVigybha1JFnEGs 91LFDWgMmZsEcSH9v9OIgdGkw==
X-Received: by 2002:a05:690c:c366:20b0:798:7309:a427 with SMTP id 00721157ae682-79a71acb33emr47388047b3.36.1773895072980; Wed, 18 Mar 2026 21:37:52 -0700 (PDT)
Received: from Dorothy (162-195-122-87.lightspeed.irvnca.sbcglobal.net. [162.195.122.87]) by smtp.gmail.com with ESMTPSA id 00721157ae682-79a711657b8sm30384147b3.0.2026.03.18.21.37.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Mar 2026 21:37:52 -0700 (PDT)
From: sburleig.sb@gmail.com
To: 'Erik Kline' <ek.ietf@gmail.com>, 'DTN WG' <dtn@ietf.org>
References: <CAMGpriUpmZ3a838yBpuSAw2CaxY69dqtsEHmHvzOvd14trmnEA@mail.gmail.com>
In-Reply-To: <CAMGpriUpmZ3a838yBpuSAw2CaxY69dqtsEHmHvzOvd14trmnEA@mail.gmail.com>
Date: Wed, 18 Mar 2026 21:37:52 -0700
Message-ID: <01f201dcb75a$262b16d0$72814470$@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_01F3_01DCB71F.79CE1390"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQIhKH3nKiMgaTjL6+YKEKtbqRR0r7UsWIow
Content-Language: en-us
Message-ID-Hash: DFHHSCQV4R4EEVWRIRGDMQGUZ7MG6KK7
X-Message-ID-Hash: DFHHSCQV4R4EEVWRIRGDMQGUZ7MG6KK7
X-MailFrom: sburleig.sb@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dtn.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [dtn] Re: bundle de-dup guidance, node ID vs EID
List-Id: "Delay Tolerant Networking (DTN) discussion list at the IETF." <dtn.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/LLF4-hz3kCI6RcvGNk8QVSDu_oY>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Owner: <mailto:dtn-owner@ietf.org>
List-Post: <mailto:dtn@ietf.org>
List-Subscribe: <mailto:dtn-join@ietf.org>
List-Unsubscribe: <mailto:dtn-leave@ietf.org>

Hi, Erik.  The resolution to the problem you identify goes like this:

*	The source of any bundle is identified by a node ID (RFC 9171 4.3.1), which may be the null endpoint ID (RFC 9171 3.2).
*	Every singleton EID may serve as a node ID (RFC 9171 4.2.5.2).

 

So the source of any bundle is identified by a singleton EID (or the null EID).  Not elegant, I know; this evolved over some time.  The idea is that, since a singleton EID identifies an endpoint that contains exactly one node, the ID of that endpoint – like the IDs of potentially many other singleton EIDs – implicitly identifies the node that is the sole occupant of that endpoint.

 

The advantage of using a singleton EID (in this context, a node ID) to identify the source of the bundle is that the service number (if you’re using the ipn EID scheme) can provide some additional information about the application that offered the ADU that is the bundle’s payload.  Some applications exploit this feature.

 

The ID of a bundle is then formed as the combination of the source node ID and the bundle creation timestamp.  Two bundles that were issued at the exact same time could be distinguished by (a) possibly different source node IDs and (b) different sequence numbers in the bundle creation timestamp.

 

I’m unclear on your first point; we normally figure that the spacecraft has a clock, the BPA queries the clock for the current time at the moment it creates the bundle, and that time becomes the “bundle creation time” component of the bundle creation timestamp.  There isn’t any notion of timestampers, per se, in the spec.

 

On your last point, you’re right, two bundles that were issued by different nodes at exactly the same time, with exactly the same timestamp sequence numbers, would be indistinguishable.  In practice, every anonymous bundle (every bundle whose source node ID is the null endpoint ID) has to be regarded with some suspicion by the receiving BPA: might be innocent, might be a DOS attack.  I think reliable guidance on how to handle these things would be challenging to assemble, as it could be wholly dependent on destination endpoint (service number), previous node (from the previous node extension block), network status, bundle size, BPSec block integrity checking, time of day, national security threat level, whatever.  Possibly some guidance will emerge from operational experience.

 

Scott

 

From: Erik Kline <ek.ietf@gmail.com> 
Sent: Wednesday, March 18, 2026 8:26 PM
To: DTN WG <dtn@ietf.org>
Subject: [dtn] bundle de-dup guidance, node ID vs EID

 

All,

 

Apologies for the n00b question, but looking into how a BPA should de-dup bundles so that it doesn't retransmit something it already forwarded made me realize I failed to notice one specific detail earlier.

 

RFC 9171 S4.2.7 says:

 

   """The

   combination of source node ID and bundle creation timestamp serves to
   identify a single transmission request, enabling it to be
   acknowledged by the receiving application ...

   """

 

I was surprised to realize that the source *node ID* is used rather than the source EID.  IIUC, this implies at least two things that hadn't occurred to me before:

 

    [1] sending BPAs MUST gate all bundles for all source services through a "timestamper", rather than using a "timestamper" instance per service, and

 

    [2] receiving BPAs MUST take the source EID and transform it into a node ID in order to construct a key for lookup in any kind of  "already forwarded Bundle" cache table.

 

Do I understand this correctly?  This is what implementations do?

 

Separately, should a receiving BPA be able to de-dup bundles with a null endpoint source node ID?  If not, I wonder if we might need some guidance on policies for BPAs to protect themselves from certain kinds of traffic injection.

 

-ek