rfc9758v1.txt   rfc9758.txt 
Internet Engineering Task Force (IETF) R. Taylor Internet Engineering Task Force (IETF) R. Taylor
Request for Comments: 9758 Aalyria Technologies Request for Comments: 9758 Aalyria Technologies
Updates: 6260, 7116, 9171 E. Birrane Updates: 6260, 7116, 9171 E. Birrane
Category: Standards Track JHU/APL Category: Standards Track JHU/APL
ISSN: 2070-1721 March 2025 ISSN: 2070-1721 March 2025
Updates to the ipn URI Scheme Updates to the 'ipn' URI Scheme
Abstract Abstract
This document updates the specification of the ipn URI scheme This document updates the specification of the 'ipn' URI scheme
previously defined in RFC 6260 and the IANA registries established in previously defined in RFC 6260 and the IANA registries established in
RFC 7116. It also updates the rules for the encoding and decoding of RFC 7116. It also updates the rules for the encoding and decoding of
these URIs when used as an Endpoint Identifier (EID) in the Bundle these URIs when used as an Endpoint Identifier (EID) in the Bundle
Protocol version 7 (BPv7) as defined in RFC 9171. These updates Protocol version 7 (BPv7) as defined in RFC 9171. These updates
clarify the structure and behavior of the ipn URI scheme, define new clarify the structure and behavior of the 'ipn' URI scheme, define
encodings of ipn scheme URIs, and establish the registries necessary new encodings of 'ipn' scheme URIs, and establish the registries
to manage this scheme. necessary to manage this scheme.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
skipping to change at line 60 skipping to change at line 60
Table of Contents Table of Contents
1. Introduction 1. Introduction
2. Conventions and Definitions 2. Conventions and Definitions
3. Core Concepts 3. Core Concepts
3.1. The Null ipn URI 3.1. The Null ipn URI
3.2. Allocator Identifiers 3.2. Allocator Identifiers
3.2.1. Allocator Identifier Ranges 3.2.1. Allocator Identifier Ranges
3.2.2. The Default Allocator 3.2.2. The Default Allocator
3.3. Node Numbers 3.3. Node Numbers
3.3.1. Fully-Qualified Node Numbers 3.3.1. Fully Qualified Node Numbers
3.4. Special Node Numbers 3.4. Special Node Numbers
3.4.1. The Zero Node Number 3.4.1. The Zero Node Number
3.4.2. LocalNode ipn URIs 3.4.2. LocalNode ipn URIs
3.4.3. Private Use Node Numbers 3.4.3. Private Use Node Numbers
3.5. Service Numbers 3.5. Service Numbers
4. Textual Representation of ipn URIs 4. Textual Representation of ipn URIs
4.1. ipn URI Scheme Text Syntax 4.1. 'ipn' URI Scheme Text Syntax
5. Usage of ipn URIs with BPv7 5. Usage of ipn URIs with BPv7
5.1. Uniqueness Constraints 5.1. Uniqueness Constraints
5.2. The Null Endpoint 5.2. The Null Endpoint
5.3. BPv7 Node ID 5.3. BPv7 Node ID
5.4. LocalNode ipn EIDs 5.4. LocalNode ipn EIDs
5.5. Private Use ipn EIDs 5.5. Private Use ipn EIDs
5.6. Well-Known Service Numbers 5.6. Well-Known Service Numbers
5.7. Administrative Endpoints 5.7. Administrative Endpoints
6. CBOR Representation of ipn URIs with BPv7 6. CBOR Representation of ipn URIs with BPv7
6.1. ipn EID CBOR Encoding 6.1. ipn EID CBOR Encoding
6.1.1. Two-Element Scheme-Specific Encoding 6.1.1. Two-Element Scheme-Specific Encoding
6.1.2. Three-Element Scheme-Specific Encoding 6.1.2. Three-Element Scheme-Specific Encoding
6.2. ipn EID CBOR Decoding 6.2. ipn EID CBOR Decoding
6.3. ipn URI Scheme CBOR Syntax 6.3. 'ipn' URI Scheme CBOR Syntax
6.4. ipn EID Matching 6.4. ipn EID Matching
7. Special Considerations 7. Special Considerations
7.1. Scheme Compatibility 7.1. Scheme Compatibility
7.2. CBOR Representation Interoperability 7.2. CBOR Representation Interoperability
7.3. Text Representation Compatibility 7.3. Text Representation Compatibility
7.4. Bundle Protocol Version 6 Compatibility 7.4. Bundle Protocol Version 6 Compatibility
7.5. Late Binding 7.5. Late Binding
8. Security Considerations 8. Security Considerations
8.1. Reliability and Consistency 8.1. Reliability and Consistency
8.2. Malicious Construction 8.2. Malicious Construction
skipping to change at line 106 skipping to change at line 106
9. IANA Considerations 9. IANA Considerations
9.1. 'ipn' Scheme URI Allocator Identifiers Registry 9.1. 'ipn' Scheme URI Allocator Identifiers Registry
9.1.1. Guidance for Designated Experts 9.1.1. Guidance for Designated Experts
9.2. 'ipn' Scheme URI Default Allocator Node Numbers Registry 9.2. 'ipn' Scheme URI Default Allocator Node Numbers Registry
9.3. 'ipn' Scheme URI Well-Known Service Numbers for BPv7 9.3. 'ipn' Scheme URI Well-Known Service Numbers for BPv7
Registry Registry
9.3.1. Guidance for Designated Experts 9.3.1. Guidance for Designated Experts
10. References 10. References
10.1. Normative References 10.1. Normative References
10.2. Informative References 10.2. Informative References
Appendix A. ipn URI Scheme Text Representation Examples Appendix A. 'ipn' URI Scheme Text Representation Examples
A.1. Using the Default Allocator A.1. Using the Default Allocator
A.2. Using a Non-Default Allocator A.2. Using a Non-Default Allocator
A.3. The Null ipn URI A.3. The Null ipn URI
A.4. The LocalNode ipn URI A.4. The LocalNode ipn URI
Appendix B. ipn URI Scheme CBOR Encoding Examples Appendix B. 'ipn' URI Scheme CBOR Encoding Examples
B.1. Using the Default Allocator B.1. Using the Default Allocator
B.2. Using a Non-Default Allocator B.2. Using a Non-Default Allocator
B.3. The 'null' Endpoint B.3. The Null Endpoint
Acknowledgments Acknowledgments
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
The ipn URI scheme was originally defined in [RFC6260] and [RFC7116] The 'ipn' URI scheme was originally defined in [RFC6260] and
as a way to identify network nodes and node services using concisely [RFC7116] as a way to identify network nodes and node services using
encoded integers that can be processed faster and with fewer concisely encoded integers that can be processed faster and with
resources than other verbose identifier schemes. The scheme was fewer resources than other verbose identifier schemes. The scheme
designed for use with the experimental Bundle Protocol version 6 was designed for use with the experimental Bundle Protocol version 6
(BPv6) [RFC5050], and "IPN" was defined as an acronym for the term (BPv6) [RFC5050], and "IPN" was defined as an acronym for the term
"InterPlanetary Network" in reference to its intended use for deep- "InterPlanetary Network" in reference to its intended use for deep-
space networking. Since then, the efficiency benefits of integer space networking. Since then, the efficiency benefits of integer
identifiers make ipn scheme URIs useful for any network operating identifiers make 'ipn' scheme URIs useful for any network operating
with limited power, bandwidth, and/or compute budget. Therefore, the with limited power, bandwidth, and/or compute budget. Therefore, the
term "IPN" is now used as a non-acronymous name. term "IPN" is now used as a non-acronymous name.
Similar to the experimental BPv6, the standardized Bundle Protocol Similar to the experimental BPv6, the standardized Bundle Protocol
version 7 (BPv7) [RFC9171] codifies support for the use of the ipn version 7 (BPv7) [RFC9171] codifies support for the use of the 'ipn'
URI scheme for the specification of bundle Endpoint Identifiers URI scheme for the specification of bundle Endpoint Identifiers
(EIDs). The publication of BPv7 has resulted in operational (EIDs). The publication of BPv7 has resulted in operational
deployments of BPv7 nodes for both terrestrial and non-terrestrial deployments of BPv7 nodes for both terrestrial and non-terrestrial
use cases. This includes BPv7 networks operating over the use cases. This includes BPv7 networks operating over the
terrestrial Internet and BPv7 networks operating in self-contained terrestrial Internet and BPv7 networks operating in self-contained
environments behind a shared administrative domain. The growth in environments behind a shared administrative domain. The growth in
the number and scale of deployments of BPv7 has been accompanied by a the number and scale of deployments of BPv7 has been accompanied by a
growth in the usage of the ipn URI scheme, which has highlighted growth in the usage of the 'ipn' URI scheme, which has highlighted
areas to improve the structure, moderation, and management of this areas to improve the structure, moderation, and management of this
scheme. scheme.
By updating [RFC7116] and [RFC9171], this document updates the By updating [RFC7116] and [RFC9171], this document updates the
specification of the ipn URI scheme in a backwards-compatible way, in specification of the 'ipn' URI scheme in a backwards-compatible way,
order to provide needed improvements both in the scheme itself and in in order to provide needed improvements both in the scheme itself and
its usage to specify EIDs with BPv7. Specifically, this document: in its usage to specify EIDs with BPv7. Specifically, this document:
* introduces a hierarchical structure for the assignment of ipn * introduces a hierarchical structure for the assignment of 'ipn'
scheme URIs, scheme URIs,
* clarifies the behavior and interpretation of ipn scheme URIs, * clarifies the behavior and interpretation of 'ipn' scheme URIs,
* defines efficient encodings of ipn scheme URIs, and * defines efficient encodings of 'ipn' scheme URIs, and
* updates/defines the registries associated with this scheme. * updates/defines the registries associated with this scheme.
Although originally developed by the deep-space community for use Although originally developed by the deep-space community for use
with the Bundle Protocol, the ipn URI scheme is sufficiently generic with the Bundle Protocol, the 'ipn' URI scheme is sufficiently
to be used in other environments where a concise unique generic to be used in other environments where a concise unique
representation of a resource on a particular node is required. representation of a resource on a particular node is required.
It is important to remember that, like most other URI schemes, the It is important to remember that, like most other URI schemes, the
ipn URI scheme defines a unique identifier of a resource, and it does 'ipn' URI scheme defines a unique identifier of a resource, and it
not include any topological information describing how to route does not include any topological information describing how to route
messages to that resource. messages to that resource.
2. Conventions and Definitions 2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
For the remainder of this document, the term "ipn URI" is used to For the remainder of this document, the term "ipn URI" is used to
refer to a URI that uses the ipn scheme. refer to a URI that uses the 'ipn' URI scheme.
3. Core Concepts 3. Core Concepts
Every ipn URI, no matter whether it is expressed with a textual Every ipn URI, no matter whether it is expressed with a textual
representation or a binary encoding, MUST be considered as a tuple of representation or a binary encoding, MUST be considered as a tuple of
the following three components: the following three components:
* The Allocator Identifier * The Allocator Identifier
* The Node Number * The Node Number
* The Service Number * The Service Number
The Allocator Identifier indicates the entity responsible for The Allocator Identifier indicates the entity responsible for
assigning Node Numbers to individual resource nodes, maintaining assigning Node Numbers to individual resource nodes, maintaining
uniqueness whilst avoiding the need for a single registry for all uniqueness whilst avoiding the need for a single registry for all
assigned Node Numbers. See "Allocator Identifiers" (Section 3.2). assigned Node Numbers. See Section 3.2.
The Node Number is a shared identifier assigned to all ipn URIs for The Node Number is a shared identifier assigned to all ipn URIs for
resources co-located on a single node. See "Node Numbers" resources co-located on a single node. See Section 3.3.
(Section 3.3).
The Service Number is an identifier to distinguish between resources The Service Number is an identifier to distinguish between resources
on a given node. See "Service Numbers" (Section 3.5). on a given node. See Section 3.5.
The combination of these three components guarantees that every The combination of these three components guarantees that every
correctly constructed ipn URI uniquely identifies a single resource. correctly constructed ipn URI uniquely identifies a single resource.
Additionally, the combination of the Allocator Identifier and the Additionally, the combination of the Allocator Identifier and the
Node Number provides a mechanism to uniquely identify the node on Node Number provides a mechanism to uniquely identify the node on
which a particular resource is expected to exist. See which a particular resource is expected to exist. See Section 3.3.1.
"Fully-Qualified Node Numbers" (Section 3.3.1).
3.1. The Null ipn URI 3.1. The Null ipn URI
It has been found that there is value in defining a unique 'null' ipn It has been found that there is value in defining a unique Null ipn
URI to indicate "nowhere". This ipn URI is termed the "Null ipn URI" URI to indicate "nowhere". This ipn URI is termed the "Null ipn URI"
and has all three components (the Allocator Identifier, Node Number, and has all three components (the Allocator Identifier, Node Number,
and Service Number) set to the value zero (0). No resource and Service Number) set to the value zero (0). No resource
identified by the Null ipn URI exists, and any destination identified identified by the Null ipn URI exists, and any destination identified
by such a resource is therefore by definition unreachable. by such a resource is therefore by definition unreachable.
3.2. Allocator Identifiers 3.2. Allocator Identifiers
An Allocator is any organization that wishes to assign Node Numbers An Allocator is any organization that wishes to assign Node Numbers
for use with the ipn URI scheme and has the facilities and governance for use with the 'ipn' URI scheme and has the facilities and
to manage a public registry of assigned Node Numbers. The governance to manage a public registry of assigned Node Numbers. The
authorization to assign these numbers is provided through the authorization to assign these numbers is provided through the
assignment of an Allocator Identifier by IANA. Regardless of other assignment of an Allocator Identifier by IANA. Regardless of other
attributes of an Allocator (such as a name, point of contact, or attributes of an Allocator (such as a name, point of contact, or
other identifying information), Allocators are identified by other identifying information), Allocators are identified by
Allocator Identifiers: unique, unsigned integers in the range 0 to Allocator Identifiers: unique, unsigned integers in the range 0 to
2^(32-1). 2^(32-1).
The Allocator Identifier MUST be the sole mechanism used to identify The Allocator Identifier MUST be the sole mechanism used to identify
the Allocator that has assigned the Node Number in an ipn URI. An the Allocator that has assigned the Node Number in an ipn URI. An
Allocator may have multiple assigned Allocator Identifiers, but a Allocator may have multiple assigned Allocator Identifiers, but a
given Allocator Identifier MUST only be associated with a single given Allocator Identifier MUST only be associated with a single
Allocator. Allocator.
A new IANA registry, "'ipn' Scheme URI Allocator Identifiers", is A new IANA registry, "'ipn' Scheme URI Allocator Identifiers", is
defined for the registration of Allocator Identifiers; see "'ipn' defined for the registration of Allocator Identifiers; see
Scheme URI Allocator Identifiers Registry" (Section 9.1). Although Section 9.1. Although the uniqueness of Allocator Identifiers is
the uniqueness of Allocator Identifiers is required to enforce the required to enforce the uniqueness of ipn URIs, some identifiers are
uniqueness of ipn URIs, some identifiers are explicitly reserved for explicitly reserved for experimentation or future use.
experimentation or future use.
Each Allocator assigns Node Numbers according to its own policies, Each Allocator assigns Node Numbers according to its own policies,
without risk of creating an identical ipn URI, as permitted by the without risk of creating an identical ipn URI, as permitted by the
rules in "Node Numbers" (Section 3.3). Other than ensuring that any rules in Section 3.3. Other than ensuring that any Node Numbers it
Node Numbers it allocates are unique amongst all Node Numbers it allocates are unique amongst all Node Numbers it assigns, an
assigns, an Allocator does not need to coordinate its allocations Allocator does not need to coordinate its allocations with other
with other Allocators. Allocators.
If a system does not require interoperable deployment of ipn scheme If a system does not require interoperable deployment of 'ipn' scheme
URIs, then the Private Use Node Numbers (Section 3.4.3) range, URIs, then the Private Use Node Numbers range (Section 3.4.3),
reserved by the Default Allocator (Section 3.2.2) for this purpose, reserved by the Default Allocator (Section 3.2.2) for this purpose,
are to be used. is to be used.
3.2.1. Allocator Identifier Ranges 3.2.1. Allocator Identifier Ranges
Some organizations with internal hierarchies may wish to delegate the Some organizations with internal hierarchies may wish to delegate the
allocation of Node Numbers to one or more of their sub-organizations. allocation of Node Numbers to one or more of their sub-organizations.
Rather than assigning unique Allocator Identifiers to each sub- Rather than assigning unique Allocator Identifiers to each sub-
organization on a first-come, first-served basis, there are organization on a first-come, first-served basis, there are
operational benefits in assigning Allocator Identifiers to such an operational benefits in assigning Allocator Identifiers to such an
organization in a structured way. This allows an external observer organization in a structured way. This allows an external observer
to detect that a group of Allocator Identifiers is organizationally to detect that a group of Allocator Identifiers is organizationally
skipping to change at line 341 skipping to change at line 338
As of the publication of [RFC7116], the only organization permitted As of the publication of [RFC7116], the only organization permitted
to assign Node Numbers was the Internet Assigned Numbers Authority to assign Node Numbers was the Internet Assigned Numbers Authority
(IANA), which assigned Node Numbers via the "CBHE Node Numbers" (IANA), which assigned Node Numbers via the "CBHE Node Numbers"
registry. This means that all ipn URIs created prior to the addition registry. This means that all ipn URIs created prior to the addition
of Allocator Identifiers are assumed to have Node Number allocations of Allocator Identifiers are assumed to have Node Number allocations
that comply with the "CBHE Node Numbers" registry. that comply with the "CBHE Node Numbers" registry.
The presumption that Node Numbers are allocated by IANA from a The presumption that Node Numbers are allocated by IANA from a
specific registry, unless otherwise specified, is formalized in this specific registry, unless otherwise specified, is formalized in this
update to the ipn URI scheme by designating IANA as the Default update to the 'ipn' URI scheme by designating IANA as the Default
Allocator and by assigning the Allocator Identifier zero (0) in the Allocator and by assigning the Allocator Identifier zero (0) in the
"'ipn' Scheme URI Allocator Identifiers" registry (Section 9.1) to "'ipn' Scheme URI Allocator Identifiers" registry (Section 9.1) to
the Default Allocator. In any case where an encoded ipn URI does not the Default Allocator. In any case where an encoded ipn URI does not
explicitly include an Allocator Identifier, an implementation MUST explicitly include an Allocator Identifier, an implementation MUST
assume that the Node Number has been allocated by the Default assume that the Node Number has been allocated by the Default
Allocator. Allocator.
A new IANA registry, "'ipn' Scheme URI Default Allocator Node A new IANA registry, "'ipn' Scheme URI Default Allocator Node
Numbers", is defined to control the allocation of Node Number values Numbers", is defined to control the allocation of Node Number values
by the Default Allocator. This new registry inherits behaviors and by the Default Allocator. This new registry inherits behaviors and
existing assignments from the "CBHE Node Numbers" registry, and it existing assignments from the "CBHE Node Numbers" registry, and it
reserves some other values as defined in "Special Node Numbers" reserves some other values as defined in Section 3.4 below.
(Section 3.4) below.
3.3. Node Numbers 3.3. Node Numbers
A Node Number identifies a node that hosts a resource in the context A Node Number identifies a node that hosts a resource in the context
of an Allocator. A Node Number is an unsigned integer. A single of an Allocator. A Node Number is an unsigned integer. A single
Node Number assigned by a single Allocator MUST refer to a single Node Number assigned by a single Allocator MUST refer to a single
node. node.
All Node Number assignments, by all Allocators, MUST be in the range All Node Number assignments, by all Allocators, MUST be in the range
0 to 2^(32-1). 0 to 2^(32-1).
It is RECOMMENDED that Node Number zero (0) not be assigned by an It is RECOMMENDED that Node Number zero (0) not be assigned by an
Allocator to avoid confusion with the Null ipn URI (Section 3.1). Allocator to avoid confusion with the Null ipn URI (Section 3.1).
3.3.1. Fully-Qualified Node Numbers 3.3.1. Fully Qualified Node Numbers
One of the advantages of ipn URIs is the ability to easily split the One of the advantages of ipn URIs is the ability to easily split the
identity of a particular service from the node upon which the service identity of a particular service from the node upon which the service
exists. For example, a message received from one particular ipn URI exists. For example, a message received from one particular ipn URI
may require a response to be sent to a different service on the same may require a response to be sent to a different service on the same
node that sent the original message. Historically, the identifier of node that sent the original message. Historically, the identifier of
the sending node has been colloquially referred to as the "node the sending node has been colloquially referred to as the "node
number" or "node identifier". number" or "node identifier".
To avoid future confusion, when referring to the identifier of a To avoid future confusion, when referring to the identifier of a
particular node, the term "Fully-Qualified Node Number" (FQNN) MUST particular node, the term "Fully Qualified Node Number" (FQNN) MUST
be used to refer to the combination of the Node Number component and be used to refer to the combination of the Node Number component and
Allocator Identifier component of an ipn URI that uniquely identifies Allocator Identifier component of an ipn URI that uniquely identifies
a particular node. In other words, an FQNN is the unique identifier a particular node. In other words, an FQNN is the unique identifier
of a particular node that supports services identified by ipn URIs. of a particular node that supports services identified by ipn URIs.
In the examples in this document, FQNNs are written as (Allocator In the examples in this document, FQNNs are written as (Allocator
Identifier, Node Number). For example, (977000,100) is the FQNN for Identifier, Node Number). For example, (977000,100) is the FQNN for
a node assigned Node Number 100 by an Allocator with Allocator a node assigned Node Number 100 by an Allocator with Allocator
Identifier 977000. Identifier 977000.
3.4. Special Node Numbers 3.4. Special Node Numbers
Some special-case Node Numbers are defined by the Default Allocator; Some special-case Node Numbers are defined by the Default Allocator;
see "'ipn' Scheme URI Default Allocator Node Numbers Registry" see Section 9.2.
(Section 9.2).
3.4.1. The Zero Node Number 3.4.1. The Zero Node Number
The Default Allocator assigns the use of Node Number zero (0) solely The Default Allocator assigns the use of Node Number zero (0) solely
for identifying the Null ipn URI (Section 3.1). for identifying the Null ipn URI (Section 3.1).
This means that any ipn URI with a zero (0) Allocator Identifier and This means that any ipn URI with a zero (0) Allocator Identifier and
a zero (0) Node Number, but a non-zero Service Number component, is a zero (0) Node Number, but a non-zero Service Number component, is
invalid. Such ipn URIs MUST NOT be composed, and processors of such invalid. Such ipn URIs MUST NOT be composed, and processors of such
ipn URIs MUST consider them as the Null ipn URI. ipn URIs MUST consider them as the Null ipn URI.
skipping to change at line 445 skipping to change at line 440
3.5. Service Numbers 3.5. Service Numbers
A Service Number is an unsigned integer that identifies a particular A Service Number is an unsigned integer that identifies a particular
service operating on a node. A service in this case is some logical service operating on a node. A service in this case is some logical
function that requires its own resource identifier to distinguish it function that requires its own resource identifier to distinguish it
from other functions operating on the same node. from other functions operating on the same node.
4. Textual Representation of ipn URIs 4. Textual Representation of ipn URIs
All ipn scheme URIs comply with [RFC3986] and are therefore All 'ipn' scheme URIs comply with [RFC3986] and are therefore
represented by a scheme identifier and a scheme-specific part. The represented by a scheme identifier and a scheme-specific part. The
scheme identifier is ipn, and the scheme-specific parts are scheme identifier is ipn, and the scheme-specific parts are
represented as a sequence of numeric components separated with the represented as a sequence of numeric components separated with the
'.' character. A formal definition is provided below (see "ipn URI '.' character. A formal definition is provided below (see
Scheme Text Syntax" (Section 4.1)) and can be informally considered Section 4.1) and can be informally considered as:
as:
ipn:[<allocator-identifier>.]<node-number>.<service-number> ipn:[<allocator-identifier>.]<node-number>.<service-number>
To keep the text representation concise, the following rules apply: To keep the text representation concise, the following rules apply:
1. All leading 0 characters MUST be omitted. A single '0' is valid. 1. All leading '0' characters MUST be omitted. A single '0' is
valid.
2. If the Allocator Identifier is zero (0), then the <allocator- 2. If the Allocator Identifier is zero (0), then the <allocator-
identifier> and '.' MAY be omitted. identifier> and '.' MAY be omitted.
3. If the Allocator Identifier is zero (0), and the Node Number is 3. If the Allocator Identifier is zero (0), and the Node Number is
2^(32-1) (i.e., the URI is a LocalNode ipn URI (Section 3.4.2)), 2^(32-1) (i.e., the URI is a LocalNode ipn URI (Section 3.4.2)),
then the character '!' SHOULD be used instead of the digits then the character '!' SHOULD be used instead of the digits
4294967295, although both forms are valid encodings. 4294967295, although both forms are valid encodings.
Examples of the textual representation of ipn URIs can be found in Examples of the textual representation of ipn URIs can be found in
Appendix A. Appendix A.
4.1. ipn URI Scheme Text Syntax 4.1. 'ipn' URI Scheme Text Syntax
The text syntax of an ipn URI MUST comply with the following ABNF The text syntax of an ipn URI MUST comply with the following ABNF
syntax from [RFC5234] and reiterate the core ABNF syntax rule for syntax from [RFC5234] and repeats the core ABNF syntax rule for DIGIT
DIGIT defined by that specification: defined by that specification:
ipn-uri = "ipn:" ipn-hier-part ipn-uri = "ipn:" ipn-hier-part
ipn-hier-part = fqnn "." service-number ipn-hier-part = fqnn "." service-number
fqnn = "!" / allocator-part fqnn = "!" / allocator-part
allocator-part = [allocator-identifier "."] node-number allocator-part = [allocator-identifier "."] node-number
allocator-identifier = number allocator-identifier = number
skipping to change at line 500 skipping to change at line 495
number = "0" / non-zero-number number = "0" / non-zero-number
non-zero-number = (%x31-39 *DIGIT) non-zero-number = (%x31-39 *DIGIT)
DIGIT = %x30-39 DIGIT = %x30-39
5. Usage of ipn URIs with BPv7 5. Usage of ipn URIs with BPv7
From the earliest days of experimentation with the Bundle Protocol, From the earliest days of experimentation with the Bundle Protocol,
there has been a need to identify the source and destination of a there has been a need to identify the source and destination of a
bundle. The IRTF BPv6 experimental specification termed the logical bundle. The IRTF BPv6 experimental specification [RFC5050] termed
source or destination of a bundle as an "Endpoint" identified by an the logical source or destination of a bundle as an "Endpoint"
"Endpoint Identifier" (EID). BPv6 EIDs are formatted as URIs. This identified by an "Endpoint Identifier" (EID). BPv6 EIDs are
definition and representation of EIDs was carried forward from the formatted as URIs. This definition and representation of EIDs was
IRTF BPv6 specification to the IETF BPv7 specification. BPv7 carried forward from the IRTF BPv6 specification [RFC5050] to the
additionally defined an IANA registry called the "Bundle Protocol URI IETF BPv7 specification [RFC9171]. [RFC9171] additionally defined an
Scheme Types" registry, which identifies those URI schemes that might IANA registry called the "Bundle Protocol URI Scheme Types" registry,
be used to represent EIDs. The ipn URI scheme is one such URI which identifies those URI schemes that might be used to represent
scheme. EIDs. The 'ipn' URI scheme is one such URI scheme.
This section identifies the behavior and interpretation of ipn scheme This section identifies the behavior and interpretation of 'ipn'
URIs that MUST be followed when using this URI scheme to represent scheme URIs that MUST be followed when using this URI scheme to
EIDs in BPv7. An ipn URI used as a BPv7 or BPv6 EID is termed an represent EIDs in BPv7. An ipn URI used as a BPv7 or BPv6 EID is
"ipn EID". termed an "ipn EID".
5.1. Uniqueness Constraints 5.1. Uniqueness Constraints
An ipn EID MUST identify a singleton endpoint. The bundle processing An ipn EID MUST identify a singleton endpoint. The bundle processing
node that is the sole member of that endpoint MUST be the node node that is the sole member of that endpoint MUST be the node
identified by the Fully-Qualified Node Number (Section 3.3.1) of the identified by the FQNN (Section 3.3.1) of the node.
node.
A single bundle processing node MAY have multiple ipn EIDs associated A single bundle processing node MAY have multiple ipn EIDs associated
with it. However, all ipn EIDs that share any single FQNN MUST refer with it. However, all ipn EIDs that share any single FQNN MUST refer
to the same bundle processing node. to the same bundle processing node.
For example, ipn:977000.100.1, ipn:977000.100.2, and ipn:977000.100.3 For example, ipn:977000.100.1, ipn:977000.100.2, and ipn:977000.100.3
MUST all refer to services registered on the bundle processing node MUST all refer to services registered on the bundle processing node
identified with FQNN (977000,100). None of these EIDs could be identified with FQNN (977000,100). None of these EIDs could be
registered on any other bundle processing node. registered on any other bundle processing node.
5.2. The Null Endpoint 5.2. The Null Endpoint
Section 3.2 of [RFC9171] defines the concept of the 'null' endpoint, Section 3.2 of [RFC9171] defines the concept of the Null endpoint,
which is an endpoint that has no members and is identified by a which is an endpoint that has no members and is identified by a
special 'null' EID. special Null EID.
Within the ipn URI scheme, the 'null' EID is represented by the Null Within the 'ipn' URI scheme, the Null EID is represented by the Null
ipn URI (Section 3.1). This means that the URIs dtn:none ipn URI (Section 3.1). This means that the URIs dtn:none
(Section 4.2.5.1.1 of [RFC9171]), ipn:0.0, and ipn:0.0.0 all refer to (Section 4.2.5.1.1 of [RFC9171]), ipn:0.0, and ipn:0.0.0 all refer to
the BPv7 'null' endpoint. the BPv7 Null endpoint.
5.3. BPv7 Node ID 5.3. BPv7 Node ID
Section 4.2.5.2 of [RFC9171] introduces the concept of a "Node ID" Section 4.2.5.2 of [RFC9171] introduces the concept of a "Node ID"
that has the same format as an EID and uniquely identifies a bundle that has the same format as an EID and uniquely identifies a bundle
processing node. processing node.
Any ipn EID can serve as a "Node ID" for the bundle processing node Any ipn EID can serve as a "Node ID" for the bundle processing node
identified by its Fully-Qualified Node Number (Section 3.3.1). That identified by its FQNN (Section 3.3.1). That is, any ipn EID of the
is, any ipn EID of the form ipn:A.B.C may be used as the Source Node form ipn:A.B.C may be used as the Source Node ID of any bundle
ID of any bundle created by the bundle processing node identified by created by the bundle processing node identified by the FQNN (A,B).
the FQNN (A,B).
5.4. LocalNode ipn EIDs 5.4. LocalNode ipn EIDs
When a LocalNode ipn URI (Section 3.4.2) is used as a BPv6 or BPv7 When a LocalNode ipn URI (Section 3.4.2) is used as a BPv6 or BPv7
EID, it is termed a "LocalNode ipn EID". EID, it is termed a "LocalNode ipn EID".
Because a LocalNode ipn EID only has meaning on the local bundle Because a LocalNode ipn EID only has meaning on the local bundle
node, any such EID MUST be considered non-routable. This means that node, any such EID MUST be considered non-routable. This means that
any bundle using a LocalNode ipn EID as a bundle source or bundle any bundle using a LocalNode ipn EID as a bundle source or bundle
destination MUST NOT be allowed to leave the local node. Equally, destination MUST NOT be allowed to leave the local node. Equally,
skipping to change at line 581 skipping to change at line 574
downstream bundle node. downstream bundle node.
LocalNode ipn EIDs MUST NOT be published in any node identification LocalNode ipn EIDs MUST NOT be published in any node identification
directory (such as a DNS registration) or presented as part of directory (such as a DNS registration) or presented as part of
dynamic peer discovery, as the EID has no valid meaning for other dynamic peer discovery, as the EID has no valid meaning for other
nodes. For example, a LocalNode ipn EID MUST NOT be advertised as nodes. For example, a LocalNode ipn EID MUST NOT be advertised as
the peer Node ID during session negotiation in [RFC9174]. the peer Node ID during session negotiation in [RFC9174].
5.5. Private Use ipn EIDs 5.5. Private Use ipn EIDs
Bundles destined for EIDs that use an ipn URI with a Fully-Qualified Bundles destined for EIDs that use an ipn URI with an FQNN
Node Number (Section 3.3.1) that is within the Private Use range of (Section 3.3.1) that is within the Private Use range of the Default
the Default Allocator (Section 3.2.2) are not universally unique; Allocator (Section 3.2.2) are not universally unique; therefore, they
therefore, they are only valid within the scope of the current are only valid within the scope of the current administrative domain.
administrative domain. This means that any bundle using a Private This means that any bundle using a Private Use ipn EID as a bundle
Use ipn EID as a bundle source or bundle destination MUST NOT be source or bundle destination MUST NOT be allowed to cross
allowed to cross administrative domains. All implementations that administrative domains. All implementations that could be deployed
could be deployed as a gateway between administrative domains MUST be as a gateway between administrative domains MUST be sufficiently
sufficiently configurable to ensure that this is enforced, and configurable to ensure that this is enforced, and operators MUST
operators MUST ensure correct configuration. ensure correct configuration.
Private Use ipn EIDs MUST NOT be present in any other part of a Private Use ipn EIDs MUST NOT be present in any other part of a
bundle that is destined for another administrative domain when the bundle that is destined for another administrative domain when the
lack of uniqueness prevents correct operation. For example, a lack of uniqueness prevents correct operation. For example, a
Private Use ipn EID MUST NOT be used as a BPSec [RFC9172] security Private Use ipn EID MUST NOT be used as a BPSec [RFC9172] security
source for a bundle when the bundle is destined for a different source for a bundle when the bundle is destined for a different
administrative domain. administrative domain.
5.6. Well-Known Service Numbers 5.6. Well-Known Service Numbers
It is convenient for BPv7 services that have a public specification It is convenient for BPv7 services that have a public specification
and wide adoption to be identified by a pre-agreed default Service and wide adoption to be identified by a pre-agreed default Service
Number, so that unless extra configurations are applied, such Number, so that unless overridden by explicit configuration, such
services can be sensibly assumed to be operating on the well-known services can be sensibly assumed to be operating on the well-known
Service Number on a particular node. Service Number on a particular node.
If a different service uses the number, or the service uses a If a different service uses the number, or the service uses a
different number, BPv7 will continue to operate, but some different number, BPv7 will continue to operate, but some
configuration may be required to make the individual service configuration may be required to make the individual service
operational. operational.
A new IANA registry, "'ipn' Scheme URI Well-Known Service Numbers for A new IANA registry, "'ipn' Scheme URI Well-Known Service Numbers for
BPv7", is defined for the registration of well-known BPv7 Service BPv7", is defined for the registration of well-known BPv7 Service
Numbers; see "'ipn' Scheme URI Well-Known Service Numbers for BPv7 Numbers; see Section 9.3. This registry records the assignments of
Registry" (Section 9.3). This registry records the assignments of
Service Numbers for well-known services and also explicitly reserves Service Numbers for well-known services and also explicitly reserves
ranges for both experimentation and Private Use. ranges for both experimentation and Private Use.
5.7. Administrative Endpoints 5.7. Administrative Endpoints
The service identified by a Service Number of zero (0) MUST be The service identified by a Service Number of zero (0) MUST be
interpreted as the Administrative Endpoint of the node, as defined in interpreted as the Administrative Endpoint of the node, as defined in
Section 3.2 of [RFC9171]. Section 3.2 of [RFC9171].
Non-zero Service Numbers MUST NOT be used to identify the Non-zero Service Numbers MUST NOT be used to identify the
Administrative Endpoint of a bundle node in an ipn EID. Administrative Endpoint of a bundle node in an ipn EID.
6. CBOR Representation of ipn URIs with BPv7 6. CBOR Representation of ipn URIs with BPv7
Section 4.2.5.1 of [RFC9171] requires that any URI scheme used to Section 4.2.5.1 of [RFC9171] requires that any URI scheme used to
represent BPv7 EIDs MUST define how the scheme-specific part of the represent BPv7 EIDs MUST define how the scheme-specific part of the
URI scheme is encoded with Concise Binary Object Representation URI scheme is encoded with Concise Binary Object Representation
(CBOR) [RFC8949]. To meet this requirement, this section describes (CBOR) [RFC8949]. To meet this requirement, this section describes
the CBOR encoding and decoding approach for ipn EIDs. The formal the CBOR encoding and decoding approach for ipn EIDs. The formal
definition of the CBOR representation is specified; see "ipn URI definition of the CBOR representation is specified; see Section 6.3.
Scheme CBOR Syntax" (Section 6.3).
6.1. ipn EID CBOR Encoding 6.1. ipn EID CBOR Encoding
Generic URI approaches to encoding ipn EIDs are unlikely to be Generic URI approaches to encoding ipn EIDs are unlikely to be
efficient because they do not consider the underlying structure of efficient because they do not consider the underlying structure of
the ipn URI scheme. Since the creation of the ipn URI scheme was the 'ipn' URI scheme. Since the creation of the 'ipn' URI scheme was
motivated by the need for concise identification and rapid motivated by the need for concise identification and rapid
processing, the encoding of ipn EIDs maintains these properties. processing, the encoding of ipn EIDs maintains these properties.
Fundamentally, ipn EIDs from [RFC9171] are represented as a sequence Fundamentally, ipn EIDs from [RFC9171] are represented as a sequence
of identifiers. In the text syntax, the numbers are separated with of identifiers. In the text syntax, the numbers are separated with
the '.' delimiter; in CBOR, this ordered series of numbers can be the '.' delimiter; in CBOR, this ordered series of numbers can be
represented by an array. Therefore, when encoding ipn EIDs for use represented by an array. Therefore, when encoding ipn EIDs for use
with BPv7, the scheme-specific part of an ipn URI MUST be represented with BPv7, the scheme-specific part of an ipn URI MUST be represented
as a CBOR array of either two (2) or three (3) elements. Each as a CBOR array of either two (2) or three (3) elements. Each
element of the array MUST be encoded as a single CBOR unsigned element of the array MUST be encoded as a single CBOR unsigned
integer. integer.
The structure and mechanisms of the two-element and three-element The structure and mechanisms of the two-element and three-element
encodings are described below, and examples of the different encodings are described below, and examples of the different
encodings are provided in Appendix B. encodings are provided in Appendix B.
6.1.1. Two-Element Scheme-Specific Encoding 6.1.1. Two-Element Scheme-Specific Encoding
In the two-element scheme-specific encoding of an ipn EID, the first In the two-element scheme-specific encoding of an ipn EID, the first
element of the array is an encoding of the Fully-Qualified Node element of the array is an encoding of the FQNN (Section 3.3.1), and
Number (Section 3.3.1), and the second element of the array is the the second element of the array is the ipn EID Service Number.
ipn EID Service Number.
The FQNN encoding MUST be a 64-bit unsigned integer constructed in The FQNN encoding MUST be a 64-bit unsigned integer constructed in
the following way: the following way:
1. The least significant 32 bits MUST represent the Node Number 1. The least significant 32 bits MUST represent the Node Number
associated with the ipn EID. associated with the ipn EID.
2. The most significant 32 bits MUST represent the Allocator 2. The most significant 32 bits MUST represent the Allocator
Identifier associated with the ipn EID. Identifier associated with the ipn EID.
For example, the ipn EID of ipn:977000.100.1 has an FQNN of For example, the ipn EID of ipn:977000.100.1 has an FQNN of
(977000,100), which would be encoded as 0xEE868_00000064. The (977000,100), which would be encoded as 0xEE868_00000064. The
resulting two-element array [0xEE868_00000064, 0x01] would be encoded resulting two-element array [0xEE868_00000064, 0x01] would be encoded
in CBOR as the following 11-octet sequence: in CBOR as the following 11-octet sequence:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
82 # 2 Element ipn EID scheme-specific encoding 82 # 2-Element ipn EID scheme-specific encoding
1B 000EE86800000064 # Fully-Qualified Node Number 1B 000EE86800000064 # Fully Qualified Node Number
01 # Service Number 01 # Service Number
The two-element scheme-specific encoding provides backwards The two-element scheme-specific encoding provides backwards
compatibility with the encoding provided in Section 4.2.5.1.2 of compatibility with the encoding provided in Section 4.2.5.1.2 of
[RFC9171]. When used in this way, the encoding of the FQNN replaces [RFC9171]. When used in this way, the encoding of the FQNN replaces
the use of the Node Number that was specified in [RFC9171]. When the the use of the Node Number that was specified in [RFC9171]. When the
Node Number is allocated by the Default Allocator (Section 3.2.2), Node Number is allocated by the Default Allocator (Section 3.2.2),
the encoding of the FQNN and the encoding of the Node Number from the encoding of the FQNN and the encoding of the Node Number from
[RFC9171] are identical. [RFC9171] are identical.
skipping to change at line 709 skipping to change at line 699
2. the second element of the array is the Node Number, and 2. the second element of the array is the Node Number, and
3. the third element of the array is the Service Number. 3. the third element of the array is the Service Number.
For example, the ipn EID of ipn:977000.100.1 would result in the For example, the ipn EID of ipn:977000.100.1 would result in the
three-element array of [977000,100,1], which would be encoded in CBOR three-element array of [977000,100,1], which would be encoded in CBOR
as the following 9-octet sequence: as the following 9-octet sequence:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
83 # 3 Element ipn EID scheme-specific encoding 83 # 3 Element ipn EID scheme-specific encoding
1A 000EE868 # Allocator Identifier 1A 000EE868 # Allocator Identifier
64 # Node Number 64 # Node Number
01 # Service Number 01 # Service Number
The three-element scheme-specific encoding allows for a more The three-element scheme-specific encoding allows for a more
efficient representation of ipn EIDs using smaller Allocator efficient representation of ipn EIDs using smaller Allocator
Identifiers, and implementations are RECOMMENDED to use this encoding Identifiers, and implementations are RECOMMENDED to use this encoding
scheme unless explicitly mitigating for interoperability issues; see scheme unless explicitly mitigating for interoperability issues; see
"Scheme Compatibility" (Section 7.1). Section 7.1.
When encoding an ipn EID using the Default Allocator (Section 3.2.2) When encoding an ipn EID using the Default Allocator (Section 3.2.2)
with this encoding scheme, the first element of the array is the with this encoding scheme, the first element of the array is the
value zero (0). In this case, using the equivalent two-element value zero (0). In this case, using the equivalent two-element
scheme-specific encoding (Section 6.1.1) will result in a more scheme-specific encoding (Section 6.1.1) will result in a more
concise CBOR representation; therefore, it is RECOMMENDED that concise CBOR representation; therefore, it is RECOMMENDED that
implementations use that encoding instead. implementations use that encoding instead.
6.2. ipn EID CBOR Decoding 6.2. ipn EID CBOR Decoding
skipping to change at line 747 skipping to change at line 737
if enc_eid.len() == 3 if enc_eid.len() == 3
{ {
ipn_eid.allocator_identifier := enc_eid[0]; ipn_eid.allocator_identifier := enc_eid[0];
ipn_eid.node_number := enc_eid[1]; ipn_eid.node_number := enc_eid[1];
ipn_eid.service_number := enc_eid[2]; ipn_eid.service_number := enc_eid[2];
} }
else if enc_eid.len() == 2 else if enc_eid.len() == 2
{ {
ipn_eid.allocator_identifier := enc_eid[0] >> 32; ipn_eid.allocator_identifier := enc_eid[0] >> 32;
ipn_eid.node_number := enc_eid[0] & (2^32-1); ipn_eid.node_number := enc_eid[0] & (2^(32-1));
ipn_eid.service_number := enc_eid[1]; ipn_eid.service_number := enc_eid[1];
} }
6.3. ipn URI Scheme CBOR Syntax 6.3. 'ipn' URI Scheme CBOR Syntax
When encoded in CBOR [RFC8949], a BPv7 endpoint identified by an ipn When encoded in CBOR [RFC8949], a BPv7 endpoint identified by an ipn
URI MUST comply with the following Concise Data Definition Language URI MUST comply with the following Concise Data Definition Language
(CDDL) [RFC8610] specification: (CDDL) [RFC8610] specification:
eid = $eid .within eid-structure eid = $eid .within eid-structure
eid-structure = [ eid-structure = [
uri-code: uint, uri-code: uint,
SSP: any SSP: any
skipping to change at line 801 skipping to change at line 791
For example, the ipn EID of ipn:977000.100.1 can be represented as For example, the ipn EID of ipn:977000.100.1 can be represented as
either the two-element encoding of 0x821B000EE8680000006401 or the either the two-element encoding of 0x821B000EE8680000006401 or the
three-element encoding of 0x831A000EE868186401. While message three-element encoding of 0x831A000EE868186401. While message
integrity and other syntax-based checks may treat these values integrity and other syntax-based checks may treat these values
differently, any EID-based comparisons MUST treat these values the differently, any EID-based comparisons MUST treat these values the
same: as representing the ipn EID ipn:977000.100.1. same: as representing the ipn EID ipn:977000.100.1.
7. Special Considerations 7. Special Considerations
The ipn URI scheme provides a compact and hierarchical mechanism for The 'ipn' URI scheme provides a compact and hierarchical mechanism
identifying services on network nodes. There is a significant amount for identifying services on network nodes. There is a significant
of utility in the ipn URI scheme approach to identification. amount of utility in the 'ipn' URI scheme approach to identification.
However, implementers should take into consideration the following However, implementers should take into consideration the following
observations on the use of the ipn URI scheme, particularly in regard observations on the use of the 'ipn' URI scheme, particularly in
to interoperability with implementations that pre-date this regard to interoperability with implementations that pre-date this
specification. specification.
7.1. Scheme Compatibility 7.1. Scheme Compatibility
The ipn scheme update that has been presented in this document The 'ipn' URI scheme update that has been presented in this document
preserves backwards compatibility with any ipn URI scheme going back preserves backwards compatibility with any 'ipn' URI scheme going
to the provisional definition of the ipn scheme in the experimental back to the provisional definition of the 'ipn' scheme in the
specification "Compressed Bundle Header Encoding (CBHE)" [RFC6260] in experimental specification "Compressed Bundle Header Encoding (CBHE)"
2011. This means that any ipn URI that was valid prior to the [RFC6260] in 2011. This means that any ipn URI that was valid prior
publication of this update remains a valid ipn URI. to the publication of this update remains a valid ipn URI.
Similarly, the two-element scheme-specific encoding (Section 6.1.1) Similarly, the two-element scheme-specific encoding (Section 6.1.1)
is also backwards compatible with the encoding of ipn URIs provided is also backwards compatible with the encoding of ipn URIs provided
in [RFC9171]. Any existing implementation compliant with [RFC9171] in [RFC9171]. Any existing implementation compliant with [RFC9171]
will produce an ipn URI encoding in compliance with this will produce an ipn URI encoding in compliance with this
specification. specification.
The introduction of optional non-default Allocator Identifiers and a The introduction of optional non-default Allocator Identifiers and a
three-element scheme-specific encoding does not make this ipn URI three-element scheme-specific encoding does not make this ipn URI
scheme update forwards compatible. Existing implementations for scheme update forwards compatible. Existing implementations for
skipping to change at line 892 skipping to change at line 882
ipn URIs and support for non-default Allocator Identifiers is ipn URIs and support for non-default Allocator Identifiers is
required. For example, Section 4.6 of [RFC9174] specifies that the required. For example, Section 4.6 of [RFC9174] specifies that the
session initialization message "...SHALL contain the UTF-8 encoded session initialization message "...SHALL contain the UTF-8 encoded
node ID of the entity that sent the SESS_INIT message." In such node ID of the entity that sent the SESS_INIT message." In such
cases, the considerations that apply to the use of the three-element cases, the considerations that apply to the use of the three-element
CBOR encoding also apply to the text representation when a non- CBOR encoding also apply to the text representation when a non-
default Allocator Identifier is present. default Allocator Identifier is present.
7.4. Bundle Protocol Version 6 Compatibility 7.4. Bundle Protocol Version 6 Compatibility
This document updates the use of ipn EIDs for BPv7; however, the ipn This document updates the use of ipn EIDs for BPv7; however, the
URI scheme was originally defined for use with BPv6. This document 'ipn' URI scheme was originally defined for use with BPv6. This
does not update any of the behaviors, wire-formats, or mechanisms of document does not update any of the behaviors, wire-formats, or
BPv6. Therefore, ipn EIDs with non-default Allocator Identifiers mechanisms of BPv6. Therefore, ipn EIDs with non-default Allocator
MUST NOT be used with BPv6, and the Allocator Identifier prefix MUST Identifiers MUST NOT be used with BPv6, and the Allocator Identifier
be omitted from any textural representation. It should be noted that prefix MUST be omitted from any textural representation. It should
BPv6 has no concept of LocalNode EIDs and will therefore treat such be noted that BPv6 has no concept of LocalNode EIDs and will
EIDs as routable. therefore treat such EIDs as routable.
7.5. Late Binding 7.5. Late Binding
[RFC9171] mandates the concept of the "late binding" of an EID, [RFC9171] mandates the concept of the "late binding" of an EID,
whereby the address of the destination of a bundle is resolved from whereby the address of the destination of a bundle is resolved from
its hop-by-hop identifier as it transits a BPv7 network. This per- its identifier hop-by-hop as it transits a BPv7 network. This per-
hop binding of identifiers to addresses underlines the fact that EIDs hop binding of identifiers to addresses underlines the fact that EIDs
are purely names and should not carry any implicit or explicit are purely names and should not carry any implicit or explicit
information concerning the current location or reachability of an information concerning the current location or reachability of an
identified node and service. This removes the need to rename a node identified node and service. This removes the need to rename a node
as its location changes. as its location changes.
The concept of late binding is preserved in this ipn URI scheme. The concept of late binding is preserved in this 'ipn' URI scheme.
Elements of an ipn URI MUST NOT be regarded as carrying information Elements of an ipn URI MUST NOT be regarded as carrying information
relating to location, reachability, or other addressing/routing relating to location, reachability, or other addressing/routing
concerns. concerns.
An example of incorrect behavior would be to assume that a given An example of incorrect behavior would be to assume that a given
Allocator assigns Node Numbers derived from link-layer addresses and Allocator assigns Node Numbers derived from link-layer addresses and
to interpret the Node Number component of an ipn URI directly as a to interpret the Node Number component of an ipn URI directly as a
link-layer address. No matter the mechanism an Allocator uses for link-layer address. No matter the mechanism an Allocator uses for
the assignment of Node Numbers, they remain just numbers, without the assignment of Node Numbers, they remain just numbers, without
additional meaning. additional meaning.
8. Security Considerations 8. Security Considerations
This section updates the security considerations from This section updates the security considerations from
Section 4.2.5.1.2 of [RFC9171] to account for the inclusion of Section 4.2.5.1.2 of [RFC9171] to account for the inclusion of
Allocator Identifiers in the ipn URI scheme when used with BPv7. Allocator Identifiers in the 'ipn' URI scheme when used with BPv7.
8.1. Reliability and Consistency 8.1. Reliability and Consistency
None of the BPv7 endpoints identified by ipn EIDs are guaranteed to None of the BPv7 endpoints identified by ipn EIDs are guaranteed to
be reachable at any time, and the identity of the processing entities be reachable at any time, and the identity of the processing entities
operating on those endpoints is never guaranteed by the Bundle operating on those endpoints is never guaranteed by the Bundle
Protocol itself. Verification of the signature provided by the Block Protocol itself. Verification of the signature provided by the Block
Integrity Block (BIB) targeting the bundle's primary block, as Integrity Block (BIB) targeting the bundle's primary block, as
defined by "Bundle Protocol Security (BPSec)" [RFC9172], is required defined by "Bundle Protocol Security (BPSec)" [RFC9172], is required
for this purpose. for this purpose.
skipping to change at line 956 skipping to change at line 946
arrival of that bundle or, alternatively, to declare a false source arrival of that bundle or, alternatively, to declare a false source
for a bundle and thereby cause incorrect processing at a node that for a bundle and thereby cause incorrect processing at a node that
receives the bundle. In both cases (and indeed in all bundle receives the bundle. In both cases (and indeed in all bundle
processing), the node that receives a bundle should verify its processing), the node that receives a bundle should verify its
authenticity and validity before operating on it in any way, such as authenticity and validity before operating on it in any way, such as
the use of BPSec [RFC9172] and TCP Convergence Layer version 4 the use of BPSec [RFC9172] and TCP Convergence Layer version 4
(TCPCLv4) with TLS [RFC9174]. (TCPCLv4) with TLS [RFC9174].
8.3. Back-End Transcoding 8.3. Back-End Transcoding
The limited expressiveness of URIs of the ipn scheme effectively The limited expressiveness of URIs of the 'ipn' scheme effectively
eliminates the possibility of threats due to errors in back-end eliminates the possibility of threats due to errors in back-end
transcoding. transcoding.
8.4. Local and Private Use ipn EIDs 8.4. Local and Private Use ipn EIDs
Both LocalNode (Section 3.4.2) and Private Use (Section 3.4.3) ipn Both LocalNode (Section 3.4.2) and Private Use (Section 3.4.3) ipn
URIs present a risk to the stability of deployed BPv7 networks. If URIs present a risk to the stability of deployed BPv7 networks. If
either type of ipn URI is allowed to propagate beyond the domain in either type of ipn URI is allowed to propagate beyond the domain in
which they are valid, then the required uniqueness of ipn URIs no which they are valid, then the required uniqueness of ipn URIs no
longer holds, and this fact can be abused by a malicious node to longer holds, and this fact can be abused by a malicious node to
prevent the correct functioning of the network as a whole. prevent the correct functioning of the network as a whole.
See "LocalNode ipn EIDs" (Section 5.4) and "Private Use ipn EIDs" See Sections 5.4 and 5.5 for required behaviors to mitigate against
(Section 5.5) for required behaviors to mitigate against this form of this form of abuse.
abuse.
8.5. Sensitive Information 8.5. Sensitive Information
Because ipn URIs are used only to represent the numeric identities of Because ipn URIs are used only to represent the numeric identities of
resources, the risk of disclosure of sensitive information due to resources, the risk of disclosure of sensitive information due to
interception of these URIs is minimal. Examination of ipn URIs could interception of these URIs is minimal. Examination of ipn URIs could
be used to support traffic analysis; where traffic analysis is a be used to support traffic analysis; where traffic analysis is a
plausible danger, bundles should be conveyed by secure convergence- plausible danger, bundles should be conveyed by secure convergence-
layer protocols that do not expose endpoint IDs, such as TCPCLv4 layer protocols that do not expose endpoint IDs, such as TCPCLv4
[RFC9174]. [RFC9174].
8.6. Semantic Attacks 8.6. Semantic Attacks
The simplicity of the ipn URI scheme syntax minimizes the possibility The simplicity of the 'ipn' URI scheme syntax minimizes the
of misinterpretation of a URI by a human user. possibility of misinterpretation of a URI by a human user.
9. IANA Considerations 9. IANA Considerations
The following sections detail the creation of two new IANA registries The following sections detail the creation of two new IANA registries
and the renaming of an existing IANA registry under the "Uniform and the renaming of an existing IANA registry under the "Uniform
Resource Identifier (URI) Schemes" registry group. Resource Identifier (URI) Schemes" registry group.
IANA has also updated the reference for the 'ipn' scheme to this IANA has also updated the reference for the 'ipn' scheme to this
document in the "Uniform Resource Identifier (URI) Schemes" registry. document in the "Uniform Resource Identifier (URI) Schemes" registry.
9.1. 'ipn' Scheme URI Allocator Identifiers Registry 9.1. 'ipn' Scheme URI Allocator Identifiers Registry
IANA has created a new registry titled "'ipn' Scheme URI Allocator IANA has created a new registry titled "'ipn' Scheme URI Allocator
Identifiers". Using terms defined in [RFC8126], the registration Identifiers". Using terms defined in [RFC8126], the registration
policies for this registry are: procedures for this registry are:
+========================+==============+==================+ +========================+==============+==================+
| Range | Registration | Note | | Range | Registration | Note |
| | Procedures | | | | Procedures | |
+========================+==============+==================+ +========================+==============+==================+
| 0..0xFFFF | Expert | Single Allocator | | 0..0xFFFF | Expert | Single Allocator |
| | Review | Identifiers only | | | Review | Identifiers only |
+------------------------+--------------+------------------+ +------------------------+--------------+------------------+
| 0x10000..0x3FFFFFFF | Expert | | | 0x10000..0x3FFFFFFF | Expert | |
| | Review | | | | Review | |
+------------------------+--------------+------------------+ +------------------------+--------------+------------------+
| 0x40000000..0x7FFFFFFF | Experimental | | | 0x40000000..0x7FFFFFFF | Experimental | |
| | Use | | | | Use | |
+------------------------+--------------+------------------+ +------------------------+--------------+------------------+
| 0x80000000..0xFFFFFFFF | Reserved | Future Expansion | | 0x80000000..0xFFFFFFFF | Reserved | Future Expansion |
+------------------------+--------------+------------------+ +------------------------+--------------+------------------+
| >= 2^32 | Reserved | | | >= 2^32 | Reserved | |
+------------------------+--------------+------------------+ +------------------------+--------------+------------------+
Table 2: Registration Policies for the 'ipn' Scheme URI Table 2: Registration Procedures for the 'ipn' Scheme
Allocator Identifiers Registry URI Allocator Identifiers Registry
Each entry in this registry associates one or more Allocator Each entry in this registry associates one or more Allocator
Identifiers with a single organization. Within the registry, the Identifiers with a single organization. Within the registry, the
organization is identified using the "Name" and "Change Controller" organization is identified using the "Name" and "Change Controller"
fields. It is expected that each identified organization will fields. It is expected that each identified organization will
publish some listing of allocated Node Numbers, the pointer to which publish some listing of allocated Node Numbers, the pointer to which
is listed in the "Reference" field of the registry. is listed in the "Reference" field of the registry.
Note that the "Single Allocator Identifiers only" language in the Note that the "Single Allocator Identifiers only" language in the
registration policy for this registry indicates that, within the registration procedure for this registry indicates that, within the
indicated range, the allocation of a sequence of consecutive indicated range, the allocation of a sequence of consecutive
Allocator Identifiers to a single organization is prohibited. Allocator Identifiers to a single organization is prohibited.
The initial values in the registry are: The initial values in the registry are:
+=========+=============+===============+======+=========+==========+ +=========+=============+===============+======+=========+==========+
|Name |Range (dec) |Range (hex) |Range |Reference|Change | |Name |Range (dec) |Range (hex) |Range |Reference|Change |
| | | |Length| |Controller| | | | |Length| |Controller|
| | | |(Bits)| | | | | | |(Bits)| | |
+=========+=============+===============+======+=========+==========+ +=========+=============+===============+======+=========+==========+
skipping to change at line 1082 skipping to change at line 1071
IANA has renamed the "CBHE Node Numbers" registry (defined in IANA has renamed the "CBHE Node Numbers" registry (defined in
Section 3.2.1 of [RFC7116]) to the "'ipn' Scheme URI Default Section 3.2.1 of [RFC7116]) to the "'ipn' Scheme URI Default
Allocator Node Numbers" registry and moved it to the "Uniform Allocator Node Numbers" registry and moved it to the "Uniform
Resource Identifier (URI) Schemes" registry group. IANA has added Resource Identifier (URI) Schemes" registry group. IANA has added
the following note to the "CBHE Node Numbers" registry: the following note to the "CBHE Node Numbers" registry:
| Note: Renamed "CBHE Node Numbers" as "'ipn' Scheme URI Default | Note: Renamed "CBHE Node Numbers" as "'ipn' Scheme URI Default
| Allocator Node Numbers" and moved it to | Allocator Node Numbers" and moved it to
| <https://www.iana.org/assignments/uri-schemes> per RFC 9758. | <https://www.iana.org/assignments/uri-schemes> per RFC 9758.
Using terms defined in [RFC8126], the registration policies for this Using terms defined in [RFC8126], the registration procedures for
registry are: this registry are:
+====================+=========================+ +====================+=========================+
| Range | Registration Procedures | | Range | Registration Procedures |
+====================+=========================+ +====================+=========================+
| 1..0x3FFF | Private Use | | 1..0x3FFF | Private Use |
+--------------------+-------------------------+ +--------------------+-------------------------+
| 0x4000..0xFFFFFFFE | Expert Review | | 0x4000..0xFFFFFFFE | Expert Review |
+--------------------+-------------------------+ +--------------------+-------------------------+
| >= 2^32 | Invalid | | >= 2^32 | Invalid |
+--------------------+-------------------------+ +--------------------+-------------------------+
Table 4: Registration Policies for the 'ipn' Table 4: Registration Procedures for the
Scheme URI Default Allocator Node Numbers 'ipn' Scheme URI Default Allocator Node
Registry Numbers Registry
IANA has registered the following values in the "'ipn' Scheme URI IANA has registered the following values in the "'ipn' Scheme URI
Default Allocator Node Numbers" registry: Default Allocator Node Numbers" registry:
+==============+===============================+===================+ +============+===============================+===================+
| Value | Description | Reference | | Value | Description | Reference |
+==============+===============================+===================+ +============+===============================+===================+
| 0 | Reserved for the Null ipn URI | [RFC7116] and RFC | | 0 | Reserved for the Null ipn URI | [RFC7116] and RFC |
| | | 9758, Section 3.1 | | | | 9758, Section 3.1 |
+--------------+-------------------------------+-------------------+ +------------+-------------------------------+-------------------+
| 4294967295 | Reserved for LocalNode ipn | RFC 9758, | | 4294967295 | Reserved for LocalNode ipn | RFC 9758, |
| | URIs | Section 3.4.2 | | | URIs | Section 3.4.2 |
+--------------+-------------------------------+-------------------+ +------------+-------------------------------+-------------------+
| >=4294967296 | Invalid | RFC 9758 |
+--------------+-------------------------------+-------------------+
Table 5: New Values in the 'ipn' Scheme URI Default Allocator Table 5: New Values in the 'ipn' Scheme URI Default Allocator
Node Numbers Registry Node Numbers Registry
As IANA has only renamed the registry, all existing registrations As IANA has only renamed the registry, all existing registrations
will remain. will remain.
9.3. 'ipn' Scheme URI Well-Known Service Numbers for BPv7 Registry 9.3. 'ipn' Scheme URI Well-Known Service Numbers for BPv7 Registry
IANA has created a new registry titled "'ipn' Scheme URI Well-Known IANA has created a new registry titled "'ipn' Scheme URI Well-Known
Service Numbers for BPv7". Using terms defined in [RFC8126], the Service Numbers for BPv7". Using terms defined in [RFC8126], the
registration policies for this registry are: registration procedures for this registry are:
+=====================+===============================+ +=====================+===============================+
| Range | Registration Procedures | | Range | Registration Procedures |
+=====================+===============================+ +=====================+===============================+
| 1..127 | Private Use | | 1..127 | Private Use |
+---------------------+-------------------------------+ +---------------------+-------------------------------+
| 128..255 | Standards Action | | 128..255 | Standards Action |
+---------------------+-------------------------------+ +---------------------+-------------------------------+
| 0x0100..0x7FFF | Private Use | | 0x0100..0x7FFF | Private Use |
+---------------------+-------------------------------+ +---------------------+-------------------------------+
| 0x8000..0xFFFF | Specification Required | | 0x8000..0xFFFF | Specification Required |
+---------------------+-------------------------------+ +---------------------+-------------------------------+
| 0x10000..0xFFFFFFFF | Private Use | | 0x10000..0xFFFFFFFF | Private Use |
+---------------------+-------------------------------+ +---------------------+-------------------------------+
| >= 2^32 | Reserved for future expansion | | >= 2^32 | Reserved for future expansion |
+---------------------+-------------------------------+ +---------------------+-------------------------------+
Table 6: Registration Policies for the 'ipn' Scheme Table 6: Registration Procedures for the 'ipn'
URI Well-Known Service Numbers for BPv7 Registry Scheme URI Well-Known Service Numbers for BPv7
Registry
The initial values for the registry are: The initial values in the registry are:
+=====================+====================+===================+ +================+=============================+===================+
| Value | Description | Reference | | Value | Description | Reference |
+=====================+====================+===================+ +================+=============================+===================+
| 0 | The Administrative | [RFC9171] and RFC | | 0 | The Administrative Endpoint | [RFC9171] and RFC |
| | Endpoint | 9758, Section 5.7 | | | | 9758, Section 5.7 |
+---------------------+--------------------+-------------------+ +----------------+-----------------------------+-------------------+
| 1..27 | Reserved for | RFC 9758 | | 0xEEE0..0xEEEF | Example Range | RFC 9758 |
| | Private Use | | +----------------+-----------------------------+-------------------+
+---------------------+--------------------+-------------------+
| 0x0100..0x7FFF | Reserved for | RFC 9758 |
| | Private Use | |
+---------------------+--------------------+-------------------+
| 0xEEE0..0xEEEF | Example Range | RFC 9758 |
+---------------------+--------------------+-------------------+
| 0x10000..0xFFFFFFFF | Reserved for | RFC 9758 |
| | Private Use | |
+---------------------+--------------------+-------------------+
| >= 2^32 | Reserved for | RFC 9758 |
| | future expansion | |
+---------------------+--------------------+-------------------+
Table 7: Initial Values in the 'ipn' Scheme URI Well-Known Table 7: Initial Values in the 'ipn' Scheme URI Well-Known
Service Numbers for BPv7 Registry Service Numbers for BPv7 Registry
The "Example Range" is assigned for use in examples in documentation The "Example Range" is assigned for use in examples in documentation
and sample code. and sample code.
9.3.1. Guidance for Designated Experts 9.3.1. Guidance for Designated Experts
This registry is intended to record the default Service Numbers for This registry is intended to record the default Service Numbers for
skipping to change at line 1264 skipping to change at line 1240
[RFC9172] Birrane, III, E. and K. McKeever, "Bundle Protocol [RFC9172] Birrane, III, E. and K. McKeever, "Bundle Protocol
Security (BPSec)", RFC 9172, DOI 10.17487/RFC9172, January Security (BPSec)", RFC 9172, DOI 10.17487/RFC9172, January
2022, <https://www.rfc-editor.org/info/rfc9172>. 2022, <https://www.rfc-editor.org/info/rfc9172>.
[RFC9174] Sipos, B., Demmer, M., Ott, J., and S. Perreault, "Delay- [RFC9174] Sipos, B., Demmer, M., Ott, J., and S. Perreault, "Delay-
Tolerant Networking TCP Convergence-Layer Protocol Version Tolerant Networking TCP Convergence-Layer Protocol Version
4", RFC 9174, DOI 10.17487/RFC9174, January 2022, 4", RFC 9174, DOI 10.17487/RFC9174, January 2022,
<https://www.rfc-editor.org/info/rfc9174>. <https://www.rfc-editor.org/info/rfc9174>.
Appendix A. ipn URI Scheme Text Representation Examples Appendix A. 'ipn' URI Scheme Text Representation Examples
This section provides some example ipn URIs in their textual This section provides some example ipn URIs in their textual
representation. representation.
A.1. Using the Default Allocator A.1. Using the Default Allocator
Consider the ipn URI identifying Service Number 2 on Node Number 1 Consider the ipn URI identifying Service Number 2 on Node Number 1
allocated by the Default Allocator (0) (Section 3.2.2). allocated by the Default Allocator (0) (Section 3.2.2).
The recommended seven-character representation of this URI would be The recommended seven-character representation of this URI would be
skipping to change at line 1313 skipping to change at line 1289
The recommended seven-character representation of this URI would be The recommended seven-character representation of this URI would be
as follows: as follows:
ipn:!.7 ipn:!.7
The numeric 16-character representation of this URI would be as The numeric 16-character representation of this URI would be as
follows: follows:
ipn:4294967295.7 ipn:4294967295.7
Appendix B. ipn URI Scheme CBOR Encoding Examples Appendix B. 'ipn' URI Scheme CBOR Encoding Examples
This section provides some example CBOR encodings of ipn EIDs. This section provides some example CBOR encodings of ipn EIDs.
B.1. Using the Default Allocator B.1. Using the Default Allocator
Consider the ipn EID ipn:1.1. This textual representation of an ipn Consider the ipn EID ipn:1.1. This textual representation of an ipn
EID identifies Service Number 1 on Node Number 1 allocated by the EID identifies Service Number 1 on Node Number 1 allocated by the
Default Allocator (0) (Section 3.2.2). Default Allocator (0) (Section 3.2.2).
The recommended five-octet encoding of this EID using the two-element The recommended five-octet encoding of this EID using the two-element
scheme-specific encoding would be as follows: scheme-specific encoding would be as follows:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
82 # 2 Element ipn EID scheme-specific encoding 82 # 2-Element ipn EID scheme-specific encoding
01 # Node Number 01 # Node Number
01 # Service Number 01 # Service Number
The six-octet encoding of this EID using the three-element scheme- The six-octet encoding of this EID using the three-element scheme-
specific encoding would be as follows: specific encoding would be as follows:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
83 # 3 Element ipn EID scheme-specific encoding 83 # 3-Element ipn EID scheme-specific encoding
00 # Default Allocator 00 # Default Allocator
01 # Node Number 01 # Node Number
01 # Service Number 01 # Service Number
B.2. Using a Non-Default Allocator B.2. Using a Non-Default Allocator
Consider the ipn EID ipn:977000.1.1. This textual representation of Consider the ipn EID ipn:977000.1.1. This textual representation of
an ipn EID identifies Service Number 1 on Node Number 1 allocated by an ipn EID identifies Service Number 1 on Node Number 1 allocated by
Allocator 977000. Allocator 977000.
The recommended 10-octet encoding of this EID using the three-element The recommended 10-octet encoding of this EID using the three-element
scheme-specific encoding would be as follows: scheme-specific encoding would be as follows:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
83 # 3 Element ipn EID scheme-specific encoding 83 # 3 Element ipn EID scheme-specific encoding
1A 000EE868 # Allocator Identifier 1A 000EE868 # Allocator Identifier
01 # Node Number 01 # Node Number
01 # Service Number 01 # Service Number
The 13-octet encoding of this EID using the two-element scheme- The 13-octet encoding of this EID using the two-element scheme-
specific encoding would be as follows: specific encoding would be as follows:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
82 # 2 Element ipn EID scheme-specific encoding 82 # 2-Element ipn EID scheme-specific encoding
1B 000EE86800000001 # Fully-Qualified Node Number 1B 000EE86800000001 # Fully Qualified Node Number
01 # Service Number 01 # Service Number
B.3. The 'null' Endpoint B.3. The Null Endpoint
The 'null' EID of ipn:0.0 can be encoded in the following ways: The Null EID of ipn:0.0 can be encoded in the following ways:
The recommended five-octet encoding of the 'null' ipn EID using the The recommended five-octet encoding of the Null ipn EID using the
two-element scheme-specific encoding would be as follows: two-element scheme-specific encoding would be as follows:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
82 # 2 Element ipn EID scheme-specific encoding 82 # 2-Element ipn EID scheme-specific encoding
00 # Node Number 00 # Node Number
00 # Service Number 00 # Service Number
The six-octet encoding of the 'null' ipn EID using the three-element The six-octet encoding of the Null ipn EID using the three-element
scheme-specific encoding would be as follows: scheme-specific encoding would be as follows:
82 # 2-Element Endpoint Encoding 82 # 2-Element Endpoint Encoding
02 # uri-code: 2 (IPN URI scheme) 02 # uri-code: 2 ('ipn' URI scheme)
83 # 3 Element ipn EID scheme-specific encoding 83 # 3-Element ipn EID scheme-specific encoding
00 # Default Allocator 00 # Default Allocator
00 # Node Number 00 # Node Number
00 # Service Number 00 # Service Number
Acknowledgments Acknowledgments
The following DTN Working Group participants contributed technical The following DTN Working Group participants contributed technical
material, use cases, and critical technical reviews for this URI material, use cases, and critical technical reviews for this URI
scheme update: Scott Burleigh of the IPNGROUP, Keith Scott, Brian scheme update: Scott Burleigh of the IPNGROUP, Keith Scott, Brian
Sipos of the Johns Hopkins University Applied Physics Laboratory, Sipos of the Johns Hopkins University Applied Physics Laboratory,
 End of changes. 91 change blocks. 
205 lines changed or deleted 181 lines changed or added

This html diff was produced by rfcdiff 1.48.