diff options
Diffstat (limited to 'doc/rfc/rfc892.txt')
-rw-r--r-- | doc/rfc/rfc892.txt | 4414 |
1 files changed, 4414 insertions, 0 deletions
diff --git a/doc/rfc/rfc892.txt b/doc/rfc/rfc892.txt new file mode 100644 index 0000000..0ff8ceb --- /dev/null +++ b/doc/rfc/rfc892.txt @@ -0,0 +1,4414 @@ +Network Working Group ISO +Request for Comments: 892 December 1983 + + + ISO Transport Protocol Specification + +This document is distributed as an RFC for information only. +It does not specify a standard for the ARPA Internet. + +Note: This document appeared in: + +ISO/TC97/SC16/WG6. Information Processing Systems - Open Systems + Interconnection - Transport Protocol Specification. Computer + Communication Review 12, 3-4 (July/October 1982), pp. 24-67. + +and differs from it only in format. + + +Table of Contents + +0. Introduction +1. Scope and Field of Application +2. References + +Section One - General + +3. Definitions +4. Symbols and Abbreviations +5. Overview + + 5.1 Service provided by the transport layer + 5.2 Service assumed from the network layer + 5.3 Functions of the transport layer + 5.4 Model of the transport layer + +Section Two - Transport Protocol Specification + +6. Protocol Mechanisms + + 6.1 Assignment to network connection + 6.2 Transport protocol data unit (TPDU) transfer + 6.3 Data TPDU length and segmenting + 6.4 Concatenation and separation + 6.5 Connection establishment + 6.6 Connection refusal + 6.7 Release + 6.8 Implicit termination + 6.9 Spurious disconnect + 6.10 Data TPDU numbering + 6.11 Expedited data transfer + 6.12 Reassignment + 6.13 Reassignment after failure + +ISO Transport Protocol Specification Page 2 +International Standards Organization + + + 6.14 Retention until acknowledgement of TPDUs + 6.15 Resynchronization + 6.16 Multiplexing and demultiplexing + 6.17 Explicit flow control + 6.18 Checksum + 6.19 Frozen references + 6.20 Retransmission on timeout + 6.21 Resequencing + 6.22 Inactivity control + 6.23 Treatment of protocol errors + 6.24 Splitting and recombining + +7. Protocol Classes + 7.0 Protocol description of class 0: simple class + 7.1 Protocol description of class 1: basic error recovery class + 7.2 Protocol description of class 2: multiplexing class + 7.3 Protocol description of class 3: error recovery and multiplexing + class + 7.4 Protocol description of class 4: error detection and recovery class + +8. Encoding + + 8.1 Summary + 8.2 Structure + 8.3 Connection Request (CR) + 8.4 Connection Confirm (CC) + 8.5 Disconnect Request (DR) + 8.6 Disconnect Confirm (DC) + 8.7 Data (DT + 8.8 Expedited Data (ED) + 8.9 Data Acknowledgement (AK) + 8.10 Expedited Data Acknowledgement (EA) + 8.11 Reject (RJ) + 8.12 TPDU Error (ERR) + +Section Three - Conformance + +9. Conformance + +0. Introduction + + The Transport Protocol Standard is one of a set of International +Standards produced to facilitate the interconection 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 + +ISO Transport Protocol Specification Page 3 +International Standards Organization + + +Service Standard (DP aaaa). It also uses and makes reference to the +Network Service Standard (DP bbbb), whose provisions it assumes in +order to accomplish the transport protocol's aims. The +interrelationship of these standards is depicted in Figure 1. + +-----------------------------------TRANSPORT SERVICE DEFINITION----- + + Transport --Reference to aims--------------- + Protocol + Specification --Reference to assumptions-------- + +------------------------------------NETWORK SERVICE DEFINITION------ + +Figure 1 - Relationship between the transport protocol and adjacent + services + + The 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. + + 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 is concerned with optimisation of network +tariffs and the following qualities of service: + + a) different throughput rates; + b) different error rates; + c) integrity of data requirements; + d) reliability requirements. + + The aim of this standard is primarily to provide a definition +for implementors. Since the protocol is complex, the document contains +much material which is advisory or descriptive, but mandatory +requirements on implementations are clearly identified. + + 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 document +correctly under all circumstances. It is possible by means of testing + +ISO Transport Protocol Specification Page 4 +International Standards Organization + + +to establish confidence that an implementation correctly operates the +protocol in a representative sample of circumstances. It is, however, +intended that this 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. + + The variations and options available within this 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 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 class; + 5) Class 4. Error detection and recovery class, + + for the 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 encoding of the transport protocol data units used for + the transfer of data and control information; + + d) the functional requirements of equipment within a + computer system claiming to implement these procedures. + +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 + +ISO Transport Protocol Specification Page 5 +International Standards Organization + + + service primitives. + +1.3 This International Standard is applicable to equipment which + supports the Transport Layer of the OSI Reference Model and which + wishes to interconnect in an open systems environment. + +2. References + +ISO 7498 Information processing systems - Open systems inter- + connection - Basic Reference Model + +DP aaaa Information processing systems - Open systems inter- + connection - Transport service definition (N1169). + +DP bbbb Information processing systems - Open systems inter- + connection - Connection-oriented network service + definition (N729) + +Section One - General + +3. Definitions + +3.1 Equipment: Hardware or software or a combination of both; it + need not be physically distinct within a computer system. + +3.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.3 Network service provider: An abstract machine which models + the totality of the entities providing the network service, + as viewed by a transport entity. + + Explanatory Notes + + 1. Definitions 3.1 to 3.3 relate to terms used in clause 1. + + 2. This standard makes use of the terms, concepts, and + definition defined in ISO 7498. + +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 + + +ISO Transport Protocol Specification Page 6 +International Standards Organization + + + 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 Rejected TPDU + ERR 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) + SCE-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) + +4.4 Parameters + + T (R) Receive sequence number + T (S) Send sequence number + +4.5 Timer variables + + T1 Elapse time between retransmissions + N The maximum number of retransmissions + L Bound for the maximum time between the + decision to transmit a TPDU and the receipt of + any response relating to it + T-WAIT Maximum time for a reassignment to take place + before TC failure is assumed + I Inactivity timer - Maximum time allowed to + elapse between receipt of TPDUs before TC + failure is assumed + W Window timer - Maximum interval between trans- + mission of up to date window information + +4.6 Other variables + + n The number of bits in the sequence number + field + p The number of bits in the credit field of a + CR, CC or AK TPDU + +ISO Transport Protocol Specification Page 7 +International Standards Organization + + +4.7 Miscellaneous + + TS-user Transport service user + TSAP Transport service access point + NSAP Network service access point + TC Transport connection + NC Network Connection + +5. Overview of the Transport Protocol + +5.1 Service Provided by the Transport Layer + + The services provided by the protocol described in this +document are connection-oriented services. They are defined in +document DP aaaa. The Transport Service primitives provided are +summarized in Figure 1. + +ISO Transport Protocol Specification Page 8 +International Standards Organization + + + Primitive Parameters +------------------------------------------------------------------------ +T-CONNECT Request To Transport Address, From + Indication Transport Address, Expedited + Data Option, Quality of + Service, TS-User data. +------------------------------------------------------------------------ +T-CONNECT Response Responding Address, Quality + Confirmation of Service, Expedited Data + Option, TS-User data. +------------------------------------------------------------------------ +T-DATA Request TS-User data. + Indication +------------------------------------------------------------------------ +T-EXPEDITED Request TS-User data. +DATA Indication +------------------------------------------------------------------------ +T-DISCONNECT Request TS-User data. +------------------------------------------------------------------------ +T-DISCONNECT Indication Disconnect reason, TS-User + data. +------------------------------------------------------------------------ + + Figure 1. Transport Service Primitives + +5.2 Service Assumed from the Network Layer + + The transport protocol described in this document assumes of +the Network Services described in DP bbbb. The Network Service +primitives used are summarized in Figure 2. + +ISO Transport Protocol Specification Page 9 +International Standards Organization + + + Primitive X/Y Parameters X/Y/Z +------------------------------------------------------------------------ +N-CONNECT Request X Called Address, X + Indication X Calling Address, X + Response X NS-User data, Z + Confirmation X QOS. X +------------------------------------------------------------------------ +N-DATA Request X NS-User data, X + Indication X Conf. Request Y +------------------------------------------------------------------------ +N-DATA Request Y +ACKNOWLEDGE Indication +------------------------------------------------------------------------ +N-EXPEDITED Request Y +DATA Indication NS-User data Y +------------------------------------------------------------------------ +N-RESET Request X + Indication X + Response X + Confirmation X +------------------------------------------------------------------------ +N-DISCONNECT Request X NS-User data Z + Indication X +------------------------------------------------------------------------ + + 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. + + Figure 2. Network Service Primitives + +5.3 Functions of the Transport Layer + +5.3.1 Connection Oriented Functions + +5.3.1.1 Overview of Functions + + The functions in the transport layer are at least those +necessary to bridge the gap between the services available from the +network layer and those to be offered to the transport users. + + The functions in the transport layer are concerned with the +enhancement of quality of service, including all aspects of cost +optimization. They are described below; the descriptions are grouped +into those concerned with the establishment phase, the data transfer + +ISO Transport Protocol Specification Page 10 +International Standards Organization + + +phase, and the release phase. + +5.3.1.1.1 Establishment Phase + + The goal of the establishment phase is to establish a +transport connection, i.e., between two transport users. The +functions of transport layer during this phase must match the +requested class of services with the services provided by the network +layer as follows: + + o Select network service which best matches the requirement + of the TS-user taking into account charges for various + services. + + o Decide whether to multiplex multiple transport connection + onto a single network connection. + + o Establish the optimum TPDU size. + + o Select the functions that will be operational upon entering + the data transfer phase. + + o Map transport addresses onto network addresses. + + o Provide a means to distinguish between two different + transport connections. + + o Transportation of user's data. + +5.3.1.1.2 Data Transfer Phase + + The purpose of the data transfer phase is to permit two-way +simultaneous transport of TSDUs between the session entities connected +by the transport connection. This purpose is achieved by means of +two-way simultaneous communication in the Transport protocol and by +the following functions. Each of these functions is used or not used +in accordance with the result of the selection performed in the +establishment phase. + + o Concatenation and Separation + + A function used to collect several TPDUs into a single + NSDU; the destination transport entity separates the TPDUs. + + o Segmenting and Reassembling + + The splitting of a single data TSDU into multiple TPDUs + which are reassembled into their original format at the + destination. + + +ISO Transport Protocol Specification Page 11 +International Standards Organization + + + o Multiplexing and Demultiplexing + + A function used to share a single network connection + between two or more transport connections. + + o Splitting and Recombing + + A function allowing the simultaneous use of two or more + network connections to support the same transport connec- + tion. + + o Flow Control + + A function used to regulate the flow of TPDUs between two + transport entities on one transport connection. + + o Error Detection + + A function used to detect the loss, corruption, + duplication, misordering or misdelivery of TPDUs. + + o Transport Connection Identification + + A means to uniquely identify a transport connection + between the pair of transport entities supporting the + connection during the lifetime of the transport + connection. + + o Error Recovery + + A function used to recover from detected and signalled + errors. + + o Expedited Data + + A function used to bypass the flow control of normal data + TPDU. Expedited data TPDUs' flow is controlled by + separate flow control. + + o TSDU Delimiting + + A function used to determine the beginning and ending of + a TSDU. + +5.3.1.1.3 Release Phase + + A function to provide a disconnection of the transport + connection, regardless of the current activity. + +5.3.1.2 Classes and Options + +ISO Transport Protocol Specification Page 12 +International Standards Organization + + + A class defines a set of functions. In this protocol five + classes are defined: + + o Class 0: Simple Class + o Class 1: Basic Error Recovery Class + o Class 2: Multiplexing Class + o Class 3: Error Recovery and Multiplexing Class + o Class 4: Error Detection and Recovery Class. + + Note that with the exception of classes 0 and 1, transport + connections of different class may be multiplexed together + onto the same network connection. + +5.3.1.2.2 Options within Classes + + Options define potential functions which may be used within + a class. + +5.3.1.2.3 Negotiation + + Classes and options within classes are negotiated during + the connection establishment phase. + +5.3.1.2.4 Choice of the Class of Protocol + + The choice will be made by the transport entities according + to: + + o the users requirement expressed via T-CONNECT service + primitives. In particular, for the choice of the + class of protocol, the following rules apply: + + - if the TS-User requests either transmission of + user data during the connection phase, or use of + Expedited data transfer, then Class 0 cannot be + selected. + + - if the TS-User requests use of Expedited data + transfer, then Class 2 with the non-explicit + flow control option cannot be selected. + + o the quality of the available Network services; + + o the user required service versus cost ratio + acceptable for the transport user. + + The following is a classification of network services in terms +of quality with respect to error behavior relative to the user +requirements. Its main purpose is to provide a basis for the decision +regarding which class of transport connection should be used on top of + +ISO Transport Protocol Specification Page 13 +International Standards Organization + + +a given network connection. + + Type A: Network connection with acceptable residual error + rate (for example not signalled by 'clear' or 'reset') + and acceptable rate of signalled failures. + + Type B: Network connections with acceptable residual error + rate (for example not signalled by 'clear' or 'reset') + but unacceptable rate of signalled failures. + + Type C: Network connections with residual error rate not + acceptable to the TS-user. + + It is assumed that each transport entity is aware of the +quality of service provided by particular Network connections. + +5.3.1.3 Potential Functions + + The protocol described in this document does not include the +following set of functions which have been identified as potential +transport layer functions: + + o provision for encryption + + o provision for accounting mechanisms + + o provision for status exchanges and monitoring of quality + of service + + o provision for blocking + + o temporary release of network connections + +5.4 Model of the Transport Layer + + TSAP TSAP + + Transport Protocol Transport Protocol + Entity Entity + + + NSAP ------- NSAP ------- + | (NSAP) | (NSAP) + | | | | + | |-------------------------|-------- + | | + ----------------------------------- + + A Transport Protocol entity within the Transport Layer +communicates with a Transport User through a TSAP by means of the + +ISO Transport Protocol Specification Page 14 +International Standards Organization + + +service primitives as defined by the transport service definition DP +aaaa. Service primitives will cause or be the result of Transport +Protocol Data Unit exchanges between the peer Transport Protocol +entities supporting a Transport Connection. These protocol exchanges +are effected using the services of the Network Layer as defined by the +Network Service Definition DP bbbb through one or more NSAPs. + + Transport connection endpoints are identified in end systems +by an internal, implementation dependent, mechanism so that the +Transport User and the Transport Protocol entity can refer to each +Transport connection. + +Section Two - Transport Protocol Specification + +6. Protocol Mechanisms + + Several functions are described as 'inherent' or 'pervasive'. +Inherent functions must be invoked for every transport connection. +Pervasive functions are optional, but if one is invoked for the first +transport connection over a network connection, it must also be invoked +for any and all other transport connections which use that network +connection during its lifetime. + +6.1 Assignment to Network Connection + + Purpose: Assignment of transport connections to network + connections. + + Network Service Primitives: + + N-CONNECT + N-DISCONNECT + + Description: + + This function is inherent. + + Before a transport connection can be created or used, it must +be assigned to one (or more if splitting function is being used) +network connection(s). Both transport entities involved must become +aware of this assignment. A transport connection may be assigned to a +suitable existing network connection; one or more new network +connections may also be created for the purpose. + + An existing network connection, which connects the relevant +transport entities, is unsuitable for assignment of a transport +connection if, for example: + + o the quality of service needed for the transport connection + can not be met by using or enhancing the network + +ISO Transport Protocol Specification Page 15 +International Standards Organization + + + connection. + + o the protocol class preferred or in use for the transport + connection is incompatible with the current usage of the + network connection as regards the use of pervasive + functions (e.g., multiplexing). + + When a new network connection is created, the quality of +service requested is a local matter, though it will normally be +related to the requirements of transport connection(s) expected to be +assigned to it. + + A Network Connection with no transport connections will be +available after initial establishment or because explicit +disconnection of all the transport connections previously assigned to +it has taken place. Either Transport entity may as a local +matter choose to disconnect the Network Connection or assign other +Transport Connections to it. + +6.2 Transport Protocol Data Unit (TPDU) Transfer + + Purpose: To convey transport protocol data unit in user + data fields of network service primitives. + + Network Service Primitives + + N-DATA + N-EXPEDITED DATA + + Description: + + This function is inherent. + + The Transport Protocol Data Units (TPDUs) defined for the +protocol are listed in Figure 3. + + TPDU name Abbreviation + + Connection Request CR + Connection Confirm CC + Disconnect Request DR + Disconnect Confirm DC + Data DT + Expedited Data ED + Data Acknowledge AK + Expedited Acknowledge EA + Reject RJ + TPDU Error ERR + + Figure 3. Transport Protocol Data Units + +ISO Transport Protocol Specification Page 16 +International Standards Organization + + + TPDUs are conveyed using the NS-User data parameters of the +Network Service primitives, primarily with the N-DATA, but also with +N-EXPEDITED primitives. + + Transport entities shall accept all permissible assignments and +may issue any permissible assignments. The permissible assignments of +TPDUs to these primitives are shown in Figure 4. Concatenation of +TPDUs is also permitted (see section 6.4). + +Primitive Applicable TPDUs Note + +N-DATA CR, CC, DR, DT, ED, + AK, EA, RJ, DC, ERR + +N-EXPEDITED ED, EA 1 + +Notes: + +1. This assignment is permissible only when using class 1 and when + the network expedited variant has been agreed. + +Figure 4. Network Service Primitives which can convey TPDUs. + +6.3 Data TPDU Length and Segmenting + + Purpose: Mapping between one TSDU and TPDUs. + + TPDUs and fields used: + + DT + - End of TSDU (1 bit) + + Description: + + The data field of Data TPDUs may contain any number of octets +up to an agreed maximum as negotiated at connection time. + + A transport entity uses an End of TSDU mark as defined below: + + In each Data TPDU a transport entity may indicate the end of a +TSDU. + + Category 1 Having the End of TSDU mark set to yes. These + TPDUs may or may not have the maximum length. + + Category 2 Having the End of TSDU mark set to no. These + TPDUs do not necessarily have the maximum + length. + + A complete Data TPDU sequence is defined as being composed of + +ISO Transport Protocol Specification Page 17 +International Standards Organization + + +either a single category 1 DT TPDU or consecutive category 2 followed +by a category 1 DT TPDU. + +6.4 Concatenation and Separation + + Pupose: Conveyance of multiple TPDUs in one NSDU. + + Description: + + All TPDUs carry in their TPDU header a length indicator (see +Section 8.2.1). Additionally, TPDUs are classified as either Data +TPDUs or Control TPDUs. Control TPDUs may or may not contain a data +field. For TPDUs containing data the length of the data field is +indicated by the length of the NSDU. These provisions permit any +number of Control TPDUs that may not contain data to be concatenated +with a single control TPDU which may contain data or with a single +Data TPDU. The control TPDUs without data must precede the TPDU with +data, if any. The number of TPDUs so concatenated is terminated by +the end of the NSDU. + + The concatenated set of TPDUs may be for the same or different +transport connections. An implementation shall accept concatenated +TPDUs and may concatenate TPDUs before transmission. The transport +entity shall not send a concatenated set of TPDUs which exceeds twice +the overall maximum TPDU length for all the TCs assigned to the +network connection. + +6.5 Connection Establishment + + Purpose: Creation of a new transport connection. + + Network Service Primitives: + + N-DATA + + TPDUs and fields used: + + CR, CC + - source reference (16 bits) + - initial credit (if applicable) + - calling transport address (optional) + - called transport address (optional) + - user data (optional) + - TPDU size (optional) + - sequence number length (optional) + - checksum selection (optional) + - acknowledgement time (optional) + - quality of service (optional) + CR + - preferred protocol class + +ISO Transport Protocol Specification Page 18 +International Standards Organization + + + - alternative protocol classes (zero or more) + - version number (optional) + - security (optional) + - proposed options + CC + - destination reference (16 bits) + - selected protocol class + - selected options + + Description: + + This function is inherent: + + A transport connection is established by means of one +transport entity (the initiator) transmitting a Connection Request +(CR) TPDU to the other transport entity (the responder), which replies +with a Connection Confirm (CC) TPDU. Before sending the CR TPDU, the +initiator assigns the transport connection being created to one (or +more if the splitting function is being used) network connection(s). +It is this set of network connections over which the TPDUs are sent. +During this exchange, all information and parameters needed for the +transport entities to operate must be exchanged or negotiated. + + The following information is exchanged: + + o references. Each transport entity chooses a reference which + is 16 bits long and which is arbitrary except for the following + restrictions: + + - it cannot already be in use or "frozen" (see "Frozen + References", Section 6.19). + + - it cannot be zero. + + Each transport entity is responsible for selecting the +Reference which the partner will use. This mechanism is symmetrical +and therefore avoids the need to assign a status of master or slave to +partners and avoids call collision. This mechanism also provides +identification of the transport connection independent of the network +connection. The range of References used for transport connections, in +a given transport entity, is a local system parameter. + + o addresses (optional). Indicate the calling and called + transport service access points. When either network + address unambiguously defines the transport address this + information may be omitted. + + o initial credit. Only relevant for classes which include + the Explicit Flow Control Function. + + +ISO Transport Protocol Specification Page 19 +International Standards Organization + + + o user data. Not available in class 0. Up to 32 octets in + in other classes. + + The following negotiations take place: + + o protocol class. The initiator shall propose a preferred +class and any number of alternatives. (Except that no alternatives are +allowed when class 0 is the preference.) The initiator should assume +when it sends the CR TPDU that its preferred class will be agreed to, +and commence the functions associated with that class. + + Note: This means, for example, that when a class which +includes resynchronization (see "Resynchronization", Section 6.15) is +preferred, resynchronization will occur if a reset is signalled during +connection establishment. + + When the responder has decided which class is to be used, it +shall indicate this in the CC TPDU and shall invoke the appropriate +functions for the class. The responder may select the preferred +class, or any of the alternative classes or may select class 0 if +class 1 is proposed or class 2 if class 3 or 4 is proposed. (see +Section 9) + + If the preferred class is not selected, then on receipt of the +CC TPDU, the initiator shall adjust its functions accordingly. + + o TPDU Size. The initiator may propose a maximum size for +TPDUs, and the responder may accept this value or respond with any +value between the proposed value and 128 in the set of values +available (see "Encoding", Section 8). + + o sequence number length. Either normal or extended is +available. When the sequence number is extended, the credit field (if +applicable) is also extended. + + o checksum selection. This defines whether or not TPDUs of +the connection are to include a checksum. + + o version number. This defines the version of the transport +protocol standard used for this connection. + + o security parameter. This parameter and its semantics are +user defined. + + o quality of service parameter. This defines the throughput, +delay, priority and residual error rate. + + o The non-use of explicit flow control in class 2 is +negotiated. + + +ISO Transport Protocol Specification Page 20 +International Standards Organization + + + o The use of Network Receipt Confirmation and Network +expedited is negotiated when class 1 is to be used. + + The negotiation rules for the options are such that the +initiator may propose either to use or not to use the option. The +responder may either accept the proposed choice or select the +mandatory alternative defined in Section 9. + + During the establishment phase of the transport connection, +the use of the expedited data option field of CR/CC allows both +Transport Service user to negotiate the use or non use of the +expedited data transport service as described in the transport service +definitions. + + The following table summarizes the negotiation possibilities +for the options. + + Proposition Made Possible + by the Initiator Selection by + Option the Responder + +Transport expedited data Yes Yes or No +transfer service No No + +Use of receipt confir- Yes Yes or No +mation (class 1 only) No No + +Use of the network Yes Yes or No +expedited variant No No +(class 1 only) + +Non use of checksum Yes Yes or No +(class 4 only) No No + +Non use of explicit Yes Yes or No +flow control (class 2 only) No No + +Use of extended format Yes Yes or No + No No + + In class 2, whenever a transport entity requests or agrees to +the Transport Expedited data transfer service or to the use of +extended formats, it must also request or agree (respectively) to the +use of explicit flow control. + +6.6 Connection Refusal + + Purpose: Refusal of the transport connection. + + TPDUs and fields used: + +ISO Transport Protocol Specification Page 21 +International Standards Organization + + + DR + - reason (1 octet) + - user data (maximum of 64 octets) + + ERR + - reject code (1 octet) + - rejected TPDU parameter + + Description: + + If a transport connection cannot be accepted, the called +transport entity shall respond to the CR TPDU with a DR TPDU. The +clearing reason shall indicate why the connection was not accepted. +The source reference field in the DR TPDU is set to zero to indicate +an unassigned reference. + + If the CR is regarded as an invalid TPDU, the called transport +entity will respond by sending an ERR TPDU. On receipt of this TPDU, +the calling entity will regard the connection as closed. + +6.7 Release + + Variants: 'implicit' or 'explicit' + + Purpose: Termination of the transport connection. + + Network Service Primitives: + + N-DISCONNECT (implicit variant only) + N-DATA + + TPDUs and fields used: + + DR + - clearing reason (1 octet) + - user data (maximum of 64 octets) + + DC + + Description: + + This function is inherent. + + In the 'implicit' variant, either transport entity disconnects +a transport connection by disconnecting the network connection to +which it is assigned. Similarly when a transport entity is informed +that the network connection has been disconnected by the peer +transport entity, this should be considered as a transport +disconnect. + + +ISO Transport Protocol Specification Page 22 +International Standards Organization + + + In the 'explicit' variant, either transport entity transmits a +Disconnect Request (DR) TPDU, and the other responds with a Disconnect +Confirm (DC) TPDU. When the DC TPDU is sent or received by a +transport entity, that entity should consider the transport connection +not to exist (note 1). After the sending of a DR TPDU, other TPDUs +received before the DC TPDU are ignored. It is possible that a +disconnect collision will occur, when both transport entities send a +DR TPDU at about the same time. This results in each transport entity +receiving a DR, after sending one. Each transport entity shall +consider the received DR TPDU as a confirmation of its DR TPDU, and +shall not send or expect to receive a DC TPDU. + + The DR can convey a limited amount (up to 64 octets) of data. + +6.8 Implicit Termination + + Purpose: Termination of a Transport Connection on the +occurrence of a signalled error for which recovery functions are not +operative. + + Network Service Primitives: + + N-DISCONNECT Indication + N-RESET Indication + + Description: + + When, on the network connection to which a Transport +Connection is assigned, an N-DISCONNECT or N-RESET Indication occurs, +both transport entities shall consider that the transport connection +no longer exists, and so inform the session entities. + +Note 1: + + When a connection has been released, after the exchange of DR +and DC, the reference can be re-used immediately (except in Class 4, +where the Frozen Reference function is used, see Section 6.19). This +is because the releasing transport entity does not know with certainty +that the remote transport entity considers use of the reference to be +ended. Therefore, the reference should not be re-used for further +connections. (In practice, the reference may be re-used after a +reasonable period when it is possible to be reasonably certain that +the remote transport entity will not continue to use it). + +6.9 Spurious Disconnect + + Purpose: To deal with the arrival of an "unknown" DR TPDU. + + TPDUs and fields used: + + +ISO Transport Protocol Specification Page 23 +International Standards Organization + + + DR, DC + - source reference + - destination reference + + Description: + + A DR TPDU can be received for a transport connection which +does not exist. Rather than treating this as an error, a DC TPDU +should be send back which reflects the references of the DR TPDU. + +Note: + This only applies when one or more transport connections using +a multiplexing class exist over the network connection, or when no +transport connections exist. At other times it is a protocol error. + +6.10 Data TPDU Numbering + + Variants: 'normal' or 'extended' + + Purpose: Numbering of DT TPDUs for use in recovery, + flow control, or sequencing functions. + + TPDUs and Fields Used: + + DT + - TPDU-NR (7 or 31 bits) + + Description: + + DT TPDUs transmitted in each direction on a transport +connection bear a sequence number 'TPDU-NR'. Its value in the first +DT TPDU in each direction after connection establishment will be zero. +Thereafter each TPDU had 'TPDU-NR' one greater than the previous. +Modulo 2**7 arithmetic is used in the 'normal' variant, and modulo 2**31 +in the 'extended' variant. + + In the sections that follow, the relationships 'greater than' +and 'less than' are used in connection with TPDU numbers. In all +such uses, the numbers being compared cover a range less than the +modulus and in fact lie within a contiguous set of TPDU numbers called +a 'window'. The window has a known starting TPDU number and finishing +number. The term 'less than' means 'occurring sooner in the window +sequence' and the term 'greater than' means 'occurring later in the +window sequence'. + +6.11 Expedited Data Transfer + + Variants: 'network expedited' or not + + Purpose: Provision of the expedited data service + +ISO Transport Protocol Specification Page 24 +International Standards Organization + + + Network Service Primitives: + + N-DATA + N-EXPEDITED DATA + + TPDUs and Fields Used: + + ED + - ED TPDU-NR (7 or 31 bits) + + EA + - YR-TU-NR (7 or 31 bits) + + Description: + + Each expedited TSDU is conveyed as the data field of an Expedited +Data (ED) TPDU. + + Each ED TPDU received must be acknowledged by an Expedited +Acknowledge (EA) TPDU. + + There may only be one ED TPDU unacknowledged at any time for each +direction of a transport connection. + + In the 'network expedited' variant (available in class 1 only), +ED and EA TPDUs are conveyed in the data fields of N-EXPEDITED DATA +primitives. Otherwise, N-DATA is used. + +6.12 Reassignment + + Purpose: Assignment of a Transport Connection to a different +Network Connection. + + TPDUs and Fields Used: + + CR + - source reference + + RJ, DR + - destination reference + + Description: + + When the Network Connection to which a Transport Connection was +assigned no longer exists, the Transport Connection can be assigned to +another Network Connection. + + When one transport entity has assigned the Transport Connection, +it is important that the other transport entity recognise to which +Network Connection it has been assigned. This can only take place when it + +ISO Transport Protocol Specification Page 25 +International Standards Organization + + +has received a TPDU for the Transport Connection on a Network Connection +with calling and called network addresses which imply +the same transport entities as the old. The TPDU will have been sent +as a result of the assigning transport entity commencing resynchronization, +and will thus be a RJ, or a retransmitted CR or DR. + + The Transport Connection shall be recognised as having been +assigned to the Network Connection on which the TPDU was received. + +6.13 Reassignment After Failure + + Purpose: Recovery from network provider initiated disconnect. + + Network Service Primitives: + + N-DISCONNECT Indication + + Description: + + When a N-DISCONNECT Indication arrives for the network connection +to which a transport connection is assigned, the transport connection must +be reassigned by its initiator (see "Reassignment") + + If the reassignment has not successfully occurred within a time +of T-wait seconds, then the transport connection must be considered as +non-existent by both transport entities.1 + + 1. The CR TPDU does not have a destination reference; + nevertheless it can be distinguished from a new + connection attempt by having the same source + reference. + + NOTE: The value of T-wait has to be agreed by the communicating +transport entities. + +6.14 Retention Until Acknowledgement of TPDUs + + Variants: 'confirmation of receipt' or 'AK' + + Purpose: To enable and minimize retransmission after +possible loss of TPDUs. + + Network Service Primitives: + + N-DATA + N-DATA ACKNOWLEDGE + + TPDUs and Fields Used: + + CR, CC, DR, DC + +ISO Transport Protocol Specification Page 26 +International Standards Organization + + + RJ, AK, EA + - YR-TU-NR (7 or 31 bits) + + DT + - TPDU-NR (7 or 31 bits) + + ED + - ED TPDU-NR (7 or 31 bits) + + Description: + + Copies of the following TPDUs shall be retained upon transmission +to permit their later retransmission: + + CR, CC, DR, DT, ED. + + NOTE: If DR is sent in response to CR there is no need to +retain a copy of the DR. + + In the 'confirmation of receipt' variant, applicable only +in Class 1, transport entities receiving N-DATA Indications which +convey DT TPDUs and have the confirmation request field set shall +issue a N-DATA Acknowledge Request at the earliest possible +opportunity (1). + + (1) It is a local matter for each transport entity to + decide which N-DATA Requests should have the + confirmation request parameter set. This decision + will normally be related to the amount of storage + available for retained copies of the DT TPDUs. + Use of the confirmation request parameter may + affect the quality of network service. + + After each TPDU is acknowledged, as shown in Figure 5, +the copy need not be retained. Copies may also be discarded when +the transport connection ceases to exist. + + TPDU ACKNOWLEDGED BY + + CR receipt of CC, DR, or ERR, TPDU + + DR receipt of DC or DR (in case of collision) + TPDU + + CC receipt of RJ, DT, AK, ED, EA TPDUs (or + N-DATA ACKNOWLEDGE Indication.) + + DT N-DATA ACKNOWLEDGE Indication when the + (Note 1) DT TPDU was sent before or with the oldest + N-DATA which had the confirmation request + +ISO Transport Protocol Specification Page 27 +International Standards Organization + + + field set. + + DT receipt of Data Acknowledge (AK) or + (Note 2) Reject (RJ) TPDU for which 'YR-TU-NR' + is greater than 'TPDU-NR' in the DT TPDU. + + ED receipt of EA TPDU for which 'YR-TU-NR' + is equal to 'ED-TPDU-NR' in the ED TPDU. Notes: + + + 1. Applies to 'confirmation of receipt' variant. + 2. Applies to 'AK' variant. + + Figure 5. Acknowledgement of TPDUs + +6.15 Resynchronization + + Purpose: To restore the connection to normal after an +error. + + Network Service Primitives: + + N-RESET Indication + + TPDUs and Fields Used: + + CR, DR, CC, DC + + RJ, EA + - YR-TU-NR (7 or 31 bits) + + DT + - TPDU-NR (7 or 31 bits) + + ED + - ED TPDU-NR (7 or 31 bits) + + Description: + + After the reset of an underlying network connection, +the resynchronization procedures below are carried out by both +transport entities. + + After a network connection failure, the reassignment after +failure function is invoked and then the resynchronization function. +The sequence of events at the two transport entities is the following: + + Events at the transport entity initiating reassignment: + (the transport entity immediately commences resynchronization + by sending a TPDU) + +ISO Transport Protocol Specification Page 28 +International Standards Organization + + + o if a CR is retained then retransmit it. + + o if a DR is retained then retransmit it. + + o otherwise, resynchronize data: + + - send RJ TPDU with 'YR-TU-NR' field set to + the 'TPDU-NR' of the first unreceived DT + TPDU + + - when RJ TPDU has been received retransmit any + ED TPDUs then DT TPDUs which are unacknowledged + + - any ED TPDUs received which are duplicates shall + be acknowledged (by EA TPDUs) and discarded. + + Events at the other transport entity: + + The transport entity shall not send any TPDUs until after +receipt of the TPDU which commenced resynchronization. This TPDU +therefore serves two purposes, namely indication of re-assignment +and commencement of resynchronization. + + o if the first received TPDU os a DR, then transmit + a DC TPDU. + + o if the first received TPDU is a CR and the transport + connection is not idle, this means that a CC TPDU is + retained: then retransmit it followed by any ED TPDU + and then DT TPDUs which are outstanding (that may or + may not have been transmitted previously). + + NOTE: no TPDUs can be transmitted using network expedited until +CC becomes acknowledged, to prevent the network expedited overtaking the +CC. + + o if the first received TPDU is a RJ, then act as follows: + + - if a DR TPDU is retained, then retransmit it + + - if a CC TPDU remains unacknowledged, then carry + out the data resynchronization procedure described + below + + - otherwise resynchronize data: + + - send RJ TPDU with 'YR-TU-NR' field set to + the 'TPDU-NR' of the first unreceived DT + TPDU + + +ISO Transport Protocol Specification Page 29 +International Standards Organization + + + - retransmit any ED TPDUs then DT TPDUs which + are unacknowledged + + - any ED TPDUs received which are duplicates + should be acknowledged (by EA TPDUs) and + discarded. + + NOTE: It is possible for a transport entity using the Class 1 +protocol to decide on a local basis to issue an N-RESET Request. The effect +of this request at the remote transport entity is to force it to perform +the resynchronization mechanism. This possibility may be used to remove +congestion within the network connection. + +6.16 Multiplexing and Demultiplexing + + Purpose: Concurrent sharing of a network connection by several +transport connections. + + TPDUs and Fields Used: + + CC, DR, DC, DT, AK, ED, EA, RJ, ERR + - destination reference + + Description: + + This function is pervasive. + + When this function is in operation, more than one transport +connection can be simultaneously assigned to the same network connection. + + Every TPDU (including DT TPDUs) must carry the destination +reference, to identify the transport connection to which it refers. + +6.17 Explicit Flow Control + + Purpose: Regulation of flow of DT TPDUs independently of +the flow control in the other layers. + + TPDUs and Fields Used: + + CR, CC, AK, RJ + - CDT (4 or 16 bits) + + DT + - TPDU-NR (7 or 31 bits) + + AK, RJ + - YR-TU-NR (7 or 31 bits) + - subsequence number (optional) + - flow control confirmation (optional) + +ISO Transport Protocol Specification Page 30 +International Standards Organization + + + Description: + + The mechanism depends on the class. Thus the description can +be found in the section describing the class. + +6.18 Checksum + + Purpose: To detect corruption of TPDUs by the network service +provider. + + TPDUs and Fields Used: + + All TPDUs + - checksum (16 bits - 32 bits) + + Description: + + When a TPDU is to be transmited for a TC which has selected the +checksum option, the sending transport entity must generate a checksum +for the TPDU and store it in the checksum parameter in the variable +part of the TPDU header. The checksum must be generated as follows: + + 1. Set up the complete TPDU, including the header and +user data (if any). The header must include the checksum parameter in +its variable part. The value field of the checksum parameter must be +set to zero at this point. + + 2. Initialize two variables to zero. Let these variables +be called C0 and C1. + + 3. For each octet of the TPDU, including the header, +variable part of the header and the user data, add the octet value to +C0, and then add the value of C0 to C1. Octets should be processed +sequentially, starting with the first octet (the Length Indicator) and +proceeding through the TPDU. All addition is to be performed modulo 255. + + 4. Calculate the value field of the checksum parameter as +follows. Let the offset into the TPDU of the first octet of the value +field be 'n' (where the first octet of the TPDU, the Length Indicator +of the header, is considered to be at offset 1). Let the length +of the TPDU, i.e. the number of times the above operation was repeated, +be 'L'. Let the first octet of the checksum value, i.e., the one at offset +'n' be called 'X', and the second octet, at offset 'n+1', be called 'Y'. +Then: + + X = (((L - n) * C0) - C1) modulo 255 + Y = (((L - n + 1) * (-C0)) + C1) modulo 255 + + 5. Place the computed values of X and Y in the appropriate +octets of the TPDU. + +ISO Transport Protocol Specification Page 31 +International Standards Organization + + + NOTE + + An implementation may use one's complete arithmetic as an + alternative to modulo 255 arithmetic. However, if either + of the checksum octets X and Y has the value minus zero + (i.e., 255) then it must be converted to plus zero + (i.e., 0) before being stored. + + When a TPDU is received for a TC for which the checksum option +has been selected, the TPDU must be verified to ensure that it has been +received correctly. This is done by computing the checksum, using the +same algorithm by which it was generated. The nature of the checksum +algorithm is such that it is not necessary to compare explicitly the stored +checksum bytes. The procedure described below may be used to verify that +a TPDU has been correctly received. + + 1. Initialize two variable to zero. Let these variables +be called C0 and C1. + + 2. For each octet in the received TPDU, add the value of +the octet to C0 and then add the value of C0 to C1, starting with the +first octet and proceeding sequentially through the TPDU. All +addition is to be performed modulo 255. + + 3. When all octets have been sequentially processed, the +values of C0 and C1 should be zero. If either or both of them is +non-zero, the TPDU has been received incorrectly and the verification +has failed. Otherwise, the TPDU has been received correctly and the +TPDU should be processed normally. + + NOTE + + An implementation may use one's complement arithmetic as an + alternative to modulo 255 arithmetic. In this case, if either + C0 or C1 has the value minus zero (i.e., 255) it is to be + regarded as though it was plus zero (i.e., 0) + + If a checksum verification failure occurs, it is not possible +to determine the TC that the TPDU relates to, since the Reference field +of the TPDU may have been received incorrectly. Therefore, all TCs +multiplexed onto the same NC must be treated as though a network signalled +error has occurred. + +6.19 Frozen References + + Purpose: To prevent re-use of a reference while TPDUs associated +with the old use of the reference may still exist. + + Description: When a transport entity determines that a particular +connection has terminated, the reference shall be placed in a frozen state + +ISO Transport Protocol Specification Page 32 +International Standards Organization + + +during which time it will not be reused. The circumstances under which +this is done, and the period of time for which the reference remains +frozen depends on the class. + +6.20 Retransmission on Timeout + + Purpose: To cope with unsignalled loss of TPDUs by the network +service provider. + + TPDUs and Fields Used: + + CR, CC, DR, DT, ED, AK + + Description: + + The description is given in the section related to class 4. + +6.21 Resequencing + + Purpose: To cope with misordering of TPDUs by the network +service provider. + + TPDUs and Field Used: + + DT + - TPDU NR + + ED + - ED TPDU NR + + Description: + + The description is given in the section related to class 4. + +6.22 Inactivity Control + + Purpose: To cope with unsignalled termination of a network +connection. + + TPDUs and Fields Used: + + AK + + Description: + + The description is given in the section related to class 4. + +6.23 Treatment of Protocol Errors + + Purpose: To deal with invalid TPDUs. + +ISO Transport Protocol Specification Page 33 +International Standards Organization + + + TPDUs and Fields Used: + + ERR + - reject cause + - TPDU in error (string of octets) + + DR + - reason code + + Description: + + This function is inherent. + + Any received TPDU which is invalid or which cannot be dealt with by +any operative function, or which is regarded as a violation of the protocol +rules of the class in use (e.g., receipt in a wrong state, window error, +sequencing error, TPDU with incorrect format), shall be considered as a +protocol error. Such an error shall be signalled to the transport entity +responsible by the sending of an TPDU Error (ERR) TPDU or by initiating a +release. The ERR TPDU conveys the octets of the offending TPDU up to +and including the octet where the error was detected. + + In general, no further action is defined for the sender of +ERR TPDU, since it is expected that the offender will either correct +the error, or close the connection. + + Action to be done by the receiver depends on local implementation +decision; e.g., freeze the connection, report to management, disconnect. + +NOTES: + + 1. Further action is a local implementation issue. Care +should be taken by the transport entity receiving several invalid TPDUs +or ERR TPDUs to avoid looping if the error is repeatedly generated. + + 2. There are two cases in which specific action is defined +for the receiver of the ERR TPDU (see Sections 6.6 and 7.0.7). + +6.24 Splitting and Recombining + + Purpose: To allow a transport connection to make use of +multiple network connections to provide additional resilience against +network failure, to increase throughput, or for other reasons. + + Description: + + This function is available only in Class 4. + + When this function is being used, a transport connection is +assigned (see Section 6.1) to multiple network connections. TPDUs for the + +ISO Transport Protocol Specification Page 34 +International Standards Organization + + +connection may be sent over any assigned network connection. The +resequencing function of Class 4 (see Section 6.21) is used to ensure +that TPDUs are processed in the correct sequence. + + If the use of Class 4 is not accepted by the remote transport +entity following the negotiation rules, only the network connection +over which the CR TPDU was sent may be used for this transport +connection. + + The splitting function should only be used where the +supporting network connections provide similar transmit delay. + + Protocol Mechanism Variant 0 1 2 3 4 + +Assignment to Network Conn. * * * * * + +TPDU Transfer * * * * * + +DT TPDU Length and Segmenting * * * * * + +Concatenation and Separation * * * * + +Connection Establishment * * * * * + +Connection Refusal * * * * * + +Release implicit * + explicit * * * * + +Implicit Termination * * + +DT TPDU Numbering normal * m m m + extended (1)o o o + +Expedited Data Transfer network exp. ao + not " m * * * + (1) + +Reassigment * * + +Reassignment after Failure * * + +Retention until Acknowledge- Conf. Receipt ao +ment of TPDUs AK m * * + +Resynchronization * * + +Multiplexing and * * * +Demultiplexing + + +ISO Transport Protocol Specification Page 35 +International Standards Organization + + +Explicit Flow Control With m * * + Without * * o + +Checksum (use of) m + (non-use of) * * * * o + +Frozen References * + +Retransmission on Timeout * + +Resequencing * + +Inactivity Control * + +Treatment of Protocol Errors * * * * * + +Splitting and recombining * + +(1) not applicable in class 2 when the non use of explicit flow +control is selected. + +7. PROTOCOL CLASSES + + The details of the implementation of the protocol +mechanisms are in certain cases different for different classes. +For this reason, the following table is not intended to provide a +complete description of the classes, but more to give an overview of +how each class works. The exact definition of the protocol is given +in the subsequent sections. + + KEY + + * include in the class (always) + + m mandatory function (negotiable but always implemented) + + o additional function (negotiable but not necessarily implemented) + + ao additional function (negotiable but not necessarily implemented). + Use of this option depends on the willingness of both transport + entities and availability of network service. + + na not applicable. + +7.0 PROTOCOL DESCRIPTION OF CLASS 0: SIMPLE CLASS + +7.0.1 Characteristics of Class 0 + + The characteristic of this class is that it provides +the simplest type of transport connection and fully compatible + +ISO Transport Protocol Specification Page 36 +International Standards Organization + + +with the CCITT recommendations S.70 for Teletex terminals. + + The class is designed for use in association with +network connections of type A (see 5.3.1.2.4.). + +7.0.2 Functions of Class 0 + + This class is designed to have minimum functionality. +It provides only the functions needed for connection +establishment with negotiation, data transfer with segmenting and +protocol error reporting. + + Class 0 provides transport connections with flow +control based on the network service provided flow control, and +disconnection based on the network service disconnection. + +7.0.3 Protocol Mechanisms of Class 0 + +7.0.3.1 Connection Establishment Phase + + Connection shall be made in accordance with the +general rules (Assignment of Network Connection, Connection +Establishment and Connection Refusal) with the following +restrictions: + + o No exchange of user data is allowed. + + o Only TSAP-ID and TPDU size parameters are allowed. + +7.0.3.2 Data Transfer Phase + + o Segmenting (DT TDPU length and Segmenting) + + o Detection and indication of procedural errors. + +7.0.3.3 Release Phase + + There is no explicit transport connection release +procedure for this class. The lifetime of the transport connection +is directly correlated to the lifetime of the network connection. + +7.0.4 Connection Establishment for Class 0 + + The connection establishment function is used +with the contraint that only the transport entity which has +requested the establishment of the network connection may send the +CR TPDU. If the calling transport entity receives a CR TPDU, it +shall transfer a TPDU Error (ERR) TPDU to notify the called +transport entity of the procedure error. + + +ISO Transport Protocol Specification Page 37 +International Standards Organization + + +7.0.5 Data Transfer Procedures + +7.0.5.1 General + + The data transfer procedures described in the +following subsections apply only when the transport layer is in the +data transfer phase, that is after completion of Transport +Connection establishment. + +7.0.5.2 Transport Data TPDU maximum length + + For Class 0 the standard maximum transport data +TPDU length is 128 octets including the data TPDU header octets. + + Other maximum TPDU lengths may be supported in +conjunction with the optional transport data TPDU size negotiation +function (see Section 8.3 and 8.4). Optional maximum data field +lengths shall be chosen from the following list: 256, 512, 1024 +and 2048 octets. + + TSDUs are transmitted using the segmenting function. + +7.0.6 Release Procedure + + The "implicit" variant of the release function is used. + +7.0.7 Treatment of invalid TPDUs + + The "treatment of protocol errors' function is used. + +7.0.8 Behaviour after an error signalled by the network service. + + The implicit termination function is used and the +high layer is informed about this disconnection. + +7.0.9 Supported Options + + None + +7.1 PROTOCOL DESCRIPTION OF CLASS 1: BASIC ERROR RECOVERY CLASS + +7.1.1 Characteristics of Class 1 + + The characteristic of this class is that it +provides a basic transport connection with minimal overheads. + + The main purpose of the class if to recover from +network signalled errors (network disconnect or reset). + + Selection of this class is usually based on + +ISO Transport Protocol Specification Page 38 +International Standards Organization + + +reliability criteria. Class 1 has been designed to be used in +association with type B network connections. + +7.1.2 Functions of Class 1 + + Class 1 provides transport connections with flow +control based on the network service provided flow control, error +recovery, expedited data transfer, disconnection, and also the +ability to support consecutive Transport connections on a network +connection. + + This class provides the functionality of Class 0 +plus the ability to recover after a failure signalled by the Network +Service, without involving the user of the Transport Service. + +7.1.3 Protocol Mechanisms of Class 1 + + Class 1 protocol mechanisms include Class 0 +protocol mechanisms plus the following: + +7.1.3.1 User Data in the Connection Phase + + Class 1 provides the possibility of conveying +data in the connection request and confirm commands. + +7.1.3.2 Numbering of Data TPDU + + Each Data TPDU transmitted between transport entities for +each direction of transmission in a transport connection is +sequentially numbered. + +7.1.3.3 Release + + The "explicit" variant of the release function is used. + +7.1.3.4 Error Recovery + + The sending Transport entity keeps a copy of transmitted +TPDUs until it receives an acknowledgment which allows copies to be released. +After a failure is indicated by the nerwork service (Reset, +Disconnect), the resynchronization function is used to determine +which TPDUs must be retransmitted. + + Resynchronization may also be invoked by a transport entity +as a local matter. For that purpose the Resynchronization function is +used (see note at the end of Section 6.15). + +7.1.3.5 Acknowledgement + + Acknowledgements are used to release copies of retained TPDUs. + +ISO Transport Protocol Specification Page 39 +International Standards Organization + + +Two methods of acknowledgment are provided in the Retention until +Acknowledgement of TPDUs function: + + o use of AK TPDU ("AK" variant) - mandatory + + Note: The credit field of the AK TPDU is + not used in this class (always Set to zero). + + o use of network layer Confirmation of Receipt Service. + ('confirmation of receipt' variant) - optional + + The variant to be used is negotiated during the +Connection Establishment Phase. The default option is the "AK TPDU" +variant. Use of Network Layer Receipt Confirmation is allowed only +in Class 1, and depends on the availability of the network layer +receipt confirmation service, the expected cost reduction, and the +agreement of both transport entities to use it. + +7.1.4 Connection Establishment Procedures for Class 1 + + The 'assignment to network connection' and +'connection establishment' mechanisms are used. From the point at +which a transport entity issues a CR proposing the use of Class 1 or +a CC accepting the use of Class 1 the following mechanisms must be +available to deal with signalled errors during connection +establishment: + + o Reassignment after failure + o Retention until Acknowledgement of TPDUs + o Resynchronization + + If no DT or ED TPDU is to be sent, receipt of a CC should be +acknowledged. + +7.1.5 Data Transfer Phase + + Data transfer is accomplished using the 'TPDU +transfer' 'Concatenation' and 'DT TPDU Length and Segmenting' +mechanisms. 'DT TPDU Numbering' and 'Retention until +Acknowledgement of TPDUs' are used in support of error recovery. + +7.1.5.1 Behaviour after an error + + After receiving a network reset, the Resynchronization +mechanism is invoked. After receiving a network disconnect, the +'Reassignment after Failure' mechanism is invoked after which the +'Resynchronization' mechanism is invoked. + + The 'Spurious Disconnect' mechanism is used to +deal with receipt of a DR TPDU for an unrecognised Transport + +ISO Transport Protocol Specification Page 40 +International Standards Organization + + +Connection. + +7.1.5.2 Procedure for Expedited Data Transfer + + The Expedited Data Transfer mechanism is used. +Two methods are possible to provide the function: + + o non network expedited variant + + Note: (1) This method is always included in this class. + + Note: (2) The EDTPDU-NR of the ED TPDU contains an +identification number. This number must be different for successive ED TPDUs. +That is, when an ED TPDU has been sent and an EA TPDU for the ED +TPDU has been received, the next ED TPDU must have a different value +in the EDTPDU-NR field. No other significance is attached to +EDTPDU-NR field. It is recommended but not essential, that the +values used be consecutive modulo 128. + + o network expedited variant + + Note: (1) The use of this method is +determined through negotiation during transport connection +establishment. + +7.1.6 Release Procedures + + The 'explicit' variant of the Release mechanism is used. + + Receipt of an error indication by a transport +entity, which, prior to this event has sent a DR, causes this +transport entity to retransmit DR. Only DC and DR will be accepted +and interpreted as the completion of the connection release +sequence. The related Reference will become unassigned. + +7.1.7 Treatment of Unknown TPDUs + + The 'Treatment of Protocol Errors' mechanism is used. + +7.1.8 Supported Options + + Use of network receipt confirmation. + + Use of network expedited. + +7.2 PROTOCOL DESCRIPTION OF CLASS 2: MULTIPLEXING CLASS + +7.2.1 Characteristics of Class 2 + + The characteristic of this class is to provide a + +ISO Transport Protocol Specification Page 41 +International Standards Organization + + +way to multiplex several transport connections onto a single network +connection. This class has been designed to be used in association +with type A network connections. + + Use of Explicit Flow Control + + The objective is to provide flow control to help +avoid congestion at end-points and on the network connection. +Typical use is when traffic is heavy and continuous, or when there +is intensive multiplexing. Use of flow control can optimize +response times and resource utilization. + + Non Use of Explicit Flow Control (optional) + + The objective is to provide a basic transport +connection with minimal overheads suitable when independence of +transport and network connection lifetime is desirable. The class +would typically be used for unsophisticated terminals, and when no +multiplexing onto network connections is required. Expedited data +is never available. + +7.2.2 Functions of Class 2 + + Class 2 provides transport connections with or +without individual flow control - no error detection or error +recovery is provided. + + If the network resets or clears, the transport +connection is terminated without the transport clearing sequence +and the transport user is informed. + + When explicit flow control is used a credit +mechanism is defined allowing the receiver to inform the sender of +the exact amount of data he is willing to receive and expedited data +transfer is available. + +7.2.3 Protocol Mechanisms of Class 2 + +7.2.3.1 Connection Establishment Phase + + The connection establishment function shall be used. + +7.2.3.1.1 User Data in the Connection Phase + + Class 2 provides the possibility to convey data in the +connection request and confirm commands. + +7.2.3.2 Connection Identification + + In Class 2 each TPDU conveys a Destination Reference. + +ISO Transport Protocol Specification Page 42 +International Standards Organization + + +This uniquely identifies the transport connection within the +receiving transport entity and thus allows multiplexing. + +7.2.3.3 Release Phase + + The release of a transport connection results either +from the use of the 'explicit' variant of the release function or +from the Implicit Termination function. + +7.2.3.4 Protocol Mechanisms when Explicit Flow Control is used. + + The following mechanisms are provided: + +7.2.3.4.1 Numbering of Data TPDU + + Each Data TPDU transmitted between transport entities +for each direction of transmission in a transport connection is +sequentially numbered. + + Each Data TPDU contains a Send Sequence Number T(S). + +7.2.3.4.2 Flow Control Principles + + The receiver of data TPDUs holds a count of the sequence +number of the next expected TPDU. This count is called the +Receive Sequence Number, T(R). The receiver indicated to the sender +the number of Data TPDUs he is ready to receive by means of a 'credit' +mechanism. Credits are given using the credit field in the AK TPDU. +The value of the credit field, in conjunction with the value of T(R) +transported by the YR-TU-NR (your TPDU number) field +of the AK TPDU, is used by the receiver of the AK TPDU to determine +whether and how many Data TPDUs may be accepted by the sender of the +AK TPDU. Precise definition of flow control principles appears in Section +7.2.5.5.3. + +7.2.3.4.3 Expedited Flow + + The non network expedited variant is used. Normal +flow is the flow of data subject to the flow control mechanism, +expedited flow is the flow of data that the sender may send without +explicit agreement of the receiver. This expedited flow has a +limited capability and could for example be used to carry session +supervisory commands. + + The number of expedited data units outstanding at any +time is limited to one and the amount of TS-user data is limited (up +to 16 octets). + + An expedited data may arrive before normal data which +was submitted earlier. Normal data submitted after the expedited + +ISO Transport Protocol Specification Page 43 +International Standards Organization + + +data will arrive after the expedited data. + +7.2.4 Connection Establishment Procedures for Class 2 + +7.2.4.1 References + + See Section 6.5 for reference assignment. Receipt of +any TPDU with a reference that is not assigned to a transport +connection other than a Disconnect Request (DR) or Connection +Request (CR) will be ignored. + + Receipt of a Disconnect Request (DR) for an unassigned +Reference will result in a Disconnect Confirm (DC) response. + +7.2.4.2 Connection Eastablishment + + This phase is achieved by exchange of CR/CC TPDU using +the 'connection establishment' function. Since the multiplexing +function is in use, then more than one transport connection may be +assigned to the same network connection concurrently. The +restrictions of Class 0 does not apply to this class and the other +higher classes. + +7.2.5 Data Transfer Procedures for Class 2 + + The data transfer procedures described in the +following section apply independently to each transport connection +existing between two transport entities. + +7.2.5.1 TPDU Maximum Length and Segmenting + + The general rules defined in Section 6.3 apply. + +7.2.5.2 Concatenation + + The general rules defined in Section 6.4 apply. + +7.2.5.3 Sending Data TPDU (No Explicit Flow Control Option) + + In this case the data TPDU is built in accordance +with the rules stated in Section 6.2 and 6.3 and sent without any +additional mechanisms. Thus, the DT TPDU NR field may take any +value and no AK TPDU is used. + +7.2.5.4 Sending Data TPDU (When Explicit Flow Control is Used) + + On each transport connection the transmission of Data +TPDUs is controlled separately for each direction and is based on +authorization from the receiver. + + +ISO Transport Protocol Specification Page 44 +International Standards Organization + + + This authorization is provided through the use of +the TPDUs Credit field. Credit field values are only present in +the following TPDUs: CR, CC, AK.. + +7.2.5.4.1 Numbering of Data TPDUs + + Each Data TPDU transmitted between transport entities, +for each direction of transmission in a transport connection, is +sequentially numbered. + + The sender of Data TPDUs holds a count of the next +TPDU to be sent. This count is called the Send Sequence Number +T(S). The sender indicates to the receiver the number of the data +TPDU he sends by putting the current T(S) value into the TPDU-NR +field of the data TPDU. + + Sequence numbering is performed modulo 2**n, where n +is the number of bits of the sequence number field. The T(S) +counter cycles through the entire range 0 to (2**n)-1. + + At connection establishment time both Transport +entities initialize their T(S) and T(R) counts to zero (i.e. the +first Data TPDU to be transmitted between transport entities for a +given direction of data transmission after the connection +establishment has a TPDU-NR field set to zero). + + Receipt of a Data TPDU whose TPDU-NR field is not +equal to the expected value T(R), is to be regarded as a protocol +error. + + Operations described above are summarized as follows: + + o initalization + + T(S) = 0 T(R) = 0 + + Sending of Data TPDU + put T(S) into the TPDU-NR field of + the Data TPDU to be sent + + T(S) = (T(S) + 1) (modulo 2**n) + + Receiving of Data TPDU + + TPDU-NR field of the received data + TPDU which is not equal to T(R) is + a protocol error. + + T(R) = (T(R) + 1) (modulo 2**n) + + +ISO Transport Protocol Specification Page 45 +International Standards Organization + + +7.2.5.4.2 Window Definition + + For each transport connection and for each direction +of data transmission a 'transmit window' is defined as the (possibly +null) ordered set of consecutive data TPDUs authorized to be +transmitted in that direction. At any given time, the lowest +sequence number of a data TPDU which a transport entity is +authorized to transmit is referred to as the 'lowest window edge'. +The 'upper window edge' is calculated by adding the credit +allocation, given by the value of the Credit (CDT) field contained +in a received TPDU, to the lower window edge. Note that a transport +entity is authorized to send data TPDUs with sequence numbers up to +but not including the upper window edge. + +7.2.5.4.3 Flow Control + + Flow control is performed as follows: + + o initialization time + + Lower window edge = 0 + + Upper window edge = N (Credit received either in + CR or in CC and N < 2**p < 2** (n-1), where P is the number of + bits in credit field of CR and CC. + + o Sending of a Data TPDU + + Send data TPDUs while T(S) is less than the upper window + edge. If T(S) equals the upper window edge then wait for + additional credit before sending. + + o Reception of Data TPDU (with TPDU NR = T(R) + + If T(R) is greater than or equal to the upper window edge + authorized to the sending transport entity, then the receiving + transport entity shall use the Treatment of Protocol Errors + function. Otherwise T(R) shall be incremented. + + Sending Credit + + Send AK TPDU with YR-TU-NR = T(R) and Credit equals N. + (Where N = number of additional data + TPDUs the entity is prepared to receive.) + + Receiving Credit in AK. + + Lower window edge = YR-TU-NR received. + + Upper window edge = Lower window edge + N. + +ISO Transport Protocol Specification Page 46 +International Standards Organization + + +7.2.5.4.4 Reducing the Upper Window Edge + + The value of the upper window edge cannot be decreased +in this class. If, at a certain point of time, the upper window edge +value is U, the reception of an AK TPDU having YR-TU-NR = M and CDT += N such that: + + (U-M) (mod. 2**n) > N + +is a protocol error + + Provided the previous statements are respected, CDT +field may take any value including zero. + +7.2.5.4.5 Procedure for Expedited Data Transfer + + The procedure of expedited data transfer allows a +transport entity to transmit data to the remote transport entity +without following the flow control procedure of the normal data +flow. This procedure can only apply in the transfer phase. + + The expedited procedure has no effect on the transfer +and flow control applying to normal Data TPDUs. + + To transmit expedited data, the transport entity sends +an expedited data TPDU (ED TPDU). The size of a data field is +limited (up to 16 octets). The data field contains a complete ED +TSDU. The remote transport will then confirm the receipt of the ED +TPDU by transmitting an expedited TPDU acknowledgement (EA TPDU). +A transport entity can send another ED TPDU only after having +received an EA TPDU for the previously transmitted ED TPDU. In +class 2 the ED TPDU NR field of the ED and YR-TU-NR field of the EA +TPDU are not defined and may take any value. + +7.2.6 Release Procedures for Class 2 + + The data phase ends after a transport entity has sent +or received a Disconnect Request (DR). The transport entity will +ignore any incoming TPDU except DC or DR. + + If the network resets or clears the network +connection, all transport connections are terminated without the +transport clearing sequence. The References become frozen. + + For Class 2 the explicit variant of the 'release' +mechanism is used, enabling transport connections to be cleared +independently of the underlying network connection. + +7.2.7 Treatment of Invalid TPDUs + + +ISO Transport Protocol Specification Page 47 +International Standards Organization + + + The 'Treatment of Protocol Error' mechanism in Section +6.23 is used. + +7.2.8 Behaviour after an Error signalled by the Network Layer. + + The implicit termination mechanism is used. + +7.2.9 Supported Options + + Non use of explicit flow control. + Extended formats. + +7.3 PROTOCOL DESCRIPTION OF CLASS 3: ERROR RECOVERY AND MULTIPLEXING CLASS + +7.3.1 Characteristics of Class 3 + + The characteristics of Class 3 in addition to those of +Class 2 is to mask errors indicated by the network. Selection of +this class is usually based upon reliability criteria. Class 3 has +been designed to be used in association with type B network connections. + +7.3.2 Functions of Class 3 + + This class provides the functionality of Class 2 (with +use of explicit flow control) plus the ability to recover after a +failure signalled by the Network Layer without involving the user +of the transport service. + + The mechanisms used to achieve this functionality also +allow the implementation of more flexible flow control. + +7.3.3 Protocol Mechanisms of Class 3 + + Class 3 mechanisms include Class 2 (with use of +explicit flow control option) mechanisms and the ability to recover +after a failure signalled by the network without informing the user +of the transport connection. + +7.3.3.1 Error Recovery Principles + + The sending transport entity keeps a copy of +transmitted Data TPDUs and ED TPDUs until it receives a positive +aknowledgement which allows copies to be released. It may also +receive an RJ command inviting it to retransmit or transmit all Data +TPDUs, if any, from the point in the sequence indicated in the RJ +command. + + This is especially the case, when a failure is +indicated by the network. The transport entity sends an RJ command +in order to indicate the sequence number of the next expected TPDU. + +ISO Transport Protocol Specification Page 48 +International Standards Organization + + + Error recovery for ED TPDU is achieved by retransmission +(see 7.3.5.3). + +7.3.3.2 Relationship between Flow Control and Error Recovery + + Acknowledgement is performed by use of the T(R) count. A + credit is associated with this acknowledgement which may +be equal to or greater than zero. Thus it is possible to acknowledge +data without giving the right to send new data. + + Credit may be reduced, by the use of the RJ TPDU. + +7.3.4 Connection Establishment Procedure for Class 3 + + The rules for Class 2 (with use of explicit flow +control) apply with the addition of the following rules which apply +on receipt of an eror indication from the Network layer. + + o Reception of an error indication by a + transport entity which, prior to this event, has + sent a CR and has not yer received a CC, causes + the transport entity to retransmit CR. + + o Reception of an error indication by a + transport entity to wait for reception of CR, RJ + or DR TPDU. In this case: + + - Reception of CR will cause the transport + entity to retransmit CC. + + - Reception of RJ will cause the transport + entity to transmit an RJ with a YR-TU-NR + equal to zero and enter the data phase. + + - Reception of a DR will cause termination + of the transport connection as for Classes 1 + and 2 (see 7.1.4). + +7.3.5 Data Transfer Procedures for Class 3 + +7.3.5.1 Acknowledgement + + The 'AK' variant of the Retention until +Acknowledgement of TPDUs function is used. + +7.3.5.2 Retransmission Procedure + + TPDU retransmission is a procedure which allows +a transport entity to request retransmission of one or several +consecutive Data TPDUs from the remote transport entity. A + +ISO Transport Protocol Specification Page 49 +International Standards Organization + + +transport reject condition is signalled to the remote transport +entity by transmission of an RJ TPDU whose YR-TU-NR field indicates +the sequence number of the next expected Data TPDU. + + On receipt of a RJ TPDU, a Transport entity shall +accept credit to the value contained in the credit field and shall +re-transmit TPDUs, starting with the one whose number is specified in +the YR-TU-NR field of the received RJ TPDU, subject to the new +credit. + + The transport entity shall not specify a T(R) in the +RJ TPDU less than that which has previously been acknowledged. +Receipt of an RJ TPDU with a T(R) which has been previously +acknowledged will be considered a protocol error. + + Additional DT TPDUs pending initial transmission may +follow the retransmitted DT TPDU(s) if the window is not closed. + +7.3.5.3 Reducing the upper window edge + + It is possible to decrease the value of the upper +window edge down to the sequence number transported by YR-TU-NR +field of the RJ TPDU. Receipt of an DT TPDU which would have been +inside the window before the reduction is not a protocol error and +this TPDU may be discarded. + + Note: In such a case the credit equal to zero +achieves the effect of a Receive not Ready Condition. + +7.3.5.4 Behaviour after an error signalled by the network layer + + After receiving an error indication from the Network +Service, the transport entity shall tranmit to the remove entity an +RJ TPDU with YR-TU-NR field indicating the sequence number of the +next expected Data TPDU. + +7.3.5.5 Procedure for Expedited Data Transfer + + In Class 3, the ED TPDU-NR field of the Expedited +Data (ED) TPDU contains an identification number. This number must +be different for successive ED TPDUs. That is, when an ED TPDU has +been sent and an EA TPDU for the ED TPDU has been received, the next +ED TPDU must have a different value in the NR field of the ED +TPDU. No other significance is attached to this field. It is +recommended, however, that the values used be consecutive modulo +2**n. When a transport entity receives an ED TPDU for a transport +connection, it shall respond by transmitting an expedited +acknowledgement (EA) TPDU. + + It places in the YR-TU-NR field the value contained in + +ISO Transport Protocol Specification Page 50 +International Standards Organization + + +the NR field of the received ED TPDU. If, and only if, this value +is different from the NR field of the previously received ED TPDU, +the data contained in the TPDU is to be passed to the session entity. + + If an error indication from the Network layer is +received before the receipt of the expected Expedited Acknowledgement +(EA) TPDU, the transport entity shall retransmit the ED TPDU with +the same value in the NR field. By the rule described in the +previous paragraph, the session entity does not receive data +corresponding to the same expedited TPDU more than once. + +7.3.6 Release Procedures for Class 3 + + The rules for Class 2 apply with the addition of the +following rule: + + Receipt of an eror indication by a transport entity, +which prior to this event has sent a DR, causes this transport +entity to retransmit DR. Only DC and DR will be accepted and +interpreted as the completion of the connection clearing sequence. +The related Reference will become unassigned. + +7.3.7 Treatment of Invalid TPDUs + + The 'Treatment of Protocol Errors' mechanism is used. + +7.3.8 Supported Options + + Extended formats. + +7.4 PROTOCOL DESCRIPTION OF CLASS 4: ERROR DETECTION AND RECOVERY CLASS + +7.4.1 Characteristics of Class 4 + + The characteristic of Class 4, in addition to those of +Class 3, is the detection of errors which occur as a result of the +low grade of service available from the network layer. The kinds of +errors to be detected include: TPDU loss, TPDU delivery out of +sequence, TPDU duplication. These errors may afect control TPDUs as +well as Data TPDUs. + + Class 4 has been designed to be usd in association +with network connections of type C. + +7.4.2 Functions of Class 4 + + This class provides the functionality of Class 3, plus +the ability to detect and recover from lost, duplicated or out of +sequence TPDUs without involving the user of the transport service. + + +ISO Transport Protocol Specification Page 51 +International Standards Organization + + + This detection of errors is made by extended use of +the sequence numbering of Classes 2 and 3, by a timeout mechanism, +and by additional protocol mechanisms. + + This class additionally detects and recovers from +damaged TPDUs by using a checksum mechamism. The use of the +checksum mechanism must be available but its use or its non use is +subject to negotiation. Class 4 does not attempt to deal with +detection of errors due to the misdelivery of TPDUs. + +7.4.3 Protocol Mechanisms of Class 4 + +7.4.3.1 Network Service Data Unit Lifetime + + The network layer is assumed to provide, as an aspect +of its grade of service, for a bound on the maximum lifetime of +NSDUs in the network. This value is known by the Transport Layer. +The maximum time which may elapse between the transmission of an +NSDU into the network layer and the receipt of any copy of it is +referred to as M. + +7.4.3.2 Average Transit Delay + + It is assumed that there is some value of transmit +delay in the network, typically much less than M, which will be the +maximum delay suffered by all but a small proportion of NSDUs. This +value is referred to as E. + +7.4.3.3 Remote Acknowledge Time Assumptions + + Any transport entity is assumed to provide a bound for the +maximum time which can elapse between its receipt of a TPDU from +the Network Layer and its transmisssion of the Corresponding response. +this value is referred to as A/L. The corresponding time given by the +remote transport entity is referred to as A/R. The values for these +timers may be conventionally established or may be established +at connection establishment time. + +7.4.3.4 Local Retransmission Time + + The local transport entity is assumed to maintain a +bound on the time it will wait for an acknowledgement before +retransmitting the TPDU. This time is the local retransmission time +and is referred to as T1. + + T1 = 2*E + X + Ar? + + Where X is a value to allow for TPDU processing in the +local transport entity. + + +ISO Transport Protocol Specification Page 52 +International Standards Organization + + +7.4.3.5 Persistence Time + + The local transport entity is assumed to provide a +bound for the maximum time for which it may continue to retransmit +a TPDU requiring positive acknowledgment. This value is referred to +as R. + + The value is clearly related to the time elapsed +between retransmission, T1, and the maximum number of +retransmissions, N. It is not less than T1*N+X, where X is small +quantity to allow for additional internal delays, the granularity of +the mechanism used to implement T1 and so on. Because R is a bound, +the exact value of X is unimportant as long as it is bounded and +the value of a bound is known. + +7.4.3.6 Bound on Reference Identifier and Sequence Numbers + + Using the above values, a bound L may be established +for the maximum time between the decision to transmit a TPDU and the +receipt of any response relating to it. The value of L is given by: + + L = 2*M+R+Ar + + It is necessary to wait for a period L before reusing +any reference or sequence number, to avoid confusion in case a TPDU +referring to it may be duplicated or delayed. + + (Note: In practive, the value of L may be +unacceptably large. It may also be only a statistical figure at a +certain confidence level. A smaller value may therefore be used +where this still allows the required quality of service to be +provided). + +7.4.3.7 Inactivity Time + + To protect against unsignalled breaks in the network +connection (Half-open connections), each transport entity maintains +an inactivity time interval. If the interval passes without +receipt of some TPDU, the transport entity will terminate the TC by +making use of the release procedure. This interval is referred to +as I. + +7.4.3.8 Window Time + + A transport entity maintains a time to ensure that +there is a maximum interval between transmission of up-to-date +window information. This interval is referred to as the window +time, W. + +7.4.3.9 Class 4 Error Recovery Principles + +ISO Transport Protocol Specification Page 53 +International Standards Organization + + + In class 4, the transport entity associates a response time +with TPDUs sent requiring a response. If an appropriate response is +not received within time T1, the recovery procedure must be invoked +by the sender. This will usually involve the retransmission of the +corresponding TPDU. + + A TPDU may be transmitted a maximum number of times, +This number is referred to a N. The value of N is chosen so that +the required quality of service can be provided given the known +characteristics of the network connection. + +7.4.3.10 Relationship of Times and Intervals + + The following note describes the relationship between +the time described in Section 7.4.3.1 - 7.4.3.9. + + Note: + + a. The interrelationship of times for the worst case + is as follows: + + M: maximum transit delay of the network (see + 7.4.3.1) + + Ar maximum acknowledgement time of the remote + transport entity (see 7.4.3.3) + + R: maximum local retransmission time (see + 7.4.3.5) + + N: maximum number of transmission for a single + TPDU (see 7.4.3.9) + + L: maximum time for a TPDU to be valid (see + 7.4.3.6) + + R = T * (N-1) + 1 + + R + + * + M + L * + + A =2*M + A + R + R R + + * + M + +ISO Transport Protocol Specification Page 54 +International Standards Organization + + + + t t + + b. The interrelationship of times for the average + case is as follows (see 7.4.3.4) + + E: average transit delay for the network + (E<<M) + + X: TPDU processing time + + T : average time from sending a TPDU until + 1 the receipt of its acknowledgement (see + 7.4.3.4) + + A : maximum acknowledgement time of the + R remote transport entity (see 7.4.3.3) + + X + + E + + A T = 2*E + X + A + R 1 R + + E +t t + +7.4.3.11 Sequence Numbering + + In Class 4 sequence numbering is applied to certain +control TPDUs and their acknowledgements, as well as to DT TPDUs. +These are ED and its acknowledgement EA. + + The length of sequence numbers may be negotiated at +connection establishment. Where other than the default length is +used, an extended header format is used for sequenced TPDUs +containing additional octets of sequence numbers. Extended header +format includes a credit field on the appropriate TPDU types +allowing extended credit allocation. + +7.4.4 Procedures for Connection Establishment Phase + + The following features pertain to connection +establishment for Class 4: + + o In Class 4, a connection is not considered + established until the successful completion + of a 3-way TPDU exchange. The sender of a + CR TPDU must respond to the corresponding CC + +ISO Transport Protocol Specification Page 55 +International Standards Organization + + + TPDU by immediately sending a DT, ED or AK TPDU. + + o As a result of duplication, a CR TPDU may be + received specifying a source reference which + is already in use with the sending transport + entity. If the receiving transport entity + is in the data transfer phase, having + completed the 3-way TPDU exchange procedure, + the receiving transport entity should ignore + such a TPDU. Otherwise a CC TPDU should be + transmitted. + + o As a result of duplication or + retransmission, a CC TPDU may be received + specifying a paired reference which is + already in use. The receiving transport + entity should ignore such a CC TPDU. + + o A CC TPDU may be received specifying a + reference which is in the frozen state. The + response to such a TPDU should be a DR TPDU. + +7.4.4.1 Connection Request + + When a transport entity transmits a CR TPDU it starts +timer T1. If this timer expires before a CC TPDU is received, the +CR TPDU is retransmitted and the timer restarted. After +transmission of the CR TPDU N times, the connection establishment +procedure is abandoned and the failure reported to the transport +user. The reference must be placed in the frozen state for a period +L (see section 7.4.3.6). + +7.4.4.2 Incomimg Connection Request + + An incoming connection request is processed as for Class 3 + +7.4.4.3 Connection Confirm + + When a transport entity transmits a CC TPDU it starts +timer T1. If this timer expires before an AK or DT TPDU is +received, the CC TPDU is retransmitted according to the +retransmission principles in Section 7.4.3.9 + +7.4.4.4 Incoming Connection Confirm + + When a CC TPDU is received, the receiving transport entity +enters the data transfer phase. It must immediately transmit an +AK, ED or DT TPDU to complete the 3-way TPDU exchange. The +CC TPDU is subject to the usual rules of the data transfer phase +regarding retransmission, see Section 7.4.5.3. + +ISO Transport Protocol Specification Page 56 +International Standards Organization + + +7.4.4.5 Incoming Acknowledgement + + When an AK, DT or ED TPDU is received the receiving +transport entity can enter the data transfer phase. If the entity +has data to send it may send DT TPDUs or an ED TPDU. The DT TPDUs +are subject to flow control. Otherwise, the transport entity must +obey the inactivity principles (see Section 7.4.5.8). + +7.4.4.6 Unsuccessful Connection + + When a DR TPDU is received in response to a CR TPDU, +the timer T1 is cancelled and the reference placed in the frozen +state for a period L (see Section 7.4.6.1). + +7.4.4.7 Initial Credit Allocation + + The CR and CC TPDUs may allocate an initial credit value +to their respective recipients. This value is limited to 15 by the +encoding of the TPDU. Where the extended header format is in use, +credit values greater than 15 must be allocated using AK TPDUs. + +7.4.4.8 Exchange of Acknowledge Time + + A transport entity may transmit the value it intends +to use for AL at connection establishment, as the 'Acknowledge +Time' parameter in the CR or CC TPDU (depending on whether the +transport entity is initiating or accepting the transport +connection). If this parameter is present in a received CR or CC +TPDU, the value of AR should be set accordingly. If this +parameter is not present, AR may be assumed to be insignificant in +comparison to E the typical maximum transit delay. + +7.4.5 Procedure for Data Transfer Phase + +7.4.5.1 Sequence Control + + The receiving transport entity is responsible for +maintaining the proper sequence of DT TPDUs. + + DT TPDUs received out of sequence must not be +delivered to the TS-user until in-sequence TPDUs have also been +received. + + AK TPDUs also contain information allowing the +receiving transport entity to process them in the correct order. + +7.4.5.2 Duplicate DT TPDUs + + Duplicate TPDUs can be detected because the T(S) value +matches that of previously received TPDUs. T(S) values must not be + +ISO Transport Protocol Specification Page 57 +International Standards Organization + + +reused for the period L after their previous use. Otherwise, a +new, valid TPDU could be confused with a duplicated TPDU which had +previously been received and acknowledged. + + Duplicated DT TPDUs must be acknowledged, since the +duplicated TPDU may be the result of a retransmission resulting from +the loss of an AK TPDU. + + The data contained in a duplicated DT TPDU should be +ignored. + +7.4.5.3 Retransmission Principles + + When a transport entity has some outstanding DT or ED +TPDUs that require acknowledgement, it will check that no T1 +interval elapses without the arrival of an AK or EA TPDU that +acknowledges one of them. If the timer expires, the first TPDU is +retransmitted and the timer is restarted. After N transmissions +(N-1 retransmissions) the connection is assumed to have failed and +the release phase is entered, and the transport user is informed. + + DT TPDUs which fall beyond the current window (due to +reduction of the upper window edge) are not retransmitted until +advancement of the upper window edge so permits. + + Note: This requirement can be met by different + means, for example. + + 1. One timer is associated with each TPDU. If the + timer expires, the associated TPDU will be + retransmitted, and the timer T1 will be + restarted for all subsequent DT TPDUs. + + 2. One timer is associated with each TC: + + if the transport entity transmits a DT TPDU + requiring acknowledgement, it starts timer + T1, + + if the transport entity receives a TPDU that + acknowledges one of the TPDUs to be + acknowledged, timer T1 is restarted, + + if the transport entity receives a TPDU that + acknowledges the last TPDU to be + acknowledged, timer T1 is stopped. + + For the decision whether the retransmission timer T1 +is maintained on a per TPDU or on a per TC basis, throughput +considerations have to be taken into account. + +ISO Transport Protocol Specification Page 58 +International Standards Organization + + +7.4.5.4 Acknowledgement Principles + + A transport entity operating class 4 must acknowledge +all TPDUs received requiring acknowledgment. To avoid unnecessary +retransmissions and to avoid delays to transmission by the remote +transport entity, the delay for acknowledgement should not exceed +timer A (see Section 7.4.3.2). + L + + There are two TPDU types that must be acknowledged: +ED and DT. Receipt of an ED TPDU must be acknowledged by an EA +TPDU. A DT TPDU is acknowledged with an AK TPDU. + + An AK TPDU has the sequence number of the next DT +TPDU the receiving transport entity expects to receive. It thus +acknowledges receipt of all DT TPDUs with sequence numbers less than +the acknowledgement number. + + An AK TPDU may be repeated at any time, using the +sequence number in the last AK TPDU sent. + +7.4.5.5 Flow Control Principles + + Flow control in Class 4 is subject to the same +principles as in Classes 2 and 3. The credit mechanism and window +principle of those classes still apply, except that in class 4, the +upper window edge can be reduced by the receiving transport entity +by sending an AK TPDU with a smaller credit. + + A receiving transport entity may send an AK TPDU at +any time to change the window size. This AK TPDU may acknowledge a +new DT TPDU or may repeat a previous acknowledgement. + +7.4.5.6 Window Synchronization Principles + + To ensure the synchronization of flow control +information the window timer provokes the frequent exchange of AK +TPDUs between transport entities. The window timer maintains a +minimum level of TPDU traffic between transport entities cooperating +in a transport connection. + + In Class 4 the window size can be reduced in any AK +TPDU. Due to the possibility of misordering of AK TPDUs and the +associated loss of efficiency, the AK TPDU for class 4 +includes an additional field called the AK TPDU subsequence +parameter. + + An AK TPDU should contain the subsequence parameter +whenever a duplicate AK TPDU is sent with the same sequence number +but with reduced credit. The value of the subsequence parameter is + +ISO Transport Protocol Specification Page 59 +International Standards Organization + + +set to one for the first time the AK TPDU is resent with reduced +credit. + + When an AK TPDU is transmitted whose sequence +number is increased, the 'sub-sequence' parameter is omitted +until credit reduction takes place. + + When an AK TPDU is received, it must be processed +(i.e., its contents made use of) only if: + + o The sequence number is greater than in any + previously received AK TPDU, or, + + o The sequence number is equal to the highest + in any previously received AK TPDU, and the + sub-sequence parameter is greater than in + any previously received AK TPDU having the + same sequence number (where an + absent sub-sequence parameter is regarded + as having a value of zero), or + + o The sequence number and sub-sequence + parameter are both equal to the highest in + any previously received AK TPDU (where an + absent sub-sequence parameter is regarded as + having a value of zero), and the credit + field is greater than in any previously + received AK TPDU having the same sequence + and sub-sequence numbers. + + When an AK TPDU is transmitted which opens a closed +window (i.e. increases credit from zero), it should be retransmitted +at an interval of T1. Transmission should occur a maximum of N +times, after which the usual inactivity retransmission timer should +be reverted to. Retransmission may also cease if the local +transport entity becomes sure that the new credit information has +been received by the remote transport entity. + + If a transport entity receives an AK TPDU containing +a 'Flow Control Confirmation' parameter, whose Lower Window Edge and +Your-Sub-Sequence fields are equal to its own lower window edge and +sub-sequence number, it may note that the credit available at the +remote transport entity (relative the Lower Window Edge field) is at +least equal to the value conveyed as Your Credit. This enables the +transport entity to cease the frequent retransmission of window +information, if it thereby knows that the remote window is open. + + A transport entity need not retransmit window +information (except as described under Inactivity Principles) if it +is aware by the receipt of DT TPDUs that the remote transport entity + +ISO Transport Protocol Specification Page 60 +International Standards Organization + + +has sufficient credit to prevent deadlock. When an AK TPDU is +transmitted in response to a DT TPDU, the transport entity may +normally assume that the transmitter of the DT TPDU will ensure that +the AK TPDU is received, be retransmission of the DT TPDU if +necessary. Therefore, it can normally be assumed that the credit +conveyed in such an AK TPDU will be available to the remote +transport entity, and frequent retransmission is unnecessary. + + The assumption that the DT TPDU will be retransmitted +may be incorrect if credit reduction has taken place. Therefore, a +transport entity may not make this assumption if the +sequence number of the DT TPDU is less than or equal to the highest +value for which permission to transmit (i.e., credit) has been given +and subsequently withdrawn. + + Upon receipt of an AK TPDU which increases the upper +window edge, a transport entity may transmit an AK TPDU which +repeats the information contained in the received TPDU in a 'Flow +Control Confirmation' parameter in its variable part an thereby +assures the transmitter of the original AK TPDU of its own state. +Such an AK TPDU may be tranmmitted: + + o Upon receipt of a duplicated AK TPDU + (i.e., one which is identical in all fields, + including the sub-sequence parameter if + present, to the most recently received AK + TPDU which was not discarded due to + detection of a sequence error), not + containing the 'Flow Control Confirmation' + parameter. + + o Upon receipt of an AK TPDU which increases + the upper window edge but does not increase + the lower window edge, when the upper window + edge was formerly equal to the lower window + edge. + +7.4.5.7 Procedure for Expedited Data + + The procedure for expedited data is as for Class 3, +with the following exceptions. + + The ED TPDU has a sequence number which is allocated +from a separate sequence space from that of the DT TPDUs. The EA +TPDU carries the same sequence number as the corresponding ED TPDU. +Only a single ED TPDU may be transmitted and awaiting +acknowledgements at any time. + + Upon receipt of an unduplicated ED TPDU, a transport +entity immediately forwards the data to the transport user. The ED + +ISO Transport Protocol Specification Page 61 +International Standards Organization + + +TPDU sequence number is recorded in an EA TPDU sent to the other +transport entity. + + The sender of an ED TPDU shall not send any new DT +TPDU with higher T(S) until it receives the EA TPDU. This +guarantees the arrival of the ED TPDU before any subsequently sent +DT TPDUs. + +7.4.5.8 Inactivity Principles + + If the Inactivity Time I passes without receipt of +some TPDU, the transport entity will terminate the TC by making use +of the release procedure. To present expiration of the remote +transport entity's inactivity times when no data is being sent, the +local transport entity must send AK TPDUs at suitable intervals in +the absence of data, having regard to the probability of TPDU loss. +The Window Synchronization Principles (see 7.4.5.6) may ensure that +this requirement is met. + + Note: It is likely that the release procedure +initiated due to inactivity timer expiration will fail, as such +expiration indicates probable failure of the supporting NC or of the +remote transport entity. This case is described in Section 7.4.6. + +7.4.6 Procedures for Release Phase + + The rules for class 3 apply. The DR TPDU is subject +to the usual retransmission procedure. After N retransmissions, the +transport connection is considered disconnected, the Reference is +placed in the frozen state for a period L and retransmission ceases. + + The DC TPDU is sent only in response to a DR TPDU, and +is not subject to the retransmission procedure. + + The DC TPDU when received allows the transport entity +to release all resources maintained for the transport connection. + + The DR TPDU does not carry a sequence number. Any +previously transmitted TPDUs (including DT and ED) which are +received after the DR TPDU result in a further DR TPDU but are +otherwise ignored. After disconnection, for whatever reason, the +Reference is placed in the frozen state for a period L. + +7.4.6.1 Unassigned Frozen References + + When a transport connection is terminated, the +corresponding references cannot be immediately reused since TPDUs +containing these references may continue to exist in the network for +a time up to L. Therefore, these references will be placed in an +unassignable, frozen state for this peiod. + +ISO Transport Protocol Specification Page 62 +International Standards Organization + + + After an event involving loss of transport entity +state information, including the status of reference assignments, +all references relating to network connections whose transport +state information has been lost must be placed in the frozen state +for a period L. + + If a DC TPDU is received for a local reference which +is in the frozen state, or with a remore reference not matching the +already recorded one, this DC TPDU shall be ignored. + +7.4.7 Treatment of Invalid TPDUs + + The 'Treatment of Protocol Erorrs' function is used. + +7.4.8 Supported Options + + Non use of checksum. + + Use of extended formats. + +8. ENCODING + +8.1 Summary + + Classes + 0 1 2 3 4 Sect. Code + +CR Connection Request x x x x x 8.3 1110xxxx + +CC Connection Confirm x x x x x 8.4 1101xxxx + +DR Disconnect Request x x x x x 8.5 10000000 + +DC Disconnect Confirm x x x x 8.6 11000000 + +DT Data x x x x x 8.7 11110000 + +ED Expedited Data x NF x x 8.8 00010000 + +AK Data Acknowledgement NRC NF x x 8.9 0110xxxx + (Note 1) + +EA Expedited Data x NF x x 8.10 00100000 + Acknowledgement + +RJ Reject (Note 1) x x 8.11 0101xxxx + +ERR TPDU Error x x x x x 8.12 01110000 + +not available (Note 2) - 00000000 + +ISO Transport Protocol Specification Page 63 +International Standards Organization + + +not available (Note 2) - 00110000 + +not available (Note 2) - 1001xxxx + +not available (Note 2) - 1010xxxx + +Where xxxx (bits 4-1) is used to signal the CDT + +Note 1: In extended header format, the code for AK=0110 0000 and the + code for RJ=0101 0000. + +Note 2: These codes are already in use in compatible protocols + defines by standards organizations other than CCITT/ISO. + +NF: Not available when the non explicit flow control option is + selected. + +NRC: Not available when the receipt confirmation option is + selected. + +8.2 Structure + + As defined in the previous sections, all the Transport +Protocol Data Units (TPDU) shall contain an integral number of +octets. The octets in a TPDU are numbered starting from 1 and +increasing in the order of transmission. The bits in an octet are +numbered from 1 to 8, where bit 1 is the low-ordered bit. + + There are tao types of TPDUs: + + o Data TPDUs, used to transfer Transport Service + Data Units (TSDUs). The structure of the TSDUs is + maintained by means of the TSDU End Mark. + + o Control TPDUs, used to control the transport + protocol functions, including the optional + functions. + +Octets 1 2 3 4 n n+1 p p+1 + ------------ -------------- -------------- -------- + LI| | | | ... | | | .... | | | .... | + ------------ -------------- -------------- -------- + + <--- Fixed Part -----><-- Variable Part-> + (including checksum + where applicable) + + <--------------Header-------------------><----Data Field-> + +A TPDU is divided into four parts: + +ISO Transport Protocol Specification Page 64 +International Standards Organization + + + o Length Indicator Field (LI) + + o Fixed Part + + o Variable Part (may be omitted) + + o Data Field (may be omitted) + +The length Indicator Field, Fixed Part and Variable Part constitute +the Header of the TPDU. + +8.2.1 Length Indicator Field + + This field is contained in the first octet of the +TPDUs. The length is indicated by a binary number, with a maximum +value of 254 (11111110). The length indicated is the header length, +including parameters, but excluding the length indicator field and +user data, if any. The value 255 (11111111) is reserved for +possible extensions. + +8.2.2 Fixed Part + + The fixed part contains frequently occurring functions +including the code of the TPDU. The length and the structure of the +fixed part are defined by the TPDU code, defined by bits 5 to 8 of +the second octet of the header. + +8.2.2.1 TPDU Code + + This field contains the TPDU code and is contained in +Octet 2 of the header. It is used to define the structure of the +remaining header. This field is a full octet except in the +following cases: + + 1110 xxxx Connecting Request + 1101 xxxx Connection Confirm + 0101 xxxx Reject + 0110 xxxx Data Acknowledgement + + Where xxxx (bits 4-1) is used to signal the CDT. + + Any other bit pattern may be used to define a TPDU Code. + Only those codes defined in Section 8.1 are currently valid. + +8.2.3 Variable Part + + The variable part is used to define parameters +relating to optional functions. If the variable part is present, it +shall contain one or more parameters. The number of parameters that +may be contained in the varialbe part is indicated by the length of + +ISO Transport Protocol Specification Page 65 +International Standards Organization + + +the variable part which is a LI minus the length of the fixed part. + + Since the currently defined minimum fixed part for +headers which allow parameters is four octets, and since the length +indication field is limited to a maximum of 254, the maximum length +of the variable part is 250 octets. + + Each parameter contained within the variable part is +coded as follows: + + Bits 8 7 6 5 4 3 2 1 + Octets + n+1 Parameter Code + n+2 Parameter Length + Indication (e.g."m") + n+3 Parameter Value + + n+2+m + + o The parameter code field is coded in binary and, + without extensions, provides a maximum number of + 255 different parameters. However, as noted below, + bits 8 and 7 indicates the source of definition, + so the practical maximum number of different + parameters is less. Parameter code 1111 1111 is + reserved for possible extensions of the parameter code. + + o The parameter length indication indicates the length, + in octets, of the parameter value field. The length + is indicated by a binary number, "m" with a theoretical + maximum value of 255. The practical maximum value of + "m" is lower. For example, in the case of a single parameter + contained within the variable part, two octets + are required for the Parameter Code and the Parameter Length + Indication itself. Thus, the value of "m" is limited + to 248. For larger fixed parts of the header and for + each succeedimg parameter, the maximum value of "m" decreases. + + o The parameter value field contains the value of the + parameter identified in the parameter code field. + + o No standard parameter codes use bits 8 and 7 with the + value 00. + + o Implementations shall accept the parameters defined in + the variable part in any order. If any parameter is + duplicated then the later value will be used. + +8.2.3.1 Checksum Parameter (Class 4 only) + + +ISO Transport Protocol Specification Page 66 +International Standards Organization + + + All TPDU types may contain a checksum parameter in +their variable part. This parameter must always be present except +when the non use of checksum option is selected. + + Parameter Code: 1100 0011 + Parameter Length: 2 + Parameter Value: Result of checksum algorithm. + This algorithm is specified in + Section 6.18. + +8.2.4 Data Field This field contains transparent user data. +Restrictions on its size are noted for each command. + +8.3 Connections Request (CR) + +8.3.1 Structure + + 1 2 3 4 5 6 7 8 p p+1 + LI CR CDT 00000000 00000000 SOURCE- class VARIABLE USER DATA + REFERENCE options PART + +8.3.2 LI + + See Section 8.2.1 + +8.3.3 Fixed Part (Octets 2 to 7) + + CR: Connection Request Code: 1110 + + CDT: Initial Credit Allocation (set to 0000 in + Classes 0 and 1 when specified as preferred class). + + SOURCE REFERENCE: Reference selected by the transport + entity initiating the CR TPDU to + identify the requested TC. + + CLASSES: Bits 8-5 octer 7 defines the preferred Transport + Protocol class to be operated over the requested + TC. This field may take on one of the following + values. + + 0000 Class 0 + 0001 Class 1 + 0010 Class 2 + 0011 Class 3 + 0100 Class 4 + + The CR contains the first choice of class in the fixed +part as above. Second and subsequent choices are listed in the +variable part if required. + +ISO Transport Protocol Specification Page 67 +International Standards Organization + + + Bits 4-1 of octet 7 are reserved for options to be +used on the requested transport connection. + + The use of bits 4-1 is as follows: + + BIT OPTION + + 4 0 always + + 3 0 always + + 2 =0 use of normal formats + =1 use of extended formats + + 1 =0 use of explicit flow control + in Class 2 + + =1 no use of explicit flow + control in Class 2 + + Note: + + 1. It is not valid to request 'use of expedited data + transfer' (Additional option parameter) and no use of + explicit flow control in Class 2' (bit 1 = 1). + + 2. Bits 4 to 1 are always zero in Class 0 and have + no meaning. + +8.3.4 Variable Part (Octets 8 to p) + + The following parameters are permitted in the variable part: + + o Transport Service Access Point Identifier (TSAP-ID) + + Parameter code 11000001 for the identifier of the Calling TSAP. + + 11000010 for the identifier of the Called TSAP. + + If a TSPA-ID is given in the request it may be +returned in the confirmation. + + o TPDU size + + This parameter defines the proposed maximum TPDU size +(in octets including the header) to be used over the requested +transport connection. The coding of this parameter is: + + Parameter Code 11000000 + + +ISO Transport Protocol Specification Page 68 +International Standards Organization + + + Parameter value field + + 00001101 8192 octets (not allowed in Class 0 of 1) + + 00001100 4096 octets (not allowed in Class 0 of 1) + + 00001011 2048 octets + + 00001010 1024 octets + + 00001001 512 octets + + 00001000 256 octets + + 00000111 128 octets + + Default value is 00000111 (128 octets) + + Version Number (not used in Class 0) + + Parameter code 11000100 + + Parameter value field 00000001 + + Default value 00000001 + + Default value 00000001 (not used in Class 0) + + o Security Parameter (not used in Class 0) + + This parameter is user defined. + + Parameter code 11000101 + + Parameter value and length field are user defined + + o Checksum (not used in Classes 0 through 3) + + See Section 8.2.3.1 + + This parameter must always be present in a CR TPDU + requesting Class 4, even if the checksum selection + parameter is used to request non-use of the checksum facility. + + o Additional Option Selection (not used in Class 0) + + This parameter defines the selection to be made as to + whether or not additional options are to be used. + + Parameter code 11000110 + +ISO Transport Protocol Specification Page 69 +International Standards Organization + + + Parameter length: 1 + Parameter value field: + + Bits related to options particular to one class are + not meaningful and may take any value in the other classes. + + BITS OPTION + + 4 1= Use of network expedited in Class 1 + 0= Non use of network expedited in Class 1 + + 3 1= Use of receipt confirmation in Class 1 + 0= Use of explicit AK variant in Class 1 + + 2 0= Checksums are to be used in Class 4 + 1= Checksums are not to be used in Class 4 + + 1 1= Use of transport expedited data transfer + service + 0= No use of transport expedited data transfer + service + + Default falue is 00000001 + + o Alternative protocol class (not used in Class 0) + + Parameter code 11000111 + + Parameter length n + + Parameter value encoded as a sequence of single +octets. Each octet is encoded as for octet 7 but with bits 4-1 set +to zero (i.e., no alternative option selections permitted). + + o Acknowledge Time + + This parameter conveys the maximum acknowledge time + AL to the remote transport entity. It is an indication only, and + is not subject to negotiation (see section 7.4.5.3). + + Parameter Code 10000101 + + Parameter Value field: n a binary number (2 octets) + + n is the maximum acknowledge time, expressed in + milliseconds. + + o Throughput Parameter code: 10001001 + + Length : 12 + +ISO Transport Protocol Specification Page 70 +International Standards Organization + + + 1st 3 octets : Targer value, + calling-called user + direction + + 2nd 3 octets : Min. acceptable, + calling-called + user direction + + 3rd 3 octets : Target value, + called-calling user + direction + + 4th 3 octets : Min. acceptable, + called-calling user + direction + + Values are expressed in octets per second. + + o Residual Parameter code: 10000110 + error rate + Length : 3 + + 1st octet : Target value, power + of 10 + + 2nd octet : Min. acceptable, + power of 10 + + 3rd octet : TSDU size of + interest, expressed + as a power of 2 + + o Priority Parameter code: 10000111 + + Length : 2 + + Value : Integer + + o Transit Parameter code: 10001000 + delay + + Length : 8 + + 1st 2 octets : Target value, + calling-called user + direction + + 2nd 2 octets : Max. acceptable, + calling-called user + direction. + +ISO Transport Protocol Specification Page 71 +International Standards Organization + + + 3rd 2 octets : Target value, + called-calling user + direction. + + 4th 2 octets : Max. acceptable, + called-calling user + direction + + Values are expressed in milliseconds. + +8.3.5 User Data (Octets p+1 to the end) + + No user data are permitted in class 0, and are +optional in the other classes. Where permitted, it may not exceed +32 octets. + +8.4 Connection Confirm (CC) + +8.4.1 Structure + + 1 2 3 4 5 6 7 8 p p+1 + + LI CC CDT DST-REF SOURCE-REF class VARIABLE USER DATA + 1101 options Part + +8.4.2 LT + + See Section 8.2.1. + +8.4.3 Fixed Part (Octets 2 to 7) + + CC : Connection Confirm + Code: 1101 + + CDT : Initial Credit + Allocation (set to + 0000 in Classes 0 + and 1). + + DST-REFERENCE : Reference + identifying the + requested transport + connection at the + remote transport + entity. + + SOURCE REFERENCE : Reference selected + by the transport + entity initiating + the CC TPDU to + +ISO Transport Protocol Specification Page 72 +International Standards Organization + + + identify the + confirmed TC. + + CLASSES : Defines the selected + transport protocol class to + be operated over the accepted + TC according to the + negotiation rules specified + in Section 6.5. + +8.4.4 Variable part (Octet 8 to p) + + See Section 8.3.4 + +8.4.5 User Data (Octets p+1 to the end) + + See Section 8.3.5 + +8.5 Disconnect Request (DR) + +8.5.1 Structure + +LI DR DST-REF SOURCE-REF REASON VARIABLE USER DATA + 10000000 PART + +8.5.2 LI + + See Section 8.2.1 + +8.5.3 Fixed Part (Octets 2 to 7) + + DR : Disconnect Request Code: 1000 + + DST-REFERENCE : Reference identifying the TC at + the remote transport entity. + + SOURCE REFERENCE : Reference identifying the TC at + the transport entity initiating + the command. Value zero when + reference is unassigned. + + REASON : Defines the reason for + disconnecting the TC. This field + shall take one of the following + values: + + The following values can be used + for class 1 to 4: + + 128 + 0 - Normal disconnect + +ISO Transport Protocol Specification Page 73 +International Standards Organization + + + initiated by session entity. + + 128 + 1 - Remote transport entity + congestion at connect request time + + *128 + 2 - Connection negotiation failed + (i.e. proposed class(es) not supported). + + 128 + 3 - Duplicated connection detected + + 128 + 4 - Mismatched references + + 128 + 5 - Protocol error + + 128 + 6 - Not used + + 128 + 7 - Reference overflow + + 128 + 8 - Connection request refused on this + network connection + + 128 + 9 - Not used + + 128 + 10 - Header or parameter length invalid + + The following values can be used for all classes. + + 0 - Reason not specified + + 1 - Congested at TSAP + + *2 Session entity not attached to TSAP + + *3 Address unknown + + Note: Reasons marked with '*' may be reported to + the TS-user as 'persistent', other reasons + as 'transient'. + +8.5.4 Variable Part (Octets 8 to 10) + + o A parameter may be provided to allow additional + information related to the clearing of the connection. + + Parameter code: 11100000 + + Parameter Value Field: Additional information. This + field is intended to be used by the transport service + provider for internal purposes. + + +ISO Transport Protocol Specification Page 74 +International Standards Organization + + + o Checksum (see 8.2.3.1) + +8.5.5 User Data (Octets p+1 to the end) + + Not allowed in class 0, + + This field may not exceed 64 octers and is used +to carry TS-User data. The successful transfer of this data is not +guaranteed. + +8.6 Disconnect Confirm (DC) + + (Not used in Class 0) + +8.6.1 Structure + + 1 2 3 4 5 6 7 p + LI DST-REFERENCE SOURCE-REFERENCE Variable Part + 11000000 + +8.6.2 LI + + See Section 8.2.1 + +8.6.3 Fixed Part (Octets 2 to 6) + + DC : Disconnect Confirm Code: 1100 + + DST-REFERENCE : See Section 8.3.3 + + SOURCE-REFERENCE: See Section 8.4.3 + +8.6.4 Variable Part + + Checksum (see 8.2.3.1) + +8.7 Data (DT) + +8.7.1 Structure + + Normal Format for Class 0 to 1 + + 1 2 3 4 5 + + LI DT E TPDU-NR User Data + 11110000 0 + T + + Normal format for Class 2, 3 and 4 + + +ISO Transport Protocol Specification Page 75 +International Standards Organization + + +1 2 3 4 5 6 p p+1 +LI DST-REFERENCE E TPDU-NR Variable Part User Data + 11110000 O + T + + Extended Format for optional use in Classes 2,3 and 4 + + 1 2 3 4 5,6,7,8 9 p p+1 + + LI DT DST-REFERENCE E TPDU-NR Variable User Data + 11110000 O + T + +8.7.2 LI + + Section 8.2.1 + +8.7.3 Fixed Part + + (Classes 0 to 1 : - Octets 2 to 3; classes 2,3,4 +normal format: Octets 2 to 5; classes 2,3,4 extended format: - +Octets 2 to 8) + + DT : Data Transfer Code: 1111 + + DST-REFERENCE : See Section 8.4.3 + + EOT : When set to ONE, indicates that + the current DT TPDU is the last + Data Unit of a complete DT TPDU + sequence (End of TSDU). + + TPDU-NR : TPDU Send Sequence Number (Zero in + Class 0), may take any value in + Class 2 without explicit flow + control. + +8.7.4 Variable Part + + Checksum (See 8.2.3.1) + +8.7.5 User Data Field + + This field contains data of the TSDU being transmitted. +The length of this field is limited to the negotiated TPDU size for +this transport connection minus 3 octets in Classes 0 and 1, +and minus 5 octets (normal header format) or +8 octets (extended header format) in the other classes. The +variable part, if presemt, amy further reduce the size of the user +data field. + +ISO Transport Protocol Specification Page 76 +International Standards Organization + + +8.8 Expedited Data (ED) + + (Not used in Class 2 when "no explicit flow + control" option is selected.) + +8.8.1 Structure + + Normal Format + + 1 2 3 4 EOT 5 6 p p + 1 + + LI ED DST-REFERENCE EDTPDU-NR Variable Part User Data + 00010000 1. + + Extended Format + + 1 2 3 4 EOT 5,6,7,8 9 p p + 1 + + LI ED DST-REFERENCE EDTPDU-NR Variable Part User Data + 00010000 1. + +8.8.2 LI + + See Section 8.2.1 + +8.8.3 Fixed Part + + (Octets 2 to 5, normal format: 2 to 8, extended format) + + ED: Expedited Data command code: 0001 + + DST-REFERENCE: Same as Section 8.4.3 + + ED TPDU-NR: Expedited TPDU identification number + (Classes 1, 3, and 4; may take any value in + Class 2). + +8.8.4 Variable Part + + Checksum (See 8.2.3.1) + +8.8.5 User Data Field + + This field contains an expedited TSDU. Up to 16 octets. + +8.9 Data Acknowledgement (AK) + + Not applicable for Class 0 and Class 2 when the "no +explicit flow control" option is selected, and for Class 1 when the +network receipt confirmation option is selected. + +ISO Transport Protocol Specification Page 77 +International Standards Organization + + + Flow Control Confirmation (class 4 only - optionally used) + + This parameter contains a copy of the information received +in an AK TPDU, to allow the transmitter of the AK TPDU to be certain +of the state of the receiving transport entity (See Section 7.4.5.6). + + Parameter Code: 100001011 + + Parameter value field 64 bits, used as follows: + + o Lower Window Edge (32 bits) + Bit 32 is set to zero, bits 31 to 1 contain the + YR-TU-NR value of the received AK TPDU. When normal + format is in use, only the least significant seven + bits (bits 1 to 7) of this field are significant. + + o Your Sub-Sequence (16 bits) + Contains the value of the sub-sequence parameter of + the received AK TPDU, or zero if this parameter was + not present. + + o Your Credit (16 bits) + Contains the value of the CDT field of the received AK + TPDU. When normal format is in use, only the least + significant four bits (bits 1 to 4) of this field are + significant. + +8.10 Expedited Data Acknowledgement (EA) + + (Not applicable for Class 0 and Class 2 when the no + explicit flow control option is selected). + +8.10.1 Structure + + Normal Format + + 1 2 3 4 5 6 p + + LI EA DST-REFERENCE . YR-TU-NR Variable Part + 00100000 0. + + Extended Format + + 1 2 3 4 5,6,7,8 9 p + + LI EA DST-REFERENCE . YR-TU-NR Variable Part + 00100000 0. + +8.9.1 Structure + + +ISO Transport Protocol Specification Page 78 +International Standards Organization + + + Normal Format + + 1 2 3 4 5 6 p + + LI AK CDT DST-REFERENCE . YR-TU-NR Variable Part + 0110 0. + + Extended Format + + 1 2 3 4 5,6,7,8 9,10 11 p + + LI AK DST-REFERENCE . YR-TU-NR CDT Variable Part + 01100000 0. + +8.9.2 LI + + See Section 8.2.1 + +8.9.3 Fixed Part + + (Octets 2 to 5, normal format: 2 to 10, extended format) + + AK: Acknowledgement command code: 0110 + + CDT: Credit Value (set to 0 in class 1) + + DST-REFERENCE: Same as Section 8.4.3 + + YR-TU-NR: Sequence number indicating the next expected + DT TPDU number. + +8.9.4 Variable Part + + Checksum (See 8.2.3.1) + + Sub-sequence number (class 4 only - optionally used). + + This parameter is used to ensure that AK TPDUs are + processed in the correct sequence. If it is absent, this is + equivalent to transmitting the parameter with a value of zero. + + Parameter Code: 100001010 + + Parameter Value: 16-bit sub-sequence number. + +8.10.2 LI + + See Section 8.2.1 + +8.10.3 Fixed Part + +ISO Transport Protocol Specification Page 79 +International Standards Organization + + + (Octets 2 to 5, normal format; 2 to 8, extended + format) + + EA: Acknowledgement command code: 0010 + + DST-REFERENCE: Same as Section 8.4.3 + + YR-TU-NR: Identification of the ED TPDU being + acknowledged. May take any value in Class 2. + +8.10.4 Variable Part + + Checksum (See 8.2.3.1) + +8.11 Reject (RJ) + + (Not used in Classes 0, 2, and 4) + +8.11.1 Structure + + Normal Format + + 1 2 3 4 EOT 5 6 p + + LI RJ CDT DST-REFERENCE . YR-TU-NR Variable Part + 0101 0. + + Extended Format + + 1 2 3 4 EOT 5,6,7,8 9,10 11 p + LI RJ DST-REFERENCE . YR-TU-NR CDT Variable + 0l0l0000 Part + +8.11.2 LI + + See Section 8.2.1 + +8.11.3 Fixed Part + + (Octets 2 to 5, normal format; 2 to 10, extended format) + + RJ: Reject Command Code: 0101 + + CDT: Credit Value (set to 0 in class 1) + + DST-REFERENCE: Same as Section 8.4.3 + + YR-TU-NR: Sequence number indicating the next expected + TPDU from which retransmission should occur. + + +ISO Transport Protocol Specification Page 80 +International Standards Organization + + +8.11.4 Variable Part + + No parameters exclusive to this TPDU type. + +8.12 TPDU Error (ERR) + + 1 2 3 4 5 6 + + LI ERR DST-REFERENCE Reject Parameters + 01110000 Cause + +8.12.1 LI + + See Section 8.2.1 + +8.12.2 Fixed Part + + ERR: TPDU Error Code: 0111 + + DST-REFERENCE: Same as Section 8.4.3 + + REJECT CAUSE: + 00000000 Reason not specified + + 00000001 Invalid parameter code + + 00000010 Invalid TPDU type + + 00000011 Invalid parameter value + +8.12.3 Variable Part (Octets 6 to the end) + + Parameter Code: 1100001 + + Parameter Value Field: + + Contains the bit pattern of the rejected TPDU up to and +including the octet which caused the rejection. This parameter is +mandatory in Class 0. + + Checksum (See Section 8.2.3.1) + +SECTION THREE - CONFORMANCE + +9. CONFORMANCE + + Implementations claiming conformance to this standard shall: + + 1. Implement either Class 0 or Class 2 or both. + + +ISO Transport Protocol Specification Page 81 +International Standards Organization + + + 2. If other classes are implemented, the following rules + shall be observed: + + a) If Class 3 or Class 4 is implemented then Class 2 + must be implemented + + b) If Class 1 is implemented then Class 0 must be + implemented. + + 3. The following table defines the requirements for the + implementation of the options defined in previous + sections: + + Class + 0 1 2 3 4 + + TPDU with Checksum no no no no m + TPDU without Checksum m m m m o + + Expedited Data Transfer no m m m m + No Expedited Data Transfer m m m m m + + Flow Control in Class 2 no no m no no + No Flow Control in Class 2 no no o no no + + 7 bits format (normal) m m m m m + 31 bits format (extended) no no o o o + + Use of Receipt Confirmation in no o no no no + Class 1 + No use of Receipt Confirmation in no m no no no + Class 1 + + Use of Network Expedited in Class no o no no no + 1, if T-EXPEDITED DATA necessary + + No use of Network Expedited in no m no no no + Class 1, if T-EXPEDITED DATA necessary + + o - optional: An implementation may or may not + provide this user-selected option. + + m - mandatory: An implementation must provide for this + option + + no - An implementation shall not provide + this option. + + 4. Implementations claiming conformance shall support a + TPDU length of 128 octets. If larger maximum TPDU + +ISO Transport Protocol Specification Page 82 +International Standards Organization + + + sizes can be supported in Classes 1,2,3, or 4, then + all permitted TPDU sizes between the maximum and 128 + octets shall be supported. + + 5. Claims of conformance shall state: + + a) which class of protocol is supported. + + b) which additional options indicated by the letter + 'o' in the above table are supported. +
\ No newline at end of file |