NFS is the Network File System and is another application which provides almost transparent access to files for client applications. At the core of NFS lies Sun:RPC remote procedure Call which should be understood to consider NFS properly.

Sun Remote Procedure Call

For network programmers much of their work is done by creating application programs that called system functions to perform specific operations. For instance there are functions which open TCP connections, others that close them and some send data across these connections. There are literally hundreds of these functions which can be called to perform every conceivable network operation.

Two of the most popular classes of functions for network programming are sockets and TLI. The APi used by a client and the API used by the server can be very different. Combine this with possible differences in operating systems and software and there’s huge possibility for communication problems.

The communication protocol and the application protocol are in charge of determining whether a given client and server can communicate with each other. It is surprising to see how much different systems can communicate, for example many applications running Cobol on a mainframe are accessed via applications written in C running on Unix clients. Often an intermediary API can facilitate this if both the hosts are connected in some way using TCP/IP or perhaps a UK VPN trial.

Usually the communication will commence when the client sends a request or command to the server, which will then respond back to the client. Just about all network applications and protocols operate in this same basic way, whether it’s FTP or Telnet.

However RPC operates in a slightly different way in as far as the concept of network programming. For example when a client calls a Remote procedure, it’s actually calling a function on the local host which has been generated by the RPC package. This is also known as the client stub which packages the various procedure variables tino a network message which is sent to the server.

This message is received by a server stub which resides on the server which has received the network message. All the network programming functions are done by the stubs and the RPC library. THe client simply calls the server procedures and all the network programming is contained in the RPC package plus the client and server stubs.