[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