INTERNET-DRAFT                                            Kim, Yong-Woon
draft-qkim-addr-comp-01.txt                               Park, Jung-Soo
July 23, 1999                                               Koh, Seok-Ju
Expires: December 31, 1999                                Kang, Shin-Gak
Category: Informational                                    Kim, Yong-Jin
                                                                ETRI/PEC



      Comparison of the Addressing Schemes of the Internet and OSI



Status of this Memo

   This document is an Internet-Draft and is in full conformance
   with all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other
   documents at any time.  It is inappropriate to use Internet-
   Drafts as reference material or to cite them other than as
   "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.



Abstract

   The OSI service/protocol and Internet TCP/IP suite are typical
   protocol architectures for data transport in computer communications.
   A protocol architecture designs its own addressing scheme to
   distinguish communication objects.  The OSI domain has developed
   an addressing system based on ITU-T Recommendation X.200 | ISO/IEC
   7498 OSI Reference Model while the Internet has advertised its own
   way of addressing.  It is necessary to understand them and to
   analyze the mapping relationship between them so that OSI services
   and protocols can be adapted over IP-based networks or a transport
   layer protocol can be developed for both OSI and IP networks.
   Additionally this memo can serve as a reference in order to produce
   an address interpretation scheme between SCN (Switched Circuit
   Network) and IP network.


Kim, et. al.                                                    [Page 1]


Internet Draft           Addressing Comparison             July 23, 1999


Table of Contents

   1      Introduction  ..........................................  3
   2      OSI Addressing  ........................................  3
     2.1  TSAP (Transport Service Access Point)  .................  7
     2.2  Transport Address  .....................................  7
     2.3  TSAP address  ..........................................  8
     2.4  T-Selector (Transport Selector)  .......................  8
     2.5  Calling /Called/Responding address  ....................  9
     2.6  References  ............................................  9
     2.7  T-CEPI (Transport Connection EndPoint Identifier)  ..... 10
     2.8  Relationships among OSI Addressing Terms  .............. 11
   3      Internet Addressing  ................................... 12
     3.1  IP Address  ............................................ 12
     3.2  Port  .................................................. 13
     3.3  Socket  ................................................ 13
   4      Comparison of OSI/Internet Addressing  ................. 16
     4.1  T-CEPI versus Socket  .................................. 16
     4.2  T-selector versus Port  ................................ 16
     4.3  TSAP Address versus A pair of IP/Port  ................. 17
   5      Conclusion  ............................................ 17
   6      Security Considerations  ............................... 18
   7      References  ............................................ 18
   8      Acknowledgements  ...................................... 19
   9      Authors' Addresses  .................................... 19


























Kim, et. al.                                                    [Page 2]


Internet Draft           Addressing Comparison             July 23, 1999


1  Introduction

   A network may have a number of end nodes and network devices, and an
   end host may deal with multiple transport connections at the same
   time.  In order to exchange user data through the network, the end
   node should be distinguished from every other node and network
   devices in the network, and a transport connection should be
   identified in the node.  A communication system, therefore, needs
   a way to recognize these communication elements: host and connection.

   Addressing in the communication system means a method of
   distinguishing specific objects.  For example, addressing in the
   network layer implies a method of distinguishing a specific host
   computer in the network, which is expressed in terms of the network
   address called IP address in the Internet.  Once datagrams are
   transmitted by a host identified with an IP address, they are
   delivered to the destination host along the forwarding path managed
   by routing protocols.  Addressing in the transport layer enables
   identification of a transport connection by pointing out each
   endpoint of the connection.  The Internet uses a pair of port and IP
   address for this purpose.

   Each protocol uses its own addressing system.  The OSI network uses
   its own addressing system based on the OSI Reference Model specified
   in ITU-T Rec. X.200 | ISO/IEC 7498, while the Internet uses a pair of
   IP address and port for its addressing system.

   Two addressing systems may not be proper for the comparison as they
   are used in different networks.  However, it is necessary to
   understand them and to analyze the mapping relationship between them
   so that OSI services and protocols can be adapted over IP-based
   networks or a transport layer protocol can be developed for both OSI
   and IP networks.  Additionally this document can serve as a reference
   in order to consider the mapping of telephony addresses as endpoints
   to the IP and OSI address space, which has been studied in ETSI
   Project TIPHON, and to develop and identify mechanisms that permit
   interworking between difference addressing schemes such as E.164,
   X.121, AESA and IP, which has been regarded in GII.

   Those two schemes of addressing are described in Chapter 2 and 3, and
   compared in Chapter 4.  Then the conclusion is in Chapter 5.



