[RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

Tweet
This is a modified version of the Internet RFC suitable for machine-translating. Original version is available here: RFC905

UNKNOWN
     Network Working Group                                         ISO
     Request for Comments:  905                             April 1984
   
   
   
ISO Transport Protocol Specification ISO DP 8073

   Status of this Memo:
   
     This document is distributed as an RFC for information only.   It
     does not specify a standard for the ARPA-Internet.
   
   Notes:
   
     1)  RFC 892 is an older version of  the  ISO  Transport  Protocol
Specification. Therefore this RFC should be assumed to
         supercede RFC 892.
   
     2)  This document has been  prepared  by  retyping  the  text  of
ISO/TC97/SC16/N1576 and then applying proposed editorial corrections contained in ISO/TC97/SC16/N1695. These two documents, taken together, are undergoing voting within ISO
         as a Draft International Standard (DIS).
   
     3)  Although this RFC has been  reviewed  after  typing,  and  is
believed to be substantially correct, it is possible that typographic errors not present in the ISO documents have been
         overlooked.
   
         Alex McKenzie
         BBN
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

                          Table of Contents
   
   
   
   

1 SCOPE AND FIELD OF APPLICATION........................ 3
1.1 This International Standard specifies:.............. 3
1.2 The procedures are defined in terms of:............. 4
1.3 .................................................... 4
1.4 .................................................... 5
2 REFERENCES............................................ 5
3 DEFINITIONS........................................... 6
3.1 .................................................... 6
3.2 .................................................... 6
3.2.1 equipment:........................................ 7
3.2.2 transport service user:........................... 7
3.2.3 network service provider:......................... 7
3.2.4 local matter:..................................... 7
3.2.5 initiator:........................................ 7
3.2.6 responder:........................................ 8
3.2.7 sending transport entity:......................... 8
3.2.8 receiving transport entity:....................... 8
3.2.9 preferred class:.................................. 8
3.2.10 alternative class:............................... 8
3.2.11 proposed class:.................................. 9
3.2.12 selected class:.................................. 9
3.2.13 proposed parameter:.............................. 9
3.2.14 selected parameter:.............................. 9
3.2.15 error indication:................................ 9
3.2.16 invalid TPDU:................................... 10
3.2.17 protocol error:................................. 10
3.2.18 sequence number:................................ 10
3.2.19 transmit window:................................ 10
3.2.20 lower window edge:.............................. 11
3.2.21 upper window edge:.............................. 11
3.2.22 upper window edge allocated to the peer
entity:
.................................................... 11
3.2.23 closed window:.................................. 11
3.2.24 window information:............................. 11
3.2.25 frozen reference:............................... 12
3.2.26 unassigned reference:........................... 12
3.2.27 transparent (data):............................. 12


                                     i
   
   


  3.2.28   owner (of a network connection):................ 12
3.2.29 retained TPDU:.................................. 12
4 SYMBOLS AND ABBREVIATIONS............................ 13
4.1 Data units......................................... 13
4.2 Types of transport protocol data units............. 13
4.3 TPDU fields........................................ 13
4.4 Times and associated variables..................... 14
4.5 Miscellaneous...................................... 14
5 OVERVIEW OF THE TRANSPORT PROTOCOL................... 15
5.1 Service provided by the transport layer............ 15
5.2 Service assumed from the network layer............. 16
5.3 Functions of the Transport Layer................... 18
5.3.1 Overview of functions............................ 18
5.3.1.1 Functions used at all times.................... 19
5.3.1.2 Connection Establishment....................... 19
5.3.1.3 Data Transfer.................................. 20
5.3.1.4 Release........................................ 21
5.4 Classes and options................................ 21
5.4.1 General.......................................... 21
5.4.2 Negotiation...................................... 22
5.4.3 Choice of network connection..................... 22
5.4.4 Characteristics of Class 0....................... 23
5.4.5 Characteristics of Class 1....................... 23
5.4.6 Characteristics of Class 2....................... 24
5.4.6.1 General........................................ 24
5.4.6.2 Use of explicit flow control................... 24
5.4.6.3 Non-use of explicit flow control............... 24
5.4.7 Characteristics of Class 3....................... 24
5.4.8 Characteristics of Class 4....................... 25
5.5 Model of the transport layer....................... 25
6 ELEMENTS OF PROCEDURE................................ 27
6.1 Assignment to network connection................... 27
6.1.1 Purpose.......................................... 27
6.1.2 Network service primitives....................... 27
6.1.3 Procedure........................................ 28
6.2 Transport protocol data unit (TPDU) transfer....... 29
6.2.1 Purpose.......................................... 29
6.2.2 Network Service Primitives....................... 30
6.2.3 Procedure........................................ 30
6.3 Segmenting and reassembling........................ 30
6.3.1 Purpose.......................................... 30
6.3.2 TPDUs and parameter used......................... 31
6.3.3 Procedure........................................ 31


                                    ii
   
   


  6.4   Concatenation and separation....................... 31
6.4.1 Purpose.......................................... 31
6.4.2 Procedure........................................ 32
6.5 Connection establishment........................... 32
6.5.1 Purpose.......................................... 32
6.5.2 Network service primitives....................... 33
6.5.3 TPDUs and parameters used........................ 33
6.5.4 Procedure........................................ 34
6.6 Connection refusal................................. 40
6.6.1 Purpose.......................................... 40
6.6.2 TPDUs and parameters used........................ 40
6.6.3 Procedure........................................ 41
6.7 Normal release..................................... 41
6.7.1 Purpose.......................................... 41
6.7.2 Network service primitives....................... 42
6.7.3 TPDUs and parameters used........................ 42
6.7.4 Procedure for implicit variant................... 43
6.7.5 Procedure for explicit variant................... 43
6.8 Error Release...................................... 44
6.8.1 Purpose.......................................... 45
6.8.2 Network service primitives....................... 45
6.8.3 Procedure........................................ 45
6.9 Association of TPDUs with transport
connections
.................................................... 45
6.9.1 Purpose.......................................... 45
6.9.2 Network service primitives....................... 46
6.9.3 TPDUs and parameters uses........................ 46
6.9.4 Procedures....................................... 46
6.9.4.1 Identification of TPDUs........................ 46
6.9.4.2 Association of individual TPDUs................ 47
6.10 Data TPDU numbering............................... 49
6.10.1 Purpose......................................... 49
6.10.2 TPDUs and parameters used....................... 49
6.10.3 Procedure....................................... 50
6.11 Expedited data transfer........................... 50
6.11.1 Purpose......................................... 50
6.11.2 Network service primitives...................... 50
6.11.3 TPDUs and parameter used........................ 51
6.11.4 Procedures...................................... 51
6.12 Reassignment after failure........................ 52
6.12.1 Purpose......................................... 52
6.12.2 Network service primitives...................... 52


                                    iii
   
   


  6.12.3   Procedure....................................... 52
6.12.4 Timers.......................................... 54
6.13 Retention until acknowledgement of TPDUs.......... 56
6.13.1 Purpose......................................... 56
6.13.2 Network service primitives...................... 56
6.13.3 TPDUs and parameters used....................... 56
6.13.4 Procedures...................................... 57
6.14 Resynchronization................................. 60
6.14.1 Purpose......................................... 60
6.14.2 Network service primitives...................... 60
6.14.3 TPDUs and parameters used....................... 60
6.14.4 Procedure....................................... 61
6.14.4.1 Active resynchronization procedures........... 61
6.14.4.2 Passive resynchronization procedures.......... 62
6.14.4.3 Data Resynchronization Procedures............. 63
6.15 Multiplexing and demultiplexing................... 64
6.15.1 Purpose......................................... 64
6.15.2 TPDUs and parameters used....................... 64
6.15.3 Procedure....................................... 65
6.16 Explicit Flow Control............................. 65
6.16.1 Purpose......................................... 65
6.16.2 TPDUs and parameters used....................... 65
6.16.3 Procedure....................................... 66
6.17 Checksum.......................................... 66
6.17.1 Purpose......................................... 66
6.17.2 TPDUs and parameters used....................... 66
6.17.3 Procedure....................................... 67
6.18 Frozen references................................. 68
6.18.1 Purpose......................................... 68
6.18.2 Procedure....................................... 68
6.18.2.1 Procedure for classes 0 and 2................. 68
6.18.2.2 Procedure for classes 1 and 3................. 69
6.18.2.3 Procedure for classes 4....................... 70
6.19 Retransmission on time-out........................ 70
6.19.1 Purpose......................................... 70
6.19.2 TPDUs used...................................... 70
6.19.3 Procedure....................................... 70
6.20 Resequencing...................................... 70
6.20.1 Purpose......................................... 71
6.20.2 TPDUs and parameters used....................... 71
6.20.3 Procedure....................................... 71
6.21 Inactivity control................................ 71
6.21.1 Purpose......................................... 71


                                    iv
   
   


  6.21.2   Procedure....................................... 72
6.22 Treatment of protocol errors...................... 72
6.22.1 Purpose......................................... 72
6.22.2 TPDUs and parameters used....................... 72
6.22.3 Procedure....................................... 72
6.23 Splitting and recombining......................... 74
6.23.1 Purpose......................................... 74
6.23.2 Procedure....................................... 74
7 Protocol Classes..................................... 76
8 SPECIFICATION FOR CLASS 0. SIMPLE CLASS.............. 79
8.1 Functions of class 0............................... 79
8.2 Procedures for class 0............................. 79
8.2.1 Procedures applicable at all times............... 79
8.2.2 Connection establishment......................... 79
8.2.3 Data transfer.................................... 80
8.2.4 Release.......................................... 80
9 SPECIFICATION FOR CLASS 1: BASIC ERROR
RECOVERY CLASS
.................................................... 81
9.1 Functions of Class 1............................... 81
9.2 Procedures for Class 1............................. 81
9.2.1 Procedures applicable at all times............... 81
9.2.2 Connection establishment......................... 82
9.2.3 Data Transfer.................................... 82
9.2.3.1 General........................................ 82
9.2.3.2 Expedited Data................................. 83
9.2.4 Release.......................................... 84
10 SPECIFICATION FOR CLASS 2 - MULTIPLEXING
CLASS
.................................................... 85
10.1 Functions of class 2.............................. 85
10.2 Procedures for class 2............................ 85
10.2.1 Procedures applicable at all times.............. 85
10.2.2 Connection establishment........................ 86
10.2.3 Data transfer when non use of explicit
flow control
.................................................... 86
10.2.4 Data transfer when use of explicit flow
control
.................................................... 86
10.2.4.1 General....................................... 86
10.2.4.2 Flow control.................................. 87
10.2.4.3 Expedited data................................ 88


                                     v
   
   

  10.2.5   Release......................................... 89
11 SPECIFICATION FOR CLASS 3: ERROR RECOVERY AND
MULTIPLEXING CLASS
.................................................... 90
11.1 Functions of Class 3.............................. 90
11.2 Procedures for Class 3............................ 90
11.2.1 Procedures applicable at all times.............. 90
11.2.2 Connection Establishment........................ 91
11.2.3 Data Transfer................................... 91
11.2.3.1 General....................................... 91
11.2.3.2 Use of RJ TPDU................................ 92
11.2.3.3 Flow Control.................................. 93
11.2.3.4 Expedited data................................ 93
11.2.4 Release......................................... 94
12 SPECIFICATION FOR CLASS 4: ERROR DETECTION
AND RECOVERY CLASS
.................................................... 95
12.1 Functions of Class 4.............................. 95
12.2 Procedures for Class 4............................ 95
12.2.1 Procedures available at all times............... 95
12.2.1.1 Timers used at all times...................... 95
12.2.1.1.1 NSDU lifetime (MLR, MRL).................... 98
12.2.1.1.2 Expected maximum transit delay (ELR,
ERL)
.................................................... 98
12.2.1.1.3 Acknowledge Time (AR, AL)................... 99
12.2.1.1.4 Local retransmission time (T1).............. 99
12.2.1.1.5 Persistence Time (R)........................ 99
12.2.1.1.6 Bound on References and Sequence
Numbers (L)
................................................... 100
12.2.1.2 General Procedures........................... 100
12.2.2 Procedures for Connection Establishment........ 102
12.2.2.1 Timers used in Connection Establishment...... 102
12.2.2.2 General Procedures........................... 103
12.2.3 Procedures for Data Transfer................... 104
12.2.3.1 Timers used in Data Transfer................. 104
12.2.3.2 General Procedures for data transfer......... 104
12.2.3.3 Inactivity Control........................... 105
12.2.3.4 Expedited Data............................... 105
12.2.3.5 Resequencing................................. 106
12.2.3.6 Explicit Flow Control........................ 107
12.2.3.7 Sequencing of received AK TPDUs.............. 108


                                    vi
   
   

  12.2.3.8   Procedure for transmission of AK TPDUs....... 109
12.2.3.8.1 Retransmission of AK TPDUs for window
synchronization
................................................... 109
12.2.3.8.2 Sequence control for transmission of
AK TPDUs
................................................... 109
12.2.3.8.3 Retransmission of AK TPDUs after CDT
set to zero
................................................... 110
12.2.3.8.4 Retransmission procedures following
reduction of the
................................................... 111
12.2.3.9 Use of Flow Control Confirmation
parameter
................................................... 112
12.2.4 Procedures for Release......................... 113
12.2.4.1 Timers used for Release...................... 113
12.2.4.2 General Procedures for Release............... 113
13 STRUCTURE AND ENCODING OF TPDUs.................... 114
13.1 Validity......................................... 114
13.2 Structure........................................ 116
13.2.1 Length indicator field......................... 117
13.2.2 Fixed part..................................... 117
13.2.2.1 General...................................... 117
13.2.2.2 TPDU code.................................... 117
13.2.3 Variable part.................................. 118
13.2.3.1 Checksum Parameter (Class 4 only)............ 120
13.2.4 Data Field..................................... 120
13.3 Connection Request (CR) TPDU..................... 120
13.3.1 Structure...................................... 120
13.3.2 LI............................................. 121
13.3.3 Fixed Part (Octets 2 to 7)..................... 121
13.3.4 Variable Part (Octets 8 to p).................. 122
13.3.5 User Data (Octets p+1 to the end).............. 127
13.4 Connection Confirm (CC) TPDU..................... 128
13.4.1 Structure...................................... 128
13.4.2 LI............................................. 128
13.4.3 Fixed Part (Octets 2 to 7)..................... 128
13.4.4 Variable Part (Octet 8 to p)................... 129
13.4.5 User Data (Octets p+1 to the end).............. 129
13.5 Disonnect Request (DR) TPDU...................... 129
13.5.1 Structure...................................... 129


                                    vii
   
   


  13.5.2   LI............................................. 129
13.5.3 Fixed Part (Octets 2 to 7...................... 130
13.5.4 Variable Part (Octets 8 to p).................. 131
13.5.5 User Data (Octets p+1 to the end).............. 131
13.6 Disconnect Confirm (DC) TPDU..................... 132
13.6.1 Structure...................................... 132
13.6.2 LI............................................. 132
13.6.3 Fixed Part (Octets 2 to 6)..................... 132
13.6.4 Variable Part.................................. 133
13.7 Data (DT) TPDU................................... 133
13.7.1 Structure...................................... 133
13.7.2 LI............................................. 134
13.7.3 Fixed Part..................................... 134
13.7.4 Variable Part.................................. 135
13.7.5 User Data Field................................ 135
13.8 Expedited Data (ED) TPDU......................... 135
13.8.1 Structure...................................... 135
13.8.2 LI............................................. 136
13.8.3 Fixed Part..................................... 136
13.8.4 Variable Part.................................. 137
13.8.5 User Data Field................................ 137
13.9 Data Acknowledgement (AK) TPDU................... 137
13.9.1 Structure...................................... 137
13.9.2 LI............................................. 138
13.9.3 Fixed Part..................................... 138
13.9.4 Variable Part.................................. 139
13.10 Expedited Data Acknowledgement (EA) TPDU........ 140
13.10.1 Structure..................................... 140
13.10.2 LI............................................ 141
13.10.3 Fixed Part.................................... 141
13.10.4 Variable Part................................. 141
13.11 Reject (RJ) TPDU................................ 141
13.11.1 Structure..................................... 142
13.11.2 LI............................................ 142
13.11.3 Fixed Part.................................... 142
13.11.4 Variable Part................................. 143
13.12 TPDU Error (ER) TPDU............................ 143
13.12.1 Structure..................................... 143
13.12.2 LI............................................ 143
13.12.3 Fixed Part.................................... 144
13.12.4 Variable Part................................. 144
14 CONFORMANCE........................................ 145
     14.1   ................................................. 145
   
   
   
                                   viii
   
   

  14.2   ................................................. 145
14.3 ................................................. 145 14.4 ................................................. 145

14.5 ................................................. 146
14.6 Claims of Conformance Shall State................ 146








































                                    ix
   
   

  INTRODUCTION
   
     The Transport Protocol Standard is one of a set of  International
Standards produced to facilitate the interconnection of computer systems. The set of standards covers the services and protocols
     required to achieve such interconnection.
   
     The Transport Protocol Standard is  positioned  with  respect  to
other related standards by the layers defined in the Reference Model for Open Systems Interconnection (ISO 7498). It is most closely related to, and lies within the field of application of the Transport Service Standard (DP 8072). It also uses and makes reference to the Network Service Standard (DP 8348), whose provisions it assumes in order to accomplish the transport protocol's aims. The interelationship of these standards is
     depicted in figure 1.
   
   
   
   
   
     -------------------------TRANSPORT SERVICE DEFINITION------------
     Transport     | --- Reference to aims --------------
     Protocol      |
     Specification | --- Reference to assumptions -------
     -------------------------NETWORK SERVICE DEFINITION--------------
   
      Relationaship between Transport Protocol and adjacent services
                                Figure 1 .
   
   
   
     The International Standard specifies  a  common  encoding  and  a
number of classes of transport protocol procedures to be used
     with different network qualities of service.
   
     It is intended that the Transport Protocol should be  simple  but
general enough to cater for the total range of Network Service
     qualities possible, without restricting future extensions.
   
     The protocol is structured to give rise to  classes  of  protocol
which are designed to minimize possible incompatibilities and
     implementation costs.
   
   
   
                                     1
   
   

  The classes are selectable with  respect  to  the  Transport  and
Network Services in providing the required quality of service for the interconnection of two session entities (note that each class provides a different set of functions for enhancement of service
     qualities).
   
     This protocol standard defines mechanisms that  can  be  used  to
optimize network tariffs and enhance the following qualities of
     service:
   
        a)  different throughput rates;
   
        b)  different error rates;
   
        c)  integrity of data requirements;
   
        d)  reliability requirements.
   
     It does not  require  an  implementation  to  use  all  of  these
mechanisms, nor does it define methods for measuring achieved quality of service or criteria for deciding when to release
     transport connections following quality of service degradation.
   
     The primary aim of this International Standard is  to  provide  a
set of rules for communication expressed in terms of the procedures to be carried out by peer entities at the time of communication. These rules for communication are intended to provide a sound basis for development in order to serve a variety
     of purposes:
   
        a)  as a guide for implementors and designers;
   
        b)  for use in the testing and procurement of equipment;
   
        c)  as part of an agreement for the admittance of systems into
            the open systems environment;
   
        d)  as a refinement of the understanding of OSI.
   
     It is expected  that  the  initial  users  of  the  International
Standard will be designers and implementors of equipment and the International Standard contains, in notes or in annexes, guidance
     on the implementation of the procedures defined in the standard.
   
   
   
                                     2
   
   

  It should  be  noted  that,  as  the  number  of  valid  protocol
sequences is very large, it is not possible with current technology to verify that an implementation will operate the protocol defined in this International Standard correctly under all circumstances. It is possible by means of testing to establish confidence that an implementation correctly operates the protocol in a representative sample of circumstances. It is, however, intended that this International Standard can be used in circumstances where two implementations fail to communicate in order to determine whether one or both have failed to operate the
     protocol correctly.
   
     This International Standard contains a section on conformance  of
equipment claiming to implement the procedures in this International Standard. Attention is drawn to the fact that the standard does not contain any tests to demonstrate this
     conformance.
   
     The variations and options available  within  this  International
Standard are essential to enable a Transport Service to be provided for a wide variety of applications over a variety of network qualities. Thus, a minimally conforming implementation will not be suitable for use in all possible circumstances. It is important, therefore, to qualify all references to this International Standard with statements of the options provided or required or with statements of the intended purpose of provision
     or use.
   
   
   
   
     1  SCOPE AND FIELD OF APPLICATION
   
     1.1  This International Standard specifies:
   
        a)  five classes of procedures:
   
            1) Class 0.  Simple class;
2) Class 1. Basic error recovery class; 3) Class 2. Multiplexing class; 4) Class 3. Error recovery and multiplexing class;
            5) Class 4.  Error detection and recovery class,
   
   
   
   
                                     3
   
   

         for the connection oriented transfer of data  and  control
information from one transport entity to a peer transport
            entity;
   
        b)  the means of negotiating the class  of  procedures  to  be
            used by the transport entities;
   
        c)  the structure and encoding of the transport protocol  data
units used for the transfer of data and control
            information;
   
   
   
   
     1.2  The procedures are defined in terms of:
   
        a)  the interactions between peer transport  entities  through
            the exchange of transport protocol data units;
   
        b)  the  interactions  between  a  transport  entity  and  the
transport service user in the same system through the
            exchange of transport service primitives;
   
        c)  the  interactions  between  a  transport  entity  and  the
network service provider through the exchange of network
            service primitives.
   
     These procedures are defined in the main  text  of  the  standard
     supplemented by state tables in annex A.
   
   
   
   
     1.3
   
     These procedures are applicable  to  instances  of  communication
between systems which support the Transport Layer of the OSI Reference Model and which wish to interconnect in an open systems
     environment.
   
   
   
   
   
   
   
                                     4
   
   

  1.4
   
     This   International   Standard   also   specifies    conformance
requirements for systems implementing these procedures. It does not contain tests which can be used to demonstrate this
     conformance.
   
   
   
   
     2  REFERENCES
   
     ISO 7498  Information   processing   systems   -   Open   systems
               interconnection - Basic Reference Model
   
     DP 8072   Information   processing   systems   -   Open   systems
               interconnection - Transport service definition
   
     DP 8348   Information   processing   systems   -   Open   systems
interconnection - Connection-oriented network service
               definition.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                     5
   
   

  SECTION ONE.  GENERAL
   
   
   
   
     3  DEFINITIONS
   
     NOTE - The definitions contained  in  this  clause  make  use  of
     abbreviations defined in clause 4.
   
   
   
   
     3.1
   
     This International Standard is based on the concepts developed in
the Reference Model for Open Systems Interconnection (DIS 7498)
     and makes use of the following terms defined in that standard:
   
        a)  concatenation and separation;
   
        b)  segmenting and reassembling;
   
        c)  multiplexing and demultiplexing;
   
        d)  splitting and recombining;
   
        e)  flow control.
   
   
   
   
     3.2
   
     For the purpose of this  International  Standard,  the  following
     definitions apply:
   
   
   
   
   
   
   
   
   
   
                                     6
   
   

  3.2.1  equipment:
   
     Hardware or software or a combination of both;  it  need  not  be
     physically distinct within a computer system.
   
   
   
   
     3.2.2  transport service user:
   
     An abstract representation of  the  totality  of  those  entities
     within a single system that make use of the transport service.
   
   
   
   
     3.2.3  network service provider:
   
     An abstract machine that models  the  totality  of  the  entities
     providing the network service, as viewed by a transport entity.
   
   
   
   
     3.2.4  local matter:
   
     A decision made by  a  system  concerning  its  behavior  in  the
Transport Layer that is not subject to the requirements of this
     protocol.
   
   
   
   
     3.2.5  initiator:
   
     A transport entity that initiates a CR TPDU.
   
   
   
   
   
   
   
   
   
   
                                     7
   
   

  3.2.6  responder:
   
     A transport entity with whom an initiator wishes to  establish  a
     transport connection.
   
     NOTE - Initiator and responder are  defined  with  respect  to  a
