TCP IP Illustrated

It takes the arguments from the network message and

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: uilt this way. RPC, Remote Procedure Call, is a different way of doing network programming. A client program is written that just calls functions in the server program. This is how it appears to the programmer, but the following steps actually take place. 1. When the client calls the remote procedure, it's really calling a function on the local host that's generated by the RPC package. This function is called the client stub. The client stub packages the procedure arguments into a network message, file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/nfs_netw.htm (1 of 23) [12/09/2001 14.47.56] Chapter 29. NFS: Network File System and sends this message to the server. 2. A server stub on the server host receives the network message. It takes the arguments from the network message, and calls the server procedure that the application programmer wrote. 3. When the server function returns, it returns to the server stub, which takes the return values, packages them into a network message, and sends the message back to the client stub. 4. The client stub takes the return values from the network message and returns to the client application. The network programming done by the stubs and the RPC library routines uses an API such as sockets or TLI, but the user application-the client program, and the server procedures called by the client-never deal with this API. The client application just calls the server procedures and all the network programming details are hidden by the RPC package, the client stub, and the server stub. An RPC package provides numerous benefits. 1. The programming is easier since there is little or no network programming involved. The application programmer just writes a client program and the server procedures that the client calls. 2. If an unreliable protocol such as UDP is used, details like timeout and retransmission are handled by the RPC package. This simplifies the user application. 3. The RPC library handles any required data translation for the arguments and return va...
View Full Document

Ask a homework question - tutors are online