SAP - A SAP, or Service Access Point, is a "pipe" between two OSI layers
that allows one layer to obtain a set of services from another layer. The
services obtained vary from layer to layer, but are usually management
functions, such as connection establishment and termination, and data
transfer functions. For instance, a SAP between an application and the OSI
Transport is a "pipe" the application uses to open connections, for example,
send/receive data using the OSI Transport service.
A SAP is similar to a Berkeley socket. A BSD (Berkeley Software
Distribution) socket is a "pipe" between an application and TCP or UDP
used to create connections and send/receive data.
SAPs may be created between any adjacent layers in the ISO protocol suite.
These SAP "pipes" can then be connected together to form a whole
"conduit" through the protocol stack that allows a user to send data to, and
receive data from, a remote system.
In the ARPA protocol suite, "conduits" through a protocol stack are
relatively simple. They consist of a layer 4 (TCP or UDP) SAP (socket), and
an IP SAP. The situation is more complex in ISO because "conduits" can
extend from layer 3 up to layer 7, so several SAPs may be required to build a
complete "conduit for an ISO application.
Selector - A selector is a sequence of octets (bytes) used to identify a SAP.
Using the BSD socket analogy, a SAP is the socket, a selector is the two
octet Port ID that is bound (using bind()) to the socket. When a selector
identifies a specific SAP at a specific layer, it is referred to as either a P-
selector, S-selector, or T-selector, so it is clear which layer the selector is
associated with.
 |
 |  |
 |
 | NOTE: Because of the relationship between SAPs and selectors, the terms are sometimes
used synonymously. If the term SAP (for example, PSAP, SSAP, TSAP) appears in
HP documentation, it should be taken to mean the selector (that is, P-selector, S-
selector, T-selector) representing the SAP. |
 |
 |  |
 |
Address - An address is a sequence of selectors, plus at least one NSAP
(network service access point), that identifies an entire "conduit" through a
protocol stack. For instance, in the case of FTAM, the address of its
"conduit" includes the presentation, session, transport, and network layers.
Its address is therefore: a P-selector, S-selector, T-selector, and one or more
NSAPs. This address is commonly called a presentation address (P-address)
since it defines a "conduit" whose top-most layer is presentation. More than
one NSAP may be included in a P-address because the system may be
reachable on more than one network (for example, a system that is
accessible via both a CONS network and a CLNS network). This situation is
similar to an ARPA system that is connected to more than one IP network
and therefore has more than one IP address.
Applications access SAP "conduits" by using a programmatic interface. An
example of a programmatic interface is X/Open's Transport Interface (XTI),
that gives applications the ability to communicate with remote systems using
the OSI Transport layer. The application tells the programmatic interface
which "conduit" to use by passing an address to the appropriate interface
procedure call. In the case of XTI, the address of the "conduit" a local
application wishes to listen on is passed during the t_bind() procedure call.
If the local application wishes to communicate with a remote application, it
passes the remote application's address to XTI during the t_connect()
procedure call.