You are on page 1of 8

Client Server Networks

1. A Computer networking model where one or more powerful computers(servers) provide the
different computer network services and all other user'of computer network (clients) access
those services to perform user's tasks is known as client/server computer networking model.
2. In such networks, there exists a central controller called server. A server is a specialized
computer that controls the network resources and provides services to other computers in the
network.
3. All other computers in the network are called clients. A client computer receives the requested
services from a server.
4. A server performs all the major operations like security and network management.
5. All the clients communicate with each other via centralized server
6. If client 1 wants to send data to client 2, it first sends request to server to seek permission for it.
The server then sends a signal to client 1 allowing it to initiate the communication.
7. A server is also responsible for managing all the network resources such as files, directories,
applications & shared devices like printer etc.
8. If any of the clients wants to access these services, it first
seeks permission from the server by sending a request.
9. Most Local Area Networks are based on client server
relationship.
Client-server networking became popular in the late
1980s and early 1990s as many applications were
migrated from centralized minicomputers and
mainframes to computer networks of personal computers.

The design of applications for a distributed computing environment required that they effetely be
divided into two parts: client (front end) and server (back end). The network model on which
they were implemented mirrored this client-server model with a user's PC (the client) typically
acting as the requesting machine and a more powerful server machine to which it was connected
via either a LAN or a WAN acting as the supplying machine. It requires special
networking operating system. It provides user level security and it is more expensive.
Advantages of Client Server Networks
1. Centralized back up is possible.
2. Use of dedicated server improves the performance of whole system.
3. Security is better in these networks as all the shared resources are centrally administered.
4. Use of dedicated servers also increases the speed of sharing resources.

Disadvantages of Client Server Networks

1. It requires specialized servers with large memory and secondary storage. This leads to increase
in the cost.
2. The cost of network operating system that manages the various clients is also high.
3. It requires dedicated network administrator.

Client-Server Role:
The Client-server characteristic describes the relationship of cooperating programs in an
application. The server component provides a function or service to one or many clients, which
initiate requests for such services.
Servers are classified by the services they provide. For instance, a web server serves web
pages and a file server serves computer files. A shared resource may be any of the server
computer's software and electronic components,
from programs and data to processors and storage devices. The sharing of resources of a server
constitutes a service.
Whether a computer is a client, a server, or both, is determined by the nature of the application
that requires the service functions. For example, a single computer can run web server and file
server software at the same time to serve different data to clients making different kinds of
requests. Client software can also communicate with server software within the same
computer. Communication between servers, such as to synchronize data, is sometimes
called inter-server or server-to-server communication.
Client-Server Communication:
In general, a service is an abstraction of computer resources and a client does not have to
be concerned with how the server performs while fulfilling the request and delivering the
response. The client only has to understand the response based on the well-known application
protocol, i.e. the content and the formatting of the data for the requested service.
Clients and servers exchange messages in a requestresponse messaging pattern: The client
sends a request, and the server returns a response. This exchange of messages is an example
of inter-process communication. To communicate, the computers must have a common language,
and they must follow rules so that both the client and the server know what to expect. The
language and rules of communication are defined in a communications protocol. All client-server
protocols operate in the application layer. The application-layer protocol defines the basic
patterns of the dialogue. To formalize the data exchange even further, the server may implement
an API (such as a web service).[3]The API is an abstraction layer for such resources as databases

and custom software. By restricting communication to a specific content format, it


facilitates parsing. By abstracting access, it facilitates cross-platform data exchange.
A server may receive requests from many different clients in a very short period of time.
Because the computer can perform a limited number of tasks at any moment, it relies on
a scheduling system to prioritize incoming requests from clients in order to accommodate them
all in turn. To prevent abuse and maximize uptime, the server's software limits how a client can
use the server's resources. Even so, a server is not immune from abuse. A denial of service
attack exploits a server's obligation to process requests by bombarding it with requests
incessantly. This inhibits the server's ability to respond to legitimate requests that can make the
communication of web easier.
Transport Protocols
TCP(Transmission control Protocol)
TCP is a connection oriented protocol and offers end-to-end packet delivery. It acts as back
bone for connection.It exhibits the following key features:

