diff options
Diffstat (limited to 'doc/rfc/rfc5531.txt')
-rw-r--r-- | doc/rfc/rfc5531.txt | 3531 |
1 files changed, 3531 insertions, 0 deletions
diff --git a/doc/rfc/rfc5531.txt b/doc/rfc/rfc5531.txt new file mode 100644 index 0000000..ad7f673 --- /dev/null +++ b/doc/rfc/rfc5531.txt @@ -0,0 +1,3531 @@ + + + + + + +Network Working Group R. Thurlow +Request for Comments: 5531 Sun Microsystems +Obsoletes: 1831 May 2009 +Category: Standards Track + + + RPC: Remote Procedure Call Protocol Specification Version 2 + +Status of This Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Copyright Notice + + Copyright (c) 2009 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents in effect on the date of + publication of this document (http://trustee.ietf.org/license-info). + Please review these documents carefully, as they describe your rights + and restrictions with respect to this document. + +Abstract + + This document describes the Open Network Computing (ONC) Remote + Procedure Call (RPC) version 2 protocol as it is currently deployed + and accepted. This document obsoletes RFC 1831. + + + + + + + + + + + + + + + + + + + +Thurlow Standards Track [Page 1] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +Table of Contents + + 1. Introduction ....................................................3 + 1.1. Requirements Language ......................................3 + 2. Changes since RFC 1831 ..........................................3 + 3. Terminology .....................................................3 + 4. The RPC Model ...................................................4 + 5. Transports and Semantics ........................................5 + 6. Binding and Rendezvous Independence .............................7 + 7. Authentication ..................................................7 + 8. RPC Protocol Requirements .......................................7 + 8.1. RPC Programs and Procedures ................................8 + 8.2. Authentication, Integrity, and Privacy .....................9 + 8.3. Program Number Assignment .................................10 + 8.4. Other Uses of the RPC Protocol ............................10 + 8.4.1. Batching ...........................................10 + 8.4.2. Broadcast Remote Procedure Calls ...................11 + 9. The RPC Message Protocol .......................................11 + 10. Authentication Protocols ......................................15 + 10.1. Null Authentication ......................................15 + 11. Record Marking Standard .......................................16 + 12. The RPC Language ..............................................16 + 12.1. An Example Service Described in the RPC Language .........17 + 12.2. The RPC Language Specification ...........................18 + 12.3. Syntax Notes .............................................18 + 13. IANA Considerations ...........................................19 + 13.1. Numbering Requests to IANA ...............................19 + 13.2. Protecting Past Assignments ..............................19 + 13.3. RPC Number Assignment ....................................19 + 13.3.1. To be assigned by IANA ............................20 + 13.3.2. Defined by Local Administrator ....................20 + 13.3.3. Transient Block ...................................20 + 13.3.4. Reserved Block ....................................21 + 13.3.5. RPC Number Sub-Blocks .............................21 + 13.4. RPC Authentication Flavor Number Assignment ..............22 + 13.4.1. Assignment Policy .................................22 + 13.4.2. Auth Flavors vs. Pseudo-Flavors ...................23 + 13.5. Authentication Status Number Assignment ..................23 + 13.5.1. Assignment Policy .................................23 + 14. Security Considerations .......................................24 + Appendix A: System Authentication .................................25 + Appendix B: Requesting RPC-Related Numbers from IANA .............26 + Appendix C: Current Number Assignments ...........................27 + Normative References .............................................62 + Informative References ...........................................62 + + + + + + +Thurlow Standards Track [Page 2] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +1. Introduction + + This document specifies version 2 of the message protocol used in ONC + Remote Procedure Call (RPC). The message protocol is specified with + the eXternal Data Representation (XDR) language [RFC4506]. This + document assumes that the reader is familiar with XDR. It does not + attempt to justify remote procedure call systems or describe their + use. The paper by Birrell and Nelson [XRPC] is recommended as an + excellent background for the remote procedure call concept. + +1.1. Requirements Language + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC2119]. + +2. Changes since RFC 1831 + + This document obsoletes [RFC1831] as the authoritative document + describing RPC, without introducing any over-the-wire protocol + changes. The main changes from RFC 1831 are: + + o Addition of an Appendix that describes how an implementor can + request new RPC program numbers, authentication flavor numbers, + and authentication status numbers from IANA, rather than from Sun + Microsystems + + o Addition of an "IANA Considerations" section that describes past + number assignment policy and how IANA is intended to assign them + in the future + + o Clarification of the RPC Language Specification to match current + usage + + o Enhancement of the "Security Considerations" section to reflect + experience with strong security flavors + + o Specification of new authentication errors that are in common use + in modern RPC implementations + + o Updates for the latest IETF intellectual property statements + +3. Terminology + + This document discusses clients, calls, servers, replies, services, + programs, procedures, and versions. Each remote procedure call has + two sides: an active client side that makes the call to a server + side, which sends back a reply. A network service is a collection of + + + +Thurlow Standards Track [Page 3] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + one or more remote programs. A remote program implements one or more + remote procedures; the procedures, their parameters, and results are + documented in the specific program's protocol specification. A + server may support more than one version of a remote program in order + to be compatible with changing protocols. + + For example, a network file service may be composed of two programs. + One program may deal with high-level applications such as file system + access control and locking. The other may deal with low-level file + input and output and have procedures like "read" and "write". A + client of the network file service would call the procedures + associated with the two programs of the service on behalf of the + client. + + The terms "client" and "server" only apply to a particular + transaction; a particular hardware entity (host) or software entity + (process or program) could operate in both roles at different times. + For example, a program that supplies remote execution service could + also be a client of a network file service. + +4. The RPC Model + + The ONC RPC protocol is based on the remote procedure call model, + which is similar to the local procedure call model. In the local + case, the caller places arguments to a procedure in some well- + specified location (such as a register window). It then transfers + control to the procedure, and eventually regains control. At that + point, the results of the procedure are extracted from the well- + specified location, and the caller continues execution. + + The remote procedure call model is similar. One thread of control + logically winds through two processes: the caller's process and a + server's process. The caller first sends a call message to the + server process and waits (blocks) for a reply message. The call + message includes the procedure's parameters, and the reply message + includes the procedure's results. Once the reply message is + received, the results of the procedure are extracted, and the + caller's execution is resumed. + + On the server side, a process is dormant awaiting the arrival of a + call message. When one arrives, the server process extracts the + procedure's parameters, computes the results, sends a reply message, + and then awaits the next call message. + + In this model, only one of the two processes is active at any given + time. However, this model is only given as an example. The ONC RPC + protocol makes no restrictions on the concurrency model implemented, + and others are possible. For example, an implementation may choose + + + +Thurlow Standards Track [Page 4] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + to have RPC calls be asynchronous so that the client may do useful + work while waiting for the reply from the server. Another + possibility is to have the server create a separate task to process + an incoming call so that the original server can be free to receive + other requests. + + There are a few important ways in which remote procedure calls differ + from local procedure calls. + + o Error handling: failures of the remote server or network must be + handled when using remote procedure calls. + + o Global variables and side effects: since the server does not have + access to the client's address space, hidden arguments cannot be + passed as global variables or returned as side effects. + + o Performance: remote procedures usually operate at one or more + orders of magnitude slower than local procedure calls. + + o Authentication: since remote procedure calls can be transported + over unsecured networks, authentication may be necessary. + Authentication prevents one entity from masquerading as some other + entity. + + The conclusion is that even though there are tools to automatically + generate client and server libraries for a given service, protocols + must still be designed carefully. + +5. Transports and Semantics + + The RPC protocol can be implemented on several different transport + protocols. The scope of the definition of the RPC protocol excludes + how a message is passed from one process to another, and includes + only the specification and interpretation of messages. However, the + application may wish to obtain information about (and perhaps control + over) the transport layer through an interface not specified in this + document. For example, the transport protocol may impose a + restriction on the maximum size of RPC messages, or it may be + stream-oriented like TCP [RFC0793] with no size limit. The client + and server must agree on their transport protocol choices. + + It is important to point out that RPC does not try to implement any + kind of reliability and that the application may need to be aware of + the type of transport protocol underneath RPC. If it knows it is + running on top of a reliable transport such as TCP, then most of the + work is already done for it. On the other hand, if it is running on + + + + + +Thurlow Standards Track [Page 5] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + top of an unreliable transport such as UDP [RFC0768], it must + implement its own time-out, retransmission, and duplicate detection + policies as the RPC protocol does not provide these services. + + Because of transport independence, the RPC protocol does not attach + specific semantics to the remote procedures or their execution + requirements. Semantics can be inferred from (but should be + explicitly specified by) the underlying transport protocol. For + example, consider RPC running on top of an unreliable transport such + as UDP. If an application retransmits RPC call messages after time- + outs, and does not receive a reply, it cannot infer anything about + the number of times the procedure was executed. If it does receive a + reply, then it can infer that the procedure was executed at least + once. + + A server may wish to remember previously granted requests from a + client and not regrant them, in order to insure some degree of + execute-at-most-once semantics. A server can do this by taking + advantage of the transaction ID that is packaged with every RPC + message. The main use of this transaction ID is by the client RPC + entity in matching replies to calls. However, a client application + may choose to reuse its previous transaction ID when retransmitting a + call. The server may choose to remember this ID after executing a + call and not execute calls with the same ID, in order to achieve some + degree of execute-at-most-once semantics. The server is not allowed + to examine this ID in any other way except as a test for equality. + + On the other hand, if using a "reliable" transport such as TCP, the + application can infer from a reply message that the procedure was + executed exactly once, but if it receives no reply message, it cannot + assume that the remote procedure was not executed. Note that even if + a connection-oriented protocol like TCP is used, an application still + needs time-outs and reconnections to handle server crashes. + + There are other possibilities for transports besides datagram- or + connection-oriented protocols. For example, a request-reply protocol + such as [VMTP] is perhaps a natural transport for RPC. ONC RPC + currently uses both TCP and UDP transport protocols. Section 11 + ("Record Marking Standard") describes the mechanism employed by ONC + RPC to utilize a connection-oriented, stream-oriented transport such + as TCP. The mechanism by which future transports having different + structural characteristics should be used to transfer ONC RPC + messages should be specified by means of a Standards Track RFC, once + such additional transports are defined. + + + + + + + +Thurlow Standards Track [Page 6] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +6. Binding and Rendezvous Independence + + The act of binding a particular client to a particular service and + transport parameters is NOT part of this RPC protocol specification. + This important and necessary function is left up to some higher-level + software. + + Implementors could think of the RPC protocol as the jump-subroutine + instruction (JSR) of a network; the loader (binder) makes JSR useful, + and the loader itself uses JSR to accomplish its task. Likewise, the + binding software makes RPC useful, possibly using RPC to accomplish + this task. + +7. Authentication + + The RPC protocol provides the fields necessary for a client to + identify itself to a service, and vice-versa, in each call and reply + message. Security and access control mechanisms can be built on top + of this message authentication. Several different authentication + protocols can be supported. A field in the RPC header indicates + which protocol is being used. More information on specific + authentication protocols is in Section 8.2, "Authentication, + Integrity and Privacy". + +8. RPC Protocol Requirements + + The RPC protocol must provide for the following: + + o Unique specification of a procedure to be called + + o Provisions for matching response messages to request messages + + o Provisions for authenticating the caller to service and vice-versa + + Besides these requirements, features that detect the following are + worth supporting because of protocol roll-over errors, implementation + bugs, user error, and network administration: + + o RPC protocol mismatches + + o Remote program protocol version mismatches + + o Protocol errors (such as misspecification of a procedure's + parameters) + + o Reasons why remote authentication failed + + o Any other reasons why the desired procedure was not called + + + +Thurlow Standards Track [Page 7] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +8.1. RPC Programs and Procedures + + The RPC call message has three unsigned-integer fields -- remote + program number, remote program version number, and remote procedure + number -- that uniquely identify the procedure to be called. Program + numbers are administered by a central authority (IANA). Once + implementors have a program number, they can implement their remote + program; the first implementation would most likely have the version + number 1 but MUST NOT be the number zero. Because most new protocols + evolve, a "version" field of the call message identifies which + version of the protocol the caller is using. Version numbers enable + support of both old and new protocols through the same server + process. + + The procedure number identifies the procedure to be called. These + numbers are documented in the specific program's protocol + specification. For example, a file service's protocol specification + may state that its procedure number 5 is "read" and procedure number + 12 is "write". + + Just as remote program protocols may change over several versions, + the actual RPC message protocol could also change. Therefore, the + call message also has in it the RPC version number, which is always + equal to 2 for the version of RPC described here. + + The reply message to a request message has enough information to + distinguish the following error conditions: + + o The remote implementation of RPC does not support protocol version + 2. The lowest and highest supported RPC version numbers are + returned. + + o The remote program is not available on the remote system. + + o The remote program does not support the requested version number. + The lowest and highest supported remote program version numbers + are returned. + + o The requested procedure number does not exist. (This is usually a + client-side protocol or programming error.) + + o The parameters to the remote procedure appear to be garbage from + the server's point of view. (Again, this is usually caused by a + disagreement about the protocol between client and service.) + + + + + + + +Thurlow Standards Track [Page 8] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +8.2. Authentication, Integrity, and Privacy + + Provisions for authentication of caller to service and vice-versa are + provided as a part of the RPC protocol. The call message has two + authentication fields: the credential and the verifier. The reply + message has one authentication field: the response verifier. The RPC + protocol specification defines all three fields to be the following + opaque type (in the eXternal Data Representation (XDR) language + [RFC4506]): + + enum auth_flavor { + AUTH_NONE = 0, + AUTH_SYS = 1, + AUTH_SHORT = 2, + AUTH_DH = 3, + RPCSEC_GSS = 6 + /* and more to be defined */ + }; + + struct opaque_auth { + auth_flavor flavor; + opaque body<400>; + }; + + In other words, any "opaque_auth" structure is an "auth_flavor" + enumeration followed by up to 400 bytes that are opaque to + (uninterpreted by) the RPC protocol implementation. + + The interpretation and semantics of the data contained within the + authentication fields are specified by individual, independent + authentication protocol specifications. + + If authentication parameters were rejected, the reply message + contains information stating why they were rejected. + + As demonstrated by RPCSEC_GSS, it is possible for an "auth_flavor" to + also support integrity and privacy. + + + + + + + + + + + + + + +Thurlow Standards Track [Page 9] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +8.3. Program Number Assignment + + Program numbers are given out in groups according to the following + chart: + + 0x00000000 Reserved + 0x00000001 - 0x1fffffff To be assigned by IANA + 0x20000000 - 0x3fffffff Defined by local administrator + (some blocks assigned here) + 0x40000000 - 0x5fffffff Transient + 0x60000000 - 0x7effffff Reserved + 0x7f000000 - 0x7fffffff Assignment outstanding + 0x80000000 - 0xffffffff Reserved + + The first group is a range of numbers administered by IANA and should + be identical for all sites. The second range is for applications + peculiar to a particular site. This range is intended primarily for + debugging new programs. When a site develops an application that + might be of general interest, that application should be given an + assigned number in the first range. Application developers may apply + for blocks of RPC program numbers in the first range by methods + described in Appendix B. The third group is for applications that + generate program numbers dynamically. The final groups are reserved + for future use, and should not be used. + +8.4. Other Uses of the RPC Protocol + + The intended use of this protocol is for calling remote procedures. + Normally, each call message is matched with a reply message. + However, the protocol itself is a message-passing protocol with which + other (non-procedure-call) protocols can be implemented. + +8.4.1. Batching + + Batching is useful when a client wishes to send an arbitrarily large + sequence of call messages to a server. Batching typically uses + reliable byte stream protocols (like TCP) for its transport. In the + case of batching, the client never waits for a reply from the server, + and the server does not send replies to batch calls. A sequence of + batch calls is usually terminated by a legitimate remote procedure + call operation in order to flush the pipeline and get positive + acknowledgement. + + + + + + + + + +Thurlow Standards Track [Page 10] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +8.4.2. Broadcast Remote Procedure Calls + + In broadcast protocols, the client sends a broadcast call to the + network and waits for numerous replies. This requires the use of + packet-based protocols (like UDP) as its transport protocol. Servers + that support broadcast protocols usually respond only when the call + is successfully processed and are silent in the face of errors, but + this varies with the application. + + The principles of broadcast RPC also apply to multicasting -- an RPC + request can be sent to a multicast address. + +9. The RPC Message Protocol + + This section defines the RPC message protocol in the XDR data + description language [RFC4506]. + + enum msg_type { + CALL = 0, + REPLY = 1 + }; + + A reply to a call message can take on two forms: the message was + either accepted or rejected. + + enum reply_stat { + MSG_ACCEPTED = 0, + MSG_DENIED = 1 + }; + + Given that a call message was accepted, the following is the status + of an attempt to call a remote procedure. + + enum accept_stat { + SUCCESS = 0, /* RPC executed successfully */ + PROG_UNAVAIL = 1, /* remote hasn't exported program */ + PROG_MISMATCH = 2, /* remote can't support version # */ + PROC_UNAVAIL = 3, /* program can't support procedure */ + GARBAGE_ARGS = 4, /* procedure can't decode params */ + SYSTEM_ERR = 5 /* e.g. memory allocation failure */ + }; + + Reasons why a call message was rejected: + + enum reject_stat { + RPC_MISMATCH = 0, /* RPC version number != 2 */ + AUTH_ERROR = 1 /* remote can't authenticate caller */ + }; + + + +Thurlow Standards Track [Page 11] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + Why authentication failed: + + enum auth_stat { + AUTH_OK = 0, /* success */ + /* + * failed at remote end + */ + AUTH_BADCRED = 1, /* bad credential (seal broken) */ + AUTH_REJECTEDCRED = 2, /* client must begin new session */ + AUTH_BADVERF = 3, /* bad verifier (seal broken) */ + AUTH_REJECTEDVERF = 4, /* verifier expired or replayed */ + AUTH_TOOWEAK = 5, /* rejected for security reasons */ + /* + * failed locally + */ + AUTH_INVALIDRESP = 6, /* bogus response verifier */ + AUTH_FAILED = 7, /* reason unknown */ + /* + * AUTH_KERB errors; deprecated. See [RFC2695] + */ + AUTH_KERB_GENERIC = 8, /* kerberos generic error */ + AUTH_TIMEEXPIRE = 9, /* time of credential expired */ + AUTH_TKT_FILE = 10, /* problem with ticket file */ + AUTH_DECODE = 11, /* can't decode authenticator */ + AUTH_NET_ADDR = 12, /* wrong net address in ticket */ + /* + * RPCSEC_GSS GSS related errors + */ + RPCSEC_GSS_CREDPROBLEM = 13, /* no credentials for user */ + RPCSEC_GSS_CTXPROBLEM = 14 /* problem with context */ + }; + + As new authentication mechanisms are added, there may be a need for + more status codes to support them. IANA will hand out new auth_stat + numbers on a simple First Come First Served basis as defined in the + "IANA Considerations" and Appendix B. + + The RPC message: + + All messages start with a transaction identifier, xid, followed by a + two-armed discriminated union. The union's discriminant is a + msg_type that switches to one of the two types of the message. The + xid of a REPLY message always matches that of the initiating CALL + message. NB: The "xid" field is only used for clients matching reply + messages with call messages or for servers detecting retransmissions; + the service side cannot treat this id as any type of sequence number. + + + + + +Thurlow Standards Track [Page 12] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + struct rpc_msg { + unsigned int xid; + union switch (msg_type mtype) { + case CALL: + call_body cbody; + case REPLY: + reply_body rbody; + } body; + }; + + Body of an RPC call: + + In version 2 of the RPC protocol specification, rpcvers MUST be equal + to 2. The fields "prog", "vers", and "proc" specify the remote + program, its version number, and the procedure within the remote + program to be called. After these fields are two authentication + parameters: cred (authentication credential) and verf (authentication + verifier). The two authentication parameters are followed by the + parameters to the remote procedure, which are specified by the + specific program protocol. + + The purpose of the authentication verifier is to validate the + authentication credential. Note that these two items are + historically separate, but are always used together as one logical + entity. + + struct call_body { + unsigned int rpcvers; /* must be equal to two (2) */ + unsigned int prog; + unsigned int vers; + unsigned int proc; + opaque_auth cred; + opaque_auth verf; + /* procedure-specific parameters start here */ + }; + + Body of a reply to an RPC call: + + union reply_body switch (reply_stat stat) { + case MSG_ACCEPTED: + accepted_reply areply; + case MSG_DENIED: + rejected_reply rreply; + } reply; + + + + + + + +Thurlow Standards Track [Page 13] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + Reply to an RPC call that was accepted by the server: + + There could be an error even though the call was accepted. The first + field is an authentication verifier that the server generates in + order to validate itself to the client. It is followed by a union + whose discriminant is an enum accept_stat. The SUCCESS arm of the + union is protocol-specific. The PROG_UNAVAIL, PROC_UNAVAIL, + GARBAGE_ARGS, and SYSTEM_ERR arms of the union are void. The + PROG_MISMATCH arm specifies the lowest and highest version numbers of + the remote program supported by the server. + + struct accepted_reply { + opaque_auth verf; + union switch (accept_stat stat) { + case SUCCESS: + opaque results[0]; + /* + * procedure-specific results start here + */ + case PROG_MISMATCH: + struct { + unsigned int low; + unsigned int high; + } mismatch_info; + default: + /* + * Void. Cases include PROG_UNAVAIL, PROC_UNAVAIL, + * GARBAGE_ARGS, and SYSTEM_ERR. + */ + void; + } reply_data; + }; + + Reply to an RPC call that was rejected by the server: + + The call can be rejected for two reasons: either the server is not + running a compatible version of the RPC protocol (RPC_MISMATCH) or + the server rejects the identity of the caller (AUTH_ERROR). In case + of an RPC version mismatch, the server returns the lowest and highest + supported RPC version numbers. In case of invalid authentication, + failure status is returned. + + + + + + + + + + +Thurlow Standards Track [Page 14] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + union rejected_reply switch (reject_stat stat) { + case RPC_MISMATCH: + struct { + unsigned int low; + unsigned int high; + } mismatch_info; + case AUTH_ERROR: + auth_stat stat; + }; + +10. Authentication Protocols + + As previously stated, authentication parameters are opaque, but + open-ended to the rest of the RPC protocol. This section defines two + standard flavors of authentication. Implementors are free to invent + new authentication types, with the same rules of flavor number + assignment as there are for program number assignment. The flavor of + a credential or verifier refers to the value of the "flavor" field in + the opaque_auth structure. Flavor numbers, like RPC program numbers, + are also administered centrally, and developers may assign new flavor + numbers by methods described in Appendix B. Credentials and + verifiers are represented as variable-length opaque data (the "body" + field in the opaque_auth structure). + + In this document, two flavors of authentication are described. Of + these, Null authentication (described in the next subsection) is + mandatory -- it MUST be available in all implementations. System + authentication (AUTH_SYS) is described in Appendix A. Implementors + MAY include AUTH_SYS in their implementations to support existing + applications. See "Security Considerations" for information about + other, more secure, authentication flavors. + +10.1. Null Authentication + + Often, calls must be made where the client does not care about its + identity or the server does not care who the client is. In this + case, the flavor of the RPC message's credential, verifier, and reply + verifier is "AUTH_NONE". Opaque data associated with "AUTH_NONE" is + undefined. It is recommended that the length of the opaque data be + zero. + + + + + + + + + + + +Thurlow Standards Track [Page 15] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +11. Record Marking Standard + + When RPC messages are passed on top of a byte stream transport + protocol (like TCP), it is necessary to delimit one message from + another in order to detect and possibly recover from protocol errors. + This is called record marking (RM). One RPC message fits into one RM + record. + + A record is composed of one or more record fragments. A record + fragment is a four-byte header followed by 0 to (2**31) - 1 bytes of + fragment data. The bytes encode an unsigned binary number; as with + XDR integers, the byte order is from highest to lowest. The number + encodes two values -- a boolean that indicates whether the fragment + is the last fragment of the record (bit value 1 implies the fragment + is the last fragment) and a 31-bit unsigned binary value that is the + length in bytes of the fragment's data. The boolean value is the + highest-order bit of the header; the length is the 31 low-order bits. + (Note that this record specification is NOT in XDR standard form!) + +12. The RPC Language + + Just as there was a need to describe the XDR data-types in a formal + language, there is also need to describe the procedures that operate + on these XDR data-types in a formal language as well. The RPC + language is an extension to the XDR language, with the addition of + "program", "procedure", and "version" declarations. The keywords + "program" and "version" are reserved in the RPC language, and + implementations of XDR compilers MAY reserve these keywords even when + provided with pure XDR, non-RPC, descriptions. The following example + is used to describe the essence of the language. + + + + + + + + + + + + + + + + + + + + + +Thurlow Standards Track [Page 16] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +12.1. An Example Service Described in the RPC Language + + Here is an example of the specification of a simple ping program. + + program PING_PROG { + /* + * Latest and greatest version + */ + version PING_VERS_PINGBACK { + void + PINGPROC_NULL(void) = 0; + /* + * Ping the client, return the round-trip time + * (in microseconds). Returns -1 if the operation + * timed out. + */ + int + PINGPROC_PINGBACK(void) = 1; + } = 2; + + /* + * Original version + */ + version PING_VERS_ORIG { + void + PINGPROC_NULL(void) = 0; + } = 1; + } = 1; + + const PING_VERS = 2; /* latest version */ + + The first version described is PING_VERS_PINGBACK with two + procedures: PINGPROC_NULL and PINGPROC_PINGBACK. PINGPROC_NULL takes + no arguments and returns no results, but it is useful for computing + round-trip times from the client to the server and back again. By + convention, procedure 0 of any RPC protocol should have the same + semantics and never require any kind of authentication. The second + procedure is used for the client to have the server do a reverse ping + operation back to the client, and it returns the amount of time (in + microseconds) that the operation used. The next version, + PING_VERS_ORIG, is the original version of the protocol, and it does + not contain the PINGPROC_PINGBACK procedure. It is useful for + compatibility with old client programs, and as this program matures, + it may be dropped from the protocol entirely. + + + + + + + +Thurlow Standards Track [Page 17] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +12.2. The RPC Language Specification + + The RPC language is identical to the XDR language defined in RFC + 4506, except for the added definition of a "program-def", described + below. + + program-def: + "program" identifier "{" + version-def + version-def * + "}" "=" constant ";" + + version-def: + "version" identifier "{" + procedure-def + procedure-def * + "}" "=" constant ";" + + procedure-def: + proc-return identifier "(" proc-firstarg + ("," type-specifier )* ")" "=" constant ";" + + proc-return: "void" | type-specifier + + proc-firstarg: "void" | type-specifier + +12.3. Syntax Notes + + o The following keywords are added and cannot be used as + identifiers: "program" and "version". + + o A version name cannot occur more than once within the scope of a + program definition. Neither can a version number occur more than + once within the scope of a program definition. + + o A procedure name cannot occur more than once within the scope of a + version definition. Neither can a procedure number occur more + than once within the scope of version definition. + + o Program identifiers are in the same name space as constant and + type identifiers. + + o Only unsigned constants can be assigned to programs, versions, and + procedures. + + o Current RPC language compilers do not generally support more than + one type-specifier in procedure argument lists; the usual practice + is to wrap arguments into a structure. + + + +Thurlow Standards Track [Page 18] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +13. IANA Considerations + + The assignment of RPC program numbers, authentication flavor numbers, + and authentication status numbers has in the past been performed by + Sun Microsystems, Inc (Sun). This is inappropriate for an IETF + Standards Track protocol, as such work is done well by the Internet + Assigned Numbers Authority (IANA). This document proposes the + transfer of authority over RPC program numbers, authentication flavor + numbers, and authentication status numbers described here from Sun + Microsystems, Inc. to IANA and describes how IANA will maintain and + assign these numbers. Users of RPC protocols will benefit by having + an independent body responsible for these number assignments. + +13.1. Numbering Requests to IANA + + Appendix B of this document describes the information to be sent to + IANA to request one or more RPC numbers and the rules that apply. + IANA will store the request for documentary purposes and put the + following information into the public registry: + + o The short description of purpose and use + + o The program number(s) assigned + + o The short identifier string(s) + +13.2. Protecting Past Assignments + + Sun has made assignments in both the RPC program number space and the + RPC authentication flavor number space since the original deployment + of RPC. The assignments made by Sun Microsystems are still valid, + and will be preserved. Sun has communicated all current assignments + in both number spaces to IANA and final handoff of number assignment + is complete. Current program and auth number assignments are + provided in Appendix C. Current authentication status numbers are + listed in Section 9 of this document in the "enum auth_stat" + definition. + +13.3. RPC Number Assignment + + Future IANA practice will deal with the following partitioning of the + 32-bit number space as listed in Section 8.3. Detailed information + for the administration of the partitioned blocks in Section 8.3 is + given below. + + + + + + + +Thurlow Standards Track [Page 19] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +13.3.1. To Be Assigned By IANA + + The first block will be administered by IANA, with previous + assignments by Sun protected. Previous assignments were restricted + to the range decimal 100000-399999 (0x000186a0 to 0x00061a7f); + therefore, IANA will begin assignments at decimal 400000. Individual + numbers should be grated on a First Come First Served basis, and + blocks should be granted under rules related to the size of the + block. + +13.3.2. Defined by Local Administrator + + The "Defined by local administrator" block is available for any local + administrative domain to use, in a similar manner to IP address + ranges reserved for private use. The expected use would be through + the establishment of a local domain "authority" for assigning numbers + from this range. This authority would establish any policies or + procedures to be used within that local domain for use or assignment + of RPC numbers from the range. The local domain should be + sufficiently isolated that it would be unlikely that RPC applications + developed by other local domains could communicate with the domain. + This could result in RPC number contention, which would cause one of + the applications to fail. In the absence of a local administrator, + this block can be utilized in a "Private Use" manner per [RFC5226]. + +13.3.3. Transient Block + + The "Transient" block can be used by any RPC application on an "as + available" basis. This range is intended for services that can + communicate a dynamically selected RPC program number to clients of + the service. Any mechanism can be used to communicate the number. + For example, either shared memory when the client and server are + located on the same system or a network message (either RPC or + otherwise) that disseminates the selected number can be used. + + The transient block is not administered. An RPC service uses this + range by selecting a number in the transient range and attempting to + register that number with the local system's RPC bindery (see the + RPCBPROC_SET or PMAPPROC_SET procedures in "Binding Protocols for ONC + RPC Version 2", [RFC1833]). If successful, no other RPC service was + using that number and the RPC Bindery has assigned that number to the + requesting RPC application. The registration is valid until the RPC + Bindery terminates, which normally would only happen if the system + reboots, causing all applications, including the RPC service using + the transient number, to terminate. If the transient number + registration fails, another RPC application is using the number and + + + + + +Thurlow Standards Track [Page 20] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + the requestor must select another number and try again. To avoid + conflicts, the recommended method is to select a number randomly from + the transient range. + +13.3.4. Reserved Block + + The "Reserved" blocks are available for future use. RPC applications + must not use numbers in these ranges unless their use is allowed by + future action by the IESG. + +13.3.5. RPC Number Sub-Blocks + + RPC numbers are usually assigned for specific RPC services. Some + applications, however, require multiple RPC numbers for a service. + The most common example is an RPC service that needs to have multiple + instances of the service active simultaneously at a specific site. + RPC does not have an "instance identifier" in the protocol, so either + a mechanism must be implemented to multiplex RPC requests amongst + various instances of the service or unique RPC numbers must be used + by each instance. + + In these cases, the RPC protocol used with the various numbers may be + different or the same. The numbers may either be assigned + dynamically by the application, or as part of a site-specific + administrative decision. If possible, RPC services that dynamically + assign RPC numbers should use the "Transient" RPC number block + defined in Section 13.3.3. If not possible, RPC number sub-blocks + may be requested. + + Assignment of RPC Number Sub-Blocks is controlled by the size of the + sub-block being requested. "Specification Required" and "IESG + Approval" are used as defined by Section 4.1 of [RFC5226]. + + Size of sub-block Assignment Method Authority + ----------------- ----------------- --------- + Up to 100 numbers First Come First Served IANA + Up to 1000 numbers Specification Required IANA + More than 1000 numbers IESG Approval required IESG + + Note: sub-blocks can be any size. The limits given above are + maximums, and smaller size sub-blocks are allowed. + + Sub-blocks sized up to 100 numbers may be assigned by IANA on a First + Come First Served basis. The RPC Service Description included in the + range must include an indication of how the sub-block is managed. At + a minimum, the statement should indicate whether the sub-block is + + + + + +Thurlow Standards Track [Page 21] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + used with a single RPC protocol or multiple RPC protocols, and + whether the numbers are dynamically assigned or statically (through + administrative action) assigned. + + Sub-blocks of up to 1000 numbers must be documented in detail. The + documentation must describe the RPC protocol or protocols that are to + be used in the range. It must also describe how the numbers within + the sub-block are to be assigned or used. + + Sub-blocks sized over 1000 numbers must be documented as described + above, and the assignment must be approved by the IESG. It is + expected that this will be rare. + + In order to avoid multiple requests of large blocks of numbers, the + following rule is proposed. + + Requests up to and including 100 RPC numbers are handled via the + First Come First Served assignment method. This 100 number threshold + applies to the total number of RPC numbers assigned to an individual + or entity. For example, if an individual or entity first requests, + say, 70 numbers, and then later requests 40 numbers, then the request + for the 40 numbers will be assigned via the Specification Required + method. As long as the total number of numbers assigned does not + exceed 1000, IANA is free to waive the Specification Required + assignment for incremental requests of less than 100 numbers. + + If an individual or entity has under 1000 numbers and later requests + an additional set of numbers such that the individual or entity would + be granted over 1000 numbers, then the additional request will + require IESG Approval. + +13.4. RPC Authentication Flavor Number Assignment + + The second number space is the authentication mechanism identifier, + or "flavor", number. This number is used to distinguish between + various authentication mechanisms that can be optionally used with an + RPC message. An authentication identifier is used in the "flavor" + field of the "opaque_auth" structure. + +13.4.1. Assignment Policy + + Appendix B of this document describes the information to be sent to + IANA to request one or more RPC auth numbers and the rules that + apply. IANA will store the request for documentary purposes and put + the following information into the public registry: + + + + + + +Thurlow Standards Track [Page 22] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + o The short identifier string(s) + + o The auth number(s) assigned + + o The short description of purpose and use + +13.4.2. Auth Flavors vs. Pseudo-Flavors + + Recent progress in RPC security has moved away from new auth flavors + as used by AUTH_DH [DH], and has focused on using the existing + RPCSEC_GSS [RFC2203] flavor and inventing novel GSS-API (Generic + Security Services Application Programming Interface) mechanisms that + can be used with it. Even though RPCSEC_GSS is an assigned + authentication flavor, use of a new RPCSEC_GSS mechanism with the + Network File System (NFS) ([RFC1094] [RFC1813], and [RFC3530]) will + require the registration of 'pseudo-flavors' that are used to + negotiate security mechanisms in an unambiguous way, as defined by + [RFC2623]. Existing pseudo-flavors have been granted in the decimal + range 390000-390255. New pseudo-flavor requests will be granted by + IANA within this block on a First Come First Served basis. + + For non-pseudo-flavor requests, IANA will begin granting RPC + authentication flavor numbers at 400000 on a First Come First Served + basis to avoid conflicts with currently granted numbers. + + For authentication flavors or RPCSEC_GSS mechanisms to be used on the + Internet, it is strongly advised that an Informational or Standards + Track RFC be published describing the authentication mechanism + behaviour and parameters. + +13.5. Authentication Status Number Assignment + + The final number space is the authentication status or "auth_stat" + values that describe the nature of a problem found during an attempt + to authenticate or validate authentication. The complete initial + list of these values is found in Section 9 of this document, in the + "auth_stat" enum listing. It is expected that it will be rare to add + values, but that a small number of new values may be added from time + to time as new authentication flavors introduce new possibilities. + Numbers should be granted on a First Come First Served basis to avoid + conflicts with currently granted numbers. + +13.5.1. Assignment Policy + + Appendix B of this document describes the information to be sent to + IANA to request one or more auth_stat values and the rules that + apply. IANA will store the request for documentary purposes, and put + the following information into the public registry: + + + +Thurlow Standards Track [Page 23] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + o The short identifier string(s) + + o The auth_stat number(s) assigned + + o The short description of purpose and use + +14. Security Considerations + + AUTH_SYS as described in Appendix A is known to be insecure due to + the lack of a verifier to permit the credential to be validated. + AUTH_SYS SHOULD NOT be used for services that permit clients to + modify data. AUTH_SYS MUST NOT be specified as RECOMMENDED or + REQUIRED for any Standards Track RPC service. + + AUTH_DH as mentioned in Sections 8.2 and 13.4.2 is considered + obsolete and insecure; see [RFC2695]. AUTH_DH SHOULD NOT be used for + services that permit clients to modify data. AUTH_DH MUST NOT be + specified as RECOMMENDED or REQUIRED for any Standards Track RPC + service. + + [RFC2203] defines a new security flavor, RPCSEC_GSS, which permits + GSS-API [RFC2743] mechanisms to be used for securing RPC. All non- + trivial RPC programs developed in the future should implement + RPCSEC_GSS-based security appropriately. [RFC2623] describes how + this was done for a widely deployed RPC program. + + Standards Track RPC services MUST mandate support for RPCSEC_GSS, and + MUST mandate support for an authentication pseudo-flavor with + appropriate levels of security, depending on the need for simple + authentication, integrity (a.k.a. non-repudiation), or data privacy. + + + + + + + + + + + + + + + + + + + + + +Thurlow Standards Track [Page 24] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +Appendix A: System Authentication + + The client may wish to identify itself, for example, as it is + identified on a UNIX(tm) system. The flavor of the client credential + is "AUTH_SYS". The opaque data constituting the credential encodes + the following structure: + + struct authsys_parms { + unsigned int stamp; + string machinename<255>; + unsigned int uid; + unsigned int gid; + unsigned int gids<16>; + }; + + The "stamp" is an arbitrary ID that the caller machine may generate. + The "machinename" is the name of the caller's machine (like + "krypton"). The "uid" is the caller's effective user ID. The "gid" + is the caller's effective group ID. "gids" are a counted array of + groups that contain the caller as a member. The verifier + accompanying the credential should have "AUTH_NONE" flavor value + (defined above). Note that this credential is only unique within a + particular domain of machine names, uids, and gids. + + The flavor value of the verifier received in the reply message from + the server may be "AUTH_NONE" or "AUTH_SHORT". In the case of + "AUTH_SHORT", the bytes of the reply verifier's string encode an + opaque structure. This new opaque structure may now be passed to the + server instead of the original "AUTH_SYS" flavor credential. The + server may keep a cache that maps shorthand opaque structures (passed + back by way of an "AUTH_SHORT" style reply verifier) to the original + credentials of the caller. The caller can save network bandwidth and + server cpu cycles by using the shorthand credential. + + The server may flush the shorthand opaque structure at any time. If + this happens, the remote procedure call message will be rejected due + to an authentication error. The reason for the failure will be + "AUTH_REJECTEDCRED". At this point, the client may wish to try the + original "AUTH_SYS" style of credential. + + It should be noted that use of this flavor of authentication does not + guarantee any security for the users or providers of a service, in + itself. The authentication provided by this scheme can be considered + legitimate only when applications using this scheme and the network + can be secured externally, and privileged transport addresses are + used for the communicating end-points (an example of this is the use + of privileged TCP/UDP ports in UNIX systems -- note that not all + systems enforce privileged transport address mechanisms). + + + +Thurlow Standards Track [Page 25] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +Appendix B: Requesting RPC-Related Numbers from IANA + + RPC program numbers, authentication flavor numbers, and + authentication status numbers that must be unique across all networks + are assigned by the Internet Assigned Number Authority. To apply for + a single number or a block of numbers, electronic mail must be sent + to IANA <iana@iana.org> with the following information: + + o The type of number(s) (program number or authentication flavor + number or authentication status number) sought + + o How many numbers are sought + + o The name of the person or company that will use the number + + o An "identifier string" that associates the number with a service + + o Email address of the contact person for the service that will be + using the number + + o A short description of the purpose and use of the number + + o If an authentication flavor number is sought, and the number will + be a 'pseudo-flavor' intended for use with RPCSEC_GSS and NFS, + mappings analogous to those in Section 4.2 of [RFC2623] + + Specific numbers cannot be requested. Numbers are assigned on a + First Come First Served basis. + + For all RPC authentication flavor and authentication status numbers + to be used on the Internet, it is strongly advised that an + Informational or Standards Track RFC be published describing the + authentication mechanism behaviour and parameters. + + + + + + + + + + + + + + + + + + +Thurlow Standards Track [Page 26] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +Appendix C: Current Number Assignments + + # + # Sun-assigned RPC numbers + # + # Description/Owner RPC Program Number Short Name + # ----------------------------------------------------------------- + portmapper 100000 pmapprog portmap rpcbind + remote stats 100001 rstatprog + remote users 100002 rusersprog + nfs 100003 nfs + yellow pages (NIS) 100004 ypprog ypserv + mount demon 100005 mountprog + remote dbx 100006 dbxprog + yp binder (NIS) 100007 ypbindprog ypbind + shutdown msg 100008 wall + yppasswd server 100009 yppasswdprog yppasswdd + ether stats 100010 etherstatprog + disk quotas 100011 rquota + spray packets 100012 spray + 3270 mapper 100013 ibm3270prog + RJE mapper 100014 ibmrjeprog + selection service 100015 selnsvcprog + remote database access 100016 rdatabaseprog + remote execution 100017 rexec + Alice Office Automation 100018 aliceprog + scheduling service 100019 schedprog + local lock manager 100020 lockprog llockmgr + network lock manager 100021 netlockprog nlockmgr + x.25 inr protocol 100022 x25prog + status monitor 1 100023 statmon1 + status monitor 2 100024 statmon2 + selection library 100025 selnlibprog + boot parameters service 100026 bootparam + mazewars game 100027 mazeprog + yp update (NIS) 100028 ypupdateprog ypupdate + key server 100029 keyserveprog + secure login 100030 securecmdprog + nfs net forwarder init 100031 netfwdiprog + nfs net forwarder trans 100032 netfwdtprog + sunlink MAP 100033 sunlinkmap + network monitor 100034 netmonprog + lightweight database 100035 dbaseprog + password authorization 100036 pwdauthprog + translucent file svc 100037 tfsprog + nse server 100038 nseprog + nse activate daemon 100039 nse_activate_prog + sunview help 100040 sunview_help_prog + + + +Thurlow Standards Track [Page 27] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + pnp install 100041 pnp_prog + ip addr allocator 100042 ipaddr_alloc_prog + show filehandle 100043 filehandle + MVS NFS mount 100044 mvsnfsprog + remote user file operations 100045 rem_fileop_user_prog + batched ypupdate 100046 batch_ypupdateprog + network execution mgr 100047 nem_prog + raytrace/mandelbrot remote daemon 100048 raytrace_rd_prog + raytrace/mandelbrot local daemon 100049 raytrace_ld_prog + remote group file operations 100050 rem_fileop_group_prog + remote system file operations 100051 rem_fileop_system_prog + remote system role operations 100052 rem_system_role_prog + gpd lego fb simulator 100053 [unknown] + gpd simulator interface 100054 [unknown] + ioadmd 100055 ioadmd + filemerge 100056 filemerge_prog + Name Binding Program 100057 namebind_prog + sunlink NJE 100058 njeprog + MVSNFS get attribute service 100059 mvsattrprog + SunAccess/SunLink resource manager 100060 rmgrprog + UID allocation service 100061 uidallocprog + license broker 100062 lbserverprog + NETlicense client binder 100063 lbbinderprog + GID allocation service 100064 gidallocprog + SunIsam 100065 sunisamprog + Remote Debug Server 100066 rdbsrvprog + Network Directory Daemon 100067 [unknown] + Network Calendar Program 100068 cmsd cm + ypxfrd 100069 ypxfrd + rpc.timed 100070 timedprog + bugtraqd 100071 bugtraqd + 100072 [unknown] + Connectathon Billboard - NFS 100073 [unknown] + Connectathon Billboard - X 100074 [unknown] + Sun tool for scheduling rooms 100075 schedroom + Authentication Negotiation 100076 authnegotiate_prog + Database manipulation 100077 attribute_prog + Kerberos authentication daemon 100078 kerbprog + Internal testing product (no name) 100079 [unknown] + Sun Consulting Special 100080 autodump_prog + Event protocol 100081 event_svc + bugtraq_qd 100082 bugtraq_qd + ToolTalk and Link Service Project 100083 database service + Consulting Services 100084 [unknown] + Consulting Services 100085 [unknown] + Consulting Services 100086 [unknown] + Jupiter Administration 100087 adm_agent admind + 100088 [unknown] + + + +Thurlow Standards Track [Page 28] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 100089 [unknown] + Dual Disk support 100090 libdsd/dsd + DocViewer 1.1 100091 [unknown] + ToolTalk 100092 remote_activation_svc + Consulting Services 100093 host_checking + SNA peer-to-peer 100094 [unknown] + Roger Riggs 100095 searchit + Robert Allen 100096 mesgtool + SNA 100097 [unknown] + SISU 100098 networked version of CS5 + NFS Automount File System 100099 autofs + 100100 msgboard + event dispatching agent [eventd] 100101 netmgt_eventd_prog + statistics/event logger [netlogd] 100102 netmgt_netlogd_prog + topology display manager [topology]100103 netmgt_topology_prog + syncstat agent [syncstatd] 100104 netmgt_syncstatd_prog + ip packet stats agent [ippktd] 100105 netmgt_ippktd_prog + netmgt config agent [configd] 100106 netmgt_configd_prog + restat agent [restatd] 100107 netmgt_restatd_prog + lpq agent [lprstatd] 100108 netmgt_lprstatd_prog + netmgt activity agent [mgtlogd] 100109 netmgt_mgtlogd_prog + proxy DECnet NCP agent [proxydni] 100110 netmgt_proxydni_prog + topology mapper agent [mapperd] 100111 netmgt_mapperd_prog + netstat agent [netstatd] 100112 netmgt_netstatd_prog + sample netmgt agent [sampled] 100113 netmgt_sampled_prog + X.25 statistics agent [vcstatd] 100114 netmgt_vcstatd_prog + Frame Relay 100128 [unknown] + PPP agent 100129 [unknown] + localhad 100130 rpc.localhad + layers2 100131 na.layers2 + token ring agent 100132 na.tr + related to lockd and statd 100133 nsm_addr + Kerberos project 100134 kwarn + ertherif2 100135 na.etherif2 + hostmem2 100136 na.hostmem2 + iostat2 100137 na.iostat2 + snmpv2 100138 na.snmpv2 + Cooperative Console 100139 cc_sender + na.cpustat 100140 na.cpustat + Sun Cluster SC3.0 100141 rgmd_receptionist + 100142 fed + Network Storage 100143 rdc + Sun Cluster products 100144 nafo + SunCluster 3.0 100145 scadmd + ASN.1 100146 amiserv + 100147 amiaux # BER and DER + encode and decode + Delegate Management Server 100148 dm + + + +Thurlow Standards Track [Page 29] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 100149 rkstat + 100150 ocfserv + 100151 sccheckd + 100152 autoclientd + 100153 sunvts + 100154 ssmond + 100155 smserverd + 100156 test1 + 100157 test2 + 100158 test3 + 100159 test4 + 100160 test5 + 100161 test6 + 100162 test7 + 100163 test8 + 100164 test9 + 100165 test10 + 100166 nfsmapid + 100167 SUN_WBEM_C_CIMON_HANDLE + 100168 sacmmd + 100169 fmd_adm + 100170 fmd_api + 100171 [unknown] + 100172 idmapd + unassigned 100173 - 100174 + snmptrap 100175 na.snmptrap + unassigned 100176-100199 + + unassigned 100200 + MVS/NFS Memory usage stats server 100201 [unknown] + Netapp 100202-100207 + unassigned 100208-100210 + 8.0 SunLink SNA RJE 100211 [unknown] + 8.0 SunLink SNA RJE 100212 [unknown] + 100213 ShowMe + 100214 [unknown] + 100215 [unknown] + AUTH_RSA Key service 100216 keyrsa + SunSelect PC license service 100217 [unknown] + WWCS (Corporate) 100218 sunsolve + 100219 cstatd + X/Open Federated Naming 100220 xfn_server_prog + Kodak Color Management System 100221 kcs_network_io kcs + HA-DBMS 100222 ha_dbms_serv + 100223-100225 [unknown] + 100226 hafaultd + NFS ACL Service 100227 nfs_acl + distributed lock manager 100228 dlmd + + + +Thurlow Standards Track [Page 30] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 100229 metad + 100230 metamhd + 100231 nfsauth + 100232 sadmind + 100233 ufsd + 100234 grpservd + 100235 cachefsd + 100236 msmprog Media_Server + 100237 ihnamed + 100238 ihnetd + 100239 ihsecured + 100240 ihclassmgrd + 100241 ihrepositoryd + 100242 metamedd rpc.metamedd + 100243 contentmanager cm + 100244 symon + 100245 pld genesil + 100246 ctid + cluster_transport_interface + 100247 ccd + cluster_configuration_db + 100248 pmfd + 100249 dmi2_client + 100250 mfs_admin + 100251 ndshared_unlink + 100252 ndshared_touch + 100253 ndshared_slink + 100254 cbs control_board_server + 100255 skiserv + 100256 nfsxa nfsxattr + 100257 ndshared_disable + 100258 ndshared_enable + 100259 sms_account_admin + 100260 sms_modem_admin + 100261 sms_r_login + 100262 sms_r_subaccount_mgt + 100263 sms_service_admin + 100264 session_admin + 100265 canci_ancs_program + 100266 canci_sms_program + 100267 msmp + 100268 halck + 100269 halogmsg + 100270 nfs_id_map + 100271 ncall + 100272 hmip + 100273 repl_mig + 100274 repl_mig_cb + + + +Thurlow Standards Track [Page 31] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + NIS+ 100300 nisplus + NIS+ 100301 nis_cachemgr + NIS+ call back protocol 100302 [unknown] + NIS+ Password Update Daemon 100303 nispasswdd + FNS context update in NIS 100304 fnsypd + 100305 [unknown] + 100306 [unknown] + 100307 [unknown] + 100308 [unknown] + 100309 [unknown] + unassigned 100310 - 100398 + nfscksum 100399 nfscksum + network utilization agent 100400 netmgt_netu_prog + network rpc ping agent 100401 netmgt_rping_prog + 100402 na.shell + picsprint 100403 na.picslp + 100404 traps + 100405 - 100409 [unknown] + 100410 jdsagent + 100411 na.haconfig + 100412 na.halhost + 100413 na.hadtsrvc + 100414 na.hamdstat + 100415 na.neoadmin + 100416 ex1048prog + rdmaconfig 100417 rpc.rdmaconfig + IETF NFSv4 Working Group - FedFS 100418 - 100421 + 100422 mdcommd + 100423 kiprop krb5_iprop + 100424 stsf + unassigned 100425 - 100499 + Sun Microsystems 100500 - 100531 [unknown] + 100532 ucmmstate + 100533 scrcmd + unassigned 100534 - 100999 + nse link daemon 101002 nselinktool + nse link application 101003 nselinkapp + unassigned 101004 - 101900 + 101901 [unknown] + unassigned 101902 - 101999 + AssetLite 102000 [unknown] + PagerTool 102001 [unknown] + Discover 102002 [unknown] + unassigned 102003 - 105000 + ShowMe 105001 sharedapp + Registry 105002 REGISTRY_PROG + Print-server 105003 print-server + Proto-server 105004 proto-server + + + +Thurlow Standards Track [Page 32] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + Notification-server 105005 notification-server + Transfer-agent-server 105006 transfer-agent-server + unassigned 105007 - 110000 + 110001 tsolrpcb + 110002 tsolpeerinfo + 110003 tsolboot + 120001 cmip na.cmip + 120002 na.osidiscover + 120003 cmiptrap + unassigned 120004 - 120099 + 120100 eserver + 120101 repserver + 120102 swserver + 120103 dmd + 120104 ca + unassigned 120105 - 120125 + 120126 nf_fddi + 120127 nf_fddismt7_2 + unassigned 120128 - 150000 + pc passwd authorization 150001 pcnfsdprog + TOPS name mapping 150002 [unknown] + TOPS external attribute storage 150003 [unknown] + TOPS hierarchical file system 150004 [unknown] + TOPS NFS transparency extensions 150005 [unknown] + PC NFS License 150006 pcnfslicense + RDA 150007 rdaprog + WabiServer 150008 wsprog + WabiServer 150009 wsrlprog + unassigned 150010 - 160000 + 160001 nihon-cm + 160002 nihon-ce + unassigned 160003 - 170099 + 170100 domf_daemon0 + 170101 domf_daemon1 + 170102 domf_daemon2 + 170103 domf_daemon3 + 170104 domf_daemon4 + 170105 domf_daemon5 + unassigned 170106 - 179999 + 180000 cecprog + 180001 cecsysprog + 180002 cec2cecprog + 180003 cesprog + 180004 ces2cesprog + 180005 cet2cetprog + 180006 cet2cetdoneprog + 180007 cetcomprog + 180008 cetsysprog + + + +Thurlow Standards Track [Page 33] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 180009 cghapresenceprog + 180010 cgdmsyncprog + 180011 cgdmcnscliprog + 180012 cgdmcrcscliprog + 180013 cgdmcrcssvcproG + 180014 chmprog + 180015 chmsysprog + 180016 crcsapiprog + 180017 ckptmprog + 180018 crimcomponentprog + 180019 crimqueryprog + 180020 crimsecondaryprog + 180021 crimservicesprog + 180022 crimsyscomponentprog + 180023 crimsysservicesprog + 180024 csmagtapiprog + 180025 csmagtcallbackprog + 180026 csmreplicaprog + 180027 csmsrvprog + 180028 cssccltprog + 180029 csscsvrprog + 180030 csscopresultprog + unassigned 180031 - 199999 + 200000 pyramid_nfs + 200001 pyramid_reserved + 200002 cadds_image + 200003 stellar_name_prog + 200004 [unknown] + 200005 [unknown] + 200006 pacl + 200007 lookupids + 200008 ax_statd_prog + 200009 ax_statd2_prog + 200010 edm + 200011 dtedirwd + 200012 [unknown] + 200013 [unknown] + 200014 [unknown] + 200015 [unknown] + 200016 easerpcd + 200017 rlxnfs + 200018 sascuiddprog + 200019 knfsd + 200020 ftnfsd ftnfsd_program + 200021 ftsyncd ftsyncd_program + 200022 ftstatd ftstatd_program + 200023 exportmap + 200024 nfs_metadata + + + +Thurlow Standards Track [Page 34] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + unassigned 200025 - 200200 + 200201 ecoad + 200202 eamon + 200203 ecolic + 200204 cs_printstatus_svr + 200205 ecodisc + unassigned 200206 - 300000 + 300001 adt_rflockprog + 300002 columbine1 + 300003 system33_prog + 300004 frame_prog1 + 300005 uimxprog + 300006 rvd + 300007 entombing daemon + 300008 account mgmt system + 300009 frame_prog2 + 300010 beeper access + 300011 dptuprog + 300012 mx-bcp + 300013 instrument-file-access + 300014 file-system-statistics + 300015 unify-database-server + 300016 tmd_msg + 300017 [unknown] + 300018 [unknown] + 300019 automounter access + 300020 lock server + 300021 [unknown] + 300022 office-automation-1 + 300023 office-automation-2 + 300024 office-automation-3 + 300025 office-automation-4 + 300026 office-automation-5 + 300027 office-automation-6 + 300028 office-automation-7 + 300029 local-data-manager + 300030 chide + 300031 csi_program + 300032 [unknown] + 300033 online-help + 300034 case-tool + 300035 delta + 300036 rgi + 300037 instrument-config-server + 300038 [unknown] + 300039 [unknown] + 300040 dtia-rpc-server + 300041 cms + + + +Thurlow Standards Track [Page 35] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300042 viewer + 300043 aqm + 300044 exclaim + 300045 masterplan + 300046 fig_tool + 300047 [unknown] + 300048 [unknown] + 300049 [unknown] + 300050 remote-lock-manager + 300051 [unknown] + 300052 gdebug + 300053 ldebug + 300054 rscanner + 300055 [unknown] + 300056 [unknown] + 300057 [unknown] + 300058 [unknown] + 300059 [unknown] + 300060 [unknown] + 300061 [unknown] + 300062 [unknown] + 300063 [unknown] + 300064 [unknown] + 300065 [unknown] + 300066 nSERVER + 300067 [unknown] + 300068 [unknown] + 300069 [unknown] + 300070 [unknown] + 300071 BioStation + 300072 [unknown] + 300073 NetProb + 300074 Logging + 300075 Logging + 300076 [unknown] + 300077 [unknown] + 300078 [unknown] + 300079 [unknown] + 300080 [unknown] + 300081 [unknown] + 300082 sw_twin + 300083 remote_get_login + 300084 odcprog + 300085 [unknown] + 300086 [unknown] + 300087 [unknown] + 300088 [unknown] + 300089 [unknown] + + + +Thurlow Standards Track [Page 36] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300090 [unknown] + 300091 smartdoc + 300092 superping + 300093 distributed-chembench + 300094 uacman/alfil-uacman + 300095 ait_rcagent_prog + 300096 ait_rcagent_appl_prog + 300097 smart + 300098 ecoprog + 300099 leonardo + 300100 [unknown] + 300101 [unknown] + 300102 [unknown] + 300103 [unknown] + 300104 [unknown] + 300105 [unknown] + 300106 [unknown] + 300107 [unknown] + 300108 wingz + 300109 teidan + 300110 [unknown] + 300111 [unknown] + 300112 [unknown] + 300113 [unknown] + 300114 [unknown] + 300115 [unknown] + 300116 cadc_fhlockprog + 300117 highscan + 300118 [unknown] + 300119 [unknown] + 300120 [unknown] + 300121 opennavigator + 300122 aarpcxfer + 300123 [unknown] + 300124 [unknown] + 300125 [unknown] + 300126 groggs + 300127 licsrv + 300128 issdemon + 300129 [unknown] + 300130 maximize + 300131 cgm_server + 300132 [unknown] + 300133 agent_rpc + 300134 docmaker + 300135 docmaker + 300136 [unknown] + 300137 [unknown] + + + +Thurlow Standards Track [Page 37] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300138 [unknown] + 300139 iesx + 300140 [unknown] + 300141 [unknown] + 300142 [unknown] + 300143 [unknown] + 300144 smart-mbs + 300145 [unknown] + 300146 [unknown] + 300147 docimage + 300148 [unknown] + 300149 dmc-interface + 300150 [unknown] + 300151 jss + 300152 [unknown] + 300153 arimage + 300154 xdb-workbench + 300155 frontdesk + 300156 dmc + 300157 expressight-6000 + 300158 graph service program + 300159 [unknown] + 300160 [unknown] + 300161 [unknown] + 300162 [unknown] + 300163 [unknown] + 300164 [unknown] + 300165 [unknown] + 300166 [unknown] + 300167 [unknown] + 300168 [unknown] + 300169 [unknown] + 300170 [unknown] + 300171 [unknown] + 300172 [unknown] + 300173 [unknown] + 300174 [unknown] + 300175 [unknown] + 300176 rlpr + 300177 nx_hostdprog + 300178 netuser-x + 300179 rmntprog + 300180 [unknown] + 300181 mipe + 300182 [unknown] + 300183 collectorprog + 300184 uslookup_PROG + 300185 viewstation + + + +Thurlow Standards Track [Page 38] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300186 iate + 300187 [unknown] + 300188 [unknown] + 300189 [unknown] + 300190 imsvtprog + 300191 [unknown] + 300192 [unknown] + 300193 [unknown] + 300194 pmdb + 300195 pmda + 300196 [unknown] + 300197 [unknown] + 300198 trend_idbd + 300199 rres + 300200 sd.masterd + 300201 sd.executiond + 300202 sd.listend + 300203 sd.reserve1 + 300204 sd.reserve2 + 300205 msbd + 300206 stagedprog + 300207 mountprog + 300208 watchdprog + 300209 pms + 300210 [unknown] + 300211 session_server_program + 300212 session_program + 300213 debug_serverprog + 300214 [unknown] + 300215 [unknown] + 300216 paceprog + 300217 [unknown] + 300218 mbus + 300219 aframes2ps + 300220 npartprog + 300221 cm1server + 300222 cm1bridge + 300223 sailfrogfaxprog + 300224 sailfrogphoneprog + 300225 sailfrogvmailprog + 300226 wserviceprog arcstorm + 300227 hld + 300228 alive + 300229 radsp + 300230 radavx + 300231 radview + 300232 rsys_prog + 300233 rsys_prog + + + +Thurlow Standards Track [Page 39] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300234 fm_rpc_prog + 300235 aries + 300236 uapman + 300237 ddman + 300238 top + 300239 [unknown] + 300240 trendlink + 300241 licenseprog + 300242 statuslicenseprog + 300243 oema_rmpf_svc + 300244 oema_smpf_svc + 300245 oema_rmsg_svc + 300246 grapes-sd + 300247 ds_master + 300248 ds_transfer + 300249 ds_logger + 300250 ds_query + 300251 [unknown] + 300252 [unknown] + 300253 nsd_prog + 300254 browser + 300255 epoch + 300256 floorplanner + 300257 reach + 300258 tactic + 300259 cachescientific1 + 300260 cachescientific2 + 300261 desksrc_prog + 300262 photo3d1 + 300263 photo3d2 + 300264 [unknown] + 300265 soundmgr + 300266 s6k + 300267 aims_referenced_ + text_processor + 300268 xess + 300269 ds_queue + 300270 [unknown] + 300271 orionscanplus + 300272 openlink-xx + 300273 kbmsprog + 300274 [unknown] + 300275 futuresource + 300276 the_xprt + 300277 cmg_srvprog + 300278 [unknown] + 300279 [unknown] + 300280 front + + + +Thurlow Standards Track [Page 40] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300281 [unknown] + 300282 [unknown] + 300283 [unknown] + 300284 conmanprog + 300285 jincv2 + 300286 isls + 300287 systemstatprog + 300288 fxpsprog + 300289 callpath + 300290 axess + 300291 armor_rpcd + 300292 armor_dictionary_rpcd + 300293 armor_miscd + 300294 filetransfer_prog + 300295 bl_swda + 300296 bl_hwda + 300297 [unknown] + 300298 [unknown] + 300299 [unknown] + 300300 filemon + 300301 acunetprog + 300302 rbuild + 300303 assistprog + 300304 tog + 300305 [unknown] + 300306 sns7000 + 300307 igprog + 300308 tgprog + 300309 plc + 300310 pxman pxlsprog + 300311 hde_server hdeserver + 300312 tsslicenseprog + 300313 rpc.explorerd + 300314 chrd + 300315 tbisam + 300316 tbis + 300317 adsprog + 300318 sponsorprog + 300319 querycmprog + 300320 [unknown] + 300321 [unknown] + 300322 mobil1 + 300323 sld + service_locator_daemon + 300324 linkprog + 300325 codexdaemonprog + 300326 drprog + 300327 ressys_commands + + + +Thurlow Standards Track [Page 41] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300328 stamp + 300329 matlab + 300330 sched1d + 300331 upcprog + 300332 xferbkch + 300333 xfer + 300334 qbthd + 300335 qbabort + 300336 lsd + 300337 geomgrd + 300338 generic_fts + 300339 ft_ack + 300340 lymb + 300341 vantage + 300342 cltstd clooptstdprog + 300343 clui clui_prog + 300344 testerd tstdprog + 300345 extsim + 300346 cmd_dispatch maxm_ems + 300347 callpath_receive_program + 300348 x3270prog + 300349 sbc_lag + 300350 sbc_frsa + 300351 sbc_frs + 300352 atommgr + 300353 geostrat + 300354 dbvialu6.2 + 300355 [unknown] + 300356 fxncprog + 300357 infopolic + 300358 [unknown] + 300359 aagns + 300360 aagms + 300361 [unknown] + 300362 clariion_mgr + 300363 setcimrpc + 300364 virtual_protocol_adapter + 300365 unibart + 300366 uniarch + 300367 unifile + 300368 unisrex + 300369 uniscmd + 300370 rsc + 300371 set + 300372 desaf-ws/key + 300373 reeldb + 300374 nl + 300375 rmd + + + +Thurlow Standards Track [Page 42] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300376 agcd + 300377 rsynd + 300378 rcnlib + 300379 rcnlib_attach + 300380 evergreen_mgmt_agent + 300381 fx104prog + 300382 rui + remote_user_interface + 300383 ovomd + 300384 [unknown] + 300385 [unknown] + 300386 system_server + 300387 pipecs cs_pipeprog + ppktrpc + 300388 uv-net univision + 300389 auexe + 300390 audip + 300391 mqi + 300392 eva + 300393 eeei_reserved_1 + 300394 eeei_reserved_2 + 300395 eeei_reserved_3 + 300396 eeei_reserved_4 + 300397 eeei_reserved_5 + 300398 eeei_reserved_6 + 300399 eeei_reserved_7 + 300400 eeei_reserved_8 + 300401 cprlm + 300402 wg_idms_manager + 300403 timequota + 300404 spiff + 300405-300414 ov_oem_svc + 300415 ov_msg_ctlg_svc + 300416 ov_advt_reg_svc + 300417-300424 showkron + 300425 daatd + 300426 swiftnet + 300427 ovomdel + 300428 ovomreq + 300429 msg_dispatcher + 300430 pcshare server + 300431 rcvs + 300432 fdfserver + 300433 bssd + 300434 drdd + 300435 mif_gutsprog + 300436 mif_guiprog + 300437 twolfd + + + +Thurlow Standards Track [Page 43] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300438 twscd + 300439 nwsbumv + 300440 dgux_mgr + 300441 pfxd + 300442 tds + 300443 ovomadmind + 300444 ovomgate + 300445 omadmind + 300446 nps + 300447 npd + 300448 tsa + 300449 cdaimc + unassigned 300450-300452 + 300453 ckt_implementation + 300454 mda-tactical + unassigned 300455-300458 + 300459 atrrun + 300460 RoadRunner + 300461 nas + 300462 undelete + 300463 ovacadd + 300464 tbdesmai + 300465 arguslm + 300466 dmd + 300467 drd + 300468 fm_help + 300469 ftransrpc_prog + 300470 finrisk + 300471 dg_pc_idisched + 300472 dg_pc_idiserv + 300473 apd + 300474 ap_sspd + 300475 callpatheventrecorder + 300476 flc + 300477 dg_osm + 300478 dspnamed + 300479 iqddsrv + 300480 iqjobsrv + 300481 tacosxx + 300482 wheeldbmg + 300483 cnxmgr_nm_prog + 300484 cnxmgr_cfg_prog + 300485 3dsmapper + 300486 ids + 300487 imagine_rpc_svc + 300488 lfn + 300489 salesnet + 300490 defaxo + + + +Thurlow Standards Track [Page 44] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300491 dbqtsd + 300492 kms + 300493 rpc.iced + 300494 calc2s + 300495 ptouidprog + 300496 docsls + 300497 new + 300498 collagebdg + 300499 ars_server + 300500 ars_client + 300501 vr_catalog + 300502 vr_tdb + 300503 ama + 300504 evama + 300505 conama + 300506 service_process + 300507 reuse_proxy + 300508 mars_ctrl + 300509 mars_db + 300510 mars_com + 300511 mars_admch + 300512 tbpipcip + 300513 top_acs_svc + 300514 inout_svc + 300515 csoft_wp + 300516 mcfs + 300517 eventprog + 300518 dg_pc_idimsg + 300519 dg_pc_idiaux + 300520 atsr_gc + 300521 alarm alarm_prog + 300522 fts_prog + 300523 dcs_prog + 300524 ihb_prog + 300525 [unknown] + 300526 [unknown] + 300527 clu_info_prog + 300528 rmfm + 300529 c2sdocd + 300530 interahelp + 300531 callpathasyncmsghandler + 300532 optix_arc + 300533 optix_ts + 300534 optix_wf + 300535 maxopenc + 300536 cev cev_server + 300537 sitewideprog + 300538 drs + + + +Thurlow Standards Track [Page 45] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300539 drsdm + 300540 dasgate + 300541 dcdbd + 300542 dcpsd + 300543 supportlink_prog + 300544 broker + 300545 listner + 300546 multiaccess + 300547 spai_interface + 300548 spai_adaption + 300549 chimera_ci + chimera_clientinterface + 300550 chimera_pi + chimera_processinvoker + 300551 teamware_fl + teamware_foundationlevel + 300552 teamware_sl + teamware_systemlevel + 300553 teamware_ui + teamware_userinterface + 300554 lprm + 300555 mpsprog + Mensuration_Proxy_Server + 300556 mo_symdis + 300557 retsideprog + 300558 slp + 300559 slm-api + 300560 im_rpc teamconference + 300561 license_prog license + 300562 stuple stuple_prog + 300563 upasswd_prog + 300564 gentranmentorsecurity + 300565 gentranmentorprovider + 300566 latituded + latitude_license_server + 300567 gentranmentorreq1 + 300568 gentranmentorreq2 + 300569 gentranmentorreq3 + 300570 rj_server + 300571 gws-rdb + 300572 gws-mpmd + 300573 gws-spmd + 300574 vwcalcd + 300575 vworad + 300576 vwsybd + 300577 vwave + 300578 online_assistant + 300579 internet_assistant + + + +Thurlow Standards Track [Page 46] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300580 spawnd + 300581 procmgrg + 300582 cfgdbd + 300583 logutild + 300584 ibis + 300585 ibisaux + 300586 aapi + 300587 rstrt + 300588 hbeat + 300589 pcspu + 300590 empress + 300591 sched_server + LiveScheduler + 300592 path_server + LiveScheduler + 300593 c2sdmd + 300594 c2scf + 300595 btsas + 300596 sdtas + 300597 appie + 300598 dmi + 300599 pscd + panther software corp daemon + 300600 sisd + 300601 cpwebserver + 300602 wwcommo + 300603 mx-mie + 300604 mx-mie-debug + 300605 idmn + 300606 ssrv + 300607 vpnserver + 300608 samserver + 300609 sams_server + 300610 chrysalis + 300611 ddm + 300612 ddm-is + 300613 mx-bcp-debug + 300614 upmrd + 300615 upmdsd + 300616 res + 300617 colortron + 300618 zrs + 300619 afpsrv + 300620 apxft + 300621 nrp + 300622 hpid + 300623 mailwatch + 300624 fos bc_fcrb_receiver + + + +Thurlow Standards Track [Page 47] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300625 cs_sysadmin_svr + 300626 cs_controller_svr + 300627 nokia_nms_eai + 300628 dbg + 300629 remex + 300630 cs_bind + 300631 idm + 300632 prpasswd + 300633 iw-pw + 300634 starrb + 300635 Impress_Server + 300636 colorstar + 300637 gwugui + 300638 gwsgui + 300639 dai_command_proxy + 300640 dai_alarm_server + 300641 dai_fui_proxy + 300642 spai_command_proxy + 300643 spai_alarm_server + 300644 iris + 300645 hcxttp + 300646 updatedb rsched + 300647 urnd urn + 300648 iqwpsrv + 300649 dskutild + 300650 online + 300651 nlserv + 300652 acsm + 300653 dg_clar_sormsg + 300654 wwpollerrpc + 300655 wwmodelrpc + 300656 nsprofd + 300657 nsdistd + 300658 recollect + 300659 lssexecd lss_res + 300660 lssagend lss_rea + 300661 cdinfo + 300662 sninsr_addon + 300663 mm-sap + 300664 ks + 300665 psched + 300666 tekdvfs + 300667 storxll + 300668 nisse + 300669 lbadvise + 300670 atcinstaller + 300671 atntstarter + 300672 NetML + + + +Thurlow Standards Track [Page 48] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300673 tdmesmge + 300674 tdmesmgd + 300675 tdmesmgt + 300676 olm + 300677 mediamanagement + 300678 rdbprog fieldowsrv + 300679 rpwdprog rpwd + 300680 sapi-trace + 300681 sapi-master-daemon + 300682 omdcuprog om-dcu + 300683 wwprocmon + 300684 tndidprog + 300685 rkey_setsecretprog + 300686 asdu_server_prog + 300687 pwrcntrl + 300688 siunixd + 300689 wmapi + 300690 cross_reference_ole + 300691 rtc + 300692 disp + 300693 sql_compilation_agent + 300694 tnsysprog + 300695 ius-sapimd + 300696 apteam-dx + 300697 rmsrpc + 300698 seismic_system + 300699 remote + 300700 tt1_ts_event nokia_nms + 300701 fxrs + 300702 onlicense + 300703 vxkey + 300704 dinis + 300705 sched2d schedule-2 + 300706 sched3d schedule-3 + 300707 sched4d schedule-4 + 300708 sched5d schedule-5 + 300709 sched6d schedule-6 + 300710 sched7d schedule-7 + 300711 sched8d schedule-8 + 300712 sched9d schedule-9 + 300713 adtsqry + 300714 adserv + 300715 adrepserv + 300716 [unknown] + 300717 caad + 300718 caaui + 300719 cescda + 300720 vcapiadmin + + + +Thurlow Standards Track [Page 49] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300721 vcapi20 + 300722 tcfs + 300723 csed + 300724 nothand + 300725 hacb + 300726 nfauth + 300727 imlm + 300728 bestcomm + 300729 lprpasswd + 300730 rprpasswd + 300731 proplistd + 300732 mikomomc + 300733 arepa-cas + 300734 [unknown] + 300735 [unknown] + 300736 ando_ts + 300737 intermezzo + 300738 ftel-sdh-request + 300739 ftel-sdh-response + 300740 [unknown] + 300741 [unknown] + 300742 [unknown] + 300743 [unknown] + 300744 [unknown] + 300745 vrc_abb + 300746 vrc_comau + 300747 vrc_fanuc + 300748 vrc_kuka + 300749 vrc_reis + 300750 hp_sv6d + 300751 correntmgr01 + 300752 correntike + 300753 [unknown] + 300754 [unknown] + 300755 intransa_location + 300756 intransa_management + 300757 intransa_federation + 300758 portprot + 300759 ipmiprot + 300760 aceapi + 300761 f6000pss + 300762 vsmapi_program + 300763 ubertuple + 300764 ctconcrpcif + 300765 mfuadmin + 300766 aiols + 300767 dsmrootd + 300768 htdl + + + +Thurlow Standards Track [Page 50] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 300769 caba + 300770 vrc_cosimir + 300771 cmhelmd + 300772 polynsm + 300773 [unknown] + 300774 [unknown] + 300775 [unknown] + 300776 [unknown] + 300777 [unknown] + 300778 [unknown] + 300779 [unknown] + 300780 [unknown] + 300781 dsmrecalld + 300782 [unknown] + 300783 [unknown] + 300784 twrgcontrol + 300785 twrled + 300786 twrcfgdb + BMC software 300787-300886 + unassigned 300887 - 300999 + Sun Microsystems 301000-302000 [ 2000 numbers ] + unassigned 302001-349999 + American Airlines 350000 - 350999 + Acucobol Inc. 351000 - 351099 + The Bristol Group 351100 - 351249 + Amteva Technologies 351250 - 351349 + 351350 wfmMgmtApp + 351351 wfmMgmtDataSrv + 351352 wfmMgmtFut1 + 351353 wfmMgmtFut1 + 351354 wfmAPM + 351355 wfmIAMgr + 351356 wfmECMgr + 351357 wfmLookOut + 351358 wfmAgentFut1 + 351359 wfmAgentFut2 + unassigned 351360 - 351406 + Sterling Software ITD 351407 csed + 351360 sched10d + 351361 sched11d + 351362 sched12d + 351363 sched13d + 351364 sched14d + 351365 sched15d + 351366 sched16d + 351367 sched17d + 351368 sched18d + 351369 sched19d + + + +Thurlow Standards Track [Page 51] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 351370 sched20d + 351371 sched21d + 351372 sched22d + 351373 sched23d + 351374 sched24d + 351375 sched25d + 351376 sched26d + 351377 sched27d + 351378 sched28d + 351379 sched29d + 351380 sched30d + 351381 sched31d + 351382 sched32d + 351383 sched33d + 351384 sched34d + 351385 sched35d + 351386 sched36d + 351387 sched37d + 351388 sched38d + 351389 sched39d + 351390 consoleserver + 351391 scheduleserver + 351392 RDELIVER + 351393 REVENTPROG + 351394 RSENDEVENTPROG + 351395 snapp + 351396 snapad + 351397 sdsoodb + 351398 sdsmain + 351399 sdssrv + 351400 sdsclnt + 351401 sdsreg + 351402 fsbatch + 351403 fsmonitor + 351404 fsdisp + 351405 fssession + 351406 fslog + 351407 svdpappserv + 351408 gns + 351409 [unkonwn] + 351410 [unkonwn] + 351411 [unkonwn] + 351412 axi + 351413 rpcxfr + 351414 slm + 351415 smbpasswdd + 351416 tbdbserv + 351417 tbprojserv + + + +Thurlow Standards Track [Page 52] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 351418 genericserver + 351419 dynarc_ds + 351420 dnscmdr + 351421 ipcmdr + 351422 faild + 351423 failmon + 351424 faildebug + 351425 [unknown] + 351426 [unknown] + 351427 siemens_srs + 351428 bsproxy + 351429 ifsrpc + 351430 CesPvcSm + 351431 FrPvcSm + 351432 AtmPvcSm + 351433 radius + 351434 auditor + 351435 sft + 351436 voicemail + 351437 kis + 351438 SOFTSERV_NOTIFY + 351439 dynarpc + 351440 hc + 351441 iopas + 351442 iopcs + 351443 iopss + 351444 spcnfs + 351445 spcvss + 351446 matilda_sms + 351447 matilda_brs + 351448 matilda_dbs + 351449 matilda_sps + 351450 matilda_svs + 351451 matilda_sds + 351452 matilda_vvs + 351453 matilda_stats + 351454 xtrade + 351455 mapsvr + 351456 hp_graphicsd + 351457 berkeley_db + berkeley_db_svc + 351458 io_server + 351459 rpc.niod + 351460 rpc.kill + 351461 hmdisproxy + 351462 smdisproxy + 351463 avatard + 351464 namu + + + +Thurlow Standards Track [Page 53] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 351465 BMCSess + 351466 FENS_Sport + 351467 EM_CONFIG + 351468 EM_CONFIG_RESP + 351469 lodge_proof + 351470 ARCserveIT-Queue + 351471 ARCserveIT-Device + 351472 ARCserveIT-Discover + 351473 ARCserveIT-Alert + 351474 ARCserveIT-Database + 351475 scand1 + 351476 scand2 + 351477 scand3 + 351478 scand4 + 351479 scand5 + 351480 dscv + 351481 cb_svc + 351482 [unknown] + 351483 iprobe + 351484 omniconf + 351485 isan + BG Partners 351486 - 351500 + 351501 mond + 351502 iqlremote + 351503 iqlalarm + unassigned 351504 - 351599 + Orion Multisystems 351600-351855 + unassigned 351856 - 351899 + NSP lab 351900 - 351999 + unassigned 351999 - 352232 + 352233 asautostart + 352234 asmediad1 + 352235 asmediad2 + 352236 asmediad3 + 352237 asmediad4 + 352238 asmediad5 + 352239 asmediad6 + 352240 asmediad7 + 352241 asmediad8 + 352242 asmediad9 + 352243 asmediad10 + 352244 asmediad11 + 352245 asmediad12 + 352246 asmediad13 + 352247 asmediad14 + 352248 asmediad15 + 352249 asmediad16 + 352250 waruser + + + +Thurlow Standards Track [Page 54] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 352251 warlogd + 352252 warsvrmgr + 352253 warvfsysd + 352254 warftpd + 352255 warnfsd + 352256 bofproxyc0 + 352257 bofproxys0 + 352258 bofproxyc1 + 352259 bofproxys1 + 352260 bofproxyc2 + 352261 bofproxys2 + 352262 bofproxyc3 + 352263 bofproxys3 + 352264 bofproxyc4 + 352265 bofproxys4 + 352266 bofproxyc5 + 352267 bofproxys5 + 352268 bofproxyc6 + 352269 bofproxys6 + 352270 bofproxyc7 + 352271 bofproxys7 + 352272 bofproxyc8 + 352273 bofproxys8 + 352274 bofproxyc9 + 352275 bofproxys9 + 352276 bofproxyca + 352277 bofproxysa + 352278 bofproxycb + 352279 bofproxysb + 352280 bofproxycc + 352281 bofproxysc + 352282 bofproxycd + 352283 bofproxysd + 352284 bofproxyce + 352285 bofproxyse + 352286 bofproxycf + 352287 bofproxysf + 352288 bofproxypo0 + 352289 bofproxypo1 + 352290 bofproxypo2 + 352291 bofproxypo3 + 352292 bofproxypo4 + unassigned 352293-370000 + 370001 [unknown] + 370002 [unknown] + 370003 [unknown] + 370004 [unknown] + 370005 [unknown] + + + +Thurlow Standards Track [Page 55] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 370006 [unknown] + 370007 [unknown] + 370008 [unknown] + 370009 [unknown] + 370010 [unknown] + 370011 [unknown] + 370012 [unknown] + 370013 [unknown] + 370014 [unknown] + 370015 [unknown] + 370016 [unknown] + 370017 [unknown] + 370018 [unknown] + 370019 [unknown] + 370020 [unknown] + 370021 [unknown] + 370022 [unknown] + 370023 [unknown] + 370024 [unknown] + 370025 [unknown] + 370026 [unknown] + 370027 [unknown] + unassigned 370028 - 379999 + 380000 opensna + 380001 probenet + 380002 [unknown] + 380003 license + 380004 na.3com-remote + 380005 na.ntp + 380006 probeutil + 380007 na.vlb + 380008 cds_mhs_agent + 380009 cds_x500_agent + 380010 cds_mailhub_agent + 380011 codex_6500_proxy + 380012 codex_6500_trapd + 380013 na.nm212 + 380014 cds_mta_metrics_agent + 380015 [unkonwn] + 380016 na.caple + 380017 codexcapletrap + Swiss Re 380018-380028 + 380029 ncstat + 380030 ncnfsstat + 380031 ftams + 380032 na.isotp + 380033 na.rfc1006 + unassigned 380034 - 389999 + + + +Thurlow Standards Track [Page 56] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + Epoch Systems 390000 - 390049 + Quickturn Systems 390050 - 390065 + Team One Systems 390066 - 390075 + General Electric CRD 390076 - 390085 + TSIG NFS subcommittee 390086 - 390089 + SoftLab ab 390090 - 390099 + Legato Network Services 390100 - 390115 + 390116 cdsmonitor + 390117 cdslock + 390118 cdslicense + 390119 shm + 390120 rws + 390121 cdc + Data General 390122 - 390141 + Perfect Byte 390142 - 390171 + JTS Computer Systems 390172 - 390181 + Parametric Technology 390182 - 390191 + Voxem 390192 - 390199 + Effix Systems 390200 - 390299 + Motorola 390300 - 390309 + Mobile Data Intl. 390310 - 390325 + Physikalisches Institut 390326 - 390330 + Ergon Informatik AG 390331 - 390340 + Analog Devices Inc. 390341 - 390348 + Interphase Corporation 390349 - 390358 + NeWsware 390359 - 390374 + Qualix Group 390375 - 390379 + Xerox Imaging Systems 390380 - 390389 + Noble Net 390390 - 390399 + Legato Network Services 390400 - 390499 + Client Server Tech. 390500 - 390511 + Atria 390512 - 390517 + GE NMR Instruments 390518 - 390525 + Harris Corp. 390526 - 390530 + Unisys 390531 - 390562 + Aggregate Computing 390563 - 390572 + Interactive Data 390573 - 390580 + OKG AB 390581 - 390589 + K2 Software 390591 - 390594 + Collier Jackson 390595 - 390599 + Remedy Corporation 390600 - 390699 + Mentor Graphics 390700 - 390799 + AT&T Bell Labs (Lucent) 390800 - 390899 + Xerox 390900 - 390999 + Silicon Graphics 391000 - 391063 + Data General 391064 - 391095 + Computer Support Corp. 391096 - 391099 + Quorum Software Systems 391100 - 391199 + + + +Thurlow Standards Track [Page 57] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + InterLinear Technology 391200 - 391209 + Highland Software 391210 - 391229 + Boeing Comp. Svcs. 391230 - 391249 + IBM Sweden 391250 - 391259 + Signature Authority Svc 391260 - 391271 + ZUMTOBEL Licht GmbH 391272 - 391283 + NOAA/ERL 391284 - 391299 + NCR Corp. 391300 - 391399 + FTP Software 391400 - 391409 + Cadre Technologies 391410 - 391433 + Visionware Ltd (UK) 391434 - 391439 + IBR-Partner AG 391440 - 391449 + CAP Programator AB 391450 - 391459 + Reichle+De-Massari AG 391460 - 391474 + Swiss Bank Corp (London) 391475 - 391484 + Unisys Enterprise Svr 391485 - 391489 + Intel - Test Dev. Tech. 391490 - 391499 + Ampex 391500 - 391755 + 391756 naas-spare + 391757 naas-admin + 391758 isps + 391759 isps-admin + 391760 mars + 391761 mars-admin + 391762 attcis_spare0 + 391763 attcis_spare1 + 391764 mail-server + 391765 mail-server-spare + 391766 attcis_spare2 + 391767 attcis_spare3 + 391768 attcis_spare4 + 391769 attcis_spare5 + 391770 attcis_spare6 + 391771 attcis_spare7 + Integrated Systems, Inc. 391772 - 391779 + Parametric Tech., Inc. 391780 - 391789 + Ericsson Telecom AB 391790 - 391799 + SLAC 391800 - 391849 + 391850 qhrdata + 391851 qhrbackup + 391852 minutedata + 391853 prefecture + 391854 supc + 391855 suadmincrw + 391856 suadminotas + 391857 sumessage + 391858 sublock + 391859 sumotd + + + +Thurlow Standards Track [Page 58] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + staffware dev. (uk) 391860 - 391869 + Staffware Dev. (UK) 391870 - 391879 + 391880 namesrvr + 391881 disksrvr + 391882 tapesrvr + 391883 migsrvr + 391884 pdmsrvr + 391885 pvrsrvr + 391886 repacksrvr + 391887 [unknown] + Convex Computer Corp. 391888 - 391951 + 391952 lookoutsrv + 391953 lookoutagnt + 391954 lookoutprxy + 391955 lookoutsnmp + 391956 lookoutrmon + 391957 lookoutfut1 + 391958 lookoutfut2 + windward 391959 - 391967 + 391968 sra_legato + 391969 sra_legato_imgsvr + 391970 sra_legato_0 + 391971 sra_legato_1 + 391972 sra_legato_2 + 391973 sra_legato_3 + 391974 sra_legato_4 + 391975 sra_legato_5 + 391976 sra_legato_6 + 391977 sra_legato_7 + 391978 sra_legato_8 + 391979 sra_legato_9 + Brooktree Corp. 391980 - 391989 + Cadence Design Systems 391990 - 391999 + J. Frank & Associates 392000 - 392999 + Cooperative Solutions 393000 - 393999 + Xerox Corp. 394000 - 395023 + 395024 odbc_sqlretriever + 3M 395025 - 395091 + Digital Zone Intl. 395092 - 395099 + Software Professionals 395100 - 395159 + Del Mar Solutions 395160 - 395164 + 395165 ife-es + 395166 ife-resmgr + 395167 ife-aes + 395168 ife-bite + 395169 ife-loader + 395170 ife-satcom + 395171 ife-seat + + + +Thurlow Standards Track [Page 59] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + 395172 ife-dbmgr + 395173 ife-testmgr + 395174 atrium_server + 395175 ase_director + 395176 ase_agent + 395177 ase_hsm + 395178 ase_mgr + 395179 ase_sim + Hewlett-Packard 395180 - 395194 + XES, Inc. 395195 - 395199 + Unitech Products 395200 - 395249 + TransSys 395250 - 395505 + Unisys Govt Systems 395506 - 395519 + Bellcore 395520 - 395529 + IBM 395530 - 395561 + AT&T Network Services 395562 - 395571 + Data General 395572 - 395577 + Swiss Bank Corp 395578 - 395597 + Swiss Bank Corp 395598 - 395637 + Novell 395638 - 395643 + Computer Associates 395644 - 395650 + Omneon Video Networks 395651 - 395656 + unassigned 395657 - 395908 + UK Post Office 395909 - 395924 + AEROSPATIALE 395925 - 395944 + Result d.o.o. 395945 - 395964 + DataTools, Inc. 395965 - 395980 + CADIS, Inc. 395981 - 395990 + Cummings Group, Inc. 395991 - 395994 + Cadre Technologies 395995 - 395999 + American Airlines 396000 - 396999 + Ericsson Telecom TM Div 397000 - 398023 + IBM 398024 - 398028 + Toshiba OME Works 398029 - 398033 + TUSC Computer Systems 398034 - 398289 + AT&T 398290 - 398320 + Ontario Hydro 398321 - 398346 + Micrion Corporation 398347 - 398364 + unassigned 398365 - 398591 + Pegasystems, Inc. 398592 - 399616 + Spectra Securities Soft 399617 - 399850 + QualCom 399851 - 399866 + unassigned 399867 - 399884 + Altris Software Ltd. 399885 - 399899 + ISO/IEC WG11 399900 - 399919 + Parametric Technology 399920 - 399949 + Dolby Laboratories 399950 - 399981 + unassigned 399982 - 399991 + + + +Thurlow Standards Track [Page 60] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + Xerox PARC 399992 - 399999 + # + Next Inc. 200100000 - 200199999 + Netwise (RPCtool) 200200000 + Concurrent Computer Corp 200200001 - 200200007 + AIM Technology 200300000 - 200399999 + TGV 200400000 - 200499999 + # + # Sun-assigned authentication flavor numbers + # + AUTH_NONE 0 /* no authentication, see RFC 1831 */ + /* a.k.a. AUTH_NULL */ + AUTH_SYS 1 /* unix style (uid+gids), RFC 1831 */ + /* a.k.a. AUTH_UNIX */ + AUTH_SHORT 2 /* short hand unix style, RFC 1831 */ + AUTH_DH 3 /* des style (encrypted timestamp) */ + /* a.k.a. AUTH_DES, see RFC 2695 */ + AUTH_KERB 4 /* kerberos auth, see RFC 2695 */ + AUTH_RSA 5 /* RSA authentication */ + RPCSEC_GSS 6 /* GSS-based RPC security for auth, + integrity and privacy, RPC 5403 */ + + AUTH_NW 30001 NETWARE + AUTH_SEC 200000 TSIG NFS subcommittee + AUTH_ESV 200004 SVr4 ES + + AUTH_NQNFS 300000 Univ. of Guelph - Not Quite NFS + AUTH_GSSAPI 300001 OpenVision <john.linn@ov.com> + AUTH_ILU_UGEN 300002 Xerox <janssen@parc.xerox.com> + - ILU Unsecured Generic Identity + # + # Small blocks are assigned out of the 39xxxx series of numbers + # + AUTH_SPNEGO 390000 + 390000 - 390255 NFS 'pseudo' flavors for RPCSEC_GSS + 390003 - kerberos_v5 authentication, RFC 2623 + 390004 - kerberos_v5 with data integrity, RFC 2623 + 390005 - kerberos_v5 with data privacy, RFC 2623 + + 200000000 Reserved + 200100000 NeXT Inc. + + + + + + + + + + +Thurlow Standards Track [Page 61] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + +Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC2203] Eisler, M., Chiu, A., and L. Ling, "RPCSEC_GSS Protocol + Specification", RFC 2203, September 1997. + + [RFC4506] Eisler, M., Ed., "XDR: External Data Representation + Standard", STD 67, RFC 4506, May 2006. + +Informative References + + [DH] Diffie & Hellman, "New Directions in Cryptography", IEEE + Transactions on Information Theory IT-22, November 1976. + + [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, + August 1980. + + [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC + 793, September 1981. + + [RFC1094] Sun Microsystems, "NFS: Network File System Protocol + specification", RFC 1094, March 1989. + + [RFC1813] Callaghan, B., Pawlowski, B., and P. Staubach, "NFS + Version 3 Protocol Specification", RFC 1813, June 1995. + + [RFC1831] Srinivasan, R., "RPC: Remote Procedure Call Protocol + Specification Version 2", RFC 1831, August 1995. + + [RFC1833] Srinivasan, R., "Binding Protocols for ONC RPC Version 2", + RFC 1833, August 1995. + + [RFC2623] Eisler, M., "NFS Version 2 and Version 3 Security Issues + and the NFS Protocol's Use of RPCSEC_GSS and Kerberos V5", + RFC 2623, June 1999. + + [RFC2695] Chiu, A., "Authentication Mechanisms for ONC RPC", RFC + 2695, September 1999. + + [RFC2743] Linn, J., "Generic Security Service Application Program + Interface Version 2, Update 1", RFC 2743, January 2000. + + [RFC3530] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., + Beame, C., Eisler, M., and D. Noveck, "Network File System + (NFS) version 4 Protocol", RFC 3530, April 2003. + + + + +Thurlow Standards Track [Page 62] + +RFC 5531 Remote Procedure Call Protocol Version 2 May 2009 + + + [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an + IANA Considerations Section in RFCs", BCP 26, RFC 5226, + May 2008. + + [VMTP] Cheriton, D., "VMTP: Versatile Message Transaction + Protocol", Preliminary Version 0.3, Stanford University, + January 1987. + + [XRPC] Birrell, A. D. & B. J. Nelson, "Implementing Remote + Procedure Calls", XEROX CSL-83-7, October 1983. + +Author's Address + + Robert Thurlow + Sun Microsystems, Inc. + 500 Eldorado Boulevard, UBRM05-171 + Broomfield, CO 80021 + + Phone: 877-718-3419 + EMail: robert.thurlow@sun.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Thurlow Standards Track [Page 63] + |