This preview shows page 1. Sign up to view the full content.
Unformatted text preview: for a reply. The current RPC version is 2. The next
three variables, program number, version number, and procedure number, identify the
specific procedure on the server to be called.
The credentials identify the client. In some instances nothing is sent here, and in other
instances the numeric user ID and group IDs of the client are sent. The server can look at
the credentials and determine if it will perform the request or not. The verifier is used with file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/nfs_netw.htm (3 of 23) [12/09/2001 14.47.56] Chapter 29. NFS: Network File System Secure RPC, which uses DES encryption. Although the credentials and verifier are
variable-length fields, their length is encoded as part of the field.
Following this are the procedure parameters. The format of these depends on the
definition of the remote procedure by the application. How does the receiver (the server
stub) know the size of the parameters? Since UDP is being used, the size of the UDP
datagram, minus the length of all the fields up through the verifier, is the size of the
parameters. When TCP is used instead of UDP, there is no inherent length, since TCP is a
byte stream protocol, without record boundaries. To handle this, a 4-byte length field
appears between the TCP header and the XID, telling the receiver how many bytes
comprise the RPC call. This allows the RPC call message to be sent in multiple TCP
segments, if necessary. (The DNS uses a similar technique; see Exercise 14.4.)
Figure 29.2 shows the format of an RPC reply. This is sent by the server stub to the client
stub, when the remote procedure returns. Figure 29.2 Format of RPC procedure reply message as a UDP datagram.
The XID in the reply is just copied from the XID in the call. The reply is 1, which we said
differentiates this message from a call. The status is 0 if the call message was accepted.
(The message can be rejected if the RPC version number isn't 2, or if the server cannot
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12