📄 rfc1085.txt
字号:
Event: user-initiated Abort PDU received
The provider issues the P-U-ABORT.INDICATION primitive and enters the
IDLE state.
Event: any other PDU received
If the PDU is not an Abort PDU, the provider constructs a provider-
initiated Abort PDU, which is put on the input queue for the
serializer. Regardless, The provider issues the P-P-ABORT.INDICATION
primitive and enters the the IDLE state.
DATA state
Event: P-DATA.REQUEST primitive issued
The user data parameter is placed in a UserData PDU, which is put on
the input queue for the serializer. The provider remains in the DATA
state.
Event: P-RELEASE.REQUEST primitive issued
The user data parameter is placed in a ReleaseRequest PDU, which is
put on the input queue for the serializer.
For the udp-based service, the provider sets the retransmission
counter to a small value (e.g., 2), and now starts a small timer.
Regardless, the provider enters the WAIT3 state.
Event: P-U-ABORT.REQUEST primitive issued
The user data parameter is placed in an Abort PDU, which is put on
the input queue for the serializer. The provider enters the IDLE
state.
Rose [Page 20]
RFC 1085 ISO Presentation Services December 1988
Event: UserData PDU received
The provider issues the P-DATA.INDICATION primitive and remains in
the DATA state.
Event: ReleaseRequest PDU received
The provider issues the P-RELEASE.INDICATION primitive, and enters
the WAIT4 state.
Event: user-initiated Abort PDU received
The provider issues the P-U-ABORT.INDICATION primitive and enters
the IDLE state.
Event: any other PDU received
If the PDU is not an Abort PDU, the provider constructs a provider-
initiated Abort PDU, which is put on the input queue for the
serializer. Regardless, the provider issues the P-P-ABORT.INDICATION
primitive and enters the the IDLE state.
WAIT3 state
Event: P-U-ABORT.REQUEST primitive issued
The user data parameter is placed in an Abort PDU, which is put on
the input queue for the serializer. The provider enters the IDLE
state.
Event: ReleaseResponse PDU received
For the udp-based service, the timer is cancelled. The provider
issues the P-RELEASE.CONFIRMATION primitive and enters the IDLE
state.
Event: user-initiated Abort PDU received
The provider issues the P-U-ABORT.INDICATION primitive and enters the
IDLE state.
Rose [Page 21]
RFC 1085 ISO Presentation Services December 1988
Event: any other PDU received
If the PDU is not an Abort PDU, the provider constructs a provider-
initiated Abort PDU, which is put on the input queue for the
serializer. Regardless, the provider issues the P-P-ABORT.INDICATION
primitive and enters the the IDLE state.
Event: timer expires
The provider decrements the retransmission counter. If the resulting
value is less than or equal to zero, the provider constructs a
provider-initiated Abort PDU, which is put on the input queue for the
serializer. It then issues the P-P-ABORT.INDICATION primitive and
enters the IDLE state. Otherwise, a ReleaseRequest PDU is put on the
input queue for the serializer, the small timer is started again, and
the provider remains in the WAIT3 state.
WAIT4 state
Event: P-RELEASE.RESPONSE primitive issued
The user data parameter is placed in a ReleaseResponse PDU, which is
put on the input queue for the serializer. The provider now enters
the IDLE state.
Event: P-U-ABORT.REQUEST primitive issued
The user data parameter is placed in an Abort PDU, which is put on
the input queue for the serializer. The provider now enters the IDLE
state.
Event: user-initiated Abort PDU received
The provider issues the P-U-ABORT.INDICATION primitive and enters the
IDLE state.
Event: any other PDU received
If the PDU is not an Abort PDU, the provider constructs a provider-
initiated Abort PDU, which is put on the input queue for the
serializer. Regardless, the provider issues the P-P-ABORT.INDICATION
primitive and enters the the IDLE state.
Rose [Page 22]
RFC 1085 ISO Presentation Services December 1988
11. Directory Services
Although not properly part of the presentation service, this memo
assumes and specifies a minimal Directory service capability for use
by the application-entity.
The function of the Directory Service Element is to provide two
mappings: first, a service name is mapped into an application entity
title, which is a global handle on the service; and, second, the
application-entity title is mapped onto a presentation address.
The structure of presentation addresses were defined in Section 5.
The structure of application-entity titles is less solidly agreed
upon at the present time. Since objects of this type are not
interpreted by the presentation service, this memo does not specify
their structure. If the DIS version of association control is being
used, then use of an OBJECT IDENTIFIER will suffice. If the IS
version is being employed, then application-entity titles consist of
two parts: an application-process title and an application-entity
qualifier. It is suggested that the AP-Title use an OBJECT
IDENTIFIER and that the AE-Qualifier use NULL.
This memo requires the following mapping rules:
1. The service name for an OSI application-entity using the
mechanisms proposed by this memo is:
<designator> "-" <qualifier>
where <designator> is a string denoting either domain name or a
32-bit IP address, and <qualifier> is a string denoting the type
of application-entity desired, e.g.,
"gonzo.twg.com-mgmtinfobase"
2. Any locally defined mapping rules may be used to map the
service designation into an application-entity title.
3. The application-entity title is then mapped into a
presentation address, with uninterpreted transport, session, and
presentation selectors, and one or more network addresses, each
containing:
-the 32-bit IP address resolved from the <designator> portion
of the service name,
- a set indicating which transport services are available
Rose [Page 23]
RFC 1085 ISO Presentation Services December 1988
at the IP address,
- the 16-bit port number resolved from the <qualifier>
portion of the service name (using the Assigned Numbers
document), and
- optionally, a presentation selector, which is an
uninterpreted sequence of octets.
The method by which the mappings are obtained are straight-forward.
The directory services element employs the Domain Name System along
with a local table which may be used to resolve the address employing
local rules.
In the simplest of implementations, the DNS is used to map the
<designator> to an IP address, and to fill-in the set of transport
services available at the IP address. The port number is found in a
local table derived from the current Assigned Numbers document.
Finally, the presentation selector is empty.
A more ambitious implementation would use a local table to perhaps
provide a presentation selector. This would be useful, e.g., in
"proxy" connections. The network address would resolve to the proxy
agent for the non-IP device, and the presentation selector would
indicate to the proxy agent the particular non-IP device desired.
This implies, of course, that the local table and the proxy agent
bilaterally agree as to the interpretation of each presentation
selector.
12. Remarks
To begin, if one really wanted to implement ISO applications in a
TCP/IP-based network, then the method proposed by [RFC1006] is the
preferred method for achieving this. However, in a constrained
environment, where it is necessary to host an application layer
entity with a minimal amount of underlying OSI infrastructure, this
memo proposes an alternative mechanism. It should be noted that an
OSI application realized using this approach can be moved directly to
an [RFC1006]-based environment with no modifications.
A key motivation therefore is to minimize the size of the alternate
underling infrastructure specified by this memo. As more and more
presentation services functionality is added, the method proposed
herein would begin to approximate the ISO presentation protocol.
Since this in contrary to the key motivation, featurism must be
avoided at all costs.
Rose [Page 24]
RFC 1085 ISO Presentation Services December 1988
13. Acknowledgements
Several individuals contributed to the technical quality of this
memo:
Karl Auerbach, Epilogue Technologies
Joseph Bannister, Unisys
Amatzia Ben-Artzi, Sytek
Stephen Dunford, Unisys
Lee Labarre, MITRE
Keith McCloghrie, The Wollongong Group
Jim Robertson, Bridge Communications
Glenn Trewitt, Stanford University
14. References
[ISO7498] Information Processing Systems - Open Systems
Interconnection, "Basic Reference Model", October, 1984.
[ISO8509] Information Processing Systems - Open Systems
Interconnection, " Service Conventions".
[ISO8650] Information Processing Systems - Open Systems
Interconnection, " Protocol Specification for the
Association Control Service Element (Final Text
of DIS 8650)", January, 1988.
[ISO8822] Information Processing Systems - Open Systems
Interconnection, " Connection Oriented Presentation
Service Definition (Final Text of DIS 8822)",
April, 1988.
[ISO8823] Information Processing Systems - Open Systems
Interconnection, " Connection Oriented Presentation
Protocol Specification (Final Text of DIS 8822)",
April, 1988.
[ISO8824] Information Processing Systems - Open Systems
Interconnection, " Specification of Abstract Syntax
Notation One (ASN.1)", December, 1987.
[ISO8825] Information Processing Systems - Open Systems
Interconnection, "Specification of basic encoding rules
for Abstract Syntax Notation One (ASN.1)",
December, 1987.
[ISO9072/2] Information Processing Systems - Text Communication
MOTIS, " Remote Operations Part 2: Protocol
Rose [Page 25]
RFC 1085 ISO Presentation Services December 1988
Specification (Working Document for DIS 9072/2)",
November, 1987.
[RFC768] Postel, J., "User Datagram Protocol", RFC 768, USC/ISI,
28 August 1980.
[RFC791] Postel, J., "Internet Protocol - DARPA Internet Program
Protocol Specification", RFC 791, USC/ISI,
September 1981.
[RFC793] Postel, J., "Transmission Control Protocol - DARPA
Internet Program Protocol Specification", RFC 793,
USC/ISI, September 1981.
[RFC1006] Rose, M., and D. Cass, "ISO Transport 1 on Top of the
TCP Version: 3", Northrop Research and Technology
Center, May 1987.
Appendix A:
Abstract Syntax Definitions
RFC1085-PS DEFINITIONS ::=
BEGIN
PDUs ::=
CHOICE {
connectRequest
ConnectRequest-PDU,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -