rfc787.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,404 行 · 第 1/5 页

TXT
1,404
字号
      c) systems.

 The assumption that a connection is a  fundamental  prerequisite
 for communication in the OSI environment permeates the Reference
 Model, and is in fact one  of  the  most  useful  and  important
 unifying concepts of the  architecture.   A  growing  number  of
 experts in the field, however, believe that  this  deeply-rooted
 connection orientation seriously and  unnecessarily  limits  the
 power and scope of the Reference  Model,  since  it  excludes  a
 large class of applications and implementation technologies that
 have an inherently connectionless nature.  They argue  that  the
 architectural objectives of the Reference Model do not depend on
 the  exclusive  use  of  connections  to  characterize  all  OSI
 interactions, and recommend that the two alternatives -  connec-
 tion oriented data transfer, and connectionless  data  transmis-
 sion - be  treated  as  complementary  concepts,  which  can  be
 applied in parallel to the different applications for which each
 is suited.

 At the November, 1980 meeting of the ISO subcommittee  responsi-
 ble for OSI (TC97/SC16), a working party laid a solid foundation
 for this argument in two documents: Report of the Ad  Hoc  Group

Connectionless Data Transmission, Rev. 1.00



 on Connectionless Data Transmission[3], and Recommended  Changes
 to Section 3 of [the Reference Model] to Include  Connectionless
 Data Transmission[2];  and  the  importance  of  the  issue  was
 recognized by the full subcommittee in a resolution[25]  calling
 for comments on the two documents from all member organizations.
 The question of how the connectionless data transmission concept
 should be reflected in the OSI architecture - and in particular,
 whether or not it should become an  integral  part  of  the  Re-
 ference Model - will be debated  again  this  summer,  when  the
 current Draft Proposed Standard Reference Model becomes a  Draft
 International Standard.  The  remainder  of  this  article  will
 explore the issues that surround this question.


 2  What Is Connectionless Data Transmission?


 Connectionless data transmission (CDT), despite  the  unfamiliar
 name, is by no means a new concept.  In one form or another,  it
 has played an important role in the  specification  of  services
 and protocols for over a decade.  The terms "message  mode"[  ],
 "datagram"[35],      "transaction      mode"[22,23,24],      and
 "connection-free"[37,47] have been used  in  the  literature  to
 describe variations on the same basic theme: the transmission of
 a  data  unit  in  a  single  self-contained  operation  without
 establishing, maintaining, and terminating a connection.

 Since connectionless data transmission  and  connection-oriented
 data transfer are complementary concepts, they are  best  under-
 stood in juxtaposition, particularly since  CDT  is  most  often
 defined by its relationship to the more familiar  concept  of  a
 connection.


 2.1  Connection-Oriented Data Transfer


 A connection (or "(N)-connection", in the formal terminology  of
 OSI) is an association established between two or more  entities
 ("(N+1)-entities")          for          conveying          data
 ("(N)-service-data-units").    The    ability    to    establish
 (N)-connections, and to convey data units over them, is provided
 to (N+1)-entities by the (N)-layer as a set of services,  called
 connection-oriented (N)-services.  Connection-oriented  interac-
 tions proceed through three distinct sequential phases:  connec-
 tion  establishment;  data  transfer;  and  connection  release.
 Figure 2 illustrates schematically the  sequence  of  operations
 associated with connection-oriented interactions.   In  addition
 to this explicitly distinguishable duration,  or  "lifetime",  a
 connection exhibits the following fundamental characteristics:

                     Connection Establishment
                     ------------------------

       - Successful -                        - Unsuccessful -


  (N)-  |          |                     (N)-  |          |
connect |          |(N)-connect        connect |          |  (N)-
------->|          |indication         ------->|          | connect
request |          |                   request |          |indication
        |          |------->                   |          |------->
        |(N)-LAYER |                           |(N)-LAYER |
  (N)-  |          |<-------            (N)-   |          |<-------
connect |          |                disconnect |          |  (N)-
<-------|          |(N)-connect        <-------|          |disconnect
confirm |          | response       indication |          | request
        |          |                           |          |



                          Data Transfer
                          -------------

  (N)-  |          |                     (N)-  |          |
  data  |          | (N)-data            data  |          |
------->|          |indication         ------->|          |  (N)-
request |          |                   request |          |  data
        |          |------->                   |          |indication
        |(N)-LAYER |                           |(N)-LAYER |------->
        |          |                     (N)-  |          |
        |          |                     data  |          |
        |          |                   <-------|          |
        |          |                   confirm |          |
        |          |                           |          |



                        Connection Release
                        ------------------

     - User Initiated -                   - Provider Initiated -


(N)-dis |          |                           |          |
connect |          |                     (N)-  |          |  (N)-
------->|(N)-LAYER |(N)-disconnect   disconnect|(N)-LAYER |disconnect
request |          |indication         <-------|          |------->
        |          |------->         indication|          |indication
        |          |                           |          |




            FIGURE 2 - Connection Oriented Interaction