Transmission Control Protocol (TCP) corresponds to the Transport Layer of OSI Model.

TCP is a reliable and connection oriented protocol.

TCP offers connection oriented end-to-end packet delivery.

TCP ensures reliability by sequencing bytes with a forwarding acknowledgement


number that indicates to the destination the next byte the source expect to receive.

It retransmits the bytes not acknowledged with in specified time period.

IP(Internet Protocol)
Internet Protocol is connectionless and unreliable protocol. It ensures no guarantee of
successfully transmission of data.
In order to make it reliable, it must be paired with reliable protocol such as TCP at the transport
layer.
Points to remember:

The length of datagram is variable.

The Datagram is divided into two parts: header and data.

The length of header is 20 to 60 bytes.

The header contains information for routing and delivery of the packet.

UDP-User Datagram Protocol


Like IP, UDP is connectionless and unreliable protocol. It doesnt require making a connection
with the host to exchange data. Since UDP is unreliable protocol, there is no mechanism for
ensuring that data sent is received.
UDP transmits the data in form of a datagram. The UDP datagram consists of five parts as
shown in the following diagram:
Points to remember:

UDP is used by the application that typically transmit small amount of data at one time.

UDP provides protocol port used i.e. UDP message contains both source and destination
port number, that makes it possible for UDP software at the destination to deliver the
message to correct application program

FTP- File Transfer Protocol


FTP is used to copy files from one host to another. FTP offers the mechanism for the same in
following manner:

FTP creates two processes such as Control Process and Data Transfer Process at both
ends i.e. at client as well as at server.

FTP establishes two different connections: one is for data transfer and other is for control
information.

Control connection is made between control processes while Data Connection is


made between <="" b="" style="box-sizing: border-box;">

FTP uses port 21 for the control connection and Port 20 for the data connection.

HTTP-Hypertext Transfer Protocol


HTTP is a communication protocol. It defines mechanism for communication between browser
and the web server. It is also called request and response protocol because the communication
between browser and server takes place in request and response pairs.

Telnet
Telnet is a protocol used to log in to remote computer on the internet. There are a number of
Telnet clients having user friendly user interface. The following diagram shows a person is
logged in to computer A, and from there, he remote logged into computer B.

Client/Server Networks
On a client/server network, every computer has a distinct role: that of either a client or a server.
A server is designed to share its resources among the client computers on the network. Typically,
servers are located in secured areas, such as locked closets or data centers (server rooms),
because they hold an organizations most valuable data and do not have to be accessed by
operators on a continuous basis. The rest of the computers on the network function as clients (see
image below).
A dedicated server computer often has faster
processors, more memory, and more storage
space than a client because it might have to
service dozens or even hundreds of users at
the same time. High-performance servers
typically use from two to eight processors
(and thats not counting multi-core CPUs),
have many gigabytes of memory installed,
and have one or more serveroptimized network interface cards (NICs),
RAID (Redundant Array of Independent
Drives) storage consisting of multiple drives, and redundant power supplies. Servers often run a
special network OSsuch as Windows Server, Linux, or UNIXthat is designed solely to
facilitate the sharing of its resources. These resources can reside on a single server or on a group
of servers. When more than one server is used, each server can specialize in a particular task
(file server, print server, fax server, email server, and so on) or provide redundancy (duplicate
servers) in case of server failure. For demanding computing tasks, several servers can act as a
single unit through the use of parallel processing.
A client computer typically communicates only with servers, not with other clients. A client
system is a standard PC that is running an OS such as Windows. Current OSes contain client
software that enables the client computers to access the resources that servers share. Older OSes,
such as Windows 3.x and DOS, required add-on network client software to join a network.

Peer-to-Peer Networks
By contrast, on a peer-to-peer network, every computer is equal and can communicate with any
other computer on the network to which it has been granted access rights. Essentially, every
computer on a peer-to-peer network can function as both a server and a client; any computer on a
peer-to-peer network is considered a server if it shares a printer, a folder, a drive, or some other
resource with the rest of the network. This is why you might hear about client and server
activities, even when the discussion is about a peer-to-peer network.
Peer-to-peer networks can be as small as two computers or as large as hundreds of systems and
devices. Although there is no theoretical limit to the size of a peer-to-peer network, performance,
security, and access become a major headache on peer-based networks as the number of
computers increases. In addition, Microsoft imposes a limit of only 5, 10 or 20 concurrent client
connections to computers running Windows. This means that a maximum of 20 (or fewer)
systems will be able to concurrently access shared files or printers on a given system. This limit
is expressed as the Maximum Logged On Users and can be seen by issuing the NET CONFIG
SERVER command at a command prompt. This limit is normally unchangeable and is fixed in
the specific version and edition of Windows as follows:

5 users: Windows XP Home, Vista Starter/Home Basic

10 users: Windows NT, 2000, XP Professional, Vista Home


Premium/Business/Enterprise/Ultimate

20 users: Windows 7 (all editions)

When more than the allowed limit of users or systems try to connect, the connection is denied
and the client sees one of the error messages:
Even though it is called a Server OS, Windows Home Server also has the same 10-connection
limit as the non-Home client Windows versions of XP and Vista. If you need a server that can
handle more than 10 or 20 clients, I recommend using a Linux-based server OS (such as Ubuntu
Server) or one of the professional Windows server products (such as Windows 2000
Server, Server 2003, Server 2008, Essential Business Server, or Small Business Server).
Peer-to-peer networks are more common in small offices or within a single department of a
larger organization. The advantage of a peer-to-peer network is that you dont have to dedicate a
computer to function as a file server. Instead, every computer can share its resources with any
other. The potential disadvantages to a peer-to-peer network are that typically less security and
less control exist because users normally administer their own systems, whereas client/server
networks have the advantage of centralized administration.

Note that the actual networking hardware (interface cards, cables, and so on) is the same in
client/server versus peer-to-peer networks, it is only the logical organization, management and
control of the network that varies.
The Client-Server Model Of Interaction
How can a pair of applications that run on two independent computers coordinate to guarantee
that they request a connection at the same time? The answer lies in a form of interaction known
as the client-server model. One application, known as a server, starts first and awaits contact.
The other application, known as a client, starts second and initiates the connection. Below Figure
summarizes the interaction.

Characteristics Of Clients And Servers


Although minor variations exist, most instances of client-server interaction have the same
general characteristics. In general, client software:

Is an arbitrary application program that becomes a client temporarily when remote access
is needed, but also performs other computation .
Is invoked directly by a user, and executes only for one session
Runs locally on a users personal computer
Actively initiates contact with a server
Can access multiple services as needed, but usually contacts one remote server at a time
Does not require especially powerful computer hardware

In contrast, server software:

Is a special-purpose, privileged program dedicated to providing one service that can


handle multiple remote clients at the same time
Is invoked automatically when a system boots, and continues to execute through many
sessions
Runs on a large, powerful computer
Waits passively for contact from arbitrary remote clients
Accepts contact from arbitrary clients, but offers a single service
Requires powerful hardware and a sophisticated operating system

Server Programs And Server-Class Computers


Confusion sometimes arises over the term server. Formally, the term refers to a program that
waits passively for communication, and not to the computer on which it executes. However,
when a computer is dedicated to running one or more server programs, the computer itself is
sometimes called a server. Hardware vendors contribute to the confusion because they classify
computers that have fast CPUs, large memories, and powerful operating systems as server
machines. Below Figure illustrates the definitions

Requests, Responses, And Direction Of Data Flow


The terms client and server arise from which side initiates contact. Once contact has been
established, two-way communication is possible (i.e., data can flow from a client to a server or
from a server to a client). Typically, a client sends a request to a server, and the server returns a
response to the client. In some cases, a client sends a series of requests and the server issues a
series of responses (e.g., a database client might allow a user to look up more than one item at a
time). The concept can be summarized:
Information can flow in either or both directions between a client and server. Although many
services arrange for the client to send one or more requests and the server to return responses,
other interactions are possible.

You might also like