home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc2126 < prev    next >
Text File  |  1997-03-28  |  51KB  |  1,404 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                     Y. Pouffary
  8. Request for Comments: 2126              Digital Equipment Corporation
  9. Category: Standards Track                                    A. Young
  10.                                                      ISODE Consortium
  11.                                                            March 1997
  12.  
  13.  
  14.                ISO Transport Service on top of TCP (ITOT)
  15.  
  16. Status of the Memo
  17.  
  18.    This document specifies an Internet standards track protocol for the
  19.    Internet community, and requests discussion and suggestions for
  20.    improvements.  Please refer to the current edition of the "Internet
  21.    Official Protocol Standards" (STD 1) for the standardization state
  22.    and status of this protocol.  Distribution of this memo is unlimited.
  23.  
  24. Abstract
  25.  
  26.    This document is a revision to STD35, RFC1006 written by Marshall T.
  27.    Rose and Dwight E. Cass. Since the release of RFC1006 in May 1987,
  28.    much experience has been gained in using ISO transport services on
  29.    top of TCP. This document refines the protocol and will eventually
  30.    supersede RFC1006.
  31.  
  32.    This document describes the mechanism to allow ISO Transport Services
  33.    to run over TCP over IPv4 or IPv6. It also defines a number of new
  34.    features, which are not provided in RFC1006.
  35.  
  36.    The goal of this version is to minimise the number of changes to
  37.    RFC1006 and ISO 8073 transport protocol definitions, while maximising
  38.    performance, extending its applicability and protecting the installed
  39.    base of RFC1006 users.
  40.  
  41. Table of Contents
  42.  
  43.    1. Introduction, Motivation.....................................2
  44.    2. The Model....................................................3
  45.    2.1 ISO Transport Model.........................................3
  46.    2.2 ISO Transport over TCP (ITOT) Model.........................4
  47.    2.3 Overview of Protocol and Service............................5
  48.    3 Service Definition............................................5
  49.    3.1 Transport Service Definition................................5
  50.    3.1.1 Transport Service Definition Primitives...................6
  51.    3.2 Network Service Definition..................................7
  52.    3.2.1 ISO 8348 CONS primitives..................................7
  53.    3.2.2 TCP Service primitives....................................8
  54.    3.2.3 Mapping TCP as a Network Service Provider.................8
  55.  
  56.  
  57.  
  58. Pouffary & Young            Standards Track                     [Page 1]
  59.  
  60. RFC 2126              ISO Transport on top of TCP             March 1997
  61.  
  62.  
  63.    3.2.3.1 Network Connection Establishment........................8
  64.    3.2.3.2 Network Data Transfer...................................9
  65.    3.2.3.3 Network Connection Release.............................10
  66.    4. Transport Protocol Specification............................10
  67.    4.1 Class 0 over TCP...........................................10
  68.    4.1.1 Connection Establishment.................................11
  69.    4.1.2 Data Transfer............................................11
  70.    4.1.3 Connection Release.......................................11
  71.    4.2 Class 2 over TCP...........................................12
  72.    4.2.1 Connection Establishment.................................12
  73.    4.2.2 Data Transfer............................................13
  74.    4.2.3 Connection Release.......................................15
  75.    4.3 TPKT Packet Format.........................................15
  76.    5. Address representations.....................................16
  77.    5.1 String representation of ITOT access point addresses.......17
  78.    5.2 OSI Network Address encoding...............................17
  79.    6. Notes to Implementors.......................................17
  80.    6.1 TCP Connection Establishment...............................17
  81.    6.2 TCP Data transfer..........................................17
  82.    6.3 Class negotiation..........................................18
  83.    6.4 Default maximum TPDU size..................................18
  84.    6.5 Class 0 TPDU bit encoding..................................18
  85.    6.6 Class 2 Options............................................19
  86.    6.7 Class 2 Expedited Data Acknowledgement.....................21
  87.    6.8 Class 2 Normal Data and Expedited Data handling............21
  88.    6.9 Class 2 Forward Connection procedure.......................22
  89.    6.10 TPKT......................................................22
  90.    7. Rationale - Interoperability with RFC1006...................22
  91.    8. Security Considerations.....................................23
  92.    Acknowledgements...............................................23
  93.    References.....................................................23
  94.    Authors' Addresses.............................................25
  95.  
  96. 1. Introduction, Motivation
  97.  
  98.    There are two basic approaches which can be taken when "porting" ISO
  99.    applications to TCP/IP ([RFC793],[RFC791]) and IPv6 [IPV6]
  100.    environments. One approach is to port each individual application
  101.    separately, developing local protocols on top of TCP. A second
  102.    approach is based on the notion of layering the ISO Transport Service
  103.    over TCP/IP. This approach solves the problem for all applications
  104.    which use the ISO Transport Service. This document describes the
  105.    second approach.
  106.  
  107.    The protocol described in this memo is based on the observation that
  108.    both the Internet Protocol Suite and the ISO Protocol Suite are
  109.    layered systems.  A key aspect of the layering principle is that of
  110.    layer-independence.  The concept of layer-independence means that if
  111.  
  112.  
  113.  
  114. Pouffary & Young            Standards Track                     [Page 2]
  115.  
  116. RFC 2126              ISO Transport on top of TCP             March 1997
  117.  
  118.  
  119.    one preserves the services offered by a particular layer (the
  120.    Service-Provider) then the Service-User at that layer is completely
  121.    unaffected by changes in the underlying layers or by the protocol
  122.    used within the layer.
  123.  
  124.    This document defines a Transport Service which appears to be
  125.    identical to the Services and Interfaces offered by the ISO Transport
  126.    Service Definition [ISO8072], but which will in fact implement the
  127.    ISO Transport Protocol [ISO8073] on top of TCP/IP (IPv4 or IPv6),
  128.    rather than the ISO Network Service [ISO8348].
  129.  
  130.    The basis of this document is STD35, RFC1006 [RFC1006] written by
  131.    Marshall T. Rose and Dwight E. Cass and it defines two transport
  132.    classes of service.  Transport Class 0 refines and supersedes the
  133.    RFC1006 protocol and is aimed at preserving the RFC1006 installed
  134.    base.  Transport Class 2 defines a number of new features which are
  135.    not provided in RFC1006, such as independence of Normal and Expedited
  136.    Data channels and Explicit Transport Disconnection. These new
  137.    features are largely based on RFC1859 [RFC1859] and extend the
  138.    applicability of RFC1006 to new groups of applications.
  139.  
  140.    This document specifies changes to the standards mentioned above and
  141.    must be read in the context of the above mentioned standards. It will
  142.    not be meaningful on its own.
  143.  
  144.    The 'well known' TCP port 102 is reserved for hosts which implement
  145.    the Protocol described in this document. Note that the Protocol does
  146.    not mandate the use of TCP port 102 for all connections.
  147.  
  148. 2. The Model
  149.  
  150.    This section describes the differences between the model used by the
  151.    ISO Transport and that described in this document.
  152.  
  153. 2.1 ISO Transport Model
  154.  
  155.    The ISO 8072 standard describes the ISO Transport Service Definition
  156.    (TS).  The ISO Transport Service Definition describes the services
  157.    offered by the Transport Service Provider and the interfaces used to
  158.    access these services.
  159.  
  160.    The ISO 8073 standard describes the ISO Transport Protocol
  161.    Specification (TP).  The ISO Transport Protocol specifies common
  162.    encoding rules and a number of classes of transport protocol
  163.    procedure which can be used with different network Quality of
  164.    Service.
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Pouffary & Young            Standards Track                     [Page 3]
  171.  
  172. RFC 2126              ISO Transport on top of TCP             March 1997
  173.  
  174.  
  175.    The ISO 8348 standard describes the ISO Network Service Definition
  176.    (NS).  The ISO Network Service Definition describes the services
  177.    offered by the network service Provider and the interfaces used to
  178.    access these services.
  179.  
  180.    The ISO Network Service specifies two type of service:
  181.  
  182.    - Connection Oriented Network Service (CONS)
  183.  
  184.    - ConnectionLess Network Service (CLNS)
  185.  
  186.    The ISO Transport Protocol specifies five classes of procedures when
  187.    operating over CONS and one class of procedure when operating over
  188.    CLNS.
  189.  
  190.    The relationship of these ISO standards is illustrated below:
  191.  
  192.             Transport Service User
  193.               |
  194.               |-ISO Transport Service Definition [ISO8072]
  195.               |
  196.          +--------------------------------------------------+
  197.          |  Transport Service Provider                      |
  198.          |  ISO Transport Protocol Specification [ISO8073]  |
  199.          +--------------------------------------------------+
  200.               |
  201.               |-ISO Network Service Definition [ISO8348]
  202.               |
  203.  
  204. 2.2 ISO Transport over TCP (ITOT) Model
  205.  
  206.    This document defines a model which provides ISO Transport Service,
  207.    with minor extensions, running over TCP.
  208.  
  209.    The ISO 8072 Transport Service is supported with minor modifications.
  210.    See section 3.1.
  211.  
  212.    The ISO 8073 Transport Protocol with some modifications is used to
  213.    provide the modified Transport Service.
  214.  
  215.    The Transmission Control Protocol is used in place of the ISO 8348 to
  216.    provide a CONS like service. See section 4.
  217.  
  218.    This document specifies a simple encapsulation mechanism between the
  219.    modified ISO 8073 Transport Protocol and the TCP.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Pouffary & Young            Standards Track                     [Page 4]
  227.  
  228. RFC 2126              ISO Transport on top of TCP             March 1997
  229.  
  230.  
  231.    ISO 8073 Transport Protocol specifies five classes when operating
  232.    over ISO 8348 CONS. This document specifies how to operate class 0
  233.    and 2 over TCP. This document does not prevent use of other classes
  234.    from operating over TCP, but their specification is beyond the scope
  235.    of this document.
  236.  
  237.    The relationship of these standards is illustrated below:
  238.  
  239.             Transport Service User
  240.               |
  241.               |-ISO Transport Service (modified)
  242.               |
  243.          +--------------------------------------------------+
  244.          |  Transport Service Provider                      |
  245.          |  ISO Transport Protocol (modified) Specification |
  246.          +--------------------------------------------------+
  247.               |
  248.               |-TCP as a Connection Oriented Network Service
  249.               |
  250.  
  251. 2.3 Overview of Protocol and Service
  252.  
  253.    This document defines use of the ISO Transport Protocol (with some
  254.    extensions) running over TCP. Two variants of the protocol are
  255.    defined, "Class 0 over TCP" and "Class 2 over TCP", which are based
  256.    closely on the ISO Transport Class 0 and 2 Protocol.
  257.  
  258.    Section 3 defines the Service offered to the Transport User by this
  259.    protocol, and shows the differences from the ISO Transport Service.
  260.    The mapping between the Service primitives in the ISO Network Service
  261.    and TCP are defined. Section 4 defines the Transport Protocol.
  262.  
  263. 3 Service Definition
  264.  
  265.    This section describes the Transport Service offered to the Transport
  266.    User.  It also defines the mapping between the Network Service
  267.    Definition and the TCP Service Definition.
  268.  
  269. 3.1 Transport Service Definition
  270.  
  271.    ISO 8072 Transport Service is supported with the following
  272.    extensions:
  273.  
  274.    - Use of Quality of Service parameter is not defined
  275.  
  276.    - Access to Non-disruptive Transport Disconnection
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Pouffary & Young            Standards Track                     [Page 5]
  283.  
  284. RFC 2126              ISO Transport on top of TCP             March 1997
  285.  
  286.  
  287. 3.1.1 Transport Service Definition Primitives
  288.  
  289.    Information is transferred to and from the TS-User in the Transport
  290.    Service primitives listed below:
  291.  
  292.    Actions
  293.  
  294.       T-CONNECT.REQUEST
  295.          - a TS-User indicates that it wants to establish transport
  296.            connection
  297.  
  298.       T-CONNECT.RESPONSE
  299.          - a TS-User indicates that it will honour the request
  300.  
  301.       T-DISCONNECT.REQUEST
  302.          - a TS-User indicates that the transport connection is to
  303.            be closed
  304.  
  305.       T-DATA.REQUEST
  306.          - a TS-User sends data
  307.  
  308.       T-EXPEDITED DATA.REQUEST
  309.          - a TS-User sends "expedited" data
  310.  
  311.    Events
  312.  
  313.       T-CONNECT.INDICATION
  314.          - a TS-User is notified that a transport connection
  315.            establishment is in progress
  316.  
  317.       T-CONNECT.CONFIRMATION
  318.          - a TS-User is notified that the transport connection has been
  319.            established
  320.  
  321.       T-DISCONNECT.INDICATION
  322.          - a TS-User is notified that the transport connection is closed
  323.  
  324.       T-DATA.INDICATION
  325.          - a TS-User is notified that data can be read from the transport
  326.               connection
  327.  
  328.       T-EXPEDITED_DATA.INDICATION
  329.          - a TS-User is notified that expedited data can be read from
  330.            the transport connection
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Pouffary & Young            Standards Track                     [Page 6]
  339.  
  340. RFC 2126              ISO Transport on top of TCP             March 1997
  341.  
  342.  
  343. 3.2 Network Service Definition
  344.  
  345.    This section describes how TCP is used to provide ISO 8348 CONS.
  346.  
  347. 3.2.1 ISO 8348 CONS primitives
  348.  
  349.    Information is transferred to and from the NS-provider in the Network
  350.    Service Primitives listed below:
  351.  
  352.    Actions
  353.  
  354.       N-CONNECT.REQUEST
  355.          - a NS-user indicates that it wants to establish a network
  356.            connection
  357.  
  358.       N-CONNECT.RESPONSE
  359.          - a NS-user indicates that it will honour the request
  360.  
  361.       N-DISCONNECT.REQUEST
  362.          - a NS-user indicates that the network connection is to be
  363.            closed
  364.  
  365.       N-DATA.REQUEST
  366.          - a NS-user sends data
  367.  
  368.       N-EXPEDITED_DATA.REQUEST
  369.          - a NS-user sends "expedited" data
  370.  
  371.    Events
  372.  
  373.       N-CONNECT.INDICATION
  374.          - a NS-user is notified that a network connection establishment
  375.            is in progress
  376.  
  377.       N-CONNECT.CONFIRMATION
  378.          - a NS-user is notified that the network connection has been
  379.            established
  380.  
  381.       N-DISCONNECT.INDICATION
  382.          - a NS-user is notified that the network connection is closed
  383.  
  384.       N-DATA.INDICATION
  385.          - a NS-user is notified that data can be read from the network
  386.            connection
  387.  
  388.       N-EXPEDITED_DATA.INDICATION
  389.          - a NS-user is notified that expedited data can be read from
  390.            the connection
  391.  
  392.  
  393.  
  394. Pouffary & Young            Standards Track                     [Page 7]
  395.  
  396. RFC 2126              ISO Transport on top of TCP             March 1997
  397.  
  398.  
  399. 3.2.2 TCP Service primitives
  400.  
  401.    The mapping between, ISO 8348 CONS primitives and TCP Service
  402.    primitives, defined in this document assumes that the TCP offers the
  403.    following service primitives:
  404.  
  405.    Actions
  406.  
  407.       TCP-LISTEN_PORT
  408.          - PASSIVE open on given port
  409.  
  410.       TCP-OPEN_PORT
  411.          - ACTIVE open to the given port
  412.  
  413.       TCP-READ_DATA
  414.         - data is read from the connection
  415.  
  416.       TCP-SEND_DATA
  417.         - data is sent on the connection
  418.  
  419.       TCP-CLOSE
  420.         - the connection is closed (pending data is sent)
  421.  
  422.    Events
  423.  
  424.       TCP-CONNECTED
  425.         - open succeeded (either ACTIVE or PASSIVE)
  426.  
  427.       TCP-CONNECT_FAIL
  428.         - ACTIVE open failed
  429.  
  430.       TCP-DATA_READY
  431.         - Data can be read from the connection
  432.  
  433.       TCP-ERRORED
  434.         - the connection has errored and is now closed
  435.  
  436.       TCP-CLOSED
  437.         - an orderly disconnection has started
  438.  
  439. 3.2.3 Mapping TCP as a Network Service Provider
  440.  
  441. 3.2.3.1 Network Connection Establishment
  442.  
  443.    In order to perform a N-CONNECT.REQUEST action, the TS-Provider
  444.    performs a TCP-OPEN_PORT to the desired IPv4 or IPv6 address using
  445.    the selected TCP port. When the TCP signals either success or
  446.    failure, this results in an N-CONNECT.INDICATION action.
  447.  
  448.  
  449.  
  450. Pouffary & Young            Standards Track                     [Page 8]
  451.  
  452. RFC 2126              ISO Transport on top of TCP             March 1997
  453.  
  454.  
  455.    In order to await a N-CONNECT.INDICATION event, a server performs a
  456.    TCP-LISTEN_PORT to the selected TCP port.  When a client successfully
  457.    connects to this port, the TCP-CONNECTED event occurs and an implicit
  458.    N-CONNECT.RESPONSE action is performed.
  459.  
  460.    Mapping parameters between the TCP service and the ISO 8348 CONS
  461.    service is done as follow:
  462.  
  463.    Network Service                 TCP
  464.    ---------------                 ---
  465.    CONNECTION ESTABLISHMENT
  466.  
  467.            Called address          server's IPv4 or IPv6 address
  468.                                    and TCP port number.
  469.  
  470.            Calling address         client's IPv4 or IPv6 address
  471.  
  472.            all others parameters   ignored
  473.  
  474.    Please also refer to 'Notes to Implementors' section 6.1.
  475.  
  476.    TCP port 102 is reserved for implementations conforming to this
  477.    specification.  Use of any TCP port is conformant to this
  478.    specification.
  479.  
  480. 3.2.3.2 Network Data Transfer
  481.  
  482.    In order perform a N-DATA.REQUEST action, the TS-provider constructs
  483.    the desired transport protocol data unit (TPDU), encapsulates the
  484.    TPDU in a discrete unit called TPKT and uses the TCP-SEND_DATA
  485.    primitive.  Please also refer to 'Notes to Implementors' section 6.2.
  486.  
  487.    In order to trigger a N-DATA.INDICATION action, the TCP indicates
  488.    that data is ready through TCP-DATA_READY event and a TPKT is read
  489.    using the TCP-READ_DATA primitive.
  490.  
  491.    Mapping parameters between the TCP service and the ISO 8348 CONS
  492.    service is done as follow:
  493.  
  494.    Network Service                 TCP
  495.    ---------------                 ---
  496.    DATA TRANSFER
  497.  
  498.            NS User Data (NSDU)     DATA
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Pouffary & Young            Standards Track                     [Page 9]
  507.  
  508. RFC 2126              ISO Transport on top of TCP             March 1997
  509.  
  510.  
  511. 3.2.3.3 Network Connection Release
  512.  
  513.    In order to perform an N-DISCONNECT.REQUEST action, the TS-provider
  514.    simply closes the TCP connection through TCP-CLOSE primitive.
  515.  
  516.    In order to trigger a N-DISCONNECT.INDICATION, the TCP indicates that
  517.    the connection has been closed through TCP-CLOSE event.  If the TCP
  518.    connection has failed the TCP indicates that the connection has been
  519.    closed through TCP-ERRORED event, this trigger a N-
  520.    DISCONNECT.INDICATION.
  521.  
  522.    Mapping parameters between the TCP service and the ISO 8348 CONS
  523.    service is done as follow:
  524.  
  525.    Network Service                 TCP
  526.    ---------------                 ---
  527.    CONNECTION RELEASE
  528.  
  529.            all parameters          ignored
  530.  
  531. 4. Transport Protocol Specification
  532.  
  533.    ISO 8073 Transport Protocol Classes 0 and 2 are supported with
  534.    extensions as defined in each subsections below.
  535.  
  536.    A Transport Protocol class is selected for a particular transport
  537.    connection based on the requirements of the TS-User.
  538.  
  539.    ISO 8073 Transport Protocol exchanges information between peers in
  540.    discrete units of information called transport protocol data units
  541.    (TPDU). The protocol defined in this document encapsulates these
  542.    TPDUs in discrete units termed Packets (TPKT).
  543.  
  544.    This document mandates the implementation of ISO 8073 Transport
  545.    Protocol options negotiation (which includes class negotiation).
  546.  
  547.    Please refer to 'Notes to Implementors' section 6.3 with respect to
  548.    Class negotiation and to the 'Rationale' section 7. with respect to
  549.    Interoperability with RFC1006.
  550.  
  551. 4.1 Class 0 over TCP
  552.  
  553.    Class 0 provides the functions needed for connection establishment
  554.    with negotiation, data transfer with segmentation, and protocol error
  555.    reporting.  It provides Transport Connection with flow control based
  556.    on that of the NS-provider (TCP).  It provides Transport
  557.    Disconnection based on the NS-provider Disconnection.
  558.  
  559.  
  560.  
  561.  
  562. Pouffary & Young            Standards Track                    [Page 10]
  563.  
  564. RFC 2126              ISO Transport on top of TCP             March 1997
  565.  
  566.  
  567.    Class 0 is suitable for data transfer with no Explicit Transport
  568.    Disconnection.
  569.  
  570. 4.1.1 Connection Establishment
  571.  
  572.    The principles used in connection establishment are based upon those
  573.    described in ISO 8073, with the following extensions:
  574.  
  575.    - Connect Data may be exchanged using the user data fields
  576.      of Connect Request (CR) and Connect Confirm (CC) TPDUs
  577.  
  578.    - Use of "Expedited Data Transfer Service" may be negotiated
  579.      using the negotiation mechanism specified in ISO 8073. The
  580.      default is to not use "Expedited Data Transfer Service".
  581.  
  582.    - Non-standard TPDU size may be negotiated using the negotiation
  583.      mechanism specified in ISO 8073. The maximum TPDU size is 65531
  584.      octets. The Default maximum TPDU size is 65531 octets.
  585.      Please refer to 'Notes to Implementors' section 6.4.
  586.  
  587. 4.1.2 Data Transfer
  588.  
  589.    The elements of procedure used during transfer are based upon those
  590.    presented in ISO 8073, with the following extension:
  591.  
  592.       - Expedited Data may be supported (if negotiated during connection
  593.         establishment) by sending the defined Expedited Data (ED) TPDU.
  594.  
  595.    The ED TPDU is sent inband on the same TCP connection as all of the
  596.    other TPDUs.
  597.  
  598.    To support Expedited Data a non-standard TPDU is defined. The format
  599.    used for the ED TPDU is nearly identical to the format for the Normal
  600.    Data (DT) TPDU. The only difference between ED TPDU and DT TPDU is
  601.    that the value used for the TPDU code is ED and not DT. The size of a
  602.    Expedited Data user data field is 1 to 16 octets.
  603.  
  604.    For TPDU bit encoding please refer to 'Notes to Implementors' section
  605.    6.5.
  606.  
  607. 4.1.3 Connection Release
  608.  
  609.    The elements of procedure used during a connection release are
  610.    identical to those presented in ISO 8073.
  611.  
  612.    Transport Disconnection is based on the NS-provider (TCP)
  613.    Disconnection and is therefore disruptive.
  614.  
  615.  
  616.  
  617.  
  618. Pouffary & Young            Standards Track                    [Page 11]
  619.  
  620. RFC 2126              ISO Transport on top of TCP             March 1997
  621.  
  622.  
  623. 4.2 Class 2 over TCP
  624.  
  625.    Class 2 provides the functions needed for connection establishment
  626.    with negotiation, data transfer with segmentation, and protocol error
  627.    reporting.  It provides Transport Connection with flow control based
  628.    on that of the NS-provider (TCP). It provides Explicit Transport
  629.    Disconnection.
  630.  
  631.    Class 2 is suitable when independence of Normal and Expedited Data
  632.    channels are required or when Explicit Transport Disconnection is
  633.    needed.
  634.  
  635. 4.2.1 Connection Establishment
  636.  
  637.    The principles used in connection establishment are based upon those
  638.    described in ISO 8073, with the following extensions:
  639.  
  640.    - Connection Request and Connection Confirmation TPDUs may
  641.      negotiate use of "Transport Expedited Data Transfer" service.
  642.      "Transport Expedited Data Transfer" service is selected
  643.      by setting bit 1 of the "Additional Option" parameter,
  644.      and is negotiated using the mechanism specified in ISO 8073.
  645.  
  646.      The default is to not use "Transport Expedited Data Transfer
  647.      Service".
  648.  
  649.    - Connection Request and Connection Confirmation TPDUs may
  650.      negotiate use of "Expedited Data Acknowledgement".
  651.      "Expedited Data Acknowledgement" is selected by setting
  652.      bit 6 of the "Additional Option" parameter, and is
  653.      negotiated using the mechanism specified in ISO 8073.
  654.  
  655.      The default is to not use "Expedited Data Acknowledgement"
  656.      for Expedited Data transfer.
  657.  
  658.    - Connection Request and Connection Confirmation TPDUs may
  659.      negotiate use of the "Non-blocking Expedited Data" service.
  660.      "Non-blocking Expedited Data" is selected by setting
  661.      bit 7 of the "Additional Option" parameter, and is
  662.      negotiated using the mechanism specified in ISO 8073.
  663.  
  664.      The default is to not use the "Non-blocking Expedited
  665.      Data" service.
  666.  
  667.    - Connection Request and Connection Confirmation TPDUs may
  668.      negotiate use of either "Forward Connection (Splitting
  669.      and Recombining)" or "Reverse Connection" procedure for
  670.      Expedited Data transfer.
  671.  
  672.  
  673.  
  674. Pouffary & Young            Standards Track                    [Page 12]
  675.  
  676. RFC 2126              ISO Transport on top of TCP             March 1997
  677.  
  678.  
  679.      Use of "Forward Connection" or use of "Reverse Connection"
  680.      procedure is selected by setting bit 4 of the "Additional
  681.      Option" parameter, and is negotiated using the mechanism
  682.      specified in ISO 8073.
  683.  
  684.      The default is to use "Forward Connection" procedure for
  685.      Expedited Data transfer.
  686.  
  687.    - Connection Request and Connection Confirmation TPDUs must not
  688.      negotiate the use of "Explicit Flow Control".
  689.  
  690.    - Non-standard TPDU size may be negotiated using the negotiation
  691.      mechanism specified in ISO 8073. The maximum TPDU size is 65531
  692.      octets. The default maximum TPDU size is 65531 octets.
  693.      Please refer to 'Notes to Implementors' section 6.4.
  694.  
  695.    In the absence of a Flow Control policy, the use of ISO 8073
  696.    Multiplexing procedure lead to degradation of the quality of service.
  697.    The Protocol defined in this document does not supported
  698.    Multiplexing.
  699.  
  700.    For the values of the "Additional Option" parameter please refer to
  701.    'Notes to Implementors' section 6.6.
  702.  
  703.    For Class 2 options Profile please also refer to 'Notes to
  704.    Implementors' section 6.6.
  705.  
  706. 4.2.2 Data Transfer
  707.  
  708.    The elements of procedure used during transfer are based upon those
  709.    presented in ISO 8073, with the following extensions:
  710.  
  711.    - Expedited Data may be supported (if negotiated during connection
  712.      establishment) by sending Expedited Data (ED) TPDU.
  713.  
  714.    - "Expedited Data Acknowledgement" may be supported (if negotiated
  715.      during connection establishment) by sending Expedited Data
  716.      Acknowledgement (EA) TPDU.
  717.  
  718.      When using "Expedited Data Acknowledgement", ED TPDUs require
  719.      acknowledgement, and once an ED TPDU is transmitted no further
  720.      DT/ED TPDUs may be sent until the outstanding ED TPDU has been
  721.      acknowledged.
  722.  
  723.      When non-use of "Expedited Data Acknowledgement" has been
  724.      negotiated, ED TPDUs require no acknowledgement, and further DT/ED
  725.      TPDUs may be sent immediatly.
  726.  
  727.  
  728.  
  729.  
  730. Pouffary & Young            Standards Track                    [Page 13]
  731.  
  732. RFC 2126              ISO Transport on top of TCP             March 1997
  733.  
  734.  
  735.      Please refer to 'Notes to Implementors' section 6.7 and section
  736.      6.8.
  737.  
  738.    - "Non-blocking Expedited Data" service may be supported (if
  739.      negotiated during connection establishment).
  740.  
  741.      When using "Non-blocking Expedited Data" service, the sender of an
  742.      ED TPDU shall send the ED TPDU on both the Normal Data and
  743.      Expedited Data TCP connections. Transmission of subsequent DT TPDU
  744.      will not be interrupted.  The receiver of ED TPDU counts how many
  745.      ED TPDU it has seen on each TCP connection, and will only deliver
  746.      to the TS-User the ED TPDU from the TCP connection with the higher
  747.      count.
  748.  
  749.      When non-use of "Non-blocking Expedited Data" has been negotiated,
  750.      ED TPDUs will not be duplicated.
  751.  
  752.      Please refer to 'Notes to Implementors' section 6.7 and section
  753.      6.8.
  754.  
  755.    - For Expedited Data transfer, there are two possible
  756.      procedures for the establishment and assignment of the Expedited
  757.      Data TCP connection. Which one is used is negotiated during
  758.      connection establishment.
  759.  
  760.      Both the "Forward Connection" procedure and "Reverse Connection"
  761.      procedure guarantee independence of the Normal Data TCP connection
  762.      from the Expedited Data TCP connection. They also ensure that a
  763.      busy Normal Data TCP connection cannot block an Expedited Data TCP
  764.      connection.
  765.  
  766.      The Expedited Data TCP connection created by either procedure must
  767.      be between the same pair of hosts as the Normal Data TCP
  768.      connection, must not be shared among Transport Connections, and
  769.      must remain established until the Transport Connection is
  770.      terminated, at which time it must be closed.
  771.  
  772.      TCP connections created for Expedited Data transfer should also use
  773.      the TCP primitives defined in this document.
  774.  
  775.      The Forward Connection (Splitting and Recombining) procedure is
  776.      defined in ISO 8073. This procedure allows a transport connection
  777.      to make use of multiple TCP connections. Please refer to 'Notes to
  778.      Implementors' section 6.9.
  779.  
  780.      The Reverse Connection procedure is not defined in ISO 8073.  When
  781.      using the Reverse Connection procedure the initiator of a Transport
  782.      Connection creates a Normal Data TCP connection using an
  783.  
  784.  
  785.  
  786. Pouffary & Young            Standards Track                    [Page 14]
  787.  
  788. RFC 2126              ISO Transport on top of TCP             March 1997
  789.  
  790.  
  791.      arbitrarily-chosen local TCP port 'x' and a known remote TCP port
  792.      (either the ITOT well-known port, or some other). The initiator
  793.      listens for an incoming TCP connection on the TCP port 'x'. The
  794.      responder of the Transport Connection must create a second TCP
  795.      connection (to be used for Expedited Data) using an arbitrarily-
  796.      chosen local TCP port 'y' and the remote TCP port 'x' , before it
  797.      can issue a CC TPDU on the Normal Data TCP connection. The
  798.      initiator need not listen for further TCP connections on port 'x'
  799.      after the Expedited Data TCP connection is established.
  800.  
  801. 4.2.3 Connection Release
  802.  
  803.    The elements of procedure used during a connection release are based
  804.    upon those described in ISO 8073. A connection can be terminated by
  805.    the TS-user in one of two ways:
  806.  
  807.    - Disruptive Disconnect
  808.  
  809.    - Non-Disruptive Disconnect
  810.  
  811.    Disconnect Request (DR) and Disconnect Confirm (DC) TPDUs are
  812.    exchanged in both cases. The DR TPDU carries a Reason code indicating
  813.    the reason for the Disconnection.
  814.  
  815.    Disruptive Disconnect specifies that all TPDUs still at the source
  816.    are not required to be sent to the destination before the connection
  817.    is disconnected. The DR Reason code is normal (80 hex).
  818.  
  819.    Non-Disruptive Disconnect specifies that all TPDUs already given to
  820.    the local TS-provider must be delivered to the remote TS-user, before
  821.    the connection is disconnected. The DR Reason code is normal (80 hex)
  822.    with Additional Information parameter value set to 80 hex.
  823.  
  824. 4.3 TPKT Packet Format
  825.  
  826.    A fundamental difference between the TCP and the ISO Network Service
  827.    expected by ISO Transport is that the TCP manages a continuous stream
  828.    of octets, with no explicit boundaries.
  829.  
  830.    ISO Transport expects information to be sent and delivered in
  831.    discrete objects termed Network Service Data Units (NSDU). Although
  832.    ISO Transport allows combination of more than one TPDU inside a
  833.    single NSDU for the purposes of discussion an NSDU is identical to a
  834.    TPDU. Please refer to ISO 8073 for the valid set of concatenated
  835.    TPDUs.
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Pouffary & Young            Standards Track                    [Page 15]
  843.  
  844. RFC 2126              ISO Transport on top of TCP             March 1997
  845.  
  846.  
  847.    The protocol described by this memo uses a simple packetization
  848.    scheme in order to delimit TPDU.  Each packet (TPKT), is viewed as an
  849.    object of variable length composed of an integral number of octets.
  850.  
  851.    A TPKT consists of two part:
  852.  
  853.    - a Packet Header
  854.  
  855.    - a TPDU.
  856.  
  857.    The format of the Packet Header is constant regardless of the type of
  858.    TPDU. The format of the Packet Header is as follows:
  859.  
  860.    +--------+--------+----------------+-----------....---------------+
  861.    |version |reserved| packet length  |             TPDU             |
  862.    +----------------------------------------------....---------------+
  863.    <8 bits> <8 bits> <   16 bits    > <       variable length       >
  864.  
  865.    where:
  866.  
  867.    - Protocol Version Number
  868.      length: 8 bits
  869.      Value:  3
  870.  
  871.    - Reserved
  872.      length: 8 bits
  873.      Value:  0 - (See 'Notes to Implementors' section 6.10)
  874.  
  875.    - Packet Length
  876.      length: 16 bits
  877.      Value:  Length of the entire TPKT in octets, including Packet
  878.              Header
  879.  
  880.    - TPDU
  881.      ISO Transport TPDU as defined in ISO 8073 and as defined in this
  882.      document.
  883.  
  884. 5. Address representations
  885.  
  886.    It is desirable to be able to represent ITOT access point addresses
  887.    as:
  888.  
  889.       - Printable strings
  890.  
  891.       - OSI Network Addresses (often known as NSAP addresses
  892.         or simply NSAPAs)
  893.  
  894.    This section defines the formats which MUST be used in each case.
  895.  
  896.  
  897.  
  898. Pouffary & Young            Standards Track                    [Page 16]
  899.  
  900. RFC 2126              ISO Transport on top of TCP             March 1997
  901.  
  902.  
  903. 5.1 String representation of ITOT access point addresses
  904.  
  905.    RFC1278 [RFC1278] defines a general string representation for OSI
  906.    Presentation Addresses, including specific reference to RFC1006
  907.    addresses which encapsulate IPv4 addresses. RFC1278 is also
  908.    applicable to ITOT addresses which encapsulate IPv4 addresses.
  909.  
  910.    This RFC is currently being updated to define a string representation
  911.    for ITOT addresses which encapsulate IPv6 addresses.
  912.  
  913.    ITOT access point address string representation specify an IP address
  914.    (IPv4 or IPv6) and an optional TCP port number.
  915.  
  916. 5.2 OSI Network Address encoding
  917.  
  918.    RFC1277 [RFC1277] defines a general mechanism to encode addressing
  919.    information within OSI Network Addresses (NSAPA), including specific
  920.    reference to RFC1006 using IPv4. RFC1277 is also applicable to ITOT
  921.    addresses using IPv4.
  922.  
  923.    The RFC "IPv6 addresses inside an NSAPA" [IPv6] defines general
  924.    mechanisms for the support of NSAP addressing in an IPv6 network. It
  925.    also defines how to embed an IPv6 address inside a OSI NSAP address.
  926.  
  927.    This RFC is applicable to ITOT addresses using IPv6. For ITOT
  928.    addresses, the default selector of the NSAPA is defined to have the
  929.    value '10000000'B.
  930.  
  931.    It should be noted that given that an IPv6 addresses can encode IPv4
  932.    addresses, this format can also encode ITOT addresses using IPv4.
  933.  
  934. 6. Notes to Implementors
  935.  
  936. 6.1 TCP Connection Establishment
  937.  
  938.    Implementors should be aware that ISO transport protocols assume that
  939.    they will be told by the network service provider (in this case
  940.    TCP/IP) when the network connection being used to transmit their
  941.    TPDUs is unexpectedly terminated.  It is therefore strongly suggested
  942.    that the TCP keep alive mechanism be selected, as this ensures
  943.    reporting of network connection loss.
  944.  
  945. 6.2 TCP Data transfer
  946.  
  947.    For performance reason it is suggested that the Nagle algorithm [RFC
  948.    896] be disabled (using the TCP_NODELAY socket option). This feature
  949.    allows TPKT data to be sent without delay.
  950.  
  951.  
  952.  
  953.  
  954. Pouffary & Young            Standards Track                    [Page 17]
  955.  
  956. RFC 2126              ISO Transport on top of TCP             March 1997
  957.  
  958.  
  959. 6.3 Class negotiation
  960.  
  961.    The principle used in Class negotiation is identical to those
  962.    described in ISO 8073. Class and options are negotiated during
  963.    Connection establishment. The choice made by the Transport will
  964.    depend upon the TS-User requirements as expressed via T-CONNECT
  965.    service primitives.
  966.  
  967.    The initiator of the Transport Connection proposes a preferred class
  968.    and may propose an alternative class.
  969.  
  970.    The responder selects one class defined in the table below.
  971.  
  972.    If the preferred class is not selected then on receipt of the connect
  973.    confirm TPDU the initiator adjusts its operation according to the
  974.    class selected.
  975.  
  976.    +---------------------------------------------+----------------------+
  977.    |           Proposed in CR TPDU               |      CC TPDU         |
  978.    |                                             |                      |
  979.    |Preferred class     |    Alternative class   |      Response        |
  980.    +--------------------+------------------------+----------------------+
  981.    |                    |                        |                      |
  982.    |class 0             |    none                |      class 0         |
  983.    |                    |                        |                      |
  984.    |class 2             |    class 0             |      class 2 or 0    |
  985.    |                    |                        |                      |
  986.    |class 2             |    none                |      class 2         |
  987.    |                    |                        |                      |
  988.    +---------------------------------------------+----------------------+
  989.  
  990. 6.4 Default maximum TPDU size
  991.  
  992.    The default maximum TPDU size value specified in this document breaks
  993.    ISO Transport negotiation rule which states that the maximum TPDU
  994.    size specified or defaulted by the CC TPDU cannot be greater than the
  995.    maximum TPDU size proposed by the CR TPDU.
  996.  
  997.    To avoid the consequences of this, it is strongly recommended that
  998.    the CC TPDU always specifies the maximum TPDU size value.
  999.  
  1000. 6.5 Class 0 TPDU bit encoding
  1001.  
  1002.    This protocol no longer allows credit and TPDU-NR (bits 0 to 6)
  1003.    fields to be ignored on input, which is in line with ISO 8073
  1004.    encoding rules.  RFC1006 TPDU encoding defined inconsistent encoding
  1005.    rules.
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Pouffary & Young            Standards Track                    [Page 18]
  1011.  
  1012. RFC 2126              ISO Transport on top of TCP             March 1997
  1013.  
  1014.  
  1015. 6.6 Class 2 Options
  1016.  
  1017.    Class 2 Additional Option parameter value
  1018.  
  1019.    +--------------------------------------------------------------------+
  1020.    |  BIT   |                    OPTION                                 |
  1021.    +--------------------------------------------------------------------+
  1022.    |        |                                                           |
  1023.    |    8   | Not applicable                                            |
  1024.    |        |                                                           |
  1025.    |    7   | = 1 Use of Non-blocking Expedited Data                    |
  1026.    |        | = 0 Non-use of Non-blocking Expedited Data (default)      |
  1027.    |        |                                                           |
  1028.    |(*) 6   | = 1 Use of Expedited Data Acknowledgement                 |
  1029.    |        | = 0 non-use of Expedited Data Acknowledgement (default)   |
  1030.    |        |                                                           |
  1031.    |    5   | Not applicable                                            |
  1032.    |        |                                                           |
  1033.    |(*) 4   | = 1 Use of Reverse Connection procedure                   |
  1034.    |        | = 0 Use of Forward Connection procedure (default)         |
  1035.    |        |                                                           |
  1036.    |    3   | Not applicable                                            |
  1037.    |        |                                                           |
  1038.    |    2   | Not applicable                                            |
  1039.    |        |                                                           |
  1040.    |    1   | = 1 Use of Transport Expedited Data Service               |
  1041.    |        | = 0 Non-use of Transport Expedited Data Service (default) |
  1042.    |        |                                                           |
  1043.    +--------------------------------------------------------------------+
  1044.  
  1045.    (*) In ISO 8073, bit 4 is defined as use of "Network Expedited"  and
  1046.    bit 6 is defined as "Request Acknowledgement".
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Pouffary & Young            Standards Track                    [Page 19]
  1067.  
  1068. RFC 2126              ISO Transport on top of TCP             March 1997
  1069.  
  1070.  
  1071.    Class 2 Options Profile
  1072.  
  1073.    +--------------------------------------------------------------------+
  1074.    |  Bits     Service selected                                         |
  1075.    | 1 4 6 7                                                            |
  1076.    +--------------------------------------------------------------------+
  1077.    | 0 x x x   Non-use of Transport Expedited Data Service              |
  1078.    |           ---------------------------------------------------------|
  1079.    |                        Bits 4 6 7 are not applicable (*)           |
  1080.    +--------------------------------------------------------------------+
  1081.    | 1 x x x   Use of Transport Expedited Data Service                  |
  1082.    |           ---------------------------------------------------------|
  1083.    | 1 0 x x       Use of Expedited Data Service with Forward Connection|
  1084.    |               -----------------------------------------------------|
  1085.    | 1 0 1 0                Forward Connection with Expedited Data      |
  1086.    |                        Acknowledgement                             |
  1087.    | 1 0 1 1                Forward Connection with Expedited Data      |
  1088.    |                        Acknowledgement and use of Non-blocking     |
  1089.    |                        Expedited Data  (**)                        |
  1090.    |                        --------------------------------------------|
  1091.    | 1 0 0 0                Forward Connection with non-use of Expedited|
  1092.    |                        Data Acknowledgement  (***)                 |
  1093.    | 1 0 0 1                Forward Connection with non-use of Expedited|
  1094.    |                        Data Acknowledgement and use of Non-blocking|
  1095.    |                        Expedited Data                              |
  1096.    |               -----------------------------------------------------|
  1097.    | 1 1 x x       Use of Expedited Data Service with Reverse Connection|
  1098.    |               -----------------------------------------------------|
  1099.    | 1 1 1 0                Reverse Connection with Expedited Data      |
  1100.    |                        Acknowledgement                             |
  1101.    | 1 1 1 1                Reverse Connection with Expedited Data      |
  1102.    |                        Acknowledgement and use of Non-blocking     |
  1103.    |                        Expedited Data  (**)                        |
  1104.    |                        --------------------------------------------|
  1105.    | 1 1 0 0                Reverse Connection with non-use of Expedited|
  1106.    |                        Data Acknowledgement  (***)                 |
  1107.    | 1 1 0 1                Reverse Connection with non-use of Expedited|
  1108.    |                        Data Acknowledgement and use of Non-blocking|
  1109.    |                        Expedited Data                              |
  1110.    +--------------------------------------------------------------------+
  1111.  
  1112.    (*) Note the default (0000) provides an RFC1006-like service with
  1113.    Explicit Transport Disconnection.
  1114.  
  1115.    (**) Note in this case use of Expedited Data Acknowledgement with use
  1116.    of Non-blocking Expedited Data is a wasted effort (See section 6.5)
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Pouffary & Young            Standards Track                    [Page 20]
  1123.  
  1124. RFC 2126              ISO Transport on top of TCP             March 1997
  1125.  
  1126.  
  1127.    (***) Note in this case Normal and Expedited Data TPDU are not
  1128.    synchronised. (See section 6.6)
  1129.  
  1130. 6.7 Class 2 Expedited Data Acknowledgement
  1131.  
  1132.    The Protocol specified in this document does not define any
  1133.    relationship between use of "Expedited Data Acknowledgement" option
  1134.    and use of "Non-blocking Expedited Data" service.
  1135.  
  1136.    However please note that when using "Non-blocking Expedited Data"
  1137.    service it is a wasted effort to use "Expedited Data
  1138.    Acknowledgement", since ED TPDUs are duplicated and sent on both the
  1139.    Normal Data and Expedited Data TCP connections.
  1140.  
  1141. 6.8 Class 2 Normal Data and Expedited Data handling
  1142.  
  1143.    There exist two separate application requirements for using Expedited
  1144.    Data:
  1145.  
  1146.    1- Synchronisation of the order of delivery between Normal
  1147.       and Expedited Data TPDU.
  1148.  
  1149.    2- Independence of Normal and Expedited data channels. A busy
  1150.       Normal Data channel should not block an Expedited Data channel.
  1151.  
  1152.    The protocol described in this document can accommodate both
  1153.    requirements, separately or in combination.
  1154.  
  1155.    Synchronisation:
  1156.       If synchronised order of delivery between Normal and Expedited
  1157.       Data TPDU is required then use of either "Expedited Data
  1158.       Acknowledgement" TPDU or use of the "Non-blocking Expedited Data"
  1159.       service must be negotiated during connection establishment.
  1160.  
  1161.       If synchronised order of delivery between Normal and Expedited
  1162.       Data TPDU is not required then non-use of "Expedited Data
  1163.       Acknowledgement" need not be negotiated during connection
  1164.       establishment.
  1165.  
  1166.    Independence:
  1167.       If Independence of Normal and Expedited data channels is required
  1168.       then Forward or Reverse connection must be negotiated during
  1169.       connection establishment. Expedited data TPDU must be sent on the
  1170.       Expedited data channel.
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Pouffary & Young            Standards Track                    [Page 21]
  1179.  
  1180. RFC 2126              ISO Transport on top of TCP             March 1997
  1181.  
  1182.  
  1183.       If Independence of Normal and Expedited data channels is not
  1184.       required then Forward connection should be negotiated during
  1185.       connection establishment and the Expedited data channels should
  1186.       never be established. Expedited data TPDU is then sent inband on
  1187.       the Normal data channel.
  1188.  
  1189.    Finally please note that independence of Normal and Expedited data
  1190.    channels without synchronisation relaxes the Transport Service
  1191.    definition of Expedited data and is not consistent with ISO 8072.
  1192.  
  1193. 6.9 Class 2 Forward Connection procedure
  1194.  
  1195.    As defined in ISO 8073, when "Forward Connection" (Splitting and
  1196.    Recombining) procedure is used for Expedited Data transmission, ED
  1197.    TPDU must only be sent over an outgoing NS-provider TCP connection.
  1198.  
  1199.    As defined in ISO 8073, this document does not mandates use of the
  1200.    Splitting procedure for Expedited Data transmission. The
  1201.    Recombination procedure, which associates Data (normal and expedited)
  1202.    TPDUs arriving for a transport connection over two TCP connections
  1203.    must be handled.
  1204.  
  1205.    It is legal to send Expedited Data TPDU inband on the Normal Data TCP
  1206.    connection.
  1207.  
  1208.    Please note that the protocol specified in this document does not
  1209.    define when an Expedited Data TCP connection should be established.
  1210.    This is an implementation choice.
  1211.  
  1212.    When using "Non-blocking Expedited Data" service it is recommended to
  1213.    not delay establishing Expedited Data TCP connection.
  1214.  
  1215. 6.10 TPKT
  1216.  
  1217.    This document specifies the value of the TPKT reserved field.
  1218.  
  1219.    Implementation should not interpret and act upon any value in a
  1220.    reserved field. To avoid Interoperability issues with RFC1006, this
  1221.    field should be ignored on input.
  1222.  
  1223. 7. Rationale - Interoperability with RFC1006
  1224.  
  1225.    We have chosen to maintain the same TPKT protocol version in ITOT as
  1226.    in RFC1006 (version 3). The reason for this decision is that the
  1227.    changes in this document do not conflict with RFC1006. If we were to
  1228.    change the protocol version we would prevent existing RFC1006
  1229.    implementations which mandate version 3 from interoperating with the
  1230.    protocol defined in this document.
  1231.  
  1232.  
  1233.  
  1234. Pouffary & Young            Standards Track                    [Page 22]
  1235.  
  1236. RFC 2126              ISO Transport on top of TCP             March 1997
  1237.  
  1238.  
  1239.    One consequence of this decision relates to class negotiation.  The
  1240.    protocol described in this document introduces Class 2 over TCP, and
  1241.    it therefore introduces the need to be able to perform class
  1242.    negotiation between Class 2 and Class 0.  While all Transport
  1243.    implementations should be able to handle Class negotiation, we
  1244.    recognise that some RFC1006 implementations cannot. Therefore
  1245.    Implementors should be aware that Class 2 Connect Request (with no
  1246.    Alternative class) could be accepted with a Class 0 Connect Confirm,
  1247.    at which point the Connect Confirm should be rejected as specified in
  1248.    ISO 8073.
  1249.  
  1250. 8. Security Considerations
  1251.  
  1252.    Security issues are not specifically addressed in this document.
  1253.    Operation of this protocol is no more and no less secure than
  1254.    operation of TCP and ISO 8073 protocols. The reader is directed there
  1255.    for further reading.
  1256.  
  1257. Acknowledgements
  1258.  
  1259.    The authors are pleased to acknowledge the suggestions and comments
  1260.    of Harald T. Alvestrand, Jim Bound, John Day, Mike Dyer, Peter
  1261.    Furniss, Dan Harrington, Steve Kille, Keith G. Knightson, Keith
  1262.    Sklower, Matt Thomas, Robert Watson and many other members of the
  1263.    IETF TOSI mailing list. The support of Allison Mankin of the IESG was
  1264.    essential.
  1265.  
  1266. References
  1267.  
  1268.    [ISO8072]  ISO. "International Standard 8072.  Information Processing
  1269.               Systems - Open Systems Interconnection: Transport Service
  1270.               Definition."
  1271.  
  1272.    [ISO8073]  ISO. "International Standard 8073.  Information Processing
  1273.               Systems - Open Systems Interconnection: Transport Protocol
  1274.               Specification." ISO 8073:1992 and 8073:1992/Amd.5:1995.
  1275.  
  1276.    [ISO8348]  ISO. "International Standard 8348.  Information Processing
  1277.               Systems - Open Systems Interconnection: Network Service
  1278.               Definition."
  1279.  
  1280.    [RFC791]   Postel, J., "Internet Protocol", STD 5, RFC 791,
  1281.               September 1981.
  1282.  
  1283.    [RFC793]   Postel, J., "Transmission Control Protocol", STD 7,
  1284.               RFC 793, September 1981.
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Pouffary & Young            Standards Track                    [Page 23]
  1291.  
  1292. RFC 2126              ISO Transport on top of TCP             March 1997
  1293.  
  1294.  
  1295.    [RFC896]   Nagle, J., "Congestion Control in IP/TCP Inertnetworks",
  1296.               RFC 896, January 1984.
  1297.  
  1298.    [RFC1006]  Rose, M., and D. Cass, "ISO Transport Services on Top of
  1299.               the TCP Version 3", STD 35, RFC 1006, May 1987.
  1300.  
  1301.    [RFC1277]  Hardcastle-Kille, S., "Encoding Network Addresses to
  1302.               support operation over non-OSI lower layers", RFC 1277,
  1303.               November 1991.
  1304.  
  1305.    [RFC1278]  Hardcastle-Kille, S., "String encoding of Presentation
  1306.               Address", RFC 1278, November 1991.
  1307.  
  1308.               A string encoding of Presentation Address
  1309.               update to RFC1278, Work in Progress.
  1310.  
  1311.    [RFC1859]  Pouffary, Y., "ISO Transport Class 2 Non-use of Explicit
  1312.               Flow Control over TCP - RFC1006 extension", RFC 1859,
  1313.               October 1995.
  1314.  
  1315.    [IPV6]     Deering, S., and R. Hinden, "Internet Protocol, Version 6
  1316.               (IPv6) Specification", RFC 1883, December 1995.
  1317.  
  1318.               Hinden,, R., and S. Deeing, "IP Version 6 Addressing
  1319.               Architecture", RFC 1884, December 1995.
  1320.  
  1321.               Bound, J., Carpenter, B., Harrington, D., Houldsworth, J.,
  1322.               and A. Lloyd, "OSI NSAPs and IPv6", RFC 1888, August 1996.
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Pouffary & Young            Standards Track                    [Page 24]
  1347.  
  1348. RFC 2126              ISO Transport on top of TCP             March 1997
  1349.  
  1350.  
  1351. Authors' Addresses
  1352.  
  1353.    Yanick Pouffary
  1354.    End Systems Networking
  1355.    Digital Equipment Corporation
  1356.    Centre Technique (Europe)
  1357.    B.P. 027
  1358.    950 Routes des colles
  1359.    06901 Sophia antipolis, France
  1360.  
  1361.    Phone: +33 92-95-62-85
  1362.    Fax:   +33 92-95-62-35
  1363.    EMail: pouffary@taec.enet.dec.com
  1364.  
  1365.  
  1366.    Alan Young
  1367.    ISODE Consortium
  1368.    The Dome
  1369.    The Square
  1370.    Richmond, UK
  1371.  
  1372.    Phone: +44 181 332 9091
  1373.    Fax:   +44 181 332 9019
  1374.    EMail: A.Young@isode.com
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Pouffary & Young            Standards Track                    [Page 25]
  1403.  
  1404.