single transport connection. A transport entity can be both an
     initiator and responder simultaneously.
   
   
   
   
     3.2.7  sending transport entity:
   
     A transport entity that sends a given TPDU.
   
   
   
   
     3.2.8  receiving transport entity:
   
     A transport entity that receives a given TPDU.
   
   
   
   
     3.2.9  preferred class:
   
     The protocol class that the initiator indicates in a CR  TPDU  as
     its first choice for use over the transport connection.
   
   
   
   
     3.2.10  alternative class:
   
     A protocol class that the initiator indicates in a CR TPDU as  an
     alternative choice for use over the transport connection.
   
   
   
   
   
   
   
   
                                     8
   
   

  3.2.11  proposed class:
   
     A preferred class or an alternative class.
   
   
   
   
     3.2.12  selected class:
   
     The protocol class that the responder indicates in a CC TPDU that
     it has chosen for use over the transport connection.
   
   
   
   
     3.2.13  proposed parameter:
   
     The value for a parameter that the initiator indicates  in  a  CR
     TPDU that it wishes to use over the transport connection.
   
   
   
   
     3.2.14  selected parameter:
   
     The value for a parameter that the responder indicates  in  a  CC
     TPDU that it has chosen for use over the transport connection.
   
   
   
   
     3.2.15  error indication:
   
     An N-RESET indication,  or  an  N-DISCONNECT  indication  with  a
reason code indicating an error, that a transport entity receives
     from the NS-provider.
   
   
   
   
   
   
   
   
   
   
                                     9
   
   

  3.2.16  invalid TPDU:
   
     A TPDU that  does  not  comply  with  the  requirements  of  this
     International Standard for structure and encoding.
   
   
   
   
     3.2.17  protocol error:
   
     A TPDU whose use does not comply  with  the  procedures  for  the
     class.
   
   
   
   
     3.2.18  sequence number:
   
        a)  The number  in  the  TPDU-NR  field  of  a  DT  TPDU  that
indicates the order in which the DT TPDU was transmitted
            by a transport entity.
   
        b)  The number in the YR-TU-NR field of an AK or RJ TPDU  that
indicates the sequence number of the next DT TPDU expected
            to be received by a transport entity.
   
   
   
   
     3.2.19  transmit window:
   
     The set of consecutive sequence numbers which a transport  entity
has been authorized by its peer entity to send at a given time on
     a given transport connection.
   
   
   
   
   
   
   
   
   
   
   
   
                                    10
   
   

  3.2.20  lower window edge:
   
     The lowest sequence number in a transmit window.
   
   
   
   
     3.2.21  upper window edge:
   
     The sequence  number  which  is  one  greater  than  the  highest
     sequence number in the transmit window.
   
   
   
   
     3.2.22  upper window edge allocated to the peer entity:
   
     The value that a transport entity communicates to its peer entity
     to be interpreted as its new upper window edge.
   
   
   
   
     3.2.23  closed window:
   
     A transmit window that contains no sequence number.
   
   
   
   
     3.2.24  window information:
   
     Information contained in a TPDU relating to  the  upper  and  the
     lower window edges.
   
   
   
   
   
   
   
   
   
   
   
   
                                    11
   
   

  3.2.25  frozen reference:
   
     A reference that is not available for assignment to a  connection
     because of the requirements of 6.18.
   
   
   
   
     3.2.26  unassigned reference:
   
     A reference that is neither currently in use  for  identifying  a
     transport connection or which is in a frozen state.
   
   
   
   
     3.2.27  transparent (data):
   
     TS-user  data  that  is  transferred  intact  between   transport
entities and which is unavailable for use by the transport
     entities.
   
   
   
   
     3.2.28  owner (of a network connection):
   
     The transport entity that issued the N-CONNECT request leading to
     the creation of that network connection.
   
   
   
   
     3.2.29  retained TPDU:
   
     A TPDU  that  is  subject  to  the  retransmission  procedure  or
retention until acknowledgement procedure and is available for
     possible retransmission.
   
   
   
   
   
   
   
   
                                    12
   
   

  4  SYMBOLS AND ABBREVIATIONS
   
     4.1  Data units
   
        TPDU          Transport protocol data unit
        TSDU          Transport service data unit
        NSDU          Network service data unit
   
   
   
   
     4.2  Types of transport protocol data units
   
        CR TPDU          Connection request TPDU
        CC TPDU          Connection confirm TPDU
        DR TPDU          Disconnect request TPDU
        DC TPDU          Disconnect confirm TPDU
        DT TPDU          Data TPDU
        ED TPDU          Expedited data TPDU
        AK TPDU          Data acknowledge TPDU
        EA TPDU          Expedited acknowledge TPDU
        RJ TPDU          Reject TPDU
        ER TPDU          Error TPDU
   
   
   
   
     4.3  TPDU fields
   
        LI               Length indicator (field)
        CDT              Credit (field)
        TSAP-ID          Transport service access point
                         identifier (field)
        DST-REF          Destination reference (field)
        SRC-REF          Source reference (field)
        EOT              End of TSDU mark
        TPDU-NR          DT TPDU number (field)
        ED-TPDU-NR       ED TPDU number (field)
YR-TU-NR Sequence number response (field)
        YR-EDTU-NR       ED TPDU number response (field)
   
   
   
   
   
   
                                    13
   
   

  4.4  Times and associated variables
   
        T1               Elapsed time between retransmissions
N The maximum number of transmissions L Bound on reference I Inactivity time W Window time TTR Time to try reassignment/resynchronization TWR Time to wait for
reassignment/resynchronization
TS1 Supervisory timer 1 TS2 Supervisory time 2 MLR NSDU lifetime local-to-remote MRL NSDU lifetime remote-to-local ELR Expected maximum transit delay
local-to-remote
ERL Expected maximum transit delay
remote-to-local
R Persistence time AL Local acknowledgement time
        AR               Remote acknowledgement time
   
   
   
   
   
     4.5  Miscellaneous
   
   
        TS-user          Transport service user
        TSAP             Transport service access point
NS-provider Network service provider NSAP Network service access point
        QOS              Quality of service
   
   
   
   
   
   
   
   
   
   
   
   
                                    14
   
   

  5  OVERVIEW OF THE TRANSPORT PROTOCOL
   
     NOTE - This overview is not exhaustive and has been provided  for
     guidance to the reader of this International Standard.
   
   
   
   
     5.1  Service provided by the transport layer
   
     The protocol specified in this  International  Standard  supports
     the transport service defined in DP 8072.
   
     Information is  transferred  to  and  from  the  TS-user  in  the
     transport service primitives listed in table 1.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    15
   
   

  +-------------------------------------------------------------+
     |           Primitive            |        Parameter           |
     |--------------------------------|----------------------------|
     |T-CONNECT         request       |   Called Address,          |
     |                  indication    |   Calling Address,         |
     |                                |   Expedited Data option,   |
     |                                |   Quality of Service,      |
     |                                |   TS User-Data.            |
     |--------------------------------|----------------------------|
     |T-CONNECT         response      |   Responding Address,      |
     |                  confirm       |   Quality of Service,      |
     |                                |   Expedited Data option,   |
     |                                |   TS User-Data.            |
     |--------------------------------|----------------------------|
     |T-DATA            request       |   TS User-Data.            |
     |                  indication    |                            |
     |--------------------------------|----------------------------|
     |T-EXPEDITED DATA  request       |   TS User-Data.            |
     |                  indication    |                            |
     |--------------------------------|----------------------------|
     |T-DISCONNECT      request       |   TS User-Data.            |
     |--------------------------------|----------------------------|
     |T-DISCONNECT      indication    |   Disconnect reason,       |
     |                                |   TS User-Data.            |
     +--------------------------------|----------------------------+
   
                   Table 1. Transport service primitives
   
   
   
   
   
     5.2  Service assumed from the network layer
   
     The protocol specified in this International Standard assumes the
     use of the network service defined in DP 8348.
   
     Information is transferred to and from  the  NS-provider  in  the
     network service primitives listed in table 2.
   
   
   
                                    16
   
   

  +---------------------------------------------------------------+
     |        Primitives          |X/Y|       Parameters       |X/Y/Z|
     |----------------------------|---|------------------------|-----|
     |N-CONNECT       request     | X | Called Address,        |  X  |
     |                indication  | X | Calling Address,       |  X  |
     |                response    | X | NS User-Data,          |  Z  |
     |                confirm     | X | QOS parameter set,     |  X  |
     |                            |   | Responding address,    |  Z  |
     |                            |   | Receipt confirmation   |  Y  |
     |                            |   | selection.             |     |
     |----------------------------|---|------------------------|-----|
     |N-DATA          request     | X | NS User-Data,          |  X  |
     |                indication  | X | Confirmation request   |  Y  |
     |----------------------------|---|------------------------|-----|
     |N-DATA ACKNOWLEDGE          |   |                        |     |
     |                request     | Y |                        |     |
     |                indication  | Y |                        |     |
     |----------------------------|---|------------------------|-----|
     |N-EXPEDITED DATA            |   |                        |     |
     |                request     | Y | NS User-Data.          |  Y  |
     |                indication  | Y |                        |     |
     |----------------------------|---|------------------------|-----|
     |N-RESET         request     | X | Originator,            |  Z  |
     |                indication  | X | Reason.                |  Z  |
     |                response    | X |                        |     |
     |                confirm     | X |                        |     |
     |----------------------------|---|------------------------|-----|
     |N-DISCONNECT    request     | X | NS User-Data.          |  Z  |
     |                indication  | X | Originator,            |  Z  |
     |                            |   | Reason.                |  Z  |
     +---------------------------------------------------------------+
                    Table 2. Network service primitives
   
   
   
   
   
   
   
   
   
   
                                    17
   
   

  Key:
   
        X - The Transport  Protocol  assumes  that  this  facility  is
            provided in all networks.
   
        Y - The Transport  Protocol  assumes  that  this  facility  is
provided in some networks and a mechanism is provided to
            optionally use the facility.
   
        Z - The Transport Protocol does not use this parameter.
   
     NOTES:
   
        1 - The parameters listed in  this  table  are  those  in  the
            current network service (first DP 8348).
   
        2 - The way the parameters are exchanged between the transport
            entity and the NS-provider is a local matter.
   
   
   
   
     5.3  Functions of the Transport Layer
   
     5.3.1  Overview of functions
   
     The functions in the  Transport  Layer  are  those  necessary  to
bridge the gap between the services available from the Network
     Layer and those to be offered to the TS-users.
   
     The functions in the  Transport  Layer  are  concerned  with  the
enhancement of quality of service, including aspects of cost
     optimization.
   
     These functions are grouped below into those used  at  all  times
during a transport connection and those concerned with connection
     establishment, data transfer and release.
   
     NOTE - This International Standard does not include the following
functions which are under consideration for inclusion in future
     editions of this standard:
   
        a)  encryption;
   
   
   
                                    18
   
   

     b)  accounting mechanisms;
   
        c)  status exchanges and monitoring of QOS;
   
        d)  blocking;
   
        e)  temporary release of network connections;
   
        f)  alternative checksum algorithm.
   
   
   
   
     5.3.1.1  Functions used at all times
   
     The following functions, depending upon the  selected  class  and
     options, are used at all times during a transport connection:
   
        a)  transmission of TPDUs (see 6.2 and 6.9);
   
        b)  multiplexing and demultiplexing  (see  6.15),  a  function
used to share a single network connection between two or
            more transport connections;
   
        c)  error detection (see 6.10, 6.13 and 6.17), a function used
to detect the loss, corruption, duplication, misordering
            or misdelivery of TPDUs;
   
        d)  error recovery (see 6.12, 6.14, 6.18, 6.19, 6.20, 6.21 and
6.22), a function used to recover from detected and
            signalled errors.
   
   
   
   
     5.3.1.2  Connection Establishment
   
     The  purpose  of  connection  establishment  is  to  establish  a
transport connection between two TS-users. The following functions of the transport layer during this phase must match the TS-users' requested quality of service with the services offered
     by the network layer:
   
   
   
   
                                    19
   
   

     a)  select network service which best matches the  requirement
of the TS-user taking into account charges for various
            services (see 6.5);
   
        b)  decide whether to multiplex multiple transport connections
            onto a single network connection (see 6.5);
   
        c)  establish the optimum TPDU size (see 6.5);
   
        d)  select  the  functions  that  will  be  operational   upon
            entering the data transfer phase (see 6.5);
   
        e)  map transport addresses onto network addresses;
   
        f)  provide a  means  to  distinguish  between  two  different
            transport connections (see 6.5);
   
        g)  transport of TS-user data (see 6.5).
   
   
   
   
     5.3.1.3  Data Transfer
   
     The purpose of data transfer is to permit duplex transmission  of
TSDUs between the two TS-users connected by the transport connection. This purpose is achieved by means of two-way simultaneous communication and by the following functions, some of which are used or not used in accordance with the result of
     the selection performed in connection establishment:
   
        a)  concatenation and separation (see 6.4), a function used to
collect several TPDUs into a single NSDU at the sending transport entity and to separate the TPDUs at the
            receiving transport entity;
   
        b)  segmenting and reassembling (see 6.3), a function used  to
segment a single data TSDU into multiple TPDUs at the sending transport entity and to reassemble them into their
            original format at the receiving transport entity;
   
   
   
   
   
   
                                    20
   
   

     c)  splitting and recombining (see 6.23), a function  allowing
the simultaneous use of two or more network connections to
            support the same transport connection;
   
        d)  flow control (see 6.16), a function used to  regulate  the
flow of TPDUs between two transport entities on one
            transport connection;
   
        e)  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;
   
        f)  expedited data (see 6.11), a function used to  bypass  the
flow control of normal data TPDU. Expedited data TPDU
            flow is controlled by separate flow control;
   
        g)  TSDU delimiting (see 6.3), a function  used  to  determine
            the beginning and ending of a TSDU.
   
   
   
   
     5.3.1.4  Release
   
     The  purpose  of  release  (see  6.7  and  6.8)  is  to   provide
disconnection of the transport connection, regardless of the
     current activity.
   
   
   
   
     5.4  Classes and options
   
     5.4.1  General
   
     The functions of the Transport Layer  have  been  organized  into
     classes and options.
   
     A class  defines  a  set  of  functions.   Options  define  those
     functions within a class which may or may not be used.
   
     This International Standard defines five classes of protocol:
   
   
   
                                    21
   
   

     a)  Class 0:  Simple Class;
   
        b)  Class 1:  Basic Error recovery Class;
   
        c)  Class 2:  Multiplexing Class;
   
        d)  Class 3:  Error Recovery and Multiplexing Class;
   
        e)  Class 4:  Error Detection and Recovery Class.
   
     NOTE - Transport connections  of  classes  2,  3  and  4  may  be
     multiplexed together onto the same network connection.
   
   
   
   
     5.4.2  Negotiation
   
     The use of classes and options is  negotiated  during  connection
establishment. The choice made by the transport entities will
     depend upon:
   
        a)  the TS-users' requirements expressed via T-CONNECT service
            primitives;
   
        b)  the quality of the available network services;
   
        c)  the user required service versus cost ratio acceptable  to
            the TS-user.
   
   
   
   
     5.4.3  Choice of network connection
   
     The following  list  classifies  network  services  in  terms  of
quality with respect to error behavior in relation to user requirements; its main purpose is to provide a basis for the decision regarding which class of transport protocol should be
     used in conjunction with given network connection:
   
   
   
   
   
   
                                    22
   
   

     a)  Type A.  Network connection with acceptable residual error
rate (for example not signalled by disconnect or reset)
            and acceptable rate of signalled errors.
   
        b)  Type B.   Network  connections  with  acceptable  residual
error rate (for example not signalled by disconnect or
            reset) but unacceptable rate of signalled errors.
   
        c)  Type C.  Network connections  with  unacceptable  residual
            error rate.
   
     It is assumed that each transport entity is aware of the  quality
     of service provided by particular network connections.
   
   
   
   
     5.4.4  Characteristics of Class 0
   
     Class 0 provides the simplest type of transport connection and is
fully compatible with the CCITT recommendation S.70 for teletex
     terminals.
   
     Class 0 has  been  designed  to  be  used  with  type  A  network
     connections.
   
   
   
   
     5.4.5  Characteristics of Class 1
   
     Class 1  provides  a  basic  transport  connection  with  minimal
     overheads.
   
     The main  purpose  of  the  class  is  to  recover  from  network
     disconnect or reset.
   
     Selection of this class is usually based on reliability criteria.
Class 1 has been designed to be used with type B network
     connections.
   
   
   
   
   
   
                                    23
   
   

  5.4.6  Characteristics of Class 2
   
     5.4.6.1  General
   
     Class 2 provides a way to multiplex several transport connections
onto a single network connection. This class has been designed
     to be used with type A network connections.
   
   
   
   
     5.4.6.2  Use of explicit flow control
   
     The objective is to provide flow control to help avoid congestion
at transport-connection-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.
   
   
   
   
     5.4.6.3  Non-use of explicit flow control
   
     The objective is to provide a  basic  transport  connection  with
minimal overheads suitable when explicit disconnection of the transport connection is desirable. The option would typically be used for unsophisticated terminals, and when no multiplexing onto network connections is required. Expedited data is never
     available.
   
   
   
   
     5.4.7  Characteristics of Class 3
   
     Class 3 provides the characteristics of Class 2 plus the  ability
to recover from network disconnect or reset. Selection of this class is usually based upon reliability criteria. Class 3 has
     been designed to be used with type B network connections.
   
   
   
   
   
   
                                    24
   
   

  5.4.8  Characteristics of Class 4
   
     Class 4  provides  the  characteristics  of  Class  3,  plus  the
capability to detect and recover from errors which occur as a result of the low grade of service available from the NS- provider. The kinds of errors to be detected include: TPDU loss, TPDU delivery out of sequence, TPDU duplication and TPDU corruption. These errors may affect control TPDUs as well as
     data TPDUs.
   
     This class also provides for increased throughput capability  and
additional resilience against network failure. Class 4 has been
     designed to be used with type C network connections.
   
   
   
   
     5.5  Model of the transport layer
   
     A transport entity communicates with its TS-users through one  or
more TSAPs by means of the service primitives as defined by the transport service definition DP 8072. Service primitives will cause or be the result of transport protocol data unit exchanges between the peer transport 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 8348 through one or more NSAPs.
   
     Transport connection endpoints are identified in end  systems  by
an internal, implementation dependent, mechanism so that the TS- user and the transport entity can refer to each transport
     connection.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    25
   
   

            +------+                        +------+
     ----------| TSAP |------------------------| TSAP |----------
               +------+                        +------+
                   |                               |
            +---------------+               +---------------+
            | Transport     |               | Transport     |
            |       entity  |               |       entity  |
            +---------------+               +---------------+
                   |                               |
                   |                               |
               +------+                        +------+
     ----------| NSAP |------------------------| NSAP |----------
               +------+                        +------+
                   |                               |
                   +-------------------------------+
   
                  Figure 2 . Model of the transport layer
   
   
   
     NOTE - For purpose of illustration, this figure  shows  only  one
TSAP and one NSAP for each transport entity. In certain instances, more than one TSAP and/or more than one NSAP may be
     associated with a particular transport entity.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    26
   
   

  SECTION TWO.  TRANSPORT PROTOCOL SPECIFICATION
   
   
   
   
     6  ELEMENTS OF PROCEDURE
   
     This clause contains elements of procedure which are used in  the
specification of protocol classes in clauses 7 to 12. These
     elements are not meaningful on their own.
   
     The procedures define the transfer of TPDUs whose  structure  and
coding is specified in clause 13. Transport entities shall accept and respond to any TPDU received in a valid NSDU and may issue TPDUs initiating specific elements of procedure specified
     in this clause.
   
     NOTE - Where network service primitives and TPDUs and  parameters
used are not significant for a particular element of procedure,
     they have not been included in the specification.
   
   
   
   
     6.1  Assignment to network connection
   
     6.1.1  Purpose
   
     The  procedure  is  used  in  all  classes  to  assign  transport
     connections to network connections.
   
   
   
   
     6.1.2  Network service primitives
   
     The  procedure  makes  use  of  the  following  network   service
     primitives:
   
        a)  N-CONNECT;
   
        b)  N-DISCONNECT.
   
   
   
   
                                    27
   
   

  6.1.3  Procedure
   
     Each  transport  connection  shall  be  assigned  to  a   network
connection. The initiator may assign the transport connection to an existing network connection of which it is the owner or to a new network connection (see Note 1) which it creates for this
     purpose.
   
     The  initiator  shall  not  assign  or  reassign  the   transport
connection to an existing network connection if the protocol class(es) proposed or the class in use for the transport connection are incompatible with the current usage of the network
     connection with respect to multiplexing (see Note 2).
   
     During the resynchronization (see 6.14)  and  reassignment  after
failure (see 6.12) procedures, a transport entity may reassign a transport connection to another network connection joining the same NSAPs, provided that it is the owner of the network connection and that the transport connection is assigned to only
     one network connection at any given time.
   
     During the splitting procedure (see 6.23), a transport entity may
assign a transport connection to any additional network connection joining the same NSAPs, provided that it is the owner of the network connection and that multiplexing is possible on
     the network connection.
   
     The responder becomes aware of the assignment when it receives
   
        a)  a CR TPDU during the  connection  establishment  procedure
            (see 6.5); or
   
        b)  an RJ TPDU or a retransmitted CR or  DR  TPDU  during  the
resynchronization (see 6.14) and reassignment after
            failure (see 6.12) procedures; or
   
        c)  any TPDU when splitting (see 6.23) is used.
   
   
   
   
   
   
   
   
   
                                    28
   
   

  NOTES
   
        1.  When a new network connection is created, the  quality  of
service requested is a local matter, although it will normally be related to the requirements of transport
            connection(s) expected to be assigned to it.
   
        2.  An existing network connection may also  not  be  suitable
if, for example, the quality of service requested for the transport connection cannot be attained by using or
            enhancing the network connection.
   
        3.  A  network  connection  with  no  transport  connection(s)
assigned to it, may be available after initial establishment, or because all of the transport connections previously assigned to it have been released. It is recommended that only the owner of such a network connection should release it. Furthermore, it is recommended that it not be released immediately after the transmission of the final TPDU of a transport connection - either a DR TPDU in response to CR TPDU or a DC TPDU in response to DR TPDU. An appropriate delay will allow the TPDU concerned to reach the other transport entity allowing the freeing of any resources associated with the
            transport connection concerned.
   
        4.  After the  failure  of  a  network  connection,  transport
connections which were previously multiplexed together may be assigned to different network connections, and vice
            versa.
   
   
   
   
     6.2  Transport protocol data unit (TPDU) transfer
   
     6.2.1  Purpose
   
     The TPDU transfer procedure is used  in  all  classes  to  convey
transport protocol data units in user data fields of network
     service primitives.
   
   
   
   
   
                                    29
   
   

  6.2.2  Network Service Primitives
   
     The procedure uses the following network service primitives:
   
        a)  N-DATA;
   
        b)  N-EXPEDITED DATA
   
   
   
   
     6.2.3  Procedure
   
     The  transport  protocol  data  units  (TPDUs)  defined  for  the
     protocol are listed in 4.2.
   
     When the network expedited variant has been selected for class 1,
the transport entities shall transmit and receive ED and EA TPDUs
     as NS-user data parameters of N-EXPEDITED DATA primitives.
   
     In all other cases, transport entities shall transmit and receive
     TPDUs as NS-user data parameters of N-DATA primitives.
   
     When  a  TPDU  is  put  into  an  NS-user  data  parameter,   the
significance of the bits within an octet and the order of octets
     within a TPDU shall be as defined in 13.2.
   
     NOTE - TPDUs may be concatenated (see 6.4).
   
   
   
   
     6.3  Segmenting and reassembling
   
     6.3.1  Purpose
   
     The segmenting and reassembling procedure is used in all  classes
     to map TSDUs onto TPDUs.
   
   
   
   
   
   
   
   
                                    30
   
   

  6.3.2  TPDUs and parameter used
   
     The procedure makes use of the following TPDU and parameter:
   
        DT TPDUs;
   
           - End of TSDU.
   
   
   
   
     6.3.3  Procedure
   
     A transport entity shall map a TSDU on to an ordered sequence  of
one or more DT TPDUs. This sequence shall not be interrupted by
     other DT TPDUs on the same transport connection.
   
     All DT TPDUs except the last DT TPDU in a sequence  greater  than
     one shall have a length of data greater than zero.
   
     NOTES
   
        1.  The EOT parameter of a DT TPDU indicates  whether  or  not
            there are subsequent DT TPDUs in the sequence.
   
        2.  There is no requirement that the DT TPDUs shall be of  the
            maximum length selected during connection establishment.
   
   
   
   
     6.4  Concatenation and separation
   
     6.4.1  Purpose
   
     The procedure for concatenation and separation is used in classes
     1, 2, 3 and 4 to convey multiple TPDUs in one NSDU.
   
   
   
   
   
   
   
   
   
                                    31
   
   

  6.4.2  Procedure
   
     A transport  entity  may  concatenate  TPDUs  from  the  same  or
     different transport connections.
   
     The set of concatenated TPDUs may contain:
   
        a)  any number of TPDUs from the following list:  AK, EA,  RJ,
ER, DC TPDUs, provided that these TPDUs come from
            different transport connections;
   
        b)  no more than one TPDU from the following  list:   CR,  DR,
CC, DT, ED TPDUs; if this TPDU is present, it shall be
            placed last in the set of concatenated TPDUs.
   
     NOTES
   
        1.  The TPDUs within a concatenated set may  be  distinguished
            by means of the length indicator parameter.
   
        2.  The end of a TPDU containing  data  is  indicated  by  the
            termination of the NSDU.
   
        3.  The number of concatenated TPDUs referred to in 6.4.2.a is
bounded by the maximum number of transport connections which are multiplexed together except during assignment or
            reassignment.
   
   
   
   
     6.5  Connection establishment
   
     6.5.1  Purpose
   
     The procedure for connection establishment is used in all classes
     to create a new transport connection.
   
   
   
   
   
   
   
   
   
                                    32
   
   

  6.5.2  Network service primitives
   
     The procedure uses the following network service primitive:
   
     N-DATA
   
   
   
   
     6.5.3  TPDUs and parameters used
   
     The procedure uses the following TPDUs and parameters:
   
        a)  CR TPDU;
   
            - CDT;
- DST-REF (set to zero); - SRC-REF - CLASS and OPTIONS (i.e. preferred class, use of extended
format, non-use of explicit flow control in class 2);
- calling TSAP-ID; - called TSAP-ID; - TPDU size (proposed); - version number; - security parameter; - checksum; - additional option selection (i.e. use of network expedited in class 1, use of receipt confirmation in class 1, non-use of checksum in class 4, use of transport expedited data transfer service); - alternative protocol class(es); - acknowledge time; - throughput (proposed); - residual error rate (proposed); - priority (proposed); - transit delay (proposed); - reassignment time;
            - user data.
   
        b)  CC TPDU;
   
            - CDT;
            - DST-REF;
   
   
   
                                    33
   
   

         - SRC-REF;
- CLASS and OPTIONS (selected); - calling TSAP-ID; - called TSAP-ID; - TPDU size (selected); - security parameter; - checksum; - additional option selection (selected); - acknowledge time; - throughput (selected); - residual error rate (selected); - priority (selected); - transit delay (selected);
            - user data.
   
          NOTE - The  transport  service  defines  transit  delay   as
requiring a previously stated average TSDU size as a basis for any specification. This protocol, as specified in 13.3.4(n), uses a value of 128 octets. Conversion to and from specifications based upon some other value is a local
          matter.
   
   
   
   
     6.5.4  Procedure
   
     A transport connection is established by means of  one  transport
entity (the initiator) transmitting a CR TPDU to the other
     transport entity (the responder), which replies with a CC TPDU.
   
     Before sending the CR TPDU, the initiator assigns  the  transport
connection being created to one (or more if the splitting procedure is being use) 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 shall be exchanged or negotiated.
   
          NOTE - Except  in  class  4,  it  is  recommended  that  the
initiator starts an optional timer TS1 at the time the CR TPDU is sent. This timer should be stopped when the connection is considered as accepted or refused or
          unsuccessful.  If the timer expires,  the  initiator  should
   
   
   
                                    34
   
   

       reset or disconnect the network connection and, in classes 1
and 3 freeze the reference (see 6.18). For all other transport connection(s) multiplexed on the same network connection the procedures for reset or disconnect as
          appropriate should be followed.
   
     After receiving the CC  TPDU  for  a  class  which  includes  the
procedure for retention until acknowledgement of TPDUs the initiator shall acknowledge the CC TPDU as defined in table 5
     (see 6.13).
   
     When the network expedited variant of the expedited data transfer
(see 6.11) has been agreed (possible in class 1 only), the responder shall not send an ED TPDU before the CC TPDU is
     acknowledged.
   
     The following information is exchanged:
   
        a)  references.  Each transport  entity  chooses  a  reference
which is to be used by the peer entity is 16 bits long and
            which is arbitrary except for the following restrictions:
   
            1)  it shall not already be in use or frozen (see 6.18),
   
            2)  it shall not be zero.
   
            This mechanism is symmetrical and 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
            matter.
   
        b)  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.
   
        c)  initial credit.  Only relevant for classes  which  include
            the explicit flow control function.
   
        d)  user data.  Not available if  Class  0  is  the  preferred
            class (see note).  Up to 32 octets in other classes.
   
   
   
   
                                    35
   
   

         NOTE - If class 0 is a valid response according  to  table
3, inclusion of user data in the CR TPDU may cause the responding entity to refuse the connection (e.g. if it
            only supports class 0).
   
        e)  acknowledgement time.  Only in class 4.
   
        f)  checksum parameter.  Only in class 4.
   
        g)  security parameter.  This parameter and its semantics  are
            user defined.
   
     The following negotiations take place:
   
        h)  protocol class.  The initiator shall propose  a  preferred
class and may propose any number of alternative class which permit a valid response as defined in table 3. The initiator should assume when it sends the CR TPDU that its preferred class will be agreed to, and commence the procedures associated with that class, except that if class 0 or class 1 is an alternative class, multiplexing shall not commence until a CC TPDU selecting the use of
            classes 2, 3 or 4 has been received.
   
            NOTE - This means, for example, that  when  the  preferred
class includes resynchronization (see 6.14) the resynchronization will occur if a reset is signalled
            during connection establishment.
   
     The responder shall select one class defined  in  table  3  as  a
valid response corresponding to the preferred class and to the class(es), if any, contained in the alternative class parameter of the CR TPDU. It shall indicate the selected class in the CC
     TPDU and shall follow the procedures for the selected class.
   
     If the preferred class is not selected, then on receipt of the CC
TPDU the initiator shall adjust its operation according the
     procedures of the selected class.
   
   
   
   
   
   
   
   
                                    36
   
   

  +------------------------------------------------------------+
     | Pre-  |                Alternative class                   |
     |ferred |----------------------------------------------------|
     |class  |   0    |   1    |   2    |   3    |   4    | none  |
     |-------|--------|--------|--------|--------|--------|-------|
     |   0   |not     |not     |not     |not     |not     |class  |
     |       |valid   |valid   |valid   |valid   |valid   |  0    |
     |-------|--------|--------|--------|--------|--------|-------|
     |   1   |class   |class   |not     |not     |not     |class  |
     |       |1 or 0  |1 or 0  |valid   |valid   |valid   |1 or 0 |
     |-------|--------|--------|--------|--------|--------|-------|
     |   2   |class   |not     |class   |not     |not     |class  |
     |       |2 or 0  |valid   |2       |valid   |valid   |  2    |
     |-------|--------|--------|--------|--------|--------|-------|
     |   3   |class   |class 3,|class   |class   |not     |class  |
     |       |3,2 or 0|2,1 or 0|3 or 2  |3 or 2  |valid   |3 or 2 |
     |-------|--------|--------|--------|--------|--------|-------|
     |   4   |class   |class 4,|class   |class   |class   |class  |
     |       |4,2 or 0|2,1 or 0|4 or 2  |4,3 or 2|4 or 2  |4 or 2 |
     +------------------------------------------------------------+
                                 Table 3.
   
   
   
   
     Valid responses corresponding to  the  preferred  class  and  any
     alternative class proposed in the CR TPDU
   
   
     NOTES:
   
        1.  The valid responses indicated in table 3 result from  both
explicit negotiation, whereby each of the classes proposed
            is a valid response, and implicit negotiation whereby:
   
            a)  if class 3 or 4 is proposed then class 2  is  a  valid
response;
b) if class 1 is proposed then class 0 is a valid
                response.
   
   
   
                                    37
   
   

     2.  Negotiation from class 2 to class 1 and from any class  to
            an higher-numbered class is not valid.
   
        3.  Redundant combinations are not a protocol error.
   
        j)  TPDU size.  The initiator may propose a maximum  size  for
TPDUs, and the responder may accept this value or respond with any value between 128 and the proposed value in the
            set of values available (see 13.3.4.b).
   
            NOTE - The length of the  CR  TPDU  does  not  exceed  128
            octets (see 13.3).
   
        k)  normal or extended format.  Either normal or  extended  is
available. When extended is used this applies to CDT,
            TPDU-NR, ED-TPDU-NR, YR-TU-NR and YR-EDTU-NR parameters.
   
        m)  checksum selection.  This defines whether or not TPDUs  of
            the connection are to include a checksum.
   
        n)  quality  of  service   parameters.    This   defines   the
throughput, transit delay, priority and residual error
            rate.
   
        p)  the non-use of explicit flow control in class 2.
   
        q)  the  use  of  network  receipt  confirmation  and  network
            expedited when class 1 is to be used.
   
        r)  use of expedited data transfer service.  This allows  both
TS-users to negotiate the use or non-use of the expedited data transport service as defined in the transport service
            (ISO 8072).
   
     The following information is sent only in the CR TPDU:
   
        s)  version number.  This defines the version of the transport
            protocol standard used for this connection.
   
        t)  reassignment time parameter.  This indicates the time  for
which the initiator will persist in following the
            reassignment after failure procedure.
   
   
   
   
                                    38
   
   

  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 an
     alternative choice as defined in table 4.
   
     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 shall also request or agree (respectively)
     to the use of explicit flow control.
   
   
   
   
   
     +-------------------------------------------------------------+
     |        Option         |  Proposal Made   | Valid Selection  |
     |                       | by the Initiator | by the Responder |
     |-----------------------|------------------|------------------|
     |Transport expedited    |       Yes        |    Yes or No     |
     |data transfer service  |       No         |        No        |
     |(Classes 1,2,3,4 only) |                  |                  |
     |-----------------------|------------------|------------------|
     |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           |       No         |        No        |
     |(Class 2 only)         |                  |                  |
     |-----------------------|------------------|------------------|
     |Use of extended format |       Yes        |    Yes or No     |
     |(Classes 2,3,4 only)   |       No         |        No        |
     +-------------------------------------------------------------+
   
      Table 4. Negotiation of options during connection establishment
   
   
   
   
   
                                    39
   
   

  NOTE - Table 4 defines the procedures for negotiation of options.
This negotiation has been designed such that if the initiator proposes the mandatory implementation option specified in clause 14, the responder has to accept use of this option over the transport connection except for the use of the transport expedited data transfer service which may be rejected by the TS- user. If the initiator proposes a non-mandatory implementation option, the responder is entitled to select use of the mandatory
     implementation option for use over the transport connection.
   
   
   
   
     6.6  Connection refusal
   
     6.6.1  Purpose
   
     The connection refusal procedure is used in all  classes  when  a
transport entity refuses a transport connection in response to a
     CR TPDU.
   
   
   
   
     6.6.2  TPDUs and parameters used
   
     The procedure makes use of the following TPDUs and parameters:
   
        a)  DR TPDU;
   
            - SRC-REF;
- reason;
            - user data.
   
        b)  ER TPDU;
   
            - reject code;
            - rejected TPDU parameter.
   
   
   
   
   
   
   
   
                                    40
   
   

  6.6.3  Procedure
   
     If a transport connection cannot be accepted, the responder shall
respond to the CR TPDU with a DR TPDU. The reason shall indicate why the connection was not accepted. The source reference field in the DR TPDU shall be set to zero to indicate an unassigned
     reference.
   
     If  a  DR  TPDU  is  received  the  initiator  shall  regard  the
     connection as released.
   
     The responder shall respond to an invalid CR TPDU by  sending  an
ER or DR TPDU. If an ER TPDU is received in response to a CR
     TPDU, the initiator shall regard the connection as released.
   
     NOTES
   
     1.  When the invalid CR TPDU can be identified as having class  0
as the preferred class, it is recommended to respond with an ER TPDU. For all other invalid CR TPDUs either an ER TPDU or
         DR TPDU may be sent.
   
     2.  If the optimal supervisory timer TS1 has been  set  for  this
connection then the entity should stop the timer on receipt
         of the DR or ER TPDU.
   
   
   
   
     6.7  Normal release
   
     6.7.1  Purpose
   
     The release procedure is used by a transport entity in  order  to
terminate a transport connection. The implicit variant is used only in class 0. The explicit variant is used in classes 1,2,3
     and 4.
   
   
   
   
   
   
   
   
   
                                    41
   
   

  NOTES
   
     1.  When the implicit variant is used  (i.e.  in  class  0),  the
lifetime of the transport connection is directly correlated
         with the lifetime of the network connection.
   
     2.  The use of the explicit  variant  of  the  release  procedure
enables the transport connection to be released independently
         of the underlying network connection.
   
   
   
   
     6.7.2  Network service primitives
   
     The  procedure  makes  use  of  the  following  network   service
     primitives:
   
        a)  N-DISCONNECT (implicit variant only),
   
        b)  N-DATA
   
   
   
   
     6.7.3  TPDUs and parameters used
   
     The procedure makes use of the following TPDUs and parameters:
   
        a)  DR TPDU;
   
            - clearing reason;
- user data; - SRC-REF;
            - DST-REF.
   
        b)  DC TPDU.
   
   
   
   
   
   
   
   
   
                                    42
   
   

  6.7.4  Procedure for implicit variant
   
     In the implicit variant either  transport  entity  disconnects  a
transport connection by disconnecting the network connection to which it is assigned. When a transport entity receives an N- DISCONNECT this should be considered as the release of the
     transport connection.
   
   
   
   
     6.7.5  Procedure for explicit variant
   
     When the release of a transport connection is to be  initiated  a
     transport entity
   
        a)  if it has previously sent or received a CC TPDU (see  note
1), shall send a DR TPDU. It shall ignore all subsequently received TPDUs other than a DR or DC TPDU. On receipt of a DR or DC TPDU it shall consider the
            transport connection released;
   
        b)  in other cases it shall:
   
            1)  For  classes  other  than  class  4   wait   for   the
acknowledgement of the outstanding CR TPDU; if it receives a CC TPDU, it shall follow the procedures in
                6.7.5.a.
   
   
            2)  For class 4 either send a DR TPDU with a zero value in
the DST-REF field or follow the procedure in
                6.7.5.b.1.
   
        A transport entity that receives a DR TPDU shall
   
        c)  if it has previously sent a DR TPDU for the same transport
            connection, consider the transport connection released;
   
        d)  if it has previously sent a CR  TPDU  that  has  not  been
acknowledged by a CC TPDU, consider the connection refused
            (see 6.6).
   
   
   
   
                                    43
   
   

     e)  in other cases, send a DC TPDU and consider the  transport
            connection released.
   
        NOTES
   
        1)  This requirement ensures  that  the  transport  entity  is
aware of the remote reference for the transport
            connection.
   
        2)  When the transport connection is  considered  as  released
the local reference is either available for re-use or is
            frozen (see 6.18).
   
        3)  After the release of a transport  connection  the  network
connection can be released or retained to enable its re- use for the assignment of other transport connections (see
            6.1.).
   
        4)  Except in class 4, it is recommended that, if a  transport
entity does not receive acknowledgement of a DR TPDU within time TS2, it should either reset or disconnect the network connection, and freeze the reference when appropriate (see 6.18). For all other transport connection(s) multiplexed on this network connection the procedures for reset or disconnect as appropriate should
            be followed.
   
        5)  When a transport entity is waiting for a  CC  TPDU  before
sending a DR TPDU and the network connection is reset or released, it should consider the transport connection released and, in classes other than classes 0 and 2,
            freeze the reference (see 6.18).
   
   
   
   
     6.8  Error Release
   
   
   
   
   
   
   
   
   
                                    44
   
   

  6.8.1  Purpose
   
     This procedure is used only in classes  0  and  2  to  release  a
transport connection on the receipt of an N-DISCONNECT or N-RESET
     indication.
   
   
   
   
     6.8.2  Network service primitives
   
     The procedure makes use of the following service primitives:
   
        a)  N-DISCONNECT indication;
   
        b)  N-RESET indication.
   
   
   
   
     6.8.3  Procedure
   
     When, on the network connection to which a  transport  connection
is assigned, an N-DISCONNECT or N-RESET indication is received, both transport entities shall consider that the transport
     connection is released and so inform the TS-users.
   
     NOTE - In other  classes,  since  error  recovery  is  used,  the
receipt of an N-RESET indication or N-DISCONNECT indication will
     result in the invocation of the error recovery procedure.
   
   
   
   
     6.9  Association of TPDUs with transport connections
   
     6.9.1  Purpose
   
     This procedure is used in all classes  to  interpret  a  received
NSDU as TPDU(s) and, if possible, to associate each such TPDU
     with a transport connection.
   
   
   
   
   
                                    45
   
   

  6.9.2  Network service primitives
   
     This  procedure  makes  use  of  the  following  network  service
     primitives:
   
        a)  N-DATA indication;
   
        b)  N-EXPEDITED DATA indication.
   
   
   
   
   
     6.9.3  TPDUs and parameters uses
   
     This procedure makes use of the following TPDUs and parameters:
   
        a)  any TPDU except CR TPDU, DT TPDU in classes 0 or 1 and  AK
            TPDU in class 1;
   
            - DST-REF
   
        b)  CR, CC, DR and DC TPDUs;
   
            - SCR-REF.
   
        c)  DT TPDU in classes 0 or 1 and AK TPDU in class 1.
   
   
   
   
     6.9.4  Procedures
   
     6.9.4.1  Identification of TPDUs
   
     If the received NSDU or Expedited NSDU cannot  be  decoded  (i.e.
does not contain one or more correct TPDUs) or is corrupted (i.e. contains a TPDU with a wrong checksum) then the transport entity
     shall:
   
   
   
   
   
   
   
                                    46
   
   

     a)  if the network connection on which the error  is  detected
has a class 0 or class 1 transport connection assigned to it, then treat as a protocol error (see 6.22) for that
            transport connection;
   
        b)  otherwise
   
            1)  if the NSDU can  be  decoded  but  contains  corrupted
TPDUs, ignore the TPDUs (class 4 only) and optionally
                apply 6.9.4.b.2.
   
            2)  if the NSDU cannot be decoded issue an N-RESET  or  N-
DISCONNECT request for the network connection and for all the transport connections assigned to this network connection (if any), apply the procedures defined for
                handling of network signalled reset or disconnect.
   
            If the NSDU can be  decoded  and  is  not  corrupted,  the
            transport entity shall:
   
        c)  if the network connection on which the NSDU  was  received
has a class 0 transport connection assigned to it, then consider the NSDU as forming TPDU and associate the TPDU
            with the transport connection (see 6.9.4.2).
   
        d)  otherwise, invoke the separation procedures and  for  each
of the individual TPDUs in the order in which they appear
            in the NSDU apply the procedure defined in 6.9.4.2.
   
   
   
   
     6.9.4.2  Association of individual TPDUs
   
     If the received TPDU is a CR TPDU then, if it is a duplicate,  as
recognized by using the NSAPs of the network connection, and the SRC-REF parameter, then it is associated with the transport connection created by the original value of the CR TPDU; otherwise it is processed as requesting the creation of a new
     transport connection.
   
     If the received TPDU is a DT TPDU and the network connection  has
     a class 0 or 1 transport connection assigned to it, or an AK TPDU
   
   
   
                                    47
   
   

  where a class 1 transport connection is assigned, then  the  TPDU
     is associated with the transport connection.
   
     Otherwise, the DST-REF parameter of the TPDU is used to  identify
     the transport connection.  The following cases are distinguished:
   
        a)  if the DST-REF is not allocated to a transport connection,
the transport entity shall respond on the same network connection with a DR TPDU if the TPDU is a CC TPDU, with a DC TPDU if the TPDU is a DR TPDU and shall ignore the TPDU if neither a DR TPDU nor CC TPDU. No association with a
            transport connection is made.
   
        b)  if the DST-REF is allocated to a connection, but the  TPDU
is received on a network connection to which the connection has not been assigned then there are three
            cases:
   
            1)  if the transport connection is of class 4 and  if  the
TPDU is received on a network connection with the same pair of NSAPs as that of the CR TPDU then the TPDU is
                considered as performing assignment,
   
            2)  if the transport connection is  not  assigned  to  any
network connection (waiting for reassignment after failure) and if the TPDU is received on a network connection with the same pair of NSAPs as that of the CR TPDU then the association with that transport
                connection is made.
   
            3)  Otherwise, the TPDU is considered as having a  DST-REF
                not allocated to a transport connection (case a).
   
        c)  If the TPDU is a DC TPDU then it is  associated  with  the
transport connection to which the DST-REF is allocated, unless the SRC-REF is not the expected one, in which case
            the DC TPDU is ignored.
   
        d)  If the TPDU is a DR TPDU then there are three cases:
   
            1)  if the SRC-REF is not as expected then a DC TPDU  with
DST-REF equal to the SRC-REF of the received DR TPDU
                is sent back and no association is made;
   
   
   
                                    48
   
   

         2)  if a CR TPDU is unacknowledged then  the  DR  TPDU  is
associated with the transport connection, regardless
                of the value of its SRC-REF parameter;
   
            3)  otherwise,  the  DR  TPDU  is  associated   with   the
transport connection identified by the DST-REF
                parameter.
   
        e)  if  the  TPDU  is  a  CC  TPDU  whose  DST-REF   parameter
identifies an open connection (one for which a CC TPDU has been previously received), and the SRC-REF in the CC TPDU does not match the remote reference, then a DR TPDU is sent back with DST-REF equal to the SRC-REF of the
            received CC TPDU and no association is made.
   
        f)  if none  of  the  above  cases  apply  then  the  TPDU  is
associated with the transport connection identified by the
            DST-REF parameter.
   
   
   
   
     6.10  Data TPDU numbering
   
     6.10.1  Purpose
   
     Data TPDU numbering is used in classes  1,  2  (except  when  the
non-use of explicit flow control option is selected), 3 and 4. Its purpose is to enable the use of recovery, flow control and
     re-sequencing functions.
   
   
   
   
     6.10.2  TPDUs and parameters used
   
     The procedure makes use of the following TPDU and parameter:
   
        DT TPDU;
   
        - TPDU-NR.
   
   
   
   
   
                                    49
   
   

  6.10.3  Procedure
   
     A Transport entity shall allocate the sequence number zero to the
TPDU-NR of the first DT TPDU which it transmits for a transport connection. For subsequent DT TPDUs sent on the same transport connection, the transport entity shall allocate a sequence number
     one greater than the previous one.
   
     When a DT TPDU is retransmitted, the TPDU-NR parameter shall have
     the same value as in the first transmission of that DT TPDU.
   
     Modulo 2**7 arithmetic shall be used  when  normal  formats  have
been selected and modulo 2**31 arithmetic shall be used when extended formats have been selected. In this International Standard the relationships 'greater than' and 'less than' apply to a set of contiguous TPDU numbers whose range is less than the modulus and whose starting and finishing numbers are known. 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
   
     6.11.1  Purpose
   
     Expedited data transfer procedures are selected during connection
establishment. The network normal data variant may be used in classes 1, 2, 3 and 4. The network expedited variant is only
     used in class 1.
   
   
   
   
     6.11.2  Network service primitives
   
     The  procedure  makes  use  of  the  following  network   service
     primitives:
   
        a)  N-DATA;
   
   
   
   
                                    50
   
   

     b)  N-EXPEDITED DATA.
   
   
   
   
     6.11.3  TPDUs and parameter used
   
     The procedure makes use of the following TPDUs and parameters:
   
        a)  ED TPDU;
   
            - ED TPDU-NR.
   
        b)  EA TPDU;
   
            - YR-EDTU-NR.
   
   
   
   
     6.11.4  Procedures
   
     The TS-user data parameter of each T-EXPEDITED DATA request shall
     be conveyed as the data field of an Expedited Data (ED) TPDU.
   
     Each ED TPDU received  shall  be  acknowledged  by  an  Expedited
     Acknowledge (EA) TPDU.
   
     No more than one ED TPDU shall remain unacknowledged at any  time
     for each direction of a transport connection.
   
     An ED TPDU with a zero length data field is a protocol error.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    51
   
   

  NOTES
   
        1.  The network normal data variant is used, except  when  the
network expedited variant (available in Class 1 only), has been agreed, in which case ED and EA TPDUs are conveyed in the data fields of N-EXPEDITED DATA primitives (see
            6.2.3).
   
        2.  No TPDUs can be transmitted using network expedited  until
the CC TPDU becomes acknowledged, to prevent the network
            expedited from overtaking the CC TPDU.
   
   
   
   
     6.12  Reassignment after failure
   
     6.12.1  Purpose
   
     The reassignment after failure procedure is used in Classes 1 and
     3 to commence recovery from an NS-provider signalled disconnect.
   
   
   
   
     6.12.2  Network service primitives
   
     The procedure uses the following network service primitive:
   
          N-DISCONNECT indication
   
   
   
   
     6.12.3  Procedure
   
     When an N-DISCONNECT indication  is  received  from  the  network
connection to which a transport connection is assigned, the
     initiator shall apply one of the following alternatives:
   
        a)  if the TTR timer has not already run out and no DR TPDU is
            retained then:
   
   
   
   
                                    52
   
   

         1)  assign the transport connection to a different network
connection (see 6.1) and start its TTR timer if not
                already started.
   
            2)  while waiting for the completion of assignment if:
   
                - an N-DISCONNECT indication is received,  repeat  the
                  procedure from 6.12.3.a,
   
                - the TTR timer expires, begin procedure 6.12.3.b.
   
            3)  when     reassignment     is     completed,      begin
                resynchronization (see 6.14) and:
   
                - if a valid TPDU is received as  the  result  of  the
                  resynchronization, stop the TTR timer, or
   
                - if TTR runs out, wait for the next event, or
   
                - if an  N-DISCONNECT  indication  is  received,  then
begin either procedure 6.12.3.a or 6.12.3.b
                  depending on the TTR timer.
   
            NOTE - After the TTR timer expires and while  waiting  for
the next event, it is recommended that the initiator starts the TWR timer. If the TWR timer expires before the next event the initiator should begin the procedure in
            6.12.3.b.
   
        b)  if the TTR timer  has  run  out,  consider  the  transport
connection as released and freeze the reference (see
            6.18).
   
        c)   if a DR TPDU is retained and the TTR timer  has  not  run
out, then follow the actions in either 6.12.3.a or
            6.12.3.b.
   
     The responder shall start its TWR timer if not  already  started.
The arrival of the first TPDU related to the transport connection (because of resynchronization by the initiator) completes the reassignment after failure procedure. The TWR timer is stopped and the responder shall continue with resynchronization (see
     6.14).  If reassignment does not take place within this time, the
   
   
   
                                    53
   
   

  transport connection is considered released and the reference  is
     frozen (see 6.18).
   
   
   
   
     6.12.4  Timers
   
     The reassignment after failure procedure uses two timers:
   
        a)  TTR, the time to try reassignment/resynchronization timer;
   
        b)  TWR, the time to wait  for  reassignment/resynchronization
            timer.
   
     The TTR timer is used by the  initiator.   Its  value  shall  not
exceed two minutes minus the sum of the maximum disconnect propagation delay and the transit delay of the network connections (see note 1). The value for the TTR timer may be
     indicated in the CR TPDU.
   
     The TWR timer is used by the responder.  If the reassignment time
parameter is present in the CR TPDU, the TWR timer value shall be greater than the sum of the TTR timer plus the maximum disconnect propagation delay plus the transit delay of the network
     connections.
   
     If the reassignment time parameter is not present in the CR TPDU,
     a default value of 2 minutes shall be used for the TWR timer.
   
     NOTES
   
     1.  Provided that the required quality of service is met, TTR may
be set to zero (i.e. no assignment). This may be done, for example, if the rate of NS-provider generated disconnects is
         very low.
   
     2.  Inclusion of the reassignment time parameter in the  CR  TPDU
allows the responder to use a TWR value of less than 2
         minutes.
   
     3.  If  the  optional  TS1  and  TS2  timers  are  used,  it   is
         recommended:
   
   
   
                                    54
   
   

         a)  to stop TS1 or TS2 if  running  when  TTR  or  TWR  is
                started;
   
            b)  to  restart  TS1  or  TS2  if   necessary   when   the
corresponding TPDU (CR TPDU or DR TPDU respectively is
                repeated);
   
            c)  to select for TS1 and TS2 values greater than TTR.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    55
   
   

  6.13  Retention until acknowledgement of TPDUs
   
     6.13.1  Purpose
   
     The retention until acknowledgement of TPDUs procedure is used in
classes 1, 3 and 4 to enable and minimize retransmission after
     possible loss of TPDUs.
   
     The confirmation of receipt variant is used only in Class 1  when
     it has been agreed during connection establishment (see note).
   
     The AK variant is used in classes 3 and 4 and  also  in  Class  1
when the confirmation of receipt variant has not been agreed
     during connection establishment.
   
     NOTE - Use of confirmation of  receipt  variant  depends  on  the
availability of the network layer receipt confirmation service
     and the expected cost reduction.
   
   
   
   
     6.13.2  Network service primitives
   
     The procedure uses the following network service primitives:
   
        a)  N-DATA;
   
        b)  N-DATA ACKNOWLEDGE.
   
   
   
   
     6.13.3  TPDUs and parameters used
   
     The procedure uses the following TPDUs and parameters:
   
        a)  CR, CC, DR and DC TPDUs;
   
        b)  RJ and AK TPDUs;
   
            - YR-TU-NR.
   
   
   
   
                                    56
   
   

     c)  DT TPDU;
   
            - TPDU-NR.
   
        d)  ED TPDU;
   
            - ED-TPDU-NR.
   
        e)  EA TPDU;
   
            - YR-EDTU-NR.
   
   
   
   
     6.13.4  Procedures
   
     Copies of the following TPDUs shall be retained upon transmission
     to permit their later retransmission:
   
        CR, CC, DR, DT and ED TPDUs
   
     except that if a DR is sent in response to a CR TPDU there is  no
     need to retain a copy of the DR TPDU.
   
     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
     an N-DATA ACKNOWLEDGE request (see notes 1 and 2).
   
     After each TPDU is acknowledged, as shown in table  5,  the  copy
need not be retained. Copies may also be discarded when the
     transport connection is released.
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    57
   
   

  NOTES
   
        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.
   
        2.  Use of the confirmation request parameter may  affect  the
            quality of network service.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    58
   
   

  +-------------------------------------------------------------+
     |RETAINED|              |                                     |
     |  TPDU  |   VARIANT    |    RETAINED UNTIL ACKNOWLEDGED BY   |
     |--------|--------------|-------------------------------------|
     |   CR   | both         |CC, DR or ER TPDU.                   |
     |        |              |                                     |
     |   DR   | both         |DC or DR (in case of collision) TPDU.|
     |        |              |                                     |
     |   CC   | confirmation |N-DATA Acknowledge indication, RJ,   |
     |        | of receipt   |DT, EA or ED TPDU.                   |
     |        | variant      |                                     |
     |        |              |                                     |
     |   CC   | AK variant   |RJ, DT, AK, ED or EA TPDU.           |
     |        |              |                                     |
     |   DT   | confirmation |N-DATA ACKNOWLEDGE indication cor-   |
     |        | of receipt   |responding to an N-DATA request which|
     |        | variant      |conveyed, or came after, the DT TPDU.|
     |        |              |                                     |
     |   DT   | AK variant   |AK or RJ TPDU for which the YR-TU-NR |
     |        |              |is greater than TPDU-NR in the DT    |
     |        |              |TPDU.                                |
     |        |              |                                     |
     |   ED   | both         |EA TPDU for which the YR-EDTU-NR is  |
     |        |              |equal to the ED-TPDU-NR in the       |
     |        |              |ED TPDU.                             |
     +-------------------------------------------------------------+
   
                     Table 5. Acknowledgement of TPDUs
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    59
   
   

  6.14  Resynchronization
   
     6.14.1  Purpose
   
     The resynchronization procedures are used in Classes 1 and  3  to
restore the transport connection to normal after a reset or
     during reassignment after failure according to 6.12.
   
   
   
   
     6.14.2  Network service primitives
   
     The  procedure  makes  use  of  the  following  network   service
     primitive:
   
          N-RESET indication.
   
   
   
   
     6.14.3  TPDUs and parameters used
   
     The procedure uses the following TPDUs and parameters:
   
        a)  CR, DR, CC and DC TPDUs
   
        b)  RJ TPDUs;
   
            - YR-TU-NR.
   
        c)  DT TPDU;
   
            - TPDU-NR
   
        d)  ED TPDU;
   
            - ED TPDU-NR.
   
        e)  EA TPDU;
   
            - YR-EDTU-NR.
   
   
   
   
                                    60
   
   

  6.14.4  Procedure
   
     A transport entity which is notified of the occurence  of  an  N-
RESET or which is performing 'reassignment after failure' according to 6.12 shall carry out the active resynchronization
     procedure (see 6.14.4.1) unless any of the following hold:
   
        a)  the transport entity is the responder (see note).  In this
case the passive resynchronization procedure is carried
            out (see 6.14.4.2).
   
        b)  the transport entity has  elected  not  to  reassign  (see
            6.12.3.c).  In this case no resynchronization takes place.
   
   
   
   
     6.14.4.1  Active resynchronization procedures
   
     The Transport  entity  shall  carry  out  one  of  the  following
     actions:
   
        a)  if the TTR timer has been previously started and  has  run
out (i.e. no valid TPDU has been received), the transport connection is considered as released and the reference is
            frozen (see 6.18).
   
        b)  otherwise, the TTR timer shall be started  (unless  it  is
already running) and the first applicable of the following
            actions shall be taken:
   
            1)  if a CR TPDU is  unacknowledged,  then  the  transport
                entity shall retransmit it;
   
            2)  if a DR TPDU is  unacknowledged,  then  the  transport
                entity shall retransmit it;
   
            3)  otherwise, the transport entity shall  carry  out  the
                data resynchronization procedures (6.14.4.3).
   
            The TTR timer is stopped when a valid TPDU is received.
   
   
   
   
   
                                    61
   
   

  6.14.4.2  Passive resynchronization procedures
   
     The transport entity shall not send any TPDUs until  a  TPDU  has
been received. The transport entity shall start its TWR timer if it was not already started (due to a previous N-DISCONNECT or N- RESET indication). If the timer runs out prior to the receipt of a valid TPDU which commence resynchronization (i.e. CR or DR or RJ TPDU) the transport connection is considered as released and
     the reference is released (see 6.18).
   
     When a valid TPDU is received the transport entity shall stop its
TWR timer and carry out the appropriate one of the following
     actions, depending on the TPDU:
   
        a)  if it is a DR TPDU, then the transport entity shall send a
            DC TPDU;
   
        b)  if it is  a  repeated  CR  TPDU  (see  note  1)  then  the
transport entity shall carry out the appropriate action
            from the following:
   
            1)  if a CC TPDU has already been sent, and  acknowledged:
                treat as a protocol error;
   
            2)  if a DR TPDU is unacknowledged (whether or  not  a  CC
TPDU is unacknowledged): retransmit the DR TPDU, but
                setting the source reference to zero;
   
            3)  if the T-CONNECT response has not  yet  been  received
                from the user:  take no action;
   
            4)  otherwise; retransmit  the  CC  TPDU  followed  by  an
                unacknowledged ED TPDU (see note 2) and any DT TPDU;
   
         NOTES
   
            1.  A repeated CR TPDU can be identified  by  being  on  a
network connection with the appropriate network
                addresses and having a correct source reference.
   
   
   
   
   
   
   
                                    62
   
   

         2.  The transport entity should not use network  expedited
until the CC TPDU is acknowledged (see 6.5). This rule prevents the network expedited from overtaking
                the CC TPDU.
   
        c)  if it is an RJ or  ED  TPDU  then  one  of  the  following
            actions shall be taken:
   
            1)  if a DR TPDU is  unacknowledged,  then  the  transport
                entity shall retransmit it;
   
            2)  otherwise, the transport entity shall  carry  out  the
                data resynchronization procedures (6.14.4.3).
   
            3)  If a CC TPDU was unacknowledge,  the  RJ  or  ED  TPDU
should then be considered as acknowledging the CC TPDU. If a CC TPDU was never sent, the RJ TPDU should
                then be considered as a protocol error.
   
   
   
   
     6.14.4.3  Data Resynchronization Procedures
   
     The transport entity shall carry out the following actions in the
     following order:
   
        a)  (re)transmit any ED TPDU which is unacknowledged,
   
        b)  transmit an RJ TPDU with YR-TU-NR field set to the TPDU-NR
            of the next expected DT TPDU;
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    63
   
   

     c)  wait for the next TPDU from the  other  transport  entity,
unless an RJ or DR TPDU has already been received; if a DR TPDU is received the transport entity shall send a DC, freeze the reference, inform the TS-user of the disconnection and take no further action (i.e. it shall not follow the procedures in 6.14.4.3.d). If an RJ TPDU is received, the procedure of 6.14.4.3.d shall be followed. If an ED TPDU is received the procedures as described in 6.11 shall be followed. If it is a duplicated ED-TPDU the transport entity shall acknowledge it, with an EA TPDU, discard the duplicated ED TPDU and
            wait again for the next TPDU.
   
        d)  (re)transmit  any  DT  TPDUs  which  are   unacknowledged,
subject to any applicable flow control procedures (see
            note);
   
            NOTE - The RJ TPDU may have reduced the credit.
   
   
   
   
     6.15  Multiplexing and demultiplexing
   
     6.15.1  Purpose
   
     The  multiplexing  and  demultiplexing  procedures  are  used  in
Classes 2, 3 and 4 to allow several transport connections to
     share a network connection at the same time.
   
   
   
   
     6.15.2  TPDUs and parameters used
   
     The procedure makes use of the following TPDUs and parameters:
   
        CC, DR, DC, DT, AK, ED, EA, RJ and ER TPDUs
   
        - DST-REF
   
   
   
   
   
   
                                    64
   
   

  6.15.3  Procedure
   
     The transport entities shall be able to send and receive  on  the
same network connection TPDUs belonging to different transport
     connections.
   
     NOTES
   
        1.  When performing demultiplexing the transport connection to
which the TPDUs apply is determined by the procedures
            defined in 6.9.
   
        2.  Multiplexing allows the concatenation of  TPDUs  belonging
to different transport connections to be transferred in
            the same N-DATA primitive (see 6.4).
   
   
   
   
     6.16  Explicit Flow Control
   
     6.16.1  Purpose
   
     The explicit flow control procedure is used in Classes 2, 3 and 4
to regulate the flow of DT TPDUs independently of the flow
     control in the other layers.
   
   
   
   
     6.16.2  TPDUs and parameters used
   
     The procedure makes use of the following TPDUs and parameters:
   
        a)  CR, CC, AK and RJ TPDUs
   
            - CDT.
   
        b)  DT TPDU
   
            - TPDU-NR.
   
   
   
   
   
                                    65
   
   

     c)  AK TPDU
   
            - YR-TU-NR;
- subsequence number;
            - flow control confirmation.
   
        d)  RJ TPDU
   
            - YR-TU-NR.
   
   
   
   
     6.16.3  Procedure
   
     The procedures differ in different classes.  They are defined  in
     the clauses specifying the separate classes.
   
   
   
   
     6.17  Checksum
   
     6.17.1  Purpose
   
     The checksum procedure is used to detect corruption of  TPDUs  by
     the NS-provider.
   
     NOTE - Although a checksum algorithm has to  be  adapted  to  the
type of errors expected on the network connection, at present
     only one algorithm is defined.
   
   
   
   
     6.17.2  TPDUs and parameters used
   
     The procedure uses the following TPDUs and parameters:
   
        All TPDUs
         - checksum
   
   
   
   
   
                                    66
   
   

  6.17.3  Procedure
   
     The checksum is used only in Class 4.  It is always used for  the
CR TPDU, and is used for all other TPDUs except if the non-use of
     the procedure was agreed during connection establishment.
   
     The sending  transport  entity  shall  transmit  TPDUs  with  the
checksum parameter set such that the following formulas are
     satisfied:
   
        SUM(from i=1 to i=L) OF a[i] EQUALS <zero> (module 255)
   
        SUM(from i=1 to i=L) OF i*a[i] EQUALS <zero> (module 255)
   
     where
   
        i    = number (i.e. position) of an octet within the TPDU
(see 13.2);
a[i] = value of octet in position 1;
        L    = length of TPDU in octets.
   
     A  transport  entity  which  receives  a  TPDU  for  a  transport
connection for which the use of checksum has been agreed and which does not satisfy the above formulas shall discard the TPDU
     (see also note 2).
   
     NOTES
   
        1.  An  efficient  algorithm  for  determining  the   checksum
            parameters is given in annex B.
   
        2.  If the checksum is incorrect, it is not possible  to  know
with certainty to which transport connection the TPDU is related; further action may be taken for all the transport
            connections assigned to the network connection (see 6.9).
   
        3.  The checksum proposed is easy to calculate and so will not
impose a heavy burden on implementations. However, it will not detect insertion or loss of leading or trailing
            zeros and will not detect some octets misordering.
   
   
   
   
   
   
                                    67
   
   

  6.18  Frozen references
   
     6.18.1  Purpose
   
     This procedure is used in order to prevent re-use of a  reference
while TPDUs associated with the old use of the reference may
     still exist.
   
   
   
   
     6.18.2  Procedure
   
     When a transport entity determines that a  particular  connection
is released it shall place the reference which it has allocated to the connection in a frozen state according to the procedures
     of the class.  While frozen, the reference shall not be re-used.
   
     NOTE - The  frozen  reference  procedure  is  necessary   because
retransmission or misordering can cause TPDUs bearing a reference to arrive at an entity after it has released the connection for which it allocated the reference. Retransmission, for example, can arise when the class includes either resynchronization (see
     6.14) or retransmission on time out (see 6.19).
   
   
   
   
     6.18.2.1  Procedure for classes 0 and 2
   
     The frozen reference procedure is never used for these classes.
   
     NOTE - However for consistency with the  other  classes  freezing
     the references may be done as a local decision.
   
   
   
   
   
   
   
   
   
   
   
   
                                    68
   
   

  6.18.2.2  Procedure for classes 1 and 3
   
     The frozen reference procedure is used except  in  the  following
     cases (see note 1):
   
        a)  when the transport entity receives a DC TPDU  in  response
            to a DR TPDU which it has sent (see note 2);
   
        b)  when the transport  entity  sends  a  DR  or  ER  TPDU  in
            response to a CR TPDU which it has received (see note 3);
   
        c)  when the transport entity has considered the connection to
be released after the expiration of the TWR timer (see
            note 4);
   
        d)  when the transport entity receives a  DR  or  ER  TPDU  in
            response to a CR TPDU which it has sent.
   
     The period of time for which the reference remains  frozen  shall
     be greater than the TWR time.
   
     NOTES
   
        1.  However, even in these cases, for consistency freezing the
            reference may be done as a local decision.
   
        2.  When the DC TPDU is received it is certain that the  other
            transport entity considers the connection released.
   
        3.  When the DR or ER TPDU is sent the peer  transport  entity
has not been informed of any reference assignment and thus cannot possibly make use of a reference (this includes the
            case where a CC TPDU was sent, but was lost).
   
        4.  In 6.18.2.c the transport entity has  already  effectively
            frozen the reference for an adequate period.
   
   
   
   
   
   
   
   
   
   
                                    69
   
   

  6.18.2.3  Procedure for classes 4
   
     The frozen reference procedure is always used in  class  4.   The
period for which the reference remains frozen should be greater
     than L (see 12.2.1.1.6).
   
   
   
   
     6.19  Retransmission on time-out
   
     6.19.1  Purpose
   
     The procedure is used in Class 4 to cope with unsignalled loss of
     TPDUs by the NS-provider.
   
   
   
   
     6.19.2  TPDUs used
   
     The procedure makes use of the following TPDUs:
   
        CR, CC, DR, DT, ED, AK TPDUs.
   
   
   
   
     6.19.3  Procedure
   
     The procedure is specified in the procedures  for  Class  4  (see
     12.2.1.2.j).
   
   
   
   
     6.20  Resequencing
   
   
   
   
   
   
   
   
   
                                    70
   
   

  6.20.1  Purpose
   
     The resequencing procedure is  used  in  Class  4  to  cope  with
     misordering of TPDUs by the network service provider.
   
   
   
   
     6.20.2  TPDUs and parameters used
   
     The procedure uses the following TPDUs and parameters:
   
        a)  DT TPDU;
            - TPDU-NR.
   
        b)  ED TPDU
            - ED TPDU-NR
   
   
   
   
     6.20.3  Procedure
   
     The procedure is specified in the procedures  for  Class  4  (see
     12.2.3.5).
   
   
   
   
     6.21  Inactivity control
   
     6.21.1  Purpose
   
     The inactivity control procedure is used in Class 4 to cope  with
     unsignalled termination of a network connection.
   
   
   
   
   
   
   
   
   
   
   
                                    71
   
   

  6.21.2  Procedure
   
     The procedure is specified in the procedures  for  Class  4  (see
     12.2.3.3).
   
   
   
   
     6.22  Treatment of protocol errors
   
     6.22.1  Purpose
   
     The procedure for treatment of protocol errors  is  used  in  all
     classes to deal with invalid TPDUs.
   
   
   
   
     6.22.2  TPDUs and parameters used
   
     The procedure uses the following TPDUs and parameters:
   
        a)  ER TPDU;
- reject cause;
            - TPDU in error.
   
        b)  DR TPDU;
            - reason code.
   
   
   
   
     6.22.3  Procedure
   
     A transport entity that receives a TPDU that can be associated to
a transport connection and is invalid or constitutes a protocol error (see 3.2.16 and 3.2.17) shall take one of the following actions so as not to jeopardize any other transport connections
     not assigned to that network connection:
   
        a)  ignoring the TPDU;
   
        b)  transmitting an ER TPDU;
   
   
   
                                    72
   
   

     c)  resetting or closing the network connection; or
   
        d)  invoking the release procedures appropriate to the class.
   
     If an ER TPDU is sent in Class 0 it shall contain the  octets  of
the invalid TPDU up to and including the octet where the error
     was detected (see notes 3, 4 and 5).
   
     If the TPDU  cannot  be  associated  to  a  particular  transport
     connection then see 6.9.
   
     NOTES
   
        1.  In  general,  no  further  action  is  specified  for  the
receiver of the ER TPDU but it is recommended that it initiates the release procedure appropriate to the class. If the ER TPDU has been received as an answer to a CR TPDU
            then the connection is regarded as released (see 6.6).
   
        2.  Care should be  taken  by  a  transport  entity  receiving
several invalid TPDUs or ER TPDUs to avoid looping if the
            error is generated repeatedly.
   
        3.  If the invalid received TPDU is greater than the  selected
maximum TPDU size it is possible that it cannot be
            included in the invalid TPDU parameter of the ER TPDU.
   
        4.  It is recommended that the sender of the ER TPDU starts an
optional timer TS2 to ensure the release of the connection. If the timer expires, the transport entity shall initiate the release procedures appropriate to the class. The timer should be stopped when a DR TPDU or an
            N-DISCONNECT indication is received.
   
        5.  In classes other  than  0,  it  is  recommended  that  the
            invalid TPDU be also included in the ER TPDU.
   
   
   
   
   
   
   
   
   
   
                                    73
   
   

  6.23  Splitting and recombining
   
     6.23.1  Purpose
   
     This procedure is used only in  class  4  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.
   
   
   
   
     6.23.2  Procedure
   
     When this procedure is being used, a transport connection may  be
assigned (see 6.1) to multiple network connections (see note 1). TPDUs for the connection may be sent over any such network
     connection.
   
     If the use of Class 4 is not accepted  by  the  remote  transport
entity following the negotiation rules, then no network connection except that over which the CR TPDU was sent may have
     this transport connection assigned to it.
   
     NOTES
   
        1.  The resequencing function of Class 4 (see 6.20) is used to
            ensure that TPDUs are processed in the correct sequence.
   
        2.  Either transport  entity  may  assign  the  connection  to
further network connections of which it is the owner at
            any time during the life of the transport connection.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    74
   
   

     3.  In order to enable the detection  of  unsignalled  network
connection failures, a transport entity performing splitting should ensure that TPDUs are sent at intervals on each supporting network connection, for example, by sending successive TPDUs on successive network connections, where the set of network connections is used cyclically. By monitoring each network connection, a transport entity may detect unsignalled network connection failures, following the inactivity procedures defined in 12.2.3.3. Thus, for each network connection no period I (see 12.2.3.1) may elapse without the receipt of some TPDU
            for some transport connection.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    75
   
   

  7  Protocol Classes
   
     Table 6 gives an overview of  which  elements  of  procedure  are
included in each class. In certain cases the elements of procedure within different classes are not identical and, for this reason, table 6 cannot be considered as part of the
     definitive specification of the protocol.
   
   
   
     KEY TO TABLE 6
   
     +---|---------------------------------------------------------+
     | * |Procedure always included in class                       |
     |---|---------------------------------------------------------|
     |   |Not applicable                                           |
     |---|---------------------------------------------------------|
     | m |Negotiable procedure whose implementation in equipment is|
     |   |mandatory                                                |
     |---|---------------------------------------------------------|
     | o |Negotiable procedure whose implementation in equipment is|
     |   |optional                                                 |
     |---|---------------------------------------------------------|
     | ao|Negotiable procedure whose implementation in equipment is|
     |   |optional and where use depends on availability within the|
     |   |network service                                          |
     |---|---------------------------------------------------------|
     |(1)|Not applicable in class 2 when non-use of explicit flow  |
     |   |control is selected                                      |
     |---|---------------------------------------------------------|
     |(2)|When non use of explicit flow control has been selected, |
     |   |multiplexing may lead to degradation of quality of       |
     |   |service                                                  |
     |---|---------------------------------------------------------|
     |(3)|This function is provided in class 4 using procedures    |
     |   |other than those in the cross reference.                 |
     +-------------------------------------------------------------+
   
   
   
   
   
   
   
   
   
                                    76
   
   

  +----------------------------------------------------------------+
     |                             |Cross |            |  |  |  |  |  |
     |     Protocol Mechanism      |refe- |   Variant  | 0| 1| 2| 3| 4|
     |                             |rence |            |  |  |  |  |  |
     |-----------------------------|------|------------|--|--|--|--|--|
     | Assignment to network Conn. | 6.1  |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | TPDU Transfer               | 6.2  |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Segmenting and Reassembling | 6.3  |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Concatenation and Separation| 6.4  |            |  | *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Connection Establishment    | 6.5  |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Connection Refusal          | 6.6  |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Normal Release              | 6.7  | implicit   | *|  |  |  |  |
     |                             |      | explicit   |  | *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Error Release               | 6.8  |            | *|  | *|  |  |
     |-----------------------------|------|------------|--|--|--|--|--|
     | Association of TPDUs with   |      |            |  |  |  |  |  |
     | Transport Connection        | 6.9  |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | DT TPDU Numbering           | 6.10 | normal     |  | *|m(1)m| m|
     |                             |      | extended   |  |  |o(1)o| o|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Expedited Data Transfer     | 6.11 | network    |  |  | *|  |  |
     |                             |      | normal     |  | m|(1) *| *|
     |                             |      | network    |  |  |  |  |  |
     |                             |      | expedited  |  |ao|  |  |  |
     |-----------------------------|------|------------|--|--|--|--|--|
     | Reassignment after failure  | 6.12 |            |  | *|  | *|(3)
     +----------------------------------------------------------------+
   
    Table 6. (First of 2 pages) Allocation of procedures within classes
   
   
   
   
   
                                    77
   
   

  +----------------------------------------------------------------+
     | Retention until Acknowledge-|      |Conf.Receipt|  |ao|  |  |  |
     | ment of TPDUs               | 6.13 |AK          |  | m|  |  | *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Resynchronisation           | 6.14 |            |  | *|  | *|(3)
     |-----------------------------|------|------------|--|--|--|--|--|
     | Multiplexing and            |      |            |  |  |(2)  |  |
     | Demultiplexing              | 6.15 |            |  |  | *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Explicit Flow Control With  | 6.16 |            |  |  | m| *| *|
     |                    Without  |      |            | *| *| o|  |  |
     |-----------------------------|------|------------|--|--|--|--|--|
     | Checksum (use of)           | 6.17 |            |  |  |  |  | m|
     |          (non-use of)       |      |            | *| *| *| *| o|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Frozen References           | 6.18 |            |  | *|  | *| *|
     |------------------------------------|------------|--|--|--|--|--|
     | Retransmission on Timeout   | 6.19 |            |  |  |  |  | *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Resequencing                | 6.20 |            |  |  |  |  | *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Inactivity Control          | 6.21 |            |  |  |  |  | *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Treatment of Protocol Errors| 6.22 |            | *| *| *| *| *|
     |-----------------------------|------|------------|--|--|--|--|--|
     | Splitting and Recombining   | 6.23 |            |  |  |  |  | *|
     +----------------------------------------------------------------+
   
     Table 6. (2nd of 2 pages) Allocation of procedures within classes
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    78
   
   

  8  SPECIFICATION FOR CLASS 0. SIMPLE CLASS
   
     8.1  Functions of class 0
   
     Class 0 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.
   
   
   
   
     8.2  Procedures for class 0
   
     8.2.1  Procedures applicable at all times
   
     The transport entities shall use the following procedures:
   
        a)  TPDU transfer (see 6.2);
   
        b)  association of TPDUs with transport connections (see 6.9);
   
        c)  treatment of protocol errors (see 6.22);
   
        d)  error release (see 6.8).
   
   
   
   
     8.2.2  Connection establishment
   
     The transport entities shall use the following procedures:
   
        a)  assignment to network connection (see 6.1); then
   
        b)  connection establishment (see 6.5)  and,  if  appropriate,
            connection refusal (see 6.6);
   
        subject to the following constraints:
   
   
   
                                    79
   
   

     c)  the CR and CC TPDUs shall contain no parameter field other
            than those for TSAP-ID and maximum TPDU size;
   
        d)  the CR and CC TPDUs shall not contain a data field.
   
   
   
   
     8.2.3  Data transfer
   
     The transport entities shall use the segmenting and  reassembling
     procedure (see 6.3).
   
   
   
   
     8.2.4  Release
   
     The transport entities shall use  the  implicit  variant  of  the
     normal release procedure (see 6.7).
   
     NOTE - the lifetime  of  the  transport  connection  is  directly
     correlated with the lifetime of the network connection.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    80
   
   

  9  SPECIFICATION FOR CLASS 1: BASIC ERROR RECOVERY CLASS
   
     9.1  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 TS-user.
   
   
   
   
     9.2  Procedures for Class 1
   
     9.2.1  Procedures applicable at all times
   
     The transport entities shall use the following procedures:
   
        a)  TPDU transfer (see 6.2);
   
        b)  association of TPDU with transport connections (see 6.9);
   
        c)  treatment of protocol errors (see 6.22);
   
        d)  reassignment after failure (see 6.12);
   
        e)  resynchronization  (see  6.14),  or   reassignment   after
failure (see 6.12) together with resynchronization (see
            6.14);
   
        f)  concatenation and separation (see 6.4);
   
        g)  retention until acknowledgement of TPDU  (see  6.13);  the
variant used, AK or confirmation of receipt, shall be as
            selected during connection establishment (see notes);
   
        h)  frozen references (see 6.18).
   
   
   
   
                                    81
   
   

  NOTES
   
        1.  The  negotiation  of  the  variant  of   retention   until
acknowledgement of TPDUs procedure to be used over the transport connection has been designed such that if the initiator proposes the use of the AK variant (i.e. the mandatory implementation option), the responder has to accept use of this option and if the initiator proposes use of the confirmation of receipt variant the responder
            is entitled to select use of the AK variant.
   
        2.  The AK variant makes use of AK TPDUs to release copies  of
retained DT TPDUs. The CDT parameter of AK TPDUs in class
            1 is not significant, and is set to 1111.
   
        3.  The confirmation of receipt variant is restricted to  this
class and its use depends on the availability of the network layer receipt confirmation service, and the
            expected cost reduction.
   
   
   
   
     9.2.2  Connection establishment
   
     The transport entities shall use the following procedures:
   
        a)  assignment to network connection (see 6.1); then
   
        b)  connection establishment (see 6.5)  and,  if  appropriate,
            connection refusal (see 6.6).
   
   
   
   
     9.2.3  Data Transfer
   
     9.2.3.1  General
   
     The sending transport entity shall use the following procedures;
   
        a)  segmenting (see 6.3); then
   
   
   
   
                                    82
   
   

     b)  the normal format variant of DT TPDU numbering (see 6.10).
   
        The  receiving  transport  entity  shall  use  the   following
        procedures;
   
        c)  the normal variant of DT TPDU numbering (see 6.10,; then
   
        d)  reassembling (see 6.3).
   
     NOTES
   
        1.  The use of RJ TPDU during resynchronization (see 6.14) can
lead to retransmission. Thus the receipt of a duplicate
            DT TPDU is possible; such a DT TPDU is discarded.
   
        2.  It is possible to decide on a local basis to issue  an  N-
RESET request in order to force the remote entity to carry
            out the resynchronization (see 6.14).
   
   
   
   
     9.2.3.2  Expedited Data
   
     The transport entities shall use either the network  normal  data
or the network expedited variants of the expedited data transfer procedure (see 6.11) if their use has been selected during
     connection establishment (see note 1).
   
     The sending transport entity shall  not  allocate  the  same  ED-
     TPDU-NR to successive ED TPDUs (see notes 2 and 3).
   
     When acknowledging  an  ED  TPDU  by  sending  and  EA  TPDU  the
transport entity shall put into the YR-EDTU-NR parameter of the EA TPDU the value received in the ED-TPDU-NR parameter of the ED
     TPDU.
   
     NOTES
   
        1.  The negotiation of the variant of expedited data  transfer
procedure to be used over the transport connection has been designed such that if the initiator proposes the use
            of  the  network  normal  data variant (i.e. the mandatory
   
   
   
                                    83
   
   

         implementation option), the responder has to accept use of
this option and if the initiator proposes use of the network expedited variant, the responder is entitled to
            select use of the network normal data variant.
   
        2.  This numbering enables the receiving transport  entity  to
discard repeated ED TPDUs when resynchronization (see
            6.14) has taken place.
   
        3.  No other  significance  is  attached  to  the  ED  TPDU-NR
parameter. It is recommended, but not essential, that the
            values used be consecutive modulo 128.
   
   
   
   
     9.2.4  Release
   
     The transport entities shall use  the  explicit  variant  of  the
     release procedure (see 6.7).
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    84
   
   

  10  SPECIFICATION FOR CLASS 2 - MULTIPLEXING CLASS
   
     10.1  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 connection resets or  disconnects,  the  transport
connection is terminated without the transport release procedure
     and the TS-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.
   
   
   
   
     10.2  Procedures for class 2
   
     10.2.1  Procedures applicable at all times
   
     The transport entities shall use the following procedures
   
        a)  association of TPDUs with transport connection (see 6.9);
   
        b)  TPDU transfer (see 6.2);
   
        c)  treatment of protocol errors (see 6.22);
   
        d)  concatenation and separation (see 6.4);
   
        e)  error release (see 6.8).
   
        Additionally the transport  entities  may  use  the  following
        procedure:
   
        f)  multiplexing and demultiplexing (see 6.15).
   
   
   
   
   
   
   
                                    85
   
   

  10.2.2  Connection establishment
   
     The transport entities shall use the following procedures:
   
        a)  assignment to network connection (see 6.1); then
   
        b)  connection establishment  (see  6.5)  and,  if  applicable
            connection refusal (see 6.6).
   
   
   
   
     10.2.3  Data transfer when non use of explicit flow control
   
             has been selected
   
     If this option has been selected as a result  of  the  connection
establishment, the transport entities shall use the segmenting
     procedure (see 6.3).
   
     The TPDU-NR field of DT TPDUs is not significant and may take any
     value.
   
     NOTE- -Expedited data transfer is not applicable (see 6.5).
   
   
   
   
     10.2.4  Data transfer when use of explicit flow control
   
             has been selected
   
   
   
     10.2.4.1  General
   
     The sending transport entity shall use the following procedures:
   
        a)  segmenting (see 6.3); then
   
        b)  DT TPDU numbering (see 6.10);
   
   
   
   
   
                                    86
   
   

     The  receiving  transport  entity  shall  use  the   following
        procedures:
   
        c)  DT TPDU numbering (see 6.10); if a  DT  TPDU  is  received
which is out of sequence it shall be treated as a protocol
            error; then
   
        d)  reassembling (see 6.3).
   
        The variant of the DT TPDU numbering which  is  used  by  both
transport entities shall be that which was agreed at
        connection establishment.
   
   
   
   
     10.2.4.2  Flow control
   
     The transport entities shall send an initial credit (which may be
zero) in the CDT field of the CR or CC TPDU. This credit represents the initial value of the upper window edge allocated
     to the peer entity.
   
     The transport entity that receives the CR or the  CC  TPDU  shall
consider its lower window edge as zero, and its upper window edge
     as the value of the CDT field in the received TPDU.
   
     In order to authorize the transmission of DT TPDUs, by its  peer,
a transport entity may transmit an AK TPDU at any time, subject
     to the following constraints:
   
        a)  the YR-TU-NR parameter shall be at most one  greater  than
the TPDU-NR field of the last received DT TPDU or shall be
            zero if no DT TPDU has been received;
   
        b)  if an AK TPDU has previously been sent the  value  of  the
YR-TU-NR parameter shall not be lower than that in the
            previously sent AK TPDU.
   
        c)  the sum of the YR-TU-NR and CDT fields shall not  be  less
than the upper window edge allocated to the remote entity
            (see note 1).
   
   
   
   
                                    87
   
   

  A transport entity which receives an AK TPDU shall  consider  the
YR-TU-NR field as its new lower window edge, and the sum of YR- TU-NR and CDT as its new upper window edge. If either of these have been reduced or if the lower window edge has become more than one greater than the TPDU-NR of the last transmitted DT
     TPDU, this shall be treated as a protocol error (see 6.22).
   
     A transport entity shall not  send  a  DT  TPDU  with  a  TPDU-NR
     outside of the transmit window (see notes 2 and 3).
   
     NOTES
   
        1.  This means that credit reduction is not applicable.
   
        2.  This means that a transport entity  is  required  to  stop
sending if the TPDU-NR field of the next DT TPDU which would be sent would be the upper window edge. Sending of DT TPDU may be resumed if an AK TPDU is received which
            increases the upper window edge.
   
        3.  The rate at which a transport entity progresses the  upper
window edge allocated to its peer entity constrains the
            throughput attainable on the transport connection.
   
   
   
   
     10.2.4.3  Expedited data
   
     The transport entities shall follow the network normal variant of
the expedited data transfer procedure in 6.11 if its use has been agreed during connection establishment. ED and EA TPDUs respectively are not subject to the flow control procedures in 10.2.4.2. The ED-TPDU-NR and YR-ETDU-NR fields of ED and EA
     TPDUs respectively are not significant and may take any value.
   
   
   
   
   
   
   
   
   
   
   
                                    88
   
   

  10.2.5  Release
   
     The transport entities shall use  the  explicit  variant  of  the
     release procedure in 6.7.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    89
   
   

  11  SPECIFICATION FOR CLASS 3: ERROR  RECOVERY  AND  MULTIPLEXING
     CLASS
   
     11.1  Functions of Class 3
   
     Class 3 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.
   
   
   
   
     11.2  Procedures for Class 3
   
     11.2.1  Procedures applicable at all times
   
     The transport entities shall use the following procedures:
   
        a)  association of TPDUs with transport connections (see 6.9);
   
        b)  TPDU   transfer   (see   6.2)    and    retention    until
            acknowledgement of TPDUs (AK variant only) (see 6.13);
   
        c)  treatment of protocol errors (see 6.22);
   
        d)  concatenation and separation (see 6.4);
   
        e)  reassignment  after  failure  (see  6.12),  together  with
            resynchronization (see 6.14);
   
        f)  frozen references (see 6.18).
   
     Additionally,  the  transport  entities  may  use  the  following
     procedure:
   
        g)  multiplexing and demultiplexing (see 6.15);
   
   
   
   
   
   
                                    90
   
   

  11.2.2  Connection Establishment
   
     The transport entities shall use the following procedures;
   
        a)  assignment to network connections (see 6.1); then
   
        b)  connection establishment (see 6.5)  and,  if  appropriate,
            together with connection refusal (see 6.6).
   
   
   
   
     11.2.3  Data Transfer
   
     11.2.3.1  General
   
     The sending transport entity shall use the following procedures:
   
        a)  segmenting (see 6.3), then
   
        b)  DT TPDU numbering (see 6.10); after receipt of an RJ  TPDU
(see 11.2.3.2) the next DT TPDU to be sent may have a
            value which is not the previous value of TPDU-NR plus one.
   
     The  receiving  transport  entity   shall   use   the   following
     procedures:
   
        c)  DT TPDU numbering (see 6.10); the TPDU-NR  field  of  each
received DT TPDU shall be treated as a protocol error if it exceeds the greatest such value received in a previous
            DT TPDU by more than one (see note); then
   
        d)  reassembling  (see  6.3);  duplicated   TPDUs   shall   be
            eliminated before reassembling is performed.
   
     NOTE - The  use  of  RJ  TPDUs  (see  11.2.3.2)   can   lead   to
retransmission and reduction of credit. Thus the receipt of a DT TPDU which is a duplicate, or which is greater than or equal to the upper window edge allocated to the peer entity, is possible
     and is therefore not treated as a protocol error.
   
   
   
   
   
   
                                    91
   
   

  11.2.3.2  Use of RJ TPDU
   
     A transport entity may send an RJ TPDU at any time  in  order  to
invite retransmission or to reduce the upper window edge
     allocated to the peer entity (see note 1).
   
     When an RJ TPDU is  sent,  the  following  constraints  shall  be
     respected:
   
        a)  the YR-TU-NR parameter shall be at most one  greater  than
the greatest such value received in a previous DT TPDU, or shall be zero if no DT TPDU has yet been received (see
            note 2);
   
        b)  if an AK or RJ TPDU has previously been sent the  YR-TU-NR
parameter shall not be lower than that in the previously
            sent AK or RJ TPDU or lower than zero if no AK or RJ TPDU.
   
     When a transport entity receives an RJ TPDU (see note 3):
   
        c)  the next DT TPDU  to  be  transmitted,  or  retransmitted,
shall be that for which the value of the TPDU-NR parameter is equal to the value of the YR-TU-NR parameter of the RJ
            TPDU;
   
        d)   the sum of the values of the YR-TU-NR and CDT  parameters
of the RJ TPDU becomes the new upper window edge (see note
            4).
   
     NOTES
   
        1.  An  RJ  TPDU  can  also   be   sent   as   part   of   the
resynchronization (see 6.14) and reassignment after
            failure (see 6.12) procedures.
   
        2.  It is recommended that the YR-TU-NR parameter be equal  to
            the TPDU-NR parameter of the next expected DT TPDU.
   
        3.  These rules are a subset of those specified for when an RJ
TPDU is received during resynchronization (see 6.14) and
            reassignment after failure (see 6.12).
   
   
   
   
   
                                    92
   
   

     4.  This means that RJ TPDU can be used to  reduce  the  upper
window edge allocated to the peer entity (credit
            reduction).
   
   
   
   
     11.2.3.3  Flow Control
   
     The procedures shall be as defined in 10.2.4.2, except that:
   
        a)  a credit reduction may lead to the reception of a DT  TPDU
with a TPDU-NR parameter whose value is not, but would have been less than the upper window edge allocated to the remote entity prior to the credit reduction. This shall
            not be treated as a protocol error;
   
        b)  receipt of an AK TPDU which sets  the  lower  window  edge
more than one greater than the TPDU-NR of the last transmitted DT TPDU shall not be treated as a protocol error, provided that all acknowledged DT TPDUs have been previously transmitted (see notes 1 and 2).
     NOTES
   
        1.  This  can  only  occur  during  retransmission   following
            receipt of an RJ TPDU.
   
        2.  The transport entity may either continue retransmission as
before or retransmit only those DT TPDUs, not acknowledged by the AK TPDU. In either case, copies of the
            acknowledged DT TPDUs, need not be retained further.
   
   
   
   
     11.2.3.4  Expedited data
   
     The transport entities  shall  follow  the  network  normal  data
variant of expedited data transfer procedure in 6.11 if its use
     has been agreed during connection establishment.
   
     The sending transport entity shall  not  allocate  the  same  ED-
     TPDU-NR to successive ED TPDUs.
   
   
   
                                    93
   
   

  The receiving transport entity shall transmit an EA TPDU with the
same value in its YR-EDTU-NR parameter. If, and only if, this number is different from that of the previously received ED TPDU shall it generate a T-EXPEDITED DATA indication to convey the
     data to the TS-user (see note 2).
   
     NOTES
   
        1.  No  other  significance  is  attached  to  the  ED-TPDU-NR
parameter. It is recommended, but not essential, that the values be consecutive modulo 2**n, where n is the number
            of bits of the parameter.
   
        2.  This procedure ensures that the TS-user does  not  receive
            data corresponding to the same ED TPDU more than once.
   
   
   
   
     11.2.4  Release
   
     The transport entities shall use  the  explicit  variant  of  the
     release procedure in 6.7.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    94
   
   

  12  SPECIFICATION FOR CLASS 4: ERROR DETECTION AND RECOVERY CLASS
   
     12.1  Functions of Class 4
   
     Class 4 provides the functionality of Class 3, plus  the  ability
to detect and recover from lost, duplicated, or out of sequence
     TPDUs without involving the TS-user.
   
     This detection of errors is made by extended use of the  DT  TPDU
numbering of Class 2 and Class 3, by time-out mechanisms, and by
     additional procedures.
   
     This class additionally detects and recovers from  damaged  TPDUs