2  OSI Addressing

   The conceptual diagram of the transport and session layers as shown
   in Figure 1 may be drawn in order to understand the addressing system
   in the OSI communication environment.  Figure 2 shows an example of


Kim, et. al.                                                    [Page 3]


Internet Draft           Addressing Comparison             July 23, 1999


   the OSI addressing structure from the data link layer to the session
   layer.

   Basic terms are defined below for detail description of the
   addressing system:

   -  Transport subsystem: An open system is constructed of a set of
      layers.  Each layer in a given open system defines one subsystem,
      ex., the transport subsystem for the transport layer. Therefore,
      a transport subsystem is an element in the hierarchical division
      of an open system, that is, in the transport layer.  A transport
      subsystem interacts directly only with elements in the session and
      network subsystems of that open system.[1]

   -  Transport entity: A transport entity is an active element within
      a transport subsystem embodying a set of capabilities defined for
      the transport layer.  Since a transport entity represents
      communication capabilities of the transport layer, different
      communication capabilities of the transport layer may be
      represented by different transport entities ? i.e., there may be
      several transport entities within a transport subsystem.  Two
      different transport protocols may be represented by two different
      transport entities.[1]  For example, TCP and UDP are two different
      transport entities in a transport subsystem.

   The above conceptual definitions can be applied to other protocol
   layers such as network, session, presentation, and application.
























Kim, et. al.                                                    [Page 4]


Internet Draft           Addressing Comparison             July 23, 1999


                  +---------------------------+
                 /                             \
                |        session entity         |
                 \                             /
                  +---------------------------+
                   /              \         \
                  /                \         \
                 /                  \         \
                /                +---\---------\-----+
               /                 |    \         \    |
       -----(    )---------------|-(* * *)---(* * *)-|-----
               \                 |     |         /   |
                \                +-----|--------/----+
                 \                     |       /
            +-----------+        +-----------------+
           /  transport  \      /                   \
          |    entity     |    |  transport entity   |
           \             /      \                   /
            +-----------+        +-----------------+

            *    : T-CEPI
         (     ) : TSAP
         +-----+
         |     | : transport address
         +-----+

   NOTE - a single 1-to-1 association between session entity and
          transport entity can be incarnated into a set of transport
          connections through T-CEPIs.

   Figure 1 - Entities, TSAPs, Transport Address, and Identifiers [2]




















Kim, et. al.                                                    [Page 5]


Internet Draft           Addressing Comparison             July 23, 1999


        +---------+       +---------+           +---------+
       / session A \     / session B \         / session C \
      |     CO      |   |     CO      |       |     CL      |
       \           /     \           /         \           /
        +---------+       +---------+           +---------+
             |               /   /                   |
             | t2        t3 / t4/                    |
          +--|-------------/---/-+                +--|--+
   =======|=(|)==========(/)=(/)=|================|=(|)=|======
          +--|-----------/---/---+                +--|--+
             |          /   /   T1                   | T5
             |         /   /                         |
            +--------------+                    +---------+
           /   transport    \                  / transport \
          |       CO         |                |     CL      |
           \                /                  \           /
            +--------------+ \                  +---------+
                 |    |        \                     |
                 |    |          \                   |
              +--|----|------------\----+         +--|--+
   ===========|=(|)==(|)============(\)=|=========|=(|)=|======
              +--|----|----------------\+         +--|--+
                 |    |        N1        \           | N2
                 |    |                    \         |
            +--------------+                 \  +---------+
           /    network     \                  /  network  \
          |       CO         |                |     CL      |
           \                /                / \           /
            +--------------+               /  / +---------+
                 |    |                  /  /        |
                 |    |                /  /          |
              +--|----|--+      +----/--/------------|--+
   ===========|=(|)==(|)=|======|=(/)(/)============(|)=|======
              +--|----|--+      +/--/----------------|--+
                 |    | D1     /  /       D2         |
                 |    |      /  /                    |
            +--------------+  /                 +---------+
           /   data link    \                  / data link \
          |       CO         |                |     CL      |
           \                /                  \           /
            +--------------+                    +---------+

          T1 : transport address    N1 : network address
          t2 : TSAP address         N2 : network address
          t3 : TSAP address
          t4 : TSAP address         D1 : data link address
          T5 : transport address    D2 : data link address

   Figure 2 - Example of an addressing structure for layers 2 to 5 [1]


Kim, et. al.                                                    [Page 6]


