Client-server computing or networking is a
distributed application architecture that partitions
tasks or work loads between service providers
(servers) and service requesters, called clients.
Often clients and servers operate over a computer
network on separate hardware
A server is a high-performance host that is a
registering unit and shares its resources with
clients.
A client does not share any of its resources, but
requests a server's content or service function.
Client-server describes the relationship between
two computer programs in which one program, the
client program, makes a service request to another,
the server program.
Standard networked functions such as email
exchange, web access and database access, are
based on the client-server model.
The client-server model has become one of the
central ideas of network computing. .
Many business applications being written today
use the client-server model.
Each instance of the client software can send data
requests to one or more connected servers. In turn,
the servers can accept these requests, process
them, and return the requested information to the
client.
1. Clients
2. Servers
This type of architecture is sometimes referred to as
two-tier.
It allows devices to share files and resources.
The interaction between client and server is often
described using sequence diagrams. Sequence
diagrams are standardized in the Unified
Modeling Language.
1. Web Browsers
2. E-mail Client
3. Online Chat Client
1. Web Servers
2. FTP Servers
3. Application Servers
4. Database Servers
5. Name Servers
6. Mail Servers
7. Print Servers
8. Terminal Servers
Another type of network architecture is known as
peer-to-peer, because each host or instance of
the program can simultaneously act as both a
client and a server, and because each has
equivalent responsibilities and status. Peer-to-
peer architectures are often abbreviated by P2P.
Another type of network architecture is known as
peer-to-peer, because each host or instance of
the program can simultaneously act as both a
client and a server, and because each has
equivalent responsibilities and status. Peer-to-
peer architectures are often abbreviated by P2P.
Both client-server and P2P architectures are in
wide usage today. Details may be found in
Comparison of Centralized (Client-Server) and
Decentralized (Peer-to-Peer) Networking.
While classic client-server architecture requires
one of the communication endpoints to act as a
server, which is much harder to implement,
Client-Queue-Client allows all endpoints to be
simple clients, while the server consists of some
external software, which also acts as passive
queue (one software instance passes its query to
another instance to queue, e.g. database, and
then this other instance pulls it from database,
makes a response, passes it to database etc.).
1. A client-server architecture enables the roles and
responsibilities of a computing system to be
distributed among several independent
computers that are known to each other only
through a network.
2. All the data is stored on the servers, which
generally have far greater security controls than
most clients.
3. Since data storage is centralized, updates to that
data are far easier to administer than what would
be possible under a P2P paradigm.
4. Many mature client-server technologies are
already available which were designed to ensure
security, friendliness of the user interface, and
ease of use.
5. It functions with multiple different clients of
different capabilities.
1. Traffic congestion on the network has been an
issue since the inception of the client-server
paradigm.
2. The client-server paradigm lacks the robustness of
a good P2P network.
Computer networks can be classified into two broad
categories:
1. Local Area Network
A LAN is a communications network enables data
exchange between devices within a small
geographic area. Here, devices mostly refer to
computers and peripheral devices such as printer.
2. Wide Area Network
A WAN usually consists of a local connection of
LANs and spreads over a much larger
geographical area, sometimes even spanning the
globe.
The Open Systems Interconnection Reference
Model (OSI Reference Model or OSI Model) is an
abstract description for layered communications
and computer network protocol design.
It was developed as part of the Open Systems
Interconnection (OSI) initiative.
It divides network architecture into seven layers
which, from top to bottom
1. Physical
2. Data Link
3. Network
4. Transport
5. Session
6. Presentation
7. Application
A layer is a collection of conceptually similar
functions that provide services to the layer above it
and receives service from the layer below it.
On each layer an instance provides services to the
instances at the layer above and requests service
from the layer below.
Conceptionally two instances at one layer are
connected by a horizontal protocol connection on
that layer.
- 1977, work on a layered model of network architecture
was started and the International Organization for
Standardization (ISO) began to develop its OSI
framework architecture
- two major components: an abstract model of networking,
called the Basic Reference Model or seven-layer model,
and a set of specific protocols
- All aspects of OSI design evolved from experiences with
the CYCLADES network, which also influenced Internet
design.
- In ISO 7498 Model new design was documented and the
networking system is divided into layers.
- One or more entities implement its functionality and each
entity interacts directly only with the layer immediately
beneath it, and provides facilities for use by the layer
above it.
- Protocols enable an entity in one host to interact with a
corresponding entity at the same layer in another host.
The Physical Layer is the first and lowest layer in the
seven-layer OSI model of computer networking.
The Physical Layer comprises the basic hardware
transmission technologies of a network.
The Physical Layer defines the means of transmitting
raw bits rather than logical data packets over a physical
link connecting network nodes.
The Physical Layer provides an electrical, mechanical,
and procedural interface to the transmission medium.
1. Transmission format, which can be either digital or
analog.
2. Physical transmission medium, which refers to whether
bits of data are transmitted as electrical or optical
signals.
3. Data encoding, which emphasizes what signal patterns
represent ones and zeroes and the synchronization
between sending and receiving devices.
4. Physical medium attachment, which deals with wiring
and pin layouts connectors.
V.92 telephone network modems
IRDA Physical Layer
USB Physical Layer
Firewire
EIA RS-232, EIA-422, EIA-423, RS-449, RS-485
ITU Recommendations: see ITU-T
DSL
ISDN
T1 and other T-carrier links, and E1 and other E-
carrier links
10BASE-T, 10BASE2, 10BASE5, 100BASE-TX,
100BASE-FX, 100BASE-T, 1000BASE-T,
1000BASE-SX and other varieties of the Ethernet
physical layer
Varieties of 802.11
SONET/SDH
GSM Um radio interface physical layer
Bluetooth Physical Layer
IEEE 802.11x Wi-Fi Physical Layers
TransferJet Physical Layer
Etherloop
ARINC 818 Avionics Digital Video Bus
G.hn/G.9960 Physical Layer
Networks transfer data in “chunks” or packets, of a
certain size
Data link layer forms data packets
Manages their movement at each node in the network
Adds the appropriate addresses of the source and
destination nodes
In PC-based LANs, it is at this layer that protocols like
Token Ring and Ethernet are implemented
Functions are often performed by network interface
cards (NICs) installed in computers
Network Layer provides the functional and procedural
means of transferring variable length data sequences
from a source to a destination via one or more networks
Performs network routing functions, fragmentation,
reassembly, and report delivery error reports
Routers operate at this layer—sending data throughout
the extended network and making the Internet possible
The logical addressing scheme is hierarchical
The Internet Protocol (IP) is the best known examples of
Layer 3
The Transport Layer controls the reliability of a given
link through flow control, segmentation/
desegmentation,
and error control
Typical examples of Layer 4 are the Transmission
Control Protocol (TCP) and User Datagram Protocol
(UDP)
Five classes of connection-mode transport protocols
ranging from class 0 to class 4
Table 4.1 - Detailed characteristics of TP0-4 classes
Responsible for establishing virtual connections between
processes running on different computers
Connection is called a session
Programmers interface to the network
It handles functions such name recognition,
administration, and security in a network
NetBIOS Extended User Interface (NETBEUI) is
commonly used protocol for the session layer
Responsible for the delivery and formatting of
information to the application layer for further
processing or display
Transform the format sent by the application layer into a
common format
Translates the common format to a format chosen by a
application layer
Terminal emulation is performed at this layer
The lowest layer at which application programmers
consider data structure and presentation, instead of
simply sending data in form of datagrams or packets
between hosts
Network Operating System (NOS) software resides at
this layer
NOS software offers network services and provides the
application layer with independence from lower-level
details
Many application bypass the NOS to interact directly
with the session or transport layer for greater control
over network resources
It serves as the user interface through which network
resources can be accessed
In TCP/IP, the Application Layer contains all protocols
and methods that fall into the realm of process-to-
process communications via an Internet Protocol (IP)
network using the Transport Layer protocols to establish
underlying host-to-host connections
1. Resource sharing
2. Remote file access
3. Remote printer access
4. Inter-process communication port
5. Remote procedure call support
6. Network management
7. Directory services
8. Electronic messaging including e-mail messaging
Telnet
Hypertext Transfer Protocol (HTTP)
File Transfer Protocol (FTP)
Simple Mail Transfer Protocol (SMTP)
9P, Plan 9 from Bell Labs distributed file system
protocol
AFP, Apple Filing Protocol
APPC, Advanced Program-to-Program Communication
AMQP, Advanced Message Queuing Protocol
BitTorrent
Atom Publishing Protocol
BOOTP, Bootstrap Protocol
CFDP, Coherent File Distribution Protocol
DDS, Data Distribution Service
DHCP, Dynamic Host Configuration Protocol
DeviceNet
DNS, Domain Name System (Service) Protocol
eDonkey
ENRP, Endpoint Handlespace Redundancy Protocol
FastTrack (KaZaa, Grokster, iMesh)
Finger, User Information Protocol
Freenet
FTAM, File Transfer Access and Management
FTP, File Transfer Protocol
Gopher, Gopher protocol
HL7, Health Level Seven
HTTP, Hypertext Transfer Protocol
H.323, Packet-Based Multimedia Communications
System
IMAP, IMAP4, Internet Message Access Protocol
(version 4)
IRCP, Internet Relay Chat Protocol
Kademlia
LDAP, Lightweight Directory Access Protocol
LPD, Line Printer Daemon Protocol
MIME (S-MIME), Multipurpose Internet Mail
Extensions and Secure MIME
Modbus
Netconf
NFS, Network File System
NIS, Network Information Service
NNTP, Network News Transfer Protocol
NTCIP, National Transportation Communications for
Intelligent Transportation System Protocol
NTP, Network Time Protocol
OSCAR, AOL Instant Messenger Protocol
PNRP, Peer Name Resolution Protocol
POP, POP3, Post Office Protocol (version 3)
Rlogin, Remote Login in UNIX Systems
RTPS, Real Time Publish Subscribe
RTSP, Real Time Streaming Protocol
SAP, Session Announcement Protocol
SDP, Session Description Protocol
SIP, Session Initiation Protocol
SLP, Service Location Protocol
SMB, Server Message Block
SMTP, Simple Mail Transfer Protocol
SNMP, Simple Network Management Protocol
SNTP, Simple Network Time Protocol
SSH, Secure Shell
SSMS, Secure SMS Messaging Protocol
RDP, Remote Desktop Protocol
TCAP, Transaction Capabilities Application Part
TDS, Tabular Data Stream
TELNET, Terminal Emulation Protocol of TCP/IP
TFTP, Trivial File Transfer Protocol
TSP, Time Stamp Protocol
VTP, Virtual Terminal Protocol
Waka, an HTTP replacement protocol
Whois (and RWhois), Remote Directory Access Protocol
WebDAV
X.400, Message Handling Service Protocol
X.500, Directory Access Protocol (DAP)
XMPP, Extensible Messaging and Presence Protocol
Example of neither OSI Reference Model nor OSI protocols specify
any programming interfaces