by using a checksum mechanism. The use of the checksum mechanism must be available but its use or its non-use is subject to
     negotiation.
   
     Further on this  class  provides  additional  resilience  against
network failure and increased throughput capability by allowing a
     transport connection to make use of multiple network connections.
   
   
   
   
     12.2  Procedures for Class 4
   
     12.2.1  Procedures available at all times
   
     12.2.1.1  Timers used at all times
   
     This subclause defines timers that apply at all times in class 4.
     These timers are listed in table 7.
   
     This International Standard does not define specific  values  for
the timers, and the derivations described in this subclause are not mandatory. The values should be chosen so that the required quality of service can be provided, given the known
     characteristics of the network.
   
     Timers that apply only to specific procedures are  defined  under
     the appropriate procedure.
   
   
   
   
   
                                    95
   
   

  +---------------------------|------------------------------------+
     |Symbol|        Name        |            Definition              |
     |------|--------------------|------------------------------------|
     | MLR  |NSDU lifetime       | A bound for the maximum time which |
     |      |local-to-remote     | may elapse between the transmis-   |
     |      |                    | sion of an NSDU by a local trans-  |
     |      |                    | port entity and the receipt of any |
     |      |                    | copy of it by a remote peer entity.|
     |      |                    |                                    |
     | MRL  |NSDU lifetime       | A bound for the maximum time which |
     |      |remote-to-local     | may elapse between the transmission|
     |      |                    | of an SNDU from a remote transport |
     |      |                    | entity to a remote peer entity.    |
     |      |                    |                                    |
     | ELR  |Expected maximum    | A bound for the maximum delay suf- |
     |      |transit delay       | fered by all but a small proportion|
     |      |local-to-remote     | of NSDUs transferred from the local|
     |      |                    | transport entity to a remote peer  |
     |      |                    | entity.                            |
     |      |                    |                                    |
     | ERL  |Expected maximum    | A bound for the maximum delay suf- |
     |      |transit delay       | fered by all but a small proportion|
     |      |remote-to-local     | of NSDUs transferred from a remote |
     |      |                    | transport entity to the local peer |
     |      |                    | entity.                            |
     |      |                    |                                    |
     |  AL  |Local acknowledge   | A bound for the maximum time which |
     |      |time                | can elapse between the receipt of  |
     |      |                    | a TPDU by the local transport en-  |
     |      |                    | tity from the network layer and    |
     |      |                    | the transmission of the corres-    |
     |      |                    | ponding acknowledgement.           |
     |      |                    |                                    |
     |  AR  |Remote acknow-      | As AL, but for the remote entity.  |
     |      |ledgement time      |                                    |
     +----------------------------------------------------------------+
   
      Table 7. (First of 2 pages) Time Parameters related to class 4
   
   
   
   
                                    96
   
   

  +----------------------------------------------------------------+
     |  T1  |Local retrans-      | A bound for the maximum time that  |
     |      |mission time        | the local transport entity will    |
     |      |                    | wait for acknowledgement before re-|
     |      |                    | transmitting a TPDU.               |
     |      |                    |                                    |
     |  R   |Persistence time    | A bound for the maximum time the   |
     |      |                    | the local transport entity will    |
     |      |                    | continue to transmit a TPDU that   |
     |      |                    | requires acknowledgement.          |
     |      |                    |                                    |
     |  N   |Maximum number of   | A bound for the maximum number of  |
     |      |transmissions       | times which the local transport    |
     |      |                    | entity will continue to transmit a |
     |      |                    | TPDU that requires acknowledgement.|
     |      |                    |                                    |
     |  L   |Bound on references | A bound for the maximum time       |
     |      |and sequence        | between the transmission of a TPDU |
     |      |numbers             | and the receipt of any acknow-     |
     |      |                    | ledgement relating to it.          |
     |      |                    |                                    |
     |  I   |Inactivity time     | A bound for the time after which   |
     |      |                    | a transport entity will, if it     |
     |      |                    | does not receive a TPDU, initiate  |
     |      |                    | the release procedure to terminate |
     |      |                    | the transport connection.          |
     |      |                    |                                    |
     |      |                    | NOTE - This parameter is required  |
     |      |                    | for protection against unsignalled |
     |      |                    | breaks in the network connection.  |
     |      |                    |                                    |
     |  W   |Window time         | A bound for the maximum time a     |
     |      |                    | transport entity will wait before  |
     |      |                    | retransmitting up to date window   |
     |      |                    | information.                       |
     +----------------------------------------------------------------+
   
      Table 7. (Second of 2 pages) Time Parameters related to class 4
   
   
   
   
   
   
   
   
                                    97
   
   

  12.2.1.1.1  NSDU lifetime (MLR, MRL)
   
     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 may be different in each direction of transfer through a network between two transport entities. The values, for both directions of transfer, are assumed to be Known by the transport entities. The maximum NSDU lifetime local-to- remote (MLR) is the maximum time which may elapse between the transmission of an NSDU from the local transport entity to the network and receipt of any copy of the NSDU from the network at the remote transport entity. The maximum NSDU lifetime remote- to-local (MRL) is the maximum time which may elapse between the transmission of an NSDU from the remote transport entity to the network and receipt of any copy of the NSDU from the network at
     the local transport entity.
   
   
   
   
     12.2.1.1.2  Expected maximum transit delay (ELR, ERL)
   
     The network layer is assumed to provide,  as  an  aspect  of  its
grade of service, an expected maximum transit delay for NSDUs in the network. This value may be different in each direction of transfer through a network between two transport entities. The values, for both directions of transfer, are assumed to be Known by the transport entities. The expected maximum transit delay local-to-remote (ELR) is the maximum delay suffered by all but a small proportion of NSDUs transferred through the network from the local transport entity to the remote transport entity. The expected maximum transit delay remote-to-local (ERL) is the maximum delay suffered by all but a small proportion of NSDUs transfer through the network from the remove transport entity to
     the local transport entity.
   
   
   
   
   
   
   
   
   
   
   
                                    98
   
   

  12.2.1.1.3  Acknowledge Time (AR, AL)
   
     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 transmission of the corresponding response. This value is referred to as AL. The corresponding
     time given by the remote transport entity is referred to as AR.
   
   
   
   
     12.2.1.1.4  Local retransmission time (T1)
   
     The local transport entity is assumed to maintain a bound on  the
time it will wait for an acknowledgement before retransmitting
     the TPDU.  Its value is given by:
   
        T1 = ELR + ERL + AR + X
   
     where:
   
        ELR = Expected maximum transit delay local-to-remote,
ERL = Expected maximum transit delay remote-to-local, AR = Remote acknowledge time, and
        X   = local processing time for a TPDU.
   
   
   
   
     12.2.1.1.5  Persistence Time (R)
   
     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 acknowledgement. This value is referred to as
     R.
   
     The  value  is  clearly  related  to  the  time  elapsed  between
retransmission, T1, and the maximum number of transmissions, N. It is not less than T1 * N + X, where X is a 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.
   
   
   
                                    99
   
   

  12.2.1.1.6  Bound on References and Sequence Numbers (L)
   
     A bound for the maximum time between the decision to  transmit  a
TPDU and the receipt of any response relating to it (L) is given
     by:
   
        L = MLR + MRL + R + AR
   
     where:
   
        MLR = NSDU lifetime local-to-remote,
MRL = NSDU lifetime remote-to-local, R = Persistence time, and
        AR  = Remote acknowledgement time.
   
     It is necessary to  wait  for  a  period  L  before  reusing  any
reference of sequence number, to avoid confusion in case a TPDU
     referring to it may be duplicated or delayed.
   
     NOTES
   
        1.  In practice, 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.
   
        2.  The  relationships  between  times  discussed  above   are
            illustrated in figures 3 and 4.
   
            [Figures 3 and 4 are omitted from this copy.]
   
   
   
   
     12.2.1.2  General Procedures
   
     The transport entity shall use the following procedures:
   
        a)  TPDU transfer (see 6.2);
   
        b)  association of TPDUs with transport connections (see 6.9);
   
   
   
   
                                    100
   
   

     c)  treatment of protocol errors (see 6.22);
   
        d)  checksum (see 6.17);
   
        e)  splitting and recombining (see 6.23);
   
        f)  multiplexing and demultiplexing (see 6.15);
   
        g)  retention until acknowledgement of TPDUs (see 6.13);
   
        h)  frozen references (see 6.18).
   
        j)  retransmission procedures; when  a  transport  entity  has
some outstanding TPDUs that require acknowledgement, it will check that no T1 interval elapses without the arrival of a TPDU that acknowledges at least one of the
            outstanding TPDUs.
   
            If  the  timer  expires,  except  if  the   TPDU   to   be
retransmitted is a DT TPDU and it is outside the transmit window due credit reduction, the first TPDU is retransmitted and the timer is restarted. After N transmissions (i.e. N-1 retransmissions) it is assumed that useful two-way communication is no longer possible and the release procedure is used, and the TS-user is
            informed.
   
        NOTES
   
        1)  This procedure may be implemented by different means.  For
            example:
   
            a)  one interval is associated with  each  TPDU.   If  the
timer expires the associated TPDU will be transmitted and the timer T1 will be restarted for all subsequent
                TPDUs; or
   
            b)  one  interval  is  associated  with   each   transport
                connection:
   
                1)  if the transport entity transmits a TPDU requiring
                    acknowledgement, it starts timer T1;
   
   
   
   
                                    101
   
   

             2)  if the  transport  entity  receives  a  TPDU  that
acknowledges one of the TPDUs to be acknowledged, it restarts timer T1 unless the received TPDU is
                    an AK which explicitly closes the transmit window.
   
                3)  if the  transport  entity  receives  a  TPDU  that
acknowledges the last TPDU to be acknowledged, it
                    stops timer T1.
   
            For a decision whether  the  retransmission  timer  T1  is
maintained on a per TPDU or on a per transport connection basis, throughput considerations have to be taken into
            account.
   
        2.  For DT TPDUs it is a local  choice  to  retransmit  either
only the first DT TPDU or all TPDUs waiting for an
            acknowledgement up to the upper window edge.
   
        3.  It is recommended that after N transmissions of a DT TPDU,
the transport entity waits T1 + W + MRL to provide a higher possibility of receiving an acknowledgement before entering the release phase. For other TPDU types which may be retransmitted, it is recommended that after N transmissions the transport entity waits T1 + MRL to provide a higher possibility of receiving the expected
            reply.
   
   
   
   
     12.2.2  Procedures for Connection Establishment
   
     12.2.2.1  Timers used in Connection Establishment
   
     There are no timers specific to connection establishment.
   
   
   
   
   
   
   
   
   
   
   
                                    102
   
   

  12.2.2.2  General Procedures
   
     The transport entities shall use the following procedures:
   
        a)  assignment to network connection (see 6.1);
   
        b)  connection establishment  (see  6.5)  and  if  appropriate
connection refusal (see 6.6) together with the additional
            procedures:
   
            1)  a connection is not considered established  until  the
successful completion of a 3-way TPDU exchange. The sender of a CR TPDU shall respond to the corresponding CC TPDU by immediately sending a DT, ED, DR or AK
                TPDU;
   
            2)  as a result of duplication  or  retransmission,  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, or is waiting for the T-CONNECT response from the TS-user, the receiving transport entity shall ignore such a TPDU. Otherwise a CC TPDU
                shall be transmitted;
   
            3)  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 shall only acknowledge the duplicate CC TPDU
                according to the procedure in 12.2.2.2.b.1.
   
            4)  a CC TPDU may be received specifying a reference which
is in the frozen state. The response to such a TPDU
                shall be a DR TPDU;
   
            5)  the retransmission procedures (see 12.2.1.2) are  used
                for both the CR TPDU and CC TPDU.
   
   
   
   
   
   
   
   
                                    103
   
   

  12.2.3  Procedures for Data Transfer
   
     12.2.3.1  Timers used in Data Transfer
   
     The data transfer procedures use two additional timers:
   
        a)  Inactivity Time (I)
   
        To  protect  against  unsignalled  breaks   in   the   network
connection or failure of the peer transport entity (half-open connections), each transport entity maintains an inactivity
        interval.  The interval must be greater than E.
   
        NOTE - A suitable value for I is given by
2 * (N * maximum of (T1, W))
        unless local needs indicate another more appropriate value.
   
        b)  Window Time (W)
   
        A transport entity maintains a timer interval to  ensure  that
there is a bound on the maximum interval between window
        updates.
   
   
   
   
     12.2.3.2  General Procedures for data transfer
   
     The transport entities shall use the following procedures:
   
        a)  inactivity control    (see 6.21);
   
        b)  expedited data        (see 6.11);
   
        c)  explicit flow control (see 6.16).
   
     The sending transport entity shall use the  following  procedures
     in the following order:
   
        d)  segmenting            (see 6.3);
   
        e)  DT TPDU numbering     (see 6.10).
   
   
   
   
                                    104
   
   

  The receiving transport entity shall use the following procedures
     in the following order:
   
        f)  DT TPDU numbering     (see 6.10);
   
        g)  resequencing          (see 6.20);
   
        h)  reassembling          (see 6.3).
   
   
   
   
     12.2.3.3  Inactivity Control
   
     If the interval of the inactivity timer I expires without receipt
of some TPDU, the transport entity shall initiate the release procedures. To prevent expiration of the remote transport entity's inactivity timer 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 procedures (see 12.2.3.8) ensure that
     this requirement is met.
   
     NOTE - It is likely that the release procedure initiated  due  to
the expiration of the inactivity timer will fail, as such expiration indicates probable failure of the supporting network
     connection or of the remote transport entity.
   
   
   
   
     12.2.3.4  Expedited Data
   
     The transport entities  shall  follow  the  network  normal  data
variant of the expedited data transfer procedures (see 6.11), if the use of transport expedited service option has been agreed
     during connection establishment.
   
     The ED TPDU shall have  a  TPDU-NR  which  is  allocated  from  a
     separate sequence space from that of the DT TPDUs.
   
     A transport entity shall allocate the sequence number zero to the
     ED  TPDU-NR  of  the  first  ED  TPDU  which  it  transmits for a
   
   
   
                                    105
   
   

  transport connection.  For subsequent ED TPDU sent  on  the  same
transport connection, the transport entity shall allocate a
     sequence number one greater than the previous one.
   
     Modulo 2**7 arithmetic shall be used  when  normal  formats  have
been selected and modulo 2**31 arithmetic shall be used when
     extended formats have been selected.
   
     The receiving transport entity shall transmit an EA TPDU with the
same sequence number in its YR-ETDU-NR field. If this number is one greater than in the previously in sequence received ED TPDU, the receiving transport entity shall transfer the data in the ED
     TPDU to the TS-user.
   
     If  a  transport  entity  does  not  receive  an   EA   TPDU   in
acknowledgement to an ED TPDU it shall follow the retransmission
     procedures (see note and 12.2.1.2).
   
     The sender of an ED TPDU shall not send  any  new  DT  TPDU  with
     higher TPDU-NR until it receives the EA TPDU.
   
     NOTE - This procedure ensures that ED TPDUs are delivered to  the
TS-user in sequence and that the TS-user does not receive data corresponding to the same ED TPDU more than once. Also it guarantees the arrival of the ED TPDU before any subsequently
     sent DT TPDU.
   
   
   
   
     12.2.3.5  Resequencing
   
     The receiving transport entity shall deliver all DT TPDUs to  the
     TS-user in the order specified by the sequence number field.
   
     DT TPDUs received out-of-sequence but within the transmit  window
shall not be delivered to the TS-user until all in-sequence TPDUs have been received. DT TPDU received out-of-sequence and outside
     the transmit window shall be discarded.
   
     Duplicate TPDUs can  be  detected  because  the  sequence  number
matches that of preciously received TPDUs. Sequence numbers
     shall not be reused for the period L after  their  previous  use.
   
   
   
                                    106
   
   

  Otherwise,  a new, valid TPDU could be confused with a duplicated
     TPDU which had previously been received and acknowledged.
   
     Duplicated DT TPDUs shall 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 shall be ignored.
   
   
   
   
     12.2.3.6  Explicit Flow Control
   
     The transport entities shall send an initial  credit  (which  may
take the value 0) in the CDT field of the CR TPDU or CC TPDU. This credit represents the initial value of the upper window edge
     of the peer entity.
   
     The transport entity which receives the CR TPDU or CC TPDU  shall
consider its lower window edge as zero and its upper window edge
     as the value in the CDT field in the received TPDU.
   
     In order to authorize the transmission of DT TPDUs by its peer, a
     transport entity may transmit an AK TPDU at any time.
   
     The sequence number of an AK TPDU shall not exceed  the  sequence
number of the next expected DT TPDU, i.e. it shall not be greater
     than the highest sequence number of a received DT TPDU, plus one.
   
     A transport entity may send a duplicate AK  TPDU  containing  the
same sequence number, CDT, and subsequence number field at any
     time.
   
     A transport entity which receives an AK TPDU shall  consider  the
value of the YR-TU-NR field as its new lower window edge if it is greater than any previously received in a YR-TU-NR field, and the sum of YR-TU-NR and CDT as its new upper window edge subject to the procedures for sequencing AK TPDUs (see 12.2.3.8). A transport entity shall not transmit or retransmit a DT TPDU with
     a sequence number outside the transmit window.
   
   
   
   
   
                                    107
   
   

  12.2.3.7  Sequencing of received AK TPDUs
   
     To allow a receiving transport  entity  to  properly  sequence  a
series of AK TPDUs that all contain the same sequence number and thereby use the correct CDT value, AK TPDUs may contain a subsequence parameter. For the purpose of determining the correct sequence of AK TPDUs, the absence of the subsequence parameter shall be equivalent to the value of the parameter set
     to zero.
   
     An AK TPDU is defined to be in sequence if:
   
        a)  the sequence number is  greater  than  in  any  previously
            received AK TPDU, or
   
        b)  the sequence  number  is  equal  to  the  highest  in  any
previously received AK TPDU, and the subsequence parameter is greater than in any previously received AK TPDU having
            the same value for YR-TU-NR field, or
   
        c)  the sequence number and  subsequence  parameter  are  both
equal to the highest in any previously received AK TPDU and the credit field is greater than or equal to that in any previously received AK TPDU having the same YR-TU-NR
            field.
   
     A transport entity is not required  to  include  the  subsequence
number in its AK TPDUs. It may also choose not to use the subsequence parameter in sequencing received AK TPDUs. If a transport entity chooses not to recognize the subsequence parameter it shall still sequence received AK TPDUs according to
     12.2.3.7.a.
   
     When the receiving transport entity recognizes an out of sequence
     AK TPDU it shall ignore it.
   
   
   
   
   
   
   
   
   
   
   
                                    108
   
   

  12.2.3.8  Procedure for transmission of AK TPDUs
   
     12.2.3.8.1  Retransmission of AK TPDUs for window synchronization
   
     A transport entity shall not allow an interval W to pass  without
the transmission of an AK TPDU. if the transport entity is not using the procedure following setting CDT to zero (see 12.2.3.8.3) or reduction of the upper window edge (see 12.2.3.8.4), and does not have to acknowledge receipt of any DT TPDU, then it shall achieve this by retransmission of the most
     recent AK TPDU, with up-to-date window information.
   
     NOTE - The use  of  the  procedures  defined  in  12.2.3.8.3  and
12.2.3.8.4 are optional for any transport entity. The protocol operates correctly either with or without these procedures which are defined to enhance the efficiency of its operation. However, if these procedures are not used then W must be set to ensure enough retransmissions of the AK TPDU so that release of TC is avoided. The value of W should be approximately
     W = (T1 * N)/(N-1) when the procedures are not used.
   
   
   
   
     12.2.3.8.2  Sequence control for transmission of AK TPDUs
   
     To allow the receiving transport entity to process  AK  TPDUs  in
the correct sequence, as described in 12.2.3.7, the subsequence parameter may be included following reduction of CDT. If the value of the subsequence number to be transmitted is zero, then
     the parameter should be omitted.
   
     The value of the subsequence parameter, if used,  shall  be  zero
(either explicitly or by absence of the parameter) if the sequence number is greater than the field in previous AK TPDUs,
     sent by the transport entity.
   
     If the sequence number is the same as the previous AK  TPDU  sent
and the CDT field is equal to or greater than the CDT field in the previous AK TPDU sent then the subsequence parameter, if
     used, shall be equal to that in the previously sent AK TPDU.
   
     If the sequence number is the same as the previous AK  TPDU  sent
   
   
   
                                    109
   
   

  and  the CDT field is less than the value of the CDT field in the
previous AK TPDU sent than the subsequence parameter, if used,
     shall be one greater than the value in the previous AK TPDU..
   
   
   
   
     12.2.3.8.3  Retransmission of AK TPDUs after CDT set to zero
   
     Due to the possibility of loss of AK TPDUs, the upper window edge
as perceived by the transport entity transmitting an AK TPDU may differ from that perceived by the intended recipient. To avoid the possibility of extra delay, the retransmission procedure (see 12.2.1.2) should be followed for an AK TPDU, if it opens the transmit window which has previously been closed by sending an AK
     TPDU with CDT field set to zero.
   
     The  retransmission  procedure,  if  used,  terminates  and   the
     procedure in 12.2.3.8.1 is used when:
   
        a)  an  AK  TPDU  is  received  containing  the  flow  control
confirmation parameter, whose lower window edge and your subsequence fields are equal to the sequence number and subsequence number in the retained AK TPDU and whose
            credit field is not zero.
   
        b)  an AK TPDU is transmitted with a  sequence  number  higher
than that in the retained AK TPDU, due to reception of a DT TPDU whose sequence number is equal to the lower window
            edge;
   
        c)  N transmissions of the retained AK TPDU have taken  place.
In this case the transport entity shall continue to
            transmit the AK TPDU at an interval of W.
   
     An AK TPDU which is subject to the retransmission procedure shall
not contain the flow control confirmation parameter. If it is required to transmit this parameter concurrently, an additional AK TPDU shall be transmitted having the same values in the
     sequence, subsequence (if applicable) and credit fields.
   
   
   
   
   
   
                                    110
   
   

  12.2.3.8.4  Retransmission procedures following reduction of the
   
                 upper window edge
   
     This subclause specifies the procedure for retransmission  of  AK
TPDUs after a transport entity has reduced the upper window edge (see 12.2.3.6) or for an AK TPDU with the credit field set to zero. This procedure is used until the lower window edge exceeds the highest value of the upper window edge ever transmitted (i.e. the value existing at the time of credit reduction, unless a
     higher value is retained from a previous credit reduction).
   
     This retransmission procedure should be followed for any AK  TPDU
which increases the upper window edge, unless an AK TPDU has been received containing a flow control confirmation parameter, which corresponds to an AK TPDU transmitted following credit reduction, for which the sum of the credit and lower window edge fields (i.e. the upper window edge value) is greater than the lower
     window edge (YR-TU-NR field) of the transmitted AK TPDU.
   
     This retransmission procedure for any particular  AK  TPDU  shall
     terminate when:
   
        a)  an  AK  TPDU  is  received  containing  the  flow  control
confirmation parameter, whose lower window edge and your subsequence fields are equal to the lower window edge and
            subsequence number in the retained AK TPDU; or
   
        b)  N transmissions of the retained AK TPDU have taken  place.
In this case the transport entity shall continue to
            transmit the AK TPDU at an interval of W.
   
     An AK TPDU which is subject to the retransmission procedure shall
not contain the flow control confirmation parameter. If it is required to transmit this parameter concurrently, an additional AK TPDU shall be transmitted having the same values in the
     sequence, subsequence (if applicable) and credit fields.
   
        NOTE - Retransmission of AK TPDUs is normally  not  necessary,
except following explicit closing of the window (i.e. transmission of an AK TPDU with CDT field set to zero). If data is available to be transmitted, the retransmission
        procedure for DT TPDUs will ensure that an AK TPDU is received
   
   
   
                                    111
   
   

     granting  further  credit  where this is available.  Following
credit reduction, this may no longer be so, because retransmission may be inhibited by the credit reduction. The
        rules described in this clause avoid extra delay.
   
     The rules for determining whether  to  apply  the  retransmission
procedure to an AK TPDU may be expressed alternatively as
     follows.  Let:
   
          LWE  = lower window edge
UWE = upper window edge KUWE = lower bound on upper window edge
                 held by remote transport entity
   
     The retransmission procedure is to be used whenever:
   
          (UWE>LWE) and (KUWE = LWE)
   
     i.e. when the window is opened and it  is  not  known  definitely
     that the remote transport entity is aware of this.
   
     KUWE is maintained as follows.  When credit is reduced,  KUWE  is
set to LWE. Subsequently, it is increased only upon receipt of a valid flow control confirmation (i.e. one which matches the retained lower window edge and subsequence). In this case KUWE is set to the implied upper window edge of the flow control confirmation, i.e. the sum of its lower window edge and your credit fields. By this means, it can be ensured that KUWE is always less than or equal to the actual upper window edge in use
     by the transmitter of DT TPDUs.
   
   
   
   
     12.2.3.9  Use of Flow Control Confirmation parameter
   
     At any time, an AK TPDU may  be  transmitted  containing  a  flow
control confirmation parameter. The lower window edge, your subsequence and your credit fields shall be set to the same values as the corresponding fields in the most recently received
     in sequence AK TPDU.
   
   
   
   
   
                                    112
   
   

  An AK TPDU  containing  a  flow  control  confirmation  parameter
     should be transmitted whenever:
   
        a)  a duplicate AK TPDU is received, with the value of  YR-TU-
NR, CDT, and subsequence fields equal to the most recently received AK TPDU, but not itself containing the flow
            control confirmation parameter;
   
        b)  an AK TPDU is received which increases  the  upper  window
edge but not the lower window edge, and the upper window
            edge was formerly equal to the lower window edge; or
   
        c)  an AK TPDU is received which increases  the  upper  window
edge but not the lower window edge, and the lower window edge is lower than the highest value of the upper window edge received and subsequently reduced (i.e. following
            credit reduction).
   
   
   
   
     12.2.4  Procedures for Release
   
     12.2.4.1  Timers used for Release
   
     There are no timers used only for release.
   
   
   
   
     12.2.4.2  General Procedures for Release
   
     The transport entity shall use the  explicit  variant  of  normal
     release (see 6.7).
   
   
   
   
   
   
   
   
   
   
   
   
                                    113
   
   

  13  STRUCTURE AND ENCODING OF TPDUs
   
     13.1  Validity
   
     Table 8 specifies those TPDUs which are valid for each class  and
     the code for each TPDU.
   
        KEY:  xxxx (bits 4-1):  used to signal the CDT (set to 0000
                                in classes 0 and 1)
   
              zzzz (bits 4-1):  used to signal CDT in classes 2, 3,
                                4 set to 1111 in class 1
   
              NF:               Not available when the non explicit
                                flow control option is selected.
   
              NRC:              Not available when the receipt
                                confirmation option is selected.
   
     NOTE  - These codes are  already  in  use  in  related  protocols
     defined by standards oganizations other than CCITT/ISO.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    114
   
   

  +-------------------------------------------------------------+
     |                       | Validity within   |       |         |
     |                       |     classes       |  see  |  Code   |
     |                       |-------------------| Clause|         |
     |                       | 0 | 1 | 2 | 3 | 4 |       |         |
     |-----------------------|-------------------|-------|---------|
     |CR Connection Request  | x | x | x | x | x | 13.3  |1110 xxxx|
     |-----------------------|---|---|---|---|---|-------|---------|
     |CC Connection Confirm  | x | x | x | x | x | 13.4  |1101 xxxx|
     |-----------------------|---|---|---|---|---|-------|---------|
     |DR Disconnect Request  | x | x | x | x | x | 13.5  |1000 0000|
     |-----------------------|---|---|---|---|---|-------|---------|
     |DC Disconnect Confirm  |   | x | x | x | x | 13.6  |1100 0000|
     |-----------------------|---|---|---|---|---|-------|---------|
     |DT Data                | x | x | x | x | x | 13.7  |1111 0000|
     |-----------------------|---|---|---|---|---|-------|---------|
     |ED Expedited Data      |   | x | NF| x | x | 13.8  |0001 0000|
     |-----------------------|---|---|---|---|---|-------|---------|
     |AK Data Acknowledgement|   |NRC| NF| x | x | 13.9  |0110 zzzz|
     |-----------------------|---|---|---|---|---|-------|---------|
     |EA Expedited Data      |   | x | NF| x | x | 13.10 |0010 0000|
     |Acknowledgement        |   |   |   |   |   |       |         |
     |-----------------------|---|---|---|---|---|-------|---------|
     |RJ Reject              |   | x |   | x |   | 13.11 |0101 zzzz|
     |-----------------------|---|---|---|---|---|-------|---------|
     |ER TPDU Error          | x | x | x | x | x | 13.12 |0111 0000|
     |-----------------------|---|---|---|---|---|-------|---------|
     |                       |   |   |   |   |   |   -   |0000 0000|
     |                       |---|---|---|---|---|-------|---------|
     |not available          |   |   |   |   |   |   -   |0011 0000|
     | (see note)            |---|---|---|---|---|-------|---------|
     |                       |   |   |   |   |   |   -   |1001 xxxx|
     |                       |---|---|---|---|---|-------|---------|
     |                       |   |   |   |   |   |   -   |1010 xxxx|
     +-------------------------------------------------------------+
   
                            Table 8. TPDU code
   
   
   
   
                                    115
   
   

  13.2  Structure
   
     All the transport protocol data units (TPDUs)  shall  contain  an
integral number of octets. The octets in a TPDU are numbered starting from 1 and increasing in the order they are put into an NSDU. The bits in an octet are numbered from 1 to 8, where bit 1
     is the low-ordered bit.
   
     When consecutive octets are used to represent  a  binary  number,
     the lower octet number has the least significant value.
   
     NOTE -  When the encoding  of  a  TPDU  is  represented  using  a
     diagram in this clause, the following representation is used:
   
        a)  octets are shown with the lowest  numbered  octet  to  the
            left, higher numbered octets being further to the right;
   
        b)  within an octet, bits are shown with bit 8 to the left and
            bit 1 to the right.
   
     TPDUs shall contain, in the following order:
   
        a)  the header, comprising:
   
            1)  the length indicator (LI) field;
   
            2)  the fixed part;
   
            3)  the variable part, if present;
   
        b)  the data field, if present.
   
     This structure is illustrated below:
   
          octet    1   2 3 4 ... n   n+1  ...    p  p+1 ...end
                 +---+-------------+--------------+-----------+
                 | LI| fixed part  | variable part| data field|
                 +---+-------------+--------------+-----------+
                 <---------------   header ------>
   
   
   
   
   
   
   
                                    116
   
   

  13.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 (1111 1110). The length indicated shall be the header length in octets including parameters, but excluding the length indicator field and user data, if any. The value 255 (1111 1111) is reserved for possible extensions. If the length indicated exceeds the size of the NS-user data which is present, this is a
     protocol error.
   
   
   
   
     13.2.2  Fixed part
   
     13.2.2.1  General
   
     The fixed part contains frequently occurring parameters including
the code of the TPDU. The length and the structure of the fixed part are defined by the TPDU code and in certain cases by the protocol class and the formats in use (normal or extended). If any of the parameters of the fixed part have an invalid value, or if the fixed part cannot be contained with the header (as defined
     by LI) this is a protocol error.
   
     NOTE - In  general,  the  TPDU  code  defines  the   fixed   part
unambiguously. However, different variants may exist for the
     same TPDU code (see normal and extended formats).
   
   
   
   
     13.2.2.2  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:
   
   
   
   
   
   
   
                                    117
   
   

        1110 xxxx     Connection Request
1101 xxxx Connection Confirm 0101 xxxx Reject
           0110 xxxx     Data Acknowledgement
   
     where xxxx (bits 4-1) is used to signal the CDT.
   
     Only those codes defined in 13.1 are valid.
   
   
   
   
     13.2.3  Variable part
   
     The  variable  part  is  used  to  define  less  frequently  used
parameters. If the variable part is present, it shall contain
     one or more parameters.
   
     NOTE - The number of parameters that  may  be  contained  in  the
variable part is indicated by the length of the variable part
     which is LI minus the length of the fixed part.
   
     Each parameter contained within the variable part  is  structured
     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          |                                    |
                          +------------------------------------|
   
   
   
   
   
   
   
   
   
   
                                    118
   
   

  - The parameter code field is coded in binary;
   
       NOTE - Without extensions, it provides a maximum number of  255
different parameters. However, as noted below, bits 8 and 7 cannot take every possible value, so the practical maximum number of different parameters is less. Parameter code 1111
       1111 is reserved for possible extensions of the parameter code.
   
     - The  parameter  length  indication  indicates  the  length,  in
       octets, of the parameter value field.
   
       NOTE - 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 succeeding parameter, the maximum
       value of m decreases.
   
     - The parameter value field contains the value of  the  parameter
       identified in the parameter code field.
   
     - No parameter codes use bits 8 and 7 with the value 00.
   
     - The parameters defined in the  variable  part  may  be  in  any
order. If any parameter is duplicated then the later value shall be used. A parameter not defined in this International Standard shall be treated as a protocol error in any received TPDU except a CR TPDU; in a CR TPDU it shall be ignored. If the responding transport entity selects a class for which a parameter of the CR TPDU is not defined, it may ignore this parameter, except the class and option, and alternative protocol class parameters which shall always be interpreted. A parameter defined in this International Standard but having an invalid value shall be treated as a protocol error in any received TPDU except a CR TPDU. In a CR TPDU it shall be treated as a protocol error if it is either the class and option parameter or the alternative class parameter or the additional option parameter; otherwise it shall be either
       ignored or treated as a protocol error.
   
   
   
   
   
                                    119
   
   

  13.2.3.1  Checksum Parameter (Class 4 only)
   
     All TPDU types may contain a 16-bit checksum parameter  in  their
variable part. This parameter shall be present in a CR TPDU and shall be present in all other TPDUs 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 6.17.
   
   
   
   
     13.2.4  Data Field
   
     This field contains transparent user data.  Restrictions  on  its
     size are noted for each TPDU.
   
   
   
   
     13.3  Connection Request (CR) TPDU
   
     The length of the CR TPDU shall not exceed 128 octets.
   
   
   
   
     13.3.1  Structure
   
     The structure of the CR TPDU shall be as follows:
   
      1    2        3        4       5   6    7    8    p  p+1...end
     +--+------+---------+---------+---+---+------+-------+---------+
     |LI|CR CDT|     DST - REF     |SRC-REF|CLASS |VARIAB.|USER     |
     |  |1110  |0000 0000|0000 0000|   |   |OPTION|PART   |DATA     |
     +--+------+---------+---------+---+---+------+-------+---------+
   
   
   
   
   
   
   
                                    120
   
   

  13.3.2  LI
   
     See 13.2.1
   
   
   
   
     13.3.3  Fixed Part (Octets 2 to 7)
   
     The structure of this part shall contain:
   
        a)  CR       :  Connection Request Code:  1110.  Bits  8-5  of
                        octet 2;
   
        b)  CDT      :  Initial Credit  Allocation  (set  to  0000  in
Classes 0 and 1 when specified as preferred
                        class).  Bits 4-1 of octet 2;
   
        c)  DST-REF  :  Set to zero;
   
        d)  SRC-REF  :  Reference selected  by  the  transport  entity
initiating the CR TPDU to identify the
                        requested transport connection;
   
        e)  CLASS and   Bits 8-5 of octet 7 defines the preferred
OPTION: transport protocol class to be operated over
the requested transport connection. This
                        field shall take one of the following values:
   
                        0000  Class 0
0001 Class 1 0010 Class 2 0011 Class 3
                        0100  Class 4
   
     The CR TPDU contains the first choice of class in the fixed part.
Second and subsequent choices are listed in the variable part if
     required.
   
     Bits 4-1 of octet 7 define options to be used  on  the  requested
     transport connection as follows:
   
   
   
   
   
                                    121
   
   

  +-----|-----------------------------------------------+
     | BIT |                  OPTION                       |
     |-----|-----------------------------------------------|
     |  4  |  0   always                                   |
     |     |                                               |
     |  3  |  0   always                                   |
     |     |                                               |
     |  2  | =0   use of normal formats in all classes     |
     |     | =1   use of extended formats in Classes 2,3,4 |
     |     |                                               |
     |  1  | =0   use of explicit flow control in Class 2  |
     |     | =1   no use of explicit flow control in       |
     |     |      Class 2                                  |
     +-----------------------------------------------------+
   
   
     NOTES
   
     1.  The connection establishment procedure  (see  6.5)  does  not
permit a given CR TPDU to request use of transport expedited data transfer service (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.
   
   
   
   
     13.3.4  Variable Part (Octets 8 to p)
   
     The following parameters are permitted in the variable part:
   
        a)  Transport Service Access Point Identifier (TSAP-ID)
   
            Parameter code:    1100 0001 for  the  identifier  of  the
Calling TSAP. 1100 0010 for the identifier of the Called TSAP Parameter length: not defined in this standard Parameter value: identifier of the calling or called
                               TSAP respectively.
   
   
   
   
                                    122
   
   

         If a TSAP-ID is given in the request it may be returned in
            the confirmation.
   
        b)  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:    1100 0000
            Parameter Length:  1 octet
   
            Parameter value:
   
            0000 1101  8192 octets (not allowed in Class 0)
0000 1100 4096 octets (not allowed in Class 0) 0000 1011 2048 octets 0000 1010 1024 octets 0000 1001 512 octets 0000 1000 256 octets
            0000 0111   128 octets
   
            Default value is 0000 0111 (128 octets)
   
        c)  Version Number (not used  if  Class  0  is  the  preferred
            class)
   
            Parameter code:         1100 0100
Parameter length: 1 octet
            Parameter value field:  0000 0001
   
            Default value is 0000 0001 (not used in Class 0)
   
        d)  Security Parameters (not used if Class 0 is the  preferred
            class)
   
            This parameter is user defined.
Parameter code: 1100 0101 Parameter length: user defined
            Parameter value:   user defined
   
        e)  Checksum (used only if class 4  is  the  preferred  class)
            (see 13.2.3.1)
   
   
   
                                    123
   
   

         This parameter shall  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.
   
        f)  Additional Option Selection (not used if Class  0  is  the
            preferred class)
   
            This parameter defines the selection  to  be  made  as  to
            whether or not additional options are to be used.
   
            Parameter code:    1100 0110
Parameter length: 1
            Parameter value:
   
   
            +------------------------------------------------------+
            |BIT|                   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=  16-bit checksum defined in 6.17 is to be used|
            |   |     in Class 4                                   |
            |   | 1=  16-bit checksum defined in 6.17 is not to be |
            |   |     used on Class 4                              |
            |   |                                                  |
            | 1 | 1=  Use of transport expedited data transfer     |
            |   |     service                                      |
            |   | 0=  No use of transport expedited data transfer  |
            |   |     service                                      |
            +------------------------------------------------------+
   
            Default value is 000 0001
   
            Bits related to options particular  to  a  class  are  not
meaningful if that class is not proposed and may take any
            value.
   
   
   
   
   
                                    124
   
   

     g)  Alternative protocol class(es) (not used if Class 0 is the
            preferred class)
   
            Parameter code:    1100 0111
            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).
   
        h)  Acknowledge Time (used only if class 4  is  the  preferred
            class)
   
            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 12.2.1.1.3) Parameter code: 1000 0101 Parameter length: 2 Parameter value: n, a binary number where n is the
maximum acknowledge time, expressed
                               in milliseconds.
   
        j)  Throughput (not used if class 0 is the preferred class)
   
            Parameter code:    1000 1001
Parameter length: 12 or 24
            Parameter value:
   
            1st 12 Octets:     maximum throughput, as follows:
   
            1st 3 octets:      Target   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
   
            2nd 12 octets (optional):  average throughput, as follows:
   
            5th 3 octets:      Target   value,   calling-called   user
                               direction
   
   
   
                                    125
   
   

         6th 3 octets:      Min.  acceptable,  calling-called  user
direction
7th 3 octets: Target value, called-calling user
direction
8th 3 octets: Min. acceptable, called-calling user
                               direction
   
            Where the average throughput is omitted, it is  considered
            to have the same value as the maximum throughput.
   
            Values are expressed in octets per second.
   
        k)  Residual error rate (not used if class 0 is the  preferred
            class)
   
            Parameter code:    1000 1001
Parameter length: 12 1st 3 octets: Target 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
   
        l)  Residual error rate (not used if class 0 is the  preferred
            class)
   
            Parameter code:    1000 0110
Parameter length: 3 Parameter value: 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
   
        m)  Priority (not used if class 0 is the preferred class)
   
            Parameter code:    1000 0111
Parameter length: 2
            Parameter value:   Integer (0 is the highest priority)
   
   
   
   
                                    126
   
   

     n)  Transit delay (not used if class 0 is the preferred class)
   
            Parameter code:    1000 1000
Parameter length: 8 Parameter value: 1st 2 octets: Target value, calling-called user
direction
2nd 2 octets: Max. acceptable, calling-called user
direction
3rd 2 octets: Target value, called-calling user
direction
4th 2 octets: Max. acceptable, called-calling user
                               direction
   
            Values are expressed in milliseconds, and are based upon a
            TSDU size of 128 octets.
   
        p)  assignment time (not used if class 0, 2 or class 4 is  the
            preferred class)
   
            This parameter conveys the Time to Try Reassignment  (TTR)
which will be used when following the procedure for Reassignment after Failure (see 6.12). Parameter code: 1000 1011 Parameter length: 2 Parameter value: n, a binary number where n is the TTR
                               value expressed in seconds.
   
   
   
   
     13.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.
   
   
   
   
   
   
   
   
   
   
   
                                    127
   
   

  13.4  Connection Confirm (CC) TPDU
   
     13.4.1  Structure
   
     The structure of the CC TPDU shall be as follows:
   
       1      2     3   4   5   6     7     8     p   p+1 ...end
     +---+----+---+---+---+---+---+-------+--------+-------------+
     |LI | CC  CDT|DST-REF|SRC-REF| CLASS |VARIABLE| USER        |
     |   |1101|   |   |   |   |   | OPTION|  PART  | DATA        |
     +---+----+---+---+---+---+---+-------+--------+-------------+
   
   
   
   
     13.4.2  LI
   
     See 13.2.1
   
   
   
   
     13.4.3  Fixed Part (Octets 2 to 7)
   
     The fixed part shall contain:
   
        a)  CC:  Connection Confirm Code:  1101.  Bits 8-5 of octet 2;
   
        b)  CDT:  Initial Credit Allocation (set to 0000 in Classes  0
            and 1).  Bits 4-1 of octet 2;
   
        c)  DST-REF:  Reference identifying  the  requested  transport
            connection at the remote transport entity;
   
        d)  SRC-REF:  Reference identifying  the  requested  transport
            connection at the remote transport entity.
   
        e)  Class and Option:  Defines the selected transport protocol
class and option to be operated over the accepted transport connection according to the negotiation rules
            specified in 6.5;
   
   
   
   
   
                                    128
   
   

  13.4.4  Variable Part (Octet 8 to p)
   
     The parameters are defined in  13.3.4  and  are  subject  to  the
constraints states in 6.5 (connection establishment). Parameters ruled out by selection of an alternative class and option shall
     not be present.
   
   
   
   
     13.4.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. The user data are subject to the constraints of the negotiation
     rules (see 6.5).
   
   
   
   
     13.5  Disonnect Request (DR) TPDU
   
     13.5.1  Structure
   
     The structure of the DR TPDU shall be as follows:
   
       1     2      3     4    5     6     7    8     p   p+1 ...end
     +--+---------+----+-----+----+-----+------+--------+----------+
     |LI|    DR   | DST-REF. | SRC-REF. |REASON|VARIABLE| USER     |
     |  |1000 0001|    |     |    |     |      |  PART  | DATA     |
     +--+---------+----+-----+----+-----+------+--------+----------+
   
   
   
   
     13.5.2  LI
   
     See Section 13.2.1
   
   
   
   
   
   
   
   
                                    129
   
   

  13.5.3  Fixed Part (Octets 2 to 7
   
     The fixed part shall contain:
   
        a)  DR:  Disconnect Request Code:  1000 0000;
   
        b)  DST-REF:  Reference identifying the  transport  connection
            at the remote transport entity;
   
        c)  SRC-REF:  Reference identifying the  transport  connection
at the transport entity initiating the TPDU. Value zero
            when reference is unassigned;
   
        d)  REASON:   Defines  the  reason   for   disconnecting   the
transport connection. This field shall take one of the
            following values:
   
            The following values may be used for Classes 1 to 4:
   
            1)  128 + 0 - Normal  disconnect  initiated   by   session
entity
2) 128 + 1 - Remote transport entity congestion at
connect request time
3) *128 + 2 - Connection negotiation failed (i.e. proposed
class(es) not supported)
4) 128 + 3 - Duplicate source reference detected for the
same pair of NSAPS.
5) 128 + 4 - Mismatched references 6) 128 + 5 - Protocol error 7) 128 + 6 - Not used 8) 128 + 7 - Reference overflow 9) 128 + 8 - Connection request refused on this network
connection
10) 128 + 9 - Not used
            11) 128 + 10- Header or parameter length invalid
   
   
   
   
   
   
   
   
   
   
   
                                    130
   
   

     The following values can be used for all classes:
   
            12)       0 - Reason not specified
13) 1 - Congestion at TSAP 14) *2 - Session entity not attached to TSAP
            15)      *3 - Address unknown
   
        NOTE - Reasons marked with an asterisk (*) may be reported  to
        the TS-user as persistent, other reasons as transient.
   
   
   
   
     13.5.4  Variable Part (Octets 8 to p)
   
     The variable part may contain
   
        a)  A parameter allowing additional information related to the
            clearing of the connection.
   
            Parameter code:    1110 0000
Parameter length: Any value provided that the length of
the DR TPDU does not exceed the maximum agreed TPDU size or 128 when the DR TPDU is used during the connection refusal procedure
Parameter value: Additional information. The content of
                               this field is user defined.
   
        b)  Checksum (see 13.2.3.1)
   
   
   
   
     13.5.5  User Data (Octets p+1 to the end)
   
     This field shall not exceed 64 octets and is used  to  carry  TS-
