idnits 2.17.1 draft-birrane-dtn-adm-ion-ltpadmin-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The abstract seems to contain references ([I-D.birrane-dtn-adm]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 11, 2019) is 1870 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Outdated reference: A later version (-06) exists of draft-birrane-dtn-adm-02 == Outdated reference: A later version (-08) exists of draft-birrane-dtn-amp-04 Summary: 2 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Delay-Tolerant Networking E. Birrane 3 Internet-Draft E. DiPietro 4 Intended status: Experimental D. Linko 5 Expires: September 12, 2019 Johns Hopkins Applied Physics Laboratory 6 March 11, 2019 8 ION Licklider Transmission Protocol Admin Application Data Model 9 draft-birrane-dtn-adm-ion-ltpadmin-01 11 Abstract 13 This document describes the Application Data Model (ADM) for the 14 configuration of licklider transmission protocol (LTP) in ION in 15 compliance with the template provided by [I-D.birrane-dtn-adm]. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on September 12, 2019. 34 Copyright Notice 36 Copyright (c) 2019 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 1.1. Technical Notes . . . . . . . . . . . . . . . . . . . . . 2 53 1.2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 1.3. Requirements Language . . . . . . . . . . . . . . . . . . 3 55 2. Structure and Design of this ADM . . . . . . . . . . . . . . 3 56 3. Naming and Identification . . . . . . . . . . . . . . . . . . 4 57 3.1. Namespace and Nicknames . . . . . . . . . . . . . . . . . 4 58 4. ION LTP Admin ADM JSON Encoding . . . . . . . . . . . . . . . 5 59 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 60 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 61 6.1. Informative References . . . . . . . . . . . . . . . . . 10 62 6.2. Normative References . . . . . . . . . . . . . . . . . . 10 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 65 1. Introduction 67 An Application Data Model (ADM) provides a guaranteed interface for 68 the management of an application or protocol in accordance with the 69 Asynchronous Management Architecture (AMA) defined in 70 [I-D.birrane-dtn-ama]. The ADM described in this document complies 71 with the ADM Template provided in [I-D.birrane-dtn-adm] as encoded 72 using the JSON syntax. 74 The ION Licklider Transmission Protocol (LTP) Administration ADM 75 contains all of the functionality that is required to properly 76 configure LTP in ION in accordance with [RFC5326]. LTP is a 77 convergence layer protocol. There is no flow control or congestion 78 control in LTP. LTP must run either over UDP or directly over a link 79 layer protocol. Because of this, LTP cannot be used in every 80 situation. This LTP Admin ADM provides the set of information 81 necessary to provide retransmission based reliability on challenged 82 networks, focusing on the information that are needed to manage LTP 83 properly on the network. 85 1.1. Technical Notes 87 o This document describes Version 0.0 of the ION LTP Admin ADM. 89 o The AMM Resource Identifier (ARI) for this ADM is NOT correctly 90 set. A sample ARI is used in this version of the specification 91 and MAY change in future versions of this ADM until an ARI 92 registry is established. This notice will be removed at that 93 time. 95 o Agent applications MAY choose to ignore the name, description, or 96 other annotative information associated with the component 97 definitions within this ADM where such items are only used to 98 provide human-readable information or are otherwise not necessary 99 to manage a device. 101 1.2. Scope 103 This ADM specifies those components of the Asynchronous Management 104 Model (AMM) common to the configuration of LTP in ION. 106 Any Manager software implementing this ADM MUST perform the 107 responsibilities of an AMA Manager as outlined in 108 [I-D.birrane-dtn-adm] as they relate to the objects included in this 109 document. 111 Any Agent software implementing this ADM MUST perform the 112 responsibilities of an AMA Agent as outlined in [I-D.birrane-dtn-adm] 113 as they relate to the objects included in this document. 115 1.3. Requirements Language 117 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 118 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 119 document are to be interpreted as described in RFC 2119 [RFC2119]. 121 2. Structure and Design of this ADM 123 The LTP Admin ADM's structure is in accordance to 124 [I-D.birrane-dtn-adm]. This ADM contains metadata, table templates, 125 and controls. Table Templates are column templates that will be 126 followed by any instance of this table available in the network. 127 They may not be created dynamically within the network by Managers. 128 Controls are predefined and sometimes parameterized opcodes that can 129 be run on an Agent. Controls are preconfigured in Agents and 130 Managers as part of ADM support.There are no variables, report 131 templates, macros, edd, constants, or operators in this ADM at this 132 time. The contents of this ADM are derived from the main functions 133 and data that are needed to manage LTP RFC 5326 [RFC5326]. 135 All ADMs have metadata that includes the name, namespace, and version 136 of the ADM as well as the name of the organization that is issuing 137 that particular ADM. This is important for identification purposes 138 of the ADMs and to ensure version control. 140 The main idea identified in LTP that is present in this ADM is a span 141 of potential LTP data interchange between engines(nodes on a network 142 that use LTP). 144 3. Naming and Identification 146 This section outlines the namespaces used to uniquely identify ADM 147 objects in this specification. 149 3.1. Namespace and Nicknames 151 In accordance with [I-D.birrane-dtn-adm], every ADM is assigned a 152 moderated Namespace. In accordance with [I-D.birrane-dtn-amp], these 153 namespaces may be enumerated for compactness. The namespace and ADM 154 identification for these objects is defined as follows. 156 +-----------------+------------------+ 157 | Identifier | Value | 158 +-----------------+------------------+ 159 | Namespace | DTN/ION/ltpadmin | 160 | | | 161 | ADM Enumeration | 9 | 162 +-----------------+------------------+ 164 Table 1: Namespace Information 166 Given the above ADM enumeration, in accordance with 167 [I-D.birrane-dtn-amp], the following AMP nicknames are defined. 169 +----------+------------------------------+ 170 | Nickname | Collection | 171 +----------+------------------------------+ 172 | 180 | DTN/ION/ltpadmin//Const | 173 | | | 174 | 181 | DTN/ION/ltpadmin//Ctrl | 175 | | | 176 | 182 | DTN/ION/ltpadmin//Edd | 177 | | | 178 | 183 | DTN/ION/ltpadmin//Mac | 179 | | | 180 | 184 | DTN/ION/ltpadmin//Oper | 181 | | | 182 | 185 | DTN/ION/ltpadmin//Rptt | 183 | | | 184 | 187 | DTN/ION/ltpadmin//Tblt | 185 | | | 186 | 189 | DTN/ION/ltpadmin//Var | 187 | | | 188 | 190 | DTN/ION/ltpadmin//Mdat | 189 | | | 190 | 191-199 | DTN/ION/ltpadmin//Reserved | 191 +----------+------------------------------+ 193 Table 2: ION BP ADM Nicknames 195 4. ION LTP Admin ADM JSON Encoding 197 { 198 "Mdat": [{ 199 "name": "name", 200 "type": "STR", 201 "value": "ion_ltp_admin", 202 "description": "The human-readable name of the ADM." 203 }, 204 { 205 "name": "namespace", 206 "type": "STR", 207 "value": "DTN/ION/ltpadmin", 208 "description": "The namespace of the ADM." 209 }, 210 { 211 "name": "version", 212 "type": "STR", 213 "value": "v0.0", 214 "description": "The version of the ADM." 215 }, 216 { 217 "name": "organization", 218 "type": "STR", 219 "value": "JHUAPL", 220 "description": "The name of the issuing organization of the 221 ADM." 222 } 223 ], 224 "Edd": [{ 225 "name": "ion_version", 226 "type": "STR", 227 "description": "This is the version of ION that is currently 228 installed." 229 }], 230 "Tblt": [{ 231 "name": "spans", 232 "columns": [{ 233 "type": "UVAST", 234 "name": "peer_engine_nbr" 235 }, { 236 "type": "UINT", 237 "name": "max_export_sessions" 238 }, { 239 "type": "UINT", 240 "name": "max_import_sessions" 241 }, { 242 "type": "UINT", 243 "name": "max_segment_size" 244 }, { 245 "type": "UINT", 246 "name": "aggregation_size_limit" 247 }, { 248 "type": "UINT", 249 "name": "aggregation_time_limit" 250 }, { 251 "type": "STR", 252 "name": "lso_control" 253 }, { 254 "type": "UINT", 255 "name": "queueing_latency" 256 }], 257 "description": "This table lists all spans of potential LTP data 258 interchange that exists between the local LTP 259 engine and the indicated (neighboring) LTP engine." 260 }], 261 "Ctrl": [{ 262 "name": "manage_heap", 263 "parmspec": [{ 264 "type": "UINT", 265 "name": "max_database_heap_per_block" 266 }], 267 "description": "This control declares the maximum number of 268 bytes of SDR heap space that will be occupied by 269 the acquisition of any single LTP block. All 270 data acquired in excess of this limit will be 271 written to a temporary file pending extraction 272 and dispatching of the acquired block. Default 273 is the minimum allowed value (560 bytes), which 274 is the approximate size of a ZCO file reference 275 object; this is the minimum SDR heap space 276 occupancy in the event that all acquisition is 277 into a file." 278 }, 279 { 280 "name": "manage_max_ber", 281 "parmspec": [{ 282 "type": "REAL32", 283 "name": "max_expected_bit_error_rate" 284 }], 285 "description": "This control sets the expected maximum bit error 286 rate(BER) that LTP should provide for in 287 computing the maximum number of transmission 288 efforts to initiate in the transmission of a 289 given block.(Note that this computation is also 290 sensitive to data segment size and to the size 291 of the block that is to be transmitted.) The 292 default value is .0001 (10^-4)." 293 }, 294 { 295 "name": "manage_own_queue_time", 296 "parmspec": [{ 297 "type": "UINT", 298 "name": "own_queing_latency" 299 }], 300 "description": "This control sets the number of seconds of 301 predicted additional latency attributable to 302 processing delay within the local engine itself 303 that should be included whenever LTP computes 304 the nominal round-trip time for an exchange of 305 data with any remote engine.The default value 306 is 1." 307 }, 308 { 309 "name": "manage_screening", 310 "parmspec": [{ 311 "type": "UINT", 312 "name": "new_state" 313 }], 314 "description": "This control enables or disables the screening 315 of received LTP segments per the periods of 316 scheduled reception in the node's contact graph. 317 By default, screening is disabled. When 318 screening is enabled, such segments are silently 319 discarded. Note that when screening is enabled 320 the ranges declared in the contact graph must 321 be accurate and clocks must be synchronized; 322 otherwise, segments will be arriving at times 323 other than the scheduled contact intervals and 324 will be discarded." 325 }, 326 { 327 "name": "span_add", 328 "parmspec": [{ 329 "type": "UVAST", 330 "name": "peer_engine_number" 331 }, { 332 "type": "UINT", 333 "name": "max_export_sessions" 334 }, { 335 "type": "UINT", 336 "name": "max_import_sessions" 337 }, { 338 "type": "UINT", 339 "name": "max_segment_size" 340 }, { 341 "type": "UINT", 342 "name": "aggregtion_size_limit" 343 }, { 344 "type": "UINT", 345 "name": "aggregation_time_limit" 346 }, { 347 "type": "STR", 348 "name": "lso_control" 349 }, { 350 "type": "UINT", 351 "name": "queuing_latency" 352 }], 353 "description": "This control declares that a span of potential 354 LTP data interchange exists between the local 355 LTP engine and the indicated (neighboring) LTP 356 engine." 357 }, 358 { 359 "name": "span_change", 360 "parmspec": [{ 361 "type": "UVAST", 362 "name": "peer_engine_number" 363 }, { 364 "type": "UINT", 365 "name": "max_export_sessions" 366 }, { 367 "type": "UINT", 368 "name": "max_import_sessions" 369 }, { 370 "type": "UINT", 371 "name": "max_segment_size" 372 }, { 373 "type": "UINT", 374 "name": "aggregtion_size_limit" 375 }, { 376 "type": "UINT", 377 "name": "aggregation_time_limit" 378 }, { 379 "type": "STR", 380 "name": "lso_control" 381 }, { 382 "type": "UINT", 383 "name": "queuing_latency" 384 }], 385 "description": "This control sets the indicated span's 386 configuration parameters to the values provided 387 as arguments" 388 }, 389 { 390 "name": "span_del", 391 "parmspec": [{ 392 "type": "UVAST", 393 "name": "peer_engine_number" 394 }], 395 "description": "This control deletes the span identified by 396 peerEngineNumber. The control will fail if any 397 outbound segments for this span are pending 398 transmission or any inbound blocks from the 399 peer engine are incomplete." 400 }, 401 { 402 "name": "stop", 403 "description": "This control stops all link service input and 404 output tasks for the local LTP engine." 405 }, 406 { 407 "name": "watch_set", 408 "parmspec": [{ 409 "type": "STR", 410 "name": "activity" 411 }], 412 "description": "This control enables and disables production of 413 a continuous stream of user- selected LTP activity indication 414 characters. Activity parameter of 1 selects all LTP activity 415 indication characters; 0 de-selects all LTP activity indication 416 characters; any other activitySpec such as df{] selects all 417 activity indication characters in the string, de-selecting all 418 others. LTP will print each selected activity indication 419 character to stdout every time a processing event of the 420 associated type occurs: d bundle appended to block for next 421 session, e segment of block is queued for transmission, f 422 block has been fully segmented for transmission, g segment 423 popped from transmission queue, h positive ACK received for 424 block and session ended, s segment received, t block has been 425 fully received, @ negative ACK received for block and segments 426 retransmitted, = unacknowledged checkpoint was retransmitted, 427 + unacknowledged report segment was retransmitted, { export 428 session canceled locally (by sender), } import session canceled 429 by remote sender, [ import session canceled locally (by 430 receiver), ] export session canceled by remote receiver" 431 } 432 ] 433 } 435 5. IANA Considerations 437 At this time, this protocol has no fields registered by IANA. 439 6. References 441 6.1. Informative References 443 [I-D.birrane-dtn-ama] 444 Birrane, E., "Asynchronous Management Architecture", 445 draft-birrane-dtn-ama-07 (work in progress), June 2018. 447 6.2. Normative References 449 [I-D.birrane-dtn-adm] 450 Birrane, E., DiPietro, E., and D. Linko, "AMA Application 451 Data Model", draft-birrane-dtn-adm-02 (work in progress), 452 June 2018. 454 [I-D.birrane-dtn-amp] 455 Birrane, E., "Asynchronous Management Protocol", draft- 456 birrane-dtn-amp-04 (work in progress), June 2018. 458 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 459 Requirement Levels", BCP 14, RFC 2119, 460 DOI 10.17487/RFC2119, March 1997, 461 . 463 [RFC5326] Ramadas, M., Burleigh, S., and S. Farrell, "Licklider 464 Transmission Protocol - Specification", RFC 5326, 465 DOI 10.17487/RFC5326, September 2008, 466 . 468 Authors' Addresses 470 Edward J. Birrane 471 Johns Hopkins Applied Physics Laboratory 473 Email: Edward.Birrane@jhuapl.edu 475 Evana DiPietro 476 Johns Hopkins Applied Physics Laboratory 478 Email: Evana.DiPietro@jhuapl.edu 480 David Linko 481 Johns Hopkins Applied Physics Laboratory 483 Email: David.Linko@jhuapl.edu