home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc0905.txt < prev    next >
Text File  |  1996-05-07  |  259KB  |  6,440 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.       Network Working Group                                         ISO      Request for Comments:  905                             April 1984 
  10.  
  11.  
  12.  
  13.                    ISO Transport Protocol Specification                                 ISO DP 8073 
  14.  
  15.     Status of this Memo:        
  16.  
  17.      This document is distributed as an RFC for information only.   It      does not specify a standard for the ARPA-Internet. 
  18.  
  19.    Notes: 
  20.  
  21.      1)  RFC 892 is an older version of  the  ISO  Transport  Protocol          Specification.   Therefore  this  RFC  should  be  assumed to          supercede RFC 892. 
  22.  
  23.      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). 
  24.  
  25.      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. 
  26.  
  27.          Alex McKenzie          BBN 
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.                               Table of Contents 
  55.  
  56.  
  57.  
  58.       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 
  59.  
  60.  
  61.  
  62.                                      i 
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.       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 
  74.  
  75.  
  76.  
  77.                                     ii 
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.       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 
  89.  
  90.  
  91.  
  92.                                     iii 
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.       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 
  104.  
  105.  
  106.  
  107.                                     iv 
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.       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 
  119.  
  120.  
  121.  
  122.                                      v 
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.       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 
  134.  
  135.  
  136.  
  137.                                     vi 
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.       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 
  149.  
  150.  
  151.  
  152.                                     vii 
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.       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 
  164.  
  165.  
  166.  
  167.                                    viii 
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.       14.2   ................................................. 145      14.3   ................................................. 145      14.4   ................................................. 145      14.5   ................................................. 146      14.6   Claims of Conformance Shall State................ 146 
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.                                     ix 
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.       INTRODUCTION 
  232.  
  233.      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. 
  234.  
  235.      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. 
  236.  
  237.  
  238.  
  239.  
  240.  
  241.      -------------------------TRANSPORT SERVICE DEFINITION------------      Transport     | --- Reference to aims --------------      Protocol      |      Specification | --- Reference to assumptions -------      -------------------------NETWORK SERVICE DEFINITION-------------- 
  242.  
  243.       Relationaship between Transport Protocol and adjacent services                                 Figure 1 . 
  244.  
  245.  
  246.  
  247.      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. 
  248.  
  249.      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. 
  250.  
  251.      The protocol is structured to give rise to  classes  of  protocol      which  are  designed  to  minimize possible incompatibilities and      implementation costs. 
  252.  
  253.  
  254.  
  255.                                      1 
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.       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). 
  267.  
  268.      This protocol standard defines mechanisms that  can  be  used  to      optimize  network  tariffs and enhance the following qualities of      service: 
  269.  
  270.         a)  different throughput rates; 
  271.  
  272.         b)  different error rates; 
  273.  
  274.         c)  integrity of data requirements; 
  275.  
  276.         d)  reliability requirements. 
  277.  
  278.      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. 
  279.  
  280.      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: 
  281.  
  282.         a)  as a guide for implementors and designers; 
  283.  
  284.         b)  for use in the testing and procurement of equipment; 
  285.  
  286.         c)  as part of an agreement for the admittance of systems into             the open systems environment; 
  287.  
  288.         d)  as a refinement of the understanding of OSI. 
  289.  
  290.      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. 
  291.  
  292.  
  293.  
  294.                                      2 
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.       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. 
  306.  
  307.      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. 
  308.  
  309.      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. 
  310.  
  311.  
  312.  
  313.       1  SCOPE AND FIELD OF APPLICATION 
  314.  
  315.      1.1  This International Standard specifies: 
  316.  
  317.         a)  five classes of procedures: 
  318.  
  319.             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, 
  320.  
  321.  
  322.  
  323.                                       3 
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.              for the connection oriented transfer of data  and  control             information  from one transport entity to a peer transport             entity; 
  335.  
  336.         b)  the means of negotiating the class  of  procedures  to  be             used by the transport entities; 
  337.  
  338.         c)  the structure and encoding of the transport protocol  data             units   used   for   the  transfer  of  data  and  control             information; 
  339.  
  340.  
  341.  
  342.       1.2  The procedures are defined in terms of: 
  343.  
  344.         a)  the interactions between peer transport  entities  through             the exchange of transport protocol data units; 
  345.  
  346.         b)  the  interactions  between  a  transport  entity  and  the             transport  service  user  in  the  same system through the             exchange of transport service primitives; 
  347.  
  348.         c)  the  interactions  between  a  transport  entity  and  the             network  service  provider through the exchange of network             service primitives. 
  349.  
  350.      These procedures are defined in the main  text  of  the  standard      supplemented by state tables in annex A. 
  351.  
  352.  
  353.  
  354.       1.3 
  355.  
  356.      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. 
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.                                      4 
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.       1.4 
  376.  
  377.      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. 
  378.  
  379.  
  380.  
  381.       2  REFERENCES 
  382.  
  383.      ISO 7498  Information   processing   systems   -   Open   systems                interconnection - Basic Reference Model 
  384.  
  385.      DP 8072   Information   processing   systems   -   Open   systems                interconnection - Transport service definition 
  386.  
  387.      DP 8348   Information   processing   systems   -   Open   systems                interconnection  -  Connection-oriented network service                definition. 
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.                                      5 
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.       SECTION ONE.  GENERAL 
  425.  
  426.  
  427.  
  428.       3  DEFINITIONS 
  429.  
  430.      NOTE - The definitions contained  in  this  clause  make  use  of      abbreviations defined in clause 4. 
  431.  
  432.  
  433.  
  434.       3.1 
  435.  
  436.      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: 
  437.  
  438.         a)  concatenation and separation; 
  439.  
  440.         b)  segmenting and reassembling; 
  441.  
  442.         c)  multiplexing and demultiplexing; 
  443.  
  444.         d)  splitting and recombining; 
  445.  
  446.         e)  flow control. 
  447.  
  448.  
  449.  
  450.       3.2 
  451.  
  452.      For the purpose of this  International  Standard,  the  following      definitions apply: 
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.                                       6 
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.       3.2.1  equipment: 
  474.  
  475.      Hardware or software or a combination of both;  it  need  not  be      physically distinct within a computer system. 
  476.  
  477.  
  478.  
  479.       3.2.2  transport service user: 
  480.  
  481.      An abstract representation of  the  totality  of  those  entities      within a single system that make use of the transport service. 
  482.  
  483.  
  484.  
  485.       3.2.3  network service provider: 
  486.  
  487.      An abstract machine that models  the  totality  of  the  entities      providing the network service, as viewed by a transport entity. 
  488.  
  489.  
  490.  
  491.       3.2.4  local matter: 
  492.  
  493.      A decision made by  a  system  concerning  its  behavior  in  the      Transport  Layer  that is not subject to the requirements of this      protocol. 
  494.  
  495.  
  496.  
  497.       3.2.5  initiator: 
  498.  
  499.      A transport entity that initiates a CR TPDU. 
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.                                       7 
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.       3.2.6  responder: 
  521.  
  522.      A transport entity with whom an initiator wishes to  establish  a      transport connection. 
  523.  
  524.      NOTE - Initiator and responder are  defined  with  respect  to  a      single  transport  connection.  A transport entity can be both an      initiator and responder simultaneously. 
  525.  
  526.  
  527.  
  528.       3.2.7  sending transport entity: 
  529.  
  530.      A transport entity that sends a given TPDU. 
  531.  
  532.  
  533.  
  534.       3.2.8  receiving transport entity: 
  535.  
  536.      A transport entity that receives a given TPDU. 
  537.  
  538.  
  539.  
  540.       3.2.9  preferred class: 
  541.  
  542.      The protocol class that the initiator indicates in a CR  TPDU  as      its first choice for use over the transport connection. 
  543.  
  544.  
  545.  
  546.       3.2.10  alternative class: 
  547.  
  548.      A protocol class that the initiator indicates in a CR TPDU as  an      alternative choice for use over the transport connection. 
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.                                       8 
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.       3.2.11  proposed class: 
  568.  
  569.      A preferred class or an alternative class. 
  570.  
  571.  
  572.  
  573.       3.2.12  selected class: 
  574.  
  575.      The protocol class that the responder indicates in a CC TPDU that      it has chosen for use over the transport connection. 
  576.  
  577.  
  578.  
  579.       3.2.13  proposed parameter: 
  580.  
  581.      The value for a parameter that the initiator indicates  in  a  CR      TPDU that it wishes to use over the transport connection. 
  582.  
  583.  
  584.  
  585.       3.2.14  selected parameter: 
  586.  
  587.      The value for a parameter that the responder indicates  in  a  CC      TPDU that it has chosen for use over the transport connection. 
  588.  
  589.  
  590.  
  591.       3.2.15  error indication: 
  592.  
  593.      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. 
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.                                       9 
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.       3.2.16  invalid TPDU: 
  615.  
  616.      A TPDU that  does  not  comply  with  the  requirements  of  this      International Standard for structure and encoding. 
  617.  
  618.   
  619.  
  620.      3.2.17  protocol error: 
  621.  
  622.      A TPDU whose use does not comply  with  the  procedures  for  the      class. 
  623.  
  624.  
  625.  
  626.       3.2.18  sequence number: 
  627.  
  628.         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. 
  629.  
  630.         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. 
  631.  
  632.  
  633.  
  634.       3.2.19  transmit window: 
  635.  
  636.      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. 
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.                                      10 
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.       3.2.20  lower window edge: 
  660.  
  661.      The lowest sequence number in a transmit window. 
  662.  
  663.  
  664.  
  665.       3.2.21  upper window edge: 
  666.  
  667.      The sequence  number  which  is  one  greater  than  the  highest      sequence number in the transmit window. 
  668.  
  669.  
  670.  
  671.       3.2.22  upper window edge allocated to the peer entity: 
  672.  
  673.      The value that a transport entity communicates to its peer entity      to be interpreted as its new upper window edge. 
  674.  
  675.  
  676.  
  677.       3.2.23  closed window: 
  678.  
  679.      A transmit window that contains no sequence number. 
  680.  
  681.  
  682.  
  683.       3.2.24  window information: 
  684.  
  685.      Information contained in a TPDU relating to  the  upper  and  the      lower window edges. 
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.                                      11 
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.       3.2.25  frozen reference: 
  709.  
  710.      A reference that is not available for assignment to a  connection      because of the requirements of 6.18. 
  711.  
  712.  
  713.  
  714.       3.2.26  unassigned reference: 
  715.  
  716.      A reference that is neither currently in use  for  identifying  a      transport connection or which is in a frozen state. 
  717.  
  718.  
  719.  
  720.       3.2.27  transparent (data): 
  721.  
  722.      TS-user  data  that  is  transferred  intact  between   transport      entities  and  which  is  unavailable  for  use  by the transport      entities. 
  723.  
  724.  
  725.  
  726.       3.2.28  owner (of a network connection): 
  727.  
  728.      The transport entity that issued the N-CONNECT request leading to      the creation of that network connection. 
  729.  
  730.  
  731.  
  732.       3.2.29  retained TPDU: 
  733.  
  734.      A TPDU  that  is  subject  to  the  retransmission  procedure  or      retention  until  acknowledgement  procedure and is available for      possible retransmission. 
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.                                      12 
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.       4  SYMBOLS AND ABBREVIATIONS 
  754.  
  755.      4.1  Data units 
  756.  
  757.         TPDU          Transport protocol data unit         TSDU          Transport service data unit         NSDU          Network service data unit 
  758.  
  759.  
  760.  
  761.       4.2  Types of transport protocol data units 
  762.  
  763.         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 
  764.  
  765.  
  766.  
  767.       4.3  TPDU fields 
  768.  
  769.         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) 
  770.  
  771.  
  772.  
  773.  
  774.  
  775.                                      13 
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.       4.4  Times and associated variables 
  787.  
  788.         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 
  789.  
  790.  
  791.  
  792.  
  793.  
  794.      4.5  Miscellaneous 
  795.  
  796.          TS-user          Transport service user         TSAP             Transport service access point         NS-provider      Network service provider         NSAP             Network service access point         QOS              Quality of service 
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.                                      14 
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.       5  OVERVIEW OF THE TRANSPORT PROTOCOL 
  820.  
  821.      NOTE - This overview is not exhaustive and has been provided  for      guidance to the reader of this International Standard. 
  822.  
  823.  
  824.  
  825.       5.1  Service provided by the transport layer 
  826.  
  827.      The protocol specified in this  International  Standard  supports      the transport service defined in DP 8072. 
  828.  
  829.      Information is  transferred  to  and  from  the  TS-user  in  the      transport service primitives listed in table 1. 
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.                                     15 
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.       +-------------------------------------------------------------+      |           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.            |      +--------------------------------|----------------------------+ 
  877.  
  878.                    Table 1. Transport service primitives 
  879.  
  880.  
  881.  
  882.  
  883.  
  884.      5.2  Service assumed from the network layer 
  885.  
  886.      The protocol specified in this International Standard assumes the      use of the network service defined in DP 8348. 
  887.  
  888.      Information is transferred to and from  the  NS-provider  in  the      network service primitives listed in table 2. 
  889.  
  890.  
  891.  
  892.                                     16 
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.       +---------------------------------------------------------------+      |        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 
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.                                      17 
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.       Key: 
  929.  
  930.         X - The Transport  Protocol  assumes  that  this  facility  is             provided in all networks. 
  931.  
  932.         Y - The Transport  Protocol  assumes  that  this  facility  is             provided  in  some networks and a mechanism is provided to             optionally use the facility. 
  933.  
  934.         Z - The Transport Protocol does not use this parameter. 
  935.  
  936.      NOTES: 
  937.  
  938.         1 - The parameters listed in  this  table  are  those  in  the             current network service (first DP 8348). 
  939.  
  940.         2 - The way the parameters are exchanged between the transport             entity and the NS-provider is a local matter. 
  941.  
  942.  
  943.  
  944.       5.3  Functions of the Transport Layer 
  945.  
  946.      5.3.1  Overview of functions 
  947.  
  948.      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. 
  949.  
  950.      The functions in the  Transport  Layer  are  concerned  with  the      enhancement  of  quality  of  service,  including aspects of cost      optimization. 
  951.  
  952.      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. 
  953.  
  954.      NOTE - This International Standard does not include the following      functions  which  are under consideration for inclusion in future      editions of this standard: 
  955.  
  956.         a)  encryption; 
  957.  
  958.  
  959.  
  960.                                     18 
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.          b)  accounting mechanisms; 
  972.  
  973.         c)  status exchanges and monitoring of QOS;          d)  blocking; 
  974.  
  975.         e)  temporary release of network connections; 
  976.  
  977.         f)  alternative checksum algorithm. 
  978.  
  979.  
  980.  
  981.       5.3.1.1  Functions used at all times 
  982.  
  983.      The following functions, depending upon the  selected  class  and      options, are used at all times during a transport connection: 
  984.  
  985.         a)  transmission of TPDUs (see 6.2 and 6.9); 
  986.  
  987.         b)  multiplexing and demultiplexing  (see  6.15),  a  function             used  to  share a single network connection between two or             more transport connections; 
  988.  
  989.         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; 
  990.  
  991.         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. 
  992.  
  993.  
  994.  
  995.       5.3.1.2  Connection Establishment 
  996.  
  997.      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: 
  998.  
  999.  
  1000.  
  1001.                                      19 
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.          a)  select network service which best matches the  requirement             of  the  TS-user  taking  into account charges for various             services (see 6.5); 
  1013.  
  1014.         b)  decide whether to multiplex multiple transport connections             onto a single network connection (see 6.5); 
  1015.  
  1016.         c)  establish the optimum TPDU size (see 6.5); 
  1017.  
  1018.         d)  select  the  functions  that  will  be  operational   upon             entering the data transfer phase (see 6.5); 
  1019.  
  1020.         e)  map transport addresses onto network addresses; 
  1021.  
  1022.         f)  provide a  means  to  distinguish  between  two  different             transport connections (see 6.5); 
  1023.  
  1024.         g)  transport of TS-user data (see 6.5). 
  1025.  
  1026.  
  1027.  
  1028.       5.3.1.3  Data Transfer 
  1029.  
  1030.      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: 
  1031.  
  1032.         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; 
  1033.  
  1034.         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; 
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.                                      20 
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.          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; 
  1052.  
  1053.         d)  flow control (see 6.16), a function used to  regulate  the             flow  of  TPDUs  between  two  transport  entities  on one             transport connection; 
  1054.  
  1055.         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; 
  1056.  
  1057.         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; 
  1058.  
  1059.         g)  TSDU delimiting (see 6.3), a function  used  to  determine             the beginning and ending of a TSDU. 
  1060.  
  1061.  
  1062.  
  1063.       5.3.1.4  Release 
  1064.  
  1065.      The  purpose  of  release  (see  6.7  and  6.8)  is  to   provide      disconnection  of  the  transport  connection,  regardless of the      current activity. 
  1066.  
  1067.  
  1068.  
  1069.       5.4  Classes and options 
  1070.  
  1071.      5.4.1  General 
  1072.  
  1073.      The functions of the Transport Layer  have  been  organized  into      classes and options. 
  1074.  
  1075.      A class  defines  a  set  of  functions.   Options  define  those      functions within a class which may or may not be used. 
  1076.  
  1077.      This International Standard defines five classes of protocol: 
  1078.  
  1079.  
  1080.  
  1081.                                     21 
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.          a)  Class 0:  Simple Class; 
  1093.  
  1094.         b)  Class 1:  Basic Error recovery Class; 
  1095.  
  1096.         c)  Class 2:  Multiplexing Class; 
  1097.  
  1098.         d)  Class 3:  Error Recovery and Multiplexing Class; 
  1099.  
  1100.         e)  Class 4:  Error Detection and Recovery Class. 
  1101.  
  1102.      NOTE - Transport connections  of  classes  2,  3  and  4  may  be      multiplexed together onto the same network connection. 
  1103.  
  1104.  
  1105.  
  1106.       5.4.2  Negotiation 
  1107.  
  1108.      The use of classes and options is  negotiated  during  connection      establishment.   The  choice  made by the transport entities will      depend upon: 
  1109.  
  1110.         a)  the TS-users' requirements expressed via T-CONNECT service             primitives; 
  1111.  
  1112.         b)  the quality of the available network services; 
  1113.  
  1114.         c)  the user required service versus cost ratio acceptable  to             the TS-user. 
  1115.  
  1116.  
  1117.  
  1118.       5.4.3  Choice of network connection 
  1119.  
  1120.      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: 
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.                                      22 
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.          a)  Type A.  Network connection with acceptable residual error             rate  (for  example  not signalled by disconnect or reset)             and acceptable rate of signalled errors. 
  1138.  
  1139.         b)  Type B.   Network  connections  with  acceptable  residual             error  rate  (for  example  not signalled by disconnect or             reset) but unacceptable rate of signalled errors. 
  1140.  
  1141.         c)  Type C.  Network connections  with  unacceptable  residual             error rate. 
  1142.  
  1143.      It is assumed that each transport entity is aware of the  quality      of service provided by particular network connections. 
  1144.  
  1145.  
  1146.  
  1147.       5.4.4  Characteristics of Class 0 
  1148.  
  1149.      Class 0 provides the simplest type of transport connection and is      fully  compatible  with the CCITT recommendation S.70 for teletex      terminals. 
  1150.  
  1151.      Class 0 has  been  designed  to  be  used  with  type  A  network      connections. 
  1152.  
  1153.  
  1154.  
  1155.       5.4.5  Characteristics of Class 1 
  1156.  
  1157.      Class 1  provides  a  basic  transport  connection  with  minimal      overheads. 
  1158.  
  1159.      The main  purpose  of  the  class  is  to  recover  from  network      disconnect or reset. 
  1160.  
  1161.      Selection of this class is usually based on reliability criteria.      Class  1  has  been  designed  to  be  used  with  type B network      connections. 
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.                                      23 
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.       5.4.6  Characteristics of Class 2 
  1179.  
  1180.      5.4.6.1  General 
  1181.  
  1182.      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. 
  1183.  
  1184.  
  1185.  
  1186.       5.4.6.2  Use of explicit flow control 
  1187.  
  1188.      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. 
  1189.  
  1190.  
  1191.  
  1192.       5.4.6.3  Non-use of explicit flow control 
  1193.  
  1194.      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. 
  1195.  
  1196.  
  1197.  
  1198.       5.4.7  Characteristics of Class 3 
  1199.  
  1200.      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. 
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.                                      24 
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.       5.4.8  Characteristics of Class 4 
  1218.  
  1219.      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. 
  1220.  
  1221.      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. 
  1222.  
  1223.  
  1224.  
  1225.       5.5  Model of the transport layer 
  1226.  
  1227.      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. 
  1228.  
  1229.      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. 
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.                                      25 
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.                 +------+                        +------+      ----------| TSAP |------------------------| TSAP |----------                +------+                        +------+                    |                               |             +---------------+               +---------------+             | Transport     |               | Transport     |             |       entity  |               |       entity  |             +---------------+               +---------------+                    |                               |                    |                               |                +------+                        +------+      ----------| NSAP |------------------------| NSAP |----------                +------+                        +------+                    |                               |                    +-------------------------------+ 
  1259.  
  1260.                   Figure 2 . Model of the transport layer 
  1261.  
  1262.  
  1263.  
  1264.      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. 
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.                                      26 
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.       SECTION TWO.  TRANSPORT PROTOCOL SPECIFICATION 
  1294.  
  1295.  
  1296.  
  1297.       6  ELEMENTS OF PROCEDURE 
  1298.  
  1299.      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. 
  1300.  
  1301.      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. 
  1302.  
  1303.      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. 
  1304.  
  1305.  
  1306.  
  1307.       6.1  Assignment to network connection 
  1308.  
  1309.      6.1.1  Purpose 
  1310.  
  1311.      The  procedure  is  used  in  all  classes  to  assign  transport      connections to network connections. 
  1312.  
  1313.  
  1314.  
  1315.       6.1.2  Network service primitives 
  1316.  
  1317.      The  procedure  makes  use  of  the  following  network   service      primitives: 
  1318.  
  1319.         a)  N-CONNECT; 
  1320.  
  1321.         b)  N-DISCONNECT. 
  1322.  
  1323.  
  1324.  
  1325.                                      27 
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.       6.1.3  Procedure 
  1337.  
  1338.      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. 
  1339.  
  1340.      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). 
  1341.  
  1342.      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. 
  1343.  
  1344.      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. 
  1345.  
  1346.      The responder becomes aware of the assignment when it receives 
  1347.  
  1348.         a)  a CR TPDU during the  connection  establishment  procedure             (see 6.5); or 
  1349.  
  1350.         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 
  1351.  
  1352.         c)  any TPDU when splitting (see 6.23) is used. 
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.                                     28 
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.       NOTES 
  1374.  
  1375.         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. 
  1376.  
  1377.         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. 
  1378.  
  1379.         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. 
  1380.  
  1381.         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. 
  1382.  
  1383.  
  1384.  
  1385.       6.2  Transport protocol data unit (TPDU) transfer 
  1386.  
  1387.      6.2.1  Purpose 
  1388.  
  1389.      The TPDU transfer procedure is used  in  all  classes  to  convey      transport  protocol  data  units  in  user data fields of network      service primitives. 
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.                                     29 
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.       6.2.2  Network Service Primitives 
  1407.  
  1408.      The procedure uses the following network service primitives: 
  1409.  
  1410.         a)  N-DATA; 
  1411.  
  1412.         b)  N-EXPEDITED DATA 
  1413.  
  1414.  
  1415.  
  1416.       6.2.3  Procedure 
  1417.  
  1418.      The  transport  protocol  data  units  (TPDUs)  defined  for  the      protocol are listed in 4.2. 
  1419.  
  1420.      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. 
  1421.  
  1422.      In all other cases, transport entities shall transmit and receive      TPDUs as NS-user data parameters of N-DATA primitives. 
  1423.  
  1424.      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. 
  1425.  
  1426.      NOTE - TPDUs may be concatenated (see 6.4). 
  1427.  
  1428.  
  1429.  
  1430.       6.3  Segmenting and reassembling 
  1431.  
  1432.      6.3.1  Purpose 
  1433.  
  1434.      The segmenting and reassembling procedure is used in all  classes      to map TSDUs onto TPDUs. 
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.                                      30 
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.       6.3.2  TPDUs and parameter used 
  1454.  
  1455.      The procedure makes use of the following TPDU and parameter: 
  1456.  
  1457.         DT TPDUs; 
  1458.  
  1459.            - End of TSDU. 
  1460.  
  1461.  
  1462.  
  1463.       6.3.3  Procedure 
  1464.  
  1465.      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. 
  1466.  
  1467.      All DT TPDUs except the last DT TPDU in a sequence  greater  than      one shall have a length of data greater than zero. 
  1468.  
  1469.      NOTES 
  1470.  
  1471.         1.  The EOT parameter of a DT TPDU indicates  whether  or  not             there are subsequent DT TPDUs in the sequence. 
  1472.  
  1473.         2.  There is no requirement that the DT TPDUs shall be of  the             maximum length selected during connection establishment. 
  1474.  
  1475.  
  1476.  
  1477.       6.4  Concatenation and separation 
  1478.  
  1479.      6.4.1  Purpose 
  1480.  
  1481.      The procedure for concatenation and separation is used in classes      1, 2, 3 and 4 to convey multiple TPDUs in one NSDU. 
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.                                     31 
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.       6.4.2  Procedure 
  1503.  
  1504.      A transport  entity  may  concatenate  TPDUs  from  the  same  or      different transport connections. 
  1505.  
  1506.      The set of concatenated TPDUs may contain: 
  1507.  
  1508.         a)  any number of TPDUs from the following list:  AK, EA,  RJ,             ER,   DC  TPDUs,  provided  that  these  TPDUs  come  from             different transport connections; 
  1509.  
  1510.         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. 
  1511.  
  1512.      NOTES 
  1513.  
  1514.         1.  The TPDUs within a concatenated set may  be  distinguished             by means of the length indicator parameter. 
  1515.  
  1516.         2.  The end of a TPDU containing  data  is  indicated  by  the             termination of the NSDU. 
  1517.  
  1518.         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. 
  1519.  
  1520.  
  1521.  
  1522.       6.5  Connection establishment 
  1523.  
  1524.      6.5.1  Purpose 
  1525.  
  1526.      The procedure for connection establishment is used in all classes      to create a new transport connection. 
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.                                     32 
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.       6.5.2  Network service primitives 
  1548.  
  1549.      The procedure uses the following network service primitive: 
  1550.  
  1551.      N-DATA 
  1552.  
  1553.  
  1554.  
  1555.       6.5.3  TPDUs and parameters used 
  1556.  
  1557.      The procedure uses the following TPDUs and parameters: 
  1558.  
  1559.         a)  CR TPDU; 
  1560.  
  1561.             - 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. 
  1562.  
  1563.         b)  CC TPDU; 
  1564.  
  1565.             - CDT;             - DST-REF; 
  1566.  
  1567.  
  1568.  
  1569.                                     33 
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.              - 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. 
  1581.  
  1582.           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. 
  1583.  
  1584.  
  1585.  
  1586.       6.5.4  Procedure 
  1587.  
  1588.      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. 
  1589.  
  1590.      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. 
  1591.  
  1592.           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 
  1593.  
  1594.  
  1595.  
  1596.                                     34 
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.            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. 
  1608.  
  1609.      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). 
  1610.  
  1611.      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. 
  1612.  
  1613.      The following information is exchanged: 
  1614.  
  1615.         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: 
  1616.  
  1617.             1)  it shall not already be in use or frozen (see 6.18), 
  1618.  
  1619.             2)  it shall not be zero. 
  1620.  
  1621.             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. 
  1622.  
  1623.         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. 
  1624.  
  1625.         c)  initial credit.  Only relevant for classes  which  include             the explicit flow control function. 
  1626.  
  1627.         d)  user data.  Not available if  Class  0  is  the  preferred             class (see note).  Up to 32 octets in other classes. 
  1628.  
  1629.  
  1630.  
  1631.                                      35 
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.              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). 
  1643.  
  1644.         e)  acknowledgement time.  Only in class 4. 
  1645.  
  1646.         f)  checksum parameter.  Only in class 4. 
  1647.  
  1648.         g)  security parameter.  This parameter and its semantics  are             user defined. 
  1649.  
  1650.      The following negotiations take place: 
  1651.  
  1652.         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. 
  1653.  
  1654.             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. 
  1655.  
  1656.      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. 
  1657.  
  1658.      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. 
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.                                      36 
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.       +------------------------------------------------------------+      | 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. 
  1682.  
  1683.  
  1684.  
  1685.       Valid responses corresponding to  the  preferred  class  and  any      alternative class proposed in the CR TPDU 
  1686.  
  1687.       NOTES: 
  1688.  
  1689.         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: 
  1690.  
  1691.             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. 
  1692.  
  1693.  
  1694.  
  1695.                                     37 
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.          2.  Negotiation from class 2 to class 1 and from any class  to             an higher-numbered class is not valid. 
  1707.  
  1708.         3.  Redundant combinations are not a protocol error. 
  1709.  
  1710.         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). 
  1711.  
  1712.             NOTE - The length of the  CR  TPDU  does  not  exceed  128             octets (see 13.3). 
  1713.  
  1714.         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. 
  1715.  
  1716.         m)  checksum selection.  This defines whether or not TPDUs  of             the connection are to include a checksum. 
  1717.  
  1718.         n)  quality  of  service   parameters.    This   defines   the             throughput,  transit  delay,  priority  and residual error             rate. 
  1719.  
  1720.         p)  the non-use of explicit flow control in class 2. 
  1721.  
  1722.         q)  the  use  of  network  receipt  confirmation  and  network             expedited when class 1 is to be used. 
  1723.  
  1724.         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). 
  1725.  
  1726.      The following information is sent only in the CR TPDU: 
  1727.  
  1728.         s)  version number.  This defines the version of the transport             protocol standard used for this connection. 
  1729.  
  1730.         t)  reassignment time parameter.  This indicates the time  for             which   the   initiator  will  persist  in  following  the             reassignment after failure procedure. 
  1731.  
  1732.  
  1733.  
  1734.                                      38 
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.       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. 
  1746.  
  1747.      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. 
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.      +-------------------------------------------------------------+      |        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        |      +-------------------------------------------------------------+ 
  1754.  
  1755.       Table 4. Negotiation of options during connection establishment 
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.                                     39 
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.       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. 
  1773.  
  1774.  
  1775.  
  1776.       6.6  Connection refusal 
  1777.  
  1778.      6.6.1  Purpose 
  1779.  
  1780.      The connection refusal procedure is used in all  classes  when  a      transport  entity refuses a transport connection in response to a      CR TPDU. 
  1781.  
  1782.  
  1783.  
  1784.       6.6.2  TPDUs and parameters used 
  1785.  
  1786.      The procedure makes use of the following TPDUs and parameters: 
  1787.  
  1788.         a)  DR TPDU; 
  1789.  
  1790.             - SRC-REF;             - reason;             - user data. 
  1791.  
  1792.         b)  ER TPDU; 
  1793.  
  1794.             - reject code;             - rejected TPDU parameter. 
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.                                      40 
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.       6.6.3  Procedure 
  1814.  
  1815.      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. 
  1816.  
  1817.      If  a  DR  TPDU  is  received  the  initiator  shall  regard  the      connection as released. 
  1818.  
  1819.      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. 
  1820.  
  1821.      NOTES 
  1822.  
  1823.      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. 
  1824.  
  1825.      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. 
  1826.  
  1827.  
  1828.  
  1829.       6.7  Normal release 
  1830.  
  1831.      6.7.1  Purpose 
  1832.  
  1833.      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. 
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.                                     41 
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.       NOTES 
  1855.  
  1856.      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. 
  1857.  
  1858.      2.  The use of the explicit  variant  of  the  release  procedure          enables the transport connection to be released independently          of the underlying network connection. 
  1859.  
  1860.  
  1861.  
  1862.       6.7.2  Network service primitives 
  1863.  
  1864.      The  procedure  makes  use  of  the  following  network   service      primitives: 
  1865.  
  1866.         a)  N-DISCONNECT (implicit variant only), 
  1867.  
  1868.         b)  N-DATA 
  1869.  
  1870.  
  1871.  
  1872.       6.7.3  TPDUs and parameters used 
  1873.  
  1874.      The procedure makes use of the following TPDUs and parameters: 
  1875.  
  1876.         a)  DR TPDU; 
  1877.  
  1878.             - clearing reason;             - user data;             - SRC-REF;             - DST-REF. 
  1879.  
  1880.         b)  DC TPDU. 
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.                                     42 
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.       6.7.4  Procedure for implicit variant 
  1902.  
  1903.      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. 
  1904.  
  1905.  
  1906.  
  1907.       6.7.5  Procedure for explicit variant 
  1908.  
  1909.      When the release of a transport connection is to be  initiated  a      transport entity 
  1910.  
  1911.         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; 
  1912.  
  1913.         b)  in other cases it shall: 
  1914.  
  1915.             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. 
  1916.  
  1917.              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. 
  1918.  
  1919.         A transport entity that receives a DR TPDU shall 
  1920.  
  1921.         c)  if it has previously sent a DR TPDU for the same transport             connection, consider the transport connection released; 
  1922.  
  1923.         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). 
  1924.  
  1925.  
  1926.  
  1927.                                      43 
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.          e)  in other cases, send a DC TPDU and consider the  transport             connection released. 
  1939.  
  1940.         NOTES 
  1941.  
  1942.         1)  This requirement ensures  that  the  transport  entity  is             aware   of   the   remote   reference  for  the  transport             connection. 
  1943.  
  1944.         2)  When the transport connection is  considered  as  released             the  local  reference is either available for re-use or is             frozen (see 6.18). 
  1945.  
  1946.         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.). 
  1947.  
  1948.         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. 
  1949.  
  1950.         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). 
  1951.  
  1952.  
  1953.  
  1954.       6.8  Error Release 
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.                                     44 
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.       6.8.1  Purpose 
  1976.  
  1977.      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. 
  1978.  
  1979.  
  1980.  
  1981.       6.8.2  Network service primitives 
  1982.  
  1983.      The procedure makes use of the following service primitives: 
  1984.  
  1985.         a)  N-DISCONNECT indication; 
  1986.  
  1987.         b)  N-RESET indication. 
  1988.  
  1989.  
  1990.  
  1991.       6.8.3  Procedure 
  1992.  
  1993.      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. 
  1994.  
  1995.      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. 
  1996.  
  1997.  
  1998.  
  1999.       6.9  Association of TPDUs with transport connections 
  2000.  
  2001.      6.9.1  Purpose 
  2002.  
  2003.      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. 
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.                                     45 
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.       6.9.2  Network service primitives 
  2021.  
  2022.      This  procedure  makes  use  of  the  following  network  service      primitives: 
  2023.  
  2024.         a)  N-DATA indication; 
  2025.  
  2026.         b)  N-EXPEDITED DATA indication. 
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.      6.9.3  TPDUs and parameters uses 
  2033.  
  2034.      This procedure makes use of the following TPDUs and parameters: 
  2035.  
  2036.         a)  any TPDU except CR TPDU, DT TPDU in classes 0 or 1 and  AK             TPDU in class 1; 
  2037.  
  2038.             - DST-REF 
  2039.  
  2040.         b)  CR, CC, DR and DC TPDUs; 
  2041.  
  2042.             - SCR-REF. 
  2043.  
  2044.         c)  DT TPDU in classes 0 or 1 and AK TPDU in class 1. 
  2045.  
  2046.  
  2047.  
  2048.       6.9.4  Procedures 
  2049.  
  2050.      6.9.4.1  Identification of TPDUs 
  2051.  
  2052.      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: 
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.                                     46 
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.          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; 
  2072.  
  2073.         b)  otherwise 
  2074.  
  2075.             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. 
  2076.  
  2077.             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. 
  2078.  
  2079.             If the NSDU can be  decoded  and  is  not  corrupted,  the             transport entity shall: 
  2080.  
  2081.         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). 
  2082.  
  2083.         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. 
  2084.  
  2085.  
  2086.  
  2087.       6.9.4.2  Association of individual TPDUs 
  2088.  
  2089.      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. 
  2090.  
  2091.      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 
  2092.  
  2093.  
  2094.  
  2095.                                     47 
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.       where a class 1 transport connection is assigned, then  the  TPDU      is associated with the transport connection. 
  2107.  
  2108.      Otherwise, the DST-REF parameter of the TPDU is used to  identify      the transport connection.  The following cases are distinguished: 
  2109.  
  2110.         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. 
  2111.  
  2112.         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: 
  2113.  
  2114.             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, 
  2115.  
  2116.             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. 
  2117.  
  2118.             3)  Otherwise, the TPDU is considered as having a  DST-REF                 not allocated to a transport connection (case a). 
  2119.  
  2120.         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. 
  2121.  
  2122.         d)  If the TPDU is a DR TPDU then there are three cases: 
  2123.  
  2124.             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; 
  2125.  
  2126.  
  2127.  
  2128.                                     48 
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.              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; 
  2140.  
  2141.             3)  otherwise,  the  DR  TPDU  is  associated   with   the                 transport   connection   identified   by  the  DST-REF                 parameter. 
  2142.  
  2143.         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. 
  2144.  
  2145.         f)  if none  of  the  above  cases  apply  then  the  TPDU  is             associated with the transport connection identified by the             DST-REF parameter. 
  2146.  
  2147.  
  2148.  
  2149.       6.10  Data TPDU numbering 
  2150.  
  2151.      6.10.1  Purpose 
  2152.  
  2153.      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. 
  2154.  
  2155.  
  2156.  
  2157.       6.10.2  TPDUs and parameters used 
  2158.  
  2159.      The procedure makes use of the following TPDU and parameter: 
  2160.  
  2161.         DT TPDU; 
  2162.  
  2163.         - TPDU-NR. 
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.                                     49 
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.       6.10.3  Procedure 
  2181.  
  2182.      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. 
  2183.  
  2184.      When a DT TPDU is retransmitted, the TPDU-NR parameter shall have      the same value as in the first transmission of that DT TPDU. 
  2185.  
  2186.      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'. 
  2187.  
  2188.  
  2189.  
  2190.       6.11  Expedited data transfer 
  2191.  
  2192.      6.11.1  Purpose 
  2193.  
  2194.      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. 
  2195.  
  2196.  
  2197.  
  2198.       6.11.2  Network service primitives 
  2199.  
  2200.      The  procedure  makes  use  of  the  following  network   service      primitives: 
  2201.  
  2202.         a)  N-DATA; 
  2203.  
  2204.  
  2205.  
  2206.                                      50 
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.          b)  N-EXPEDITED DATA. 
  2218.  
  2219.  
  2220.  
  2221.       6.11.3  TPDUs and parameter used 
  2222.  
  2223.      The procedure makes use of the following TPDUs and parameters: 
  2224.  
  2225.         a)  ED TPDU; 
  2226.  
  2227.             - ED TPDU-NR. 
  2228.  
  2229.         b)  EA TPDU; 
  2230.  
  2231.             - YR-EDTU-NR. 
  2232.  
  2233.  
  2234.  
  2235.       6.11.4  Procedures 
  2236.  
  2237.      The TS-user data parameter of each T-EXPEDITED DATA request shall      be conveyed as the data field of an Expedited Data (ED) TPDU. 
  2238.  
  2239.      Each ED TPDU received  shall  be  acknowledged  by  an  Expedited      Acknowledge (EA) TPDU. 
  2240.  
  2241.      No more than one ED TPDU shall remain unacknowledged at any  time      for each direction of a transport connection. 
  2242.  
  2243.      An ED TPDU with a zero length data field is a protocol error. 
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.                                      51 
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.       NOTES 
  2269.  
  2270.         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). 
  2271.  
  2272.         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. 
  2273.  
  2274.  
  2275.  
  2276.       6.12  Reassignment after failure 
  2277.  
  2278.      6.12.1  Purpose 
  2279.  
  2280.      The reassignment after failure procedure is used in Classes 1 and      3 to commence recovery from an NS-provider signalled disconnect. 
  2281.  
  2282.  
  2283.  
  2284.       6.12.2  Network service primitives 
  2285.  
  2286.      The procedure uses the following network service primitive: 
  2287.  
  2288.           N-DISCONNECT indication 
  2289.  
  2290.  
  2291.  
  2292.       6.12.3  Procedure 
  2293.  
  2294.      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: 
  2295.  
  2296.         a)  if the TTR timer has not already run out and no DR TPDU is             retained then: 
  2297.  
  2298.  
  2299.  
  2300.                                      52 
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.              1)  assign the transport connection to a different network                 connection  (see  6.1)  and start its TTR timer if not                 already started. 
  2312.  
  2313.             2)  while waiting for the completion of assignment if: 
  2314.  
  2315.                 - an N-DISCONNECT indication is received,  repeat  the                   procedure from 6.12.3.a, 
  2316.  
  2317.                 - the TTR timer expires, begin procedure 6.12.3.b. 
  2318.  
  2319.             3)  when     reassignment     is     completed,      begin                 resynchronization (see 6.14) and: 
  2320.  
  2321.                 - if a valid TPDU is received as  the  result  of  the                   resynchronization, stop the TTR timer, or 
  2322.  
  2323.                 - if TTR runs out, wait for the next event, or 
  2324.  
  2325.                 - 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. 
  2326.  
  2327.             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. 
  2328.  
  2329.         b)  if the TTR timer  has  run  out,  consider  the  transport             connection  as  released  and  freeze  the  reference (see             6.18). 
  2330.  
  2331.         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. 
  2332.  
  2333.      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 
  2334.  
  2335.  
  2336.  
  2337.                                     53 
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.       transport connection is considered released and the reference  is      frozen (see 6.18). 
  2349.  
  2350.  
  2351.  
  2352.       6.12.4  Timers 
  2353.  
  2354.      The reassignment after failure procedure uses two timers: 
  2355.  
  2356.         a)  TTR, the time to try reassignment/resynchronization timer; 
  2357.  
  2358.         b)  TWR, the time to wait  for  reassignment/resynchronization             timer. 
  2359.  
  2360.      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. 
  2361.  
  2362.      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. 
  2363.  
  2364.      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. 
  2365.  
  2366.      NOTES 
  2367.  
  2368.      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. 
  2369.  
  2370.      2.  Inclusion of the reassignment time parameter in the  CR  TPDU          allows  the  responder  to  use  a  TWR  value of less than 2          minutes. 
  2371.  
  2372.      3.  If  the  optional  TS1  and  TS2  timers  are  used,  it   is          recommended: 
  2373.  
  2374.  
  2375.  
  2376.                                     54 
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.              a)  to stop TS1 or TS2 if  running  when  TTR  or  TWR  is                 started; 
  2388.  
  2389.             b)  to  restart  TS1  or  TS2  if   necessary   when   the                 corresponding TPDU (CR TPDU or DR TPDU respectively is                 repeated); 
  2390.  
  2391.             c)  to select for TS1 and TS2 values greater than TTR. 
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.                                      55 
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.       6.13  Retention until acknowledgement of TPDUs 
  2441.  
  2442.      6.13.1  Purpose 
  2443.  
  2444.      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. 
  2445.  
  2446.      The confirmation of receipt variant is used only in Class 1  when      it has been agreed during connection establishment (see note). 
  2447.  
  2448.      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. 
  2449.  
  2450.      NOTE - Use of confirmation of  receipt  variant  depends  on  the      availability  of  the  network layer receipt confirmation service      and the expected cost reduction. 
  2451.  
  2452.  
  2453.  
  2454.       6.13.2  Network service primitives 
  2455.  
  2456.      The procedure uses the following network service primitives: 
  2457.  
  2458.         a)  N-DATA; 
  2459.  
  2460.         b)  N-DATA ACKNOWLEDGE. 
  2461.  
  2462.  
  2463.  
  2464.       6.13.3  TPDUs and parameters used 
  2465.  
  2466.      The procedure uses the following TPDUs and parameters: 
  2467.  
  2468.         a)  CR, CC, DR and DC TPDUs; 
  2469.  
  2470.         b)  RJ and AK TPDUs; 
  2471.  
  2472.             - YR-TU-NR. 
  2473.  
  2474.  
  2475.  
  2476.                                      56 
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.          c)  DT TPDU; 
  2488.  
  2489.             - TPDU-NR. 
  2490.  
  2491.         d)  ED TPDU; 
  2492.  
  2493.             - ED-TPDU-NR. 
  2494.  
  2495.         e)  EA TPDU; 
  2496.  
  2497.             - YR-EDTU-NR. 
  2498.  
  2499.  
  2500.  
  2501.       6.13.4  Procedures 
  2502.  
  2503.      Copies of the following TPDUs shall be retained upon transmission      to permit their later retransmission: 
  2504.  
  2505.         CR, CC, DR, DT and ED TPDUs 
  2506.  
  2507.      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. 
  2508.  
  2509.      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). 
  2510.  
  2511.      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. 
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.                                     57 
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.       NOTES 
  2537.  
  2538.         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. 
  2539.  
  2540.         2.  Use of the confirmation request parameter may  affect  the             quality of network service. 
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.                                      58 
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.       +-------------------------------------------------------------+      |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.                             |      +-------------------------------------------------------------+ 
  2592.  
  2593.                      Table 5. Acknowledgement of TPDUs 
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.                                      59 
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.       6.14  Resynchronization 
  2619.  
  2620.      6.14.1  Purpose 
  2621.  
  2622.      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. 
  2623.  
  2624.  
  2625.  
  2626.       6.14.2  Network service primitives 
  2627.  
  2628.      The  procedure  makes  use  of  the  following  network   service      primitive: 
  2629.  
  2630.           N-RESET indication. 
  2631.  
  2632.  
  2633.  
  2634.       6.14.3  TPDUs and parameters used 
  2635.  
  2636.      The procedure uses the following TPDUs and parameters: 
  2637.  
  2638.         a)  CR, DR, CC and DC TPDUs 
  2639.  
  2640.         b)  RJ TPDUs; 
  2641.  
  2642.             - YR-TU-NR. 
  2643.  
  2644.         c)  DT TPDU;              - TPDU-NR 
  2645.  
  2646.         d)  ED TPDU; 
  2647.  
  2648.             - ED TPDU-NR. 
  2649.  
  2650.         e)  EA TPDU; 
  2651.  
  2652.             - YR-EDTU-NR. 
  2653.  
  2654.  
  2655.  
  2656.                                      60 
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.       6.14.4  Procedure 
  2668.  
  2669.      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: 
  2670.  
  2671.         a)  the transport entity is the responder (see note).  In this             case  the  passive  resynchronization procedure is carried             out (see 6.14.4.2). 
  2672.  
  2673.         b)  the transport entity has  elected  not  to  reassign  (see             6.12.3.c).  In this case no resynchronization takes place. 
  2674.  
  2675.  
  2676.  
  2677.       6.14.4.1  Active resynchronization procedures 
  2678.  
  2679.      The Transport  entity  shall  carry  out  one  of  the  following      actions: 
  2680.  
  2681.         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). 
  2682.  
  2683.         b)  otherwise, the TTR timer shall be started  (unless  it  is             already running) and the first applicable of the following             actions shall be taken: 
  2684.  
  2685.             1)  if a CR TPDU is  unacknowledged,  then  the  transport                 entity shall retransmit it; 
  2686.  
  2687.             2)  if a DR TPDU is  unacknowledged,  then  the  transport                 entity shall retransmit it; 
  2688.  
  2689.             3)  otherwise, the transport entity shall  carry  out  the                 data resynchronization procedures (6.14.4.3). 
  2690.  
  2691.             The TTR timer is stopped when a valid TPDU is received. 
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.                                     61 
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.       6.14.4.2  Passive resynchronization procedures 
  2709.  
  2710.      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). 
  2711.  
  2712.      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: 
  2713.  
  2714.         a)  if it is a DR TPDU, then the transport entity shall send a             DC TPDU; 
  2715.  
  2716.         b)  if it is  a  repeated  CR  TPDU  (see  note  1)  then  the             transport  entity  shall  carry out the appropriate action             from the following: 
  2717.  
  2718.             1)  if a CC TPDU has already been sent, and  acknowledged:                 treat as a protocol error; 
  2719.  
  2720.             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; 
  2721.  
  2722.             3)  if the T-CONNECT response has not  yet  been  received                 from the user:  take no action; 
  2723.  
  2724.             4)  otherwise; retransmit  the  CC  TPDU  followed  by  an                 unacknowledged ED TPDU (see note 2) and any DT TPDU; 
  2725.  
  2726.          NOTES 
  2727.  
  2728.             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. 
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.                                     62 
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.              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. 
  2748.  
  2749.         c)  if it is an RJ or  ED  TPDU  then  one  of  the  following             actions shall be taken: 
  2750.  
  2751.             1)  if a DR TPDU is  unacknowledged,  then  the  transport                 entity shall retransmit it; 
  2752.  
  2753.             2)  otherwise, the transport entity shall  carry  out  the                 data resynchronization procedures (6.14.4.3). 
  2754.  
  2755.             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. 
  2756.  
  2757.  
  2758.  
  2759.       6.14.4.3  Data Resynchronization Procedures 
  2760.  
  2761.      The transport entity shall carry out the following actions in the      following order: 
  2762.  
  2763.         a)  (re)transmit any ED TPDU which is unacknowledged, 
  2764.  
  2765.         b)  transmit an RJ TPDU with YR-TU-NR field set to the TPDU-NR             of the next expected DT TPDU; 
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.                                     63 
  2782.  
  2783.  
  2784.   
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.         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. 
  2793.  
  2794.         d)  (re)transmit  any  DT  TPDUs  which  are   unacknowledged,             subject  to  any  applicable  flow control procedures (see             note); 
  2795.  
  2796.             NOTE - The RJ TPDU may have reduced the credit. 
  2797.  
  2798.  
  2799.  
  2800.       6.15  Multiplexing and demultiplexing 
  2801.  
  2802.      6.15.1  Purpose 
  2803.  
  2804.      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. 
  2805.  
  2806.  
  2807.  
  2808.       6.15.2  TPDUs and parameters used 
  2809.  
  2810.      The procedure makes use of the following TPDUs and parameters: 
  2811.  
  2812.         CC, DR, DC, DT, AK, ED, EA, RJ and ER TPDUs 
  2813.  
  2814.         - DST-REF 
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.                                      64 
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.       6.15.3  Procedure 
  2832.  
  2833.      The transport entities shall be able to send and receive  on  the      same  network  connection  TPDUs belonging to different transport      connections. 
  2834.  
  2835.      NOTES 
  2836.  
  2837.         1.  When performing demultiplexing the transport connection to             which  the  TPDUs  apply  is  determined by the procedures             defined in 6.9. 
  2838.  
  2839.         2.  Multiplexing allows the concatenation of  TPDUs  belonging             to  different  transport  connections to be transferred in             the same N-DATA primitive (see 6.4). 
  2840.  
  2841.  
  2842.  
  2843.       6.16  Explicit Flow Control 
  2844.  
  2845.      6.16.1  Purpose 
  2846.  
  2847.      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. 
  2848.  
  2849.  
  2850.  
  2851.       6.16.2  TPDUs and parameters used 
  2852.  
  2853.      The procedure makes use of the following TPDUs and parameters: 
  2854.  
  2855.         a)  CR, CC, AK and RJ TPDUs 
  2856.  
  2857.             - CDT. 
  2858.  
  2859.         b)  DT TPDU 
  2860.  
  2861.             - TPDU-NR. 
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.                                     65 
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.          c)  AK TPDU 
  2879.  
  2880.             - YR-TU-NR;             - subsequence number;             - flow control confirmation. 
  2881.  
  2882.         d)  RJ TPDU 
  2883.  
  2884.             - YR-TU-NR. 
  2885.  
  2886.  
  2887.  
  2888.       6.16.3  Procedure 
  2889.  
  2890.      The procedures differ in different classes.  They are defined  in      the clauses specifying the separate classes. 
  2891.  
  2892.  
  2893.  
  2894.       6.17  Checksum 
  2895.  
  2896.      6.17.1  Purpose 
  2897.  
  2898.      The checksum procedure is used to detect corruption of  TPDUs  by      the NS-provider. 
  2899.  
  2900.      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. 
  2901.  
  2902.  
  2903.  
  2904.       6.17.2  TPDUs and parameters used 
  2905.  
  2906.      The procedure uses the following TPDUs and parameters: 
  2907.  
  2908.         All TPDUs          - checksum 
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.                                     66 
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.       6.17.3  Procedure 
  2926.  
  2927.      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. 
  2928.  
  2929.      The sending  transport  entity  shall  transmit  TPDUs  with  the      checksum  parameter  set  such  that  the  following formulas are      satisfied: 
  2930.  
  2931.         SUM(from i=1 to i=L) OF a[i] EQUALS <zero> (module 255) 
  2932.  
  2933.         SUM(from i=1 to i=L) OF i*a[i] EQUALS <zero> (module 255) 
  2934.  
  2935.      where 
  2936.  
  2937.         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. 
  2938.  
  2939.      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). 
  2940.  
  2941.      NOTES 
  2942.  
  2943.         1.  An  efficient  algorithm  for  determining  the   checksum             parameters is given in annex B. 
  2944.  
  2945.         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). 
  2946.  
  2947.         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. 
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.                                      67 
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.       6.18  Frozen references 
  2965.  
  2966.      6.18.1  Purpose 
  2967.  
  2968.      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. 
  2969.  
  2970.  
  2971.  
  2972.       6.18.2  Procedure 
  2973.  
  2974.      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. 
  2975.  
  2976.      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). 
  2977.  
  2978.  
  2979.  
  2980.       6.18.2.1  Procedure for classes 0 and 2 
  2981.  
  2982.      The frozen reference procedure is never used for these classes. 
  2983.  
  2984.      NOTE - However for consistency with the  other  classes  freezing      the references may be done as a local decision. 
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.                                      68 
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.       6.18.2.2  Procedure for classes 1 and 3 
  3008.  
  3009.      The frozen reference procedure is used except  in  the  following      cases (see note 1): 
  3010.  
  3011.         a)  when the transport entity receives a DC TPDU  in  response             to a DR TPDU which it has sent (see note 2); 
  3012.  
  3013.         b)  when the transport  entity  sends  a  DR  or  ER  TPDU  in             response to a CR TPDU which it has received (see note 3); 
  3014.  
  3015.         c)  when the transport entity has considered the connection to             be  released  after  the  expiration of the TWR timer (see             note 4); 
  3016.  
  3017.         d)  when the transport entity receives a  DR  or  ER  TPDU  in             response to a CR TPDU which it has sent. 
  3018.  
  3019.      The period of time for which the reference remains  frozen  shall      be greater than the TWR time. 
  3020.  
  3021.      NOTES 
  3022.  
  3023.         1.  However, even in these cases, for consistency freezing the             reference may be done as a local decision. 
  3024.  
  3025.         2.  When the DC TPDU is received it is certain that the  other             transport entity considers the connection released. 
  3026.  
  3027.         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). 
  3028.  
  3029.         4.  In 6.18.2.c the transport entity has  already  effectively             frozen the reference for an adequate period. 
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.                                      69 
  3040.  
  3041.  
  3042.  
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.       6.18.2.3  Procedure for classes 4 
  3051.  
  3052.      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). 
  3053.  
  3054.  
  3055.  
  3056.       6.19  Retransmission on time-out 
  3057.  
  3058.      6.19.1  Purpose 
  3059.  
  3060.      The procedure is used in Class 4 to cope with unsignalled loss of      TPDUs by the NS-provider. 
  3061.  
  3062.  
  3063.  
  3064.       6.19.2  TPDUs used 
  3065.  
  3066.      The procedure makes use of the following TPDUs: 
  3067.  
  3068.         CR, CC, DR, DT, ED, AK TPDUs. 
  3069.  
  3070.  
  3071.  
  3072.       6.19.3  Procedure 
  3073.  
  3074.      The procedure is specified in the procedures  for  Class  4  (see      12.2.1.2.j). 
  3075.  
  3076.  
  3077.  
  3078.       6.20  Resequencing 
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.                                     70 
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.       6.20.1  Purpose 
  3100.  
  3101.      The resequencing procedure is  used  in  Class  4  to  cope  with      misordering of TPDUs by the network service provider. 
  3102.  
  3103.  
  3104.  
  3105.       6.20.2  TPDUs and parameters used 
  3106.  
  3107.      The procedure uses the following TPDUs and parameters: 
  3108.  
  3109.         a)  DT TPDU;             - TPDU-NR. 
  3110.  
  3111.         b)  ED TPDU             - ED TPDU-NR 
  3112.  
  3113.  
  3114.  
  3115.       6.20.3  Procedure 
  3116.  
  3117.      The procedure is specified in the procedures  for  Class  4  (see      12.2.3.5). 
  3118.  
  3119.  
  3120.  
  3121.       6.21  Inactivity control 
  3122.  
  3123.      6.21.1  Purpose 
  3124.  
  3125.      The inactivity control procedure is used in Class 4 to cope  with      unsignalled termination of a network connection. 
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.                                     71 
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.       6.21.2  Procedure 
  3149.  
  3150.      The procedure is specified in the procedures  for  Class  4  (see      12.2.3.3). 
  3151.  
  3152.  
  3153.  
  3154.       6.22  Treatment of protocol errors 
  3155.  
  3156.      6.22.1  Purpose 
  3157.  
  3158.      The procedure for treatment of protocol errors  is  used  in  all      classes to deal with invalid TPDUs. 
  3159.  
  3160.  
  3161.  
  3162.       6.22.2  TPDUs and parameters used 
  3163.  
  3164.      The procedure uses the following TPDUs and parameters: 
  3165.  
  3166.         a)  ER TPDU;             - reject cause;             - TPDU in error. 
  3167.  
  3168.         b)  DR TPDU;             - reason code. 
  3169.  
  3170.  
  3171.  
  3172.       6.22.3  Procedure 
  3173.  
  3174.      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: 
  3175.  
  3176.         a)  ignoring the TPDU; 
  3177.  
  3178.         b)  transmitting an ER TPDU; 
  3179.  
  3180.  
  3181.  
  3182.                                     72 
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.          c)  resetting or closing the network connection; or 
  3194.  
  3195.         d)  invoking the release procedures appropriate to the class. 
  3196.  
  3197.      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). 
  3198.  
  3199.      If the TPDU  cannot  be  associated  to  a  particular  transport      connection then see 6.9. 
  3200.  
  3201.      NOTES 
  3202.  
  3203.         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). 
  3204.  
  3205.         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. 
  3206.  
  3207.         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. 
  3208.  
  3209.         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. 
  3210.  
  3211.         5.  In classes other  than  0,  it  is  recommended  that  the             invalid TPDU be also included in the ER TPDU. 
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.                                      73 
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.       6.23  Splitting and recombining 
  3233.  
  3234.      6.23.1  Purpose 
  3235.  
  3236.      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. 
  3237.  
  3238.  
  3239.  
  3240.       6.23.2  Procedure 
  3241.  
  3242.      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. 
  3243.  
  3244.      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. 
  3245.  
  3246.      NOTES 
  3247.  
  3248.         1.  The resequencing function of Class 4 (see 6.20) is used to             ensure that TPDUs are processed in the correct sequence. 
  3249.  
  3250.         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. 
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.                                      74 
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.          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. 
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.  
  3307.  
  3308.  
  3309.                                      75 
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.       7  Protocol Classes 
  3321.  
  3322.      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.  
  3323.  
  3324.       KEY TO TABLE 6 
  3325.  
  3326.      +---|---------------------------------------------------------+      | * |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.                 |      +-------------------------------------------------------------+ 
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.                                     76 
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.       +----------------------------------------------------------------+      |                             |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)      +----------------------------------------------------------------+ 
  3352.  
  3353.     Table 6. (First of 2 pages) Allocation of procedures within classes 
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.                                     77 
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.       +----------------------------------------------------------------+      | 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 |            |  |  |  |  | *|      +----------------------------------------------------------------+ 
  3371.  
  3372.      Table 6. (2nd of 2 pages) Allocation of procedures within classes 
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.                                     78 
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.       8  SPECIFICATION FOR CLASS 0. SIMPLE CLASS 
  3402.  
  3403.      8.1  Functions of class 0 
  3404.  
  3405.      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. 
  3406.  
  3407.      Class 0 provides transport connections with flow control based on      the  network  service  provided  flow  control, and disconnection      based on the network service disconnection. 
  3408.  
  3409.  
  3410.  
  3411.       8.2  Procedures for class 0 
  3412.  
  3413.      8.2.1  Procedures applicable at all times 
  3414.  
  3415.      The transport entities shall use the following procedures: 
  3416.  
  3417.         a)  TPDU transfer (see 6.2); 
  3418.  
  3419.         b)  association of TPDUs with transport connections (see 6.9); 
  3420.  
  3421.         c)  treatment of protocol errors (see 6.22); 
  3422.  
  3423.         d)  error release (see 6.8). 
  3424.  
  3425.  
  3426.  
  3427.       8.2.2  Connection establishment 
  3428.  
  3429.      The transport entities shall use the following procedures: 
  3430.  
  3431.         a)  assignment to network connection (see 6.1); then 
  3432.  
  3433.         b)  connection establishment (see 6.5)  and,  if  appropriate,             connection refusal (see 6.6); 
  3434.  
  3435.         subject to the following constraints: 
  3436.  
  3437.  
  3438.  
  3439.                                     79 
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.          c)  the CR and CC TPDUs shall contain no parameter field other             than those for TSAP-ID and maximum TPDU size; 
  3451.  
  3452.         d)  the CR and CC TPDUs shall not contain a data field. 
  3453.  
  3454.  
  3455.  
  3456.       8.2.3  Data transfer 
  3457.  
  3458.      The transport entities shall use the segmenting and  reassembling      procedure (see 6.3). 
  3459.  
  3460.  
  3461.  
  3462.       8.2.4  Release 
  3463.  
  3464.      The transport entities shall use  the  implicit  variant  of  the      normal release procedure (see 6.7). 
  3465.  
  3466.      NOTE - the lifetime  of  the  transport  connection  is  directly      correlated with the lifetime of the network connection. 
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.                                     80 
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.       9  SPECIFICATION FOR CLASS 1: BASIC ERROR RECOVERY CLASS 
  3502.  
  3503.      9.1  Functions of Class 1 
  3504.  
  3505.      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. 
  3506.  
  3507.      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. 
  3508.  
  3509.  
  3510.  
  3511.       9.2  Procedures for Class 1 
  3512.  
  3513.      9.2.1  Procedures applicable at all times 
  3514.  
  3515.      The transport entities shall use the following procedures: 
  3516.  
  3517.         a)  TPDU transfer (see 6.2); 
  3518.  
  3519.         b)  association of TPDU with transport connections (see 6.9); 
  3520.  
  3521.         c)  treatment of protocol errors (see 6.22); 
  3522.  
  3523.         d)  reassignment after failure (see 6.12); 
  3524.  
  3525.         e)  resynchronization  (see  6.14),  or   reassignment   after             failure  (see  6.12)  together with resynchronization (see             6.14); 
  3526.  
  3527.         f)  concatenation and separation (see 6.4); 
  3528.  
  3529.         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); 
  3530.  
  3531.         h)  frozen references (see 6.18). 
  3532.  
  3533.  
  3534.  
  3535.                                      81 
  3536.  
  3537.  
  3538.  
  3539.  
  3540.   
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.      NOTES 
  3547.  
  3548.         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. 
  3549.  
  3550.         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. 
  3551.  
  3552.         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. 
  3553.  
  3554.  
  3555.  
  3556.       9.2.2  Connection establishment 
  3557.  
  3558.      The transport entities shall use the following procedures: 
  3559.  
  3560.         a)  assignment to network connection (see 6.1); then 
  3561.  
  3562.         b)  connection establishment (see 6.5)  and,  if  appropriate,             connection refusal (see 6.6). 
  3563.  
  3564.  
  3565.  
  3566.       9.2.3  Data Transfer 
  3567.  
  3568.      9.2.3.1  General 
  3569.  
  3570.      The sending transport entity shall use the following procedures; 
  3571.  
  3572.         a)  segmenting (see 6.3); then 
  3573.  
  3574.  
  3575.  
  3576.                                      82 
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.          b)  the normal format variant of DT TPDU numbering (see 6.10). 
  3588.  
  3589.         The  receiving  transport  entity  shall  use  the   following         procedures; 
  3590.  
  3591.         c)  the normal variant of DT TPDU numbering (see 6.10,; then 
  3592.  
  3593.         d)  reassembling (see 6.3). 
  3594.  
  3595.      NOTES 
  3596.  
  3597.         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. 
  3598.  
  3599.         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). 
  3600.  
  3601.  
  3602.  
  3603.       9.2.3.2  Expedited Data 
  3604.  
  3605.      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). 
  3606.  
  3607.      The sending transport entity shall  not  allocate  the  same  ED-      TPDU-NR to successive ED TPDUs (see notes 2 and 3). 
  3608.  
  3609.      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. 
  3610.  
  3611.      NOTES 
  3612.  
  3613.         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 
  3614.  
  3615.  
  3616.  
  3617.                                     83 
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.              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. 
  3629.  
  3630.         2.  This numbering enables the receiving transport  entity  to             discard  repeated  ED  TPDUs  when  resynchronization (see             6.14) has taken place. 
  3631.  
  3632.         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. 
  3633.  
  3634.  
  3635.  
  3636.       9.2.4  Release 
  3637.  
  3638.      The transport entities shall use  the  explicit  variant  of  the      release procedure (see 6.7). 
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.                                      84 
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.       10  SPECIFICATION FOR CLASS 2 - MULTIPLEXING CLASS 
  3676.  
  3677.      10.1  Functions of class 2 
  3678.  
  3679.      Class 2 provides transport connections with or without individual      flow control; no error detection or error recovery is provided. 
  3680.  
  3681.      If the network connection resets or  disconnects,  the  transport      connection  is terminated without the transport release procedure      and the TS-user is informed. 
  3682.  
  3683.      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. 
  3684.  
  3685.  
  3686.  
  3687.       10.2  Procedures for class 2 
  3688.  
  3689.      10.2.1  Procedures applicable at all times 
  3690.  
  3691.      The transport entities shall use the following procedures 
  3692.  
  3693.         a)  association of TPDUs with transport connection (see 6.9); 
  3694.  
  3695.         b)  TPDU transfer (see 6.2); 
  3696.  
  3697.         c)  treatment of protocol errors (see 6.22); 
  3698.  
  3699.         d)  concatenation and separation (see 6.4); 
  3700.  
  3701.         e)  error release (see 6.8). 
  3702.  
  3703.         Additionally the transport  entities  may  use  the  following         procedure: 
  3704.  
  3705.         f)  multiplexing and demultiplexing (see 6.15). 
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713.                                     85 
  3714.  
  3715.  
  3716.  
  3717.  
  3718.  
  3719.  
  3720.  
  3721.  
  3722.  
  3723.  
  3724.       10.2.2  Connection establishment 
  3725.  
  3726.      The transport entities shall use the following procedures: 
  3727.  
  3728.         a)  assignment to network connection (see 6.1); then 
  3729.  
  3730.         b)  connection establishment  (see  6.5)  and,  if  applicable             connection refusal (see 6.6). 
  3731.  
  3732.  
  3733.  
  3734.       10.2.3  Data transfer when non use of explicit flow control 
  3735.  
  3736.              has been selected 
  3737.  
  3738.      If this option has been selected as a result  of  the  connection      establishment,  the  transport  entities shall use the segmenting      procedure (see 6.3). 
  3739.  
  3740.      The TPDU-NR field of DT TPDUs is not significant and may take any      value. 
  3741.  
  3742.      NOTE- -Expedited data transfer is not applicable (see 6.5). 
  3743.  
  3744.  
  3745.  
  3746.       10.2.4  Data transfer when use of explicit flow control 
  3747.  
  3748.              has been selected 
  3749.  
  3750.  
  3751.  
  3752.      10.2.4.1  General 
  3753.  
  3754.      The sending transport entity shall use the following procedures: 
  3755.  
  3756.         a)  segmenting (see 6.3); then 
  3757.  
  3758.         b)  DT TPDU numbering (see 6.10); 
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.                                     86 
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775.          The  receiving  transport  entity  shall  use  the   following         procedures: 
  3776.  
  3777.         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 
  3778.  
  3779.         d)  reassembling (see 6.3). 
  3780.  
  3781.         The variant of the DT TPDU numbering which  is  used  by  both         transport   entities   shall  be  that  which  was  agreed  at         connection establishment. 
  3782.  
  3783.  
  3784.  
  3785.       10.2.4.2  Flow control 
  3786.  
  3787.      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. 
  3788.  
  3789.      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. 
  3790.  
  3791.      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: 
  3792.  
  3793.         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; 
  3794.  
  3795.         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. 
  3796.  
  3797.         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). 
  3798.  
  3799.  
  3800.  
  3801.                                      87 
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.       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). 
  3813.  
  3814.      A transport entity shall not  send  a  DT  TPDU  with  a  TPDU-NR      outside of the transmit window (see notes 2 and 3). 
  3815.  
  3816.      NOTES 
  3817.  
  3818.         1.  This means that credit reduction is not applicable. 
  3819.  
  3820.         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. 
  3821.  
  3822.         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. 
  3823.  
  3824.  
  3825.  
  3826.       10.2.4.3  Expedited data 
  3827.  
  3828.      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. 
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.  
  3836.  
  3837.  
  3838.  
  3839.  
  3840.                                     88 
  3841.  
  3842.  
  3843.  
  3844.  
  3845.  
  3846.  
  3847.  
  3848.  
  3849.  
  3850.  
  3851.       10.2.5  Release 
  3852.  
  3853.      The transport entities shall use  the  explicit  variant  of  the      release procedure in 6.7. 
  3854.  
  3855.  
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.                                      89 
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.  
  3904.  
  3905.  
  3906.       11  SPECIFICATION FOR CLASS 3: ERROR  RECOVERY  AND  MULTIPLEXING      CLASS 
  3907.  
  3908.      11.1  Functions of Class 3 
  3909.  
  3910.      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. 
  3911.  
  3912.      The mechanisms used to achieve this functionality also allow  the      implementation of more flexible flow control. 
  3913.  
  3914.  
  3915.  
  3916.       11.2  Procedures for Class 3 
  3917.  
  3918.      11.2.1  Procedures applicable at all times 
  3919.  
  3920.      The transport entities shall use the following procedures: 
  3921.  
  3922.         a)  association of TPDUs with transport connections (see 6.9); 
  3923.  
  3924.         b)  TPDU   transfer   (see   6.2)    and    retention    until             acknowledgement of TPDUs (AK variant only) (see 6.13); 
  3925.  
  3926.         c)  treatment of protocol errors (see 6.22); 
  3927.  
  3928.         d)  concatenation and separation (see 6.4); 
  3929.  
  3930.         e)  reassignment  after  failure  (see  6.12),  together  with             resynchronization (see 6.14); 
  3931.  
  3932.         f)  frozen references (see 6.18). 
  3933.  
  3934.      Additionally,  the  transport  entities  may  use  the  following      procedure: 
  3935.  
  3936.         g)  multiplexing and demultiplexing (see 6.15); 
  3937.  
  3938.  
  3939.  
  3940.  
  3941.  
  3942.                                      90 
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.       11.2.2  Connection Establishment 
  3954.  
  3955.      The transport entities shall use the following procedures; 
  3956.  
  3957.         a)  assignment to network connections (see 6.1); then 
  3958.  
  3959.         b)  connection establishment (see 6.5)  and,  if  appropriate,             together with connection refusal (see 6.6). 
  3960.  
  3961.  
  3962.  
  3963.       11.2.3  Data Transfer 
  3964.  
  3965.      11.2.3.1  General 
  3966.  
  3967.      The sending transport entity shall use the following procedures: 
  3968.  
  3969.         a)  segmenting (see 6.3), then 
  3970.  
  3971.         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. 
  3972.  
  3973.      The  receiving  transport  entity   shall   use   the   following      procedures: 
  3974.  
  3975.         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 
  3976.  
  3977.         d)  reassembling  (see  6.3);  duplicated   TPDUs   shall   be             eliminated before reassembling is performed. 
  3978.  
  3979.      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. 
  3980.  
  3981.  
  3982.  
  3983.  
  3984.  
  3985.                                      91 
  3986.  
  3987.  
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993.  
  3994.  
  3995.  
  3996.       11.2.3.2  Use of RJ TPDU 
  3997.  
  3998.      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). 
  3999.  
  4000.      When an RJ TPDU is  sent,  the  following  constraints  shall  be      respected: 
  4001.  
  4002.         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); 
  4003.  
  4004.         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. 
  4005.  
  4006.      When a transport entity receives an RJ TPDU (see note 3): 
  4007.  
  4008.         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; 
  4009.  
  4010.         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). 
  4011.  
  4012.      NOTES 
  4013.  
  4014.         1.  An  RJ  TPDU  can  also   be   sent   as   part   of   the             resynchronization   (see   6.14)  and  reassignment  after             failure (see 6.12) procedures. 
  4015.  
  4016.         2.  It is recommended that the YR-TU-NR parameter be equal  to             the TPDU-NR parameter of the next expected DT TPDU. 
  4017.  
  4018.         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). 
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.                                     92 
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.  
  4034.  
  4035.          4.  This means that RJ TPDU can be used to  reduce  the  upper             window   edge   allocated   to  the  peer  entity  (credit             reduction). 
  4036.  
  4037.  
  4038.  
  4039.       11.2.3.3  Flow Control 
  4040.  
  4041.      The procedures shall be as defined in 10.2.4.2, except that: 
  4042.  
  4043.         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; 
  4044.  
  4045.         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 
  4046.  
  4047.         1.  This  can  only  occur  during  retransmission   following             receipt of an RJ TPDU. 
  4048.  
  4049.         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. 
  4050.  
  4051.  
  4052.  
  4053.       11.2.3.4  Expedited data 
  4054.  
  4055.      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. 
  4056.  
  4057.      The sending transport entity shall  not  allocate  the  same  ED-      TPDU-NR to successive ED TPDUs. 
  4058.  
  4059.  
  4060.  
  4061.                                     93 
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.       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). 
  4073.  
  4074.      NOTES 
  4075.  
  4076.         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. 
  4077.  
  4078.         2.  This procedure ensures that the TS-user does  not  receive             data corresponding to the same ED TPDU more than once. 
  4079.  
  4080.  
  4081.  
  4082.       11.2.4  Release 
  4083.  
  4084.      The transport entities shall use  the  explicit  variant  of  the      release procedure in 6.7.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099.  
  4100.  
  4101.  
  4102.  
  4103.  
  4104.  
  4105.  
  4106.                                      94 
  4107.  
  4108.  
  4109.  
  4110.  
  4111.  
  4112.  
  4113.  
  4114.  
  4115.  
  4116.  
  4117.       12  SPECIFICATION FOR CLASS 4: ERROR DETECTION AND RECOVERY CLASS 
  4118.  
  4119.      12.1  Functions of Class 4 
  4120.  
  4121.      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. 
  4122.  
  4123.      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. 
  4124.  
  4125.      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. 
  4126.  
  4127.      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. 
  4128.  
  4129.  
  4130.  
  4131.       12.2  Procedures for Class 4 
  4132.  
  4133.      12.2.1  Procedures available at all times 
  4134.  
  4135.      12.2.1.1  Timers used at all times 
  4136.  
  4137.      This subclause defines timers that apply at all times in class 4.      These timers are listed in table 7. 
  4138.  
  4139.      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. 
  4140.  
  4141.      Timers that apply only to specific procedures are  defined  under      the appropriate procedure. 
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.                                     95 
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155.  
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.       +---------------------------|------------------------------------+      |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      |                                    |      +----------------------------------------------------------------+ 
  4163.  
  4164.       Table 7. (First of 2 pages) Time Parameters related to class 4 
  4165.  
  4166.  
  4167.  
  4168.                                      96 
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.       +----------------------------------------------------------------+      |  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.                       |      +----------------------------------------------------------------+ 
  4180.  
  4181.       Table 7. (Second of 2 pages) Time Parameters related to class 4 
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.                                      97 
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.       12.2.1.1.1  NSDU lifetime (MLR, MRL) 
  4201.  
  4202.      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. 
  4203.  
  4204.  
  4205.  
  4206.       12.2.1.1.2  Expected maximum transit delay (ELR, ERL) 
  4207.  
  4208.      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. 
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.  
  4220.                                     98 
  4221.  
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231.       12.2.1.1.3  Acknowledge Time (AR, AL) 
  4232.  
  4233.      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. 
  4234.  
  4235.  
  4236.  
  4237.       12.2.1.1.4  Local retransmission time (T1) 
  4238.  
  4239.      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: 
  4240.  
  4241.         T1 = ELR + ERL + AR + X 
  4242.  
  4243.      where: 
  4244.  
  4245.         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. 
  4246.  
  4247.  
  4248.  
  4249.       12.2.1.1.5  Persistence Time (R) 
  4250.  
  4251.      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. 
  4252.  
  4253.      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. 
  4254.  
  4255.  
  4256.  
  4257.                                     99 
  4258.  
  4259.  
  4260.  
  4261.  
  4262.  
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.       12.2.1.1.6  Bound on References and Sequence Numbers (L) 
  4269.  
  4270.      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: 
  4271.  
  4272.         L = MLR + MRL + R + AR 
  4273.  
  4274.      where: 
  4275.  
  4276.         MLR = NSDU lifetime local-to-remote,         MRL = NSDU lifetime remote-to-local,         R   = Persistence time, and         AR  = Remote acknowledgement time. 
  4277.  
  4278.      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. 
  4279.  
  4280.      NOTES 
  4281.  
  4282.         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. 
  4283.  
  4284.         2.  The  relationships  between  times  discussed  above   are             illustrated in figures 3 and 4. 
  4285.  
  4286.             [Figures 3 and 4 are omitted from this copy.] 
  4287.  
  4288.  
  4289.  
  4290.       12.2.1.2  General Procedures 
  4291.  
  4292.      The transport entity shall use the following procedures: 
  4293.  
  4294.         a)  TPDU transfer (see 6.2); 
  4295.  
  4296.         b)  association of TPDUs with transport connections (see 6.9); 
  4297.  
  4298.  
  4299.  
  4300.                                      100 
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307.  
  4308.  
  4309.  
  4310.  
  4311.          c)  treatment of protocol errors (see 6.22); 
  4312.  
  4313.         d)  checksum (see 6.17); 
  4314.  
  4315.         e)  splitting and recombining (see 6.23); 
  4316.  
  4317.         f)  multiplexing and demultiplexing (see 6.15); 
  4318.  
  4319.         g)  retention until acknowledgement of TPDUs (see 6.13); 
  4320.  
  4321.         h)  frozen references (see 6.18). 
  4322.  
  4323.         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. 
  4324.  
  4325.             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. 
  4326.  
  4327.         NOTES 
  4328.  
  4329.         1)  This procedure may be implemented by different means.  For             example: 
  4330.  
  4331.             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 
  4332.  
  4333.             b)  one  interval  is  associated  with   each   transport                 connection: 
  4334.  
  4335.                 1)  if the transport entity transmits a TPDU requiring                     acknowledgement, it starts timer T1; 
  4336.  
  4337.  
  4338.  
  4339.                                      101 
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.                  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. 
  4351.  
  4352.                 3)  if the  transport  entity  receives  a  TPDU  that                     acknowledges  the last TPDU to be acknowledged, it                     stops timer T1. 
  4353.  
  4354.             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. 
  4355.  
  4356.         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. 
  4357.  
  4358.         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. 
  4359.  
  4360.  
  4361.  
  4362.       12.2.2  Procedures for Connection Establishment 
  4363.  
  4364.      12.2.2.1  Timers used in Connection Establishment 
  4365.  
  4366.      There are no timers specific to connection establishment. 
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.                                     102 
  4379.  
  4380.  
  4381.  
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.       12.2.2.2  General Procedures 
  4390.  
  4391.      The transport entities shall use the following procedures: 
  4392.  
  4393.         a)  assignment to network connection (see 6.1); 
  4394.  
  4395.         b)  connection establishment  (see  6.5)  and  if  appropriate             connection  refusal (see 6.6) together with the additional             procedures: 
  4396.  
  4397.             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; 
  4398.  
  4399.             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; 
  4400.  
  4401.             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. 
  4402.  
  4403.             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; 
  4404.  
  4405.             5)  the retransmission procedures (see 12.2.1.2) are  used                 for both the CR TPDU and CC TPDU. 
  4406.  
  4407.  
  4408.  
  4409.  
  4410.  
  4411.  
  4412.  
  4413.                                      103 
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.  
  4421.  
  4422.  
  4423.  
  4424.       12.2.3  Procedures for Data Transfer 
  4425.  
  4426.      12.2.3.1  Timers used in Data Transfer 
  4427.  
  4428.      The data transfer procedures use two additional timers: 
  4429.  
  4430.         a)  Inactivity Time (I) 
  4431.  
  4432.         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. 
  4433.  
  4434.         NOTE - A suitable value for I is given by         2 * (N * maximum of (T1, W))         unless local needs indicate another more appropriate value. 
  4435.  
  4436.         b)  Window Time (W) 
  4437.  
  4438.         A transport entity maintains a timer interval to  ensure  that         there  is  a  bound  on  the  maximum  interval between window         updates. 
  4439.  
  4440.  
  4441.  
  4442.       12.2.3.2  General Procedures for data transfer 
  4443.  
  4444.      The transport entities shall use the following procedures: 
  4445.  
  4446.         a)  inactivity control    (see 6.21); 
  4447.  
  4448.         b)  expedited data        (see 6.11); 
  4449.  
  4450.         c)  explicit flow control (see 6.16). 
  4451.  
  4452.      The sending transport entity shall use the  following  procedures      in the following order: 
  4453.  
  4454.         d)  segmenting            (see 6.3); 
  4455.  
  4456.         e)  DT TPDU numbering     (see 6.10). 
  4457.  
  4458.  
  4459.  
  4460.                                      104 
  4461.  
  4462.  
  4463.  
  4464.  
  4465.  
  4466.  
  4467.  
  4468.  
  4469.  
  4470.  
  4471.       The receiving transport entity shall use the following procedures      in the following order: 
  4472.  
  4473.         f)  DT TPDU numbering     (see 6.10); 
  4474.  
  4475.         g)  resequencing          (see 6.20); 
  4476.  
  4477.         h)  reassembling          (see 6.3). 
  4478.  
  4479.  
  4480.  
  4481.       12.2.3.3  Inactivity Control 
  4482.  
  4483.      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. 
  4484.  
  4485.      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. 
  4486.  
  4487.  
  4488.  
  4489.       12.2.3.4  Expedited Data 
  4490.  
  4491.      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. 
  4492.  
  4493.      The ED TPDU shall have  a  TPDU-NR  which  is  allocated  from  a      separate sequence space from that of the DT TPDUs. 
  4494.  
  4495.      A transport entity shall allocate the sequence number zero to the      ED  TPDU-NR  of  the  first  ED  TPDU  which  it  transmits for a 
  4496.  
  4497.  
  4498.  
  4499.                                     105 
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.  
  4506.  
  4507.  
  4508.  
  4509.  
  4510.       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. 
  4511.  
  4512.      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. 
  4513.  
  4514.      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. 
  4515.  
  4516.      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). 
  4517.  
  4518.      The sender of an ED TPDU shall not send  any  new  DT  TPDU  with      higher TPDU-NR until it receives the EA TPDU. 
  4519.  
  4520.      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. 
  4521.  
  4522.  
  4523.  
  4524.       12.2.3.5  Resequencing 
  4525.  
  4526.      The receiving transport entity shall deliver all DT TPDUs to  the      TS-user in the order specified by the sequence number field. 
  4527.  
  4528.      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. 
  4529.  
  4530.      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. 
  4531.  
  4532.  
  4533.  
  4534.                                     106 
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.       Otherwise,  a new, valid TPDU could be confused with a duplicated      TPDU which had previously been received and acknowledged. 
  4546.  
  4547.      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. 
  4548.  
  4549.      The data contained in a duplicated DT TPDU shall be ignored. 
  4550.  
  4551.  
  4552.  
  4553.       12.2.3.6  Explicit Flow Control 
  4554.  
  4555.      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. 
  4556.  
  4557.      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. 
  4558.  
  4559.      In order to authorize the transmission of DT TPDUs by its peer, a      transport entity may transmit an AK TPDU at any time. 
  4560.  
  4561.      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. 
  4562.  
  4563.      A transport entity may send a duplicate AK  TPDU  containing  the      same  sequence  number,  CDT, and subsequence number field at any      time. 
  4564.  
  4565.      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. 
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571.                                     107 
  4572.  
  4573.  
  4574.  
  4575.  
  4576.  
  4577.  
  4578.  
  4579.  
  4580.  
  4581.  
  4582.       12.2.3.7  Sequencing of received AK TPDUs 
  4583.  
  4584.      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. 
  4585.  
  4586.      An AK TPDU is defined to be in sequence if: 
  4587.  
  4588.         a)  the sequence number is  greater  than  in  any  previously             received AK TPDU, or 
  4589.  
  4590.         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 
  4591.  
  4592.         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. 
  4593.  
  4594.      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. 
  4595.  
  4596.      When the receiving transport entity recognizes an out of sequence      AK TPDU it shall ignore it. 
  4597.  
  4598.  
  4599.  
  4600.  
  4601.  
  4602.  
  4603.  
  4604.  
  4605.  
  4606.  
  4607.  
  4608.                                     108 
  4609.  
  4610.  
  4611.  
  4612.  
  4613.  
  4614.  
  4615.  
  4616.  
  4617.  
  4618.  
  4619.       12.2.3.8  Procedure for transmission of AK TPDUs 
  4620.  
  4621.      12.2.3.8.1  Retransmission of AK TPDUs for window synchronization 
  4622.  
  4623.      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. 
  4624.  
  4625.      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. 
  4626.  
  4627.  
  4628.  
  4629.       12.2.3.8.2  Sequence control for transmission of AK TPDUs 
  4630.  
  4631.      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. 
  4632.  
  4633.      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. 
  4634.  
  4635.      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. 
  4636.  
  4637.      If the sequence number is the same as the previous AK  TPDU  sent 
  4638.  
  4639.  
  4640.  
  4641.                                     109 
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650.  
  4651.  
  4652.       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.. 
  4653.  
  4654.  
  4655.  
  4656.       12.2.3.8.3  Retransmission of AK TPDUs after CDT set to zero 
  4657.  
  4658.      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. 
  4659.  
  4660.      The  retransmission  procedure,  if  used,  terminates  and   the      procedure in 12.2.3.8.1 is used when: 
  4661.  
  4662.         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. 
  4663.  
  4664.         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; 
  4665.  
  4666.         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. 
  4667.  
  4668.      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. 
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.                                      110 
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.  
  4684.  
  4685.       12.2.3.8.4  Retransmission procedures following reduction of the 
  4686.  
  4687.                  upper window edge 
  4688.  
  4689.      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). 
  4690.  
  4691.      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. 
  4692.  
  4693.      This retransmission procedure for any particular  AK  TPDU  shall      terminate when: 
  4694.  
  4695.         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 
  4696.  
  4697.         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. 
  4698.  
  4699.      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. 
  4700.  
  4701.         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 
  4702.  
  4703.  
  4704.  
  4705.                                     111 
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.          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. 
  4717.  
  4718.      The rules for determining whether  to  apply  the  retransmission      procedure  to  an  AK  TPDU  may  be  expressed  alternatively as      follows.  Let: 
  4719.  
  4720.           LWE  = lower window edge           UWE  = upper window edge           KUWE = lower bound on upper window edge                  held by remote transport entity 
  4721.  
  4722.      The retransmission procedure is to be used whenever: 
  4723.  
  4724.           (UWE>LWE) and (KUWE = LWE) 
  4725.  
  4726.      i.e. when the window is opened and it  is  not  known  definitely      that the remote transport entity is aware of this. 
  4727.  
  4728.      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. 
  4729.  
  4730.  
  4731.  
  4732.       12.2.3.9  Use of Flow Control Confirmation parameter 
  4733.  
  4734.      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. 
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.                                     112 
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748.  
  4749.  
  4750.  
  4751.       An AK TPDU  containing  a  flow  control  confirmation  parameter      should be transmitted whenever: 
  4752.  
  4753.         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; 
  4754.  
  4755.         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 
  4756.  
  4757.         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). 
  4758.  
  4759.  
  4760.  
  4761.       12.2.4  Procedures for Release 
  4762.  
  4763.      12.2.4.1  Timers used for Release 
  4764.  
  4765.      There are no timers used only for release. 
  4766.  
  4767.  
  4768.  
  4769.       12.2.4.2  General Procedures for Release 
  4770.  
  4771.      The transport entity shall use the  explicit  variant  of  normal      release (see 6.7). 
  4772.  
  4773.  
  4774.  
  4775.  
  4776.  
  4777.  
  4778.  
  4779.  
  4780.  
  4781.  
  4782.  
  4783.                                      113 
  4784.  
  4785.  
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.       13  STRUCTURE AND ENCODING OF TPDUs 
  4795.  
  4796.      13.1  Validity 
  4797.  
  4798.      Table 8 specifies those TPDUs which are valid for each class  and      the code for each TPDU. 
  4799.  
  4800.         KEY:  xxxx (bits 4-1):  used to signal the CDT (set to 0000                                 in classes 0 and 1) 
  4801.  
  4802.               zzzz (bits 4-1):  used to signal CDT in classes 2, 3,                                 4 set to 1111 in class 1 
  4803.  
  4804.               NF:               Not available when the non explicit                                 flow control option is selected. 
  4805.  
  4806.               NRC:              Not available when the receipt                                 confirmation option is selected. 
  4807.  
  4808.      NOTE  - These codes are  already  in  use  in  related  protocols      defined by standards oganizations other than CCITT/ISO. 
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.  
  4815.  
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833.  
  4834.                                     114 
  4835.  
  4836.  
  4837.  
  4838.  
  4839.  
  4840.  
  4841.  
  4842.  
  4843.  
  4844.  
  4845.  
  4846.  
  4847.  
  4848.  
  4849.  
  4850.  
  4851.      +-------------------------------------------------------------+      |                       | 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|      +-------------------------------------------------------------+ 
  4852.  
  4853.                             Table 8. TPDU code 
  4854.  
  4855.  
  4856.  
  4857.                                      115 
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.       13.2  Structure 
  4869.  
  4870.      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. 
  4871.  
  4872.      When consecutive octets are used to represent  a  binary  number,      the lower octet number has the least significant value. 
  4873.  
  4874.      NOTE -  When the encoding  of  a  TPDU  is  represented  using  a      diagram in this clause, the following representation is used: 
  4875.  
  4876.         a)  octets are shown with the lowest  numbered  octet  to  the             left, higher numbered octets being further to the right; 
  4877.  
  4878.         b)  within an octet, bits are shown with bit 8 to the left and             bit 1 to the right. 
  4879.  
  4880.      TPDUs shall contain, in the following order: 
  4881.  
  4882.         a)  the header, comprising: 
  4883.  
  4884.             1)  the length indicator (LI) field; 
  4885.  
  4886.             2)  the fixed part; 
  4887.  
  4888.             3)  the variable part, if present; 
  4889.  
  4890.         b)  the data field, if present. 
  4891.  
  4892.      This structure is illustrated below: 
  4893.  
  4894.           octet    1   2 3 4 ... n   n+1  ...    p  p+1 ...end                  +---+-------------+--------------+-----------+                  | LI| fixed part  | variable part| data field|                  +---+-------------+--------------+-----------+                  <---------------   header ------> 
  4895.  
  4896.  
  4897.  
  4898.  
  4899.  
  4900.  
  4901.  
  4902.                                     116 
  4903.  
  4904.  
  4905.  
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.       13.2.1  Length indicator field 
  4914.  
  4915.      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. 
  4916.  
  4917.  
  4918.  
  4919.       13.2.2  Fixed part 
  4920.  
  4921.      13.2.2.1  General 
  4922.  
  4923.      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. 
  4924.  
  4925.      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). 
  4926.  
  4927.  
  4928.  
  4929.       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: 
  4930.  
  4931.  
  4932.  
  4933.  
  4934.  
  4935.  
  4936.  
  4937.                                     117 
  4938.  
  4939.  
  4940.  
  4941.  
  4942.  
  4943.  
  4944.  
  4945.  
  4946.  
  4947.  
  4948.             1110 xxxx     Connection Request            1101 xxxx     Connection Confirm            0101 xxxx     Reject            0110 xxxx     Data Acknowledgement 
  4949.  
  4950.      where xxxx (bits 4-1) is used to signal the CDT. 
  4951.  
  4952.      Only those codes defined in 13.1 are valid. 
  4953.  
  4954.  
  4955.  
  4956.       13.2.3  Variable part 
  4957.  
  4958.      The  variable  part  is  used  to  define  less  frequently  used      parameters.   If  the  variable part is present, it shall contain      one or more parameters. 
  4959.  
  4960.      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. 
  4961.  
  4962.      Each parameter contained within the variable part  is  structured      as follows: 
  4963.  
  4964.                     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          |                                    |                           +------------------------------------| 
  4965.  
  4966.  
  4967.  
  4968.  
  4969.  
  4970.  
  4971.  
  4972.  
  4973.  
  4974.                                      118 
  4975.  
  4976.  
  4977.  
  4978.  
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984.  
  4985.       - The parameter code field is coded in binary; 
  4986.  
  4987.        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. 
  4988.  
  4989.      - The  parameter  length  indication  indicates  the  length,  in        octets, of the parameter value field. 
  4990.  
  4991.        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. 
  4992.  
  4993.      - The parameter value field contains the value of  the  parameter        identified in the parameter code field. 
  4994.  
  4995.      - No parameter codes use bits 8 and 7 with the value 00. 
  4996.  
  4997.      - 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. 
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.                                     119 
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.  
  5014.       13.2.3.1  Checksum Parameter (Class 4 only) 
  5015.  
  5016.      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. 
  5017.  
  5018.      Parameter Code:    1100 0011      Parameter Length:  2      Parameter Value:   Result of checksum algorithm.  This algorithm                         is specified in 6.17. 
  5019.  
  5020.  
  5021.  
  5022.       13.2.4  Data Field 
  5023.  
  5024.      This field contains transparent user data.  Restrictions  on  its      size are noted for each TPDU. 
  5025.  
  5026.  
  5027.  
  5028.       13.3  Connection Request (CR) TPDU 
  5029.  
  5030.      The length of the CR TPDU shall not exceed 128 octets. 
  5031.  
  5032.  
  5033.  
  5034.       13.3.1  Structure 
  5035.  
  5036.      The structure of the CR TPDU shall be as follows: 
  5037.  
  5038.       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     |      +--+------+---------+---------+---+---+------+-------+---------+ 
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.                                     120 
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.  
  5057.       13.3.2  LI 
  5058.  
  5059.      See 13.2.1 
  5060.  
  5061.  
  5062.  
  5063.       13.3.3  Fixed Part (Octets 2 to 7) 
  5064.  
  5065.      The structure of this part shall contain: 
  5066.  
  5067.         a)  CR       :  Connection Request Code:  1110.  Bits  8-5  of                         octet 2; 
  5068.  
  5069.         b)  CDT      :  Initial Credit  Allocation  (set  to  0000  in                         Classes  0  and  1 when specified as preferred                         class).  Bits 4-1 of octet 2; 
  5070.  
  5071.         c)  DST-REF  :  Set to zero; 
  5072.  
  5073.         d)  SRC-REF  :  Reference selected  by  the  transport  entity                         initiating   the   CR  TPDU  to  identify  the                         requested transport connection; 
  5074.  
  5075.         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: 
  5076.  
  5077.                         0000  Class 0                         0001  Class 1                         0010  Class 2                         0011  Class 3                         0100  Class 4 
  5078.  
  5079.      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. 
  5080.  
  5081.      Bits 4-1 of octet 7 define options to be used  on  the  requested      transport connection as follows: 
  5082.  
  5083.  
  5084.  
  5085.  
  5086.  
  5087.                                     121 
  5088.  
  5089.  
  5090.  
  5091.  
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099.  
  5100.      +-----|-----------------------------------------------+      | 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                                  |      +-----------------------------------------------------+ 
  5101.  
  5102.       NOTES 
  5103.  
  5104.      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). 
  5105.  
  5106.      2.  Bits 4 to 1 are always zero in Class 0 and have no meaning. 
  5107.  
  5108.  
  5109.  
  5110.       13.3.4  Variable Part (Octets 8 to p) 
  5111.  
  5112.      The following parameters are permitted in the variable part: 
  5113.  
  5114.         a)  Transport Service Access Point Identifier (TSAP-ID) 
  5115.  
  5116.             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. 
  5117.  
  5118.  
  5119.  
  5120.                                      122 
  5121.  
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.              If a TSAP-ID is given in the request it may be returned in             the confirmation. 
  5132.  
  5133.         b)  TPDU size 
  5134.  
  5135.             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: 
  5136.  
  5137.             Parameter code:    1100 0000             Parameter Length:  1 octet 
  5138.  
  5139.             Parameter value: 
  5140.  
  5141.             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 
  5142.  
  5143.             Default value is 0000 0111 (128 octets) 
  5144.  
  5145.         c)  Version Number (not used  if  Class  0  is  the  preferred             class) 
  5146.  
  5147.             Parameter code:         1100 0100             Parameter length:       1 octet             Parameter value field:  0000 0001 
  5148.  
  5149.             Default value is 0000 0001 (not used in Class 0) 
  5150.  
  5151.         d)  Security Parameters (not used if Class 0 is the  preferred             class) 
  5152.  
  5153.             This parameter is user defined.             Parameter code:    1100 0101             Parameter length:  user defined             Parameter value:   user defined 
  5154.  
  5155.         e)  Checksum (used only if class 4  is  the  preferred  class)             (see 13.2.3.1) 
  5156.  
  5157.  
  5158.  
  5159.                                     123 
  5160.  
  5161.  
  5162.  
  5163.  
  5164.  
  5165.  
  5166.  
  5167.  
  5168.  
  5169.  
  5170.              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. 
  5171.  
  5172.         f)  Additional Option Selection (not used if Class  0  is  the             preferred class) 
  5173.  
  5174.             This parameter defines the selection  to  be  made  as  to             whether or not additional options are to be used. 
  5175.  
  5176.             Parameter code:    1100 0110             Parameter length:  1             Parameter value: 
  5177.  
  5178.              +------------------------------------------------------+             |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                                      |             +------------------------------------------------------+ 
  5179.  
  5180.             Default value is 000 0001 
  5181.  
  5182.             Bits related to options particular  to  a  class  are  not             meaningful  if that class is not proposed and may take any             value. 
  5183.  
  5184.  
  5185.  
  5186.  
  5187.  
  5188.                                     124 
  5189.  
  5190.  
  5191.  
  5192.  
  5193.  
  5194.  
  5195.  
  5196.  
  5197.  
  5198.  
  5199.          g)  Alternative protocol class(es) (not used if Class 0 is the             preferred class) 
  5200.  
  5201.             Parameter code:    1100 0111             Parameter length:  n 
  5202.  
  5203.             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). 
  5204.  
  5205.         h)  Acknowledge Time (used only if class 4  is  the  preferred             class) 
  5206.  
  5207.             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. 
  5208.  
  5209.         j)  Throughput (not used if class 0 is the preferred class) 
  5210.  
  5211.             Parameter code:    1000 1001             Parameter length:  12 or 24             Parameter value: 
  5212.  
  5213.             1st 12 Octets:     maximum throughput, as follows: 
  5214.  
  5215.             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 
  5216.  
  5217.             2nd 12 octets (optional):  average throughput, as follows: 
  5218.  
  5219.             5th 3 octets:      Target   value,   calling-called   user                                direction 
  5220.  
  5221.  
  5222.  
  5223.                                     125 
  5224.  
  5225.  
  5226.  
  5227.  
  5228.  
  5229.  
  5230.  
  5231.  
  5232.  
  5233.  
  5234.              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 
  5235.  
  5236.             Where the average throughput is omitted, it is  considered             to have the same value as the maximum throughput. 
  5237.  
  5238.             Values are expressed in octets per second. 
  5239.  
  5240.         k)  Residual error rate (not used if class 0 is the  preferred             class) 
  5241.  
  5242.             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 
  5243.  
  5244.         l)  Residual error rate (not used if class 0 is the  preferred             class) 
  5245.  
  5246.             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 
  5247.  
  5248.         m)  Priority (not used if class 0 is the preferred class) 
  5249.  
  5250.             Parameter code:    1000 0111             Parameter length:  2             Parameter value:   Integer (0 is the highest priority) 
  5251.  
  5252.  
  5253.  
  5254.                                      126 
  5255.  
  5256.  
  5257.  
  5258.  
  5259.  
  5260.  
  5261.  
  5262.  
  5263.  
  5264.  
  5265.          n)  Transit delay (not used if class 0 is the preferred class) 
  5266.  
  5267.             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 
  5268.  
  5269.             Values are expressed in milliseconds, and are based upon a             TSDU size of 128 octets. 
  5270.  
  5271.         p)  assignment time (not used if class 0, 2 or class 4 is  the             preferred class) 
  5272.  
  5273.             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. 
  5274.  
  5275.  
  5276.  
  5277.       13.3.5  User Data (Octets p+1 to the end) 
  5278.  
  5279.      No user data are permitted in Class 0, and are  optional  in  the      other classes.  Where permitted, it may not exceed 32 octets. 
  5280.  
  5281.  
  5282.  
  5283.  
  5284.  
  5285.  
  5286.  
  5287.  
  5288.  
  5289.  
  5290.  
  5291.                                     127 
  5292.  
  5293.  
  5294.  
  5295.  
  5296.  
  5297.  
  5298.  
  5299.  
  5300.  
  5301.  
  5302.       13.4  Connection Confirm (CC) TPDU 
  5303.  
  5304.      13.4.1  Structure 
  5305.  
  5306.      The structure of the CC TPDU shall be as follows: 
  5307.  
  5308.        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        |      +---+----+---+---+---+---+---+-------+--------+-------------+ 
  5309.  
  5310.  
  5311.  
  5312.       13.4.2  LI 
  5313.  
  5314.      See 13.2.1 
  5315.  
  5316.  
  5317.  
  5318.       13.4.3  Fixed Part (Octets 2 to 7) 
  5319.  
  5320.      The fixed part shall contain: 
  5321.  
  5322.         a)  CC:  Connection Confirm Code:  1101.  Bits 8-5 of octet 2; 
  5323.  
  5324.         b)  CDT:  Initial Credit Allocation (set to 0000 in Classes  0             and 1).  Bits 4-1 of octet 2; 
  5325.  
  5326.         c)  DST-REF:  Reference identifying  the  requested  transport             connection at the remote transport entity; 
  5327.  
  5328.         d)  SRC-REF:  Reference identifying  the  requested  transport             connection at the remote transport entity. 
  5329.  
  5330.         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; 
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.                                     128 
  5337.  
  5338.  
  5339.  
  5340.  
  5341.  
  5342.  
  5343.  
  5344.  
  5345.  
  5346.  
  5347.       13.4.4  Variable Part (Octet 8 to p) 
  5348.  
  5349.      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. 
  5350.  
  5351.  
  5352.  
  5353.       13.4.5  User Data (Octets p+1 to the end) 
  5354.  
  5355.      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). 
  5356.  
  5357.  
  5358.  
  5359.       13.5  Disonnect Request (DR) TPDU 
  5360.  
  5361.      13.5.1  Structure 
  5362.  
  5363.      The structure of the DR TPDU shall be as follows: 
  5364.  
  5365.        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     |      +--+---------+----+-----+----+-----+------+--------+----------+ 
  5366.  
  5367.  
  5368.  
  5369.       13.5.2  LI 
  5370.  
  5371.      See Section 13.2.1 
  5372.  
  5373.  
  5374.  
  5375.  
  5376.  
  5377.  
  5378.  
  5379.                                      129 
  5380.  
  5381.  
  5382.  
  5383.  
  5384.  
  5385.  
  5386.  
  5387.  
  5388.  
  5389.  
  5390.       13.5.3  Fixed Part (Octets 2 to 7 
  5391.  
  5392.      The fixed part shall contain: 
  5393.  
  5394.         a)  DR:  Disconnect Request Code:  1000 0000; 
  5395.  
  5396.         b)  DST-REF:  Reference identifying the  transport  connection             at the remote transport entity; 
  5397.  
  5398.         c)  SRC-REF:  Reference identifying the  transport  connection             at  the  transport entity initiating the TPDU.  Value zero             when reference is unassigned; 
  5399.  
  5400.         d)  REASON:   Defines  the  reason   for   disconnecting   the             transport  connection.   This  field shall take one of the             following values: 
  5401.  
  5402.             The following values may be used for Classes 1 to 4: 
  5403.  
  5404.             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 
  5405.  
  5406.  
  5407.  
  5408.  
  5409.  
  5410.  
  5411.  
  5412.  
  5413.  
  5414.  
  5415.  
  5416.                                     130 
  5417.  
  5418.  
  5419.  
  5420.  
  5421.  
  5422.  
  5423.  
  5424.  
  5425.  
  5426.  
  5427.          The following values can be used for all classes: 
  5428.  
  5429.             12)       0 - Reason not specified             13)       1 - Congestion at TSAP             14)      *2 - Session entity not attached to TSAP             15)      *3 - Address unknown 
  5430.  
  5431.         NOTE - Reasons marked with an asterisk (*) may be reported  to         the TS-user as persistent, other reasons as transient. 
  5432.  
  5433.  
  5434.  
  5435.       13.5.4  Variable Part (Octets 8 to p) 
  5436.  
  5437.      The variable part may contain 
  5438.  
  5439.         a)  A parameter allowing additional information related to the             clearing of the connection. 
  5440.  
  5441.             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. 
  5442.  
  5443.         b)  Checksum (see 13.2.3.1) 
  5444.  
  5445.  
  5446.  
  5447.       13.5.5  User Data (Octets p+1 to the end) 
  5448.  
  5449.      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. 
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.                                      131 
  5456.  
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.  
  5464.  
  5465.  
  5466.       13.6  Disconnect Confirm (DC) TPDU 
  5467.  
  5468.      This TPDU shall not be used in Class 0. 
  5469.  
  5470.  
  5471.  
  5472.       13.6.1  Structure 
  5473.  
  5474.      The structure of DC TPDU shall be as follows: 
  5475.  
  5476.        1       2         3     4     5     6    7        p      +----+-----------+-----+-----+-----+-----+-------+--------+      | LI |    DC     |  DST REF  |  SRC REF  | Variable Part  |      |    | 1100 0000 |     |     |     |     |       |        |      +----+-----------+-----+-----+-----+-----+-------+--------+ 
  5477.  
  5478.  
  5479.  
  5480.       13.6.2  LI 
  5481.  
  5482.      See 13.2.1 
  5483.  
  5484.  
  5485.  
  5486.       13.6.3  Fixed Part (Octets 2 to 6) 
  5487.  
  5488.      The fixed part shall contain: 
  5489.  
  5490.         a)  DC:  Disconnect Confirm Code:  1100 0000; 
  5491.  
  5492.         b)  DST-REF:  See 13.4.3; 
  5493.  
  5494.         c)  SRC-REF:  See 13.4.3. 
  5495.  
  5496.  
  5497.  
  5498.  
  5499.  
  5500.  
  5501.  
  5502.  
  5503.  
  5504.                                      132 
  5505.  
  5506.  
  5507.  
  5508.  
  5509.  
  5510.  
  5511.  
  5512.  
  5513.  
  5514.  
  5515.       13.6.4  Variable Part 
  5516.  
  5517.      The variable part shall contain the  checksum  parameter  if  the      condition in (see 13.2.3.1) applies. 
  5518.  
  5519.  
  5520.  
  5521.       13.7  Data (DT) TPDU 
  5522.  
  5523.      13.7.1  Structure 
  5524.  
  5525.      Depending on the class and the option the DT TPDU shall have  one      of the following structures. 
  5526.  
  5527.         a)  Normal format for Classes 0 and 1 
  5528.  
  5529.        1       2         3          4       5             ... end      +----+-----------+-----------+------------ - - - - - -------+      | LI |    DT     |  TPDU-NR  | User Data                    |      |    | 1111 0000 |  and EOT  |                              |      +----+-----------+-----------+------------ - - - - - -------+ 
  5530.  
  5531.          b)  Normal format for Classes 2, 3 and 4 
  5532.  
  5533.        1      2       3   4     5     6       p    p+1       ... end      +----+---------+---+---+-------+-----+-------+----------- - - -+      | LI |   DT    |DST-REF|TPDU-NR|Variable Part|User Data        |      |    |1111 0000|   |   |and EOT|     |       |                 |      +----+---------+---+---+-------+-----+-------+----------- - - -+ 
  5534.  
  5535.         c)  Extended Format for  use  in  Classes  2,  3  and  4  when             selected during connection establishment. 
  5536.  
  5537.        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  |                |      +----+---------+---+---+---------+--------+---------- - - -+ 
  5538.  
  5539.  
  5540.  
  5541.  
  5542.  
  5543.                                      133 
  5544.  
  5545.  
  5546.  
  5547.  
  5548.  
  5549.  
  5550.  
  5551.  
  5552.  
  5553.  
  5554.       13.7.2  LI 
  5555.  
  5556.      See 13.2.1 
  5557.  
  5558.  
  5559.  
  5560.       13.7.3  Fixed Part 
  5561.  
  5562.      The fixed part shall contain: 
  5563.  
  5564.         a)  DT:       Data Transfer Code:  1111 0000; 
  5565.  
  5566.         b)  DST-REF:  See 13.4.3; 
  5567.  
  5568.         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; 
  5569.  
  5570.         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. 
  5571.  
  5572.         NOTE - Depending on the class, the fixed part of the  DT  TPDU         uses the following octets: 
  5573.  
  5574.              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. 
  5575.  
  5576.  
  5577.  
  5578.  
  5579.  
  5580.  
  5581.  
  5582.  
  5583.  
  5584.                                      134 
  5585.  
  5586.  
  5587.  
  5588.  
  5589.  
  5590.  
  5591.  
  5592.  
  5593.  
  5594.  
  5595.       13.7.4  Variable Part 
  5596.  
  5597.      The variable part shall contain the  checksum  parameter  if  the      condition in see 13.2.3.1 applies. 
  5598.  
  5599.  
  5600.  
  5601.       13.7.5  User Data Field 
  5602.  
  5603.      This field contains data of the TSDU being transmitted. 
  5604.  
  5605.      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. 
  5606.  
  5607.  
  5608.  
  5609.       13.8  Expedited Data (ED) TPDU 
  5610.  
  5611.      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. 
  5612.  
  5613.  
  5614.  
  5615.       13.8.1  Structure 
  5616.  
  5617.      Depending on the format negotiated  at  connection  establishment      the ED TPDU shall have one of the following structures: 
  5618.  
  5619.  
  5620.  
  5621.  
  5622.  
  5623.  
  5624.  
  5625.  
  5626.  
  5627.  
  5628.  
  5629.                                     135 
  5630.  
  5631.  
  5632.  
  5633.  
  5634.  
  5635.  
  5636.  
  5637.  
  5638.  
  5639.  
  5640.          a)  Normal Format (classes 1, 2, 3, 4) 
  5641.  
  5642.       1     2       3   4      5     6        p    p+1     ... end      +--+---------+---+---+---------+-----+-------+---------------+      |LI|   ED    |DST-REF|EDTPDU-NR|Variable Part|User Data      |      |  |0001 0000|   |   |and EOT  |     |       |               |      +--+---------+---+---+---------+-----+-------+---------------+ 
  5643.  
  5644.          b)  Extended Format (for use in classes 2, 3, 4 when  selected             during connection establishment). 
  5645.  
  5646.        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  |     |       |               |      +--+---------+---+---+---------+-----+-------+---------------+ 
  5647.  
  5648.  
  5649.  
  5650.       13.8.2  LI 
  5651.  
  5652.      See 13.2.1 
  5653.  
  5654.  
  5655.  
  5656.       13.8.3  Fixed Part 
  5657.  
  5658.      The fixed part shall contain: 
  5659.  
  5660.         a)  ED:          Expedited Data code:  0001 0000; 
  5661.  
  5662.         b)  DST-REF:     see 13.4.3; 
  5663.  
  5664.         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; 
  5665.  
  5666.  
  5667.  
  5668.                                     136 
  5669.  
  5670.  
  5671.  
  5672.  
  5673.  
  5674.  
  5675.  
  5676.  
  5677.  
  5678.  
  5679.          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). 
  5680.  
  5681.         NOTE - Depending on the format the fixed part shall be  either         octets 2 to 5 or 2 to 8. 
  5682.  
  5683.  
  5684.  
  5685.       13.8.4  Variable Part 
  5686.  
  5687.      The variable part shall contain the  checksum  parameter  if  the      condition defined in 13.2.3.1 applies. 
  5688.  
  5689.  
  5690.  
  5691.       13.8.5  User Data Field 
  5692.  
  5693.      This field contains an expedited TSDU (1 to 16 octets). 
  5694.  
  5695.  
  5696.  
  5697.       13.9  Data Acknowledgement (AK) TPDU 
  5698.  
  5699.      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. 
  5700.  
  5701.  
  5702.  
  5703.       13.9.1  Structure 
  5704.  
  5705.      Depending on the class and option agreed the AK TPDU  shall  have      one of the following structures: 
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.                                      137 
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.          a)  Normal Format (classes 1, 2, 3, 4) 
  5725.  
  5726.       1     2      3     4        5        6        p      +--+--------+----------+------------+---------------+      |LI| AK CDT | DST-REF  |  YR-TU-NR  | Variable Part |      |  | 0110   |          |            |               |      +--+--------+----------+------------+---------------+ 
  5727.  
  5728.         b)  Extended Format (for use in classes 2, 3, 4 when  selected             during connection establishment). 
  5729.  
  5730.       1      2      3     4    5,6,7,8   9,10 11    p      +--+---------+---------+----------+-----+--------+      |LI|    AK   | DST-REF | YR-TU-NR | CDT |Variable|      |  |0110 0000|         |          |     |  Part  |      +--+---------+---------+----------+-----+--------+ 
  5731.  
  5732.  
  5733.  
  5734.       13.9.2  LI 
  5735.  
  5736.      See 13.2.1 
  5737.  
  5738.  
  5739.  
  5740.       13.9.3  Fixed Part 
  5741.  
  5742.      The fixed part shall contain (in octet 2 to 5 when normal  format      is used, 2 to 10 otherwise) the following parameters: 
  5743.  
  5744.         a)  AK:        Acknowledgement code:  0110; 
  5745.  
  5746.         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; 
  5747.  
  5748.         c)  DST-REF:   See 13.4.3; 
  5749.  
  5750.         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 
  5751.  
  5752.  
  5753.  
  5754.                                     138 
  5755.  
  5756.  
  5757.  
  5758.  
  5759.  
  5760.  
  5761.  
  5762.  
  5763.  
  5764.  
  5765.                         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. 
  5766.  
  5767.  
  5768.  
  5769.       13.9.4  Variable Part 
  5770.  
  5771.      The variable part contains the following parameters: 
  5772.  
  5773.         a)  Checksum  See  13.2.3.1  if  the  condition  in   13.2.3.1             applies; 
  5774.  
  5775.         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; 
  5776.  
  5777.         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 
  5778.  
  5779.             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. 
  5780.  
  5781.             2.  Your Sub-Sequence (16 bits)                 Contains the value of the  sub-sequence  parameter  of 
  5782.  
  5783.  
  5784.  
  5785.                                     139 
  5786.  
  5787.  
  5788.  
  5789.  
  5790.  
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796.                  the  received  AK  TPDU, or zero if this parameter was                 not present. 
  5797.  
  5798.             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. 
  5799.  
  5800.  
  5801.  
  5802.       13.10  Expedited Data Acknowledgement (EA) TPDU 
  5803.  
  5804.      This TPDU shall not be used for Class 0 and Class 2 when  the  no      explicit flow control option is selected. 
  5805.  
  5806.  
  5807.  
  5808.       13.10.1  Structure 
  5809.  
  5810.      Depending on the option (normal  or  extended  format)  the  TPDU      structure shall be: 
  5811.  
  5812.         a)  Normal Format (classes 1,2,3,4) 
  5813.  
  5814.              1      2      3     4      5      6        p             +--+---------+---------+----------+------+------+             |LI|   EA    | DST-REF | YR-TU-NR |Variable Part|             |  |0010 0000|         |          |      |      |             +--+---------+---------+----------+------+------+ 
  5815.  
  5816.         b)  Extended Format (for use in classes 2, 3,  4  if  selected             during connection establishment) 
  5817.  
  5818.              1      2      3     4    5,6,7,8  9        p             +--+---------+---------+----------+------+------+             |LI|   EA    | DST-REF | YR-TU-NR |Variable Part|             |  |0010 0000|         |          |      |      |             +--+---------+---------+----------+------+------+ 
  5819.  
  5820.  
  5821.  
  5822.  
  5823.  
  5824.                                     140 
  5825.  
  5826.  
  5827.  
  5828.  
  5829.  
  5830.  
  5831.  
  5832.  
  5833.  
  5834.  
  5835.       13.10.2  LI 
  5836.  
  5837.      See 13.2.1 
  5838.  
  5839.  
  5840.  
  5841.       13.10.3  Fixed Part 
  5842.  
  5843.      The fixed part shall contain (in octets 2 to 5 when normal format      is used, in octets 2 to 8 otherwise): 
  5844.  
  5845.         a)  EA:          Expedited Acknowledgement code:  0010 0000; 
  5846.  
  5847.         b)  DST-REF:     See 13.4.3; 
  5848.  
  5849.         c)  YR-EDTU-NR:  Identification   of   the   ED   TPDU   being                          acknowledged.  May take any value in Class 2; 
  5850.  
  5851.                          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. 
  5852.  
  5853.  
  5854.  
  5855.       13.10.4  Variable Part 
  5856.  
  5857.      The  variable  part  may  contain  the  checksum  parameter  (see      13.2.3.1). 
  5858.  
  5859.  
  5860.  
  5861.       13.11  Reject (RJ) TPDU 
  5862.  
  5863.      The RJ TPDU shall not be used in Classes 0, 2 and 4. 
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.                                      141 
  5870.  
  5871.  
  5872.  
  5873.  
  5874.  
  5875.  
  5876.  
  5877.  
  5878.  
  5879.  
  5880.       13.11.1  Structure 
  5881.  
  5882.      The RJ TPDU shall have one of the following formats: 
  5883.  
  5884.         a)  Normal Format (classes 1 and 3) 
  5885.  
  5886.               1      2        3     4       5             +----+----------+----+----+------------+             | LI |  RJ CDT  | DST-REF |  YR-TU-NR  |             |    | 0101     |    |    |            |             +----+----------+----+----+------------+ 
  5887.  
  5888.         b)  Extended Format (for use in classes 3 if  selected  during             connection establishment). 
  5889.  
  5890.              1       2       3     4   5,6,7,8   9,10             +--+-----------+----+----+----------+-----+             |LI|     RJ    | DST-REF | YR-TU-NR | CDT |             |  | 0101 0000 |    |    |          |     |             +--+-----------+----+----+----------+-----+ 
  5891.  
  5892.  
  5893.  
  5894.       13.11.2  LI 
  5895.  
  5896.      See 13.2.1. 
  5897.  
  5898.  
  5899.  
  5900.       13.11.3  Fixed Part 
  5901.  
  5902.      The fixed part shall contain (in octets 2 to 5 when normal format      is used, in octets 2 to 10 otherwise): 
  5903.  
  5904.         a)  RJ:        Reject Code:  0101.  Bits 8-5 of octet 2; 
  5905.  
  5906.         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; 
  5907.  
  5908.         c)  DST-REF:   See 13.4.3; 
  5909.  
  5910.  
  5911.  
  5912.                                     142 
  5913.  
  5914.  
  5915.  
  5916.  
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.          d)  YR-TU-NR:  Sequence number indicating  the  next  expected                        TPDU from which retransmission should occur. 
  5924.  
  5925.                        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. 
  5926.  
  5927.  
  5928.  
  5929.       13.11.4  Variable Part 
  5930.  
  5931.      There is no variable part for this TPDU type. 
  5932.  
  5933.  
  5934.  
  5935.       13.12  TPDU Error (ER) TPDU 
  5936.  
  5937.      13.12.1  Structure 
  5938.  
  5939.        1        2       3     4     5         6   P      +----+-----------+----+----+--------+----------+      | LI |    ER     | DST-REF | Reject | Variable |      |    | 0111 0000 |    |    | Cause  |   Part   |      +----+-----------+----+----+--------+----------+ 
  5940.  
  5941.  
  5942.  
  5943.       13.12.2  LI 
  5944.  
  5945.      See 13.2.1 
  5946.  
  5947.  
  5948.  
  5949.  
  5950.  
  5951.  
  5952.  
  5953.  
  5954.  
  5955.                                      143 
  5956.  
  5957.  
  5958.  
  5959.  
  5960.  
  5961.  
  5962.  
  5963.  
  5964.  
  5965.  
  5966.       13.12.3  Fixed Part 
  5967.  
  5968.      The fixed part shall contain: 
  5969.  
  5970.         a)  ER:            TPDU Error Code:  0111 0000; 
  5971.  
  5972.         b)  DST-REF:       See 13.4.3; 
  5973.  
  5974.         c)  REJECT CAUSE:  0000 0000  Reason not specified                            0000 0001  Invalid parameter code                            0000 0010  Invalid TPDU type                            0000 0011  Invalid parameter value. 
  5975.  
  5976.  
  5977.  
  5978.       13.12.4  Variable Part 
  5979.  
  5980.      The variable part may contain the following parameters: 
  5981.  
  5982.         a)  Invalid TPDU 
  5983.  
  5984.             Parameter code:    1100 0001 
  5985.  
  5986.             Parameter length:  number of octets of the value field 
  5987.  
  5988.             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. 
  5989.  
  5990.         b)  Checksum 
  5991.  
  5992.             This parameter  shall  be  present  if  the  condition  in             13.2.3.1 applies. 
  5993.  
  5994.  
  5995.  
  5996.  
  5997.  
  5998.  
  5999.  
  6000.  
  6001.  
  6002.  
  6003.  
  6004.                                     144 
  6005.  
  6006.  
  6007.  
  6008.  
  6009.  
  6010.  
  6011.  
  6012.  
  6013.  
  6014.  
  6015.       SECTION THREE.  CONFORMANCE 
  6016.  
  6017.  
  6018.  
  6019.       14  CONFORMANCE 
  6020.  
  6021.      14.1 
  6022.  
  6023.      A system claiming to implement the procedures specified  in  this      standard shall comply with the requirements in 14.2 - 14.5. 
  6024.  
  6025.  
  6026.  
  6027.       14.2 
  6028.  
  6029.      The system shall implement Class 0 or Class 2 or both. 
  6030.  
  6031.  
  6032.  
  6033.       14.3 
  6034.  
  6035.      If the system implements Class  3  or  Class  4,  it  shall  also      implement Class 2. 
  6036.  
  6037.  
  6038.  
  6039.       14.4 
  6040.  
  6041.      If the system implements Class 1, it shall also  implement  Class      0. 
  6042.  
  6043.  
  6044.  
  6045.  
  6046.  
  6047.  
  6048.  
  6049.  
  6050.  
  6051.  
  6052.  
  6053.                                      145 
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.  
  6061.  
  6062.  
  6063.  
  6064.       14.5 
  6065.  
  6066.      For each class which the system claims to implement,  the  system      shall be capable of: 
  6067.  
  6068.         a)  initiating CR TPDUs or responding  to  CR  TPDUs  with  CC             TPDUs or both; 
  6069.  
  6070.         b)  responding to any other TPDU and operating network service             in accordance with the procedures for the class; 
  6071.  
  6072.         c)  operating all the  procedures  for  the  class  listed  as             mandatory in table 9; 
  6073.  
  6074.         d)  operating  those  procedures  for  the  class  listed   as             optional in table 9 for which conformance is claimed; 
  6075.  
  6076.         e)  handling all TPDUs of lengths up to the lesser value of: 
  6077.  
  6078.             1)  the maximum length for the class; 
  6079.  
  6080.             2)  the maximum for which conformance is claimed. 
  6081.  
  6082.             NOTE - This requirement indicates that TPDU sizes  of  128             octets are always implemented. 
  6083.  
  6084.  
  6085.  
  6086.       14.6  Claims of Conformance Shall State 
  6087.  
  6088.         a)  which class or classes of protocol are implemented; 
  6089.  
  6090.         b)  whether the system is capable of initiating or  responding             to CR TPDUs or both; 
  6091.  
  6092.         c)  which of the procedures listed as optional in table 9  are             implemented; 
  6093.  
  6094.  
  6095.  
  6096.  
  6097.  
  6098.  
  6099.  
  6100.                                      146 
  6101.  
  6102.  
  6103.  
  6104.  
  6105.  
  6106.  
  6107.  
  6108.  
  6109.  
  6110.  
  6111.          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: 
  6112.  
  6113.             128, 256, 512, 1024, 2048, 4096 or 8192 octets. 
  6114.  
  6115.  
  6116.  
  6117.  
  6118.  
  6119.  
  6120.  
  6121.  
  6122.  
  6123.  
  6124.  
  6125.  
  6126.  
  6127.  
  6128.  
  6129.  
  6130.  
  6131.  
  6132.  
  6133.  
  6134.  
  6135.  
  6136.  
  6137.  
  6138.  
  6139.  
  6140.  
  6141.  
  6142.  
  6143.  
  6144.  
  6145.  
  6146.  
  6147.  
  6148.  
  6149.  
  6150.  
  6151.  
  6152.  
  6153.  
  6154.  
  6155.                                     147 
  6156.  
  6157.  
  6158.  
  6159.  
  6160.  
  6161.  
  6162.  
  6163.  
  6164.  
  6165.  
  6166.  
  6167.  
  6168.  
  6169.  
  6170.       +------------------------------------------------------------+      |       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      |      |                          |                |                |      +------------------------------------------------------------+ 
  6171.  
  6172.      NA indicates the procedure is not applicable.              Table 9. (First of 2 pages) Provision of options 
  6173.  
  6174.  
  6175.  
  6176.  
  6177.  
  6178.  
  6179.  
  6180.                                     148 
  6181.  
  6182.  
  6183.  
  6184.  
  6185.  
  6186.  
  6187.  
  6188.  
  6189.  
  6190.  
  6191.       +------------------------------------------------------------+      |       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         |      |                          |          |          |           |      +------------------------------------------------------------+ 
  6192.  
  6193.      NA indicates the procedure is not applicable             Table 9. (Second of 2 pages) Provision of options 
  6194.  
  6195.  
  6196.  
  6197.  
  6198.  
  6199.  
  6200.  
  6201.  
  6202.  
  6203.  
  6204.  
  6205.                                     149 
  6206.  
  6207.  
  6208.  
  6209.  
  6210.  
  6211.  
  6212.  
  6213.  
  6214.  
  6215.  
  6216.       ANNEX A - STATE TABLES 
  6217.  
  6218.       This annex is an integral part of the body of this  International      Standard. 
  6219.  
  6220.      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. 
  6221.  
  6222.      The state table also  define  the  mapping  between  service  and      protocol events that TS-users can expect. 
  6223.  
  6224.      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. 
  6225.  
  6226.      [The state tables have been omitted from this copy.] 
  6227.  
  6228.  
  6229.  
  6230.  
  6231.  
  6232.  
  6233.  
  6234.  
  6235.  
  6236.  
  6237.  
  6238.  
  6239.  
  6240.  
  6241.  
  6242.  
  6243.  
  6244.  
  6245.  
  6246.  
  6247.  
  6248.  
  6249.  
  6250.  
  6251.  
  6252.  
  6253.  
  6254.                                     150 
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.  
  6265.       ANNEX B - CHECKSUM ALGORITHMS 
  6266.  
  6267.      (This annex is provided for information for implementors  and  is      not an integral part of the body of the standard.) 
  6268.  
  6269.  
  6270.  
  6271.      B.1  SYMBOLS 
  6272.  
  6273.      The following symbols are used: 
  6274.  
  6275.         C0  variables used in the algorithms         C1 
  6276.  
  6277.         i   number (i.e. position) of an octet within  the  TPDU  (see             12.1) 
  6278.  
  6279.         n   number (i.e. position) of the first octet of the  checksum             parameter 
  6280.  
  6281.         L   length of the complete TPDU 
  6282.  
  6283.         X   value of the first octet of the checksum parameter 
  6284.  
  6285.         Y   value of the second octet of the checksum parameter. 
  6286.  
  6287.  
  6288.  
  6289.      B.2  ARITHMETIC CONVENTIONS 
  6290.  
  6291.      Addition is performed in one of the two following modes: 
  6292.  
  6293.         a)  modulo 255 arithmetic; 
  6294.  
  6295.         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). 
  6296.  
  6297.  
  6298.  
  6299.      B.3  ALGORITHM FOR GENERATING CHECKSUM PARAMETERS 
  6300.  
  6301.  
  6302.  
  6303.  
  6304.  
  6305.                                     151 
  6306.  
  6307.  
  6308.  
  6309.  
  6310.  
  6311.  
  6312.  
  6313.  
  6314.  
  6315.  
  6316.       B.3.1  Set up the complete TPDU with the value  of  the  checksum      parameter field set to zero. 
  6317.  
  6318.       B.3.2  Initialize C0 and C1 to zero. 
  6319.  
  6320.  
  6321.  
  6322.      B.3.3  Process each octet sequentially from i = 1 to L by: 
  6323.  
  6324.         a)  adding the value of the octet to C0; then 
  6325.  
  6326.         b)  adding the value of C0 to C1. 
  6327.  
  6328.  
  6329.  
  6330.      B.3.4  Calculate X and Y such that 
  6331.  
  6332.         X = -C1 + (L-n).CO         Y =  C1 - (L-n+1).C0 
  6333.  
  6334.  
  6335.  
  6336.      B.3.5  Place the values  X  and  Y  in  octets  n  and  (n  +  1)      respectively. 
  6337.  
  6338.      [A Note describing the above algorithm in  mathematical  notation      has been omitted from this copy.] 
  6339.  
  6340.  
  6341.  
  6342.      B.4  ALGORITHM FOR CHECKING CHECKSUM PARAMETERS 
  6343.  
  6344.       B.4.1  Initialize C0 and C1 to zero. 
  6345.  
  6346.       B.4.2  Process each octet of the TPDU sequentially from i = 1  to      L by: 
  6347.  
  6348.         a)  adding the value of the octet to C0; then 
  6349.  
  6350.         b)  adding the value of C0 to C1. 
  6351.  
  6352.  
  6353.  
  6354.                                     152 
  6355.  
  6356.  
  6357.  
  6358.  
  6359.  
  6360.  
  6361.  
  6362.  
  6363.  
  6364.  
  6365.       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. 
  6366.  
  6367.      NOTE - The nature of  the  algorithm  is  such  that  it  is  not      necessary to compare explicitly the stored checksum bytes. 
  6368.  
  6369.  
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.  
  6387.  
  6388.  
  6389.  
  6390.  
  6391.  
  6392.  
  6393.  
  6394.  
  6395.  
  6396.  
  6397.  
  6398.  
  6399.  
  6400.  
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.  
  6407.                                      153 
  6408.  
  6409.  
  6410.  
  6411.  
  6412.  
  6413.  
  6414.  
  6415.  
  6416.  
  6417.  
  6418.       Explanatory Report 
  6419.  
  6420.      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. 
  6421.  
  6422.      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. 
  6423.  
  6424.      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). 
  6425.  
  6426.      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. 
  6427.  
  6428.      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. 
  6429.  
  6430.  
  6431.  
  6432.  
  6433.  
  6434.  
  6435.  
  6436.                                      154 
  6437.  
  6438.  
  6439.  
  6440.