Internet Draft           Addressing Comparison             July 23, 1999

   As shown in Figure 1 and 2, several terms are used for the OSI
   addressing.  The definitions and detail descriptions of these terms
   are mentioned below.


2.1  TSAP (Transport Service Access Point)

   TSAP is the point at which transport services are provided by a
   transport entity to a session entity.[2]  A transport entity is
   attached to one or more TSAPs to provide transport services to the
   session layer as shown in Figure 1.  In order to do so the transport
   entity may use network services from the network layer provided
   through one or more NSAPs.[1]


2.2  Transport Address

   A transport address identifies a TSAP or a set of TSAPs that are all
   located at the boundary between a transport subsystem and a session
   subsystem.[1,3]  A transport address is used to locate a session
   entity or several session entities that all provide the same
   functionalities.[1]

   It seems to be a novel definition.  Actually, one-to-one relation is
   much better than one-to-many relation in an implementation.  ITU-T
   Rec. X.214 | ISO/IEC 8072 also limits the transport address to
   identification of only one TSAP.

   According to ISO/IEC 7498-3, it is defined that a session subsystem
   may be divided into session entities in order to distinguish
   different session protocols or sets of session protocols.  When a
   session subsystem is very complicated and composed of several session
   entities, it is important to simplify the complicated system through
   a proper addressing scheme.  A transport address may be used for this
   purpose.

   It is required to distinguish between the semantics of a transport
   address and the syntax used to represent a transport address within
   a given open system.  The semantics of a transport address are
   conveyed to the peer transport subsystem.  The syntax of a transport
   address is a local matter and different representations may be used
   in different open systems.  Thus the values of corresponding
   parameters on the sender and the recipient sides must be semantically
   equivalent, but need not be syntactically identical.  A transport
   address does not only include addressing information pertinent to the
   transport layer, but also contains addressing information pertinent
   to the network layer.  A transport address is passed as a parameter
   of transport service primitives through a TSAP.[1]




Kim, et. al.                                                    [Page 7]


Internet Draft           Addressing Comparison             July 23, 1999


2.3  TSAP address

   A TSAP address is a transport address that identifies only a single
   TSAP.[1]  In other words, a TSAP is identified by a TSAP address
   expressed in terms of the transport address that may point to a TSAP
   or a bundle of TSAPs.  For example, the transport address T1 in
   Figure 2 enables a session entity to identify three TSAP addresses
   of T2, T3, and T4 as one bundle.


2.4  T-Selector (Transport Selector)

   Above the network layer, the scope of addressing is restricted, as
   the entities to be addressed lie within the open system identified at
   the network level by use of the network address.  It is possible to
   take advantage of local selectors instead of full addresses and then
   make them shorter than full addresses.  In summary, the information
   needed to access an application entity is the tuple:

      Application address = Network address + T-selector + S-selector
                            + P-selector

   where the network address is carried by network protocols, and T-,
   S- and P-selectors are carried respectively by transport, session and
   presentation protocols.  Thus the (N)-address is equivalent to the
   pair "(N-1)-address, (N)-selector".  For example, a session address
   is a pair of transport address and S-selector.  It should be noted
   that an (N)-selector value unambiguously identifies a set of (N)-SAPs
   which are all in the same (N)-subsystem and that an (N-1) selector
   value cannot be derived from an (N)-selector value.  (N)-selector
   values are specified locally by each open system for the transport,
   session and presentation protocols in order to identify session,
   presentation and application entities respectively.  Because
   (N)-selectors only need to be unambiguous within their respective
   (N)-subsystems, there is no need for registration authorities.[1]

   For example, a transport address can be described below:

      Transport address = Network address + T-selector

      NOTE - Herein "+" means "a pair of" throughout this document.  So
           the above case means, "the transport address is a pair of
           network address and T-selector."

   The abstract syntax of the T-selector is an entirely local issue.
   The T-selector value is chosen by the local administration in the
   scope of which is unambiguous within an open system.  The local
   administrator must choose the abstract syntax and encoding technique
   to be used to represent this value.[1]


Kim, et. al.                                                    [Page 8]


