Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Acceptance of duplicate block numbers #51

Open
Assignees
iondev33
@StephanHav

Description

@StephanHav

Summary:
ION-DTN BPv7 4.1.3s accepts BPv7 bundles in which two blocks share the same block number. However, according to RFC 9171, the block number must uniquely identify a block within the bundle.

Details:
The following BPv7 bundle contains two blocks with block number 2. In particular, it contains:

  • A Previous Node block (type 6) with block number 2
  • A Bundle Age block (type 7) with block number 2
9f89071844018202820301820100820100821b000000b5998c982b011a000493e042c9f68506021000458202820200850702010042183485010101004454455354ff

RFC 9171, Section 4.1, states:

"Associated with each block of a bundle is a block number. The block number uniquely identifies the block within the bundle, enabling blocks (notably Bundle Protocol Security blocks) to reference other blocks in the same bundle without ambiguity."

According to this text, we believe the above bundle should be rejected.

However, ION-DTN BPv7 accepts the bundle without error:

(.venv) XXX@XXX:~/targets/nasa/ION-DTN/receiver-bpv7/3.bench.udp$ bpsink ipn:3.1ION event: Payload delivered.        payload length is 4.        'TEST'

In contrast, bothuD3TN andbp7-rs reject the bundle. In the case ofbp7-rs with the following log:

[bp7-rs] ERROR:Bundle {    ...    canonicals: [        CanonicalBlock {            block_type: 6,            block_number: 2,            block_control_flags: 16,            crc: CrcNo,            data: PreviousNode(                Ipn(                    2,                    IpnAddress(                        2,                        0,                    ),                ),            ),        },        CanonicalBlock {            block_type: 7,            block_number: 2,            block_control_flags: 1,            crc: CrcNo,            data: BundleAge(                52,            ),        },    ...}Error validating bundle: [BundleError("Block numbers occurred multiple times")]

Impact and recommendation:
This conformance issue could potentially later impact interoperability and correctness of block referencing (e.g., by BPAs). We recommend that ION-DTN BPv7 adds validation logic to ensure all block numbers are unique within a given bundle.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp