Network Working Group ISO Request for Comments: 905 April 1984 ISO Transport Protocol Specification ISO DP 8073 Status of this Memo: This document is distributed as an RFC for information only. It does not specify a standard for the ARPA-Internet. Notes: 1) RFC 892 is an older version of the ISO Transport Protocol Specification. Therefore this RFC should be assumed to supercede RFC 892. 2) This document has been prepared by retyping the text of ISO/TC97/SC16/N1576 and then applying proposed editorial corrections contained in ISO/TC97/SC16/N1695. These two documents, taken together, are undergoing voting within ISO as a Draft International Standard (DIS). 3) Although this RFC has been reviewed after typing, and is believed to be substantially correct, it is possible that typographic errors not present in the ISO documents have been overlooked. Alex McKenzie BBN Table of Contents 1 SCOPE AND FIELD OF APPLICATION........................ 3 1.1 This International Standard specifies:.............. 3 1.2 The procedures are defined in terms of:............. 4 1.3 .................................................... 4 1.4 .................................................... 5 2 REFERENCES............................................ 5 3 DEFINITIONS........................................... 6 3.1 .................................................... 6 3.2 .................................................... 6 3.2.1 equipment:........................................ 7 3.2.2 transport service user:........................... 7 3.2.3 network service provider:......................... 7 3.2.4 local matter:..................................... 7 3.2.5 initiator:........................................ 7 3.2.6 responder:........................................ 8 3.2.7 sending transport entity:......................... 8 3.2.8 receiving transport entity:....................... 8 3.2.9 preferred class:.................................. 8 3.2.10 alternative class:............................... 8 3.2.11 proposed class:.................................. 9 3.2.12 selected class:.................................. 9 3.2.13 proposed parameter:.............................. 9 3.2.14 selected parameter:.............................. 9 3.2.15 error indication:................................ 9 3.2.16 invalid TPDU:................................... 10 3.2.17 protocol error:................................. 10 3.2.18 sequence number:................................ 10 3.2.19 transmit window:................................ 10 3.2.20 lower window edge:.............................. 11 3.2.21 upper window edge:.............................. 11 3.2.22 upper window edge allocated to the peer entity: .................................................... 11 3.2.23 closed window:.................................. 11 3.2.24 window information:............................. 11 3.2.25 frozen reference:............................... 12 3.2.26 unassigned reference:........................... 12 3.2.27 transparent (data):............................. 12 i 3.2.28 owner (of a network connection):................ 12 3.2.29 retained TPDU:.................................. 12 4 SYMBOLS AND ABBREVIATIONS............................ 13 4.1 Data units......................................... 13 4.2 Types of transport protocol data units............. 13 4.3 TPDU fields........................................ 13 4.4 Times and associated variables..................... 14 4.5 Miscellaneous...................................... 14 5 OVERVIEW OF THE TRANSPORT PROTOCOL................... 15 5.1 Service provided by the transport layer............ 15 5.2 Service assumed from the network layer............. 16 5.3 Functions of the Transport Layer................... 18 5.3.1 Overview of functions............................ 18 5.3.1.1 Functions used at all times.................... 19 5.3.1.2 Connection Establishment....................... 19 5.3.1.3 Data Transfer.................................. 20 5.3.1.4 Release........................................ 21 5.4 Classes and options................................ 21 5.4.1 General.......................................... 21 5.4.2 Negotiation...................................... 22 5.4.3 Choice of network connection..................... 22 5.4.4 Characteristics of Class 0....................... 23 5.4.5 Characteristics of Class 1....................... 23 5.4.6 Characteristics of Class 2....................... 24 5.4.6.1 General........................................ 24 5.4.6.2 Use of explicit flow control................... 24 5.4.6.3 Non-use of explicit flow control............... 24 5.4.7 Characteristics of Class 3....................... 24 5.4.8 Characteristics of Class 4....................... 25 5.5 Model of the transport layer....................... 25 6 ELEMENTS OF PROCEDURE................................ 27 6.1 Assignment to network connection................... 27 6.1.1 Purpose.......................................... 27 6.1.2 Network service primitives....................... 27 6.1.3 Procedure........................................ 28 6.2 Transport protocol data unit (TPDU) transfer....... 29 6.2.1 Purpose.......................................... 29 6.2.2 Network Service Primitives....................... 30 6.2.3 Procedure........................................ 30 6.3 Segmenting and reassembling........................ 30 6.3.1 Purpose.......................................... 30 6.3.2 TPDUs and parameter used......................... 31 6.3.3 Procedure........................................ 31 ii 6.4 Concatenation and separation....................... 31 6.4.1 Purpose.......................................... 31 6.4.2 Procedure........................................ 32 6.5 Connection establishment........................... 32 6.5.1 Purpose.......................................... 32 6.5.2 Network service primitives....................... 33 6.5.3 TPDUs and parameters used........................ 33 6.5.4 Procedure........................................ 34 6.6 Connection refusal................................. 40 6.6.1 Purpose.......................................... 40 6.6.2 TPDUs and parameters used........................ 40 6.6.3 Procedure........................................ 41 6.7 Normal release..................................... 41 6.7.1 Purpose.......................................... 41 6.7.2 Network service primitives....................... 42 6.7.3 TPDUs and parameters used........................ 42 6.7.4 Procedure for implicit variant................... 43 6.7.5 Procedure for explicit variant................... 43 6.8 Error Release...................................... 44 6.8.1 Purpose.......................................... 45 6.8.2 Network service primitives....................... 45 6.8.3 Procedure........................................ 45 6.9 Association of TPDUs with transport connections .................................................... 45 6.9.1 Purpose.......................................... 45 6.9.2 Network service primitives....................... 46 6.9.3 TPDUs and parameters uses........................ 46 6.9.4 Procedures....................................... 46 6.9.4.1 Identification of TPDUs........................ 46 6.9.4.2 Association of individual TPDUs................ 47 6.10 Data TPDU numbering............................... 49 6.10.1 Purpose......................................... 49 6.10.2 TPDUs and parameters used....................... 49 6.10.3 Procedure....................................... 50 6.11 Expedited data transfer........................... 50 6.11.1 Purpose......................................... 50 6.11.2 Network service primitives...................... 50 6.11.3 TPDUs and parameter used........................ 51 6.11.4 Procedures...................................... 51 6.12 Reassignment after failure........................ 52 6.12.1 Purpose......................................... 52 6.12.2 Network service primitives...................... 52 iii 6.12.3 Procedure....................................... 52 6.12.4 Timers.......................................... 54 6.13 Retention until acknowledgement of TPDUs.......... 56 6.13.1 Purpose......................................... 56 6.13.2 Network service primitives...................... 56 6.13.3 TPDUs and parameters used....................... 56 6.13.4 Procedures...................................... 57 6.14 Resynchronization................................. 60 6.14.1 Purpose......................................... 60 6.14.2 Network service primitives...................... 60 6.14.3 TPDUs and parameters used....................... 60 6.14.4 Procedure....................................... 61 6.14.4.1 Active resynchronization procedures........... 61 6.14.4.2 Passive resynchronization procedures.......... 62 6.14.4.3 Data Resynchronization Procedures............. 63 6.15 Multiplexing and demultiplexing................... 64 6.15.1 Purpose......................................... 64 6.15.2 TPDUs and parameters used....................... 64 6.15.3 Procedure....................................... 65 6.16 Explicit Flow Control............................. 65 6.16.1 Purpose......................................... 65 6.16.2 TPDUs and parameters used....................... 65 6.16.3 Procedure....................................... 66 6.17 Checksum.......................................... 66 6.17.1 Purpose......................................... 66 6.17.2 TPDUs and parameters used....................... 66 6.17.3 Procedure....................................... 67 6.18 Frozen references................................. 68 6.18.1 Purpose......................................... 68 6.18.2 Procedure....................................... 68 6.18.2.1 Procedure for classes 0 and 2................. 68 6.18.2.2 Procedure for classes 1 and 3................. 69 6.18.2.3 Procedure for classes 4....................... 70 6.19 Retransmission on time-out........................ 70 6.19.1 Purpose......................................... 70 6.19.2 TPDUs used...................................... 70 6.19.3 Procedure....................................... 70 6.20 Resequencing...................................... 70 6.20.1 Purpose......................................... 71 6.20.2 TPDUs and parameters used....................... 71 6.20.3 Procedure....................................... 71 6.21 Inactivity control................................ 71 6.21.1 Purpose......................................... 71 iv 6.21.2 Procedure....................................... 72 6.22 Treatment of protocol errors...................... 72 6.22.1 Purpose......................................... 72 6.22.2 TPDUs and parameters used....................... 72 6.22.3 Procedure....................................... 72 6.23 Splitting and recombining......................... 74 6.23.1 Purpose......................................... 74 6.23.2 Procedure....................................... 74 7 Protocol Classes..................................... 76 8 SPECIFICATION FOR CLASS 0. SIMPLE CLASS.............. 79 8.1 Functions of class 0............................... 79 8.2 Procedures for class 0............................. 79 8.2.1 Procedures applicable at all times............... 79 8.2.2 Connection establishment......................... 79 8.2.3 Data transfer.................................... 80 8.2.4 Release.......................................... 80 9 SPECIFICATION FOR CLASS 1: BASIC ERROR RECOVERY CLASS .................................................... 81 9.1 Functions of Class 1............................... 81 9.2 Procedures for Class 1............................. 81 9.2.1 Procedures applicable at all times............... 81 9.2.2 Connection establishment......................... 82 9.2.3 Data Transfer.................................... 82 9.2.3.1 General........................................ 82 9.2.3.2 Expedited Data................................. 83 9.2.4 Release.......................................... 84 10 SPECIFICATION FOR CLASS 2 - MULTIPLEXING CLASS .................................................... 85 10.1 Functions of class 2.............................. 85 10.2 Procedures for class 2............................ 85 10.2.1 Procedures applicable at all times.............. 85 10.2.2 Connection establishment........................ 86 10.2.3 Data transfer when non use of explicit flow control .................................................... 86 10.2.4 Data transfer when use of explicit flow control .................................................... 86 10.2.4.1 General....................................... 86 10.2.4.2 Flow control.................................. 87 10.2.4.3 Expedited data................................ 88 v 10.2.5 Release......................................... 89 11 SPECIFICATION FOR CLASS 3: ERROR RECOVERY AND MULTIPLEXING CLASS .................................................... 90 11.1 Functions of Class 3.............................. 90 11.2 Procedures for Class 3............................ 90 11.2.1 Procedures applicable at all times.............. 90 11.2.2 Connection Establishment........................ 91 11.2.3 Data Transfer................................... 91 11.2.3.1 General....................................... 91 11.2.3.2 Use of RJ TPDU................................ 92 11.2.3.3 Flow Control.................................. 93 11.2.3.4 Expedited data................................ 93 11.2.4 Release......................................... 94 12 SPECIFICATION FOR CLASS 4: ERROR DETECTION AND RECOVERY CLASS .................................................... 95 12.1 Functions of Class 4.............................. 95 12.2 Procedures for Class 4............................ 95 12.2.1 Procedures available at all times............... 95 12.2.1.1 Timers used at all times...................... 95 12.2.1.1.1 NSDU lifetime (MLR, MRL).................... 98 12.2.1.1.2 Expected maximum transit delay (ELR, ERL) .................................................... 98 12.2.1.1.3 Acknowledge Time (AR, AL)................... 99 12.2.1.1.4 Local retransmission time (T1).............. 99 12.2.1.1.5 Persistence Time (R)........................ 99 12.2.1.1.6 Bound on References and Sequence Numbers (L) ................................................... 100 12.2.1.2 General Procedures........................... 100 12.2.2 Procedures for Connection Establishment........ 102 12.2.2.1 Timers used in Connection Establishment...... 102 12.2.2.2 General Procedures........................... 103 12.2.3 Procedures for Data Transfer................... 104 12.2.3.1 Timers used in Data Transfer................. 104 12.2.3.2 General Procedures for data transfer......... 104 12.2.3.3 Inactivity Control........................... 105 12.2.3.4 Expedited Data............................... 105 12.2.3.5 Resequencing................................. 106 12.2.3.6 Explicit Flow Control........................ 107 12.2.3.7 Sequencing of received AK TPDUs.............. 108 vi 12.2.3.8 Procedure for transmission of AK TPDUs....... 109 12.2.3.8.1 Retransmission of AK TPDUs for window synchronization ................................................... 109 12.2.3.8.2 Sequence control for transmission of AK TPDUs ................................................... 109 12.2.3.8.3 Retransmission of AK TPDUs after CDT set to zero ................................................... 110 12.2.3.8.4 Retransmission procedures following reduction of the ................................................... 111 12.2.3.9 Use of Flow Control Confirmation parameter ................................................... 112 12.2.4 Procedures for Release......................... 113 12.2.4.1 Timers used for Release...................... 113 12.2.4.2 General Procedures for Release............... 113 13 STRUCTURE AND ENCODING OF TPDUs.................... 114 13.1 Validity......................................... 114 13.2 Structure........................................ 116 13.2.1 Length indicator field......................... 117 13.2.2 Fixed part..................................... 117 13.2.2.1 General...................................... 117 13.2.2.2 TPDU code.................................... 117 13.2.3 Variable part.................................. 118 13.2.3.1 Checksum Parameter (Class 4 only)............ 120 13.2.4 Data Field..................................... 120 13.3 Connection Request (CR) TPDU..................... 120 13.3.1 Structure...................................... 120 13.3.2 LI............................................. 121 13.3.3 Fixed Part (Octets 2 to 7)..................... 121 13.3.4 Variable Part (Octets 8 to p).................. 122 13.3.5 User Data (Octets p+1 to the end).............. 127 13.4 Connection Confirm (CC) TPDU..................... 128 13.4.1 Structure...................................... 128 13.4.2 LI............................................. 128 13.4.3 Fixed Part (Octets 2 to 7)..................... 128 13.4.4 Variable Part (Octet 8 to p)................... 129 13.4.5 User Data (Octets p+1 to the end).............. 129 13.5 Disonnect Request (DR) TPDU...................... 129 13.5.1 Structure...................................... 129 vii 13.5.2 LI............................................. 129 13.5.3 Fixed Part (Octets 2 to 7...................... 130 13.5.4 Variable Part (Octets 8 to p).................. 131 13.5.5 User Data (Octets p+1 to the end).............. 131 13.6 Disconnect Confirm (DC) TPDU..................... 132 13.6.1 Structure...................................... 132 13.6.2 LI............................................. 132 13.6.3 Fixed Part (Octets 2 to 6)..................... 132 13.6.4 Variable Part.................................. 133 13.7 Data (DT) TPDU................................... 133 13.7.1 Structure...................................... 133 13.7.2 LI............................................. 134 13.7.3 Fixed Part..................................... 134 13.7.4 Variable Part.................................. 135 13.7.5 User Data Field................................ 135 13.8 Expedited Data (ED) TPDU......................... 135 13.8.1 Structure...................................... 135 13.8.2 LI............................................. 136 13.8.3 Fixed Part..................................... 136 13.8.4 Variable Part.................................. 137 13.8.5 User Data Field................................ 137 13.9 Data Acknowledgement (AK) TPDU................... 137 13.9.1 Structure...................................... 137 13.9.2 LI............................................. 138 13.9.3 Fixed Part..................................... 138 13.9.4 Variable Part.................................. 139 13.10 Expedited Data Acknowledgement (EA) TPDU........ 140 13.10.1 Structure..................................... 140 13.10.2 LI............................................ 141 13.10.3 Fixed Part.................................... 141 13.10.4 Variable Part................................. 141 13.11 Reject (RJ) TPDU................................ 141 13.11.1 Structure..................................... 142 13.11.2 LI............................................ 142 13.11.3 Fixed Part.................................... 142 13.11.4 Variable Part................................. 143 13.12 TPDU Error (ER) TPDU............................ 143 13.12.1 Structure..................................... 143 13.12.2 LI............................................ 143 13.12.3 Fixed Part.................................... 144 13.12.4 Variable Part................................. 144 14 CONFORMANCE........................................ 145 14.1 ................................................. 145 viii 14.2 ................................................. 145 14.3 ................................................. 145 14.4 ................................................. 145 14.5 ................................................. 146 14.6 Claims of Conformance Shall State................ 146 ix INTRODUCTION The Transport Protocol Standard is one of a set of International Standards produced to facilitate the interconnection of computer systems. The set of standards covers the services and protocols required to achieve such interconnection. The Transport Protocol Standard is positioned with respect to other related standards by the layers defined in the Reference Model for Open Systems Interconnection (ISO 7498). It is most closely related to, and lies within the field of application of the Transport Service Standard (DP 8072). It also uses and makes reference to the Network Service Standard (DP 8348), whose provisions it assumes in order to accomplish the transport protocol's aims. The interelationship of these standards is depicted in figure 1. -------------------------TRANSPORT SERVICE DEFINITION------------ Transport | --- Reference to aims -------------- Protocol | Specification | --- Reference to assumptions ------- -------------------------NETWORK SERVICE DEFINITION-------------- Relationaship between Transport Protocol and adjacent services Figure 1 . The International Standard specifies a common encoding and a number of classes of transport protocol procedures to be used with different network qualities of service. It is intended that the Transport Protocol should be simple but general enough to cater for the total range of Network Service qualities possible, without restricting future extensions. The protocol is structured to give rise to classes of protocol which are designed to minimize possible incompatibilities and implementation costs. 1 The classes are selectable with respect to the Transport and Network Services in providing the required quality of service for the interconnection of two session entities (note that each class provides a different set of functions for enhancement of service qualities). This protocol standard defines mechanisms that can be used to optimize network tariffs and enhance the following qualities of service: a) different throughput rates; b) different error rates; c) integrity of data requirements; d) reliability requirements. It does not require an implementation to use all of these mechanisms, nor does it define methods for measuring achieved quality of service or criteria for deciding when to release transport connections following quality of service degradation. The primary aim of this International Standard is to provide a set of rules for communication expressed in terms of the procedures to be carried out by peer entities at the time of communication. These rules for communication are intended to provide a sound basis for development in order to serve a variety of purposes: a) as a guide for implementors and designers; b) for use in the testing and procurement of equipment; c) as part of an agreement for the admittance of systems into the open systems environment; d) as a refinement of the understanding of OSI. It is expected that the initial users of the International Standard will be designers and implementors of equipment and the International Standard contains, in notes or in annexes, guidance on the implementation of the procedures defined in the standard. 2 It should be noted that, as the number of valid protocol sequences is very large, it is not possible with current technology to verify that an implementation will operate the protocol defined in this International Standard correctly under all circumstances. It is possible by means of testing to establish confidence that an implementation correctly operates the protocol in a representative sample of circumstances. It is, however, intended that this International Standard can be used in circumstances where two implementations fail to communicate in order to determine whether one or both have failed to operate the protocol correctly. This International Standard contains a section on conformance of equipment claiming to implement the procedures in this International Standard. Attention is drawn to the fact that the standard does not contain any tests to demonstrate this conformance. The variations and options available within this International Standard are essential to enable a Transport Service to be provided for a wide variety of applications over a variety of network qualities. Thus, a minimally conforming implementation will not be suitable for use in all possible circumstances. It is important, therefore, to qualify all references to this International Standard with statements of the options provided or required or with statements of the intended purpose of provision or use. 1 SCOPE AND FIELD OF APPLICATION 1.1 This International Standard specifies: a) five classes of procedures: 1) Class 0. Simple class; 2) Class 1. Basic error recovery class; 3) Class 2. Multiplexing class; 4) Class 3. Error recovery and multiplexing class; 5) Class 4. Error detection and recovery class, 3 for the connection oriented transfer of data and control information from one transport entity to a peer transport entity; b) the means of negotiating the class of procedures to be used by the transport entities; c) the structure and encoding of the transport protocol data units used for the transfer of data and control information; 1.2 The procedures are defined in terms of: a) the interactions between peer transport entities through the exchange of transport protocol data units; b) the interactions between a transport entity and the transport service user in the same system through the exchange of transport service primitives; c) the interactions between a transport entity and the network service provider through the exchange of network service primitives. These procedures are defined in the main text of the standard supplemented by state tables in annex A. 1.3 These procedures are applicable to instances of communication between systems which support the Transport Layer of the OSI Reference Model and which wish to interconnect in an open systems environment. 4 1.4 This International Standard also specifies conformance requirements for systems implementing these procedures. It does not contain tests which can be used to demonstrate this conformance. 2 REFERENCES ISO 7498 Information processing systems - Open systems interconnection - Basic Reference Model DP 8072 Information processing systems - Open systems interconnection - Transport service definition DP 8348 Information processing systems - Open systems interconnection - Connection-oriented network service definition. 5 SECTION ONE. GENERAL 3 DEFINITIONS NOTE - The definitions contained in this clause make use of abbreviations defined in clause 4. 3.1 This International Standard is based on the concepts developed in the Reference Model for Open Systems Interconnection (DIS 7498) and makes use of the following terms defined in that standard: a) concatenation and separation; b) segmenting and reassembling; c) multiplexing and demultiplexing; d) splitting and recombining; e) flow control. 3.2 For the purpose of this International Standard, the following definitions apply: 6 3.2.1 equipment: Hardware or software or a combination of both; it need not be physically distinct within a computer system. 3.2.2 transport service user: An abstract representation of the totality of those entities within a single system that make use of the transport service. 3.2.3 network service provider: An abstract machine that models the totality of the entities providing the network service, as viewed by a transport entity. 3.2.4 local matter: A decision made by a system concerning its behavior in the Transport Layer that is not subject to the requirements of this protocol. 3.2.5 initiator: A transport entity that initiates a CR TPDU. 7 3.2.6 responder: A transport entity with whom an initiator wishes to establish a transport connection. NOTE - Initiator and responder are defined with respect to a single transport connection. A transport entity can be both an initiator and responder simultaneously. 3.2.7 sending transport entity: A transport entity that sends a given TPDU. 3.2.8 receiving transport entity: A transport entity that receives a given TPDU. 3.2.9 preferred class: The protocol class that the initiator indicates in a CR TPDU as its first choice for use over the transport connection. 3.2.10 alternative class: A protocol class that the initiator indicates in a CR TPDU as an alternative choice for use over the transport connection. 8 3.2.11 proposed class: A preferred class or an alternative class. 3.2.12 selected class: The protocol class that the responder indicates in a CC TPDU that it has chosen for use over the transport connection. 3.2.13 proposed parameter: The value for a parameter that the initiator indicates in a CR TPDU that it wishes to use over the transport connection. 3.2.14 selected parameter: The value for a parameter that the responder indicates in a CC TPDU that it has chosen for use over the transport connection. 3.2.15 error indication: An N-RESET indication, or an N-DISCONNECT indication with a reason code indicating an error, that a transport entity receives from the NS-provider. 9 3.2.16 invalid TPDU: A TPDU that does not comply with the requirements of this International Standard for structure and encoding. 3.2.17 protocol error: A TPDU whose use does not comply with the procedures for the class. 3.2.18 sequence number: a) The number in the TPDU-NR field of a DT TPDU that indicates the order in which the DT TPDU was transmitted by a transport entity. b) The number in the YR-TU-NR field of an AK or RJ TPDU that indicates the sequence number of the next DT TPDU expected to be received by a transport entity. 3.2.19 transmit window: The set of consecutive sequence numbers which a transport entity has been authorized by its peer entity to send at a given time on a given transport connection. 10 3.2.20 lower window edge: The lowest sequence number in a transmit window. 3.2.21 upper window edge: The sequence number which is one greater than the highest sequence number in the transmit window. 3.2.22 upper window edge allocated to the peer entity: The value that a transport entity communicates to its peer entity to be interpreted as its new upper window edge. 3.2.23 closed window: A transmit window that contains no sequence number. 3.2.24 window information: Information contained in a TPDU relating to the upper and the lower window edges. 11 3.2.25 frozen reference: A reference that is not available for assignment to a connection because of the requirements of 6.18. 3.2.26 unassigned reference: A reference that is neither currently in use for identifying a transport connection or which is in a frozen state. 3.2.27 transparent (data): TS-user data that is transferred intact between transport entities and which is unavailable for use by the transport entities. 3.2.28 owner (of a network connection): The transport entity that issued the N-CONNECT request leading to the creation of that network connection. 3.2.29 retained TPDU: A TPDU that is subject to the retransmission procedure or retention until acknowledgement procedure and is available for possible retransmission. 12 4 SYMBOLS AND ABBREVIATIONS 4.1 Data units TPDU Transport protocol data unit TSDU Transport service data unit NSDU Network service data unit 4.2 Types of transport protocol data units CR TPDU Connection request TPDU CC TPDU Connection confirm TPDU DR TPDU Disconnect request TPDU DC TPDU Disconnect confirm TPDU DT TPDU Data TPDU ED TPDU Expedited data TPDU AK TPDU Data acknowledge TPDU EA TPDU Expedited acknowledge TPDU RJ TPDU Reject TPDU ER TPDU Error TPDU 4.3 TPDU fields LI Length indicator (field) CDT Credit (field) TSAP-ID Transport service access point identifier (field) DST-REF Destination reference (field) SRC-REF Source reference (field) EOT End of TSDU mark TPDU-NR DT TPDU number (field) ED-TPDU-NR ED TPDU number (field) YR-TU-NR Sequence number response (field) YR-EDTU-NR ED TPDU number response (field) 13 4.4 Times and associated variables T1 Elapsed time between retransmissions N The maximum number of transmissions L Bound on reference I Inactivity time W Window time TTR Time to try reassignment/resynchronization TWR Time to wait for reassignment/resynchronization TS1 Supervisory timer 1 TS2 Supervisory time 2 MLR NSDU lifetime local-to-remote MRL NSDU lifetime remote-to-local ELR Expected maximum transit delay local-to-remote ERL Expected maximum transit delay remote-to-local R Persistence time AL Local acknowledgement time AR Remote acknowledgement time 4.5 Miscellaneous TS-user Transport service user TSAP Transport service access point NS-provider Network service provider NSAP Network service access point QOS Quality of service 14 5 OVERVIEW OF THE TRANSPORT PROTOCOL NOTE - This overview is not exhaustive and has been provided for guidance to the reader of this International Standard. 5.1 Service provided by the transport layer The protocol specified in this International Standard supports the transport service defined in DP 8072. Information is transferred to and from the TS-user in the transport service primitives listed in table 1. 15 +-------------------------------------------------------------+ | Primitive | Parameter | |--------------------------------|----------------------------| |T-CONNECT request | Called Address, | | indication | Calling Address, | | | Expedited Data option, | | | Quality of Service, | | | TS User-Data. | |--------------------------------|----------------------------| |T-CONNECT response | Responding Address, | | confirm | Quality of Service, | | | Expedited Data option, | | | TS User-Data. | |--------------------------------|----------------------------| |T-DATA request | TS User-Data. | | indication | | |--------------------------------|----------------------------| |T-EXPEDITED DATA request | TS User-Data. | | indication | | |--------------------------------|----------------------------| |T-DISCONNECT request | TS User-Data. | |--------------------------------|----------------------------| |T-DISCONNECT indication | Disconnect reason, | | | TS User-Data. | +--------------------------------|----------------------------+ Table 1. Transport service primitives 5.2 Service assumed from the network layer The protocol specified in this International Standard assumes the use of the network service defined in DP 8348. Information is transferred to and from the NS-provider in the network service primitives listed in table 2. 16 +---------------------------------------------------------------+ | Primitives |X/Y| Parameters |X/Y/Z| |----------------------------|---|------------------------|-----| |N-CONNECT request | X | Called Address, | X | | indication | X | Calling Address, | X | | response | X | NS User-Data, | Z | | confirm | X | QOS parameter set, | X | | | | Responding address, | Z | | | | Receipt confirmation | Y | | | | selection. | | |----------------------------|---|------------------------|-----| |N-DATA request | X | NS User-Data, | X | | indication | X | Confirmation request | Y | |----------------------------|---|------------------------|-----| |N-DATA ACKNOWLEDGE | | | | | request | Y | | | | indication | Y | | | |----------------------------|---|------------------------|-----| |N-EXPEDITED DATA | | | | | request | Y | NS User-Data. | Y | | indication | Y | | | |----------------------------|---|------------------------|-----| |N-RESET request | X | Originator, | Z | | indication | X | Reason. | Z | | response | X | | | | confirm | X | | | |----------------------------|---|------------------------|-----| |N-DISCONNECT request | X | NS User-Data. | Z | | indication | X | Originator, | Z | | | | Reason. | Z | +---------------------------------------------------------------+ Table 2. Network service primitives 17 Key: X - The Transport Protocol assumes that this facility is provided in all networks. Y - The Transport Protocol assumes that this facility is provided in some networks and a mechanism is provided to optionally use the facility. Z - The Transport Protocol does not use this parameter. NOTES: 1 - The parameters listed in this table are those in the current network service (first DP 8348). 2 - The way the parameters are exchanged between the transport entity and the NS-provider is a local matter. 5.3 Functions of the Transport Layer 5.3.1 Overview of functions The functions in the Transport Layer are those necessary to bridge the gap between the services available from the Network Layer and those to be offered to the TS-users. The functions in the Transport Layer are concerned with the enhancement of quality of service, including aspects of cost optimization. These functions are grouped below into those used at all times during a transport connection and those concerned with connection establishment, data transfer and release. NOTE - This International Standard does not include the following functions which are under consideration for inclusion in future editions of this standard: a) encryption; 18 b) accounting mechanisms; c) status exchanges and monitoring of QOS; d) blocking; e) temporary release of network connections; f) alternative checksum algorithm. 5.3.1.1 Functions used at all times The following functions, depending upon the selected class and options, are used at all times during a transport connection: a) transmission of TPDUs (see 6.2 and 6.9); b) multiplexing and demultiplexing (see 6.15), a function used to share a single network connection between two or more transport connections; c) error detection (see 6.10, 6.13 and 6.17), a function used to detect the loss, corruption, duplication, misordering or misdelivery of TPDUs; d) error recovery (see 6.12, 6.14, 6.18, 6.19, 6.20, 6.21 and 6.22), a function used to recover from detected and signalled errors. 5.3.1.2 Connection Establishment The purpose of connection establishment is to establish a transport connection between two TS-users. The following functions of the transport layer during this phase must match the TS-users' requested quality of service with the services offered by the network layer: 19 a) select network service which best matches the requirement of the TS-user taking into account charges for various services (see 6.5); b) decide whether to multiplex multiple transport connections onto a single network connection (see 6.5); c) establish the optimum TPDU size (see 6.5); d) select the functions that will be operational upon entering the data transfer phase (see 6.5); e) map transport addresses onto network addresses; f) provide a means to distinguish between two different transport connections (see 6.5); g) transport of TS-user data (see 6.5). 5.3.1.3 Data Transfer The purpose of data transfer is to permit duplex transmission of TSDUs between the