rfc1698.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,503 行 · 第 1/5 页
TXT
1,503 行
Network Working Group P. Furniss
Request for Comments: 1698 Consultant
Category: Informational October 1994
Octet Sequences for Upper-Layer OSI
to Support Basic Communications Applications
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
Abstract
This document states particular octet sequences that comprise the OSI
upper-layer protocols (Session, Presentation and ACSE) when used to
support applications with "basic communications requirements". These
include OSI application protocols such as X.400 P7 and Directory
Access Protocol, and "migrant" protocols, originally defined for use
over other transports.
As well as the octet sequences which are the supporting layer headers
(and trailers) around the application data, this document includes
some tutorial material on the OSI upper layers.
An implementation that sends the octet sequences given here, and
interprets the equivalent protocol received, will be able to
interwork with an implementation based on the base standard, when
both are being used to support an appropriate application protocol.
Table of Contents
1. Introduction ...................................................2
2. General ........................................................3
2.1 Subdivisions of "basic communication applications" ...........3
2.2 Conformance and interworking .................................5
2.3 Relationship to other documents ..............................5
3. Contexts and titles ............................................6
3.1 The concepts of abstract and transfer syntax .................6
3.2 Use of presentation context by cookbook applications..........7
3.3 Processing Presentation-context-definition-list ..............8
3.4 Application context ..........................................9
3.5 APtitles and AEqualifiers ....................................9
4. What has to be sent and received ..............................10
4.1 Sequence of OSI protocol data units used ....................10
4.2 Which OSI fields are used ...................................12
Furniss [Page 1]
RFC 1698 ThinOSI Upper-Layers Cookbook October 1994
4.3 Encoding methods and length fields ..........................14
4.3.1 Session items .............................................14
4.3.2 ASN.1/BER items (Presentation and ACSE) ...................14
4.4 BER Encoding of values for primitive datatypes ..............15
4.5 Unnecessary constructed encodings ...........................16
5. Notation ......................................................16
6. Octet sequences ...............................................17
6.1 Connection request message ..................................17
6.2 Successful reply to connection setup ........................20
6.3 Connection rejection ........................................22
6.4 Data-phase TSDU .............................................23
6.5 Closedown - release request ................................24
6.6 Closedown - release response ................................25
6.7 Deliberate abort ............................................25
6.8 Provider abort ..............................................27
6.9 Abort accept ................................................27
7. References ....................................................27
8. Other notes ...................................................28
9. Security Considerations .......................................29
10. Author's Address .............................................29
1. Introduction
The upper-layer protocols of the OSI model are large and complex,
mostly because the protocols they describe are rich in function and
options. However, for support of most applications, only a limited
portion of the function is needed. An implementation that is not
intended to be a completely general platform does not need to
implement all the features. Further, it need not reflect the
structuring of the OSI specifications - the layer of the OSI model
are purely abstract.
This document presents the protocol elements required by the OSI
upper layers when supporting a connection-oriented application with
only basic communication requirements - that is to create a
connection, optionally negotiate the data representation,
send/receive data, close a connection and abort a connection.
Optionally, data may be sent on the connection establishment, closing
and abort messages.
In this document, the protocol elements needed are given in terms of
the octet sequences that comprise the 'envelope' around the
application data. The envelope and its enclosing data form a
Transport Service Data Unit (TSDU) that can be passed via the OSI
Transport Service [ISO8072] (which in turn may be supported as
specified in [RFC1006] or any class of the OSI Transport Protocol
[ISO8073]).
Furniss [Page 2]
RFC 1698 ThinOSI Upper-Layers Cookbook October 1994
The octet sequences to be sent and the description of the alternative
forms that may be received are equivalent to an informal re-
specification of the relevant parts of the upper-layer protocols.
The "relevant parts" are determined by the requirements of the
supported applications (this is a reflexive definition! - if
application Z needs something that is not here, it is not supported).
The formal specifications remain the base standards, the appropriate
profiles and the requirements of the application. However, an
implementation based on this document will be able to interwork with
an implementation based directly on the full standards when both are
supporting a basic communication application. The "full"
implementation will exhibit only part of its potential behaviour,
since the application will only invoke part.
In addition to the octet sequences, the document includes some
tutorial material.
2. General
2.1 Subdivisions of "basic communication applications"
Distinctions can be made within the "basic communication
applications", as defined above, based on how much use they make of
the OSI upper-layer services, and thus how much of the protocol
described in this memo will be used to support a particular
application. One distinction is:
a) whether application data is sent on the connection
establishment, close and abort, or only during "date phase"
on an established connection; OR
b) whether the application data is of only one kind (abstract
syntax) and one format (transfer syntax) or more than one
(i.e., how much use is made of the Presentation layer syntax
negotiation and identification features)
Further distinctions are possible, but in this memo, elements of
protocol needed (or not needed) by four groups of "basic
communications application" are identified. All groups have "basic
communications requirements" in requiring only connection, data
transfer and (perhaps) orderly release of connection. The four groups
are:
Group I: applications which send data only on an established
connection, and use a single abstract and transfer syntax.
Furniss [Page 3]
RFC 1698 ThinOSI Upper-Layers Cookbook October 1994
Group II: applications which send data on connection
establishment and release and use a single abstract and transfer
syntax.
Group III: applications that send data of only one kind (one
abstract syntax) on the connection, but which have more than one
format (transfer syntax) specified (they use the Presentation
context negotiation facility).
Group IV: applications that will send data of several kinds on the
connection (and which much therefore distinguish on each write
which kind is being sent).
Group III applications are equivalent to Group I (or possibly Group
II) after the establishment exchange has negotiated the particular
transfer syntax that will be used on the connection.
Possible examples of the Groups are:
Group I: Application protocols designed for use over transport-
level protocols. Typically these are non-OSI protocols "migrated"
to an OSI environment. X Window System protocol is an example.
Group II: OSI-originated protocols with simple requirements,
including many of the ROSE-based ones, such as Directory Access
Protocol.
Group III: Protocols that can be treated as Group I, but for
which more than one encoding of the data is known, such as a
standardised one and a system-specific one - all implementations
understand the standard encoding, but Presentation layer
negotiation allows like-implementations to use their internal
encoding for transfer, without loss of general interworking. The
same could apply to OSI protocols.
Group IV: OSI protocols with multiple abstract syntaxes (but with
each individual message from a single abstract syntax) that do
not use any of the special Session functional units - X.400 P7 is
an example.
Some of the OSI protocols that are not included are those that use
more than one abstract syntax in a single message (such as FTAM or
Transaction Processing) or use Session functional units (RTSE-based
protocols, Virtual Terminal).
Furniss [Page 4]
RFC 1698 ThinOSI Upper-Layers Cookbook October 1994
2.2 Conformance and interworking
The protocol elements specified in this memo correspond to the kernel
functional units of Session, Presentation and ACSE, and the duplex
functional unit of Session.
The octet sequences given below are derived from the specifications
in the International Standards for the protocols Session [ISO8327],
Presentation [ISO8822] and ACSE [ISO8650]. The intention of this memo
is to summarise those specifications, as applicable to the supported
application groups, so that an implementation could be developed
without direct reference to the original standards, but capable of
interworking with implementations that had made direct reference. The
OSI standards (especially Presentation) allow considerable
flexibility in the encoding of the protocol data units. Accordingly,
this memo defines particular octet sequences to be sent, and
describes the variations that can be expected in data received from
an implementation based directly on the OSI standards, rather than on
this cookbook. It is intended that an implementation that sends these
sequences and that is capable of interpreting the variations
described will be fully able to interwork with an implementation
based directly on the OSI standards. An implementation that is only
capable of interpreting the octet sequences specified in this memo
for transmission may not be able to interwork with standards-based
implementations.
The intent is to be able to interwork with conformant implementations
in support of the relevant application (or group of applications).
Some of the OSI standards have conformance requirements that go
beyond that necessary for successful interworking, including
detection of invalid protocol. Tests for conformance sometimes go
beyond the strict conformance requirements of the standard.
Consequently an implementation based on this memo may or may not be
able to formally claim conformance to the International Standard. It
may be able to legitimately claim conformance, but fail a conformance
test, if the test is over-specified. (Efforts are being made to
correct this, but in the meantime, the target is interworking with
conformant implementations.)
2.3 Relationship to other documents
The flexibility allowed in the Session, Presentation and ACSE
standards is restricted in the Common Upper-Layer Requirements Part 1
[CULR-1]). This is a proposed International Standardised Profile
(pdISP 11188-1) that can be assumed to be obeyed by most
implementations. This memo applies the restrictions of CULR-1,
especially where these concern maximum sizes of fields and the
like.Points where advantage is taken of a CULR-1 limitation are
Furniss [Page 5]
RFC 1698 ThinOSI Upper-Layers Cookbook October 1994
noted.
Additional parts of CULR are under development. Part 3 [CULR-3]
covers the protocol elements needed for "basic communications
applications", and is being developed in (informal) liaison with this
memo. CULR-3 is presented as a normal profile, largely consisting of
prescribed answers to the questions in the PICS (Protocol
Implementation Conformance Statement) of the three protocols. CULR-3
does not make the distinction between the four Groups. An
implementation of this memo (at least if it supported Group IV) would
be able to claim conformance to CULR-3, with the possible exception
of any more-than-interworking conformance requirements inherited by
CULR-3 from the base standards.
An extension [XTI/mOSI] to the X/Open Transport Interface [XTI] is
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?