[Sis-dtn] First draft LTP protocol element naming

Dr. Keith L Scott kscott at mitre.org
Wed Nov 10 14:02:17 UTC 2021


OK, I took a cut at a hierarchical LTP protocol naming (this is really just lifted from the Draft Red Book).  I specifically stayed away from specifying on-the-wire encoding (field lengths) for this.

I have a bit of a question around report segment reception claims, whether it’s better to do array indexing at the reception_claim level or the offset/length level.

It would seem, except for the complexity of indexing off the field_length_identifer to determine all the relevant field lengths, that this could be expressed in TSN.1 pretty easily.

Thoughts?

                                --keith


Term
Data Type
Units
Range

Description
segment_header
version_number
unsigned integer
N/A
0-15
ltp.segment_header.version_number

type_control
flag
N/A
[0|1]
ltp.segment_header.type_control

type_exc
flag
N/A
[0|1]
ltp.segment_header.type_exc

type_flag1
flag
N/A
[0|1]
ltp.segment_header.type_flag1

type_flag0
flag
N/A
[0|1]
ltp.segment_header.type_flag0

type_code
flag
N/A
[0|1]
ltp.segment_header.type_code

field_length_identifier
unsigned integer
N/A
0-255
ltp.segment_header.field_length_identifier

session_originator
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.segment_header.session_originator

session_number
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.segment_header.session_number








data_segment
client_service_id
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.data_segment.client_service_id

offset
unsigned integer
bytes
Determined by ltp.segment_header.field_length_identifier
ltp.data_segment.offset

length
unsigned integer
bytes
Determined by ltp.segment_header.field_length_identifier
ltp.data_segment.length

checkpoint_serial_number
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.data_segment.checkpoint_serial_number
Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.
report_serial_number
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.data_segment.report_serial_number
Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.
client_service_data
 Blob of octets
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.data_segment.client_service_data








report_segment
report_serial_number
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.report_serial_number
Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.
checkpoint_serial_number
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.checkpoint_serial_number
Should we specify that these wrap at the end?  I think the current spec says to abort if you run out of sequence space.
upper_bound
unsigned integer
bytes
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.upper_bound

lower_bound
unsigned integer
bytes
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.lower_bound

reception_claim_count
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.reception_claim_count

    reception_claim_offset
unsigned integer
bytes
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.reception_claim_offset[x]
What's the right way to deal with arrays?  We could do ltp.report_segment.reception_claim[x].[offset, count] instead.
    reception_claim_length
unsigned integer
bytes
Determined by ltp.segment_header.field_length_identifier
ltp.report_segment.reception_claim_length[x]
What's the right way to deal with arrays?  We could do ltp.report_segment.reception_claim[x].[offset, count] instead.







report_acknowledgement_segment
report_serial_number
unsigned integer
N/A
Determined by ltp.segment_header.field_length_identifier
ltp.report_acknowledgement_segment.report_serial_number

cancel_segment
reason_code
unsigned integer
 N/A
0-255
ltp.cancel_segment.reason_code

cancel_acknowledgement_segment
<no payload>



ltp.cancel_acknowledgement_segment


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20211110/aed322e5/attachment-0001.htm>


More information about the SIS-DTN mailing list