📄 rfc1085.txt
字号:
Network Working Group M. Rose
Request for Comments: 1085 TWG
December 1988
ISO Presentation Services
on top of TCP/IP-based internets
Status of this Memo
This memo proposes a standard for the Internet community.
Distribution of this memo is unlimited.
1. Introduction
[RFC1006] describes a mechanism for providing the ISO transport
service on top of the Transmission Control Protocol (TCP) [RFC793]
and Internet Protocol (IP) [RFC791]. Once this method is applied,
one may implement "real" ISO applications on top of TCP/IP-based
internets, by simply implementing OSI session, presentation, and
application services on top of the transport service access point
which is provided on top of the TCP. Although straight-forward,
there are some environments in which the richness provided by the OSI
application layer is desired, but it is nonetheless impractical to
implement the underlying OSI infrastructure (i.e., the presentation,
session, and transport services on top of the TCP). This memo
describes an approach for providing "stream-lined" support of OSI
application services on top of TCP/IP-based internets for such
constrained environments.
2. Terminology
In as much as this memo is concerned primarily with concepts defined
in the framework of Open Systems Interconnection (OSI) as promulgated
by the International Organization for Standardization (ISO), the
terminology used herein is intended to be entirely consistent within
that domain of discourse. This perspective is being taken despite
the expressed intent of implementing the mechanism proposed by this
memo in the Internet and other TCP/IP-based internets. For those
more familiar with the terminology used in this latter domain, the
author is apologetic but unyielding.
Although no substitute for the "correct" definitions given in the
appropriate ISO documents, here is a short summary of the terms used
herein.
Rose [Page 1]
RFC 1085 ISO Presentation Services December 1988
Application Context:
The collection of application service elements which
cooperatively interact within an application-entity.
Application Service Element:
A standardized mechanism, defined by both a service and a
protocol, which provides a well-defined capability, e.g.,
ROSE - the Remote Operations Service Element,
which orchestrates the invocation of "total"
operations between application-entities [ISO9066/2].
ACSE - the Association Control Service Element,
which manages associations between application
entities [ISO8650].
Object Identifier:
An ordered set of integers, used for authoritative
identification.
Presentation Service:
A set of facilities used to manage a connection between two
application-entities. The fundamental responsibility of the
presentation service is to maintain transfer syntaxes which
are used to serialize application protocol data units for
transmission on the network and subsequent de-serialization
for reception.
Protocol Data Unit (PDU):
A data object exchanged between service providers.
Serialization:
The process of applying an abstract transfer notation to an
object described using abstract syntax notation one (ASN.1)
[ISO8824] in order to produce a stream of octets.
De-serialization is the inverse process.
It is assumed that the reader is familiar with terminology
pertaining to the reference model [ISO7498], to the service
conventions in the model [ISO8509], and to the
connection-oriented presentation service [ISO8822].
3. Scope
The mechanism proposed by this memo is targeted for a particular
class of OSI applications, namely those entities whose application
context contains only an Association Control Service Element (ACSE)
and a Remote Operations Service Element (ROSE). In addition, a
Rose [Page 2]
RFC 1085 ISO Presentation Services December 1988
Directory Services Element (DSE) is assumed for use by the
application-entity, but only in a very limited sense. The
organization of such an entity is as follows:
+------------------------------------------------------------+
| |
| Application-Entity |
| |
| +------+ +------+ +------+ |
| | ACSE | | ROSE | | DSE | |
| +------+ +------+ +------+ |
| |
+------------------------------------------------------------+
| |
| Presentation Services |
| |
| P-CONNECT P-RELEASE P-DATA |
| P-U-ABORT |
| P-P-ABORT |
| |
+------------------------------------------------------------+
The mechanism proposed by this memo is not applicable to entities
whose application context is more extensive (e.g., contains a
Reliable Transfer Service Element). The mechanism proposed by this
memo could be modified to support additional elements. However, such
extensions would, at this time, merely serve to defeat the purpose of
providing the minimal software infrastructure required to run the
majority of OSI applications.
The motivation for this memo was initially derived from a requirement
to run the ISO Common Management Information Protocol (CMIP) in
TCP/IP-based internets. In its current definition, CMIP uses
precisely the application service elements provided for herein. It
may be desirable to offer CMIP users a quality of service different
than the one offered by a connection with a high-quality level of
reliability. This would permit a reduced utilization of connection-
related resources. This memo proposes a mechanism to implement this
less robust -- and less costly -- quality of service.
4. Approach
The approach proposed by this memo relies on the following
architectural nuances:
Rose [Page 3]
RFC 1085 ISO Presentation Services December 1988
- the TCP is a stream-oriented transport protocol
- ASN.1 objects, when represented as a stream of octets are
self-delimiting
- The ISO presentation service permits the exchange of ASN.1
objects
- The ACSE and ROSE require the following presentation
facilities:
The Connection Establishment Facility
The Connection Termination Facility
The Information Transfer Facility (P-DATA
service only)
- The majority of the parameters used by the services which
provide these facilities can be "hard-wired" to avoid
negotiation
In principle, these nuances suggest that a "cheap" emulation of the
ISO presentation services could be implemented by simply serializing
ASN.1 objects over a TCP connection. This approach is precisely what
is proposed by this memo.
Given this perspective, this memo details how the essential features
of the ISO presentation service may be maintained while using a
protocol entirely different from the one given in [ISO8823]. The
overall composition proposed by this memo is as follows:
+-----------+ +-----------+
| PS-user | | PS-user |
+-----------+ +-----------+
| |
| PS interface PS interface |
| [ISO8822] |
| |
+----------+ ISO Presentation Services on the TCP +----------+
| client |-----------------------------------------| server |
+----------+ (this memo) +----------+
| |
| TCP interface TCP interface |
| [RFC793] |
| |
Rose [Page 4]
RFC 1085 ISO Presentation Services December 1988
In greater detail, the "client" and "server" boxes implement the
protocol described in this memo. Each box contains three modules:
- a dispatch module, which provides the presentation services
interface,
- a serialization module, containing a serializer, which takes
an ASN.1 object and applies the encoding rules of [ISO8825]
to produce a stream of octets, and a de-serializer, which
performs the inverse operation, and
- a network module, which manages a TCP connection.
The software architecture used to model a network entity using this
approach is as follows:
+---------+ +----------+ +-----+
| | | | output +---------------+ input | n |
| | | |<--------| de-serializer |<--------| e |
| | | | queue +---------------+ queue | t |
| PS-user |----| dispatch | | w |
| | | | input +---------------+ output | o |
| | | |-------->| serializer |-------->| r |
| | | | queue +---------------+ queue | k |
+---------+ +----------+ +-----+
|---- serialization module ----|
The ISO presentation layer is concerned primarily with the
negotiation of transfer syntaxes in addition to the transformation to
and from transfer syntax. However, using the mechanism proposed by
this memo, no negotiation component will be employed. This memo
specifies the fixed contexts which exist over each presentation
connection offered. This memo further specifies other constants
which are used in order to eliminate the need for presentation layer
negotiation.
5. Fundamental Parameters
There are certain parameters which are used by the presentation
service and are defined here.
1. Presentation address:
The structure of a presentation address is presented in Addendum 3
to [ISO7498]. This memo interprets a presentation address as an
Rose [Page 5]
RFC 1085 ISO Presentation Services December 1988
ordered-tuple containing:
- one or more network addresses
- a transport selector
- a session selector
- a presentation selector
Each selector is an uninterpreted octet string of possibly zero
length. The mechanism proposed in this memo completely ignores
the values of these selectors. Note however that the value of the
presentation selector is preserved by the provider.
A network address is interpreted as containing three components:
- a 32-bit IP address
- a set indicating which transport services are available
at the IP address (currently only two members are defined:
TCP and UDP; as experience is gained, other transport
services may be added); as a local matter, if a member is
present it may have an "intensity" associated with it:
either "possibly present" or "definitely present"
- a 16-bit port number
As a consequence of these interpretations, any application-entity
residing in the network can be identified by its network address.
2. Presentation context list
A list of one or more presentation contexts. Each presentation
context has three components:
- a presentation context identifier (PCI), an integer
- an abstract syntax name, an object identifier
- an abstract transfer name, an object identifier
The range of values these components may take is severely
restricted by this memo. In particular, exactly two contexts are
defined: one for association control and the other for the
specific application service element which is being carried as ROS
APDUs (see the section on connection establishment for the precise
values).
In addition, if the presentation context list appears in a
"result" list (e.g., the Presentation context result list
Rose [Page 6]
RFC 1085 ISO Presentation Services December 1988
parameter for the P-CONNECT service), a fourth component is
present:
- an acceptance indicator
which indicates if the context was accepted by both the service
provider and the remote peer. If the context was not accept, a
brief reason, such as "abstract syntax not supported" is given.
For the novice reader, one might think of the abstract syntax
notation as defining the vocabulary of some language, that is, it
lists the words which can be spoken. In contrast, the abstract
transfer notation defines the pronunciation of the language.
3. User data
User data passes through the presentation service interface as
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -