home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 900s / rfc905.txt < prev    next >
Text File  |  1992-09-22  |  249KB  |  9,516 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.      Network Working Group                                         ISO
  11.      Request for Comments:  905                             April 1984
  12.  
  13.  
  14.  
  15.                    ISO Transport Protocol Specification
  16.                                 ISO DP 8073
  17.  
  18.  
  19.    Status of this Memo:       
  20.  
  21.      This document is distributed as an RFC for information only.   It
  22.      does not specify a standard for the ARPA-Internet.
  23.  
  24.    Notes:
  25.  
  26.      1)  RFC 892 is an older version of  the  ISO  Transport  Protocol
  27.          Specification.   Therefore  this  RFC  should  be  assumed to
  28.          supercede RFC 892.
  29.  
  30.      2)  This document has been  prepared  by  retyping  the  text  of
  31.          ISO/TC97/SC16/N1576  and  then  applying  proposed  editorial
  32.          corrections  contained  in  ISO/TC97/SC16/N1695.   These  two
  33.          documents,  taken  together, are undergoing voting within ISO
  34.          as a Draft International Standard (DIS).
  35.  
  36.      3)  Although this RFC has been  reviewed  after  typing,  and  is
  37.          believed  to  be  substantially  correct, it is possible that
  38.          typographic errors not present in the ISO documents have been
  39.          overlooked.
  40.  
  41.          Alex McKenzie
  42.          BBN
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                              Table of Contents
  71.  
  72.  
  73.  
  74.  
  75.      1   SCOPE AND FIELD OF APPLICATION........................ 3
  76.      1.1   This International Standard specifies:.............. 3
  77.      1.2   The procedures are defined in terms of:............. 4
  78.      1.3   .................................................... 4
  79.      1.4   .................................................... 5
  80.      2   REFERENCES............................................ 5
  81.      3   DEFINITIONS........................................... 6
  82.      3.1   .................................................... 6
  83.      3.2   .................................................... 6
  84.      3.2.1   equipment:........................................ 7
  85.      3.2.2   transport service user:........................... 7
  86.      3.2.3   network service provider:......................... 7
  87.      3.2.4   local matter:..................................... 7
  88.      3.2.5   initiator:........................................ 7
  89.      3.2.6   responder:........................................ 8
  90.      3.2.7   sending transport entity:......................... 8
  91.      3.2.8   receiving transport entity:....................... 8
  92.      3.2.9   preferred class:.................................. 8
  93.      3.2.10   alternative class:............................... 8
  94.      3.2.11   proposed class:.................................. 9
  95.      3.2.12   selected class:.................................. 9
  96.      3.2.13   proposed parameter:.............................. 9
  97.      3.2.14   selected parameter:.............................. 9
  98.      3.2.15   error indication:................................ 9
  99.      3.2.16   invalid TPDU:................................... 10
  100.      3.2.17   protocol error:................................. 10
  101.      3.2.18   sequence number:................................ 10
  102.      3.2.19   transmit window:................................ 10
  103.      3.2.20   lower window edge:.............................. 11
  104.      3.2.21   upper window edge:.............................. 11
  105.      3.2.22   upper window edge allocated to  the  peer
  106.        entity:
  107.           .................................................... 11
  108.      3.2.23   closed window:.................................. 11
  109.      3.2.24   window information:............................. 11
  110.      3.2.25   frozen reference:............................... 12
  111.      3.2.26   unassigned reference:........................... 12
  112.      3.2.27   transparent (data):............................. 12
  113.  
  114.  
  115.  
  116.                                      i
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.      3.2.28   owner (of a network connection):................ 12
  129.      3.2.29   retained TPDU:.................................. 12
  130.      4   SYMBOLS AND ABBREVIATIONS............................ 13
  131.      4.1   Data units......................................... 13
  132.      4.2   Types of transport protocol data units............. 13
  133.      4.3   TPDU fields........................................ 13
  134.      4.4   Times and associated variables..................... 14
  135.      4.5   Miscellaneous...................................... 14
  136.      5   OVERVIEW OF THE TRANSPORT PROTOCOL................... 15
  137.      5.1   Service provided by the transport layer............ 15
  138.      5.2   Service assumed from the network layer............. 16
  139.      5.3   Functions of the Transport Layer................... 18
  140.      5.3.1   Overview of functions............................ 18
  141.      5.3.1.1   Functions used at all times.................... 19
  142.      5.3.1.2   Connection Establishment....................... 19
  143.      5.3.1.3   Data Transfer.................................. 20
  144.      5.3.1.4   Release........................................ 21
  145.      5.4   Classes and options................................ 21
  146.      5.4.1   General.......................................... 21
  147.      5.4.2   Negotiation...................................... 22
  148.      5.4.3   Choice of network connection..................... 22
  149.      5.4.4   Characteristics of Class 0....................... 23
  150.      5.4.5   Characteristics of Class 1....................... 23
  151.      5.4.6   Characteristics of Class 2....................... 24
  152.      5.4.6.1   General........................................ 24
  153.      5.4.6.2   Use of explicit flow control................... 24
  154.      5.4.6.3   Non-use of explicit flow control............... 24
  155.      5.4.7   Characteristics of Class 3....................... 24
  156.      5.4.8   Characteristics of Class 4....................... 25
  157.      5.5   Model of the transport layer....................... 25
  158.      6   ELEMENTS OF PROCEDURE................................ 27
  159.      6.1   Assignment to network connection................... 27
  160.      6.1.1   Purpose.......................................... 27
  161.      6.1.2   Network service primitives....................... 27
  162.      6.1.3   Procedure........................................ 28
  163.      6.2   Transport protocol data unit (TPDU) transfer....... 29
  164.      6.2.1   Purpose.......................................... 29
  165.      6.2.2   Network Service Primitives....................... 30
  166.      6.2.3   Procedure........................................ 30
  167.      6.3   Segmenting and reassembling........................ 30
  168.      6.3.1   Purpose.......................................... 30
  169.      6.3.2   TPDUs and parameter used......................... 31
  170.      6.3.3   Procedure........................................ 31
  171.  
  172.  
  173.  
  174.                                     ii
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.      6.4   Concatenation and separation....................... 31
  187.      6.4.1   Purpose.......................................... 31
  188.      6.4.2   Procedure........................................ 32
  189.      6.5   Connection establishment........................... 32
  190.      6.5.1   Purpose.......................................... 32
  191.      6.5.2   Network service primitives....................... 33
  192.      6.5.3   TPDUs and parameters used........................ 33
  193.      6.5.4   Procedure........................................ 34
  194.      6.6   Connection refusal................................. 40
  195.      6.6.1   Purpose.......................................... 40
  196.      6.6.2   TPDUs and parameters used........................ 40
  197.      6.6.3   Procedure........................................ 41
  198.      6.7   Normal release..................................... 41
  199.      6.7.1   Purpose.......................................... 41
  200.      6.7.2   Network service primitives....................... 42
  201.      6.7.3   TPDUs and parameters used........................ 42
  202.      6.7.4   Procedure for implicit variant................... 43
  203.      6.7.5   Procedure for explicit variant................... 43
  204.      6.8   Error Release...................................... 44
  205.      6.8.1   Purpose.......................................... 45
  206.      6.8.2   Network service primitives....................... 45
  207.      6.8.3   Procedure........................................ 45
  208.      6.9    Association   of   TPDUs   with   transport
  209.        connections
  210.           .................................................... 45
  211.      6.9.1   Purpose.......................................... 45
  212.      6.9.2   Network service primitives....................... 46
  213.      6.9.3   TPDUs and parameters uses........................ 46
  214.      6.9.4   Procedures....................................... 46
  215.      6.9.4.1   Identification of TPDUs........................ 46
  216.      6.9.4.2   Association of individual TPDUs................ 47
  217.      6.10   Data TPDU numbering............................... 49
  218.      6.10.1   Purpose......................................... 49
  219.      6.10.2   TPDUs and parameters used....................... 49
  220.      6.10.3   Procedure....................................... 50
  221.      6.11   Expedited data transfer........................... 50
  222.      6.11.1   Purpose......................................... 50
  223.      6.11.2   Network service primitives...................... 50
  224.      6.11.3   TPDUs and parameter used........................ 51
  225.      6.11.4   Procedures...................................... 51
  226.      6.12   Reassignment after failure........................ 52
  227.      6.12.1   Purpose......................................... 52
  228.      6.12.2   Network service primitives...................... 52
  229.  
  230.  
  231.  
  232.                                     iii
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.      6.12.3   Procedure....................................... 52
  245.      6.12.4   Timers.......................................... 54
  246.      6.13   Retention until acknowledgement of TPDUs.......... 56
  247.      6.13.1   Purpose......................................... 56
  248.      6.13.2   Network service primitives...................... 56
  249.      6.13.3   TPDUs and parameters used....................... 56
  250.      6.13.4   Procedures...................................... 57
  251.      6.14   Resynchronization................................. 60
  252.      6.14.1   Purpose......................................... 60
  253.      6.14.2   Network service primitives...................... 60
  254.      6.14.3   TPDUs and parameters used....................... 60
  255.      6.14.4   Procedure....................................... 61
  256.      6.14.4.1   Active resynchronization procedures........... 61
  257.      6.14.4.2   Passive resynchronization procedures.......... 62
  258.      6.14.4.3   Data Resynchronization Procedures............. 63
  259.      6.15   Multiplexing and demultiplexing................... 64
  260.      6.15.1   Purpose......................................... 64
  261.      6.15.2   TPDUs and parameters used....................... 64
  262.      6.15.3   Procedure....................................... 65
  263.      6.16   Explicit Flow Control............................. 65
  264.      6.16.1   Purpose......................................... 65
  265.      6.16.2   TPDUs and parameters used....................... 65
  266.      6.16.3   Procedure....................................... 66
  267.      6.17   Checksum.......................................... 66
  268.      6.17.1   Purpose......................................... 66
  269.      6.17.2   TPDUs and parameters used....................... 66
  270.      6.17.3   Procedure....................................... 67
  271.      6.18   Frozen references................................. 68
  272.      6.18.1   Purpose......................................... 68
  273.      6.18.2   Procedure....................................... 68
  274.      6.18.2.1   Procedure for classes 0 and 2................. 68
  275.      6.18.2.2   Procedure for classes 1 and 3................. 69
  276.      6.18.2.3   Procedure for classes 4....................... 70
  277.      6.19   Retransmission on time-out........................ 70
  278.      6.19.1   Purpose......................................... 70
  279.      6.19.2   TPDUs used...................................... 70
  280.      6.19.3   Procedure....................................... 70
  281.      6.20   Resequencing...................................... 70
  282.      6.20.1   Purpose......................................... 71
  283.      6.20.2   TPDUs and parameters used....................... 71
  284.      6.20.3   Procedure....................................... 71
  285.      6.21   Inactivity control................................ 71
  286.      6.21.1   Purpose......................................... 71
  287.  
  288.  
  289.  
  290.                                     iv
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.      6.21.2   Procedure....................................... 72
  303.      6.22   Treatment of protocol errors...................... 72
  304.      6.22.1   Purpose......................................... 72
  305.      6.22.2   TPDUs and parameters used....................... 72
  306.      6.22.3   Procedure....................................... 72
  307.      6.23   Splitting and recombining......................... 74
  308.      6.23.1   Purpose......................................... 74
  309.      6.23.2   Procedure....................................... 74
  310.      7   Protocol Classes..................................... 76
  311.      8   SPECIFICATION FOR CLASS 0. SIMPLE CLASS.............. 79
  312.      8.1   Functions of class 0............................... 79
  313.      8.2   Procedures for class 0............................. 79
  314.      8.2.1   Procedures applicable at all times............... 79
  315.      8.2.2   Connection establishment......................... 79
  316.      8.2.3   Data transfer.................................... 80
  317.      8.2.4   Release.......................................... 80
  318.      9    SPECIFICATION  FOR  CLASS  1:   BASIC   ERROR
  319.        RECOVERY CLASS
  320.           .................................................... 81
  321.      9.1   Functions of Class 1............................... 81
  322.      9.2   Procedures for Class 1............................. 81
  323.      9.2.1   Procedures applicable at all times............... 81
  324.      9.2.2   Connection establishment......................... 82
  325.      9.2.3   Data Transfer.................................... 82
  326.      9.2.3.1   General........................................ 82
  327.      9.2.3.2   Expedited Data................................. 83
  328.      9.2.4   Release.......................................... 84
  329.      10   SPECIFICATION  FOR  CLASS  2  -  MULTIPLEXING
  330.        CLASS
  331.           .................................................... 85
  332.      10.1   Functions of class 2.............................. 85
  333.      10.2   Procedures for class 2............................ 85
  334.      10.2.1   Procedures applicable at all times.............. 85
  335.      10.2.2   Connection establishment........................ 86
  336.      10.2.3   Data transfer when non  use  of  explicit
  337.        flow control
  338.           .................................................... 86
  339.      10.2.4   Data transfer when use of  explicit  flow
  340.        control
  341.           .................................................... 86
  342.      10.2.4.1   General....................................... 86
  343.      10.2.4.2   Flow control.................................. 87
  344.      10.2.4.3   Expedited data................................ 88
  345.  
  346.  
  347.  
  348.                                      v
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.      10.2.5   Release......................................... 89
  361.      11   SPECIFICATION FOR CLASS 3: ERROR RECOVERY AND
  362.        MULTIPLEXING CLASS
  363.           .................................................... 90
  364.      11.1   Functions of Class 3.............................. 90
  365.      11.2   Procedures for Class 3............................ 90
  366.      11.2.1   Procedures applicable at all times.............. 90
  367.      11.2.2   Connection Establishment........................ 91
  368.      11.2.3   Data Transfer................................... 91
  369.      11.2.3.1   General....................................... 91
  370.      11.2.3.2   Use of RJ TPDU................................ 92
  371.      11.2.3.3   Flow Control.................................. 93
  372.      11.2.3.4   Expedited data................................ 93
  373.      11.2.4   Release......................................... 94
  374.      12   SPECIFICATION FOR CLASS  4:  ERROR  DETECTION
  375.        AND RECOVERY CLASS
  376.           .................................................... 95
  377.      12.1   Functions of Class 4.............................. 95
  378.      12.2   Procedures for Class 4............................ 95
  379.      12.2.1   Procedures available at all times............... 95
  380.      12.2.1.1   Timers used at all times...................... 95
  381.      12.2.1.1.1   NSDU lifetime (MLR, MRL).................... 98
  382.      12.2.1.1.2   Expected maximum transit delay  (ELR,
  383.        ERL)
  384.           .................................................... 98
  385.      12.2.1.1.3   Acknowledge Time (AR, AL)................... 99
  386.      12.2.1.1.4   Local retransmission time (T1).............. 99
  387.      12.2.1.1.5   Persistence Time (R)........................ 99
  388.      12.2.1.1.6    Bound  on  References  and  Sequence
  389.        Numbers (L)
  390.           ................................................... 100
  391.      12.2.1.2   General Procedures........................... 100
  392.      12.2.2   Procedures for Connection Establishment........ 102
  393.      12.2.2.1   Timers used in Connection Establishment...... 102
  394.      12.2.2.2   General Procedures........................... 103
  395.      12.2.3   Procedures for Data Transfer................... 104
  396.      12.2.3.1   Timers used in Data Transfer................. 104
  397.      12.2.3.2   General Procedures for data transfer......... 104
  398.      12.2.3.3   Inactivity Control........................... 105
  399.      12.2.3.4   Expedited Data............................... 105
  400.      12.2.3.5   Resequencing................................. 106
  401.      12.2.3.6   Explicit Flow Control........................ 107
  402.      12.2.3.7   Sequencing of received AK TPDUs.............. 108
  403.  
  404.  
  405.  
  406.                                     vi
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.      12.2.3.8   Procedure for transmission of AK TPDUs....... 109
  419.      12.2.3.8.1   Retransmission of AK TPDUs for window
  420.        synchronization
  421.           ................................................... 109
  422.      12.2.3.8.2   Sequence control for transmission  of
  423.        AK TPDUs
  424.           ................................................... 109
  425.      12.2.3.8.3   Retransmission of AK TPDUs after  CDT
  426.        set to zero
  427.           ................................................... 110
  428.      12.2.3.8.4   Retransmission  procedures  following
  429.        reduction of the
  430.           ................................................... 111
  431.      12.2.3.9    Use  of  Flow   Control   Confirmation
  432.        parameter
  433.           ................................................... 112
  434.      12.2.4   Procedures for Release......................... 113
  435.      12.2.4.1   Timers used for Release...................... 113
  436.      12.2.4.2   General Procedures for Release............... 113
  437.      13   STRUCTURE AND ENCODING OF TPDUs.................... 114
  438.      13.1   Validity......................................... 114
  439.      13.2   Structure........................................ 116
  440.      13.2.1   Length indicator field......................... 117
  441.      13.2.2   Fixed part..................................... 117
  442.      13.2.2.1   General...................................... 117
  443.      13.2.2.2   TPDU code.................................... 117
  444.      13.2.3   Variable part.................................. 118
  445.      13.2.3.1   Checksum Parameter (Class 4 only)............ 120
  446.      13.2.4   Data Field..................................... 120
  447.      13.3   Connection Request (CR) TPDU..................... 120
  448.      13.3.1   Structure...................................... 120
  449.      13.3.2   LI............................................. 121
  450.      13.3.3   Fixed Part (Octets 2 to 7)..................... 121
  451.      13.3.4   Variable Part (Octets 8 to p).................. 122
  452.      13.3.5   User Data (Octets p+1 to the end).............. 127
  453.      13.4   Connection Confirm (CC) TPDU..................... 128
  454.      13.4.1   Structure...................................... 128
  455.      13.4.2   LI............................................. 128
  456.      13.4.3   Fixed Part (Octets 2 to 7)..................... 128
  457.      13.4.4   Variable Part (Octet 8 to p)................... 129
  458.      13.4.5   User Data (Octets p+1 to the end).............. 129
  459.      13.5   Disonnect Request (DR) TPDU...................... 129
  460.      13.5.1   Structure...................................... 129
  461.  
  462.  
  463.  
  464.                                     vii
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.      13.5.2   LI............................................. 129
  477.      13.5.3   Fixed Part (Octets 2 to 7...................... 130
  478.      13.5.4   Variable Part (Octets 8 to p).................. 131
  479.      13.5.5   User Data (Octets p+1 to the end).............. 131
  480.      13.6   Disconnect Confirm (DC) TPDU..................... 132
  481.      13.6.1   Structure...................................... 132
  482.      13.6.2   LI............................................. 132
  483.      13.6.3   Fixed Part (Octets 2 to 6)..................... 132
  484.      13.6.4   Variable Part.................................. 133
  485.      13.7   Data (DT) TPDU................................... 133
  486.      13.7.1   Structure...................................... 133
  487.      13.7.2   LI............................................. 134
  488.      13.7.3   Fixed Part..................................... 134
  489.      13.7.4   Variable Part.................................. 135
  490.      13.7.5   User Data Field................................ 135
  491.      13.8   Expedited Data (ED) TPDU......................... 135
  492.      13.8.1   Structure...................................... 135
  493.      13.8.2   LI............................................. 136
  494.      13.8.3   Fixed Part..................................... 136
  495.      13.8.4   Variable Part.................................. 137
  496.      13.8.5   User Data Field................................ 137
  497.      13.9   Data Acknowledgement (AK) TPDU................... 137
  498.      13.9.1   Structure...................................... 137
  499.      13.9.2   LI............................................. 138
  500.      13.9.3   Fixed Part..................................... 138
  501.      13.9.4   Variable Part.................................. 139
  502.      13.10   Expedited Data Acknowledgement (EA) TPDU........ 140
  503.      13.10.1   Structure..................................... 140
  504.      13.10.2   LI............................................ 141
  505.      13.10.3   Fixed Part.................................... 141
  506.      13.10.4   Variable Part................................. 141
  507.      13.11   Reject (RJ) TPDU................................ 141
  508.      13.11.1   Structure..................................... 142
  509.      13.11.2   LI............................................ 142
  510.      13.11.3   Fixed Part.................................... 142
  511.      13.11.4   Variable Part................................. 143
  512.      13.12   TPDU Error (ER) TPDU............................ 143
  513.      13.12.1   Structure..................................... 143
  514.      13.12.2   LI............................................ 143
  515.      13.12.3   Fixed Part.................................... 144
  516.      13.12.4   Variable Part................................. 144
  517.      14   CONFORMANCE........................................ 145
  518.      14.1   ................................................. 145
  519.  
  520.  
  521.  
  522.                                    viii
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.      14.2   ................................................. 145
  535.      14.3   ................................................. 145
  536.      14.4   ................................................. 145
  537.      14.5   ................................................. 146
  538.      14.6   Claims of Conformance Shall State................ 146
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.                                     ix
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.      INTRODUCTION
  593.  
  594.      The Transport Protocol Standard is one of a set of  International
  595.      Standards  produced to facilitate the interconnection of computer
  596.      systems.  The set of standards covers the services and  protocols
  597.      required to achieve such interconnection.
  598.  
  599.      The Transport Protocol Standard is  positioned  with  respect  to
  600.      other  related  standards  by the layers defined in the Reference
  601.      Model for Open Systems Interconnection (ISO 7498).   It  is  most
  602.      closely  related  to, and lies within the field of application of
  603.      the Transport Service Standard (DP 8072).  It also uses and makes
  604.      reference  to  the  Network  Service  Standard  (DP  8348), whose
  605.      provisions it  assumes  in  order  to  accomplish  the  transport
  606.      protocol's  aims.   The  interelationship  of  these standards is
  607.      depicted in figure 1.
  608.  
  609.  
  610.  
  611.  
  612.  
  613.      -------------------------TRANSPORT SERVICE DEFINITION------------
  614.      Transport     | --- Reference to aims --------------
  615.      Protocol      |
  616.      Specification | --- Reference to assumptions -------
  617.      -------------------------NETWORK SERVICE DEFINITION--------------
  618.  
  619.       Relationaship between Transport Protocol and adjacent services
  620.                                 Figure 1 .
  621.  
  622.  
  623.  
  624.      The International Standard specifies  a  common  encoding  and  a
  625.      number  of  classes  of  transport protocol procedures to be used
  626.      with different network qualities of service.
  627.  
  628.      It is intended that the Transport Protocol should be  simple  but
  629.      general  enough  to  cater for the total range of Network Service
  630.      qualities possible, without restricting future extensions.
  631.  
  632.      The protocol is structured to give rise to  classes  of  protocol
  633.      which  are  designed  to  minimize possible incompatibilities and
  634.      implementation costs.
  635.  
  636.  
  637.  
  638.                                      1
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.      The classes are selectable with  respect  to  the  Transport  and
  651.      Network Services in providing the required quality of service for
  652.      the interconnection of two session entities (note that each class
  653.      provides  a different set of functions for enhancement of service
  654.      qualities).
  655.  
  656.      This protocol standard defines mechanisms that  can  be  used  to
  657.      optimize  network  tariffs and enhance the following qualities of
  658.      service:
  659.  
  660.         a)  different throughput rates;
  661.  
  662.         b)  different error rates;
  663.  
  664.         c)  integrity of data requirements;
  665.  
  666.         d)  reliability requirements.
  667.  
  668.      It does not  require  an  implementation  to  use  all  of  these
  669.      mechanisms,  nor  does  it  define methods for measuring achieved
  670.      quality of service or  criteria  for  deciding  when  to  release
  671.      transport connections following quality of service degradation.
  672.  
  673.      The primary aim of this International Standard is  to  provide  a
  674.      set  of  rules  for  communication  expressed  in  terms  of  the
  675.      procedures to be carried out by peer  entities  at  the  time  of
  676.      communication.   These  rules  for  communication are intended to
  677.      provide a sound basis for development in order to serve a variety
  678.      of purposes:
  679.  
  680.         a)  as a guide for implementors and designers;
  681.  
  682.         b)  for use in the testing and procurement of equipment;
  683.  
  684.         c)  as part of an agreement for the admittance of systems into
  685.             the open systems environment;
  686.  
  687.         d)  as a refinement of the understanding of OSI.
  688.  
  689.      It is expected  that  the  initial  users  of  the  International
  690.      Standard  will be designers and implementors of equipment and the
  691.      International Standard contains, in notes or in annexes, guidance
  692.      on the implementation of the procedures defined in the standard.
  693.  
  694.  
  695.  
  696.                                      2
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.      It should  be  noted  that,  as  the  number  of  valid  protocol
  709.      sequences  is  very  large,  it  is  not  possible  with  current
  710.      technology to verify that  an  implementation  will  operate  the
  711.      protocol  defined  in this International Standard correctly under
  712.      all circumstances.   It  is  possible  by  means  of  testing  to
  713.      establish  confidence  that  an implementation correctly operates
  714.      the protocol in a representative sample of circumstances.  It is,
  715.      however, intended that this International Standard can be used in
  716.      circumstances where two implementations fail  to  communicate  in
  717.      order to determine whether one or both have failed to operate the
  718.      protocol correctly.
  719.  
  720.      This International Standard contains a section on conformance  of
  721.      equipment   claiming   to   implement   the  procedures  in  this
  722.      International Standard.  Attention is drawn to the fact that  the
  723.      standard   does   not  contain  any  tests  to  demonstrate  this
  724.      conformance.
  725.  
  726.      The variations and options available  within  this  International
  727.      Standard  are  essential  to  enable  a  Transport  Service to be
  728.      provided for a wide variety of applications  over  a  variety  of
  729.      network  qualities.   Thus, a minimally conforming implementation
  730.      will not be suitable for use in all possible  circumstances.   It
  731.      is  important,  therefore,  to  qualify  all  references  to this
  732.      International Standard with statements of the options provided or
  733.      required  or with statements of the intended purpose of provision
  734.      or use.
  735.  
  736.  
  737.  
  738.  
  739.      1  SCOPE AND FIELD OF APPLICATION
  740.  
  741.      1.1  This International Standard specifies:
  742.  
  743.         a)  five classes of procedures:
  744.  
  745.             1) Class 0.  Simple class;
  746.             2) Class 1.  Basic error recovery class;
  747.             3) Class 2.  Multiplexing class;
  748.             4) Class 3.  Error recovery and multiplexing class;
  749.             5) Class 4.  Error detection and recovery class,
  750.  
  751.  
  752.  
  753.  
  754.                                      3
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.             for the connection oriented transfer of data  and  control
  767.             information  from one transport entity to a peer transport
  768.             entity;
  769.  
  770.         b)  the means of negotiating the class  of  procedures  to  be
  771.             used by the transport entities;
  772.  
  773.         c)  the structure and encoding of the transport protocol  data
  774.             units   used   for   the  transfer  of  data  and  control
  775.             information;
  776.  
  777.  
  778.  
  779.  
  780.      1.2  The procedures are defined in terms of:
  781.  
  782.         a)  the interactions between peer transport  entities  through
  783.             the exchange of transport protocol data units;
  784.  
  785.         b)  the  interactions  between  a  transport  entity  and  the
  786.             transport  service  user  in  the  same system through the
  787.             exchange of transport service primitives;
  788.  
  789.         c)  the  interactions  between  a  transport  entity  and  the
  790.             network  service  provider through the exchange of network
  791.             service primitives.
  792.  
  793.      These procedures are defined in the main  text  of  the  standard
  794.      supplemented by state tables in annex A.
  795.  
  796.  
  797.  
  798.  
  799.      1.3
  800.  
  801.      These procedures are applicable  to  instances  of  communication
  802.      between  systems  which  support  the  Transport Layer of the OSI
  803.      Reference Model and which wish to interconnect in an open systems
  804.      environment.
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.                                      4
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.      1.4
  825.  
  826.      This   International   Standard   also   specifies    conformance
  827.      requirements  for systems implementing these procedures.  It does
  828.      not  contain  tests  which  can  be  used  to  demonstrate   this
  829.      conformance.
  830.  
  831.  
  832.  
  833.  
  834.      2  REFERENCES
  835.  
  836.      ISO 7498  Information   processing   systems   -   Open   systems
  837.                interconnection - Basic Reference Model
  838.  
  839.      DP 8072   Information   processing   systems   -   Open   systems
  840.                interconnection - Transport service definition
  841.  
  842.      DP 8348   Information   processing   systems   -   Open   systems
  843.                interconnection  -  Connection-oriented network service
  844.                definition.
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.                                      5
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.      SECTION ONE.  GENERAL
  883.  
  884.  
  885.  
  886.  
  887.      3  DEFINITIONS
  888.  
  889.      NOTE - The definitions contained  in  this  clause  make  use  of
  890.      abbreviations defined in clause 4.
  891.  
  892.  
  893.  
  894.  
  895.      3.1
  896.  
  897.      This International Standard is based on the concepts developed in
  898.      the  Reference  Model for Open Systems Interconnection (DIS 7498)
  899.      and makes use of the following terms defined in that standard:
  900.  
  901.         a)  concatenation and separation;
  902.  
  903.         b)  segmenting and reassembling;
  904.  
  905.         c)  multiplexing and demultiplexing;
  906.  
  907.         d)  splitting and recombining;
  908.  
  909.         e)  flow control.
  910.  
  911.  
  912.  
  913.  
  914.      3.2
  915.  
  916.      For the purpose of this  International  Standard,  the  following
  917.      definitions apply:
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                      6
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.      3.2.1  equipment:
  941.  
  942.      Hardware or software or a combination of both;  it  need  not  be
  943.      physically distinct within a computer system.
  944.  
  945.  
  946.  
  947.  
  948.      3.2.2  transport service user:
  949.  
  950.      An abstract representation of  the  totality  of  those  entities
  951.      within a single system that make use of the transport service.
  952.  
  953.  
  954.  
  955.  
  956.      3.2.3  network service provider:
  957.  
  958.      An abstract machine that models  the  totality  of  the  entities
  959.      providing the network service, as viewed by a transport entity.
  960.  
  961.  
  962.  
  963.  
  964.      3.2.4  local matter:
  965.  
  966.      A decision made by  a  system  concerning  its  behavior  in  the
  967.      Transport  Layer  that is not subject to the requirements of this
  968.      protocol.
  969.  
  970.  
  971.  
  972.  
  973.      3.2.5  initiator:
  974.  
  975.      A transport entity that initiates a CR TPDU.
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.                                      7
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.      3.2.6  responder:
  999.  
  1000.      A transport entity with whom an initiator wishes to  establish  a
  1001.      transport connection.
  1002.  
  1003.      NOTE - Initiator and responder are  defined  with  respect  to  a
  1004.      single  transport  connection.  A transport entity can be both an
  1005.      initiator and responder simultaneously.
  1006.  
  1007.  
  1008.  
  1009.  
  1010.      3.2.7  sending transport entity:
  1011.  
  1012.      A transport entity that sends a given TPDU.
  1013.  
  1014.  
  1015.  
  1016.  
  1017.      3.2.8  receiving transport entity:
  1018.  
  1019.      A transport entity that receives a given TPDU.
  1020.  
  1021.  
  1022.  
  1023.  
  1024.      3.2.9  preferred class:
  1025.  
  1026.      The protocol class that the initiator indicates in a CR  TPDU  as
  1027.      its first choice for use over the transport connection.
  1028.  
  1029.  
  1030.  
  1031.  
  1032.      3.2.10  alternative class:
  1033.  
  1034.      A protocol class that the initiator indicates in a CR TPDU as  an
  1035.      alternative choice for use over the transport connection.
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.                                      8
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.      3.2.11  proposed class:
  1057.  
  1058.      A preferred class or an alternative class.
  1059.  
  1060.  
  1061.  
  1062.  
  1063.      3.2.12  selected class:
  1064.  
  1065.      The protocol class that the responder indicates in a CC TPDU that
  1066.      it has chosen for use over the transport connection.
  1067.  
  1068.  
  1069.  
  1070.  
  1071.      3.2.13  proposed parameter:
  1072.  
  1073.      The value for a parameter that the initiator indicates  in  a  CR
  1074.      TPDU that it wishes to use over the transport connection.
  1075.  
  1076.  
  1077.  
  1078.  
  1079.      3.2.14  selected parameter:
  1080.  
  1081.      The value for a parameter that the responder indicates  in  a  CC
  1082.      TPDU that it has chosen for use over the transport connection.
  1083.  
  1084.  
  1085.  
  1086.  
  1087.      3.2.15  error indication:
  1088.  
  1089.      An N-RESET indication,  or  an  N-DISCONNECT  indication  with  a
  1090.      reason code indicating an error, that a transport entity receives
  1091.      from the NS-provider.
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.                                      9
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.      3.2.16  invalid TPDU:
  1115.  
  1116.      A TPDU that  does  not  comply  with  the  requirements  of  this
  1117.      International Standard for structure and encoding.
  1118.  
  1119.  
  1120.  
  1121.  
  1122.      3.2.17  protocol error:
  1123.  
  1124.      A TPDU whose use does not comply  with  the  procedures  for  the
  1125.      class.
  1126.  
  1127.  
  1128.  
  1129.  
  1130.      3.2.18  sequence number:
  1131.  
  1132.         a)  The number  in  the  TPDU-NR  field  of  a  DT  TPDU  that
  1133.             indicates  the  order in which the DT TPDU was transmitted
  1134.             by a transport entity.
  1135.  
  1136.         b)  The number in the YR-TU-NR field of an AK or RJ TPDU  that
  1137.             indicates the sequence number of the next DT TPDU expected
  1138.             to be received by a transport entity.
  1139.  
  1140.  
  1141.  
  1142.  
  1143.      3.2.19  transmit window:
  1144.  
  1145.      The set of consecutive sequence numbers which a transport  entity
  1146.      has been authorized by its peer entity to send at a given time on
  1147.      a given transport connection.
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.                                     10
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.      3.2.20  lower window edge:
  1173.  
  1174.      The lowest sequence number in a transmit window.
  1175.  
  1176.  
  1177.  
  1178.  
  1179.      3.2.21  upper window edge:
  1180.  
  1181.      The sequence  number  which  is  one  greater  than  the  highest
  1182.      sequence number in the transmit window.
  1183.  
  1184.  
  1185.  
  1186.  
  1187.      3.2.22  upper window edge allocated to the peer entity:
  1188.  
  1189.      The value that a transport entity communicates to its peer entity
  1190.      to be interpreted as its new upper window edge.
  1191.  
  1192.  
  1193.  
  1194.  
  1195.      3.2.23  closed window:
  1196.  
  1197.      A transmit window that contains no sequence number.
  1198.  
  1199.  
  1200.  
  1201.  
  1202.      3.2.24  window information:
  1203.  
  1204.      Information contained in a TPDU relating to  the  upper  and  the
  1205.      lower window edges.
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.                                     11
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.      3.2.25  frozen reference:
  1231.  
  1232.      A reference that is not available for assignment to a  connection
  1233.      because of the requirements of 6.18.
  1234.  
  1235.  
  1236.  
  1237.  
  1238.      3.2.26  unassigned reference:
  1239.  
  1240.      A reference that is neither currently in use  for  identifying  a
  1241.      transport connection or which is in a frozen state.
  1242.  
  1243.  
  1244.  
  1245.  
  1246.      3.2.27  transparent (data):
  1247.  
  1248.      TS-user  data  that  is  transferred  intact  between   transport
  1249.      entities  and  which  is  unavailable  for  use  by the transport
  1250.      entities.
  1251.  
  1252.  
  1253.  
  1254.  
  1255.      3.2.28  owner (of a network connection):
  1256.  
  1257.      The transport entity that issued the N-CONNECT request leading to
  1258.      the creation of that network connection.
  1259.  
  1260.  
  1261.  
  1262.  
  1263.      3.2.29  retained TPDU:
  1264.  
  1265.      A TPDU  that  is  subject  to  the  retransmission  procedure  or
  1266.      retention  until  acknowledgement  procedure and is available for
  1267.      possible retransmission.
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.                                     12
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.      4  SYMBOLS AND ABBREVIATIONS
  1289.  
  1290.      4.1  Data units
  1291.  
  1292.         TPDU          Transport protocol data unit
  1293.         TSDU          Transport service data unit
  1294.         NSDU          Network service data unit
  1295.  
  1296.  
  1297.  
  1298.  
  1299.      4.2  Types of transport protocol data units
  1300.  
  1301.         CR TPDU          Connection request TPDU
  1302.         CC TPDU          Connection confirm TPDU
  1303.         DR TPDU          Disconnect request TPDU
  1304.         DC TPDU          Disconnect confirm TPDU
  1305.         DT TPDU          Data TPDU
  1306.         ED TPDU          Expedited data TPDU
  1307.         AK TPDU          Data acknowledge TPDU
  1308.         EA TPDU          Expedited acknowledge TPDU
  1309.         RJ TPDU          Reject TPDU
  1310.         ER TPDU          Error TPDU
  1311.  
  1312.  
  1313.  
  1314.  
  1315.      4.3  TPDU fields
  1316.  
  1317.         LI               Length indicator (field)
  1318.         CDT              Credit (field)
  1319.         TSAP-ID          Transport service access point
  1320.                          identifier (field)
  1321.         DST-REF          Destination reference (field)
  1322.         SRC-REF          Source reference (field)
  1323.         EOT              End of TSDU mark
  1324.         TPDU-NR          DT TPDU number (field)
  1325.         ED-TPDU-NR       ED TPDU number (field)
  1326.         YR-TU-NR         Sequence number response (field)
  1327.         YR-EDTU-NR       ED TPDU number response (field)
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.                                     13
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.      4.4  Times and associated variables
  1347.  
  1348.         T1               Elapsed time between retransmissions
  1349.         N                The maximum number of transmissions
  1350.         L                Bound on reference
  1351.         I                Inactivity time
  1352.         W                Window time
  1353.         TTR              Time to try reassignment/resynchronization
  1354.         TWR              Time to wait for
  1355.                             reassignment/resynchronization
  1356.         TS1              Supervisory timer 1
  1357.         TS2              Supervisory time 2
  1358.         MLR              NSDU lifetime  local-to-remote
  1359.         MRL              NSDU lifetime  remote-to-local
  1360.         ELR              Expected maximum transit delay
  1361.                             local-to-remote
  1362.         ERL              Expected maximum transit delay
  1363.                             remote-to-local
  1364.         R                Persistence time
  1365.         AL               Local acknowledgement time
  1366.         AR               Remote acknowledgement time
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.      4.5  Miscellaneous
  1373.  
  1374.  
  1375.         TS-user          Transport service user
  1376.         TSAP             Transport service access point
  1377.         NS-provider      Network service provider
  1378.         NSAP             Network service access point
  1379.         QOS              Quality of service
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.                                     14
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.      5  OVERVIEW OF THE TRANSPORT PROTOCOL
  1405.  
  1406.      NOTE - This overview is not exhaustive and has been provided  for
  1407.      guidance to the reader of this International Standard.
  1408.  
  1409.  
  1410.  
  1411.  
  1412.      5.1  Service provided by the transport layer
  1413.  
  1414.      The protocol specified in this  International  Standard  supports
  1415.      the transport service defined in DP 8072.
  1416.  
  1417.      Information is  transferred  to  and  from  the  TS-user  in  the
  1418.      transport service primitives listed in table 1.
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.                                     15
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.      +-------------------------------------------------------------+
  1467.      |           Primitive            |        Parameter           |
  1468.      |--------------------------------|----------------------------|
  1469.      |T-CONNECT         request       |   Called Address,          |
  1470.      |                  indication    |   Calling Address,         |
  1471.      |                                |   Expedited Data option,   |
  1472.      |                                |   Quality of Service,      |
  1473.      |                                |   TS User-Data.            |
  1474.      |--------------------------------|----------------------------|
  1475.      |T-CONNECT         response      |   Responding Address,      |
  1476.      |                  confirm       |   Quality of Service,      |
  1477.      |                                |   Expedited Data option,   |
  1478.      |                                |   TS User-Data.            |
  1479.      |--------------------------------|----------------------------|
  1480.      |T-DATA            request       |   TS User-Data.            |
  1481.      |                  indication    |                            |
  1482.      |--------------------------------|----------------------------|
  1483.      |T-EXPEDITED DATA  request       |   TS User-Data.            |
  1484.      |                  indication    |                            |
  1485.      |--------------------------------|----------------------------|
  1486.      |T-DISCONNECT      request       |   TS User-Data.            |
  1487.      |--------------------------------|----------------------------|
  1488.      |T-DISCONNECT      indication    |   Disconnect reason,       |
  1489.      |                                |   TS User-Data.            |
  1490.      +--------------------------------|----------------------------+
  1491.  
  1492.                    Table 1. Transport service primitives
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.      5.2  Service assumed from the network layer
  1499.  
  1500.      The protocol specified in this International Standard assumes the
  1501.      use of the network service defined in DP 8348.
  1502.  
  1503.      Information is transferred to and from  the  NS-provider  in  the
  1504.      network service primitives listed in table 2.
  1505.  
  1506.  
  1507.  
  1508.                                     16
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.      +---------------------------------------------------------------+
  1525.      |        Primitives          |X/Y|       Parameters       |X/Y/Z|
  1526.      |----------------------------|---|------------------------|-----|
  1527.      |N-CONNECT       request     | X | Called Address,        |  X  |
  1528.      |                indication  | X | Calling Address,       |  X  |
  1529.      |                response    | X | NS User-Data,          |  Z  |
  1530.      |                confirm     | X | QOS parameter set,     |  X  |
  1531.      |                            |   | Responding address,    |  Z  |
  1532.      |                            |   | Receipt confirmation   |  Y  |
  1533.      |                            |   | selection.             |     |
  1534.      |----------------------------|---|------------------------|-----|
  1535.      |N-DATA          request     | X | NS User-Data,          |  X  |
  1536.      |                indication  | X | Confirmation request   |  Y  |
  1537.      |----------------------------|---|------------------------|-----|
  1538.      |N-DATA ACKNOWLEDGE          |   |                        |     |
  1539.      |                request     | Y |                        |     |
  1540.      |                indication  | Y |                        |     |
  1541.      |----------------------------|---|------------------------|-----|
  1542.      |N-EXPEDITED DATA            |   |                        |     |
  1543.      |                request     | Y | NS User-Data.          |  Y  |
  1544.      |                indication  | Y |                        |     |
  1545.      |----------------------------|---|------------------------|-----|
  1546.      |N-RESET         request     | X | Originator,            |  Z  |
  1547.      |                indication  | X | Reason.                |  Z  |
  1548.      |                response    | X |                        |     |
  1549.      |                confirm     | X |                        |     |
  1550.      |----------------------------|---|------------------------|-----|
  1551.      |N-DISCONNECT    request     | X | NS User-Data.          |  Z  |
  1552.      |                indication  | X | Originator,            |  Z  |
  1553.      |                            |   | Reason.                |  Z  |
  1554.      +---------------------------------------------------------------+
  1555.                     Table 2. Network service primitives
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.                                     17
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.      Key:
  1579.  
  1580.         X - The Transport  Protocol  assumes  that  this  facility  is
  1581.             provided in all networks.
  1582.  
  1583.         Y - The Transport  Protocol  assumes  that  this  facility  is
  1584.             provided  in  some networks and a mechanism is provided to
  1585.             optionally use the facility.
  1586.  
  1587.         Z - The Transport Protocol does not use this parameter.
  1588.  
  1589.      NOTES:
  1590.  
  1591.         1 - The parameters listed in  this  table  are  those  in  the
  1592.             current network service (first DP 8348).
  1593.  
  1594.         2 - The way the parameters are exchanged between the transport
  1595.             entity and the NS-provider is a local matter.
  1596.  
  1597.  
  1598.  
  1599.  
  1600.      5.3  Functions of the Transport Layer
  1601.  
  1602.      5.3.1  Overview of functions
  1603.  
  1604.      The functions in the  Transport  Layer  are  those  necessary  to
  1605.      bridge  the  gap  between the services available from the Network
  1606.      Layer and those to be offered to the TS-users.
  1607.  
  1608.      The functions in the  Transport  Layer  are  concerned  with  the
  1609.      enhancement  of  quality  of  service,  including aspects of cost
  1610.      optimization.
  1611.  
  1612.      These functions are grouped below into those used  at  all  times
  1613.      during a transport connection and those concerned with connection
  1614.      establishment, data transfer and release.
  1615.  
  1616.      NOTE - This International Standard does not include the following
  1617.      functions  which  are under consideration for inclusion in future
  1618.      editions of this standard:
  1619.  
  1620.         a)  encryption;
  1621.  
  1622.  
  1623.  
  1624.                                     18
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.         b)  accounting mechanisms;
  1637.  
  1638.         c)  status exchanges and monitoring of QOS;
  1639.  
  1640.         d)  blocking;
  1641.  
  1642.         e)  temporary release of network connections;
  1643.  
  1644.         f)  alternative checksum algorithm.
  1645.  
  1646.  
  1647.  
  1648.  
  1649.      5.3.1.1  Functions used at all times
  1650.  
  1651.      The following functions, depending upon the  selected  class  and
  1652.      options, are used at all times during a transport connection:
  1653.  
  1654.         a)  transmission of TPDUs (see 6.2 and 6.9);
  1655.  
  1656.         b)  multiplexing and demultiplexing  (see  6.15),  a  function
  1657.             used  to  share a single network connection between two or
  1658.             more transport connections;
  1659.  
  1660.         c)  error detection (see 6.10, 6.13 and 6.17), a function used
  1661.             to  detect  the loss, corruption, duplication, misordering
  1662.             or misdelivery of TPDUs;
  1663.  
  1664.         d)  error recovery (see 6.12, 6.14, 6.18, 6.19, 6.20, 6.21 and
  1665.             6.22),  a  function  used  to  recover  from  detected and
  1666.             signalled errors.
  1667.  
  1668.  
  1669.  
  1670.  
  1671.      5.3.1.2  Connection Establishment
  1672.  
  1673.      The  purpose  of  connection  establishment  is  to  establish  a
  1674.      transport   connection   between  two  TS-users.   The  following
  1675.      functions of the transport layer during this phase must match the
  1676.      TS-users'  requested quality of service with the services offered
  1677.      by the network layer:
  1678.  
  1679.  
  1680.  
  1681.  
  1682.                                     19
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.         a)  select network service which best matches the  requirement
  1695.             of  the  TS-user  taking  into account charges for various
  1696.             services (see 6.5);
  1697.  
  1698.         b)  decide whether to multiplex multiple transport connections
  1699.             onto a single network connection (see 6.5);
  1700.  
  1701.         c)  establish the optimum TPDU size (see 6.5);
  1702.  
  1703.         d)  select  the  functions  that  will  be  operational   upon
  1704.             entering the data transfer phase (see 6.5);
  1705.  
  1706.         e)  map transport addresses onto network addresses;
  1707.  
  1708.         f)  provide a  means  to  distinguish  between  two  different
  1709.             transport connections (see 6.5);
  1710.  
  1711.         g)  transport of TS-user data (see 6.5).
  1712.  
  1713.  
  1714.  
  1715.  
  1716.      5.3.1.3  Data Transfer
  1717.  
  1718.      The purpose of data transfer is to permit duplex transmission  of
  1719.      TSDUs  between  the  two  TS-users  connected  by  the  transport
  1720.      connection.   This  purpose  is  achieved  by  means  of  two-way
  1721.      simultaneous  communication  and by the following functions, some
  1722.      of which are used or not used in accordance with  the  result  of
  1723.      the selection performed in connection establishment:
  1724.  
  1725.         a)  concatenation and separation (see 6.4), a function used to
  1726.             collect  several  TPDUs  into a single NSDU at the sending
  1727.             transport  entity  and  to  separate  the  TPDUs  at   the
  1728.             receiving transport entity;
  1729.  
  1730.         b)  segmenting and reassembling (see 6.3), a function used  to
  1731.             segment  a  single  data  TSDU  into multiple TPDUs at the
  1732.             sending transport entity and to reassemble them into their
  1733.             original format at the receiving transport entity;
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.                                     20
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.         c)  splitting and recombining (see 6.23), a function  allowing
  1753.             the simultaneous use of two or more network connections to
  1754.             support the same transport connection;
  1755.  
  1756.         d)  flow control (see 6.16), a function used to  regulate  the
  1757.             flow  of  TPDUs  between  two  transport  entities  on one
  1758.             transport connection;
  1759.  
  1760.         e)  transport connection identification, a means  to  uniquely
  1761.             identify  a  transport  connection  between  the  pair  of
  1762.             transport entities supporting the  connection  during  the
  1763.             lifetime of the transport connection;
  1764.  
  1765.         f)  expedited data (see 6.11), a function used to  bypass  the
  1766.             flow  control  of  normal  data TPDU.  Expedited data TPDU
  1767.             flow is controlled by separate flow control;
  1768.  
  1769.         g)  TSDU delimiting (see 6.3), a function  used  to  determine
  1770.             the beginning and ending of a TSDU.
  1771.  
  1772.  
  1773.  
  1774.  
  1775.      5.3.1.4  Release
  1776.  
  1777.      The  purpose  of  release  (see  6.7  and  6.8)  is  to   provide
  1778.      disconnection  of  the  transport  connection,  regardless of the
  1779.      current activity.
  1780.  
  1781.  
  1782.  
  1783.  
  1784.      5.4  Classes and options
  1785.  
  1786.      5.4.1  General
  1787.  
  1788.      The functions of the Transport Layer  have  been  organized  into
  1789.      classes and options.
  1790.  
  1791.      A class  defines  a  set  of  functions.   Options  define  those
  1792.      functions within a class which may or may not be used.
  1793.  
  1794.      This International Standard defines five classes of protocol:
  1795.  
  1796.  
  1797.  
  1798.                                     21
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.         a)  Class 0:  Simple Class;
  1811.  
  1812.         b)  Class 1:  Basic Error recovery Class;
  1813.  
  1814.         c)  Class 2:  Multiplexing Class;
  1815.  
  1816.         d)  Class 3:  Error Recovery and Multiplexing Class;
  1817.  
  1818.         e)  Class 4:  Error Detection and Recovery Class.
  1819.  
  1820.      NOTE - Transport connections  of  classes  2,  3  and  4  may  be
  1821.      multiplexed together onto the same network connection.
  1822.  
  1823.  
  1824.  
  1825.  
  1826.      5.4.2  Negotiation
  1827.  
  1828.      The use of classes and options is  negotiated  during  connection
  1829.      establishment.   The  choice  made by the transport entities will
  1830.      depend upon:
  1831.  
  1832.         a)  the TS-users' requirements expressed via T-CONNECT service
  1833.             primitives;
  1834.  
  1835.         b)  the quality of the available network services;
  1836.  
  1837.         c)  the user required service versus cost ratio acceptable  to
  1838.             the TS-user.
  1839.  
  1840.  
  1841.  
  1842.  
  1843.      5.4.3  Choice of network connection
  1844.  
  1845.      The following  list  classifies  network  services  in  terms  of
  1846.      quality  with  respect  to  error  behavior  in  relation to user
  1847.      requirements; its main purpose is to  provide  a  basis  for  the
  1848.      decision  regarding  which  class of transport protocol should be
  1849.      used in conjunction with given network connection:
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.                                     22
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.         a)  Type A.  Network connection with acceptable residual error
  1869.             rate  (for  example  not signalled by disconnect or reset)
  1870.             and acceptable rate of signalled errors.
  1871.  
  1872.         b)  Type B.   Network  connections  with  acceptable  residual
  1873.             error  rate  (for  example  not signalled by disconnect or
  1874.             reset) but unacceptable rate of signalled errors.
  1875.  
  1876.         c)  Type C.  Network connections  with  unacceptable  residual
  1877.             error rate.
  1878.  
  1879.      It is assumed that each transport entity is aware of the  quality
  1880.      of service provided by particular network connections.
  1881.  
  1882.  
  1883.  
  1884.  
  1885.      5.4.4  Characteristics of Class 0
  1886.  
  1887.      Class 0 provides the simplest type of transport connection and is
  1888.      fully  compatible  with the CCITT recommendation S.70 for teletex
  1889.      terminals.
  1890.  
  1891.      Class 0 has  been  designed  to  be  used  with  type  A  network
  1892.      connections.
  1893.  
  1894.  
  1895.  
  1896.  
  1897.      5.4.5  Characteristics of Class 1
  1898.  
  1899.      Class 1  provides  a  basic  transport  connection  with  minimal
  1900.      overheads.
  1901.  
  1902.      The main  purpose  of  the  class  is  to  recover  from  network
  1903.      disconnect or reset.
  1904.  
  1905.      Selection of this class is usually based on reliability criteria.
  1906.      Class  1  has  been  designed  to  be  used  with  type B network
  1907.      connections.
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.                                     23
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.      5.4.6  Characteristics of Class 2
  1927.  
  1928.      5.4.6.1  General
  1929.  
  1930.      Class 2 provides a way to multiplex several transport connections
  1931.      onto  a  single network connection.  This class has been designed
  1932.      to be used with type A network connections.
  1933.  
  1934.  
  1935.  
  1936.  
  1937.      5.4.6.2  Use of explicit flow control
  1938.  
  1939.      The objective is to provide flow control to help avoid congestion
  1940.      at transport-connection-end-points and on the network connection.
  1941.      Typical use is when traffic is  heavy  and  continuous,  or  when
  1942.      there  is  intensive  multiplexing.   Use  of  flow  control  can
  1943.      optimize response times and resource utilization.
  1944.  
  1945.  
  1946.  
  1947.  
  1948.      5.4.6.3  Non-use of explicit flow control
  1949.  
  1950.      The objective is to provide a  basic  transport  connection  with
  1951.      minimal  overheads  suitable  when  explicit disconnection of the
  1952.      transport connection is desirable.  The option would typically be
  1953.      used for unsophisticated terminals, and when no multiplexing onto
  1954.      network  connections  is  required.   Expedited  data  is   never
  1955.      available.
  1956.  
  1957.  
  1958.  
  1959.  
  1960.      5.4.7  Characteristics of Class 3
  1961.  
  1962.      Class 3 provides the characteristics of Class 2 plus the  ability
  1963.      to  recover  from network disconnect or reset.  Selection of this
  1964.      class is usually based upon reliability criteria.   Class  3  has
  1965.      been designed to be used with type B network connections.
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.                                     24
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.      5.4.8  Characteristics of Class 4
  1985.  
  1986.      Class 4  provides  the  characteristics  of  Class  3,  plus  the
  1987.      capability  to  detect  and  recover from errors which occur as a
  1988.      result of the  low  grade  of  service  available  from  the  NS-
  1989.      provider.   The  kinds  of  errors  to be detected include:  TPDU
  1990.      loss, TPDU delivery out of sequence, TPDU  duplication  and  TPDU
  1991.      corruption.   These  errors  may  affect control TPDUs as well as
  1992.      data TPDUs.
  1993.  
  1994.      This class also provides for increased throughput capability  and
  1995.      additional  resilience  against network failure. Class 4 has been
  1996.      designed to be used with type C network connections.
  1997.  
  1998.  
  1999.  
  2000.  
  2001.      5.5  Model of the transport layer
  2002.  
  2003.      A transport entity communicates with its TS-users through one  or
  2004.      more  TSAPs  by means of the service primitives as defined by the
  2005.      transport service definition DP 8072.   Service  primitives  will
  2006.      cause  or be the result of transport protocol data unit exchanges
  2007.      between  the  peer  transport  entities  supporting  a  transport
  2008.      connection.   These  protocol  exchanges  are  effected using the
  2009.      services of the Network Layer as defined by the  Network  Service
  2010.      Definition DP 8348 through one or more NSAPs.
  2011.  
  2012.      Transport connection endpoints are identified in end  systems  by
  2013.      an  internal, implementation dependent, mechanism so that the TS-
  2014.      user and  the  transport  entity  can  refer  to  each  transport
  2015.      connection.
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.                                     25
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.                +------+                        +------+
  2047.      ----------| TSAP |------------------------| TSAP |----------
  2048.                +------+                        +------+
  2049.                    |                               |
  2050.             +---------------+               +---------------+
  2051.             | Transport     |               | Transport     |
  2052.             |       entity  |               |       entity  |
  2053.             +---------------+               +---------------+
  2054.                    |                               |
  2055.                    |                               |
  2056.                +------+                        +------+
  2057.      ----------| NSAP |------------------------| NSAP |----------
  2058.                +------+                        +------+
  2059.                    |                               |
  2060.                    +-------------------------------+
  2061.  
  2062.                   Figure 2 . Model of the transport layer
  2063.  
  2064.  
  2065.  
  2066.      NOTE - For purpose of illustration, this figure  shows  only  one
  2067.      TSAP  and  one  NSAP  for  each  transport  entity.   In  certain
  2068.      instances, more than one TSAP and/or more than one  NSAP  may  be
  2069.      associated with a particular transport entity.
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.                                     26
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.      SECTION TWO.  TRANSPORT PROTOCOL SPECIFICATION
  2101.  
  2102.  
  2103.  
  2104.  
  2105.      6  ELEMENTS OF PROCEDURE
  2106.  
  2107.      This clause contains elements of procedure which are used in  the
  2108.      specification  of  protocol  classes  in  clauses 7 to 12.  These
  2109.      elements are not meaningful on their own.
  2110.  
  2111.      The procedures define the transfer of TPDUs whose  structure  and
  2112.      coding  is  specified  in  clause  13.   Transport entities shall
  2113.      accept and respond to any TPDU received in a valid NSDU  and  may
  2114.      issue  TPDUs  initiating specific elements of procedure specified
  2115.      in this clause.
  2116.  
  2117.      NOTE - Where network service primitives and TPDUs and  parameters
  2118.      used  are  not significant for a particular element of procedure,
  2119.      they have not been included in the specification.
  2120.  
  2121.  
  2122.  
  2123.  
  2124.      6.1  Assignment to network connection
  2125.  
  2126.      6.1.1  Purpose
  2127.  
  2128.      The  procedure  is  used  in  all  classes  to  assign  transport
  2129.      connections to network connections.
  2130.  
  2131.  
  2132.  
  2133.  
  2134.      6.1.2  Network service primitives
  2135.  
  2136.      The  procedure  makes  use  of  the  following  network   service
  2137.      primitives:
  2138.  
  2139.         a)  N-CONNECT;
  2140.  
  2141.         b)  N-DISCONNECT.
  2142.  
  2143.  
  2144.  
  2145.  
  2146.                                     27
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.      6.1.3  Procedure
  2159.  
  2160.      Each  transport  connection  shall  be  assigned  to  a   network
  2161.      connection.  The initiator may assign the transport connection to
  2162.      an existing network connection of which it is the owner or  to  a
  2163.      new  network  connection  (see  Note 1) which it creates for this
  2164.      purpose.
  2165.  
  2166.      The  initiator  shall  not  assign  or  reassign  the   transport
  2167.      connection  to  an  existing  network  connection if the protocol
  2168.      class(es)  proposed  or  the  class  in  use  for  the  transport
  2169.      connection are incompatible with the current usage of the network
  2170.      connection with respect to multiplexing (see Note 2).
  2171.  
  2172.      During the resynchronization (see 6.14)  and  reassignment  after
  2173.      failure  (see 6.12) procedures, a transport entity may reassign a
  2174.      transport connection to another network  connection  joining  the
  2175.      same  NSAPs,  provided  that  it  is  the  owner  of  the network
  2176.      connection and that the transport connection is assigned to  only
  2177.      one network connection at any given time.
  2178.  
  2179.      During the splitting procedure (see 6.23), a transport entity may
  2180.      assign   a   transport   connection  to  any  additional  network
  2181.      connection joining the same NSAPs, provided that it is the  owner
  2182.      of  the  network  connection and that multiplexing is possible on
  2183.      the network connection.
  2184.  
  2185.      The responder becomes aware of the assignment when it receives
  2186.  
  2187.         a)  a CR TPDU during the  connection  establishment  procedure
  2188.             (see 6.5); or
  2189.  
  2190.         b)  an RJ TPDU or a retransmitted CR or  DR  TPDU  during  the
  2191.             resynchronization   (see   6.14)  and  reassignment  after
  2192.             failure (see 6.12) procedures; or
  2193.  
  2194.         c)  any TPDU when splitting (see 6.23) is used.
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.                                     28
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.      NOTES
  2217.  
  2218.         1.  When a new network connection is created, the  quality  of
  2219.             service  requested  is  a  local  matter, although it will
  2220.             normally be  related  to  the  requirements  of  transport
  2221.             connection(s) expected to be assigned to it.
  2222.  
  2223.         2.  An existing network connection may also  not  be  suitable
  2224.             if,  for example, the quality of service requested for the
  2225.             transport  connection  cannot  be  attained  by  using  or
  2226.             enhancing the network connection.
  2227.  
  2228.         3.  A  network  connection  with  no  transport  connection(s)
  2229.             assigned   to   it,   may   be   available  after  initial
  2230.             establishment, or because all of the transport connections
  2231.             previously  assigned  to  it  have  been  released.  It is
  2232.             recommended  that  only  the  owner  of  such  a   network
  2233.             connection   should   release   it.   Furthermore,  it  is
  2234.             recommended that it not be released immediately after  the
  2235.             transmission of the final TPDU of a transport connection -
  2236.             either a DR TPDU in response to CR TPDU or a  DC  TPDU  in
  2237.             response  to DR TPDU.  An appropriate delay will allow the
  2238.             TPDU  concerned  to  reach  the  other  transport   entity
  2239.             allowing  the freeing of any resources associated with the
  2240.             transport connection concerned.
  2241.  
  2242.         4.  After the  failure  of  a  network  connection,  transport
  2243.             connections which were previously multiplexed together may
  2244.             be assigned to different  network  connections,  and  vice
  2245.             versa.
  2246.  
  2247.  
  2248.  
  2249.  
  2250.      6.2  Transport protocol data unit (TPDU) transfer
  2251.  
  2252.      6.2.1  Purpose
  2253.  
  2254.      The TPDU transfer procedure is used  in  all  classes  to  convey
  2255.      transport  protocol  data  units  in  user data fields of network
  2256.      service primitives.
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.                                     29
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.      6.2.2  Network Service Primitives
  2275.  
  2276.      The procedure uses the following network service primitives:
  2277.  
  2278.         a)  N-DATA;
  2279.  
  2280.         b)  N-EXPEDITED DATA
  2281.  
  2282.  
  2283.  
  2284.  
  2285.      6.2.3  Procedure
  2286.  
  2287.      The  transport  protocol  data  units  (TPDUs)  defined  for  the
  2288.      protocol are listed in 4.2.
  2289.  
  2290.      When the network expedited variant has been selected for class 1,
  2291.      the transport entities shall transmit and receive ED and EA TPDUs
  2292.      as NS-user data parameters of N-EXPEDITED DATA primitives.
  2293.  
  2294.      In all other cases, transport entities shall transmit and receive
  2295.      TPDUs as NS-user data parameters of N-DATA primitives.
  2296.  
  2297.      When  a  TPDU  is  put  into  an  NS-user  data  parameter,   the
  2298.      significance  of the bits within an octet and the order of octets
  2299.      within a TPDU shall be as defined in 13.2.
  2300.  
  2301.      NOTE - TPDUs may be concatenated (see 6.4).
  2302.  
  2303.  
  2304.  
  2305.  
  2306.      6.3  Segmenting and reassembling
  2307.  
  2308.      6.3.1  Purpose
  2309.  
  2310.      The segmenting and reassembling procedure is used in all  classes
  2311.      to map TSDUs onto TPDUs.
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.                                     30
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.      6.3.2  TPDUs and parameter used
  2333.  
  2334.      The procedure makes use of the following TPDU and parameter:
  2335.  
  2336.         DT TPDUs;
  2337.  
  2338.            - End of TSDU.
  2339.  
  2340.  
  2341.  
  2342.  
  2343.      6.3.3  Procedure
  2344.  
  2345.      A transport entity shall map a TSDU on to an ordered sequence  of
  2346.      one  or more DT TPDUs.  This sequence shall not be interrupted by
  2347.      other DT TPDUs on the same transport connection.
  2348.  
  2349.      All DT TPDUs except the last DT TPDU in a sequence  greater  than
  2350.      one shall have a length of data greater than zero.
  2351.  
  2352.      NOTES
  2353.  
  2354.         1.  The EOT parameter of a DT TPDU indicates  whether  or  not
  2355.             there are subsequent DT TPDUs in the sequence.
  2356.  
  2357.         2.  There is no requirement that the DT TPDUs shall be of  the
  2358.             maximum length selected during connection establishment.
  2359.  
  2360.  
  2361.  
  2362.  
  2363.      6.4  Concatenation and separation
  2364.  
  2365.      6.4.1  Purpose
  2366.  
  2367.      The procedure for concatenation and separation is used in classes
  2368.      1, 2, 3 and 4 to convey multiple TPDUs in one NSDU.
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.                                     31
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390.      6.4.2  Procedure
  2391.  
  2392.      A transport  entity  may  concatenate  TPDUs  from  the  same  or
  2393.      different transport connections.
  2394.  
  2395.      The set of concatenated TPDUs may contain:
  2396.  
  2397.         a)  any number of TPDUs from the following list:  AK, EA,  RJ,
  2398.             ER,   DC  TPDUs,  provided  that  these  TPDUs  come  from
  2399.             different transport connections;
  2400.  
  2401.         b)  no more than one TPDU from the following  list:   CR,  DR,
  2402.             CC,  DT,  ED  TPDUs;  if this TPDU is present, it shall be
  2403.             placed last in the set of concatenated TPDUs.
  2404.  
  2405.      NOTES
  2406.  
  2407.         1.  The TPDUs within a concatenated set may  be  distinguished
  2408.             by means of the length indicator parameter.
  2409.  
  2410.         2.  The end of a TPDU containing  data  is  indicated  by  the
  2411.             termination of the NSDU.
  2412.  
  2413.         3.  The number of concatenated TPDUs referred to in 6.4.2.a is
  2414.             bounded  by  the  maximum  number of transport connections
  2415.             which are multiplexed together except during assignment or
  2416.             reassignment.
  2417.  
  2418.  
  2419.  
  2420.  
  2421.      6.5  Connection establishment
  2422.  
  2423.      6.5.1  Purpose
  2424.  
  2425.      The procedure for connection establishment is used in all classes
  2426.      to create a new transport connection.
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.                                     32
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.      6.5.2  Network service primitives
  2449.  
  2450.      The procedure uses the following network service primitive:
  2451.  
  2452.      N-DATA
  2453.  
  2454.  
  2455.  
  2456.  
  2457.      6.5.3  TPDUs and parameters used
  2458.  
  2459.      The procedure uses the following TPDUs and parameters:
  2460.  
  2461.         a)  CR TPDU;
  2462.  
  2463.             - CDT;
  2464.             - DST-REF (set to zero);
  2465.             - SRC-REF
  2466.             - CLASS and OPTIONS (i.e. preferred class, use of extended
  2467.               format, non-use of explicit flow control in class 2);
  2468.             - calling TSAP-ID;
  2469.             - called TSAP-ID;
  2470.             - TPDU size (proposed);
  2471.             - version number;
  2472.             - security parameter;
  2473.             - checksum;
  2474.             - additional  option  selection  (i.e.  use   of   network
  2475.               expedited  in  class  1,  use of receipt confirmation in
  2476.               class  1,  non-use  of  checksum  in  class  4,  use  of
  2477.               transport expedited data transfer service);
  2478.             - alternative protocol class(es);
  2479.             - acknowledge time;
  2480.             - throughput (proposed);
  2481.             - residual error rate (proposed);
  2482.             - priority (proposed);
  2483.             - transit delay (proposed);
  2484.             - reassignment time;
  2485.             - user data.
  2486.  
  2487.         b)  CC TPDU;
  2488.  
  2489.             - CDT;
  2490.             - DST-REF;
  2491.  
  2492.  
  2493.  
  2494.                                     33
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.             - SRC-REF;
  2507.             - CLASS and OPTIONS (selected);
  2508.             - calling TSAP-ID;
  2509.             - called TSAP-ID;
  2510.             - TPDU size (selected);
  2511.             - security parameter;
  2512.             - checksum;
  2513.             - additional option selection (selected);
  2514.             - acknowledge time;
  2515.             - throughput (selected);
  2516.             - residual error rate (selected);
  2517.             - priority (selected);
  2518.             - transit delay (selected);
  2519.             - user data.
  2520.  
  2521.           NOTE - The  transport  service  defines  transit  delay   as
  2522.           requiring  a  previously stated average TSDU size as a basis
  2523.           for any  specification.   This  protocol,  as  specified  in
  2524.           13.3.4(n),  uses  a  value of 128 octets.  Conversion to and
  2525.           from specifications based upon some other value is  a  local
  2526.           matter.
  2527.  
  2528.  
  2529.  
  2530.  
  2531.      6.5.4  Procedure
  2532.  
  2533.      A transport connection is established by means of  one  transport
  2534.      entity  (the  initiator)  transmitting  a  CR  TPDU  to the other
  2535.      transport entity (the responder), which replies with a CC TPDU.
  2536.  
  2537.      Before sending the CR TPDU, the initiator assigns  the  transport
  2538.      connection  being  created  to  one  (or  more  if  the splitting
  2539.      procedure is being use) network connection(s).  It is this set of
  2540.      network  connections  over which the TPDUs are sent.  During this
  2541.      exchange, all information and parameters needed for the transport
  2542.      entities to operate shall be exchanged or negotiated.
  2543.  
  2544.           NOTE - Except  in  class  4,  it  is  recommended  that  the
  2545.           initiator  starts  an  optional timer TS1 at the time the CR
  2546.           TPDU is  sent.   This  timer  should  be  stopped  when  the
  2547.           connection   is   considered   as  accepted  or  refused  or
  2548.           unsuccessful.  If the timer expires,  the  initiator  should
  2549.  
  2550.  
  2551.  
  2552.                                     34
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.           reset or disconnect the network connection and, in classes 1
  2565.           and 3 freeze  the  reference  (see  6.18).   For  all  other
  2566.           transport  connection(s)  multiplexed  on  the  same network
  2567.           connection  the  procedures  for  reset  or  disconnect   as
  2568.           appropriate should be followed.
  2569.  
  2570.      After receiving the CC  TPDU  for  a  class  which  includes  the
  2571.      procedure  for  retention  until  acknowledgement  of  TPDUs  the
  2572.      initiator shall acknowledge the CC TPDU as  defined  in  table  5
  2573.      (see 6.13).
  2574.  
  2575.      When the network expedited variant of the expedited data transfer
  2576.      (see  6.11)  has  been  agreed  (possible  in  class 1 only), the
  2577.      responder shall not send  an  ED  TPDU  before  the  CC  TPDU  is
  2578.      acknowledged.
  2579.  
  2580.      The following information is exchanged:
  2581.  
  2582.         a)  references.  Each transport  entity  chooses  a  reference
  2583.             which is to be used by the peer entity is 16 bits long and
  2584.             which is arbitrary except for the following restrictions:
  2585.  
  2586.             1)  it shall not already be in use or frozen (see 6.18),
  2587.  
  2588.             2)  it shall not be zero.
  2589.  
  2590.             This mechanism is symmetrical and provides  identification
  2591.             of  the  transport  connection  independent of the network
  2592.             connection.  The range of references  used  for  transport
  2593.             connections,  in  a  given  transport  entity,  is a local
  2594.             matter.
  2595.  
  2596.         b)  addresses (optional).  Indicate  the  calling  and  called
  2597.             transport  service  access  points.   When  either network
  2598.             address unambiguously defines the transport  address  this
  2599.             information may be omitted.
  2600.  
  2601.         c)  initial credit.  Only relevant for classes  which  include
  2602.             the explicit flow control function.
  2603.  
  2604.         d)  user data.  Not available if  Class  0  is  the  preferred
  2605.             class (see note).  Up to 32 octets in other classes.
  2606.  
  2607.  
  2608.  
  2609.  
  2610.                                     35
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.             NOTE - If class 0 is a valid response according  to  table
  2623.             3,  inclusion  of  user  data in the CR TPDU may cause the
  2624.             responding entity to refuse the  connection  (e.g.  if  it
  2625.             only supports class 0).
  2626.  
  2627.         e)  acknowledgement time.  Only in class 4.
  2628.  
  2629.         f)  checksum parameter.  Only in class 4.
  2630.  
  2631.         g)  security parameter.  This parameter and its semantics  are
  2632.             user defined.
  2633.  
  2634.      The following negotiations take place:
  2635.  
  2636.         h)  protocol class.  The initiator shall propose  a  preferred
  2637.             class  and  may  propose  any  number of alternative class
  2638.             which permit a valid response as defined in table 3.   The
  2639.             initiator should assume when it sends the CR TPDU that its
  2640.             preferred class  will  be  agreed  to,  and  commence  the
  2641.             procedures  associated  with  that  class,  except that if
  2642.             class 0 or class 1 is an alternative  class,  multiplexing
  2643.             shall  not  commence  until a CC TPDU selecting the use of
  2644.             classes 2, 3 or 4 has been received.
  2645.  
  2646.             NOTE - This means, for example, that  when  the  preferred
  2647.             class    includes   resynchronization   (see   6.14)   the
  2648.             resynchronization will  occur  if  a  reset  is  signalled
  2649.             during connection establishment.
  2650.  
  2651.      The responder shall select one class defined  in  table  3  as  a
  2652.      valid  response  corresponding  to the preferred class and to the
  2653.      class(es), if any, contained in the alternative  class  parameter
  2654.      of  the  CR TPDU.  It shall indicate the selected class in the CC
  2655.      TPDU and shall follow the procedures for the selected class.
  2656.  
  2657.      If the preferred class is not selected, then on receipt of the CC
  2658.      TPDU  the  initiator  shall  adjust  its  operation according the
  2659.      procedures of the selected class.
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.                                     36
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.      +------------------------------------------------------------+
  2685.      | Pre-  |                Alternative class                   |
  2686.      |ferred |----------------------------------------------------|
  2687.      |class  |   0    |   1    |   2    |   3    |   4    | none  |
  2688.      |-------|--------|--------|--------|--------|--------|-------|
  2689.      |   0   |not     |not     |not     |not     |not     |class  |
  2690.      |       |valid   |valid   |valid   |valid   |valid   |  0    |
  2691.      |-------|--------|--------|--------|--------|--------|-------|
  2692.      |   1   |class   |class   |not     |not     |not     |class  |
  2693.      |       |1 or 0  |1 or 0  |valid   |valid   |valid   |1 or 0 |
  2694.      |-------|--------|--------|--------|--------|--------|-------|
  2695.      |   2   |class   |not     |class   |not     |not     |class  |
  2696.      |       |2 or 0  |valid   |2       |valid   |valid   |  2    |
  2697.      |-------|--------|--------|--------|--------|--------|-------|
  2698.      |   3   |class   |class 3,|class   |class   |not     |class  |
  2699.      |       |3,2 or 0|2,1 or 0|3 or 2  |3 or 2  |valid   |3 or 2 |
  2700.      |-------|--------|--------|--------|--------|--------|-------|
  2701.      |   4   |class   |class 4,|class   |class   |class   |class  |
  2702.      |       |4,2 or 0|2,1 or 0|4 or 2  |4,3 or 2|4 or 2  |4 or 2 |
  2703.      +------------------------------------------------------------+
  2704.                                  Table 3.
  2705.  
  2706.  
  2707.  
  2708.  
  2709.      Valid responses corresponding to  the  preferred  class  and  any
  2710.      alternative class proposed in the CR TPDU
  2711.  
  2712.  
  2713.      NOTES:
  2714.  
  2715.         1.  The valid responses indicated in table 3 result from  both
  2716.             explicit negotiation, whereby each of the classes proposed
  2717.             is a valid response, and implicit negotiation whereby:
  2718.  
  2719.             a)  if class 3 or 4 is proposed then class 2  is  a  valid
  2720.                 response;
  2721.             b)  if class 1  is  proposed  then  class  0  is  a  valid
  2722.                 response.
  2723.  
  2724.  
  2725.  
  2726.                                     37
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.         2.  Negotiation from class 2 to class 1 and from any class  to
  2739.             an higher-numbered class is not valid.
  2740.  
  2741.         3.  Redundant combinations are not a protocol error.
  2742.  
  2743.         j)  TPDU size.  The initiator may propose a maximum  size  for
  2744.             TPDUs,  and the responder may accept this value or respond
  2745.             with any value between 128 and the proposed value  in  the
  2746.             set of values available (see 13.3.4.b).
  2747.  
  2748.             NOTE - The length of the  CR  TPDU  does  not  exceed  128
  2749.             octets (see 13.3).
  2750.  
  2751.         k)  normal or extended format.  Either normal or  extended  is
  2752.             available.   When  extended  is  used this applies to CDT,
  2753.             TPDU-NR, ED-TPDU-NR, YR-TU-NR and YR-EDTU-NR parameters.
  2754.  
  2755.         m)  checksum selection.  This defines whether or not TPDUs  of
  2756.             the connection are to include a checksum.
  2757.  
  2758.         n)  quality  of  service   parameters.    This   defines   the
  2759.             throughput,  transit  delay,  priority  and residual error
  2760.             rate.
  2761.  
  2762.         p)  the non-use of explicit flow control in class 2.
  2763.  
  2764.         q)  the  use  of  network  receipt  confirmation  and  network
  2765.             expedited when class 1 is to be used.
  2766.  
  2767.         r)  use of expedited data transfer service.  This allows  both
  2768.             TS-users  to negotiate the use or non-use of the expedited
  2769.             data transport service as defined in the transport service
  2770.             (ISO 8072).
  2771.  
  2772.      The following information is sent only in the CR TPDU:
  2773.  
  2774.         s)  version number.  This defines the version of the transport
  2775.             protocol standard used for this connection.
  2776.  
  2777.         t)  reassignment time parameter.  This indicates the time  for
  2778.             which   the   initiator  will  persist  in  following  the
  2779.             reassignment after failure procedure.
  2780.  
  2781.  
  2782.  
  2783.  
  2784.                                     38
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.      The negotiation rules for the options are such that the initiator
  2797.      may  propose  either  to  use  or  not  to  use  the option.  The
  2798.      responder may either accept the  proposed  choice  or  select  an
  2799.      alternative choice as defined in table 4.
  2800.  
  2801.      In class 2, whenever a transport entity requests or agrees to the
  2802.      transport  expedited  data  transfer  service  or  to  the use of
  2803.      extended formats, it shall also request or  agree  (respectively)
  2804.      to the use of explicit flow control.
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.      +-------------------------------------------------------------+
  2811.      |        Option         |  Proposal Made   | Valid Selection  |
  2812.      |                       | by the Initiator | by the Responder |
  2813.      |-----------------------|------------------|------------------|
  2814.      |Transport expedited    |       Yes        |    Yes or No     |
  2815.      |data transfer service  |       No         |        No        |
  2816.      |(Classes 1,2,3,4 only) |                  |                  |
  2817.      |-----------------------|------------------|------------------|
  2818.      |Use of receipt confir- |       Yes        |    Yes or No     |
  2819.      |mation (Class 1 only)  |       No         |        No        |
  2820.      |-----------------------|------------------|------------------|
  2821.      |Use of the network     |       Yes        |    Yes or No     |
  2822.      |expedited variant      |       No         |        No        |
  2823.      |(Class 1 only)         |                  |                  |
  2824.      |-----------------------|------------------|------------------|
  2825.      |Non-use of checksum    |       Yes        |    Yes or No     |
  2826.      |(Class 4 only)         |       No         |        No        |
  2827.      |-----------------------|------------------|------------------|
  2828.      |Non-use of explicit    |       Yes        |    Yes or No     |
  2829.      |flow control           |       No         |        No        |
  2830.      |(Class 2 only)         |                  |                  |
  2831.      |-----------------------|------------------|------------------|
  2832.      |Use of extended format |       Yes        |    Yes or No     |
  2833.      |(Classes 2,3,4 only)   |       No         |        No        |
  2834.      +-------------------------------------------------------------+
  2835.  
  2836.       Table 4. Negotiation of options during connection establishment
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.                                     39
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.      NOTE - Table 4 defines the procedures for negotiation of options.
  2855.      This  negotiation  has  been  designed such that if the initiator
  2856.      proposes the mandatory implementation option specified in  clause
  2857.      14,  the  responder  has  to  accept  use of this option over the
  2858.      transport  connection  except  for  the  use  of  the   transport
  2859.      expedited  data transfer service which may be rejected by the TS-
  2860.      user.  If the initiator proposes a  non-mandatory  implementation
  2861.      option,  the responder is entitled to select use of the mandatory
  2862.      implementation option for use over the transport connection.
  2863.  
  2864.  
  2865.  
  2866.  
  2867.      6.6  Connection refusal
  2868.  
  2869.      6.6.1  Purpose
  2870.  
  2871.      The connection refusal procedure is used in all  classes  when  a
  2872.      transport  entity refuses a transport connection in response to a
  2873.      CR TPDU.
  2874.  
  2875.  
  2876.  
  2877.  
  2878.      6.6.2  TPDUs and parameters used
  2879.  
  2880.      The procedure makes use of the following TPDUs and parameters:
  2881.  
  2882.         a)  DR TPDU;
  2883.  
  2884.             - SRC-REF;
  2885.             - reason;
  2886.             - user data.
  2887.  
  2888.         b)  ER TPDU;
  2889.  
  2890.             - reject code;
  2891.             - rejected TPDU parameter.
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.                                     40
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.      6.6.3  Procedure
  2913.  
  2914.      If a transport connection cannot be accepted, the responder shall
  2915.      respond to the CR TPDU with a DR TPDU.  The reason shall indicate
  2916.      why the connection was not accepted.  The source reference  field
  2917.      in  the  DR  TPDU  shall be set to zero to indicate an unassigned
  2918.      reference.
  2919.  
  2920.      If  a  DR  TPDU  is  received  the  initiator  shall  regard  the
  2921.      connection as released.
  2922.  
  2923.      The responder shall respond to an invalid CR TPDU by  sending  an
  2924.      ER  or  DR  TPDU.   If an ER TPDU is received in response to a CR
  2925.      TPDU, the initiator shall regard the connection as released.
  2926.  
  2927.      NOTES
  2928.  
  2929.      1.  When the invalid CR TPDU can be identified as having class  0
  2930.          as  the preferred class, it is recommended to respond with an
  2931.          ER TPDU.  For all other invalid CR TPDUs either an ER TPDU or
  2932.          DR TPDU may be sent.
  2933.  
  2934.      2.  If the optimal supervisory timer TS1 has been  set  for  this
  2935.          connection  then  the entity should stop the timer on receipt
  2936.          of the DR or ER TPDU.
  2937.  
  2938.  
  2939.  
  2940.  
  2941.      6.7  Normal release
  2942.  
  2943.      6.7.1  Purpose
  2944.  
  2945.      The release procedure is used by a transport entity in  order  to
  2946.      terminate  a  transport connection.  The implicit variant is used
  2947.      only in class 0.  The explicit variant is used in  classes  1,2,3
  2948.      and 4.
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.                                     41
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.      NOTES
  2971.  
  2972.      1.  When the implicit variant is used  (i.e.  in  class  0),  the
  2973.          lifetime  of  the transport connection is directly correlated
  2974.          with the lifetime of the network connection.
  2975.  
  2976.      2.  The use of the explicit  variant  of  the  release  procedure
  2977.          enables the transport connection to be released independently
  2978.          of the underlying network connection.
  2979.  
  2980.  
  2981.  
  2982.  
  2983.      6.7.2  Network service primitives
  2984.  
  2985.      The  procedure  makes  use  of  the  following  network   service
  2986.      primitives:
  2987.  
  2988.         a)  N-DISCONNECT (implicit variant only),
  2989.  
  2990.         b)  N-DATA
  2991.  
  2992.  
  2993.  
  2994.  
  2995.      6.7.3  TPDUs and parameters used
  2996.  
  2997.      The procedure makes use of the following TPDUs and parameters:
  2998.  
  2999.         a)  DR TPDU;
  3000.  
  3001.             - clearing reason;
  3002.             - user data;
  3003.             - SRC-REF;
  3004.             - DST-REF.
  3005.  
  3006.         b)  DC TPDU.
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.                                     42
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.      6.7.4  Procedure for implicit variant
  3029.  
  3030.      In the implicit variant either  transport  entity  disconnects  a
  3031.      transport  connection  by disconnecting the network connection to
  3032.      which it is assigned.  When a transport  entity  receives  an  N-
  3033.      DISCONNECT  this  should  be  considered  as  the  release of the
  3034.      transport connection.
  3035.  
  3036.  
  3037.  
  3038.  
  3039.      6.7.5  Procedure for explicit variant
  3040.  
  3041.      When the release of a transport connection is to be  initiated  a
  3042.      transport entity
  3043.  
  3044.         a)  if it has previously sent or received a CC TPDU (see  note
  3045.             1),   shall   send   a  DR  TPDU.   It  shall  ignore  all
  3046.             subsequently received TPDUs other than a DR  or  DC  TPDU.
  3047.             On  receipt  of  a  DR  or  DC  TPDU it shall consider the
  3048.             transport connection released;
  3049.  
  3050.         b)  in other cases it shall:
  3051.  
  3052.             1)  For  classes  other  than  class  4   wait   for   the
  3053.                 acknowledgement  of  the  outstanding  CR  TPDU; if it
  3054.                 receives a CC TPDU, it shall follow the procedures  in
  3055.                 6.7.5.a.
  3056.  
  3057.  
  3058.             2)  For class 4 either send a DR TPDU with a zero value in
  3059.                 the   DST-REF   field   or  follow  the  procedure  in
  3060.                 6.7.5.b.1.
  3061.  
  3062.         A transport entity that receives a DR TPDU shall
  3063.  
  3064.         c)  if it has previously sent a DR TPDU for the same transport
  3065.             connection, consider the transport connection released;
  3066.  
  3067.         d)  if it has previously sent a CR  TPDU  that  has  not  been
  3068.             acknowledged by a CC TPDU, consider the connection refused
  3069.             (see 6.6).
  3070.  
  3071.  
  3072.  
  3073.  
  3074.                                     43
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.         e)  in other cases, send a DC TPDU and consider the  transport
  3087.             connection released.
  3088.  
  3089.         NOTES
  3090.  
  3091.         1)  This requirement ensures  that  the  transport  entity  is
  3092.             aware   of   the   remote   reference  for  the  transport
  3093.             connection.
  3094.  
  3095.         2)  When the transport connection is  considered  as  released
  3096.             the  local  reference is either available for re-use or is
  3097.             frozen (see 6.18).
  3098.  
  3099.         3)  After the release of a transport  connection  the  network
  3100.             connection  can  be released or retained to enable its re-
  3101.             use for the assignment of other transport connections (see
  3102.             6.1.).
  3103.  
  3104.         4)  Except in class 4, it is recommended that, if a  transport
  3105.             entity  does  not  receive  acknowledgement  of  a DR TPDU
  3106.             within time TS2, it should either reset or disconnect  the
  3107.             network   connection,   and   freeze  the  reference  when
  3108.             appropriate  (see  6.18).    For   all   other   transport
  3109.             connection(s)  multiplexed  on this network connection the
  3110.             procedures for reset or disconnect as  appropriate  should
  3111.             be followed.
  3112.  
  3113.         5)  When a transport entity is waiting for a  CC  TPDU  before
  3114.             sending  a  DR TPDU and the network connection is reset or
  3115.             released, it  should  consider  the  transport  connection
  3116.             released  and,  in  classes  other  than  classes 0 and 2,
  3117.             freeze the reference (see 6.18).
  3118.  
  3119.  
  3120.  
  3121.  
  3122.      6.8  Error Release
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.                                     44
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.      6.8.1  Purpose
  3145.  
  3146.      This procedure is used only in classes  0  and  2  to  release  a
  3147.      transport connection on the receipt of an N-DISCONNECT or N-RESET
  3148.      indication.
  3149.  
  3150.  
  3151.  
  3152.  
  3153.      6.8.2  Network service primitives
  3154.  
  3155.      The procedure makes use of the following service primitives:
  3156.  
  3157.         a)  N-DISCONNECT indication;
  3158.  
  3159.         b)  N-RESET indication.
  3160.  
  3161.  
  3162.  
  3163.  
  3164.      6.8.3  Procedure
  3165.  
  3166.      When, on the network connection to which a  transport  connection
  3167.      is  assigned,  an N-DISCONNECT or N-RESET indication is received,
  3168.      both  transport  entities  shall  consider  that  the   transport
  3169.      connection is released and so inform the TS-users.
  3170.  
  3171.      NOTE - In other  classes,  since  error  recovery  is  used,  the
  3172.      receipt  of an N-RESET indication or N-DISCONNECT indication will
  3173.      result in the invocation of the error recovery procedure.
  3174.  
  3175.  
  3176.  
  3177.  
  3178.      6.9  Association of TPDUs with transport connections
  3179.  
  3180.      6.9.1  Purpose
  3181.  
  3182.      This procedure is used in all classes  to  interpret  a  received
  3183.      NSDU  as  TPDU(s)  and,  if possible, to associate each such TPDU
  3184.      with a transport connection.
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.                                     45
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.      6.9.2  Network service primitives
  3203.  
  3204.      This  procedure  makes  use  of  the  following  network  service
  3205.      primitives:
  3206.  
  3207.         a)  N-DATA indication;
  3208.  
  3209.         b)  N-EXPEDITED DATA indication.
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.      6.9.3  TPDUs and parameters uses
  3216.  
  3217.      This procedure makes use of the following TPDUs and parameters:
  3218.  
  3219.         a)  any TPDU except CR TPDU, DT TPDU in classes 0 or 1 and  AK
  3220.             TPDU in class 1;
  3221.  
  3222.             - DST-REF
  3223.  
  3224.         b)  CR, CC, DR and DC TPDUs;
  3225.  
  3226.             - SCR-REF.
  3227.  
  3228.         c)  DT TPDU in classes 0 or 1 and AK TPDU in class 1.
  3229.  
  3230.  
  3231.  
  3232.  
  3233.      6.9.4  Procedures
  3234.  
  3235.      6.9.4.1  Identification of TPDUs
  3236.  
  3237.      If the received NSDU or Expedited NSDU cannot  be  decoded  (i.e.
  3238.      does not contain one or more correct TPDUs) or is corrupted (i.e.
  3239.      contains a TPDU with a wrong checksum) then the transport  entity
  3240.      shall:
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.                                     46
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.         a)  if the network connection on which the error  is  detected
  3261.             has  a class 0 or class 1 transport connection assigned to
  3262.             it, then treat as a protocol error  (see  6.22)  for  that
  3263.             transport connection;
  3264.  
  3265.         b)  otherwise
  3266.  
  3267.             1)  if the NSDU can  be  decoded  but  contains  corrupted
  3268.                 TPDUs,  ignore the TPDUs (class 4 only) and optionally
  3269.                 apply 6.9.4.b.2.
  3270.  
  3271.             2)  if the NSDU cannot be decoded issue an N-RESET  or  N-
  3272.                 DISCONNECT  request for the network connection and for
  3273.                 all the transport connections assigned to this network
  3274.                 connection  (if any), apply the procedures defined for
  3275.                 handling of network signalled reset or disconnect.
  3276.  
  3277.             If the NSDU can be  decoded  and  is  not  corrupted,  the
  3278.             transport entity shall:
  3279.  
  3280.         c)  if the network connection on which the NSDU  was  received
  3281.             has  a  class  0 transport connection assigned to it, then
  3282.             consider the NSDU as forming TPDU and associate  the  TPDU
  3283.             with the transport connection (see 6.9.4.2).
  3284.  
  3285.         d)  otherwise, invoke the separation procedures and  for  each
  3286.             of  the individual TPDUs in the order in which they appear
  3287.             in the NSDU apply the procedure defined in 6.9.4.2.
  3288.  
  3289.  
  3290.  
  3291.  
  3292.      6.9.4.2  Association of individual TPDUs
  3293.  
  3294.      If the received TPDU is a CR TPDU then, if it is a duplicate,  as
  3295.      recognized  by using the NSAPs of the network connection, and the
  3296.      SRC-REF parameter, then  it  is  associated  with  the  transport
  3297.      connection  created  by  the  original  value  of  the  CR  TPDU;
  3298.      otherwise it is processed as requesting the  creation  of  a  new
  3299.      transport connection.
  3300.  
  3301.      If the received TPDU is a DT TPDU and the network connection  has
  3302.      a class 0 or 1 transport connection assigned to it, or an AK TPDU
  3303.  
  3304.  
  3305.  
  3306.                                     47
  3307.  
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.      where a class 1 transport connection is assigned, then  the  TPDU
  3319.      is associated with the transport connection.
  3320.  
  3321.      Otherwise, the DST-REF parameter of the TPDU is used to  identify
  3322.      the transport connection.  The following cases are distinguished:
  3323.  
  3324.         a)  if the DST-REF is not allocated to a transport connection,
  3325.             the  transport  entity  shall  respond on the same network
  3326.             connection with a DR TPDU if the TPDU is a CC TPDU, with a
  3327.             DC TPDU if the TPDU is a DR TPDU and shall ignore the TPDU
  3328.             if neither a DR TPDU nor CC TPDU.  No association  with  a
  3329.             transport connection is made.
  3330.  
  3331.         b)  if the DST-REF is allocated to a connection, but the  TPDU
  3332.             is   received   on  a  network  connection  to  which  the
  3333.             connection has not been  assigned  then  there  are  three
  3334.             cases:
  3335.  
  3336.             1)  if the transport connection is of class 4 and  if  the
  3337.                 TPDU is received on a network connection with the same
  3338.                 pair of NSAPs as that of the CR TPDU then the TPDU  is
  3339.                 considered as performing assignment,
  3340.  
  3341.             2)  if the transport connection is  not  assigned  to  any
  3342.                 network  connection  (waiting  for  reassignment after
  3343.                 failure) and if the TPDU  is  received  on  a  network
  3344.                 connection  with the same pair of NSAPs as that of the
  3345.                 CR TPDU  then  the  association  with  that  transport
  3346.                 connection is made.
  3347.  
  3348.             3)  Otherwise, the TPDU is considered as having a  DST-REF
  3349.                 not allocated to a transport connection (case a).
  3350.  
  3351.         c)  If the TPDU is a DC TPDU then it is  associated  with  the
  3352.             transport  connection  to  which the DST-REF is allocated,
  3353.             unless the SRC-REF is not the expected one, in which  case
  3354.             the DC TPDU is ignored.
  3355.  
  3356.         d)  If the TPDU is a DR TPDU then there are three cases:
  3357.  
  3358.             1)  if the SRC-REF is not as expected then a DC TPDU  with
  3359.                 DST-REF  equal  to the SRC-REF of the received DR TPDU
  3360.                 is sent back and no association is made;
  3361.  
  3362.  
  3363.  
  3364.                                     48
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.  
  3376.             2)  if a CR TPDU is unacknowledged then  the  DR  TPDU  is
  3377.                 associated  with  the transport connection, regardless
  3378.                 of the value of its SRC-REF parameter;
  3379.  
  3380.             3)  otherwise,  the  DR  TPDU  is  associated   with   the
  3381.                 transport   connection   identified   by  the  DST-REF
  3382.                 parameter.
  3383.  
  3384.         e)  if  the  TPDU  is  a  CC  TPDU  whose  DST-REF   parameter
  3385.             identifies an open connection (one for which a CC TPDU has
  3386.             been previously received), and the SRC-REF in the CC  TPDU
  3387.             does  not  match  the  remote reference, then a DR TPDU is
  3388.             sent back  with  DST-REF  equal  to  the  SRC-REF  of  the
  3389.             received CC TPDU and no association is made.
  3390.  
  3391.         f)  if none  of  the  above  cases  apply  then  the  TPDU  is
  3392.             associated with the transport connection identified by the
  3393.             DST-REF parameter.
  3394.  
  3395.  
  3396.  
  3397.  
  3398.      6.10  Data TPDU numbering
  3399.  
  3400.      6.10.1  Purpose
  3401.  
  3402.      Data TPDU numbering is used in classes  1,  2  (except  when  the
  3403.      non-use  of  explicit  flow control option is selected), 3 and 4.
  3404.      Its purpose is to enable the use of recovery,  flow  control  and
  3405.      re-sequencing functions.
  3406.  
  3407.  
  3408.  
  3409.  
  3410.      6.10.2  TPDUs and parameters used
  3411.  
  3412.      The procedure makes use of the following TPDU and parameter:
  3413.  
  3414.         DT TPDU;
  3415.  
  3416.         - TPDU-NR.
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.                                     49
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.      6.10.3  Procedure
  3435.  
  3436.      A Transport entity shall allocate the sequence number zero to the
  3437.      TPDU-NR  of  the first DT TPDU which it transmits for a transport
  3438.      connection.  For subsequent DT TPDUs sent on the  same  transport
  3439.      connection, the transport entity shall allocate a sequence number
  3440.      one greater than the previous one.
  3441.  
  3442.      When a DT TPDU is retransmitted, the TPDU-NR parameter shall have
  3443.      the same value as in the first transmission of that DT TPDU.
  3444.  
  3445.      Modulo 2**7 arithmetic shall be used  when  normal  formats  have
  3446.      been  selected  and  modulo  2**31  arithmetic shall be used when
  3447.      extended formats  have  been  selected.   In  this  International
  3448.      Standard  the  relationships 'greater than' and 'less than' apply
  3449.      to a set of contiguous TPDU numbers whose range is less than  the
  3450.      modulus  and whose starting and finishing numbers are known.  The
  3451.      term 'less than' means 'occurring sooner in the window  sequence'
  3452.      and  the term 'greater than' means 'occurring later in the window
  3453.      sequence'.
  3454.  
  3455.  
  3456.  
  3457.  
  3458.      6.11  Expedited data transfer
  3459.  
  3460.      6.11.1  Purpose
  3461.  
  3462.      Expedited data transfer procedures are selected during connection
  3463.      establishment.   The  network  normal data variant may be used in
  3464.      classes 1, 2, 3 and 4.  The network  expedited  variant  is  only
  3465.      used in class 1.
  3466.  
  3467.  
  3468.  
  3469.  
  3470.      6.11.2  Network service primitives
  3471.  
  3472.      The  procedure  makes  use  of  the  following  network   service
  3473.      primitives:
  3474.  
  3475.         a)  N-DATA;
  3476.  
  3477.  
  3478.  
  3479.  
  3480.                                     50
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.         b)  N-EXPEDITED DATA.
  3493.  
  3494.  
  3495.  
  3496.  
  3497.      6.11.3  TPDUs and parameter used
  3498.  
  3499.      The procedure makes use of the following TPDUs and parameters:
  3500.  
  3501.         a)  ED TPDU;
  3502.  
  3503.             - ED TPDU-NR.
  3504.  
  3505.         b)  EA TPDU;
  3506.  
  3507.             - YR-EDTU-NR.
  3508.  
  3509.  
  3510.  
  3511.  
  3512.      6.11.4  Procedures
  3513.  
  3514.      The TS-user data parameter of each T-EXPEDITED DATA request shall
  3515.      be conveyed as the data field of an Expedited Data (ED) TPDU.
  3516.  
  3517.      Each ED TPDU received  shall  be  acknowledged  by  an  Expedited
  3518.      Acknowledge (EA) TPDU.
  3519.  
  3520.      No more than one ED TPDU shall remain unacknowledged at any  time
  3521.      for each direction of a transport connection.
  3522.  
  3523.      An ED TPDU with a zero length data field is a protocol error.
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.                                     51
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.      NOTES
  3551.  
  3552.         1.  The network normal data variant is used, except  when  the
  3553.             network expedited variant (available in Class 1 only), has
  3554.             been agreed, in which case ED and EA TPDUs are conveyed in
  3555.             the  data  fields  of  N-EXPEDITED  DATA  primitives  (see
  3556.             6.2.3).
  3557.  
  3558.         2.  No TPDUs can be transmitted using network expedited  until
  3559.             the  CC  TPDU becomes acknowledged, to prevent the network
  3560.             expedited from overtaking the CC TPDU.
  3561.  
  3562.  
  3563.  
  3564.  
  3565.      6.12  Reassignment after failure
  3566.  
  3567.      6.12.1  Purpose
  3568.  
  3569.      The reassignment after failure procedure is used in Classes 1 and
  3570.      3 to commence recovery from an NS-provider signalled disconnect.
  3571.  
  3572.  
  3573.  
  3574.  
  3575.      6.12.2  Network service primitives
  3576.  
  3577.      The procedure uses the following network service primitive:
  3578.  
  3579.           N-DISCONNECT indication
  3580.  
  3581.  
  3582.  
  3583.  
  3584.      6.12.3  Procedure
  3585.  
  3586.      When an N-DISCONNECT indication  is  received  from  the  network
  3587.      connection  to  which  a  transport  connection  is assigned, the
  3588.      initiator shall apply one of the following alternatives:
  3589.  
  3590.         a)  if the TTR timer has not already run out and no DR TPDU is
  3591.             retained then:
  3592.  
  3593.  
  3594.  
  3595.  
  3596.                                     52
  3597.  
  3598.  
  3599.  
  3600.  
  3601.  
  3602.  
  3603.  
  3604.  
  3605.  
  3606.  
  3607.  
  3608.             1)  assign the transport connection to a different network
  3609.                 connection  (see  6.1)  and start its TTR timer if not
  3610.                 already started.
  3611.  
  3612.             2)  while waiting for the completion of assignment if:
  3613.  
  3614.                 - an N-DISCONNECT indication is received,  repeat  the
  3615.                   procedure from 6.12.3.a,
  3616.  
  3617.                 - the TTR timer expires, begin procedure 6.12.3.b.
  3618.  
  3619.             3)  when     reassignment     is     completed,      begin
  3620.                 resynchronization (see 6.14) and:
  3621.  
  3622.                 - if a valid TPDU is received as  the  result  of  the
  3623.                   resynchronization, stop the TTR timer, or
  3624.  
  3625.                 - if TTR runs out, wait for the next event, or
  3626.  
  3627.                 - if an  N-DISCONNECT  indication  is  received,  then
  3628.                   begin   either   procedure   6.12.3.a   or  6.12.3.b
  3629.                   depending on the TTR timer.
  3630.  
  3631.             NOTE - After the TTR timer expires and while  waiting  for
  3632.             the  next  event,  it  is  recommended  that the initiator
  3633.             starts the TWR timer.  If the TWR timer expires before the
  3634.             next  event  the  initiator  should begin the procedure in
  3635.             6.12.3.b.
  3636.  
  3637.         b)  if the TTR timer  has  run  out,  consider  the  transport
  3638.             connection  as  released  and  freeze  the  reference (see
  3639.             6.18).
  3640.  
  3641.         c)   if a DR TPDU is retained and the TTR timer  has  not  run
  3642.             out,  then  follow  the  actions  in  either  6.12.3.a  or
  3643.             6.12.3.b.
  3644.  
  3645.      The responder shall start its TWR timer if not  already  started.
  3646.      The arrival of the first TPDU related to the transport connection
  3647.      (because of resynchronization by  the  initiator)  completes  the
  3648.      reassignment  after  failure procedure.  The TWR timer is stopped
  3649.      and the responder  shall  continue  with  resynchronization  (see
  3650.      6.14).  If reassignment does not take place within this time, the
  3651.  
  3652.  
  3653.  
  3654.                                     53
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.  
  3665.  
  3666.      transport connection is considered released and the reference  is
  3667.      frozen (see 6.18).
  3668.  
  3669.  
  3670.  
  3671.  
  3672.      6.12.4  Timers
  3673.  
  3674.      The reassignment after failure procedure uses two timers:
  3675.  
  3676.         a)  TTR, the time to try reassignment/resynchronization timer;
  3677.  
  3678.         b)  TWR, the time to wait  for  reassignment/resynchronization
  3679.             timer.
  3680.  
  3681.      The TTR timer is used by the  initiator.   Its  value  shall  not
  3682.      exceed  two  minutes  minus  the  sum  of  the maximum disconnect
  3683.      propagation  delay  and  the  transit  delay   of   the   network
  3684.      connections  (see  note  1).   The value for the TTR timer may be
  3685.      indicated in the CR TPDU.
  3686.  
  3687.      The TWR timer is used by the responder.  If the reassignment time
  3688.      parameter is present in the CR TPDU, the TWR timer value shall be
  3689.      greater than the sum of the TTR timer plus the maximum disconnect
  3690.      propagation   delay   plus  the  transit  delay  of  the  network
  3691.      connections.
  3692.  
  3693.      If the reassignment time parameter is not present in the CR TPDU,
  3694.      a default value of 2 minutes shall be used for the TWR timer.
  3695.  
  3696.      NOTES
  3697.  
  3698.      1.  Provided that the required quality of service is met, TTR may
  3699.          be  set  to zero (i.e. no assignment).  This may be done, for
  3700.          example, if the rate of NS-provider generated disconnects  is
  3701.          very low.
  3702.  
  3703.      2.  Inclusion of the reassignment time parameter in the  CR  TPDU
  3704.          allows  the  responder  to  use  a  TWR  value of less than 2
  3705.          minutes.
  3706.  
  3707.      3.  If  the  optional  TS1  and  TS2  timers  are  used,  it   is
  3708.          recommended:
  3709.  
  3710.  
  3711.  
  3712.                                     54
  3713.  
  3714.  
  3715.  
  3716.  
  3717.  
  3718.  
  3719.  
  3720.  
  3721.  
  3722.  
  3723.  
  3724.             a)  to stop TS1 or TS2 if  running  when  TTR  or  TWR  is
  3725.                 started;
  3726.  
  3727.             b)  to  restart  TS1  or  TS2  if   necessary   when   the
  3728.                 corresponding TPDU (CR TPDU or DR TPDU respectively is
  3729.                 repeated);
  3730.  
  3731.             c)  to select for TS1 and TS2 values greater than TTR.
  3732.  
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.                                     55
  3771.  
  3772.  
  3773.  
  3774.  
  3775.  
  3776.  
  3777.  
  3778.  
  3779.  
  3780.  
  3781.  
  3782.      6.13  Retention until acknowledgement of TPDUs
  3783.  
  3784.      6.13.1  Purpose
  3785.  
  3786.      The retention until acknowledgement of TPDUs procedure is used in
  3787.      classes  1,  3  and 4 to enable and minimize retransmission after
  3788.      possible loss of TPDUs.
  3789.  
  3790.      The confirmation of receipt variant is used only in Class 1  when
  3791.      it has been agreed during connection establishment (see note).
  3792.  
  3793.      The AK variant is used in classes 3 and 4 and  also  in  Class  1
  3794.      when  the  confirmation  of  receipt  variant has not been agreed
  3795.      during connection establishment.
  3796.  
  3797.      NOTE - Use of confirmation of  receipt  variant  depends  on  the
  3798.      availability  of  the  network layer receipt confirmation service
  3799.      and the expected cost reduction.
  3800.  
  3801.  
  3802.  
  3803.  
  3804.      6.13.2  Network service primitives
  3805.  
  3806.      The procedure uses the following network service primitives:
  3807.  
  3808.         a)  N-DATA;
  3809.  
  3810.         b)  N-DATA ACKNOWLEDGE.
  3811.  
  3812.  
  3813.  
  3814.  
  3815.      6.13.3  TPDUs and parameters used
  3816.  
  3817.      The procedure uses the following TPDUs and parameters:
  3818.  
  3819.         a)  CR, CC, DR and DC TPDUs;
  3820.  
  3821.         b)  RJ and AK TPDUs;
  3822.  
  3823.             - YR-TU-NR.
  3824.  
  3825.  
  3826.  
  3827.  
  3828.                                     56
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.  
  3836.  
  3837.  
  3838.  
  3839.  
  3840.         c)  DT TPDU;
  3841.  
  3842.             - TPDU-NR.
  3843.  
  3844.         d)  ED TPDU;
  3845.  
  3846.             - ED-TPDU-NR.
  3847.  
  3848.         e)  EA TPDU;
  3849.  
  3850.             - YR-EDTU-NR.
  3851.  
  3852.  
  3853.  
  3854.  
  3855.      6.13.4  Procedures
  3856.  
  3857.      Copies of the following TPDUs shall be retained upon transmission
  3858.      to permit their later retransmission:
  3859.  
  3860.         CR, CC, DR, DT and ED TPDUs
  3861.  
  3862.      except that if a DR is sent in response to a CR TPDU there is  no
  3863.      need to retain a copy of the DR TPDU.
  3864.  
  3865.      In the confirmation of receipt variant, applicable only in  Class
  3866.      1,  transport  entities receiving N-DATA indications which convey
  3867.      DT TPDUs and have the confirmation request field set shall  issue
  3868.      an N-DATA ACKNOWLEDGE request (see notes 1 and 2).
  3869.  
  3870.      After each TPDU is acknowledged, as shown in table  5,  the  copy
  3871.      need  not  be  retained.   Copies  may also be discarded when the
  3872.      transport connection is released.
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.                                     57
  3887.  
  3888.  
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.      NOTES
  3899.  
  3900.         1.  It is a local matter for each transport entity  to  decide
  3901.             which N-DATA requests should have the confirmation request
  3902.             parameter set.  This decision will normally be related  to
  3903.             the amount of storage available for retained copies of the
  3904.             DT TPDUs.
  3905.  
  3906.         2.  Use of the confirmation request parameter may  affect  the
  3907.             quality of network service.
  3908.  
  3909.  
  3910.  
  3911.  
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922.  
  3923.  
  3924.  
  3925.  
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.  
  3940.  
  3941.  
  3942.  
  3943.  
  3944.                                     58
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957.  
  3958.  
  3959.  
  3960.      +-------------------------------------------------------------+
  3961.      |RETAINED|              |                                     |
  3962.      |  TPDU  |   VARIANT    |    RETAINED UNTIL ACKNOWLEDGED BY   |
  3963.      |--------|--------------|-------------------------------------|
  3964.      |   CR   | both         |CC, DR or ER TPDU.                   |
  3965.      |        |              |                                     |
  3966.      |   DR   | both         |DC or DR (in case of collision) TPDU.|
  3967.      |        |              |                                     |
  3968.      |   CC   | confirmation |N-DATA Acknowledge indication, RJ,   |
  3969.      |        | of receipt   |DT, EA or ED TPDU.                   |
  3970.      |        | variant      |                                     |
  3971.      |        |              |                                     |
  3972.      |   CC   | AK variant   |RJ, DT, AK, ED or EA TPDU.           |
  3973.      |        |              |                                     |
  3974.      |   DT   | confirmation |N-DATA ACKNOWLEDGE indication cor-   |
  3975.      |        | of receipt   |responding to an N-DATA request which|
  3976.      |        | variant      |conveyed, or came after, the DT TPDU.|
  3977.      |        |              |                                     |
  3978.      |   DT   | AK variant   |AK or RJ TPDU for which the YR-TU-NR |
  3979.      |        |              |is greater than TPDU-NR in the DT    |
  3980.      |        |              |TPDU.                                |
  3981.      |        |              |                                     |
  3982.      |   ED   | both         |EA TPDU for which the YR-EDTU-NR is  |
  3983.      |        |              |equal to the ED-TPDU-NR in the       |
  3984.      |        |              |ED TPDU.                             |
  3985.      +-------------------------------------------------------------+
  3986.  
  3987.                      Table 5. Acknowledgement of TPDUs
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993.  
  3994.  
  3995.  
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.                                     59
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.  
  4013.  
  4014.      6.14  Resynchronization
  4015.  
  4016.      6.14.1  Purpose
  4017.  
  4018.      The resynchronization procedures are used in Classes 1 and  3  to
  4019.      restore  the  transport  connection  to  normal  after a reset or
  4020.      during reassignment after failure according to 6.12.
  4021.  
  4022.  
  4023.  
  4024.  
  4025.      6.14.2  Network service primitives
  4026.  
  4027.      The  procedure  makes  use  of  the  following  network   service
  4028.      primitive:
  4029.  
  4030.           N-RESET indication.
  4031.  
  4032.  
  4033.  
  4034.  
  4035.      6.14.3  TPDUs and parameters used
  4036.  
  4037.      The procedure uses the following TPDUs and parameters:
  4038.  
  4039.         a)  CR, DR, CC and DC TPDUs
  4040.  
  4041.         b)  RJ TPDUs;
  4042.  
  4043.             - YR-TU-NR.
  4044.  
  4045.         c)  DT TPDU;
  4046.  
  4047.             - TPDU-NR
  4048.  
  4049.         d)  ED TPDU;
  4050.  
  4051.             - ED TPDU-NR.
  4052.  
  4053.         e)  EA TPDU;
  4054.  
  4055.             - YR-EDTU-NR.
  4056.  
  4057.  
  4058.  
  4059.  
  4060.                                     60
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.      6.14.4  Procedure
  4073.  
  4074.      A transport entity which is notified of the occurence  of  an  N-
  4075.      RESET   or  which  is  performing  'reassignment  after  failure'
  4076.      according to 6.12 shall carry out  the  active  resynchronization
  4077.      procedure (see 6.14.4.1) unless any of the following hold:
  4078.  
  4079.         a)  the transport entity is the responder (see note).  In this
  4080.             case  the  passive  resynchronization procedure is carried
  4081.             out (see 6.14.4.2).
  4082.  
  4083.         b)  the transport entity has  elected  not  to  reassign  (see
  4084.             6.12.3.c).  In this case no resynchronization takes place.
  4085.  
  4086.  
  4087.  
  4088.  
  4089.      6.14.4.1  Active resynchronization procedures
  4090.  
  4091.      The Transport  entity  shall  carry  out  one  of  the  following
  4092.      actions:
  4093.  
  4094.         a)  if the TTR timer has been previously started and  has  run
  4095.             out  (i.e. no valid TPDU has been received), the transport
  4096.             connection is considered as released and the reference  is
  4097.             frozen (see 6.18).
  4098.  
  4099.         b)  otherwise, the TTR timer shall be started  (unless  it  is
  4100.             already running) and the first applicable of the following
  4101.             actions shall be taken:
  4102.  
  4103.             1)  if a CR TPDU is  unacknowledged,  then  the  transport
  4104.                 entity shall retransmit it;
  4105.  
  4106.             2)  if a DR TPDU is  unacknowledged,  then  the  transport
  4107.                 entity shall retransmit it;
  4108.  
  4109.             3)  otherwise, the transport entity shall  carry  out  the
  4110.                 data resynchronization procedures (6.14.4.3).
  4111.  
  4112.             The TTR timer is stopped when a valid TPDU is received.
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.                                     61
  4119.  
  4120.  
  4121.  
  4122.  
  4123.  
  4124.  
  4125.  
  4126.  
  4127.  
  4128.  
  4129.  
  4130.      6.14.4.2  Passive resynchronization procedures
  4131.  
  4132.      The transport entity shall not send any TPDUs until  a  TPDU  has
  4133.      been received.  The transport entity shall start its TWR timer if
  4134.      it was not already started (due to a previous N-DISCONNECT or  N-
  4135.      RESET indication).  If the timer runs out prior to the receipt of
  4136.      a valid TPDU which commence resynchronization (i.e. CR or  DR  or
  4137.      RJ  TPDU)  the transport connection is considered as released and
  4138.      the reference is released (see 6.18).
  4139.  
  4140.      When a valid TPDU is received the transport entity shall stop its
  4141.      TWR  timer  and  carry  out  the appropriate one of the following
  4142.      actions, depending on the TPDU:
  4143.  
  4144.         a)  if it is a DR TPDU, then the transport entity shall send a
  4145.             DC TPDU;
  4146.  
  4147.         b)  if it is  a  repeated  CR  TPDU  (see  note  1)  then  the
  4148.             transport  entity  shall  carry out the appropriate action
  4149.             from the following:
  4150.  
  4151.             1)  if a CC TPDU has already been sent, and  acknowledged:
  4152.                 treat as a protocol error;
  4153.  
  4154.             2)  if a DR TPDU is unacknowledged (whether or  not  a  CC
  4155.                 TPDU  is  unacknowledged): retransmit the DR TPDU, but
  4156.                 setting the source reference to zero;
  4157.  
  4158.             3)  if the T-CONNECT response has not  yet  been  received
  4159.                 from the user:  take no action;
  4160.  
  4161.             4)  otherwise; retransmit  the  CC  TPDU  followed  by  an
  4162.                 unacknowledged ED TPDU (see note 2) and any DT TPDU;
  4163.  
  4164.          NOTES
  4165.  
  4166.             1.  A repeated CR TPDU can be identified  by  being  on  a
  4167.                 network   connection   with  the  appropriate  network
  4168.                 addresses and having a correct source reference.
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.                                     62
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.             2.  The transport entity should not use network  expedited
  4189.                 until  the  CC  TPDU  is acknowledged (see 6.5).  This
  4190.                 rule prevents the network  expedited  from  overtaking
  4191.                 the CC TPDU.
  4192.  
  4193.         c)  if it is an RJ or  ED  TPDU  then  one  of  the  following
  4194.             actions shall be taken:
  4195.  
  4196.             1)  if a DR TPDU is  unacknowledged,  then  the  transport
  4197.                 entity shall retransmit it;
  4198.  
  4199.             2)  otherwise, the transport entity shall  carry  out  the
  4200.                 data resynchronization procedures (6.14.4.3).
  4201.  
  4202.             3)  If a CC TPDU was unacknowledge,  the  RJ  or  ED  TPDU
  4203.                 should  then  be  considered  as  acknowledging the CC
  4204.                 TPDU.  If a CC TPDU was never sent, the RJ TPDU should
  4205.                 then be considered as a protocol error.
  4206.  
  4207.  
  4208.  
  4209.  
  4210.      6.14.4.3  Data Resynchronization Procedures
  4211.  
  4212.      The transport entity shall carry out the following actions in the
  4213.      following order:
  4214.  
  4215.         a)  (re)transmit any ED TPDU which is unacknowledged,
  4216.  
  4217.         b)  transmit an RJ TPDU with YR-TU-NR field set to the TPDU-NR
  4218.             of the next expected DT TPDU;
  4219.  
  4220.  
  4221.  
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231.  
  4232.  
  4233.  
  4234.                                     63
  4235.  
  4236.  
  4237.  
  4238.  
  4239.  
  4240.  
  4241.  
  4242.  
  4243.  
  4244.  
  4245.  
  4246.         c)  wait for the next TPDU from the  other  transport  entity,
  4247.             unless an RJ or DR TPDU has already been received; if a DR
  4248.             TPDU is received the transport entity  shall  send  a  DC,
  4249.             freeze   the   reference,   inform   the  TS-user  of  the
  4250.             disconnection and take no further action  (i.e.  it  shall
  4251.             not  follow  the procedures in 6.14.4.3.d).  If an RJ TPDU
  4252.             is  received,  the  procedure  of  6.14.4.3.d   shall   be
  4253.             followed.   If  an  ED  TPDU is received the procedures as
  4254.             described  in  6.11  shall  be  followed.   If  it  is   a
  4255.             duplicated  ED-TPDU the transport entity shall acknowledge
  4256.             it, with an EA TPDU, discard the duplicated  ED  TPDU  and
  4257.             wait again for the next TPDU.
  4258.  
  4259.         d)  (re)transmit  any  DT  TPDUs  which  are   unacknowledged,
  4260.             subject  to  any  applicable  flow control procedures (see
  4261.             note);
  4262.  
  4263.             NOTE - The RJ TPDU may have reduced the credit.
  4264.  
  4265.  
  4266.  
  4267.  
  4268.      6.15  Multiplexing and demultiplexing
  4269.  
  4270.      6.15.1  Purpose
  4271.  
  4272.      The  multiplexing  and  demultiplexing  procedures  are  used  in
  4273.      Classes  2,  3  and  4  to allow several transport connections to
  4274.      share a network connection at the same time.
  4275.  
  4276.  
  4277.  
  4278.  
  4279.      6.15.2  TPDUs and parameters used
  4280.  
  4281.      The procedure makes use of the following TPDUs and parameters:
  4282.  
  4283.         CC, DR, DC, DT, AK, ED, EA, RJ and ER TPDUs
  4284.  
  4285.         - DST-REF
  4286.  
  4287.  
  4288.  
  4289.  
  4290.  
  4291.  
  4292.                                     64
  4293.  
  4294.  
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.  
  4301.  
  4302.  
  4303.  
  4304.      6.15.3  Procedure
  4305.  
  4306.      The transport entities shall be able to send and receive  on  the
  4307.      same  network  connection  TPDUs belonging to different transport
  4308.      connections.
  4309.  
  4310.      NOTES
  4311.  
  4312.         1.  When performing demultiplexing the transport connection to
  4313.             which  the  TPDUs  apply  is  determined by the procedures
  4314.             defined in 6.9.
  4315.  
  4316.         2.  Multiplexing allows the concatenation of  TPDUs  belonging
  4317.             to  different  transport  connections to be transferred in
  4318.             the same N-DATA primitive (see 6.4).
  4319.  
  4320.  
  4321.  
  4322.  
  4323.      6.16  Explicit Flow Control
  4324.  
  4325.      6.16.1  Purpose
  4326.  
  4327.      The explicit flow control procedure is used in Classes 2, 3 and 4
  4328.      to  regulate  the  flow  of  DT  TPDUs  independently of the flow
  4329.      control in the other layers.
  4330.  
  4331.  
  4332.  
  4333.  
  4334.      6.16.2  TPDUs and parameters used
  4335.  
  4336.      The procedure makes use of the following TPDUs and parameters:
  4337.  
  4338.         a)  CR, CC, AK and RJ TPDUs
  4339.  
  4340.             - CDT.
  4341.  
  4342.         b)  DT TPDU
  4343.  
  4344.             - TPDU-NR.
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.                                     65
  4351.  
  4352.  
  4353.  
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.         c)  AK TPDU
  4363.  
  4364.             - YR-TU-NR;
  4365.             - subsequence number;
  4366.             - flow control confirmation.
  4367.  
  4368.         d)  RJ TPDU
  4369.  
  4370.             - YR-TU-NR.
  4371.  
  4372.  
  4373.  
  4374.  
  4375.      6.16.3  Procedure
  4376.  
  4377.      The procedures differ in different classes.  They are defined  in
  4378.      the clauses specifying the separate classes.
  4379.  
  4380.  
  4381.  
  4382.  
  4383.      6.17  Checksum
  4384.  
  4385.      6.17.1  Purpose
  4386.  
  4387.      The checksum procedure is used to detect corruption of  TPDUs  by
  4388.      the NS-provider.
  4389.  
  4390.      NOTE - Although a checksum algorithm has to  be  adapted  to  the
  4391.      type  of  errors  expected  on the network connection, at present
  4392.      only one algorithm is defined.
  4393.  
  4394.  
  4395.  
  4396.  
  4397.      6.17.2  TPDUs and parameters used
  4398.  
  4399.      The procedure uses the following TPDUs and parameters:
  4400.  
  4401.         All TPDUs
  4402.          - checksum
  4403.  
  4404.  
  4405.  
  4406.  
  4407.  
  4408.                                     66
  4409.  
  4410.  
  4411.  
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.      6.17.3  Procedure
  4421.  
  4422.      The checksum is used only in Class 4.  It is always used for  the
  4423.      CR TPDU, and is used for all other TPDUs except if the non-use of
  4424.      the procedure was agreed during connection establishment.
  4425.  
  4426.      The sending  transport  entity  shall  transmit  TPDUs  with  the
  4427.      checksum  parameter  set  such  that  the  following formulas are
  4428.      satisfied:
  4429.  
  4430.         SUM(from i=1 to i=L) OF a[i] EQUALS <zero> (module 255)
  4431.  
  4432.         SUM(from i=1 to i=L) OF i*a[i] EQUALS <zero> (module 255)
  4433.  
  4434.      where
  4435.  
  4436.         i    = number (i.e. position) of an octet within the TPDU
  4437.                (see 13.2);
  4438.         a[i] = value of octet in position 1;
  4439.         L    = length of TPDU in octets.
  4440.  
  4441.      A  transport  entity  which  receives  a  TPDU  for  a  transport
  4442.      connection  for  which  the  use  of checksum has been agreed and
  4443.      which does not satisfy the above formulas shall discard the  TPDU
  4444.      (see also note 2).
  4445.  
  4446.      NOTES
  4447.  
  4448.         1.  An  efficient  algorithm  for  determining  the   checksum
  4449.             parameters is given in annex B.
  4450.  
  4451.         2.  If the checksum is incorrect, it is not possible  to  know
  4452.             with  certainty  to which transport connection the TPDU is
  4453.             related; further action may be taken for all the transport
  4454.             connections assigned to the network connection (see 6.9).
  4455.  
  4456.         3.  The checksum proposed is easy to calculate and so will not
  4457.             impose  a  heavy  burden  on implementations.  However, it
  4458.             will not detect insertion or loss of leading  or  trailing
  4459.             zeros and will not detect some octets misordering.
  4460.  
  4461.  
  4462.  
  4463.  
  4464.  
  4465.  
  4466.                                     67
  4467.  
  4468.  
  4469.  
  4470.  
  4471.  
  4472.  
  4473.  
  4474.  
  4475.  
  4476.  
  4477.  
  4478.      6.18  Frozen references
  4479.  
  4480.      6.18.1  Purpose
  4481.  
  4482.      This procedure is used in order to prevent re-use of a  reference
  4483.      while  TPDUs  associated  with  the  old use of the reference may
  4484.      still exist.
  4485.  
  4486.  
  4487.  
  4488.  
  4489.      6.18.2  Procedure
  4490.  
  4491.      When a transport entity determines that a  particular  connection
  4492.      is  released  it shall place the reference which it has allocated
  4493.      to the connection in a frozen state according to  the  procedures
  4494.      of the class.  While frozen, the reference shall not be re-used.
  4495.  
  4496.      NOTE - The  frozen  reference  procedure  is  necessary   because
  4497.      retransmission or misordering can cause TPDUs bearing a reference
  4498.      to arrive at an entity after it has released the  connection  for
  4499.      which  it  allocated the reference.  Retransmission, for example,
  4500.      can arise when the class includes either  resynchronization  (see
  4501.      6.14) or retransmission on time out (see 6.19).
  4502.  
  4503.  
  4504.  
  4505.  
  4506.      6.18.2.1  Procedure for classes 0 and 2
  4507.  
  4508.      The frozen reference procedure is never used for these classes.
  4509.  
  4510.      NOTE - However for consistency with the  other  classes  freezing
  4511.      the references may be done as a local decision.
  4512.  
  4513.  
  4514.  
  4515.  
  4516.  
  4517.  
  4518.  
  4519.  
  4520.  
  4521.  
  4522.  
  4523.  
  4524.                                     68
  4525.  
  4526.  
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.      6.18.2.2  Procedure for classes 1 and 3
  4537.  
  4538.      The frozen reference procedure is used except  in  the  following
  4539.      cases (see note 1):
  4540.  
  4541.         a)  when the transport entity receives a DC TPDU  in  response
  4542.             to a DR TPDU which it has sent (see note 2);
  4543.  
  4544.         b)  when the transport  entity  sends  a  DR  or  ER  TPDU  in
  4545.             response to a CR TPDU which it has received (see note 3);
  4546.  
  4547.         c)  when the transport entity has considered the connection to
  4548.             be  released  after  the  expiration of the TWR timer (see
  4549.             note 4);
  4550.  
  4551.         d)  when the transport entity receives a  DR  or  ER  TPDU  in
  4552.             response to a CR TPDU which it has sent.
  4553.  
  4554.      The period of time for which the reference remains  frozen  shall
  4555.      be greater than the TWR time.
  4556.  
  4557.      NOTES
  4558.  
  4559.         1.  However, even in these cases, for consistency freezing the
  4560.             reference may be done as a local decision.
  4561.  
  4562.         2.  When the DC TPDU is received it is certain that the  other
  4563.             transport entity considers the connection released.
  4564.  
  4565.         3.  When the DR or ER TPDU is sent the peer  transport  entity
  4566.             has not been informed of any reference assignment and thus
  4567.             cannot possibly make use of a reference (this includes the
  4568.             case where a CC TPDU was sent, but was lost).
  4569.  
  4570.         4.  In 6.18.2.c the transport entity has  already  effectively
  4571.             frozen the reference for an adequate period.
  4572.  
  4573.  
  4574.  
  4575.  
  4576.  
  4577.  
  4578.  
  4579.  
  4580.  
  4581.  
  4582.                                     69
  4583.  
  4584.  
  4585.  
  4586.  
  4587.  
  4588.  
  4589.  
  4590.  
  4591.  
  4592.  
  4593.  
  4594.      6.18.2.3  Procedure for classes 4
  4595.  
  4596.      The frozen reference procedure is always used in  class  4.   The
  4597.      period  for  which the reference remains frozen should be greater
  4598.      than L (see 12.2.1.1.6).
  4599.  
  4600.  
  4601.  
  4602.  
  4603.      6.19  Retransmission on time-out
  4604.  
  4605.      6.19.1  Purpose
  4606.  
  4607.      The procedure is used in Class 4 to cope with unsignalled loss of
  4608.      TPDUs by the NS-provider.
  4609.  
  4610.  
  4611.  
  4612.  
  4613.      6.19.2  TPDUs used
  4614.  
  4615.      The procedure makes use of the following TPDUs:
  4616.  
  4617.         CR, CC, DR, DT, ED, AK TPDUs.
  4618.  
  4619.  
  4620.  
  4621.  
  4622.      6.19.3  Procedure
  4623.  
  4624.      The procedure is specified in the procedures  for  Class  4  (see
  4625.      12.2.1.2.j).
  4626.  
  4627.  
  4628.  
  4629.  
  4630.      6.20  Resequencing
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.  
  4637.  
  4638.  
  4639.  
  4640.                                     70
  4641.  
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650.  
  4651.  
  4652.      6.20.1  Purpose
  4653.  
  4654.      The resequencing procedure is  used  in  Class  4  to  cope  with
  4655.      misordering of TPDUs by the network service provider.
  4656.  
  4657.  
  4658.  
  4659.  
  4660.      6.20.2  TPDUs and parameters used
  4661.  
  4662.      The procedure uses the following TPDUs and parameters:
  4663.  
  4664.         a)  DT TPDU;
  4665.             - TPDU-NR.
  4666.  
  4667.         b)  ED TPDU
  4668.             - ED TPDU-NR
  4669.  
  4670.  
  4671.  
  4672.  
  4673.      6.20.3  Procedure
  4674.  
  4675.      The procedure is specified in the procedures  for  Class  4  (see
  4676.      12.2.3.5).
  4677.  
  4678.  
  4679.  
  4680.  
  4681.      6.21  Inactivity control
  4682.  
  4683.      6.21.1  Purpose
  4684.  
  4685.      The inactivity control procedure is used in Class 4 to cope  with
  4686.      unsignalled termination of a network connection.
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.                                     71
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.      6.21.2  Procedure
  4711.  
  4712.      The procedure is specified in the procedures  for  Class  4  (see
  4713.      12.2.3.3).
  4714.  
  4715.  
  4716.  
  4717.  
  4718.      6.22  Treatment of protocol errors
  4719.  
  4720.      6.22.1  Purpose
  4721.  
  4722.      The procedure for treatment of protocol errors  is  used  in  all
  4723.      classes to deal with invalid TPDUs.
  4724.  
  4725.  
  4726.  
  4727.  
  4728.      6.22.2  TPDUs and parameters used
  4729.  
  4730.      The procedure uses the following TPDUs and parameters:
  4731.  
  4732.         a)  ER TPDU;
  4733.             - reject cause;
  4734.             - TPDU in error.
  4735.  
  4736.         b)  DR TPDU;
  4737.             - reason code.
  4738.  
  4739.  
  4740.  
  4741.  
  4742.      6.22.3  Procedure
  4743.  
  4744.      A transport entity that receives a TPDU that can be associated to
  4745.      a  transport  connection and is invalid or constitutes a protocol
  4746.      error (see 3.2.16 and 3.2.17) shall take  one  of  the  following
  4747.      actions  so  as not to jeopardize any other transport connections
  4748.      not assigned to that network connection:
  4749.  
  4750.         a)  ignoring the TPDU;
  4751.  
  4752.         b)  transmitting an ER TPDU;
  4753.  
  4754.  
  4755.  
  4756.                                     72
  4757.  
  4758.  
  4759.  
  4760.  
  4761.  
  4762.  
  4763.  
  4764.  
  4765.  
  4766.  
  4767.  
  4768.         c)  resetting or closing the network connection; or
  4769.  
  4770.         d)  invoking the release procedures appropriate to the class.
  4771.  
  4772.      If an ER TPDU is sent in Class 0 it shall contain the  octets  of
  4773.      the  invalid  TPDU  up to and including the octet where the error
  4774.      was detected (see notes 3, 4 and 5).
  4775.  
  4776.      If the TPDU  cannot  be  associated  to  a  particular  transport
  4777.      connection then see 6.9.
  4778.  
  4779.      NOTES
  4780.  
  4781.         1.  In  general,  no  further  action  is  specified  for  the
  4782.             receiver  of  the  ER  TPDU  but it is recommended that it
  4783.             initiates the release procedure appropriate to the  class.
  4784.             If the ER TPDU has been received as an answer to a CR TPDU
  4785.             then the connection is regarded as released (see 6.6).
  4786.  
  4787.         2.  Care should be  taken  by  a  transport  entity  receiving
  4788.             several  invalid TPDUs or ER TPDUs to avoid looping if the
  4789.             error is generated repeatedly.
  4790.  
  4791.         3.  If the invalid received TPDU is greater than the  selected
  4792.             maximum  TPDU  size  it  is  possible  that  it  cannot be
  4793.             included in the invalid TPDU parameter of the ER TPDU.
  4794.  
  4795.         4.  It is recommended that the sender of the ER TPDU starts an
  4796.             optional   timer   TS2   to  ensure  the  release  of  the
  4797.             connection.  If the timer expires,  the  transport  entity
  4798.             shall  initiate  the release procedures appropriate to the
  4799.             class.  The timer should be stopped when a DR TPDU  or  an
  4800.             N-DISCONNECT indication is received.
  4801.  
  4802.         5.  In classes other  than  0,  it  is  recommended  that  the
  4803.             invalid TPDU be also included in the ER TPDU.
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.                                     73
  4815.  
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.  
  4826.      6.23  Splitting and recombining
  4827.  
  4828.      6.23.1  Purpose
  4829.  
  4830.      This procedure is used only in  class  4  to  allow  a  transport
  4831.      connection to make use of multiple network connections to provide
  4832.      additional  resilience  against  network  failure,  to   increase
  4833.      throughput, or for other reasons.
  4834.  
  4835.  
  4836.  
  4837.  
  4838.      6.23.2  Procedure
  4839.  
  4840.      When this procedure is being used, a transport connection may  be
  4841.      assigned  (see 6.1) to multiple network connections (see note 1).
  4842.      TPDUs for the connection  may  be  sent  over  any  such  network
  4843.      connection.
  4844.  
  4845.      If the use of Class 4 is not accepted  by  the  remote  transport
  4846.      entity   following   the   negotiation  rules,  then  no  network
  4847.      connection except that over which the CR TPDU was sent  may  have
  4848.      this transport connection assigned to it.
  4849.  
  4850.      NOTES
  4851.  
  4852.         1.  The resequencing function of Class 4 (see 6.20) is used to
  4853.             ensure that TPDUs are processed in the correct sequence.
  4854.  
  4855.         2.  Either transport  entity  may  assign  the  connection  to
  4856.             further  network  connections  of which it is the owner at
  4857.             any time during the life of the transport connection.
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.                                     74
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.         3.  In order to enable the detection  of  unsignalled  network
  4885.             connection   failures,   a   transport  entity  performing
  4886.             splitting should ensure that TPDUs are sent  at  intervals
  4887.             on  each  supporting  network  connection, for example, by
  4888.             sending   successive   TPDUs   on    successive    network
  4889.             connections,  where the set of network connections is used
  4890.             cyclically.  By  monitoring  each  network  connection,  a
  4891.             transport entity may detect unsignalled network connection
  4892.             failures, following the inactivity procedures  defined  in
  4893.             12.2.3.3.   Thus,  for each network connection no period I
  4894.             (see 12.2.3.1) may elapse without the receipt of some TPDU
  4895.             for some transport connection.
  4896.  
  4897.  
  4898.  
  4899.  
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.  
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914.  
  4915.  
  4916.  
  4917.  
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929.  
  4930.                                     75
  4931.  
  4932.  
  4933.  
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.      7  Protocol Classes
  4943.  
  4944.      Table 6 gives an overview of  which  elements  of  procedure  are
  4945.      included  in  each  class.   In  certain  cases  the  elements of
  4946.      procedure within different classes are  not  identical  and,  for
  4947.      this  reason,  table  6  cannot  be  considered  as  part  of the
  4948.      definitive specification of the protocol.
  4949.  
  4950.  
  4951.  
  4952.      KEY TO TABLE 6
  4953.  
  4954.      +---|---------------------------------------------------------+
  4955.      | * |Procedure always included in class                       |
  4956.      |---|---------------------------------------------------------|
  4957.      |   |Not applicable                                           |
  4958.      |---|---------------------------------------------------------|
  4959.      | m |Negotiable procedure whose implementation in equipment is|
  4960.      |   |mandatory                                                |
  4961.      |---|---------------------------------------------------------|
  4962.      | o |Negotiable procedure whose implementation in equipment is|
  4963.      |   |optional                                                 |
  4964.      |---|---------------------------------------------------------|
  4965.      | ao|Negotiable procedure whose implementation in equipment is|
  4966.      |   |optional and where use depends on availability within the|
  4967.      |   |network service                                          |
  4968.      |---|---------------------------------------------------------|
  4969.      |(1)|Not applicable in class 2 when non-use of explicit flow  |
  4970.      |   |control is selected                                      |
  4971.      |---|---------------------------------------------------------|
  4972.      |(2)|When non use of explicit flow control has been selected, |
  4973.      |   |multiplexing may lead to degradation of quality of       |
  4974.      |   |service                                                  |
  4975.      |---|---------------------------------------------------------|
  4976.      |(3)|This function is provided in class 4 using procedures    |
  4977.      |   |other than those in the cross reference.                 |
  4978.      +-------------------------------------------------------------+
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984.  
  4985.  
  4986.  
  4987.  
  4988.                                     76
  4989.  
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.      +----------------------------------------------------------------+
  5005.      |                             |Cross |            |  |  |  |  |  |
  5006.      |     Protocol Mechanism      |refe- |   Variant  | 0| 1| 2| 3| 4|
  5007.      |                             |rence |            |  |  |  |  |  |
  5008.      |-----------------------------|------|------------|--|--|--|--|--|
  5009.      | Assignment to network Conn. | 6.1  |            | *| *| *| *| *|
  5010.      |-----------------------------|------|------------|--|--|--|--|--|
  5011.      | TPDU Transfer               | 6.2  |            | *| *| *| *| *|
  5012.      |-----------------------------|------|------------|--|--|--|--|--|
  5013.      | Segmenting and Reassembling | 6.3  |            | *| *| *| *| *|
  5014.      |-----------------------------|------|------------|--|--|--|--|--|
  5015.      | Concatenation and Separation| 6.4  |            |  | *| *| *| *|
  5016.      |-----------------------------|------|------------|--|--|--|--|--|
  5017.      | Connection Establishment    | 6.5  |            | *| *| *| *| *|
  5018.      |-----------------------------|------|------------|--|--|--|--|--|
  5019.      | Connection Refusal          | 6.6  |            | *| *| *| *| *|
  5020.      |-----------------------------|------|------------|--|--|--|--|--|
  5021.      | Normal Release              | 6.7  | implicit   | *|  |  |  |  |
  5022.      |                             |      | explicit   |  | *| *| *| *|
  5023.      |-----------------------------|------|------------|--|--|--|--|--|
  5024.      | Error Release               | 6.8  |            | *|  | *|  |  |
  5025.      |-----------------------------|------|------------|--|--|--|--|--|
  5026.      | Association of TPDUs with   |      |            |  |  |  |  |  |
  5027.      | Transport Connection        | 6.9  |            | *| *| *| *| *|
  5028.      |-----------------------------|------|------------|--|--|--|--|--|
  5029.      | DT TPDU Numbering           | 6.10 | normal     |  | *|m(1)m| m|
  5030.      |                             |      | extended   |  |  |o(1)o| o|
  5031.      |-----------------------------|------|------------|--|--|--|--|--|
  5032.      | Expedited Data Transfer     | 6.11 | network    |  |  | *|  |  |
  5033.      |                             |      | normal     |  | m|(1) *| *|
  5034.      |                             |      | network    |  |  |  |  |  |
  5035.      |                             |      | expedited  |  |ao|  |  |  |
  5036.      |-----------------------------|------|------------|--|--|--|--|--|
  5037.      | Reassignment after failure  | 6.12 |            |  | *|  | *|(3)
  5038.      +----------------------------------------------------------------+
  5039.  
  5040.     Table 6. (First of 2 pages) Allocation of procedures within classes
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.                                     77
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.  
  5057.  
  5058.      +----------------------------------------------------------------+
  5059.      | Retention until Acknowledge-|      |Conf.Receipt|  |ao|  |  |  |
  5060.      | ment of TPDUs               | 6.13 |AK          |  | m|  |  | *|
  5061.      |-----------------------------|------|------------|--|--|--|--|--|
  5062.      | Resynchronisation           | 6.14 |            |  | *|  | *|(3)
  5063.      |-----------------------------|------|------------|--|--|--|--|--|
  5064.      | Multiplexing and            |      |            |  |  |(2)  |  |
  5065.      | Demultiplexing              | 6.15 |            |  |  | *| *| *|
  5066.      |-----------------------------|------|------------|--|--|--|--|--|
  5067.      | Explicit Flow Control With  | 6.16 |            |  |  | m| *| *|
  5068.      |                    Without  |      |            | *| *| o|  |  |
  5069.      |-----------------------------|------|------------|--|--|--|--|--|
  5070.      | Checksum (use of)           | 6.17 |            |  |  |  |  | m|
  5071.      |          (non-use of)       |      |            | *| *| *| *| o|
  5072.      |-----------------------------|------|------------|--|--|--|--|--|
  5073.      | Frozen References           | 6.18 |            |  | *|  | *| *|
  5074.      |------------------------------------|------------|--|--|--|--|--|
  5075.      | Retransmission on Timeout   | 6.19 |            |  |  |  |  | *|
  5076.      |-----------------------------|------|------------|--|--|--|--|--|
  5077.      | Resequencing                | 6.20 |            |  |  |  |  | *|
  5078.      |-----------------------------|------|------------|--|--|--|--|--|
  5079.      | Inactivity Control          | 6.21 |            |  |  |  |  | *|
  5080.      |-----------------------------|------|------------|--|--|--|--|--|
  5081.      | Treatment of Protocol Errors| 6.22 |            | *| *| *| *| *|
  5082.      |-----------------------------|------|------------|--|--|--|--|--|
  5083.      | Splitting and Recombining   | 6.23 |            |  |  |  |  | *|
  5084.      +----------------------------------------------------------------+
  5085.  
  5086.      Table 6. (2nd of 2 pages) Allocation of procedures within classes
  5087.  
  5088.  
  5089.  
  5090.  
  5091.  
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102.  
  5103.  
  5104.                                     78
  5105.  
  5106.  
  5107.  
  5108.  
  5109.  
  5110.  
  5111.  
  5112.  
  5113.  
  5114.  
  5115.  
  5116.      8  SPECIFICATION FOR CLASS 0. SIMPLE CLASS
  5117.  
  5118.      8.1  Functions of class 0
  5119.  
  5120.      Class 0 is designed to have minimum functionality.   It  provides
  5121.      only  the  functions  needed  for  connection establishment  with
  5122.      negotiation, data transfer with  segmenting  and  protocol  error
  5123.      reporting.
  5124.  
  5125.      Class 0 provides transport connections with flow control based on
  5126.      the  network  service  provided  flow  control, and disconnection
  5127.      based on the network service disconnection.
  5128.  
  5129.  
  5130.  
  5131.  
  5132.      8.2  Procedures for class 0
  5133.  
  5134.      8.2.1  Procedures applicable at all times
  5135.  
  5136.      The transport entities shall use the following procedures:
  5137.  
  5138.         a)  TPDU transfer (see 6.2);
  5139.  
  5140.         b)  association of TPDUs with transport connections (see 6.9);
  5141.  
  5142.         c)  treatment of protocol errors (see 6.22);
  5143.  
  5144.         d)  error release (see 6.8).
  5145.  
  5146.  
  5147.  
  5148.  
  5149.      8.2.2  Connection establishment
  5150.  
  5151.      The transport entities shall use the following procedures:
  5152.  
  5153.         a)  assignment to network connection (see 6.1); then
  5154.  
  5155.         b)  connection establishment (see 6.5)  and,  if  appropriate,
  5156.             connection refusal (see 6.6);
  5157.  
  5158.         subject to the following constraints:
  5159.  
  5160.  
  5161.  
  5162.                                     79
  5163.  
  5164.  
  5165.  
  5166.  
  5167.  
  5168.  
  5169.  
  5170.  
  5171.  
  5172.  
  5173.  
  5174.         c)  the CR and CC TPDUs shall contain no parameter field other
  5175.             than those for TSAP-ID and maximum TPDU size;
  5176.  
  5177.         d)  the CR and CC TPDUs shall not contain a data field.
  5178.  
  5179.  
  5180.  
  5181.  
  5182.      8.2.3  Data transfer
  5183.  
  5184.      The transport entities shall use the segmenting and  reassembling
  5185.      procedure (see 6.3).
  5186.  
  5187.  
  5188.  
  5189.  
  5190.      8.2.4  Release
  5191.  
  5192.      The transport entities shall use  the  implicit  variant  of  the
  5193.      normal release procedure (see 6.7).
  5194.  
  5195.      NOTE - the lifetime  of  the  transport  connection  is  directly
  5196.      correlated with the lifetime of the network connection.
  5197.  
  5198.  
  5199.  
  5200.  
  5201.  
  5202.  
  5203.  
  5204.  
  5205.  
  5206.  
  5207.  
  5208.  
  5209.  
  5210.  
  5211.  
  5212.  
  5213.  
  5214.  
  5215.  
  5216.  
  5217.  
  5218.  
  5219.  
  5220.                                     80
  5221.  
  5222.  
  5223.  
  5224.  
  5225.  
  5226.  
  5227.  
  5228.  
  5229.  
  5230.  
  5231.  
  5232.      9  SPECIFICATION FOR CLASS 1: BASIC ERROR RECOVERY CLASS
  5233.  
  5234.      9.1  Functions of Class 1
  5235.  
  5236.      Class 1 provides transport connections with flow control based on
  5237.      the  network  service  provided  flow  control,  error  recovery,
  5238.      expedited data transfer, disconnection, and also the  ability  to
  5239.      support   consecutive   transport   connections   on   a  network
  5240.      connection.
  5241.  
  5242.      This class provides the functionality of Class 0 plus the ability
  5243.      to  recover  after  a  failure  signalled by the Network Service,
  5244.      without involving the TS-user.
  5245.  
  5246.  
  5247.  
  5248.  
  5249.      9.2  Procedures for Class 1
  5250.  
  5251.      9.2.1  Procedures applicable at all times
  5252.  
  5253.      The transport entities shall use the following procedures:
  5254.  
  5255.         a)  TPDU transfer (see 6.2);
  5256.  
  5257.         b)  association of TPDU with transport connections (see 6.9);
  5258.  
  5259.         c)  treatment of protocol errors (see 6.22);
  5260.  
  5261.         d)  reassignment after failure (see 6.12);
  5262.  
  5263.         e)  resynchronization  (see  6.14),  or   reassignment   after
  5264.             failure  (see  6.12)  together with resynchronization (see
  5265.             6.14);
  5266.  
  5267.         f)  concatenation and separation (see 6.4);
  5268.  
  5269.         g)  retention until acknowledgement of TPDU  (see  6.13);  the
  5270.             variant  used,  AK or confirmation of receipt, shall be as
  5271.             selected during connection establishment (see notes);
  5272.  
  5273.         h)  frozen references (see 6.18).
  5274.  
  5275.  
  5276.  
  5277.  
  5278.                                     81
  5279.  
  5280.  
  5281.  
  5282.  
  5283.  
  5284.  
  5285.  
  5286.  
  5287.  
  5288.  
  5289.  
  5290.      NOTES
  5291.  
  5292.         1.  The  negotiation  of  the  variant  of   retention   until
  5293.             acknowledgement  of  TPDUs  procedure  to be used over the
  5294.             transport connection has been designed such  that  if  the
  5295.             initiator  proposes  the  use  of the AK variant (i.e. the
  5296.             mandatory implementation option),  the  responder  has  to
  5297.             accept  use  of  this option and if the initiator proposes
  5298.             use of the confirmation of receipt variant  the  responder
  5299.             is entitled to select use of the AK variant.
  5300.  
  5301.         2.  The AK variant makes use of AK TPDUs to release copies  of
  5302.             retained DT TPDUs.  The CDT parameter of AK TPDUs in class
  5303.             1 is not significant, and is set to 1111.
  5304.  
  5305.         3.  The confirmation of receipt variant is restricted to  this
  5306.             class  and  its  use  depends  on  the availability of the
  5307.             network  layer  receipt  confirmation  service,  and   the
  5308.             expected cost reduction.
  5309.  
  5310.  
  5311.  
  5312.  
  5313.      9.2.2  Connection establishment
  5314.  
  5315.      The transport entities shall use the following procedures:
  5316.  
  5317.         a)  assignment to network connection (see 6.1); then
  5318.  
  5319.         b)  connection establishment (see 6.5)  and,  if  appropriate,
  5320.             connection refusal (see 6.6).
  5321.  
  5322.  
  5323.  
  5324.  
  5325.      9.2.3  Data Transfer
  5326.  
  5327.      9.2.3.1  General
  5328.  
  5329.      The sending transport entity shall use the following procedures;
  5330.  
  5331.         a)  segmenting (see 6.3); then
  5332.  
  5333.  
  5334.  
  5335.  
  5336.                                     82
  5337.  
  5338.  
  5339.  
  5340.  
  5341.  
  5342.  
  5343.  
  5344.  
  5345.  
  5346.  
  5347.  
  5348.         b)  the normal format variant of DT TPDU numbering (see 6.10).
  5349.  
  5350.         The  receiving  transport  entity  shall  use  the   following
  5351.         procedures;
  5352.  
  5353.         c)  the normal variant of DT TPDU numbering (see 6.10,; then
  5354.  
  5355.         d)  reassembling (see 6.3).
  5356.  
  5357.      NOTES
  5358.  
  5359.         1.  The use of RJ TPDU during resynchronization (see 6.14) can
  5360.             lead  to  retransmission.  Thus the receipt of a duplicate
  5361.             DT TPDU is possible; such a DT TPDU is discarded.
  5362.  
  5363.         2.  It is possible to decide on a local basis to issue  an  N-
  5364.             RESET request in order to force the remote entity to carry
  5365.             out the resynchronization (see 6.14).
  5366.  
  5367.  
  5368.  
  5369.  
  5370.      9.2.3.2  Expedited Data
  5371.  
  5372.      The transport entities shall use either the network  normal  data
  5373.      or  the network expedited variants of the expedited data transfer
  5374.      procedure (see 6.11)  if  their  use  has  been  selected  during
  5375.      connection establishment (see note 1).
  5376.  
  5377.      The sending transport entity shall  not  allocate  the  same  ED-
  5378.      TPDU-NR to successive ED TPDUs (see notes 2 and 3).
  5379.  
  5380.      When acknowledging  an  ED  TPDU  by  sending  and  EA  TPDU  the
  5381.      transport  entity  shall put into the YR-EDTU-NR parameter of the
  5382.      EA TPDU the value received in the ED-TPDU-NR parameter of the  ED
  5383.      TPDU.
  5384.  
  5385.      NOTES
  5386.  
  5387.         1.  The negotiation of the variant of expedited data  transfer
  5388.             procedure  to  be  used  over the transport connection has
  5389.             been designed such that if the initiator proposes the  use
  5390.             of  the  network  normal  data variant (i.e. the mandatory
  5391.  
  5392.  
  5393.  
  5394.                                     83
  5395.  
  5396.  
  5397.  
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.  
  5404.  
  5405.  
  5406.             implementation option), the responder has to accept use of
  5407.             this  option  and  if  the  initiator  proposes use of the
  5408.             network expedited variant, the responder  is  entitled  to
  5409.             select use of the network normal data variant.
  5410.  
  5411.         2.  This numbering enables the receiving transport  entity  to
  5412.             discard  repeated  ED  TPDUs  when  resynchronization (see
  5413.             6.14) has taken place.
  5414.  
  5415.         3.  No other  significance  is  attached  to  the  ED  TPDU-NR
  5416.             parameter.  It is recommended, but not essential, that the
  5417.             values used be consecutive modulo 128.
  5418.  
  5419.  
  5420.  
  5421.  
  5422.      9.2.4  Release
  5423.  
  5424.      The transport entities shall use  the  explicit  variant  of  the
  5425.      release procedure (see 6.7).
  5426.  
  5427.  
  5428.  
  5429.  
  5430.  
  5431.  
  5432.  
  5433.  
  5434.  
  5435.  
  5436.  
  5437.  
  5438.  
  5439.  
  5440.  
  5441.  
  5442.  
  5443.  
  5444.  
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.                                     84
  5453.  
  5454.  
  5455.  
  5456.  
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.  
  5464.      10  SPECIFICATION FOR CLASS 2 - MULTIPLEXING CLASS
  5465.  
  5466.      10.1  Functions of class 2
  5467.  
  5468.      Class 2 provides transport connections with or without individual
  5469.      flow control; no error detection or error recovery is provided.
  5470.  
  5471.      If the network connection resets or  disconnects,  the  transport
  5472.      connection  is terminated without the transport release procedure
  5473.      and the TS-user is informed.
  5474.  
  5475.      When explicit flow control is used, a credit mechanism is defined
  5476.      allowing the receiver to inform the sender of the exact amount of
  5477.      data he is willing to receive  and  expedited  data  transfer  is
  5478.      available.
  5479.  
  5480.  
  5481.  
  5482.  
  5483.      10.2  Procedures for class 2
  5484.  
  5485.      10.2.1  Procedures applicable at all times
  5486.  
  5487.      The transport entities shall use the following procedures
  5488.  
  5489.         a)  association of TPDUs with transport connection (see 6.9);
  5490.  
  5491.         b)  TPDU transfer (see 6.2);
  5492.  
  5493.         c)  treatment of protocol errors (see 6.22);
  5494.  
  5495.         d)  concatenation and separation (see 6.4);
  5496.  
  5497.         e)  error release (see 6.8).
  5498.  
  5499.         Additionally the transport  entities  may  use  the  following
  5500.         procedure:
  5501.  
  5502.         f)  multiplexing and demultiplexing (see 6.15).
  5503.  
  5504.  
  5505.  
  5506.  
  5507.  
  5508.  
  5509.  
  5510.                                     85
  5511.  
  5512.  
  5513.  
  5514.  
  5515.  
  5516.  
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522.      10.2.2  Connection establishment
  5523.  
  5524.      The transport entities shall use the following procedures:
  5525.  
  5526.         a)  assignment to network connection (see 6.1); then
  5527.  
  5528.         b)  connection establishment  (see  6.5)  and,  if  applicable
  5529.             connection refusal (see 6.6).
  5530.  
  5531.  
  5532.  
  5533.  
  5534.      10.2.3  Data transfer when non use of explicit flow control
  5535.  
  5536.              has been selected
  5537.  
  5538.      If this option has been selected as a result  of  the  connection
  5539.      establishment,  the  transport  entities shall use the segmenting
  5540.      procedure (see 6.3).
  5541.  
  5542.      The TPDU-NR field of DT TPDUs is not significant and may take any
  5543.      value.
  5544.  
  5545.      NOTE- -Expedited data transfer is not applicable (see 6.5).
  5546.  
  5547.  
  5548.  
  5549.  
  5550.      10.2.4  Data transfer when use of explicit flow control
  5551.  
  5552.              has been selected
  5553.  
  5554.  
  5555.  
  5556.      10.2.4.1  General
  5557.  
  5558.      The sending transport entity shall use the following procedures:
  5559.  
  5560.         a)  segmenting (see 6.3); then
  5561.  
  5562.         b)  DT TPDU numbering (see 6.10);
  5563.  
  5564.  
  5565.  
  5566.  
  5567.  
  5568.                                     86
  5569.  
  5570.  
  5571.  
  5572.  
  5573.  
  5574.  
  5575.  
  5576.  
  5577.  
  5578.  
  5579.  
  5580.         The  receiving  transport  entity  shall  use  the   following
  5581.         procedures:
  5582.  
  5583.         c)  DT TPDU numbering (see 6.10); if a  DT  TPDU  is  received
  5584.             which is out of sequence it shall be treated as a protocol
  5585.             error; then
  5586.  
  5587.         d)  reassembling (see 6.3).
  5588.  
  5589.         The variant of the DT TPDU numbering which  is  used  by  both
  5590.         transport   entities   shall  be  that  which  was  agreed  at
  5591.         connection establishment.
  5592.  
  5593.  
  5594.  
  5595.  
  5596.      10.2.4.2  Flow control
  5597.  
  5598.      The transport entities shall send an initial credit (which may be
  5599.      zero)  in  the  CDT  field  of  the  CR  or CC TPDU.  This credit
  5600.      represents the initial value of the upper window  edge  allocated
  5601.      to the peer entity.
  5602.  
  5603.      The transport entity that receives the CR or the  CC  TPDU  shall
  5604.      consider its lower window edge as zero, and its upper window edge
  5605.      as the value of the CDT field in the received TPDU.
  5606.  
  5607.      In order to authorize the transmission of DT TPDUs, by its  peer,
  5608.      a  transport  entity may transmit an AK TPDU at any time, subject
  5609.      to the following constraints:
  5610.  
  5611.         a)  the YR-TU-NR parameter shall be at most one  greater  than
  5612.             the TPDU-NR field of the last received DT TPDU or shall be
  5613.             zero if no DT TPDU has been received;
  5614.  
  5615.         b)  if an AK TPDU has previously been sent the  value  of  the
  5616.             YR-TU-NR  parameter  shall  not  be lower than that in the
  5617.             previously sent AK TPDU.
  5618.  
  5619.         c)  the sum of the YR-TU-NR and CDT fields shall not  be  less
  5620.             than  the upper window edge allocated to the remote entity
  5621.             (see note 1).
  5622.  
  5623.  
  5624.  
  5625.  
  5626.                                     87
  5627.  
  5628.  
  5629.  
  5630.  
  5631.  
  5632.  
  5633.  
  5634.  
  5635.  
  5636.  
  5637.  
  5638.      A transport entity which receives an AK TPDU shall  consider  the
  5639.      YR-TU-NR  field  as its new lower window edge, and the sum of YR-
  5640.      TU-NR and CDT as its new upper window edge.  If either  of  these
  5641.      have  been  reduced  or  if the lower window edge has become more
  5642.      than one greater than the TPDU-NR  of  the  last  transmitted  DT
  5643.      TPDU, this shall be treated as a protocol error (see 6.22).
  5644.  
  5645.      A transport entity shall not  send  a  DT  TPDU  with  a  TPDU-NR
  5646.      outside of the transmit window (see notes 2 and 3).
  5647.  
  5648.      NOTES
  5649.  
  5650.         1.  This means that credit reduction is not applicable.
  5651.  
  5652.         2.  This means that a transport entity  is  required  to  stop
  5653.             sending  if  the  TPDU-NR  field of the next DT TPDU which
  5654.             would be sent would be the upper window edge.  Sending  of
  5655.             DT  TPDU  may  be  resumed if an AK TPDU is received which
  5656.             increases the upper window edge.
  5657.  
  5658.         3.  The rate at which a transport entity progresses the  upper
  5659.             window  edge  allocated  to its peer entity constrains the
  5660.             throughput attainable on the transport connection.
  5661.  
  5662.  
  5663.  
  5664.  
  5665.      10.2.4.3  Expedited data
  5666.  
  5667.      The transport entities shall follow the network normal variant of
  5668.      the expedited data transfer procedure in 6.11 if its use has been
  5669.      agreed  during  connection  establishment.   ED  and   EA   TPDUs
  5670.      respectively  are  not  subject to the flow control procedures in
  5671.      10.2.4.2.  The ED-TPDU-NR and YR-ETDU-NR  fields  of  ED  and  EA
  5672.      TPDUs respectively are not significant and may take any value.
  5673.  
  5674.  
  5675.  
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.  
  5682.  
  5683.  
  5684.                                     88
  5685.  
  5686.  
  5687.  
  5688.  
  5689.  
  5690.  
  5691.  
  5692.  
  5693.  
  5694.  
  5695.  
  5696.      10.2.5  Release
  5697.  
  5698.      The transport entities shall use  the  explicit  variant  of  the
  5699.      release procedure in 6.7.
  5700.  
  5701.  
  5702.  
  5703.  
  5704.  
  5705.  
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.  
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.  
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.  
  5732.  
  5733.  
  5734.  
  5735.  
  5736.  
  5737.  
  5738.  
  5739.  
  5740.  
  5741.  
  5742.                                     89
  5743.  
  5744.  
  5745.  
  5746.  
  5747.  
  5748.  
  5749.  
  5750.  
  5751.  
  5752.  
  5753.  
  5754.      11  SPECIFICATION FOR CLASS 3: ERROR  RECOVERY  AND  MULTIPLEXING
  5755.      CLASS
  5756.  
  5757.      11.1  Functions of Class 3
  5758.  
  5759.      Class 3 provides the  functionality  of  Class  2  (with  use  of
  5760.      explicit  flow  control)  plus  the  ability  to  recover after a
  5761.      failure signalled by the Network Layer without involving the user
  5762.      of the transport service.
  5763.  
  5764.      The mechanisms used to achieve this functionality also allow  the
  5765.      implementation of more flexible flow control.
  5766.  
  5767.  
  5768.  
  5769.  
  5770.      11.2  Procedures for Class 3
  5771.  
  5772.      11.2.1  Procedures applicable at all times
  5773.  
  5774.      The transport entities shall use the following procedures:
  5775.  
  5776.         a)  association of TPDUs with transport connections (see 6.9);
  5777.  
  5778.         b)  TPDU   transfer   (see   6.2)    and    retention    until
  5779.             acknowledgement of TPDUs (AK variant only) (see 6.13);
  5780.  
  5781.         c)  treatment of protocol errors (see 6.22);
  5782.  
  5783.         d)  concatenation and separation (see 6.4);
  5784.  
  5785.         e)  reassignment  after  failure  (see  6.12),  together  with
  5786.             resynchronization (see 6.14);
  5787.  
  5788.         f)  frozen references (see 6.18).
  5789.  
  5790.      Additionally,  the  transport  entities  may  use  the  following
  5791.      procedure:
  5792.  
  5793.         g)  multiplexing and demultiplexing (see 6.15);
  5794.  
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.                                     90
  5801.  
  5802.  
  5803.  
  5804.  
  5805.  
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.      11.2.2  Connection Establishment
  5813.  
  5814.      The transport entities shall use the following procedures;
  5815.  
  5816.         a)  assignment to network connections (see 6.1); then
  5817.  
  5818.         b)  connection establishment (see 6.5)  and,  if  appropriate,
  5819.             together with connection refusal (see 6.6).
  5820.  
  5821.  
  5822.  
  5823.  
  5824.      11.2.3  Data Transfer
  5825.  
  5826.      11.2.3.1  General
  5827.  
  5828.      The sending transport entity shall use the following procedures:
  5829.  
  5830.         a)  segmenting (see 6.3), then
  5831.  
  5832.         b)  DT TPDU numbering (see 6.10); after receipt of an RJ  TPDU
  5833.             (see  11.2.3.2)  the  next  DT  TPDU to be sent may have a
  5834.             value which is not the previous value of TPDU-NR plus one.
  5835.  
  5836.      The  receiving  transport  entity   shall   use   the   following
  5837.      procedures:
  5838.  
  5839.         c)  DT TPDU numbering (see 6.10); the TPDU-NR  field  of  each
  5840.             received  DT  TPDU shall be treated as a protocol error if
  5841.             it exceeds the greatest such value received in a  previous
  5842.             DT TPDU by more than one (see note); then
  5843.  
  5844.         d)  reassembling  (see  6.3);  duplicated   TPDUs   shall   be
  5845.             eliminated before reassembling is performed.
  5846.  
  5847.      NOTE - The  use  of  RJ  TPDUs  (see  11.2.3.2)   can   lead   to
  5848.      retransmission and reduction of credit.  Thus the receipt of a DT
  5849.      TPDU which is a duplicate, or which is greater than or  equal  to
  5850.      the  upper  window edge allocated to the peer entity, is possible
  5851.      and is therefore not treated as a protocol error.
  5852.  
  5853.  
  5854.  
  5855.  
  5856.  
  5857.  
  5858.                                     91
  5859.  
  5860.  
  5861.  
  5862.  
  5863.  
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.  
  5870.      11.2.3.2  Use of RJ TPDU
  5871.  
  5872.      A transport entity may send an RJ TPDU at any time  in  order  to
  5873.      invite   retransmission  or  to  reduce  the  upper  window  edge
  5874.      allocated to the peer entity (see note 1).
  5875.  
  5876.      When an RJ TPDU is  sent,  the  following  constraints  shall  be
  5877.      respected:
  5878.  
  5879.         a)  the YR-TU-NR parameter shall be at most one  greater  than
  5880.             the greatest such value received in a previous DT TPDU, or
  5881.             shall be zero if no DT TPDU has  yet  been  received  (see
  5882.             note 2);
  5883.  
  5884.         b)  if an AK or RJ TPDU has previously been sent the  YR-TU-NR
  5885.             parameter  shall  not be lower than that in the previously
  5886.             sent AK or RJ TPDU or lower than zero if no AK or RJ TPDU.
  5887.  
  5888.      When a transport entity receives an RJ TPDU (see note 3):
  5889.  
  5890.         c)  the next DT TPDU  to  be  transmitted,  or  retransmitted,
  5891.             shall be that for which the value of the TPDU-NR parameter
  5892.             is equal to the value of the YR-TU-NR parameter of the  RJ
  5893.             TPDU;
  5894.  
  5895.         d)   the sum of the values of the YR-TU-NR and CDT  parameters
  5896.             of the RJ TPDU becomes the new upper window edge (see note
  5897.             4).
  5898.  
  5899.      NOTES
  5900.  
  5901.         1.  An  RJ  TPDU  can  also   be   sent   as   part   of   the
  5902.             resynchronization   (see   6.14)  and  reassignment  after
  5903.             failure (see 6.12) procedures.
  5904.  
  5905.         2.  It is recommended that the YR-TU-NR parameter be equal  to
  5906.             the TPDU-NR parameter of the next expected DT TPDU.
  5907.  
  5908.         3.  These rules are a subset of those specified for when an RJ
  5909.             TPDU  is  received during resynchronization (see 6.14) and
  5910.             reassignment after failure (see 6.12).
  5911.  
  5912.  
  5913.  
  5914.  
  5915.  
  5916.                                     92
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928.         4.  This means that RJ TPDU can be used to  reduce  the  upper
  5929.             window   edge   allocated   to  the  peer  entity  (credit
  5930.             reduction).
  5931.  
  5932.  
  5933.  
  5934.  
  5935.      11.2.3.3  Flow Control
  5936.  
  5937.      The procedures shall be as defined in 10.2.4.2, except that:
  5938.  
  5939.         a)  a credit reduction may lead to the reception of a DT  TPDU
  5940.             with  a  TPDU-NR  parameter  whose value is not, but would
  5941.             have been less than the upper window edge allocated to the
  5942.             remote  entity  prior to the credit reduction.  This shall
  5943.             not be treated as a protocol error;
  5944.  
  5945.         b)  receipt of an AK TPDU which sets  the  lower  window  edge
  5946.             more  than  one  greater  than  the  TPDU-NR  of  the last
  5947.             transmitted DT TPDU shall not be  treated  as  a  protocol
  5948.             error,  provided  that all acknowledged DT TPDUs have been
  5949.             previously transmitted (see notes 1 and 2).
  5950.      NOTES
  5951.  
  5952.         1.  This  can  only  occur  during  retransmission   following
  5953.             receipt of an RJ TPDU.
  5954.  
  5955.         2.  The transport entity may either continue retransmission as
  5956.             before or retransmit only those DT TPDUs, not acknowledged
  5957.             by  the  AK  TPDU.   In  either  case,   copies   of   the
  5958.             acknowledged DT TPDUs, need not be retained further.
  5959.  
  5960.  
  5961.  
  5962.  
  5963.      11.2.3.4  Expedited data
  5964.  
  5965.      The transport entities  shall  follow  the  network  normal  data
  5966.      variant  of  expedited data transfer procedure in 6.11 if its use
  5967.      has been agreed during connection establishment.
  5968.  
  5969.      The sending transport entity shall  not  allocate  the  same  ED-
  5970.      TPDU-NR to successive ED TPDUs.
  5971.  
  5972.  
  5973.  
  5974.                                     93
  5975.  
  5976.  
  5977.  
  5978.  
  5979.  
  5980.  
  5981.  
  5982.  
  5983.  
  5984.  
  5985.  
  5986.      The receiving transport entity shall transmit an EA TPDU with the
  5987.      same  value  in  its YR-EDTU-NR parameter.  If, and only if, this
  5988.      number is different from that of the previously received ED  TPDU
  5989.      shall  it  generate  a  T-EXPEDITED DATA indication to convey the
  5990.      data to the TS-user (see note 2).
  5991.  
  5992.      NOTES
  5993.  
  5994.         1.  No  other  significance  is  attached  to  the  ED-TPDU-NR
  5995.             parameter.  It is recommended, but not essential, that the
  5996.             values be consecutive modulo 2**n, where n is  the  number
  5997.             of bits of the parameter.
  5998.  
  5999.         2.  This procedure ensures that the TS-user does  not  receive
  6000.             data corresponding to the same ED TPDU more than once.
  6001.  
  6002.  
  6003.  
  6004.  
  6005.      11.2.4  Release
  6006.  
  6007.      The transport entities shall use  the  explicit  variant  of  the
  6008.      release procedure in 6.7.
  6009.  
  6010.  
  6011.  
  6012.  
  6013.  
  6014.  
  6015.  
  6016.  
  6017.  
  6018.  
  6019.  
  6020.  
  6021.  
  6022.  
  6023.  
  6024.  
  6025.  
  6026.  
  6027.  
  6028.  
  6029.  
  6030.  
  6031.  
  6032.                                     94
  6033.  
  6034.  
  6035.  
  6036.  
  6037.  
  6038.  
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.      12  SPECIFICATION FOR CLASS 4: ERROR DETECTION AND RECOVERY CLASS
  6045.  
  6046.      12.1  Functions of Class 4
  6047.  
  6048.      Class 4 provides the functionality of Class 3, plus  the  ability
  6049.      to  detect  and recover from lost, duplicated, or out of sequence
  6050.      TPDUs without involving the TS-user.
  6051.  
  6052.      This detection of errors is made by extended use of the  DT  TPDU
  6053.      numbering  of Class 2 and Class 3, by time-out mechanisms, and by
  6054.      additional procedures.
  6055.  
  6056.      This class additionally detects and recovers from  damaged  TPDUs
  6057.      by using a checksum mechanism.  The use of the checksum mechanism
  6058.      must be available but its  use  or  its  non-use  is  subject  to
  6059.      negotiation.
  6060.  
  6061.      Further on this  class  provides  additional  resilience  against
  6062.      network failure and increased throughput capability by allowing a
  6063.      transport connection to make use of multiple network connections.
  6064.  
  6065.  
  6066.  
  6067.  
  6068.      12.2  Procedures for Class 4
  6069.  
  6070.      12.2.1  Procedures available at all times
  6071.  
  6072.      12.2.1.1  Timers used at all times
  6073.  
  6074.      This subclause defines timers that apply at all times in class 4.
  6075.      These timers are listed in table 7.
  6076.  
  6077.      This International Standard does not define specific  values  for
  6078.      the  timers,  and the derivations described in this subclause are
  6079.      not mandatory.  The values should be chosen so that the  required
  6080.      quality   of   service   can   be   provided,   given  the  known
  6081.      characteristics of the network.
  6082.  
  6083.      Timers that apply only to specific procedures are  defined  under
  6084.      the appropriate procedure.
  6085.  
  6086.  
  6087.  
  6088.  
  6089.  
  6090.                                     95
  6091.  
  6092.  
  6093.  
  6094.  
  6095.  
  6096.  
  6097.  
  6098.  
  6099.  
  6100.  
  6101.  
  6102.  
  6103.  
  6104.  
  6105.  
  6106.      +---------------------------|------------------------------------+
  6107.      |Symbol|        Name        |            Definition              |
  6108.      |------|--------------------|------------------------------------|
  6109.      | MLR  |NSDU lifetime       | A bound for the maximum time which |
  6110.      |      |local-to-remote     | may elapse between the transmis-   |
  6111.      |      |                    | sion of an NSDU by a local trans-  |
  6112.      |      |                    | port entity and the receipt of any |
  6113.      |      |                    | copy of it by a remote peer entity.|
  6114.      |      |                    |                                    |
  6115.      | MRL  |NSDU lifetime       | A bound for the maximum time which |
  6116.      |      |remote-to-local     | may elapse between the transmission|
  6117.      |      |                    | of an SNDU from a remote transport |
  6118.      |      |                    | entity to a remote peer entity.    |
  6119.      |      |                    |                                    |
  6120.      | ELR  |Expected maximum    | A bound for the maximum delay suf- |
  6121.      |      |transit delay       | fered by all but a small proportion|
  6122.      |      |local-to-remote     | of NSDUs transferred from the local|
  6123.      |      |                    | transport entity to a remote peer  |
  6124.      |      |                    | entity.                            |
  6125.      |      |                    |                                    |
  6126.      | ERL  |Expected maximum    | A bound for the maximum delay suf- |
  6127.      |      |transit delay       | fered by all but a small proportion|
  6128.      |      |remote-to-local     | of NSDUs transferred from a remote |
  6129.      |      |                    | transport entity to the local peer |
  6130.      |      |                    | entity.                            |
  6131.      |      |                    |                                    |
  6132.      |  AL  |Local acknowledge   | A bound for the maximum time which |
  6133.      |      |time                | can elapse between the receipt of  |
  6134.      |      |                    | a TPDU by the local transport en-  |
  6135.      |      |                    | tity from the network layer and    |
  6136.      |      |                    | the transmission of the corres-    |
  6137.      |      |                    | ponding acknowledgement.           |
  6138.      |      |                    |                                    |
  6139.      |  AR  |Remote acknow-      | As AL, but for the remote entity.  |
  6140.      |      |ledgement time      |                                    |
  6141.      +----------------------------------------------------------------+
  6142.  
  6143.       Table 7. (First of 2 pages) Time Parameters related to class 4
  6144.  
  6145.  
  6146.  
  6147.  
  6148.                                     96
  6149.  
  6150.  
  6151.  
  6152.  
  6153.  
  6154.  
  6155.  
  6156.  
  6157.  
  6158.  
  6159.  
  6160.      +----------------------------------------------------------------+
  6161.      |  T1  |Local retrans-      | A bound for the maximum time that  |
  6162.      |      |mission time        | the local transport entity will    |
  6163.      |      |                    | wait for acknowledgement before re-|
  6164.      |      |                    | transmitting a TPDU.               |
  6165.      |      |                    |                                    |
  6166.      |  R   |Persistence time    | A bound for the maximum time the   |
  6167.      |      |                    | the local transport entity will    |
  6168.      |      |                    | continue to transmit a TPDU that   |
  6169.      |      |                    | requires acknowledgement.          |
  6170.      |      |                    |                                    |
  6171.      |  N   |Maximum number of   | A bound for the maximum number of  |
  6172.      |      |transmissions       | times which the local transport    |
  6173.      |      |                    | entity will continue to transmit a |
  6174.      |      |                    | TPDU that requires acknowledgement.|
  6175.      |      |                    |                                    |
  6176.      |  L   |Bound on references | A bound for the maximum time       |
  6177.      |      |and sequence        | between the transmission of a TPDU |
  6178.      |      |numbers             | and the receipt of any acknow-     |
  6179.      |      |                    | ledgement relating to it.          |
  6180.      |      |                    |                                    |
  6181.      |  I   |Inactivity time     | A bound for the time after which   |
  6182.      |      |                    | a transport entity will, if it     |
  6183.      |      |                    | does not receive a TPDU, initiate  |
  6184.      |      |                    | the release procedure to terminate |
  6185.      |      |                    | the transport connection.          |
  6186.      |      |                    |                                    |
  6187.      |      |                    | NOTE - This parameter is required  |
  6188.      |      |                    | for protection against unsignalled |
  6189.      |      |                    | breaks in the network connection.  |
  6190.      |      |                    |                                    |
  6191.      |  W   |Window time         | A bound for the maximum time a     |
  6192.      |      |                    | transport entity will wait before  |
  6193.      |      |                    | retransmitting up to date window   |
  6194.      |      |                    | information.                       |
  6195.      +----------------------------------------------------------------+
  6196.  
  6197.       Table 7. (Second of 2 pages) Time Parameters related to class 4
  6198.  
  6199.  
  6200.  
  6201.  
  6202.  
  6203.  
  6204.  
  6205.  
  6206.                                     97
  6207.  
  6208.  
  6209.  
  6210.  
  6211.  
  6212.  
  6213.  
  6214.  
  6215.  
  6216.  
  6217.  
  6218.      12.2.1.1.1  NSDU lifetime (MLR, MRL)
  6219.  
  6220.      The network layer is assumed to provide,  as  an  aspect  of  its
  6221.      grade of service, for a bound on the maximum lifetime of NSDUs in
  6222.      the network.  This value may be different in  each  direction  of
  6223.      transfer  through  a network between two transport entities.  The
  6224.      values, for both directions of transfer, are assumed to be  Known
  6225.      by  the  transport entities.  The maximum NSDU lifetime local-to-
  6226.      remote (MLR) is the maximum time which  may  elapse  between  the
  6227.      transmission  of  an  NSDU from the local transport entity to the
  6228.      network and receipt of any copy of the NSDU from the  network  at
  6229.      the  remote  transport entity.  The maximum NSDU lifetime remote-
  6230.      to-local (MRL) is the maximum time which may elapse  between  the
  6231.      transmission  of  an NSDU from the remote transport entity to the
  6232.      network and receipt of any copy of the NSDU from the  network  at
  6233.      the local transport entity.
  6234.  
  6235.  
  6236.  
  6237.  
  6238.      12.2.1.1.2  Expected maximum transit delay (ELR, ERL)
  6239.  
  6240.      The network layer is assumed to provide,  as  an  aspect  of  its
  6241.      grade  of service, an expected maximum transit delay for NSDUs in
  6242.      the network.  This value may be different in  each  direction  of
  6243.      transfer  through  a network between two transport entities.  The
  6244.      values, for both directions of transfer, are assumed to be  Known
  6245.      by  the  transport  entities.  The expected maximum transit delay
  6246.      local-to-remote (ELR) is the maximum delay suffered by all but  a
  6247.      small  proportion  of  NSDUs transferred through the network from
  6248.      the local transport entity to the remote transport  entity.   The
  6249.      expected  maximum  transit  delay  remote-to-local  (ERL)  is the
  6250.      maximum delay suffered by all but a  small  proportion  of  NSDUs
  6251.      transfer  through the network from the remove transport entity to
  6252.      the local transport entity.
  6253.  
  6254.  
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.                                     98
  6265.  
  6266.  
  6267.  
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.  
  6275.  
  6276.      12.2.1.1.3  Acknowledge Time (AR, AL)
  6277.  
  6278.      Any transport entity is  assumed  to  provide  a  bound  for  the
  6279.      maximum  time which can elapse between its receipt of a TPDU from
  6280.      the Network Layer  and  its  transmission  of  the  corresponding
  6281.      response.   This  value  is referred to as AL.  The corresponding
  6282.      time given by the remote transport entity is referred to as AR.
  6283.  
  6284.  
  6285.  
  6286.  
  6287.      12.2.1.1.4  Local retransmission time (T1)
  6288.  
  6289.      The local transport entity is assumed to maintain a bound on  the
  6290.      time  it  will  wait for an acknowledgement before retransmitting
  6291.      the TPDU.  Its value is given by:
  6292.  
  6293.         T1 = ELR + ERL + AR + X
  6294.  
  6295.      where:
  6296.  
  6297.         ELR = Expected maximum transit delay local-to-remote,
  6298.         ERL = Expected maximum transit delay remote-to-local,
  6299.         AR  = Remote acknowledge time, and
  6300.         X   = local processing time for a TPDU.
  6301.  
  6302.  
  6303.  
  6304.  
  6305.      12.2.1.1.5  Persistence Time (R)
  6306.  
  6307.      The local transport entity is assumed to provide a bound for  the
  6308.      maximum  time  for  which  it  may  continue to retransmit a TPDU
  6309.      requiring positive acknowledgement.  This value is referred to as
  6310.      R.
  6311.  
  6312.      The  value  is  clearly  related  to  the  time  elapsed  between
  6313.      retransmission,  T1,  and the maximum number of transmissions, N.
  6314.      It is not less than T1 * N + X, where X is a  small  quantity  to
  6315.      allow  for  additional  internal  delays,  the granularity of the
  6316.      mechanism used to implement T1 and so on.  Because R is a  bound,
  6317.      the  exact value of X is unimportant as long as it is bounded and
  6318.      the value of a bound is known.
  6319.  
  6320.  
  6321.  
  6322.                                     99
  6323.  
  6324.  
  6325.  
  6326.  
  6327.  
  6328.  
  6329.  
  6330.  
  6331.  
  6332.  
  6333.  
  6334.      12.2.1.1.6  Bound on References and Sequence Numbers (L)
  6335.  
  6336.      A bound for the maximum time between the decision to  transmit  a
  6337.      TPDU  and the receipt of any response relating to it (L) is given
  6338.      by:
  6339.  
  6340.         L = MLR + MRL + R + AR
  6341.  
  6342.      where:
  6343.  
  6344.         MLR = NSDU lifetime local-to-remote,
  6345.         MRL = NSDU lifetime remote-to-local,
  6346.         R   = Persistence time, and
  6347.         AR  = Remote acknowledgement time.
  6348.  
  6349.      It is necessary to  wait  for  a  period  L  before  reusing  any
  6350.      reference  of  sequence number, to avoid confusion in case a TPDU
  6351.      referring to it may be duplicated or delayed.
  6352.  
  6353.      NOTES
  6354.  
  6355.         1.  In practice, the value of L may be unacceptably large.  It
  6356.             may  also  be  only  a  statistical  figure  at  a certain
  6357.             confidence level.  A smaller value may therefore  be  used
  6358.             where this still allows the required quality of service to
  6359.             be provided.
  6360.  
  6361.         2.  The  relationships  between  times  discussed  above   are
  6362.             illustrated in figures 3 and 4.
  6363.  
  6364.             [Figures 3 and 4 are omitted from this copy.]
  6365.  
  6366.  
  6367.  
  6368.  
  6369.      12.2.1.2  General Procedures
  6370.  
  6371.      The transport entity shall use the following procedures:
  6372.  
  6373.         a)  TPDU transfer (see 6.2);
  6374.  
  6375.         b)  association of TPDUs with transport connections (see 6.9);
  6376.  
  6377.  
  6378.  
  6379.  
  6380.                                     100
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.  
  6387.  
  6388.  
  6389.  
  6390.  
  6391.  
  6392.         c)  treatment of protocol errors (see 6.22);
  6393.  
  6394.         d)  checksum (see 6.17);
  6395.  
  6396.         e)  splitting and recombining (see 6.23);
  6397.  
  6398.         f)  multiplexing and demultiplexing (see 6.15);
  6399.  
  6400.         g)  retention until acknowledgement of TPDUs (see 6.13);
  6401.  
  6402.         h)  frozen references (see 6.18).
  6403.  
  6404.         j)  retransmission procedures; when  a  transport  entity  has
  6405.             some  outstanding  TPDUs  that require acknowledgement, it
  6406.             will check that no T1 interval elapses without the arrival
  6407.             of   a   TPDU  that  acknowledges  at  least  one  of  the
  6408.             outstanding TPDUs.
  6409.  
  6410.             If  the  timer  expires,  except  if  the   TPDU   to   be
  6411.             retransmitted  is a DT TPDU and it is outside the transmit
  6412.             window  due  credit   reduction,   the   first   TPDU   is
  6413.             retransmitted   and  the  timer  is  restarted.   After  N
  6414.             transmissions (i.e. N-1  retransmissions)  it  is  assumed
  6415.             that  useful  two-way  communication is no longer possible
  6416.             and the release procedure is  used,  and  the  TS-user  is
  6417.             informed.
  6418.  
  6419.         NOTES
  6420.  
  6421.         1)  This procedure may be implemented by different means.  For
  6422.             example:
  6423.  
  6424.             a)  one interval is associated with  each  TPDU.   If  the
  6425.                 timer  expires the associated TPDU will be transmitted
  6426.                 and the timer T1 will be restarted for all  subsequent
  6427.                 TPDUs; or
  6428.  
  6429.             b)  one  interval  is  associated  with   each   transport
  6430.                 connection:
  6431.  
  6432.                 1)  if the transport entity transmits a TPDU requiring
  6433.                     acknowledgement, it starts timer T1;
  6434.  
  6435.  
  6436.  
  6437.  
  6438.                                     101
  6439.  
  6440.  
  6441.  
  6442.  
  6443.  
  6444.  
  6445.  
  6446.  
  6447.  
  6448.  
  6449.  
  6450.                 2)  if the  transport  entity  receives  a  TPDU  that
  6451.                     acknowledges  one of the TPDUs to be acknowledged,
  6452.                     it restarts timer T1 unless the received  TPDU  is
  6453.                     an AK which explicitly closes the transmit window.
  6454.  
  6455.                 3)  if the  transport  entity  receives  a  TPDU  that
  6456.                     acknowledges  the last TPDU to be acknowledged, it
  6457.                     stops timer T1.
  6458.  
  6459.             For a decision whether  the  retransmission  timer  T1  is
  6460.             maintained  on a per TPDU or on a per transport connection
  6461.             basis, throughput considerations have  to  be  taken  into
  6462.             account.
  6463.  
  6464.         2.  For DT TPDUs it is a local  choice  to  retransmit  either
  6465.             only  the  first  DT  TPDU  or  all  TPDUs  waiting for an
  6466.             acknowledgement up to the upper window edge.
  6467.  
  6468.         3.  It is recommended that after N transmissions of a DT TPDU,
  6469.             the  transport  entity  waits  T1 + W + MRL  to  provide a
  6470.             higher possibility of receiving an acknowledgement  before
  6471.             entering  the  release  phase.  For other TPDU types which
  6472.             may be retransmitted,  it  is  recommended  that  after  N
  6473.             transmissions  the  transport  entity  waits  T1 + MRL  to
  6474.             provide a higher possibility  of  receiving  the  expected
  6475.             reply.
  6476.  
  6477.  
  6478.  
  6479.  
  6480.      12.2.2  Procedures for Connection Establishment
  6481.  
  6482.      12.2.2.1  Timers used in Connection Establishment
  6483.  
  6484.      There are no timers specific to connection establishment.
  6485.  
  6486.  
  6487.  
  6488.  
  6489.  
  6490.  
  6491.  
  6492.  
  6493.  
  6494.  
  6495.  
  6496.                                     102
  6497.  
  6498.  
  6499.  
  6500.  
  6501.  
  6502.  
  6503.  
  6504.  
  6505.  
  6506.  
  6507.  
  6508.      12.2.2.2  General Procedures
  6509.  
  6510.      The transport entities shall use the following procedures:
  6511.  
  6512.         a)  assignment to network connection (see 6.1);
  6513.  
  6514.         b)  connection establishment  (see  6.5)  and  if  appropriate
  6515.             connection  refusal (see 6.6) together with the additional
  6516.             procedures:
  6517.  
  6518.             1)  a connection is not considered established  until  the
  6519.                 successful  completion  of a 3-way TPDU exchange.  The
  6520.                 sender of a CR TPDU shall respond to the corresponding
  6521.                 CC  TPDU  by  immediately  sending  a DT, ED, DR or AK
  6522.                 TPDU;
  6523.  
  6524.             2)  as a result of duplication  or  retransmission,  a  CR
  6525.                 TPDU  may  be  received  specifying a source reference
  6526.                 which is already in use  with  the  sending  transport
  6527.                 entity.   If  the receiving transport entity is in the
  6528.                 data transfer phase, having completed the  3-way  TPDU
  6529.                 exchange  procedure,  or  is waiting for the T-CONNECT
  6530.                 response from the  TS-user,  the  receiving  transport
  6531.                 entity  shall ignore such a TPDU.  Otherwise a CC TPDU
  6532.                 shall be transmitted;
  6533.  
  6534.             3)  as a result of duplication  or  retransmission,  a  CC
  6535.                 TPDU  may  be  received  specifying a paired reference
  6536.                 which is already  in  use.   The  receiving  transport
  6537.                 entity  shall  only  acknowledge the duplicate CC TPDU
  6538.                 according to the procedure in 12.2.2.2.b.1.
  6539.  
  6540.             4)  a CC TPDU may be received specifying a reference which
  6541.                 is  in  the frozen state.  The response to such a TPDU
  6542.                 shall be a DR TPDU;
  6543.  
  6544.             5)  the retransmission procedures (see 12.2.1.2) are  used
  6545.                 for both the CR TPDU and CC TPDU.
  6546.  
  6547.  
  6548.  
  6549.  
  6550.  
  6551.  
  6552.  
  6553.  
  6554.                                     103
  6555.  
  6556.  
  6557.  
  6558.  
  6559.  
  6560.  
  6561.  
  6562.  
  6563.  
  6564.  
  6565.  
  6566.      12.2.3  Procedures for Data Transfer
  6567.  
  6568.      12.2.3.1  Timers used in Data Transfer
  6569.  
  6570.      The data transfer procedures use two additional timers:
  6571.  
  6572.         a)  Inactivity Time (I)
  6573.  
  6574.         To  protect  against  unsignalled  breaks   in   the   network
  6575.         connection  or failure of the peer transport entity (half-open
  6576.         connections), each transport entity  maintains  an  inactivity
  6577.         interval.  The interval must be greater than E.
  6578.  
  6579.         NOTE - A suitable value for I is given by
  6580.         2 * (N * maximum of (T1, W))
  6581.         unless local needs indicate another more appropriate value.
  6582.  
  6583.         b)  Window Time (W)
  6584.  
  6585.         A transport entity maintains a timer interval to  ensure  that
  6586.         there  is  a  bound  on  the  maximum  interval between window
  6587.         updates.
  6588.  
  6589.  
  6590.  
  6591.  
  6592.      12.2.3.2  General Procedures for data transfer
  6593.  
  6594.      The transport entities shall use the following procedures:
  6595.  
  6596.         a)  inactivity control    (see 6.21);
  6597.  
  6598.         b)  expedited data        (see 6.11);
  6599.  
  6600.         c)  explicit flow control (see 6.16).
  6601.  
  6602.      The sending transport entity shall use the  following  procedures
  6603.      in the following order:
  6604.  
  6605.         d)  segmenting            (see 6.3);
  6606.  
  6607.         e)  DT TPDU numbering     (see 6.10).
  6608.  
  6609.  
  6610.  
  6611.  
  6612.                                     104
  6613.  
  6614.  
  6615.  
  6616.  
  6617.  
  6618.  
  6619.  
  6620.  
  6621.  
  6622.  
  6623.  
  6624.      The receiving transport entity shall use the following procedures
  6625.      in the following order:
  6626.  
  6627.         f)  DT TPDU numbering     (see 6.10);
  6628.  
  6629.         g)  resequencing          (see 6.20);
  6630.  
  6631.         h)  reassembling          (see 6.3).
  6632.  
  6633.  
  6634.  
  6635.  
  6636.      12.2.3.3  Inactivity Control
  6637.  
  6638.      If the interval of the inactivity timer I expires without receipt
  6639.      of  some  TPDU,  the  transport entity shall initiate the release
  6640.      procedures.   To  prevent  expiration  of  the  remote  transport
  6641.      entity's  inactivity  timer when no data is being sent, the local
  6642.      transport entity must send AK TPDUs at suitable intervals in  the
  6643.      absence  of  data, having regard to the probability of TPDU loss.
  6644.      The window synchronization procedures (see 12.2.3.8) ensure  that
  6645.      this requirement is met.
  6646.  
  6647.      NOTE - It is likely that the release procedure initiated  due  to
  6648.      the  expiration  of  the  inactivity  timer  will  fail,  as such
  6649.      expiration indicates probable failure of the  supporting  network
  6650.      connection or of the remote transport entity.
  6651.  
  6652.  
  6653.  
  6654.  
  6655.      12.2.3.4  Expedited Data
  6656.  
  6657.      The transport entities  shall  follow  the  network  normal  data
  6658.      variant  of the expedited data transfer procedures (see 6.11), if
  6659.      the use of transport expedited service  option  has  been  agreed
  6660.      during connection establishment.
  6661.  
  6662.      The ED TPDU shall have  a  TPDU-NR  which  is  allocated  from  a
  6663.      separate sequence space from that of the DT TPDUs.
  6664.  
  6665.      A transport entity shall allocate the sequence number zero to the
  6666.      ED  TPDU-NR  of  the  first  ED  TPDU  which  it  transmits for a
  6667.  
  6668.  
  6669.  
  6670.                                     105
  6671.  
  6672.  
  6673.  
  6674.  
  6675.  
  6676.  
  6677.  
  6678.  
  6679.  
  6680.  
  6681.  
  6682.      transport connection.  For subsequent ED TPDU sent  on  the  same
  6683.      transport  connection,  the  transport  entity  shall  allocate a
  6684.      sequence number one greater than the previous one.
  6685.  
  6686.      Modulo 2**7 arithmetic shall be used  when  normal  formats  have
  6687.      been  selected  and  modulo  2**31  arithmetic shall be used when
  6688.      extended formats have been selected.
  6689.  
  6690.      The receiving transport entity shall transmit an EA TPDU with the
  6691.      same  sequence number in its YR-ETDU-NR field.  If this number is
  6692.      one greater than in the previously in sequence received ED  TPDU,
  6693.      the  receiving transport entity shall transfer the data in the ED
  6694.      TPDU to the TS-user.
  6695.  
  6696.      If  a  transport  entity  does  not  receive  an   EA   TPDU   in
  6697.      acknowledgement  to an ED TPDU it shall follow the retransmission
  6698.      procedures (see note and 12.2.1.2).
  6699.  
  6700.      The sender of an ED TPDU shall not send  any  new  DT  TPDU  with
  6701.      higher TPDU-NR until it receives the EA TPDU.
  6702.  
  6703.      NOTE - This procedure ensures that ED TPDUs are delivered to  the
  6704.      TS-user  in  sequence  and that the TS-user does not receive data
  6705.      corresponding to the same  ED  TPDU  more  than  once.   Also  it
  6706.      guarantees  the  arrival  of  the ED TPDU before any subsequently
  6707.      sent DT TPDU.
  6708.  
  6709.  
  6710.  
  6711.  
  6712.      12.2.3.5  Resequencing
  6713.  
  6714.      The receiving transport entity shall deliver all DT TPDUs to  the
  6715.      TS-user in the order specified by the sequence number field.
  6716.  
  6717.      DT TPDUs received out-of-sequence but within the transmit  window
  6718.      shall not be delivered to the TS-user until all in-sequence TPDUs
  6719.      have been received.  DT TPDU received out-of-sequence and outside
  6720.      the transmit window shall be discarded.
  6721.  
  6722.      Duplicate TPDUs can  be  detected  because  the  sequence  number
  6723.      matches  that  of  preciously  received  TPDUs.  Sequence numbers
  6724.      shall not be reused for the period L after  their  previous  use.
  6725.  
  6726.  
  6727.  
  6728.                                     106
  6729.  
  6730.  
  6731.  
  6732.  
  6733.  
  6734.  
  6735.  
  6736.  
  6737.  
  6738.  
  6739.  
  6740.      Otherwise,  a new, valid TPDU could be confused with a duplicated
  6741.      TPDU which had previously been received and acknowledged.
  6742.  
  6743.      Duplicated DT TPDUs shall be acknowledged, since  the  duplicated
  6744.      TPDU  may  be  the  result of a retransmission resulting from the
  6745.      loss of an AK TPDU.
  6746.  
  6747.      The data contained in a duplicated DT TPDU shall be ignored.
  6748.  
  6749.  
  6750.  
  6751.  
  6752.      12.2.3.6  Explicit Flow Control
  6753.  
  6754.      The transport entities shall send an initial  credit  (which  may
  6755.      take  the  value  0)  in the CDT field of the CR TPDU or CC TPDU.
  6756.      This credit represents the initial value of the upper window edge
  6757.      of the peer entity.
  6758.  
  6759.      The transport entity which receives the CR TPDU or CC TPDU  shall
  6760.      consider  its lower window edge as zero and its upper window edge
  6761.      as the value in the CDT field in the received TPDU.
  6762.  
  6763.      In order to authorize the transmission of DT TPDUs by its peer, a
  6764.      transport entity may transmit an AK TPDU at any time.
  6765.  
  6766.      The sequence number of an AK TPDU shall not exceed  the  sequence
  6767.      number of the next expected DT TPDU, i.e. it shall not be greater
  6768.      than the highest sequence number of a received DT TPDU, plus one.
  6769.  
  6770.      A transport entity may send a duplicate AK  TPDU  containing  the
  6771.      same  sequence  number,  CDT, and subsequence number field at any
  6772.      time.
  6773.  
  6774.      A transport entity which receives an AK TPDU shall  consider  the
  6775.      value of the YR-TU-NR field as its new lower window edge if it is
  6776.      greater than any previously received in a YR-TU-NR field, and the
  6777.      sum  of  YR-TU-NR and CDT as its new upper window edge subject to
  6778.      the  procedures  for  sequencing  AK  TPDUs  (see  12.2.3.8).   A
  6779.      transport  entity shall not transmit or retransmit a DT TPDU with
  6780.      a sequence number outside the transmit window.
  6781.  
  6782.  
  6783.  
  6784.  
  6785.  
  6786.                                     107
  6787.  
  6788.  
  6789.  
  6790.  
  6791.  
  6792.  
  6793.  
  6794.  
  6795.  
  6796.  
  6797.  
  6798.      12.2.3.7  Sequencing of received AK TPDUs
  6799.  
  6800.      To allow a receiving transport  entity  to  properly  sequence  a
  6801.      series  of AK TPDUs that all contain the same sequence number and
  6802.      thereby use the  correct  CDT  value,  AK  TPDUs  may  contain  a
  6803.      subsequence  parameter.   For  the  purpose  of  determining  the
  6804.      correct sequence of AK TPDUs,  the  absence  of  the  subsequence
  6805.      parameter  shall  be equivalent to the value of the parameter set
  6806.      to zero.
  6807.  
  6808.      An AK TPDU is defined to be in sequence if:
  6809.  
  6810.         a)  the sequence number is  greater  than  in  any  previously
  6811.             received AK TPDU, or
  6812.  
  6813.         b)  the sequence  number  is  equal  to  the  highest  in  any
  6814.             previously received AK TPDU, and the subsequence parameter
  6815.             is greater than in any previously received AK TPDU  having
  6816.             the same value for YR-TU-NR field, or
  6817.  
  6818.         c)  the sequence number and  subsequence  parameter  are  both
  6819.             equal  to  the  highest in any previously received AK TPDU
  6820.             and the credit field is greater than or equal to  that  in
  6821.             any  previously  received AK TPDU having the same YR-TU-NR
  6822.             field.
  6823.  
  6824.      A transport entity is not required  to  include  the  subsequence
  6825.      number  in  its  AK  TPDUs.   It  may  also choose not to use the
  6826.      subsequence parameter in sequencing  received  AK  TPDUs.   If  a
  6827.      transport   entity  chooses  not  to  recognize  the  subsequence
  6828.      parameter it shall still sequence received AK TPDUs according  to
  6829.      12.2.3.7.a.
  6830.  
  6831.      When the receiving transport entity recognizes an out of sequence
  6832.      AK TPDU it shall ignore it.
  6833.  
  6834.  
  6835.  
  6836.  
  6837.  
  6838.  
  6839.  
  6840.  
  6841.  
  6842.  
  6843.  
  6844.                                     108
  6845.  
  6846.  
  6847.  
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.  
  6854.  
  6855.  
  6856.      12.2.3.8  Procedure for transmission of AK TPDUs
  6857.  
  6858.      12.2.3.8.1  Retransmission of AK TPDUs for window synchronization
  6859.  
  6860.      A transport entity shall not allow an interval W to pass  without
  6861.      the  transmission  of an AK TPDU.  if the transport entity is not
  6862.      using  the  procedure  following  setting  CDT   to   zero   (see
  6863.      12.2.3.8.3)   or   reduction   of  the  upper  window  edge  (see
  6864.      12.2.3.8.4), and does not have to acknowledge receipt of  any  DT
  6865.      TPDU,  then  it  shall achieve this by retransmission of the most
  6866.      recent AK TPDU, with up-to-date window information.
  6867.  
  6868.      NOTE - The use  of  the  procedures  defined  in  12.2.3.8.3  and
  6869.      12.2.3.8.4  are  optional for any transport entity.  The protocol
  6870.      operates correctly either with or without these procedures  which
  6871.      are defined to enhance the efficiency of its operation.  However,
  6872.      if these procedures are not used then W must  be  set  to  ensure
  6873.      enough  retransmissions  of  the AK TPDU so that release of TC is
  6874.      avoided.    The   value   of   W    should    be    approximately
  6875.      W = (T1 * N)/(N-1) when the procedures are not used.
  6876.  
  6877.  
  6878.  
  6879.  
  6880.      12.2.3.8.2  Sequence control for transmission of AK TPDUs
  6881.  
  6882.      To allow the receiving transport entity to process  AK  TPDUs  in
  6883.      the  correct  sequence, as described in 12.2.3.7, the subsequence
  6884.      parameter may be included following reduction  of  CDT.   If  the
  6885.      value  of  the subsequence number to be transmitted is zero, then
  6886.      the parameter should be omitted.
  6887.  
  6888.      The value of the subsequence parameter, if used,  shall  be  zero
  6889.      (either  explicitly  or  by  absence  of  the  parameter)  if the
  6890.      sequence number is greater than the field in previous  AK  TPDUs,
  6891.      sent by the transport entity.
  6892.  
  6893.      If the sequence number is the same as the previous AK  TPDU  sent
  6894.      and  the  CDT  field is equal to or greater than the CDT field in
  6895.      the previous AK TPDU sent  then  the  subsequence  parameter,  if
  6896.      used, shall be equal to that in the previously sent AK TPDU.
  6897.  
  6898.      If the sequence number is the same as the previous AK  TPDU  sent
  6899.  
  6900.  
  6901.  
  6902.                                     109
  6903.  
  6904.  
  6905.  
  6906.  
  6907.  
  6908.  
  6909.  
  6910.  
  6911.  
  6912.  
  6913.  
  6914.      and  the CDT field is less than the value of the CDT field in the
  6915.      previous AK TPDU sent than the subsequence  parameter,  if  used,
  6916.      shall be one greater than the value in the previous AK TPDU..
  6917.  
  6918.  
  6919.  
  6920.  
  6921.      12.2.3.8.3  Retransmission of AK TPDUs after CDT set to zero
  6922.  
  6923.      Due to the possibility of loss of AK TPDUs, the upper window edge
  6924.      as  perceived by the transport entity transmitting an AK TPDU may
  6925.      differ from that perceived by the intended recipient.   To  avoid
  6926.      the possibility of extra delay, the retransmission procedure (see
  6927.      12.2.1.2) should be followed for an AK  TPDU,  if  it  opens  the
  6928.      transmit window which has previously been closed by sending an AK
  6929.      TPDU with CDT field set to zero.
  6930.  
  6931.      The  retransmission  procedure,  if  used,  terminates  and   the
  6932.      procedure in 12.2.3.8.1 is used when:
  6933.  
  6934.         a)  an  AK  TPDU  is  received  containing  the  flow  control
  6935.             confirmation  parameter,  whose lower window edge and your
  6936.             subsequence fields are equal to the  sequence  number  and
  6937.             subsequence  number  in  the  retained  AK  TPDU and whose
  6938.             credit field is not zero.
  6939.  
  6940.         b)  an AK TPDU is transmitted with a  sequence  number  higher
  6941.             than  that  in the retained AK TPDU, due to reception of a
  6942.             DT TPDU whose sequence number is equal to the lower window
  6943.             edge;
  6944.  
  6945.         c)  N transmissions of the retained AK TPDU have taken  place.
  6946.             In  this  case  the  transport  entity  shall  continue to
  6947.             transmit the AK TPDU at an interval of W.
  6948.  
  6949.      An AK TPDU which is subject to the retransmission procedure shall
  6950.      not  contain  the  flow control confirmation parameter.  If it is
  6951.      required to transmit this parameter concurrently,  an  additional
  6952.      AK  TPDU  shall  be  transmitted  having  the  same values in the
  6953.      sequence, subsequence (if applicable) and credit fields.
  6954.  
  6955.  
  6956.  
  6957.  
  6958.  
  6959.  
  6960.                                     110
  6961.  
  6962.  
  6963.  
  6964.  
  6965.  
  6966.  
  6967.  
  6968.  
  6969.  
  6970.  
  6971.  
  6972.      12.2.3.8.4  Retransmission procedures following reduction of the
  6973.  
  6974.                  upper window edge
  6975.  
  6976.      This subclause specifies the procedure for retransmission  of  AK
  6977.      TPDUs  after a transport entity has reduced the upper window edge
  6978.      (see 12.2.3.6) or for an AK TPDU with the  credit  field  set  to
  6979.      zero.  This procedure is used until the lower window edge exceeds
  6980.      the highest value of the upper window edge ever transmitted (i.e.
  6981.      the  value  existing  at  the  time of credit reduction, unless a
  6982.      higher value is retained from a previous credit reduction).
  6983.  
  6984.      This retransmission procedure should be followed for any AK  TPDU
  6985.      which increases the upper window edge, unless an AK TPDU has been
  6986.      received containing a flow control confirmation parameter,  which
  6987.      corresponds to an AK TPDU transmitted following credit reduction,
  6988.      for which the sum of the credit  and  lower  window  edge  fields
  6989.      (i.e.  the  upper  window  edge  value) is greater than the lower
  6990.      window edge (YR-TU-NR field) of the transmitted AK TPDU.
  6991.  
  6992.      This retransmission procedure for any particular  AK  TPDU  shall
  6993.      terminate when:
  6994.  
  6995.         a)  an  AK  TPDU  is  received  containing  the  flow  control
  6996.             confirmation  parameter,  whose lower window edge and your
  6997.             subsequence fields are equal to the lower window edge  and
  6998.             subsequence number in the retained AK TPDU; or
  6999.  
  7000.         b)  N transmissions of the retained AK TPDU have taken  place.
  7001.             In  this  case  the  transport  entity  shall  continue to
  7002.             transmit the AK TPDU at an interval of W.
  7003.  
  7004.      An AK TPDU which is subject to the retransmission procedure shall
  7005.      not  contain  the  flow control confirmation parameter.  If it is
  7006.      required to transmit this parameter concurrently,  an  additional
  7007.      AK  TPDU  shall  be  transmitted  having  the  same values in the
  7008.      sequence, subsequence (if applicable) and credit fields.
  7009.  
  7010.         NOTE - Retransmission of AK TPDUs is normally  not  necessary,
  7011.         except   following   explicit  closing  of  the  window  (i.e.
  7012.         transmission of an AK TPDU with CDT field set  to  zero).   If
  7013.         data  is  available  to  be  transmitted,  the  retransmission
  7014.         procedure for DT TPDUs will ensure that an AK TPDU is received
  7015.  
  7016.  
  7017.  
  7018.                                     111
  7019.  
  7020.  
  7021.  
  7022.  
  7023.  
  7024.  
  7025.  
  7026.  
  7027.  
  7028.  
  7029.  
  7030.         granting  further  credit  where this is available.  Following
  7031.         credit  reduction,  this  may  no  longer   be   so,   because
  7032.         retransmission  may be inhibited by the credit reduction.  The
  7033.         rules described in this clause avoid extra delay.
  7034.  
  7035.      The rules for determining whether  to  apply  the  retransmission
  7036.      procedure  to  an  AK  TPDU  may  be  expressed  alternatively as
  7037.      follows.  Let:
  7038.  
  7039.           LWE  = lower window edge
  7040.           UWE  = upper window edge
  7041.           KUWE = lower bound on upper window edge
  7042.                  held by remote transport entity
  7043.  
  7044.      The retransmission procedure is to be used whenever:
  7045.  
  7046.           (UWE>LWE) and (KUWE = LWE)
  7047.  
  7048.      i.e. when the window is opened and it  is  not  known  definitely
  7049.      that the remote transport entity is aware of this.
  7050.  
  7051.      KUWE is maintained as follows.  When credit is reduced,  KUWE  is
  7052.      set to LWE.  Subsequently, it is increased only upon receipt of a
  7053.      valid flow control  confirmation  (i.e.  one  which  matches  the
  7054.      retained  lower  window edge and subsequence).  In this case KUWE
  7055.      is set to the implied upper  window  edge  of  the  flow  control
  7056.      confirmation,  i.e.  the  sum  of  its lower window edge and your
  7057.      credit fields.  By this means, it can be  ensured  that  KUWE  is
  7058.      always  less than or equal to the actual upper window edge in use
  7059.      by the transmitter of DT TPDUs.
  7060.  
  7061.  
  7062.  
  7063.  
  7064.      12.2.3.9  Use of Flow Control Confirmation parameter
  7065.  
  7066.      At any time, an AK TPDU may  be  transmitted  containing  a  flow
  7067.      control  confirmation  parameter.   The  lower  window edge, your
  7068.      subsequence and your credit fields  shall  be  set  to  the  same
  7069.      values  as the corresponding fields in the most recently received
  7070.      in sequence AK TPDU.
  7071.  
  7072.  
  7073.  
  7074.  
  7075.  
  7076.                                     112
  7077.  
  7078.  
  7079.  
  7080.  
  7081.  
  7082.  
  7083.  
  7084.  
  7085.  
  7086.  
  7087.  
  7088.      An AK TPDU  containing  a  flow  control  confirmation  parameter
  7089.      should be transmitted whenever:
  7090.  
  7091.         a)  a duplicate AK TPDU is received, with the value of  YR-TU-
  7092.             NR, CDT, and subsequence fields equal to the most recently
  7093.             received AK TPDU,  but  not  itself  containing  the  flow
  7094.             control confirmation parameter;
  7095.  
  7096.         b)  an AK TPDU is received which increases  the  upper  window
  7097.             edge  but  not the lower window edge, and the upper window
  7098.             edge was formerly equal to the lower window edge; or
  7099.  
  7100.         c)  an AK TPDU is received which increases  the  upper  window
  7101.             edge  but  not the lower window edge, and the lower window
  7102.             edge is lower than the highest value of the  upper  window
  7103.             edge  received  and  subsequently  reduced (i.e. following
  7104.             credit reduction).
  7105.  
  7106.  
  7107.  
  7108.  
  7109.      12.2.4  Procedures for Release
  7110.  
  7111.      12.2.4.1  Timers used for Release
  7112.  
  7113.      There are no timers used only for release.
  7114.  
  7115.  
  7116.  
  7117.  
  7118.      12.2.4.2  General Procedures for Release
  7119.  
  7120.      The transport entity shall use the  explicit  variant  of  normal
  7121.      release (see 6.7).
  7122.  
  7123.  
  7124.  
  7125.  
  7126.  
  7127.  
  7128.  
  7129.  
  7130.  
  7131.  
  7132.  
  7133.  
  7134.                                     113
  7135.  
  7136.  
  7137.  
  7138.  
  7139.  
  7140.  
  7141.  
  7142.  
  7143.  
  7144.  
  7145.  
  7146.      13  STRUCTURE AND ENCODING OF TPDUs
  7147.  
  7148.      13.1  Validity
  7149.  
  7150.      Table 8 specifies those TPDUs which are valid for each class  and
  7151.      the code for each TPDU.
  7152.  
  7153.         KEY:  xxxx (bits 4-1):  used to signal the CDT (set to 0000
  7154.                                 in classes 0 and 1)
  7155.  
  7156.               zzzz (bits 4-1):  used to signal CDT in classes 2, 3,
  7157.                                 4 set to 1111 in class 1
  7158.  
  7159.               NF:               Not available when the non explicit
  7160.                                 flow control option is selected.
  7161.  
  7162.               NRC:              Not available when the receipt
  7163.                                 confirmation option is selected.
  7164.  
  7165.      NOTE  - These codes are  already  in  use  in  related  protocols
  7166.      defined by standards oganizations other than CCITT/ISO.
  7167.  
  7168.  
  7169.  
  7170.  
  7171.  
  7172.  
  7173.  
  7174.  
  7175.  
  7176.  
  7177.  
  7178.  
  7179.  
  7180.  
  7181.  
  7182.  
  7183.  
  7184.  
  7185.  
  7186.  
  7187.  
  7188.  
  7189.  
  7190.  
  7191.  
  7192.                                     114
  7193.  
  7194.  
  7195.  
  7196.  
  7197.  
  7198.  
  7199.  
  7200.  
  7201.  
  7202.  
  7203.  
  7204.  
  7205.  
  7206.  
  7207.  
  7208.  
  7209.      +-------------------------------------------------------------+
  7210.      |                       | Validity within   |       |         |
  7211.      |                       |     classes       |  see  |  Code   |
  7212.      |                       |-------------------| Clause|         |
  7213.      |                       | 0 | 1 | 2 | 3 | 4 |       |         |
  7214.      |-----------------------|-------------------|-------|---------|
  7215.      |CR Connection Request  | x | x | x | x | x | 13.3  |1110 xxxx|
  7216.      |-----------------------|---|---|---|---|---|-------|---------|
  7217.      |CC Connection Confirm  | x | x | x | x | x | 13.4  |1101 xxxx|
  7218.      |-----------------------|---|---|---|---|---|-------|---------|
  7219.      |DR Disconnect Request  | x | x | x | x | x | 13.5  |1000 0000|
  7220.      |-----------------------|---|---|---|---|---|-------|---------|
  7221.      |DC Disconnect Confirm  |   | x | x | x | x | 13.6  |1100 0000|
  7222.      |-----------------------|---|---|---|---|---|-------|---------|
  7223.      |DT Data                | x | x | x | x | x | 13.7  |1111 0000|
  7224.      |-----------------------|---|---|---|---|---|-------|---------|
  7225.      |ED Expedited Data      |   | x | NF| x | x | 13.8  |0001 0000|
  7226.      |-----------------------|---|---|---|---|---|-------|---------|
  7227.      |AK Data Acknowledgement|   |NRC| NF| x | x | 13.9  |0110 zzzz|
  7228.      |-----------------------|---|---|---|---|---|-------|---------|
  7229.      |EA Expedited Data      |   | x | NF| x | x | 13.10 |0010 0000|
  7230.      |Acknowledgement        |   |   |   |   |   |       |         |
  7231.      |-----------------------|---|---|---|---|---|-------|---------|
  7232.      |RJ Reject              |   | x |   | x |   | 13.11 |0101 zzzz|
  7233.      |-----------------------|---|---|---|---|---|-------|---------|
  7234.      |ER TPDU Error          | x | x | x | x | x | 13.12 |0111 0000|
  7235.      |-----------------------|---|---|---|---|---|-------|---------|
  7236.      |                       |   |   |   |   |   |   -   |0000 0000|
  7237.      |                       |---|---|---|---|---|-------|---------|
  7238.      |not available          |   |   |   |   |   |   -   |0011 0000|
  7239.      | (see note)            |---|---|---|---|---|-------|---------|
  7240.      |                       |   |   |   |   |   |   -   |1001 xxxx|
  7241.      |                       |---|---|---|---|---|-------|---------|
  7242.      |                       |   |   |   |   |   |   -   |1010 xxxx|
  7243.      +-------------------------------------------------------------+
  7244.  
  7245.                             Table 8. TPDU code
  7246.  
  7247.  
  7248.  
  7249.  
  7250.                                     115
  7251.  
  7252.  
  7253.  
  7254.  
  7255.  
  7256.  
  7257.  
  7258.  
  7259.  
  7260.  
  7261.  
  7262.      13.2  Structure
  7263.  
  7264.      All the transport protocol data units (TPDUs)  shall  contain  an
  7265.      integral  number  of  octets.   The octets in a TPDU are numbered
  7266.      starting from 1 and increasing in the order they are put into  an
  7267.      NSDU.  The bits in an octet are numbered from 1 to 8, where bit 1
  7268.      is the low-ordered bit.
  7269.  
  7270.      When consecutive octets are used to represent  a  binary  number,
  7271.      the lower octet number has the least significant value.
  7272.  
  7273.      NOTE -  When the encoding  of  a  TPDU  is  represented  using  a
  7274.      diagram in this clause, the following representation is used:
  7275.  
  7276.         a)  octets are shown with the lowest  numbered  octet  to  the
  7277.             left, higher numbered octets being further to the right;
  7278.  
  7279.         b)  within an octet, bits are shown with bit 8 to the left and
  7280.             bit 1 to the right.
  7281.  
  7282.      TPDUs shall contain, in the following order:
  7283.  
  7284.         a)  the header, comprising:
  7285.  
  7286.             1)  the length indicator (LI) field;
  7287.  
  7288.             2)  the fixed part;
  7289.  
  7290.             3)  the variable part, if present;
  7291.  
  7292.         b)  the data field, if present.
  7293.  
  7294.      This structure is illustrated below:
  7295.  
  7296.           octet    1   2 3 4 ... n   n+1  ...    p  p+1 ...end
  7297.                  +---+-------------+--------------+-----------+
  7298.                  | LI| fixed part  | variable part| data field|
  7299.                  +---+-------------+--------------+-----------+
  7300.                  <---------------   header ------>
  7301.  
  7302.  
  7303.  
  7304.  
  7305.  
  7306.  
  7307.  
  7308.                                     116
  7309.  
  7310.  
  7311.  
  7312.  
  7313.  
  7314.  
  7315.  
  7316.  
  7317.  
  7318.  
  7319.  
  7320.      13.2.1  Length indicator field
  7321.  
  7322.      This field is contained in the first octet  of  the  TPDUs.   The
  7323.      length  is  indicated by a binary number, with a maximum value of
  7324.      254 (1111 1110).  The length indicated shall be the header length
  7325.      in   octets   including  parameters,  but  excluding  the  length
  7326.      indicator field and user data, if any.  The value 255 (1111 1111)
  7327.      is  reserved  for  possible  extensions.  If the length indicated
  7328.      exceeds the size of the NS-user data which is present, this is  a
  7329.      protocol error.
  7330.  
  7331.  
  7332.  
  7333.  
  7334.      13.2.2  Fixed part
  7335.  
  7336.      13.2.2.1  General
  7337.  
  7338.      The fixed part contains frequently occurring parameters including
  7339.      the  code of the TPDU.  The length and the structure of the fixed
  7340.      part are defined by the TPDU code and in  certain  cases  by  the
  7341.      protocol  class  and the formats in use (normal or extended).  If
  7342.      any of the parameters of the fixed part have an invalid value, or
  7343.      if the fixed part cannot be contained with the header (as defined
  7344.      by LI) this is a protocol error.
  7345.  
  7346.      NOTE - In  general,  the  TPDU  code  defines  the   fixed   part
  7347.      unambiguously.   However,  different  variants  may exist for the
  7348.      same TPDU code (see normal and extended formats).
  7349.  
  7350.  
  7351.  
  7352.  
  7353.      13.2.2.2  TPDU code
  7354.  
  7355.      This field contains the TPDU code and is contained in octet 2  of
  7356.      the  header.  It is used to define the structure of the remaining
  7357.      header.  This field is a  full  octet  except  in  the  following
  7358.      cases:
  7359.  
  7360.  
  7361.  
  7362.  
  7363.  
  7364.  
  7365.  
  7366.                                     117
  7367.  
  7368.  
  7369.  
  7370.  
  7371.  
  7372.  
  7373.  
  7374.  
  7375.  
  7376.  
  7377.  
  7378.            1110 xxxx     Connection Request
  7379.            1101 xxxx     Connection Confirm
  7380.            0101 xxxx     Reject
  7381.            0110 xxxx     Data Acknowledgement
  7382.  
  7383.      where xxxx (bits 4-1) is used to signal the CDT.
  7384.  
  7385.      Only those codes defined in 13.1 are valid.
  7386.  
  7387.  
  7388.  
  7389.  
  7390.      13.2.3  Variable part
  7391.  
  7392.      The  variable  part  is  used  to  define  less  frequently  used
  7393.      parameters.   If  the  variable part is present, it shall contain
  7394.      one or more parameters.
  7395.  
  7396.      NOTE - The number of parameters that  may  be  contained  in  the
  7397.      variable  part  is  indicated  by the length of the variable part
  7398.      which is LI minus the length of the fixed part.
  7399.  
  7400.      Each parameter contained within the variable part  is  structured
  7401.      as follows:
  7402.  
  7403.                     Bits   8    7    6    5    4    3    2    1
  7404.           Octets          +------------------------------------+
  7405.            n+1            |          Parameter Code            |
  7406.                           |------------------------------------|
  7407.            n+2            |          Parameter Length          |
  7408.                           |          Indication (e.g. m)       |
  7409.                           |------------------------------------|
  7410.            n+3            |                                    |
  7411.                           |          Parameter Value           |
  7412.            n+2+m          |                                    |
  7413.                           +------------------------------------|
  7414.  
  7415.  
  7416.  
  7417.  
  7418.  
  7419.  
  7420.  
  7421.  
  7422.  
  7423.  
  7424.                                     118
  7425.  
  7426.  
  7427.  
  7428.  
  7429.  
  7430.  
  7431.  
  7432.  
  7433.  
  7434.  
  7435.  
  7436.      - The parameter code field is coded in binary;
  7437.  
  7438.        NOTE - Without extensions, it provides a maximum number of  255
  7439.        different  parameters.   However,  as noted below, bits 8 and 7
  7440.        cannot take every possible  value,  so  the  practical  maximum
  7441.        number  of  different  parameters is less.  Parameter code 1111
  7442.        1111 is reserved for possible extensions of the parameter code.
  7443.  
  7444.      - The  parameter  length  indication  indicates  the  length,  in
  7445.        octets, of the parameter value field.
  7446.  
  7447.        NOTE - The length is indicated by a binary number,  m,  with  a
  7448.        theoretical  maximum value of 255.  The practical maximum value
  7449.        of m is lower.  For example, in the case of a single  parameter
  7450.        contained within the variable part, two octets are required for
  7451.        the parameter code and the parameter length indication  itself.
  7452.        Thus, the value of m is limited to 248.  For larger fixed parts
  7453.        of the header and for each succeeding  parameter,  the  maximum
  7454.        value of m decreases.
  7455.  
  7456.      - The parameter value field contains the value of  the  parameter
  7457.        identified in the parameter code field.
  7458.  
  7459.      - No parameter codes use bits 8 and 7 with the value 00.
  7460.  
  7461.      - The parameters defined in the  variable  part  may  be  in  any
  7462.        order.   If  any  parameter  is duplicated then the later value
  7463.        shall be used.  A parameter not defined in  this  International
  7464.        Standard  shall  be treated as a protocol error in any received
  7465.        TPDU except a CR TPDU; in a CR TPDU it shall  be  ignored.   If
  7466.        the  responding  transport  entity  selects a class for which a
  7467.        parameter of the CR TPDU is not defined,  it  may  ignore  this
  7468.        parameter,   except  the  class  and  option,  and  alternative
  7469.        protocol class parameters which shall always be interpreted.  A
  7470.        parameter  defined in this International Standard but having an
  7471.        invalid value shall be treated  as  a  protocol  error  in  any
  7472.        received  TPDU  except  a  CR  TPDU.   In a CR TPDU it shall be
  7473.        treated as a protocol error if  it  is  either  the  class  and
  7474.        option  parameter  or  the  alternative  class parameter or the
  7475.        additional option  parameter;  otherwise  it  shall  be  either
  7476.        ignored or treated as a protocol error.
  7477.  
  7478.  
  7479.  
  7480.  
  7481.  
  7482.                                     119
  7483.  
  7484.  
  7485.  
  7486.  
  7487.  
  7488.  
  7489.  
  7490.  
  7491.  
  7492.  
  7493.  
  7494.      13.2.3.1  Checksum Parameter (Class 4 only)
  7495.  
  7496.      All TPDU types may contain a 16-bit checksum parameter  in  their
  7497.      variable  part.  This parameter shall be present in a CR TPDU and
  7498.      shall be present in all other TPDUs except when the  non  use  of
  7499.      checksum option is selected.
  7500.  
  7501.      Parameter Code:    1100 0011
  7502.      Parameter Length:  2
  7503.      Parameter Value:   Result of checksum algorithm.  This algorithm
  7504.                         is specified in 6.17.
  7505.  
  7506.  
  7507.  
  7508.  
  7509.      13.2.4  Data Field
  7510.  
  7511.      This field contains transparent user data.  Restrictions  on  its
  7512.      size are noted for each TPDU.
  7513.  
  7514.  
  7515.  
  7516.  
  7517.      13.3  Connection Request (CR) TPDU
  7518.  
  7519.      The length of the CR TPDU shall not exceed 128 octets.
  7520.  
  7521.  
  7522.  
  7523.  
  7524.      13.3.1  Structure
  7525.  
  7526.      The structure of the CR TPDU shall be as follows:
  7527.  
  7528.       1    2        3        4       5   6    7    8    p  p+1...end
  7529.      +--+------+---------+---------+---+---+------+-------+---------+
  7530.      |LI|CR CDT|     DST - REF     |SRC-REF|CLASS |VARIAB.|USER     |
  7531.      |  |1110  |0000 0000|0000 0000|   |   |OPTION|PART   |DATA     |
  7532.      +--+------+---------+---------+---+---+------+-------+---------+
  7533.  
  7534.  
  7535.  
  7536.  
  7537.  
  7538.  
  7539.  
  7540.                                     120
  7541.  
  7542.  
  7543.  
  7544.  
  7545.  
  7546.  
  7547.  
  7548.  
  7549.  
  7550.  
  7551.  
  7552.      13.3.2  LI
  7553.  
  7554.      See 13.2.1
  7555.  
  7556.  
  7557.  
  7558.  
  7559.      13.3.3  Fixed Part (Octets 2 to 7)
  7560.  
  7561.      The structure of this part shall contain:
  7562.  
  7563.         a)  CR       :  Connection Request Code:  1110.  Bits  8-5  of
  7564.                         octet 2;
  7565.  
  7566.         b)  CDT      :  Initial Credit  Allocation  (set  to  0000  in
  7567.                         Classes  0  and  1 when specified as preferred
  7568.                         class).  Bits 4-1 of octet 2;
  7569.  
  7570.         c)  DST-REF  :  Set to zero;
  7571.  
  7572.         d)  SRC-REF  :  Reference selected  by  the  transport  entity
  7573.                         initiating   the   CR  TPDU  to  identify  the
  7574.                         requested transport connection;
  7575.  
  7576.         e)  CLASS and   Bits 8-5 of octet 7 defines the preferred
  7577.             OPTION:     transport protocol class to be  operated  over
  7578.                         the   requested  transport  connection.   This
  7579.                         field shall take one of the following values:
  7580.  
  7581.                         0000  Class 0
  7582.                         0001  Class 1
  7583.                         0010  Class 2
  7584.                         0011  Class 3
  7585.                         0100  Class 4
  7586.  
  7587.      The CR TPDU contains the first choice of class in the fixed part.
  7588.      Second  and subsequent choices are listed in the variable part if
  7589.      required.
  7590.  
  7591.      Bits 4-1 of octet 7 define options to be used  on  the  requested
  7592.      transport connection as follows:
  7593.  
  7594.  
  7595.  
  7596.  
  7597.  
  7598.                                     121
  7599.  
  7600.  
  7601.  
  7602.  
  7603.  
  7604.  
  7605.  
  7606.  
  7607.  
  7608.  
  7609.  
  7610.  
  7611.      +-----|-----------------------------------------------+
  7612.      | BIT |                  OPTION                       |
  7613.      |-----|-----------------------------------------------|
  7614.      |  4  |  0   always                                   |
  7615.      |     |                                               |
  7616.      |  3  |  0   always                                   |
  7617.      |     |                                               |
  7618.      |  2  | =0   use of normal formats in all classes     |
  7619.      |     | =1   use of extended formats in Classes 2,3,4 |
  7620.      |     |                                               |
  7621.      |  1  | =0   use of explicit flow control in Class 2  |
  7622.      |     | =1   no use of explicit flow control in       |
  7623.      |     |      Class 2                                  |
  7624.      +-----------------------------------------------------+
  7625.  
  7626.  
  7627.      NOTES
  7628.  
  7629.      1.  The connection establishment procedure  (see  6.5)  does  not
  7630.          permit  a given CR TPDU to request use of transport expedited
  7631.          data transfer service (additional option  parameter)  and  no
  7632.          use of explicit flow control in Class 2 (bit 1 = 1).
  7633.  
  7634.      2.  Bits 4 to 1 are always zero in Class 0 and have no meaning.
  7635.  
  7636.  
  7637.  
  7638.  
  7639.      13.3.4  Variable Part (Octets 8 to p)
  7640.  
  7641.      The following parameters are permitted in the variable part:
  7642.  
  7643.         a)  Transport Service Access Point Identifier (TSAP-ID)
  7644.  
  7645.             Parameter code:    1100 0001 for  the  identifier  of  the
  7646.                                Calling TSAP.
  7647.                                1100 0010 for  the  identifier  of  the
  7648.                                Called TSAP
  7649.             Parameter length:  not defined in this standard
  7650.             Parameter value:   identifier of  the  calling  or  called
  7651.                                TSAP respectively.
  7652.  
  7653.  
  7654.  
  7655.  
  7656.                                     122
  7657.  
  7658.  
  7659.  
  7660.  
  7661.  
  7662.  
  7663.  
  7664.  
  7665.  
  7666.  
  7667.  
  7668.             If a TSAP-ID is given in the request it may be returned in
  7669.             the confirmation.
  7670.  
  7671.         b)  TPDU size
  7672.  
  7673.             This parameter defines the proposed maximum TPDU size  (in
  7674.             octets including the header) to be used over the requested
  7675.             transport connection.  The coding of this parameter is:
  7676.  
  7677.             Parameter code:    1100 0000
  7678.             Parameter Length:  1 octet
  7679.  
  7680.             Parameter value:
  7681.  
  7682.             0000 1101  8192 octets (not allowed in Class 0)
  7683.             0000 1100  4096 octets (not allowed in Class 0)
  7684.             0000 1011  2048 octets
  7685.             0000 1010  1024 octets
  7686.             0000 1001   512 octets
  7687.             0000 1000   256 octets
  7688.             0000 0111   128 octets
  7689.  
  7690.             Default value is 0000 0111 (128 octets)
  7691.  
  7692.         c)  Version Number (not used  if  Class  0  is  the  preferred
  7693.             class)
  7694.  
  7695.             Parameter code:         1100 0100
  7696.             Parameter length:       1 octet
  7697.             Parameter value field:  0000 0001
  7698.  
  7699.             Default value is 0000 0001 (not used in Class 0)
  7700.  
  7701.         d)  Security Parameters (not used if Class 0 is the  preferred
  7702.             class)
  7703.  
  7704.             This parameter is user defined.
  7705.             Parameter code:    1100 0101
  7706.             Parameter length:  user defined
  7707.             Parameter value:   user defined
  7708.  
  7709.         e)  Checksum (used only if class 4  is  the  preferred  class)
  7710.             (see 13.2.3.1)
  7711.  
  7712.  
  7713.  
  7714.                                     123
  7715.  
  7716.  
  7717.  
  7718.  
  7719.  
  7720.  
  7721.  
  7722.  
  7723.  
  7724.  
  7725.  
  7726.             This parameter shall  always  be  present  in  a  CR  TPDU
  7727.             requesting   Class  4,  even  if  the  checksum  selection
  7728.             parameter is used  to  request  non-use  of  the  checksum
  7729.             facility.
  7730.  
  7731.         f)  Additional Option Selection (not used if Class  0  is  the
  7732.             preferred class)
  7733.  
  7734.             This parameter defines the selection  to  be  made  as  to
  7735.             whether or not additional options are to be used.
  7736.  
  7737.             Parameter code:    1100 0110
  7738.             Parameter length:  1
  7739.             Parameter value:
  7740.  
  7741.  
  7742.             +------------------------------------------------------+
  7743.             |BIT|                   OPTION                         |
  7744.             |---|--------------------------------------------------|
  7745.             | 4 | 1=  Use of network expedited in Class 1          |
  7746.             |   | 0=  Non use of network expedited in Class 1      |
  7747.             |   |                                                  |
  7748.             | 3 | 1=  Use of receipt confirmation in Class 1       |
  7749.             |   | 0=  Use of explicit AK variant in Class 1        |
  7750.             |   |                                                  |
  7751.             | 2 | 0=  16-bit checksum defined in 6.17 is to be used|
  7752.             |   |     in Class 4                                   |
  7753.             |   | 1=  16-bit checksum defined in 6.17 is not to be |
  7754.             |   |     used on Class 4                              |
  7755.             |   |                                                  |
  7756.             | 1 | 1=  Use of transport expedited data transfer     |
  7757.             |   |     service                                      |
  7758.             |   | 0=  No use of transport expedited data transfer  |
  7759.             |   |     service                                      |
  7760.             +------------------------------------------------------+
  7761.  
  7762.             Default value is 000 0001
  7763.  
  7764.             Bits related to options particular  to  a  class  are  not
  7765.             meaningful  if that class is not proposed and may take any
  7766.             value.
  7767.  
  7768.  
  7769.  
  7770.  
  7771.  
  7772.                                     124
  7773.  
  7774.  
  7775.  
  7776.  
  7777.  
  7778.  
  7779.  
  7780.  
  7781.  
  7782.  
  7783.  
  7784.         g)  Alternative protocol class(es) (not used if Class 0 is the
  7785.             preferred class)
  7786.  
  7787.             Parameter code:    1100 0111
  7788.             Parameter length:  n
  7789.  
  7790.             Parameter value encoded as a sequence  of  single  octets.
  7791.             Each octet is encoded as for octet 7 but with bits 4-1 set
  7792.             to zero (i.e. no alternative option selections permitted).
  7793.  
  7794.         h)  Acknowledge Time (used only if class 4  is  the  preferred
  7795.             class)
  7796.  
  7797.             This parameter conveys the maximum acknowledge time AL  to
  7798.             the  remote  transport  entity.  It is an indication only,
  7799.             and is not subject to negotiation (see 12.2.1.1.3)
  7800.             Parameter code:    1000 0101
  7801.             Parameter length:  2
  7802.             Parameter value:   n, a binary number where n is the
  7803.                                maximum acknowledge time, expressed
  7804.                                in milliseconds.
  7805.  
  7806.         j)  Throughput (not used if class 0 is the preferred class)
  7807.  
  7808.             Parameter code:    1000 1001
  7809.             Parameter length:  12 or 24
  7810.             Parameter value:
  7811.  
  7812.             1st 12 Octets:     maximum throughput, as follows:
  7813.  
  7814.             1st 3 octets:      Target   value,   calling-called   user
  7815.                                direction
  7816.             2nd 3 octets:      Min.  acceptable,  calling-called  user
  7817.                                direction
  7818.             3rd 3 octets:      Target   value,   called-calling   user
  7819.                                direction
  7820.             4th 3 octets:      Min.  acceptable,  called-calling  user
  7821.                                direction
  7822.  
  7823.             2nd 12 octets (optional):  average throughput, as follows:
  7824.  
  7825.             5th 3 octets:      Target   value,   calling-called   user
  7826.                                direction
  7827.  
  7828.  
  7829.  
  7830.                                     125
  7831.  
  7832.  
  7833.  
  7834.  
  7835.  
  7836.  
  7837.  
  7838.  
  7839.  
  7840.  
  7841.  
  7842.             6th 3 octets:      Min.  acceptable,  calling-called  user
  7843.                                direction
  7844.             7th 3 octets:      Target   value,   called-calling   user
  7845.                                direction
  7846.             8th 3 octets:      Min.  acceptable,  called-calling  user
  7847.                                direction
  7848.  
  7849.             Where the average throughput is omitted, it is  considered
  7850.             to have the same value as the maximum throughput.
  7851.  
  7852.             Values are expressed in octets per second.
  7853.  
  7854.         k)  Residual error rate (not used if class 0 is the  preferred
  7855.             class)
  7856.  
  7857.             Parameter code:    1000 1001
  7858.             Parameter length:  12
  7859.             1st 3 octets:      Target   value,   calling-called   user
  7860.                                direction
  7861.             2nd 3 octets:      Min.  acceptable,  calling-called  user
  7862.                                direction
  7863.             3rd 3 octets:      Target   value,   called-calling   user
  7864.                                direction
  7865.             4th 3 octets:      Min.  acceptable,  called-calling  user
  7866.                                direction
  7867.  
  7868.         l)  Residual error rate (not used if class 0 is the  preferred
  7869.             class)
  7870.  
  7871.             Parameter code:    1000 0110
  7872.             Parameter length:  3
  7873.             Parameter value:
  7874.             1st octet:         Target value, power of 10
  7875.             2nd octet:         Min. acceptable, power of 10
  7876.             3rd octet:         TSDU size of interest, expressed  as  a
  7877.                                power of 2
  7878.  
  7879.         m)  Priority (not used if class 0 is the preferred class)
  7880.  
  7881.             Parameter code:    1000 0111
  7882.             Parameter length:  2
  7883.             Parameter value:   Integer (0 is the highest priority)
  7884.  
  7885.  
  7886.  
  7887.  
  7888.                                     126
  7889.  
  7890.  
  7891.  
  7892.  
  7893.  
  7894.  
  7895.  
  7896.  
  7897.  
  7898.  
  7899.  
  7900.         n)  Transit delay (not used if class 0 is the preferred class)
  7901.  
  7902.             Parameter code:    1000 1000
  7903.             Parameter length:  8
  7904.             Parameter value:
  7905.             1st 2 octets:      Target   value,   calling-called   user
  7906.                                direction
  7907.             2nd 2 octets:      Max.  acceptable,  calling-called  user
  7908.                                direction
  7909.             3rd 2 octets:      Target   value,   called-calling   user
  7910.                                direction
  7911.             4th 2 octets:      Max.  acceptable,  called-calling  user
  7912.                                direction
  7913.  
  7914.             Values are expressed in milliseconds, and are based upon a
  7915.             TSDU size of 128 octets.
  7916.  
  7917.         p)  assignment time (not used if class 0, 2 or class 4 is  the
  7918.             preferred class)
  7919.  
  7920.             This parameter conveys the Time to Try Reassignment  (TTR)
  7921.             which  will  be  used  when  following  the  procedure for
  7922.             Reassignment after Failure (see 6.12).
  7923.             Parameter code:    1000 1011
  7924.             Parameter length:  2
  7925.             Parameter value:   n, a binary number where n is  the  TTR
  7926.                                value expressed in seconds.
  7927.  
  7928.  
  7929.  
  7930.  
  7931.      13.3.5  User Data (Octets p+1 to the end)
  7932.  
  7933.      No user data are permitted in Class 0, and are  optional  in  the
  7934.      other classes.  Where permitted, it may not exceed 32 octets.
  7935.  
  7936.  
  7937.  
  7938.  
  7939.  
  7940.  
  7941.  
  7942.  
  7943.  
  7944.  
  7945.  
  7946.                                     127
  7947.  
  7948.  
  7949.  
  7950.  
  7951.  
  7952.  
  7953.  
  7954.  
  7955.  
  7956.  
  7957.  
  7958.      13.4  Connection Confirm (CC) TPDU
  7959.  
  7960.      13.4.1  Structure
  7961.  
  7962.      The structure of the CC TPDU shall be as follows:
  7963.  
  7964.        1      2     3   4   5   6     7     8     p   p+1 ...end
  7965.      +---+----+---+---+---+---+---+-------+--------+-------------+
  7966.      |LI | CC  CDT|DST-REF|SRC-REF| CLASS |VARIABLE| USER        |
  7967.      |   |1101|   |   |   |   |   | OPTION|  PART  | DATA        |
  7968.      +---+----+---+---+---+---+---+-------+--------+-------------+
  7969.  
  7970.  
  7971.  
  7972.  
  7973.      13.4.2  LI
  7974.  
  7975.      See 13.2.1
  7976.  
  7977.  
  7978.  
  7979.  
  7980.      13.4.3  Fixed Part (Octets 2 to 7)
  7981.  
  7982.      The fixed part shall contain:
  7983.  
  7984.         a)  CC:  Connection Confirm Code:  1101.  Bits 8-5 of octet 2;
  7985.  
  7986.         b)  CDT:  Initial Credit Allocation (set to 0000 in Classes  0
  7987.             and 1).  Bits 4-1 of octet 2;
  7988.  
  7989.         c)  DST-REF:  Reference identifying  the  requested  transport
  7990.             connection at the remote transport entity;
  7991.  
  7992.         d)  SRC-REF:  Reference identifying  the  requested  transport
  7993.             connection at the remote transport entity.
  7994.  
  7995.         e)  Class and Option:  Defines the selected transport protocol
  7996.             class   and  option  to  be  operated  over  the  accepted
  7997.             transport connection according to  the  negotiation  rules
  7998.             specified in 6.5;
  7999.  
  8000.  
  8001.  
  8002.  
  8003.  
  8004.                                     128
  8005.  
  8006.  
  8007.  
  8008.  
  8009.  
  8010.  
  8011.  
  8012.  
  8013.  
  8014.  
  8015.  
  8016.      13.4.4  Variable Part (Octet 8 to p)
  8017.  
  8018.      The parameters are defined in  13.3.4  and  are  subject  to  the
  8019.      constraints states in 6.5 (connection establishment).  Parameters
  8020.      ruled out by selection of an alternative class and  option  shall
  8021.      not be present.
  8022.  
  8023.  
  8024.  
  8025.  
  8026.      13.4.5  User Data (Octets p+1 to the end)
  8027.  
  8028.      No user data are permitted in class 0, and are  optional  in  the
  8029.      other  classes.   Where  permitted,  it may not exceed 32 octets.
  8030.      The user data are subject to the constraints of  the  negotiation
  8031.      rules (see 6.5).
  8032.  
  8033.  
  8034.  
  8035.  
  8036.      13.5  Disonnect Request (DR) TPDU
  8037.  
  8038.      13.5.1  Structure
  8039.  
  8040.      The structure of the DR TPDU shall be as follows:
  8041.  
  8042.        1     2      3     4    5     6     7    8     p   p+1 ...end
  8043.      +--+---------+----+-----+----+-----+------+--------+----------+
  8044.      |LI|    DR   | DST-REF. | SRC-REF. |REASON|VARIABLE| USER     |
  8045.      |  |1000 0001|    |     |    |     |      |  PART  | DATA     |
  8046.      +--+---------+----+-----+----+-----+------+--------+----------+
  8047.  
  8048.  
  8049.  
  8050.  
  8051.      13.5.2  LI
  8052.  
  8053.      See Section 13.2.1
  8054.  
  8055.  
  8056.  
  8057.  
  8058.  
  8059.  
  8060.  
  8061.  
  8062.                                     129
  8063.  
  8064.  
  8065.  
  8066.  
  8067.  
  8068.  
  8069.  
  8070.  
  8071.  
  8072.  
  8073.  
  8074.      13.5.3  Fixed Part (Octets 2 to 7
  8075.  
  8076.      The fixed part shall contain:
  8077.  
  8078.         a)  DR:  Disconnect Request Code:  1000 0000;
  8079.  
  8080.         b)  DST-REF:  Reference identifying the  transport  connection
  8081.             at the remote transport entity;
  8082.  
  8083.         c)  SRC-REF:  Reference identifying the  transport  connection
  8084.             at  the  transport entity initiating the TPDU.  Value zero
  8085.             when reference is unassigned;
  8086.  
  8087.         d)  REASON:   Defines  the  reason   for   disconnecting   the
  8088.             transport  connection.   This  field shall take one of the
  8089.             following values:
  8090.  
  8091.             The following values may be used for Classes 1 to 4:
  8092.  
  8093.             1)  128 + 0 - Normal  disconnect  initiated   by   session
  8094.                    entity
  8095.             2)  128 + 1 - Remote  transport   entity   congestion   at
  8096.                    connect request time
  8097.             3) *128 + 2 - Connection negotiation failed (i.e. proposed
  8098.                    class(es) not supported)
  8099.             4)  128 + 3 - Duplicate source reference detected for  the
  8100.                    same pair of NSAPS.
  8101.             5)  128 + 4 - Mismatched references
  8102.             6)  128 + 5 - Protocol error
  8103.             7)  128 + 6 - Not used
  8104.             8)  128 + 7 - Reference overflow
  8105.             9)  128 + 8 - Connection request refused on  this  network
  8106.                    connection
  8107.             10) 128 + 9 - Not used
  8108.             11) 128 + 10- Header or parameter length invalid
  8109.  
  8110.  
  8111.  
  8112.  
  8113.  
  8114.  
  8115.  
  8116.  
  8117.  
  8118.  
  8119.  
  8120.                                     130
  8121.  
  8122.  
  8123.  
  8124.  
  8125.  
  8126.  
  8127.  
  8128.  
  8129.  
  8130.  
  8131.  
  8132.         The following values can be used for all classes:
  8133.  
  8134.             12)       0 - Reason not specified
  8135.             13)       1 - Congestion at TSAP
  8136.             14)      *2 - Session entity not attached to TSAP
  8137.             15)      *3 - Address unknown
  8138.  
  8139.         NOTE - Reasons marked with an asterisk (*) may be reported  to
  8140.         the TS-user as persistent, other reasons as transient.
  8141.  
  8142.  
  8143.  
  8144.  
  8145.      13.5.4  Variable Part (Octets 8 to p)
  8146.  
  8147.      The variable part may contain
  8148.  
  8149.         a)  A parameter allowing additional information related to the
  8150.             clearing of the connection.
  8151.  
  8152.             Parameter code:    1110 0000
  8153.             Parameter length:  Any value provided that the  length  of
  8154.                                the DR TPDU does not exceed the maximum
  8155.                                agreed TPDU size or  128  when  the  DR
  8156.                                TPDU  is  used  during  the  connection
  8157.                                refusal procedure
  8158.             Parameter value:   Additional information.  The content of
  8159.                                this field is user defined.
  8160.  
  8161.         b)  Checksum (see 13.2.3.1)
  8162.  
  8163.  
  8164.  
  8165.  
  8166.      13.5.5  User Data (Octets p+1 to the end)
  8167.  
  8168.      This field shall not exceed 64 octets and is used  to  carry  TS-
  8169.      user   data.   The  successful  transfer  of  this  data  is  not
  8170.      guaranteed by the transport protocol.  When a DR TPDU is used  in
  8171.      Class 0 it shall not contain this field.
  8172.  
  8173.  
  8174.  
  8175.  
  8176.  
  8177.  
  8178.                                     131
  8179.  
  8180.  
  8181.  
  8182.  
  8183.  
  8184.  
  8185.  
  8186.  
  8187.  
  8188.  
  8189.  
  8190.      13.6  Disconnect Confirm (DC) TPDU
  8191.  
  8192.      This TPDU shall not be used in Class 0.
  8193.  
  8194.  
  8195.  
  8196.  
  8197.      13.6.1  Structure
  8198.  
  8199.      The structure of DC TPDU shall be as follows:
  8200.  
  8201.        1       2         3     4     5     6    7        p
  8202.      +----+-----------+-----+-----+-----+-----+-------+--------+
  8203.      | LI |    DC     |  DST REF  |  SRC REF  | Variable Part  |
  8204.      |    | 1100 0000 |     |     |     |     |       |        |
  8205.      +----+-----------+-----+-----+-----+-----+-------+--------+
  8206.  
  8207.  
  8208.  
  8209.  
  8210.      13.6.2  LI
  8211.  
  8212.      See 13.2.1
  8213.  
  8214.  
  8215.  
  8216.  
  8217.      13.6.3  Fixed Part (Octets 2 to 6)
  8218.  
  8219.      The fixed part shall contain:
  8220.  
  8221.         a)  DC:  Disconnect Confirm Code:  1100 0000;
  8222.  
  8223.         b)  DST-REF:  See 13.4.3;
  8224.  
  8225.         c)  SRC-REF:  See 13.4.3.
  8226.  
  8227.  
  8228.  
  8229.  
  8230.  
  8231.  
  8232.  
  8233.  
  8234.  
  8235.  
  8236.                                     132
  8237.  
  8238.  
  8239.  
  8240.  
  8241.  
  8242.  
  8243.  
  8244.  
  8245.  
  8246.  
  8247.  
  8248.      13.6.4  Variable Part
  8249.  
  8250.      The variable part shall contain the  checksum  parameter  if  the
  8251.      condition in (see 13.2.3.1) applies.
  8252.  
  8253.  
  8254.  
  8255.  
  8256.      13.7  Data (DT) TPDU
  8257.  
  8258.      13.7.1  Structure
  8259.  
  8260.      Depending on the class and the option the DT TPDU shall have  one
  8261.      of the following structures.
  8262.  
  8263.         a)  Normal format for Classes 0 and 1
  8264.  
  8265.        1       2         3          4       5             ... end
  8266.      +----+-----------+-----------+------------ - - - - - -------+
  8267.      | LI |    DT     |  TPDU-NR  | User Data                    |
  8268.      |    | 1111 0000 |  and EOT  |                              |
  8269.      +----+-----------+-----------+------------ - - - - - -------+
  8270.  
  8271.  
  8272.         b)  Normal format for Classes 2, 3 and 4
  8273.  
  8274.        1      2       3   4     5     6       p    p+1       ... end
  8275.      +----+---------+---+---+-------+-----+-------+----------- - - -+
  8276.      | LI |   DT    |DST-REF|TPDU-NR|Variable Part|User Data        |
  8277.      |    |1111 0000|   |   |and EOT|     |       |                 |
  8278.      +----+---------+---+---+-------+-----+-------+----------- - - -+
  8279.  
  8280.         c)  Extended Format for  use  in  Classes  2,  3  and  4  when
  8281.             selected during connection establishment.
  8282.  
  8283.        1      2       3   4   5,6 7,8  9     p  p+1      ... end
  8284.      +----+---------+---+---+---------+--------+---------- - - -+
  8285.      | LI |   DT    |DST-REF| TPDU-NR |Variable|User Data       |
  8286.      |    |1111 0000|   |   | and EOT |  Part  |                |
  8287.      +----+---------+---+---+---------+--------+---------- - - -+
  8288.  
  8289.  
  8290.  
  8291.  
  8292.  
  8293.  
  8294.                                     133
  8295.  
  8296.  
  8297.  
  8298.  
  8299.  
  8300.  
  8301.  
  8302.  
  8303.  
  8304.  
  8305.  
  8306.      13.7.2  LI
  8307.  
  8308.      See 13.2.1
  8309.  
  8310.  
  8311.  
  8312.  
  8313.      13.7.3  Fixed Part
  8314.  
  8315.      The fixed part shall contain:
  8316.  
  8317.         a)  DT:       Data Transfer Code:  1111 0000;
  8318.  
  8319.         b)  DST-REF:  See 13.4.3;
  8320.  
  8321.         c)  EOT:      When set to ONE, indicates that the  current  DT
  8322.                       TPDU is the last data unit of a complete DT TPDU
  8323.                       sequence (End of TSDU).  EOT is bit 8 of octet 3
  8324.                       in  class  0  and 1, bit 8 of octet 5 for normal
  8325.                       formats for classes 2, 3 and  4  and  bit  8  of
  8326.                       octet 8 for extended formats;
  8327.  
  8328.         d)  TPDU-NR:  TPDU send Sequence Number  (zero  in  Class  0).
  8329.                       May  take  any value in Class 2 without explicit
  8330.                       flow control.  TPDU-NR is bits 7-1  of  octet  3
  8331.                       for  classes  0  and  1, bits 7-1 of octet 5 for
  8332.                       normal formats in classes 2, 3 and 4, octets  5,
  8333.                       6  and  7  together with bits 7-1 of octet 8 for
  8334.                       extended formats.
  8335.  
  8336.         NOTE - Depending on the class, the fixed part of the  DT  TPDU
  8337.         uses the following octets:
  8338.  
  8339.              Classes 0 and 1:                Octets 2 to 3;
  8340.              Classes 2,3,4 normal format:    Octets 2 to 5;
  8341.              Classes 2,3,4 extended format:  Octets 2 to 8.
  8342.  
  8343.  
  8344.  
  8345.  
  8346.  
  8347.  
  8348.  
  8349.  
  8350.  
  8351.  
  8352.                                     134
  8353.  
  8354.  
  8355.  
  8356.  
  8357.  
  8358.  
  8359.  
  8360.  
  8361.  
  8362.  
  8363.  
  8364.      13.7.4  Variable Part
  8365.  
  8366.      The variable part shall contain the  checksum  parameter  if  the
  8367.      condition in see 13.2.3.1 applies.
  8368.  
  8369.  
  8370.  
  8371.  
  8372.      13.7.5  User Data Field
  8373.  
  8374.      This field contains data of the TSDU being transmitted.
  8375.  
  8376.      NOTE - The length of this field is limited to the negotiated TPDU
  8377.      size  for  this  transport connection minus 3 octets in Classes 0
  8378.      and 1, and minus 5 octets (normal  header  format)  or  8  octets
  8379.      (extended  header  format)  in  the  other classes.  The variable
  8380.      part, if present, may further reduce the size of  the  user  data
  8381.      field.
  8382.  
  8383.  
  8384.  
  8385.  
  8386.      13.8  Expedited Data (ED) TPDU
  8387.  
  8388.      The ED TPDU shall not be used in Class 0 or in Class 2  when  the
  8389.      no explicit flow control option is selected or when the expedited
  8390.      data transfer service has not been selected for the connection.
  8391.  
  8392.  
  8393.  
  8394.  
  8395.      13.8.1  Structure
  8396.  
  8397.      Depending on the format negotiated  at  connection  establishment
  8398.      the ED TPDU shall have one of the following structures:
  8399.  
  8400.  
  8401.  
  8402.  
  8403.  
  8404.  
  8405.  
  8406.  
  8407.  
  8408.  
  8409.  
  8410.                                     135
  8411.  
  8412.  
  8413.  
  8414.  
  8415.  
  8416.  
  8417.  
  8418.  
  8419.  
  8420.  
  8421.  
  8422.         a)  Normal Format (classes 1, 2, 3, 4)
  8423.  
  8424.       1     2       3   4      5     6        p    p+1     ... end
  8425.      +--+---------+---+---+---------+-----+-------+---------------+
  8426.      |LI|   ED    |DST-REF|EDTPDU-NR|Variable Part|User Data      |
  8427.      |  |0001 0000|   |   |and EOT  |     |       |               |
  8428.      +--+---------+---+---+---------+-----+-------+---------------+
  8429.  
  8430.  
  8431.         b)  Extended Format (for use in classes 2, 3, 4 when  selected
  8432.             during connection establishment).
  8433.  
  8434.  
  8435.       1     2       3   4   5,6,7,8  9        p    p+1     ... end
  8436.      +--+---------+---+---+---------+-----+-------+---------------+
  8437.      |LI|   ED    |DST-REF|EDTPDU-NR|Variable Part|User Data      |
  8438.      |  |0001 0000|   |   |and EOT  |     |       |               |
  8439.      +--+---------+---+---+---------+-----+-------+---------------+
  8440.  
  8441.  
  8442.  
  8443.  
  8444.      13.8.2  LI
  8445.  
  8446.      See 13.2.1
  8447.  
  8448.  
  8449.  
  8450.  
  8451.      13.8.3  Fixed Part
  8452.  
  8453.      The fixed part shall contain:
  8454.  
  8455.         a)  ED:          Expedited Data code:  0001 0000;
  8456.  
  8457.         b)  DST-REF:     see 13.4.3;
  8458.  
  8459.         c)  ED-TPDU-NR:  Expedited TPDU  identification  number.   ED-
  8460.                          TPDU-NR is used in classes 1, 3 and 4 and may
  8461.                          take any value in Class 2.  Bits 7-1 of octet
  8462.                          5  for  normal  formats and octets 5, 6 and 7
  8463.                          together  with  bits  7-1  of  octet  8   for
  8464.                          extended formats;
  8465.  
  8466.  
  8467.  
  8468.                                     136
  8469.  
  8470.  
  8471.  
  8472.  
  8473.  
  8474.  
  8475.  
  8476.  
  8477.  
  8478.  
  8479.  
  8480.         d)  EOT:         end of TSDU always set to 1 (bit 8 of octet 5
  8481.                          for  normal  formats and bit 8 of octet 8 for
  8482.                          extended formats).
  8483.  
  8484.         NOTE - Depending on the format the fixed part shall be  either
  8485.         octets 2 to 5 or 2 to 8.
  8486.  
  8487.  
  8488.  
  8489.  
  8490.      13.8.4  Variable Part
  8491.  
  8492.      The variable part shall contain the  checksum  parameter  if  the
  8493.      condition defined in 13.2.3.1 applies.
  8494.  
  8495.  
  8496.  
  8497.  
  8498.      13.8.5  User Data Field
  8499.  
  8500.      This field contains an expedited TSDU (1 to 16 octets).
  8501.  
  8502.  
  8503.  
  8504.  
  8505.      13.9  Data Acknowledgement (AK) TPDU
  8506.  
  8507.      This TPDU shall not be used for Class 0 and Class 2 when the  "no
  8508.      explicit  flow  control" option is selected, and for Class 1 when
  8509.      the network receipt confirmation option is selected.
  8510.  
  8511.  
  8512.  
  8513.  
  8514.      13.9.1  Structure
  8515.  
  8516.      Depending on the class and option agreed the AK TPDU  shall  have
  8517.      one of the following structures:
  8518.  
  8519.  
  8520.  
  8521.  
  8522.  
  8523.  
  8524.  
  8525.  
  8526.                                     137
  8527.  
  8528.  
  8529.  
  8530.  
  8531.  
  8532.  
  8533.  
  8534.  
  8535.  
  8536.  
  8537.  
  8538.         a)  Normal Format (classes 1, 2, 3, 4)
  8539.  
  8540.       1     2      3     4        5        6        p
  8541.      +--+--------+----------+------------+---------------+
  8542.      |LI| AK CDT | DST-REF  |  YR-TU-NR  | Variable Part |
  8543.      |  | 0110   |          |            |               |
  8544.      +--+--------+----------+------------+---------------+
  8545.  
  8546.         b)  Extended Format (for use in classes 2, 3, 4 when  selected
  8547.             during connection establishment).
  8548.  
  8549.       1      2      3     4    5,6,7,8   9,10 11    p
  8550.      +--+---------+---------+----------+-----+--------+
  8551.      |LI|    AK   | DST-REF | YR-TU-NR | CDT |Variable|
  8552.      |  |0110 0000|         |          |     |  Part  |
  8553.      +--+---------+---------+----------+-----+--------+
  8554.  
  8555.  
  8556.  
  8557.  
  8558.      13.9.2  LI
  8559.  
  8560.      See 13.2.1
  8561.  
  8562.  
  8563.  
  8564.  
  8565.      13.9.3  Fixed Part
  8566.  
  8567.      The fixed part shall contain (in octet 2 to 5 when normal  format
  8568.      is used, 2 to 10 otherwise) the following parameters:
  8569.  
  8570.         a)  AK:        Acknowledgement code:  0110;
  8571.  
  8572.         b)  CDT:       Credit Value (set to 1111 in  class  1).   Bits
  8573.                        4-1  of octet 2 for normal formats and octets 9
  8574.                        and 10 for extended formats;
  8575.  
  8576.         c)  DST-REF:   See 13.4.3;
  8577.  
  8578.         d)  YR-TU-NR:  Sequence number indicating the next expected DT
  8579.                        TPDU  number.   For normal formats, bits 7-1 of
  8580.                        octet 5; bit 8 of octet 5  is  not  significant
  8581.  
  8582.  
  8583.  
  8584.                                     138
  8585.  
  8586.  
  8587.  
  8588.  
  8589.  
  8590.  
  8591.  
  8592.  
  8593.  
  8594.  
  8595.  
  8596.                        and  shall  take  the  value  0.   For extended
  8597.                        formats, octets 5, 6 and 7 together  with  bits
  8598.                        7-1  of  octet  8;  bit  8  of  octet  8 is not
  8599.                        significant and shall take the value 0.
  8600.  
  8601.  
  8602.  
  8603.  
  8604.      13.9.4  Variable Part
  8605.  
  8606.      The variable part contains the following parameters:
  8607.  
  8608.         a)  Checksum  See  13.2.3.1  if  the  condition  in   13.2.3.1
  8609.             applies;
  8610.  
  8611.         b)  Subsequence  number  when  optionally   used   under   the
  8612.             conditions  defined in class 4.  This parameter is used to
  8613.             ensure  that  AK  TPDUs  are  processed  in  the   correct
  8614.             sequence.    If  it  is  absent,  this  is  equivalent  to
  8615.             transmitting the parameter with a value of zero.
  8616.             Parameter code:    1000 1010
  8617.             Parameter length:  2
  8618.             Parameter value:   16-bit sub-sequence number;
  8619.  
  8620.         c)  Flow Control Confirmation Class  4  when  optionally  used
  8621.             under  the  conditions defined in class 4.  This parameter
  8622.             contains a copy of the information received in an AK TPDU,
  8623.             to  allow  the transmitter of the AK TPDU to be certain of
  8624.             the  state  of  the  receiving   transport   entity   (see
  8625.             12.2.3.10).
  8626.             Parameter code:    1000 1011
  8627.             Parameter length:  8
  8628.             Parameter value:   defined as follows
  8629.  
  8630.             1.  Lower Window Edge (32 bits)
  8631.                 Bit 8 of  octet  4  is  set  to  zero,  the  remainder
  8632.                 contains  the  YR-TU-NR value of the received AK TPDU.
  8633.                 When normal format has been selected, only  the  least
  8634.                 significant  seven  bits  (bits  1 to 7 of octet 1) of
  8635.                 this field are significant.
  8636.  
  8637.             2.  Your Sub-Sequence (16 bits)
  8638.                 Contains the value of the  sub-sequence  parameter  of
  8639.  
  8640.  
  8641.  
  8642.                                     139
  8643.  
  8644.  
  8645.  
  8646.  
  8647.  
  8648.  
  8649.  
  8650.  
  8651.  
  8652.  
  8653.  
  8654.                 the  received  AK  TPDU, or zero if this parameter was
  8655.                 not present.
  8656.  
  8657.             3.  Your Credit (16 bits)
  8658.                 Contains the value of the CDT field of the received AK
  8659.                 TPDU.   When normal format has been selected, only the
  8660.                 least significant four bits (bits 1 to 4 of  octet  1)
  8661.                 of this field are significant.
  8662.  
  8663.  
  8664.  
  8665.  
  8666.      13.10  Expedited Data Acknowledgement (EA) TPDU
  8667.  
  8668.      This TPDU shall not be used for Class 0 and Class 2 when  the  no
  8669.      explicit flow control option is selected.
  8670.  
  8671.  
  8672.  
  8673.  
  8674.      13.10.1  Structure
  8675.  
  8676.      Depending on the option (normal  or  extended  format)  the  TPDU
  8677.      structure shall be:
  8678.  
  8679.         a)  Normal Format (classes 1,2,3,4)
  8680.  
  8681.              1      2      3     4      5      6        p
  8682.             +--+---------+---------+----------+------+------+
  8683.             |LI|   EA    | DST-REF | YR-TU-NR |Variable Part|
  8684.             |  |0010 0000|         |          |      |      |
  8685.             +--+---------+---------+----------+------+------+
  8686.  
  8687.         b)  Extended Format (for use in classes 2, 3,  4  if  selected
  8688.             during connection establishment)
  8689.  
  8690.              1      2      3     4    5,6,7,8  9        p
  8691.             +--+---------+---------+----------+------+------+
  8692.             |LI|   EA    | DST-REF | YR-TU-NR |Variable Part|
  8693.             |  |0010 0000|         |          |      |      |
  8694.             +--+---------+---------+----------+------+------+
  8695.  
  8696.  
  8697.  
  8698.  
  8699.  
  8700.                                     140
  8701.  
  8702.  
  8703.  
  8704.  
  8705.  
  8706.  
  8707.  
  8708.  
  8709.  
  8710.  
  8711.  
  8712.      13.10.2  LI
  8713.  
  8714.      See 13.2.1
  8715.  
  8716.  
  8717.  
  8718.  
  8719.      13.10.3  Fixed Part
  8720.  
  8721.      The fixed part shall contain (in octets 2 to 5 when normal format
  8722.      is used, in octets 2 to 8 otherwise):
  8723.  
  8724.         a)  EA:          Expedited Acknowledgement code:  0010 0000;
  8725.  
  8726.         b)  DST-REF:     See 13.4.3;
  8727.  
  8728.         c)  YR-EDTU-NR:  Identification   of   the   ED   TPDU   being
  8729.                          acknowledged.  May take any value in Class 2;
  8730.  
  8731.                          For normal formats bits 7-1 of octet 5; bit 8
  8732.                          of  octet 5 is not significant and shall take
  8733.                          the value 0.  For  extended  formats,  octets
  8734.                          5,6  and 7 together with bits 7-1 of octet 8;
  8735.                          bit 8 of octet 8 is not significant and shall
  8736.                          take the value 0.
  8737.  
  8738.  
  8739.  
  8740.  
  8741.      13.10.4  Variable Part
  8742.  
  8743.      The  variable  part  may  contain  the  checksum  parameter  (see
  8744.      13.2.3.1).
  8745.  
  8746.  
  8747.  
  8748.  
  8749.      13.11  Reject (RJ) TPDU
  8750.  
  8751.      The RJ TPDU shall not be used in Classes 0, 2 and 4.
  8752.  
  8753.  
  8754.  
  8755.  
  8756.  
  8757.  
  8758.                                     141
  8759.  
  8760.  
  8761.  
  8762.  
  8763.  
  8764.  
  8765.  
  8766.  
  8767.  
  8768.  
  8769.  
  8770.      13.11.1  Structure
  8771.  
  8772.      The RJ TPDU shall have one of the following formats:
  8773.  
  8774.         a)  Normal Format (classes 1 and 3)
  8775.  
  8776.               1      2        3     4       5
  8777.             +----+----------+----+----+------------+
  8778.             | LI |  RJ CDT  | DST-REF |  YR-TU-NR  |
  8779.             |    | 0101     |    |    |            |
  8780.             +----+----------+----+----+------------+
  8781.  
  8782.         b)  Extended Format (for use in classes 3 if  selected  during
  8783.             connection establishment).
  8784.  
  8785.              1       2       3     4   5,6,7,8   9,10
  8786.             +--+-----------+----+----+----------+-----+
  8787.             |LI|     RJ    | DST-REF | YR-TU-NR | CDT |
  8788.             |  | 0101 0000 |    |    |          |     |
  8789.             +--+-----------+----+----+----------+-----+
  8790.  
  8791.  
  8792.  
  8793.  
  8794.      13.11.2  LI
  8795.  
  8796.      See 13.2.1.
  8797.  
  8798.  
  8799.  
  8800.  
  8801.      13.11.3  Fixed Part
  8802.  
  8803.      The fixed part shall contain (in octets 2 to 5 when normal format
  8804.      is used, in octets 2 to 10 otherwise):
  8805.  
  8806.         a)  RJ:        Reject Code:  0101.  Bits 8-5 of octet 2;
  8807.  
  8808.         b)  CDT:       Credit Value (set to 1111 in  class  1).   Bits
  8809.                        4-1  of octet 2 for normal formats and octets 9
  8810.                        and 10 for extended formats;
  8811.  
  8812.         c)  DST-REF:   See 13.4.3;
  8813.  
  8814.  
  8815.  
  8816.                                     142
  8817.  
  8818.  
  8819.  
  8820.  
  8821.  
  8822.  
  8823.  
  8824.  
  8825.  
  8826.  
  8827.  
  8828.         d)  YR-TU-NR:  Sequence number indicating  the  next  expected
  8829.                        TPDU from which retransmission should occur.
  8830.  
  8831.                        For normal formats, bits 7-1 of octet 5; bit  8
  8832.                        of  octet  5  is not significant and shall take
  8833.                        the value 0.  For extended formats, octets  5,6
  8834.                        and  7 together with bits 7-1 of octet 8; bit 8
  8835.                        of octet 8 is not significant  and  shall  take
  8836.                        the value 0.
  8837.  
  8838.  
  8839.  
  8840.  
  8841.      13.11.4  Variable Part
  8842.  
  8843.      There is no variable part for this TPDU type.
  8844.  
  8845.  
  8846.  
  8847.  
  8848.      13.12  TPDU Error (ER) TPDU
  8849.  
  8850.      13.12.1  Structure
  8851.  
  8852.        1        2       3     4     5         6   P
  8853.      +----+-----------+----+----+--------+----------+
  8854.      | LI |    ER     | DST-REF | Reject | Variable |
  8855.      |    | 0111 0000 |    |    | Cause  |   Part   |
  8856.      +----+-----------+----+----+--------+----------+
  8857.  
  8858.  
  8859.  
  8860.  
  8861.      13.12.2  LI
  8862.  
  8863.      See 13.2.1
  8864.  
  8865.  
  8866.  
  8867.  
  8868.  
  8869.  
  8870.  
  8871.  
  8872.  
  8873.  
  8874.                                     143
  8875.  
  8876.  
  8877.  
  8878.  
  8879.  
  8880.  
  8881.  
  8882.  
  8883.  
  8884.  
  8885.  
  8886.      13.12.3  Fixed Part
  8887.  
  8888.      The fixed part shall contain:
  8889.  
  8890.         a)  ER:            TPDU Error Code:  0111 0000;
  8891.  
  8892.         b)  DST-REF:       See 13.4.3;
  8893.  
  8894.         c)  REJECT CAUSE:  0000 0000  Reason not specified
  8895.                            0000 0001  Invalid parameter code
  8896.                            0000 0010  Invalid TPDU type
  8897.                            0000 0011  Invalid parameter value.
  8898.  
  8899.  
  8900.  
  8901.  
  8902.      13.12.4  Variable Part
  8903.  
  8904.      The variable part may contain the following parameters:
  8905.  
  8906.         a)  Invalid TPDU
  8907.  
  8908.             Parameter code:    1100 0001
  8909.  
  8910.             Parameter length:  number of octets of the value field
  8911.  
  8912.             Parameter Value:  Contains the bit pattern of the rejected
  8913.                                TPDU  up  to  and  including  the octet
  8914.                                which  caused  the   rejection.    This
  8915.                                parameter is mandatory in Class 0.
  8916.  
  8917.         b)  Checksum
  8918.  
  8919.             This parameter  shall  be  present  if  the  condition  in
  8920.             13.2.3.1 applies.
  8921.  
  8922.  
  8923.  
  8924.  
  8925.  
  8926.  
  8927.  
  8928.  
  8929.  
  8930.  
  8931.  
  8932.                                     144
  8933.  
  8934.  
  8935.  
  8936.  
  8937.  
  8938.  
  8939.  
  8940.  
  8941.  
  8942.  
  8943.  
  8944.      SECTION THREE.  CONFORMANCE
  8945.  
  8946.  
  8947.  
  8948.  
  8949.      14  CONFORMANCE
  8950.  
  8951.      14.1
  8952.  
  8953.      A system claiming to implement the procedures specified  in  this
  8954.      standard shall comply with the requirements in 14.2 - 14.5.
  8955.  
  8956.  
  8957.  
  8958.  
  8959.      14.2
  8960.  
  8961.      The system shall implement Class 0 or Class 2 or both.
  8962.  
  8963.  
  8964.  
  8965.  
  8966.      14.3
  8967.  
  8968.      If the system implements Class  3  or  Class  4,  it  shall  also
  8969.      implement Class 2.
  8970.  
  8971.  
  8972.  
  8973.  
  8974.      14.4
  8975.  
  8976.      If the system implements Class 1, it shall also  implement  Class
  8977.      0.
  8978.  
  8979.  
  8980.  
  8981.  
  8982.  
  8983.  
  8984.  
  8985.  
  8986.  
  8987.  
  8988.  
  8989.  
  8990.                                     145
  8991.  
  8992.  
  8993.  
  8994.  
  8995.  
  8996.  
  8997.  
  8998.  
  8999.  
  9000.  
  9001.  
  9002.      14.5
  9003.  
  9004.      For each class which the system claims to implement,  the  system
  9005.      shall be capable of:
  9006.  
  9007.         a)  initiating CR TPDUs or responding  to  CR  TPDUs  with  CC
  9008.             TPDUs or both;
  9009.  
  9010.         b)  responding to any other TPDU and operating network service
  9011.             in accordance with the procedures for the class;
  9012.  
  9013.         c)  operating all the  procedures  for  the  class  listed  as
  9014.             mandatory in table 9;
  9015.  
  9016.         d)  operating  those  procedures  for  the  class  listed   as
  9017.             optional in table 9 for which conformance is claimed;
  9018.  
  9019.         e)  handling all TPDUs of lengths up to the lesser value of:
  9020.  
  9021.             1)  the maximum length for the class;
  9022.  
  9023.             2)  the maximum for which conformance is claimed.
  9024.  
  9025.             NOTE - This requirement indicates that TPDU sizes  of  128
  9026.             octets are always implemented.
  9027.  
  9028.  
  9029.  
  9030.  
  9031.      14.6  Claims of Conformance Shall State
  9032.  
  9033.         a)  which class or classes of protocol are implemented;
  9034.  
  9035.         b)  whether the system is capable of initiating or  responding
  9036.             to CR TPDUs or both;
  9037.  
  9038.         c)  which of the procedures listed as optional in table 9  are
  9039.             implemented;
  9040.  
  9041.  
  9042.  
  9043.  
  9044.  
  9045.  
  9046.  
  9047.  
  9048.                                     146
  9049.  
  9050.  
  9051.  
  9052.  
  9053.  
  9054.  
  9055.  
  9056.  
  9057.  
  9058.  
  9059.  
  9060.         d)  the maximum size of TPDU implemented; the value  shall  be
  9061.             chosen  from the following list and all values in the list
  9062.             which are less than this maximum shall be implemented:
  9063.  
  9064.             128, 256, 512, 1024, 2048, 4096 or 8192 octets.
  9065.  
  9066.  
  9067.  
  9068.  
  9069.  
  9070.  
  9071.  
  9072.  
  9073.  
  9074.  
  9075.  
  9076.  
  9077.  
  9078.  
  9079.  
  9080.  
  9081.  
  9082.  
  9083.  
  9084.  
  9085.  
  9086.  
  9087.  
  9088.  
  9089.  
  9090.  
  9091.  
  9092.  
  9093.  
  9094.  
  9095.  
  9096.  
  9097.  
  9098.  
  9099.  
  9100.  
  9101.  
  9102.  
  9103.  
  9104.  
  9105.  
  9106.                                     147
  9107.  
  9108.  
  9109.  
  9110.  
  9111.  
  9112.  
  9113.  
  9114.  
  9115.  
  9116.  
  9117.  
  9118.  
  9119.  
  9120.  
  9121.  
  9122.      +------------------------------------------------------------+
  9123.      |       PROCEDURE          |    CLASS 0     |    CLASS 1     |
  9124.      |--------------------------|----------------|----------------|
  9125.      |                          |                |                |
  9126.      |TPDU with checksum        | NA             | NA             |
  9127.      |TPDU wihout checksum      | mandatory      | mandatory      |
  9128.      |                          |                |                |
  9129.      |--------------------------|----------------|----------------|
  9130.      |Expedited data transfer   | NA             | mandatory      |
  9131.      |No expedited data transfer| mandatory      | mandatory      |
  9132.      |                          |                |                |
  9133.      |--------------------------|----------------|----------------|
  9134.      |Flow control in Class 2   | NA             | NA             |
  9135.      |No flow control in Class 2| NA             | NA             |
  9136.      |                          |                |                |
  9137.      |--------------------------|----------------|----------------|
  9138.      |Normal formats            | mandatory      | mandatory      |
  9139.      |Extended formats          | NA             | NA             |
  9140.      |                          |                |                |
  9141.      |--------------------------|----------------|----------------|
  9142.      |Use of receipt confirma-  |                |                |
  9143.      |tion in Class 1           | NA             | optional       |
  9144.      |No use of receipt con-    |                |                |
  9145.      |firmation in Class 1      | NA             | mandatory      |
  9146.      |                          |                |                |
  9147.      |--------------------------|----------------|----------------|
  9148.      |Use of network expedited  |                |                |
  9149.      |in Class 1                | NA             | optional       |
  9150.      |No use of network expedi- |                |                |
  9151.      |ted in Class 1            | NA             | mandatory      |
  9152.      |                          |                |                |
  9153.      +------------------------------------------------------------+
  9154.  
  9155.      NA indicates the procedure is not applicable.
  9156.              Table 9. (First of 2 pages) Provision of options
  9157.  
  9158.  
  9159.  
  9160.  
  9161.  
  9162.  
  9163.  
  9164.                                     148
  9165.  
  9166.  
  9167.  
  9168.  
  9169.  
  9170.  
  9171.  
  9172.  
  9173.  
  9174.  
  9175.  
  9176.      +------------------------------------------------------------+
  9177.      |       PROCEDURE          | CLASS 2  | CLASS 3  |  CLASS 4  |
  9178.      |--------------------------|----------|----------|-----------|
  9179.      |                          |          |          |           |
  9180.      |TPDU with checksum        |NA        |NA        |mandatory  |
  9181.      |TPDU wihout checksum      |mandatory |mandatory |optional   |
  9182.      |                          |          |          |           |
  9183.      |--------------------------|----------|----------|-----------|
  9184.      |Expedited data transfer   |mandatory |mandatory |mandatory  |
  9185.      |No expedited data transfer|mandatory |mandatory |mandatory  |
  9186.      |                          |          |          |           |
  9187.      |--------------------------|----------|----------|-----------|
  9188.      |Flow control in Class 2   |mandatory |NA        |NA         |
  9189.      |No flow control in Class 2|optional  |NA        |NA         |
  9190.      |                          |          |          |           |
  9191.      |--------------------------|----------|----------|-----------|
  9192.      |Normal formats            |mandatory |mandatory |mandatory  |
  9193.      |Extended formats          |optional  |optional  |optional   |
  9194.      |                          |          |          |           |
  9195.      |--------------------------|----------|----------|-----------|
  9196.      |Use of receipt confirma-  |          |          |           |
  9197.      |tion in Class 1           |NA        |NA        |NA         |
  9198.      |No use of receipt con-    |          |          |           |
  9199.      |firmation in Class 1      |NA        |NA        |NA         |
  9200.      |                          |          |          |           |
  9201.      |--------------------------|----------|----------|-----------|
  9202.      |Use of network expedited  |          |          |           |
  9203.      |in Class 1                |NA        |NA        |NA         |
  9204.      |No use of network expedi- |          |          |           |
  9205.      |ted in Class 1            |NA        |NA        |NA         |
  9206.      |                          |          |          |           |
  9207.      +------------------------------------------------------------+
  9208.  
  9209.      NA indicates the procedure is not applicable
  9210.             Table 9. (Second of 2 pages) Provision of options
  9211.  
  9212.  
  9213.  
  9214.  
  9215.  
  9216.  
  9217.  
  9218.  
  9219.  
  9220.  
  9221.  
  9222.                                     149
  9223.  
  9224.  
  9225.  
  9226.  
  9227.  
  9228.  
  9229.  
  9230.  
  9231.  
  9232.  
  9233.  
  9234.      ANNEX A - STATE TABLES
  9235.  
  9236.  
  9237.      This annex is an integral part of the body of this  International
  9238.      Standard.
  9239.  
  9240.      This Annex provides a more precise description of  the  protocol.
  9241.      In  the  event  of a discrepancy between the description in these
  9242.      tables and that contained in the text, the text takes precedence.
  9243.  
  9244.      The state table also  define  the  mapping  between  service  and
  9245.      protocol events that TS-users can expect.
  9246.  
  9247.      This annex describes the transport protocol  in  terms  of  state
  9248.      tables.    The  state  tables  show  the  state  of  a  transport
  9249.      connection, the events that occur in the  protocol,  the  actions
  9250.      taken and the resultant state.
  9251.  
  9252.      [The state tables have been omitted from this copy.]
  9253.  
  9254.  
  9255.  
  9256.  
  9257.  
  9258.  
  9259.  
  9260.  
  9261.  
  9262.  
  9263.  
  9264.  
  9265.  
  9266.  
  9267.  
  9268.  
  9269.  
  9270.  
  9271.  
  9272.  
  9273.  
  9274.  
  9275.  
  9276.  
  9277.  
  9278.  
  9279.  
  9280.                                     150
  9281.  
  9282.  
  9283.  
  9284.  
  9285.  
  9286.  
  9287.  
  9288.  
  9289.  
  9290.  
  9291.  
  9292.      ANNEX B - CHECKSUM ALGORITHMS
  9293.  
  9294.      (This annex is provided for information for implementors  and  is
  9295.      not an integral part of the body of the standard.)
  9296.  
  9297.  
  9298.  
  9299.      B.1  SYMBOLS
  9300.  
  9301.      The following symbols are used:
  9302.  
  9303.         C0  variables used in the algorithms
  9304.         C1
  9305.  
  9306.         i   number (i.e. position) of an octet within  the  TPDU  (see
  9307.             12.1)
  9308.  
  9309.         n   number (i.e. position) of the first octet of the  checksum
  9310.             parameter
  9311.  
  9312.         L   length of the complete TPDU
  9313.  
  9314.         X   value of the first octet of the checksum parameter
  9315.  
  9316.         Y   value of the second octet of the checksum parameter.
  9317.  
  9318.  
  9319.  
  9320.      B.2  ARITHMETIC CONVENTIONS
  9321.  
  9322.      Addition is performed in one of the two following modes:
  9323.  
  9324.         a)  modulo 255 arithmetic;
  9325.  
  9326.         b)  one's  complement  arithmetic  in  which  if  any  of  the
  9327.             variables  has the value minus zero (i.e. 255) it shall be
  9328.             regarded as though it was plus zero (i.e. 0).
  9329.  
  9330.  
  9331.  
  9332.      B.3  ALGORITHM FOR GENERATING CHECKSUM PARAMETERS
  9333.  
  9334.  
  9335.  
  9336.  
  9337.  
  9338.                                     151
  9339.  
  9340.  
  9341.  
  9342.  
  9343.  
  9344.  
  9345.  
  9346.  
  9347.  
  9348.  
  9349.  
  9350.      B.3.1  Set up the complete TPDU with the value  of  the  checksum
  9351.      parameter field set to zero.
  9352.  
  9353.  
  9354.      B.3.2  Initialize C0 and C1 to zero.
  9355.  
  9356.  
  9357.  
  9358.      B.3.3  Process each octet sequentially from i = 1 to L by:
  9359.  
  9360.         a)  adding the value of the octet to C0; then
  9361.  
  9362.         b)  adding the value of C0 to C1.
  9363.  
  9364.  
  9365.  
  9366.      B.3.4  Calculate X and Y such that
  9367.  
  9368.         X = -C1 + (L-n).CO
  9369.         Y =  C1 - (L-n+1).C0
  9370.  
  9371.  
  9372.  
  9373.      B.3.5  Place the values  X  and  Y  in  octets  n  and  (n  +  1)
  9374.      respectively.
  9375.  
  9376.      [A Note describing the above algorithm in  mathematical  notation
  9377.      has been omitted from this copy.]
  9378.  
  9379.  
  9380.  
  9381.      B.4  ALGORITHM FOR CHECKING CHECKSUM PARAMETERS
  9382.  
  9383.  
  9384.      B.4.1  Initialize C0 and C1 to zero.
  9385.  
  9386.  
  9387.      B.4.2  Process each octet of the TPDU sequentially from i = 1  to
  9388.      L by:
  9389.  
  9390.         a)  adding the value of the octet to C0; then
  9391.  
  9392.         b)  adding the value of C0 to C1.
  9393.  
  9394.  
  9395.  
  9396.                                     152
  9397.  
  9398.  
  9399.  
  9400.  
  9401.  
  9402.  
  9403.  
  9404.  
  9405.  
  9406.  
  9407.  
  9408.      B.4.3  If, when all the octets have  been  processed,  either  or
  9409.      both  of  C0  and  C1  does not have the value zero, the checksum
  9410.      formulas in 6.17 have not been satisfied.
  9411.  
  9412.      NOTE - The nature of  the  algorithm  is  such  that  it  is  not
  9413.      necessary to compare explicitly the stored checksum bytes.
  9414.  
  9415.  
  9416.  
  9417.  
  9418.  
  9419.  
  9420.  
  9421.  
  9422.  
  9423.  
  9424.  
  9425.  
  9426.  
  9427.  
  9428.  
  9429.  
  9430.  
  9431.  
  9432.  
  9433.  
  9434.  
  9435.  
  9436.  
  9437.  
  9438.  
  9439.  
  9440.  
  9441.  
  9442.  
  9443.  
  9444.  
  9445.  
  9446.  
  9447.  
  9448.  
  9449.  
  9450.  
  9451.  
  9452.  
  9453.  
  9454.                                     153
  9455.  
  9456.  
  9457.  
  9458.  
  9459.  
  9460.  
  9461.  
  9462.  
  9463.  
  9464.  
  9465.  
  9466.      Explanatory Report
  9467.  
  9468.      The Transport Layer Services and Protocols have been under  study
  9469.      within  TC97/SC16  since  1979.   It  was  agreed  by SC16 at its
  9470.      meeting in Berlin, November 1980, that the Service  and  Protocol
  9471.      documents would be progressed concurrently.
  9472.  
  9473.      At the SC16 meeting in Tokyo, June 1982, authorization was  given
  9474.      (Resolutions  10  and  11,  SC16  N  1233)  to  register both the
  9475.      Transport  Service  Definition   and   the   Transport   Protocol
  9476.      Specification  as Draft Proposals and to circulate them for a 90-
  9477.      day ballot.
  9478.  
  9479.      Following the close of the letter ballot  an  Editing  Group  was
  9480.      convened to integrate editorial comments and make recommendations
  9481.      regarding proposed technical  changes.   The  revised  texts  and
  9482.      proposed recommendations were reviewed by SC16/WG6 at its meeting
  9483.      in Vienna, March 1983.  The revised text of the Transport Service
  9484.      Definition  (SC16  N  1435) was accepted as presented whereas the
  9485.      revised  text  of  the  Transport  Protocol  (SC16  N  1433)  was
  9486.      subjected  to  an  additional 60-day ballot.  Consistent with the
  9487.      SC16 decision regarding the parallel progression of both DPs, the
  9488.      Transport   Service  Definition  was  held  in  abeyance  pending
  9489.      acceptance by SC16 of the revised Transport Protocol  (Second  DP
  9490.      8073).
  9491.  
  9492.      A second Editing Group was  convened  in  Paris,  July  1983,  to
  9493.      review  comments  submitted  on  Second DP 8073.  The Minutes and
  9494.      Report of this meeting are documented in SC16 N1575  and  N  1574
  9495.      respectively.   The  two  negative votes (DIN and NNI) were given
  9496.      full consideration.  The NNI concerns have been fully covered  in
  9497.      the revised text prepared by the Editing Group.  The DIN concerns
  9498.      have been taken into account  and  incorporated  in  their  large
  9499.      majority.
  9500.  
  9501.      Upon the recommendation of the Editing Group, DP 8072 and DP 8073
  9502.      are  forwarded  for registration as Draft International Standards
  9503.      and letter ballot of ISO Member Bodies.
  9504.  
  9505.  
  9506.  
  9507.  
  9508.  
  9509.  
  9510.  
  9511.  
  9512.                                     154
  9513.  
  9514.  
  9515.  
  9516.