Internet Draft           Addressing Comparison             July 23, 1999


   According to ITU-T Rec. X.224 | ISO/IEC 8073, there is a protocol
   field called a transport selector (T-selector) at the variable part
   of CR-TPDU, which is used as a means for identifying TSAP while
   establishing the transport connection.  However, as the parameter
   value of the T-selector is defined in terms of an identifier, the
   T-selector in CR-TPDU may be different from the T-selector given by
   a session entity.  If different T-selector values are used by the
   service and protocol, a mapping table handling this should be managed
   internally.  When a T-selector is given in the request primitive, it
   may be returned in the confirmation primitive even though T-selector
   usages are different.  However, as the T-selector is a local matter,
   a communication system may share a common T-selector value at the
   session and transport entities.  That is, a T-selector value is given
   in the request and used again in CR-TPDU for the T-selector protocol
   field.  Anyway, this is a syntax problem and a local issue.  So it
   can be solved in various ways.


2.5  Calling /Called/Responding address

   Following definitions can be described:[1]

   -  Calling transport address: whenever a session entity wishes to
      establish a transport connection or to issue a connectionless unit
      of data, it must indicate the transport address of the intended
      partner and may indicate its own address.  That is, the calling
      transport address is this initiator's transport address which may
      be referred to as the source transport address;

   -  Called transport address: the partner address is indicated as the
      called transport address that may be referred to as the
      destination transport address.  This address indicates the
      transport address of the TSAP or set of TSAPs, which gives access
      to the desired partner.  In order to obtain this information, the
      calling session entity makes local usage of directory functions
      before the connection establishment; and

   -  Responding transport address: the responding transport address is
      a parameter which may appear in a transport service response or
      confirm primitive issued for the purpose of connection
      establishment but which is not applicable for connectionless mode.
      It indicates the transport address at the transport recipient and
      thus identifies a set of TSAPs at this transport recipient.


2.6  References

   According to ITU-T Rec. X.224 | ISO/IEC 8073, the reference value is
   locally selected by the transport entity initiating the CR-TPDU to


Kim, et. al.                                                    [Page 9]


Internet Draft           Addressing Comparison             July 23, 1999


   identify the requested transport connection.  It must be unique
   within a transport entity.

   So the initiating transport entity selects a local source reference
   value and sets as "0" the destination reference value initially for
   the CR-TPDU.  The responding transport entity selects its local
   source reference that will become the destination reference at the
   sender side and responds with the CC-TPDU.  Then these two transport
   entities can know the source and destination reference values on
   their own side.


2.7  T-CEPI (Transport Connection EndPoint Identifier)

   Multiple transport connections can be established at a single TSAP
   and distinguished by T-CEPI.  T-CEPI is an identifier of a transport
   connection endpoint that is used to identify the corresponding
   transport connection at a TSAP.

   A session entity may create a transport connection with another
   session entity by using a connection establishment transport service.
   When a session entity establishes a transport connection with another
   session entity, each session entity is given a T-CEPI by its
   supporting transport entity.  The session entity can then
   distinguish the new connection from all other transport connections
   accessible at the TSAP it is using.

   The T-CEPI is unique within the scope of the session entity that will
   use the transport connection.  The structure of T-CEPI is specified
   as follows:[2]

      T-CEPI = TSAP address + T-CEPI-suffix (transport connection
               endpoint suffix)

   where the suffix should be unique within the scope of the TSAP.

   In the implementation perspective, a system function call for
   connection establishment corresponds to an invocation of the
   transport connection request service.  A T-CEPI can be returned for
   for the system call from the transport subsystem wherein its suffix
   value will be allocated like the reference.  Then the session entity
   can distinguish many transport connections with respect to one TSAP
   through such T-CEPI.

   The T-CEPI is a connection endpoint identifier from the point of view
   of the session entity.  A separate connection identifier is necessary
   for the transport subsystem itself, which has to be mapped with the
   T-CEPI.  The reference value in Chapter 2.6 takes this very role.
   Therefore, T-CEPI and reference are conceptually identical, but


Kim, et. al.                                                   [Page 10]


Internet Draft           Addressing Comparison             July 23, 1999


   T-CEPI-suffix and reference can be syntactically identical.  This is
   also a local issue.


