Subject: (IPng 6412) Re: OSI Addressing

From: Cyndi Jung <[email-masked]>
Date: Fri, 04 Sep 1998 12:42:13 -0700

In OSI addressing, each layer has a method for identifying a client
residing in the layer above.  These are called <n>-Selectors, for
a given layer <n>, and the "connection end-point" at that layer
is called a Service Access Point. The full address at any layer 
is formed by concatenating these layer-specific identifiers from 
all lower layers in sequence to form an <n>SAP Address.  

The lowest layer to be included in this end-to-end addressing is the
Network Layer, hence NSAP Address identifies services that are clients 
of the Network Layer by the last octet of the NSAP Address, the
N-Selector.  The leading octets of the address are similar in use to
an IP address (long discussion omitted).  There are some "well-known"
values for N-Selectors - as I recall, the N-Selector value 00 addresses 
the network layer protocols, ES-IS, IS-IS, IDRP, the value 01 addresses 
the OSI transport layer, 06 was assigned by the IETF for TCP (TUBA), DEC 
used other values to select the DECNET-IV transport.  

At the OSI transport layer, the T-Selector value assignments were 
never globally managed, and really didn't need to be since the Directory
could store them.  The clients of TCP fall into two classes - the OSI 
Session Layer and everything else.  In the OSI Session Layer there is 
an S-selector that identifies the client, which at this point is almost 
always the OSI Presentation Layer (except for the really old X.400 stuff 
that predated the Presentation and ACSE protocols).  The Presentation Layer 
has further demultiplexing called Presentation Context, which is actually 
not included in the Presentation Address - now you have moved into the 
realm of Presentation Context, Abstract Syntax, Concrete Syntax (encoding, 
usually BER (Basic Encoding Rules for Abstract Syntax Notation One, ASN.1), 
Application Context, and more grandiose stuff I can't quite remember
clearly.  

But the addressing ends with the PSAP Address, which gets you to the
Service Access Point.  I should point out here again that these selectors
have local meaning, and are very flexible.  For example, we made a
terminal server speak ISO Virtual Terminal, and it used the P-Selectors
to identify the RS232 port (in TCP/IP/TELNET, either an IP address or
a TCP port other than 23 had to be used to select an RS232 port).  Other
systems that would spawn processes to handle terminal sessions had no
such use for the P-selector, and would assign T-Selector values to identify
the application - it all depended on where the demultiplexing point best
fit the system, and when the Session Layer and above was bundled with the
application, the T-Selector worked just fine.  ISODE is an example of
an implementation on Unix that demultiplexed at the T-Selector.

I should say here that these OSI addresses only appeared during the
connection set-up time, and only the NSAP Address appeared in the
ensuing data packets.  The OSI Transport allocated connection ID's,
each end picking a convenient number and telling it's peer.  In all
the OSI Session uses I was ever involved with, there were no per-connection
ID's carried in the Session layer header - it was a convenient marker
for the beginning of the Presentation header that identified which
application layer protocol the packet was for/from, ACSE or the 
functional application (FTAM, VTP, X.500).  A sniffer had to capture the
Session Layer CONNECT REQ/RESP pair (which carried the CONNECT/ASSOCIATE
info from all higher layers) to have a prayer of decoding the following
data packets.  Security through Obscurity.

It is a shame that you really have to sit down with the full set of 
protocol specifications to figure this out.  The OSI Model document
really didn't put it into focus for me, and I'm not sure that what I
wrote above is sufficiently clear for you, but then how important is it?
Surely this is all just history.

Cyndi

At 06:10 PM 9/4/98 +0800, Mullaparthi Chandrashekhar wrote:
>Hi all,
>
>  I don't know if this is the right place to ask this question.
>
>  I'm trying to understand OSI addressing. I know that for Internet
>  addressing, an IP address and a port is enough to uniquely identify
>  a connection end-point in a process.
>
>  What is the equivalent in OSI addressing?? Should I read ACSE in detail
>  to understand this??
>
>TIA,
>Chandru
>
>-- 
>
>HP, Telecom Mgmt. Division. / +65-2792881
>--------------------------------------------------------------------
>IETF IPng Working Group Mailing List
>IPng Home Page:                      http://playground.sun.com/ipng
>FTP archive:                      ftp://playground.sun.com/pub/ipng
>Direct all administrative requests to [email-masked]
>--------------------------------------------------------------------
>
>
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------