rfc2188.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,709 行 · 第 1/5 页
TXT
1,709 行
Network Working Group M. Banan
Request for Comments: 2188 Neda
Category: Informational M. Taylor
AWS
J. Cheng
AWS
September 1997
AT&T/Neda's Efficient Short Remote Operations (ESRO)
Protocol Specification Version 1.2
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
IESG Note
This protocol has not had the benefit of IETF Working Group review,
but a cursory examination reveals several issues which may be
significant issues for scalability. A site considering deployment
should conduct a careful analysis to ensure they understand the
potential impacts.
Abstract
This document specifies the service model, the notation and protocol
for Efficient Short Remote Operations (ESRO). The ESRO service is
similar to and is consistent with other Remote Procedure Call
services. The emphasis of ESRO service definition and the ESRO
protocol is on efficiency. ESRO is designed specifically with
wireless network (e.g., CDPD) usage in mind.
ESRO protocol provides reliable connectionless remote operation
services on top of UDP (or any other non-reliable connectionless
transport service) with minimum overhead. ESRO protocol supports
segmentation and reassembly, concatenation and separation as well as
multiplexing for service users (applications).
ESRO allows for trade-offs between efficiency and reliability by
specifying both 2-way hand-shake and 3-way hand-shake based protocols.
Encoding mechanisms for presentation of the parameters of remote
operations are outside the scope of this document. But,
identification (tagging) of the encoding mechanism in use (e.g., XDR,
Banan, et. al Informational [Page 1]
RFC 2188 ESRO September 1997
BER, PER) is supported by ESRO protocol.
A variety of applications can use the ESRO protocol. Some early
applications using ESRO include efficient short message submission and
delivery, credit card authorization and white pages lookup.
Banan, et. al Informational [Page 2]
RFC 2188 ESRO September 1997
Contents
1 INTRODUCTION 4
1.1 Relationship To Existing Remote Operation Services . 5
1.1.1 ESRO and RPC . . . . . . . . . 5
1.1.2 ESRO and ROSE . . . . . . . . . 5
1.2 Overview of ESROS . . . . . . . . . 5
1.3 The Remote Operation Model . . . . . . . 6
2 ESRO SERVICE DEFINITIONS 8
2.1 Acknowledged Result Service Mode . . . . . . 9
2.1.1 Performer side . . . . . . . . . 9
2.1.2 Invoker side . . . . . . . . . 11
2.2 Non-acknowledged Result . . . . . . . . 11
2.2.1 Performer side . . . . . . . . . 12
2.2.2 Invoker side . . . . . . . . . 12
2.3 Serialized Use of ESRO Services . . . . . . 12
2.3.1 Invoker . . . . . . . . . . 12
2.3.2 Performer . . . . . . . . . . 12
2.4 ESROS-INVOKE Service . . . . . . . . . 13
2.4.1 Operation-value . . . . . . . . 13
2.4.2 Performer-address . . . . . . . . 14
2.4.3 Invoker-address . . . . . . . . 14
2.4.4 Invoke-argument-encoding-type . . . . . 15
2.4.5 Invoke-argument . . . . . . . . 15
2.4.6 Invoke-ID . . . . . . . . . . 15
2.4.7 Failure-value . . . . . . . . . 16
2.5 ESROS-RESULT Service . . . . . . . . . 16
2.5.1 Result-argument-encoding-type . . . . . 16
2.5.2 Result-argument . . . . . . . . 17
2.5.3 Invoke-ID . . . . . . . . . . 17
2.5.4 Failure-value . . . . . . . . . 18
2.6 ESROS-ERROR Service . . . . . . . . . 18
2.6.1 Error-value . . . . . . . . . 18
2.6.2 Error-argument-encoding-type . . . . . 19
2.6.3 Error-argument . . . . . . . . . 19
2.6.4 Invoke-ID . . . . . . . . . . 20
2.6.5 Failure-value . . . . . . . . . 20
2.7 ESROS-FAILURE Service . . . . . . . . 20
2.7.1 Failure-value . . . . . . . . . 21
2.7.2 Invoke-ID . . . . . . . . . . 21
3 ESRO SERVICE NOTATION 21
3.1 ES-OPERATION Notation . . . . . . . . 22
3.2 Mapping of ESROS Notation . . . . . . . 22
3.2.1 Invocation of an Operation . . . . . . 22
3.2.2 Reply of an Operation . . . . . . . 22
4 REMOTE OPERATIONS PROTOCOL 23
4.1 Overview of the Protocol . . . . . . . . 23
4.1.1 Service Provision (Invoker User) . . . . 24
Banan, et. al Informational [Page 3]
RFC 2188 ESRO September 1997
4.1.2 Service Provision (Performer User) . . . . 24
4.2 Protocol Procedures . . . . . . . . . 25
4.2.1 Service Access Point (SAP) Bind Procedure . . 25
4.2.2 Invoke Service Procedure . . . . . . 25
4.2.3 Invoke ID Assignment Procedure . . . . . 25
4.2.4 Functional Unit Selection Procedure . . . 26
4.3 Connectionless PDU Transfer For Small PDUs . . . 26
4.3.1 Overview . . . . . . . . . . 26
4.3.2 3-Way Handshake Functional Unit . . . . 28
4.3.3 2-Way Handshake Functional Unit . . . . 35
4.3.4 Segmentation and Reassembly . . . . . 40
4.4 Structure and Encoding of ESROS PDUs . . . . . 43
4.4.1 ESRO-INVOKE-PDU Format . . . . . . . 43
4.4.2 ESRO-RESULT-PDU Format . . . . . . . 45
4.4.3 ESRO-ERROR-PDU Format . . . . . . . 46
4.4.4 ESRO-ACK-PDU Format . . . . . . . 47
4.4.5 ESRO-FAILURE-PDU Format . . . . . . 47
4.4.6 ESRO-INVOKE-SEGMENTED-PDU Format . . . . 48
4.4.7 ESRO-RESULT-SEGMENTED-PDU Format . . . . 50
4.4.8 ESRO-ERROR-SEGMENTED-PDU Format . . . . 51
4.5 Concatenation and Separation . . . . . . . 52
4.5.1 Procedures . . . . . . . . . . 53
4.5.2 ESRO-CONCATENATED-PDU format . . . . . 53
4.6 ES Remote Operations Protocol Parameters . . . . 54
4.6.1 PDU size . . . . . . . . . . 54
4.6.2 Timers . . . . . . . . . . . 55
4.6.3 Use of lower layers . . . . . . . 56
5 ACKNOWLEDGMENTS . . . . . . . . . . . . 56
6 SECURITY CONSIDERATIONS . . . . . . . . . . 56
7 AUTHORS' ADDRESSES . . . . . . . . . . . 56
1 INTRODUCTION
Efficient Short Remote Operations (ESRO) provide an efficent
mechanism for realization of Remote Procedure Call. This document
specifies many aspects of ESRO including:
o Service Model
o Service Primitves
o A Notation for user of the Service
o Confirmed Connectionless Protocol (based on a 3-way hand-shake)
o Unconfirmed Connectionless Protocol (based on a 2-way hand-shake)
Banan, et. al Informational [Page 4]
RFC 2188 ESRO September 1997
1.1 Relationship To Existing Remote Operation Services
The overall model of ESRO is similar to and consistent with many
existing protocols. ESRO's distinguishing characteristic is
efficiency.
A brief comparison of ESRO and Remote Procedure Calls [7] and Remote
Operation Service Elements [1] follows.
1.1.1 ESRO and RPC
Remote Procedure Call (RPC) is specified in [7] (RFC-1831) and [6]
(RFC-1833).
RPC specifications define a remote procedure model that is
essentially same as ESRO. RPC's notation uses a syntax quite
different from that of ESRO. RPC can rely on a connection oriented or
connectionless transport mechanism. When using the connectionless
mechanism, the retransmission and reliability issues are considered
beyond the scope of the RPC specification. RPC is usually used in
combination with External Data Representation, XDR [8] (RFC-1832).
1.1.2 ESRO and ROSE
ROSE is specified in [1] and [2]. The service definition for ESRO
Service (ESROS) specified in this document is similar ROSE's
Notation. The Notation specified in this document for ESROS is
similar ROSE's Notation. The ESRO protocol specified in this
document is very different from the ROSE protocol [2].
The operation model for ESRO Service (ESROS) is based on Remote
Operations Services Element (ROSE) in [1]. In ESROS model both
entities can invoke operations.
ESRO protocols can accomplish short operations with much less
overhead than ROSE.
1.2 Overview of ESROS
ESROS provides a service which supports interaction of applications
based on a remote operation model. A Remote Operation is invoked by
one entity; the other entity attempts to perform the Remote Operation
and then reports the outcome of the attempt. The ESROS protocol is
designed such that it could support many applications.
Banan, et. al Informational [Page 5]
RFC 2188 ESRO September 1997
1.3 The Remote Operation Model
ESROS provides for performance of operations between two peer
sublayers. Users of the ESROS assume the roles of invoker and
performer which invoke and perform the operations respectively. An
ESROS-User can assume both roles and be an invoker for some
operations and be a performer for other operations. The performer is
expected to report either the result of the operation or an error. A
result reply is sent to the invoker if the operation is successful,
and an error reply is sent if the operation is unsuccessful. If the
performer is unreachable, the ESROS sends a failure indication
primitive to the invoker.
Operations are asynchronous and the invoker may continue to invoke
further operations without waiting for a reply. Synchronous or
serialized operations are also supported as a subset and a special
case of asynchronous service. By default the ESRO service provider
on both invoker and performer sides supports the asynchronous
operation invocation. However, if one side is to support only
serialized (synchronous) mode, it should be in agreement with the
peer side.
ESROS has no authentication mechanism. Authentication is the
responsibility of the performer (which is outside of the scope of
ESROS) and the performer is not expected to honor the invoker when it
is not authenticated.
The ESROS operation model is represented in Figure 1. In this
example, the ESROS User on the left is the Invoker and the ESROS User
on the right is the Performer. The Provider is the entity providing
a service to the layer above it.
Banan, et. al Informational [Page 6]
RFC 2188 ESRO September 1997
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?