What is a client server environment ? Numerous applications run in a client server architecture. This means that client computers (computers forming part of the network) contact a server that provides services to the client computers. These services are programs that provide data such as the time, files, a connection, etc.
Then, those services are used by programs that run on client computers. Thus, the term client is applied (FTP client, email client, etc.) when a program is designed to run on a client computer, capable of processing data received from a server. Also, in the case of the FTP client we are dealing with files whereas for the email client we deal with email email.
The client/server model is particularly recommended for networks requiring a high degree of reliability. Here are the main advantages.
Given that the server is the centre of the network, it can manage resources that
are common to all users. For example, having a central database can be useful for avoiding problems caused by redundant and inconsistent data.
The security will be improved as the number of entry points giving access to data is not important.
Another advantage is that clients do not play a major role in this model. This means that they require less administration.
Thanks to this architecture, it is possible to remove or add clients without affecting the operation of the network and without the need for major modification.
However, a client server architecture has also some drawbacks/
The technical complexity of the server increases the cost.
The entire network is built around the server, which makes it the only weakling. Fortunately, the server is highly fault tolerant (primarily thanks to the RAID system).
A client/server system operates as outlined in the following diagram:
First, the client sends a request to the server using its IP address and
Next, the server receives the request and responds using the client IP address and port.