|
|
Distributed applications are usually designed according to the client-server model, where client applications request services from a server process. This implies an asymmetry in establishing communication between the client and server.
Client and server require a shared set of conventions before service may be requested and provided. This set of conventions comprises a protocol that must be implemented at both ends of a connection. This protocol may be symmetric or asymmetric.
In a symmetric protocol, either side may act as master or slave. In an asymmetric protocol, one side is always the master and the other side the slave. An example of a symmetric protocol is the telnet protocol used in the Internet for remote terminal emulation. An example of an asymmetric protocol is the Internet file transfer protocol, ftp. In either case, whether the protocol is symmetric or asymmetric, accessing a service involves a client process and a server process.