Connectionless Data Transmission, Rev. 1.00




         [Note: Much of the material in this  section  is
         derived from reference 3]


 1.  Prior negotiation.

 In a connection-oriented interaction,  no  connection  is  esta-
 blished - and no data are transferred - until all parties  agree
 on the set of parameters and options that will govern  the  data
 transfer.  An incoming connection establishment request  can  be
 rejected if it asserts parameter  values  or  options  that  are
 unacceptable to the receiver, and the receiver may in many cases
 suggest alternative parameter values and options along with  his
 rejection.

 The reason for negotiation during  connection  establishment  is
 the assumption that each party  must  reserve  or  allocate  the
 resources (such as buffers and channels) that will  be  required
 to carry out data transfer operations  on  the  new  connection.
 Negotiation provides an opportunity to scuttle the establishment
 of a connection when the resources that  would  be  required  to
 support it cannot be dedicated, or to propose alternatives  that
 could be supported by the available resources.

 2.  Three-party Agreement.

 The fundamental nature of a connection involves establishing and
 dynamically maintaining a three-party agreement  concerning  the
 transfer of data.  The three parties -  the  two  (N+1)-entities
 that wish to communicate, and the (N)-service that provides them
 with a connection - must first agree on their mutual willingness
 to participate  in  the  transfer  (see  above).   This  initial
 agreement establishes a connection.  Thereafter, for as long  as
 the connection persists, they must  continue  to  agree  on  the
 acceptance of each data unit transferred  over  the  connection.
 "With a connection, there is no  possibility  of  data  transfer
 through an unwilling service to an  unwilling  partner,  because
 the mutual willingness  must  be  established  before  the  data
 transfer can take place,  and  data  must  be  accepted  by  the
 destination partner; otherwise, no  data  [are]  transferred  on
 that connection."[3]

 3.  Connection Identifiers.

 At   connection   establishment   time,    each    participating
 (N+1)-entity is identified to the (N)-service by an (N)-address;
 the (N)-service uses these addresses to  set  up  the  requested
 connection.  Subsequent  requests  to  transfer  data  over  the
 connection (or to release it) refer not to  the  (N)-address(es)
 of the intended recipient(s), but  to  a  connection  identifier

Connectionless Data Transmission, Rev. 1.00



 supplied   by   the   (N)-service   (in   OSI    parlance,    an
 "(N)-connection-endpoint-identifier").       This      is      a
 locally-significant "shorthand" reference that uniquely  identi-
 fies an established connection during its lifetime.   Similarly,
 the protocol units that carry  data  between  systems  typically
 include a mutually-understood logical identifier rather than the
 actual addresses of the correspondents.  This technique elimina-
 tes the overhead that would otherwise  be  associated  with  the
 resolution and transmission of addresses on every data transfer.
 In some  cases,  however  -  particularly  when  non-homogeneous
 networks are interconnected, and very location-sensitive addres-
 sing schemes are used - it can  make  dynamic  routing  of  data
 units extremely difficult, if not impossible.

 4.  Data Unit Relationship.

 Once a connection has  been  established,  it  may  be  used  to
 transfer one data unit after another, until  the  connection  is
 released by one of the three  parties.   These  data  units  are
 logically related to  each  other  simply  by  virtue  of  being
 transferred on  the  same  connection.   Since  data  units  are
 transferred over a connection  in  sequence,  they  are  related
 ordinally as well.  These data unit relationships are an  impor-
 tant characteristic of connections, since they create a  context
 for the interpretation of arriving data units that  is  indepen-
 dent of the data themselves.  Because a connection maintains the
 sequence  of  messages  associated  with  it,   out-of-sequence,
 missing, and duplicated messages  can  easily  be  detected  and
 recovered, and flow control techniques can be invoked to  ensure
 that the message transfer rate does not exceed  that  which  the
 correspondents are capable of handling.


 These  characteristics  make  connection-based   data   transfer
 attractive in applications that call for relatively  long-lived,
 stream-oriented interactions in stable configurations,  such  as
 direct terminal use of a remote  computer,  file  transfer,  and
 long-term attachments of remote job  entry  stations.   In  such
 applications, the interaction between communicating entities  is
 modelled very well  by  the  connection  concept:  the  entities
 initially discuss their requirements and agree to the  terms  of
 their interaction, reserving whatever resources they will  need;
 transfer a series of related  data  units  to  accomplish  their
 mutual objective; and explicitly end their interaction,  releas-
 ing the previously reserved resources.


 2.2  Connectionless Data Transmission


 In many other applications,  however,  the  interaction  between

Connectionless Data Transmission, Rev. 1.00



 entities is more naturally modelled by the  connectionless  data
 transmission concept,  which  involves  the  transmission  of  a
 single self-contained data  unit  from  one  entity  to  another
 without prior negotiation or  agreement,  and  without  the  as-
 surance of delivery normally  associated  with  connection-based
 transfers.  The users of a connectionless  (N)-service  may,  of
 course, use their (N+1)-protocol to make any  prior  or  dynamic
 arrangements they wish concerning their  interpretation  of  the
 data transmitted and received; the (N)-service itself,  however,
 attaches no significance to individual data units, and does  not
 attempt to relate them in any way.  Two (N+1)-entities  communi-
 cating by means  of  a  connectionless  (N)-service  could,  for
 example, apply whatever techniques they  might  consider  appro-
 priate  in  the  execution  of  their  own   protocol   (timers,
 retransmission, positive or negative acknowledgements,  sequence
 numbers, etc.) to achieve the level of  error  detection  and/or
 recovery they desired.  Users of a connectionless, as opposed to
 connection-oriented, (N)-service are not restricted or inhibited
 in the performance of their (N+1)-protocol;  obviously,  though,
 the assumption is that CDT  will  be  used  in  situations  that
 either do not require the characteristics of  a  connection,  or
 actively benefit from the alternative characteristics of connec-
 tionless transmission.

 Figure 3 illustrates schematically the single operation  whereby
 a connectionless service may be employed to  transmit  a  single
 data unit.   Figure  4  shows  a  widely-implemented  variation,
 sometimes called  "reliable  datagram"  service,  in  which  the
 service  provider  undertakes  to  confirm   the   delivery   or
 non-delivery of each data unit.  It must be emphasized that this
 is not a true connectionless service, but is  in  some  sense  a
 hybrid, combining the delivery assurance of  connection-oriented

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?