2.8  Relationships among OSI Addressing Terms

   Based on the above description, the OSI addressing information may be
   described briefly in terms of the following expressions:

      Transport Address = Network Address + T-selector
      TSAP address      = Transport Address of a TSAP
                        = Network Address + T-selector of a TSAP
      Calling Address   = Transport Address of a calling TSAP
                        = Calling TSAP address
                        = Network Address + Calling T-selector
      T-CEPI            = TSAP address + T-CEPI-suffix
      T-CEPI-suffix     = Reference

   According to ITU-T Rec. X.200 | ISO/IEC 7498-1, the transport address
   enables a TSAP or a set of TSAPs to be recognized as one, and the
   T-selector distinguishes a single TSAP or a bundle of TSAPs.  In the
   case of 1-to-1 relationship, therefore, all TSAP addresses of an open
   system use the same NSAP address and separate T-selectors for
   identification of each TSAP where the NSAP address is unique globally
   in the open network and the T-selectors are unique locally and
   allocated by the session entity.

   Since the calling address of the request primitive is defined to be
   the calling TSAP address in ITU-T Rec. X.214 | ISO/IEC 8072,
   the calling address is limited to identification of only one TSAP
   even though it can point to a set of TSAPs.  Therefore, the calling
   T-selector is a local parameter enabling identification of a single
   TSAP.

   Consequently, the calling session entity produces the calling TSAP
   address along with its own network address by allocating an arbitrary
   value for the calling T-selector as well as the called TSAP address
   with the destination network address by allocating a well-known
   destination T-selector value.  Wherein the calling session entity may
   make local usage of directory functions to get the called TSAP
   address.  Then the session entity may issue a request service using
   these two addresses and get a T-CEPI from the transport subsystem.
   If the session entity issues multiple connection request services
   using the same two addresses, it gets different T-CEPIs that enable
   resulting transport connections to be distinguished.

   The transport entity may use the same T-selector for CR-TPDU as one
   given by the session entity, or use an identifier of the given
   T-selector.  Or it can use the TSAP address, not only T-selector.


Kim, et. al.                                                   [Page 11]


Internet Draft           Addressing Comparison             July 23, 1999


   A different way may be employed according to the OSI implementation.
   ITU-T X.224 | ISO/IEC 8073 defines an identifier of the given
   T-selector for CR-TPDU.

   The T-CEPI is referred to from the point of view of the session
   entity, while the reference is referred to from the point of view of
   the transport entity.  But they are identical semantically and
   associated with each other even though they are different
   syntactically.  When the transport entity opens a transport
   connection, it assigns an arbitrary value to the source reference and
   "0" to the destination reference.  The source reference value can be
   returned along with the TSAP address to the session entity in terms
   of the T-CEPI.  As a result, a CR-TPDU is transmitted to a receiving
   transport entity.  The destination reference comes into the source
   reference and the source reference does into the destination
   reference at the peer side.

   The receiving transport entity also allocates an arbitrary value for
   its source reference.  But the receiver can know its destination
   reference from the source reference of the CR-TPDU where the two
   reference values must be identical.  It responds with a CC-TPDU that
   is transmitted to the initiating transport entity.  Then both
   the sender and the peer receiver know their source and destination
   reference values and are able to identify connections through
   the reference values.



3  Internet Addressing

   The Internet addressing is much simpler than the OSI addressing.  It
   can be described in terms of IP address for the network layer
   addressing, port for the transport layer addressing, and socket for
   identification of a connection endpoint in the local system.


3.1  IP Address

   It is a 32-bit address used to identify a host computer connected to
   the Internet.  This information is indicated in terms of the source
   IP and destination IP addresses at the header of IP datagram and is
   used throughout networks when delivering from the source to the final
   destination host.  The address is normally written as four decimal
   numbers, one for each byte of the address.  Instead of using a flat
   address space such as 1, 2, 3, and so on, the IP address space has
   been structured into address classes: A, B, C, D and E.  The easiest
   way to differentiate between the different classes of addresses is
   to look at the first number of a dotted-decimal address.[6]



Kim, et. al.                                                   [Page 12]


Internet Draft           Addressing Comparison             July 23, 1999


3.2  Port

   According to RFC 793, the TCP provides a set of addresses or ports
   within each host in order to allow for many processes within a single
   host to use TCP communication facilities simultaneously.  TCP and UDP
   identify applications using 16-bit port numbers.

   The binding of ports to processes is handled independently by each
   host.  However, it proves useful to attach frequently used processes
   to fixed ports which are made known to the public.  These services
   can then be accessed through the known port numbers.[7]  Servers are
   normally known by their well-known port number: TCP port 21 for FTP,
   TCP port 23 for TELNET, UDP port 69 for TFTP, etc.  Those services
   that can be provided by any implementation of TCP/IP have well-known
   port numbers between 1 and 1023.  The well-known ports are managed by
   the ICANN.[6]

   A client usually doesn't care what port number it uses on its end.
   All it needs to be certain of is that whatever port number it uses be
   unique on its host.  Client port numbers are called ephemeral ports
   (i.e., short lived).  This is because a client typically exists only
   as long as the user running the client needs its service, while
   servers typically run as long as the host is up.[6]

   That is, many transport connections can be established simultaneously
   between multiple clients and a single server while different ports
   are used by the clients and one port is used by the server.


3.3  Socket

   Concatenated with the network and host addresses from the Internet
   communication layer, this forms a socket, that is, a pair of IP
   address and port number in the Internet.  When many processes use TCP
   communication facilities simultaneously, a pair of sockets
   identifying its two endpoints uniquely specifies each connection.[7]
   In other words, four-tuple of client IP address, client port number,
   server IP address, and server port number provide identification of
   TCP connections.  A socket may be concurrently used in multiple
   connections.  However, as the name of socket is used as one of APIs
   in the BSD socket interface as well, developers may be easily
   confused as to the definition of socket.

   Conclusion is that two terms are different from each other.
   The socket system function as an API provides a Unix file descriptor
   which application implementers can use in their process to do reads
   from and writes in a TCP connection.  In other words, if the socket
   system function is executed, the Unix file descriptor is passed over
   as a return value by which the API socket is identified in a local


Kim, et. al.                                                   [Page 13]


Internet Draft           Addressing Comparison             July 23, 1999


   application.  But this socket descriptor is not the TCP socket at
   this point of time since it is not yet bound to the IP address and
   port number.

   NOTE - Herein, the API socket is something that is referred to in the
          BSD Unix Socket Interface, meaning that "An API socket is an
          instance or incarnation of the TCP socket."  Thus it may be
          used by a different name such as WinSock or not socket, in
          other API specifications.

   The bind system function as an API makes the Unix kernel know which
   IP address and port number the API socket uses.  That is, the pair of
   IP address and port number are bound to the API socket.  At this
   point of time, the API socket is associated with the TCP socket.

   Using the accept and listen system functions, it is possible to
   produce a different API socket with respect to the same IP address
   and port number, and subsequently, to differentiate each API socket
   by obtaining different socket file descriptors.  Wherein the listen
   command tells the kernel that this socket should wait for incoming
   connection requests in which the backlog parameter specifies the
   number of simultaneous connections and connection requests that may
   be queued.  The accept command gets a socket descriptor for an
   incoming connection in which the listening socket is identified by
   the file descriptor.  That is, one TCP socket can be associated with
   many API sockets with different socket descriptors.

   TCP defines that a TCP connection is fully specified by the pair of
   sockets and a local TCP socket may participate in many connections to
   different foreign TCP sockets.

   If two end hosts establish many connections using a single TCP socket
   at each side, many API sockets will associate each TCP socket.  But
   in this case, it is impossible to distinguish the connections.
   Because the socket descriptors are used locally and not exchanged,
   and only the TCP socket address is sent to the peer side.

   Therefore, there should be an addressing rule that one TCP socket
   must be associated with only one API socket at the client side and
   one TCP socket can be related with multiple API sockets at the server
   side.  That is, the API socket of the client is connected only by 1:1
   relationship with an ephemeral port number and its IP address, while
   many API sockets of the server are connected by N:1 relationship with
   a pair of IP address and port.  Then each connection can be easily
   distinguished by a pair of TCP sockets of the two ends.

   However, such addressing scheme may not be a proper way from the
   point of view of the protocol layer.  It may be a conceptually
   understandable way and its implementation may be feasible well.  But


Kim, et. al.                                                   [Page 14]


Internet Draft           Addressing Comparison             July 23, 1999


   it is deemed to be improper that the IP address of the network layer
   has to be reviewed in order to identify connections of the transport
   layer, from the point of view of the protocol layer structure in
   which each layer should not be dependent on other layers.


            +----------+ 21                2000 +--------+
            |          |------------------------|        |
            |          | 21                2001 | host A |
            |          |------------------------|        |
            |          |                        +--------+
            |          |
            | server S | 21                2000 +--------+
            |          |------------------------|        |
            |          | 21                2001 |        |
            |          |------------------------| host B |
            |          | 21                2002 |        |
            |          |------------------------|        |
            +----------+                        +--------+

               Figure 3 - An example of TCP connections


   For example, assuming that Host A and B establish TCP connections
   simultaneously with Server S for the FTP service, Host A can use port
   number 2000 and 2001, as well as Host B can use port number 2000,
   2001, and 2002 coincidentally.  Host A can learn to which API socket
   each segment has to be delivered since the destination port numbers
   are 2000 and 2001 although the source port number is the same, 21,
   in view of the TCP segments which arrives at Host A from Server S.
   This is the same for B.

   But, from the point of view of Server S, the destination port of all
   arriving TCP segments is number 21.  The source ports of arriving
   segments from two hosts A and B are number 2000 and 2001 identically
   herein except for number 2002 from Host B.  Then Server S cannot
   learn to which API socket each segment has to be delivered.
   Therefore, the IP address has to be referred to in order to find out
   to which API socket of Server S each segment belongs.  This is
   the reason why the addressing information of the network layer has to
   be referred to for the transport layer addressing.

   Consequently, it may be described that the TCP/IP protocol structure
   has the transport layer protocol such as TCP and UDP as well as the
   network layer protocol such as IP from the conceptual point of view.
   However, it may be illustrated that the transport layer and network
   layer protocols are combined with each other like a layer for their
   operation from the functional or implementation point of view.



