0% found this document useful (0 votes)
31 views14 pages

Client Server Concepts - CSM 152

The document discusses client-server models for network applications where a client makes a request to a server, which then responds to the client. It describes the roles of clients and servers, different types of servers including iterative and concurrent servers, and how to establish connections between clients and servers using protocols like TCP and UDP. The document also provides an overview of sockets as a method for achieving interprocess communication between clients and servers.

Uploaded by

Martin Ntow
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views14 pages

Client Server Concepts - CSM 152

The document discusses client-server models for network applications where a client makes a request to a server, which then responds to the client. It describes the roles of clients and servers, different types of servers including iterative and concurrent servers, and how to establish connections between clients and servers using protocols like TCP and UDP. The document also provides an overview of sockets as a method for achieving interprocess communication between clients and servers.

Uploaded by

Martin Ntow
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Client Server Concepts

DNS, Telnet, FTP


Gaddafi Abdul-Salaam
Dept. of Computer Science
KNUST
Client-server model
• Standard model for developing network applications
• Notion of client and server
a server is a process that is offering some service.
 A client is a process that is requesting the service
Server or client may be running on different machines
Server waits for requests from client(s)
Client-server model (contd.)
Client-server model (contd.)
• Typical scenario :
The server process (programme in execution) starts on some computer
system
Initializes itself, then goes to sleep waiting for a client request.

• A client process starts either on the same system or on some other


system
Send a request to the server
Client-server model (contd.)
When the server process has finished providing its service to the client, it
goes back to sleep, waiting for the next client request.

• The process repeats


Client-server model (contd.)
• Roles of the client and the server are asymmetric
• Two types of servers:
Iterative server
Concurrent server
Iterative Servers
• Used when the server process knows in advance how long it takes to
handle each request and it handles each request itself.
Single copy of server runs at all times
A client may have to wait if the server is busy.
Concurrent server
• Used when the amount of work required to handle a request is
unknown; the server starts another process to handle each request.
• A copy of the server caters to a client’s request in a dedicated fashion.
• As many copies of server as there are client request.
• Process of copying - FOCKING
Using TCP or UDP
• Before start of communication, a connection has to be established
between the two hosts
Five components in a connection
1. Protocol used
2. Source IP address
3. Source port number
4. Destination IP address
5. Destination port number
Develop a network application
• The best way is to use some standard and well accepted protocol.
At the data link layer level use Ethernet
At the network layer level use IP
At the transport layer level use TCP
At the application layer level, use standard API like the Berkeley Socket
Interface
What is a socket
• The socket is the BSD (Berkelys socket distribution) method for
achieving Inter Process Communication (IPC)
• It is used to allow one process to speak to another (on same or
different machines)
• Anology: is like the telephone is used to allow one person to speak to another
Basic idea
• When two processes located on two machines communicate, we
define association and socket.

• FULL Association: basically a 5 tuples


Protocol
Local IP address
Local port number
Emote IP address
Remote port number
• Socket: also called half-association (a 3-tuple)
Protocol, local IP address, local port number
Protocol, remote IP address, remote port number
Class Assignment
1. Read/Write about DNS
• What it is?
• Top level Domain
• Domain name structure
• Recursive name resolution
• Iterative name resolution
2. Telnet/ - Operations/commands
3. FTP/ and how it works

You might also like