BP

Bundle Protocol (BP)

The Bundle Protocol provides datagram transport over a high-delay or disrupted network using a variety of convergence layers (TCPCL, LTPCL, etc.) to give per-hop bundle transport between BP nodes.

History

BPv6 was standardized in RFC 5050. BPv7 was standardized in RFC 9171.

Protocol dependencies

Wireshark

The BP dissector supports extension block dissecting using sub-dissector tables and payload dissection as an administrative record or based on destination EID service identification. The dissection hierarchy looks like:

  1. If the bundle flag indicates Administrative payload, the "bpv7.admin" dissector is used.
  2. Otherwise, the destination EID is used to determine how to dissect the payload.
    • For the "dtn" scheme, with a well-known scheme specific part (e.g. "dtn:none") the SSP is used with the "bpv7.payload.dtn_wkssp" dissector table.
    • For the "dtn" scheme, the DTN service demux is used with the "bpv7.payload.dtn_serv" dissector table.
    • For the "ipn" scheme, the IPN service number is used with the "bpv7.payload.ipn_serv" dissector table.
  3. Otherwise, the heuristic dissector "bpv7.btsd".

Preference Settings

The BPv7 dissector contains a heuristic dissector for block-type-specific data (BTSD) which currently uses CBOR as a fallback. This heuristic dissector applies to all BTSD, including the payload bloack data.

Example capture file

The unit test tree contains a BPv6 and BPv7 test file using separate CLs.

A BPv6 capture is in dtn_tcpclv3_bpv6_transfer.pcapng.

A BPv7/TCPCL capture is in dtn_tcpclv4_bpv7_transfer.pcapng and a BPv7/UDPCL capture with a BIB targeting the payload block is in dtn_udpcl_bpv7_bpsec_bib_admin.pcapng.

Display Filter

Show only BPv6 traffic with filter bundle and BPv7 traffic with filter bpv7.

Show TCPCL traffic with filter tcpcl, LTP traffic with filter ltp.

External links