Kim, et. al.                                                   [Page 15]


Internet Draft           Addressing Comparison             July 23, 1999


4  Comparison of OSI/Internet Addressing

   All the above discussions can be summarized into the following
   comparison table:


        Table 1 - A Comparison table of OSI/Internet Addressing

            +----------------------+-----------------------+
            |  OSI Addressing      |  Internet Addressing  |
            +----------------------+-----------------------+
            |   TSAP address       |   IP + port           |
            |   T-selector         |   port                |
            |   T-CEPI (Reference) |   socket              |
            +----------------------+-----------------------+


4.1  T-CEPI versus Socket

   In order to distinguish transport connections, the T-CEPI and the
   reference are defined respectively in view of the OSI transport
   service and protocol, and both produced by the transport entity.
   Thus, these two parameters are identical semantically but different
   syntactically because the T-CEPI consists of TSAP address and
   transport connection endpoint suffix and the reference is just
   an identifying value like the suffix.  Since there may be many
   T-CEPIs in one TSAP that can be identified by T-selector, there can
   exist as many transport connections as the number of T-CEPIs.

   In the Internet, the client and server identify transport connections
   through the API socket.  The client has as many API sockets as
   the number of connections and each API socket is bound to a different
   TCP socket which consists of a different port and a common IP
   address.  The server also has as many API sockets as the number of
   connections, but each API socket is bound to one TCP socket.

   Therefore, the T-CEPI and the API socket providing a transport
   connection endpoint show the most agreeable relationship.  And yet,
   there is a difference that the reference value which may be directly
   mapped from the T-CEPI, enters into the protocol header as the source
   and destination references, whereas the socket descriptor does not
   enter into the protocol header.


4.2  T-selector versus Port

   The OSI model defines a TSAP as an access point providing the service
   of the transport layer.  Since a TSAP address consists of the network
   address and T-selector, this T-selector points directly to the TSAP.


Kim, et. al.                                                   [Page 16]


Internet Draft           Addressing Comparison             July 23, 1999


   Many TSAPs based on a common network address can be open and so many
   T-selectors will be assigned to identify those TSAPs.  Similarly,
   the Internet defines a port as an access point providing the
   transport layer service.  The application layer and transport layers
   are associated through the port.  A single TSAP may have multiple
   connection endpoints and a single port also may be associated with
   multiple connection endpoints called API sockets.

   Therefore, the TSAP and port can be said to have the mapping
   relationship conceptually.  However, since the TSAP address is
   composed of two composite elements of NSAP address and T-selector, it
   is deemed that the T-selector coincides very much with the port.
   Instead, the TSAP may correspond very well to a pair of IP address
   and port.

   According to the way to make this relationship, the connection
   endpoint suffix in Chapter 2.7 can be matched to the socket file
   descriptor.  This confusion occurs from the addressing syntax that
   may be designed by its own way in an implementation.  Thus the
   semantic addressing relationship should be focused.

   It is deemed that the mutual mapping relationship is proper since
   many connections can be produced in one TSAP where they are
   identified in terms of T-CEPI, and many connections can be produced
   in one port where they are identified in terms of the API socket.


4.3 TSAP Address versus A pair of IP/Port

   As described in Chapter 4.2, as the TSAP address is composed of the
   network address and T-selector, a pair of IP and port may be mapped
   properly with the TSAP address from the syntactic and semantic points
   of view.



5 Conclusion

   The OSI and Internet have the same purpose of transmitting user data
   through the computer network but different structures of the
   communication protocols.  For example, the protocol structure is
   divided into seven layers based on the OSI reference model, whereas
   in the Internet it is divided into five layers in such a way that the
   application layer is right on top of the transport layer.  The roles
   corresponding to the remaining two layers of the OSI model are to be
   processed at the application layer in the Internet.

   Therefore, it may not be desirable to compare two communication
   systems in the one-to-one way as they have different protocol