user data. The successful transfer of this data is not guaranteed by the transport protocol. When a DR TPDU is used in
     Class 0 it shall not contain this field.
   
   
   
   
   
   
                                    131
   
   

  13.6  Disconnect Confirm (DC) TPDU
   
     This TPDU shall not be used in Class 0.
   
   
   
   
     13.6.1  Structure
   
     The structure of DC TPDU shall be as follows:
   
       1       2         3     4     5     6    7        p
     +----+-----------+-----+-----+-----+-----+-------+--------+
     | LI |    DC     |  DST REF  |  SRC REF  | Variable Part  |
     |    | 1100 0000 |     |     |     |     |       |        |
     +----+-----------+-----+-----+-----+-----+-------+--------+
   
   
   
   
     13.6.2  LI
   
     See 13.2.1
   
   
   
   
     13.6.3  Fixed Part (Octets 2 to 6)
   
     The fixed part shall contain:
   
        a)  DC:  Disconnect Confirm Code:  1100 0000;
   
        b)  DST-REF:  See 13.4.3;
   
        c)  SRC-REF:  See 13.4.3.
   
   
   
   
   
   
   
   
   
   
                                    132
   
   

  13.6.4  Variable Part
   
     The variable part shall contain the  checksum  parameter  if  the
     condition in (see 13.2.3.1) applies.
   
   
   
   
     13.7  Data (DT) TPDU
   
     13.7.1  Structure
   
     Depending on the class and the option the DT TPDU shall have  one
     of the following structures.
   
        a)  Normal format for Classes 0 and 1
   
       1       2         3          4       5             ... end
     +----+-----------+-----------+------------ - - - - - -------+
     | LI |    DT     |  TPDU-NR  | User Data                    |
     |    | 1111 0000 |  and EOT  |                              |
     +----+-----------+-----------+------------ - - - - - -------+
   
   
        b)  Normal format for Classes 2, 3 and 4
   
       1      2       3   4     5     6       p    p+1       ... end
     +----+---------+---+---+-------+-----+-------+----------- - - -+
     | LI |   DT    |DST-REF|TPDU-NR|Variable Part|User Data        |
     |    |1111 0000|   |   |and EOT|     |       |                 |
     +----+---------+---+---+-------+-----+-------+----------- - - -+
   
        c)  Extended Format for  use  in  Classes  2,  3  and  4  when
            selected during connection establishment.
   
       1      2       3   4   5,6 7,8  9     p  p+1      ... end
     +----+---------+---+---+---------+--------+---------- - - -+
     | LI |   DT    |DST-REF| TPDU-NR |Variable|User Data       |
     |    |1111 0000|   |   | and EOT |  Part  |                |
     +----+---------+---+---+---------+--------+---------- - - -+
   
   
   
   
   
   
                                    133
   
   

  13.7.2  LI
   
     See 13.2.1
   
   
   
   
     13.7.3  Fixed Part
   
     The fixed part shall contain:
   
        a)  DT:       Data Transfer Code:  1111 0000;
   
        b)  DST-REF:  See 13.4.3;
   
        c)  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). EOT is bit 8 of octet 3 in class 0 and 1, bit 8 of octet 5 for normal formats for classes 2, 3 and 4 and bit 8 of
                      octet 8 for extended formats;
   
        d)  TPDU-NR:  TPDU send Sequence Number  (zero  in  Class  0).
May take any value in Class 2 without explicit flow control. TPDU-NR is bits 7-1 of octet 3 for classes 0 and 1, bits 7-1 of octet 5 for normal formats in classes 2, 3 and 4, octets 5, 6 and 7 together with bits 7-1 of octet 8 for
                      extended formats.
   
        NOTE - Depending on the class, the fixed part of the  DT  TPDU
        uses the following octets:
   
             Classes 0 and 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.
   
   
   
   
   
   
   
   
   
   
                                    134
   
   

  13.7.4  Variable Part
   
     The variable part shall contain the  checksum  parameter  if  the
     condition in see 13.2.3.1 applies.
   
   
   
   
     13.7.5  User Data Field
   
     This field contains data of the TSDU being transmitted.
   
     NOTE - 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 present, may further reduce the size of the user data
     field.
   
   
   
   
     13.8  Expedited Data (ED) TPDU
   
     The ED TPDU shall not be used in Class 0 or in Class 2  when  the
no explicit flow control option is selected or when the expedited
     data transfer service has not been selected for the connection.
   
   
   
   
     13.8.1  Structure
   
     Depending on the format negotiated  at  connection  establishment
     the ED TPDU shall have one of the following structures:
   
   
   
   
   
   
   
   
   
   
   
                                    135
   
   

     a)  Normal Format (classes 1, 2, 3, 4)
   
      1     2       3   4      5     6        p    p+1     ... end
     +--+---------+---+---+---------+-----+-------+---------------+
     |LI|   ED    |DST-REF|EDTPDU-NR|Variable Part|User Data      |
     |  |0001 0000|   |   |and EOT  |     |       |               |
     +--+---------+---+---+---------+-----+-------+---------------+
   
   
        b)  Extended Format (for use in classes 2, 3, 4 when  selected
            during connection establishment).
   
   
      1     2       3   4   5,6,7,8  9        p    p+1     ... end
     +--+---------+---+---+---------+-----+-------+---------------+
     |LI|   ED    |DST-REF|EDTPDU-NR|Variable Part|User Data      |
     |  |0001 0000|   |   |and EOT  |     |       |               |
     +--+---------+---+---+---------+-----+-------+---------------+
   
   
   
   
     13.8.2  LI
   
     See 13.2.1
   
   
   
   
     13.8.3  Fixed Part
   
     The fixed part shall contain:
   
        a)  ED:          Expedited Data code:  0001 0000;
   
        b)  DST-REF:     see 13.4.3;
   
        c)  ED-TPDU-NR:  Expedited TPDU  identification  number.   ED-
TPDU-NR is used in classes 1, 3 and 4 and may take any value in Class 2. Bits 7-1 of octet 5 for normal formats and octets 5, 6 and 7 together with bits 7-1 of octet 8 for
                         extended formats;
   
   
   
                                    136
   
   

     d)  EOT:         end of TSDU always set to 1 (bit 8 of octet 5
for normal formats and bit 8 of octet 8 for
                         extended formats).
   
        NOTE - Depending on the format the fixed part shall be  either
        octets 2 to 5 or 2 to 8.
   
   
   
   
     13.8.4  Variable Part
   
     The variable part shall contain the  checksum  parameter  if  the
     condition defined in 13.2.3.1 applies.
   
   
   
   
     13.8.5  User Data Field
   
     This field contains an expedited TSDU (1 to 16 octets).
   
   
   
   
     13.9  Data Acknowledgement (AK) TPDU
   
     This TPDU shall not be used 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.
   
   
   
   
     13.9.1  Structure
   
     Depending on the class and option agreed the AK TPDU  shall  have
     one of the following structures:
   
   
   
   
   
   
   
   
                                    137
   
   

     a)  Normal Format (classes 1, 2, 3, 4)
   
      1     2      3     4        5        6        p
     +--+--------+----------+------------+---------------+
     |LI| AK CDT | DST-REF  |  YR-TU-NR  | Variable Part |
     |  | 0110   |          |            |               |
     +--+--------+----------+------------+---------------+
   
        b)  Extended Format (for use in classes 2, 3, 4 when  selected
            during connection establishment).
   
      1      2      3     4    5,6,7,8   9,10 11    p
     +--+---------+---------+----------+-----+--------+
     |LI|    AK   | DST-REF | YR-TU-NR | CDT |Variable|
     |  |0110 0000|         |          |     |  Part  |
     +--+---------+---------+----------+-----+--------+
   
   
   
   
     13.9.2  LI
   
     See 13.2.1
   
   
   
   
     13.9.3  Fixed Part
   
     The fixed part shall contain (in octet 2 to 5 when normal  format
     is used, 2 to 10 otherwise) the following parameters:
   
        a)  AK:        Acknowledgement code:  0110;
   
        b)  CDT:       Credit Value (set to 1111 in  class  1).   Bits
4-1 of octet 2 for normal formats and octets 9
                       and 10 for extended formats;
   
        c)  DST-REF:   See 13.4.3;
   
        d)  YR-TU-NR:  Sequence number indicating the next expected DT
TPDU number. For normal formats, bits 7-1 of
                       octet 5; bit 8 of octet 5  is  not  significant
   
   
   
                                    138
   
   

                    and  shall  take  the  value  0.   For extended
formats, octets 5, 6 and 7 together with bits 7-1 of octet 8; bit 8 of octet 8 is not
                       significant and shall take the value 0.
   
   
   
   
     13.9.4  Variable Part
   
     The variable part contains the following parameters:
   
        a)  Checksum  See  13.2.3.1  if  the  condition  in   13.2.3.1
            applies;
   
        b)  Subsequence  number  when  optionally   used   under   the
conditions defined in class 4. 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: 1000 1010 Parameter length: 2
            Parameter value:   16-bit sub-sequence number;
   
        c)  Flow Control Confirmation Class  4  when  optionally  used
under the conditions defined in class 4. 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 12.2.3.10). Parameter code: 1000 1011 Parameter length: 8
            Parameter value:   defined as follows
   
            1.  Lower Window Edge (32 bits)
Bit 8 of octet 4 is set to zero, the remainder contains the YR-TU-NR value of the received AK TPDU. When normal format has been selected, only the least significant seven bits (bits 1 to 7 of octet 1) of
                this field are significant.
   
            2.  Your Sub-Sequence (16 bits)
                Contains the value of the  sub-sequence  parameter  of
   
   
   
                                    139
   
   

             the  received  AK  TPDU, or zero if this parameter was
                not present.
   
            3.  Your Credit (16 bits)
Contains the value of the CDT field of the received AK TPDU. When normal format has been selected, only the least significant four bits (bits 1 to 4 of octet 1)
                of this field are significant.
   
   
   
   
     13.10  Expedited Data Acknowledgement (EA) TPDU
   
     This TPDU shall not be used for Class 0 and Class 2 when  the  no
     explicit flow control option is selected.
   
   
   
   
     13.10.1  Structure
   
     Depending on the option (normal  or  extended  format)  the  TPDU
     structure shall be:
   
        a)  Normal Format (classes 1,2,3,4)
   
             1      2      3     4      5      6        p
            +--+---------+---------+----------+------+------+
            |LI|   EA    | DST-REF | YR-TU-NR |Variable Part|
            |  |0010 0000|         |          |      |      |
            +--+---------+---------+----------+------+------+
   
        b)  Extended Format (for use in classes 2, 3,  4  if  selected
            during connection establishment)
   
             1      2      3     4    5,6,7,8  9        p
            +--+---------+---------+----------+------+------+
            |LI|   EA    | DST-REF | YR-TU-NR |Variable Part|
            |  |0010 0000|         |          |      |      |
            +--+---------+---------+----------+------+------+
   
   
   
   
   
                                    140
   
   

  13.10.2  LI
   
     See 13.2.1
   
   
   
   
     13.10.3  Fixed Part
   
     The fixed part shall contain (in octets 2 to 5 when normal format
     is used, in octets 2 to 8 otherwise):
   
        a)  EA:          Expedited Acknowledgement code:  0010 0000;
   
        b)  DST-REF:     See 13.4.3;
   
        c)  YR-EDTU-NR:  Identification   of   the   ED   TPDU   being
                         acknowledged.  May take any value in Class 2;
   
                         For normal formats bits 7-1 of octet 5; bit 8
of octet 5 is not significant and shall take the value 0. For extended formats, octets 5,6 and 7 together with bits 7-1 of octet 8; bit 8 of octet 8 is not significant and shall
                         take the value 0.
   
   
   
   
     13.10.4  Variable Part
   
     The  variable  part  may  contain  the  checksum  parameter  (see
     13.2.3.1).
   
   
   
   
     13.11  Reject (RJ) TPDU
   
     The RJ TPDU shall not be used in Classes 0, 2 and 4.
   
   
   
   
   
   
                                    141
   
   

  13.11.1  Structure
   
     The RJ TPDU shall have one of the following formats:
   
        a)  Normal Format (classes 1 and 3)
   
              1      2        3     4       5
            +----+----------+----+----+------------+
            | LI |  RJ CDT  | DST-REF |  YR-TU-NR  |
            |    | 0101     |    |    |            |
            +----+----------+----+----+------------+
   
        b)  Extended Format (for use in classes 3 if  selected  during
            connection establishment).
   
             1       2       3     4   5,6,7,8   9,10
            +--+-----------+----+----+----------+-----+
            |LI|     RJ    | DST-REF | YR-TU-NR | CDT |
            |  | 0101 0000 |    |    |          |     |
            +--+-----------+----+----+----------+-----+
   
   
   
   
     13.11.2  LI
   
     See 13.2.1.
   
   
   
   
     13.11.3  Fixed Part
   
     The fixed part shall contain (in octets 2 to 5 when normal format
     is used, in octets 2 to 10 otherwise):
   
        a)  RJ:        Reject Code:  0101.  Bits 8-5 of octet 2;
   
        b)  CDT:       Credit Value (set to 1111 in  class  1).   Bits
4-1 of octet 2 for normal formats and octets 9
                       and 10 for extended formats;
   
        c)  DST-REF:   See 13.4.3;
   
   
   
                                    142
   
   

     d)  YR-TU-NR:  Sequence number indicating  the  next  expected
                       TPDU from which retransmission should occur.
   
                       For normal formats, bits 7-1 of octet 5; bit  8
of octet 5 is not significant and shall take the value 0. For extended formats, octets 5,6 and 7 together with bits 7-1 of octet 8; bit 8 of octet 8 is not significant and shall take
                       the value 0.
   
   
   
   
     13.11.4  Variable Part
   
     There is no variable part for this TPDU type.
   
   
   
   
     13.12  TPDU Error (ER) TPDU
   
     13.12.1  Structure
   
       1        2       3     4     5         6   P
     +----+-----------+----+----+--------+----------+
     | LI |    ER     | DST-REF | Reject | Variable |
     |    | 0111 0000 |    |    | Cause  |   Part   |
     +----+-----------+----+----+--------+----------+
   
   
   
   
     13.12.2  LI
   
     See 13.2.1
   
   
   
   
   
   
   
   
   
   
                                    143
   
   

  13.12.3  Fixed Part
   
     The fixed part shall contain:
   
        a)  ER:            TPDU Error Code:  0111 0000;
   
        b)  DST-REF:       See 13.4.3;
   
        c)  REJECT CAUSE:  0000 0000  Reason not specified
0000 0001 Invalid parameter code 0000 0010 Invalid TPDU type
                           0000 0011  Invalid parameter value.
   
   
   
   
     13.12.4  Variable Part
   
     The variable part may contain the following parameters:
   
        a)  Invalid TPDU
   
            Parameter code:    1100 0001
   
            Parameter length:  number of octets of the value field
   
            Parameter Value:  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.
   
        b)  Checksum
   
            This parameter  shall  be  present  if  the  condition  in
            13.2.3.1 applies.
   
   
   
   
   
   
   
   
   
   
   
                                    144
   
   

  SECTION THREE.  CONFORMANCE
   
   
   
   
     14  CONFORMANCE
   
     14.1
   
     A system claiming to implement the procedures specified  in  this
     standard shall comply with the requirements in 14.2 - 14.5.
   
   
   
   
     14.2
   
     The system shall implement Class 0 or Class 2 or both.
   
   
   
   
     14.3
   
     If the system implements Class  3  or  Class  4,  it  shall  also
     implement Class 2.
   
   
   
   
     14.4
   
     If the system implements Class 1, it shall also  implement  Class
     0.
   
   
   
   
   
   
   
   
   
   
   
   
                                    145
   
   

  14.5
   
     For each class which the system claims to implement,  the  system
     shall be capable of:
   
        a)  initiating CR TPDUs or responding  to  CR  TPDUs  with  CC
            TPDUs or both;
   
        b)  responding to any other TPDU and operating network service
            in accordance with the procedures for the class;
   
        c)  operating all the  procedures  for  the  class  listed  as
            mandatory in table 9;
   
        d)  operating  those  procedures  for  the  class  listed   as
            optional in table 9 for which conformance is claimed;
   
        e)  handling all TPDUs of lengths up to the lesser value of:
   
            1)  the maximum length for the class;
   
            2)  the maximum for which conformance is claimed.
   
            NOTE - This requirement indicates that TPDU sizes  of  128
            octets are always implemented.
   
   
   
   
     14.6  Claims of Conformance Shall State
   
        a)  which class or classes of protocol are implemented;
   
        b)  whether the system is capable of initiating or  responding
            to CR TPDUs or both;
   
        c)  which of the procedures listed as optional in table 9  are
            implemented;
   
   
   
   
   
   
   
   
                                    146
   
   

     d)  the maximum size of TPDU implemented; the value  shall  be
chosen from the following list and all values in the list
            which are less than this maximum shall be implemented:
   
            128, 256, 512, 1024, 2048, 4096 or 8192 octets.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    147
   
   

  +------------------------------------------------------------+
     |       PROCEDURE          |    CLASS 0     |    CLASS 1     |
     |--------------------------|----------------|----------------|
     |                          |                |                |
     |TPDU with checksum        | NA             | NA             |
     |TPDU wihout checksum      | mandatory      | mandatory      |
     |                          |                |                |
     |--------------------------|----------------|----------------|
     |Expedited data transfer   | NA             | mandatory      |
     |No expedited data transfer| mandatory      | mandatory      |
     |                          |                |                |
     |--------------------------|----------------|----------------|
     |Flow control in Class 2   | NA             | NA             |
     |No flow control in Class 2| NA             | NA             |
     |                          |                |                |
     |--------------------------|----------------|----------------|
     |Normal formats            | mandatory      | mandatory      |
     |Extended formats          | NA             | NA             |
     |                          |                |                |
     |--------------------------|----------------|----------------|
     |Use of receipt confirma-  |                |                |
     |tion in Class 1           | NA             | optional       |
     |No use of receipt con-    |                |                |
     |firmation in Class 1      | NA             | mandatory      |
     |                          |                |                |
     |--------------------------|----------------|----------------|
     |Use of network expedited  |                |                |
     |in Class 1                | NA             | optional       |
     |No use of network expedi- |                |                |
     |ted in Class 1            | NA             | mandatory      |
     |                          |                |                |
     +------------------------------------------------------------+
   
     NA indicates the procedure is not applicable.
             Table 9. (First of 2 pages) Provision of options
   
   
   
   
   
   
   
                                    148
   
   

  +------------------------------------------------------------+
     |       PROCEDURE          | CLASS 2  | CLASS 3  |  CLASS 4  |
     |--------------------------|----------|----------|-----------|
     |                          |          |          |           |
     |TPDU with checksum        |NA        |NA        |mandatory  |
     |TPDU wihout checksum      |mandatory |mandatory |optional   |
     |                          |          |          |           |
     |--------------------------|----------|----------|-----------|
     |Expedited data transfer   |mandatory |mandatory |mandatory  |
     |No expedited data transfer|mandatory |mandatory |mandatory  |
     |                          |          |          |           |
     |--------------------------|----------|----------|-----------|
     |Flow control in Class 2   |mandatory |NA        |NA         |
     |No flow control in Class 2|optional  |NA        |NA         |
     |                          |          |          |           |
     |--------------------------|----------|----------|-----------|
     |Normal formats            |mandatory |mandatory |mandatory  |
     |Extended formats          |optional  |optional  |optional   |
     |                          |          |          |           |
     |--------------------------|----------|----------|-----------|
     |Use of receipt confirma-  |          |          |           |
     |tion in Class 1           |NA        |NA        |NA         |
     |No use of receipt con-    |          |          |           |
     |firmation in Class 1      |NA        |NA        |NA         |
     |                          |          |          |           |
     |--------------------------|----------|----------|-----------|
     |Use of network expedited  |          |          |           |
     |in Class 1                |NA        |NA        |NA         |
     |No use of network expedi- |          |          |           |
     |ted in Class 1            |NA        |NA        |NA         |
     |                          |          |          |           |
     +------------------------------------------------------------+
   
     NA indicates the procedure is not applicable
            Table 9. (Second of 2 pages) Provision of options
   
   
   
   
   
   
   
   
   
   
   
                                    149
   
   

  ANNEX A - STATE TABLES
   
   
     This annex is an integral part of the body of this  International
     Standard.
   
     This Annex provides a more precise description of  the  protocol.
In the event of a discrepancy between the description in these
     tables and that contained in the text, the text takes precedence.
   
     The state table also  define  the  mapping  between  service  and
     protocol events that TS-users can expect.
   
     This annex describes the transport protocol  in  terms  of  state
tables. The state tables show the state of a transport connection, the events that occur in the protocol, the actions
     taken and the resultant state.
   
     [The state tables have been omitted from this copy.]
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    150
   
   

  ANNEX B - CHECKSUM ALGORITHMS
   
     (This annex is provided for information for implementors  and  is
     not an integral part of the body of the standard.)
   
   
   
     B.1  SYMBOLS
   
     The following symbols are used:
   
        C0  variables used in the algorithms
        C1
   
        i   number (i.e. position) of an octet within  the  TPDU  (see
            12.1)
   
        n   number (i.e. position) of the first octet of the  checksum
            parameter
   
        L   length of the complete TPDU
   
        X   value of the first octet of the checksum parameter
   
        Y   value of the second octet of the checksum parameter.
   
   
   
     B.2  ARITHMETIC CONVENTIONS
   
     Addition is performed in one of the two following modes:
   
        a)  modulo 255 arithmetic;
   
        b)  one's  complement  arithmetic  in  which  if  any  of  the
variables has the value minus zero (i.e. 255) it shall be
            regarded as though it was plus zero (i.e. 0).
   
   
   
     B.3  ALGORITHM FOR GENERATING CHECKSUM PARAMETERS
   
   
   
   
   
                                    151
   
   

  B.3.1  Set up the complete TPDU with the value  of  the  checksum
     parameter field set to zero.
   
   
     B.3.2  Initialize C0 and C1 to zero.
   
   
   
     B.3.3  Process each octet sequentially from i = 1 to L by:
   
        a)  adding the value of the octet to C0; then
   
        b)  adding the value of C0 to C1.
   
   
   
     B.3.4  Calculate X and Y such that
   
        X = -C1 + (L-n).CO
        Y =  C1 - (L-n+1).C0
   
   
   
     B.3.5  Place the values  X  and  Y  in  octets  n  and  (n  +  1)
     respectively.
   
     [A Note describing the above algorithm in  mathematical  notation
     has been omitted from this copy.]
   
   
   
     B.4  ALGORITHM FOR CHECKING CHECKSUM PARAMETERS
   
   
     B.4.1  Initialize C0 and C1 to zero.
   
   
     B.4.2  Process each octet of the TPDU sequentially from i = 1  to
     L by:
   
        a)  adding the value of the octet to C0; then
   
        b)  adding the value of C0 to C1.
   
   
   
                                    152
   
   

  B.4.3  If, when all the octets have  been  processed,  either  or
both of C0 and C1 does not have the value zero, the checksum
     formulas in 6.17 have not been satisfied.
   
     NOTE - The nature of  the  algorithm  is  such  that  it  is  not
     necessary to compare explicitly the stored checksum bytes.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                    153
   
   

  Explanatory Report
   
     The Transport Layer Services and Protocols have been under  study
within TC97/SC16 since 1979. It was agreed by SC16 at its meeting in Berlin, November 1980, that the Service and Protocol
     documents would be progressed concurrently.
   
     At the SC16 meeting in Tokyo, June 1982, authorization was  given
(Resolutions 10 and 11, SC16 N 1233) to register both the Transport Service Definition and the Transport Protocol Specification as Draft Proposals and to circulate them for a 90-
     day ballot.
   
     Following the close of the letter ballot  an  Editing  Group  was
convened to integrate editorial comments and make recommendations regarding proposed technical changes. The revised texts and proposed recommendations were reviewed by SC16/WG6 at its meeting in Vienna, March 1983. The revised text of the Transport Service Definition (SC16 N 1435) was accepted as presented whereas the revised text of the Transport Protocol (SC16 N 1433) was subjected to an additional 60-day ballot. Consistent with the SC16 decision regarding the parallel progression of both DPs, the Transport Service Definition was held in abeyance pending acceptance by SC16 of the revised Transport Protocol (Second DP
     8073).
   
     A second Editing Group was  convened  in  Paris,  July  1983,  to
review comments submitted on Second DP 8073. The Minutes and Report of this meeting are documented in SC16 N1575 and N 1574 respectively. The two negative votes (DIN and NNI) were given full consideration. The NNI concerns have been fully covered in the revised text prepared by the Editing Group. The DIN concerns have been taken into account and incorporated in their large
     majority.
   
     Upon the recommendation of the Editing Group, DP 8072 and DP 8073
are forwarded for registration as Draft International Standards
     and letter ballot of ISO Member Bodies.
   
   
   
   
   
   
   
   
                                    154



Translate documents to 日本語, svenska, Nederlands, Deutsch, français, русский, italiano, español, Tiếng Việt, polski, português, 中文, українська, català, norsk, فارسی, suomi, Bahasa Indonesia, العربية, čeština, 한국어, Bahasa Melayu, magyar, română, српски and other languages.
inserted by FC2 system