Kim, et. al.                                                   [Page 17]


Internet Draft           Addressing Comparison             July 23, 1999


   structures.  However, since it is not easy to encounter the OSI
   addressing structure in the actual communication environment and it
   is difficult to understand with abstract illustration, the OSI
   addressing system is to be understood through the Internet addressing
   system which has been simple-structured and easily used.  Also,
   the comparison of addressing is deemed to be useful since both
   addressing systems have to be understood in adaptation of OSI
   services and protocols for the Internet.

   Accordingly, the OSI and Internet addressing systems are reviewed,
   and each addressing information is compared to and mapped with each
   other.  As a result, the TSAP address given as a calling, called, or
   responding address can be mapped in terms of a pair of the IP address
   and port number in the Internet.  The T-selector which is a composite
   element of the TSAP address can be mapped in terms of Port, and the
   T-CEPI which is used for identification of connections can be mapped
   in terms of the socket descriptor in the Internet.



6  Security Considerations

   This type of non-protocol document does not directly effect the
   security of the Internet, OSI network, or other networks.



7  References

   [1] ISO/IEC TR 10730: 1993, Information technology - Open Systems
       Interconnection - Tutorial on Naming and Addressing
   [2] ITU-T Recommendation X.200 (1994) | ISO/IEC 7498-1: 1994,
       Information technology - Open Systems Interconnection - Basic
       Reference Model: The Basic Model
   [3] ITU-T Recommendation X.214 (1995) | ISO/IEC 8072: 1996,
       Information technology - Open Systems Interconnection - Transport
       Service Definition
   [4] ITU-T Recommendation X.224 (1995) | ISO/IEC 8073: 1997,
       Information technology - Open Systems Interconnection - Protocol
       For Providing The Connection-Mode Transport Service
   [5] Uyless Black, "OSI - A Model for Computer Communication
       Standards", pp.267, Prentice-Hall, Inc.
   [6] W. Richard Stevens, "TCP/IP Illustrated, Volume 1 -
       The Protocols", Addison-Wesley Publishing Co.
   [7] Jon Postel, "Transmission Control Protocol", RFC 793, September
       1981





Kim, et. al.                                                   [Page 18]


Internet Draft           Addressing Comparison             July 23, 1999


8  Acknowledgements

   Many people have been joined in developing the ECTP standardization
   project and made comments and suggestions contributing to ECTP.  We
   would like to thank Daeyoung Kim, Hyun-Kook Kahng, Wolfgang Fritsche,
   Keith Knightson, Jim Long, Alan Chambers, Juyoung Park, Inyong Hwang,
   Jin-Ho Hahm, and Gwangsu Kim.  This document is one of the results of
   the project.



9  Authors' Addresses

   Kim, Yong-Woon
   ETRI/Protocol Engineering Center
   161 Kajong-Dong, Yusong-Gu, Taejon, 305-350, Republic of Korea
   Phone: +82 42 860 6557
   Fax:   +82 42 861 5404
   E-mail: qkim@pec.etri.re.kr

   Park, Jung-Soo
   ETRI/Protocol Engineering Center
   161 Kajong-Dong, Yusong-Gu, Taejon, 305-350, Republic of Korea
   Phone: +82 42 860 6514
   Fax:   +82 42 861 5404
   E-mail: jspark@pec.etri.re.kr

   Koh, Seok-Ju
   ETRI/Protocol Engineering Center
   161 Kajong-Dong, Yusong-Gu, Taejon, 305-350, Republic of Korea
   Phone: +82 42 860 6218
   Fax:   +82 42 861 5404
   E-mail: sjkoh@pec.etri.re.kr

   Kang, Shin-Gak
   ETRI/Protocol Engineering Center
   161 Kajong-Dong, Yusong-Gu, Taejon, 305-350, Republic of Korea
   Phone: +82 42 860 6117
   Fax:   +82 42 861 5404
   E-mail: sgkang@pec.etri.re.kr

   Kim, Yong-Jin
   ETRI/Protocol Engineering Center
   161 Kajong-Dong, Yusong-Gu, Taejon, 305-350, Republic of Korea
   Phone: +82 42 860 6564
   Fax:   +82 42 861 5404
   E-mail: yjkim@pec.etri.re.kr




Kim, et. al.                                                   [Page 19]